Files
wyczarujprezent.pl/modules/thecheckout/views/js/parsers/correos.js
2024-10-28 22:14:22 +01:00

66 lines
2.0 KiB
JavaScript

/**
* NOTICE OF LICENSE
*
* This source file is subject to the Software License Agreement
* that is bundled with this package in the file LICENSE.txt.
*
* @author Peter Sliacky (Zelarg)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
checkoutShippingParser.correos = {
init_once: function (elements) {
if (debug_js_controller) {
console.info('[thecheckout-correos.js] init_once()');
}
},
correos_init: function () {
// Select the node that will be observed for mutations
var targetNode = document.getElementsByClassName('carrier-extra-content correos')[0];
// Options for the observer (which mutations to observe)
var config = {attributes: true, childList: false, subtree: false};
var alreadyInit = false;
// Callback function to execute when mutations are observed
var callback = function (mutationsList, observer) {
if (!alreadyInit) {
for (var i = 0; i < mutationsList.length; i++) {
var mutation = mutationsList[i];
if (mutation.type == 'childList') {
console.log('A child node has been added or removed.');
} else if (mutation.type == 'attributes' && $(targetNode).is(":visible") && !alreadyInit) {
console.log('The ' + mutation.attributeName + ' attribute was modified.');
Correos.checkOfficeContent();
alreadyInit = true;
break;
observer.disconnect();
}
}
}
};
// Create an observer instance linked to the callback function
var observer = new MutationObserver(callback);
// Start observing the target node for configured mutations
observer.observe(targetNode, config);
},
delivery_option: function (element) {
if (debug_js_controller) {
console.info('[thecheckout-correos.js] delivery_option()');
}
// Init Correos map widget
element.after("<script>checkoutShippingParser.correos.correos_init();</script>");
},
extra_content: function (element) {
}
}