PluginProbe
Better Payment – Instant Payments, Donations, Fundraising with Subscriptions & More / 0.0.3
Better Payment – Instant Payments, Donations, Fundraising with Subscriptions & More v0.0.3
2.4.1 2.4.0 2.3.4 2.3.3 2.3.2 2.3.1 2.3.0 2.2.2 2.2.1 2.2.0 2.1.2 2.1.1 trunk 0.0.1 0.0.2 0.0.3 0.0.4 0.0.5 0.0.6 0.0.7 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 All 68 releases
better-payment / assets / js / setup-wizard.js

setup-wizard.js in Better Payment – Instant Payments, Donations, Fundraising with Subscriptions & More 0.0.3, at assets/js/setup-wizard.js

138 lines 5.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (function ($) {
2 "use strict";
3
4 $(document).on('change', '.better_payment_preferences', function (e) {
5 var $this = $(this),
6 preferences = $this.val();
7
8 var elements = $(".better-payment-elements-container .better-payment-elements-info input[type=checkbox]");
9 if (elements.length > 0) {
10 if (preferences == 'custom') {
11 elements.prop('checked', true)
12 } else {
13 elements.prop('checked', false)
14 elements.each(function (i, item) {
15 if (preferences == 'advance' && $(item).data('preferences') != '') {
16 $(item).prop('checked', true)
17 } else if ($(item).data('preferences') == preferences) {
18 $(item).prop('checked', true)
19 }
20 })
21 }
22 }
23 });
24
25 betterPaymentRenderTab();
26
27 function betterPaymentRenderTab(step = 0) {
28 var contents = document.getElementsByClassName("setup-content"),
29 prev = document.getElementById("better-payment-prev"),
30 nextElement = document.getElementById("better-payment-next"),
31 saveElement = document.getElementById("better-payment-save");
32
33 if (contents.length < 1) {
34 return;
35 }
36
37 contents[step].style.display = "block";
38 prev.style.display = (step == 0) ? "none" : "inline";
39
40 if (step == (contents.length - 1)) {
41 saveElement.style.display = "inline";
42 nextElement.style.display = "none";
43 } else {
44 nextElement.style.display = "inline";
45 saveElement.style.display = "none";
46 }
47 betterPaymentStepIndicator(step)
48 }
49
50 function betterPaymentStepIndicator(stepNumber) {
51 var steps = document.getElementsByClassName("step"),
52 container = document.getElementsByClassName("better-payment-setup-wizard");
53 container[0].setAttribute('data-step', stepNumber);
54
55 for (var i = 0; i < steps.length; i++) {
56 steps[i].className = steps[i].className.replace(" active", "");
57 }
58
59 steps[stepNumber].className += " active";
60 }
61
62 $(document).on('click', '#better-payment-next,#better-payment-prev', function (e) {
63 var container = document.getElementsByClassName("better-payment-setup-wizard"),
64 StepNumber = parseInt(container[0].getAttribute('data-step')),
65 contents = document.getElementsByClassName("setup-content");
66
67 contents[StepNumber].style.display = "none";
68 StepNumber = (e.target.id == 'better-payment-prev') ? StepNumber - 1 : StepNumber + 1;
69
70 if (StepNumber >= contents.length) {
71 return false;
72 }
73 betterPaymentRenderTab(StepNumber);
74 });
75
76 $('.btn-collect').on('click', function () {
77 $(".better-payment-whatwecollecttext").toggle();
78 });
79
80 //Stripe toggle button
81 $(document).on('change', '.quick-setup-stripe input[name="better_payment_settings_payment_stripe_live_mode"]', function (e) {
82 e.preventDefault();
83 let bpAdminSettingsPaymentStripe = $(this).attr('data-targettest');
84
85 if ($(this).is(':checked')) {
86 bpAdminSettingsPaymentStripe = $(this).attr('data-targetlive');
87 }
88
89 $('.bp-stripe-key').removeClass('bp-d-block').addClass('bp-d-none');
90 $(`.${bpAdminSettingsPaymentStripe}`).removeClass('bp-d-none').addClass('bp-d-block');
91 });
92
93 //Settings Save
94 $(document).on("click", ".better-payment-setup-wizard-save", function (e) {
95 e.preventDefault();
96 let bpAdminSettingsForm = $(this).parents("#better-payment-admin-settings-form");
97 bpAdminSettingsSave(this, bpAdminSettingsForm);
98 });
99
100 function bpAdminSettingsSave(button, form) {
101 let bpAdminSettingsSaveBtn = $(button),
102 nonce = betterPaymentObjWizard.nonce;
103
104 let formDataWizard = $('#better-payment-admin-settings-form').serializeArray();
105 $.ajax({
106 type: "POST",
107 url: ajaxurl,
108 data: {
109 action: "save_setup_wizard_data",
110 nonce: nonce,
111 form_data: formDataWizard,
112 },
113 beforeSend: function () {
114 bpAdminSettingsSaveBtn.addClass("is-loading");
115 },
116 success: function (response) {
117 bpAdminSettingsSaveBtn.removeClass("is-loading");
118
119 if (response.success) {
120 Swal.fire({
121 timer: 3000,
122 showConfirmButton: false,
123 imageUrl: betterPaymentObjWizard.success_image,
124 }).then((result) => {
125 window.location = response.data.redirect_url;
126 });
127 } else {
128 Swal.fire({
129 type: "error",
130 title: 'Error',
131 text: 'error',
132 });
133 }
134 },
135 });
136 }
137
138 })(jQuery);