![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/mageplaza/module-smtp/view/frontend/web/js/model/ |
/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ /** * @api */ define([ 'jquery', 'ko', 'mage/translate', 'uiRegistry', 'Magento_Checkout/js/model/quote', 'Mageplaza_Smtp/js/action/send-address' ], function ( $, ko, $t, uiRegistry, quote, sendAddress ) { 'use strict'; var elements = ['firstname', 'lastname', 'company', 'street', 'country_id', 'region_id', 'city', 'postcode', 'telephone'], observedElements = []; return { validateAddressTimeout: 0, validateDelay: 1000, /** * Perform postponed binding for fieldset elements * * @param {String} formPath */ initFields: function (formPath) { var self = this; $.each(elements, function (index, field) { uiRegistry.async(formPath + '.' + field)(self.smtpBindHandler.bind(self)); }); }, /** * @param {Object} element * @param {Number} delay */ smtpBindHandler: function (element, delay) { var self = this; delay = typeof delay === 'undefined' ? self.validateDelay : delay; if (element.component.indexOf('/group') !== -1) { $.each(element.elems(), function (index, elem) { uiRegistry.async(elem.name)(function () { self.smtpBindHandler(elem); }); }); } else if (element && element.hasOwnProperty('value')) { element.on('value', function () { clearTimeout(self.validateAddressTimeout); self.validateAddressTimeout = setTimeout(function () { sendAddress(JSON.stringify(self.collectObservedData()), self.isOsc()); }, delay); }); observedElements.push(element); } }, /** * Collect observed fields data to object * * @returns {*} */ collectObservedData: function () { var observedValues = {}; $.each(observedElements, function (index, field) { var value = field.value(); if ($.type(value) === 'undefined') { value = ''; } observedValues[field.dataScope] = value; }); return observedValues; }, isOsc: function () { return !!window.checkoutConfig.oscConfig; } }; });