PluginProbe
PayPlug for WooCommerce (Official) / 1.0.21
PayPlug for WooCommerce (Official) v1.0.21
3.1.0 3.0.0 2.18.0 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.1.0 1.10.0 1.10.1 1.2.1 1.2.10 1.2.11 1.2.2 1.2.3 1.2.4 1.2.5 All 102 releases
payplug / assets / js / payplug-admin.js

payplug-admin.js in PayPlug for WooCommerce (Official) 1.0.21, at assets/js/payplug-admin.js

140 lines 3.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* global jQuery */
2
3 (function ($, undefined) {
4
5 if (undefined === payplug_admin_config) {
6 return;
7 }
8
9 var payplug_admin = {
10 init: function () {
11 payplug_admin.xhr = false;
12
13 // setup modal
14 payplug_admin.$dialog = $('#payplug-refresh-keys-modal').dialog({
15 autoOpen: false,
16 modal: true,
17 draggable: false,
18 buttons: [
19 {
20 class: "ui-dialog-submit",
21 text: payplug_admin_config.btn_ok,
22 click: payplug_admin.refreshKeys
23 },
24 {
25 class: "ui-dialog-cancel",
26 text: payplug_admin_config.btn_label,
27 click: payplug_admin.onCancelClick
28 }
29 ],
30 show: true,
31 hide: 100,
32 close: payplug_admin.onDialogClose
33 });
34
35 // handle modal form submit
36 payplug_admin.$dialog.find('form#payplug-refresh-keys-modal__form').on('submit', function (e) {
37 e.preventDefault();
38 payplug_admin.refreshKeys();
39 });
40
41 // open modal when user try to select live mode
42 if ($('input[name=woocommerce_payplug_mode]').length) {
43 this.$payplug_mode = $('input[name=woocommerce_payplug_mode]');
44 this.$payplug_mode.on(
45 'click',
46 this.onClick
47 )
48 }
49 },
50 onClick: function (event) {
51 if ('0' === event.currentTarget.value || payplug_admin_config.has_live_key) {
52 // ignore event if user choose TEST mode or already has LIVE keys
53 return;
54 }
55
56 payplug_admin.$dialog.dialog('open');
57 },
58 onCancelClick: function () {
59 payplug_admin.$dialog.dialog('close');
60 },
61 onDialogClose: function () {
62 if (payplug_admin.xhr) {
63 payplug_admin.xhr.abort();
64 payplug_admin.xhr = false;
65 }
66
67 payplug_admin._clearMessage();
68
69 payplug_admin.$dialog.find('form#payplug-refresh-keys-modal__form').get(0).reset();
70
71 var live = payplug_admin.$payplug_mode.filter('#woocommerce_payplug_mode-yes');
72 var test = payplug_admin.$payplug_mode.filter('#woocommerce_payplug_mode-no');
73
74 if (!payplug_admin_config.has_live_key && live.prop('checked')) {
75 test.prop('checked', 'checked');
76 }
77 },
78 refreshKeys: function () {
79 payplug_admin._clearMessage();
80 payplug_admin._lockDialog();
81 var form = payplug_admin.$dialog.find('form#payplug-refresh-keys-modal__form').get(0);
82
83 if (payplug_admin.xhr) {
84 payplug_admin.xhr.abort();
85 }
86
87 payplug_admin.xhr = $
88 .post(
89 payplug_admin_config.ajax_url,
90 $(form).serializeArray()
91 ).done(function (res) {
92 form.reset();
93 payplug_admin.xhr = false;
94 payplug_admin._unlockDialog();
95
96 if (false === res.success) {
97 payplug_admin._displayError(res.data.message);
98 } else {
99 payplug_admin._displaySuccess(res.data.message);
100 window.location.reload();
101 }
102 })
103 .fail(function (res) {
104 form.reset();
105 payplug_admin.xhr = false;
106 payplug_admin._unlockDialog();
107 payplug_admin._displayError(payplug_admin_config.general_error);
108 });
109 },
110 _displaySuccess: function (msg) {
111 payplug_admin._displayMessageHelper(msg, 'success');
112 },
113 _displayError: function (msg) {
114 payplug_admin._displayMessageHelper(msg, 'error');
115 },
116 _clearMessage: function () {
117 payplug_admin.$dialog.find('#dialog-msg').empty();
118 },
119 _lockDialog: function () {
120 var buttons = payplug_admin._disabledHelper(payplug_admin.$dialog.dialog('option', 'buttons'), true);
121 payplug_admin.$dialog.dialog('option', 'buttons', buttons);
122 },
123 _unlockDialog: function () {
124 var buttons = payplug_admin._disabledHelper(payplug_admin.$dialog.dialog('option', 'buttons'), false);
125 payplug_admin.$dialog.dialog('option', 'buttons', buttons);
126 },
127 _disabledHelper(items, disabled) {
128 return $.each(items, function (i, val) {
129 val.disabled = disabled;
130 });
131 },
132 _displayMessageHelper(msg, type) {
133 var msgHtml = payplug_admin.$dialog.find('#dialog-msg');
134 msgHtml.text(msg).addClass(type);
135 }
136 };
137
138 payplug_admin.init();
139 })(jQuery);
140