File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/landing/ui/panel/formsettingspanel/dist/formsettingspanel.bundle.js.map
Back
{"version":3,"file":"formsettingspanel.bundle.js","sources":["../src/formsettingspanel.js"],"sourcesContent":["import {BasePresetPanel, Preset, ContentWrapper, PresetCategory} from 'landing.ui.panel.basepresetpanel';\nimport {PageObject} from 'landing.pageobject';\nimport {Loc} from 'landing.loc';\nimport {Dom, Reflection, Runtime, Tag, Text, Type, Uri, Cache, Event} from 'main.core';\nimport type {BaseEvent} from 'main.core.events';\nimport {Backend} from 'landing.backend';\nimport {Loader} from 'main.loader';\nimport {FormClient} from 'crm.form.client';\nimport {Button} from 'ui.buttons';\nimport {Env} from 'landing.env';\nimport {StylePanel} from 'landing.ui.panel.stylepanel';\nimport {MessageBox, MessageBoxButtons} from 'ui.dialogs.messagebox';\nimport type {FormDictionary, FormOptions} from 'crm.form.type';\nimport {Alert, AlertColor} from 'ui.alerts';\nimport {SidebarButton} from 'landing.ui.button.sidebarbutton';\nimport {Guide} from 'ui.tour';\nimport {FieldsPanel} from 'landing.ui.panel.fieldspanel';\nimport {PhoneVerify} from 'bitrix24.phoneverify'\nimport 'ui.switcher';\nimport 'ui.hint';\n\nimport 'ui.fonts.opensans';\nimport './css/style.css';\n\ntype CrmField = {\n\ttype: 'list' | 'string' | 'checkbox' | 'date' | 'text' | 'typed_string' | 'file',\n\tentity_field_name: string,\n\tentity_name: string,\n\tname: string,\n\tcaption: string,\n\tmultiple: boolean,\n\trequired: boolean,\n\thidden: boolean,\n\titems: Array<{ID: any, VALUE: any}>,\n};\n\ntype CrmFieldsList = {\n\t[categoryId: string]: {\n\t\tCAPTION: string,\n\t\tFIELDS: Array<CrmField>\n\t},\n};\n\ntype CrmCompany = {\n\tID: string,\n\tTITLE: string,\n};\n\ntype CrmCategory = {\n\n};\n\ntype ResponseErrors = Array<{\n\tcode: string,\n\tmessage: string,\n\tcustomData: any\n}>;\n\n/**\n * @memberOf BX.Landing.UI.Panel\n */\nexport class FormSettingsPanel extends BasePresetPanel\n{\n\tstatic getInstance(): FormSettingsPanel\n\t{\n\t\tconst rootWindow = PageObject.getRootWindow();\n\t\tconst rootWindowPanel = rootWindow.BX.Landing.UI.Panel.FormSettingsPanel;\n\t\tif (!rootWindowPanel.instance && !FormSettingsPanel.instance)\n\t\t{\n\t\t\trootWindowPanel.instance = new FormSettingsPanel();\n\t\t}\n\n\t\treturn (rootWindowPanel.instance || FormSettingsPanel.instance);\n\t}\n\n\tadjustActionsPanels = false;\n\t#phoneDoesntVerifiedResponseCode = 'PHONE_NOT_VERIFIED';\n\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Landing.UI.Panel.FormSettingsPanel');\n\t\tthis.setTitle(Loc.getMessage('LANDING_FORM_SETTINGS_PANEL_TITLE'));\n\n\t\tthis.lsCache = new Cache.LocalStorageCache();\n\n\t\tthis.disableOverlay();\n\n\t\tif (this.isCrmFormPage())\n\t\t{\n\t\t\tconst {dictionary} = Env.getInstance().getOptions().formEditorData;\n\n\t\t\tconst preparedSidebarButtons = dictionary.sidebarButtons.map((buttonOptions) => {\n\t\t\t\treturn new SidebarButton({...buttonOptions, child: true});\n\t\t\t});\n\t\t\tthis.setSidebarButtons(preparedSidebarButtons);\n\n\t\t\tconst preparedPresets = dictionary.scenarios.map((presetOptions) => {\n\t\t\t\treturn new Preset(presetOptions);\n\t\t\t});\n\t\t\tthis.setPresets(preparedPresets);\n\n\t\t\tconst preparedPresetCategories = dictionary.scenarioCategories.map((categoryOptions) => {\n\t\t\t\treturn new PresetCategory(categoryOptions);\n\t\t\t});\n\t\t\tthis.setCategories(preparedPresetCategories);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.append(this.getBlockSettingsButton().render(), this.getRightHeaderControls());\n\t\t}\n\n\t\tthis.subscribe('onCancel', this.onCancelClick.bind(this));\n\n\t\tDom.append(this.getExpertSwitcherLayout(), this.layout);\n\t}\n\n\tgetExpertSwitcherLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('switcherLayout', () => {\n\t\t\tconst onClick = () => {\n\t\t\t\tthis.getExpertModeSwitcher().node.click();\n\t\t\t};\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-expert-switcher\">\n\t\t\t\t\t${this.getExpertModeSwitcher().node}\n\t\t\t\t\t<span onclick=\"${onClick}\" class=\"landing-ui-expert-switcher-label\">\n\t\t\t\t\t\t${Loc.getMessage('LANDING_FORM_EXPERT_MODE_SWITCHER_LABEL')}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetExpertModeSwitcher(): Switcher\n\t{\n\t\treturn this.cache.remember('expertModeSwitcher', () => {\n\t\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t\tconst switcher = new rootWindow.BX.UI.Switcher({\n\t\t\t\tchecked: this.isExpertModeEnabled(),\n\t\t\t});\n\n\t\t\tDom.addClass(switcher.node, 'ui-switcher-size-sm ui-switcher-color-green');\n\n\t\t\tEvent.bind(switcher.node, 'click', this.onExpertSwitcherClick.bind(this));\n\n\t\t\treturn switcher;\n\t\t});\n\t}\n\n\tonExpertSwitcherClick()\n\t{\n\t\tthis.lsCache.set('formEditorExpertMode', this.getExpertModeSwitcher().isChecked());\n\t\tthis.onExpertModeChange();\n\t}\n\n\tgetCurrentPreset(): ?Preset\n\t{\n\t\tconst {templateId} = this.getFormOptions();\n\t\tconst preset = this.getPresets().find((currentPreset) => {\n\t\t\treturn currentPreset.options.id === templateId;\n\t\t});\n\n\t\tif (preset)\n\t\t{\n\t\t\treturn preset;\n\t\t}\n\n\t\treturn this.getPresets().find((currentPreset) => {\n\t\t\treturn currentPreset.options.id === 'expert';\n\t\t});\n\t}\n\n\tonExpertModeChange()\n\t{\n\t\tconst currentPreset = this.getCurrentPreset();\n\n\t\tif (\n\t\t\tthis.getExpertModeSwitcher().isChecked()\n\t\t\t&& Type.isArrayFilled(currentPreset.options.expertModeItems)\n\t\t)\n\t\t{\n\t\t\tthis.clearSidebar();\n\t\t\tthis.getSidebarButtons()\n\t\t\t\t.filter((button) => {\n\t\t\t\t\treturn currentPreset.options.expertModeItems.includes(button.id);\n\t\t\t\t})\n\t\t\t\t.forEach((button) => {\n\t\t\t\t\tif (!currentPreset.options.items.includes(button.id))\n\t\t\t\t\t{\n\t\t\t\t\t\tbutton.deactivate();\n\t\t\t\t\t}\n\t\t\t\t\tthis.appendSidebarButton(button);\n\t\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst currentSidebarButton = this.getSidebarButtons().find((button) => {\n\t\t\t\treturn button.isActive();\n\t\t\t});\n\n\t\t\tconst buttons = this.getSidebarButtons().filter((button) => {\n\t\t\t\treturn currentPreset.options.items.includes(button.id);\n\t\t\t});\n\n\t\t\tthis.clearSidebar();\n\t\t\tbuttons.forEach((button) => {\n\t\t\t\tthis.appendSidebarButton(button);\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\tcurrentSidebarButton\n\t\t\t\t&& !currentPreset.options.items.includes(currentSidebarButton.id)\n\t\t\t)\n\t\t\t{\n\t\t\t\tconst defaultSection = (() => {\n\t\t\t\t\tif (Type.isStringFilled(currentPreset.options.defaultSection))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn currentPreset.options.defaultSection;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn 'fields';\n\t\t\t\t})();\n\n\t\t\t\tconst defaultSectionButton = this.getSidebarButtons().find((button) => {\n\t\t\t\t\treturn button.id === defaultSection;\n\t\t\t\t});\n\n\t\t\t\tif (defaultSectionButton)\n\t\t\t\t{\n\t\t\t\t\tdefaultSectionButton.getLayout().click();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tisExpertModeEnabled(): boolean\n\t{\n\t\treturn this.lsCache.get('formEditorExpertMode', false);\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tisCrmFormPage(): boolean\n\t{\n\t\treturn Env.getInstance().getOptions().specialType === 'crm_forms';\n\t}\n\n\tgetFormDesignButton()\n\t{\n\t\treturn this.cache.remember('formDesignButton', () => {\n\t\t\treturn new Button({\n\t\t\t\ttext: Loc.getMessage('LANDING_FORM_DESIGN_BUTTON'),\n\t\t\t\tcolor: Button.Color.LIGHT_BORDER,\n\t\t\t\tround: true,\n\t\t\t\tclassName: 'landing-ui-panel-top-button',\n\t\t\t\tonclick: this.onFormDesignButtonClick.bind(this),\n\t\t\t});\n\t\t});\n\t}\n\n\tgetBlockSettingsButton()\n\t{\n\t\treturn this.cache.remember('blockSettingsButton', () => {\n\t\t\treturn new Button({\n\t\t\t\ttext: Loc.getMessage('LANDING_FORM_SETTINGS_BLOCK_SETTINGS_BUTTON_TEXT'),\n\t\t\t\tcolor: Button.Color.LIGHT_BORDER,\n\t\t\t\tround: true,\n\t\t\t\tclassName: 'landing-ui-panel-top-button',\n\t\t\t\tonclick: this.onBlockSettingsButtonClick.bind(this),\n\t\t\t});\n\t\t});\n\t}\n\n\tonBlockSettingsButtonClick()\n\t{\n\t\tif (this.getCurrentBlock())\n\t\t{\n\t\t\tthis.hide()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.getCurrentBlock().showContentPanel();\n\t\t\t\t});\n\t\t}\n\t}\n\n\tonFormDesignButtonClick()\n\t{\n\t\tif (this.getCurrentBlock())\n\t\t{\n\t\t\tthis.getCurrentBlock().onFormDesignClick();\n\t\t}\n\t}\n\n\tgetLoader(): Loader\n\t{\n\t\treturn this.cache.remember('loader', () => {\n\t\t\treturn new Loader({\n\t\t\t\ttarget: this.body,\n\t\t\t});\n\t\t});\n\t}\n\n\tshowLoader()\n\t{\n\t\tDom.addClass(this.layout, 'landing-ui-panel-state-content-load');\n\t\tvoid this.getLoader().show();\n\t\tDom.hide(this.sidebar);\n\t\tDom.hide(this.content);\n\t\tDom.hide(this.getExpertSwitcherLayout());\n\t}\n\n\thideLoader()\n\t{\n\t\tDom.removeClass(this.layout, 'landing-ui-panel-state-content-load');\n\t\tthis.getLoader().hide();\n\t\tDom.show(this.sidebar);\n\t\tDom.show(this.content);\n\n\t\tif (Type.isArrayFilled(this.getCurrentPreset().options.expertModeItems))\n\t\t{\n\t\t\tDom.show(this.getExpertSwitcherLayout());\n\t\t}\n\t}\n\n\tshowContentLoader()\n\t{\n\t\tDom.addClass(this.layout, 'landing-ui-panel-state-body-load');\n\t\tsuper.showContentLoader();\n\t}\n\n\thideContentLoader()\n\t{\n\t\tDom.removeClass(this.layout, 'landing-ui-panel-state-body-load');\n\t\tsuper.hideContentLoader();\n\t}\n\n\tload(options = {}): Promise<any>\n\t{\n\t\tif (options.showWithOptions)\n\t\t{\n\t\t\tconst editorData = Env.getInstance().getOptions().formEditorData;\n\t\t\tconst {dictionary} = editorData;\n\n\t\t\tconst preparedSidebarButtons = dictionary.sidebarButtons.map((buttonOptions) => {\n\t\t\t\treturn new SidebarButton({...buttonOptions, child: true});\n\t\t\t});\n\t\t\tthis.setSidebarButtons(preparedSidebarButtons);\n\n\t\t\tconst preparedPresets = dictionary.scenarios.map((presetOptions) => {\n\t\t\t\treturn new Preset(presetOptions);\n\t\t\t});\n\t\t\tthis.setPresets(preparedPresets);\n\n\t\t\tconst preparedPresetCategories = dictionary.scenarioCategories.map((categoryOptions) => {\n\t\t\t\treturn new PresetCategory(categoryOptions);\n\t\t\t});\n\t\t\tthis.setCategories(preparedPresetCategories);\n\n\t\t\tthis.setCrmFields(editorData.crmFields);\n\t\t\tthis.setCrmCompanies(editorData.crmCompanies);\n\t\t\tthis.setCrmCategories(editorData.crmCategories);\n\t\t\tthis.setAgreements(editorData.agreements);\n\n\t\t\tconst currentOptions = Runtime.clone(editorData.formOptions);\n\t\t\tif (currentOptions.agreements.use !== true)\n\t\t\t{\n\t\t\t\tcurrentOptions.agreements.use = true;\n\t\t\t\tcurrentOptions.data.agreements = [];\n\t\t\t}\n\n\t\t\tthis.setFormOptions(currentOptions);\n\t\t\tthis.setFormDictionary(editorData.dictionary);\n\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\tconst crmData = Backend.getInstance()\n\t\t\t.batch('Form::getCrmFields', {\n\t\t\t\tcrmFields: {\n\t\t\t\t\taction: 'Form::getCrmFields',\n\t\t\t\t\tdata: null,\n\t\t\t\t},\n\t\t\t\tcrmCompanies: {\n\t\t\t\t\taction: 'Form::getCrmCompanies',\n\t\t\t\t\tdata: null,\n\t\t\t\t},\n\t\t\t\tcrmCategories: {\n\t\t\t\t\taction: 'Form::getCrmCategories',\n\t\t\t\t\tdata: null,\n\t\t\t\t},\n\t\t\t\tagreements: {\n\t\t\t\t\taction: 'Form::getAgreements',\n\t\t\t\t\tdata: null,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((result) => {\n\t\t\t\tthis.setCrmFields(result.crmFields.result);\n\t\t\t\tthis.setCrmCompanies(result.crmCompanies.result);\n\t\t\t\tthis.setCrmCategories(result.crmCategories.result);\n\t\t\t\tthis.setAgreements(result.agreements.result);\n\t\t\t});\n\n\t\tconst formOptions = FormClient.getInstance()\n\t\t\t.getOptions(this.getCurrentFormId())\n\t\t\t.then((options) => {\n\t\t\t\tconst currentOptions = Runtime.clone(options);\n\t\t\t\tif (currentOptions.agreements.use !== true)\n\t\t\t\t{\n\t\t\t\t\tcurrentOptions.agreements.use = true;\n\t\t\t\t\tcurrentOptions.data.agreements = [];\n\t\t\t\t}\n\n\t\t\t\tthis.setFormOptions(currentOptions);\n\t\t\t});\n\n\t\tconst formDictionary = FormClient.getInstance()\n\t\t\t.getDictionary()\n\t\t\t.then((dictionary) => {\n\t\t\t\tthis.setFormDictionary(dictionary);\n\n\t\t\t\tconst preparedSidebarButtons = dictionary.sidebarButtons.map((buttonOptions) => {\n\t\t\t\t\treturn new SidebarButton({...buttonOptions, child: true});\n\t\t\t\t});\n\t\t\t\tthis.setSidebarButtons(preparedSidebarButtons);\n\n\t\t\t\tconst preparedPresets = dictionary.scenarios.map((presetOptions) => {\n\t\t\t\t\treturn new Preset(presetOptions);\n\t\t\t\t});\n\t\t\t\tthis.setPresets(preparedPresets);\n\n\t\t\t\tconst preparedPresetCategories = dictionary.scenarioCategories.map((categoryOptions) => {\n\t\t\t\t\treturn new PresetCategory(categoryOptions);\n\t\t\t\t});\n\t\t\t\tthis.setCategories(preparedPresetCategories);\n\t\t\t});\n\n\t\treturn Promise.all([\n\t\t\tcrmData,\n\t\t\tformOptions,\n\t\t\tformDictionary,\n\t\t]);\n\t}\n\n\tsetAgreements(agreements)\n\t{\n\t\tthis.cache.set('agreements', Runtime.orderBy(agreements, ['id'], ['asc']));\n\t}\n\n\tgetAgreements(): Array<{[key: string]: any}>\n\t{\n\t\treturn this.cache.get('agreements');\n\t}\n\n\tisLeadEnabled(): boolean\n\t{\n\t\treturn this.getFormDictionary().document.lead.enabled;\n\t}\n\n\tsetCurrentBlock(block: BX.Landing.Block)\n\t{\n\t\tthis.cache.set('currentBlock', block);\n\t}\n\n\tgetCurrentBlock(): ?BX.Landing.Block\n\t{\n\t\treturn this.cache.get('currentBlock');\n\t}\n\n\tgetSaveOriginalFileNameAlert(): HTMLElement\n\t{\n\t\treturn this.cache.remember('saveOriginalFileNameAlert', () => {\n\t\t\tconst alert = new Alert({\n\t\t\t\ttext: Loc.getMessage('LANDING_CRM_FORM_MAIN_OPTION_WARNING'),\n\t\t\t\tcolor: AlertColor.WARNING,\n\t\t\t});\n\n\t\t\treturn alert.render();\n\t\t});\n\t}\n\n\tshow(\n\t\toptions: {\n\t\t\tformId: number,\n\t\t\tinstanceId: number,\n\t\t\tstate?: 'presets',\n\t\t\tformOptions?: ?{[key: string]: any},\n\t\t\tshowWithOptions: true,\n\t\t} = {\n\t\t\tformOptions: {},\n\t\t},\n\t): Promise<any>\n\t{\n\t\tif (!this.layout.parentNode)\n\t\t{\n\t\t\tthis.enableToggleMode();\n\t\t}\n\n\t\tif (!this.isFormCreated())\n\t\t{\n\t\t\tthis.disableTransparentMode();\n\t\t}\n\n\t\tconst {mainOptions} = Env.getInstance().getOptions();\n\t\tif (mainOptions.saveOriginalFileName === false)\n\t\t{\n\t\t\tthis.prependContent(\n\t\t\t\tthis.getSaveOriginalFileNameAlert(),\n\t\t\t);\n\n\t\t\tconst closeButtonTop = Text.toNumber(Dom.style(this.closeButton.getLayout(), 'top'));\n\t\t\tconst alertHeight = this.getSaveOriginalFileNameAlert().getBoundingClientRect().height;\n\n\t\t\tDom.style(this.closeButton.getLayout(), 'top', `${closeButtonTop + alertHeight}px`);\n\t\t}\n\n\t\tthis.setCurrentBlock(options.block);\n\t\tthis.setCurrentFormId(options.formId);\n\t\tthis.setCurrentFormInstanceId(options.instanceId);\n\n\t\tthis.showLoader();\n\n\t\tthis.load(options)\n\t\t\t.then(() => {\n\t\t\t\tthis.hideLoader();\n\n\t\t\t\tconst formOptions = this.getFormOptions();\n\t\t\t\tif (Type.isPlainObject(options.formOptions))\n\t\t\t\t{\n\t\t\t\t\tconst formOptions = Runtime.merge(\n\t\t\t\t\t\tthis.getFormOptions(),\n\t\t\t\t\t\toptions.formOptions,\n\t\t\t\t\t);\n\t\t\t\t\tthis.setFormOptions(formOptions);\n\t\t\t\t}\n\n\t\t\t\tif (options.state === 'presets')\n\t\t\t\t{\n\t\t\t\t\tconst presetFromRequest = this.getPresetIdFromRequest();\n\t\t\t\t\tlet preset = false;\n\n\t\t\t\t\tif (presetFromRequest)\n\t\t\t\t\t{\n\t\t\t\t\t\tpreset = this.getPresets().find((item) => {\n\t\t\t\t\t\t\treturn item.options.id === presetFromRequest;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (preset)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.applyPreset(preset);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.onPresetFieldClick();\n\t\t\t\t\t\tthis.activatePreset(formOptions.templateId);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlet preset = this.getPresets().find((item) => {\n\t\t\t\t\t\treturn item.options.id === formOptions.templateId;\n\t\t\t\t\t});\n\n\t\t\t\t\tif (!preset)\n\t\t\t\t\t{\n\t\t\t\t\t\tpreset = this.getPresets().find((item) => {\n\t\t\t\t\t\t\treturn item.options.id === 'expert';\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.isFormCreated())\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.applyPreset(preset);\n\t\t\t\t\t\tthis.onPresetFieldClick();\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.applyPreset(preset, true);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.setInitialFormOptions(\n\t\t\t\t\tRuntime.clone(this.getFormOptions()),\n\t\t\t\t);\n\n\t\t\t\tif (!this.isFormCreated())\n\t\t\t\t{\n\t\t\t\t\tthis.onExpertModeChange();\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (Type.isArrayFilled(error))\n\t\t\t\t{\n\t\t\t\t\tconst accessDeniedCode = 510;\n\t\t\t\t\tconst isAccessDenied = error.some((errorItem) => {\n\t\t\t\t\t\treturn String(errorItem.code) === String(accessDeniedCode);\n\t\t\t\t\t});\n\n\t\t\t\t\tif (isAccessDenied)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.getLoader().hide();\n\t\t\t\t\t\tDom.show(this.sidebar);\n\t\t\t\t\t\tDom.show(this.content);\n\t\t\t\t\t\tDom.hide(this.footer);\n\t\t\t\t\t\tDom.append(this.getAccessError(), this.content);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconsole.error(error);\n\t\t\t});\n\n\t\tconst editorWindow = PageObject.getEditorWindow();\n\t\tDom.addClass(editorWindow.document.body, 'landing-ui-hide-action-panels-form');\n\n\t\tvoid StylePanel.getInstance().hide();\n\n\t\tthis.disableHistory();\n\n\t\treturn super.show(options).then(() => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst y = this.getCurrentBlock().node.offsetTop;\n\t\t\t\tPageObject.getEditorWindow().scrollTo(0, y);\n\t\t\t}, 300);\n\n\t\t\treturn Promise.resolve(true);\n\t\t});\n\t}\n\n\tgetHistoryHint(): HTMLSpanElement\n\t{\n\t\treturn this.cache.remember('historyHint', () => {\n\t\t\tconst layout = Tag.render`\n\t\t\t\t<span \n\t\t\t\t\tclass=\"landing-ui-history-hint\"\n\t\t\t\t\tdata-hint=\"${Text.encode(Loc.getMessage('LANDING_FORM_HISTORY_DISABLED_HINT'))}\"\n\t\t\t\t\tdata-hint-no-icon\n\t\t\t\t></span>\n\t\t\t`;\n\n\t\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t\trootWindow.BX.UI.Hint.initNode(layout);\n\n\t\t\treturn layout;\n\t\t});\n\t}\n\n\tdisableHistory()\n\t{\n\t\tconst rootWindow = PageObject.getRootWindow();\n\t\tconst TopPanel: BX.Landing.UI.Panel.Top = rootWindow.BX.Landing.UI.Panel.Top;\n\t\tif (TopPanel)\n\t\t{\n\t\t\tconst {undoButton, redoButton} = TopPanel.getInstance();\n\t\t\tDom.addClass(undoButton, 'landing-ui-disabled-from-form');\n\t\t\tDom.addClass(redoButton, 'landing-ui-disabled-from-form');\n\n\t\t\tDom.append(this.getHistoryHint(), undoButton.parentElement);\n\t\t}\n\t}\n\n\tenableHistory()\n\t{\n\t\tconst rootWindow = PageObject.getRootWindow();\n\t\tconst TopPanel: BX.Landing.UI.Panel.Top = rootWindow.BX.Landing.UI.Panel.Top;\n\t\tif (TopPanel)\n\t\t{\n\t\t\tconst {undoButton, redoButton} = TopPanel.getInstance();\n\t\t\tDom.removeClass(undoButton, 'landing-ui-disabled-from-form');\n\t\t\tDom.removeClass(redoButton, 'landing-ui-disabled-from-form');\n\t\t\tDom.remove(this.getHistoryHint());\n\t\t}\n\t}\n\n\tgetAccessError(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('accessErrorMessage', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-access-error-message\">\n\t\t\t\t\t<div class=\"landing-ui-access-error-message-text\">\n\t\t\t\t\t\t${Loc.getMessage('LANDING_CRM_ACCESS_ERROR_MESSAGE')}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tgetPresetIdFromRequest(): ?string\n\t{\n\t\tconst uri = new Uri(window.top.location.href);\n\t\treturn uri.getQueryParam('preset');\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tisFormCreated(): boolean\n\t{\n\t\tconst rootWindow = PageObject.getRootWindow();\n\t\tconst uri = new Uri(rootWindow.location.href);\n\t\treturn Text.toBoolean(uri.getQueryParam('formCreated'));\n\t}\n\n\tsetCurrentFormId(formId: number)\n\t{\n\t\tthis.cache.set('currentFormId', Text.toNumber(formId));\n\t}\n\n\tgetCurrentFormId(): number\n\t{\n\t\treturn this.cache.get('currentFormId');\n\t}\n\n\tsetCurrentFormInstanceId(formId: number)\n\t{\n\t\tthis.cache.set('currentFormInstanceId', formId);\n\t}\n\n\tgetCurrentFormInstanceId(): number\n\t{\n\t\treturn this.cache.get('currentFormInstanceId');\n\t}\n\n\tsetCrmFields(fields)\n\t{\n\t\tthis.cache.set('fields', fields);\n\t}\n\n\tgetCrmFields(): CrmFieldsList\n\t{\n\t\treturn this.cache.get('fields') || {};\n\t}\n\n\tsetCrmCompanies(companies: Array<CrmCompany>)\n\t{\n\t\tthis.cache.set('companies', companies);\n\t}\n\n\tgetCrmCompanies(): Array<CrmCompany>\n\t{\n\t\treturn this.cache.get('companies') || [];\n\t}\n\n\tsetCrmCategories(categories: Array<CrmCategory>)\n\t{\n\t\tthis.cache.set('crmCategories', categories);\n\t}\n\n\tgetCrmCategories(): Array<CrmCategory>\n\t{\n\t\treturn this.cache.get('crmCategories') || [];\n\t}\n\n\tsetFormOptions(options: FormOptions)\n\t{\n\t\tthis.cache.set('formOptions', options);\n\t}\n\n\tgetFormOptions(): FormOptions\n\t{\n\t\treturn Runtime.clone(this.cache.get('formOptions') || {});\n\t}\n\n\tsetFormDictionary(dictionary: FormDictionary)\n\t{\n\t\tthis.cache.set('formDictionary', dictionary);\n\t}\n\n\tgetFormDictionary(): FormDictionary\n\t{\n\t\treturn this.cache.get('formDictionary') || {};\n\t}\n\n\tsetInitialFormOptions(options: FormOptions)\n\t{\n\t\tthis.cache.set('initialFormOptions', Runtime.clone(options));\n\t}\n\n\tgetInitialFormOptions(): FormOptions\n\t{\n\t\treturn this.cache.get('initialFormOptions');\n\t}\n\n\t// eslint-disable-next-line\n\tgetCrmForm()\n\t{\n\t\tconst formApp = Reflection.getClass('b24form.App');\n\t\tif (formApp)\n\t\t{\n\t\t\tif (this.getCurrentFormInstanceId())\n\t\t\t{\n\t\t\t\treturn formApp.get(this.getCurrentFormInstanceId());\n\t\t\t}\n\n\t\t\tlet tmpIndex = -1;\n\t\t\tconst currentFormIndex = [\n\t\t\t\t...this.getCurrentBlock().node.parentElement.childNodes,\n\t\t\t].reduce((acc, item) => {\n\t\t\t\tif (Dom.attr(item, 'data-subtype') === 'form')\n\t\t\t\t{\n\t\t\t\t\ttmpIndex += 1;\n\t\t\t\t\tif (item === this.getCurrentBlock().node)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn tmpIndex;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn acc;\n\t\t\t}, 0);\n\n\t\t\treturn formApp.list()[currentFormIndex];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tonChange(event: BaseEvent)\n\t{\n\t\tconst eventData = event.getData();\n\t\tconst eventTargetValue = event.getTarget().getValue();\n\n\t\tPromise\n\t\t\t.resolve(eventTargetValue)\n\t\t\t.then((value) => {\n\t\t\t\tif (eventData.skipPrepare)\n\t\t\t\t{\n\t\t\t\t\tconst formOptions = this.getFormOptions();\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tReflect.has(value, 'presetFields')\n\t\t\t\t\t\t|| Reflect.has(value, 'document')\n\t\t\t\t\t\t|| Reflect.has(value, 'result')\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst additionalValue = {};\n\t\t\t\t\t\tif (Reflect.has(value, 'document'))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tadditionalValue.payment = value.document.payment;\n\t\t\t\t\t\t\tdelete value.document.payment;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...formOptions,\n\t\t\t\t\t\t\t...value,\n\t\t\t\t\t\t\t...additionalValue,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tReflect.has(value, 'embedding')\n\t\t\t\t\t\t|| Reflect.has(value, 'callback')\n\t\t\t\t\t\t|| Reflect.has(value, 'whatsapp')\n\t\t\t\t\t\t|| (\n\t\t\t\t\t\t\tReflect.has(value, 'name')\n\t\t\t\t\t\t\t&& Reflect.has(value, 'data')\n\t\t\t\t\t\t\t&& Reflect.has(value.data, 'useSign')\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst mergedOptions = Runtime.merge(\n\t\t\t\t\t\t\tformOptions,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (Reflect.has(value, 'responsible'))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmergedOptions.responsible.users = value.responsible.users;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn mergedOptions;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (Reflect.has(value, 'recaptcha'))\n\t\t\t\t\t{\n\t\t\t\t\t\tconst {key, secret} = value.recaptcha;\n\t\t\t\t\t\tdelete value.recaptcha.key;\n\t\t\t\t\t\tdelete value.recaptcha.secret;\n\t\t\t\t\t\tconst captcha = {};\n\n\t\t\t\t\t\tif (!Type.isNil(key))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcaptcha.key = key;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!Type.isNil(secret))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcaptcha.secret = secret;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...formOptions,\n\t\t\t\t\t\t\tcaptcha: {\n\t\t\t\t\t\t\t\t...formOptions.captcha,\n\t\t\t\t\t\t\t\t...captcha,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t...formOptions.data,\n\t\t\t\t\t\t\t\t...value,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...formOptions,\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t...formOptions.data,\n\t\t\t\t\t\t\t...value,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn FormClient.getInstance()\n\t\t\t\t\t.prepareOptions(this.getFormOptions(), value)\n\t\t\t\t\t.then(result => {\n\t\t\t\t\t\tif (value.agreements)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tresult.data = Runtime.merge(result.data, value);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (value.integration)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tresult.integration = value.integration;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (value.fields)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tresult.data.fields = result.data.fields.map((field, index) => {\n\t\t\t\t\t\t\t\treturn Runtime.merge(field, value.fields[index]);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t});\n\t\t\t})\n\t\t\t.then((result) => {\n\t\t\t\tBX.Landing.UI.Panel.Top\n\t\t\t\t\t.getInstance()\n\t\t\t\t\t.setFormName(result.name);\n\t\t\t\tthis.setFormOptions(result);\n\t\t\t\tthis.getCrmForm().adjust(Runtime.clone(result.data));\n\t\t\t});\n\t}\n\n\tstatic sanitize(value: any): any\n\t{\n\t\tif (Type.isStringFilled(value))\n\t\t{\n\t\t\treturn Text.decode(value)\n\t\t\t\t.replace(/<style[^>]*>.*<\\/style>/gm, '')\n\t\t\t\t.replace(/<script[^>]*>.*<\\/script>/gm, '')\n\t\t\t\t.replace(/<[^>]+>/gm, '');\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tgetPersonalizationVariables(): Array<{name: string, value: string}>\n\t{\n\t\treturn this.cache.remember('personalizationVariables', () => {\n\t\t\treturn this.getFormDictionary().personalization.list.map((item) => {\n\t\t\t\treturn {name: item.name, value: item.id};\n\t\t\t});\n\t\t});\n\t}\n\n\tgetDefaultValuesVariables(): Array<{name: string, value: string}>\n\t{\n\t\treturn this.cache.remember('personalizationVariables', () => {\n\t\t\tconst {properties} = this.getFormDictionary();\n\t\t\tif (Type.isPlainObject(properties) && Type.isArrayFilled(properties.list))\n\t\t\t{\n\t\t\t\treturn properties.list.map((item) => {\n\t\t\t\t\treturn {name: item.name, value: item.id};\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn [];\n\t\t});\n\t}\n\n\tgetContent(id: string): Promise<ContentWrapper>\n\t{\n\t\tconst currentButton = this.getSidebarButtons().find((button) => {\n\t\t\treturn id === button.options.id;\n\t\t});\n\n\t\tconst {extension} = currentButton.options.data;\n\n\t\tconst contentExtension = this.cache.remember(extension, () => {\n\t\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t\treturn rootWindow.BX.Runtime\n\t\t\t\t.loadExtension(extension)\n\t\t\t\t.then((exports) => {\n\t\t\t\t\treturn exports.default;\n\t\t\t\t});\n\t\t});\n\n\t\treturn contentExtension.then((ContentWrapperClass) => {\n\t\t\tif (Type.isFunction(ContentWrapperClass))\n\t\t\t{\n\t\t\t\treturn new ContentWrapperClass({\n\t\t\t\t\tformOptions: this.getFormOptions(),\n\t\t\t\t\tdictionary: this.getFormDictionary(),\n\t\t\t\t\tcrmFields: this.getCrmFields(),\n\t\t\t\t\tcompanies: this.getCrmCompanies(),\n\t\t\t\t\tcategories: this.getCrmCategories(),\n\t\t\t\t\tagreements: this.getAgreements(),\n\t\t\t\t\tisLeadEnabled: this.isLeadEnabled(),\n\t\t\t\t\tform: this.getCrmForm(),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn null;\n\t\t});\n\t}\n\n\tonPresetClick(event: BaseEvent)\n\t{\n\t\tif (event.getTarget().options.openable)\n\t\t{\n\t\t\tthis.disableTransparentMode();\n\t\t}\n\n\t\tconst uri = new Uri(window.top.location.toString());\n\t\turi.removeQueryParam('formCreated');\n\t\turi.removeQueryParam('preset');\n\t\twindow.top.history.replaceState(null, document.title, uri.toString());\n\n\t\tthis.applyPreset(event.getTarget());\n\t}\n\n\tgetCheckActionConfirm(): MessageBox\n\t{\n\t\treturn this.cache.remember('checkActionConfirm', () => {\n\t\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t\treturn new rootWindow.BX.UI.Dialogs.MessageBox({\n\t\t\t\tbuttons: MessageBoxButtons.OK_CANCEL,\n\t\t\t});\n\t\t});\n\t}\n\n\tapplyPreset(preset: Preset, skipOptions = false)\n\t{\n\t\tconst lastPreset = this.getPresets().find((currentPreset: Preset) => {\n\t\t\treturn Dom.hasClass(currentPreset.getLayout(), 'landing-ui-panel-preset-active');\n\t\t});\n\n\t\tthis.getPresets().forEach((currentPreset) => {\n\t\t\tcurrentPreset.deactivate();\n\t\t});\n\n\t\tif (!skipOptions)\n\t\t{\n\t\t\tconst runAction = (() => {\n\t\t\t\tif (Type.isArrayFilled(preset.options.actions))\n\t\t\t\t{\n\t\t\t\t\treturn Promise.all(\n\t\t\t\t\t\tpreset.options.actions.map((action) => {\n\t\t\t\t\t\t\tif (action.id === 'showTour')\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t\t\t\t\t\t\tconst guide = new rootWindow.BX.UI.Tour.Guide({\n\t\t\t\t\t\t\t\t\tonEvents: false,\n\t\t\t\t\t\t\t\t\tsteps: action.data.steps,\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tguide.start();\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (action.id === 'showHelp')\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (window.top.BX.Helper)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\twindow.top.BX.Helper.show(action.data.href);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (action.id === 'check')\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn FormClient\n\t\t\t\t\t\t\t\t\t.getInstance()\n\t\t\t\t\t\t\t\t\t.check({\n\t\t\t\t\t\t\t\t\t\ttemplateId: preset.options.id,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t.then((result) => {\n\t\t\t\t\t\t\t\t\t\tif (result.success === false)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tconst checkActionConfirm = this.getCheckActionConfirm();\n\t\t\t\t\t\t\t\t\t\t\tcheckActionConfirm.setTitle(result.message.title);\n\t\t\t\t\t\t\t\t\t\t\tcheckActionConfirm.setMessage(result.message.description);\n\t\t\t\t\t\t\t\t\t\t\tcheckActionConfirm.setOkCaption(result.message.confirmButton);\n\t\t\t\t\t\t\t\t\t\t\tcheckActionConfirm.setCancelCaption(result.message.cancelButton);\n\n\t\t\t\t\t\t\t\t\t\t\treturn new Promise((resolve) => {\n\t\t\t\t\t\t\t\t\t\t\t\tcheckActionConfirm.setOkCallback(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcheckActionConfirm.getOkButton().setDisabled(false);\n\t\t\t\t\t\t\t\t\t\t\t\t\tcheckActionConfirm.getCancelButton().setDisabled(false);\n\t\t\t\t\t\t\t\t\t\t\t\t\tcheckActionConfirm.close();\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\tcheckActionConfirm.setCancelCallback(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcheckActionConfirm.getOkButton().setDisabled(false);\n\t\t\t\t\t\t\t\t\t\t\t\t\tcheckActionConfirm.getCancelButton().setDisabled(false);\n\t\t\t\t\t\t\t\t\t\t\t\t\tcheckActionConfirm.close();\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(false);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\tcheckActionConfirm.show();\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\treturn Promise.resolve(true);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn Promise.resolve();\n\t\t\t})();\n\n\t\t\tif (preset.options.openable)\n\t\t\t{\n\t\t\t\tthis.showLoader();\n\n\t\t\t\tvoid runAction\n\t\t\t\t\t.then((actions) => {\n\t\t\t\t\t\tconst actionsResult = (() => {\n\t\t\t\t\t\t\tif (Type.isArrayFilled(preset.options.actions))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn preset.options.actions.reduce((acc, item, index) => {\n\t\t\t\t\t\t\t\t\treturn {...acc, [item.id]: actions[index]};\n\t\t\t\t\t\t\t\t}, {});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn {};\n\t\t\t\t\t\t})();\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tReflect.has(actionsResult, 'check')\n\t\t\t\t\t\t\t\t&& actionsResult.check === true\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t|| (\n\t\t\t\t\t\t\t\t!Reflect.has(actionsResult, 'check')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.getPresets().forEach((currentPreset) => {\n\t\t\t\t\t\t\t\tcurrentPreset.deactivate();\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tpreset.activate();\n\n\t\t\t\t\t\t\tFormClient.getInstance()\n\t\t\t\t\t\t\t\t.prepareOptions(this.getFormOptions(), {templateId: preset.options.id})\n\t\t\t\t\t\t\t\t.then((result) => {\n\t\t\t\t\t\t\t\t\treturn Backend.getInstance()\n\t\t\t\t\t\t\t\t\t\t.action('Form::getCrmFields')\n\t\t\t\t\t\t\t\t\t\t.then((crmFields) => {\n\t\t\t\t\t\t\t\t\t\t\tthis.setCrmFields(crmFields);\n\t\t\t\t\t\t\t\t\t\t\tFieldsPanel.getInstance().setCrmFields(crmFields);\n\t\t\t\t\t\t\t\t\t\t\treturn result;\n\t\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\t.then((result) => {\n\t\t\t\t\t\t\t\t\tBX.Landing.UI.Panel.Top\n\t\t\t\t\t\t\t\t\t\t.getInstance()\n\t\t\t\t\t\t\t\t\t\t.setFormName(result.name);\n\t\t\t\t\t\t\t\t\tthis.setFormOptions({\n\t\t\t\t\t\t\t\t\t\t...result,\n\t\t\t\t\t\t\t\t\t\ttemplateId: preset.options.id,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tthis.getCrmForm().adjust(Runtime.clone(result.data));\n\t\t\t\t\t\t\t\t\tif (this.isFormCreated())\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tthis.onPresetFieldClick();\n\t\t\t\t\t\t\t\t\t\tthis.activatePreset(preset.options.id);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tsuper.applyPreset(preset);\n\n\t\t\t\t\t\t\t\t\t\tif (Type.isArrayFilled(preset.options.expertModeItems))\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tDom.show(this.getExpertSwitcherLayout());\n\t\t\t\t\t\t\t\t\t\t\tthis.onExpertModeChange();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tDom.hide(this.getExpertSwitcherLayout());\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthis.hideLoader();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.hideLoader();\n\t\t\t\t\t\t\tthis.enableTransparentMode();\n\n\t\t\t\t\t\t\tif (lastPreset)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlastPreset.activate();\n\t\t\t\t\t\t\t\tpreset.deactivate();\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}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (preset.options.openable)\n\t\t\t{\n\t\t\t\tsuper.applyPreset(preset);\n\t\t\t\tif (Type.isArrayFilled(preset.options.expertModeItems))\n\t\t\t\t{\n\t\t\t\t\tDom.show(this.getExpertSwitcherLayout());\n\t\t\t\t\tthis.onExpertModeChange();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tDom.hide(this.getExpertSwitcherLayout());\n\t\t\t\t}\n\t\t\t\tthis.hideLoader();\n\t\t\t}\n\n\t\t\tpreset.activate();\n\t\t}\n\t}\n\n\tgetFormNode(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('formNode', () => {\n\t\t\treturn this.getCurrentBlock().node.querySelector('[data-b24form-use-style]');\n\t\t});\n\t}\n\n\tuseBlockDesign(): boolean\n\t{\n\t\treturn this.cache.remember('useBlockDesign', () => {\n\t\t\treturn Text.toBoolean(Dom.attr(this.getFormNode(), 'data-b24form-use-style'));\n\t\t});\n\t}\n\n\tgetCurrentCrmEntityName(): string\n\t{\n\t\tconst {scheme} = this.getFormOptions().document;\n\t\tconst schemeItem = this.getFormDictionary().document.schemes.find((item) => {\n\t\t\treturn String(scheme) === String(item.id);\n\t\t});\n\n\t\treturn schemeItem.name;\n\t}\n\n\tgetNotSynchronizedFields(): Promise<any>\n\t{\n\t\treturn FormClient\n\t\t\t.getInstance()\n\t\t\t.checkFields(this.getFormOptions())\n\t\t\t.then((result) => {\n\t\t\t\treturn result;\n\t\t\t});\n\t}\n\n\tshowSynchronizationPopup(notSynchronizedFields: Array<string>): Promise<boolean>\n\t{\n\t\treturn new Promise((resolve) => {\n\t\t\tconst onOk = (messageBox: MessageBox) => {\n\t\t\t\tmessageBox.close();\n\t\t\t\tresolve(true);\n\t\t\t};\n\n\t\t\tconst onCancel = (messageBox: MessageBox) => {\n\t\t\t\tmessageBox.close();\n\t\t\t\tresolve(false);\n\t\t\t};\n\n\t\t\tconst messageDescription = (() => {\n\t\t\t\tconst entityName = Loc.getMessage('LANDING_SYNCHRONIZATION_POPUP_ENTITY_TEMPLATE')\n\t\t\t\t\t.replace('{entityName}', Text.encode(this.getCurrentCrmEntityName()));\n\n\t\t\t\treturn Loc.getMessage('LANDING_SYNCHRONIZATION_POPUP_DESCRIPTION')\n\t\t\t\t\t.replace('{entityName}', Text.encode(entityName));\n\t\t\t})();\n\n\t\t\tconst messageText = (() => {\n\t\t\t\tconst fields = [...notSynchronizedFields].map((field) => {\n\t\t\t\t\treturn Loc.getMessage('LANDING_SYNCHRONIZATION_POPUP_FIELD_TEMPLATE')\n\t\t\t\t\t\t.replace('{fieldName}', Text.encode(field));\n\t\t\t\t});\n\n\t\t\t\tif (notSynchronizedFields.length > 1)\n\t\t\t\t{\n\t\t\t\t\tconst lastField = fields.pop();\n\n\t\t\t\t\treturn Loc\n\t\t\t\t\t\t.getMessage('LANDING_SYNCHRONIZATION_POPUP_TEXT')\n\t\t\t\t\t\t.replace('{fieldsList}', fields.join(', '))\n\t\t\t\t\t\t.replace('{lastField}', lastField);\n\t\t\t\t}\n\n\t\t\t\treturn Loc\n\t\t\t\t\t.getMessage('LANDING_SYNCHRONIZATION_POPUP_TEXT_1')\n\t\t\t\t\t.replace('{field}', fields.join(', '));\n\t\t\t})();\n\n\t\t\twindow.top.BX.UI.Dialogs.MessageBox.confirm(\n\t\t\t\t`${messageDescription}<br><br>${messageText}`,\n\t\t\t\tLoc.getMessage('LANDING_SYNCHRONIZATION_POPUP_TITLE'),\n\t\t\t\tonOk,\n\t\t\t\tLoc.getMessage('LANDING_SYNCHRONIZATION_POPUP_OK_BUTTON_LABEL'),\n\t\t\t\tonCancel,\n\t\t\t);\n\t\t});\n\t}\n\n\tshowSynchronizationErrorPopup(errors: Array<string>)\n\t{\n\t\tconst message = errors.reduce((acc, item) => {\n\t\t\treturn `${acc}\\n\\n${item}`;\n\t\t}, '');\n\n\t\twindow.top.BX.UI.Dialogs.MessageBox.alert(message);\n\t}\n\n\tgetErrorAlert(): MessageBox\n\t{\n\t\treturn this.cache.remember('errorAlert', () => {\n\t\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t\treturn new rootWindow.BX.UI.Dialogs.MessageBox({\n\t\t\t\ttitle: Loc.getMessage('LANDING_FORM_SAVE_ERROR_ALERT_TITLE'),\n\t\t\t\tbuttons: MessageBoxButtons.OK,\n\t\t\t\tpopupOptions: {\n\t\t\t\t\tmaxHeight: 310,\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tonSaveClick()\n\t{\n\t\tconst dictionary = this.getFormDictionary();\n\n\t\tif (\n\t\t\tType.isPlainObject(dictionary.permissions)\n\t\t\t&& Type.isPlainObject(dictionary.permissions.form)\n\t\t\t&& dictionary.permissions.form.edit === false\n\t\t)\n\t\t{\n\t\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t\trootWindow.BX.UI.Dialogs.MessageBox.alert(Loc.getMessage('LANDING_FORM_SAVE_PERMISSION_DENIED'));\n\t\t\treturn;\n\t\t}\n\n\t\tDom.addClass(this.getSaveButton().layout, 'ui-btn-wait');\n\n\t\tthis.getNotSynchronizedFields()\n\t\t\t.then((result) => {\n\t\t\t\tif (Type.isPlainObject(result.sync))\n\t\t\t\t{\n\t\t\t\t\tif (Type.isArrayFilled(result.sync.errors))\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.showSynchronizationErrorPopup(result.sync.errors);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (Type.isArrayFilled(result.sync.fields))\n\t\t\t\t\t{\n\t\t\t\t\t\tconst fieldLabels = result.sync.fields.map((field) => {\n\t\t\t\t\t\t\treturn field.label;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn this.showSynchronizationPopup(fieldLabels);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.then((isConfirmed) => {\n\t\t\t\tif (isConfirmed)\n\t\t\t\t{\n\t\t\t\t\tconst uri = new Uri(window.top.location.toString());\n\t\t\t\t\turi.removeQueryParam('formCreated');\n\t\t\t\t\twindow.top.history.replaceState(null, document.title, uri.toString());\n\n\t\t\t\t\tconst initialOptions = this.getInitialFormOptions();\n\t\t\t\t\tconst currentOptions = this.getFormOptions();\n\t\t\t\t\tconst options = (() => {\n\t\t\t\t\t\tif (!this.isCrmFormPage())\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst clonedOptions = Runtime.clone(currentOptions);\n\t\t\t\t\t\t\tclonedOptions.data.design = Runtime.clone(initialOptions.data.design);\n\t\t\t\t\t\t\treturn clonedOptions;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn currentOptions;\n\t\t\t\t\t})();\n\n\t\t\t\t\tif (\n\t\t\t\t\t\toptions.data.recaptcha.use\n\t\t\t\t\t\t&& (\n\t\t\t\t\t\t\t!this.getFormDictionary().captcha.hasKeys\n\t\t\t\t\t\t\t&& !options.captcha.hasDefaults\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\toptions.data.recaptcha.use = false;\n\n\t\t\t\t\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t\t\t\t\tconst alert: MessageBox = new rootWindow.BX.UI.Dialogs.MessageBox({\n\t\t\t\t\t\t\ttitle: Loc.getMessage('LANDING_FORM_SAVE_CAPTCHA_ALERT_TITLE'),\n\t\t\t\t\t\t\tmessage: Loc.getMessage('LANDING_FORM_SAVE_CAPTCHA_ALERT_TEXT_2'),\n\t\t\t\t\t\t\tbuttons: MessageBoxButtons.OK,\n\t\t\t\t\t\t\tonOk: () => {\n\t\t\t\t\t\t\t\talert.close();\n\t\t\t\t\t\t\t\tDom.removeClass(this.getSaveButton().layout, 'ui-btn-wait');\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\talert.show();\n\t\t\t\t\t}\n\n\t\t\t\t\tvoid FormClient.getInstance()\n\t\t\t\t\t\t.saveOptions(options)\n\t\t\t\t\t\t.then((result) => {\n\t\t\t\t\t\t\tthis.setFormOptions(result);\n\t\t\t\t\t\t\tthis.setInitialFormOptions(result);\n\t\t\t\t\t\t\tFormClient.getInstance().resetCache(result.id);\n\t\t\t\t\t\t\tDom.removeClass(this.getSaveButton().layout, 'ui-btn-wait');\n\n\t\t\t\t\t\t\tconst activeButton = this.getSidebarButtons().find((button) => {\n\t\t\t\t\t\t\t\treturn button.isActive();\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\treturn Backend.getInstance()\n\t\t\t\t\t\t\t\t.action('Form::getCrmFields')\n\t\t\t\t\t\t\t\t.then((crmFields) => {\n\t\t\t\t\t\t\t\t\tthis.setCrmFields(crmFields);\n\t\t\t\t\t\t\t\t\tFieldsPanel.getInstance().setCrmFields(crmFields);\n\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tactiveButton\n\t\t\t\t\t\t\t\t\t\t&& !Dom.hasClass(this.layout, 'landing-ui-panel-mode-transparent')\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tactiveButton.getLayout().click();\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (this.isCrmFormPage())\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tDom.addClass(this.getSaveButton().layout, 'ui-btn-icon-done');\n\t\t\t\t\t\t\t\tconst currentButtonText = this.getSaveButton().layout.innerText;\n\t\t\t\t\t\t\t\tthis.getSaveButton().setText(Loc.getMessage('LANDING_FORM_EDITOR_SAVE_BUTTON_STATE_SAVED'));\n\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\tDom.removeClass(this.getSaveButton().layout, 'ui-btn-icon-done');\n\t\t\t\t\t\t\t\t\tthis.getSaveButton().setText(currentButtonText);\n\t\t\t\t\t\t\t\t}, 1500);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvoid this.hide();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((errors) => {\n\t\t\t\t\t\t\tif (Type.isArrayFilled(errors))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (this.#isPhoneValidationError(errors))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tthis.#showPhoneVerifySlider()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tconst errorMessage = errors\n\t\t\t\t\t\t\t\t\t\t.map((item) => {\n\t\t\t\t\t\t\t\t\t\t\treturn Text.encode(item.message);\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t.join('<br><br>');\n\n\t\t\t\t\t\t\t\t\tconst errorAlert = this.getErrorAlert();\n\t\t\t\t\t\t\t\t\terrorAlert.setMessage(errorMessage);\n\t\t\t\t\t\t\t\t\terrorAlert.show();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t\t\t\t\t\t\trootWindow.BX.UI.Dialogs.MessageBox.alert(\n\t\t\t\t\t\t\t\t\tLoc.getMessage('LANDING_FORM_SAVE_UNKNOWN_ERROR_ALERT_TEXT'),\n\t\t\t\t\t\t\t\t\tLoc.getMessage('LANDING_FORM_SAVE_ERROR_ALERT_TITLE'),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tDom.removeClass(this.getSaveButton().layout, 'ui-btn-wait');\n\t\t\t\t\t\t});\n\n\t\t\t\t\tif (this.useBlockDesign() && this.isCrmFormPage())\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.disableUseBlockDesign();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tDom.removeClass(this.getSaveButton().layout, 'ui-btn-wait');\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\t#isPhoneValidationError(errors: ResponseErrors): boolean\n\t{\n\t\treturn errors.some((error) => {\n\t\t\t\treturn error.code === this.#phoneDoesntVerifiedResponseCode;\n\t\t\t}\n\t\t);\n\t}\n\n\t#showPhoneVerifySlider(): void\n\t{\n\t\tif (Type.isObject(PhoneVerify))\n\t\t{\n\t\t\tPhoneVerify.setVerified(false).showSlider();\n\t\t}\n\t}\n\n\tisChanged(): boolean\n\t{\n\t\treturn JSON.stringify(this.getFormOptions()) !== JSON.stringify(this.getInitialFormOptions());\n\t}\n\n\tdisableUseBlockDesign()\n\t{\n\t\tDom.attr(this.getFormNode(), 'data-b24form-use-style', 'N');\n\t\tthis.cache.set('useBlockDesign', false);\n\n\t\tBackend\n\t\t\t.getInstance()\n\t\t\t.action(\n\t\t\t\t'Landing\\\\Block::updateNodes',\n\t\t\t\t{\n\t\t\t\t\tblock: this.getCurrentBlock().id,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\t'.bitrix24forms': {\n\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\t'data-b24form-use-style': 'N',\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\tlid: this.getCurrentBlock().lid,\n\t\t\t\t\tsiteId: this.getCurrentBlock().siteId,\n\t\t\t\t},\n\t\t\t\t{code: this.getCurrentBlock().manifest.code},\n\t\t\t);\n\t}\n\n\tonCancelClick()\n\t{\n\t\tconst initialFormOptions = this.getInitialFormOptions();\n\t\tthis.getCrmForm().adjust(initialFormOptions.data);\n\t\tBX.Landing.UI.Panel.Top\n\t\t\t.getInstance()\n\t\t\t.setFormName(initialFormOptions.name);\n\n\t\tvoid this.hide();\n\t}\n\n\thide(): Promise<*>\n\t{\n\t\tconst editorWindow = PageObject.getEditorWindow();\n\t\tDom.removeClass(editorWindow.document.body, 'landing-ui-hide-action-panels-form');\n\t\tthis.enableHistory();\n\t\treturn super.hide();\n\t}\n\n\tonSidebarButtonClick(event: BaseEvent)\n\t{\n\t\tconst target = event.getTarget();\n\t\tif (target.options.id === 'design')\n\t\t{\n\t\t\tthis.onFormDesignButtonClick();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tsuper.onSidebarButtonClick(event);\n\t\t}\n\t}\n}\n"],"names":["FormSettingsPanel","rootWindow","PageObject","getRootWindow","rootWindowPanel","BX","Landing","UI","Panel","instance","setEventNamespace","setTitle","Loc","getMessage","lsCache","Cache","LocalStorageCache","disableOverlay","isCrmFormPage","dictionary","Env","getInstance","getOptions","formEditorData","preparedSidebarButtons","sidebarButtons","map","buttonOptions","SidebarButton","child","setSidebarButtons","preparedPresets","scenarios","presetOptions","Preset","setPresets","preparedPresetCategories","scenarioCategories","categoryOptions","PresetCategory","setCategories","Dom","append","getBlockSettingsButton","render","getRightHeaderControls","subscribe","onCancelClick","bind","getExpertSwitcherLayout","layout","cache","remember","onClick","getExpertModeSwitcher","node","click","Tag","switcher","Switcher","checked","isExpertModeEnabled","addClass","Event","onExpertSwitcherClick","set","isChecked","onExpertModeChange","getFormOptions","templateId","preset","getPresets","find","currentPreset","options","id","getCurrentPreset","Type","isArrayFilled","expertModeItems","clearSidebar","getSidebarButtons","filter","button","includes","forEach","items","deactivate","appendSidebarButton","currentSidebarButton","isActive","buttons","defaultSection","isStringFilled","defaultSectionButton","getLayout","get","specialType","Button","text","color","Color","LIGHT_BORDER","round","className","onclick","onFormDesignButtonClick","onBlockSettingsButtonClick","getCurrentBlock","hide","then","showContentPanel","onFormDesignClick","Loader","target","body","getLoader","show","sidebar","content","removeClass","showWithOptions","editorData","setCrmFields","crmFields","setCrmCompanies","crmCompanies","setCrmCategories","crmCategories","setAgreements","agreements","currentOptions","Runtime","clone","formOptions","use","data","setFormOptions","setFormDictionary","Promise","resolve","crmData","Backend","batch","action","result","FormClient","getCurrentFormId","formDictionary","getDictionary","all","orderBy","getFormDictionary","document","lead","enabled","block","alert","Alert","AlertColor","WARNING","parentNode","enableToggleMode","isFormCreated","disableTransparentMode","mainOptions","saveOriginalFileName","prependContent","getSaveOriginalFileNameAlert","closeButtonTop","Text","toNumber","style","closeButton","alertHeight","getBoundingClientRect","height","setCurrentBlock","setCurrentFormId","formId","setCurrentFormInstanceId","instanceId","showLoader","load","hideLoader","isPlainObject","merge","state","presetFromRequest","getPresetIdFromRequest","item","applyPreset","onPresetFieldClick","activatePreset","setInitialFormOptions","error","accessDeniedCode","isAccessDenied","some","errorItem","String","code","footer","getAccessError","console","editorWindow","getEditorWindow","StylePanel","disableHistory","setTimeout","y","offsetTop","scrollTo","encode","Hint","initNode","TopPanel","Top","undoButton","redoButton","getHistoryHint","parentElement","remove","uri","Uri","window","top","location","href","getQueryParam","toBoolean","fields","companies","categories","formApp","Reflection","getClass","getCurrentFormInstanceId","tmpIndex","currentFormIndex","childNodes","reduce","acc","attr","list","event","eventData","getData","eventTargetValue","getTarget","getValue","value","skipPrepare","Reflect","has","additionalValue","payment","mergedOptions","responsible","users","recaptcha","key","secret","captcha","isNil","prepareOptions","integration","field","index","setFormName","name","getCrmForm","adjust","personalization","properties","currentButton","extension","contentExtension","loadExtension","exports","ContentWrapperClass","isFunction","getCrmFields","getCrmCompanies","getCrmCategories","getAgreements","isLeadEnabled","form","openable","toString","removeQueryParam","history","replaceState","title","Dialogs","MessageBox","MessageBoxButtons","OK_CANCEL","skipOptions","lastPreset","hasClass","runAction","actions","guide","Tour","Guide","onEvents","steps","start","Helper","check","success","checkActionConfirm","getCheckActionConfirm","message","setMessage","description","setOkCaption","confirmButton","setCancelCaption","cancelButton","setOkCallback","getOkButton","setDisabled","getCancelButton","close","setCancelCallback","actionsResult","activate","FieldsPanel","enableTransparentMode","querySelector","getFormNode","scheme","schemeItem","schemes","checkFields","notSynchronizedFields","onOk","messageBox","onCancel","messageDescription","entityName","replace","getCurrentCrmEntityName","messageText","length","lastField","pop","join","confirm","errors","OK","popupOptions","maxHeight","permissions","edit","getSaveButton","getNotSynchronizedFields","sync","showSynchronizationErrorPopup","fieldLabels","label","showSynchronizationPopup","isConfirmed","initialOptions","getInitialFormOptions","clonedOptions","design","hasKeys","hasDefaults","saveOptions","resetCache","activeButton","currentButtonText","innerText","setText","errorMessage","errorAlert","getErrorAlert","useBlockDesign","disableUseBlockDesign","JSON","stringify","attrs","lid","siteId","manifest","initialFormOptions","enableHistory","decode","BasePresetPanel","isObject","PhoneVerify","setVerified","showSlider"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings