File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/fileman/userfield/address_widget/src/address_widget.js
Back
import {Reflection, Type} from "main.core"; import {Address as AddressEntity} from "location.core"; import {View} from './view/view'; import {Edit} from './view/edit'; class AddressField { static VIEW_MODE = 'view'; static EDIT_MODE = 'edit'; #mode = AddressField.VIEW_MODE; #wrapper: Element; #addresses: []; #isMultiple: boolean = false; #showMap: boolean = true; #fieldConfig = {}; #additionalProperties = {}; static init(params: Object) { const mode = params.mode; const wrapper = document.getElementById(params.wrapperId); if (!wrapper) { return; } let addresses = []; const addressData = params.addressData; addressData.forEach((addressFields) => { if (Type.isObject(addressFields)) { addresses.push(new AddressEntity(addressFields)); } }); const showMap = params.showMap ?? true; let addressFieldParams = { addresses: addresses, wrapper: wrapper, mode: mode, fieldConfig: { fieldName: params.fieldName, fieldFormName: params.fieldFormName, }, isMultiple: params.isMultiple, showMap, }; if (params.additionalProperties) { addressFieldParams.additionalProperties = params.additionalProperties; } const addressField = new AddressField(addressFieldParams); addressField.layout(); } constructor(params: Object) { this.#mode = params.mode; this.#wrapper = params.wrapper; this.#addresses = params.addresses; this.#fieldConfig = params.fieldConfig; this.#isMultiple = params.isMultiple; this.#showMap = params.showMap; if (params.additionalProperties) { this.#additionalProperties = params.additionalProperties; } } layout() { /** @type BaseView */ let view = null; if (this.#mode === AddressField.VIEW_MODE) { view = new View({ wrapper: this.#wrapper, addresses: this.#addresses, }); } if (this.#mode === AddressField.EDIT_MODE) { view = new Edit({ wrapper: this.#wrapper, fieldName: this.#fieldConfig.fieldName, fieldFormName: this.#fieldConfig.fieldFormName, addresses: this.#addresses, isMultiple: this.#isMultiple, compactMode: this.#additionalProperties.compactMode ?? false, showMap: this.#showMap, }); } if (view) { view.layout() } } } const namespace = Reflection.namespace('BX.Fileman.UserField'); namespace.AddressField = AddressField;
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.25 |
proxy
|
phpinfo
|
Settings