Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/ui/install/js/ui/info-helper/dist/
Upload File :
Current File : /var/www/homesaver/www/bitrix/modules/ui/install/js/ui/info-helper/dist/info-helper.bundle.js.map

{"version":3,"file":"info-helper.bundle.js","sources":["../src/actions.js","../src/types/providers-type.js","../src/provider-request-factory.js","../src/providers/base-provider.js","../src/providers/slider-provider.js","../src/analytics.js","../src/providers/popup-provider.js","../src/feature-promoter.js","../src/feature-promoters-registry.js","../src/feature-promoter-auto-binder.js","../src/export.js","../src/info-helper.js"],"sourcesContent":["import { ajax, Extension, Uri } from 'main.core';\nimport { sendData } from 'ui.analytics';\nimport { FeaturePromotersRegistry } from 'ui.info-helper';\n\nexport class Actions\n{\n\tstatic ClosePage()\n\t{\n\t\tBX.UI.InfoHelper.close();\n\t}\n\n\tstatic openPage()\n\t{\n\t\twindow.location.href = BX.UI.InfoHelper.frameUrl;\n\t}\n\n\tstatic openPageInNewTab()\n\t{\n\t\twindow.open(BX.UI.InfoHelper.frameUrl, '_blank');\n\t}\n\n\tstatic reloadParent()\n\t{\n\t\tBX.UI.InfoHelper.reloadParent();\n\t}\n\n\tstatic openSlider(data)\n\t{\n\t\ttop.BX.SidePanel.Instance.open(data.url);\n\t}\n\n\tstatic openPriceTable(): void\n\t{\n\t\tActions.openSlider({ url: '/settings/license_all.php' });\n\t}\n\n\tstatic openChatWithHead(data): void\n\t{\n\t\tconst opener = top.BX.Messenger.Public.openChat();\n\t\tconst analyticData = {\n\t\t\ttool: 'InfoHelper',\n\t\t\tc_section: document.location.href,\n\t\t\tevent: 'create_chatforrequest',\n\t\t};\n\n\t\tif (data.toolId)\n\t\t{\n\t\t\tajax.runAction('intranet.tools.tool.createHeadChat', {\n\t\t\t\tdata: {\n\t\t\t\t\ttoolId: data.toolId,\n\t\t\t\t},\n\t\t\t}).then((response) => {\n\t\t\t\topener.then(() => {\n\t\t\t\t\ttop.BX.Messenger.Public.openChat(`chat${response.data.chatId}`);\n\t\t\t\t});\n\t\t\t\tanalyticData.type = data.toolId;\n\t\t\t\tanalyticData.category = 'tool_off';\n\t\t\t\tsendData(analyticData);\n\t\t\t});\n\t\t}\n\n\t\tif (data.featureCode)\n\t\t{\n\t\t\tajax.runAction('bitrix24.license.upgraderequest.createHeadChat', {\n\t\t\t\tdata: {\n\t\t\t\t\tcode: data.featureCode,\n\t\t\t\t},\n\t\t\t}).then((response) => {\n\t\t\t\topener.then(() => {\n\t\t\t\t\ttop.BX.Messenger.Public.openChat(`chat${response.data.chatId}`);\n\t\t\t\t});\n\t\t\t\tanalyticData.type = data.featureCode;\n\t\t\t\tanalyticData.category = 'limit';\n\t\t\t\tsendData(analyticData);\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic openCheckout(data): void\n\t{\n\t\tif (data.mpSubscribe && Extension.getSettings('ui.info-helper').licenseType)\n\t\t{\n\t\t\tconst url = Uri.addParam('/settings/order/make.php', {\n\t\t\t\tproduct: Extension.getSettings('ui.info-helper').licenseType + '12',\n\t\t\t\tsubscr: 'o',\n\t\t\t});\n\t\t\tActions.openSlider({ url: url });\n\t\t}\n\t\telse if (data.tariff)\n\t\t{\n\t\t\tconst url = Uri.addParam('/settings/order/make.php', {\n\t\t\t\tproduct: data.period ? data.tariff + data.period : data.tariff + '12',\n\t\t\t\tsubscr: data.mpSubscribe ? 'o' : null,\n\t\t\t});\n\t\t\tActions.openSlider({ url: url });\n\t\t}\n\t}\n\n\tstatic openToolsSettings(): void\n\t{\n\t\tActions.openSlider({ url: Extension.getSettings('ui.info-helper').settingsUrl + '?page=tools' });\n\t}\n\n\tstatic openInformer(data)\n\t{\n\t\ttop.BX.UI.InfoHelper.__showExternal(\n\t\t\tdata.code,\n\t\t\tdata.option,\n\t\t);\n\t}\n\n\tstatic activateDemoSubscription(data)\n\t{\n\t\tif (data.licenseAgreed === 'Y')\n\t\t{\n\t\t\tconst ajaxRestPath = '/bitrix/tools/rest.php';\n\t\t\tconst callback = (result) => {\n\t\t\t\tconst slider = BX.SidePanel.Instance.getTopSlider();\n\n\t\t\t\tif (slider && result.error)\n\t\t\t\t{\n\t\t\t\t\tBX.UI.InfoHelper.sliderProviderForOldFormat?.getFrame().contentWindow.postMessage(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\taction: 'onActivateDemoSubscriptionResult',\n\t\t\t\t\t\t\tresult: result,\n\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\n\t\t\t\tif (!result.error)\n\t\t\t\t{\n\t\t\t\t\tconst settings = Extension.getSettings('ui.info-helper');\n\n\t\t\t\t\tif (settings.region === 'ru' && settings.licenseNeverPayed)\n\t\t\t\t\t{\n\t\t\t\t\t\tActions.openInformer({ code: 'limit_market_trial_active' });\n\t\t\t\t\t}\n\t\t\t\t\telse if (settings.marketUrl)\n\t\t\t\t\t{\n\t\t\t\t\t\tActions.openSlider({ url: settings.marketUrl });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tBX.ajax(\n\t\t\t\t{\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\turl: ajaxRestPath,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\taction: 'activate_demo',\n\t\t\t\t\t\tsessid: BX.bitrix_sessid(),\n\t\t\t\t\t},\n\t\t\t\t\tonsuccess: callback,\n\t\t\t\t\tonfailure: function(error_type, error)\n\t\t\t\t\t{\n\t\t\t\t\t\tcallback({ error: error_type + (error ? `: ${error}` : '') });\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t}\n\n\tstatic activateDemoLicense(): void\n\t{\n\t\tajax.runAction('ui.infoHelper.activateDemoLicense').then((response) => {\n\t\t\tconst slider = BX.SidePanel.Instance.getTopSlider();\n\n\t\t\tif (slider)\n\t\t\t{\n\t\t\t\tBX.UI.InfoHelper.sliderProviderForOldFormat?.getFrame().contentWindow.postMessage(\n\t\t\t\t\t{\n\t\t\t\t\t\taction: 'onActivateDemoLicenseResult',\n\t\t\t\t\t\tresult: response,\n\t\t\t\t\t},\n\t\t\t\t\t'*',\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (response.data.success === 'Y')\n\t\t\t{\n\t\t\t\tBX.onCustomEvent('BX.UI.InfoHelper:onActivateDemoLicenseSuccess', {\n\t\t\t\t\tresult: response,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic openBuySubscriptionPage(): void\n\t{\n\t\tajax.runAction('ui.infoHelper.getBuySubscriptionUrl').then((response) => {\n\t\t\tif (!!response.data && !!response.data.url)\n\t\t\t{\n\t\t\t\tif (response.data.action === 'blank')\n\t\t\t\t{\n\t\t\t\t\twindow.open(response.data.url, '_blank');\n\t\t\t\t}\n\t\t\t\telse if (response.data.action === 'redirect')\n\t\t\t\t{\n\t\t\t\t\twindow.location.href = response.data.url;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic activateTrialFeature(data): void\n\t{\n\t\tajax.runAction(\n\t\t\t'ui.infoHelper.activateTrialFeature',\n\t\t\t{\n\t\t\t\tdata: {\n\t\t\t\t\tfeatureId: data.featureId,\n\t\t\t\t},\n\t\t\t},\n\t\t).then((response) => {\n\t\t\tconst slider = BX.SidePanel.Instance.getTopSlider();\n\t\t\tif (slider)\n\t\t\t{\n\t\t\t\tBX.UI.InfoHelper.sliderProviderForOldFormat?.getFrame().contentWindow.postMessage(\n\t\t\t\t\t{\n\t\t\t\t\t\taction: 'onActivateTrialFeature',\n\t\t\t\t\t\tresult: response,\n\t\t\t\t\t},\n\t\t\t\t\t'*',\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (response.data.success === 'Y')\n\t\t\t{\n\t\t\t\tBX.onCustomEvent('BX.UI.InfoHelper:onActivateTrialFeatureSuccess', {\n\t\t\t\t\tresult: response,\n\t\t\t\t\tfeatureId: data.featureId,\n\t\t\t\t\t// featureId: this.featureId\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n}\n","export class ProvidersType\n{\n\tstatic SLIDER: string = 'slider';\n\tstatic POPUP: string = 'popup';\n}\n","import { ajax } from 'main.core';\nimport { ProviderRequestFactoryConfiguration } from './types/configurations';\nimport { ProvidersType } from './types/providers-type';\n\nexport class ProviderRequestFactory\n{\n\t#type: ProvidersType.SLIDER | ProvidersType.POPUP ;\n\t#code: ?string;\n\t#featureId: ?string;\n\tstatic controller: string = 'ui.infoHelper.getInitParams';\n\n\tconstructor(configuration: ProviderRequestFactoryConfiguration)\n\t{\n\t\tif ((configuration.type === ProvidersType.SLIDER) || (configuration.type === ProvidersType.POPUP))\n\t\t{\n\t\t\tthis.#type = configuration.type;\n\t\t\tthis.#code = configuration.code ?? null;\n\t\t\tthis.#featureId = configuration.featureId ?? null;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthrow new Error(\"Invalid parameter 'type'\");\n\t\t}\n\t}\n\n\tgetRequest(): Promise\n\t{\n\t\treturn ajax.runAction(ProviderRequestFactory.controller, {\n\t\t\tdata: {\n\t\t\t\ttype: this.#type,\n\t\t\t\tcode: this.#code,\n\t\t\t\tcurrentUrl: window.location.href,\n\t\t\t\tfeatureId: this.#featureId,\n\t\t\t},\n\t\t});\n\t}\n}","export class BaseProvider\n{\n\tshow(code, params): void\n\t{\n\t\tthrow new Error('Must be implemented in a child class');\n\t}\n\n\tclose(): void\n\t{\n\t\tthrow new Error('Must be implemented in a child class');\n\t}\n}\n","import { Type, Uri, Event } from 'main.core';\nimport { Loader } from 'main.loader';\nimport { Actions } from '../actions';\nimport { ProviderRequestFactory } from '../provider-request-factory';\nimport { ProvidersType } from '../types/providers-type';\nimport { BaseProvider } from './base-provider';\n\nexport class SliderProvider extends BaseProvider\n{\n\tconstructor(params = {})\n\t{\n\t\tsuper();\n\t\tthis.frameUrlTemplate = params.frameUrlTemplate || '';\n\t\tthis.frameUrl = Type.isStringFilled(params.frameUrl) ? params.frameUrl : '';\n\t\tthis.width = Type.isNumber(params.width) ? params.width : 700;\n\t\tthis.constructorParams = params;\n\n\t\tif (params.dataSource && params.dataSource instanceof Promise)\n\t\t{\n\t\t\tthis.dataSource = params.dataSource;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst providerRequestFactoryConfiguration = {\n\t\t\t\ttype: ProvidersType.SLIDER,\n\t\t\t\tcode: null,\n\t\t\t\tfeatureId: params.featureId,\n\t\t\t};\n\t\t\tthis.dataSource = (new ProviderRequestFactory(providerRequestFactoryConfiguration)).getRequest();\n\t\t}\n\t}\n\n\t__showExternal(code, option): void\n\t{\n\t\tlet width = 700;\n\t\tconst sliderId = `${this.getId()}:${code}`;\n\t\tconst frame = this.#createFrameNode();\n\t\tif (!!option && !!option.width && option.width > 0)\n\t\t{\n\t\t\twidth = option.width;\n\t\t}\n\n\t\tconst contentCallback = (slider) => {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst providerRequestFactoryConfiguration = {\n\t\t\t\t\ttype: ProvidersType.SLIDER,\n\t\t\t\t};\n\t\t\t\t(new ProviderRequestFactory(providerRequestFactoryConfiguration)).getRequest()\n\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\tframe.src = this.#buildUrl(code);\n\n\t\t\t\t\t\treturn this.#createContainerNode(this.getLoader(), frame);\n\t\t\t\t\t})\n\t\t\t\t\t.then((content) => resolve(content));\n\t\t\t});\n\t\t};\n\t\tthis.#openSlider({\n\t\t\tid: sliderId,\n\t\t\tcontentCallback: contentCallback.bind(this),\n\t\t\twidth: width,\n\t\t\tevents: {\n\t\t\t\tonLoad: () => this.showFrame(frame),\n\t\t\t},\n\t\t});\n\t}\n\n\tshow(code, params): void\n\t{\n\t\tif (this.isOpen())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (!Type.isPlainObject(params))\n\t\t{\n\t\t\tparams = {};\n\t\t}\n\n\t\tif (!code && !params.featureId && !this.constructorParams.featureId && !this.constructorParams.dataSource)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.contentCallback = (slider) => {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tif (this.hasOpen)\n\t\t\t\t{\n\t\t\t\t\tresolve(this.getContent());\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.dataSource\n\t\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\t\tconst { data } = response;\n\t\t\t\t\t\t\tif (data.code)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcode = data.code;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tthis.frameUrlTemplate = data.frameUrlTemplate;\n\t\t\t\t\t\t\tthis.frameUrl = this.#buildUrl(code, params, data);\n\n\t\t\t\t\t\t\tif (this.getFrame().src !== this.frameUrl)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthis.getFrame().src = this.frameUrl;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.bindEvent(data.availableDomainList);\n\t\t\t\t\t\t\tthis.hasOpen = true;\n\n\t\t\t\t\t\t\treturn resolve(this.getContent());\n\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\tthis.#openSlider({\n\t\t\tid: this.getId(),\n\t\t\tcontentCallback: this.contentCallback,\n\t\t\twidth: this.width,\n\t\t\tevents: {\n\t\t\t\tonLoad: () => this.showFrame(),\n\t\t\t\tonClose: () => {\n\t\t\t\t\tEvent.unbindAll(window, 'message');\n\t\t\t\t\tif (this.frameNode)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.frameNode.contentWindow?.postMessage({ action: 'onCloseWidget' }, '*');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tbindEvent(availableDomainList): void\n\t{\n\t\tBX.bind(top.window, 'message', BX.proxy(function(event)\n\t\t{\n\t\t\tif (!event.origin || (!!event.origin && !availableDomainList.includes(event.origin)))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!event.data || !Type.isObject(event.data))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst action = Actions[event.data.action];\n\n\t\t\tif (Type.isFunction(action))\n\t\t\t{\n\t\t\t\taction(event.data);\n\t\t\t}\n\t\t}, this));\n\t}\n\n\t#openSlider(params): void\n\t{\n\t\tBX.SidePanel.Instance.open(\n\t\t\tparams.id,\n\t\t\t{\n\t\t\t\tcontentCallback: params.contentCallback,\n\t\t\t\twidth: params.width,\n\t\t\t\tloader: 'default-loader',\n\t\t\t\tcacheable: false,\n\t\t\t\tcustomRightBoundary: 0,\n\t\t\t\tevents: params.events,\n\t\t\t},\n\t\t);\n\t}\n\n\t#buildUrl(code, params = {}, data = null): string\n\t{\n\t\tlet url = this.frameUrlTemplate.replace(/code/, code);\n\n\t\tif (params.featureId && Type.isArray(data.trialableFeatureList))\n\t\t{\n\t\t\turl = Uri.addParam(url, {\n\t\t\t\tfeatureId: params.featureId,\n\t\t\t\ttrialableFeatureList: data.trialableFeatureList.join(','),\n\t\t\t});\n\t\t}\n\n\t\treturn url;\n\t}\n\n\tclose(): void\n\t{\n\t\tconst slider = this.getSlider();\n\t\tif (slider && slider.isOpen())\n\t\t{\n\t\t\tslider.close();\n\t\t}\n\t}\n\n\tgetContent(): HTMLElement\n\t{\n\t\tif (this.content)\n\t\t{\n\t\t\treturn this.content;\n\t\t}\n\t\tthis.content = this.#createContainerNode(this.getLoader(), this.getFrame());\n\n\t\treturn this.content;\n\t}\n\n\t#createContainerNode(loader, frame): HTMLElement\n\t{\n\t\treturn BX.create('div', {\n\t\t\tattrs: {\n\t\t\t\tclassName: 'info-helper-container',\n\t\t\t\tid: 'info-helper-container',\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\tloader,\n\t\t\t\tframe,\n\t\t\t],\n\t\t});\n\t}\n\n\tgetId(): string\n\t{\n\t\treturn 'ui:info_helper';\n\t}\n\n\tgetFrame(): HTMLElement\n\t{\n\t\tif (this.frameNode)\n\t\t{\n\t\t\treturn this.frameNode;\n\t\t}\n\n\t\tthis.frameNode = this.#createFrameNode();\n\n\t\treturn this.frameNode;\n\t}\n\n\thasFrameNode(): boolean\n\t{\n\t\treturn Type.isElementNode(this.frameNode);\n\t}\n\n\t#createFrameNode(): HTMLElement\n\t{\n\t\treturn BX.create('iframe', {\n\t\t\tattrs: {\n\t\t\t\tclassName: 'info-helper-panel-iframe',\n\t\t\t\tsrc: 'about:blank',\n\t\t\t},\n\t\t});\n\t}\n\n\tshowFrame(frame): void\n\t{\n\t\tif (!frame)\n\t\t{\n\t\t\tframe = this.getFrame();\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tframe.classList.add('info-helper-panel-iframe-show');\n\t\t}, 600);\n\t}\n\n\tgetSlider(): BX.SidePanel.Slider\n\t{\n\t\treturn BX.SidePanel.Instance.getSlider(this.getId());\n\t}\n\n\tisOpen(): boolean\n\t{\n\t\treturn this.getSlider() && this.getSlider().isOpen();\n\t}\n\n\tgetLoader(): Loader\n\t{\n\t\tif (this.popupLoader)\n\t\t{\n\t\t\treturn this.popupLoader;\n\t\t}\n\n\t\tconst loader = new Loader({\n\t\t\ttarget: BX('info-helper-container'),\n\t\t\tsize: 100,\n\t\t});\n\n\t\tloader.show();\n\t\tthis.popupLoader = loader.data.container;\n\n\t\treturn this.popupLoader;\n\t}\n}\n","import { Uri } from 'main.core';\nimport { sendData } from 'ui.analytics';\n\nexport class Analytics\n{\n\t#code: string;\n\t#category: string;\n\n\tconstructor(code: string, category: string)\n\t{\n\t\tthis.#code = code;\n\t\tthis.#category = category;\n\t}\n\n\tsendByEventName(event: string, additionalParameter: ?string = null): void\n\t{\n\t\tsendData({\n\t\t\ttool: 'InfoHelper',\n\t\t\tcategory: this.#category,\n\t\t\ttype: this.#code,\n\t\t\tevent: event,\n\t\t\tc_section: (new Uri(document.location.href)).getPath(),\n\t\t\tp1: additionalParameter,\n\t\t});\n\t}\n}","import { Type } from 'main.core';\nimport { PopupWithHeader, SaleTemplate } from 'ui.popup-with-header';\nimport { ProviderRequestFactory } from '../provider-request-factory';\nimport type { PopupProviderConfiguration } from '../types/configurations';\nimport { ProvidersType } from '../types/providers-type';\nimport { Analytics } from '../analytics';\nimport { BaseProvider } from './base-provider';\n\nexport class PopupProvider extends BaseProvider\n{\n\t#dataSource: Promise;\n\t#bindElement: HTMLElement;\n\t#popup: PopupWithHeader;\n\t#code: string;\n\t#analytics: Analytics;\n\n\tconstructor(config: PopupProviderConfiguration)\n\t{\n\t\tsuper();\n\n\t\tif (Type.isDomNode(config.bindElement))\n\t\t{\n\t\t\tthis.#bindElement = config.bindElement;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthrow new Error(\"Invalid parameter 'bindElement'\");\n\t\t}\n\n\t\tif (Type.isString(config.code))\n\t\t{\n\t\t\tthis.#code = config.code;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthrow new Error(\"Invalid parameter 'code'\");\n\t\t}\n\n\t\tif (config.dataSource && config.dataSource instanceof Promise)\n\t\t{\n\t\t\tthis.#dataSource = config.dataSource;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst providerRequestFactoryConfiguration = {\n\t\t\t\ttype: ProvidersType.POPUP,\n\t\t\t\tcode: this.#code,\n\t\t\t\tfeatureId: config.featureId,\n\t\t\t};\n\t\t\tthis.#dataSource = (new ProviderRequestFactory(providerRequestFactoryConfiguration)).getRequest();\n\t\t}\n\n\t\tthis.#analytics = new Analytics(this.#code, ProvidersType.POPUP);\n\t}\n\n\tshow(code, params): void\n\t{\n\t\tthis.#getPopup().show();\n\t\tthis.#analytics.sendByEventName('show');\n\t}\n\n\tclose()\n\t{\n\t\tthis.#getPopup().close();\n\t\tthis.#analytics.sendByEventName('close');\n\t}\n\n\t#getPopup(): PopupWithHeader\n\t{\n\t\tif (!this.#popup)\n\t\t{\n\t\t\tthis.#popup = new PopupWithHeader({\n\t\t\t\ttarget: this.#bindElement,\n\t\t\t\tid: `demo-popup-components-maker-${Math.random(8)}`,\n\t\t\t\twidth: 344,\n\t\t\t\tcontent: [],\n\t\t\t\tasyncData: this.#dataSource,\n\t\t\t\ttemplate: new SaleTemplate(),\n\t\t\t\tanalyticsCallback: (event, additionalParameter) => {\n\t\t\t\t\tif (this.#analytics)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.#analytics.sendByEventName(event, additionalParameter);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\treturn this.#popup;\n\t}\n}\n","import { Extension, Type } from 'main.core';\nimport { InfoHelper } from 'ui.info-helper';\nimport { BaseProvider } from './providers/base-provider';\nimport { PopupProvider } from './providers/popup-provider';\nimport { SliderProvider } from './providers/slider-provider';\nimport type { FeaturePromoterConfiguration } from './types/configurations';\n\nexport class FeaturePromoter\n{\n\t#code: string;\n\t#provider: BaseProvider;\n\t#options: FeaturePromoterConfiguration;\n\n\tconstructor(options: FeaturePromoterConfiguration)\n\t{\n\t\tif (!options.code && !options.featureId)\n\t\t{\n\t\t\tthrow new Error(\"Either the 'code' parameter or the 'featureId' parameter is required\");\n\t\t}\n\n\t\tthis.#options = options;\n\t\tthis.#options.bindElement = options.bindElement ?? null;\n\t\tthis.#code = options.code ?? '';\n\n\t\tconst settings = Extension.getSettings('ui.info-helper');\n\t\tthis.#provider = this.#createProvider(settings);\n\t}\n\n\tgetOptions(): FeaturePromoterConfiguration\n\t{\n\t\treturn this.#options;\n\t}\n\n\tgetProvider(): BaseProvider\n\t{\n\t\treturn this.#provider;\n\t}\n\n\tshow(): void\n\t{\n\t\treturn this.#provider.show(this.#code, {});\n\t}\n\n\tclose(): void\n\t{\n\t\treturn this.#provider.close();\n\t}\n\n\tgetBindElement(): ?HTMLElement\n\t{\n\t\treturn this.getOptions().bindElement;\n\t}\n\n\t#createProvider(settings: Object): BaseProvider\n\t{\n\t\tif (\n\t\t\tType.isObject(settings)\n\t\t\t&& settings.popupProviderEnabled\n\t\t\t&& Type.isDomNode(this.getOptions().bindElement)\n\t\t\t&& (!this.getOptions().featureId || !settings.isUpgradeTariffAvailable)\n\t\t)\n\t\t{\n\t\t\treturn new PopupProvider({\n\t\t\t\tbindElement: this.getOptions().bindElement,\n\t\t\t\tcode: this.#code,\n\t\t\t\tfeatureId: this.getOptions().featureId ?? null,\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst provider = new SliderProvider({ featureId: this.getOptions().featureId ?? null });\n\t\t\tInfoHelper.sliderProviderForOldFormat = provider;\n\n\t\t\treturn provider;\n\t\t}\n\t}\n}","import { FeaturePromoter } from './feature-promoter';\nimport type { FeaturePromoterConfiguration } from './types/configurations';\n\nexport class FeaturePromotersRegistry\n{\n\tstatic #promoters: Array<FeaturePromoter> = [];\n\n\tstatic register(promoter: FeaturePromoter): void\n\t{\n\t\tif (!FeaturePromotersRegistry.exist(promoter))\n\t\t{\n\t\t\tFeaturePromotersRegistry.#promoters.push(promoter);\n\t\t}\n\t}\n\n\tstatic exist(promoter: FeaturePromoter): boolean\n\t{\n\t\treturn FeaturePromotersRegistry.#promoters.find((savedPromoter) => savedPromoter === promoter);\n\t}\n\n\tstatic getPromoter(config: FeaturePromoterConfiguration): FeaturePromoter\n\t{\n\t\tlet promoter;\n\n\t\tFeaturePromotersRegistry.#promoters.forEach((savedPromoter) => {\n\t\t\tlet isSavedPromoter = true;\n\n\t\t\tObject.keys(savedPromoter.getOptions()).forEach((key) => {\n\t\t\t\tif (savedPromoter.getOptions()[key] !== config[key])\n\t\t\t\t{\n\t\t\t\t\tisSavedPromoter = false;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (isSavedPromoter)\n\t\t\t{\n\t\t\t\tpromoter = savedPromoter;\n\t\t\t}\n\t\t});\n\n\t\tif (promoter instanceof FeaturePromoter)\n\t\t{\n\t\t\treturn promoter;\n\t\t}\n\n\t\tpromoter = new FeaturePromoter(config);\n\t\tFeaturePromotersRegistry.register(promoter);\n\n\t\treturn promoter;\n\t}\n}","import { Event } from 'main.core';\nimport { FeaturePromotersRegistry } from './export';\n\nexport class FeaturePromoterAutoBinder\n{\n\tstatic #elements: ?NodeList;\n\tstatic #isLaunch: boolean;\n\tstatic #attributeName: string = 'data-feature-promoter';\n\n\tstatic launch(): void\n\t{\n\t\tif (!FeaturePromoterAutoBinder.#isLaunch)\n\t\t{\n\t\t\tFeaturePromoterAutoBinder.getElements().forEach((element) => {\n\t\t\t\tEvent.bind(element, 'click', (event) => {\n\t\t\t\t\tconst code = event.target?.attributes?.getNamedItem(FeaturePromoterAutoBinder.#attributeName)?.value;\n\n\t\t\t\t\tif (code)\n\t\t\t\t\t{\n\t\t\t\t\t\tFeaturePromotersRegistry.getPromoter({\n\t\t\t\t\t\t\tcode: code,\n\t\t\t\t\t\t\tbindElement: element,\n\t\t\t\t\t\t}).show();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tFeaturePromoterAutoBinder.#isLaunch = true;\n\t\t}\n\t}\n\n\tstatic getElements(): NodeList\n\t{\n\t\tif (!FeaturePromoterAutoBinder.#elements)\n\t\t{\n\t\t\tFeaturePromoterAutoBinder.#elements = document.querySelectorAll(`[${FeaturePromoterAutoBinder.#attributeName}]`);\n\t\t}\n\n\t\treturn FeaturePromoterAutoBinder.#elements;\n\t}\n}\n","import { InfoHelper } from './info-helper';\nimport { FeaturePromoter } from './feature-promoter';\nimport { FeaturePromotersRegistry } from './feature-promoters-registry';\nimport { FeaturePromoterAutoBinder } from './feature-promoter-auto-binder';\nimport './info-helper.css';\n\nexport {\n\tInfoHelper,\n\tFeaturePromoter,\n\tFeaturePromotersRegistry,\n};\n\nBX.ready(() => {\n\tFeaturePromoterAutoBinder.launch();\n});\n","import { Type } from 'main.core';\nimport { SliderProvider } from './providers/slider-provider';\n\nexport class InfoHelper\n{\n\tstatic frameUrlTemplate : '';\n\tstatic frameNode : null;\n\tstatic popupLoader : null;\n\tstatic availableDomainList : null;\n\tstatic frameUrl: '';\n\tstatic inited: false;\n\tstatic sliderProviderForOldFormat: null;\n\n\tstatic init(params): void\n\t{\n\t\tthis.sliderProviderForOldFormat = new SliderProvider({\n\t\t\twidth: 700,\n\t\t\tframeUrlTemplate: params.frameUrlTemplate,\n\t\t});\n\t}\n\n\tstatic __showExternal(code, option): void\n\t{\n\t\tthis.sliderProviderForOldFormat?.__showExternal(code, option);\n\t}\n\n\tstatic show(code, params): void\n\t{\n\t\tif (!Type.isPlainObject(params))\n\t\t{\n\t\t\tparams = {};\n\t\t}\n\n\t\tthis.init({});\n\t\tthis.sliderProviderForOldFormat?.show(code, params);\n\t}\n\n\tstatic close(): void\n\t{\n\t\tthis.sliderProviderForOldFormat?.close();\n\t}\n\n\tstatic getContent()\n\t{\n\t\treturn this.sliderProviderForOldFormat?.getContent();\n\t}\n\n\tstatic getFrame()\n\t{\n\t\treturn this.sliderProviderForOldFormat?.getFrame();\n\t}\n\n\tstatic showFrame(frame)\n\t{\n\t\tthis.sliderProviderForOldFormat?.showFrame(frame);\n\t}\n\n\tstatic getLoader()\n\t{\n\t\treturn this.sliderProviderForOldFormat?.getLoader();\n\t}\n\n\tstatic getSliderId(): string\n\t{\n\t\treturn this.sliderProviderForOldFormat?.getId();\n\t}\n\n\tstatic getSlider()\n\t{\n\t\treturn this.sliderProviderForOldFormat?.getSlider();\n\t}\n\n\tstatic reloadParent(): void\n\t{\n\t\tlet slider = false;\n\t\tconst sliderTop = BX.SidePanel.Instance.getTopSlider();\n\n\t\tif (sliderTop)\n\t\t{\n\t\t\tslider = BX.SidePanel.Instance.getPreviousSlider(sliderTop);\n\t\t}\n\n\t\tif (slider)\n\t\t{\n\t\t\tslider.reload();\n\t\t}\n\t\telse\n\t\t{\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\tstatic isOpen(): boolean\n\t{\n\t\treturn this.sliderProviderForOldFormat?.isOpen();\n\t}\n\n\tstatic isInited(): boolean\n\t{\n\t\treturn this.inited;\n\t}\n}"],"names":["Actions","[object Object]","BX","UI","InfoHelper","close","window","location","href","frameUrl","open","reloadParent","data","top","SidePanel","Instance","url","openSlider","opener","Messenger","Public","openChat","analyticData","tool","c_section","document","event","toolId","ajax","runAction","then","response","chatId","type","category","sendData","featureCode","code","mpSubscribe","Extension","getSettings","licenseType","Uri","addParam","product","subscr","tariff","period","settingsUrl","__showExternal","option","licenseAgreed","ajaxRestPath","callback","result","getTopSlider","error","sliderProviderForOldFormat","_BX$UI$InfoHelper$sli","getFrame","contentWindow","postMessage","action","settings","region","licenseNeverPayed","openInformer","marketUrl","dataType","method","sessid","bitrix_sessid","onsuccess","onfailure","error_type","_BX$UI$InfoHelper$sli2","success","onCustomEvent","featureId","_BX$UI$InfoHelper$sli3","ProvidersType","SLIDER","POPUP","ProviderRequestFactory","constructor","configuration","Object","writable","value","Error","babelHelpers","getRequest","controller","this","currentUrl","BaseProvider","show","params","SliderProvider","super","frameUrlTemplate","Type","isStringFilled","width","isNumber","constructorParams","dataSource","Promise","providerRequestFactoryConfiguration","sliderId","getId","frame","id","contentCallback","slider","resolve","reject","src","getLoader","content","bind","events","onLoad","showFrame","isOpen","isPlainObject","hasOpen","getContent","bindEvent","availableDomainList","onClose","Event","unbindAll","frameNode","_this$frameNode$conte","proxy","origin","includes","isObject","isFunction","getSlider","hasFrameNode","isElementNode","setTimeout","classList","add","popupLoader","loader","Loader","target","size","container","cacheable","customRightBoundary","replace","isArray","trialableFeatureList","join","create","attrs","className","children","Analytics","sendByEventName","additionalParameter","getPath","p1","PopupProvider","config","isDomNode","bindElement","isString","PopupWithHeader","Math","random","asyncData","template","SaleTemplate","analyticsCallback","FeaturePromoter","options","getOptions","getProvider","getBindElement","popupProviderEnabled","isUpgradeTariffAvailable","provider","FeaturePromotersRegistry","promoter","exist","push","find","savedPromoter","forEach","isSavedPromoter","keys","key","register","FeaturePromoterAutoBinder","getElements","element","_event$target","attributes","_event$target$attribu","getNamedItem","_event$target$attribu2","getPromoter","querySelectorAll","ready","launch","_this$sliderProviderF","init","_this$sliderProviderF2","_this$sliderProviderF3","_this$sliderProviderF4","_this$sliderProviderF5","_this$sliderProviderF6","_this$sliderProviderF7","_this$sliderProviderF8","_this$sliderProviderF9","sliderTop","getPreviousSlider","reload","_this$sliderProviderF10","inited"],"mappings":"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"}