File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/catalog/install/js/catalog/product-selector/dist/product-selector.bundle.js.map
Back
{"version":3,"file":"product-selector.bundle.js","sources":["../src/product-search-selector-footer.js","../src/product-creation-limited-footer.js","../src/selector-error-code.js","../src/product-search-input.js","../src/product-image-input.js","../src/barcode-search-selector-footer.js","../src/barcode-search-input.js","../src/product-selector.js"],"sourcesContent":["import {DefaultFooter, Dialog} from 'ui.entity-selector';\nimport {ajax, Browser, Dom, Loc, Runtime, Tag, Type, Validation} from 'main.core';\nimport {BaseEvent, EventEmitter} from \"main.core.events\";\nimport type {TabOptions, Tab} from \"ui.entity-selector\";\nimport {Loader} from \"main.loader\";\nimport {ProductSelector} from \"catalog.product-selector\";\n\nexport default class ProductSearchSelectorFooter extends DefaultFooter\n{\n\tloader: 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\tif (this.options.allowCreateItem === false)\n\t\t{\n\t\t\tphrase = this.getSaveContainer();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tphrase = Tag.render`\n\t\t\t\t<div>${Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_FOOTER')}</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\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\tgetLoader(): 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\tshowLoader(): void\n\t{\n\t\tvoid this.getLoader().show();\n\t}\n\n\thideLoader(): void\n\t{\n\t\tvoid this.getLoader().hide();\n\t}\n\n\tsetLabel(label: string)\n\t{\n\t\tif (Type.isString(label))\n\t\t{\n\t\t\tthis.getLabelContainer().textContent = label;\n\t\t}\n\t}\n\n\tgetLabelContainer(): 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 onclick=\"${this.handleClick.bind(this)}\" class=\"ui-selector-footer-link ui-selector-footer-link-add\">\n\t\t\t\t\t\t${\n\t\t\t\t\t\t\tthis.getOption('creationLabel', Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_CREATE'))\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\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\tgetSaveContainer(): 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 =\n\t\t\t\t(this.options.inputName === ProductSelector.INPUT_FIELD_BARCODE)\n\t\t\t\t\t? 'CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_BARCODE_CHANGE'\n\t\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<span class=\"${className}\" onclick=\"${this.onClickSaveChanges.bind(this)}\">\n\t\t\t\t${Loc.getMessage(messageId)}\n\t\t\t</span>\n\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\tonClickSaveChanges()\n\t{\n\t\tconst lastQuery = this.getDialog().getActiveTab().getLastSearchQuery();\n\t\tthis.getDialog().emit('ChangeItem:onClick', { query: lastQuery.query });\n\t\tthis.getDialog().clearSearch();\n\t\tthis.getDialog().hide();\n\t}\n\n\tcreateItem(): void\n\t{\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\thandleClick(): void\n\t{\n\t\tthis.createItem();\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\tif (this.options.allowCreateItem !== false)\n\t\t{\n\t\t\tthis.getQueryContainer().textContent = query;\n\t\t}\n\t}\n}","import {DefaultFooter} from 'ui.entity-selector';\nimport {Event, Loc, Tag} from 'main.core';\nimport 'ui.info-helper';\n\nexport default class ProductCreationLimitedFooter 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>\t\t\t\t\n\t\t\t</div>\n\t\t`;\n\t}\n}","export class SelectorErrorCode\n{\n\tstatic NOT_SELECTED_PRODUCT: string = 'NOT_SELECTED_PRODUCT';\n\tstatic FAILED_PRODUCT: string = 'FAILED_PRODUCT';\n}","import {Browser, Cache, Dom, Event, Extension, Loc, Tag, Text, Type} from 'main.core';\nimport {Dialog, Item} from 'ui.entity-selector';\nimport './component.css';\nimport {EventEmitter} from 'main.core.events';\nimport {ProductModel} from 'catalog.product-model';\nimport {ProductSelector} from 'catalog.product-selector';\nimport ProductSearchSelectorFooter from './product-search-selector-footer';\nimport ProductCreationLimitedFooter from './product-creation-limited-footer';\nimport {SelectorErrorCode} from './selector-error-code';\nimport 'ui.notification';\n\nexport class ProductSearchInput\n{\n\tstatic SEARCH_TYPE_ID = 'product';\n\n\tmodel: ProductModel;\n\tselector: ProductSelector;\n\tcache = new Cache.MemoryCache();\n\n\tconstructor(id, options = {})\n\t{\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 Error('Product selector instance not found.');\n\t\t}\n\n\t\tthis.model = options.model || {};\n\t\tthis.isEnabledSearch = options.isSearchEnabled;\n\t\tthis.isEnabledDetailLink = options.isEnabledDetailLink;\n\t\tthis.inputName = options.inputName || ProductSelector.INPUT_FIELD_NAME;\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\t\tthis.ajaxInProcess = false;\n\t}\n\n\tdestroy()\n\t{\n\n\t}\n\n\tgetId()\n\t{\n\t\treturn this.id;\n\t}\n\n\tgetSelectorType()\n\t{\n\t\treturn ProductSelector.INPUT_FIELD_NAME;\n\t}\n\n\tgetField(fieldName): string\n\t{\n\t\treturn this.model.getField(fieldName);\n\t}\n\n\tgetValue()\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\tisSearchEnabled(): boolean\n\t{\n\t\treturn this.isEnabledSearch;\n\t}\n\n\ttoggleIcon(icon, value)\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\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\tgetNameInput(): HTMLInputElement\n\t{\n\t\treturn this.cache.remember('nameInput', () => {\n\t\t\treturn 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\t\t});\n\t}\n\n\tgetHiddenNameInput(): 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\thandleNameInputHiddenChange(event: UIEvent)\n\t{\n\t\tthis.getHiddenNameInput().value = event.target.value;\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\tgetArrowIcon(): 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\tgetSearchIcon(): 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\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.handleShowSearchDialog.bind(this));\n\t\t\tEvent.bind(this.getNameInput(), 'input', this.handleShowSearchDialog.bind(this));\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\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\t\treturn block;\n\t}\n\n\tshowDetailLink(): boolean\n\t{\n\t\treturn this.isEnabledDetailLink;\n\t}\n\n\tgetDialog(): ?Dialog\n\t{\n\t\treturn this.cache.remember('dialog', () => {\n\t\t\tconst searchTypeId = ProductSearchInput.SEARCH_TYPE_ID ;\n\t\t\tconst entity = {\n\t\t\t\tid: searchTypeId,\n\t\t\t\toptions: {\n\t\t\t\t\tiblockId: this.model.getIblockId(),\n\t\t\t\t\tbasePriceId: this.model.getBasePriceId(),\n\t\t\t\t\tcurrency: this.model.getCurrency(),\n\t\t\t\t},\n\t\t\t\tdynamicLoad: true,\n\t\t\t\tdynamicSearch: true,\n\t\t\t};\n\t\t\tconst restrictedProductTypes = this.selector.getConfig('RESTRICTED_PRODUCT_TYPES', null);\n\t\t\tif (!Type.isNil(restrictedProductTypes))\n\t\t\t{\n\t\t\t\tentity.options.restrictedProductTypes = restrictedProductTypes;\n\t\t\t}\n\n\t\t\tconst params = {\n\t\t\t\tid: this.id + '_' + searchTypeId,\n\t\t\t\theight: 300,\n\t\t\t\twidth: Math.max(this.getNameInput()?.offsetWidth, 565),\n\t\t\t\tcontext: 'catalog-products',\n\t\t\t\ttargetNode: this.getNameInput(),\n\t\t\t\tenableSearch: false,\n\t\t\t\tmultiple: false,\n\t\t\t\tdropdownMode: true,\n\t\t\t\tsearchTabOptions: {\n\t\t\t\t\tstub: true,\n\t\t\t\t\tstubOptions: {\n\t\t\t\t\t\ttitle: Tag.message`${'CATALOG_SELECTOR_IS_EMPTY_TITLE'}`,\n\t\t\t\t\t\tsubtitle:\n\t\t\t\t\t\t\tthis.isAllowedCreateProduct()\n\t\t\t\t\t\t\t\t? Tag.message`${'CATALOG_SELECTOR_IS_EMPTY_SUBTITLE'}`\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t,\n\t\t\t\t\t\tarrow: true\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tevents: {\n\t\t\t\t\t'Item:onSelect': this.onProductSelect.bind(this),\n\t\t\t\t\t'Search:onItemCreateAsync': this.createProduct.bind(this),\n\t\t\t\t\t'ChangeItem:onClick': this.showChangeNotification.bind(this),\n\t\t\t\t},\n\t\t\t\tentities: [entity]\n\t\t\t};\n\n\t\t\tconst settingsCollection = Extension.getSettings('catalog.product-selector');\n\t\t\tif (Type.isObject(settingsCollection.get('limitInfo')))\n\t\t\t{\n\t\t\t\tparams.footer = ProductCreationLimitedFooter;\n\t\t\t}\n\t\t\telse if (this.model && this.model.isSaveable() && this.model.isCatalogExisted())\n\t\t\t{\n\t\t\t\tparams.footer = ProductSearchSelectorFooter;\n\t\t\t\tparams.footerOptions = {\n\t\t\t\t\tinputName: this.inputName,\n\t\t\t\t\tallowCreateItem: this.isAllowedCreateProduct(),\n\t\t\t\t\tcreationLabel: Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_CREATE'),\n\t\t\t\t\tcurrentValue: this.getValue(),\n\t\t\t\t};\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tparams.searchOptions = { allowCreateItem: this.isAllowedCreateProduct() };\n\t\t\t}\n\n\t\t\treturn new Dialog(params);\n\t\t});\n\t}\n\n\tinitHasDialogItems()\n\t{\t\t\n\t\tif (!Type.isNil(this.isHasDialogItems))\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.isHasDialogItems = true;\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t// is null, that not send ajax\n\t\tthis.isHasDialogItems = false;\n\t\t\n\t\tconst dialog = this.getDialog();\n\t\tif (dialog.hasDynamicLoad())\n\t\t{\n\t\t\tdialog.hasRecentItems().then((isHasItems) => {\n\t\t\t\tif (isHasItems === true)\n\t\t\t\t{\n\t\t\t\t\tthis.isHasDialogItems = true;\n\t\t\t\t}\n\t\t\t});\t\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.isHasDialogItems = true;\n\t\t}\n\t}\n\n\tisAllowedCreateProduct()\n\t{\n\t\treturn this.selector.getConfig('IS_ALLOWED_CREATION_PRODUCT', true);\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\thandleIconsSwitchingOnNameInput(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\tclearInputCache()\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\thandleClearIconClick(event: UIEvent)\n\t{\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\tthis.selector.searchInDialog();\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\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n\n\thandleNameInputChange(event: UIEvent)\n\t{\n\t\tconst value = event.target.value;\n\t\tthis.onChangeValue(value);\n\t}\n\n\tonChangeValue(value: string)\n\t{\n\t\tconst fields = {};\n\t\tthis.getNameInput().title = value;\n\t\tthis.getNameInput().value = value;\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().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')}</div>`,\n\t\t\t\tautoHide: true,\n\t\t\t});\n\t\t});\n\t}\n\n\tfocusName()\n\t{\n\t\trequestAnimationFrame(() => this.getNameInput().focus());\n\t}\n\n\tsearchInDialog(searchQuery: string = '')\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\tdialog.removeItems();\n\n\t\t\tsearchQuery = searchQuery.trim();\n\t\t\tif (searchQuery === '')\n\t\t\t{\n\t\t\t\tif (this.isHasDialogItems === false)\n\t\t\t\t{\n\t\t\t\t\tdialog.hide();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tdialog.loadState = 'UNSENT';\n\t\t\t\tdialog.load();\n\t\t\t}\n\t\t\t\n\t\t\tdialog.show();\n\t\t\tdialog.search(searchQuery);\n\t\t}\n\t}\n\n\thandleShowSearchDialog(event: UIEvent)\n\t{\n\t\tthis.searchInDialog(this.getNameInput().value);\n\t}\n\n\thandleNameInputBlur(event: UIEvent)\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.getNameInput().value)\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\tLoc.getMessage('CATALOG_SELECTOR_SELECTED_PRODUCT_TITLE')\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\thandleSearchIconClick(event: UIEvent)\n\t{\n\t\tthis.searchInDialog();\n\t\tthis.focusName();\n\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n\n\tgetImmutableFieldNames()\n\t{\n\t\treturn this.immutableFieldNames;\n\t}\n\n\tsetInputValueOnProductSelect(item: Item)\n\t{\n\t\titem.getDialog().getTargetNode().value = item.getTitle()\n\t}\n\n\tonProductSelect(event)\n\t{\n\t\tconst item = event.getData().item;\n\t\tthis.setInputValueOnProductSelect(item);\n\n\t\tthis.toggleIcon(this.getSearchIcon(), 'none');\n\t\tthis.model.getErrorCollection().clearErrors();\n\t\tif (this.selector)\n\t\t{\n\t\t\tconst isNew = item.getCustomData().get('isNew');\n\t\t\tconst immutableFields = [];\n\t\t\tthis.getImmutableFieldNames().forEach((key) => {\n\t\t\t\tif (!Type.isNil(item.getCustomData().get(key)))\n\t\t\t\t{\n\t\t\t\t\tthis.model.setField(key, item.getCustomData().get(key));\n\t\t\t\t\timmutableFields.push(key);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.selector.onProductSelect(\n\t\t\t\titem.getId(),\n\t\t\t\t\t{\n\t\t\t\t\t\tisNew,\n\t\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\tcreateProductModelFromSearchQuery(searchQuery: string)\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;\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(\n\t\t\t(resolve, reject) => {\n\t\t\t\tif (!this.checkCreationModel(newProduct))\n\t\t\t\t{\n\t\t\t\t\tthis.ajaxInProcess = false;\n\t\t\t\t\tdialog.hide();\n\t\t\t\t\treject();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tdialog.showLoader();\n\t\t\t\tnewProduct.save()\n\t\t\t\t\t.then(response => {\n\t\t\t\t\t\tdialog.hideLoader();\n\t\t\t\t\t\tconst id = Text.toInteger(response.data.id);\n\t\t\t\t\t\tconst item = dialog.addItem({\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tentityId: ProductSearchInput.SEARCH_TYPE_ID,\n\t\t\t\t\t\t\ttitle: searchQuery.getQuery(),\n\t\t\t\t\t\t\ttabs: dialog.getRecentTab().getId(),\n\t\t\t\t\t\t\tcustomData: {\n\t\t\t\t\t\t\t\tisNew: true,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tthis.selector.getModel().setOption('isSimpleModel', false);\n\t\t\t\t\t\tthis.selector.getModel().setOption('isNew', true);\n\n\t\t\t\t\t\tthis.getImmutableFieldNames().forEach((name) => {\n\t\t\t\t\t\t\tthis.selector.getModel().setField(name, newProduct.getField(name));\n\t\t\t\t\t\t\tthis.selector.getModel().setOption(name, newProduct.getField(name));\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (item)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\titem.select();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdialog.hide();\n\t\t\t\t\t\tthis.cache.delete('dialog');\n\t\t\t\t\t\tthis.ajaxInProcess = false;\n\t\t\t\t\t\tthis.isHasDialogItems = true;\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((errorResponse) => {\n\t\t\t\t\t\tdialog.hideLoader();\n\t\t\t\t\t\terrorResponse.errors.forEach((error) => {\n\t\t\t\t\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\t\t\t\t\tcloseButton: true,\n\t\t\t\t\t\t\t\tcontent: Tag.render`<div>${error.message}</div>`,\n\t\t\t\t\t\t\t\tautoHide: true,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tthis.ajaxInProcess = false;\n\t\t\t\t\t\treject();\n\t\t\t\t\t});\n\t\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\tremoveSpotlight()\n\t{\n\t}\n\n\tremoveQrAuth()\n\t{\n\t}\n}\n","import {Runtime, Tag, Text, Type} from 'main.core';\nimport './component.css';\nimport {ProductSelector} from 'catalog.product-selector';\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}\n\n\tisViewMode(): boolean\n\t{\n\t\treturn this.selector && this.selector.isViewMode();\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 =\n\t\t\tthis.isViewMode()\n\t\t\t\t? this.selector.getModel()?.getImageCollection()?.getPreview()\n\t\t\t\t: this.selector.getModel()?.getImageCollection()?.getEditInput()\n\t\t;\n\n\t\tRuntime.html(imageContainer, html);\n\n\t\treturn imageContainer;\n\t}\n}","import {Loc, Tag, Dom} from 'main.core';\nimport {BaseEvent} from \"main.core.events\";\nimport ProductSearchSelectorFooter from \"./product-search-selector-footer\";\n\nexport class BarcodeSearchSelectorFooter extends ProductSearchSelectorFooter\n{\n\tconstructor(id, options = {})\n\t{\n\t\tsuper(id, options);\n\t\tthis.isEmptyBarcode = options.isEmptyBarcode;\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\t\tDom.style(this.scannerContent, '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\tgetScannerContent(): 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\tgetScannerLabelContainer(): HTMLElement\n\t{\n\t\treturn this.cache.remember('scannerLabel', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<span onclick=\"${this.handleScannerClick.bind(this)}\">\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\tgetScannerQueryContainer(): 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\thandleScannerClick(): void\n\t{\n\t\tconst inputEntity = this.options?.inputEntity;\n\t\tif (inputEntity)\n\t\t{\n\t\t\tinputEntity.startMobileScanner();\n\t\t}\n\t}\n\n\thandleOnSearch(event: BaseEvent): void\n\t{\n\t\tconst { query } = event.getData();\n\n\t\tif (this.isEmptyBarcode)\n\t\t{\n\t\t\tif (query === '')\n\t\t\t{\n\t\t\t\tthis.show();\n\t\t\t\tDom.style(this.scannerContent, 'display', '');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (query === '')\n\t\t\t{\n\t\t\t\tthis.show();\n\t\t\t\tDom.style(this.barcodeContent, 'display', 'none');\n\t\t\t\tDom.style(this.scannerContent, 'display', '');\n\t\t\t}\n\t\t\telse if (this.options.currentValue === query)\n\t\t\t{\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.show();\n\t\t\t\tDom.style(this.barcodeContent, 'display', '');\n\t\t\t\tDom.style(this.scannerContent, 'display', 'none');\n\t\t\t}\n\t\t}\n\n\t\tif (this.options.allowCreateItem !== false)\n\t\t{\n\t\t\tthis.getQueryContainer().textContent = query;\n\t\t\tthis.getScannerQueryContainer().textContent = query;\n\t\t}\n\t}\n}","import {Extension, Loc, Tag, Type, Text, Dom, Event, userOptions, ajax} from 'main.core';\nimport {Dialog, Item} from 'ui.entity-selector';\nimport './component.css';\nimport {EventEmitter} from 'main.core.events';\nimport {ProductModel} from 'catalog.product-model';\nimport ProductCreationLimitedFooter from './product-creation-limited-footer';\nimport {ProductSearchInput} from './product-search-input';\nimport {ProductSelector} from 'catalog.product-selector';\nimport {BarcodeScanner} from 'catalog.barcode-scanner';\nimport 'ui.notification';\nimport {BarcodeSearchSelectorFooter} from './barcode-search-selector-footer';\nimport {QrAuthorization} from 'ui.qrauthorization';\nimport {SelectorErrorCode} from './selector-error-code';\nimport 'spotlight';\nimport {Guide} from 'ui.tour';\n\nexport class BarcodeSearchInput extends ProductSearchInput\n{\n\tstatic SEARCH_TYPE_ID = 'barcode';\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\tif (!this.settingsCollection.get('isEnabledQrAuth') && this.selector.getConfig('ENABLE_BARCODE_QR_AUTH', true))\n\t\t{\n\t\t\tthis.qrAuth = new QrAuthorization();\n\t\t\tthis.qrAuth.createQrCodeImage();\n\t\t}\n\t}\n\n\tdestroy()\n\t{\n\t\tEvent.unbind(this.getNameInput(), 'focus', this.onFocusHandler);\n\t\tEvent.unbind(this.getNameInput(), 'blur', this.onBlurHandler);\n\t}\n\n\thandleFocusEvent()\n\t{\n\t\tthis.focused = true;\n\t}\n\n\thandleBlurEvent()\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\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.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\tgetDialog(): ?Dialog\n\t{\n\t\treturn this.cache.remember('dialog', () => {\n\t\t\tconst entity = {\n\t\t\t\tid: BarcodeSearchInput.SEARCH_TYPE_ID,\n\t\t\t\toptions: {\n\t\t\t\t\tiblockId: this.model.getIblockId(),\n\t\t\t\t\tbasePriceId: this.model.getBasePriceId(),\n\t\t\t\t\tcurrency: this.model.getCurrency(),\n\t\t\t\t},\n\t\t\t\tdynamicLoad: true,\n\t\t\t\tdynamicSearch: true,\n\t\t\t\tsearchFields: [\n\t\t\t\t\t{ name: 'title', type: 'string', system: true, searchable: false },\n\t\t\t\t],\n\t\t\t};\n\n\t\t\tconst restrictedProductTypes = this.selector.getConfig('RESTRICTED_PRODUCT_TYPES', null);\n\t\t\tif (!Type.isNil(restrictedProductTypes))\n\t\t\t{\n\t\t\t\tentity.options.restrictedProductTypes = restrictedProductTypes;\n\t\t\t}\n\n\t\t\tconst params = {\n\t\t\t\tid: this.id + '_' + BarcodeSearchInput.SEARCH_TYPE_ID,\n\t\t\t\theight: 300,\n\t\t\t\twidth: Math.max(this.getNameInput()?.offsetWidth, 565),\n\t\t\t\tcontext: null,\n\t\t\t\ttargetNode: this.getNameInput(),\n\t\t\t\tenableSearch: false,\n\t\t\t\tmultiple: false,\n\t\t\t\tdropdownMode: true,\n\t\t\t\tsearchTabOptions: {\n\t\t\t\t\tstub: true,\n\t\t\t\t\tstubOptions: {\n\t\t\t\t\t\ttitle: Tag.message`${'CATALOG_SELECTOR_IS_EMPTY_TITLE'}`,\n\t\t\t\t\t\tsubtitle:\n\t\t\t\t\t\t\tthis.isAllowedCreateProduct()\n\t\t\t\t\t\t\t\t? Tag.message`${'CATALOG_SELECTOR_IS_EMPTY_SUBTITLE'}`\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t,\n\t\t\t\t\t\tarrow: true\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tevents: {\n\t\t\t\t\t'Item:onSelect': this.onProductSelect.bind(this),\n\t\t\t\t\t'Search:onItemCreateAsync': this.createProduct.bind(this),\n\t\t\t\t\t'ChangeItem:onClick': this.showChangeNotification.bind(this),\n\t\t\t\t},\n\t\t\t\tentities: [entity]\n\t\t\t};\n\n\t\t\tif (this.model.getSkuId() && !Type.isStringFilled(this.model.getField(this.inputName)))\n\t\t\t{\n\t\t\t\tparams.preselectedItems = [[BarcodeSearchInput.SEARCH_TYPE_ID, this.model.getSkuId()]];\n\t\t\t}\n\n\t\t\tif (Type.isObject(this.settingsCollection.get('limitInfo')))\n\t\t\t{\n\t\t\t\tparams.footer = ProductCreationLimitedFooter;\n\t\t\t}\n\t\t\telse if (this.model && this.model.isSaveable() && this.model.isCatalogExisted())\n\t\t\t{\n\t\t\t\tparams.footer = BarcodeSearchSelectorFooter;\n\t\t\t\tparams.footerOptions = {\n\t\t\t\t\tinputEntity: this,\n\t\t\t\t\tisEmptyBarcode: false,\n\t\t\t\t\tinputName: this.inputName,\n\t\t\t\t\tallowCreateItem: this.isAllowedCreateProduct(),\n\t\t\t\t\tcreationLabel: Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_CREATE_WITH_BARCODE'),\n\t\t\t\t\tcurrentValue: this.getValue(),\n\t\t\t\t};\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tparams.footer = BarcodeSearchSelectorFooter;\n\t\t\t\tparams.footerOptions = {\n\t\t\t\t\tinputEntity: this,\n\t\t\t\t\tisEmptyBarcode: true,\n\t\t\t\t\tinputName: this.inputName,\n\t\t\t\t\tallowCreateItem: this.isAllowedCreateProduct(),\n\t\t\t\t\tcreationLabel: Loc.getMessage('CATALOG_SELECTOR_SEARCH_POPUP_FOOTER_CREATE_WITH_BARCODE'),\n\t\t\t\t\tcurrentValue: this.getValue(),\n\t\t\t\t};\n\t\t\t\tparams.searchOptions = {\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\n\t\t\treturn new Dialog(params);\n\t\t});\n\t}\n\n\tlayoutMobileQrPopup(): HTMLElement\n\t{\n\t\treturn this.cache.remember('qrMobilePopup', () => {\n\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\tcloseMobilePopup()\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\tif (result.data === true)\n\t\t\t\t{\n\t\t\t\t\tthis.selector.emit('onBarcodeQrClose', {});\n\t\t\t\t}\n\t\t\t})\n\t\t;\n\n\t\tuserOptions.save('product-selector', 'barcodeQrAuth', 'showed', 'Y');\n\t}\n\n\thandleShowSearchDialog(event: UIEvent)\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\t\tsuper.handleShowSearchDialog(event);\n\t}\n\n\tonChangeValue(value: string)\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\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(searchQuery: string = '')\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\t/*if (searchQuery === '' && this.model.isEmpty())\n\t\t{\n\t\t\tdialog.hide();\n\t\t\treturn;\n\t\t}*/\n\n\t\tdialog.removeItems()\n\n\t\tif (dialog)\n\t\t{\n\t\t\tif (searchQuery === '')\n\t\t\t{\n\t\t\t\tdialog.setPreselectedItems([[BarcodeSearchInput.SEARCH_TYPE_ID, this.model.getSkuId()]])\n\t\t\t\tdialog.loadState = 'UNSENT';\n\t\t\t\tdialog.load();\n\t\t\t}\n\t\t\tdialog.show();\n\t\t\tdialog.search(searchQuery);\n\t\t}\n\t}\n\n\thandleNameInputBlur(event: UIEvent)\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\tthis.toggleIcon(this.getSearchIcon(), 'none');\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\tthis.toggleIcon(\n\t\t\t\t\tthis.getSearchIcon(),\n\t\t\t\t\tType.isStringFilled(this.getFilledValue()) ? 'none' : 'block'\n\t\t\t\t);\n\t\t\t}\n\t\t}, 200);\n\t}\n\n\tsetInputValueOnProductSelect(item: Item)\n\t{\n\t\titem.getDialog().getTargetNode().value = item.getSubtitle()\n\t}\n\n\tgetCreationProduct(name)\n\t{\n\t\tconst fields = {...this.selector.getModel().getFields()};\n\t\tfields[ProductSelector.INPUT_FIELD_NAME] = name;\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\tcreateProductModelFromSearchQuery(searchQuery: string)\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)\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\tstartMobileScanner(event)\n\t{\n\t\tif (\n\t\t\t!this.settingsCollection.get('isInstallMobileApp')\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\tthis.handleShowSearchDialog(event);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.sendMobilePush(event);\n\t}\n\n\tsendMobilePush(event)\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\tgetProductIdByBarcode(barcode)\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: barcode,\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\t}\n\n\tapplyScannerData(barcode)\n\t{\n\t\tthis.getProductIdByBarcode(barcode).then((response) => {\n\t\t\tconst productId = response?.data;\n\t\t\tif (productId)\n\t\t\t{\n\t\t\t\tthis.selectScannedBarcodeProduct(productId);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.searchInDialog(barcode);\n\t\t\t}\n\t\t\tthis.getNameInput().value = Text.encode(barcode);\n\t\t});\n\t}\n\n\tselectScannedBarcodeProduct(productId)\n\t{\n\t\tthis.toggleIcon(this.getSearchIcon(), 'none');\n\t\tthis.model.getErrorCollection().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\tgetBarcodeIcon(): 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.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.handleShowSearchDialog(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\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\tremoveSpotlight()\n\t{\n\t\tif (this.spotlight)\n\t\t{\n\t\t\tthis.spotlight.close();\n\t\t}\n\t}\n\n\tremoveQrAuth()\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","import {ajax, Cache, Dom, Event, Loc, Reflection, Runtime, Tag, Text, Type} from 'main.core';\nimport 'ui.forms';\nimport 'fileinput';\nimport 'ui.notification';\nimport {EventEmitter} from 'main.core.events';\nimport {SkuTree} from 'catalog.sku-tree';\nimport {ProductSearchInput} from \"./product-search-input\";\nimport {ProductImageInput} from \"./product-image-input\";\nimport {ProductModel} from \"catalog.product-model\";\nimport './component.css';\nimport {BarcodeSearchInput} from \"./barcode-search-input\";\nimport {SelectorErrorCode} from \"./selector-error-code\";\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 INPUT_FIELD_NAME = 'NAME';\n\tstatic INPUT_FIELD_BARCODE = 'BARCODE';\n\n\tstatic ErrorCodes = SelectorErrorCode;\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: ?ProductSearchInput;\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\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\t\tthis.setEventNamespace('BX.Catalog.ProductSelector');\n\n\t\tthis.id = id || Text.getRandom();\n\t\toptions.inputFieldName = options.inputFieldName || ProductSelector.INPUT_FIELD_NAME;\n\t\tthis.options = options || {};\n\n\t\tthis.type = this.options.type || ProductSelector.INPUT_FIELD_NAME;\n\n\t\tthis.setMode(options.mode);\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\tLoc.getMessage('CATALOG_SELECTOR_SELECTED_PRODUCT_TITLE')\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\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\tEventEmitter.subscribe('ProductList::onChangeFields', this.onChangeFieldsHandler);\n\t\tEventEmitter.subscribe('Catalog.ImageInput::save', this.onSaveImageHandler);\n\t\tEventEmitter.subscribe('onUploaderIsInited', this.onUploaderIsInitedHandler);\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\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\tgetMobileScannerToken(): string\n\t{\n\t\treturn this.mobileScannerToken || Text.getRandom(16);\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) && this.model.getIblockId() > 0;\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\treturn this.isEnabledEmptyProductError() &&\n\t\t\t(\n\t\t\t\tthis.model.isEmpty() && this.model.isChanged()\n\t\t\t\t|| this.model.isSimple()\n\t\t\t);\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) && Type.isStringFilled(this.model.getDetailPath());\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\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\tajax\n\t\t\t\t\t.runAction(\t'catalog.productSelector.getFileInput', {\n\t\t\t\t\t\tjson:{\n\t\t\t\t\t\t\tiblockId: this.getModel().getIblockId()\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.layoutImage();\n\t\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.layoutImage();\n\t\t\t}\n\n\t\t\tDom.append(this.getImageContainer(), wrapper);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.addClass(wrapper, 'catalog-product-field-no-image');\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 (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\tconst wrapper = this.getWrapper();\n\t\tif (wrapper)\n\t\t{\n\t\t\twrapper.innerHTML = '';\n\t\t}\n\n\t\tthis.unsubscribeToVariationChange();\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}\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\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\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\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\tif (this.getType() === ProductSelector.INPUT_FIELD_BARCODE)\n\t\t\t{\n\t\t\t\tif (!this.searchInput)\n\t\t\t\t{\n\t\t\t\t\tthis.searchInput = new BarcodeSearchInput(\n\t\t\t\t\t\tthis.id,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tselector: this,\n\t\t\t\t\t\t\tmodel: this.getModel(),\n\t\t\t\t\t\t\tinputName: this.options.inputFieldName,\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\telse\n\t\t\t{\n\t\t\t\tthis.searchInput = new ProductSearchInput(\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\tisSearchEnabled: this.isProductSearchEnabled(),\n\t\t\t\t\t\tisEnabledEmptyProductError: this.isEnabledEmptyProductError(),\n\t\t\t\t\t\tisEnabledDetailLink: this.isInputDetailLinkEnabled()\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tDom.append(this.searchInput.layout(), block);\n\t\t}\n\n\t\treturn block;\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.runAction(\n\t\t\t\t\t'catalog.productSelector.getSkuTreeProperties',\n\t\t\t\t\t{\n\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\tiblockId: this.getModel().getIblockId(),\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\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\t\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});\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)\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\t\tajax.runAction(\n\t\t\t'catalog.productSelector.getSelectedSku',\n\t\t\t{\n\t\t\t\tjson: {\n\t\t\t\t\tvariationId,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tpriceId: this.basePriceId,\n\t\t\t\t\t\tcurrency: this.model.getCurrency(),\n\t\t\t\t\t\turlBuilder: this.getConfig('URL_BUILDER_CONTEXT')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\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(\t'catalog.productSelector.getFileInput', {\n\t\t\t\tjson:{\n\t\t\t\t\tiblockId: this.getModel().getIblockId(),\n\t\t\t\t\tskuId: this.getModel()?.getSkuId()\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\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.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\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\tthis.#inAjaxProcess = true\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\tprocessResponse(response, config = {}, isProductAction = false)\n\t{\n\t\tconst data = response?.data || null;\n\t\tthis.#inAjaxProcess = false;\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.clearState();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.productSelectAjaxAction(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\tconst fields = data?.fields || null;\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\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});\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\tif (Type.isArray(this.options.immutableFields))\n\t\t{\n\t\t\tthis.options.immutableFields.forEach((field) => {\n\t\t\t\tdata.fields[field] = this.getModel().getField(field);\n\t\t\t});\n\t\t}\n\n\t\tif (Type.isArray(config.immutableFields))\n\t\t{\n\t\t\tconfig.immutableFields.forEach((field) => {\n\t\t\t\tdata.fields[field] = this.getModel().getField(field);\n\t\t\t});\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":["ProductSearchSelectorFooter","DefaultFooter","constructor","dialog","options","loader","getDialog","subscribe","handleOnSearch","bind","getContent","phrase","allowCreateItem","getSaveContainer","Tag","render","Loc","getMessage","createButton","querySelector","Dom","replace","getLabelContainer","changeButton","getLoaderContainer","getLoader","Type","isNil","Loader","target","size","color","showLoader","show","hideLoader","hide","setLabel","label","isString","textContent","cache","remember","handleClick","getOption","getQueryContainer","className","messageId","inputName","ProductSelector","INPUT_FIELD_BARCODE","onClickSaveChanges","lastQuery","getActiveTab","getLastSearchQuery","emit","query","clearSearch","createItem","tagSelector","getTagSelector","isLocked","finalize","unlock","focusSearch","event","preventDefault","lock","emitAsync","searchQuery","then","getTab","clearResults","selectFirstTab","catch","getData","currentValue","ProductCreationLimitedFooter","infoButton","Event","BX","UI","InfoHelper","SelectorErrorCode","NOT_SELECTED_PRODUCT","FAILED_PRODUCT","ProductSearchInput","id","Cache","MemoryCache","Text","getRandom","selector","Error","model","isEnabledSearch","isSearchEnabled","isEnabledDetailLink","INPUT_FIELD_NAME","immutableFieldNames","includes","push","ajaxInProcess","destroy","getId","getSelectorType","getField","fieldName","getValue","getFilledValue","getNameInput","value","toggleIcon","icon","isDomNode","style","getNameBlock","getNameTag","getHiddenNameInput","isNew","encode","getPlaceholder","handleNameInputHiddenChange","getClearIcon","handleClearIconClick","getArrowIcon","getDetailPath","getSearchIcon","handleSearchIconClick","layout","clearInputCache","block","append","isProductSearchEnabled","initHasDialogItems","isStringFilled","handleShowSearchDialog","handleNameInputBlur","handleNameInputKeyDown","showDetailLink","handleIconsSwitchingOnNameInput","handleNameInputChange","searchTypeId","SEARCH_TYPE_ID","entity","iblockId","getIblockId","basePriceId","getBasePriceId","currency","getCurrency","dynamicLoad","dynamicSearch","restrictedProductTypes","getConfig","params","height","width","Math","max","offsetWidth","context","targetNode","enableSearch","multiple","dropdownMode","searchTabOptions","stub","stubOptions","title","message","subtitle","isAllowedCreateProduct","arrow","events","onProductSelect","createProduct","showChangeNotification","entities","settingsCollection","Extension","getSettings","isObject","get","footer","isSaveable","isCatalogExisted","footerOptions","creationLabel","searchOptions","Dialog","isHasDialogItems","getModel","isEmpty","hasDynamicLoad","hasRecentItems","isHasItems","key","getSearchTab","stopPropagation","Browser","isMac","metaKey","ctrlKey","getFooter","delete","clearState","clearLayout","searchInDialog","newValue","onChangeValue","focusName","selectorId","rowId","getRowId","fields","EventEmitter","isEnabledAutosave","setFields","save","Notification","Center","notify","closeButton","content","autoHide","requestAnimationFrame","focus","removeItems","trim","loadState","load","search","setTimeout","isEnabledEmptyProductError","inProcess","getErrorCollection","setError","layoutErrors","getImmutableFieldNames","setInputValueOnProductSelect","item","getTargetNode","getTitle","clearErrors","getCustomData","immutableFields","forEach","setField","createProductModelFromSearchQuery","getFields","ProductModel","isSimpleModel","getTarget","newProduct","getQuery","Promise","resolve","reject","checkCreationModel","response","toInteger","data","addItem","entityId","tabs","getRecentTab","customData","setOption","name","select","errorResponse","errors","error","creationModel","getType","onSave","declineCancelTitle","onCancel","showSaveNotifier","removeSpotlight","removeQrAuth","ProductImageInput","config","getImageCollection","getEditInput","restoreDefaultInputHtml","enableSaving","uploaderFieldMap","setId","setView","html","setPreview","setInputHtml","setEditInput","defaultInput","isViewMode","isEnabledLiveSaving","imageContainer","getPreview","Runtime","BarcodeSearchSelectorFooter","isEmptyBarcode","barcodeContent","scannerContent","getScannerContent","getScannerLabelContainer","handleScannerClick","getScannerQueryContainer","inputEntity","startMobileScanner","BarcodeSearchInput","onFocusHandler","handleFocusEvent","onBlurHandler","handleBlurEvent","focused","qrAuth","QrAuthorization","createQrCodeImage","unbind","searchFields","type","system","searchable","getSkuId","preselectedItems","layoutMobileQrPopup","closeIcon","closeMobilePopup","sendButton","helpButton","top","Helper","getQrNode","ajax","runAction","json","result","userOptions","getContainer","hasClass","addClass","disableCancel","setPreselectedItems","getSubtitle","getCreationProduct","sendMobilePush","isEnabledMobileScanning","token","getMobileScannerToken","BarcodeScanner","open","repeatLink","category","autoHideDelay","getProductIdByBarcode","barcode","applyScannerData","productId","selectScannedBarcodeProduct","getBarcodeIcon","barcodeIcon","spotlight","SpotLight","targetElement","autoSave","targetVertex","zIndex","guide","Guide","steps","text","onEvents","getPopup","setAutoHide","showNextStep","setConfig","close","mobilePopup","remove","removeClass","instances","Map","iblockSkuTreeProperties","getById","mode","MODE_EDIT","mobileScannerToken","variationChangeHandler","handleVariationChange","onSaveImageHandler","onSaveImage","onChangeFieldsHandler","debounce","onChangeFields","onUploaderIsInitedHandler","onUploaderIsInited","setEventNamespace","inputFieldName","setMode","toNumber","skuTree","storeMap","setMorePhotoValues","morePhotoValues","setDetailPath","failedProduct","isShowableEmptyProductError","fileView","fileInput","updateSkuTree","scannerToken","setMobileScannerToken","set","setModel","MODE_VIEW","removeMobileScannerToken","defaultValue","prop","getFileInput","fileInputId","isSkuTreeEnabled","isImageFieldEnabled","isChanged","isSimple","isShowableErrors","isEnabledEmptyImagesError","isEnabledChangesRendering","isInputDetailLinkEnabled","getWrapper","wrapper","document","getElementById","renderTo","node","defineWrapperClass","innerHTML","layoutNameBlock","getSkuTreeInstance","getErrorContainer","Reflection","getClass","layoutImage","getImageContainer","subscribeToVariationChange","searchInput","clearImageErrorBorder","hasErrors","getErrors","code","setImageErrorBorder","refreshImageSelectorId","initFields","ID","NAME","BARCODE","PRODUCT_ID","SKU_ID","clearSkuTree","skuTreeInstance","getStoreCollection","clear","unsubscribeToVariationChange","unsubscribeEvents","unsubscribe","getNameBlockView","productName","namePlaceholder","getNameInputFilledValue","tree","setSkuTree","getIblockSkuTreeProperties","has","getSkuTree","SkuTree","selectable","hideUnselected","skuFields","PARENT_PRODUCT_ID","variationId","priceId","urlBuilder","processResponse","eventData","reloadFileInput","skuId","inputId","input","preview","values","morePhoto","getMorePhotoValues","itemConfig","productSelectAjaxAction","isProductAction","changeSelectedElement","getProductId","isArray","field","productChanged","imageField","image","checkEmptyImageError","detailUrl","isArrayFilled","removeError","ErrorCodes"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.25 |
proxy
|
phpinfo
|
Settings