Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/js/catalog/product-selector/dist/
Upload File :
Current File : /var/www/homesaver/www/bitrix/js/catalog/product-selector/dist/product-selector.bundle.js.map

{"version":3,"file":"product-selector.bundle.js","sources":["../src/search-input/footer-default.js","../src/search-input/footer-limited.js","../src/search-input/dialog-mode.js","../src/selector-error-code.js","../src/search-input/input-base.js","../src/search-input/input-default.js","../src/search-input/footer-barcode.js","../src/search-input/input-barcode.js","../src/search-input/footer-placement.js","../src/search-input/footer-placement-lock.js","../src/search-input/footer-placement-failure.js","../src/search-input/footer-placement-loading.js","../src/search-input/footer-placement-success.js","../src/search-input/input-placement.js","../src/product-image-input.js","../src/product-selector.js"],"sourcesContent":["import { DefaultFooter, Dialog } from 'ui.entity-selector';\nimport { Dom, Loc, Tag, Type } from 'main.core';\nimport { BaseEvent } from 'main.core.events';\nimport { Loader } from 'main.loader';\nimport { ProductSelector } from 'catalog.product-selector';\n\nexport class ProductSearchInputDefaultFooter extends DefaultFooter\n{\n\t#loader: Loader = null;\n\n\tconstructor(dialog: Dialog, options: { [option: string]: any })\n\t{\n\t\tsuper(dialog, options);\n\n\t\tthis.getDialog().subscribe('onSearch', this.handleOnSearch.bind(this));\n\t}\n\n\tgetContent(): HTMLElement\n\t{\n\t\tlet phrase = '';\n\n\t\tconst isViewCreateButton = this.options.allowCreateItem === true || this.options.allowEditItem === false;\n\n\t\tif (this.isViewEditButton() && isViewCreateButton)\n\t\t{\n\t\t\tphrase = Tag.render`\n\t\t\t\t<div>${Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_1')}</div>\n\t\t\t`;\n\n\t\t\tconst createButton = phrase.querySelector('create-button');\n\t\t\tDom.replace(createButton, this.#getLabelContainer());\n\n\t\t\tconst changeButton = phrase.querySelector('change-button');\n\t\t\tDom.replace(changeButton, this.#getSaveContainer());\n\t\t}\n\t\telse if (this.isViewEditButton())\n\t\t{\n\t\t\tphrase = this.#getSaveContainer();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tphrase = this.#getLabelContainer();\n\t\t}\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"ui-selector-search-footer-box\">\n\t\t\t\t${phrase}\n\t\t\t\t${this.#getHintContainer()}\n\t\t\t\t${this.getLoaderContainer()}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\thandleOnSearch(event: BaseEvent): void\n\t{\n\t\tconst { query } = event.getData();\n\n\t\tif (this.options.currentValue === query || query === '')\n\t\t{\n\t\t\tthis.hide();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.show();\n\t\t}\n\n\t\tthis.getQueryContainer().textContent = ` ${query}`;\n\t}\n\n\tisViewEditButton(): boolean\n\t{\n\t\treturn this.options.allowEditItem === true;\n\t}\n\n\tgetQueryContainer(): HTMLElement\n\t{\n\t\treturn this.cache.remember('name-container', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<span class=\"ui-selector-search-footer-query\"></span>\n\t\t\t`;\n\t\t});\n\t}\n\n\t#getSaveContainer(): HTMLElement\n\t{\n\t\treturn this.cache.remember('save-container', () => {\n\t\t\tconst className = 'ui-selector-footer-link';\n\n\t\t\tconst messageId = (this.options.inputName === ProductSelector.INPUT_FIELD_BARCODE)\n\t\t\t\t? 'CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_BARCODE_CHANGE'\n\t\t\t\t: 'CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_CHANGE'\n\t\t\t;\n\n\t\t\treturn Tag.render`\n\t\t\t\t<span class=\"${className}\" onclick=\"${this.#onClickSaveChanges.bind(this)}\">\n\t\t\t\t\t${Loc.getMessage(messageId)}\n\t\t\t\t</span>\n\t\t\t`;\n\t\t});\n\t}\n\n\t#getLoader(): Loader\n\t{\n\t\tif (Type.isNil(this.#loader))\n\t\t{\n\t\t\tthis.#loader = new Loader({\n\t\t\t\ttarget: this.getLoaderContainer(),\n\t\t\t\tsize: 17,\n\t\t\t\tcolor: 'rgba(82, 92, 105, 0.9)',\n\t\t\t});\n\t\t}\n\n\t\treturn this.#loader;\n\t}\n\n\t#showLoader(): void\n\t{\n\t\tvoid this.#getLoader().show();\n\t}\n\n\t#hideLoader(): void\n\t{\n\t\tvoid this.#getLoader().hide();\n\t}\n\n\t#getLabelContainer(): HTMLElement\n\t{\n\t\treturn this.cache.remember('label', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<span>\n\t\t\t\t\t<span\n\t\t\t\t\t\tonclick=\"${this.#handleClick.bind(this)}\"\n\t\t\t\t\t\tclass=\"ui-selector-footer-link  ui-selector-footer-link-add\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${\n\t\t\t\t\t\t\tthis.getOption(\n\t\t\t\t\t\t\t\t'creationLabel',\n\t\t\t\t\t\t\t\tLoc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_CREATE'),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</span>\n\t\t\t\t\t${this.getQueryContainer()}\n\t\t\t\t</span>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetLoaderContainer(): HTMLElement\n\t{\n\t\treturn this.cache.remember('loader', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-selector-search-footer-loader\"></div>\n\t\t\t`;\n\t\t});\n\t}\n\n\t#getHintContainer(): ?HTMLElement\n\t{\n\t\treturn this.cache.remember('hint', () => {\n\t\t\tlet message = null;\n\t\t\tif (!this.options.allowEditItem && !this.options.allowCreateItem)\n\t\t\t{\n\t\t\t\tmessage = Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_DISABLED_FOOTER_ALL_HINT', {\n\t\t\t\t\t'#ADMIN_HINT#': this.#getErrorAdminHint(),\n\t\t\t\t});\n\t\t\t}\n\t\t\telse if (!this.options.allowEditItem)\n\t\t\t{\n\t\t\t\tmessage = Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_DISABLED_FOOTER_EDIT_HINT', {\n\t\t\t\t\t'#ADMIN_HINT#': this.#getErrorAdminHint(),\n\t\t\t\t});\n\t\t\t}\n\t\t\telse if (!this.options.allowCreateItem)\n\t\t\t{\n\t\t\t\tmessage = Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_DISABLED_FOOTER_ADD_HINT', {\n\t\t\t\t\t'#ADMIN_HINT#': this.#getErrorAdminHint(),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (!message)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst hintNode = Tag.render`<span class=\"ui-btn ui-btn-icon-lock ui-btn-link\"></span>`;\n\t\t\thintNode.dataset.hint = message;\n\t\t\thintNode.dataset.hintNoIcon = true;\n\n\t\t\tBX.UI.Hint.initNode(hintNode);\n\n\t\t\treturn Tag.render`<div class=\"product-search-selector-disabled-footer-hint\">${hintNode}</div>`;\n\t\t});\n\t}\n\n\t#onClickSaveChanges(): void\n\t{\n\t\tif (!this.options.allowEditItem)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst dialog = this.getDialog();\n\n\t\tdialog.emit('ChangeItem:onClick', { query: dialog.getSearchTab().getLastSearchQuery().query });\n\t\tdialog.clearSearch();\n\t\tdialog.hide();\n\t}\n\n\t#createItem(event: UIEvent): void\n\t{\n\t\tif (!this.options.allowCreateItem)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst tagSelector = this.getDialog().getTagSelector();\n\t\tif (tagSelector && tagSelector.isLocked())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst finalize = () => {\n\t\t\tthis.#hideLoader();\n\t\t\tif (this.getDialog().getTagSelector())\n\t\t\t{\n\t\t\t\tthis.getDialog().getTagSelector().unlock();\n\t\t\t\tthis.getDialog().focusSearch();\n\t\t\t}\n\t\t};\n\n\t\tevent.preventDefault();\n\t\tthis.#showLoader();\n\n\t\tif (tagSelector)\n\t\t{\n\t\t\ttagSelector.lock();\n\t\t}\n\n\t\tthis.getDialog()\n\t\t\t.emitAsync('Search:onItemCreateAsync', {\n\t\t\t\tsearchQuery: this.getDialog().getActiveTab().getLastSearchQuery(),\n\t\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.getTab().clearResults();\n\t\t\t\tthis.getDialog().clearSearch();\n\t\t\t\tif (this.getDialog().getActiveTab() === this.getTab())\n\t\t\t\t{\n\t\t\t\t\tthis.getDialog().selectFirstTab();\n\t\t\t\t}\n\n\t\t\t\tfinalize();\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tfinalize();\n\t\t\t})\n\t\t;\n\t}\n\n\t#handleClick(event: UIEvent): void\n\t{\n\t\tthis.#createItem(event);\n\t}\n\n\t#getErrorAdminHint(): string\n\t{\n\t\treturn this.options.errorAdminHint || '';\n\t}\n}\n","import { DefaultFooter } from 'ui.entity-selector';\nimport { Event, Loc, Tag } from 'main.core';\nimport 'ui.info-helper';\n\nexport class ProductSearchInputLimitedFooter extends DefaultFooter\n{\n\tgetContent(): HTMLElement\n\t{\n\t\tconst phrase = Tag.render`\n\t\t\t<div>${Loc.getMessage('CATALOG_SELECTOR_LIMITED_PRODUCT_CREATION')}</div>\n\t\t`;\n\n\t\tconst infoButton = Tag.render`\n\t\t\t<a class=\"ui-btn ui-btn-sm ui-btn-primary ui-btn-hover ui-btn-round\">\n\t\t\t\t${Loc.getMessage('CATALOG_SELECTOR_LICENSE_EXPLODE')}\n\t\t\t</a>\n\t\t`;\n\n\t\tEvent.bind(infoButton, 'click', () => {\n\t\t\tBX.UI.InfoHelper.show('limit_shop_products');\n\t\t});\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"ui-selector-search-footer-box\">\n\t\t\t\t<div class=\"ui-selector-search-footer-box\">\n\t\t\t\t\t<div class=\"tariff-lock\"></div>\n\t\t\t\t\t${phrase}\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t${infoButton}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n}\n","export class DialogMode\n{\n\tstatic SEARCHING: string = 'SEARCHING';\n\tstatic SHOW_PRODUCT_ITEM: string = 'SHOW_PRODUCT_ITEM';\n\tstatic SHOW_RECENT: string = 'SHOW_RECENT';\n}\n","export class SelectorErrorCode\n{\n\tstatic NOT_SELECTED_PRODUCT: string = 'NOT_SELECTED_PRODUCT';\n\tstatic FAILED_PRODUCT: string = 'FAILED_PRODUCT';\n\n\tstatic getCodes(): Array<string>\n\t{\n\t\treturn [\n\t\t\tSelectorErrorCode.NOT_SELECTED_PRODUCT,\n\t\t\tSelectorErrorCode.FAILED_PRODUCT,\n\t\t];\n\t}\n}\n","import { ProductModel } from 'catalog.product-model';\nimport { ProductSelector } from 'catalog.product-selector';\nimport { ajax, Cache, Dom, Event, Runtime, Tag, Text, Type } from 'main.core';\nimport { BaseEvent } from 'main.core.events';\nimport { Dialog, Item } from 'ui.entity-selector';\nimport { DialogMode } from './dialog-mode';\nimport { SelectorErrorCode } from '../selector-error-code';\n\nexport class ProductSearchInputBase\n{\n\tmodel: ProductModel;\n\tselector: ProductSelector;\n\tcache = new Cache.MemoryCache();\n\n\tconstructor(id, options = {})\n\t{\n\t\tthis.options = options;\n\n\t\tthis.id = id || Text.getRandom();\n\t\tthis.selector = options.selector;\n\t\tif (!(this.selector instanceof ProductSelector))\n\t\t{\n\t\t\tthrow new TypeError('Product selector instance not found.');\n\t\t}\n\n\t\tthis.model = options.model || {};\n\t\tthis.isEnabledDetailLink = options.isEnabledDetailLink;\n\t\tthis.inputName = options.inputName || ProductSelector.INPUT_FIELD_NAME;\n\t\tthis.loadedSelectedItem = null;\n\n\t\tthis.handleSearchInput = Runtime.debounce(this.searchInDialog, 500, this);\n\t}\n\n\tlayout(): HTMLElement\n\t{\n\t\tthis.#clearInputCache();\n\t\tconst block = Tag.render`<div class=\"ui-ctl ui-ctl-w100 ui-ctl-after-icon\"></div>`;\n\n\t\tthis.toggleIcon(this.getClearIcon(), 'none');\n\t\tDom.append(this.getClearIcon(), block);\n\n\t\tif (this.isSearchEnabled())\n\t\t{\n\t\t\tif (this.selector.isProductSearchEnabled())\n\t\t\t{\n\t\t\t\tthis.#initHasDialogItems();\n\t\t\t}\n\n\t\t\tthis.toggleIcon(\n\t\t\t\tthis.#getSearchIcon(),\n\t\t\t\tType.isStringFilled(this.getFilledValue()) ? 'none' : 'block',\n\t\t\t);\n\t\t\tDom.append(this.#getSearchIcon(), block);\n\n\t\t\tEvent.bind(this.getNameInput(), 'click', this.handleClickNameInput.bind(this));\n\t\t\tEvent.bind(this.getNameInput(), 'input', this.handleSearchInput);\n\t\t\tEvent.bind(this.getNameInput(), 'blur', this.#handleNameInputBlur.bind(this));\n\t\t\tEvent.bind(this.getNameInput(), 'keydown', this.handleNameInputKeyDown.bind(this));\n\n\t\t\tthis.dialogMode = this.model.isCatalogExisted()\n\t\t\t\t? DialogMode.SHOW_PRODUCT_ITEM\n\t\t\t\t: DialogMode.SHOW_RECENT\n\t\t\t;\n\t\t}\n\n\t\tif (this.showDetailLink() && Type.isStringFilled(this.getValue()))\n\t\t{\n\t\t\tthis.toggleIcon(this.getClearIcon(), 'none');\n\t\t\tthis.toggleIcon(this.#getSearchIcon(), 'none');\n\t\t\tthis.toggleIcon(this.#getArrowIcon(), 'block');\n\t\t\tDom.append(this.#getArrowIcon(), block);\n\t\t}\n\n\t\tEvent.bind(this.getNameInput(), 'click', this.#handleIconsSwitchingOnNameInput.bind(this));\n\t\tEvent.bind(this.getNameInput(), 'input', this.#handleIconsSwitchingOnNameInput.bind(this));\n\t\tEvent.bind(this.getNameInput(), 'change', this.#handleNameInputChange.bind(this));\n\n\t\tDom.append(this.getNameBlock(), block);\n\n\t\treturn block;\n\t}\n\n\tgetId(): string\n\t{\n\t\treturn this.id;\n\t}\n\n\tgetField(fieldName): string\n\t{\n\t\treturn this.model.getField(fieldName);\n\t}\n\n\tgetValue(): string\n\t{\n\t\treturn this.getField(this.inputName);\n\t}\n\n\tgetFilledValue(): string\n\t{\n\t\treturn this.getNameInput().value || '';\n\t}\n\n\tgetSearchQuery(): string\n\t{\n\t\treturn this.getFilledValue().trim();\n\t}\n\n\tisSearchQueryEmpty(): boolean\n\t{\n\t\treturn this.getSearchQuery() === '';\n\t}\n\n\tisSearchEnabled(): boolean\n\t{\n\t\treturn Boolean(this.options.isSearchEnabled);\n\t}\n\n\ttoggleIcon(icon, value): void\n\t{\n\t\tif (Type.isDomNode(icon))\n\t\t{\n\t\t\tDom.style(icon, 'display', value);\n\t\t}\n\t}\n\n\tgetNameBlock(): HTMLElement\n\t{\n\t\treturn this.cache.remember('nameBlock', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-ctl ui-ctl-textbox ui-ctl-w100\">\n\t\t\t\t\t${this.getNameTag()}\n\t\t\t\t\t${this.getNameInput()}\n\t\t\t\t\t${this.#getHiddenNameInput()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetNameTag(): ?HTMLElement\n\t{\n\t\treturn null;\n\t}\n\n\tgetNameInput(): HTMLInputElement\n\t{\n\t\treturn this.cache.remember('nameInput', () => {\n\t\t\tconst input = Tag.render`\n\t\t\t\t<input type=\"text\"\n\t\t\t\t\tclass=\"ui-ctl-element ui-ctl-textbox\"\n\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\tdata-name=\"${Text.encode(this.inputName)}\"\n\t\t\t\t\tvalue=\"${Text.encode(this.getValue())}\"\n\t\t\t\t\tplaceholder=\"${Text.encode(this.getPlaceholder())}\"\n\t\t\t\t\ttitle=\"${Text.encode(this.getValue())}\"\n\t\t\t\t\tonchange=\"${this.#handleNameInputHiddenChange.bind(this)}\"\n\t\t\t\t>\n\t\t\t`;\n\n\t\t\tif (this.selector.getConfig('SELECTOR_INPUT_DISABLED', false))\n\t\t\t{\n\t\t\t\tDom.addClass(input, 'ui-ctl-disabled');\n\t\t\t\tinput.setAttribute('disabled', true);\n\t\t\t}\n\n\t\t\treturn input;\n\t\t});\n\t}\n\n\tgetClearIcon(): HTMLElement\n\t{\n\t\treturn this.cache.remember('closeIcon', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<button\n\t\t\t\t\tclass=\"ui-ctl-after ui-ctl-icon-clear\"\n\t\t\t\t\tonclick=\"${this.handleClearIconClick.bind(this)}\"\n\t\t\t\t></button>\n\t\t\t`;\n\t\t});\n\t}\n\n\tshowDetailLink(): boolean\n\t{\n\t\treturn this.isEnabledDetailLink;\n\t}\n\n\thandleNameInputKeyDown(event: KeyboardEvent): void\n\t{}\n\n\tclearErrors(): void\n\t{\n\t\tconst errors = this.model.getErrorCollection().getErrors();\n\t\tfor (const code in errors)\n\t\t{\n\t\t\tif (ProductSelector.ErrorCodes.getCodes().includes(code))\n\t\t\t{\n\t\t\t\tthis.model.getErrorCollection().removeError(code);\n\t\t\t}\n\t\t}\n\t}\n\n\tfocusName(): void\n\t{\n\t\trequestAnimationFrame(() => this.getNameInput().focus());\n\t}\n\n\tremoveSpotlight(): void\n\t{}\n\n\tremoveQrAuth(): void\n\t{}\n\n\tdestroy(): void\n\t{}\n\n\tshowItems(): void\n\t{\n\t\tif (this.getFilledValue() === '')\n\t\t{\n\t\t\tthis.showPreselectedItems();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.model.isCatalogExisted() || this.dialogMode !== DialogMode.SHOW_PRODUCT_ITEM)\n\t\t{\n\t\t\tthis.searchInDialog();\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#showSelectedItem();\n\t}\n\n\tshowPreselectedItems(): void\n\t{\n\t\tif (!this.selector.isProductSearchEnabled())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.dialogMode = DialogMode.SHOW_RECENT;\n\t\tconst dialog = this.getDialog();\n\t\tthis.loadPreselectedItems();\n\n\t\tdialog.selectFirstTab();\n\t\tdialog.show();\n\t\tthis.#hideFooter();\n\t}\n\n\tisFooterHidable(): boolean\n\t{\n\t\treturn true;\n\t}\n\n\t/**\n\t * @abstract\n\t */\n\tsearchInDialog(): void\n\t{\n\t\tthrow new Error('Method \"searchInDialog\" should be overridden');\n\t}\n\n\t/**\n\t * @abstract\n\t */\n\thandleClickNameInput(): void\n\t{\n\t\tthrow new Error('Method \"handleClickNameInput\" should be overridden');\n\t}\n\n\t/**\n\t * @abstract\n\t */\n\tgetPlaceholder(): string\n\t{\n\t\tthrow new Error('Method \"getPlaceholder\" should be overridden');\n\t}\n\n\tgetDialog(): Dialog\n\t{\n\t\treturn this.cache.remember('dialog', () => {\n\t\t\treturn new Dialog(this.getDialogParams());\n\t\t});\n\t}\n\n\tgetDialogParams(): Object\n\t{\n\t\tconst entity = {\n\t\t\tid: 'product',\n\t\t\toptions: {\n\t\t\t\tiblockId: this.model.getIblockId(),\n\t\t\t\tbasePriceId: this.model.getBasePriceId(),\n\t\t\t\tcurrency: this.model.getCurrency(),\n\t\t\t},\n\t\t\tdynamicLoad: true,\n\t\t\tdynamicSearch: true,\n\t\t};\n\t\tconst restrictedProductTypes = this.selector.getConfig('RESTRICTED_PRODUCT_TYPES', null);\n\t\tif (!Type.isNil(restrictedProductTypes))\n\t\t{\n\t\t\tentity.options.restrictedProductTypes = restrictedProductTypes;\n\t\t}\n\n\t\treturn {\n\t\t\tid: `${this.id}_product`,\n\t\t\theight: 300,\n\t\t\twidth: Math.max(this.getNameInput()?.offsetWidth, 565),\n\t\t\tcontext: 'catalog-products',\n\t\t\ttargetNode: this.getNameInput(),\n\t\t\tenableSearch: false,\n\t\t\tmultiple: false,\n\t\t\tdropdownMode: true,\n\t\t\trecentTabOptions: {\n\t\t\t\tstub: true,\n\t\t\t\tstubOptions: {\n\t\t\t\t\ttitle: Tag.message`${'CATALOG_SELECTOR_RECENT_TAB_STUB_TITLE'}`,\n\t\t\t\t},\n\t\t\t},\n\t\t\tentities: [entity],\n\t\t\tevents: {\n\t\t\t\t'Item:onSelect': this.onProductSelect.bind(this),\n\t\t\t\tonShow: this.onDialogShow.bind(this),\n\t\t\t},\n\t\t};\n\t}\n\n\tonDialogShow(event: BaseEvent): void\n\t{}\n\n\t/**\n\t * @abstract\n\t */\n\tgetOnProductSelectConfig(item: Item): Object\n\t{\n\t\tthrow new Error('Method \"getOnProductSelectConfig\" should be overridden');\n\t}\n\n\tonProductSelect(event: BaseEvent): void\n\t{\n\t\tconst item = event.getData().item;\n\n\t\titem.getDialog().getTargetNode().value = item.getTitle();\n\t\tthis.toggleIcon(this.#getSearchIcon(), 'none');\n\t\tthis.clearErrors();\n\t\tif (this.selector)\n\t\t{\n\t\t\tthis.selector.onProductSelect(\n\t\t\t\titem.getId(),\n\t\t\t\tthis.getOnProductSelectConfig(item),\n\t\t\t);\n\n\t\t\tthis.selector.clearLayout();\n\t\t\tthis.selector.layout();\n\t\t}\n\n\t\tthis.dialogMode = DialogMode.SHOW_PRODUCT_ITEM;\n\t\tthis.loadedSelectedItem = item;\n\t\tthis.cache.delete('dialog');\n\t}\n\n\tonChangeValue(value: string): void\n\t{\n\t\tthis.getNameInput().title = value;\n\t\tthis.getNameInput().value = value;\n\t}\n\n\thandleClearIconClick(event: UIEvent): void\n\t{\n\t\tthis.clear();\n\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n\n\tclear(): void\n\t{\n\t\tthis.selector.emit('onBeforeClear', {\n\t\t\tselectorId: this.selector.getId(),\n\t\t\trowId: this.selector.getRowId(),\n\t\t});\n\n\t\tthis.loadedSelectedItem = null;\n\t\tif (this.selector.isProductSearchEnabled() && !this.model.isEmpty())\n\t\t{\n\t\t\tthis.selector.clearState();\n\t\t\tthis.selector.clearLayout();\n\t\t\tthis.selector.layout();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst newValue = '';\n\t\t\tthis.toggleIcon(this.getClearIcon(), 'none');\n\t\t\tthis.onChangeValue(newValue);\n\t\t}\n\n\t\tthis.selector.focusName();\n\n\t\tthis.selector.emit('onClear', {\n\t\t\tselectorId: this.selector.getId(),\n\t\t\trowId: this.selector.getRowId(),\n\t\t});\n\t}\n\n\t#handleIconsSwitchingOnNameInput(event: UIEvent): void\n\t{\n\t\tthis.toggleIcon(this.#getArrowIcon(), 'none');\n\n\t\tif (Type.isStringFilled(event.target.value))\n\t\t{\n\t\t\tthis.toggleIcon(this.getClearIcon(), 'block');\n\t\t\tthis.toggleIcon(this.#getSearchIcon(), 'none');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.toggleIcon(this.getClearIcon(), 'none');\n\t\t\tif (this.isSearchEnabled())\n\t\t\t{\n\t\t\t\tthis.toggleIcon(this.#getSearchIcon(), 'block');\n\t\t\t}\n\t\t}\n\t}\n\n\t#initHasDialogItems(): void\n\t{\n\t\tif (!Type.isNil(this.selector.getConfig('EXIST_DIALOG_ITEMS')))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.selector.getModel().isEmpty())\n\t\t{\n\t\t\tthis.selector.setConfig('EXIST_DIALOG_ITEMS', true);\n\n\t\t\treturn;\n\t\t}\n\n\t\t// is null, that not send ajax\n\t\tthis.selector.setConfig('EXIST_DIALOG_ITEMS', false);\n\n\t\tconst dialog = this.getDialog();\n\t\tif (dialog.hasDynamicLoad())\n\t\t{\n\t\t\tthis.loadPreselectedItems();\n\t\t\tdialog.subscribeOnce('onLoad', () => {\n\t\t\t\tif (dialog.getPreselectedItems().length > 1)\n\t\t\t\t{\n\t\t\t\t\tthis.selector.setConfig('EXIST_DIALOG_ITEMS', true);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.selector.setConfig('EXIST_DIALOG_ITEMS', true);\n\t\t}\n\t}\n\n\t#hideFooter(): void\n\t{\n\t\tif (this.isFooterHidable())\n\t\t{\n\t\t\tthis.getDialog().getFooter()?.hide();\n\t\t}\n\t}\n\n\t#handleNameInputChange(event: UIEvent): void\n\t{\n\t\tconst value = event.target.value;\n\t\tthis.onChangeValue(value);\n\t}\n\n\t#clearInputCache(): void\n\t{\n\t\tthis.cache.delete('dialog');\n\t\tthis.cache.delete('nameBlock');\n\t\tthis.cache.delete('nameInput');\n\t\tthis.cache.delete('hiddenNameInput');\n\t}\n\n\tloadPreselectedItems(): void\n\t{\n\t\tconst dialog = this.getDialog();\n\n\t\tif (dialog.isLoading())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tdialog.removeItems();\n\t\tdialog.loadState = 'UNSENT';\n\t\tthis.loadedSelectedItem = null;\n\n\t\tdialog.load();\n\t}\n\n\t#showSelectedItem(): void\n\t{\n\t\tconst dialog = this.getDialog();\n\n\t\tdialog.removeItems();\n\n\t\tnew Promise((resolve, reject) => {\n\t\t\tif (!Type.isNil(this.loadedSelectedItem))\n\t\t\t{\n\t\t\t\tresolve();\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdialog.showLoader();\n\t\t\tajax.runAction(\n\t\t\t\t'catalog.productSelector.getSkuSelectorItem',\n\t\t\t\t{\n\t\t\t\t\tjson: {\n\t\t\t\t\t\tid: this.selector.getModel().getSkuId(),\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tiblockId: this.model.getIblockId(),\n\t\t\t\t\t\t\tbasePriceId: this.model.getBasePriceId(),\n\t\t\t\t\t\t\tcurrency: this.model.getCurrency(),\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\t.then((response) => {\n\t\t\t\t\tdialog.hideLoader();\n\t\t\t\t\tthis.loadedSelectedItem = null;\n\t\t\t\t\tif (Type.isObject(response.data) && !dialog.isLoading())\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.loadedSelectedItem = dialog.addItem(response.data);\n\t\t\t\t\t}\n\t\t\t\t\tresolve();\n\t\t\t\t})\n\t\t\t\t.catch((error) => reject(error));\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tif (Type.isNil(this.loadedSelectedItem))\n\t\t\t\t{\n\t\t\t\t\tthis.searchInDialog();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tdialog.setPreselectedItems([this.selector.getModel().getSkuId()]);\n\t\t\t\t\tdialog.getRecentTab().getRootNode().addItem(this.loadedSelectedItem);\n\t\t\t\t\tdialog.selectFirstTab();\n\t\t\t\t\tthis.#hideFooter();\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((error) => console.error(error));\n\n\t\tdialog.getPopup().show();\n\t\tthis.#hideFooter();\n\t}\n\n\t#handleNameInputHiddenChange(event: UIEvent)\n\t{\n\t\tthis.#getHiddenNameInput().value = event.target.value;\n\t}\n\n\t#handleSearchIconClick(event: UIEvent): void\n\t{\n\t\tthis.searchInDialog();\n\t\tthis.focusName();\n\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n\n\t#handleNameInputBlur(event: UIEvent): void\n\t{\n\t\t// timeout to toggle clear icon handler while cursor is inside of name input\n\t\tsetTimeout(() => {\n\t\t\tthis.toggleIcon(this.getClearIcon(), 'none');\n\n\t\t\tif (this.showDetailLink() && Type.isStringFilled(this.getValue()))\n\t\t\t{\n\t\t\t\tif (this.isSearchEnabled())\n\t\t\t\t{\n\t\t\t\t\tthis.toggleIcon(this.#getSearchIcon(), 'none');\n\t\t\t\t}\n\t\t\t\tthis.toggleIcon(this.#getArrowIcon(), 'block');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.toggleIcon(this.#getArrowIcon(), 'none');\n\t\t\t\tif (this.isSearchEnabled())\n\t\t\t\t{\n\t\t\t\t\tthis.toggleIcon(\n\t\t\t\t\t\tthis.#getSearchIcon(),\n\t\t\t\t\t\tType.isStringFilled(this.getFilledValue()) ? 'none' : 'block',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}, 200);\n\n\t\tif (this.isSearchEnabled() && this.selector.isEnabledEmptyProductError())\n\t\t{\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (\n\t\t\t\t\t!this.selector.inProcess()\n\t\t\t\t\t&& (\n\t\t\t\t\t\tthis.model.isEmpty()\n\t\t\t\t\t\t|| !Type.isStringFilled(this.getFilledValue())\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tthis.model.getErrorCollection().setError(\n\t\t\t\t\t\tSelectorErrorCode.NOT_SELECTED_PRODUCT,\n\t\t\t\t\t\tthis.selector.getEmptySelectErrorMessage(),\n\t\t\t\t\t);\n\n\t\t\t\t\tthis.selector.layoutErrors();\n\t\t\t\t}\n\t\t\t}, 200);\n\t\t}\n\t}\n\n\t#getHiddenNameInput(): HTMLInputElement\n\t{\n\t\treturn this.cache.remember('hiddenNameInput', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<input\n\t\t\t\t \ttype=\"hidden\"\n\t\t\t\t\tname=\"${Text.encode(this.inputName)}\"\n\t\t\t\t\tvalue=\"${Text.encode(this.getValue())}\"\n\t\t\t\t>\n\t\t\t`;\n\t\t});\n\t}\n\n\t#getArrowIcon(): HTMLElement\n\t{\n\t\treturn this.cache.remember('arrowIcon', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<a\n\t\t\t\t\thref=\"${Text.encode(this.model.getDetailPath())}\"\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\tclass=\"ui-ctl-after ui-ctl-icon-forward\"\n\t\t\t\t>\n\t\t\t`;\n\t\t});\n\t}\n\n\t#getSearchIcon(): HTMLElement\n\t{\n\t\treturn this.cache.remember('searchIcon', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<button\n\t\t\t\t\tclass=\"ui-ctl-after ui-ctl-icon-search\"\n\t\t\t\t\tonclick=\"${this.#handleSearchIconClick.bind(this)}\"\n\t\t\t\t></button>\n\t\t\t`;\n\t\t});\n\t}\n}\n","import { Browser, Extension, Loc, Tag, Text, Type } from 'main.core';\nimport { Dialog, Item } from 'ui.entity-selector';\nimport { EventEmitter } from 'main.core.events';\nimport { ProductModel } from 'catalog.product-model';\nimport { ProductSelector } from 'catalog.product-selector';\nimport { ProductSearchInputDefaultFooter } from './footer-default';\nimport { ProductSearchInputLimitedFooter } from './footer-limited';\nimport { DialogMode } from './dialog-mode';\nimport { ProductSearchInputBase } from './input-base';\nimport 'ui.notification';\n\nexport class ProductSearchInputDefault extends ProductSearchInputBase\n{\n\tconstructor(id, options = {})\n\t{\n\t\tsuper(id, options);\n\n\t\tthis.immutableFieldNames = [ProductSelector.INPUT_FIELD_BARCODE, ProductSelector.INPUT_FIELD_NAME];\n\t\tif (!this.immutableFieldNames.includes(this.inputName))\n\t\t{\n\t\t\tthis.immutableFieldNames.push(this.inputName);\n\t\t}\n\n\t\tthis.ajaxInProcess = false;\n\t}\n\n\tgetNameTag(): ?HTMLElement\n\t{\n\t\tif (!this.model.isNew())\n\t\t{\n\t\t\treturn '';\n\t\t}\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"ui-ctl-tag\">${Loc.getMessage('CATALOG_SELECTOR_NEW_TAG_TITLE')}</div>\n\t\t`;\n\t}\n\n\tgetDialogParams(): Object\n\t{\n\t\tconst params = {\n\t\t\t...super.getDialogParams(),\n\t\t\tsearchTabOptions: {\n\t\t\t\tstub: true,\n\t\t\t\tstubOptions: {\n\t\t\t\t\ttitle: Tag.message`${'CATALOG_SELECTOR_IS_EMPTY_TITLE'}`,\n\t\t\t\t\tsubtitle: this.isAllowedCreateProduct()\n\t\t\t\t\t\t? Tag.message`${'CATALOG_SELECTOR_IS_EMPTY_SUBTITLE'}`\n\t\t\t\t\t\t: '',\n\t\t\t\t\tarrow: true,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\tconst settingsCollection = Extension.getSettings('catalog.product-selector');\n\t\tif (Type.isObject(settingsCollection.get('limitInfo')))\n\t\t{\n\t\t\tparams.footer = ProductSearchInputLimitedFooter;\n\t\t}\n\t\telse if (this.model && this.model.isCatalogExisted())\n\t\t{\n\t\t\tparams.footer = ProductSearchInputDefaultFooter;\n\t\t\tparams.footerOptions = {\n\t\t\t\tinputName: this.inputName,\n\t\t\t\tallowEditItem: this.isAllowedEditProduct(),\n\t\t\t\tallowCreateItem: this.isAllowedCreateProduct(),\n\t\t\t\terrorAdminHint: settingsCollection.get('errorAdminHint'),\n\t\t\t\tcreationLabel: Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_CREATE'),\n\t\t\t\tcurrentValue: this.getValue(),\n\t\t\t};\n\t\t}\n\t\telse\n\t\t{\n\t\t\tparams.searchOptions = { allowCreateItem: this.isAllowedCreateProduct() };\n\t\t}\n\n\t\tparams.events['Search:onItemCreateAsync'] = this.createProduct.bind(this);\n\t\tparams.events['ChangeItem:onClick'] = this.showChangeNotification.bind(this);\n\n\t\treturn params;\n\t}\n\n\tisAllowedCreateProduct(): boolean\n\t{\n\t\treturn (\n\t\t\tthis.selector.getConfig('IS_ALLOWED_CREATION_PRODUCT', true)\n\t\t\t&& this.selector.checkProductAddRights()\n\t\t);\n\t}\n\n\tisAllowedEditProduct(): boolean\n\t{\n\t\treturn this.selector.checkProductEditRights();\n\t}\n\n\thandleNameInputKeyDown(event: KeyboardEvent): void\n\t{\n\t\tconst dialog = this.getDialog();\n\t\tif (event.key === 'Enter' && dialog.getActiveTab() === dialog.getSearchTab())\n\t\t{\n\t\t\t// prevent a form submit\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\n\t\t\tif ((Browser.isMac() && event.metaKey) || event.ctrlKey)\n\t\t\t{\n\t\t\t\tdialog.getSearchTab().getFooter().createItem();\n\t\t\t}\n\t\t}\n\t}\n\n\tonChangeValue(value: string): void\n\t{\n\t\tsuper.onChangeValue(value);\n\n\t\tconst fields = {};\n\t\tfields[this.inputName] = value;\n\t\tEventEmitter.emit('ProductSelector::onNameChange', {\n\t\t\trowId: this.selector.getRowId(),\n\t\t\tfields,\n\t\t});\n\n\t\tif (!this.selector.isEnabledAutosave())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.selector.getModel().setFields(fields);\n\t\tthis.selector.getModel().save()\n\t\t\t.then(() => {\n\t\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\t\tid: 'saving_field_notify_name',\n\t\t\t\t\tcloseButton: false,\n\t\t\t\t\tcontent: Tag.render`<div>${Loc.getMessage('CATALOG_SELECTOR_SAVING_NOTIFICATION_NAME')}</div>`,\n\t\t\t\t\tautoHide: true,\n\t\t\t\t});\n\t\t\t}).catch((error) => console.error(error));\n\t}\n\n\tsearchInDialog(): void\n\t{\n\t\tif (this.isSearchQueryEmpty())\n\t\t{\n\t\t\tif (this.isHasDialogItems === false)\n\t\t\t{\n\t\t\t\tthis.getDialog().hide();\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.loadedSelectedItem = null;\n\t\t\tthis.showPreselectedItems();\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.dialogMode = DialogMode.SEARCHING;\n\t\tthis.#searchItem(this.getSearchQuery());\n\t}\n\n\thandleClickNameInput(): void\n\t{\n\t\tconst dialog = this.getDialog();\n\n\t\tif (\n\t\t\tdialog.isOpen()\n\t\t\t|| (this.getFilledValue() === '' && this.isHasDialogItems === false)\n\t\t)\n\t\t{\n\t\t\tdialog.hide();\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.showItems();\n\t}\n\n\tgetImmutableFieldNames(): []\n\t{\n\t\treturn this.immutableFieldNames;\n\t}\n\n\tgetOnProductSelectConfig(item: Item): Object\n\t{\n\t\tconst isNew = item.getCustomData().get('isNew');\n\t\tconst immutableFields = [];\n\n\t\tthis.getImmutableFieldNames().forEach((key) => {\n\t\t\tif (!Type.isNil(item.getCustomData().get(key)))\n\t\t\t{\n\t\t\t\tthis.model.setField(key, item.getCustomData().get(key));\n\t\t\t\timmutableFields.push(key);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tisNew,\n\t\t\timmutableFields,\n\t\t};\n\t}\n\n\tcreateProductModelFromSearchQuery(searchQuery: string): ProductModel\n\t{\n\t\tconst fields = { ...this.selector.getModel().getFields() };\n\t\tfields[this.inputName] = searchQuery;\n\n\t\treturn new ProductModel({\n\t\t\tisSimpleModel: true,\n\t\t\tisNew: true,\n\t\t\tcurrency: this.selector.options.currency,\n\t\t\tiblockId: this.selector.getModel().getIblockId(),\n\t\t\tbasePriceId: this.selector.getModel().getBasePriceId(),\n\t\t\tfields,\n\t\t});\n\t}\n\n\tcreateProduct(event): ?Promise\n\t{\n\t\tif (this.ajaxInProcess)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.ajaxInProcess = true;\n\t\tconst dialog: Dialog = event.getTarget();\n\t\tconst { searchQuery } = event.getData();\n\t\tconst newProduct = this.createProductModelFromSearchQuery(searchQuery.getQuery());\n\n\t\tEventEmitter.emit(this.selector, 'onBeforeCreate', { model: newProduct });\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (!this.checkCreationModel(newProduct))\n\t\t\t{\n\t\t\t\tthis.ajaxInProcess = false;\n\t\t\t\tdialog.hide();\n\t\t\t\treject();\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdialog.showLoader();\n\t\t\tnewProduct.save()\n\t\t\t\t.then((response) => {\n\t\t\t\t\tdialog.hideLoader();\n\t\t\t\t\tconst id = Text.toInteger(response.data.id);\n\t\t\t\t\tconst item = dialog.addItem({\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tentityId: 'product',\n\t\t\t\t\t\ttitle: searchQuery.getQuery(),\n\t\t\t\t\t\ttabs: dialog.getRecentTab().getId(),\n\t\t\t\t\t\tcustomData: {\n\t\t\t\t\t\t\tisNew: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.selector.getModel().setOption('isSimpleModel', false);\n\t\t\t\t\tthis.selector.getModel().setOption('isNew', true);\n\n\t\t\t\t\tthis.getImmutableFieldNames().forEach((name) => {\n\t\t\t\t\t\tthis.selector.getModel().setField(name, newProduct.getField(name));\n\t\t\t\t\t\tthis.selector.getModel().setOption(name, newProduct.getField(name));\n\t\t\t\t\t});\n\n\t\t\t\t\tif (item)\n\t\t\t\t\t{\n\t\t\t\t\t\titem.select();\n\t\t\t\t\t}\n\n\t\t\t\t\tdialog.hide();\n\t\t\t\t\tthis.cache.delete('dialog');\n\t\t\t\t\tthis.ajaxInProcess = false;\n\t\t\t\t\tthis.isHasDialogItems = true;\n\t\t\t\t\tresolve();\n\t\t\t\t})\n\t\t\t\t.catch((errorResponse) => {\n\t\t\t\t\tdialog.hideLoader();\n\t\t\t\t\terrorResponse.errors.forEach((error) => {\n\t\t\t\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\t\t\t\tcloseButton: true,\n\t\t\t\t\t\t\tcontent: Tag.render`<div>${error.message}</div>`,\n\t\t\t\t\t\t\tautoHide: true,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.ajaxInProcess = false;\n\t\t\t\t\treject();\n\t\t\t\t});\n\t\t});\n\t}\n\n\tcheckCreationModel(creationModel: ProductModel): boolean\n\t{\n\t\treturn true;\n\t}\n\n\tshowChangeNotification(event): void\n\t{\n\t\tconst { query } = event.getData();\n\t\tconst options = {\n\t\t\ttitle: Loc.getMessage(`CATALOG_SELECTOR_SAVING_NOTIFICATION_${this.selector.getType()}`),\n\t\t\tevents: {\n\t\t\t\tonSave: () => {\n\t\t\t\t\tif (this.selector)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.selector.getModel().setField(this.inputName, query);\n\t\t\t\t\t\tthis.selector.getModel().save([this.inputName])\n\t\t\t\t\t\t\t.catch((errorResponse) => {\n\t\t\t\t\t\t\t\terrorResponse.errors.forEach((error) => {\n\t\t\t\t\t\t\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\t\t\t\t\t\t\tcloseButton: true,\n\t\t\t\t\t\t\t\t\t\tcontent: Tag.render`<div>${error.message}</div>`,\n\t\t\t\t\t\t\t\t\t\tautoHide: true,\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}\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\tif (this.selector.getConfig('ROLLBACK_INPUT_AFTER_CANCEL', false))\n\t\t{\n\t\t\toptions.declineCancelTitle = Loc.getMessage('CATALOG_SELECTOR_SAVING_NOTIFICATION_CANCEL_TITLE');\n\t\t\toptions.events.onCancel = () => {\n\t\t\t\tthis.selector.clearLayout();\n\t\t\t\tthis.selector.layout();\n\t\t\t};\n\t\t}\n\n\t\tthis.selector.getModel().showSaveNotifier(\n\t\t\t`nameChanger_${this.selector.getId()}`,\n\t\t\toptions,\n\t\t);\n\t}\n\n\tgetPlaceholder(): string\n\t{\n\t\treturn (\n\t\t\tthis.isSearchEnabled() && this.model.isEmpty()\n\t\t\t\t? Loc.getMessage('CATALOG_SELECTOR_BEFORE_SEARCH_TITLE')\n\t\t\t\t: Loc.getMessage('CATALOG_SELECTOR_VIEW_NAME_TITLE')\n\t\t);\n\t}\n\n\t#searchItem(searchQuery: string = ''): void\n\t{\n\t\tif (!this.selector.isProductSearchEnabled())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst dialog = this.getDialog();\n\t\tdialog.getPopup().show();\n\t\tdialog.search(searchQuery);\n\t}\n}\n","import { Loc, Tag, Dom, Type } from 'main.core';\nimport { BaseEvent } from 'main.core.events';\nimport { ProductSearchInputDefaultFooter } from './footer-default';\n\nexport class ProductSearchInputBarcodeFooter extends ProductSearchInputDefaultFooter\n{\n\t#barcodeContent: HTMLElement = null;\n\t#scannerContent: HTMLElement = null;\n\n\tconstructor(id, options = {})\n\t{\n\t\tsuper(id, options);\n\n\t\tthis.getDialog().subscribe('SearchTab:onLoad', this.handleOnSearchLoad.bind(this));\n\t}\n\n\tgetContent(): HTMLElement\n\t{\n\t\tthis.#barcodeContent = super.getContent();\n\t\tthis.#scannerContent = this.#getScannerContent();\n\t\tDom.style(this.#barcodeContent, 'display', 'none');\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"catalog-footers-container\">\n\t\t\t\t${this.#barcodeContent}\n\t\t\t\t${this.#scannerContent}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tisViewEditButton(): boolean\n\t{\n\t\treturn !this.options.isEmptyBarcode && super.isViewEditButton();\n\t}\n\n\t#getScannerContent(): HTMLElement\n\t{\n\t\tconst phrase = Tag.render`\n\t\t\t<div>${Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_BARCODE')}</div>\n\t\t`;\n\n\t\tconst createButton = phrase.querySelector('create-button');\n\n\t\tDom.replace(createButton, this.#getScannerLabelContainer());\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"ui-selector-search-footer-box\">\n\t\t\t\t${phrase}\n\t\t\t\t${this.getLoaderContainer()}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#getScannerLabelContainer(): HTMLElement\n\t{\n\t\treturn this.cache.remember('scannerLabel', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<span onclick=\"${this.options.onScannerClick}\">\n\t\t\t\t\t<span class=\"ui-selector-footer-link ui-selector-footer-link-add footer-link--warehouse-barcode-icon\">\n\t\t\t\t\t\t${Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_BARCODE_START_SCAN_LABEL')}\n\t\t\t\t\t</span>\n\t\t\t\t\t${this.#getScannerQueryContainer()}\n\t\t\t\t</span>\n\t\t\t`;\n\t\t});\n\t}\n\n\t#getScannerQueryContainer(): HTMLElement\n\t{\n\t\treturn this.cache.remember('scanner_name-container', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<span class=\"ui-selector-search-footer-query\"></span>\n\t\t\t`;\n\t\t});\n\t}\n\n\thandleOnSearch(event: BaseEvent): void\n\t{\n\t\tconst { query } = event.getData();\n\n\t\tif (!Type.isStringFilled(query))\n\t\t{\n\t\t\tthis.show();\n\t\t\tDom.style(this.#scannerContent, 'display', '');\n\t\t\tDom.style(this.#barcodeContent, 'display', 'none');\n\t\t}\n\t\telse if (this.options.currentValue === query)\n\t\t{\n\t\t\tthis.hide();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.show();\n\t\t\tDom.style(this.#barcodeContent, 'display', '');\n\t\t\tDom.style(this.#scannerContent, 'display', 'none');\n\t\t}\n\n\t\tthis.getQueryContainer().textContent = ` ${query}`;\n\t\tthis.#getScannerQueryContainer().textContent = ` ${query}`;\n\t}\n\n\thandleOnSearchLoad(event: BaseEvent): void\n\t{\n\t\tconst { searchTab } = event.getData();\n\t\tthis.getDialog().getItems().forEach((item) => {\n\t\t\tif (item.getCustomData().get('BARCODE') === searchTab.getLastSearchQuery().getQuery())\n\t\t\t{\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Extension, Loc, Tag, Type, Text, Dom, Event, userOptions, ajax } from 'main.core';\nimport { EventEmitter } from 'main.core.events';\nimport { ProductModel } from 'catalog.product-model';\nimport { ProductSearchInputLimitedFooter } from './footer-limited';\nimport { ProductSearchInputDefault } from './input-default';\nimport { ProductSelector } from 'catalog.product-selector';\nimport { BarcodeScanner } from 'catalog.barcode-scanner';\nimport { ProductSearchInputBarcodeFooter } from './footer-barcode';\nimport { QrAuthorization } from 'ui.qrauthorization';\nimport { SelectorErrorCode } from '../selector-error-code';\nimport { Guide } from 'ui.tour';\nimport 'ui.notification';\nimport 'spotlight';\n\nexport class ProductSearchInputBarcode extends ProductSearchInputDefault\n{\n\tonFocusHandler = this.handleFocusEvent.bind(this);\n\tonBlurHandler = this.handleBlurEvent.bind(this);\n\n\tconstructor(id, options = {})\n\t{\n\t\tsuper(id, options);\n\n\t\tthis.focused = false;\n\t\tthis.settingsCollection = Extension.getSettings('catalog.product-selector');\n\n\t\tthis.isInstalledMobileApp = (\n\t\t\tthis.selector.getConfig('IS_INSTALLED_MOBILE_APP')\n\t\t\t|| this.settingsCollection.get('isInstallMobileApp')\n\t\t);\n\n\t\tif (\n\t\t\t!this.settingsCollection.get('isEnabledQrAuth')\n\t\t\t&& this.selector.getConfig('ENABLE_BARCODE_QR_AUTH', true)\n\t\t)\n\t\t{\n\t\t\tthis.qrAuth = new QrAuthorization();\n\t\t\tthis.qrAuth.createQrCodeImage();\n\t\t}\n\t}\n\n\tlayout(): HTMLElement\n\t{\n\t\tconst block = super.layout();\n\t\tDom.append(this.#getBarcodeIcon(), block);\n\t\tthis.getNameInput().className += ' catalog-product-field-input-barcode';\n\t\tEvent.bind(this.getNameInput(), 'focus', this.onFocusHandler);\n\t\tEvent.bind(this.getNameInput(), 'blur', this.onBlurHandler);\n\n\t\treturn block;\n\t}\n\n\tgetDialogParams(): Object\n\t{\n\t\tconst entity = {\n\t\t\tid: 'barcode',\n\t\t\toptions: {\n\t\t\t\tiblockId: this.model.getIblockId(),\n\t\t\t\tbasePriceId: this.model.getBasePriceId(),\n\t\t\t\tcurrency: this.model.getCurrency(),\n\t\t\t},\n\t\t\tdynamicLoad: true,\n\t\t\tdynamicSearch: true,\n\t\t\tsearchFields: [\n\t\t\t\t{ name: 'title', type: 'string', system: true, searchable: false },\n\t\t\t],\n\t\t};\n\n\t\tconst restrictedProductTypes = this.selector.getConfig('RESTRICTED_PRODUCT_TYPES', null);\n\t\tif (!Type.isNil(restrictedProductTypes))\n\t\t{\n\t\t\tentity.options.restrictedProductTypes = restrictedProductTypes;\n\t\t}\n\n\t\tconst params = {\n\t\t\tid: `${this.id}_barcode`,\n\t\t\theight: 300,\n\t\t\twidth: Math.max(this.getNameInput()?.offsetWidth, 565),\n\t\t\tcontext: null,\n\t\t\ttargetNode: this.getNameInput(),\n\t\t\tenableSearch: false,\n\t\t\tmultiple: false,\n\t\t\tdropdownMode: true,\n\t\t\tsearchTabOptions: {\n\t\t\t\tstub: true,\n\t\t\t\tstubOptions: {\n\t\t\t\t\ttitle: Tag.message`${'CATALOG_SELECTOR_IS_EMPTY_TITLE'}`,\n\t\t\t\t\tsubtitle: this.isAllowedCreateProduct()\n\t\t\t\t\t\t? Tag.message`${'CATALOG_SELECTOR_IS_EMPTY_SUBTITLE'}`\n\t\t\t\t\t\t: '',\n\t\t\t\t\tarrow: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\tevents: {\n\t\t\t\t'Item:onSelect': this.onProductSelect.bind(this),\n\t\t\t\t'Search:onItemCreateAsync': this.createProduct.bind(this),\n\t\t\t\t'ChangeItem:onClick': this.showChangeNotification.bind(this),\n\t\t\t},\n\t\t\tentities: [entity],\n\t\t};\n\n\t\tif (this.model.getSkuId() && !Type.isStringFilled(this.model.getField(this.inputName)))\n\t\t{\n\t\t\tparams.preselectedItems = [['barcode', this.model.getSkuId()]];\n\t\t}\n\n\t\tif (Type.isObject(this.settingsCollection.get('limitInfo')))\n\t\t{\n\t\t\tparams.footer = ProductSearchInputLimitedFooter;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tparams.footer = ProductSearchInputBarcodeFooter;\n\t\t\tparams.footerOptions = {\n\t\t\t\tonScannerClick: this.#startMobileScanner.bind(this),\n\t\t\t\tisEmptyBarcode: !this.model || !this.model.isCatalogExisted(),\n\t\t\t\tinputName: this.inputName,\n\t\t\t\terrorAdminHint: this.settingsCollection.get('errorAdminHint'),\n\t\t\t\tallowEditItem: this.isAllowedEditProduct(),\n\t\t\t\tallowCreateItem: this.isAllowedCreateProduct(),\n\t\t\t\tcreationLabel: Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_CREATE_WITH_BARCODE'),\n\t\t\t\tcurrentValue: this.getValue(),\n\t\t\t\tsearchOptions: {\n\t\t\t\t\tallowCreateItem: this.isAllowedCreateProduct(),\n\t\t\t\t\tfooterOptions: {\n\t\t\t\t\t\tlabel: Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_CREATE_WITH_BARCODE'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn params;\n\t}\n\n\thandleFocusEvent(): void\n\t{\n\t\tthis.focused = true;\n\t}\n\n\thandleBlurEvent(): void\n\t{\n\t\tthis.focused = false;\n\t}\n\n\tisSearchEnabled(): boolean\n\t{\n\t\treturn true;\n\t}\n\n\tshowDetailLink(): boolean\n\t{\n\t\treturn false;\n\t}\n\n\tgetNameTag(): ?HTMLElement\n\t{\n\t\treturn null;\n\t}\n\n\thandleClickNameInput(event: UIEvent): void\n\t{\n\t\tif (this.qrAuth && this.getDialog().getContainer())\n\t\t{\n\t\t\tif (!Dom.hasClass(this.getDialog().getContainer(), 'qr-barcode-info'))\n\t\t\t{\n\t\t\t\tDom.addClass(this.getDialog().getContainer(), 'qr-barcode-info');\n\t\t\t}\n\n\t\t\tif (this.getDialog().getContainer())\n\t\t\t{\n\t\t\t\tDom.append(this.#layoutMobileQrPopup(), this.getDialog().getContainer());\n\t\t\t}\n\t\t}\n\n\t\tsuper.handleClickNameInput(event);\n\t}\n\n\tshowItems(): void\n\t{\n\t\tthis.searchInDialog();\n\t}\n\n\tonChangeValue(value: string): void\n\t{\n\t\tconst fields = {};\n\n\t\tthis.getNameInput().title = value;\n\t\tthis.getNameInput().value = value;\n\n\t\tfields[this.inputName] = value;\n\n\t\tEventEmitter.emit('ProductSelector::onBarcodeChange', {\n\t\t\trowId: this.selector.getRowId(),\n\t\t\tfields,\n\t\t});\n\n\t\tthis.selector.emit('onBarcodeChange', { value });\n\n\t\tif (this.selector.isEnabledAutosave())\n\t\t{\n\t\t\tthis.selector.getModel().setField(this.inputName, value);\n\t\t\tthis.selector.getModel().showSaveNotifier(\n\t\t\t\t`barcodeChanger_${this.selector.getId()}`,\n\t\t\t\t{\n\t\t\t\t\ttitle: Loc.getMessage('CATALOG_SELECTOR_SAVING_NOTIFICATION_BARCODE'),\n\t\t\t\t\tdisableCancel: true,\n\t\t\t\t\tevents: {\n\t\t\t\t\t\tonSave: () => {\n\t\t\t\t\t\t\tif (this.selector)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthis.selector.getModel().save([this.inputName]);\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\t}\n\n\tsearchInDialog(): void\n\t{\n\t\tthis.#searchByBarcode(this.getSearchQuery());\n\t}\n\n\tcreateProductModelFromSearchQuery(searchQuery: string): ProductModel\n\t{\n\t\tconst model = super.createProductModelFromSearchQuery(searchQuery);\n\t\tmodel.setField(ProductSelector.INPUT_FIELD_NAME, Loc.getMessage('CATALOG_SELECTOR_NEW_BARCODE_PRODUCT_NAME'));\n\t\tmodel.setField(this.inputName, searchQuery);\n\n\t\treturn model;\n\t}\n\n\tcheckCreationModel(creationModel: ProductModel): boolean\n\t{\n\t\tif (!Type.isStringFilled(creationModel.getField(ProductSelector.INPUT_FIELD_NAME)))\n\t\t{\n\t\t\tthis.model.getErrorCollection().setError(\n\t\t\t\tSelectorErrorCode.NOT_SELECTED_PRODUCT,\n\t\t\t\tLoc.getMessage('CATALOG_SELECTOR_EMPTY_TITLE'),\n\t\t\t);\n\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tgetPlaceholder(): string\n\t{\n\t\treturn (\n\t\t\tthis.isSearchEnabled() && this.model.isEmpty()\n\t\t\t\t? Loc.getMessage('CATALOG_SELECTOR_BEFORE_SEARCH_BARCODE_TITLE')\n\t\t\t\t: Loc.getMessage('CATALOG_SELECTOR_VIEW_BARCODE_TITLE')\n\t\t);\n\t}\n\n\thandleClearIconClick(event: UIEvent): void\n\t{\n\t\tthis.toggleIcon(this.getClearIcon(), 'none');\n\t\tthis.onChangeValue('');\n\n\t\tthis.selector.focusName();\n\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n\n\tapplyScannerData(barcode: string): void\n\t{\n\t\tthis.#getProductIdByBarcode(barcode)\n\t\t\t.then((response) => {\n\t\t\t\tconst productId = response?.data;\n\t\t\t\tif (productId)\n\t\t\t\t{\n\t\t\t\t\tthis.#selectScannedBarcodeProduct(productId);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.#searchByBarcode(barcode);\n\t\t\t\t}\n\t\t\t\tthis.getNameInput().value = Text.encode(barcode);\n\t\t\t})\n\t\t\t.catch((error) => console.error(error));\n\t}\n\n\tremoveSpotlight(): void\n\t{\n\t\tif (this.spotlight)\n\t\t{\n\t\t\tthis.spotlight.close();\n\t\t}\n\t}\n\n\tremoveQrAuth(): void\n\t{\n\t\tconst mobilePopup = this.getDialog().getContainer()?.querySelector('[data-role=\"mobile-popup\"]');\n\t\tif (mobilePopup)\n\t\t{\n\t\t\tDom.remove(mobilePopup);\n\t\t\tif (Dom.hasClass(this.getDialog().getContainer(), 'qr-barcode-info'))\n\t\t\t{\n\t\t\t\tDom.removeClass(this.getDialog().getContainer(), 'qr-barcode-info');\n\t\t\t}\n\t\t}\n\n\t\tthis.qrAuth = null;\n\t}\n\n\tdestroy(): void\n\t{\n\t\tEvent.unbind(this.getNameInput(), 'focus', this.onFocusHandler);\n\t\tEvent.unbind(this.getNameInput(), 'blur', this.onBlurHandler);\n\t}\n\n\t#searchByBarcode(searchQuery: string = ''): void\n\t{\n\t\tif (!this.selector.isProductSearchEnabled())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst dialog = this.getDialog();\n\t\tif (!dialog)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tdialog.removeItems();\n\t\tif (!Type.isStringFilled(searchQuery) && this.model && this.model.isCatalogExisted())\n\t\t{\n\t\t\tdialog.setPreselectedItems([['barcode', this.model.getSkuId()]]);\n\t\t\tdialog.loadState = 'UNSENT';\n\t\t\tdialog.load();\n\t\t}\n\n\t\tdialog.show();\n\t\tdialog.search(searchQuery);\n\t}\n\n\t#startMobileScanner(event): void\n\t{\n\t\tif (this.isInstalledMobileApp)\n\t\t{\n\t\t\tthis.#sendMobilePush(event);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.qrAuth)\n\t\t{\n\t\t\tthis.qrAuth = new QrAuthorization();\n\t\t\tthis.qrAuth.createQrCodeImage();\n\t\t}\n\n\t\tif (this.getDialog().isOpen())\n\t\t{\n\t\t\tthis.getDialog().hide();\n\t\t\tthis.getDialog().subscribeOnce('onHide', this.handleClickNameInput.bind(this));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.handleClickNameInput(event);\n\t\t}\n\t}\n\n\t#sendMobilePush(event): void\n\t{\n\t\tevent?.preventDefault();\n\t\tthis.getDialog().hide();\n\t\tthis.getNameInput().focus();\n\n\t\tif (!this.selector.isEnabledMobileScanning())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst token = this.selector.getMobileScannerToken();\n\t\tBarcodeScanner.open(token);\n\n\t\tconst repeatLink = Tag.render`<span class='ui-notification-balloon-action'>${Loc.getMessage('CATALOG_SELECTOR_SEND_PUSH_ON_SCANNER_NOTIFICATION_REPEAT')}</span>`;\n\t\tEvent.bind(repeatLink, 'click', this.#sendMobilePush.bind(this));\n\n\t\tconst content = Tag.render`\n\t\t\t<div>\n\t\t\t\t<span>${Loc.getMessage('CATALOG_SELECTOR_SEND_PUSH_ON_SCANNER_NOTIFICATION')}</span>\n\t\t\t\t${repeatLink}\n\t\t\t</div>\n\t\t`;\n\n\t\tBX.UI.Notification.Center.notify({\n\t\t\tcontent,\n\t\t\tcategory: 'sending_push_barcode_scanner_notification',\n\t\t\tautoHideDelay: 5000,\n\t\t});\n\t}\n\n\t#getProductIdByBarcode(barcode: string): Promise\n\t{\n\t\treturn ajax.runAction(\n\t\t\t'catalog.ProductSelector.#getProductIdByBarcode',\n\t\t\t{\n\t\t\t\tjson: {\n\t\t\t\t\tbarcode,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t}\n\n\t#selectScannedBarcodeProduct(productId): void\n\t{\n\t\tthis.toggleIcon(this.getSearchIcon(), 'none');\n\t\tthis.clearErrors();\n\t\tif (this.selector)\n\t\t{\n\t\t\tthis.selector.onProductSelect(\n\t\t\t\tproductId,\n\t\t\t\t{\n\t\t\t\t\tisNew: false,\n\t\t\t\t\timmutableFields: [],\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tthis.selector.clearLayout();\n\t\t\tthis.selector.layout();\n\t\t}\n\n\t\tthis.cache.delete('dialog');\n\t}\n\n\t#getBarcodeIcon(): HTMLElement\n\t{\n\t\treturn this.cache.remember('barcodeIcon', () => {\n\t\t\tconst barcodeIcon = Tag.render`\n\t\t\t\t<button\tclass=\"ui-ctl-before warehouse-barcode-icon\" title=\"${Loc.getMessage('CATALOG_SELECTOR_BARCODE_ICON_TITLE')}\"></button>\n\t\t\t`;\n\n\t\t\tif (\n\t\t\t\t!this.settingsCollection.get('isShowedBarcodeSpotlightInfo')\n\t\t\t\t&& this.settingsCollection.get('isAllowedShowBarcodeSpotlightInfo')\n\t\t\t\t&& this.selector.getConfig('ENABLE_INFO_SPOTLIGHT', true)\n\t\t\t)\n\t\t\t{\n\t\t\t\tthis.spotlight = new BX.SpotLight(\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'selector_barcode_scanner_info',\n\t\t\t\t\t\ttargetElement: barcodeIcon,\n\t\t\t\t\t\tautoSave: true,\n\t\t\t\t\t\ttargetVertex: 'middle-center',\n\t\t\t\t\t\tzIndex: 200,\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tthis.spotlight.show();\n\n\t\t\t\tEventEmitter.subscribe(this.spotlight, 'BX.SpotLight:onTargetEnter', () => {\n\t\t\t\t\tconst guide = new Guide({\n\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttarget: barcodeIcon,\n\t\t\t\t\t\t\t\ttitle: Loc.getMessage('CATALOG_SELECTOR_BARCODE_SCANNER_FIRST_TIME_HINT_TITLE'),\n\t\t\t\t\t\t\t\ttext: Loc.getMessage('CATALOG_SELECTOR_BARCODE_SCANNER_FIRST_TIME_HINT_TEXT'),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tonEvents: true,\n\t\t\t\t\t});\n\n\t\t\t\t\tguide.getPopup().setAutoHide(true);\n\t\t\t\t\tguide.showNextStep();\n\t\t\t\t\tthis.selector.setConfig('ENABLE_INFO_SPOTLIGHT', false);\n\t\t\t\t\tthis.selector.emit('onSpotlightClose', {});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tEvent.bind(barcodeIcon, 'click', (event) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.qrAuth)\n\t\t\t\t{\n\t\t\t\t\tthis.handleClickNameInput(event);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.#startMobileScanner(event);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn barcodeIcon;\n\t\t});\n\t}\n\n\t#layoutMobileQrPopup(): HTMLElement\n\t{\n\t\treturn this.cache.remember('qrMobilePopup', () => {\n\t\t\tconst closeIcon = Tag.render`<span class=\"popup-window-close-icon\"></span>`;\n\t\t\tEvent.bind(closeIcon, 'click', this.#closeMobilePopup.bind(this));\n\n\t\t\tlet sendButton = '';\n\t\t\tlet helpButton = '';\n\t\t\tif (top.BX.Helper)\n\t\t\t{\n\t\t\t\thelpButton = Tag.render`\n\t\t\t\t\t<a class=\"product-selector-mobile-popup-link ui-btn ui-btn-light-border ui-btn-round\">\n\t\t\t\t\t\t${Loc.getMessage('CATALOG_SELECTOR_MOBILE_POPUP_HELP_BUTTON')}\n\t\t\t\t\t</a>\n\t\t\t\t`;\n\t\t\t\tEvent.bind(helpButton, 'click', () => {\n\t\t\t\t\ttop.BX.Helper.show('redirect=detail&code=14956818');\n\t\t\t\t});\n\n\t\t\t\tsendButton = Tag.render`\n\t\t\t\t\t<a class=\"product-selector-mobile-popup-link ui-btn ui-btn-link\">\n\t\t\t\t\t\t${Loc.getMessage('CATALOG_SELECTOR_MOBILE_POPUP_SEND_PUSH_BUTTON')}\n\t\t\t\t\t</a>\n\t\t\t\t`;\n\n\t\t\t\tEvent.bind(sendButton, 'click', () => {\n\t\t\t\t\ttop.BX.Helper.show('redirect=detail&code=15042444');\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn Tag.render`\n\t\t\t\t<div data-role=\"mobile-popup\">\n\t\t\t\t\t<div class=\"product-selector-mobile-popup-overlay\"></div>\n\t\t\t\t\t<div class=\"product-selector-mobile-popup-content\">\n\t\t\t\t\t\t<div class=\"product-selector-mobile-popup-title\">${Loc.getMessage('CATALOG_SELECTOR_MOBILE_POPUP_TITLE')}</div>\n\t\t\t\t\t\t<div class=\"product-selector-mobile-popup-text\">${Loc.getMessage('CATALOG_SELECTOR_MOBILE_POPUP_INSTRUCTION')}</div>\n\t\t\t\t\t\t<div class=\"product-selector-mobile-popup-qr\">\n\t\t\t\t\t\t\t${this.qrAuth.getQrNode()}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"product-selector-mobile-popup-link-container\">\n\t\t\t\t\t\t\t${helpButton}\n\t\t\t\t\t\t\t${sendButton}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t${closeIcon}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\t#closeMobilePopup(): void\n\t{\n\t\tthis.removeQrAuth();\n\n\t\tajax\n\t\t\t.runAction(\n\t\t\t\t'catalog.ProductSelector.isInstalledMobileApp',\n\t\t\t\t{\n\t\t\t\t\tjson: {},\n\t\t\t\t},\n\t\t\t)\n\t\t\t.then((result) => {\n\t\t\t\tthis.selector.emit('onBarcodeQrClose', {});\n\n\t\t\t\tif (result.data === true)\n\t\t\t\t{\n\t\t\t\t\tthis.selector.emit('onBarcodeScannerInstallChecked', {});\n\t\t\t\t\tthis.isInstalledMobileApp = true;\n\t\t\t\t}\n\t\t\t}).catch((error) => console.error(error))\n\t\t;\n\n\t\tuserOptions.save('product-selector', 'barcodeQrAuth', 'showed', 'Y');\n\t}\n}\n","import { Dom, Tag, Loc, Event } from 'main.core';\nimport { BaseFooter } from 'ui.entity-selector';\n\nexport class ProductSearchInputPlacementFooter extends BaseFooter\n{\n\trender(): HTMLElement\n\t{\n\t\tconst container = Tag.render`<div>${this.getContent()}</div>`;\n\n\t\tDom.addClass(container, this.getContainerClassName());\n\n\t\treturn container;\n\t}\n\n\tgetHelpLink(): HTMLElement\n\t{\n\t\tconst helpLink = Tag.render`\n\t\t\t<div class=\"product-selector-placement__help-link\">\n\t\t\t\t${Loc.getMessage('CATALOG_SELECTOR_1C_HELP_LINK')}\n\t\t\t</div>\n\t\t`;\n\n\t\tEvent.bind(helpLink, 'click', () => {\n\t\t\tif (top.BX && top.BX.Helper)\n\t\t\t{\n\t\t\t\ttop.BX.Helper.show('redirect=detail&code=20233654');\n\t\t\t}\n\t\t});\n\n\t\treturn helpLink;\n\t}\n\n\t/**\n\t * @abstract\n\t */\n\tgetContent(): HTMLElement\n\t{\n\t\tthrow new Error('Method \"getContent\" should be overridden');\n\t}\n\n\t/**\n\t * @abstract\n\t */\n\tgetContainerClassName(): string\n\t{\n\t\tthrow new Error('Method \"getContainerClassName\" should be overridden');\n\t}\n}\n","import { Tag, Event } from 'main.core';\nimport { ProductSearchInputPlacementFooter } from './footer-placement';\nimport { OneCPlanRestrictionSlider } from 'catalog.tool-availability-manager';\nimport 'ui.icon-set.main';\n\nexport class ProductSearchInputPlacementFooterLock extends ProductSearchInputPlacementFooter\n{\n\tgetContent(): HTMLElement\n\t{\n\t\tconst statusNode = Tag.render`\n\t\t\t<div class=\"product-selector-placement__status\">\n\t\t\t\t${this.getOption('text') || ''}\n\t\t\t</div>\n\t\t`;\n\n\t\tEvent.bind(statusNode, 'click', () => {\n\t\t\tOneCPlanRestrictionSlider.show();\n\t\t});\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"product-selector-placement__container --lock\">\n\t\t\t\t<div class=\"product-selector-placement__icon-1C\">\n\t\t\t\t\t<div class=\"ui-icon-set --1c\"></div>\n\t\t\t\t</div>\n\t\t\t\t${statusNode}\n\t\t\t\t${this.getHelpLink()}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetContainerClassName(): string\n\t{\n\t\treturn 'product-selector-placement__footer-failure';\n\t}\n}\n","import { Tag } from 'main.core';\nimport { ProductSearchInputPlacementFooter } from './footer-placement';\nimport 'ui.icon-set.main';\n\nexport class ProductSearchInputPlacementFooterFailure extends ProductSearchInputPlacementFooter\n{\n\tgetContent(): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"product-selector-placement__container --default\">\n\t\t\t\t<div class=\"product-selector-placement__icon-1C\">\n\t\t\t\t\t<div class=\"ui-icon-set --1c\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ui-icon-set --warning product-selector-placement__icon-error\"></div>\n\t\t\t\t<div class=\"product-selector-placement__status\">\n\t\t\t\t\t${this.getOption('text') || ''}\n\t\t\t\t</div>\n\t\t\t\t${this.getHelpLink()}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetContainerClassName(): string\n\t{\n\t\treturn 'product-selector-placement__footer-failure';\n\t}\n}\n","import { Tag, Loc } from 'main.core';\nimport { ProductSearchInputPlacementFooter } from './footer-placement';\nimport 'ui.icon-set.main';\n\nexport class ProductSearchInputPlacementFooterLoading extends ProductSearchInputPlacementFooter\n{\n\tgetContent(): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"product-selector-placement__container\">\n\t\t\t\t<div class=\"product-selector-placement__loader-icon\">\n\t\t\t\t\t<div class=\"ui-icon-set --1c\"></div>\n\t\t\t\t\t<div class=\"product-selector-placement__loader\">\n\t\t\t\t\t\t<div class=\"product-selector-placement__loader-subtract\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"product-selector-placement__status\">\n\t\t\t\t\t${Loc.getMessage('CATALOG_SELECTOR_1C_CONNECTING')}\n\t\t\t\t</div>\n\t\t\t\t${this.getHelpLink()}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetContainerClassName(): string\n\t{\n\t\treturn 'product-selector-placement__footer-loading';\n\t}\n}\n","import { Tag, Loc } from 'main.core';\nimport { ProductSearchInputPlacementFooter } from './footer-placement';\nimport 'ui.icon-set.main';\n\nexport class ProductSearchInputPlacementFooterSuccess extends ProductSearchInputPlacementFooter\n{\n\tgetContent(): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"product-selector-placement__container\">\n\t\t\t\t<div class=\"product-selector-placement__icon-1C\">\n\t\t\t\t\t<div class=\"ui-icon-set --1c\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"product-selector-placement__status\">\n\t\t\t\t\t${Loc.getMessage('CATALOG_SELECTOR_1C_CONNECTED')}\n\t\t\t\t</div>\n\t\t\t\t${this.getHelpLink()}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetContainerClassName(): string\n\t{\n\t\treturn 'product-selector-placement__footer-success';\n\t}\n}\n","import { Extension, Loc, Text } from 'main.core';\nimport { Item, Tab } from 'ui.entity-selector';\nimport { BaseEvent, EventEmitter } from 'main.core.events';\nimport { DialogMode } from './dialog-mode';\nimport { ProductSearchInputPlacementFooterLock } from './footer-placement-lock';\nimport { ProductSearchInputPlacementFooterFailure } from './footer-placement-failure';\nimport { ProductSearchInputPlacementFooterLoading } from './footer-placement-loading';\nimport { ProductSearchInputPlacementFooterSuccess } from './footer-placement-success';\nimport { ProductSearchInputBase } from './input-base';\nimport { OneCPlanRestrictionSlider } from 'catalog.tool-availability-manager';\nimport { ExternalCatalogPlacement } from 'catalog.external-catalog-placement';\nimport 'ui.notification';\n\nexport class ProductSearchInputPlacement extends ProductSearchInputBase\n{\n\t#searchTimer = null;\n\t#productCreateTimer = null;\n\t#settingsCollection: Object = {};\n\n\tconstructor(id, options = {})\n\t{\n\t\tsuper(id, options);\n\n\t\tthis.#settingsCollection = Extension.getSettings('catalog.product-selector');\n\n\t\tEventEmitter.subscribe(\n\t\t\t'Catalog:ProductSelectorPlacement:onProductCreated',\n\t\t\tthis.#onProductCreated.bind(this),\n\t\t);\n\t\tEventEmitter.subscribe(\n\t\t\t'Catalog:ProductSelectorPlacement:onProductsFound',\n\t\t\tthis.#onProductsFound.bind(this),\n\t\t);\n\n\t\tthis.#initializePlacement().catch(() => {});\n\t}\n\n\tisSearchEnabled(): boolean\n\t{\n\t\treturn true;\n\t}\n\n\tonDialogShow(event: BaseEvent): void\n\t{\n\t\tthis.#initializePlacement().catch(() => {});\n\t}\n\n\tgetDialogParams(): Object\n\t{\n\t\treturn {\n\t\t\t...super.getDialogParams(),\n\t\t\t...this.#getDialogParamsFooter(),\n\t\t\tsearchOptions: {\n\t\t\t\tallowCreateItem: false,\n\t\t\t},\n\t\t\tsearchTabOptions: {\n\t\t\t\tstub: true,\n\t\t\t\tstubOptions: {\n\t\t\t\t\ttitle: Loc.getMessage('CATALOG_SELECTOR_IS_EMPTY_TITLE'),\n\t\t\t\t\tsubtitle: '',\n\t\t\t\t\tarrow: false,\n\t\t\t\t},\n\t\t\t},\n\t\t\trecentTabOptions: {\n\t\t\t\tstub: true,\n\t\t\t\tstubOptions: {\n\t\t\t\t\ttitle: Loc.getMessage('CATALOG_SELECTOR_1C_RECENT_TAB_SEARCH_TITLE'),\n\t\t\t\t\tsubtitle: Loc.getMessage('CATALOG_SELECTOR_1C_RECENT_TAB_SEARCH_SUBTITLE'),\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tsearchInDialog(): void\n\t{\n\t\tthis.getDialog().getPopup().show();\n\t\tthis.#initializePlacement()\n\t\t\t.then(() => this.searchInDialogActual())\n\t\t\t.catch(() => {});\n\t}\n\n\tsearchInDialogActual()\n\t{\n\t\tconst dialog = this.getDialog();\n\n\t\tdialog.getPopup().show();\n\n\t\tif (this.isSearchQueryEmpty())\n\t\t{\n\t\t\tthis.clear();\n\t\t\tdialog.selectTab(this.getDialog().getRecentTab().getId());\n\t\t\tthis.showItems();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.dialogMode = DialogMode.SEARCHING;\n\t\t\tdialog.selectTab(dialog.getSearchTab().getId());\n\t\t\tdialog.getSearchTab().getStub().hide();\n\t\t\tthis.#initializePlacement()\n\t\t\t\t.then(() => this.#searchInExternalCatalog())\n\t\t\t\t.catch(() => {});\n\t\t}\n\t}\n\n\thandleClickNameInput(): void\n\t{\n\t\tif (this.#settingsCollection.is1cPlanRestricted)\n\t\t{\n\t\t\tOneCPlanRestrictionSlider.show();\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getDialog().getPopup().show();\n\t\tthis.#initializePlacement()\n\t\t\t.then(() => this.showItems())\n\t\t\t.catch(() => {});\n\t}\n\n\tgetPlaceholder(): string\n\t{\n\t\treturn Loc.getMessage('CATALOG_SELECTOR_1C_INPUT_PLACEHOLDER');\n\t}\n\n\tgetOnProductSelectConfig(item: Item): Object\n\t{\n\t\treturn {\n\t\t\tneedExternalUpdate: item.getCustomData().get('needExternalUpdate'),\n\t\t};\n\t}\n\n\tonProductSelect(event: BaseEvent): void\n\t{\n\t\tconst item: Item = event.getData().item;\n\n\t\tif (\n\t\t\tevent.getTarget() === this.getDialog()\n\t\t\t&& item.getCustomData().has('appSid')\n\t\t)\n\t\t{\n\t\t\tthis.selector.emitOnProductSelectEvents();\n\t\t\tthis.#onExternalCatalogProductSelect(item);\n\n\t\t\treturn;\n\t\t}\n\n\t\tsuper.onProductSelect(event);\n\t}\n\n\tisFooterHidable(): boolean\n\t{\n\t\treturn false;\n\t}\n\n\t#onExternalCatalogProductSelect(item: Item): void\n\t{\n\t\tif (this.#productCreateTimer)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst returnEventData = {\n\t\t\trowId: this.selector.getRowId(),\n\t\t};\n\t\tEventEmitter.emit('Catalog:ProductSelectorPlacement:onNeedProductCreate', {\n\t\t\tappSid: item.getCustomData().get('appSid'),\n\t\t\tproductId: item.id,\n\t\t\treturnEventData,\n\t\t});\n\n\t\tthis.#productCreateTimer = setTimeout(() => {\n\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\tcontent: Loc.getMessage('CATALOG_SELECTOR_1C_NOT_RESPONDING_ERROR'),\n\t\t\t\tautoHide: true,\n\t\t\t\tautoHideDelay: 4000,\n\t\t\t});\n\n\t\t\tthis.#onProductCreated(\n\t\t\t\tnew BaseEvent({\n\t\t\t\t\tdata: {\n\t\t\t\t\t\t...returnEventData,\n\t\t\t\t\t\tcreatedProduct: null,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t);\n\t\t}, ExternalCatalogPlacement.RESPONSE_TIMEOUT);\n\t}\n\n\t#onProductsFound(event: BaseEvent): void\n\t{\n\t\tconst { rowId, searchResults, searchQuery } = event.getData();\n\t\tif (rowId !== this.selector.getRowId())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#clearSearchTimer();\n\n\t\tif (searchQuery !== this.getSearchQuery())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst dialog = this.getDialog();\n\t\tdialog.selectTab(dialog.getSearchTab().getId());\n\n\t\tif (searchResults.length === 0)\n\t\t{\n\t\t\tthis.#renderStub(\n\t\t\t\tthis.getDialog().getSearchTab(),\n\t\t\t\t{\n\t\t\t\t\ttitle: Loc.getMessage('CATALOG_SELECTOR_IS_EMPTY_TITLE'),\n\t\t\t\t\tsubtitle: '',\n\t\t\t\t\tarrow: false,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\tfor (const searchResultItem of searchResults)\n\t\t{\n\t\t\tdialog.addItem({\n\t\t\t\tid: searchResultItem.id,\n\t\t\t\ttitle: searchResultItem.name,\n\t\t\t\tavatar: '/bitrix/js/catalog/product-selector/images/icon1C.png',\n\t\t\t\tentityId: 'product',\n\t\t\t\ttabs: dialog.getSearchTab().getId(),\n\t\t\t\tcustomData: {\n\t\t\t\t\tappSid: this.selector.placement.getAppSidId(),\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\tthis.#hideSearchLoader();\n\t\tthis.#toggleEmptyResult();\n\n\t\tthis.getDialog().setFooter(ProductSearchInputPlacementFooterSuccess);\n\t}\n\n\t#clearSearchTimer(): void\n\t{\n\t\tclearTimeout(this.#searchTimer);\n\t\tthis.#searchTimer = null;\n\t}\n\n\t#onProductCreated(event: BaseEvent): void\n\t{\n\t\tif (this.#productCreateTimer === null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst { rowId, createdProduct } = event.getData();\n\t\tif (rowId !== this.selector.getRowId())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst dialog = this.getDialog();\n\n\t\tconst createdProductId = Text.toNumber(createdProduct?.id);\n\t\tconst item = new Item({\n\t\t\tid: createdProductId || 0,\n\t\t\tentityId: 'product',\n\t\t\ttitle: createdProduct?.title || '',\n\t\t\tcustomData: {\n\t\t\t\tneedExternalUpdate: false,\n\t\t\t},\n\t\t});\n\t\titem.setDialog(dialog);\n\n\t\tif (createdProductId > 0)\n\t\t{\n\t\t\tdialog.saveRecentItem(item);\n\t\t}\n\n\t\tthis.onProductSelect(\n\t\t\tnew BaseEvent({\n\t\t\t\tdata: {\n\t\t\t\t\titem,\n\t\t\t\t},\n\t\t\t}),\n\t\t);\n\n\t\tdialog.removeItems();\n\t\tdialog.hide();\n\n\t\tclearTimeout(this.#productCreateTimer);\n\t\tthis.#productCreateTimer = null;\n\t}\n\n\t#showSearchLoader(): void\n\t{\n\t\tconst searchLoader = this.getDialog().getSearchTab().getSearchLoader();\n\n\t\tsearchLoader.show();\n\t\tsearchLoader.getTextContainer().textContent = Loc.getMessage('CATALOG_SELECTOR_1C_SEARCH');\n\t}\n\n\t#hideSearchLoader(): void\n\t{\n\t\tthis.getDialog().getSearchTab().getSearchLoader().hide();\n\t}\n\n\t#toggleEmptyResult(): void\n\t{\n\t\tthis.getDialog().getSearchTab().toggleEmptyResult();\n\t}\n\n\t#searchInExternalCatalog(): void\n\t{\n\t\tthis.#clearSearchTimer();\n\t\tthis.#showSearchLoader();\n\t\tthis.getDialog().removeItems();\n\n\t\tEventEmitter.emit('Catalog:ProductSelectorPlacement:onNeedSearchProducts', {\n\t\t\tappSid: this.selector.placement.getAppSidId(),\n\t\t\tsearchQuery: this.getSearchQuery(),\n\t\t\treturnEventData: {\n\t\t\t\trowId: this.selector.getRowId(),\n\t\t\t\tsearchQuery: this.getSearchQuery(),\n\t\t\t},\n\t\t});\n\n\t\tthis.#searchTimer = setTimeout(() => {\n\t\t\tthis.#clearSearchTimer();\n\t\t\tthis.#hideSearchLoader();\n\t\t\tthis.#toggleEmptyResult();\n\n\t\t\tthis.getDialog().setFooter(\n\t\t\t\tProductSearchInputPlacementFooterFailure,\n\t\t\t\t{\n\t\t\t\t\ttext: Loc.getMessage('CATALOG_SELECTOR_1C_NOT_RESPONDING'),\n\t\t\t\t},\n\t\t\t);\n\t\t\tthis.#renderStub(\n\t\t\t\tthis.getDialog().getSearchTab(),\n\t\t\t\t{\n\t\t\t\t\ttitle: Loc.getMessage('CATALOG_SELECTOR_1C_RECENT_TAB_NO_RESPONSE_TITLE'),\n\t\t\t\t\tsubtitle: Loc.getMessage('CATALOG_SELECTOR_1C_RECENT_TAB_NO_RESPONSE_SUBTITLE').replace('[break]', '<br>'),\n\t\t\t\t\tarrow: true,\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\tcontent: Loc.getMessage('CATALOG_SELECTOR_1C_NOT_RESPONDING_ERROR'),\n\t\t\t\tautoHide: true,\n\t\t\t\tautoHideDelay: 4000,\n\t\t\t});\n\t\t}, ExternalCatalogPlacement.RESPONSE_TIMEOUT);\n\t}\n\n\t#getDialogParamsFooter(): Object\n\t{\n\t\tlet footer = ProductSearchInputPlacementFooterLoading;\n\t\tlet footerOptions = {};\n\n\t\tif (this.selector.placement.isInitialized())\n\t\t{\n\t\t\tfooter = this.selector.placement.isInitializedSuccessfully()\n\t\t\t\t? ProductSearchInputPlacementFooterSuccess\n\t\t\t\t: ProductSearchInputPlacementFooterFailure\n\t\t\t;\n\t\t\tif (this.selector.placement.isInitializedSuccessfully())\n\t\t\t{\n\t\t\t\tfooter = ProductSearchInputPlacementFooterSuccess;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfooter = ProductSearchInputPlacementFooterFailure;\n\t\t\t\tfooterOptions = {\n\t\t\t\t\ttext: Loc.getMessage('CATALOG_SELECTOR_1C_NOT_CONNECTED'),\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tfooter,\n\t\t\tfooterOptions,\n\t\t};\n\t}\n\n\t#initializePlacement(): Promise\n\t{\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.selector.placement.initialize()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.getDialog().setFooter(ProductSearchInputPlacementFooterSuccess);\n\n\t\t\t\t\tresolve();\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tthis.#renderStub(\n\t\t\t\t\t\tthis.getDialog().getRecentTab(),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: Loc.getMessage('CATALOG_SELECTOR_1C_RECENT_TAB_INIT_FAILURE_TITLE'),\n\t\t\t\t\t\t\tsubtitle: Loc.getMessage('CATALOG_SELECTOR_1C_RECENT_TAB_INIT_FAILURE_SUBTITLE')\n\t\t\t\t\t\t\t\t.replace('[break]', '<br>'),\n\t\t\t\t\t\t\tarrow: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\n\t\t\t\t\tif (error?.reason === 'tariff')\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.getDialog().setFooter(\n\t\t\t\t\t\t\tProductSearchInputPlacementFooterLock,\n\t\t\t\t\t\t\t{ text: Loc.getMessage('CATALOG_SELECTOR_1C_NOT_CONNECTED') },\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.getDialog().setFooter(\n\t\t\t\t\t\t\tProductSearchInputPlacementFooterFailure,\n\t\t\t\t\t\t\t{ text: Loc.getMessage('CATALOG_SELECTOR_1C_NOT_CONNECTED') },\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treject();\n\t\t\t\t});\n\t\t});\n\t}\n\n\tloadPreselectedItems(): void\n\t{\n\t\tthis.selector.placement.initialize().then(() => super.loadPreselectedItems()).catch(() => {});\n\t}\n\n\t#renderStub(tab: Tab, stubOptions: Object)\n\t{\n\t\tthis.getDialog().removeItems();\n\n\t\ttab.getStub().hide();\n\t\ttab.setStub(true, stubOptions);\n\t\ttab.getStub().show();\n\t}\n}\n","import { Runtime, Tag, Text, Type } from 'main.core';\nimport { ProductSelector } from 'catalog.product-selector';\n\nimport './component.css';\n\nexport class ProductImageInput\n{\n\tconstructor(id, options = {})\n\t{\n\t\tthis.id = id || Text.getRandom();\n\t\tthis.selector = options.selector || null;\n\t\tif (!(this.selector instanceof ProductSelector))\n\t\t{\n\t\t\tthrow new Error('Product selector instance not found.');\n\t\t}\n\n\t\tthis.config = options.config || {};\n\n\t\tif (!Type.isStringFilled(this.selector.getModel()?.getImageCollection().getEditInput()))\n\t\t{\n\t\t\tthis.restoreDefaultInputHtml();\n\t\t}\n\n\t\tthis.enableSaving = options.enableSaving;\n\n\t\tthis.uploaderFieldMap = {};\n\t}\n\n\tgetId()\n\t{\n\t\treturn this.id;\n\t}\n\n\tsetId(id)\n\t{\n\t\tthis.id = id;\n\t}\n\n\tsetView(html): void\n\t{\n\t\tthis.selector.getModel()?.getImageCollection().setPreview(html);\n\t}\n\n\tsetInputHtml(html): void\n\t{\n\t\tthis.selector.getModel()?.getImageCollection().setEditInput(html);\n\t}\n\n\trestoreDefaultInputHtml(): void\n\t{\n\t\tconst defaultInput = `\n\t\t\t<div class=\"ui-image-input-container ui-image-input-img--disabled\">\n\t\t\t\t<div class=\"adm-fileinput-wrapper\">\n\t\t\t\t\t<div class=\"adm-fileinput-area mode-pict adm-fileinput-drag-area\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tthis.selector.getModel()?.getImageCollection().setEditInput(defaultInput);\n\t\tthis.selector.getModel()?.getImageCollection().setPreview(defaultInput);\n\t}\n\n\tisViewMode(): boolean\n\t{\n\t\treturn this.selector && (this.selector.isViewMode() || !this.selector.model.isSaveable());\n\t}\n\n\tisEnabledLiveSaving(): boolean\n\t{\n\t\treturn this.enableSaving;\n\t}\n\n\tlayout(): HTMLElement\n\t{\n\t\tconst imageContainer = Tag.render`<div></div>`;\n\t\tconst html = this.isViewMode()\n\t\t\t? this.selector.getModel()?.getImageCollection()?.getPreview()\n\t\t\t: this.selector.getModel()?.getImageCollection()?.getEditInput();\n\n\t\tRuntime.html(imageContainer, html);\n\n\t\treturn imageContainer;\n\t}\n}\n","import { ajax, Cache, Dom, Extension, Loc, Reflection, Runtime, Tag, Text, Type } from 'main.core';\nimport 'ui.design-tokens';\nimport 'ui.forms';\nimport 'fileinput';\nimport 'ui.notification';\nimport { EventEmitter, BaseEvent } from 'main.core.events';\nimport { SkuTree } from 'catalog.sku-tree';\nimport { ProductSearchInputDefault } from './search-input/input-default';\nimport { ProductSearchInputBarcode } from './search-input/input-barcode';\nimport { ProductSearchInputBase } from './search-input/input-base';\nimport { ProductSearchInputPlacement } from './search-input/input-placement';\nimport { ProductImageInput } from './product-image-input';\nimport { ProductModel, RightActionDictionary } from 'catalog.product-model';\nimport { SelectorErrorCode } from './selector-error-code';\nimport { ExternalCatalogPlacement } from 'catalog.external-catalog-placement';\n\nimport './component.css';\n\nconst instances = new Map();\nconst iblockSkuTreeProperties = new Map();\n\nexport class ProductSelector extends EventEmitter\n{\n\tstatic MODE_VIEW = 'view';\n\tstatic MODE_EDIT = 'edit';\n\tstatic SHORT_VIEW_FORMAT = 'short';\n\tstatic FULL_VIEW_FORMAT = 'full';\n\tstatic INPUT_FIELD_NAME = 'NAME';\n\tstatic INPUT_FIELD_BARCODE = 'BARCODE';\n\tstatic ErrorCodes = SelectorErrorCode;\n\tstatic UIInputRequest = null;\n\n\t#inAjaxProcess = false;\n\tmode: ProductSelector.MODE_EDIT | ProductSelector.MODE_VIEW = ProductSelector.MODE_EDIT;\n\tcache = new Cache.MemoryCache();\n\ttype = ProductSelector.INPUT_FIELD_NAME;\n\tfileInput: ?ProductImageInput;\n\tsearchInput: ?ProductSearchInputBase;\n\tskuTreeInstance: ?SkuTree;\n\tmobileScannerToken = null;\n\n\tvariationChangeHandler = this.handleVariationChange.bind(this);\n\tonSaveImageHandler = this.onSaveImage.bind(this);\n\tonChangeFieldsHandler = Runtime.debounce(this.onChangeFields, 500, this);\n\tonUploaderIsInitedHandler = this.onUploaderIsInited.bind(this);\n\tonNameChangeFieldHandler = Runtime.debounce(this.onNameChange, 500, this);\n\n\tplacement: ?ExternalCatalogPlacement;\n\tplacementOnProductUpdatedHandler = this.placementOnProductUpdated.bind(this);\n\n\tstatic getById(id: string): ?ProductSelector\n\t{\n\t\treturn instances.get(id) || null;\n\t}\n\n\tconstructor(id, options = {})\n\t{\n\t\tsuper();\n\n\t\tthis.setEventNamespace('BX.Catalog.ProductSelector');\n\t\tthis.id = id || Text.getRandom();\n\t\toptions.inputFieldName = options.inputFieldName || ProductSelector.INPUT_FIELD_NAME;\n\t\tthis.options = options || {};\n\t\tthis.settings = Extension.getSettings('catalog.product-selector');\n\n\t\tthis.type = this.options.type || ProductSelector.INPUT_FIELD_NAME;\n\n\t\tthis.setMode(options.mode);\n\n\t\tthis.isExternalCatalog = this.settings.get('isExternalCatalog', false);\n\t\tif (this.isExternalCatalog)\n\t\t{\n\t\t\tthis.placement = ExternalCatalogPlacement.create();\n\t\t\tthis.placement.initialize();\n\t\t}\n\n\t\tif (options.model && (options.model instanceof ProductModel))\n\t\t{\n\t\t\tthis.model = options.model;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.model = ProductModel.getById(this.id);\n\t\t}\n\n\t\tif (!(this.model instanceof ProductModel))\n\t\t{\n\t\t\tthis.model = new ProductModel(\n\t\t\t\t{\n\t\t\t\t\tcurrency: options.currency,\n\t\t\t\t\tiblockId: Text.toNumber(options.iblockId),\n\t\t\t\t\tbasePriceId: Text.toNumber(options.basePriceId),\n\t\t\t\t\tfields: options.fields,\n\t\t\t\t\tskuTree: options.skuTree,\n\t\t\t\t\tstoreMap: options.storeMap,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\tthis.model.getImageCollection().setMorePhotoValues(options.morePhotoValues);\n\t\tif (!Type.isNil(this.getConfig('DETAIL_PATH')))\n\t\t{\n\t\t\tthis.model.setDetailPath(this.getConfig('DETAIL_PATH'));\n\t\t}\n\n\t\tif (options.failedProduct)\n\t\t{\n\t\t\tthis.model.getErrorCollection().setError(\n\t\t\t\tSelectorErrorCode.FAILED_PRODUCT,\n\t\t\t\t'',\n\t\t\t);\n\t\t}\n\n\t\tif (this.isShowableEmptyProductError())\n\t\t{\n\t\t\tthis.model.getErrorCollection().setError(\n\t\t\t\tSelectorErrorCode.NOT_SELECTED_PRODUCT,\n\t\t\t\tthis.getEmptySelectErrorMessage(),\n\t\t\t);\n\t\t}\n\n\t\tif (options.fileView)\n\t\t{\n\t\t\tthis.model.getImageCollection().setPreview(options.fileView);\n\t\t}\n\n\t\tif (options.fileInput)\n\t\t{\n\t\t\tthis.model.getImageCollection().setEditInput(options.fileInput);\n\t\t}\n\n\t\tthis.layout();\n\n\t\tif (options.skuTree)\n\t\t{\n\t\t\tthis.updateSkuTree(options.skuTree);\n\t\t}\n\n\t\tif (options.scannerToken)\n\t\t{\n\t\t\tthis.setMobileScannerToken(options.scannerToken);\n\t\t}\n\n\t\tthis.subscribeEvents();\n\n\t\tinstances.set(this.id, this);\n\t}\n\n\tsetModel(model: ProductModel): void\n\t{\n\t\tthis.model = model;\n\t}\n\n\tgetModel(): ProductModel\n\t{\n\t\treturn this.model;\n\t}\n\n\tsetMode(mode: ProductSelector.MODE_VIEW | ProductSelector.MODE_EDIT): void\n\t{\n\t\tif (!Type.isNil(mode))\n\t\t{\n\t\t\tthis.mode = mode === ProductSelector.MODE_VIEW ? ProductSelector.MODE_VIEW : ProductSelector.MODE_EDIT;\n\t\t}\n\t}\n\n\tisViewMode(): boolean\n\t{\n\t\treturn this.mode === ProductSelector.MODE_VIEW;\n\t}\n\n\tisShortViewFormat(): boolean\n\t{\n\t\treturn this.getConfig('VIEW_FORMAT', ProductSelector.FULL_VIEW_FORMAT) === ProductSelector.SHORT_VIEW_FORMAT;\n\t}\n\n\tisSaveable(): boolean\n\t{\n\t\treturn !this.isViewMode() && this.model.isSaveable();\n\t}\n\n\tisEnabledAutosave(): boolean\n\t{\n\t\treturn this.isSaveable() && this.getConfig('ENABLE_AUTO_SAVE', false);\n\t}\n\n\tisEnabledMobileScanning(): boolean\n\t{\n\t\treturn !this.isViewMode() && this.getConfig('ENABLE_MOBILE_SCANNING', true);\n\t}\n\n\tgetEmptySelectErrorMessage()\n\t{\n\t\treturn !this.isExternalCatalog && this.checkProductAddRights()\n\t\t\t? Loc.getMessage('CATALOG_SELECTOR_SELECTED_PRODUCT_TITLE')\n\t\t\t: Loc.getMessage('CATALOG_SELECTOR_SELECT_PRODUCT_TITLE')\n\t\t;\n\t}\n\n\tgetMobileScannerToken(): string\n\t{\n\t\treturn this.mobileScannerToken || Text.getRandom(16);\n\t}\n\n\tcheckProductViewRights(): boolean\n\t{\n\t\treturn this.model.checkAccess(RightActionDictionary.ACTION_PRODUCT_VIEW) ?? true;\n\t}\n\n\tcheckProductEditRights(): boolean\n\t{\n\t\treturn this.model.checkAccess(RightActionDictionary.ACTION_PRODUCT_EDIT) ?? false;\n\t}\n\n\tcheckProductAddRights(): boolean\n\t{\n\t\treturn this.model.checkAccess(RightActionDictionary.ACTION_PRODUCT_ADD) ?? false;\n\t}\n\n\tsetMobileScannerToken(token: string): void\n\t{\n\t\tthis.mobileScannerToken = token;\n\t}\n\n\tremoveMobileScannerToken(): void\n\t{\n\t\tthis.mobileScannerToken = null;\n\t}\n\n\tgetId(): string\n\t{\n\t\treturn this.id;\n\t}\n\n\tgetType(): string\n\t{\n\t\treturn this.type;\n\t}\n\n\tgetConfig(name, defaultValue)\n\t{\n\t\treturn BX.prop.get(this.options.config, name, defaultValue);\n\t}\n\n\tsetConfig(name, value): this\n\t{\n\t\tthis.options.config[name] = value;\n\n\t\treturn this;\n\t}\n\n\tgetRowId(): string\n\t{\n\t\treturn this.getConfig('ROW_ID');\n\t}\n\n\tgetFileInput(): ProductImageInput\n\t{\n\t\tif (!this.fileInput)\n\t\t{\n\t\t\tthis.fileInput = new ProductImageInput(\n\t\t\t\tthis.options.fileInputId,\n\t\t\t\t{\n\t\t\t\t\tselector: this,\n\t\t\t\t\tenableSaving: this.getConfig('ENABLE_IMAGE_CHANGE_SAVING', false),\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\treturn this.fileInput;\n\t}\n\n\tisProductSearchEnabled(): boolean\n\t{\n\t\treturn this.getConfig('ENABLE_SEARCH', false)\n\t\t\t&& this.model.getIblockId() > 0\n\t\t\t&& this.checkProductViewRights()\n\t\t;\n\t}\n\n\tisSkuTreeEnabled(): boolean\n\t{\n\t\treturn this.getConfig('ENABLE_SKU_TREE', true) !== false;\n\t}\n\n\tisImageFieldEnabled(): boolean\n\t{\n\t\treturn this.getConfig('ENABLE_IMAGE_INPUT', true) !== false;\n\t}\n\n\tisShowableEmptyProductError(): boolean\n\t{\n\t\tconst emptyChanged = this.model.isEmpty() && this.model.isChanged();\n\n\t\treturn this.isEnabledEmptyProductError() && (emptyChanged || this.model.isSimple());\n\t}\n\n\tisShowableErrors(): boolean\n\t{\n\t\treturn this.isEnabledEmptyProductError() || this.isEnabledEmptyImagesError();\n\t}\n\n\tisEnabledEmptyProductError(): boolean\n\t{\n\t\treturn this.getConfig('ENABLE_EMPTY_PRODUCT_ERROR', false);\n\t}\n\n\tisEnabledEmptyImagesError(): boolean\n\t{\n\t\treturn this.getConfig('ENABLE_EMPTY_IMAGES_ERROR', false);\n\t}\n\n\tisEnabledChangesRendering(): boolean\n\t{\n\t\treturn this.getConfig('ENABLE_CHANGES_RENDERING', true);\n\t}\n\n\tisInputDetailLinkEnabled(): boolean\n\t{\n\t\treturn this.getConfig('ENABLE_INPUT_DETAIL_LINK', false)\n\t\t\t&& Type.isStringFilled(this.model.getDetailPath())\n\t\t\t&& this.checkProductViewRights()\n\t\t;\n\t}\n\n\tgetWrapper(): HTMLElement\n\t{\n\t\tif (!this.wrapper)\n\t\t{\n\t\t\tthis.wrapper = document.getElementById(this.id);\n\t\t}\n\n\t\treturn this.wrapper;\n\t}\n\n\trenderTo(node)\n\t{\n\t\tthis.clearLayout();\n\t\tthis.wrapper = node;\n\t\tthis.layout();\n\t}\n\n\tlayout()\n\t{\n\t\tconst wrapper = this.getWrapper();\n\t\tif (!wrapper)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.defineWrapperClass(wrapper);\n\t\twrapper.innerHTML = '';\n\n\t\tconst block = Tag.render`<div class=\"catalog-product-field-inner\"></div>`;\n\t\tDom.append(this.layoutNameBlock(), block);\n\n\t\tif (this.getSkuTreeInstance())\n\t\t{\n\t\t\tDom.append(this.getSkuTreeInstance().layout(), block);\n\t\t}\n\n\t\tDom.append(this.getErrorContainer(), block);\n\n\t\tif (!this.isViewMode())\n\t\t{\n\t\t\tDom.append(block, wrapper);\n\t\t}\n\n\t\tif (this.isImageFieldEnabled())\n\t\t{\n\t\t\tif (Reflection.getClass('BX.UI.ImageInput'))\n\t\t\t{\n\t\t\t\tthis.layoutImage();\n\t\t\t}\n\n\t\t\tif (ProductSelector.UIInputRequest instanceof Promise)\n\t\t\t{\n\t\t\t\tProductSelector.UIInputRequest.then(() => {\n\t\t\t\t\tthis.layoutImage();\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tProductSelector.UIInputRequest = new Promise(resolve => {\n\t\t\t\t\tajax\n\t\t\t\t\t\t.runAction(\n\t\t\t\t\t\t\t'catalog.productSelector.getFileInput',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\t\t\tiblockId: this.getModel().getIblockId(),\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\t.then(() => {\n\t\t\t\t\t\t\tthis.layoutImage();\n\t\t\t\t\t\t\tProductSelector.UIInputRequest = null;\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tDom.append(this.getImageContainer(), wrapper);\n\t\t}\n\n\t\tif (this.isViewMode())\n\t\t{\n\t\t\tDom.append(block, wrapper);\n\t\t}\n\n\t\tif (this.isViewMode())\n\t\t{\n\t\t\tDom.append(block, wrapper);\n\t\t}\n\n\t\tif (this.isShowableErrors)\n\t\t{\n\t\t\tthis.layoutErrors();\n\t\t}\n\n\t\tthis.subscribeToVariationChange();\n\t}\n\n\tfocusName(): this\n\t{\n\t\tif (this.searchInput)\n\t\t{\n\t\t\tthis.searchInput.focusName();\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tgetImageContainer(): HTMLElement\n\t{\n\t\treturn this.cache.remember('imageContainer', () => (\n\t\t\tTag.render`<div class=\"catalog-product-img\"></div>`\n\t\t));\n\t}\n\n\tgetErrorContainer(): HTMLElement\n\t{\n\t\treturn this.cache.remember('errorContainer', () => (\n\t\t\tTag.render`<div class=\"catalog-product-error\"></div>`\n\t\t));\n\t}\n\n\tlayoutErrors()\n\t{\n\t\tthis.getErrorContainer().innerHTML = '';\n\t\tthis.clearImageErrorBorder();\n\t\tif (!this.model.getErrorCollection().hasErrors())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst errors = this.model.getErrorCollection().getErrors();\n\t\tfor (const code in errors)\n\t\t{\n\t\t\tif (!ProductSelector.ErrorCodes.getCodes().includes(code))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (code === 'EMPTY_IMAGE')\n\t\t\t{\n\t\t\t\tthis.setImageErrorBorder();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.append(\n\t\t\t\t\tTag.render`<div class=\"catalog-product-error-item\">${errors[code].text}</div>`,\n\t\t\t\t\tthis.getErrorContainer(),\n\t\t\t\t);\n\n\t\t\t\tif (this.searchInput)\n\t\t\t\t{\n\t\t\t\t\tDom.addClass(this.searchInput.getNameBlock(), 'ui-ctl-danger');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tsetImageErrorBorder()\n\t{\n\t\tDom.addClass(\n\t\t\tthis.getImageContainer().querySelector('.adm-fileinput-area'),\n\t\t\t'adm-fileinput-drag-area-error',\n\t\t);\n\t}\n\n\tclearImageErrorBorder()\n\t{\n\t\tDom.removeClass(\n\t\t\tthis.getImageContainer().querySelector('.adm-fileinput-area'),\n\t\t\t'adm-fileinput-drag-area-error',\n\t\t);\n\t}\n\n\tonUploaderIsInited()\n\t{\n\t\tif (this.isEnabledEmptyImagesError())\n\t\t{\n\t\t\trequestAnimationFrame(this.layoutErrors.bind(this));\n\t\t}\n\t}\n\n\tlayoutImage()\n\t{\n\t\tthis.getImageContainer().innerHTML = '';\n\t\tDom.append(this.getFileInput().layout(), this.getImageContainer());\n\t\tthis.refreshImageSelectorId = null;\n\t}\n\n\tclearState(): void\n\t{\n\t\tthis\n\t\t\t.getModel()\n\t\t\t.initFields({\n\t\t\t\tID: '',\n\t\t\t\tNAME: '',\n\t\t\t\tBARCODE: '',\n\t\t\t\tPRODUCT_ID: null,\n\t\t\t\tSKU_ID: null,\n\t\t\t})\n\t\t\t.setOption('isNew', false)\n\t\t;\n\n\t\tthis\n\t\t\t.getFileInput()\n\t\t\t.restoreDefaultInputHtml()\n\t\t;\n\n\t\tthis\n\t\t\t.getModel()\n\t\t\t.clearSkuTree()\n\t\t;\n\t\tthis.skuTreeInstance = null;\n\n\t\tthis\n\t\t\t.getModel()\n\t\t\t.getStoreCollection()\n\t\t\t.clear()\n\t\t;\n\t}\n\n\tclearLayout(): void\n\t{\n\t\tthis.unsubscribeToVariationChange();\n\t\tconst wrapper = this.getWrapper();\n\t\tif (wrapper)\n\t\t{\n\t\t\twrapper.innerHTML = '';\n\t\t}\n\t}\n\n\tsubscribeEvents()\n\t{\n\t\tEventEmitter.incrementMaxListeners('ProductList::onChangeFields', 1);\n\t\tEventEmitter.incrementMaxListeners('ProductSelector::onNameChange', 1);\n\t\tEventEmitter.incrementMaxListeners('Catalog.ImageInput::save', 1);\n\t\tEventEmitter.incrementMaxListeners('onUploaderIsInited', 1);\n\t\tEventEmitter.incrementMaxListeners('Catalog:ProductSelectorPlacement:onProductUpdated', 1);\n\n\t\tEventEmitter.subscribe('ProductList::onChangeFields', this.onChangeFieldsHandler);\n\t\tEventEmitter.subscribe('ProductSelector::onNameChange', this.onNameChangeFieldHandler);\n\t\tEventEmitter.subscribe('Catalog.ImageInput::save', this.onSaveImageHandler);\n\t\tEventEmitter.subscribe('onUploaderIsInited', this.onUploaderIsInitedHandler);\n\t\tEventEmitter.subscribe(\n\t\t\t'Catalog:ProductSelectorPlacement:onProductUpdated',\n\t\t\tthis.placementOnProductUpdatedHandler,\n\t\t);\n\t}\n\n\tunsubscribeEvents()\n\t{\n\t\tthis.unsubscribeToVariationChange();\n\n\t\tEventEmitter.unsubscribe('Catalog.ImageInput::save', this.onSaveImageHandler);\n\t\tEventEmitter.unsubscribe('ProductList::onChangeFields', this.onChangeFieldsHandler);\n\t\tEventEmitter.unsubscribe('onUploaderIsInited', this.onUploaderIsInitedHandler);\n\t\tEventEmitter.unsubscribe('onUploaderIsInited', this.onUploaderIsInitedHandler);\n\t\tEventEmitter.unsubscribe('ProductSelector::onNameChange', this.onNameChangeFieldHandler);\n\t\tEventEmitter.unsubscribe(\n\t\t\t'Catalog:ProductSelectorPlacement:onProductUpdated',\n\t\t\tthis.placementOnProductUpdatedHandler,\n\t\t);\n\t}\n\n\tdefineWrapperClass(wrapper)\n\t{\n\t\tif (this.isViewMode())\n\t\t{\n\t\t\tDom.addClass(wrapper, 'catalog-product-view');\n\t\t\tDom.removeClass(wrapper, 'catalog-product-edit');\n\n\t\t\tif (this.isShortViewFormat())\n\t\t\t{\n\t\t\t\tDom.addClass(wrapper, '--short-format');\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.addClass(wrapper, 'catalog-product-edit');\n\t\t\tDom.removeClass(wrapper, 'catalog-product-view');\n\t\t}\n\n\t\tif (this.isImageFieldEnabled())\n\t\t{\n\t\t\tDom.addClass(wrapper, '--with-images');\n\t\t}\n\t}\n\n\tgetNameBlockView(): HTMLElement\n\t{\n\t\tconst productName = Text.encode(this.model.getField('NAME'));\n\t\tconst namePlaceholder = Loc.getMessage('CATALOG_SELECTOR_VIEW_NAME_TITLE');\n\n\t\tif (this.getModel().getDetailPath())\n\t\t{\n\t\t\treturn Tag.render`\n\t\t\t\t<a href=\"${this.getModel().getDetailPath()}\" title=\"${namePlaceholder}\">${productName}</a>\n\t\t\t`;\n\t\t}\n\n\t\treturn Tag.render`<span title=\"${namePlaceholder}\">${productName}</span>`;\n\t}\n\n\tgetNameInputFilledValue(): string\n\t{\n\t\tif (this.searchInput)\n\t\t{\n\t\t\treturn this.searchInput.getFilledValue();\n\t\t}\n\n\t\treturn '';\n\t}\n\n\tlayoutNameBlock(): HTMLElement\n\t{\n\t\tconst block = Tag.render`<div class=\"catalog-product-field-input\"></div>`;\n\n\t\tif (this.isViewMode())\n\t\t{\n\t\t\tDom.append(this.getNameBlockView(), block);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.searchInput = this.#createSearchInput();\n\n\t\t\tDom.append(this.searchInput.layout(), block);\n\t\t}\n\n\t\treturn block;\n\t}\n\n\t#createSearchInput(): ProductSearchInputBase\n\t{\n\t\tif (this.placement)\n\t\t{\n\t\t\treturn new ProductSearchInputPlacement(\n\t\t\t\tthis.id,\n\t\t\t\t{\n\t\t\t\t\tselector: this,\n\t\t\t\t\tmodel: this.getModel(),\n\t\t\t\t\tinputName: this.options.inputFieldName,\n\t\t\t\t\tisSearchEnabled: this.isProductSearchEnabled(),\n\t\t\t\t\tisEnabledEmptyProductError: this.isEnabledEmptyProductError(),\n\t\t\t\t\tisEnabledDetailLink: this.isInputDetailLinkEnabled(),\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\tif (this.getType() === ProductSelector.INPUT_FIELD_BARCODE)\n\t\t{\n\t\t\tif (!this.searchInput)\n\t\t\t{\n\t\t\t\treturn new ProductSearchInputBarcode(\n\t\t\t\t\tthis.id,\n\t\t\t\t\t{\n\t\t\t\t\t\tselector: this,\n\t\t\t\t\t\tmodel: this.getModel(),\n\t\t\t\t\t\tinputName: this.options.inputFieldName,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn this.searchInput;\n\t\t}\n\n\t\treturn new ProductSearchInputDefault(\n\t\t\tthis.id,\n\t\t\t{\n\t\t\t\tselector: this,\n\t\t\t\tmodel: this.getModel(),\n\t\t\t\tinputName: this.options.inputFieldName,\n\t\t\t\tisSearchEnabled: this.isProductSearchEnabled(),\n\t\t\t\tisEnabledEmptyProductError: this.isEnabledEmptyProductError(),\n\t\t\t\tisEnabledDetailLink: this.isInputDetailLinkEnabled(),\n\t\t\t},\n\t\t);\n\t}\n\n\tsearchInDialog(): ProductSelector\n\t{\n\t\tthis.searchInput.searchInDialog();\n\n\t\treturn this;\n\t}\n\n\tupdateSkuTree(tree): ProductSelector\n\t{\n\t\tthis.getModel().setSkuTree(tree);\n\t\tthis.skuTreeInstance = null;\n\n\t\treturn this;\n\t}\n\n\tgetIblockSkuTreeProperties(): Promise\n\t{\n\t\treturn new Promise((resolve) => {\n\t\t\tif (iblockSkuTreeProperties.has(this.getModel().getIblockId()))\n\t\t\t{\n\t\t\t\tresolve(iblockSkuTreeProperties.get(this.getModel().getIblockId()));\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tajax\n\t\t\t\t\t.runAction(\n\t\t\t\t\t\t'catalog.productSelector.getSkuTreeProperties',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\t\tiblockId: this.getModel().getIblockId(),\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\t.then(response => {\n\t\t\t\t\t\tiblockSkuTreeProperties.set(this.getModel().getIblockId(), response);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tgetSkuTreeInstance(): SkuTree\n\t{\n\t\tif (this.isSkuTreeEnabled() && this.getModel()?.getSkuTree() && !this.skuTreeInstance)\n\t\t{\n\t\t\tthis.skuTreeInstance = new SkuTree({\n\t\t\t\tskuTree: this.getModel().getSkuTree(),\n\t\t\t\tselectable: this.getConfig('ENABLE_SKU_SELECTION', true),\n\t\t\t\thideUnselected: this.getConfig('HIDE_UNSELECTED_ITEMS', false),\n\t\t\t\tisShortView: this.isViewMode() && this.isShortViewFormat(),\n\t\t\t});\n\t\t}\n\n\t\treturn this.skuTreeInstance;\n\t}\n\n\tsubscribeToVariationChange()\n\t{\n\t\tconst skuTree = this.getSkuTreeInstance();\n\t\tif (skuTree)\n\t\t{\n\t\t\tthis.unsubscribeToVariationChange();\n\t\t\tskuTree.subscribe('SkuProperty::onChange', this.variationChangeHandler);\n\t\t}\n\t}\n\n\tunsubscribeToVariationChange()\n\t{\n\t\tconst skuTree = this.getSkuTreeInstance();\n\t\tif (skuTree)\n\t\t{\n\t\t\tskuTree.unsubscribe('SkuProperty::onChange', this.variationChangeHandler);\n\t\t}\n\t}\n\n\thandleVariationChange(event: BaseEvent): void\n\t{\n\t\tconst [skuFields] = event.getData();\n\t\tconst productId = Text.toNumber(skuFields.PARENT_PRODUCT_ID);\n\t\tconst variationId = Text.toNumber(skuFields.ID);\n\n\t\tif (productId <= 0 || variationId <= 0)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.emit('onBeforeChange', {\n\t\t\tselectorId: this.getId(),\n\t\t\trowId: this.getRowId(),\n\t\t});\n\n\t\tthis.#inAjaxProcess = true;\n\n\t\tif (this.placement)\n\t\t{\n\t\t\tthis.placement.initialize()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.placementEmitOnCatalogProductNeedToUpdate({\n\t\t\t\t\t\tproductId: variationId,\n\t\t\t\t\t\treturnEventData: {\n\t\t\t\t\t\t\trowId: this.getRowId(),\n\t\t\t\t\t\t\tscenario: 'variationChange',\n\t\t\t\t\t\t\tpayload: [\n\t\t\t\t\t\t\t\tvariationId,\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\t.catch(() => {\n\t\t\t\t\tthis.handleVariationChangeAjaxAction(variationId);\n\n\t\t\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\t\t\tcontent: Loc.getMessage('CATALOG_SELECTOR_1C_NOT_RESPONDING_ERROR'),\n\t\t\t\t\t\tautoHide: true,\n\t\t\t\t\t\tautoHideDelay: 4000,\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.handleVariationChangeAjaxAction(variationId);\n\t}\n\n\thandleVariationChangeAjaxAction(variationId: number): void\n\t{\n\t\tajax\n\t\t\t.runAction(\n\t\t\t\t'catalog.productSelector.getSelectedSku',\n\t\t\t\t{\n\t\t\t\t\tjson: {\n\t\t\t\t\t\tvariationId,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tpriceId: this.basePriceId,\n\t\t\t\t\t\t\tcurrency: this.model.getCurrency(),\n\t\t\t\t\t\t\turlBuilder: this.getConfig('URL_BUILDER_CONTEXT'),\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.then(response => this.processResponse(response, { ...this.options.config }));\n\t}\n\n\tonChangeFields(event)\n\t{\n\t\tconst eventData = event.getData();\n\n\t\tif (eventData.rowId !== this.getRowId())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst fields = eventData.fields;\n\t\tthis.getModel().setFields(fields);\n\t}\n\n\treloadFileInput()\n\t{\n\t\tajax\n\t\t\t.runAction(\n\t\t\t\t'catalog.productSelector.getFileInput',\n\t\t\t\t{\n\t\t\t\t\tjson: {\n\t\t\t\t\t\tiblockId: this.getModel().getIblockId(),\n\t\t\t\t\t\tskuId: this.getModel()?.getSkuId(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t)\n\t\t\t.then((event) => {\n\t\t\t\tthis.getModel().getImageCollection().setEditInput(event.data.html);\n\t\t\t\tif (this.isImageFieldEnabled())\n\t\t\t\t{\n\t\t\t\t\tthis.layoutImage();\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tonNameChange(event)\n\t{\n\t\tconst eventData = event.getData();\n\n\t\tif (eventData.rowId !== this.getRowId() || !this.isEnabledAutosave())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst fields = eventData.fields;\n\t\tthis.getModel().setFields(fields);\n\t\tthis.getModel().save().then(() => {\n\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\tid: 'saving_field_notify_name',\n\t\t\t\tcloseButton: false,\n\t\t\t\tcontent: Tag.render`<div>${Loc.getMessage('CATALOG_SELECTOR_SAVING_NOTIFICATION_NAME_CHANGED')}</div>`,\n\t\t\t\tautoHide: true,\n\t\t\t});\n\t\t});\n\t}\n\n\tonSaveImage(event)\n\t{\n\t\tconst [, inputId, response] = event.getData();\n\t\tif (inputId !== this.getFileInput().getId())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getFileInput().setId(response.data.id);\n\t\tthis.getFileInput().setInputHtml(response.data.input);\n\t\tthis.getFileInput().setView(response.data.preview);\n\t\tthis.getModel().getImageCollection().setMorePhotoValues(response.data.values);\n\t\tif (this.isImageFieldEnabled())\n\t\t{\n\t\t\tthis.layoutImage();\n\t\t}\n\n\t\tthis.emit('onChange', {\n\t\t\tselectorId: this.id,\n\t\t\trowId: this.getRowId(),\n\t\t\tfields: this.getModel().getFields(),\n\t\t\tmorePhoto: this.getModel().getImageCollection().getMorePhotoValues(),\n\t\t});\n\t}\n\n\tinProcess()\n\t{\n\t\treturn this.#inAjaxProcess;\n\t}\n\n\tonProductSelect(productId, itemConfig)\n\t{\n\t\tthis.emitOnProductSelectEvents();\n\t\tthis.productSelectRequest(productId, itemConfig);\n\t}\n\n\temitOnProductSelectEvents()\n\t{\n\t\tthis.emit('onProductSelect', {\n\t\t\tselectorId: this.getId(),\n\t\t\trowId: this.getRowId(),\n\t\t});\n\n\t\tthis.emit('onBeforeChange', {\n\t\t\tselectorId: this.getId(),\n\t\t\trowId: this.getRowId(),\n\t\t});\n\t}\n\n\tproductSelectRequest(\n\t\tproductId,\n\t\titemConfig = {\n\t\t\tisNew: false,\n\t\t\tneedExternalUpdate: true,\n\t\t\timmutableFields: [],\n\t\t},\n\t)\n\t{\n\t\tthis.#inAjaxProcess = true;\n\n\t\tif (\n\t\t\tthis.placement\n\t\t\t&& itemConfig.needExternalUpdate !== false\n\t\t)\n\t\t{\n\t\t\tthis.placement.initialize()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.placementEmitOnCatalogProductNeedToUpdate({\n\t\t\t\t\t\tproductId,\n\t\t\t\t\t\treturnEventData: {\n\t\t\t\t\t\t\trowId: this.getRowId(),\n\t\t\t\t\t\t\tscenario: 'productSelect',\n\t\t\t\t\t\t\tpayload: [\n\t\t\t\t\t\t\t\tproductId,\n\t\t\t\t\t\t\t\titemConfig,\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\t.catch(() => {\n\t\t\t\t\tthis.productSelectAjaxAction(productId, itemConfig);\n\n\t\t\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\t\t\tcontent: Loc.getMessage('CATALOG_SELECTOR_1C_NOT_RESPONDING_ERROR'),\n\t\t\t\t\t\tautoHide: true,\n\t\t\t\t\t\tautoHideDelay: 4000,\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.productSelectAjaxAction(productId, itemConfig);\n\t}\n\n\tproductSelectAjaxAction(\n\t\tproductId,\n\t\titemConfig = {\n\t\t\tisNew: false,\n\t\t\timmutableFields: [],\n\t\t},\n\t)\n\t{\n\t\tajax\n\t\t\t.runAction(\n\t\t\t\t'catalog.productSelector.getProduct',\n\t\t\t\t{\n\t\t\t\t\tjson: {\n\t\t\t\t\t\tproductId,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tpriceId: this.basePriceId,\n\t\t\t\t\t\t\tcurrency: this.model.getCurrency(),\n\t\t\t\t\t\t\turlBuilder: this.getConfig('URL_BUILDER_CONTEXT'),\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.then(response => this.processResponse(response, { ...this.options.config, ...itemConfig }, true));\n\t}\n\n\tplacementEmitOnCatalogProductNeedToUpdate(eventData: Object): void\n\t{\n\t\tEventEmitter.emit('Catalog:ProductSelectorPlacement:onNeedProductUpdate', {\n\t\t\tappSid: this.placement.getAppSidId(),\n\t\t\t...eventData,\n\t\t});\n\n\t\tthis.placementProductUpdateTimer = setTimeout(() => {\n\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\tcontent: Loc.getMessage('CATALOG_SELECTOR_1C_NOT_RESPONDING_ERROR'),\n\t\t\t\tautoHide: true,\n\t\t\t\tautoHideDelay: 4000,\n\t\t\t});\n\t\t\tthis.placementOnProductUpdated(new BaseEvent({ data: { ...eventData.returnEventData } }));\n\t\t}, ExternalCatalogPlacement.RESPONSE_TIMEOUT);\n\t}\n\n\tplacementOnProductUpdated(event: BaseEvent): void\n\t{\n\t\tif (this.placementProductUpdateTimer === null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst { rowId, scenario, payload } = event.getData();\n\n\t\tif (rowId !== this.getRowId())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (scenario === 'productSelect')\n\t\t{\n\t\t\tthis.productSelectAjaxAction(...payload);\n\t\t}\n\t\telse if (scenario === 'variationChange')\n\t\t{\n\t\t\tthis.handleVariationChangeAjaxAction(...payload);\n\t\t}\n\n\t\tclearTimeout(this.placementProductUpdateTimer);\n\t\tthis.placementProductUpdateTimer = null;\n\t}\n\n\tprocessResponse(response, config = {}, isProductAction = false)\n\t{\n\t\tconst data = response?.data || null;\n\t\tthis.#inAjaxProcess = false;\n\n\t\tconst fields = data?.fields || [];\n\t\tif (Type.isArray(config.immutableFields))\n\t\t{\n\t\t\tconfig.immutableFields.forEach((field) => {\n\t\t\t\tfields[field] = this.getModel().getField(field);\n\t\t\t});\n\n\t\t\tif (data)\n\t\t\t{\n\t\t\t\tdata.fields = fields;\n\t\t\t}\n\t\t}\n\n\t\tif (isProductAction)\n\t\t{\n\t\t\tthis.clearState();\n\t\t}\n\n\t\tif (data)\n\t\t{\n\t\t\tthis.changeSelectedElement(data, config);\n\t\t}\n\t\telse if (!isProductAction)\n\t\t{\n\t\t\tthis.productSelectRequest(this.getModel().getProductId());\n\t\t}\n\n\t\tthis.unsubscribeToVariationChange();\n\n\t\tif (this.isEnabledChangesRendering())\n\t\t{\n\t\t\tthis.clearLayout();\n\t\t\tthis.layout();\n\t\t}\n\n\t\tthis.emit('onChange', {\n\t\t\tselectorId: this.id,\n\t\t\trowId: this.getRowId(),\n\t\t\tisNew: config.isNew || false,\n\t\t\tfields,\n\t\t\tmorePhoto: this.getModel().getImageCollection().getMorePhotoValues(),\n\t\t});\n\t}\n\n\tchangeSelectedElement(data, config)\n\t{\n\t\tconst productId = Text.toInteger(data.productId);\n\t\tconst productChanged = this.getModel().getProductId() !== productId;\n\n\t\tif (productChanged)\n\t\t{\n\t\t\tthis.getModel().setOption('productId', productId);\n\t\t\tthis.getModel().setOption('skuId', Text.toInteger(data.skuId));\n\t\t\tthis.getModel().setOption('isSimpleModel', false);\n\t\t\tthis.getModel().setOption('isNew', config.isNew);\n\t\t}\n\n\t\tthis.getModel().initFields(data.fields);\n\n\t\tconst imageField = {\n\t\t\tid: '',\n\t\t\tinput: '',\n\t\t\tpreview: '',\n\t\t\tvalues: [],\n\t\t};\n\n\t\tif (Type.isObject(data.image))\n\t\t{\n\t\t\timageField.id = data.image.id;\n\t\t\timageField.input = data.image.input;\n\t\t\timageField.preview = data.image.preview;\n\t\t\timageField.values = data.image.values;\n\t\t}\n\n\t\tthis.getFileInput().setId(imageField.id);\n\t\tthis.getFileInput().setInputHtml(imageField.input);\n\t\tthis.getFileInput().setView(imageField.preview);\n\n\t\tthis.getModel().getImageCollection().setMorePhotoValues(imageField.values);\n\t\tthis.checkEmptyImageError();\n\n\t\tif (data.detailUrl)\n\t\t{\n\t\t\tthis.getModel().setDetailPath(data.detailUrl);\n\t\t}\n\n\t\tif (Type.isObject(data.skuTree))\n\t\t{\n\t\t\tthis.updateSkuTree(data.skuTree);\n\t\t}\n\t}\n\n\tcheckEmptyImageError()\n\t{\n\t\tif (\n\t\t\t!Type.isArrayFilled(this.getModel().getImageCollection().getMorePhotoValues())\n\t\t\t&& this.isEnabledEmptyImagesError()\n\t\t)\n\t\t{\n\t\t\tthis.getModel().getErrorCollection().setError(\n\t\t\t\t'EMPTY_IMAGE',\n\t\t\t\tLoc.getMessage('CATALOG_SELECTOR_EMPTY_IMAGE_ERROR'),\n\t\t\t);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.getModel().getErrorCollection().removeError('EMPTY_IMAGE');\n\t\t}\n\t}\n\n\tremoveSpotlight()\n\t{\n\t\tthis.searchInput?.removeSpotlight();\n\t\tthis.setConfig('ENABLE_INFO_SPOTLIGHT', false);\n\t}\n\n\tremoveQrAuth()\n\t{\n\t\tthis.searchInput?.removeQrAuth();\n\t\tthis.setConfig('ENABLE_BARCODE_QR_AUTH', false);\n\t}\n}\n"],"names":["ProductSearchInputDefaultFooter","DefaultFooter","constructor","dialog","options","getDialog","subscribe","handleOnSearch","bind","getContent","phrase","isViewCreateButton","allowCreateItem","allowEditItem","isViewEditButton","Tag","render","Loc","getMessage","createButton","querySelector","Dom","replace","changeButton","getLoaderContainer","event","query","getData","currentValue","hide","show","getQueryContainer","textContent","cache","remember","className","messageId","inputName","ProductSelector","INPUT_FIELD_BARCODE","Type","isNil","Loader","target","size","color","getOption","message","hintNode","dataset","hint","hintNoIcon","BX","UI","Hint","initNode","emit","getSearchTab","getLastSearchQuery","clearSearch","tagSelector","getTagSelector","isLocked","finalize","unlock","focusSearch","preventDefault","lock","emitAsync","searchQuery","getActiveTab","then","getTab","clearResults","selectFirstTab","catch","errorAdminHint","ProductSearchInputLimitedFooter","infoButton","Event","InfoHelper","DialogMode","SEARCHING","SHOW_PRODUCT_ITEM","SHOW_RECENT","SelectorErrorCode","getCodes","NOT_SELECTED_PRODUCT","FAILED_PRODUCT","ProductSearchInputBase","id","Cache","MemoryCache","Text","getRandom","selector","TypeError","model","isEnabledDetailLink","INPUT_FIELD_NAME","loadedSelectedItem","handleSearchInput","Runtime","debounce","searchInDialog","layout","block","toggleIcon","getClearIcon","append","isSearchEnabled","isProductSearchEnabled","isStringFilled","getFilledValue","getNameInput","handleClickNameInput","handleNameInputKeyDown","dialogMode","isCatalogExisted","showDetailLink","getValue","getNameBlock","getId","getField","fieldName","value","getSearchQuery","trim","isSearchQueryEmpty","Boolean","icon","isDomNode","style","getNameTag","input","encode","getPlaceholder","getConfig","addClass","setAttribute","handleClearIconClick","clearErrors","errors","getErrorCollection","getErrors","code","ErrorCodes","includes","removeError","focusName","requestAnimationFrame","focus","removeSpotlight","removeQrAuth","destroy","showItems","showPreselectedItems","loadPreselectedItems","isFooterHidable","Error","Dialog","getDialogParams","entity","iblockId","getIblockId","basePriceId","getBasePriceId","currency","getCurrency","dynamicLoad","dynamicSearch","restrictedProductTypes","height","width","Math","max","offsetWidth","context","targetNode","enableSearch","multiple","dropdownMode","recentTabOptions","stub","stubOptions","title","entities","events","onProductSelect","onShow","onDialogShow","getOnProductSelectConfig","item","getTargetNode","getTitle","clearLayout","delete","onChangeValue","clear","stopPropagation","selectorId","rowId","getRowId","isEmpty","clearState","newValue","isLoading","removeItems","loadState","load","getModel","setConfig","hasDynamicLoad","subscribeOnce","getPreselectedItems","length","getFooter","Promise","resolve","reject","showLoader","ajax","runAction","json","getSkuId","response","hideLoader","isObject","data","addItem","error","setPreselectedItems","getRecentTab","getRootNode","console","getPopup","setTimeout","isEnabledEmptyProductError","inProcess","setError","getEmptySelectErrorMessage","layoutErrors","getDetailPath","ProductSearchInputDefault","immutableFieldNames","push","ajaxInProcess","isNew","params","searchTabOptions","subtitle","isAllowedCreateProduct","arrow","settingsCollection","Extension","getSettings","get","footer","footerOptions","isAllowedEditProduct","creationLabel","searchOptions","createProduct","showChangeNotification","checkProductAddRights","checkProductEditRights","key","Browser","isMac","metaKey","ctrlKey","createItem","fields","EventEmitter","isEnabledAutosave","setFields","save","Notification","Center","notify","closeButton","content","autoHide","isHasDialogItems","isOpen","getImmutableFieldNames","getCustomData","immutableFields","forEach","setField","createProductModelFromSearchQuery","getFields","ProductModel","isSimpleModel","getTarget","newProduct","getQuery","checkCreationModel","toInteger","entityId","tabs","customData","setOption","name","select","errorResponse","creationModel","getType","onSave","declineCancelTitle","onCancel","showSaveNotifier","search","ProductSearchInputBarcodeFooter","handleOnSearchLoad","isEmptyBarcode","searchTab","getItems","onScannerClick","ProductSearchInputBarcode","onFocusHandler","handleFocusEvent","onBlurHandler","handleBlurEvent","focused","isInstalledMobileApp","qrAuth","QrAuthorization","createQrCodeImage","searchFields","type","system","searchable","preselectedItems","label","getContainer","hasClass","disableCancel","applyScannerData","barcode","productId","spotlight","close","mobilePopup","remove","removeClass","unbind","isEnabledMobileScanning","token","getMobileScannerToken","BarcodeScanner","open","repeatLink","category","autoHideDelay","getSearchIcon","barcodeIcon","SpotLight","targetElement","autoSave","targetVertex","zIndex","guide","Guide","steps","text","onEvents","setAutoHide","showNextStep","closeIcon","sendButton","helpButton","top","Helper","getQrNode","result","userOptions","ProductSearchInputPlacementFooter","BaseFooter","container","getContainerClassName","getHelpLink","helpLink","ProductSearchInputPlacementFooterLock","statusNode","OneCPlanRestrictionSlider","ProductSearchInputPlacementFooterFailure","ProductSearchInputPlacementFooterLoading","ProductSearchInputPlacementFooterSuccess","ProductSearchInputPlacement","searchInDialogActual","selectTab","getStub","is1cPlanRestricted","needExternalUpdate","has","emitOnProductSelectEvents","placement","initialize","returnEventData","appSid","BaseEvent","createdProduct","ExternalCatalogPlacement","RESPONSE_TIMEOUT","searchResults","searchResultItem","avatar","getAppSidId","setFooter","clearTimeout","createdProductId","toNumber","Item","setDialog","saveRecentItem","searchLoader","getSearchLoader","getTextContainer","toggleEmptyResult","isInitialized","isInitializedSuccessfully","reason","tab","setStub","ProductImageInput","config","getImageCollection","getEditInput","restoreDefaultInputHtml","enableSaving","uploaderFieldMap","setId","setView","html","setPreview","setInputHtml","setEditInput","defaultInput","isViewMode","isSaveable","isEnabledLiveSaving","imageContainer","getPreview","instances","Map","iblockSkuTreeProperties","getById","mode","MODE_EDIT","mobileScannerToken","variationChangeHandler","handleVariationChange","onSaveImageHandler","onSaveImage","onChangeFieldsHandler","onChangeFields","onUploaderIsInitedHandler","onUploaderIsInited","onNameChangeFieldHandler","onNameChange","placementOnProductUpdatedHandler","placementOnProductUpdated","setEventNamespace","inputFieldName","settings","setMode","isExternalCatalog","create","skuTree","storeMap","setMorePhotoValues","morePhotoValues","setDetailPath","failedProduct","isShowableEmptyProductError","fileView","fileInput","updateSkuTree","scannerToken","setMobileScannerToken","subscribeEvents","set","setModel","MODE_VIEW","isShortViewFormat","FULL_VIEW_FORMAT","SHORT_VIEW_FORMAT","checkProductViewRights","checkAccess","RightActionDictionary","ACTION_PRODUCT_VIEW","ACTION_PRODUCT_EDIT","ACTION_PRODUCT_ADD","removeMobileScannerToken","defaultValue","prop","getFileInput","fileInputId","isSkuTreeEnabled","isImageFieldEnabled","emptyChanged","isChanged","isSimple","isShowableErrors","isEnabledEmptyImagesError","isEnabledChangesRendering","isInputDetailLinkEnabled","getWrapper","wrapper","document","getElementById","renderTo","node","defineWrapperClass","innerHTML","layoutNameBlock","getSkuTreeInstance","getErrorContainer","Reflection","getClass","layoutImage","UIInputRequest","getImageContainer","subscribeToVariationChange","searchInput","clearImageErrorBorder","hasErrors","setImageErrorBorder","refreshImageSelectorId","initFields","ID","NAME","BARCODE","PRODUCT_ID","SKU_ID","clearSkuTree","skuTreeInstance","getStoreCollection","unsubscribeToVariationChange","incrementMaxListeners","unsubscribeEvents","unsubscribe","getNameBlockView","productName","namePlaceholder","getNameInputFilledValue","tree","setSkuTree","getIblockSkuTreeProperties","getSkuTree","SkuTree","selectable","hideUnselected","isShortView","skuFields","PARENT_PRODUCT_ID","variationId","placementEmitOnCatalogProductNeedToUpdate","scenario","payload","handleVariationChangeAjaxAction","priceId","urlBuilder","processResponse","eventData","reloadFileInput","skuId","inputId","preview","values","morePhoto","getMorePhotoValues","itemConfig","productSelectRequest","productSelectAjaxAction","placementProductUpdateTimer","isProductAction","isArray","field","changeSelectedElement","getProductId","productChanged","imageField","image","checkEmptyImageError","detailUrl","isArrayFilled"],"mappings":"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"}