403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/catalog/entity-card/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/catalog/entity-card/dist/entity-card.bundle.js.map
{"version":3,"file":"entity-card.bundle.js","sources":["../src/iblock-section/field.js","../src/name-code/field.js","../src/fields-factory.js","../src/iblock-section/controller.js","../src/grid/grid-store.js","../src/variation-grid/controller.js","../src/variation-link/controller.js","../src/google-map/controller.js","../src/employee/controller.js","../src/user/controller.js","../src/iblock-element/controller.js","../src/binding-to-crm-element/controller.js","../src/field-configurator/controller.js","../src/product-service-grid/controller.js","../src/controllers-factory.js","../src/field-configurator/iblock-directory-field-item.js","../src/field-configurator/iblock-field-configurator.js","../src/field-configurator/iblock-field-configuration-manager.js","../src/field-configurator/grid-field-configurator.js","../src/field-configurator/grid-field-configuration-manager.js","../src/tab/lazy-loader.js","../src/tab/tab.js","../src/tab/manager.js","../src/base-card/base-card.js","../src/entity-card.js"],"sourcesContent":["import 'ui.design-tokens';\nimport './field.css'\nimport {ajax, Dom, Event, Loc, Runtime, Tag, Text, Type} from 'main.core'\nimport {type BaseEvent, EventEmitter} from 'main.core.events'\n\nexport default class IblockSectionField extends BX.UI.EntityEditorField\n{\n\tconstructor(id, settings)\n\t{\n\t\tsuper();\n\t\tthis.initialize(id, settings);\n\n\t\tthis.innerWrapper = null;\n\t}\n\n\tgetContentWrapper()\n\t{\n\t\treturn this.innerWrapper;\n\t}\n\n\tlayout(options = {})\n\t{\n\t\tif (this._hasLayout)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.ensureWrapperCreated({classNames: ['catalog-entity-editor-content-block-field-iblock-section']});\n\t\tthis.adjustWrapper();\n\n\t\tif (this.isNeedToDisplay())\n\t\t{\n\t\t\tthis._wrapper.appendChild(this.createTitleNode(this.getTitle()));\n\n\t\t\tif (this._mode === BX.UI.EntityEditorMode.edit)\n\t\t\t{\n\t\t\t\tthis.drawEditMode();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.drawViewMode();\n\t\t\t}\n\n\t\t\tif (this.isContextMenuEnabled())\n\t\t\t{\n\t\t\t\tthis._wrapper.appendChild(this.createContextMenuButton());\n\t\t\t}\n\t\t}\n\n\t\tthis.registerLayout(options);\n\t\tthis._hasLayout = true;\n\t}\n\n\tdrawEditMode()\n\t{\n\t\tthis.defaultInput = Tag.render`<input type=\"hidden\" name=\"${this.getName()}[]\" value=\"0\">`;\n\t\tthis._wrapper.appendChild(this.defaultInput);\n\n\t\tthis.innerWrapper = Tag.render`<div class=\"ui-entity-editor-content-block\"></div>`;\n\t\tthis._wrapper.appendChild(this.innerWrapper);\n\n\t\tajax.runComponentAction(\n\t\t\t'bitrix:catalog.productcard.iblocksectionfield',\n\t\t\t'lazyLoad',\n\t\t\t{\n\t\t\t\tmode: 'ajax',\n\t\t\t\tdata: {\n\t\t\t\t\tiblockId: this.getIblockId(),\n\t\t\t\t\tproductId: this.getProductId(),\n\t\t\t\t\tselectedSectionIds: this.getValue()\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\t\t\t.then(this.renderFromResponse.bind(this))\n\t\t\t.catch(response => {\n\t\t\t\tthrow new Error(response.errors.join(\"\\n\"));\n\t\t\t})\n\t\t;\n\t}\n\n\trenderFromResponse(response)\n\t{\n\t\tif (!this._wrapper)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tRuntime.html(this.innerWrapper, response.data.html, {\n\t\t\tcallback: this.initEntitySelector.bind(this)\n\t\t});\n\t}\n\n\tinitEntitySelector()\n\t{\n\t\tEventEmitter.subscribe(EventEmitter.GLOBAL_TARGET, 'Item:onSelect', this.markAsChanged.bind(this));\n\t\tEventEmitter.subscribe(EventEmitter.GLOBAL_TARGET, 'Item:onDeselect', this.markAsChanged.bind(this));\n\t}\n\n\tchangeDisplay(node, isShow)\n\t{\n\t\tif (!node)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tnode.style.display = isShow ? '' : 'none';\n\t}\n\n\tmarkAsChanged(event: BaseEvent)\n\t{\n\t\tsuper.markAsChanged();\n\t\tEventEmitter.emit(this.getEditor(), 'IblockSectionField:onChange', [this, ...event.getData()]);\n\t}\n\n\tdrawViewMode()\n\t{\n\t\tif (this.hasNoSections())\n\t\t{\n\t\t\tthis.innerWrapper = Tag.render`\n\t\t\t\t<div class=\"ui-entity-editor-content-block\">\n\t\t\t\t\t${Loc.getMessage(\"CATALOG_ENTITY_CARD_EMPTY_SECTION\")}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t\tDom.addClass(this._wrapper, 'ui-entity-editor-content-block-click-empty');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst content = [];\n\t\t\tthis.getSections().forEach((section) => {\n\t\t\t\t// ui-tile-selector-item-%type%\n\t\t\t\tlet picture = '';\n\t\t\t\tif (Type.isStringFilled(section.PICTURE))\n\t\t\t\t{\n\t\t\t\t\tpicture = Tag.render`<span class=\"ui-tile-selector-item-picture\" style=\"background-image: url('${Text.encode(section.PICTURE)}');\"></span>`;\n\t\t\t\t}\n\t\t\t\tcontent.push(Tag.render`\n\t\t\t\t\t<span class=\"ui-tile-selector-item ui-tile-selector-item-readonly-yes\">\n\t\t\t\t\t\t${picture}\n\t\t\t\t\t\t<span data-role=\"tile-item-name\">${Text.encode(section.NAME)}</span>\n\t\t\t\t\t</span>\n\t\t\t\t`)\n\t\t\t});\n\t\t\tthis.innerWrapper = Tag.render`\n\t\t\t\t<div class=\"ui-entity-editor-content-block\">\n\t\t\t\t\t<span class=\"ui-tile-selector-selector-wrap readonly\">\n\t\t\t\t\t\t${content}\n\t\t\t\t\t</span>\n\t\t\t\t</div>`\n\t\t\t;\n\t\t}\n\n\t\tthis._wrapper.appendChild(this.innerWrapper);\n\t}\n\n\tgetSections()\n\t{\n\t\treturn this._model.getField('IBLOCK_SECTION_DATA', {});\n\t}\n\n\tgetIblockId()\n\t{\n\t\treturn this._model.getField('IBLOCK_ID', 0);\n\t}\n\n\tgetProductId()\n\t{\n\t\treturn this._model.getField('ID', 0);\n\t}\n\n\thasNoSections()\n\t{\n\t\tconst sectionIds = this.getValue();\n\n\t\treturn sectionIds.length === 0\n\t\t\t|| (\n\t\t\t\tsectionIds.length === 1\n\t\t\t\t&& (sectionIds.includes('0') || sectionIds.includes(0))\n\t\t\t);\n\t}\n\n\tdoClearLayout(options)\n\t{\n\t\tif (this.defaultInput)\n\t\t{\n\t\t\tDom.clean(this.defaultInput);\n\t\t\tthis.defaultInput = null;\n\t\t}\n\n\t\tif (this.innerWrapper)\n\t\t{\n\t\t\tDom.clean(this.innerWrapper);\n\t\t\tthis.innerWrapper = null;\n\t\t}\n\n\t\tthis._hasLayout = false;\n\t}\n\n\tgetModeSwitchType(mode)\n\t{\n\t\tlet result = BX.UI.EntityEditorModeSwitchType.common;\n\n\t\tif (mode === BX.UI.EntityEditorMode.edit)\n\t\t{\n\t\t\tresult |= BX.UI.EntityEditorModeSwitchType.button | BX.UI.EntityEditorModeSwitchType.content;\n\t\t}\n\n\t\treturn result;\n\t}\n}","import {Loc, Dom, Tag, Event} from 'main.core';\nimport 'translit';\nimport './field.css';\n\nexport default class NameCodeField extends BX.UI.EntityEditorMultiText\n{\n\tconstructor(id, settings)\n\t{\n\t\tsuper();\n\t\tthis.initialize(id, settings);\n\t\tthis.isShownSymbolicCode = this.getSchemeShowCodeState() === 'true';\n\t\tthis.allowToGenerateCode = this._editor.isNew();\n\t}\n\n\tgetSchemeShowCodeState()\n\t{\n\t\treturn BX.prop.get(this.getSchemeElement()._options, 'showCode');\n\t}\n\n\tsetSchemeShowCodeState(state)\n\t{\n\t\tthis.getSchemeElement()._options['showCode'] = state;\n\t}\n\n\tgetValue = function()\n\t{\n\t\treturn BX.UI.EntityEditorBoolean.superclass.getValue.apply(this);\n\t}\n\n\thasContentToDisplay = function()\n\t{\n\t\treturn true;\n\t}\n\n\tdoPrepareContextMenuItems = function(menuItems)\n\t{\n\t\tif (this.isShownSymbolicCode)\n\t\t{\n\t\t\tmenuItems.push(\n\t\t\t\t{\n\t\t\t\t\tvalue: 'hide_symbolic_code',\n\t\t\t\t\ttext: Loc.getMessage('CATALOG_ENTITY_CARD_HIDE_SYMBOLIC_CODE'),\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tmenuItems.push(\n\t\t\t\t{\n\t\t\t\t\tvalue: 'show_symbolic_code',\n\t\t\t\t\ttext: Loc.getMessage('CATALOG_ENTITY_CARD_SHOW_SYMBOLIC_CODE'),\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tprocessContextMenuCommand(e, command)\n\t{\n\t\tsuper.processContextMenuCommand(e, command);\n\n\t\tconst codeContainerElement = document.getElementById('code_container');\n\t\tconst nameCodeMarkerElement = document.getElementById('name_code_marker');\n\n\t\tif (command === 'hide_symbolic_code')\n\t\t{\n\t\t\tthis.isShownSymbolicCode = false;\n\t\t\tthis.allowToGenerateCode = this._editor.isNew();\n\n\t\t\tif(this._mode === BX.UI.EntityEditorMode.edit)\n\t\t\t{\n\t\t\t\tconst codeTextElement = document.getElementById('code_text');\n\t\t\t\tconst codeStateButtonElement = document.getElementById('code_state_button');\n\t\t\t\tcodeTextElement.readOnly = this.allowToGenerateCode;\n\t\t\t\tif (this.allowToGenerateCode)\n\t\t\t\t{\n\t\t\t\t\tcodeTextElement.className = 'ui-ctl-element ui-ctl-element-symbol-code-input-disabled';\n\t\t\t\t\tcodeStateButtonElement.className = 'ui-ctl-before ui-ctl-icon-chain';\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tcodeTextElement.className = 'ui-ctl-element';\n\t\t\t\t\tcodeStateButtonElement.className = 'ui-ctl-before ui-ctl-icon-unchain';\n\t\t\t\t}\n\t\t\t\tcodeContainerElement.className = 'name-code-container name-code-container-hidden';\n\n\t\t\t\tDom.removeClass(this._innerWrapper, 'ui-entity-editor-content-block--code');\n\t\t\t\tDom.addClass(this._innerWrapper, 'ui-entity-editor-content-block--no-code');\n\t\t\t\tnameCodeMarkerElement.style.display = 'inline';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.refreshLayout();\n\t\t\t}\n\t\t\tthis.setSchemeShowCodeState(false);\n\t\t\tthis._parent.processChildControlSchemeChange(this);\n\t\t}\n\t\telse if (command === 'show_symbolic_code')\n\t\t{\n\t\t\tthis.isShownSymbolicCode = true;\n\t\t\tif(this._mode === BX.UI.EntityEditorMode.edit)\n\t\t\t{\n\t\t\t\tcodeContainerElement.className = 'name-code-container';\n\t\t\t\tDom.removeClass(this._innerWrapper, 'ui-entity-editor-content-block--no-code');\n\t\t\t\tDom.addClass(this._innerWrapper, 'ui-entity-editor-content-block--code');\n\t\t\t\tnameCodeMarkerElement.style.display = 'none';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.refreshLayout();\n\t\t\t}\n\t\t\tthis.setSchemeShowCodeState(true);\n\t\t\tthis._parent.processChildControlSchemeChange(this);\n\t\t}\n\t}\n\n\tcreateTitleMarker()\n\t{\n\t\tif(this._mode === BX.UI.EntityEditorMode.view)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst display = this.isShownSymbolicCode ? 'none' : 'inline';\n\n\t\tif(this._mode === BX.UI.EntityEditorMode.edit)\n\t\t{\n\t\t\treturn Tag.render`<span id=\"name_code_marker\" style=\"color: rgb(255, 0, 0); display: ${display};\">*</span>`;\n\t\t}\n\t}\n\n\tlayout(options)\n\t{\n\t\tif(this._hasLayout)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.ensureWrapperCreated({ classNames: [ 'ui-entity-editor-field-multitext' ] });\n\t\tthis.adjustWrapper();\n\n\t\tif(!this.isNeedToDisplay())\n\t\t{\n\t\t\tthis.registerLayout(options);\n\t\t\tthis._hasLayout = true;\n\t\t\treturn;\n\t\t}\n\n\t\tconst title = this.getTitle();\n\n\t\tconst values = this.getValue();\n\t\tthis._inputValue = values;\n\t\tthis._innerWrapper = null;\n\t\tif(this.isDragEnabled())\n\t\t{\n\t\t\tDom.append(this.createDragButton(), this._wrapper);\n\t\t}\n\n\t\tDom.append(this.createTitleNode(title), this._wrapper);\n\t\tif(this._mode === BX.UI.EntityEditorMode.edit)\n\t\t{\n\t\t\tthis._inputContainer = Tag.render`<div></div>`;\n\n\t\t\tfor (let valueKey in values)\n\t\t\t{\n\t\t\t\tDom.append(this.createSingleInput(values[valueKey], valueKey), this._inputContainer);\n\t\t\t}\n\n\t\t\tthis._innerWrapper = Tag.render`<div class=\"ui-entity-editor-content-block\">${this._inputContainer}</div>`;\n\t\t\tif (this.isShownSymbolicCode)\n\t\t\t{\n\t\t\t\tDom.addClass(this._innerWrapper, 'ui-entity-editor-content-block--code');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.addClass(this._innerWrapper, 'ui-entity-editor-content-block--no-code');\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis._innerWrapper = Tag.render`\n\t\t\t\t<div class=\"ui-entity-editor-content-block\">${this.getViewInnerLayout()}</div>\n\t\t\t`;\n\t\t}\n\n\t\tDom.append(this._innerWrapper, this._wrapper);\n\n\t\tif(this.isContextMenuEnabled())\n\t\t{\n\t\t\tDom.append(this.createContextMenuButton() ,this._wrapper);\n\t\t}\n\n\t\tif(this.isDragEnabled())\n\t\t{\n\t\t\tthis.initializeDragDropAbilities();\n\t\t}\n\n\t\tthis.registerLayout(options);\n\t\tthis._hasLayout = true;\n\t}\n\n\tvalidate(result)\n\t{\n\t\tif(this._mode !== BX.UI.EntityEditorMode.edit)\n\t\t{\n\t\t\tthrow 'BX.UI.EntityEditorMultiText. Invalid validation context';\n\t\t}\n\n\t\tif(!this.isEditable())\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tthis.clearError();\n\n\t\tif(this.hasValidators())\n\t\t{\n\t\t\treturn this.executeValidators(result);\n\t\t}\n\n\t\tlet isEmptyField = false;\n\t\tif(this._inputContainer)\n\t\t{\n\t\t\tconst nameTextElement = document.getElementById('name_text');\n\n\t\t\tif (BX.util.trim(nameTextElement.value) === '')\n\t\t\t{\n\t\t\t\tisEmptyField = true;\n\t\t\t\tDom.addClass(nameTextElement.parentNode, \"ui-ctl-danger\");\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.removeClass(nameTextElement.parentNode, \"ui-ctl-danger\");\n\t\t\t}\n\t\t}\n\n\t\tconst isValid = !this.isRequired() || !isEmptyField;\n\t\tif(!isValid)\n\t\t{\n\t\t\tresult.addError(BX.UI.EntityValidationError.create({ field: this }));\n\t\t\tthis.showRequiredFieldError(this._input);\n\t\t}\n\t\treturn isValid;\n\t}\n\n\tshowError(error, anchor)\n\t{\n\t\tif(!this._errorContainer)\n\t\t{\n\t\t\tthis._errorContainer = Tag.render`<div class=\"ui-entity-editor-field-error-text\"></div>`;\n\t\t}\n\n\t\tthis._errorContainer.innerHTML = BX.util.htmlspecialchars(error);\n\t\tif (this._wrapper)\n\t\t{\n\t\t\tDom.append(this._errorContainer, this._wrapper);\n\t\t}\n\t\tthis._hasError = true;\n\t}\n\n\tcreateSingleInput(value, name)\n\t{\n\t\tconst inputWrapper = Tag.render`\n\t\t\t<div id=\"${name.toLowerCase()}_container\"></div>\n\t\t`;\n\t\tconst inputContainer = Tag.render`\n\t\t\t<div class=\"ui-ctl ui-ctl-w100 ui-ctl-textbox\"></div>\n\t\t`;\n\n\t\tlet input;\n\t\tif (this.getLineCount() > 1)\n\t\t{\n\t\t\tinput = Tag.render`\n\t\t\t\t<textarea\n\t\t\t\t\tclass=\"ui-ctl-element ui-entity-editor-field-textarea\"\n\t\t\t\t\tname=\"${name}\"\n\t\t\t\t\tid=\"${name.toLowerCase() + '_text'}\"\n\t\t\t\t\trows=\"${this.getLineCount()}\">${BX.util.htmlspecialchars(value) || ''}</textarea>\n\t\t\t`;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tinput = Tag.render`\n\t\t\t\t<input\n\t\t\t\t\tclass=\"ui-ctl-element\"\n\t\t\t\t\tname=\"${name}\"\n\t\t\t\t\tid=\"${name.toLowerCase() + '_text'}\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue=\"${BX.util.htmlspecialchars(value) || ''}\"/>\n\t\t\t`;\n\t\t}\n\n\t\tEvent.bind(input, 'input', this.#onInputHandler.bind(this, name));\n\n\t\tif (name === 'CODE')\n\t\t{\n\t\t\tif (!this.isShownSymbolicCode)\n\t\t\t{\n\t\t\t\tDom.addClass(inputWrapper, 'name-code-container-hidden');\n\t\t\t}\n\n\t\t\tif (this.allowToGenerateCode === true)\n\t\t\t{\n\t\t\t\tDom.addClass(input, 'ui-ctl-element-symbol-code-input-disabled');\n\t\t\t\tDom.attr(input, 'readonly', this.allowToGenerateCode);\n\t\t\t}\n\n\t\t\tDom.addClass(inputContainer, 'ui-ctl-ext-before-icon');\n\t\t\tDom.addClass(inputWrapper, 'name-code-container');\n\n\t\t\tconst chainState = this.allowToGenerateCode ? 'chain' : 'unchain';\n\t\t\tconst button = Tag.render`\n\t\t\t\t<button name=\"${name}\" class=\"ui-ctl-before ui-ctl-icon-${chainState}\" id=\"code_state_button\"></button>\n\t\t\t`;\n\t\t\tEvent.bind(button, 'click', this.#onCodeStateButtonClick.bind(this));\n\t\t\tDom.append(button, inputContainer);\n\t\t}\n\n\t\tconst label = this.#creatLabelForEditMode(name);\n\n\t\tDom.append(label, inputWrapper);\n\t\tDom.append(input, inputContainer);\n\t\tDom.append(inputContainer, inputWrapper);\n\n\t\treturn inputWrapper;\n\t}\n\n\t#creatLabelForEditMode(name)\n\t{\n\t\tconst label = Tag.render`<label class=\"ui-entity-editor-block-title\"></label>`;\n\t\tlet labelText;\n\n\t\tif (name === 'CODE')\n\t\t{\n\t\t\tlabelText = Tag.render`<span>${Loc.getMessage('CATALOG_ENTITY_CARD_SYMBOLIC_CODE')}</span>`;\n\t\t\tDom.append(labelText, label);\n\t\t\tDom.append(this.#getHintNode(), label);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tlabelText = Tag.render`\n\t\t\t\t<span>\n\t\t\t\t\t${Loc.getMessage('CATALOG_ENTITY_CARD_NAME')}\n\t\t\t\t\t<span style=\"color: rgb(255, 0, 0);\">*</span>\n\t\t\t\t</span>\n\t\t\t`;\n\t\t\tDom.append(labelText, label);\n\t\t}\n\n\t\treturn label;\n\t}\n\n\t#onInputHandler(name)\n\t{\n\t\tthis._changeHandler();\n\t\tif (this.allowToGenerateCode && name === 'NAME')\n\t\t{\n\t\t\tconst codeTextElement = document.getElementById('code_text');\n\t\t\tconst nameTextElement = document.getElementById('name_text');\n\t\t\tcodeTextElement.value = BX.translit(nameTextElement.value, null);\n\t\t}\n\t}\n\n\t#getHintNode()\n\t{\n\t\treturn BX.UI.Hint.createNode(Loc.getMessage('CATALOG_ENTITY_CARD_SYMBOLIC_CODE_HINT'));\n\t}\n\n\t#onCodeStateButtonClick()\n\t{\n\t\tconst codeTextElement = document.getElementById('code_text');\n\t\tconst nameTextElement = document.getElementById('name_text');\n\t\tconst codeStateButtonElement = document.getElementById('code_state_button');\n\n\t\tthis.allowToGenerateCode = !this.allowToGenerateCode;\n\t\tcodeTextElement.readOnly = this.allowToGenerateCode;\n\n\t\tif (this.allowToGenerateCode)\n\t\t{\n\t\t\tcodeTextElement.className = 'ui-ctl-element ui-ctl-element-symbol-code-input-disabled';\n\t\t\tcodeStateButtonElement.className = 'ui-ctl-before ui-ctl-icon-chain';\n\t\t\tcodeTextElement.value = BX.translit(nameTextElement.value, null);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tcodeTextElement.className = 'ui-ctl-element';\n\t\t\tcodeStateButtonElement.className = 'ui-ctl-before ui-ctl-icon-unchain';\n\n\t\t\tconst nameTextElement = document.getElementById('name_text');\n\t\t\tconst newValue = BX.translit(nameTextElement.value, null);\n\n\t\t\tif (codeTextElement.value !== newValue)\n\t\t\t{\n\t\t\t\tthis.markAsChanged();\n\t\t\t}\n\t\t\tcodeTextElement.value = newValue;\n\t\t}\n\t}\n\n\tgetViewInnerLayout()\n\t{\n\t\tconst textValue = Tag.render`\n\t\t\t<div class=\"ui-entity-editor-content-block-text\"></div>\n\t\t`;\n\n\t\tconst values = this.getValue();\n\n\t\tif (!this.isShownSymbolicCode)\n\t\t{\n\t\t\tDom.append(Tag.render`<p>${BX.util.htmlspecialchars(values.NAME)}</p>`, textValue);\n\n\t\t\treturn textValue;\n\t\t}\n\n\t\tDom.append(Tag.render`\n\t\t\t<div class=\"ui-entity-editor-symbol-code-label\">\n\t\t\t\t${Loc.getMessage('CATALOG_ENTITY_CARD_NAME')}\n\t\t\t</div>\n\t\t`, textValue);\n\n\t\tDom.append(Tag.render`<p>${BX.util.htmlspecialchars(values.NAME)}</p>`, textValue);\n\n\t\tDom.addClass(textValue, 'ui-entity-editor-symbol-code');\n\t\tconst codeValue = values.CODE === '' ? Loc.getMessage('UI_ENTITY_EDITOR_FIELD_EMPTY') : values.CODE;\n\t\tconst chainClass = this.allowToGenerateCode\n\t\t\t? 'ui-entity-editor-symbol-code-value-chain'\n\t\t\t: 'ui-entity-editor-symbol-code-value-unchain'\n\t\t;\n\n\t\tDom.append(Tag.render`\n\t\t\t<div class=\"ui-entity-editor-symbol-code-box\">\n\t\t\t\t<div class=\"ui-entity-editor-symbol-code-label\">\n\t\t\t\t\t${Loc.getMessage('CATALOG_ENTITY_CARD_SYMBOLIC_CODE')}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ui-entity-editor-symbol-code-value ${chainClass}\">\n\t\t\t\t\t${BX.util.htmlspecialchars(codeValue)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`, textValue);\n\n\t\treturn textValue;\n\t}\n}","import IblockSectionField from './iblock-section/field';\nimport NameCodeField from './name-code/field';\nimport {type BaseEvent, EventEmitter} from 'main.core.events'\n\nexport default class FieldsFactory\n{\n\tconstructor()\n\t{\n\t\tEventEmitter.subscribe('BX.UI.EntityEditorControlFactory:onInitialize', (event: BaseEvent) => {\n\t\t\tconst [, eventArgs] = event.getCompatData();\n\t\t\teventArgs.methods['entityCard'] = this.factory.bind(this);\n\t\t});\n\t}\n\n\tfactory(type, controlId, settings)\n\t{\n\t\tif (type === 'iblock_section')\n\t\t{\n\t\t\treturn new IblockSectionField(controlId, settings);\n\t\t}\n\t\telse if (type === 'name-code')\n\t\t{\n\t\t\treturn new NameCodeField(controlId, settings);\n\t\t}\n\n\t\treturn null;\n\t}\n}","import {ajax} from 'main.core';\nimport {type BaseEvent, EventEmitter} from 'main.core.events'\n\nconst PROPERTY_PREFIX = 'PROPERTY_';\nconst PROPERTY_BLOCK_NAME = 'properties';\n\nexport default class IblockSectionController extends BX.UI.EntityEditorController\n{\n\tonChangeHandler = this.handleChange.bind(this);\n\n\tconstructor(id, settings = {})\n\t{\n\t\tsuper();\n\t\tthis.initialize(id, settings);\n\n\t\tthis.isRequesting = false;\n\t\tthis.clearServiceFields();\n\n\t\tEventEmitter.subscribe(this._editor, 'IblockSectionField:onChange', this.onChangeHandler);\n\t}\n\n\tclearServiceFields()\n\t{\n\t\tthis.lastDataHash = null;\n\t\tthis.initialElements = null;\n\t\tthis.deletedControls = {};\n\t\tthis.deletedAvailableSchemes = {};\n\t}\n\n\thandleChange(event: BaseEvent)\n\t{\n\t\tconst newData = event.getData();\n\t\tnewData.shift();\n\t\tconst newDataHash = JSON.stringify(newData);\n\n\t\tif (this.lastDataHash === null || this.lastDataHash !== newDataHash)\n\t\t{\n\t\t\tthis.lastDataHash = newDataHash;\n\n\t\t\tclearTimeout(this.timeout);\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.refreshLinkedProperties(newData)\n\t\t\t}, 50);\n\t\t}\n\t}\n\n\trefreshLinkedProperties(sectionIds)\n\t{\n\t\tif (this.isRequesting)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.isRequesting = true;\n\n\t\tajax.runComponentAction(\n\t\t\tthis._editor._settings.ajaxData.COMPONENT_NAME,\n\t\t\t'refreshLinkedProperties',\n\t\t\t{\n\t\t\t\tmode: 'class',\n\t\t\t\tsignedParameters: this._editor._settings.ajaxData.SIGNED_PARAMETERS,\n\t\t\t\tdata: {sectionIds}\n\t\t\t}\n\t\t)\n\t\t\t.then(response => {\n\t\t\t\tconst allCurrentProperties = this.getAllCurrentProperties();\n\n\t\t\t\tif (this.initialElements === null)\n\t\t\t\t{\n\t\t\t\t\tthis.initialElements = [...allCurrentProperties];\n\t\t\t\t}\n\n\t\t\t\tresponse.data.ENTITY_FIELDS.forEach(property => {\n\t\t\t\t\tif (!allCurrentProperties.includes(property.name))\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.addProperty(property, {\n\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\tforceDisplay: true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmode: BX.UI.EntityEditorMode.edit\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tconst newProperties = response.data.ENTITY_FIELDS.map(el => el.name);\n\t\t\t\tallCurrentProperties.forEach(name => {\n\t\t\t\t\tif (!newProperties.includes(name))\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.removeProperty(name);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tthis._editor.commitSchemeChanges();\n\t\t\t\tthis.isRequesting = false;\n\t\t\t})\n\t\t\t.catch(response => {\n\t\t\t\tthis.isRequesting = false;\n\t\t\t})\n\t\t;\n\t}\n\n\tgetAllCurrentProperties()\n\t{\n\t\tconst activeProperties = this._editor.getAllControls()\n\t\t\t.filter(el => el.getName().indexOf(PROPERTY_PREFIX) === 0)\n\t\t\t.map(el => el.getName());\n\n\t\tconst hiddenProperties = this._editor.getAvailableSchemeElements()\n\t\t\t.filter(el => el.getName().indexOf(PROPERTY_PREFIX) === 0)\n\t\t\t.map(el => el.getName());\n\n\t\treturn [...activeProperties, ...hiddenProperties];\n\t}\n\n\taddProperty(property, options = {})\n\t{\n\t\tif (property.name in this.deletedControls)\n\t\t{\n\t\t\tthis.restoreDeletedProperty(this.deletedControls[property.name], options);\n\t\t}\n\t\telse if (property.name in this.deletedAvailableSchemes)\n\t\t{\n\t\t\tthis.restoreDeletedAvailableProperty(this.deletedAvailableSchemes[property.name], options);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.createProperty(property, options);\n\t\t}\n\t}\n\n\trestoreDeletedProperty(control, options = {})\n\t{\n\t\tconst mode = options.mode || control._mode;\n\t\tcontrol._mode = mode;\n\n\t\tcontrol.getParent().addChild(control, {\n\t\t\t...options,\n\t\t\tenableSaving: false\n\t\t});\n\n\t\tif (mode === BX.UI.EntityEditorMode.edit)\n\t\t{\n\t\t\tthis._editor.registerActiveControl(control);\n\t\t}\n\t\telse if (mode === BX.UI.EntityEditorMode.view)\n\t\t{\n\t\t\tthis._editor.unregisterActiveControl(control);\n\t\t}\n\t}\n\n\trestoreDeletedAvailableProperty(schemeElement, options = {})\n\t{\n\t\tthis._editor.addAvailableSchemeElement(schemeElement);\n\t}\n\n\tcreateProperty(property, options = {})\n\t{\n\t\tconst propertyBlockScheme = this._editor.getSchemeElementByName(PROPERTY_BLOCK_NAME);\n\t\tconst schemeElement = BX.UI.EntitySchemeElement.create(property);\n\t\tpropertyBlockScheme._elements.push(schemeElement);\n\n\t\tconst mode = options.mode || BX.UI.EntityEditorMode.edit;\n\t\tconst control = this._editor.createControl(\n\t\t\tschemeElement.getType(),\n\t\t\tschemeElement.getName(),\n\t\t\t{\n\t\t\t\tschemeElement: schemeElement,\n\t\t\t\tmodel: this._model,\n\t\t\t\tparent: this,\n\t\t\t\tmode: mode\n\t\t\t}\n\t\t);\n\n\t\tif (!control)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst propertyBlockControl = this._editor.getControlById(PROPERTY_BLOCK_NAME);\n\t\tpropertyBlockControl.addChild(control, {\n\t\t\t...options,\n\t\t\tenableSaving: false\n\t\t});\n\n\t\treturn control;\n\t}\n\n\tremoveProperty(name)\n\t{\n\t\tconst control = this._editor.getControlByIdRecursive(name);\n\n\t\tif (control)\n\t\t{\n\t\t\tthis.deletedControls[control.getName()] = control;\n\t\t\tcontrol.getParent().removeChild(control, {enableSaving: false});\n\t\t\tthis._editor.removeAvailableSchemeElement(control.getSchemeElement());\n\t\t\tthis._editor.unregisterActiveControl(control);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst schemeElement = this._editor.getAvailableSchemeElementByName(name);\n\n\t\t\tif (schemeElement)\n\t\t\t{\n\t\t\t\tthis.deletedAvailableSchemes[schemeElement.getName()] = schemeElement;\n\t\t\t\tthis._editor.removeAvailableSchemeElement(schemeElement);\n\t\t\t}\n\t\t}\n\t}\n\n\trollback()\n\t{\n\t\tsuper.rollback();\n\n\t\tif (this.initialElements === null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst allCurrentProperties = this.getAllCurrentProperties();\n\n\t\tallCurrentProperties.forEach(element => {\n\t\t\tif (!this.initialElements.includes(element))\n\t\t\t{\n\t\t\t\tthis.removeProperty(element);\n\t\t\t}\n\t\t});\n\n\t\tthis.initialElements.forEach(element => {\n\t\t\tif (!allCurrentProperties.includes(element))\n\t\t\t{\n\t\t\t\tthis.addProperty({name: element}, {\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\tforceDisplay: false\n\t\t\t\t\t},\n\t\t\t\t\tmode: BX.UI.EntityEditorMode.view\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tthis._editor.commitSchemeChanges();\n\n\t\tthis.clearServiceFields()\n\t}\n}","import { Type, Loc } from 'main.core';\nimport { EventEmitter } from 'main.core.events';\nimport 'ui.notification';\n\nexport default class GridStore\n{\n\tgridId: String;\n\teditedRowsIndexes: Array = [];\n\n\tconstructor(gridId: String)\n\t{\n\t\tthis.gridId = gridId;\n\n\t\tEventEmitter.subscribe('onItemIsAdded', this.#onFileIsAddedHandler.bind(this));\n\t\tEventEmitter.subscribe('onFileIsDeleted', this.#onFileIsDeletedHandler.bind(this));\n\t}\n\n\tgetGrid(): BX.Main.Grid\n\t{\n\t\treturn BX.Main.gridManager.getInstanceById(this.gridId);\n\t}\n\n\t#onFileIsAddedHandler(event: BaseEvent)\n\t{\n\t\tconst file = event.getCompatData()[0];\n\t\tconst isFileUploaded = file instanceof File;\n\t\tconst uploader = event.getCompatData()[2];\n\n\t\tif (uploader && Type.isDomNode(uploader.fileInput) && isFileUploaded)\n\t\t{\n\t\t\tconst isFileUploaderInGrid = this.getGrid().getContainer().contains(uploader.fileInput)\n\t\t\tif (isFileUploaderInGrid)\n\t\t\t{\n\t\t\t\tthis.#showFileNotification();\n\t\t\t}\n\t\t}\n\t}\n\n\t#onFileIsDeletedHandler(event: BaseEvent)\n\t{\n\t\tconst uploader = event.getCompatData()[2];\n\n\t\tif (uploader && Type.isDomNode(uploader.fileInput))\n\t\t{\n\t\t\tconst isFileUploaderInGrid = this.getGrid().getContainer().contains(uploader.fileInput)\n\t\t\tif (isFileUploaderInGrid)\n\t\t\t{\n\t\t\t\tthis.#showFileNotification();\n\t\t\t}\n\t\t}\n\t}\n\n\t#showFileNotification()\n\t{\n\t\tBX.UI.Notification.Center.notify({\n\t\t\tid: 'fileCloseNotification',\n\t\t\tblinkOnUpdate: false,\n\t\t\tcontent: Loc.getMessage('CATALOG_ENTITY_CARD_FILE_CLOSE_NOTIFICATION_2'),\n\t\t\tposition: 'top-right',\n\t\t\twidth: 'auto',\n\t\t\tautoHideDelay: 5000\n\t\t});\n\t}\n\n\tsaveEditedRows(): void\n\t{\n\t\tthis.editedRowsIndexes = [];\n\n\t\tthis.getGrid().getRows().getBodyChild().forEach((row) => {\n\t\t\tif (row.isEdit())\n\t\t\t{\n\t\t\t\tthis.editedRowsIndexes.push(row.getNode().rowIndex);\n\t\t\t}\n\t\t});\n\t}\n\n\tloadEditedRows(): void\n\t{\n\t\tconst rows = this.getGrid().getRows();\n\n\t\tthis.editedRowsIndexes.forEach((index) => {\n\t\t\tconst row = rows.getByIndex(index);\n\t\t\tif (row)\n\t\t\t{\n\t\t\t\t//row.edit(); not used, because for child listeners need fire event\n\t\t\t\tBX.fireEvent(row.getNode(), 'click');\n\t\t\t}\n\t\t});\n\t}\n\n\t#getSupportedAjaxFields(): Array\n\t{\n\t\tconst params = this.getGrid().getParam('SUPPORTED_AJAX_FIELDS');\n\t\tif (Type.isArray(params))\n\t\t{\n\t\t\treturn params;\n\t\t}\n\n\t\treturn [];\n\t}\n\n\tgetEditedRowsFields(): Object\n\t{\n\t\tconst result = {};\n\n\t\tconst fillCellValue = function(result: Object, name: String, editData: Object, value)\n\t\t{\n\t\t\tif (Type.isPlainObject(editData) && editData.TYPE === 'MONEY')\n\t\t\t{\n\t\t\t\tif (Type.isArray(value))\n\t\t\t\t{\n\t\t\t\t\tvalue.forEach((item) => {\n\t\t\t\t\t\tif (item.RAW_NAME === undefined && item.NAME === name)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tresult[name] = item.VALUE;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tconsole.error('Error value type for `MONEY` column', value);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Type.isPlainObject(value))\n\t\t\t{\n\t\t\t\tresult[name] = value.VALUE ?? '';\n\t\t\t}\n\t\t\telse if (Type.isArray(value))\n\t\t\t{\n\t\t\t\tresult[name] = [];\n\n\t\t\t\tvalue.forEach((item) => {\n\t\t\t\t\tif (Type.isPlainObject(item))\n\t\t\t\t\t{\n\t\t\t\t\t\tresult[name].push(item.VALUE);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tresult[name].push(item);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult[name] = value;\n\t\t\t}\n\t\t};\n\n\t\tconst rows = this.getGrid().getRows();\n\t\tconst headRow = rows.getHeadFirstChild();\n\t\tconst supportedAjaxFields = this.#getSupportedAjaxFields();\n\n\t\trows.getBodyChild().filter((row) => row.isEdit()).forEach((row) => {\n\t\t\tconst values = {};\n\n\t\t\tArray.prototype.forEach.call(row.getCells(), (cell, index) => {\n\t\t\t\tconst cellName = headRow.getCellNameByCellIndex(index);\n\t\t\t\tif (!cellName)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (supportedAjaxFields.length > 0 && !supportedAjaxFields.includes(cellName))\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst cellValues = row.getCellEditorValue(cell);\n\t\t\t\tconst cellEditData = headRow.getCellEditDataByCellIndex(index);\n\n\t\t\t\tfillCellValue(values, cellName, cellEditData, cellValues);\n\t\t\t});\n\n\t\t\tresult[row.getId()] = values;\n\t\t});\n\n\t\treturn result;\n\t}\n}\n","import {type BaseEvent, EventEmitter} from 'main.core.events';\nimport {Dom, Reflection, Type, Uri} from 'main.core';\nimport GridStore from '../grid/grid-store';\n\nexport default class VariationGridController extends BX.UI.EntityEditorController\n{\n\tareaHeight = null\n\tgridStore: GridStore;\n\n\tconstructor(id, settings)\n\t{\n\t\tsuper();\n\n\t\tthis.initialize(id, settings);\n\t}\n\n\tdoInitialize()\n\t{\n\t\tsuper.doInitialize();\n\n\t\tEventEmitter.subscribe('Grid::thereEditedRows', this.markAsChangedHandler.bind(this));\n\t\tEventEmitter.subscribe('Grid::noEditedRows', this.checkEditorToolbar.bind(this));\n\t\tEventEmitter.subscribe('Grid::updated', this.onGridUpdated.bind(this));\n\t\tEventEmitter.subscribe('Grid::beforeRequest', this.onBeforeGridRequest.bind(this));\n\n\t\tEventEmitter.subscribe('onAjaxSuccess', this.ajaxSuccessHandler.bind(this));\n\n\t\tEventEmitter.subscribe('BX.UI.EntityEditorIncludedArea:onBeforeLoad', this.onBeforeIncludedAreaLoaded.bind(this));\n\t\tEventEmitter.subscribe('BX.UI.EntityEditorIncludedArea:onAfterLoad', this.onAfterIncludedAreaLoaded.bind(this));\n\t\tEventEmitter.subscribe(\"BX.UI.EntityEditor:onNothingChanged\", this.onNothingChanged.bind(this));\n\n\t\tthis.subscribeToFormSubmit();\n\n\t\tthis.gridStore = new GridStore(this.getGridId());\n\t}\n\n\tonBeforeIncludedAreaLoaded(event: BaseEvent)\n\t{\n\t\tif (Type.isNumber(this.areaHeight))\n\t\t{\n\t\t\tDom.style(this.getVariationGridLoader(), 'height', this.areaHeight + 'px');\n\t\t}\n\t}\n\n\tonAfterIncludedAreaLoaded(event: BaseEvent)\n\t{\n\t\tDom.style(this.getVariationGridLoader(), 'height', '');\n\t\tthis.areaHeight = null;\n\t}\n\n\tonNothingChanged(event: BaseEvent)\n\t{\n\t\tthis.rollback();\n\t}\n\n\tgetVariationGridLoader()\n\t{\n\t\tconst control = this.getGridControl();\n\n\t\tif (control)\n\t\t{\n\t\t\tconst wrapper = control.getWrapper();\n\n\t\t\tif (wrapper)\n\t\t\t{\n\t\t\t\treturn wrapper.querySelector('.ui-entity-editor-included-area-container-loader');\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trollback()\n\t{\n\t\tsuper.rollback();\n\t\tthis.checkEditorToolbar();\n\t\tthis.unsubscribeGridEvents();\n\t\tBX.Main.gridManager.destroy(this.getGridId());\n\t}\n\n\tonAfterSave()\n\t{\n\t\tif (this.isChanged() || this._editor.isChanged())\n\t\t{\n\t\t\tthis.setGridControlCache(null);\n\t\t\tEventEmitter.emit(\n\t\t\t\t'onAfterVariationGridSave',\n\t\t\t\t{\n\t\t\t\t\tgridId: this.getGridId(),\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tBX.Main.gridManager.destroy(this.getGridId());\n\t\tthis.subscribeToFormSubmit();\n\t\tsuper.onAfterSave();\n\t}\n\n\tsetGridControlCache(html)\n\t{\n\t\tconst control = this.getGridControl();\n\n\t\tif (control)\n\t\t{\n\t\t\tcontrol._loadedHtml = html;\n\t\t}\n\t}\n\n\tonBeforeSubmit()\n\t{\n\t\tthis.unsubscribeGridEvents();\n\t}\n\n\t/**\n\t * @returns {BX.Catalog.VariationGrid|null}\n\t */\n\tgetVariationGridComponent()\n\t{\n\t\treturn Reflection.getClass('BX.Catalog.VariationGrid.Instance');\n\t}\n\n\tunsubscribeGridEvents()\n\t{\n\t\tconst gridComponent = this.getVariationGridComponent();\n\t\tif (gridComponent)\n\t\t{\n\t\t\tgridComponent.destroy();\n\t\t}\n\n\t\tconst popup = this.getGrid()?.getSettingsWindow()?.getPopup();\n\t\tif (popup)\n\t\t{\n\t\t\tEventEmitter.emit(this.getGrid().getSettingsWindow().getPopup(), 'onDestroy');\n\t\t}\n\n\t\tEventEmitter.unsubscribeAll('BX.Main.grid:paramsUpdated');\n\t}\n\n\tajaxSuccessHandler(event: BaseEvent)\n\t{\n\t\tconst [, xhrData] = event.getCompatData();\n\n\t\tif (xhrData.url.indexOf(this.getReloadUrl()) === 0)\n\t\t{\n\t\t\tthis.setGridControlCache(null);\n\t\t}\n\t}\n\n\t// ajax form initializes every \"save\" action\n\tsubscribeToFormSubmit()\n\t{\n\t\tEventEmitter.subscribe(this._editor._ajaxForm, 'onBeforeSubmit', this.onBeforeSubmitForm.bind(this));\n\t}\n\n\tmarkAsChangedHandler()\n\t{\n\t\tif (!this._editor.isNew())\n\t\t{\n\t\t\tthis.markAsChanged();\n\t\t}\n\t}\n\n\tcheckEditorToolbar()\n\t{\n\t\tthis._isChanged = false;\n\n\t\tif (this._editor.getActiveControlCount() > 0)\n\t\t{\n\t\t\tthis._editor.showToolPanel();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis._editor.hideToolPanel();\n\t\t}\n\n\t\tif (this._editor._toolPanel)\n\t\t{\n\t\t\tthis._editor._toolPanel.clearErrors();\n\t\t}\n\t}\n\n\tgetGridControl()\n\t{\n\t\treturn this._editor.getControlById('variation_grid');\n\t}\n\n\tonGridUpdated(event: BaseEvent)\n\t{\n\t\tconst [grid] = event.getCompatData();\n\n\t\tthis.checkEditorToolbar();\n\n\t\tif (grid.getId() === this.getGrid()?.getId())\n\t\t{\n\t\t\tsetTimeout(\n\t\t\t\t() => {\n\t\t\t\t\tthis.gridStore.loadEditedRows();\n\t\t\t\t},\n\t\t\t\t0 // delay for re-render grid\n\t\t\t);\n\t\t}\n\t}\n\n\tonBeforeGridRequest(event: BaseEvent)\n\t{\n\t\tconst [grid, eventArgs] = event.getCompatData();\n\n\t\tif (!grid || !grid.parent || grid.parent.getId() !== this.getGridId())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tlet url = eventArgs.url;\n\t\tif (url)\n\t\t{\n\t\t\tconst params = (new Uri(url)).getQueryParams();\n\t\t\turl = new Uri(this.getReloadUrl());\n\n\t\t\tif (params)\n\t\t\t{\n\t\t\t\tfor (const key in params) {\n\t\t\t\t\tif (Object.hasOwnProperty.call(params, key)) {\n\t\t\t\t\t\turl.setQueryParam(key, params[key])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\turl = url.toString();\n\t\t}\n\t\telse\n\t\t{\n\t\t\turl = this.getReloadUrl();\n\t\t}\n\n\t\tthis.gridStore.saveEditedRows();\n\n\t\teventArgs.sessid = BX.bitrix_sessid();\n\t\teventArgs.method = 'POST';\n\t\teventArgs.url = url;\n\t\teventArgs.data = {\n\t\t\t...eventArgs.data,\n\t\t\trows: this.gridStore.getEditedRowsFields(),\n\t\t\tsignedParameters: this.getSignedParameters(),\n\t\t};\n\n\t\tthis.unsubscribeGridEvents();\n\t}\n\n\tgetReloadUrl()\n\t{\n\t\treturn this.getConfigStringParam('reloadUrl', '');\n\t}\n\n\tgetSignedParameters()\n\t{\n\t\treturn this.getConfigStringParam('signedParameters', '');\n\t}\n\n\tgetGridId()\n\t{\n\t\treturn this.getConfigStringParam('gridId', '');\n\t}\n\n\tgetGrid()\n\t{\n\t\tif (!Reflection.getClass('BX.Main.gridManager.getInstanceById'))\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\treturn BX.Main.gridManager.getInstanceById(this.getGridId());\n\t}\n\n\tonBeforeSubmitForm(event: BaseEvent)\n\t{\n\t\tconst [, eventArgs] = event.getCompatData();\n\t\tconst grid = this.getGrid();\n\n\t\tif (!grid)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst skuGridName = this.getGridId();\n\t\tconst skuGridData = grid.getRows().getEditSelectedValues();\n\t\tconst copyItemsMap = grid.getParam('COPY_ITEMS_MAP', {});\n\n\t\t// replace sku custom properties edit data names with original names\n\t\tfor (let id in skuGridData)\n\t\t{\n\t\t\tif (!skuGridData.hasOwnProperty(id))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tfor (let name in skuGridData[id])\n\t\t\t{\n\t\t\t\tif (!skuGridData[id].hasOwnProperty(name))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (name.includes('SKU_GRID_CATALOG_GROUP')\n\t\t\t\t\t|| name.includes('SKU_GRID_PURCHASING')\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tfor (let priceField in skuGridData[id][name])\n\t\t\t\t\t{\n\t\t\t\t\t\tif (skuGridData[id][name].hasOwnProperty(priceField))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tskuGridData[id][priceField] = skuGridData[id][name][priceField];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (name.includes('[EDIT_HTML]'))\n\t\t\t\t{\n\t\t\t\t\tlet newName = name.replace('[EDIT_HTML]', '');\n\n\t\t\t\t\t// lookup for a custom file fields\n\t\t\t\t\tif (newName.endsWith('_custom'))\n\t\t\t\t\t{\n\t\t\t\t\t\tif ('bxu_files[]' in skuGridData[id][name])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tskuGridData[id][name].isFile = true;\n\t\t\t\t\t\t\tdelete skuGridData[id][name]['bxu_files[]'];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (skuGridData[id][name].isFile)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfor (let fieldName in skuGridData[id][name])\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (skuGridData[id][name].hasOwnProperty(fieldName))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// check for new files like \"MORE_PHOTO_n1[name]\"(multiple) or \"DETAIL_PICTURE[name]\"(single)\n\t\t\t\t\t\t\t\t\tlet newFilesRegExp = new RegExp(/([0-9A-Za-z_]+?(_n\\d+)*)\\[([A-Za-z_]+)\\]/);\n\n\t\t\t\t\t\t\t\t\tif (newFilesRegExp.test(fieldName))\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlet fileCounter, fileSetting;\n\n\t\t\t\t\t\t\t\t\t\t[, fileCounter, , fileSetting] = fieldName.match(newFilesRegExp);\n\n\t\t\t\t\t\t\t\t\t\tif (fileCounter && fileSetting)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tskuGridData[id][name][fileCounter] = skuGridData[id][name][fileCounter] || {};\n\t\t\t\t\t\t\t\t\t\t\tskuGridData[id][name][fileCounter][fileSetting] = skuGridData[id][name][fieldName];\n\t\t\t\t\t\t\t\t\t\t\tdelete skuGridData[id][name][fieldName];\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tskuGridData[id][newName] = skuGridData[id][name];\n\t\t\t\t\tdelete skuGridData[id][name];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!Type.isNil(copyItemsMap[id]))\n\t\t\t{\n\t\t\t\tskuGridData[id]['COPY_SKU_ID'] = copyItemsMap[id];\n\t\t\t}\n\t\t}\n\n\t\tif (!Type.isPlainObject(eventArgs.options))\n\t\t{\n\t\t\teventArgs.options = {};\n\t\t}\n\n\t\tif (!Type.isPlainObject(eventArgs.options.data))\n\t\t{\n\t\t\teventArgs.options.data = {};\n\t\t}\n\n\t\teventArgs.options.data[skuGridName] = skuGridData;\n\n\t\tthis.areaHeight = this.getGridControl().getWrapper().offsetHeight;\n\t}\n}\n","import {EventEmitter} from 'main.core.events'\n\n\nexport default class VariationLinkController extends BX.UI.EntityEditorController\n{\n\tconstructor(id, settings)\n\t{\n\t\tsuper();\n\t\tthis.initialize(id, settings);\n\t\tEventEmitter.subscribe('onChangeVariationLink', this.markAsChanged.bind(this));\n\t}\n\n\trollback()\n\t{\n\t\tsuper.rollback();\n\t\tif (this._isChanged)\n\t\t{\n\t\t\tthis._isChanged = false;\n\t\t}\n\t}\n}","import {EventEmitter} from 'main.core.events'\n\n\nexport default class GoogleMapController extends BX.UI.EntityEditorController\n{\n\tconstructor(id, settings)\n\t{\n\t\tsuper();\n\t\tthis.initialize(id, settings);\n\t\tEventEmitter.subscribe('onAddGoogleMapPoint', this.markAsChanged.bind(this));\n\t}\n\n\trollback()\n\t{\n\t\tsuper.rollback();\n\t\tif (this._isChanged)\n\t\t{\n\t\t\tthis._isChanged = false;\n\t\t}\n\t}\n}","import {EventEmitter} from 'main.core.events'\n\n\nexport default class EmployeeController extends BX.UI.EntityEditorController\n{\n\tconstructor(id, settings)\n\t{\n\t\tsuper();\n\t\tthis.initialize(id, settings);\n\t\tEventEmitter.subscribe('onChangeEmployee', this.markAsChanged.bind(this));\n\t}\n\n\trollback()\n\t{\n\t\tsuper.rollback();\n\t\tif (this._isChanged)\n\t\t{\n\t\t\tthis._isChanged = false;\n\t\t}\n\t}\n}","import {EventEmitter} from 'main.core.events'\n\n\nexport default class UserController extends BX.UI.EntityEditorController\n{\n\tconstructor(id, settings)\n\t{\n\t\tsuper();\n\t\tthis.initialize(id, settings);\n\t\tEventEmitter.subscribe('onChangeUser', this.markAsChanged.bind(this));\n\t}\n\n\trollback()\n\t{\n\t\tsuper.rollback();\n\t\tif (this._isChanged)\n\t\t{\n\t\t\tthis._isChanged = false;\n\t\t}\n\t}\n}","import {EventEmitter} from 'main.core.events'\n\n\nexport default class IblockElementController extends BX.UI.EntityEditorController\n{\n\tconstructor(id, settings)\n\t{\n\t\tsuper();\n\t\tthis.initialize(id, settings);\n\t\tEventEmitter.subscribe('onChangeIblockElement', this.markAsChanged.bind(this));\n\t}\n\n\trollback()\n\t{\n\t\tsuper.rollback();\n\t\tif (this._isChanged)\n\t\t{\n\t\t\tthis._isChanged = false;\n\t\t}\n\t}\n}","import {EventEmitter} from 'main.core.events'\n\nexport default class BindingToCrmElementController extends BX.UI.EntityEditorController\n{\n\tconstructor(id, settings)\n\t{\n\t\tsuper();\n\t\tthis.initialize(id, settings);\n\t}\n\n\trollback()\n\t{\n\t\tsuper.rollback();\n\t\tif (this._isChanged)\n\t\t{\n\t\t\tthis._isChanged = false;\n\t\t}\n\t\tEventEmitter.unsubscribeAll('BX.Main.User.SelectorController::open');\n\t}\n\n\tonBeforeSubmit()\n\t{\n\t\tsuper.onBeforeSubmit();\n\t\tEventEmitter.unsubscribeAll('BX.Main.User.SelectorController::open');\n\t}\n}","import { ajax, Type } from 'main.core';\nimport { type BaseEvent, EventEmitter } from 'main.core.events';\n\nexport default class FieldConfiguratorController extends BX.UI.EntityEditorController\n{\n\tfieldAddHandler = this.handleFieldAdd.bind(this);\n\tfieldUpdateHandler = this.handleFieldUpdate.bind(this);\n\tpropertySavedHandler = this.handlePropertySaved.bind(this);\n\n\tconstructor(id, settings)\n\t{\n\t\tsuper();\n\t\tthis.initialize(id, settings);\n\n\t\tEventEmitter.subscribe(this._editor, 'BX.UI.EntityEditor:onFieldCreate', this.fieldAddHandler);\n\t\tEventEmitter.subscribe(this._editor, 'BX.UI.EntityEditor:onFieldModify', this.fieldUpdateHandler);\n\n\t\t// global events\n\t\ttop.BX.Event.EventEmitter.subscribe('IblockPropertyDetails:saved', this.propertySavedHandler);\n\t}\n\n\thandlePropertySaved(event: BaseEvent)\n\t{\n\t\tconst [property] = event.getData();\n\t\tconst propertyId = parseInt(property.id);\n\n\t\tajax.runComponentAction(\n\t\t\tthis._editor._settings.ajaxData.COMPONENT_NAME,\n\t\t\t'load',\n\t\t\t{\n\t\t\t\tmode: 'class',\n\t\t\t\tsignedParameters: this._editor._settings.ajaxData.SIGNED_PARAMETERS,\n\t\t\t},\n\t\t)\n\t\t\t.then((response) => {\n\t\t\t\tif (Type.isArray(response.data.ENTITY_FIELDS))\n\t\t\t\t{\n\t\t\t\t\tconst schemeField = response.data.ENTITY_FIELDS.find((item) => parseInt(item.propertyId) === propertyId);\n\t\t\t\t\tif (schemeField)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis._editor.addAvailableSchemeElement(\n\t\t\t\t\t\t\tBX.UI.EntitySchemeElement.create(schemeField),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((response) => {\n\t\t\t\tconsole.error('Cannot reload scheme', response);\n\t\t\t})\n\t\t;\n\t}\n\n\thandleFieldAdd(event: BaseEvent)\n\t{\n\t\tconst [section, eventArgs] = event.getCompatData();\n\t\tconst fields = this.getFieldsForm(eventArgs);\n\n\t\tajax.runComponentAction(\n\t\t\tthis._editor._settings.ajaxData.COMPONENT_NAME,\n\t\t\t'addProperty',\n\t\t\t{\n\t\t\t\tmode: 'class',\n\t\t\t\tsignedParameters: this._editor._settings.ajaxData.SIGNED_PARAMETERS,\n\t\t\t\tdata: fields,\n\t\t\t},\n\t\t)\n\t\t\t.then((response) => {\n\t\t\t\tconst property = response.data.PROPERTY_FIELDS;\n\t\t\t\tif (!property)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst additionalValues = response.data.ADDITIONAL_VALUES;\n\t\t\t\tif (additionalValues)\n\t\t\t\t{\n\t\t\t\t\tconst model = this._editor._model;\n\t\t\t\t\tfor (const [key, value] of Object.entries(additionalValues))\n\t\t\t\t\t{\n\t\t\t\t\t\tmodel.setField(key, value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlet mode = BX.UI.EntityEditorMode.view;\n\t\t\t\tif (section instanceof BX.UI.EntityEditorSection)\n\t\t\t\t{\n\t\t\t\t\tmode = section.getMode();\n\t\t\t\t}\n\n\t\t\t\tconst control = this.createProperty(property, section.getName(), {\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\tnotifyIfNotDisplayed: true,\n\t\t\t\t\t\tforceDisplay: eventArgs.showAlways,\n\t\t\t\t\t},\n\t\t\t\t\tmode,\n\t\t\t\t});\n\n\t\t\t\tcontrol.toggleOptionFlag(eventArgs.showAlways);\n\n\t\t\t\tthis._editor.saveSchemeChanges();\n\n\t\t\t\tthis.isRequesting = false;\n\t\t\t})\n\t\t\t.catch((response) => {\n\t\t\t\tthis.isRequesting = false;\n\t\t\t})\n\t\t;\n\t}\n\n\t/* eslint-disable max-lines-per-function */\n\thandleFieldUpdate(event: BaseEvent)\n\t{\n\t\tconst [section, eventArgs] = event.getCompatData();\n\t\tif (!(eventArgs.field instanceof BX.UI.EntityEditorControl))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentField = eventArgs.field;\n\t\teventArgs.CODE = currentField.getId();\n\n\t\tconst fields = this.getFieldsForm(eventArgs);\n\t\tconst schemeElement = currentField.getSchemeElement();\n\t\tschemeElement._isRequired = eventArgs.mandatory;\n\n\t\tajax.runComponentAction(\n\t\t\tthis._editor._settings.ajaxData.COMPONENT_NAME,\n\t\t\t'updateProperty',\n\t\t\t{\n\t\t\t\tmode: 'class',\n\t\t\t\tsignedParameters: this._editor._settings.ajaxData.SIGNED_PARAMETERS,\n\t\t\t\tdata: fields,\n\t\t\t},\n\t\t).then((response) => {\n\t\t\tconst property = response?.data?.PROPERTY_FIELDS;\n\t\t\tif (currentField instanceof BX.UI.EntityEditorDatetime || currentField instanceof BX.UI.EntityEditorMultiDatetime)\n\t\t\t{\n\t\t\t\tconst schemeElementData = currentField.getSchemeElement().getData();\n\t\t\t\tconst propertyData = property?.data;\n\t\t\t\tif (propertyData)\n\t\t\t\t{\n\t\t\t\t\tschemeElementData.enableTime = propertyData.enableTime;\n\t\t\t\t\tschemeElementData.dateViewFormat = propertyData.dateViewFormat;\n\t\t\t\t\tcurrentField.refreshLayout();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (currentField instanceof BX.UI.EntityEditorCustom)\n\t\t\t{\n\t\t\t\tcurrentField.refreshLayout();\n\t\t\t}\n\n\t\t\tlet newType = null;\n\t\t\tlet schemeElement = null;\n\t\t\tif (eventArgs.multiple === true)\n\t\t\t{\n\t\t\t\tif (currentField instanceof BX.UI.EntityEditorText)\n\t\t\t\t{\n\t\t\t\t\tnewType = 'multitext';\n\t\t\t\t}\n\t\t\t\telse if (currentField instanceof BX.UI.EntityEditorList)\n\t\t\t\t{\n\t\t\t\t\tnewType = 'multilist';\n\t\t\t\t}\n\t\t\t\telse if (currentField instanceof BX.UI.EntityEditorDatetime)\n\t\t\t\t{\n\t\t\t\t\tnewType = 'multidatetime';\n\t\t\t\t}\n\t\t\t\telse if (currentField instanceof BX.UI.EntityEditorNumber)\n\t\t\t\t{\n\t\t\t\t\tnewType = 'multinumber';\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t\tif (currentField instanceof BX.UI.EntityEditorMultiList)\n\t\t\t\t{\n\t\t\t\t\tnewType = 'list';\n\t\t\t\t}\n\t\t\t\telse if (currentField instanceof BX.UI.EntityEditorMultiDatetime)\n\t\t\t\t{\n\t\t\t\t\tnewType = 'datetime';\n\t\t\t\t}\n\t\t\t\telse if (currentField instanceof BX.UI.EntityEditorMultiNumber)\n\t\t\t\t{\n\t\t\t\t\tnewType = 'number';\n\t\t\t\t}\n\t\t\t\telse if (currentField instanceof BX.UI.EntityEditorMultiText)\n\t\t\t\t{\n\t\t\t\t\tnewType = 'text';\n\t\t\t\t}\n\t\t\tschemeElement = currentField.getSchemeElement();\n\t\t\tif (\n\t\t\t\t((currentField instanceof BX.UI.EntityEditorList) || (currentField instanceof BX.UI.EntityEditorMultiList))\n\t\t\t\t&& property\n\t\t\t)\n\t\t\t{\n\t\t\t\tschemeElement = BX.UI.EntitySchemeElement.create(property);\n\t\t\t\tnewType = property.type;\n\t\t\t}\n\n\t\t\tif (newType)\n\t\t\t{\n\t\t\t\tconst index = section.getChildIndex(currentField);\n\t\t\t\tconst newControl = this._editor.createControl(\n\t\t\t\t\tnewType,\n\t\t\t\t\teventArgs.CODE,\n\t\t\t\t\t{\n\t\t\t\t\t\tschemeElement,\n\t\t\t\t\t\tmodel: section._model,\n\t\t\t\t\t\tparent: section,\n\t\t\t\t\t\tmode: section.getMode(),\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tsection.addChild(newControl, {\n\t\t\t\t\tindex,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\tforceDisplay: true,\n\t\t\t\t\t},\n\t\t\t\t\tenableSaving: false,\n\t\t\t\t});\n\n\t\t\t\tcurrentField._schemeElement = null;\n\t\t\t\tsection.removeChild(currentField, {\n\t\t\t\t\tenableSaving: false,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.isRequesting = false;\n\t\t})\n\t\t\t.catch((response) => {\n\t\t\t\tthis.isRequesting = false;\n\t\t\t});\n\t}\n\t/* eslint-enable */\n\n\tgetFieldsForm(fields): Object\n\t{\n\t\tconst form = new FormData();\n\t\tconst formatted = {\n\t\t\tNAME: fields.label,\n\t\t\tMULTIPLE: fields.multiple ? 'Y' : 'N',\n\t\t\tIS_REQUIRED: fields.mandatory ? 'Y' : 'N',\n\t\t\tIS_PUBLIC: fields.isPublic ? 'Y' : 'N',\n\t\t\tPROPERTY_TYPE: 'S',\n\t\t\tCODE: fields.CODE || '',\n\t\t};\n\n\t\tswitch (fields.typeId)\n\t\t{\n\t\t\tcase 'integer':\n\t\t\tcase 'double':\n\t\t\t\tformatted.PROPERTY_TYPE = 'N';\n\t\t\t\tbreak;\n\t\t\tcase 'list':\n\t\t\tcase 'multilist':\n\t\t\t\tformatted.PROPERTY_TYPE = 'L';\n\t\t\t\t(fields.enumeration || []).forEach((enumItem, key) => {\n\t\t\t\t\tform.append(this.getFormFieldName(`VALUES][${key}][SORT`), enumItem.SORT);\n\t\t\t\t\tform.append(this.getFormFieldName(`VALUES][${key}][VALUE`), enumItem.VALUE);\n\t\t\t\t\tform.append(this.getFormFieldName(`VALUES][${key}][ID`), enumItem.ID);\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 'directory':\n\t\t\t\tformatted.USER_TYPE = 'directory';\n\t\t\t\t(fields.enumeration || []).forEach((enumItem, key) => {\n\t\t\t\t\tform.append(this.getFormFieldName(`VALUES][${key}][SORT`), enumItem.SORT);\n\t\t\t\t\tform.append(this.getFormFieldName(`VALUES][${key}][VALUE`), enumItem.VALUE.value);\n\t\t\t\t\tform.append(this.getFormFieldName(`VALUES][${key}][XML_ID`), enumItem.XML_ID);\n\t\t\t\t\tform.append(this.getFormFieldName(`VALUES][${key}][FILE_ID`), enumItem.FILE_ID);\n\t\t\t\t\tform.append(`FILES[${enumItem.SORT}]`, enumItem.VALUE.file);\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 'boolean':\n\t\t\t\tformatted.PROPERTY_TYPE = 'L';\n\t\t\t\tform.append(this.getFormFieldName('VALUES][0][VALUE'), 'Y');\n\t\t\t\tformatted.LIST_TYPE = 'C';\n\t\t\t\tbreak;\n\t\t\tcase 'money':\n\t\t\t\tformatted.USER_TYPE = 'Money';\n\t\t\t\tbreak;\n\t\t\tcase 'address':\n\t\t\t\tformatted.USER_TYPE = 'map_google';\n\t\t\t\tbreak;\n\t\t\tcase 'datetime':\n\t\t\tcase 'multidatetime':\n\t\t\t\tformatted.USER_TYPE = (fields.enableTime === true) ? 'DateTime' : 'Date';\n\t\t\t\tbreak;\n\t\t\tcase 'file':\n\t\t\t\tformatted.USER_TYPE = 'DiskFile';\n\t\t\t\tbreak;\n\t\t\tcase 'custom':\n\t\t\t\tformatted.USER_TYPE = fields.userType;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tfor (const [key, item] of Object.entries(formatted))\n\t\t{\n\t\t\tform.append(this.getFormFieldName(key), item);\n\t\t}\n\n\t\treturn form;\n\t}\n\n\tgetFormFieldName(name): string\n\t{\n\t\treturn `fields[${name}]`;\n\t}\n\n\tcreateProperty(property, sectionName, options = {}): any\n\t{\n\t\tconst sectionSchemeElement = this._editor.getSchemeElementByName(sectionName);\n\t\tif (!sectionSchemeElement)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst schemeElement = BX.UI.EntitySchemeElement.create(property);\n\t\tsectionSchemeElement._elements.push(schemeElement);\n\n\t\tconst mode = options.mode || BX.UI.EntityEditorMode.edit;\n\t\tconst control = this._editor.createControl(\n\t\t\tschemeElement.getType(),\n\t\t\tschemeElement.getName(),\n\t\t\t{\n\t\t\t\tschemeElement,\n\t\t\t\tmodel: this._model,\n\t\t\t\tparent: this,\n\t\t\t\tmode,\n\t\t\t},\n\t\t);\n\n\t\tif (!control)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst sectionControl = this._editor.getControlById(sectionName);\n\t\tsectionControl.addChild(control, {\n\t\t\t...options,\n\t\t\tenableSaving: false,\n\t\t});\n\n\t\treturn control;\n\t}\n}\n","import {type BaseEvent, EventEmitter} from 'main.core.events';\nimport {Dom, Reflection, Type} from 'main.core';\nimport GridStore from '../grid/grid-store';\n\nexport default class ProductServiceGridController extends BX.UI.EntityEditorController\n{\n\tareaHeight = null\n\tgridStore: GridStore;\n\n\tconstructor(id, settings)\n\t{\n\t\tsuper();\n\t\tthis.initialize(id, settings);\n\t}\n\n\tdoInitialize()\n\t{\n\t\tsuper.doInitialize();\n\n\t\tEventEmitter.subscribe('Grid::thereEditedRows', this.markAsChangedHandler.bind(this));\n\t\tEventEmitter.subscribe('Grid::noEditedRows', this.checkEditorToolbar.bind(this));\n\t\tEventEmitter.subscribe('Grid::updated', this.onGridUpdated.bind(this));\n\t\tEventEmitter.subscribe('Grid::beforeRequest', this.onBeforeGridRequest.bind(this));\n\n\t\tEventEmitter.subscribe('onAjaxSuccess', this.ajaxSuccessHandler.bind(this));\n\n\t\tEventEmitter.subscribe('BX.UI.EntityEditorIncludedArea:onBeforeLoad', this.onBeforeIncludedAreaLoaded.bind(this));\n\t\tEventEmitter.subscribe('BX.UI.EntityEditorIncludedArea:onAfterLoad', this.onAfterIncludedAreaLoaded.bind(this));\n\t\tEventEmitter.subscribe(\"BX.UI.EntityEditor:onNothingChanged\", this.onNothingChanged.bind(this));\n\n\t\tthis.subscribeToFormSubmit();\n\n\t\tthis.gridStore = new GridStore(this.getGridId());\n\t}\n\n\tonBeforeIncludedAreaLoaded(event: BaseEvent)\n\t{\n\t\tif (Type.isNumber(this.areaHeight))\n\t\t{\n\t\t\tDom.style(this.getProductServiceGridLoader(), 'height', this.areaHeight + 'px');\n\t\t}\n\t}\n\n\tonAfterIncludedAreaLoaded(event: BaseEvent)\n\t{\n\t\tDom.style(this.getProductServiceGridLoader(), 'height', '');\n\t\tthis.areaHeight = null;\n\t}\n\n\tonNothingChanged(event: BaseEvent)\n\t{\n\t\tthis.rollback();\n\t}\n\n\tgetProductServiceGridLoader()\n\t{\n\t\tconst control = this.getGridControl();\n\n\t\tif (control)\n\t\t{\n\t\t\tconst wrapper = control.getWrapper();\n\n\t\t\tif (wrapper)\n\t\t\t{\n\t\t\t\treturn wrapper.querySelector('.ui-entity-editor-included-area-container-loader');\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trollback()\n\t{\n\t\tsuper.rollback();\n\t\tthis.checkEditorToolbar();\n\t\tthis.unsubscribeGridEvents();\n\n\t\tBX.Main.gridManager.destroy(this.getGridId());\n\t}\n\n\tonAfterSave()\n\t{\n\t\tif (this.isChanged() || this._editor.isChanged())\n\t\t{\n\t\t\tthis.setGridControlCache(null);\n\t\t\tEventEmitter.emit(\n\t\t\t\t'onAfterProducServiceGridSave',\n\t\t\t\t{\n\t\t\t\t\tgridId: this.getGridId(),\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tBX.Main.gridManager.destroy(this.getGridId());\n\t\tthis.subscribeToFormSubmit();\n\t\tsuper.onAfterSave();\n\t}\n\n\tsetGridControlCache(html)\n\t{\n\t\tconst control = this.getGridControl();\n\n\t\tif (control)\n\t\t{\n\t\t\tcontrol._loadedHtml = html;\n\t\t}\n\t}\n\n\tonBeforeSubmit()\n\t{\n\t\tthis.unsubscribeGridEvents();\n\t}\n\n\t/**\n\t * @returns {BX.Catalog.ProductServiceGrid|null}\n\t */\n\tgetVariationGridComponent()\n\t{\n\t\treturn Reflection.getClass('BX.Catalog.ProductServiceGrid.Instance');\n\t}\n\n\tunsubscribeGridEvents()\n\t{\n\t\tconst gridComponent = this.getVariationGridComponent();\n\t\tif (gridComponent)\n\t\t{\n\t\t\tgridComponent.destroy();\n\t\t}\n\n\t\tconst popup = this.getGrid()?.getSettingsWindow()?.getPopup();\n\t\tif (popup)\n\t\t{\n\t\t\tEventEmitter.emit(this.getGrid().getSettingsWindow().getPopup(), 'onDestroy');\n\t\t}\n\n\t\tEventEmitter.unsubscribeAll('BX.Main.grid:paramsUpdated');\n\t}\n\n\tajaxSuccessHandler(event: BaseEvent)\n\t{\n\t\tconst [, xhrData] = event.getCompatData();\n\n\t\tif (xhrData.url.indexOf(this.getReloadUrl()) === 0)\n\t\t{\n\t\t\tthis.setGridControlCache(null);\n\t\t}\n\t}\n\n\t// ajax form initializes every \"save\" action\n\tsubscribeToFormSubmit()\n\t{\n\t\tEventEmitter.subscribe(this._editor._ajaxForm, 'onBeforeSubmit', this.onBeforeSubmitForm.bind(this));\n\t}\n\n\tmarkAsChangedHandler()\n\t{\n\t\tif (!this._editor.isNew())\n\t\t{\n\t\t\tthis.markAsChanged();\n\t\t}\n\t}\n\n\tcheckEditorToolbar()\n\t{\n\t\tthis._isChanged = false;\n\n\t\tif (this._editor.getActiveControlCount() > 0)\n\t\t{\n\t\t\tthis._editor.showToolPanel();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis._editor.hideToolPanel();\n\t\t}\n\n\t\tif (this._editor._toolPanel)\n\t\t{\n\t\t\tthis._editor._toolPanel.clearErrors();\n\t\t}\n\t}\n\n\tgetGridControl()\n\t{\n\t\treturn this._editor.getControlById('service_grid');\n\t}\n\n\tonGridUpdated(event: BaseEvent)\n\t{\n\t\tconst [grid] = event.getCompatData();\n\n\t\tthis.checkEditorToolbar();\n\n\t\tif (grid.getId() === this.getGrid().getId())\n\t\t{\n\t\t\tsetTimeout(\n\t\t\t\t() => {\n\t\t\t\t\tthis.gridStore.loadEditedRows();\n\t\t\t\t},\n\t\t\t\t0 // delay for re-render grid\n\t\t\t);\n\t\t}\n\t}\n\n\tonBeforeGridRequest(event: BaseEvent)\n\t{\n\t\tconst [grid, eventArgs] = event.getCompatData();\n\n\t\tif (!grid || !grid.parent || grid.parent.getId() !== this.getGridId())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.gridStore.saveEditedRows();\n\n\t\teventArgs.sessid = BX.bitrix_sessid();\n\t\teventArgs.method = 'POST';\n\t\teventArgs.url = this.getReloadUrl();\n\t\teventArgs.data = {\n\t\t\t...eventArgs.data,\n\t\t\trows: this.gridStore.getEditedRowsFields(),\n\t\t\tsignedParameters: this.getSignedParameters()\n\t\t};\n\n\t\tthis.unsubscribeGridEvents();\n\t}\n\n\tgetReloadUrl()\n\t{\n\t\treturn this.getConfigStringParam('reloadUrl', '');\n\t}\n\n\tgetSignedParameters()\n\t{\n\t\treturn this.getConfigStringParam('signedParameters', '');\n\t}\n\n\tgetGridId()\n\t{\n\t\treturn this.getConfigStringParam('gridId', '');\n\t}\n\n\tgetGrid()\n\t{\n\t\tif (!Reflection.getClass('BX.Main.gridManager.getInstanceById'))\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\treturn BX.Main.gridManager.getInstanceById(this.getGridId());\n\t}\n\n\tonBeforeSubmitForm(event: BaseEvent)\n\t{\n\t\tconst [, eventArgs] = event.getCompatData();\n\t\tconst grid = this.getGrid();\n\n\t\tif (!grid)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst skuGridName = this.getGridId();\n\t\tconst skuGridData = grid.getRows().getEditSelectedValues();\n\t\tconst copyItemsMap = grid.getParam('COPY_ITEMS_MAP', {});\n\n\t\t// replace sku custom properties edit data names with original names\n\t\tfor (let id in skuGridData)\n\t\t{\n\t\t\tif (!skuGridData.hasOwnProperty(id))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tfor (let name in skuGridData[id])\n\t\t\t{\n\t\t\t\tif (!skuGridData[id].hasOwnProperty(name))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (name.includes('SKU_GRID_CATALOG_GROUP')\n\t\t\t\t\t|| name.includes('SKU_GRID_PURCHASING')\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tfor (let priceField in skuGridData[id][name])\n\t\t\t\t\t{\n\t\t\t\t\t\tif (skuGridData[id][name].hasOwnProperty(priceField))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tskuGridData[id][priceField] = skuGridData[id][name][priceField];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (name.includes('[EDIT_HTML]'))\n\t\t\t\t{\n\t\t\t\t\tlet newName = name.replace('[EDIT_HTML]', '');\n\n\t\t\t\t\t// lookup for a custom file fields\n\t\t\t\t\tif (newName.endsWith('_custom'))\n\t\t\t\t\t{\n\t\t\t\t\t\tif ('bxu_files[]' in skuGridData[id][name])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tskuGridData[id][name].isFile = true;\n\t\t\t\t\t\t\tdelete skuGridData[id][name]['bxu_files[]'];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (skuGridData[id][name].isFile)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfor (let fieldName in skuGridData[id][name])\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (skuGridData[id][name].hasOwnProperty(fieldName))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// check for new files like \"MORE_PHOTO_n1[name]\"(multiple) or \"DETAIL_PICTURE[name]\"(single)\n\t\t\t\t\t\t\t\t\tlet newFilesRegExp = new RegExp(/([0-9A-Za-z_]+?(_n\\d+)*)\\[([A-Za-z_]+)\\]/);\n\n\t\t\t\t\t\t\t\t\tif (newFilesRegExp.test(fieldName))\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlet fileCounter, fileSetting;\n\n\t\t\t\t\t\t\t\t\t\t[, fileCounter, , fileSetting] = fieldName.match(newFilesRegExp);\n\n\t\t\t\t\t\t\t\t\t\tif (fileCounter && fileSetting)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tskuGridData[id][name][fileCounter] = skuGridData[id][name][fileCounter] || {};\n\t\t\t\t\t\t\t\t\t\t\tskuGridData[id][name][fileCounter][fileSetting] = skuGridData[id][name][fieldName];\n\t\t\t\t\t\t\t\t\t\t\tdelete skuGridData[id][name][fieldName];\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tskuGridData[id][newName] = skuGridData[id][name];\n\t\t\t\t\tdelete skuGridData[id][name];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!Type.isNil(copyItemsMap[id]))\n\t\t\t{\n\t\t\t\tskuGridData[id]['COPY_SKU_ID'] = copyItemsMap[id];\n\t\t\t}\n\t\t}\n\n\t\tif (!Type.isPlainObject(eventArgs.options))\n\t\t{\n\t\t\teventArgs.options = {};\n\t\t}\n\n\t\tif (!Type.isPlainObject(eventArgs.options.data))\n\t\t{\n\t\t\teventArgs.options.data = {};\n\t\t}\n\n\t\teventArgs.options.data[skuGridName] = skuGridData;\n\n\t\tthis.areaHeight = this.getGridControl().getWrapper().offsetHeight;\n\t}\n}\n","import IblockSectionController from './iblock-section/controller';\nimport {type BaseEvent, EventEmitter} from 'main.core.events'\nimport VariationGridController from './variation-grid/controller';\nimport VariationLinkController from './variation-link/controller';\nimport GoogleMapController from './google-map/controller';\nimport EmployeeController from './employee/controller';\nimport UserController from './user/controller';\nimport IblockElementController from './iblock-element/controller';\nimport BindingToCrmElementController from './binding-to-crm-element/controller';\nimport FieldConfiguratorController from './field-configurator/controller';\nimport ProductServiceGridController from \"./product-service-grid/controller\"\n\nexport default class ControllersFactory\n{\n\tconstructor()\n\t{\n\t\tEventEmitter.subscribe('BX.UI.EntityEditorControllerFactory:onInitialize', (event: BaseEvent) => {\n\t\t\tconst [, eventArgs] = event.getCompatData();\n\t\t\teventArgs.methods['entityCard'] = this.factory.bind(this);\n\t\t});\n\t}\n\n\tfactory(type, controlId, settings)\n\t{\n\t\tif (type === 'field_configurator')\n\t\t{\n\t\t\treturn new FieldConfiguratorController(controlId, settings);\n\t\t}\n\n\t\tif (type === 'iblock_section')\n\t\t{\n\t\t\treturn new IblockSectionController(controlId, settings);\n\t\t}\n\n\t\tif (type === 'iblock_element')\n\t\t{\n\t\t\treturn new IblockElementController(controlId, settings);\n\t\t}\n\n\t\tif (type === 'variation_grid')\n\t\t{\n\t\t\treturn new VariationGridController(controlId, settings);\n\t\t}\n\n\t\tif (type === 'variation_link')\n\t\t{\n\t\t\treturn new VariationLinkController(controlId, settings);\n\t\t}\n\n\t\tif (type === 'google_map')\n\t\t{\n\t\t\treturn new GoogleMapController(controlId, settings);\n\t\t}\n\n\t\tif (type === 'employee')\n\t\t{\n\t\t\treturn new EmployeeController(controlId, settings);\n\t\t}\n\n\t\tif (type === 'user')\n\t\t{\n\t\t\treturn new UserController(controlId, settings);\n\t\t}\n\n\t\tif (type === 'binding_to_crm_element')\n\t\t{\n\t\t\treturn new BindingToCrmElementController(controlId, settings);\n\t\t}\n\n\t\tif (type === 'service_grid')\n\t\t{\n\t\t\treturn new ProductServiceGridController(controlId, settings);\n\t\t}\n\n\t\treturn null;\n\t}\n}","import {Event, Tag, Text} from \"main.core\";\n\nexport default class IblockDirectoryFieldItem extends BX.UI.EntityEditorUserFieldListItem\n{\n\tfileChanged = false;\n\n\tstatic create(id, settings)\n\t{\n\t\tconst self = new this;\n\t\tself.initialize(id, settings);\n\t\treturn self;\n\t}\n\n\tlayout()\n\t{\n\t\tif (this._hasLayout)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis._wrapper = Tag.render`\n\t\t\t\t<div class=\"ui-ctl ui-ctl-textbox ui-ctl-w100 ui-ctl-row\"></div>\n\t\t\t`;\n\n\t\tthis._fileInput = Tag.render`\n\t\t\t\t<input class=\"input-image-hidden\" value=\"${BX.prop.getString(this._data, 'FILE_ID', '')}\" type=\"file\" accept=\"image/*\">\n\t\t\t`;\n\t\tEvent.bind(this._fileInput, 'change', this.onFileLoaderChange.bind(this));\n\t\tconst link = BX.prop.getString(this._data, 'IMAGE_SRC', '');\n\t\tthis._wrapper.appendChild(\n\t\t\tTag.render`\n\t\t\t<label class=\"catalog-dictionary-item ${link === '' ? 'catalog-dictionary-item-empty' : ''}\">\n\t\t\t\t<img src=\"${link}\" alt=\"\">\n\t\t\t\t${this._fileInput}\n\t\t\t</label>\n\t\t\t`\n\t\t);\n\n\t\tconst labelText = Text.encode(BX.prop.getString(this._data, 'TEXT', ''));\n\t\tthis._labelInput = Tag.render`\n\t\t\t\t<input \n\t\t\t\t\tclass=\"ui-ctl-element\" \n\t\t\t\t\tvalue=\"${labelText}\"\n\t\t\t\t\tplaceholder=\"${BX.message('CATALOG_ENTITY_CARD_NEW_FIELD_ITEM_PLACEHOLDER')}\"\n\t\t\t\t>\n\t\t\t`;\n\t\tthis._wrapper.appendChild(this._labelInput);\n\n\t\tconst deleteButton = Tag.render`\n\t\t\t\t<div class=\"ui-entity-editor-content-remove-block\"></div>\n\t\t\t`;\n\n\t\tEvent.bind(deleteButton, 'click', this.onDeleteButtonClick.bind(this));\n\t\tthis._wrapper.appendChild(deleteButton);\n\n\t\tvar anchor = BX.prop.getElementNode(this._settings, 'anchor');\n\t\tif (anchor)\n\t\t{\n\t\t\tthis._container.insertBefore(this._wrapper, anchor);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis._container.appendChild(this._wrapper);\n\t\t}\n\n\t\tthis._hasLayout = true;\n\t}\n\n\tonFileLoaderChange(event)\n\t{\n\t\tconst input = event.target;\n\t\tif (input.files && input.files[0])\n\t\t{\n\t\t\tconst reader = new FileReader();\n\t\t\treader.onload = function(e) {\n\t\t\t\tinput.parentNode.querySelector('img').src = e.target.result;\n\t\t\t};\n\n\t\t\tthis.fileChanged = true;\n\t\t\treader.readAsDataURL(input.files[0]);\n\t\t\tinput.parentNode.classList.remove('catalog-dictionary-item-empty');\n\t\t}\n\t}\n\n\tisFileChanged()\n\t{\n\t\treturn this.fileChanged;\n\t}\n\n\tprepareData()\n\t{\n\t\tconst textValue = this._labelInput ? BX.util.trim(this._labelInput.value) : '';\n\t\tconst fileValue = (this._fileInput && this._fileInput.files && this._fileInput.files[0]) ? this._fileInput.files[0] : {};\n\n\t\tconst data = {\n\t\t\t'VALUE': {\n\t\t\t\tvalue: textValue,\n\t\t\t\tfile: fileValue\n\t\t\t},\n\t\t\t'XML_ID': '',\n\t\t\t'FILE_ID': ''\n\t\t};\n\t\tconst xmlId = BX.prop.getString(this._data, 'ID', '');\n\t\tif (BX.type.isNotEmptyString(xmlId))\n\t\t{\n\t\t\tdata['XML_ID'] = xmlId;\n\t\t\tdata['FILE_ID'] = BX.prop.getString(this._data, 'FILE_ID', '');\n\t\t}\n\n\t\treturn data;\n\t}\n}","import {Dom, Event, Reflection, Tag, Text, Type, Loc} from \"main.core\";\nimport IblockDirectoryFieldItem from \"./iblock-directory-field-item\";\n\nexport default class IblockFieldConfigurator extends BX.UI.EntityEditorFieldConfigurator\n{\n\tstatic create(id, settings)\n\t{\n\t\tconst self = new this;\n\t\tself.initialize(id, settings);\n\t\treturn self;\n\t}\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis._enumItems = [];\n\t}\n\tlayoutInternal()\n\t{\n\t\tDom.append(this.getInputContainer(), this._wrapper);\n\t\tif(this._typeId === \"list\" || this._typeId === \"multilist\" || this._typeId === \"directory\")\n\t\t{\n\t\t\tDom.append(Tag.render`<hr class=\"ui-entity-editor-line\">`, this._wrapper);\n\t\t\tif (BX.prop.get(this._field?.getSchemeElement().getData(), 'isConfigurable', null) !== false)\n\t\t\t{\n\t\t\t\tDom.append(this.getEnumerationContainer(), this._wrapper);\n\t\t\t}\n\t\t}\n\n\t\tDom.append(this.getOptionContainer(), this._wrapper);\n\t\tDom.append(this.getErrorContainer(), this._wrapper);\n\t\tDom.append(Tag.render`<hr class=\"ui-entity-editor-line\">`, this._wrapper);\n\t\tDom.append(this.getButtonContainer(), this._wrapper);\n\t}\n\tgetOptionContainer()\n\t{\n\t\tconst isNew = (this._field === null);\n\t\tthis._optionWrapper = Tag.render`\n\t\t\t<div class=\"ui-entity-editor-content-block\"></div>\n\t\t`;\n\n\t\tif (this._typeId === \"datetime\" || this._typeId === \"multidatetime\")\n\t\t{\n\t\t\tthis._isTimeEnabledCheckBox = this.getIsTimeEnabledCheckBox();\n\t\t}\n\n\t\tif (this._typeId !== \"boolean\" && this._enableMandatoryControl)\n\t\t{\n\t\t\tthis._isRequiredCheckBox = this.getIsRequiredCheckBox();\n\t\t}\n\n\t\tif (this.isAllowedMultipleCheckBox())\n\t\t{\n\t\t\tthis._isMultipleCheckBox = this.getMultipleCheckBox();\n\t\t}\n\n\t\tthis._isPublic = this.getIsPublicCheckBox();\n\n\t\t//region Show Always\n\t\tthis._showAlwaysCheckBox = this.createOption({\n\t\t\tcaption: Loc.getMessage('UI_ENTITY_EDITOR_SHOW_ALWAYS'),\n\t\t\thelpUrl: 'https://helpdesk.bitrix24.ru/open/7046149/',\n\t\t\thelpCode: '9627471'\n\t\t});\n\t\tthis._showAlwaysCheckBox.checked = (\n\t\t\tisNew\n\t\t\t\t? BX.prop.getBoolean(this._settings, 'showAlways', true)\n\t\t\t\t: this._field.checkOptionFlag(BX.UI.EntityEditorControlOptions.showAlways)\n\t\t);\n\n\t\tif (!this.isAllowedShowAlwaysCheckBox())\n\t\t{\n\t\t\tDom.style(this._showAlwaysCheckBox.closest('div.ui-ctl-checkbox'), 'display', 'none');\n\t\t}\n\t\t//endregion\n\n\t\treturn this._optionWrapper;\n\t}\n\n\tisAllowedMultipleCheckBox()\n\t{\n\t\tif (BX.prop.get(this?._field?.getSchemeElement()?._settings, 'allowedMultiple', true) === false)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (this._typeId === 'boolean')\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tconst isEnabledOfferTree = this?._field?.getSchemeElement()?._settings?.isEnabledOfferTree;\n\t\tconst isMultiple = this?._field?.getSchemeElement()?._settings?.multiple;\n\n\t\treturn !isEnabledOfferTree || isMultiple;\n\t}\n\n\tisAllowedShowAlwaysCheckBox()\n\t{\n\t\treturn true;\n\t}\n\n\tgetInputTitle()\n\t{\n\t\tconst manager = this._editor.getUserFieldManager();\n\t\treturn this._field ? this._field.getTitle() : manager.getDefaultFieldLabel(this._typeId);\n\t}\n\tgetErrorContainer()\n\t{\n\t\tthis._errorContainer = Tag.render`\n\t\t\t<div class=\"ui-entity-editor-content-block\"></div>\n\t\t`;\n\t\treturn this._errorContainer;\n\t}\n\n\tgetEnumerationContainer()\n\t{\n\t\tconst enumWrapper = Tag.render`\n\t\t\t<div class=\"ui-entity-editor-content-block\">\n\t\t\t\t<div class=\"ui-entity-editor-block-title\">\n\t\t\t\t\t<span class=\"ui-entity-editor-block-title-text\">${Loc.getMessage(\"UI_ENTITY_EDITOR_UF_ENUM_ITEMS\")}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tthis._enumItemContainer = Tag.render`\n\t\t\t\t<div class=\"ui-entity-editor-content-block\"></div>\n\t\t\t`;\n\t\tDom.append(this._enumItemContainer, enumWrapper);\n\n\t\tconst addButton = Tag.render`\n\t\t\t\t<div class=\"ui-entity-card-content-add-field\">\n\t\t\t\t\t${Loc.getMessage(\"UI_ENTITY_EDITOR_ADD\")}\n\t\t\t\t</div>\n\t\t\t`;\n\t\tEvent.bind(addButton, \"click\", this.onEnumerationItemAddButtonClick.bind(this));\n\n\t\tDom.append(\n\t\t\tTag.render`\n\t\t\t\t<div class=\"ui-entity-editor-content-block-add-field\">\n\t\t\t\t\t${addButton}\n\t\t\t\t</div>\n\t\t\t`,\n\t\t\tenumWrapper\n\t\t);\n\n\t\tif (this._field)\n\t\t{\n\t\t\tthis._field.getItems().forEach(enumFields => {\n\t\t\t\tif (enumFields.VALUE !== '')\n\t\t\t\t{\n\t\t\t\t\tthis.createEnumerationItem({\n\t\t\t\t\t\tVALUE: enumFields.NAME,\n\t\t\t\t\t\tFILE_ID: enumFields.IMAGE || null,\n\t\t\t\t\t\tIMAGE_SRC: enumFields.IMAGE_SRC || '',\n\t\t\t\t\t\tTEXT: enumFields.TEXT || '',\n\t\t\t\t\t\tID: enumFields.VALUE\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tconst lastItem = this.createEnumerationItem();\n\n\t\tthis._draggable = new BX.UI.DragAndDrop.Draggable({\n\t\t\tcontainer: this._enumItemContainer,\n\t\t\tdraggable: '.ui-ctl-row',\n\t\t\tdragElement: '.ui-ctl-row-draggable',\n\t\t\ttype: BX.UI.DragAndDrop.Draggable.CLONE\n\t\t});\n\n\t\tlastItem.focus();\n\t\tthis.initItemClickHandlers();\n\t\treturn enumWrapper;\n\t}\n\n\tonEnumerationItemAddButtonClick()\n\t{\n\t\tthis.unbindItemClickHandlers();\n\t\tthis.createEnumerationItem().focus();\n\t\tthis.bindLastItemClickHandler();\n\t}\n\n\tonEnumerationItemClick()\n\t{\n\t\tthis.unbindItemClickHandlers();\n\t\tthis.createEnumerationItem();\n\t\tthis.bindLastItemClickHandler();\n\t}\n\n\tinitItemClickHandlers()\n\t{\n\t\tthis.unbindItemClickHandlers();\n\t\tthis.bindLastItemClickHandler();\n\t}\n\n\tunbindItemClickHandlers()\n\t{\n\t\tthis._enumItems.forEach(item => Event.unbindAll(item._labelInput, 'click'));\n\t}\n\n\tbindLastItemClickHandler()\n\t{\n\t\tconst lastItem = this._enumItems[this._enumItems.length - 1];\n\t\tif (lastItem)\n\t\t{\n\t\t\tEvent.bindOnce(lastItem._labelInput, 'click', this.onEnumerationItemClick.bind(this));\n\t\t}\n\t}\n\n\tcreateEnumerationItem(data)\n\t{\n\t\tlet item = null;\n\t\tif (this._typeId === 'directory')\n\t\t{\n\t\t\titem = IblockDirectoryFieldItem.create(\n\t\t\t\t\"\",\n\t\t\t\t{\n\t\t\t\t\tconfigurator: this,\n\t\t\t\t\tcontainer: this._enumItemContainer,\n\t\t\t\t\tdata: data\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\telse\n\t\t{\n\t\t\titem = BX.UI.EntityEditorUserFieldListItem.create(\n\t\t\t\t\"\",\n\t\t\t\t{\n\t\t\t\t\tconfigurator: this,\n\t\t\t\t\tcontainer: this._enumItemContainer,\n\t\t\t\t\tdata: data\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tthis._enumItems.push(item);\n\t\titem.layout();\n\t\treturn item;\n\t}\n\n\tremoveEnumerationItem(item)\n\t{\n\t\tfor (let i = 0, length = this._enumItems.length; i < length; i++)\n\t\t{\n\t\t\tif (this._enumItems[i] === item)\n\t\t\t{\n\t\t\t\tthis._enumItems[i].clearLayout();\n\t\t\t\tthis._enumItems.splice(i, 1);\n\t\t\t\tthis.initItemClickHandlers();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprepareSaveParams(e)\n\t{\n\t\tconst params = super.prepareSaveParams(this, arguments);\n\t\tif (this._typeId === 'list' || this._typeId === 'multilist')\n\t\t{\n\t\t\tparams['enumeration'] = [];\n\t\t\tconst hashes = [];\n\t\t\tthis._enumItems.forEach(enumItem => {\n\t\t\t\tif (!(enumItem instanceof BX.UI.EntityEditorUserFieldListItem))\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst enumData = enumItem.prepareData();\n\t\t\t\tif (!enumData)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst hash = BX.util.hashCode(enumData['VALUE']);\n\t\t\t\tif (BX.util.in_array(hash, hashes))\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\thashes.push(hash);\n\n\t\t\t\tif (Type.isNil(enumData['ID']))\n\t\t\t\t{\n\t\t\t\t\tenumData['ID'] = Text.getRandom();\n\t\t\t\t}\n\n\t\t\t\tlet sortIndex = -1;\n\t\t\t\tif (this._draggable)\n\t\t\t\t{\n\t\t\t\t\tsortIndex = this._draggable.getElementIndex(enumItem.getDraggableContainer());\n\t\t\t\t}\n\n\t\t\t\tsortIndex = (sortIndex >= 0) ? sortIndex : params['enumeration'].length;\n\t\t\t\tenumData[\"SORT\"] = (Text.toNumber(sortIndex) + 1) * 100;\n\t\t\t\tparams['enumeration'].push(enumData);\n\t\t\t});\n\t\t}\n\t\tif (this._typeId === 'directory')\n\t\t{\n\t\t\tparams['enumeration'] = [];\n\t\t\tthis._enumItems.forEach(enumItem => {\n\t\t\t\tif (!(enumItem instanceof IblockDirectoryFieldItem))\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst enumData = enumItem.prepareData();\n\t\t\t\tif (!enumData)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tenumData['SORT'] = (params['enumeration'].length + 1) * 100;\n\t\t\t\tparams['enumeration'].push(enumData);\n\t\t\t});\n\t\t}\n\t\telse if (this._typeId === 'datetime' || this._typeId === 'multidatetime')\n\t\t{\n\t\t\tparams['enableTime'] = this._isTimeEnabledCheckBox.checked;\n\t\t}\n\n\t\tif (this._field)\n\t\t{\n\t\t\tif (this._isMultipleCheckBox)\n\t\t\t{\n\t\t\t\tparams[\"multiple\"] = this._isMultipleCheckBox.checked;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(this._typeId === \"boolean\")\n\t\t\t{\n\t\t\t\tparams[\"multiple\"] = false;\n\t\t\t}\n\t\t\telse if(this._isMultipleCheckBox)\n\t\t\t{\n\t\t\t\tparams[\"multiple\"] = this._isMultipleCheckBox.checked;\n\t\t\t}\n\t\t}\n\n\t\tif (this._isPublic)\n\t\t{\n\t\t\tparams[\"isPublic\"] = this._isPublic.checked;\n\t\t}\n\n\t\tif (this._typeId === 'custom')\n\t\t{\n\t\t\tparams['userType'] = this._field?.getSchemeElement()?._settings?.settings['USER_TYPE'];\n\t\t}\n\n\t\treturn params;\n\t}\n\n\tgetMultipleCheckBox()\n\t{\n\t\tconst checkBox = this.createOption({caption: BX.message(\"UI_ENTITY_EDITOR_UF_MULTIPLE_FIELD\")});\n\t\tif (\n\t\t\tthis._field instanceof BX.UI.EntityEditorMultiText\n\t\t\t|| this._field instanceof BX.UI.EntityEditorMultiNumber\n\t\t\t|| this._field instanceof BX.UI.EntityEditorMultiList\n\t\t\t|| this._field instanceof BX.UI.EntityEditorMultiDatetime\n\t\t\t|| this._field instanceof BX.UI.EntityEditorMultiMoney\n\t\t\t|| (this._field instanceof BX.UI.EntityEditorCustom && this._field.getSchemeElement()._settings.multiple)\n\t\t)\n\t\t{\n\t\t\tcheckBox.checked = true;\n\t\t}\n\n\t\treturn checkBox;\n\t}\n\n\tonSaveButtonClick()\n\t{\n\t\tif(this._isLocked)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif(this._mandatoryConfigurator)\n\t\t{\n\t\t\tif(this._mandatoryConfigurator.isChanged())\n\t\t\t{\n\t\t\t\tthis._mandatoryConfigurator.acceptChanges();\n\t\t\t}\n\t\t\tthis._mandatoryConfigurator.close();\n\t\t}\n\n\t\tconst params = this.prepareSaveParams();\n\n\t\tif (this._field instanceof BX.UI.EntityEditorCustom)\n\t\t{\n\t\t\tthis._field.getSchemeElement().mergeSettings({multiple: params.multiple});\n\n\t\t\tconst modes = ['edit', 'view'];\n\t\t\tfor (let i = 0; i < modes.length; i++)\n\t\t\t{\n\t\t\t\tconst htmlListName = BX.prop.getString(this._field.getSchemeElement().getData(), modes[i] + 'List', null);\n\t\t\t\tconst htmlList = BX.prop.getObject(this._field.getModel().getData(), htmlListName, null);\n\n\t\t\t\tif (htmlList !== null)\n\t\t\t\t{\n\t\t\t\t\tconst newHtml = params.multiple ? htmlList.MULTIPLE : htmlList.SINGLE;\n\t\t\t\t\tconst htmlName = BX.prop.getString(this._field.getSchemeElement().getData(), modes[i], null);\n\n\t\t\t\t\tif (BX.prop.getString(this._field.getModel().getData(), htmlName, null) !== null)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis._field.getModel().setField(htmlName, newHtml);\n\t\t\t\t\t\tthis._field.getModel().setInitFieldValue(htmlName, newHtml);\n\t\t\t\t\t\tif (modes[i] === 'view')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (newHtml === '')\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tDom.clean(this._field.getContentWrapper());\n\t\t\t\t\t\t\t\tDom.append(\n\t\t\t\t\t\t\t\t\tTag.render`\n\t\t\t\t\t\t\t\t\t\t<div class=\"ui-entity-editor-content-block-text\">\n\t\t\t\t\t\t\t\t\t\t\t${Loc.getMessage(\"UI_ENTITY_EDITOR_FIELD_EMPTY\")}\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\tthis._field.getContentWrapper()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthis._field.getContentWrapper().innerHTML = newHtml;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._field?.getSchemeElement()?.setDataParam('isPublic', params['isPublic']);\n\n\t\tBX.onCustomEvent(this, \"onSave\", [ this, params]);\n\t}\n\n\tgetIsRequiredCheckBox()\n\t{\n\t\tlet checkBox;\n\t\tif (this._mandatoryConfigurator)\n\t\t{\n\t\t\tcheckBox = this.createOption(\n\t\t\t\t{\n\t\t\t\t\tcaption: this._mandatoryConfigurator.getTitle() + \":\",\n\t\t\t\t\tlabelSettings: {props: {className: \"ui-entity-new-field-addiction-label\"}},\n\t\t\t\t\tcontainerSettings: {style: {alignItems: \"center\"}},\n\t\t\t\t\telements: this._mandatoryConfigurator.getButton().prepareLayout()\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tcheckBox.checked = (this._field && this._field.isRequired())\n\t\t\t\t|| this._mandatoryConfigurator.isCustomized();\n\n\t\t\tthis._mandatoryConfigurator.setSwitchCheckBox(checkBox);\n\t\t\tthis._mandatoryConfigurator.setLabel(checkBox.nextSibling);\n\n\t\t\tthis._mandatoryConfigurator.setEnabled(checkBox.checked);\n\t\t\tthis._mandatoryConfigurator.adjust();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tcheckBox = this.createOption({caption: Loc.getMessage(\"UI_ENTITY_EDITOR_UF_REQUIRED_FIELD\")});\n\t\t\tcheckBox.checked = this._field && this._field.isRequired();\n\t\t}\n\t\treturn checkBox;\n\t}\n\n\tgetIsTimeEnabledCheckBox()\n\t{\n\t\tconst checkBox = this.createOption({caption:  Loc.getMessage(\"UI_ENTITY_EDITOR_UF_ENABLE_TIME\")});\n\t\tcheckBox.checked = this._field && this._field.isTimeEnabled();\n\t\treturn checkBox;\n\t}\n\n\tgetIsPublicCheckBox()\n\t{\n\t\tconst checkBox = this.createOption({caption: Loc.getMessage(\"CATALOG_ENTITY_EDITOR_IS_PUBLIC_PROPERTY\")});\n\t\tif (!this._field)\n\t\t{\n\t\t\tcheckBox.checked = true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tcheckBox.checked = this._field.getSchemeElement() && BX.prop.get(this._field.getSchemeElement().getData(), \"isPublic\", true);\n\t\t}\n\t\treturn checkBox;\n\t}\n}\n\nReflection.namespace('BX.Catalog').IblockFieldConfigurator = IblockFieldConfigurator;","import IblockFieldConfigurator from './iblock-field-configurator'\n\nexport default class IblockFieldConfigurationManager extends BX.UI.EntityConfigurationManager\n{\n\tcreateFieldConfigurator(params, parent)\n\t{\n\t\tif (!BX.type.isPlainObject(params))\n\t\t{\n\t\t\tthrow \"IblockFieldConfigurationManager: The 'params' argument must be object.\";\n\t\t}\n\n\t\treturn this.getSimpleFieldConfigurator(params, parent);\n\t}\n\n\tgetSimpleFieldConfigurator(params, parent)\n\t{\n\t\tlet typeId = \"\";\n\t\tconst field = BX.prop.get(params, 'field', null);\n\t\tif (field)\n\t\t{\n\t\t\ttypeId = field.getType();\n\t\t\tfield.setVisible(false);\n\n\t\t\tif (!BX.prop.get(field.getSchemeElement().getData(), \"isProductProperty\", false))\n\t\t\t{\n\t\t\t\treturn this._fieldConfigurator = BX.UI.EntityEditorFieldConfigurator.create(\n\t\t\t\t\t\"\",\n\t\t\t\t\t{\n\t\t\t\t\t\teditor: this._editor,\n\t\t\t\t\t\tschemeElement: null,\n\t\t\t\t\t\tmodel: parent._model,\n\t\t\t\t\t\tmode: BX.UI.EntityEditorMode.edit,\n\t\t\t\t\t\tparent: parent,\n\t\t\t\t\t\ttypeId: typeId,\n\t\t\t\t\t\tfield: field,\n\t\t\t\t\t\tmandatoryConfigurator: null\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t\telse if (BX.prop.get(field.getSchemeElement().getData(), \"userType\", false))\n\t\t\t{\n\t\t\t\ttypeId = BX.prop.getString(field.getSchemeElement().getData(), \"userType\")\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttypeId = BX.prop.get(params, 'typeId', BX.UI.EntityUserFieldType.string);\n\t\t}\n\n\t\tthis._fieldConfigurator = IblockFieldConfigurator.create(\n\t\t\t'',\n\t\t\t{\n\t\t\t\teditor: this._editor,\n\t\t\t\tschemeElement: null,\n\t\t\t\tmodel: parent._model,\n\t\t\t\tmode: BX.UI.EntityEditorMode.edit,\n\t\t\t\tparent: parent,\n\t\t\t\ttypeId: typeId,\n\t\t\t\tfield: field,\n\t\t\t\tmandatoryConfigurator: null\n\t\t\t}\n\t\t);\n\n\t\treturn this._fieldConfigurator;\n\t}\n\n\tisCreationEnabled()\n\t{\n\t\treturn this._editor?.isSectionEditEnabled() && !this._editor?.isReadOnly();\n\t}\n\n\tgetCreationPageUrl(typeId)\n\t{\n\t\treturn this.creationPageUrl;\n\t}\n\n\topenCreationPageUrl(typeId)\n\t{\n\t\tBX.SidePanel.Instance.open(this.getCreationPageUrl(typeId), {\n\t\t\twidth: 900, // corresponds to the slider settings on `iblock/install/components/bitrix/iblock.property.grid/templates/.default/script.es6.js`\n\t\t\tallowChangeHistory: false,\n\t\t\tcacheable: false\n\t\t});\n\t}\n\n\tsetCreationPageUrl(url)\n\t{\n\t\treturn this.creationPageUrl = url;\n\t}\n\n\tgetTypeInfos()\n\t{\n\t\tvar items = [];\n\t\titems.push({\n\t\t\tname: \"string\",\n\t\t\ttitle: BX.message(\"UI_ENTITY_EDITOR_UF_STRING_TITLE\"),\n\t\t\tlegend: BX.message(\"UI_ENTITY_EDITOR_UF_STRING_LEGEND\")\n\t\t});\n\t\titems.push({\n\t\t\tname: \"list\",\n\t\t\ttitle: BX.message(\"UI_ENTITY_EDITOR_UF_ENUM_TITLE\"),\n\t\t\tlegend: BX.message(\"UI_ENTITY_EDITOR_UF_ENUM_LEGEND\")\n\t\t});\n\t\titems.push({\n\t\t\tname: \"datetime\",\n\t\t\ttitle: BX.message(\"UI_ENTITY_EDITOR_UF_DATETIME_TITLE\"),\n\t\t\tlegend: BX.message(\"UI_ENTITY_EDITOR_UF_DATETIME_LEGEND\")\n\t\t});\n\t\titems.push({\n\t\t\tname: \"address\",\n\t\t\ttitle: BX.message(\"UI_ENTITY_EDITOR_UF_ADDRESS_TITLE\"),\n\t\t\tlegend: BX.message(\"UI_ENTITY_EDITOR_UF_ADDRESS_LEGEND\")\n\t\t});\n\n\t\titems.push({\n\t\t\tname: \"money\",\n\t\t\ttitle: BX.message(\"UI_ENTITY_EDITOR_UF_MONEY_TITLE\"),\n\t\t\tlegend: BX.message(\"UI_ENTITY_EDITOR_UF_MONEY_LEGEND\")\n\t\t});\n\t\titems.push({\n\t\t\tname: \"boolean\",\n\t\t\ttitle: BX.message(\"UI_ENTITY_EDITOR_BOOLEAN_TITLE\"),\n\t\t\tlegend: BX.message(\"UI_ENTITY_EDITOR_UF_BOOLEAN_LEGEND\")\n\t\t});\n\t\titems.push({\n\t\t\tname: \"double\",\n\t\t\ttitle: BX.message(\"UI_ENTITY_EDITOR_UF_DOUBLE_TITLE\"),\n\t\t\tlegend: BX.message(\"UI_ENTITY_EDITOR_UF_DOUBLE_LEGEND\")\n\t\t});\n\t\titems.push({\n\t\t\tname: \"directory\",\n\t\t\ttitle: BX.message(\"CATALOG_ENTITY_CARD_DICTIONARY_TITLE\"),\n\t\t\tlegend: BX.message(\"CATALOG_ENTITY_CARD_DICTIONARY_LEGEND\")\n\t\t});\n\n\t\titems.push({\n\t\t\tname: \"custom\",\n\t\t\ttitle: BX.message(\"UI_ENTITY_EDITOR_UF_CUSTOM_TITLE\"),\n\t\t\tlegend: BX.message(\"UI_ENTITY_EDITOR_UF_CUSTOM_LEGEND\")\n\t\t});\n\n\t\treturn items;\n\t}\n\n\tstatic create(id, settings)\n\t{\n\t\tconst self = new this;\n\t\tself.initialize(id, settings);\n\t\treturn self;\n\t}\n}\n","import {Dom, Event, Tag} from \"main.core\";\n\nexport default class GridFieldConfigurator extends BX.UI.EntityEditorFieldConfigurator\n{\n\tstatic create(id, settings)\n\t{\n\t\tconst self = new this;\n\t\tself.initialize(id, settings);\n\t\treturn self;\n\t}\n\n\t// ToDo remove unused methods\n\tappendEnumerationSettings()\n\t{\n\t\tif (this._typeId === \"list\" || this._typeId === \"multilist\")\n\t\t{\n\t\t\tDom.append(Tag.render`<hr class=\"ui-entity-editor-line\">`, this._wrapper);\n\n\t\t\tconst enumWrapper = Tag.render`\n\t\t\t\t<div class=\"ui-entity-editor-content-block\">\n\t\t\t\t\t<div class=\"ui-entity-editor-block-title\">\n\t\t\t\t\t\t<span class=\"ui-entity-editor-block-title-text\">${BX.message(\"UI_ENTITY_EDITOR_UF_ENUM_ITEMS\")}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\n\t\t\tDom.append(enumWrapper, this._wrapper);\n\n\t\t\tthis._enumItemContainer = Tag.render`\n\t\t\t\t\t<div class=\"ui-entity-editor-content-block\"></div>\n\t\t\t\t`;\n\t\t\tDom.append(this._enumItemContainer, enumWrapper);\n\n\t\t\tconst addButton = Tag.render`\n\t\t\t\t\t<div class=\"ui-entity-card-content-add-field\">\n\t\t\t\t\t\t${BX.message(\"UI_ENTITY_EDITOR_ADD\")}\n\t\t\t\t\t</div>\n\t\t\t\t`;\n\t\t\tEvent.bind(addButton, \"click\", this.onEnumerationItemAddButtonClick.bind(this));\n\n\t\t\tDom.append(\n\t\t\t\tTag.render`\n\t\t\t\t\t<div class=\"ui-entity-editor-content-block-add-field\">\n\t\t\t\t\t\t${addButton}\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t\tenumWrapper\n\t\t\t);\n\n\t\t\tif (this._field)\n\t\t\t{\n\t\t\t\tthis._field.getItems().forEach(enumFields => {\n\t\t\t\t\tif (enumFields.VALUE !== '')\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.createEnumerationItem({\n\t\t\t\t\t\t\tVALUE: enumFields.NAME,\n\t\t\t\t\t\t\tID: enumFields.VALUE\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.createEnumerationItem();\n\t\t\tthis.initItemFocusHandlers();\n\t\t}\n\t}\n\n\tonEnumerationItemAddButtonClick()\n\t{\n\t\tthis.unbindItemFocusHandlers();\n\t\tthis.createEnumerationItem().focus();\n\t\tthis.bindLastItemFocusHandler();\n\t}\n\n\tonEnumerationItemFocus()\n\t{\n\t\tthis.unbindItemFocusHandlers();\n\t\tthis.createEnumerationItem();\n\t\tthis.bindLastItemFocusHandler();\n\t}\n\n\tinitItemFocusHandlers()\n\t{\n\t\tthis.unbindItemFocusHandlers();\n\t\tthis.bindLastItemFocusHandler();\n\t}\n\n\tunbindItemFocusHandlers()\n\t{\n\t\tthis._enumItems.forEach(item => Event.unbindAll(item._labelInput, 'focus'));\n\t}\n\n\tbindLastItemFocusHandler()\n\t{\n\t\tconst lastItem = this._enumItems[this._enumItems.length - 1];\n\t\tif (lastItem)\n\t\t{\n\t\t\tEvent.bindOnce(lastItem._labelInput, 'focus', this.onEnumerationItemFocus.bind(this));\n\t\t}\n\t}\n\n\tcreateEnumerationItem(data)\n\t{\n\t\tvar item = BX.UI.EntityEditorUserFieldListItem.create(\n\t\t\t\"\",\n\t\t\t{\n\t\t\t\tconfigurator: this,\n\t\t\t\tcontainer: this._enumItemContainer,\n\t\t\t\tdata: data\n\t\t\t}\n\t\t);\n\n\t\tthis._enumItems.push(item);\n\t\titem.layout();\n\t\treturn item;\n\t}\n\n\tremoveEnumerationItem(item)\n\t{\n\t\tfor (var i = 0, length = this._enumItems.length; i < length; i++)\n\t\t{\n\t\t\tif (this._enumItems[i] === item)\n\t\t\t{\n\t\t\t\tthis._enumItems[i].clearLayout();\n\t\t\t\tthis._enumItems.splice(i, 1);\n\t\t\t\tthis.initItemFocusHandlers();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprepareSaveParams(e)\n\t{\n\t\tconst params = super.prepareSaveParams(this, arguments);\n\t\tif (this._typeId === 'list' || this._typeId === 'multilist')\n\t\t{\n\t\t\tparams['enumeration'] = [];\n\t\t\tconst hashes = [];\n\t\t\tthis._enumItems.forEach(enumItem => {\n\t\t\t\tif (!(enumItem instanceof BX.UI.EntityEditorUserFieldListItem))\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst enumData = enumItem.prepareData();\n\t\t\t\tif (!enumData)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst hash = BX.util.hashCode(enumData['VALUE']);\n\t\t\t\tif (BX.util.in_array(hash, hashes))\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\thashes.push(hash);\n\t\t\t\tenumData['SORT'] = (params['enumeration'].length + 1) * 100;\n\t\t\t\tparams['enumeration'].push(enumData);\n\t\t\t});\n\t\t}\n\t\telse if (this._typeId === 'datetime' || this._typeId === 'multidatetime')\n\t\t{\n\t\t\tparams['enableTime'] = this._isTimeEnabledCheckBox.checked;\n\t\t}\n\n\t\treturn params;\n\t}\n\n\tgetMultipleCheckBox()\n\t{\n\t\tvar checkBox = this.createOption({caption: BX.message(\"UI_ENTITY_EDITOR_UF_MULTIPLE_FIELD\")});\n\t\tif (\n\t\t\tthis._field instanceof BX.UI.EntityEditorMultiText\n\t\t\t|| this._field instanceof BX.UI.EntityEditorMultiNumber\n\t\t\t|| this._field instanceof BX.UI.EntityEditorMultiList\n\t\t\t|| this._field instanceof BX.UI.EntityEditorMultiDatetime\n\t\t)\n\t\t{\n\t\t\tcheckBox.checked = true;\n\t\t}\n\n\t\treturn checkBox;\n\t}\n\n\tgetIsRequiredCheckBox()\n\t{\n\t\tlet checkBox = null;\n\t\tif (this._typeId !== \"boolean\")\n\t\t{\n\t\t\tif (this._enableMandatoryControl)\n\t\t\t{\n\t\t\t\tif (this._mandatoryConfigurator)\n\t\t\t\t{\n\t\t\t\t\tcheckBox = this.createOption(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcaption: this._mandatoryConfigurator.getTitle() + \":\",\n\t\t\t\t\t\t\tlabelSettings: {props: {className: \"ui-entity-new-field-addiction-label\"}},\n\t\t\t\t\t\t\tcontainerSettings: {style: {alignItems: \"center\"}},\n\t\t\t\t\t\t\telements: this._mandatoryConfigurator.getButton().prepareLayout()\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t\tcheckBox.checked = (this._field && this._field.isRequired())\n\t\t\t\t\t\t|| this._mandatoryConfigurator.isCustomized();\n\n\t\t\t\t\tthis._mandatoryConfigurator.setSwitchCheckBox(checkBox);\n\t\t\t\t\tthis._mandatoryConfigurator.setLabel(checkBox.nextSibling);\n\n\t\t\t\t\tthis._mandatoryConfigurator.setEnabled(checkBox.checked);\n\t\t\t\t\tthis._mandatoryConfigurator.adjust();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tcheckBox = this.createOption({caption: BX.message(\"UI_ENTITY_EDITOR_UF_REQUIRED_FIELD\")});\n\t\t\t\t\tcheckBox.checked = this._field && this._field.isRequired();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn checkBox;\n\t}\n\n\tgetIsTimeEnabledCheckBox()\n\t{\n\t\tvar checkBox = null;\n\t\tif (this._typeId === \"datetime\" || this._typeId === \"multidatetime\")\n\t\t{\n\t\t\tcheckBox = this.createOption({caption: BX.message(\"UI_ENTITY_EDITOR_UF_ENABLE_TIME\")});\n\t\t\tcheckBox.checked = this._field && this._field.isTimeEnabled();\n\t\t}\n\t\treturn checkBox;\n\t}\n}","import GridFieldConfigurator from './grid-field-configurator'\nimport {Loc, Reflection, Type} from 'main.core';\n\nexport default class GridFieldConfigurationManager extends BX.UI.EntityConfigurationManager\n{\n\tcreateFieldConfigurator(params, parent)\n\t{\n\t\tif (!Type.isPlainObject(params))\n\t\t{\n\t\t\tthrow \"GridFieldConfigurationManager: The 'params' argument must be object.\";\n\t\t}\n\n\t\treturn this.getSimpleFieldConfigurator(params, parent);\n\t}\n\n\tgetSimpleFieldConfigurator(params, parent)\n\t{\n\t\tlet typeId = \"\";\n\t\tconst child = BX.prop.get(params, 'field', null);\n\t\tif (child)\n\t\t{\n\t\t\ttypeId = child.getType();\n\t\t\tchild.setVisible(false);\n\n\t\t\tif (!BX.prop.get(child.getSchemeElement().getData(), \"isProductProperty\", false))\n\t\t\t{\n\t\t\t\treturn this._fieldConfigurator = BX.UI.EntityEditorFieldConfigurator.create(\n\t\t\t\t\t\"\",\n\t\t\t\t\t{\n\t\t\t\t\t\teditor: this._editor,\n\t\t\t\t\t\tschemeElement: null,\n\t\t\t\t\t\tmodel: parent._model,\n\t\t\t\t\t\tmode: BX.UI.EntityEditorMode.edit,\n\t\t\t\t\t\tparent: parent,\n\t\t\t\t\t\ttypeId: typeId,\n\t\t\t\t\t\tfield: child,\n\t\t\t\t\t\tmandatoryConfigurator: null\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttypeId = BX.prop.get(params, 'typeId', BX.UI.EntityUserFieldType.string);\n\t\t}\n\n\t\tthis._fieldConfigurator = GridFieldConfigurator.create(\n\t\t\t'',\n\t\t\t{\n\t\t\t\teditor: this._editor,\n\t\t\t\tschemeElement: null,\n\t\t\t\tmodel: parent._model,\n\t\t\t\tmode: BX.UI.EntityEditorMode.edit,\n\t\t\t\tparent: parent,\n\t\t\t\ttypeId: typeId,\n\t\t\t\tfield: child,\n\t\t\t\tmandatoryConfigurator: null\n\t\t\t}\n\t\t);\n\n\t\treturn this._fieldConfigurator;\n\t}\n\n\tisSelectionEnabled()\n\t{\n\t\treturn false;\n\t}\n\n\tisCreationEnabled()\n\t{\n\t\treturn false;\n\t}\n\n\thasExternalForm(typeId)\n\t{\n\t\treturn true;\n\t}\n\n\tgetCreationPageUrl(typeId)\n\t{\n\t\tconst filtered = this.getTypeInfos().filter((item) => {\n\t\t\treturn item.name === typeId\n\t\t});\n\t\tif (filtered.length > 0)\n\t\t{\n\t\t\treturn this.creationPageUrl.replace('#PROPERTY_TYPE#', typeId);\n\t\t}\n\t}\n\n\topenCreationPageUrl(typeId)\n\t{\n\t\tthis.openCreationPageSlider(this.getCreationPageUrl(typeId));\n\t}\n\n\topenCreationPageSlider(url)\n\t{\n\t\tif (Type.isStringFilled(url))\n\t\t{\n\t\t\tBX.SidePanel.Instance.open(url, {\n\t\t\t\twidth: 550,\n\t\t\t\tallowChangeHistory: false,\n\t\t\t\tcacheable: false\n\t\t\t});\n\t\t}\n\t}\n\n\tsetCreationPageUrl(url)\n\t{\n\t\treturn this.creationPageUrl = url;\n\t}\n\n\tgetTypeInfos()\n\t{\n\t\treturn [\n\t\t\t{\n\t\t\t\tname: \"list\",\n\t\t\t\ttitle: BX.message(\"CATALOG_ENTITY_CARD_LIST_TITLE\"),\n\t\t\t\tlegend: BX.message(\"CATALOG_ENTITY_CARD_LIST_LEGEND\")\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"directory\",\n\t\t\t\ttitle: BX.message(\"CATALOG_ENTITY_CARD_DICTIONARY_TITLE\"),\n\t\t\t\tlegend: BX.message(\"CATALOG_ENTITY_CARD_DICTIONARY_LEGEND\")\n\t\t\t}\n\t\t];\n\t}\n\n\tstatic create(id, settings)\n\t{\n\t\tconst self = new this;\n\t\tself.initialize(id, settings);\n\t\treturn self;\n\t}\n}\n","import {Text, Type} from 'main.core';\n\nexport default class LazyLoader\n{\n\tconstructor(id, settings)\n\t{\n\t\tthis.id = Type.isStringFilled(id) ? id : Text.getRandom();\n\t\tthis.settings = Type.isObjectLike(settings) ? settings : {};\n\n\t\tthis.container = this.settings.container;\n\t\tif (!this.container)\n\t\t{\n\t\t\tthrow 'Error: Could not find container.';\n\t\t}\n\n\t\tthis.serviceUrl = this.settings.serviceUrl || '';\n\t\tif (!Type.isStringFilled(this.serviceUrl))\n\t\t{\n\t\t\tthrow 'Error. Could not find service url.';\n\t\t}\n\n\t\tthis.tabId = this.settings.tabId || '';\n\t\tif (!Type.isStringFilled(this.tabId))\n\t\t{\n\t\t\tthrow 'Error: Could not find tab id.';\n\t\t}\n\n\t\tthis.params = Type.isObjectLike(this.settings.componentData) ? this.settings.componentData : {};\n\n\t\tthis.isRequestRunning = false;\n\t\tthis.loaded = false;\n\t}\n\n\tisLoaded()\n\t{\n\t\treturn this.loaded;\n\t}\n\n\tload()\n\t{\n\t\tif (!this.isLoaded())\n\t\t{\n\t\t\tthis.startRequest({...this.params, ...{'TABID': this.tabId}});\n\t\t}\n\t}\n\n\tstartRequest(params)\n\t{\n\t\tif (this.isRequestRunning)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.isRequestRunning = true;\n\n\t\tBX.ajax({\n\t\t\turl: this.serviceUrl,\n\t\t\tmethod: 'POST',\n\t\t\tdataType: 'html',\n\t\t\tdata: {\n\t\t\t\t'LOADERID': this.id,\n\t\t\t\t'PARAMS': params\n\t\t\t},\n\t\t\tonsuccess: this.onRequestSuccess.bind(this),\n\t\t\tonfailure: this.onRequestFailure.bind(this)\n\t\t});\n\n\t\treturn true;\n\t}\n\n\tonRequestSuccess(data)\n\t{\n\t\tthis.isRequestRunning = false;\n\t\tthis.container.innerHTML = data;\n\t\tthis.loaded = true;\n\t}\n\n\tonRequestFailure()\n\t{\n\t\tthis.isRequestRunning = false;\n\t\tthis.loaded = true;\n\t}\n}","import {Dom, Event, Text, Type} from 'main.core';\nimport LazyLoader from './lazy-loader';\n\nexport default class Tab\n{\n\tconstructor(id, settings)\n\t{\n\t\tthis.id = Type.isStringFilled(id) ? id : Text.getRandom();\n\t\tthis.settings = Type.isObjectLike(settings) ? settings : {};\n\t\tthis.data = Type.isObjectLike(this.settings.data) ? this.settings.data : {};\n\n\t\tthis.manager = settings.manager || null;\n\n\t\tthis.container = this.settings.container;\n\t\tthis.menuContainer = this.settings.menuContainer;\n\n\t\tthis.active = Type.isBoolean(this.data.active) ? this.data.active : false;\n\t\tthis.enabled = Type.isBoolean(this.data.enabled) ? this.data.enabled : true;\n\n\t\tEvent.bind(\n\t\t\tthis.menuContainer.querySelector('a.catalog-entity-section-tab-link'),\n\t\t\t'click',\n\t\t\tthis.onMenuClick.bind(this)\n\t\t);\n\n\t\tthis.loader = null;\n\n\t\tif (Type.isObjectLike(this.data.loader))\n\t\t{\n\t\t\tthis.loader = new LazyLoader(this.id, {\n\t\t\t\t...this.data.loader,\n\t\t\t\t...{\n\t\t\t\t\ttabId: this.id,\n\t\t\t\t\tcontainer: this.container\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tisEnabled()\n\t{\n\t\treturn this.enabled;\n\t}\n\n\tisActive()\n\t{\n\t\treturn this.active;\n\t}\n\n\tsetActive(active)\n\t{\n\t\tactive = !!active;\n\n\t\tif (this.isActive() === active)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active = active;\n\n\t\tif (this.isActive())\n\t\t{\n\t\t\tthis.showTab()\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.hideTab()\n\t\t}\n\t}\n\n\tshowTab()\n\t{\n\t\tDom.addClass(this.container, 'catalog-entity-section-tab-content-show');\n\t\tDom.removeClass(this.container, 'catalog-entity-section-tab-content-hide');\n\t\tDom.addClass(this.menuContainer, 'catalog-entity-section-tab-current');\n\n\t\tthis.container.style.display = '';\n\t\tthis.container.style.position = 'absolute';\n\t\tthis.container.style.top = 0;\n\t\tthis.container.style.left = 0;\n\t\tthis.container.style.width = '100%';\n\n\t\t(new BX.easing({\n\t\t\tduration: 350,\n\t\t\tstart: {opacity: 0, translateX: 100},\n\t\t\tfinish: {opacity: 100, translateX: 0},\n\t\t\ttransition: BX.easing.makeEaseOut(BX.easing.transitions.quart),\n\t\t\tstep: (state) => {\n\t\t\t\tthis.container.style.opacity = state.opacity / 100;\n\t\t\t\tthis.container.style.transform = 'translateX(' + state.translateX + '%)';\n\t\t\t},\n\t\t\tcomplete: () => {\n\t\t\t\tDom.removeClass(this.container, 'catalog-entity-section-tab-content-show');\n\t\t\t\tthis.container.style.cssText = '';\n\n\t\t\t\tEvent.EventEmitter.emit(window, 'onEntityDetailsTabShow', [this]);\n\t\t\t}\n\t\t})).animate();\n\n\t}\n\n\thideTab()\n\t{\n\t\tDom.addClass(this.container, 'catalog-entity-section-tab-content-hide');\n\t\tDom.removeClass(this.container, 'catalog-entity-section-tab-content-show');\n\t\tDom.removeClass(this.menuContainer, 'catalog-entity-section-tab-current');\n\n\t\t(new BX.easing({\n\t\t\tduration: 350,\n\t\t\tstart: {opacity: 100},\n\t\t\tfinish: {opacity: 0},\n\t\t\ttransition: BX.easing.makeEaseOut(BX.easing.transitions.quart),\n\t\t\tstep: (state) => {\n\t\t\t\tthis.container.style.opacity = state.opacity / 100;\n\t\t\t},\n\t\t\tcomplete: () => {\n\t\t\t\tthis.container.style.display = 'none';\n\t\t\t\tthis.container.style.transform = 'translateX(100%)';\n\t\t\t\tthis.container.style.opacity = 0;\n\t\t\t}\n\t\t})).animate();\n\t}\n\n\tonMenuClick(event)\n\t{\n\t\tif (this.isEnabled())\n\t\t{\n\t\t\tif (this.loader && !this.loader.isLoaded())\n\t\t\t{\n\t\t\t\tthis.loader.load();\n\t\t\t}\n\n\t\t\tthis.manager.selectItem(this);\n\t\t}\n\n\t\tevent.preventDefault()\n\t}\n}","import {Text, Type} from 'main.core';\nimport Tab from './tab';\nimport {EventEmitter} from \"main.core.events\";\n\nexport default class Manager\n{\n\tconstructor(id, settings)\n\t{\n\t\tthis.id = Type.isStringFilled(id) ? id : Text.getRandom();\n\t\tthis.settings = Type.isObjectLike(settings) ? settings : {};\n\n\t\tthis.container = this.settings.container;\n\t\tthis.menuContainer = this.settings.menuContainer;\n\n\t\tthis.items = [];\n\n\t\tif (Type.isArray(this.settings.data))\n\t\t{\n\t\t\tthis.settings.data.forEach(item => {\n\t\t\t\tthis.items.push(\n\t\t\t\t\tnew Tab(item.id, {\n\t\t\t\t\t\tmanager: this,\n\t\t\t\t\t\tdata: item,\n\t\t\t\t\t\tcontainer: this.container.querySelector('[data-tab-id=\"' + item.id + '\"]'),\n\t\t\t\t\t\tmenuContainer: this.menuContainer.querySelector('[data-tab-id=\"' + item.id + '\"]')\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\tEventEmitter.subscribe('BX.Catalog.EntityCard.TabManager:onOpenTab', (event) => {\n\t\t\tlet tabId = event.data.tabId;\n\t\t\tlet item = this.findItemById(tabId);\n\t\t\tif (item)\n\t\t\t{\n\t\t\t\tthis.selectItem(item);\n\t\t\t}\n\t\t});\n\t}\n\n\tfindItemById(id)\n\t{\n\t\treturn this.items.find(item => item.id === id) || null;\n\t}\n\n\tselectItem(item)\n\t{\n\t\tEventEmitter.emit('BX.Catalog.EntityCard.TabManager:onSelectItem', {tabId: item.id});\n\t\tthis.items.forEach(current => current.setActive(current === item));\n\t}\n}\n","import {Dom, Tag, Text, Type} from \"main.core\";\nimport TabManager from \"../tab/manager\";\n\nexport class BaseCard\n{\n\tconstructor(id, settings = {})\n\t{\n\t\tthis.id = Type.isStringFilled(id) ? id : Text.getRandom();\n\t\tthis.entityId = Text.toInteger(settings.entityId) || 0;\n\t\tthis.settings = settings;\n\t\tthis.container = document.getElementById(settings.containerId);\n\n\t\tthis.initializeTabManager();\n\t\tthis.checkFadeOverlay();\n\t}\n\n\tinitializeTabManager()\n\t{\n\t\treturn new TabManager(this.id, {\n\t\t\tcontainer: document.getElementById(this.settings.tabContainerId),\n\t\t\tmenuContainer: document.getElementById(this.settings.tabMenuContainerId),\n\t\t\tdata: this.settings.tabs || []\n\t\t});\n\t}\n\n\tcheckFadeOverlay()\n\t{\n\t\tif (this.entityId <= 0)\n\t\t{\n\t\t\tthis.overlay = Tag.render`<div class=\"catalog-entity-overlay\"></div>`;\n\t\t\tDom.append(this.overlay, this.container);\n\n\t\t\tif (window === window.top)\n\t\t\t{\n\t\t\t\tthis.overlay.style.position = 'absolute';\n\t\t\t\tthis.overlay.style.top = this.overlay.style.left = this.overlay.style.right = '-15px';\n\t\t\t}\n\t\t}\n\t}\n}\n","import {Dom, Event, Loc, Reflection, Tag, Type} from 'main.core';\nimport {type BaseEvent, EventEmitter} from 'main.core.events'\nimport './entity-card.css';\nimport 'ui.entity-editor';\nimport 'ui.notification';\nimport 'ui.feedback.form';\nimport 'ui.hint';\nimport 'ui.design-tokens';\nimport 'ui.fonts.opensans';\nimport FieldsFactory from './fields-factory'\nimport ControllersFactory from './controllers-factory'\nimport IblockFieldConfigurationManager from './field-configurator/iblock-field-configuration-manager'\nimport GridFieldConfigurationManager from './field-configurator/grid-field-configuration-manager';\nimport {Popup} from \"main.popup\";\nimport {BaseCard} from \"./base-card/base-card\";\nimport { ToolAvailabilityManager } from 'catalog.tool-availability-manager';\n\nclass EntityCard extends BaseCard\n{\n\tstackWithOffset = null;\n\n\tconstructor(id, settings = {})\n\t{\n\t\tsuper(id, settings);\n\n\t\tthis.cardSettings = settings.cardSettings || [];\n\t\tthis.hiddenFields = settings.hiddenFields || [];\n\t\tthis.feedbackUrl = settings.feedbackUrl || '';\n\t\tthis.variationGridId = settings.variationGridId;\n\t\tthis.productStoreGridId = settings.productStoreGridId || null;\n\t\tthis.settingsButtonId = settings.settingsButtonId;\n\t\tthis.createDocumentButtonId = settings.createDocumentButtonId;\n\t\tthis.createDocumentButtonMenuPopupItems = settings.createDocumentButtonMenuPopupItems;\n\n\t\tthis.componentName = settings.componentName || null;\n\t\tthis.componentSignedParams = settings.componentSignedParams || null;\n\t\tthis.variationGridComponentName = (settings.variationGridComponentName || 'BX.Catalog.VariationGrid') + '.Instance';\n\n\t\tthis.isSimpleProduct = settings.isSimpleProduct || false;\n\t\tthis.isWithOrdersMode = settings.isWithOrdersMode || false;\n\t\tthis.isInventoryManagementUsed = settings.isInventoryManagementUsed || false;\n\t\tthis.isInventoryManagementToolEnabled = settings.isInventoryManagementToolEnabled || false;\n\n\t\tthis.registerFieldsFactory();\n\t\tthis.registerControllersFactory();\n\t\tthis.registerEvents();\n\t\tthis.bindCardSettingsButton();\n\t\tthis.bindCreateDocumentButtonMenu();\n\n\t\tEventEmitter.subscribe('SidePanel.Slider:onMessage', this.onSliderMessage.bind(this));\n\t\tEventEmitter.subscribe('BX.UI.EntityEditorSection:onLayout', this.onSectionLayout.bind(this));\n\t\tEventEmitter.subscribe('Grid::updated', this.onGridUpdatedHandler.bind(this));\n\t}\n\n\tgetEntityType()\n\t{\n\t\treturn 'Entity';\n\t}\n\n\tgetCardSetting(id: string)\n\t{\n\t\treturn this.cardSettings.filter(item => {\n\t\t\treturn item.id === id;\n\t\t})[0];\n\t}\n\n\tisCardSettingEnabled(id: string)\n\t{\n\t\tconst settingItem = this.getCardSetting(id);\n\n\t\treturn settingItem && settingItem.checked;\n\t}\n\n\tbindCardSettingsButton()\n\t{\n\t\tconst settingsButton = this.getSettingsButton();\n\t\tif (settingsButton)\n\t\t{\n\t\t\tEvent.bind(settingsButton.getContainer(), 'click', this.showCardSettingsPopup.bind(this));\n\t\t}\n\t}\n\n\tgetSettingsButton()\n\t{\n\t\treturn BX.UI.ButtonManager.getByUniqid(this.settingsButtonId);\n\t}\n\n\tregisterFieldsFactory()\n\t{\n\t\treturn new FieldsFactory();\n\t}\n\n\tonGridUpdatedHandler(event: BaseEvent)\n\t{\n\t\tconst [grid] = event.getCompatData();\n\n\t\tif (grid && grid.getId() === this.getVariationGridId())\n\t\t{\n\t\t\tthis.updateSettingsCheckboxState();\n\t\t}\n\t}\n\n\tonSectionLayout()\n\t{\n\n\t}\n\n\tgetProductStoreGridId()\n\t{\n\t\treturn this.productStoreGridId;\n\t}\n\n\tgetProductStoreGridComponent()\n\t{\n\t\treturn Reflection.getClass('BX.Catalog.ProductStoreGridManager.Instance');\n\t}\n\n\treloadProductStoreGrid()\n\t{\n\t\tconst gridComponent = this.getProductStoreGridComponent();\n\t\tif (gridComponent)\n\t\t{\n\t\t\tif (this.getProductStoreGridId() && this.getProductStoreGridId() === gridComponent.getGridId())\n\t\t\t{\n\t\t\t\tgridComponent.reloadGrid();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @returns {BX.Catalog.VariationGrid|BX.Catalog.ProductServiceGrid|null}\n\t */\n\tgetVariationGridComponent()\n\t{\n\t\t//return Reflection.getClass('BX.Catalog.VariationGrid.Instance');\n\t\treturn Reflection.getClass(this.variationGridComponentName);\n\t}\n\n\treloadVariationGrid()\n\t{\n\t\tconst gridComponent = this.getVariationGridComponent();\n\t\tif (gridComponent)\n\t\t{\n\t\t\tgridComponent.reloadGrid();\n\t\t}\n\t}\n\n\tgetVariationGridId()\n\t{\n\t\treturn this.variationGridId;\n\t}\n\n\tgetVariationGrid()\n\t{\n\t\tif (!Reflection.getClass('BX.Main.gridManager.getInstanceById'))\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\treturn BX.Main.gridManager.getInstanceById(this.getVariationGridId());\n\t}\n\n\tregisterControllersFactory()\n\t{\n\t\treturn new ControllersFactory();\n\t}\n\n\tregisterEvents()\n\t{\n\t\tEventEmitter.subscribe('BX.UI.EntityConfigurationManager:onInitialize', this.onConfigurationManagerInit.bind(this));\n\t\tEventEmitter.subscribe('BX.UI.EntityEditor:onCancel', this.removeFileHiddenInputs.bind(this));\n\t\tEventEmitter.subscribe('BX.UI.EntityEditor:onInit', this.onEditorInitHandler.bind(this));\n\n\t\tEventEmitter.subscribe('BX.UI.EntityEditorAjax:onSubmit', this.onEditorAjaxSubmit.bind(this));\n\t\tEventEmitter.subscribe('onEntityCreate', this.onEntityCreateHandler.bind(this));\n\t\tEventEmitter.subscribe('onEntityUpdate', this.onEntityUpdateHandler.bind(this));\n\n\t\tEventEmitter.subscribe('onAttachFiles', this.onAttachFilesHandler.bind(this));\n\t\tEventEmitter.subscribe('BX.Main.Popup:onClose', this.onFileEditorCloseHandler.bind(this));\n\n\t\tEventEmitter.subscribe('onAfterVariationGridSave', this.onAfterVariationGridSave.bind(this));\n\t}\n\n\tonAfterVariationGridSave(event: BaseEvent)\n\t{\n\t\tconst data = event.getData();\n\n\t\tif (data.gridId === this.getVariationGridId())\n\t\t{\n\t\t\tthis.reloadProductStoreGrid();\n\t\t}\n\t}\n\n\tonAttachFilesHandler(event: BaseEvent)\n\t{\n\t\tconst editor = this.getEditorInstance();\n\t\tif (!editor)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst [, , uploader] = event.getCompatData();\n\t\tif (uploader && Type.isDomNode(uploader.fileInput))\n\t\t{\n\t\t\tconst parent = uploader.fileInput.closest('[data-cid]');\n\n\t\t\tif (Type.isDomNode(parent))\n\t\t\t{\n\t\t\t\tconst controlName = parent.getAttribute('data-cid');\n\t\t\t\tconst control = editor.getControlByIdRecursive(controlName);\n\n\t\t\t\tif (control)\n\t\t\t\t{\n\t\t\t\t\tcontrol.markAsChanged();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonFileEditorCloseHandler(event: BaseEvent)\n\t{\n\t\tconst [popup] = event.getCompatData();\n\t\tif (popup && popup.getId() === 'popupFM' && popup.onApplyFlag)\n\t\t{\n\t\t\tthis.showNotification(Loc.getMessage('CATALOG_ENTITY_CARD_FILE_CLOSE_NOTIFICATION_2'), {\n\t\t\t\tid: 'fileCloseNotification',\n\t\t\t\tblinkOnUpdate: false,\n\t\t\t\tautoHideDelay: 5000\n\t\t\t});\n\t\t}\n\t}\n\n\tonEditorInitHandler(event: BaseEvent)\n\t{\n\t\tconst [editor, fields] = event.getCompatData();\n\n\t\tif (editor && !fields.entityId)\n\t\t{\n\t\t\tconst control = editor.getControlByIdRecursive('NAME');\n\n\t\t\tif (control)\n\t\t\t{\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tcontrol.focus()\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @returns {BX.UI.EntityEditor|null}\n\t */\n\tgetEditorInstance()\n\t{\n\t\tif (Reflection.getClass('BX.UI.EntityEditor'))\n\t\t{\n\t\t\treturn BX.UI.EntityEditor.getDefault();\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tonEditorAjaxSubmit(event: BaseEvent)\n\t{\n\t\tconst [fields, response] = event.getCompatData();\n\n\t\tconst title = fields['NAME-CODE'].NAME || '';\n\t\tthis.changePageTitle(title);\n\n\t\tif (response.data)\n\t\t{\n\t\t\tif (Type.isBoolean(response.data.IS_SIMPLE_PRODUCT))\n\t\t\t{\n\t\t\t\tthis.isSimpleProduct = response.data.IS_SIMPLE_PRODUCT;\n\t\t\t}\n\t\t}\n\n\t\tif (response.status === 'success')\n\t\t{\n\t\t\tthis.removeFileHiddenInputs();\n\t\t}\n\t}\n\n\tonEntityCreateHandler(event: BaseEvent)\n\t{\n\t\tconst [data] = event.getCompatData();\n\t\tthis.postSliderMessage('onCreate', data)\n\t}\n\n\tonEntityUpdateHandler(event: BaseEvent)\n\t{\n\t\tconst [data] = event.getCompatData();\n\t\tthis.postSliderMessage('onUpdate', data)\n\t}\n\n\tpostSliderMessage(action, fields)\n\t{\n\t\tBX.SidePanel.Instance.postMessage(\n\t\t\twindow,\n\t\t\t`Catalog.${this.getEntityType()}Card::${action}`,\n\t\t\tfields\n\t\t);\n\t}\n\n\tchangePageTitle(title)\n\t{\n\t\tconst titleNode = document.getElementById('pagetitle');\n\n\t\tif (Type.isDomNode(titleNode))\n\t\t{\n\t\t\ttitleNode.innerText = title;\n\t\t}\n\n\t\tdocument.title = title;\n\n\t\tif (BX.getClass('BX.SidePanel.Instance.updateBrowserTitle'))\n\t\t{\n\t\t\tBX.SidePanel.Instance.updateBrowserTitle();\n\t\t}\n\t}\n\n\tremoveFileHiddenInputs()\n\t{\n\t\tdocument.querySelectorAll('form>input[type=\"hidden\"]')\n\t\t\t.forEach(input => {\n\t\t\t\tlet name = input.getAttribute('name');\n\t\t\t\tlet deleteInput = document.querySelector(`form>input[name=\"${name}_del\"]`);\n\n\t\t\t\tif (deleteInput)\n\t\t\t\t{\n\t\t\t\t\tDom.remove(input);\n\t\t\t\t\tDom.remove(deleteInput);\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tonConfigurationManagerInit(event: BaseEvent)\n\t{\n\t\tconst [, eventArgs] = event.getCompatData();\n\n\t\tif (!eventArgs.type || eventArgs.type === 'editor')\n\t\t{\n\t\t\teventArgs.configurationFieldManager = this.initializeIblockFieldConfigurationManager(eventArgs);\n\t\t}\n\n\t\tif (eventArgs.id === 'variation_grid')\n\t\t{\n\t\t\teventArgs.configurationFieldManager = this.initializeVariationPropertyConfigurationManager(eventArgs);\n\t\t}\n\n\t\tif (eventArgs.id === 'service_grid')\n\t\t{\n\t\t\teventArgs.configurationFieldManager = this.initializeServicePropertyConfigurationManager(eventArgs);\n\t\t}\n\t}\n\n\tinitializeIblockFieldConfigurationManager(eventArgs)\n\t{\n\t\tconst configurationManager = IblockFieldConfigurationManager.create(this.id, eventArgs);\n\t\tconfigurationManager.setCreationPageUrl(this.settings.creationPropertyUrl);\n\n\t\treturn configurationManager;\n\t}\n\n\tinitializeVariationPropertyConfigurationManager(eventArgs)\n\t{\n\t\tconst configurationManager = GridFieldConfigurationManager.create(this.id, eventArgs);\n\t\tconfigurationManager.setCreationPageUrl(this.settings.creationVariationPropertyUrl);\n\n\t\treturn configurationManager;\n\t}\n\n\tinitializeServicePropertyConfigurationManager(eventArgs)\n\t{\n\t\treturn GridFieldConfigurationManager.create(this.id, eventArgs);\n\t}\n\n\tshowNotification(content, options)\n\t{\n\t\toptions = options || {};\n\n\t\tif (BX.GetWindowScrollPos().scrollTop <= 10)\n\t\t{\n\t\t\toptions.stack = this.getStackWithOffset();\n\t\t}\n\n\t\tBX.UI.Notification.Center.notify({\n\t\t\tcontent: content,\n\t\t\tposition: 'top-right',\n\t\t\twidth: 'auto',\n\t\t\tautoHideDelay: 3000,\n\t\t\t...options\n\t\t});\n\t}\n\n\tgetStackWithOffset()\n\t{\n\t\tif (this.stackWithOffset === null)\n\t\t{\n\t\t\tthis.stackWithOffset = new BX.UI.Notification.Stack(BX.mergeEx(\n\t\t\t\t{},\n\t\t\t\tBX.UI.Notification.Center.getStackDefaults(),\n\t\t\t\t{\n\t\t\t\t\tid: 'top-right-with-offset',\n\t\t\t\t\tposition: 'top-right-with-offset',\n\t\t\t\t\toffsetY: 74\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\n\t\treturn this.stackWithOffset;\n\t}\n\n\topenFeedbackPanel()\n\t{\n\t\tEntityCard.openFeedbackPanelStatic();\n\t}\n\n\tstatic openFeedbackPanelStatic()\n\t{\n\t\tBX.UI.Feedback.Form.open({\n\t\t\tid: 'catalog-product-card-feedback',\n\t\t\tforms: [\n\t\t\t\t{'id': 269, 'lang': 'ru', 'sec': 'mqerov', 'zones': ['ru', 'by', 'kz']},\n\t\t\t\t{'id': 347, 'lang': 'en', 'sec': 'lxfji8', 'zones': ['en']},\n\t\t\t\t{'id': 349, 'lang': 'es', 'sec': 'gdf9i1', 'zones': ['es']},\n\t\t\t\t{'id': 355, 'lang': 'de', 'sec': 'x8k56n', 'zones': ['de']},\n\t\t\t\t{'id': 357, 'lang': 'ua', 'sec': '2z19xl', 'zones': ['ua']},\n\t\t\t\t{'id': 353, 'lang': 'com.br', 'sec': '5cleqn', 'zones': ['com.br']},\n\t\t\t],\n\t\t});\n\t}\n\n\tbindCreateDocumentButtonMenu()\n\t{\n\t\tconst createDocumentButtonMenu = this.getCreateDocumentButtonMenu();\n\t\tif (createDocumentButtonMenu)\n\t\t{\n\t\t\tEvent.bind(createDocumentButtonMenu.getContainer(), 'click', this.showCreateDocumentPopup.bind(this));\n\t\t}\n\t}\n\n\tgetCreateDocumentButtonMenu()\n\t{\n\t\tconst createDocumentButton = BX.UI.ButtonManager.getByUniqid(this.createDocumentButtonId);\n\t\tif (createDocumentButton)\n\t\t{\n\t\t\treturn BX.UI.ButtonManager.getByUniqid(this.createDocumentButtonId).getMenuButton();\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetCreateDocumentPopup()\n\t{\n\t\tif (!this.createDocumentPopup)\n\t\t{\n\t\t\tthis.createDocumentPopup = new Popup(\n\t\t\t\tthis.id + '-create-document',\n\t\t\t\tthis.getCreateDocumentButtonMenu().getContainer(),\n\t\t\t\t{\n\t\t\t\t\tautoHide: true,\n\t\t\t\t\tdraggable: false,\n\t\t\t\t\toffsetLeft: 0,\n\t\t\t\t\toffsetTop: 0,\n\t\t\t\t\tangle: {position: 'top', offset: 43},\n\t\t\t\t\tnoAllPaddings: true,\n\t\t\t\t\tbindOptions: {forceBindPosition: true},\n\t\t\t\t\tcloseByEsc: true,\n\t\t\t\t\tcontent: this.getCreateDocumentMenuContent()\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn this.createDocumentPopup;\n\t}\n\n\tshowCreateDocumentPopup()\n\t{\n\t\tthis.getCreateDocumentPopup().show();\n\t}\n\n\tcloseCreateDocumentPopup()\n\t{\n\t\tthis.getCreateDocumentPopup().close();\n\t}\n\n\tgetCreateDocumentMenuContent()\n\t{\n\t\tconst popupWrapper = Tag.render`<div class=\"menu-popup\"></div>`;\n\t\tconst popupItemsContainer = Tag.render`<div class=\"menu-popup-items\"></div>`;\n\t\tpopupWrapper.appendChild(popupItemsContainer);\n\n\t\tthis.createDocumentButtonMenuPopupItems.forEach((item) => {\n\t\t\tlet itemEntry = null;\n\t\t\tif (this.isInventoryManagementToolEnabled)\n\t\t\t{\n\t\t\t\titemEntry = Tag.render`\n\t\t\t\t\t<a class=\"menu-popup-item menu-popup-item-no-icon\" href=\"${item.link}\">\n\t\t\t\t\t\t<span class=\"menu-popup-item-text\">${item.text}</span>\n\t\t\t\t\t</a>\n\t\t\t\t`;\n\n\t\t\t\tEvent.bind(itemEntry, 'click', (event) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tthis.closeCreateDocumentPopup();\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\titemEntry = Tag.render`\n\t\t\t\t\t<a class=\"menu-popup-item menu-popup-item-no-icon\">\n\t\t\t\t\t\t<span class=\"menu-popup-item-text\">${item.text}</span>\n\t\t\t\t\t</a>\n\t\t\t\t`;\n\n\t\t\t\tEvent.bind(itemEntry, 'click', (event) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tEntityCard.openInventoryManagementToolDisabledSlider();\n\t\t\t\t\tthis.closeCreateDocumentPopup();\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tpopupItemsContainer.appendChild(itemEntry);\n\t\t});\n\n\t\treturn popupWrapper;\n\t}\n\n\tstatic openInventoryManagementToolDisabledSlider()\n\t{\n\t\tToolAvailabilityManager.openInventoryManagementToolDisabledSlider();\n\t}\n\n\tgetCardSettingsPopup()\n\t{\n\t\tif (!this.settingsPopup)\n\t\t{\n\t\t\tthis.settingsPopup = new Popup(\n\t\t\t\tthis.id,\n\t\t\t\tthis.getSettingsButton().getContainer(),\n\t\t\t\t{\n\t\t\t\t\tautoHide: true,\n\t\t\t\t\tdraggable: false,\n\t\t\t\t\toffsetLeft: 0,\n\t\t\t\t\toffsetTop: 0,\n\t\t\t\t\tangle: {position: 'top', offset: 43},\n\t\t\t\t\tnoAllPaddings: true,\n\t\t\t\t\tbindOptions: {forceBindPosition: true},\n\t\t\t\t\tcloseByEsc: true,\n\t\t\t\t\tcontent: this.prepareCardSettingsContent()\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn this.settingsPopup;\n\t}\n\n\tshowCardSettingsPopup()\n\t{\n\t\tthis.getCardSettingsPopup().show();\n\t}\n\n\tprepareCardSettingsContent()\n\t{\n\t\tconst content = Tag.render`\n\t\t\t<div class='ui-entity-editor-popup-create-field-list'></div>\n\t\t`;\n\n\t\tthis.cardSettings.map(item => {\n\t\t\tcontent.append(this.getSettingItem(item));\n\t\t});\n\n\t\treturn content;\n\t}\n\n\tgetSettingItem(item)\n\t{\n\t\tlet input = '';\n\t\tif (!item.disabledCheckbox)\n\t\t{\n\t\t\tinput = Tag.render`\n\t\t\t\t<input type=\"checkbox\">\n\t\t\t`;\n\n\t\t\tinput.checked = item.checked;\n\t\t\tinput.disabled = item.disabled ?? false;\n\t\t\tinput.dataset.settingId = item.id;\n\t\t}\n\n\t\tconst hintNode = (\n\t\t\tType.isStringFilled(item.hint)\n\t\t\t\t? Tag.render`<span class=\"catalog-entity-setting-hint\" data-hint=\"${item.hint}\"></span>`\n\t\t\t\t: ''\n\t\t);\n\n\t\tconst setting = Tag.render`\n\t\t\t\t<label class=\"ui-ctl-block ui-entity-editor-popup-create-field-item ui-ctl-w100\">\n\t\t\t\t\t<div class=\"ui-ctl-w10\" style=\"text-align: center\">${input}</div>\n\t\t\t\t\t<div class=\"ui-ctl-w75\">\n\t\t\t\t\t\t<span class=\"ui-entity-editor-popup-create-field-item-title ${item.disabled ? 'catalog-entity-disabled-setting' : ''}\">${item.title}${hintNode}</span>\n\t\t\t\t\t\t<span class=\"ui-entity-editor-popup-create-field-item-desc\">${item.desc}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</label>\n\t\t\t`;\n\n\t\tBX.UI.Hint.init(setting);\n\n\t\tif(item.id === 'SEO')\n\t\t{\n\t\t\tEvent.bind(setting, 'click', (event) =>\n\t\t\t{\n\t\t\t\tBX.SidePanel.Instance.open(item.url, {\n\t\t\t\t\tcacheable: false,\n\t\t\t\t\tallowChangeHistory: false,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\t'ELEMENT_ID': this.entityId\n\t\t\t\t\t},\n\t\t\t\t\twidth: 1000\n\t\t\t\t});\n\t\t\t})\n\t\t}\n\t\telse\n\t\t{\n\t\t\tEvent.bind(setting, 'change', this.setProductCardSetting.bind(this));\n\t\t}\n\n\n\t\treturn setting;\n\t}\n\n\tsetProductCardSetting(event: BaseEvent)\n\t{\n\t\tconst settingItem = this.getCardSetting(event.target.dataset.settingId);\n\t\tif (!settingItem)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst settingEnabled = event.target.checked;\n\n\t\tif (settingItem.action === 'grid')\n\t\t{\n\t\t\tthis.requestGridSettings(settingItem, settingEnabled);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.requestCardSettings(settingItem, settingEnabled);\n\t\t}\n\t}\n\n\tonSliderMessage(event: BaseEvent)\n\t{\n\t\tconst [sliderEvent] = event.getCompatData();\n\n\t\tif (\n\t\t\tsliderEvent.getEventId() === 'Catalog.VariationCard::onCreate'\n\t\t\t|| sliderEvent.getEventId() === 'Catalog.VariationCard::onUpdate'\n\t\t)\n\t\t{\n\t\t\tthis.reloadVariationGrid();\n\t\t}\n\t}\n\n\treloadGrid()\n\t{\n\t\tdocument.location.reload();\n\t}\n\n\trequestGridSettings(setting, enabled)\n\t{\n\t\tif (!this.getVariationGrid())\n\t\t{\n\t\t\tnew Error('Cant find variation grid.');\n\t\t}\n\n\t\tconst headers = [];\n\t\tconst cells = this.getVariationGrid().getRows().getHeadFirstChild().getCells();\n\n\t\tArray.from(cells).forEach((header) => {\n\t\t\tif ('name' in header.dataset)\n\t\t\t{\n\t\t\t\theaders.push(header.dataset.name);\n\t\t\t}\n\t\t});\n\n\t\tBX.ajax.runComponentAction(\n\t\t\tthis.componentName,\n\t\t\t'setGridSetting',\n\t\t\t{\n\t\t\t\tmode: 'class',\n\t\t\t\tdata: {\n\t\t\t\t\tsignedParameters: this.componentSignedParams,\n\t\t\t\t\tsettingId: setting.id,\n\t\t\t\t\tselected: enabled,\n\t\t\t\t\tcurrentHeaders: headers\n\t\t\t\t}\n\t\t\t}\n\t\t).then(() => {\n\t\t\tlet message = null;\n\t\t\tsetting.checked = enabled;\n\t\t\tthis.reloadVariationGrid();\n\t\t\tthis.postSliderMessage('onUpdate', {});\n\t\t\tthis.getCardSettingsPopup().close();\n\n\t\t\tif(setting.id === 'WAREHOUSE')\n\t\t\t{\n\t\t\t\tthis.reloadGrid()\n\t\t\t\tmessage = enabled ? Loc.getMessage('CATALOG_ENTITY_CARD_WAREHOUSE_ENABLED') : Loc.getMessage('CATALOG_ENTITY_CARD_WAREHOUSE_DISABLED');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tmessage = enabled ? Loc.getMessage('CATALOG_ENTITY_CARD_SETTING_ENABLED') : Loc.getMessage('CATALOG_ENTITY_CARD_SETTING_DISABLED');\n\t\t\t\tmessage = message.replace('#NAME#', setting.title)\n\t\t\t}\n\n\t\t\tthis.showNotification(message, {\n\t\t\t\tcategory: 'popup-settings'\n\t\t\t});\n\t\t});\n\t}\n\n\trequestCardSettings(setting, enabled)\n\t{\n\t\tBX.ajax.runComponentAction(\n\t\t\tthis.componentName,\n\t\t\t'setCardSetting',\n\t\t\t{\n\t\t\t\tmode: 'class',\n\t\t\t\tdata: {\n\t\t\t\t\tsignedParameters: this.componentSignedParams,\n\t\t\t\t\tsettingId: setting.id,\n\t\t\t\t\tselected: enabled\n\t\t\t\t}\n\t\t\t}\n\t\t).then(() => {\n\t\t\tsetting.checked = enabled;\n\n\t\t\tif (setting.id === 'CATALOG_PARAMETERS')\n\t\t\t{\n\t\t\t\tconst section = this.getEditorInstance().getControlByIdRecursive('catalog_parameters');\n\t\t\t\tif (section)\n\t\t\t\t{\n\t\t\t\t\tsection.refreshLayout();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.getCardSettingsPopup().close();\n\n\t\t\tlet message = enabled ? Loc.getMessage('CATALOG_ENTITY_CARD_SETTING_ENABLED') : Loc.getMessage('CATALOG_ENTITY_CARD_SETTING_DISABLED');\n\t\t\tthis.showNotification(message.replace('#NAME#', setting.title), {\n\t\t\t\tcategory: 'popup-settings'\n\t\t\t});\n\t\t});\n\t}\n\n\tupdateSettingsCheckboxState()\n\t{\n\t\tconst popupContainer = this.getCardSettingsPopup().getContentContainer();\n\n\t\tthis.cardSettings\n\t\t\t.filter(item => item.action === 'grid' && Type.isArray(item.columns?.ITEMS))\n\t\t\t.forEach(item => {\n\n\t\t\t\tlet allColumnsExist = true;\n\t\t\t\titem.columns.ITEMS.forEach(columnName => {\n\t\t\t\t\tif (!this.getVariationGrid().getColumnHeaderCellByName(columnName))\n\t\t\t\t\t{\n\t\t\t\t\t\tallColumnsExist = false;\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tconst checkbox = popupContainer.querySelector('input[data-setting-id=\"' + item.id + '\"]');\n\t\t\t\tif (Type.isDomNode(checkbox))\n\t\t\t\t{\n\t\t\t\t\tcheckbox.checked = allColumnsExist;\n\t\t\t\t}\n\t\t\t});\n\t}\n}\n\nexport {EntityCard, BaseCard};\n"],"names":["IblockSectionField","id","settings","initialize","innerWrapper","options","_hasLayout","ensureWrapperCreated","classNames","adjustWrapper","isNeedToDisplay","_wrapper","appendChild","createTitleNode","getTitle","_mode","BX","UI","EntityEditorMode","edit","drawEditMode","drawViewMode","isContextMenuEnabled","createContextMenuButton","registerLayout","defaultInput","Tag","render","getName","ajax","runComponentAction","mode","data","iblockId","getIblockId","productId","getProductId","selectedSectionIds","getValue","then","renderFromResponse","bind","response","Error","errors","join","Runtime","html","callback","initEntitySelector","EventEmitter","subscribe","GLOBAL_TARGET","markAsChanged","node","isShow","style","display","event","emit","getEditor","getData","hasNoSections","Loc","getMessage","Dom","addClass","content","getSections","forEach","section","picture","Type","isStringFilled","PICTURE","Text","encode","push","NAME","_model","getField","sectionIds","length","includes","clean","result","EntityEditorModeSwitchType","common","button","EntityEditorField","NameCodeField","EntityEditorBoolean","superclass","apply","menuItems","isShownSymbolicCode","value","text","getSchemeShowCodeState","allowToGenerateCode","_editor","isNew","prop","get","getSchemeElement","_options","state","e","command","codeContainerElement","document","getElementById","nameCodeMarkerElement","codeTextElement","codeStateButtonElement","readOnly","className","removeClass","_innerWrapper","refreshLayout","setSchemeShowCodeState","_parent","processChildControlSchemeChange","view","title","values","_inputValue","isDragEnabled","append","createDragButton","_inputContainer","valueKey","createSingleInput","getViewInnerLayout","initializeDragDropAbilities","isEditable","clearError","hasValidators","executeValidators","isEmptyField","nameTextElement","util","trim","parentNode","isValid","isRequired","addError","EntityValidationError","create","field","showRequiredFieldError","_input","error","anchor","_errorContainer","innerHTML","htmlspecialchars","_hasError","name","inputWrapper","toLowerCase","inputContainer","input","getLineCount","Event","attr","chainState","label","textValue","codeValue","CODE","chainClass","EntityEditorMultiText","labelText","_changeHandler","translit","Hint","createNode","newValue","FieldsFactory","getCompatData","eventArgs","methods","factory","type","controlId","PROPERTY_PREFIX","PROPERTY_BLOCK_NAME","IblockSectionController","handleChange","isRequesting","clearServiceFields","onChangeHandler","lastDataHash","initialElements","deletedControls","deletedAvailableSchemes","newData","shift","newDataHash","JSON","stringify","clearTimeout","timeout","setTimeout","refreshLinkedProperties","_settings","ajaxData","COMPONENT_NAME","signedParameters","SIGNED_PARAMETERS","allCurrentProperties","getAllCurrentProperties","ENTITY_FIELDS","property","addProperty","layout","forceDisplay","newProperties","map","el","removeProperty","commitSchemeChanges","activeProperties","getAllControls","filter","indexOf","hiddenProperties","getAvailableSchemeElements","restoreDeletedProperty","restoreDeletedAvailableProperty","createProperty","control","getParent","addChild","enableSaving","registerActiveControl","unregisterActiveControl","schemeElement","addAvailableSchemeElement","propertyBlockScheme","getSchemeElementByName","EntitySchemeElement","_elements","createControl","getType","model","parent","propertyBlockControl","getControlById","getControlByIdRecursive","removeChild","removeAvailableSchemeElement","getAvailableSchemeElementByName","element","EntityEditorController","GridStore","gridId","_classPrivateMethodInitSpec","_classPrivateMethodGet","Main","gridManager","getInstanceById","editedRowsIndexes","getGrid","getRows","getBodyChild","row","isEdit","getNode","rowIndex","rows","index","getByIndex","fireEvent","fillCellValue","editData","isPlainObject","TYPE","isArray","item","RAW_NAME","undefined","VALUE","console","headRow","getHeadFirstChild","supportedAjaxFields","Array","prototype","call","getCells","cell","cellName","getCellNameByCellIndex","cellValues","getCellEditorValue","cellEditData","getCellEditDataByCellIndex","getId","file","isFileUploaded","File","uploader","isDomNode","fileInput","isFileUploaderInGrid","getContainer","contains","Notification","Center","notify","blinkOnUpdate","position","width","autoHideDelay","params","getParam","VariationGridController","markAsChangedHandler","checkEditorToolbar","onGridUpdated","onBeforeGridRequest","ajaxSuccessHandler","onBeforeIncludedAreaLoaded","onAfterIncludedAreaLoaded","onNothingChanged","subscribeToFormSubmit","gridStore","getGridId","isNumber","areaHeight","getVariationGridLoader","rollback","getGridControl","wrapper","getWrapper","querySelector","unsubscribeGridEvents","destroy","isChanged","setGridControlCache","_loadedHtml","Reflection","getClass","gridComponent","getVariationGridComponent","popup","getSettingsWindow","getPopup","unsubscribeAll","xhrData","url","getReloadUrl","_ajaxForm","onBeforeSubmitForm","_isChanged","getActiveControlCount","showToolPanel","hideToolPanel","_toolPanel","clearErrors","grid","loadEditedRows","Uri","getQueryParams","key","Object","hasOwnProperty","setQueryParam","toString","saveEditedRows","sessid","bitrix_sessid","method","getEditedRowsFields","getSignedParameters","getConfigStringParam","skuGridName","skuGridData","getEditSelectedValues","copyItemsMap","priceField","newName","replace","endsWith","isFile","fieldName","newFilesRegExp","RegExp","test","fileCounter","fileSetting","match","isNil","offsetHeight","VariationLinkController","GoogleMapController","EmployeeController","UserController","IblockElementController","BindingToCrmElementController","FieldConfiguratorController","handleFieldAdd","handleFieldUpdate","handlePropertySaved","fieldAddHandler","fieldUpdateHandler","top","propertySavedHandler","propertyId","parseInt","schemeField","find","fields","getFieldsForm","PROPERTY_FIELDS","additionalValues","ADDITIONAL_VALUES","entries","setField","EntityEditorSection","getMode","notifyIfNotDisplayed","showAlways","toggleOptionFlag","saveSchemeChanges","EntityEditorControl","currentField","_isRequired","mandatory","EntityEditorDatetime","EntityEditorMultiDatetime","schemeElementData","propertyData","enableTime","dateViewFormat","EntityEditorCustom","newType","multiple","EntityEditorText","EntityEditorList","EntityEditorNumber","EntityEditorMultiList","EntityEditorMultiNumber","getChildIndex","newControl","_schemeElement","form","FormData","formatted","MULTIPLE","IS_REQUIRED","IS_PUBLIC","isPublic","PROPERTY_TYPE","typeId","enumeration","enumItem","getFormFieldName","SORT","ID","USER_TYPE","XML_ID","FILE_ID","LIST_TYPE","userType","sectionName","sectionSchemeElement","sectionControl","ProductServiceGridController","getProductServiceGridLoader","ControllersFactory","IblockDirectoryFieldItem","_fileInput","getString","_data","onFileLoaderChange","link","_labelInput","message","deleteButton","onDeleteButtonClick","getElementNode","_container","insertBefore","target","files","reader","FileReader","onload","src","fileChanged","readAsDataURL","classList","remove","fileValue","xmlId","isNotEmptyString","self","EntityEditorUserFieldListItem","IblockFieldConfigurator","_enumItems","getInputContainer","_typeId","_field","getEnumerationContainer","getOptionContainer","getErrorContainer","getButtonContainer","_optionWrapper","_isTimeEnabledCheckBox","getIsTimeEnabledCheckBox","_enableMandatoryControl","_isRequiredCheckBox","getIsRequiredCheckBox","isAllowedMultipleCheckBox","_isMultipleCheckBox","getMultipleCheckBox","_isPublic","getIsPublicCheckBox","_showAlwaysCheckBox","createOption","caption","helpUrl","helpCode","checked","getBoolean","checkOptionFlag","EntityEditorControlOptions","isAllowedShowAlwaysCheckBox","closest","isEnabledOfferTree","isMultiple","manager","getUserFieldManager","getDefaultFieldLabel","enumWrapper","_enumItemContainer","addButton","onEnumerationItemAddButtonClick","getItems","enumFields","createEnumerationItem","IMAGE","IMAGE_SRC","TEXT","lastItem","_draggable","DragAndDrop","Draggable","container","draggable","dragElement","CLONE","focus","initItemClickHandlers","unbindItemClickHandlers","bindLastItemClickHandler","unbindAll","bindOnce","onEnumerationItemClick","configurator","i","clearLayout","splice","arguments","hashes","enumData","prepareData","hash","hashCode","in_array","getRandom","sortIndex","getElementIndex","getDraggableContainer","toNumber","checkBox","EntityEditorMultiMoney","_isLocked","_mandatoryConfigurator","acceptChanges","close","prepareSaveParams","mergeSettings","modes","htmlListName","htmlList","getObject","getModel","newHtml","SINGLE","htmlName","setInitFieldValue","getContentWrapper","setDataParam","onCustomEvent","labelSettings","props","containerSettings","alignItems","elements","getButton","prepareLayout","isCustomized","setSwitchCheckBox","setLabel","nextSibling","setEnabled","adjust","isTimeEnabled","EntityEditorFieldConfigurator","namespace","IblockFieldConfigurationManager","getSimpleFieldConfigurator","setVisible","_fieldConfigurator","editor","mandatoryConfigurator","EntityUserFieldType","string","isSectionEditEnabled","isReadOnly","creationPageUrl","SidePanel","Instance","open","getCreationPageUrl","allowChangeHistory","cacheable","items","legend","EntityConfigurationManager","GridFieldConfigurator","initItemFocusHandlers","unbindItemFocusHandlers","bindLastItemFocusHandler","onEnumerationItemFocus","GridFieldConfigurationManager","child","filtered","getTypeInfos","openCreationPageSlider","LazyLoader","isObjectLike","serviceUrl","tabId","componentData","isRequestRunning","loaded","isLoaded","startRequest","dataType","onsuccess","onRequestSuccess","onfailure","onRequestFailure","Tab","menuContainer","active","isBoolean","enabled","onMenuClick","loader","isActive","showTab","hideTab","left","easing","duration","start","opacity","translateX","finish","transition","makeEaseOut","transitions","quart","step","transform","complete","cssText","window","animate","isEnabled","load","selectItem","preventDefault","Manager","findItemById","current","setActive","BaseCard","entityId","toInteger","containerId","initializeTabManager","checkFadeOverlay","TabManager","tabContainerId","tabMenuContainerId","tabs","overlay","right","EntityCard","cardSettings","hiddenFields","feedbackUrl","variationGridId","productStoreGridId","settingsButtonId","createDocumentButtonId","createDocumentButtonMenuPopupItems","componentName","componentSignedParams","variationGridComponentName","isSimpleProduct","isWithOrdersMode","isInventoryManagementUsed","isInventoryManagementToolEnabled","registerFieldsFactory","registerControllersFactory","registerEvents","bindCardSettingsButton","bindCreateDocumentButtonMenu","onSliderMessage","onSectionLayout","onGridUpdatedHandler","settingItem","getCardSetting","settingsButton","getSettingsButton","showCardSettingsPopup","ButtonManager","getByUniqid","getVariationGridId","updateSettingsCheckboxState","getProductStoreGridComponent","getProductStoreGridId","reloadGrid","onConfigurationManagerInit","removeFileHiddenInputs","onEditorInitHandler","onEditorAjaxSubmit","onEntityCreateHandler","onEntityUpdateHandler","onAttachFilesHandler","onFileEditorCloseHandler","onAfterVariationGridSave","reloadProductStoreGrid","getEditorInstance","controlName","getAttribute","onApplyFlag","showNotification","requestAnimationFrame","EntityEditor","getDefault","changePageTitle","IS_SIMPLE_PRODUCT","status","postSliderMessage","action","postMessage","getEntityType","titleNode","innerText","updateBrowserTitle","querySelectorAll","deleteInput","configurationFieldManager","initializeIblockFieldConfigurationManager","initializeVariationPropertyConfigurationManager","initializeServicePropertyConfigurationManager","configurationManager","setCreationPageUrl","creationPropertyUrl","creationVariationPropertyUrl","GetWindowScrollPos","scrollTop","stack","getStackWithOffset","stackWithOffset","Stack","mergeEx","getStackDefaults","offsetY","openFeedbackPanelStatic","createDocumentButtonMenu","getCreateDocumentButtonMenu","showCreateDocumentPopup","createDocumentButton","getMenuButton","createDocumentPopup","Popup","autoHide","offsetLeft","offsetTop","angle","offset","noAllPaddings","bindOptions","forceBindPosition","closeByEsc","getCreateDocumentMenuContent","getCreateDocumentPopup","show","popupWrapper","popupItemsContainer","itemEntry","closeCreateDocumentPopup","openInventoryManagementToolDisabledSlider","settingsPopup","prepareCardSettingsContent","getCardSettingsPopup","getSettingItem","disabledCheckbox","disabled","dataset","settingId","hintNode","hint","setting","desc","init","setProductCardSetting","settingEnabled","requestGridSettings","requestCardSettings","sliderEvent","getEventId","reloadVariationGrid","location","reload","getVariationGrid","headers","cells","from","header","selected","currentHeaders","category","popupContainer","getContentContainer","columns","ITEMS","allColumnsExist","columnName","getColumnHeaderCellByName","checkbox","Feedback","Form","forms","ToolAvailabilityManager"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit