![]() 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/magento/module-checkout/view/frontend/web/js/view/billing-address/ |
/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ define([ 'uiComponent', 'Magento_Customer/js/model/address-list', 'mage/translate', 'Magento_Customer/js/model/customer' ], function (Component, addressList, $t, customer) { 'use strict'; var newAddressOption = { /** * Get new address label * @returns {String} */ getAddressInline: function () { return $t('New Address'); }, customerAddressId: null }, addressOptions = addressList().filter(function (address) { return address.getType() === 'customer-address'; }), addressDefaultIndex = addressOptions.findIndex(function (address) { return address.isDefaultBilling(); }); return Component.extend({ defaults: { template: 'Magento_Checkout/billing-address', selectedAddress: null, isNewAddressSelected: false, addressOptions: addressOptions, exports: { selectedAddress: '${ $.parentName }:selectedAddress' } }, /** * @returns {Object} Chainable. */ initConfig: function () { this._super(); this.addressOptions.push(newAddressOption); return this; }, /** * @return {exports.initObservable} */ initObservable: function () { this._super() .observe('selectedAddress isNewAddressSelected') .observe({ isNewAddressSelected: !customer.isLoggedIn() || !addressOptions.length, selectedAddress: this.addressOptions[addressDefaultIndex] }); return this; }, /** * @param {Object} address * @return {*} */ addressOptionsText: function (address) { return address.getAddressInline(); }, /** * @param {Object} address */ onAddressChange: function (address) { this.isNewAddressSelected(address === newAddressOption); } }); });