var show_admin_modal = false
jQuery(function ($) {
$(document).ready(function() {
var selected = $('#woocommerce_swish_connection_type').val();
if (selected) { $('.' + selected).show(); }
});
$('#woocommerce_swish_btn_connect').on('click', function (e) {
e.preventDefault()
var merchant_alias = $('#woocommerce_swish_merchant_alias')
var user_email = $('#woocommerce_swish_swish_user_email')
$.post(ajaxurl, { action: 'connect_swish_service', merchant_alias: merchant_alias.val(), user_email: user_email.val(), nonce: swish_admin.nonce }, function (response) {
if (response.result == 'error') {
alert(response.message)
} else if (response.result == 'success') {
show_admin_modal = true
waitForAdmin()
} else if (response.result == 'not_connected') {
show_admin_modal = true
waitForAdmin(response.message)
}
})
})
$('#woocommerce_swish_btn_disconnect').on('click', function (e) {
if (confirm(swish_admin.disconnect)) {
e.preventDefault()
$.post(ajaxurl, { action: 'disconnect_swish_service', nonce: swish_admin.nonce }, function (response) {
window.location.reload()
})
}
})
$('#swish_retrieve_button').on('click', function (e) {
e.preventDefault()
$.post(ajaxurl, { action: 'swish_retrieve_transaction', name: e.target.name, nonce: swish_admin.nonce }, function (response) {
window.location.reload()
})
})
$('.sw-notice').on('click', '.notice-dismiss', function (e) {
console.log(e)
var is_sw_notice = $(e.target).parents('div').hasClass('sw-notice')
if (is_sw_notice) {
var parents = $(e.target).parent().prop('className')
console.log(parents)
$.post(ajaxurl, { action: 'swish_clear_notice', nonce: swish_admin.nonce, parents: parents }, function (response) { })
}
})
$('#woocommerce_swish_connection_type').on('change', function (e) {
$('.swishcontent').hide()
var selected = $('#woocommerce_swish_connection_type').val()
if (selected) { $('.' + selected).show() }
})
$(window).load(function () {
$('.swishcontent').hide()
var selected = $('#woocommerce_swish_connection_type').val()
if (selected) { $('.' + selected).show() }
})
$('.swish-close').on('click', function (e) {
var modal = document.getElementById('swish-modal-admin-id')
if (modal) { modal.style.display = 'none' }
show_admin_modal = false
})
})
function waitForAdmin(show_error = false) {
if (show_admin_modal) {
var modal = document.getElementById('swish-modal-admin-id')
if (modal) { modal.style.display = 'block' }
if (show_error) {
document.getElementById('swish-logo-id').style.display = 'none';
document.getElementById('swish-status').innerHTML = show_error;
return;
}
jQuery.post(ajaxurl, { 'action': 'wait_for_admin', 'nonce': swish_admin.nonce }, function (response) {
var message = response.message
document.getElementById('swish-status').innerHTML = message
if (response.status == 'success') {
var modal = document.getElementById('swish-modal-admin-id')
if (modal) { modal.style.display = 'none' }
show_admin_modal = false
window.location.reload()
return;
} else if (response.status == 'failure') {
return;
} else {
setTimeout(function () { waitForAdmin() }, 1000)
}
})
}
}