![]() 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/extmag/shiplab/view/adminhtml/web/js/form/element/ |
/** * Copyright © Extmag. All rights reserved. */ /** * @api */ define([ 'underscore', 'uiRegistry', 'Magento_Ui/js/form/element/multiselect' ], function (_, registry, Select) { 'use strict'; return Select.extend({ defaults: { skipValidation: false, imports: { update: '${ $.parentName }.carrier_methods_type:value', updateCarrier: '${ $.parentName }.carrier:value' } }, updateCarrier: function (value) { var country = registry.get(this.parentName + '.' + 'carrier'); }, /** * @param {String} value */ update: function (value) { var country = registry.get(this.parentName + '.' + 'carrier_methods_type'), options = country.indexedOptions, isRegionRequired, option; if (!value) { return; } option = options[value]; if (typeof option === 'undefined') { return; } if (this.skipValidation) { this.validation['required-entry'] = false; this.required(false); } else { if (option && option['value'] != 'specific') { this.error(false); this.validation = _.omit(this.validation, 'required-entry'); registry.get(this.customName, function (input) { input.validation['required-entry'] = false; input.required(false); }); } else { this.validation['required-entry'] = true; } if (option && !this.options().length) { registry.get(this.customName, function (input) { isRegionRequired = option['value'] == 'specific'; input.validation['required-entry'] = isRegionRequired; input.required(isRegionRequired); }); } this.required(option['value'] == 'specific'); } if (option['value'] != 'specific') { this.setVisible(false); } else { this.setVisible(true); } }, /** * Filters 'initialOptions' property by 'field' and 'value' passed, * calls 'setOptions' passing the result to it * * @param {*} value * @param {String} field */ filter: function (value, field) { var superFn = this._super; registry.get(this.parentName + '.' + 'carrier', function (country) { superFn.call(this, value, field); }.bind(this)); } }); });