| Current Path : /proc/thread-self/cwd/static/frontend/Magento/blank/it_IT/Magento_Ui/js/form/element/ |
| Current File : //proc/thread-self/cwd/static/frontend/Magento/blank/it_IT/Magento_Ui/js/form/element/post-code.js |
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/**
* @api
*/
define([
'underscore',
'./abstract'
], function (_, Abstract) {
'use strict';
return Abstract.extend({
defaults: {
imports: {
countryOptions: '${ $.parentName }.country_id:indexedOptions',
update: '${ $.parentName }.country_id:value'
}
},
/**
* Initializes observable properties of instance
*
* @returns {Abstract} Chainable.
*/
initObservable: function () {
this._super();
/**
* equalityComparer function
*
* @returns boolean.
*/
this.value.equalityComparer = function (oldValue, newValue) {
return !oldValue && !newValue || oldValue === newValue;
};
return this;
},
/**
* Method called every time country selector's value gets changed.
* Updates all validations and requirements for certain country.
* @param {String} value - Selected country ID.
*/
update: function (value) {
var isZipCodeOptional,
option;
if (!value) {
return;
}
option = _.isObject(this.countryOptions) && this.countryOptions[value];
if (!option) {
return;
}
isZipCodeOptional = !!option['is_zipcode_optional'];
if (isZipCodeOptional) {
this.error(false);
}
this.validation['required-entry'] = !isZipCodeOptional;
this.required(!isZipCodeOptional);
}
});
});