%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 3.145.47.148
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/content/fields-rules/dist/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/landing/ui/panel/formsettingspanel/content/fields-rules/dist/fields-rules.bundle.js.map
{"version":3,"file":"fields-rules.bundle.js","sources":["../src/rule-type.js","../src/internal/field-element/field-element.js","../src/internal/field-value-element/field-value-element.js","../src/internal/type-separator/type-separator.js","../src/internal/rule-entry/rule-entry.js","../src/internal/field-action-panel/field-action-panel.js","../src/internal/rule-group/rule-group.js","../src/fields-rules.js"],"sourcesContent":["export default class RuleType\n{\n\tstatic TYPE_0 = 0;\n\tstatic TYPE_1 = 1;\n\tstatic TYPE_2 = 2;\n}","import {EventEmitter} from 'main.core.events';\nimport {Cache, Tag, Text} from 'main.core';\nimport {IconButton} from 'landing.ui.component.iconbutton';\nimport {fetchEventsFromOptions} from 'landing.ui.component.internal';\nimport type {FormDictionary} from 'crm.form.type';\nimport type {CrmField} from '../../types';\n\nimport './css/style.css';\n\ntype FieldElementOptions = {\n\tid: string,\n\ttitle: string,\n\tremovable?: boolean,\n\tdraggable?: boolean,\n\tactionsLabel?: string,\n\tactionsList?: Array<{name: string, value: any}>,\n\tactionsValue?: any,\n\tonRemove?: () => void,\n\t// eslint-disable-next-line no-use-before-define\n\tcolor?: $Values<typeof FieldElement.Colors>,\n\tdictionary: FormDictionary,\n\tfields: CrmField,\n};\n\nconst defaultOptions = {\n\tremovable: true,\n\tdraggable: false,\n\t// eslint-disable-next-line no-use-before-define\n\tcolor: 'blue',\n};\n\nexport class FieldElement extends EventEmitter\n{\n\tstatic Colors = {\n\t\tblue: 'blue',\n\t\tgreen: 'green',\n\t\tred: 'red',\n\t};\n\n\tconstructor(options: FieldElementOptions)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.RuleField.FieldElement');\n\t\tthis.subscribeFromOptions(fetchEventsFromOptions(options));\n\t\tthis.options = {...defaultOptions, ...options};\n\t\tthis.cache = new Cache.MemoryCache();\n\t}\n\n\tgetDragButtonLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('dragButton', () => {\n\t\t\tconst button = new IconButton({\n\t\t\t\ttype: IconButton.Types.drag,\n\t\t\t\tstyle: {\n\t\t\t\t\twidth: '20px',\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn button.getLayout();\n\t\t});\n\t}\n\n\tgetActionsDropdown(): BX.Landing.UI.Field.DropdownInline\n\t{\n\t\treturn this.cache.remember('actionsDropdown', () => {\n\t\t\tconst field = new window.top.BX.Landing.UI.Field.DropdownInline({\n\t\t\t\ttitle: this.options.actionsLabel,\n\t\t\t\titems: this.options.actionsList,\n\t\t\t\tcontent: this.options.actionsValue,\n\t\t\t});\n\n\t\t\tfield.subscribe('onChange', () => {\n\t\t\t\tthis.emit('onChange');\n\t\t\t});\n\n\t\t\treturn field;\n\t\t});\n\t}\n\n\tgetActionsLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('actionsLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-field-element-text-action\">\n\t\t\t\t\t${this.getActionsDropdown().getLayout()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetTitleLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('titleLayout', () => {\n\t\t\treturn Tag.render`<div class=\"landing-ui-field-element-text-title\">${Text.encode(this.options.title)}</div>`;\n\t\t});\n\t}\n\n\tgetRemoveButtonLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('removeButton', () => {\n\t\t\tconst button = new IconButton({\n\t\t\t\ttype: IconButton.Types.remove,\n\t\t\t\tonClick: () => this.emit('onRemove'),\n\t\t\t\ticonSize: '9px',\n\t\t\t\tstyle: {\n\t\t\t\t\twidth: '20px',\n\t\t\t\t\tmarginLeft: 'auto',\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn button.getLayout();\n\t\t});\n\t}\n\n\tgetLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div\n\t\t\t\t\tclass=\"landing-ui-field-element-${this.options.color}\"\n\t\t\t\t\tdata-field-id=\"${Text.encode(this.options.id)}\"\n\t\t\t\t>\n\t\t\t\t\t${this.options.draggable ? this.getDragButtonLayout() : ''}\n\t\t\t\t\t<div class=\"landing-ui-field-element-text\">\n\t\t\t\t\t\t${this.options.actionsLabel ? this.getActionsLayout() : ''}\n\t\t\t\t\t\t${this.getTitleLayout()}\n\t\t\t\t\t</div>\n\t\t\t\t\t${this.options.removable ? this.getRemoveButtonLayout() : ''}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n}\n","import {EventEmitter} from 'main.core.events';\nimport {Cache, Dom, Tag, Text, Type} from 'main.core';\nimport {IconButton} from 'landing.ui.component.iconbutton';\nimport {Popup, Menu, MenuItem} from 'main.popup';\nimport {PageObject} from 'landing.pageobject';\nimport {Loc} from 'landing.loc';\nimport {TextField} from 'landing.ui.field.textfield';\nimport type {FormDictionary} from 'crm.form.type';\nimport {CrmField} from '../../types';\n\nimport './css/style.css';\n\ntype FieldValueState = {\n\toperation: string,\n\ttarget: string,\n\tvalue: any,\n}\n\ntype FieldValueElementOptions = {\n\tremovable: boolean,\n\tdictionary: FormDictionary,\n\tfields: Array<any>,\n\tdata: FieldValueState,\n};\n\nexport default class FieldValueElement extends EventEmitter\n{\n\toptions: FieldValueElementOptions;\n\tcache = new Cache.MemoryCache();\n\tstate: FieldValueState;\n\n\tconstructor(options: FieldValueElementOptions)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Panel.FormSettingsPanel.ValueElement');\n\t\tthis.options = {...options};\n\t\tthis.state = {...this.options.data};\n\t}\n\n\tgetOperatorLabelLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('operatorLabelLayout', () => {\n\t\t\tconst text = this.getOperatorLabelText(this.options.data.operation);\n\t\t\treturn Tag.render`\n\t\t\t\t<div\n\t\t\t\t\tclass=\"landing-ui-rule-value-operator-label\"\n\t\t\t\t\tonclick=\"${this.onOperatorLabelClick.bind(this)}\"\n\t\t\t\t>${text}</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tonOperatorLabelClick(event: MouseEvent)\n\t{\n\t\tevent.preventDefault();\n\t\tthis.getOperatorSettingsPopup().show();\n\t}\n\n\tgetTargetContainer()\n\t{\n\t\treturn this.cache.remember('targetContainer', () => {\n\t\t\treturn this.getLayout().closest('.landing-ui-panel-content-body-content') || this.getLayout();\n\t\t});\n\t}\n\n\tgetOperatorSettingsPopup()\n\t{\n\t\treturn this.cache.remember('operatorSettingsPopup', () => {\n\t\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t\treturn new rootWindow.BX.Main.Popup({\n\t\t\t\tbindElement: this.getLayout(),\n\t\t\t\ttargetContainer: this.getTargetContainer(),\n\t\t\t\tcontent: this.getOperatorField().getLayout(),\n\t\t\t\tautoHide: true,\n\t\t\t\tminWidth: 160,\n\t\t\t\toffsetLeft: 20,\n\t\t\t\toffsetTop: 3,\n\t\t\t\tbindOptions: {\n\t\t\t\t\tposition: 'bottom',\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tgetValueLabelLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('valueLabelLayout', () => {\n\t\t\tconst text = this.getValueLabelText(this.options.data.value);\n\t\t\tconst layout = Tag.render`\n\t\t\t\t<div\n\t\t\t\t\tclass=\"landing-ui-rule-value-value-label\"\n\t\t\t\t\tonclick=\"${this.onValueLabelClick.bind(this)}\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"landing-ui-rule-value-value-label-inner\">${Text.encode(text)}</span>\n\t\t\t\t</div>\n\t\t\t`;\n\n\t\t\tif (\n\t\t\t\tthis.options.data.operation === 'any'\n\t\t\t\t|| this.options.data.operation === 'empty'\n\t\t\t)\n\t\t\t{\n\t\t\t\tDom.hide(layout);\n\t\t\t}\n\n\t\t\treturn layout;\n\t\t});\n\t}\n\n\tsetValueLabelText(text: string)\n\t{\n\t\tthis.getValueLabelLayout().firstElementChild.textContent = text;\n\t}\n\n\tonValueLabelClick(event: MouseEvent)\n\t{\n\t\tevent.preventDefault();\n\t\tthis.getValueSettingsPopup().show();\n\t}\n\n\tgetValueSettingsPopup(): Popup\n\t{\n\t\treturn this.cache.remember('valueSettingsPopup', () => {\n\t\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t\tconst popupContent = Tag.render`<div class=\"value-settings-popup\"></div>`;\n\t\t\tconst random = Text.getRandom();\n\t\t\tconst targetField = this.getTargetField();\n\n\t\t\tif (\n\t\t\t\ttargetField.type === 'list'\n\t\t\t\t|| targetField.type === 'product'\n\t\t\t\t|| targetField.type === 'checkbox'\n\t\t\t\t|| targetField.type === 'radio'\n\t\t\t\t|| targetField.type === 'bool'\n\t\t\t)\n\t\t\t{\n\t\t\t\tconst valueItems = (() => {\n\t\t\t\t\tif (targetField.type === 'bool')\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t{label: Loc.getMessage('LANDING_RULE_FIELD_CONDITION_VALUE_YES'), value: 'Y'},\n\t\t\t\t\t\t\t{label: Loc.getMessage('LANDING_RULE_FIELD_CONDITION_VALUE_NO'), value: 'N'},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn targetField.items;\n\t\t\t\t})();\n\n\t\t\t\tvalueItems.forEach((item) => {\n\t\t\t\t\tconst checked = String(targetField.value) === String(item.value);\n\t\t\t\t\tDom.append(\n\t\t\t\t\t\tDom.append(\n\t\t\t\t\t\t\tthis.renderValueRadioButton({...item, id: random, checked}),\n\t\t\t\t\t\t\tpopupContent,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpopupContent,\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconst value = (() => {\n\t\t\t\t\tif (Type.isStringFilled(this.options.data.value))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn this.getValueLabelText(this.options.data.value);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn '';\n\t\t\t\t})();\n\t\t\t\tconst inputField = new TextField({\n\t\t\t\t\ttextOnly: true,\n\t\t\t\t\tonValueChange: () => {\n\t\t\t\t\t\tconst conditionValue = (\n\t\t\t\t\t\t\tinputField.getValue()\n\t\t\t\t\t\t\t|| Loc.getMessage('LANDING_RULE_CONDITION_VALUE_EMPTY')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.setValueLabelText(conditionValue);\n\t\t\t\t\t\tthis.state.value = inputField.getValue();\n\t\t\t\t\t\tthis.emit('onChange');\n\t\t\t\t\t},\n\t\t\t\t\tcontent: value,\n\t\t\t\t});\n\n\t\t\t\tDom.append(inputField.getLayout(), popupContent);\n\t\t\t}\n\n\t\t\treturn new rootWindow.BX.Main.Popup({\n\t\t\t\tbindElement: this.getLayout(),\n\t\t\t\ttargetContainer: this.getTargetContainer(),\n\t\t\t\tcontent: popupContent,\n\t\t\t\twidth: 228,\n\t\t\t\tautoHide: true,\n\t\t\t\tmaxHeight: 200,\n\t\t\t\toffsetLeft: 20,\n\t\t\t\toffsetTop: 3,\n\t\t\t\tevents: {\n\t\t\t\t\tonShow: () => {\n\t\t\t\t\t\tDom.addClass(\n\t\t\t\t\t\t\tthis.getLayout(),\n\t\t\t\t\t\t\t'landing-ui-rule-value-active',\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t\tonClose: () => {\n\t\t\t\t\t\tDom.removeClass(\n\t\t\t\t\t\t\tthis.getLayout(),\n\t\t\t\t\t\t\t'landing-ui-rule-value-active',\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\trenderValueRadioButton({label, value, id, checked}): HTMLDivElement\n\t{\n\t\tconst onChange = () => {\n\t\t\tthis.setValueLabelText(label);\n\t\t\tthis.state.value = value;\n\n\t\t\tthis.emit('onChange');\n\t\t};\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"value-settings-item value-settings-item-value\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\tid=\"value_${id}_${value}\"\n\t\t\t\t\tname=\"value_${id}_${this.options.data.target}\"\n\t\t\t\t\tonchange=\"${onChange}\"\n\t\t\t\t\t${checked ? 'checked' : ''}\n\t\t\t\t>\n\t\t\t\t<label for=\"value_${id}_${value}\">${Text.encode(label)}</label>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetOperatorField(): BX.Landing.UI.Field.Dropdown\n\t{\n\t\treturn this.cache.remember('operatorField', () => {\n\t\t\tconst {condition} = this.options.dictionary.deps;\n\t\t\tconst targetField = this.getTargetField();\n\t\t\treturn new BX.Landing.UI.Field.Radio({\n\t\t\t\tselector: 'operation',\n\t\t\t\tvalue: [this.state.operation],\n\t\t\t\titems: condition.operations\n\t\t\t\t\t.filter((item) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t!Type.isArrayFilled(item.fieldTypes)\n\t\t\t\t\t\t\t\t|| item.fieldTypes.includes(targetField.type)\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!Type.isArrayFilled(item.excludeFieldTypes)\n\t\t\t\t\t\t\t\t|| (\n\t\t\t\t\t\t\t\t\tType.isArrayFilled(item.excludeFieldTypes)\n\t\t\t\t\t\t\t\t\t&& !item.excludeFieldTypes.includes(targetField.type)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t})\n\t\t\t\t\t.map((item) => {\n\t\t\t\t\t\treturn {name: item.name, value: item.id};\n\t\t\t\t\t}),\n\t\t\t\tonChange: this.onOperationChange.bind(this),\n\t\t\t});\n\t\t});\n\t}\n\n\tsetOperationLabelText(text: string)\n\t{\n\t\tthis.getOperatorLabelLayout().textContent = text;\n\t}\n\n\tonOperationChange()\n\t{\n\t\tconst operatorField = this.getOperatorField();\n\t\tconst [value] = operatorField.getValue();\n\n\t\tif (\n\t\t\tvalue === 'empty'\n\t\t\t|| value === 'any'\n\t\t)\n\t\t{\n\t\t\tDom.hide(this.getValueLabelLayout());\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.show(this.getValueLabelLayout());\n\t\t}\n\n\t\tthis.setOperationLabelText(this.getOperatorLabelText(value));\n\t\tthis.state.operation = value;\n\t\tthis.emit('onChange');\n\t}\n\n\tgetRemoveButton()\n\t{\n\t\treturn this.cache.remember('removeButton', () => {\n\t\t\treturn new IconButton({\n\t\t\t\ttype: IconButton.Types.remove,\n\t\t\t\ticonSize: '9px',\n\t\t\t\tstyle: {\n\t\t\t\t\twidth: '19px',\n\t\t\t\t\tmarginLeft: 'auto',\n\t\t\t\t},\n\t\t\t\tonClick: () => {\n\t\t\t\t\tthis.emit('onRemove');\n\t\t\t\t\tthis.emit('onChange');\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tgetLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div\n\t\t\t\t\tclass=\"landing-ui-rule-value\"\n\t\t\t\t\tdata-target=\"${Text.encode(this.options.data.target)}\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"landing-ui-rule-value-text\">\n\t\t\t\t\t\t${this.getOperatorLabelLayout()}\n\t\t\t\t\t\t${this.getValueLabelLayout()}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"landing-ui-rule-value-actions\">\n\t\t\t\t\t\t${this.options.removable ? this.getRemoveButton().getLayout() : ''}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"landing-ui-rule-decoration\">\n\t\t\t\t\t\t<div class=\"landing-ui-rule-decoration-v-line\"></div>\n\t\t\t\t\t\t<div class=\"landing-ui-rule-decoration-h-line\"></div>\n\t\t\t\t\t\t<div class=\"landing-ui-rule-decoration-arrow\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetOperatorLabelText(operatorValue: string): string\n\t{\n\t\treturn this.options.dictionary.deps.condition.operations.reduce((acc, item) => {\n\t\t\tif (item.id === operatorValue)\n\t\t\t{\n\t\t\t\treturn item.name;\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t}, this.options.dictionary.deps.condition.operations[0].name);\n\t}\n\n\tgetTargetField(): CrmField\n\t{\n\t\treturn this.cache.remember('targetField', () => {\n\t\t\treturn this.options.fields.find((field) => {\n\t\t\t\treturn String(field.id) === String(this.options.data.target);\n\t\t\t});\n\t\t});\n\t}\n\n\tgetValueLabelText(value: string): string\n\t{\n\t\tconst targetField = this.getTargetField();\n\t\tif (Type.isPlainObject(targetField))\n\t\t{\n\t\t\tif (Type.isArrayFilled(targetField.items))\n\t\t\t{\n\t\t\t\tconst item = targetField.items.find((currentItem) => {\n\t\t\t\t\treturn String(currentItem.value) === String(value);\n\t\t\t\t});\n\n\t\t\t\tif (Type.isPlainObject(item))\n\t\t\t\t{\n\t\t\t\t\treturn item.label;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Type.isStringFilled(value))\n\t\t\t{\n\t\t\t\tif (value === 'Y')\n\t\t\t\t{\n\t\t\t\t\treturn Loc.getMessage('LANDING_RULE_CONDITION_VALUE_YES');\n\t\t\t\t}\n\n\t\t\t\tif (value === 'N')\n\t\t\t\t{\n\t\t\t\t\treturn Loc.getMessage('LANDING_RULE_CONDITION_VALUE_NO');\n\t\t\t\t}\n\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\n\t\treturn Loc.getMessage('LANDING_RULE_CONDITION_VALUE_EMPTY');\n\t}\n\n\tgetValue(): FieldValueState\n\t{\n\t\treturn {...this.state};\n\t}\n}\n","import {Cache, Tag} from 'main.core';\nimport {Loc} from 'landing.loc';\n\nimport './css/style.css';\n\ntype TypeSeparatorOptions = {\n\ttypeId: number,\n};\n\nexport default class TypeSeparator\n{\n\tcache = new Cache.MemoryCache();\n\n\tconstructor(options: TypeSeparatorOptions)\n\t{\n\t\tthis.options = {...options};\n\t}\n\n\tgetLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-rule-entry-type-separator\">\n\t\t\t\t\t<div class=\"landing-ui-rule-entry-type-separator-inner\">\n\t\t\t\t\t\t${this.getSeparatorLabel()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetSeparatorLabel(): string\n\t{\n\t\tif (String(this.options.typeId) === String(2))\n\t\t{\n\t\t\treturn Loc.getMessage('LANDING_RULE_TYPE_SEPARATOR_TYPE_2');\n\t\t}\n\n\t\treturn Loc.getMessage('LANDING_RULE_TYPE_SEPARATOR_TYPE_1');\n\t}\n}","import {BaseEvent, EventEmitter} from 'main.core.events';\nimport {Cache, Dom, Tag, Type} from 'main.core';\nimport {Loc} from 'landing.loc';\nimport {ActionPanel} from 'landing.ui.component.actionpanel';\nimport {FieldElement} from '../field-element/field-element';\nimport FieldValueElement from '../field-value-element/field-value-element';\nimport TypeSeparator from '../type-separator/type-separator';\n\nimport './css/style.css';\n\ntype RuleEntryOptions = {\n\tenableHeader?: boolean,\n\ttypeId: number,\n\tfields: Array<any>,\n\tconditions: Array<FieldElement>,\n\texpressions: Array<FieldElement>,\n};\n\nexport default class RuleEntry extends EventEmitter\n{\n\toptions: RuleEntryOptions;\n\tconditions: Array<FieldElement | FieldValueElement> = [];\n\texpressions: Array<FieldElement> = [];\n\n\tconstructor(options: RuleEntryOptions) {\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Panel.FormSettingsPanel.RuleEntry');\n\n\t\tthis.options = {enableHeader: true, expressions: [], ...options};\n\t\tthis.cache = new Cache.MemoryCache();\n\n\t\tthis.onConditionFieldValueRemove = this.onConditionFieldValueRemove.bind(this);\n\t\tthis.onConditionFieldRemove = this.onConditionFieldRemove.bind(this);\n\n\t\tif (Type.isArrayFilled(this.options.conditions))\n\t\t{\n\t\t\tthis.options.conditions.forEach((item) => {\n\t\t\t\tthis.addCondition(item);\n\t\t\t});\n\n\t\t\tthis.options.expressions.forEach((item) => {\n\t\t\t\tthis.addExpression(item);\n\t\t\t});\n\t\t}\n\t}\n\n\tgetConditionsLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('conditionsLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-rule-entry-conditions\"></div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetExpressionsLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('expressionsLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-rule-entry-expressions\">\n\t\t\t\t\t${this.getAddExpresionFieldLinkLayout()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetHeaderLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('headerLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-rule-entry-header\">${Loc.getMessage('LANDING_RULE_ENTRY_HEADER')}</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-rule-entry\">\n\t\t\t\t\t${this.options.enableHeader ? this.getHeaderLayout() : ''}\n\t\t\t\t\t<div class=\"landing-ui-rule-entry-body\">\n\t\t\t\t\t\t${this.getConditionsLayout()}\n\t\t\t\t\t\t${this.getExpressionsLayout()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tonConditionFieldRemove(event: BaseEvent)\n\t{\n\t\tconst target: FieldElement = event.getTarget();\n\t\tconst targetLayout = target.getLayout();\n\n\t\tthis.conditions = this.conditions.filter((item) => {\n\t\t\treturn item !== target;\n\t\t});\n\n\t\tlet nextNode = targetLayout.nextElementSibling;\n\t\twhile (\n\t\t\tType.isDomNode(nextNode)\n\t\t\t&& !nextNode.matches('[class*=\"landing-ui-field-element\"]')\n\t\t)\n\t\t{\n\t\t\tthis.conditions = this.conditions.filter((item) => {\n\t\t\t\treturn item.getLayout() !== nextNode;\n\t\t\t});\n\n\t\t\tDom.remove(nextNode);\n\t\t\tnextNode = targetLayout.nextElementSibling;\n\t\t}\n\n\t\tif (!Type.isDomNode(nextNode))\n\t\t{\n\t\t\tconst prevNode = targetLayout.previousElementSibling;\n\t\t\tif (\n\t\t\t\tType.isDomNode(prevNode)\n\t\t\t\t&& Dom.hasClass(prevNode, 'landing-ui-rule-entry-type-separator')\n\t\t\t)\n\t\t\t{\n\t\t\t\tDom.remove(prevNode);\n\t\t\t}\n\t\t}\n\n\t\tDom.remove(targetLayout);\n\n\t\tthis.emit('onChange');\n\t}\n\n\tonConditionFieldValueRemove(event: BaseEvent)\n\t{\n\t\tconst target: FieldValueElement = event.getTarget();\n\t\tconst targetLayout = target.getLayout();\n\n\t\tthis.conditions = this.conditions.filter((item) => {\n\t\t\treturn item !== target;\n\t\t});\n\n\t\tif (Dom.hasClass(targetLayout.nextElementSibling, 'landing-ui-rule-entry-type-separator'))\n\t\t{\n\t\t\tDom.remove(targetLayout.nextElementSibling);\n\t\t}\n\t\telse if (Dom.hasClass(targetLayout.previousElementSibling, 'landing-ui-rule-entry-type-separator'))\n\t\t{\n\t\t\tDom.remove(targetLayout.previousElementSibling);\n\t\t}\n\n\t\tDom.remove(targetLayout);\n\t}\n\n\taddCondition(element: FieldValueElement)\n\t{\n\t\tif (!this.conditions.includes(element))\n\t\t{\n\t\t\tthis.conditions.push(element);\n\n\t\t\tif (element instanceof FieldValueElement)\n\t\t\t{\n\t\t\t\telement.subscribe('onRemove', this.onConditionFieldValueRemove);\n\t\t\t\telement.subscribe('onChange', () => this.emit('onChange'));\n\n\t\t\t\tconst conditionsNodes = [...this.getConditionsLayout().childNodes];\n\t\t\t\tconst lastElement = conditionsNodes.reduce((acc, node) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\tDom.hasClass(node, 'landing-ui-rule-value')\n\t\t\t\t\t\t\t&& String(Dom.attr(node, 'data-target')) === String(element.options.data.target)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t|| (\n\t\t\t\t\t\t\tnode.matches('[class*=\"landing-ui-field-element\"]')\n\t\t\t\t\t\t\t&& String(Dom.attr(node, 'data-field-id')) === String(element.options.data.target)\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\treturn node;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn acc;\n\t\t\t\t}, null);\n\n\t\t\t\tif (Type.isDomNode(lastElement))\n\t\t\t\t{\n\t\t\t\t\tDom.insertAfter(element.getLayout(), lastElement);\n\n\t\t\t\t\tif (Dom.hasClass(lastElement, 'landing-ui-rule-value'))\n\t\t\t\t\t{\n\t\t\t\t\t\tconst separator = new TypeSeparator({\n\t\t\t\t\t\t\ttypeId: this.options.typeId,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tDom.insertBefore(separator.getLayout(), element.getLayout());\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (element instanceof FieldElement)\n\t\t\t{\n\t\t\t\telement.subscribe('onRemove', this.onConditionFieldRemove);\n\t\t\t\telement.subscribe('onChange', () => this.emit('onChange'));\n\n\t\t\t\tif ([...this.getConditionsLayout().childNodes].length > 0)\n\t\t\t\t{\n\t\t\t\t\tconst separator = new TypeSeparator({\n\t\t\t\t\t\ttypeId: this.options.typeId,\n\t\t\t\t\t});\n\n\t\t\t\t\tDom.append(separator.getLayout(), this.getConditionsLayout());\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tDom.append(\n\t\t\t\telement.getLayout(),\n\t\t\t\tthis.getConditionsLayout(),\n\t\t\t);\n\n\t\t\tthis.emit('onChange');\n\t\t}\n\t}\n\n\tgetExpressionActionPanel(): ActionPanel\n\t{\n\t\treturn this.cache.remember('expressionActionPanel', () => {\n\t\t\treturn new ActionPanel({\n\t\t\t\tleft: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'addField',\n\t\t\t\t\t\ttext: Loc.getMessage('LANDING_RULE_ENTRY_ADD_FIELD_LABEL'),\n\t\t\t\t\t\tonClick: this.onAddExpressionFieldClick.bind(this),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t});\n\t}\n\n\tonAddExpressionFieldClick(event: MouseEvent)\n\t{\n\t\tevent.preventDefault();\n\n\t\tconst menu = this.getFieldsListMenu();\n\t\tmenu.getMenuItems().forEach((item) => {\n\t\t\tconst isUsed = this.expressions.some((expressionItem) => {\n\t\t\t\treturn String(expressionItem.options.id) === String(item.getId());\n\t\t\t});\n\n\t\t\tif (isUsed)\n\t\t\t{\n\t\t\t\tDom.addClass(item.getLayout().item, 'landing-ui-disabled');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.removeClass(item.getLayout().item, 'landing-ui-disabled');\n\t\t\t}\n\t\t});\n\n\t\tthis.getFieldsListMenu().show();\n\t}\n\n\tgetExpressionAllowedFieldsList(): Array<any>\n\t{\n\t\tconst disallowedTypes = ['page', 'layout'];\n\t\treturn this.options.fields.filter((field) => {\n\t\t\tif (!disallowedTypes.includes(field.type))\n\t\t\t{\n\t\t\t\treturn !this.conditions.find((condition) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tType.isPlainObject(condition.options)\n\t\t\t\t\t\t&& (\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tType.isPlainObject(condition.options.data)\n\t\t\t\t\t\t\t\t&& String(condition.options.data.target) === String(field.id)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t|| String(condition.options.id) === String(field.id)\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn true;\n\t\t});\n\t}\n\n\tgetFieldsListMenu()\n\t{\n\t\treturn this.cache.remember('fieldsListMenu', () => {\n\t\t\treturn new window.top.BX.Main.Menu({\n\t\t\t\tbindElement: this.getExpressionActionPanel().getLayout(),\n\t\t\t\tmaxHeight: 205,\n\t\t\t\titems: this.getExpressionAllowedFieldsList()\n\t\t\t\t\t.map((item) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\ttext: item.label,\n\t\t\t\t\t\t\tonclick: this.onAddExpressionField.bind(this, item),\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t});\n\t\t});\n\t}\n\n\tgetAddExpresionFieldLinkLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('addExpressionFieldLinkLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-rule-entry-add-expression-field-link\">\n\t\t\t\t\t<div class=\"landing-ui-rule-entry-add-expression-field-link-action-panel\">\n\t\t\t\t\t\t${this.getExpressionActionPanel().getLayout()}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"landing-ui-rule-entry-add-expression-field-link-separator\"></div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tonAddExpressionField(field)\n\t{\n\t\tconst element = new FieldElement({\n\t\t\tid: field.id,\n\t\t\ttitle: field.label,\n\t\t\tremovable: true,\n\t\t\tcolor: FieldElement.Colors.green,\n\t\t\tactionsLabel: Loc.getMessage('LANDING_RULE_EXPRESSION_FIELD_ACTION_LABEL'),\n\t\t\tactionsList: [\n\t\t\t\t{name: Loc.getMessage('LANDING_RULE_EXPRESSION_FIELD_ACTION_SHOW_LABEL'), value: 'show'},\n\t\t\t\t{name: Loc.getMessage('LANDING_RULE_EXPRESSION_FIELD_ACTION_HIDE_LABEL'), value: 'hide'},\n\t\t\t],\n\t\t\tactionsValue: 'show',\n\t\t});\n\n\t\tthis.addExpression(element);\n\n\t\tthis.getFieldsListMenu().close();\n\n\t\tthis.emit('onChange');\n\t}\n\n\tonExpressionFieldRemove(event: BaseEvent)\n\t{\n\t\tconst target = event.getTarget();\n\n\t\tDom.remove(target.getLayout());\n\n\t\tthis.expressions = this.expressions.filter((field) => {\n\t\t\treturn String(field.options.id) !== String(target.options.id);\n\t\t});\n\n\t\tthis.adjustExpressionFieldsZIndexes();\n\n\t\tthis.emit('onChange');\n\t}\n\n\tonExpressionFieldChange()\n\t{\n\t\tthis.emit('onChange');\n\t}\n\n\tadjustExpressionFieldsZIndexes()\n\t{\n\t\t[...this.getExpressionsLayout().children]\n\t\t\t.reverse()\n\t\t\t.forEach((node, index) => {\n\t\t\t\tif (node.matches('[class*=\"landing-ui-field-element\"]'))\n\t\t\t\t{\n\t\t\t\t\tDom.style(node, 'z-index', index + 2);\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\taddExpression(element: FieldElement)\n\t{\n\t\tif (!this.expressions.includes(element))\n\t\t{\n\t\t\tthis.expressions.push(element);\n\n\t\t\telement.subscribe('onRemove', this.onExpressionFieldRemove.bind(this));\n\t\t\telement.subscribe('onChange', this.onExpressionFieldChange.bind(this));\n\n\t\t\t// @todo: refactoring\n\t\t\tvoid this.getLayout();\n\n\t\t\tDom.insertBefore(element.getLayout(), this.getAddExpresionFieldLinkLayout());\n\n\t\t\tthis.adjustExpressionFieldsZIndexes();\n\t\t}\n\t}\n\n\tgetValue()\n\t{\n\t\treturn this.conditions\n\t\t\t.filter((item) => item instanceof FieldValueElement)\n\t\t\t.reduce((acc, conditionsItem: FieldValueElement) => {\n\t\t\t\treturn [\n\t\t\t\t\t...acc,\n\t\t\t\t\t...this.expressions.map((expressionItem) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t...conditionsItem.getValue(),\n\t\t\t\t\t\t\t\tevent: 'change',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\ttarget: expressionItem.options.id,\n\t\t\t\t\t\t\t\ttype: expressionItem.getActionsDropdown().getValue(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t\t];\n\t\t\t}, []);\n\t}\n}\n","import {EventEmitter} from 'main.core.events';\nimport {Cache, Tag, Type, Dom} from 'main.core';\nimport {fetchEventsFromOptions} from 'landing.ui.component.internal';\nimport {ActionPanel} from 'landing.ui.component.actionpanel';\nimport {Loc} from 'landing.loc';\n\nimport './css/style.css';\n\nexport default class FieldActionPanel extends EventEmitter\n{\n\tcache = new Cache.MemoryCache();\n\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.FormSettingsPanel.FieldRules.FieldActionPanel');\n\t\tthis.subscribeFromOptions(fetchEventsFromOptions(options));\n\n\t\tif (Type.isPlainObject(options.style))\n\t\t{\n\t\t\tDom.style(this.getLayout(), options.style);\n\t\t}\n\t}\n\n\tgetLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-rule-field-action-panel\">\n\t\t\t\t\t${this.getActionPanel().getLayout()}\n\t\t\t\t\t<div class=\"landing-ui-rule-field-action-panel-decoration\">\n\t\t\t\t\t\t<div class=\"landing-ui-rule-field-action-panel-decoration-v-line\"></div>\n\t\t\t\t\t\t<div class=\"landing-ui-rule-field-action-panel-decoration-h-line\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetActionPanel(): ActionPanel\n\t{\n\t\treturn this.cache.remember('actionPanel', () => {\n\t\t\treturn new ActionPanel({\n\t\t\t\tleft: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'addCondition',\n\t\t\t\t\t\ttext: Loc.getMessage('LANDING_RULE_GROUP_ADD_FIELD_CONDITION'),\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tthis.emit('onAddCondition');\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t});\n\t}\n}\n","import {Dom, Tag, Text, Type} from 'main.core';\nimport {BaseEvent} from 'main.core.events';\nimport {BaseField} from 'landing.ui.field.basefield';\nimport {Loc} from 'landing.loc';\nimport {IconButton} from 'landing.ui.component.iconbutton';\nimport {ActionPanel} from 'landing.ui.component.actionpanel';\nimport {fetchEventsFromOptions} from 'landing.ui.component.internal';\nimport type {RuleGroupOptions} from '../../types';\nimport RuleEntry from '../rule-entry/rule-entry';\nimport RuleType from '../../rule-type';\nimport {FieldElement} from '../field-element/field-element';\nimport FieldValueElement from '../field-value-element/field-value-element';\nimport FieldActionPanel from '../field-action-panel/field-action-panel';\n\nimport './css/style.css';\n\nexport default class RuleGroup extends BaseField\n{\n\toptions: RuleGroupOptions;\n\n\tconstructor(options: RuleGroupOptions)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Panel.FormSettingsPanel.Content.FieldRules.RuleGroup');\n\t\tthis.subscribeFromOptions(fetchEventsFromOptions(options));\n\t\tthis.setLayoutClass('landing-ui-rule-group');\n\n\t\tconst layout = this.getLayout();\n\t\tDom.clean(layout);\n\t\tDom.append(this.getHeaderLayout(), layout);\n\t\tDom.append(this.getBodyLayout(), layout);\n\t\tDom.append(this.getFooterLayout(), layout);\n\n\t\tif (Type.isArrayFilled(this.options.data.list))\n\t\t{\n\t\t\tconst filteredDataList = this.options.data.list.filter((item) => {\n\t\t\t\tconst conditionTarget = this.getField(item.condition.target);\n\t\t\t\tconst actionTarget = this.getField(item.action.target);\n\t\t\t\treturn conditionTarget && actionTarget;\n\t\t\t});\n\n\t\t\tif (this.getTypeId() === RuleType.TYPE_0)\n\t\t\t{\n\t\t\t\tconst groupedList = filteredDataList.reduce((acc, item) => {\n\t\t\t\t\tconst {target, operation, value} = item.condition;\n\t\t\t\t\tif (!Type.isArray(acc[`${target}${operation}${value}`]))\n\t\t\t\t\t{\n\t\t\t\t\t\tacc[`${target}${operation}${value}`] = [];\n\t\t\t\t\t}\n\n\t\t\t\t\tacc[`${target}${operation}${value}`].push(item);\n\n\t\t\t\t\treturn acc;\n\t\t\t\t}, {});\n\n\t\t\t\tObject.values(groupedList).forEach((group, index) => {\n\t\t\t\t\tconst [firstItem] = group;\n\t\t\t\t\tif (Type.isPlainObject(firstItem))\n\t\t\t\t\t{\n\t\t\t\t\t\tconst targetField = this.getField(firstItem.condition.target);\n\t\t\t\t\t\tconst entry = new RuleEntry({\n\t\t\t\t\t\t\tenableHeader: index === 0,\n\t\t\t\t\t\t\ttypeId: this.getTypeId(),\n\t\t\t\t\t\t\tfields: this.options.fields,\n\t\t\t\t\t\t\tonChange: () => this.emit('onChange'),\n\t\t\t\t\t\t\tconditions: [\n\t\t\t\t\t\t\t\tnew FieldElement({\n\t\t\t\t\t\t\t\t\tdictionary: this.options.dictionary,\n\t\t\t\t\t\t\t\t\tfields: this.options.fields,\n\t\t\t\t\t\t\t\t\tid: targetField.id,\n\t\t\t\t\t\t\t\t\ttitle: targetField.label,\n\t\t\t\t\t\t\t\t\tcolor: FieldElement.Colors.blue,\n\t\t\t\t\t\t\t\t\tonRemove: () => {\n\t\t\t\t\t\t\t\t\t\tthis.onConditionFieldRemove(entry);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tnew FieldValueElement({\n\t\t\t\t\t\t\t\t\tdictionary: this.options.dictionary,\n\t\t\t\t\t\t\t\t\tfields: this.options.fields,\n\t\t\t\t\t\t\t\t\tremovable: false,\n\t\t\t\t\t\t\t\t\tdata: group[0].condition,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\texpressions: group.map((groupItem) => {\n\t\t\t\t\t\t\t\tconst targetField = this.getField(groupItem.action.target);\n\t\t\t\t\t\t\t\treturn new FieldElement({\n\t\t\t\t\t\t\t\t\tid: targetField.id,\n\t\t\t\t\t\t\t\t\ttitle: targetField.label,\n\t\t\t\t\t\t\t\t\tremovable: true,\n\t\t\t\t\t\t\t\t\tcolor: FieldElement.Colors.green,\n\t\t\t\t\t\t\t\t\tactionsLabel: Loc.getMessage('LANDING_RULE_EXPRESSION_FIELD_ACTION_LABEL'),\n\t\t\t\t\t\t\t\t\tactionsList: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tname: Loc.getMessage('LANDING_RULE_EXPRESSION_FIELD_ACTION_SHOW_LABEL'),\n\t\t\t\t\t\t\t\t\t\t\tvalue: 'show',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tname: Loc.getMessage('LANDING_RULE_EXPRESSION_FIELD_ACTION_HIDE_LABEL'),\n\t\t\t\t\t\t\t\t\t\t\tvalue: 'hide',\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\tactionsValue: groupItem.action.type,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tthis.addEntry(entry);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tthis.getTypeId() === RuleType.TYPE_1\n\t\t\t\t|| this.getTypeId() === RuleType.TYPE_2\n\t\t\t)\n\t\t\t{\n\t\t\t\tconst entry = new RuleEntry({\n\t\t\t\t\tenableHeader: true,\n\t\t\t\t\ttypeId: this.getTypeId(),\n\t\t\t\t\tfields: this.options.fields,\n\t\t\t\t\tonChange: () => this.emit('onChange'),\n\t\t\t\t});\n\n\t\t\t\tconst groupedList = filteredDataList.reduce((acc, item) => {\n\t\t\t\t\tconst {target} = item.condition;\n\t\t\t\t\tif (!Type.isArray(acc[target]))\n\t\t\t\t\t{\n\t\t\t\t\t\tacc[target] = [];\n\t\t\t\t\t}\n\n\t\t\t\t\tacc[target].push(item);\n\n\t\t\t\t\treturn acc;\n\t\t\t\t}, {});\n\n\t\t\t\tObject.values(groupedList).forEach((group) => {\n\t\t\t\t\tconst [firstItem] = group;\n\t\t\t\t\tif (Type.isPlainObject(firstItem))\n\t\t\t\t\t{\n\t\t\t\t\t\tconst targetField = this.getField(firstItem.condition.target);\n\n\t\t\t\t\t\tconst allowedMultipleConditions = (\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tthis.getTypeId() === RuleType.TYPE_2\n\t\t\t\t\t\t\t\t&& targetField.multiple\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t|| this.getTypeId() === RuleType.TYPE_1\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tentry.addCondition(\n\t\t\t\t\t\t\tnew FieldElement({\n\t\t\t\t\t\t\t\tdictionary: this.options.dictionary,\n\t\t\t\t\t\t\t\tfields: this.options.fields,\n\t\t\t\t\t\t\t\tid: targetField.id,\n\t\t\t\t\t\t\t\ttitle: targetField.label,\n\t\t\t\t\t\t\t\tcolor: FieldElement.Colors.blue,\n\t\t\t\t\t\t\t\tonRemove: () => {\n\t\t\t\t\t\t\t\t\tthis.onConditionFieldRemove(entry);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst groupedConditions = group.reduce((acc, item) => {\n\t\t\t\t\t\t\tacc[`${item.condition.operation}${item.condition.value}`] = item;\n\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t}, {});\n\n\t\t\t\t\t\tObject.values(groupedConditions).forEach((item) => {\n\t\t\t\t\t\t\tentry.addCondition(\n\t\t\t\t\t\t\t\tnew FieldValueElement({\n\t\t\t\t\t\t\t\t\tdictionary: this.options.dictionary,\n\t\t\t\t\t\t\t\t\tfields: this.options.fields,\n\t\t\t\t\t\t\t\t\tremovable: allowedMultipleConditions,\n\t\t\t\t\t\t\t\t\tdata: item.condition,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tentry.addCondition(\n\t\t\t\t\t\t\tnew FieldActionPanel({\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\tdisplay: allowedMultipleConditions ? null : 'none',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonAddCondition: () => {\n\t\t\t\t\t\t\t\t\tthis.onAddFieldCondition(\n\t\t\t\t\t\t\t\t\t\tnew BaseEvent({\n\t\t\t\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\t\ttarget: targetField.id,\n\t\t\t\t\t\t\t\t\t\t\t},\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},\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tconst groupedExpressions = Object.values(filteredDataList).reduce((acc, item) => {\n\t\t\t\t\tconst {target, type} = item.action;\n\t\t\t\t\tacc[`${target}${type}`] = item;\n\t\t\t\t\treturn acc;\n\t\t\t\t}, {});\n\n\t\t\t\tObject.values(groupedExpressions).forEach((item) => {\n\t\t\t\t\tconst targetField = this.getField(item.action.target);\n\t\t\t\t\tconst element = new FieldElement({\n\t\t\t\t\t\tid: targetField.id,\n\t\t\t\t\t\ttitle: targetField.label,\n\t\t\t\t\t\tremovable: true,\n\t\t\t\t\t\tcolor: FieldElement.Colors.green,\n\t\t\t\t\t\tactionsLabel: Loc.getMessage('LANDING_RULE_EXPRESSION_FIELD_ACTION_LABEL'),\n\t\t\t\t\t\tactionsList: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: Loc.getMessage('LANDING_RULE_EXPRESSION_FIELD_ACTION_SHOW_LABEL'),\n\t\t\t\t\t\t\t\tvalue: 'show',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: Loc.getMessage('LANDING_RULE_EXPRESSION_FIELD_ACTION_HIDE_LABEL'),\n\t\t\t\t\t\t\t\tvalue: 'hide',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tactionsValue: item.action.type,\n\t\t\t\t\t});\n\n\t\t\t\t\tentry.addExpression(element);\n\t\t\t\t});\n\n\t\t\t\tthis.addEntry(entry);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetEntries(): Array<RuleEntry>\n\t{\n\t\treturn this.cache.remember('entries', () => []);\n\t}\n\n\tsetEntries(entries: Array<RuleEntry>)\n\t{\n\t\tthis.cache.set('entries', entries);\n\t}\n\n\taddEntry(entry: RuleEntry)\n\t{\n\t\tif (entry)\n\t\t{\n\t\t\tconst entries = this.getEntries();\n\t\t\tif (!entries.includes(entry))\n\t\t\t{\n\t\t\t\tentry.subscribe('onChange', () => this.emit('onChange'));\n\n\t\t\t\tentries.push(entry);\n\t\t\t\tDom.append(entry.getLayout(), this.getBodyLayout());\n\n\t\t\t\tthis.emit('onChange');\n\t\t\t}\n\t\t}\n\t}\n\n\tgetHeaderLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('headerLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-rule-group-header\">\n\t\t\t\t\t${this.getHeaderTitleLayout()}\n\t\t\t\t\t${this.getRemoveButtonLayout()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetHeaderTitleLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('headerTitleLayout', () => {\n\t\t\tconst titleOfRuleType = Loc.getMessage(`LANDING_FIELDS_RULES_TYPE_${this.getTypeId() + 1}`);\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-rule-group-header-title\">${titleOfRuleType}</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetRemoveButtonLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('removeButtonLayout', () => {\n\t\t\tconst button = new IconButton({\n\t\t\t\ttype: IconButton.Types.remove,\n\t\t\t\tonClick: this.onRemoveClick.bind(this),\n\t\t\t\ttitle: Loc.getMessage('LANDING_RULE_GROUP_REMOVE_BUTTON_TITLE'),\n\t\t\t\tstyle: {\n\t\t\t\t\tmarginLeft: 'auto',\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn button.getLayout();\n\t\t});\n\t}\n\n\tonRemoveClick()\n\t{\n\t\tDom.remove(this.getLayout());\n\t\tthis.emit('onRemove');\n\t\tthis.emit('onChange');\n\t}\n\n\tgetBodyLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('bodyLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-rule-group-body\"></div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetFooterLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('footerLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-rule-group-footer\">\n\t\t\t\t\t${this.getFooterActionPanel().getLayout()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetFooterActionPanel(): ActionPanel\n\t{\n\t\treturn this.cache.remember('footerActionPanel', () => {\n\t\t\treturn new ActionPanel({\n\t\t\t\tleft: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'selectField',\n\t\t\t\t\t\ttext: Loc.getMessage('LANDING_RULE_ENTRY_ADD_FIELD_LABEL'),\n\t\t\t\t\t\tonClick: this.onAddFieldClick.bind(this),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t});\n\t}\n\n\tonAddFieldClick(event: BaseEvent)\n\t{\n\t\tconst menu = this.getFieldsListMenu();\n\t\tmenu.getPopupWindow().setBindElement(event.currentTarget);\n\t\tmenu.show();\n\t}\n\n\tgetFieldsListMenu(): BX.Main.Menu\n\t{\n\t\treturn this.cache.remember('fieldsMenu', () => {\n\t\t\treturn new window.top.BX.Main.Menu({\n\t\t\t\tmaxHeight: 205,\n\t\t\t\titems: (\n\t\t\t\t\tthis.options.fields\n\t\t\t\t\t\t.map((field) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tid: field.id,\n\t\t\t\t\t\t\t\ttext: field.label,\n\t\t\t\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\t\t\t\tthis.onFieldsListMenuItemClick(field);\n\t\t\t\t\t\t\t\t\tthis.getFieldsListMenu().close();\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t})\n\t\t\t\t),\n\t\t\t\tautoHide: true,\n\t\t\t});\n\t\t});\n\t}\n\n\tgetDefaultValueState(fieldId: string): string\n\t{\n\t\tconst targetField = this.options.fields.find((field) => {\n\t\t\treturn String(field.id) === String(fieldId);\n\t\t});\n\n\t\tif (targetField)\n\t\t{\n\t\t\tconst filteredOperations = this.options.dictionary.deps.condition.operations.filter((operation) => {\n\t\t\t\treturn (\n\t\t\t\t\t(\n\t\t\t\t\t\t!Type.isArrayFilled(operation.fieldTypes)\n\t\t\t\t\t\t|| operation.fieldTypes.includes(targetField.type)\n\t\t\t\t\t)\n\t\t\t\t\t&& (\n\t\t\t\t\t\t!Type.isArrayFilled(operation.excludeFieldTypes)\n\t\t\t\t\t\t|| (\n\t\t\t\t\t\t\tType.isArrayFilled(operation.excludeFieldTypes)\n\t\t\t\t\t\t\t&& !operation.excludeFieldTypes.includes(targetField.type)\n\t\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 (Type.isArrayFilled(filteredOperations))\n\t\t\t{\n\t\t\t\treturn filteredOperations[0].id;\n\t\t\t}\n\t\t}\n\n\t\treturn '=';\n\t}\n\n\tonAddFieldCondition(event: BaseEvent)\n\t{\n\t\tconst {target, entry}: {target: string, entry: RuleEntry} = event.getData();\n\t\tentry.addCondition(\n\t\t\tnew FieldValueElement({\n\t\t\t\tdictionary: this.options.dictionary,\n\t\t\t\tfields: this.options.fields,\n\t\t\t\tremovable: true,\n\t\t\t\tdata: {\n\t\t\t\t\ttarget,\n\t\t\t\t\toperation: this.getDefaultValueState(target),\n\t\t\t\t\tvalue: null,\n\t\t\t\t},\n\t\t\t}),\n\t\t);\n\t}\n\n\tonConditionFieldRemove(entry: RuleEntry)\n\t{\n\t\tconst fieldElements = entry.conditions.filter((item) => {\n\t\t\treturn item instanceof FieldElement;\n\t\t});\n\n\t\tif (fieldElements.length === 1)\n\t\t{\n\t\t\tconst entries = this.getEntries().filter((item) => {\n\t\t\t\treturn entry !== item;\n\t\t\t});\n\n\t\t\tthis.setEntries(entries);\n\n\t\t\tDom.remove(entry.getLayout());\n\t\t}\n\t}\n\n\tonFieldsListMenuItemClick(field)\n\t{\n\t\tif (this.getTypeId() === RuleType.TYPE_0)\n\t\t{\n\t\t\tconst enableHeader = this.getEntries().length === 0;\n\t\t\tconst entry = new RuleEntry({\n\t\t\t\tenableHeader,\n\t\t\t\ttypeId: this.getTypeId(),\n\t\t\t\tfields: this.options.fields,\n\t\t\t\tconditions: [\n\t\t\t\t\tnew FieldElement({\n\t\t\t\t\t\tdictionary: this.options.dictionary,\n\t\t\t\t\t\tfields: this.options.fields,\n\t\t\t\t\t\tid: field.id,\n\t\t\t\t\t\ttitle: field.label,\n\t\t\t\t\t\tcolor: FieldElement.Colors.blue,\n\t\t\t\t\t\tonRemove: () => {\n\t\t\t\t\t\t\tthis.onConditionFieldRemove(entry);\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tnew FieldValueElement({\n\t\t\t\t\t\tdictionary: this.options.dictionary,\n\t\t\t\t\t\tfields: this.options.fields,\n\t\t\t\t\t\tremovable: false,\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\ttarget: field.id,\n\t\t\t\t\t\t\toperation: this.getDefaultValueState(field.id),\n\t\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\tonChange: () => this.emit('onChange'),\n\t\t\t});\n\n\t\t\tthis.addEntry(entry);\n\t\t}\n\n\t\tif (\n\t\t\tthis.getTypeId() === RuleType.TYPE_1\n\t\t\t|| this.getTypeId() === RuleType.TYPE_2\n\t\t)\n\t\t{\n\t\t\tconst allowedMultipleConditions = (\n\t\t\t\t(\n\t\t\t\t\tthis.getTypeId() === RuleType.TYPE_2\n\t\t\t\t\t&& field.multiple\n\t\t\t\t)\n\t\t\t\t|| this.getTypeId() === RuleType.TYPE_1\n\t\t\t);\n\n\t\t\tconst items = [\n\t\t\t\tnew FieldElement({\n\t\t\t\t\tdictionary: this.options.dictionary,\n\t\t\t\t\tfields: this.options.fields,\n\t\t\t\t\tid: field.id,\n\t\t\t\t\ttitle: field.label,\n\t\t\t\t\tcolor: FieldElement.Colors.blue,\n\t\t\t\t\tonRemove: () => {\n\t\t\t\t\t\tthis.onConditionFieldRemove(this.getEntries()[0]);\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tnew FieldValueElement({\n\t\t\t\t\tdictionary: this.options.dictionary,\n\t\t\t\t\tfields: this.options.fields,\n\t\t\t\t\tremovable: allowedMultipleConditions,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\ttarget: field.id,\n\t\t\t\t\t\toperation: this.getDefaultValueState(field.id),\n\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t];\n\n\t\t\tif (\n\t\t\t\tthis.getTypeId() === RuleType.TYPE_1\n\t\t\t\t|| this.getTypeId() === RuleType.TYPE_2\n\t\t\t)\n\t\t\t{\n\t\t\t\titems.push(\n\t\t\t\t\tnew FieldActionPanel({\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tdisplay: allowedMultipleConditions ? null : 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonAddCondition: () => {\n\t\t\t\t\t\t\tthis.onAddFieldCondition(\n\t\t\t\t\t\t\t\tnew BaseEvent({\n\t\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\tentry: this.getEntries()[0],\n\t\t\t\t\t\t\t\t\t\ttarget: field.id,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst [entry] = this.getEntries();\n\t\t\tif (entry)\n\t\t\t{\n\t\t\t\titems.forEach((item) => {\n\t\t\t\t\tentry.addCondition(item);\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconst newEntry = new RuleEntry({\n\t\t\t\t\tenableHeader: true,\n\t\t\t\t\ttypeId: this.getTypeId(),\n\t\t\t\t\tfields: this.options.fields,\n\t\t\t\t\tconditions: items,\n\t\t\t\t\tonChange: () => this.emit('onChange'),\n\t\t\t\t});\n\n\t\t\t\tthis.addEntry(newEntry);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetId(): number\n\t{\n\t\tif (!Type.isNil(this.options.data.id))\n\t\t{\n\t\t\treturn this.options.data.id;\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\tgetTypeId(): number\n\t{\n\t\treturn Text.toNumber(this.options.data.typeId);\n\t}\n\n\tgetLogic(): 'or' | 'and'\n\t{\n\t\treturn this.getTypeId() === RuleType.TYPE_2 ? 'and' : 'or';\n\t}\n\n\tgetValue()\n\t{\n\t\tconst list = this.getEntries().reduce((acc, entry) => {\n\t\t\treturn [...acc, ...entry.getValue()];\n\t\t}, []);\n\n\t\treturn {\n\t\t\tid: this.getId(),\n\t\t\ttypeId: this.getTypeId(),\n\t\t\tlogic: this.getLogic(),\n\t\t\tlist,\n\t\t};\n\t}\n\n\tgetField(fieldId: string)\n\t{\n\t\treturn this.options.fields.find((item) => {\n\t\t\treturn String(item.id) === String(fieldId);\n\t\t});\n\t}\n}\n","import {Loc, Type, Dom} from 'main.core';\nimport {ContentWrapper} from 'landing.ui.panel.basepresetpanel';\nimport {HeaderCard} from 'landing.ui.card.headercard';\nimport {ActionPanel} from 'landing.ui.component.actionpanel';\nimport {RadioButtonField} from 'landing.ui.field.radiobuttonfield';\nimport {FormSettingsForm} from 'landing.ui.form.formsettingsform';\nimport {BaseEvent} from 'main.core.events';\nimport RuleType from './rule-type';\nimport RuleGroup from './internal/rule-group/rule-group';\n\nimport './css/style.css';\n\nexport default class FieldsRules extends ContentWrapper\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Panel.FormSettingsPanel.FieldsRulesContent');\n\n\t\tthis.addItem(this.getHeader());\n\n\t\tif (!Type.isArrayFilled(this.options.formOptions.data.dependencies))\n\t\t{\n\t\t\tthis.addItem(this.getRuleTypeField());\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.addItem(this.getRulesForm());\n\t\t\tthis.addItem(this.getActionPanel());\n\t\t}\n\t}\n\n\tgetHeader(): HeaderCard\n\t{\n\t\treturn this.cache.remember('headerCard', () => {\n\t\t\treturn new HeaderCard({\n\t\t\t\ttitle: Loc.getMessage('LANDING_FIELDS_RULES_TITLE'),\n\t\t\t});\n\t\t});\n\t}\n\n\tgetRulesForm(): FormSettingsForm\n\t{\n\t\treturn this.cache.remember('rulesForm', () => {\n\t\t\treturn new FormSettingsForm({\n\t\t\t\tselector: 'dependencies',\n\t\t\t\tdescription: null,\n\t\t\t\tfields: this.options.formOptions.data.dependencies.map((groupData) => {\n\t\t\t\t\treturn new RuleGroup({\n\t\t\t\t\t\tdictionary: this.options.dictionary,\n\t\t\t\t\t\tfields: this.getFormFields(),\n\t\t\t\t\t\tdata: groupData,\n\t\t\t\t\t\tonRemove: this.onRuleGroupRemove.bind(this),\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t});\n\t\t});\n\t}\n\n\tgetActionPanel(): ActionPanel\n\t{\n\t\treturn this.cache.remember('actionPanel', () => {\n\t\t\treturn new ActionPanel({\n\t\t\t\tleft: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: Loc.getMessage('LANDING_FIELDS_ADD_NEW_RULE_LINK_LABEL'),\n\t\t\t\t\t\tonClick: this.onAddRuleClick.bind(this),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t});\n\t}\n\n\tonAddRuleClick()\n\t{\n\t\tthis.insertBefore(this.getRuleTypeField(), this.getActionPanel());\n\t\tthis.items.remove(this.getActionPanel());\n\t\tDom.remove(this.getActionPanel().getLayout());\n\t\tthis.getActionPanel().unsubscribe('onChange', this.onChange);\n\t}\n\n\tgetRuleTypeField(): RadioButtonField\n\t{\n\t\treturn this.cache.remember('ruleTypeField', () => {\n\t\t\treturn new RadioButtonField({\n\t\t\t\tselector: 'rules-type',\n\t\t\t\titems: Object.entries(RuleType).map(([, value]) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: `ruleType${value}`,\n\t\t\t\t\t\ticon: `landing-ui-rules-type${value + 1}-icon`,\n\t\t\t\t\t\ttitle: Loc.getMessage(`LANDING_FIELDS_RULES_TYPE_${value + 1}`),\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\ttext: Loc.getMessage('LANDING_FIELDS_RULES_TYPE_BUTTON'),\n\t\t\t\t\t\t\tonClick: this.onCreateRuleButtonClick.bind(this, {type: value}),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t});\n\t\t});\n\t}\n\n\tgetFormFields()\n\t{\n\t\tconst disallowedTypes = (() => {\n\t\t\tif (\n\t\t\t\t!Type.isPlainObject(this.options.dictionary.deps.field)\n\t\t\t\t|| !Type.isArrayFilled(this.options.dictionary.deps.field.disallowed)\n\t\t\t)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn this.options.dictionary.deps.field.disallowed;\n\t\t})();\n\n\t\treturn this.options.formOptions.data.fields.filter((field) => {\n\t\t\treturn (\n\t\t\t\t!Type.isArrayFilled(disallowedTypes)\n\t\t\t\t|| (\n\t\t\t\t\t!disallowedTypes.includes(field.type)\n\t\t\t\t\t&& (\n\t\t\t\t\t\t!Type.isPlainObject(field.content)\n\t\t\t\t\t\t|| disallowedTypes.includes(field.content.type)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\t}\n\n\tonCreateRuleButtonClick({type})\n\t{\n\t\tthis.clear();\n\n\t\tconst header = this.getHeader();\n\t\theader.setBottomMargin(false);\n\t\tthis.addItem(header);\n\n\t\tconst ruleForm = this.getRulesForm();\n\n\t\truleForm.addField(\n\t\t\tnew RuleGroup({\n\t\t\t\tdictionary: this.options.dictionary,\n\t\t\t\tfields: this.getFormFields(),\n\t\t\t\tdata: {\n\t\t\t\t\tid: 0,\n\t\t\t\t\ttypeId: type,\n\t\t\t\t\tlist: [],\n\t\t\t\t\tlogic: type === RuleType.TYPE_2 ? 'and' : 'or',\n\t\t\t\t},\n\t\t\t\tonRemove: this.onRuleGroupRemove.bind(this),\n\t\t\t}),\n\t\t);\n\n\t\tthis.addItem(ruleForm);\n\t\tthis.addItem(this.getActionPanel());\n\t}\n\n\tonRuleGroupRemove(event: BaseEvent)\n\t{\n\t\tthis.onChange(event);\n\n\t\tthis.getRulesForm().removeField(event.getTarget());\n\t\tevent.getTarget().unsubscribe('onChange', this.onChange);\n\t}\n\n\tonChange(event: BaseEvent)\n\t{\n\t\tthis.emit('onChange', {...event.getData(), skipPrepare: true});\n\t}\n\n\tvalueReducer(value: {[p: string]: any}): {[p: string]: any}\n\t{\n\t\treturn {\n\t\t\tdependencies: Object.values(value).filter((group) => {\n\t\t\t\treturn Type.isArrayFilled(group.list);\n\t\t\t}),\n\t\t};\n\t}\n}\n"],"names":["RuleType","defaultOptions","removable","draggable","color","FieldElement","options","setEventNamespace","subscribeFromOptions","fetchEventsFromOptions","cache","Cache","MemoryCache","remember","button","IconButton","type","Types","drag","style","width","getLayout","field","window","top","BX","Landing","UI","Field","DropdownInline","title","actionsLabel","items","actionsList","content","actionsValue","subscribe","emit","Tag","render","getActionsDropdown","Text","encode","remove","onClick","iconSize","marginLeft","id","getDragButtonLayout","getActionsLayout","getTitleLayout","getRemoveButtonLayout","EventEmitter","blue","green","red","FieldValueElement","state","data","text","getOperatorLabelText","operation","onOperatorLabelClick","bind","event","preventDefault","getOperatorSettingsPopup","show","closest","rootWindow","PageObject","getRootWindow","Main","Popup","bindElement","targetContainer","getTargetContainer","getOperatorField","autoHide","minWidth","offsetLeft","offsetTop","bindOptions","position","getValueLabelText","value","layout","onValueLabelClick","Dom","hide","getValueLabelLayout","firstElementChild","textContent","getValueSettingsPopup","popupContent","random","getRandom","targetField","getTargetField","valueItems","label","Loc","getMessage","forEach","item","checked","String","append","renderValueRadioButton","Type","isStringFilled","inputField","TextField","textOnly","onValueChange","conditionValue","getValue","setValueLabelText","maxHeight","events","onShow","addClass","onClose","removeClass","onChange","target","condition","dictionary","deps","Radio","selector","operations","filter","isArrayFilled","fieldTypes","includes","excludeFieldTypes","map","name","onOperationChange","getOperatorLabelLayout","operatorField","setOperationLabelText","getRemoveButton","operatorValue","reduce","acc","fields","find","isPlainObject","currentItem","TypeSeparator","getSeparatorLabel","typeId","RuleEntry","enableHeader","expressions","onConditionFieldValueRemove","onConditionFieldRemove","conditions","addCondition","addExpression","getAddExpresionFieldLinkLayout","getHeaderLayout","getConditionsLayout","getExpressionsLayout","getTarget","targetLayout","nextNode","nextElementSibling","isDomNode","matches","prevNode","previousElementSibling","hasClass","element","push","conditionsNodes","childNodes","lastElement","node","attr","insertAfter","separator","insertBefore","length","ActionPanel","left","onAddExpressionFieldClick","menu","getFieldsListMenu","getMenuItems","isUsed","some","expressionItem","getId","disallowedTypes","Menu","getExpressionActionPanel","getExpressionAllowedFieldsList","onclick","onAddExpressionField","Colors","close","adjustExpressionFieldsZIndexes","children","reverse","index","onExpressionFieldRemove","onExpressionFieldChange","conditionsItem","action","FieldActionPanel","getActionPanel","RuleGroup","setLayoutClass","clean","getBodyLayout","getFooterLayout","list","filteredDataList","conditionTarget","getField","actionTarget","getTypeId","TYPE_0","groupedList","isArray","Object","values","group","firstItem","entry","onRemove","groupItem","addEntry","TYPE_1","TYPE_2","allowedMultipleConditions","multiple","groupedConditions","display","onAddCondition","onAddFieldCondition","BaseEvent","groupedExpressions","entries","set","getEntries","getHeaderTitleLayout","titleOfRuleType","onRemoveClick","getFooterActionPanel","onAddFieldClick","getPopupWindow","setBindElement","currentTarget","onFieldsListMenuItemClick","fieldId","filteredOperations","getData","getDefaultValueState","fieldElements","setEntries","newEntry","isNil","toNumber","logic","getLogic","BaseField","FieldsRules","addItem","getHeader","formOptions","dependencies","getRuleTypeField","getRulesForm","HeaderCard","FormSettingsForm","description","groupData","getFormFields","onRuleGroupRemove","onAddRuleClick","unsubscribe","RadioButtonField","icon","onCreateRuleButtonClick","disallowed","clear","header","setBottomMargin","ruleForm","addField","removeField","skipPrepare","ContentWrapper"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit