PluginProbe
Subscriptions for WooCommerce with Stripe Recurring Payments / 2.3.0
Subscriptions for WooCommerce with Stripe Recurring Payments v2.3.0
2.4.0 2.3.0 2.2.0 2.1.0 2.0.0 1.11.2 1.11.1 1.11.0 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 1.10.1 1.10.0 1.9.6 1.9.5 trunk 1.3.0 1.3.1 1.3.2 1.4.0 All 65 releases
← All changes | assets/js/admin-settings.js +39 -0 2.0.0 → 2.3.0 View file →
@@ -14,8 +14,47 @@
14 14 guestCheckout.on("change", toggleEnforceLogin);
15 15 });
16 16 // * ----- Disable Enforce Login based on Guest Checkout Setting ----- * //
17 17
18 +// * ----- Show Early Renew fields based on Early Renewal and Visibility Settings ----- * //
19 +jQuery(document).ready(($) => {
20 + const earlyRenew = $("#subscrpt_early_renew");
21 + // An adv-select: the value lives in a hidden input that has a name but no id.
22 + const visibility = $('input[name="subscrpt_early_renew_visibility"]');
23 + const row = (id) => $("#" + id).closest(".wpsubs-settings-field");
24 +
25 + // Each row is preceded by a divider; hide it too, or hidden rows leave empty lines.
26 + const showRow = (el, on) => el.add(el.prev(".subscrpt-settings__rule")).toggle(on);
27 +
28 + // Visibility option => the input it needs. "always" needs none.
29 + const visibilityFields = {
30 + before_days: "subscrpt_early_renew_before_days",
31 + day_of_month: "subscrpt_early_renew_day_of_month",
32 + cycle_left: "subscrpt_early_renew_cycle_left",
33 + };
34 +
35 + function toggleEarlyRenewFields() {
36 + const enabled = earlyRenew.is(":checked");
37 +
38 + showRow(visibility.closest(".wpsubs-settings-field"), enabled);
39 + $.each(visibilityFields, (option, id) => {
40 + showRow(row(id), enabled && visibility.val() === option);
41 + });
42 + }
43 +
44 + if (!earlyRenew.length || !visibility.length) {
45 + return;
46 + }
47 +
48 + // Initial state
49 + toggleEarlyRenewFields();
50 +
51 + // On change
52 + earlyRenew.on("change", toggleEarlyRenewFields);
53 + visibility.closest(".wpsubs-adv-select").on("wpsubs:select", toggleEarlyRenewFields);
54 +});
55 +// * ----- Show Early Renew fields based on Early Renewal and Visibility Settings ----- * //
56 +
18 57 /**
19 58 * Settings rail.
20 59 *
21 60 * One level: the rail picks a section (`?cat=`) and its panel is shown. The