| 1 |
// noinspection JSUnresolvedReference |
| 2 |
|
| 3 |
"use strict"; |
| 4 |
(($) => { |
| 5 |
$(window).on("elementor/frontend/init", () => { |
| 6 |
elementorFrontend.hooks.addAction( |
| 7 |
"frontend/element_ready/king-addons-mailchimp.default", |
| 8 |
($scope) => { |
| 9 |
elementorFrontend.elementsHandler.addHandler( |
| 10 |
elementorModules.frontend.handlers.Base.extend({ |
| 11 |
onInit() { |
| 12 |
const $form = this.$element.find("form"); |
| 13 |
|
| 14 |
$form.on("submit", function (e) { |
| 15 |
e.preventDefault(); |
| 16 |
|
| 17 |
const $btn = $(this).find("button"); |
| 18 |
const originalText = $btn.text(); |
| 19 |
$btn.text($btn.data("loading")); |
| 20 |
|
| 21 |
$.ajax({ |
| 22 |
url: KingAddonsMailChimpData.ajaxUrl, |
| 23 |
type: "POST", |
| 24 |
data: { |
| 25 |
action: "king_addons_mailchimp_subscribe", |
| 26 |
nonce: KingAddonsMailChimpData.nonce, |
| 27 |
fields: $(this).serialize(), |
| 28 |
listId: $form.data("list-id"), |
| 29 |
}, |
| 30 |
success: (data) => { |
| 31 |
if ($form.data("clear-fields") === "yes") { |
| 32 |
$form.find("input").val(""); |
| 33 |
} |
| 34 |
|
| 35 |
$btn.text(originalText); |
| 36 |
|
| 37 |
if (data.status === "subscribed") { |
| 38 |
$scope.find(".king-addons-mailchimp-success-message").show(); |
| 39 |
} else { |
| 40 |
$scope.find(".king-addons-mailchimp-error-message").show(); |
| 41 |
} |
| 42 |
|
| 43 |
$scope.find(".king-addons-mailchimp-message").fadeIn(); |
| 44 |
}, |
| 45 |
}); |
| 46 |
}); |
| 47 |
}, |
| 48 |
}), |
| 49 |
{$element: $scope} |
| 50 |
); |
| 51 |
} |
| 52 |
); |
| 53 |
}); |
| 54 |
})(jQuery); |