%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.117.170.226 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/landing/ui/panel/formsettingspanel/dist/ |
Upload File : |
this.BX = this.BX || {}; this.BX.Landing = this.BX.Landing || {}; this.BX.Landing.UI = this.BX.Landing.UI || {}; (function (exports,landing_ui_panel_basepresetpanel,landing_pageobject,landing_loc,main_core,landing_backend,main_loader,crm_form_client,ui_buttons,landing_env,landing_ui_panel_stylepanel,ui_dialogs_messagebox,ui_alerts,landing_ui_button_sidebarbutton,ui_tour,landing_ui_panel_fieldspanel) { 'use strict'; function _templateObject2() { var data = babelHelpers.taggedTemplateLiteral(["\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", "\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t"]); _templateObject2 = function _templateObject2() { return data; }; return data; } function _templateObject() { var data = babelHelpers.taggedTemplateLiteral(["\n\t\t\t\t<div class=\"landing-ui-expert-switcher\">\n\t\t\t\t\t", "\n\t\t\t\t\t<span onclick=\"", "\" class=\"landing-ui-expert-switcher-label\">\n\t\t\t\t\t\t", "\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t"]); _templateObject = function _templateObject() { return data; }; return data; } /** * @memberOf BX.Landing.UI.Panel */ var FormSettingsPanel = /*#__PURE__*/function (_BasePresetPanel) { babelHelpers.inherits(FormSettingsPanel, _BasePresetPanel); babelHelpers.createClass(FormSettingsPanel, null, [{ key: "getInstance", value: function getInstance() { var rootWindow = landing_pageobject.PageObject.getRootWindow(); var rootWindowPanel = rootWindow.BX.Landing.UI.Panel.FormSettingsPanel; if (!rootWindowPanel.instance && !FormSettingsPanel.instance) { rootWindowPanel.instance = new FormSettingsPanel(); } return rootWindowPanel.instance || FormSettingsPanel.instance; } }]); function FormSettingsPanel() { var _this; babelHelpers.classCallCheck(this, FormSettingsPanel); _this = babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(FormSettingsPanel).call(this)); _this.setEventNamespace('BX.Landing.UI.Panel.FormSettingsPanel'); _this.setTitle(landing_loc.Loc.getMessage('LANDING_FORM_SETTINGS_PANEL_TITLE')); _this.lsCache = new main_core.Cache.LocalStorageCache(); _this.disableOverlay(); if (_this.isCrmFormPage()) { var dictionary = landing_env.Env.getInstance().getOptions().formEditorData.dictionary; var preparedSidebarButtons = dictionary.sidebarButtons.map(function (buttonOptions) { return new landing_ui_button_sidebarbutton.SidebarButton(babelHelpers.objectSpread({}, buttonOptions, { child: true })); }); _this.setSidebarButtons(preparedSidebarButtons); var preparedPresets = dictionary.scenarios.map(function (presetOptions) { return new landing_ui_panel_basepresetpanel.Preset(presetOptions); }); _this.setPresets(preparedPresets); var preparedPresetCategories = dictionary.scenarioCategories.map(function (categoryOptions) { return new landing_ui_panel_basepresetpanel.PresetCategory(categoryOptions); }); _this.setCategories(preparedPresetCategories); } else { main_core.Dom.append(_this.getBlockSettingsButton().render(), _this.getRightHeaderControls()); } _this.subscribe('onCancel', _this.onCancelClick.bind(babelHelpers.assertThisInitialized(_this))); main_core.Dom.append(_this.getExpertSwitcherLayout(), _this.layout); return _this; } babelHelpers.createClass(FormSettingsPanel, [{ key: "getExpertSwitcherLayout", value: function getExpertSwitcherLayout() { var _this2 = this; return this.cache.remember('switcherLayout', function () { var onClick = function onClick() { _this2.getExpertModeSwitcher().node.click(); }; return main_core.Tag.render(_templateObject(), _this2.getExpertModeSwitcher().node, onClick, landing_loc.Loc.getMessage('LANDING_FORM_EXPERT_MODE_SWITCHER_LABEL')); }); } }, { key: "getExpertModeSwitcher", value: function getExpertModeSwitcher() { var _this3 = this; return this.cache.remember('expertModeSwitcher', function () { var rootWindow = landing_pageobject.PageObject.getRootWindow(); var switcher = new rootWindow.BX.UI.Switcher({ checked: _this3.isExpertModeEnabled() }); main_core.Dom.addClass(switcher.node, 'ui-switcher-size-sm ui-switcher-color-green'); main_core.Event.bind(switcher.node, 'click', _this3.onExpertSwitcherClick.bind(_this3)); return switcher; }); } }, { key: "onExpertSwitcherClick", value: function onExpertSwitcherClick() { this.lsCache.set('formEditorExpertMode', this.getExpertModeSwitcher().isChecked()); this.onExpertModeChange(); } }, { key: "getCurrentPreset", value: function getCurrentPreset() { var _this$getFormOptions = this.getFormOptions(), templateId = _this$getFormOptions.templateId; var preset = this.getPresets().find(function (currentPreset) { return currentPreset.options.id === templateId; }); if (preset) { return preset; } return this.getPresets().find(function (currentPreset) { return currentPreset.options.id === 'expert'; }); } }, { key: "onExpertModeChange", value: function onExpertModeChange() { var _this4 = this; var currentPreset = this.getCurrentPreset(); if (this.getExpertModeSwitcher().isChecked() && main_core.Type.isArrayFilled(currentPreset.options.expertModeItems)) { this.clearSidebar(); this.getSidebarButtons().filter(function (button) { return currentPreset.options.expertModeItems.includes(button.id); }).forEach(function (button) { if (!currentPreset.options.items.includes(button.id)) { button.deactivate(); } _this4.appendSidebarButton(button); }); } else { var currentSidebarButton = this.getSidebarButtons().find(function (button) { return button.isActive(); }); var buttons = this.getSidebarButtons().filter(function (button) { return currentPreset.options.items.includes(button.id); }); this.clearSidebar(); buttons.forEach(function (button) { _this4.appendSidebarButton(button); }); if (currentSidebarButton && !currentPreset.options.items.includes(currentSidebarButton.id)) { var defaultSection = function () { if (main_core.Type.isStringFilled(currentPreset.options.defaultSection)) { return currentPreset.options.defaultSection; } return 'fields'; }(); var defaultSectionButton = this.getSidebarButtons().find(function (button) { return button.id === defaultSection; }); if (defaultSectionButton) { defaultSectionButton.getLayout().click(); } } } } }, { key: "isExpertModeEnabled", value: function isExpertModeEnabled() { return this.lsCache.get('formEditorExpertMode', false); } // eslint-disable-next-line class-methods-use-this }, { key: "isCrmFormPage", value: function isCrmFormPage() { return landing_env.Env.getInstance().getOptions().specialType === 'crm_forms'; } }, { key: "getFormDesignButton", value: function getFormDesignButton() { var _this5 = this; return this.cache.remember('formDesignButton', function () { return new ui_buttons.Button({ text: landing_loc.Loc.getMessage('LANDING_FORM_DESIGN_BUTTON'), color: ui_buttons.Button.Color.LIGHT_BORDER, round: true, className: 'landing-ui-panel-top-button', onclick: _this5.onFormDesignButtonClick.bind(_this5) }); }); } }, { key: "getBlockSettingsButton", value: function getBlockSettingsButton() { var _this6 = this; return this.cache.remember('blockSettingsButton', function () { return new ui_buttons.Button({ text: landing_loc.Loc.getMessage('LANDING_FORM_SETTINGS_BLOCK_SETTINGS_BUTTON_TEXT'), color: ui_buttons.Button.Color.LIGHT_BORDER, round: true, className: 'landing-ui-panel-top-button', onclick: _this6.onBlockSettingsButtonClick.bind(_this6) }); }); } }, { key: "onBlockSettingsButtonClick", value: function onBlockSettingsButtonClick() { var _this7 = this; if (this.getCurrentBlock()) { this.hide().then(function () { _this7.getCurrentBlock().showContentPanel(); }); } } }, { key: "onFormDesignButtonClick", value: function onFormDesignButtonClick() { if (this.getCurrentBlock()) { this.getCurrentBlock().onFormDesignClick(); } } }, { key: "getLoader", value: function getLoader() { var _this8 = this; return this.cache.remember('loader', function () { return new main_loader.Loader({ target: _this8.body }); }); } }, { key: "showLoader", value: function showLoader() { main_core.Dom.addClass(this.layout, 'landing-ui-panel-state-content-load'); void this.getLoader().show(); main_core.Dom.hide(this.sidebar); main_core.Dom.hide(this.content); main_core.Dom.hide(this.getExpertSwitcherLayout()); } }, { key: "hideLoader", value: function hideLoader() { main_core.Dom.removeClass(this.layout, 'landing-ui-panel-state-content-load'); this.getLoader().hide(); main_core.Dom.show(this.sidebar); main_core.Dom.show(this.content); if (main_core.Type.isArrayFilled(this.getCurrentPreset().options.expertModeItems)) { main_core.Dom.show(this.getExpertSwitcherLayout()); } } }, { key: "showContentLoader", value: function showContentLoader() { main_core.Dom.addClass(this.layout, 'landing-ui-panel-state-body-load'); babelHelpers.get(babelHelpers.getPrototypeOf(FormSettingsPanel.prototype), "showContentLoader", this).call(this); } }, { key: "hideContentLoader", value: function hideContentLoader() { main_core.Dom.removeClass(this.layout, 'landing-ui-panel-state-body-load'); babelHelpers.get(babelHelpers.getPrototypeOf(FormSettingsPanel.prototype), "hideContentLoader", this).call(this); } }, { key: "load", value: function load() { var _this9 = this; var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (options.showWithOptions) { var editorData = landing_env.Env.getInstance().getOptions().formEditorData; var dictionary = editorData.dictionary; var preparedSidebarButtons = dictionary.sidebarButtons.map(function (buttonOptions) { return new landing_ui_button_sidebarbutton.SidebarButton(babelHelpers.objectSpread({}, buttonOptions, { child: true })); }); this.setSidebarButtons(preparedSidebarButtons); var preparedPresets = dictionary.scenarios.map(function (presetOptions) { return new landing_ui_panel_basepresetpanel.Preset(presetOptions); }); this.setPresets(preparedPresets); var preparedPresetCategories = dictionary.scenarioCategories.map(function (categoryOptions) { return new landing_ui_panel_basepresetpanel.PresetCategory(categoryOptions); }); this.setCategories(preparedPresetCategories); this.setCrmFields(editorData.crmFields); this.setCrmCompanies(editorData.crmCompanies); this.setCrmCategories(editorData.crmCategories); this.setAgreements(editorData.agreements); var currentOptions = main_core.Runtime.clone(editorData.formOptions); if (currentOptions.agreements.use !== true) { currentOptions.agreements.use = true; currentOptions.data.agreements = []; } this.setFormOptions(currentOptions); this.setFormDictionary(editorData.dictionary); return Promise.resolve(); } var crmData = landing_backend.Backend.getInstance().batch('Form::getCrmFields', { crmFields: { action: 'Form::getCrmFields', data: null }, crmCompanies: { action: 'Form::getCrmCompanies', data: null }, crmCategories: { action: 'Form::getCrmCategories', data: null }, agreements: { action: 'Form::getAgreements', data: null } }).then(function (result) { _this9.setCrmFields(result.crmFields.result); _this9.setCrmCompanies(result.crmCompanies.result); _this9.setCrmCategories(result.crmCategories.result); _this9.setAgreements(result.agreements.result); }); var formOptions = crm_form_client.FormClient.getInstance().getOptions(this.getCurrentFormId()).then(function (options) { var currentOptions = main_core.Runtime.clone(options); if (currentOptions.agreements.use !== true) { currentOptions.agreements.use = true; currentOptions.data.agreements = []; } _this9.setFormOptions(currentOptions); }); var formDictionary = crm_form_client.FormClient.getInstance().getDictionary().then(function (dictionary) { _this9.setFormDictionary(dictionary); var preparedSidebarButtons = dictionary.sidebarButtons.map(function (buttonOptions) { return new landing_ui_button_sidebarbutton.SidebarButton(babelHelpers.objectSpread({}, buttonOptions, { child: true })); }); _this9.setSidebarButtons(preparedSidebarButtons); var preparedPresets = dictionary.scenarios.map(function (presetOptions) { return new landing_ui_panel_basepresetpanel.Preset(presetOptions); }); _this9.setPresets(preparedPresets); var preparedPresetCategories = dictionary.scenarioCategories.map(function (categoryOptions) { return new landing_ui_panel_basepresetpanel.PresetCategory(categoryOptions); }); _this9.setCategories(preparedPresetCategories); }); return Promise.all([crmData, formOptions, formDictionary]); } }, { key: "setAgreements", value: function setAgreements(agreements) { this.cache.set('agreements', main_core.Runtime.orderBy(agreements, ['id'], ['asc'])); } }, { key: "getAgreements", value: function getAgreements() { return this.cache.get('agreements'); } }, { key: "isLeadEnabled", value: function isLeadEnabled() { return this.getFormDictionary().document.lead.enabled; } }, { key: "setCurrentBlock", value: function setCurrentBlock(block) { this.cache.set('currentBlock', block); } }, { key: "getCurrentBlock", value: function getCurrentBlock() { return this.cache.get('currentBlock'); } }, { key: "getSaveOriginalFileNameAlert", value: function getSaveOriginalFileNameAlert() { return this.cache.remember('saveOriginalFileNameAlert', function () { var alert = new ui_alerts.Alert({ text: landing_loc.Loc.getMessage('LANDING_CRM_FORM_MAIN_OPTION_WARNING'), color: ui_alerts.AlertColor.WARNING }); return alert.render(); }); } }, { key: "show", value: function show() { var _this10 = this; var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { formOptions: {} }; if (!this.layout.parentNode) { this.enableToggleMode(); } if (!this.isFormCreated()) { this.disableTransparentMode(); } var _Env$getInstance$getO = landing_env.Env.getInstance().getOptions(), mainOptions = _Env$getInstance$getO.mainOptions; if (mainOptions.saveOriginalFileName === false) { this.prependContent(this.getSaveOriginalFileNameAlert()); var closeButtonTop = main_core.Text.toNumber(main_core.Dom.style(this.closeButton.getLayout(), 'top')); var alertHeight = this.getSaveOriginalFileNameAlert().getBoundingClientRect().height; main_core.Dom.style(this.closeButton.getLayout(), 'top', "".concat(closeButtonTop + alertHeight, "px")); } this.setCurrentBlock(options.block); this.setCurrentFormId(options.formId); this.setCurrentFormInstanceId(options.instanceId); this.showLoader(); this.load(options).then(function () { _this10.hideLoader(); var formOptions = _this10.getFormOptions(); if (main_core.Type.isPlainObject(options.formOptions)) { var _formOptions = main_core.Runtime.merge(_this10.getFormOptions(), options.formOptions); _this10.setFormOptions(_formOptions); } if (options.state === 'presets') { var presetFromRequest = _this10.getPresetIdFromRequest(); var preset = false; if (presetFromRequest) { preset = _this10.getPresets().find(function (item) { return item.options.id === presetFromRequest; }); } if (preset) { _this10.applyPreset(preset); } else { _this10.onPresetFieldClick(); _this10.activatePreset(formOptions.templateId); } } else { var _preset = _this10.getPresets().find(function (item) { return item.options.id === formOptions.templateId; }); if (!_preset) { _preset = _this10.getPresets().find(function (item) { return item.options.id === 'expert'; }); } if (_this10.isFormCreated()) { _this10.applyPreset(_preset); _this10.onPresetFieldClick(); } else { _this10.applyPreset(_preset, true); } } _this10.setInitialFormOptions(main_core.Runtime.clone(_this10.getFormOptions())); if (!_this10.isFormCreated()) { _this10.onExpertModeChange(); } }).catch(function (error) { if (main_core.Type.isArrayFilled(error)) { var accessDeniedCode = 510; var isAccessDenied = error.some(function (errorItem) { return String(errorItem.code) === String(accessDeniedCode); }); if (isAccessDenied) { _this10.getLoader().hide(); main_core.Dom.show(_this10.sidebar); main_core.Dom.show(_this10.content); main_core.Dom.hide(_this10.footer); main_core.Dom.append(_this10.getAccessError(), _this10.content); } } console.error(error); }); var editorWindow = landing_pageobject.PageObject.getEditorWindow(); main_core.Dom.addClass(editorWindow.document.body, 'landing-ui-hide-action-panels-form'); void landing_ui_panel_stylepanel.StylePanel.getInstance().hide(); return babelHelpers.get(babelHelpers.getPrototypeOf(FormSettingsPanel.prototype), "show", this).call(this, options).then(function () { setTimeout(function () { _this10.getCurrentBlock().node.scrollIntoView({ behavior: 'smooth' }); }, 300); return Promise.resolve(true); }); } }, { key: "getAccessError", value: function getAccessError() { return this.cache.remember('accessErrorMessage', function () { return main_core.Tag.render(_templateObject2(), landing_loc.Loc.getMessage('LANDING_CRM_ACCESS_ERROR_MESSAGE')); }); } // eslint-disable-next-line class-methods-use-this }, { key: "getPresetIdFromRequest", value: function getPresetIdFromRequest() { var uri = new main_core.Uri(window.top.location.href); return uri.getQueryParam('preset'); } // eslint-disable-next-line class-methods-use-this }, { key: "isFormCreated", value: function isFormCreated() { var rootWindow = landing_pageobject.PageObject.getRootWindow(); var uri = new main_core.Uri(rootWindow.location.href); return main_core.Text.toBoolean(uri.getQueryParam('formCreated')); } }, { key: "setCurrentFormId", value: function setCurrentFormId(formId) { this.cache.set('currentFormId', main_core.Text.toNumber(formId)); } }, { key: "getCurrentFormId", value: function getCurrentFormId() { return this.cache.get('currentFormId'); } }, { key: "setCurrentFormInstanceId", value: function setCurrentFormInstanceId(formId) { this.cache.set('currentFormInstanceId', formId); } }, { key: "getCurrentFormInstanceId", value: function getCurrentFormInstanceId() { return this.cache.get('currentFormInstanceId'); } }, { key: "setCrmFields", value: function setCrmFields(fields) { this.cache.set('fields', fields); } }, { key: "getCrmFields", value: function getCrmFields() { return this.cache.get('fields') || {}; } }, { key: "setCrmCompanies", value: function setCrmCompanies(companies) { this.cache.set('companies', companies); } }, { key: "getCrmCompanies", value: function getCrmCompanies() { return this.cache.get('companies') || []; } }, { key: "setCrmCategories", value: function setCrmCategories(categories) { this.cache.set('crmCategories', categories); } }, { key: "getCrmCategories", value: function getCrmCategories() { return this.cache.get('crmCategories') || []; } }, { key: "setFormOptions", value: function setFormOptions(options) { this.cache.set('formOptions', options); } }, { key: "getFormOptions", value: function getFormOptions() { return main_core.Runtime.clone(this.cache.get('formOptions') || {}); } }, { key: "setFormDictionary", value: function setFormDictionary(dictionary) { this.cache.set('formDictionary', dictionary); } }, { key: "getFormDictionary", value: function getFormDictionary() { return this.cache.get('formDictionary') || {}; } }, { key: "setInitialFormOptions", value: function setInitialFormOptions(options) { this.cache.set('initialFormOptions', main_core.Runtime.clone(options)); } }, { key: "getInitialFormOptions", value: function getInitialFormOptions() { return this.cache.get('initialFormOptions'); } // eslint-disable-next-line }, { key: "getCrmForm", value: function getCrmForm() { var _this11 = this; var formApp = main_core.Reflection.getClass('b24form.App'); if (formApp) { if (this.getCurrentFormInstanceId()) { return formApp.get(this.getCurrentFormInstanceId()); } var tmpIndex = -1; var currentFormIndex = babelHelpers.toConsumableArray(this.getCurrentBlock().node.parentElement.childNodes).reduce(function (acc, item) { if (main_core.Dom.attr(item, 'data-subtype') === 'form') { tmpIndex += 1; if (item === _this11.getCurrentBlock().node) { return tmpIndex; } } return acc; }, 0); return formApp.list()[currentFormIndex]; } return null; } }, { key: "onChange", value: function onChange(event) { var _this12 = this; var eventData = event.getData(); var eventTargetValue = event.getTarget().getValue(); Promise.resolve(eventTargetValue).then(function (value) { if (eventData.skipPrepare) { var formOptions = _this12.getFormOptions(); if (Reflect.has(value, 'presetFields') || Reflect.has(value, 'document') || Reflect.has(value, 'result')) { var additionalValue = {}; if (Reflect.has(value, 'document')) { additionalValue.payment = value.document.payment; delete value.document.payment; } return babelHelpers.objectSpread({}, formOptions, value, additionalValue); } if (Reflect.has(value, 'embedding') || Reflect.has(value, 'callback') || Reflect.has(value, 'whatsapp') || Reflect.has(value, 'name') && Reflect.has(value, 'data') && Reflect.has(value.data, 'useSign')) { var mergedOptions = main_core.Runtime.merge(formOptions, value); if (Reflect.has(value, 'responsible')) { mergedOptions.responsible.users = value.responsible.users; } return mergedOptions; } if (Reflect.has(value, 'recaptcha')) { var _value$recaptcha = value.recaptcha, _key = _value$recaptcha.key, secret = _value$recaptcha.secret; delete value.recaptcha.key; delete value.recaptcha.secret; var captcha = {}; if (!main_core.Type.isNil(_key)) { captcha.key = _key; } if (!main_core.Type.isNil(secret)) { captcha.secret = secret; } return babelHelpers.objectSpread({}, formOptions, { captcha: babelHelpers.objectSpread({}, formOptions.captcha, captcha), data: babelHelpers.objectSpread({}, formOptions.data, value) }); } return babelHelpers.objectSpread({}, formOptions, { data: babelHelpers.objectSpread({}, formOptions.data, value) }); } return crm_form_client.FormClient.getInstance().prepareOptions(_this12.getFormOptions(), value).then(function (result) { if (value.agreements) { result.data = main_core.Runtime.merge(result.data, value); } if (value.integration) { result.integration = value.integration; } if (value.fields) { result.data.fields = result.data.fields.map(function (field, index) { return main_core.Runtime.merge(field, value.fields[index]); }); } return result; }); }).then(function (result) { BX.Landing.UI.Panel.Top.getInstance().setFormName(result.name); _this12.setFormOptions(result); _this12.getCrmForm().adjust(main_core.Runtime.clone(result.data)); }); } }, { key: "getPersonalizationVariables", value: function getPersonalizationVariables() { var _this13 = this; return this.cache.remember('personalizationVariables', function () { return _this13.getFormDictionary().personalization.list.map(function (item) { return { name: item.name, value: item.id }; }); }); } }, { key: "getDefaultValuesVariables", value: function getDefaultValuesVariables() { var _this14 = this; return this.cache.remember('personalizationVariables', function () { var _this14$getFormDictio = _this14.getFormDictionary(), properties = _this14$getFormDictio.properties; if (main_core.Type.isPlainObject(properties) && main_core.Type.isArrayFilled(properties.list)) { return properties.list.map(function (item) { return { name: item.name, value: item.id }; }); } return []; }); } }, { key: "getContent", value: function getContent(id) { var _this15 = this; var currentButton = this.getSidebarButtons().find(function (button) { return id === button.options.id; }); var extension = currentButton.options.data.extension; var contentExtension = this.cache.remember(extension, function () { var rootWindow = landing_pageobject.PageObject.getRootWindow(); return rootWindow.BX.Runtime.loadExtension(extension).then(function (exports) { return exports.default; }); }); return contentExtension.then(function (ContentWrapperClass) { if (main_core.Type.isFunction(ContentWrapperClass)) { return new ContentWrapperClass({ formOptions: _this15.getFormOptions(), dictionary: _this15.getFormDictionary(), crmFields: _this15.getCrmFields(), companies: _this15.getCrmCompanies(), categories: _this15.getCrmCategories(), agreements: _this15.getAgreements(), isLeadEnabled: _this15.isLeadEnabled(), form: _this15.getCrmForm() }); } return null; }); } }, { key: "onPresetClick", value: function onPresetClick(event) { if (event.getTarget().options.openable) { this.disableTransparentMode(); } var uri = new main_core.Uri(window.top.location.toString()); uri.removeQueryParam('formCreated'); uri.removeQueryParam('preset'); window.top.history.replaceState(null, document.title, uri.toString()); this.applyPreset(event.getTarget()); } }, { key: "getCheckActionConfirm", value: function getCheckActionConfirm() { return this.cache.remember('checkActionConfirm', function () { var rootWindow = landing_pageobject.PageObject.getRootWindow(); return new rootWindow.BX.UI.Dialogs.MessageBox({ buttons: ui_dialogs_messagebox.MessageBoxButtons.OK_CANCEL }); }); } }, { key: "applyPreset", value: function applyPreset(preset) { var _this16 = this; var skipOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var lastPreset = this.getPresets().find(function (currentPreset) { return main_core.Dom.hasClass(currentPreset.getLayout(), 'landing-ui-panel-preset-active'); }); this.getPresets().forEach(function (currentPreset) { currentPreset.deactivate(); }); if (!skipOptions) { var runAction = function () { if (main_core.Type.isArrayFilled(preset.options.actions)) { return Promise.all(preset.options.actions.map(function (action) { if (action.id === 'showTour') { var rootWindow = landing_pageobject.PageObject.getRootWindow(); var guide = new rootWindow.BX.UI.Tour.Guide({ onEvents: false, steps: action.data.steps }); guide.start(); } if (action.id === 'showHelp') { if (window.top.BX.Helper) { window.top.BX.Helper.show(action.data.href); } } if (action.id === 'check') { return crm_form_client.FormClient.getInstance().check({ templateId: preset.options.id }).then(function (result) { if (result.success === false) { var checkActionConfirm = _this16.getCheckActionConfirm(); checkActionConfirm.setTitle(result.message.title); checkActionConfirm.setMessage(result.message.description); checkActionConfirm.setOkCaption(result.message.confirmButton); checkActionConfirm.setCancelCaption(result.message.cancelButton); return new Promise(function (resolve) { checkActionConfirm.setOkCallback(function () { checkActionConfirm.getOkButton().setDisabled(false); checkActionConfirm.getCancelButton().setDisabled(false); checkActionConfirm.close(); resolve(true); }); checkActionConfirm.setCancelCallback(function () { checkActionConfirm.getOkButton().setDisabled(false); checkActionConfirm.getCancelButton().setDisabled(false); checkActionConfirm.close(); resolve(false); }); checkActionConfirm.show(); }); } return Promise.resolve(true); }); } return Promise.resolve(); })); } return Promise.resolve(); }(); if (preset.options.openable) { this.showLoader(); void runAction.then(function (actions) { var actionsResult = function () { if (main_core.Type.isArrayFilled(preset.options.actions)) { return preset.options.actions.reduce(function (acc, item, index) { return babelHelpers.objectSpread({}, acc, babelHelpers.defineProperty({}, item.id, actions[index])); }, {}); } return {}; }(); if (Reflect.has(actionsResult, 'check') && actionsResult.check === true || !Reflect.has(actionsResult, 'check')) { _this16.getPresets().forEach(function (currentPreset) { currentPreset.deactivate(); }); preset.activate(); crm_form_client.FormClient.getInstance().prepareOptions(_this16.getFormOptions(), { templateId: preset.options.id }).then(function (result) { return landing_backend.Backend.getInstance().action('Form::getCrmFields').then(function (crmFields) { _this16.setCrmFields(crmFields); landing_ui_panel_fieldspanel.FieldsPanel.getInstance().setCrmFields(crmFields); return result; }); }).then(function (result) { BX.Landing.UI.Panel.Top.getInstance().setFormName(result.name); _this16.setFormOptions(babelHelpers.objectSpread({}, result, { templateId: preset.options.id })); _this16.getCrmForm().adjust(main_core.Runtime.clone(result.data)); if (_this16.isFormCreated()) { _this16.onPresetFieldClick(); _this16.activatePreset(preset.options.id); } else { babelHelpers.get(babelHelpers.getPrototypeOf(FormSettingsPanel.prototype), "applyPreset", _this16).call(_this16, preset); if (main_core.Type.isArrayFilled(preset.options.expertModeItems)) { main_core.Dom.show(_this16.getExpertSwitcherLayout()); _this16.onExpertModeChange(); } else { main_core.Dom.hide(_this16.getExpertSwitcherLayout()); } } _this16.hideLoader(); }); } else { _this16.hideLoader(); _this16.enableTransparentMode(); if (lastPreset) { lastPreset.activate(); preset.deactivate(); } } }); } } else { if (preset.options.openable) { babelHelpers.get(babelHelpers.getPrototypeOf(FormSettingsPanel.prototype), "applyPreset", this).call(this, preset); if (main_core.Type.isArrayFilled(preset.options.expertModeItems)) { main_core.Dom.show(this.getExpertSwitcherLayout()); this.onExpertModeChange(); } else { main_core.Dom.hide(this.getExpertSwitcherLayout()); } this.hideLoader(); } preset.activate(); } } }, { key: "getFormNode", value: function getFormNode() { var _this17 = this; return this.cache.remember('formNode', function () { return _this17.getCurrentBlock().node.querySelector('[data-b24form-use-style]'); }); } }, { key: "useBlockDesign", value: function useBlockDesign() { var _this18 = this; return this.cache.remember('useBlockDesign', function () { return main_core.Text.toBoolean(main_core.Dom.attr(_this18.getFormNode(), 'data-b24form-use-style')); }); } }, { key: "getCurrentCrmEntityName", value: function getCurrentCrmEntityName() { var scheme = this.getFormOptions().document.scheme; var schemeItem = this.getFormDictionary().document.schemes.find(function (item) { return String(scheme) === String(item.id); }); return schemeItem.name; } }, { key: "getNotSynchronizedFields", value: function getNotSynchronizedFields() { return crm_form_client.FormClient.getInstance().checkFields(this.getFormOptions()).then(function (result) { return result; }); } }, { key: "showSynchronizationPopup", value: function showSynchronizationPopup(notSynchronizedFields) { var _this19 = this; return new Promise(function (resolve) { var onOk = function onOk(messageBox) { messageBox.close(); resolve(true); }; var onCancel = function onCancel(messageBox) { messageBox.close(); resolve(false); }; var messageDescription = function () { var entityName = landing_loc.Loc.getMessage('LANDING_SYNCHRONIZATION_POPUP_ENTITY_TEMPLATE').replace('{entityName}', main_core.Text.encode(_this19.getCurrentCrmEntityName())); return landing_loc.Loc.getMessage('LANDING_SYNCHRONIZATION_POPUP_DESCRIPTION').replace('{entityName}', main_core.Text.encode(entityName)); }(); var messageText = function () { var fields = babelHelpers.toConsumableArray(notSynchronizedFields).map(function (field) { return landing_loc.Loc.getMessage('LANDING_SYNCHRONIZATION_POPUP_FIELD_TEMPLATE').replace('{fieldName}', main_core.Text.encode(field)); }); if (notSynchronizedFields.length > 1) { var lastField = fields.pop(); return landing_loc.Loc.getMessage('LANDING_SYNCHRONIZATION_POPUP_TEXT').replace('{fieldsList}', fields.join(', ')).replace('{lastField}', lastField); } return landing_loc.Loc.getMessage('LANDING_SYNCHRONIZATION_POPUP_TEXT_1').replace('{field}', fields.join(', ')); }(); window.top.BX.UI.Dialogs.MessageBox.confirm("".concat(messageDescription, "<br><br>").concat(messageText), landing_loc.Loc.getMessage('LANDING_SYNCHRONIZATION_POPUP_TITLE'), onOk, landing_loc.Loc.getMessage('LANDING_SYNCHRONIZATION_POPUP_OK_BUTTON_LABEL'), onCancel); }); } }, { key: "showSynchronizationErrorPopup", value: function showSynchronizationErrorPopup(errors) { var message = errors.reduce(function (acc, item) { return "".concat(acc, "\n\n").concat(item); }, ''); window.top.BX.UI.Dialogs.MessageBox.alert(message); } }, { key: "getErrorAlert", value: function getErrorAlert() { return this.cache.remember('errorAlert', function () { var rootWindow = landing_pageobject.PageObject.getRootWindow(); return new rootWindow.BX.UI.Dialogs.MessageBox({ title: landing_loc.Loc.getMessage('LANDING_FORM_SAVE_ERROR_ALERT_TITLE'), buttons: ui_dialogs_messagebox.MessageBoxButtons.OK, popupOptions: { maxHeight: 310 } }); }); } }, { key: "onSaveClick", value: function onSaveClick() { var _this20 = this; var dictionary = this.getFormDictionary(); if (main_core.Type.isPlainObject(dictionary.permissions) && main_core.Type.isPlainObject(dictionary.permissions.form) && dictionary.permissions.form.edit === false) { var rootWindow = landing_pageobject.PageObject.getRootWindow(); rootWindow.BX.UI.Dialogs.MessageBox.alert(landing_loc.Loc.getMessage('LANDING_FORM_SAVE_PERMISSION_DENIED')); return; } main_core.Dom.addClass(this.getSaveButton().layout, 'ui-btn-wait'); this.getNotSynchronizedFields().then(function (result) { if (main_core.Type.isPlainObject(result.sync)) { if (main_core.Type.isArrayFilled(result.sync.errors)) { _this20.showSynchronizationErrorPopup(result.sync.errors); return false; } if (main_core.Type.isArrayFilled(result.sync.fields)) { var fieldLabels = result.sync.fields.map(function (field) { return field.label; }); return _this20.showSynchronizationPopup(fieldLabels); } } return true; }).then(function (isConfirmed) { if (isConfirmed) { var uri = new main_core.Uri(window.top.location.toString()); uri.removeQueryParam('formCreated'); window.top.history.replaceState(null, document.title, uri.toString()); var initialOptions = _this20.getInitialFormOptions(); var currentOptions = _this20.getFormOptions(); var options = function () { if (!_this20.isCrmFormPage()) { var clonedOptions = main_core.Runtime.clone(currentOptions); clonedOptions.data.design = main_core.Runtime.clone(initialOptions.data.design); return clonedOptions; } return currentOptions; }(); if (options.data.recaptcha.use && !_this20.getFormDictionary().captcha.hasKeys && !options.captcha.hasDefaults) { options.data.recaptcha.use = false; var _rootWindow = landing_pageobject.PageObject.getRootWindow(); var alert = new _rootWindow.BX.UI.Dialogs.MessageBox({ title: landing_loc.Loc.getMessage('LANDING_FORM_SAVE_CAPTCHA_ALERT_TITLE'), message: landing_loc.Loc.getMessage('LANDING_FORM_SAVE_CAPTCHA_ALERT_TEXT_2'), buttons: ui_dialogs_messagebox.MessageBoxButtons.OK, onOk: function onOk() { alert.close(); main_core.Dom.removeClass(_this20.getSaveButton().layout, 'ui-btn-wait'); } }); alert.show(); } void crm_form_client.FormClient.getInstance().saveOptions(options).then(function (result) { _this20.setFormOptions(result); _this20.setInitialFormOptions(result); crm_form_client.FormClient.getInstance().resetCache(result.id); main_core.Dom.removeClass(_this20.getSaveButton().layout, 'ui-btn-wait'); var activeButton = _this20.getSidebarButtons().find(function (button) { return button.isActive(); }); if (activeButton && !main_core.Dom.hasClass(_this20.layout, 'landing-ui-panel-mode-transparent')) { activeButton.getLayout().click(); } if (_this20.isCrmFormPage()) { main_core.Dom.addClass(_this20.getSaveButton().layout, 'ui-btn-icon-done'); var currentButtonText = _this20.getSaveButton().layout.innerText; _this20.getSaveButton().setText(landing_loc.Loc.getMessage('LANDING_FORM_EDITOR_SAVE_BUTTON_STATE_SAVED')); setTimeout(function () { main_core.Dom.removeClass(_this20.getSaveButton().layout, 'ui-btn-icon-done'); _this20.getSaveButton().setText(currentButtonText); }, 1500); } else { void _this20.hide(); } }).catch(function (errors) { if (main_core.Type.isArrayFilled(errors)) { var errorMessage = errors.map(function (item) { return main_core.Text.encode(item.message); }).join('<br><br>'); var errorAlert = _this20.getErrorAlert(); errorAlert.setMessage(errorMessage); errorAlert.show(); } else { var _rootWindow2 = landing_pageobject.PageObject.getRootWindow(); _rootWindow2.BX.UI.Dialogs.MessageBox.alert(landing_loc.Loc.getMessage('LANDING_FORM_SAVE_UNKNOWN_ERROR_ALERT_TEXT'), landing_loc.Loc.getMessage('LANDING_FORM_SAVE_ERROR_ALERT_TITLE')); } main_core.Dom.removeClass(_this20.getSaveButton().layout, 'ui-btn-wait'); }); if (_this20.useBlockDesign() && _this20.isCrmFormPage()) { _this20.disableUseBlockDesign(); } } else { main_core.Dom.removeClass(_this20.getSaveButton().layout, 'ui-btn-wait'); } }); } }, { key: "isChanged", value: function isChanged() { return JSON.stringify(this.getFormOptions()) !== JSON.stringify(this.getInitialFormOptions()); } }, { key: "disableUseBlockDesign", value: function disableUseBlockDesign() { main_core.Dom.attr(this.getFormNode(), 'data-b24form-use-style', 'N'); this.cache.set('useBlockDesign', false); landing_backend.Backend.getInstance().action('Landing\\Block::updateNodes', { block: this.getCurrentBlock().id, data: { '.bitrix24forms': { attrs: { 'data-b24form-use-style': 'N' } } }, lid: this.getCurrentBlock().lid, siteId: this.getCurrentBlock().siteId }, { code: this.getCurrentBlock().manifest.code }); } }, { key: "onCancelClick", value: function onCancelClick() { var initialFormOptions = this.getInitialFormOptions(); this.getCrmForm().adjust(initialFormOptions.data); BX.Landing.UI.Panel.Top.getInstance().setFormName(initialFormOptions.name); void this.hide(); } }, { key: "hide", value: function hide() { var editorWindow = landing_pageobject.PageObject.getEditorWindow(); main_core.Dom.removeClass(editorWindow.document.body, 'landing-ui-hide-action-panels-form'); return babelHelpers.get(babelHelpers.getPrototypeOf(FormSettingsPanel.prototype), "hide", this).call(this); } }], [{ key: "sanitize", value: function sanitize(value) { if (main_core.Type.isStringFilled(value)) { return main_core.Text.decode(value).replace(/<style[^>]*>.*<\/style>/gm, '').replace(/<script[^>]*>.*<\/script>/gm, '').replace(/<[^>]+>/gm, ''); } return value; } }]); return FormSettingsPanel; }(landing_ui_panel_basepresetpanel.BasePresetPanel); exports.FormSettingsPanel = FormSettingsPanel; }((this.BX.Landing.UI.Panel = this.BX.Landing.UI.Panel || {}),BX.Landing.UI.Panel,BX.Landing,BX.Landing,BX,BX.Landing,BX,BX.Crm.Form,BX.UI,BX.Landing,BX.Landing.UI.Panel,BX.UI.Dialogs,BX.UI,BX.Landing.UI.Button,BX.UI.Tour,BX.Landing.UI.Panel)); //# sourceMappingURL=formsettingspanel.bundle.js.map