Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/ilovecveti.ru/bitrix/activities/bitrix/setglobalvariableactivity/ |
Upload File : |
{"version":3,"file":"script.js","sources":["src/menu/menu.js","src/selector/selector.js","src/index.js"],"sourcesContent":["import {Tag, Type, Runtime, Dom, Text, Event, Loc} from \"main.core\";\nimport {BaseEvent, EventEmitter} from 'main.core.events';\nimport {Popup, PopupWindowButton, PopupWindowButtonLink} from \"main.popup\";\nimport type {menuOptions, PopupOptions, RowOptions} from \"./menu-options\";\n\nexport class Menu extends EventEmitter\n{\n\t#popup: Popup;\n\t#popupOptions: PopupOptions;\n\t#contentData: {\n\t\trows: Array<RowOptions & {\n\t\t\ttargetNode?: HTMLElement,\n\t\t\tinputNode?: HTMLElement,\n\t\t\tlabelNode?: HTMLElement,\n\t\t}>,\n\t\tvalues: Object<number, string>,\n\t};\n\n\tconstructor(options: menuOptions)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Bizproc.Activity.SetGlobalVariable.Menu');\n\n\t\tthis.#popupOptions = {};\n\n\t\tif (Type.isPlainObject(options.popupOptions))\n\t\t{\n\t\t\tthis.#popupOptions = Runtime.clone(options.popupOptions);\n\t\t\tthis.#popupOptions.target = options.popupOptions.target;\n\n\t\t\tif (Type.isNil(this.#popupOptions.autoHide))\n\t\t\t{\n\t\t\t\tthis.#popupOptions.autoHide = true;\n\t\t\t}\n\t\t\tif (Type.isNil(this.#popupOptions.closeByEsc))\n\t\t\t{\n\t\t\t\tthis.#popupOptions.closeByEsc = true;\n\t\t\t}\n\t\t\tif (Type.isNil(this.#popupOptions.cacheable))\n\t\t\t{\n\t\t\t\tthis.#popupOptions.cacheable = true;\n\t\t\t}\n\t\t\tif (!Type.isArray(this.#popupOptions.buttons))\n\t\t\t{\n\t\t\t\tthis.#popupOptions.buttons = this.#createDefaultButtons();\n\t\t\t}\n\t\t}\n\n\t\tif (Type.isPlainObject(options.contentData)) {\n\t\t\tthis.#contentData = Runtime.clone(options.contentData);\n\t\t\tif (!Type.isArrayFilled(this.#contentData.rows))\n\t\t\t{\n\t\t\t\tthis.#contentData.rows = [];\n\t\t\t}\n\t\t\tthis.#contentData.values = {};\n\t\t}\n\n\t\tif (Type.isPlainObject(options.events))\n\t\t{\n\t\t\tthis.subscribeFromOptions(options.events);\n\t\t}\n\t}\n\n\tget target(): Element\n\t{\n\t\treturn this.#popupOptions.target;\n\t}\n\n\tcreate(): this\n\t{\n\t\tif (Type.isNil(this.#popup) && Object.keys(this.#popupOptions).length > 0)\n\t\t{\n\t\t\tthis.#popup = new Popup({\n\t\t\t\tid: this.#popupOptions.id,\n\t\t\t\tbindElement: this.#popupOptions.target,\n\t\t\t\tclassName: 'bizproc-automation-popup-set',\n\t\t\t\tautoHide: this.#popupOptions.autoHide,\n\t\t\t\tcloseByEsc: this.#popupOptions.closeByEsc,\n\t\t\t\toffsetLeft: this.#popupOptions.offsetLeft,\n\t\t\t\toffsetTop: this.#popupOptions.offsetTop,\n\t\t\t\toverlay: this.#popupOptions.overlay,\n\t\t\t\tcontent: this.#createContent(),\n\t\t\t\tbuttons: this.#popupOptions.buttons,\n\t\t\t\tevents: this.#popupOptions.events,\n\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t#createContent(): HTMLFormElement\n\t{\n\t\tconst content = Tag.render`<form class=\"bizproc-automation-popup-select-block\"></form>`;\n\t\tfor (const index in this.#contentData.rows)\n\t\t{\n\t\t\tconst row = this.#contentData.rows[index];\n\t\t\tlet valueNode = '';\n\n\t\t\tif ((row.onClick))\n\t\t\t{\n\t\t\t\tvalueNode = Tag.render`\n\t\t\t\t\t<div class=\"bizproc-automation-popup-settings-dropdown\" readonly=\"readonly\">\n\t\t\t\t\t\t${Text.encode(row.values[0]?.text || '')}\n\t\t\t\t\t</div>\n\t\t\t\t`;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tvalueNode = Tag.render`<select class=\"bizproc-automation-popup-settings-dropdown\"></select>`;\n\t\t\t\tif (Type.isArrayFilled(row.values))\n\t\t\t\t{\n\t\t\t\t\trow.values.forEach(({id, text}) => {\n\t\t\t\t\t\tDom.append(\n\t\t\t\t\t\t\tTag.render`<option value=\"${Text.encode(id)}\">${Text.encode(text)}</option>`,\n\t\t\t\t\t\t\tvalueNode\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.setRowValue(0, row.values[0].id);\n\t\t\t\t}\n\n\t\t\t\tEvent.bind(\n\t\t\t\t\tvalueNode,\n\t\t\t\t\t'change',\n\t\t\t\t\t(event) => {\n\t\t\t\t\t\tthis.setRowValue(Text.toInteger(index), event.target.value)\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tEvent.bind(valueNode, 'click', this.#onRowClick.bind(this, Text.toInteger(index)));\n\n\t\t\tconst labelNode = Tag.render`\n\t\t\t\t<div class=\"bizproc-automation-robot-settings-title\">\n\t\t\t\t\t${Text.encode(row.label ?? '')}\n\t\t\t\t</div>\n\t\t\t`;\n\n\t\t\trow.targetNode = valueNode;\n\t\t\trow.inputNode = valueNode;\n\t\t\trow.labelNode = labelNode;\n\n\t\t\tDom.append(\n\t\t\t\tTag.render`\n\t\t\t\t\t<div class=\"bizproc-automation-popup-settings\">\n\t\t\t\t\t${labelNode}\n\t\t\t\t\t${valueNode}\n\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t\tcontent\n\t\t\t);\n\t\t}\n\n\t\treturn content;\n\t}\n\n\tcreateEmptyRow(index: number): HTMLElement\n\t{\n\t\tconst node = Tag.render`<div class=\"bizproc-automation-popup-settings-dropdown\" readonly=\"readonly\"></div>`;\n\t\tEvent.bind(node, 'click', this.#onRowClick.bind(this, Text.toInteger(index)));\n\n\t\treturn node;\n\t}\n\n\t#onRowClick(rowIndex: number)\n\t{\n\t\tif (Type.isFunction(this.#contentData.rows[rowIndex]?.onClick))\n\t\t{\n\t\t\tconst event = new BaseEvent({data: {menu: this}});\n\t\t\tevent.setTarget(this.#contentData.rows[rowIndex].targetNode);\n\t\t\tthis.#contentData.rows[rowIndex].onClick.call(this, event);\n\t\t}\n\t}\n\n\t#createDefaultButtons(): []\n\t{\n\t\treturn [\n\t\t\tnew PopupWindowButton({\n\t\t\t\ttext: Loc.getMessage('BIZPROC_AUTOMATION_CMP_CHOOSE'),\n\t\t\t\tclassName: 'webform-button webform-button-create',\n\t\t\t\tevents: {\n\t\t\t\t\tclick: function ()\n\t\t\t\t\t{\n\t\t\t\t\t\tconst event = new BaseEvent({\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\tmenu: this,\n\t\t\t\t\t\t\t\tvalues: this.#contentData.values,\n\t\t\t\t\t\t\t\ttarget: this.#popupOptions.target,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.emit('onApplyChangesClick', event);\n\t\t\t\t\t\tthis.close();\n\t\t\t\t\t}.bind(this),\n\t\t\t\t},\n\t\t\t}),\n\t\t\tnew PopupWindowButtonLink({\n\t\t\t\ttext: Loc.getMessage('BIZPROC_AUTOMATION_CMP_CANCEL'),\n\t\t\t\tclassName: 'popup-window-button-link',\n\t\t\t\tevents: {\n\t\t\t\t\tclick: function ()\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.emit('onDiscardChangesClick', new BaseEvent({}));\n\t\t\t\t\t\tthis.close();\n\t\t\t\t\t}.bind(this),\n\t\t\t\t},\n\t\t\t}),\n\t\t];\n\t}\n\n\tshow()\n\t{\n\t\tif (Type.isNil(this.#popup))\n\t\t{\n\t\t\tthis.create();\n\t\t\tif (!this.#popup)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (this.#popup.isShown())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#popup.show();\n\t}\n\n\tclose()\n\t{\n\t\tif (Type.isNil(this.#popup))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.#popup.isShown())\n\t\t{\n\t\t\tthis.#popup.close();\n\t\t}\n\t}\n\n\tdestroy()\n\t{\n\t\tthis.#contentData.values = {};\n\t\tthis.#contentData.rows.forEach((row) => {\n\t\t\tdelete row.targetNode;\n\t\t\tdelete row.inputNode;\n\t\t\tdelete row.labelNode;\n\t\t});\n\n\t\tif (!this.#popup)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.#popup.isDestroyed())\n\t\t{\n\t\t\tthis.#popup.destroy();\n\t\t}\n\t\tthis.#popup = null;\n\t}\n\n\tgetRowValue(rowIndex: number): ?string\n\t{\n\t\treturn this.#contentData.values[rowIndex] ?? null;\n\t}\n\n\tsetRowValue(rowIndex: number, value: string, text?: string)\n\t{\n\t\tif (\n\t\t\tType.isNumber(rowIndex)\n\t\t\t&& rowIndex < this.#contentData.rows.length\n\t\t\t&& Type.isString(value)\n\t\t)\n\t\t{\n\t\t\tthis.#contentData.values[rowIndex] = value;\n\t\t\tif (this.#contentData.rows[rowIndex].inputNode)\n\t\t\t{\n\t\t\t\tthis.#contentData.rows[rowIndex].inputNode.value = value; // ?\n\t\t\t\tif (Type.isStringFilled(text))\n\t\t\t\t{\n\t\t\t\t\tthis.#contentData.rows[rowIndex].inputNode.innerText = Text.encode(text);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.emit(\n\t\t\t\t'onSetRowValue',\n\t\t\t\tnew BaseEvent({\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\trowIndex: Text.toInteger(rowIndex),\n\t\t\t\t\t\tmenu: this,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n\n\tgetRowTarget(rowIndex: number): ?HTMLElement\n\t{\n\t\treturn this.#contentData.rows[rowIndex]?.targetNode ?? null;\n\t}\n\n\tgetRowInput(rowIndex: number): ?HTMLElement\n\t{\n\t\treturn this.#contentData.rows[rowIndex]?.inputNode ?? null;\n\t}\n\n\treplaceRowTarget(rowIndex: number, target: HTMLElement, input: any)\n\t{\n\t\tif (\n\t\t\tType.isNumber(rowIndex)\n\t\t\t&& rowIndex < this.#contentData.rows.length\n\t\t)\n\t\t{\n\t\t\tif (\n\t\t\t\tType.isElementNode(this.#contentData.rows[rowIndex].targetNode)\n\t\t\t\t&& Type.isElementNode(target)\n\t\t\t)\n\t\t\t{\n\t\t\t\tDom.replace(this.#contentData.rows[rowIndex].targetNode, target);\n\n\t\t\t\tthis.#contentData.rows[rowIndex].targetNode = target;\n\t\t\t\tthis.#contentData.rows[rowIndex].inputNode = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tsetRowLabel(rowIndex: number, label: string)\n\t{\n\t\tif (\n\t\t\tType.isNumber(rowIndex)\n\t\t\t&& rowIndex < this.#contentData.rows.length\n\t\t\t&& Type.isStringFilled(label)\n\t\t\t&& Type.isElementNode(this.#contentData.rows[rowIndex]?.labelNode)\n\t\t)\n\t\t{\n\t\t\tthis.#contentData.rows[rowIndex].labelNode.innerText = Text.encode(label);\n\t\t}\n\t}\n}","import {Type, Loc, Tag, Event, Text, Runtime} from 'main.core';\nimport {BaseEvent, EventEmitter} from \"main.core.events\";\nimport {Dialog} from 'ui.entity-selector';\nimport {Globals} from 'bizproc.globals';\n\nexport type Options = {\n\ttarget: HTMLElement,\n\tshowStubs: boolean,\n\tobjectName: string,\n\tevents?: { [eventName: string]: (event: BaseEvent) => void },\n\titemCreateContext: {\n\t\tindex: number,\n\t\tvisibility: string,\n\t\ttype: string,\n\t\tmode: string,\n\t\tobjectName: string,\n\t\tsignedDocumentType: string,\n\t},\n};\n\nexport class Selector extends EventEmitter\n{\n\t#options: {} = {\n\t\twidth: 480,\n\t\theight: 300,\n\t\tmultiple: false,\n\t\tdropdownMode: true,\n\t\tenableSearch: true,\n\t\tshowAvatars: false,\n\t\tcompactView: true,\n\t\ttagSelectorOptions: {\n\t\t\ttextBoxWidth: 400\n\t\t},\n\t\ttargetNode: null,\n\t\tevents: {},\n\t\trecentTabOptions: {},\n\t\tsearchTabOptions: {},\n\t\tsearchOptions: {},\n\t};\n\t#extraOptions: {};\n\t#items: [];\n\t#itemCreateContext: {\n\t\tindex: number,\n\t\tvisibility: string,\n\t\ttype: string,\n\t\tmode: string,\n\t\tobjectName: string,\n\t\tsignedDocumentType: string,\n\t};\n\n\t#dialog: Dialog;\n\n\tconstructor(items: [] = [], options?: Options)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Bizproc.Activity.SetGlobalVariable.Selector');\n\n\t\tthis.#items = Type.isArrayFilled(items) ? items : [];\n\n\t\tif (Type.isPlainObject(options))\n\t\t{\n\t\t\tif (Type.isElementNode(options.target))\n\t\t\t{\n\t\t\t\tthis.#options.targetNode = options.target;\n\t\t\t}\n\n\t\t\tif (options.showStubs === true)\n\t\t\t{\n\t\t\t\tthis.#extraOptions = {\n\t\t\t\t\trecentTabOptions: {\n\t\t\t\t\t\tstub: true,\n\t\t\t\t\t\ticon: '',\n\t\t\t\t\t\tstubOptions: this.#getRecentTabStubOptions(options.objectName),\n\t\t\t\t\t},\n\t\t\t\t\tsearchTabOptions: {\n\t\t\t\t\t\tstub: true,\n\t\t\t\t\t\tstubOptions: this.#getSearchTabStubOptions(options.objectName),\n\t\t\t\t\t},\n\t\t\t\t\tsearchOptions: {\n\t\t\t\t\t\tallowCreateItem: true,\n\t\t\t\t\t\tfooterOptions: this.#getSearchOptions(options.objectName),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (Type.isPlainObject(options.itemCreateContext))\n\t\t\t{\n\t\t\t\tthis.#itemCreateContext = options.itemCreateContext;\n\t\t\t}\n\n\t\t\tif (Type.isPlainObject(options.events) && Object.keys(options.events).length > 0)\n\t\t\t{\n\t\t\t\tthis.subscribeFromOptions(options.events);\n\t\t\t}\n\t\t}\n\t}\n\n\tcreate(): this\n\t{\n\t\tif (Type.isNil(this.#dialog))\n\t\t{\n\t\t\tlet options = this.#options;\n\t\t\tif (Type.isPlainObject(this.#extraOptions))\n\t\t\t{\n\t\t\t\toptions = Object.assign(options, this.#extraOptions);\n\t\t\t}\n\n\t\t\toptions.items = this.#items;\n\t\t\toptions.events = {\n\t\t\t\t'Item:onBeforeSelect': function (event: BaseEvent)\n\t\t\t\t{\n\t\t\t\t\tconst dialogItem = event.data.item;\n\t\t\t\t\tthis.emit(\n\t\t\t\t\t\t'onBeforeSelect',\n\t\t\t\t\t\tnew BaseEvent({\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\titem: dialogItem,\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}.bind(this),\n\t\t\t\tonHide: () => (this.destroy()),\n\t\t\t\t'Search:onItemCreateAsync': function (event: BaseEvent): Promise\n\t\t\t\t{\n\t\t\t\t\treturn new Promise((resolve) => {\n\t\t\t\t\t\tconst query = event.getData().searchQuery.query;\n\n\t\t\t\t\t\tthis.#onCreateGlobalsClick(query, resolve);\n\t\t\t\t\t});\n\t\t\t\t}.bind(this),\n\t\t\t};\n\n\t\t\tthis.#dialog = new Dialog(options);\n\n\t\t\tif (this.#items.length <= 0)\n\t\t\t{\n\t\t\t\tconst footer = Tag.render`\n\t\t\t\t\t<span class=\"ui-selector-footer-link ui-selector-footer-link-add\" style=\"border: none\">\n\t\t\t\t\t\t${Text.encode(options.searchOptions.footerOptions?.label ?? '')}\n\t\t\t\t\t</span>\n\t\t\t\t`;\n\n\t\t\t\tEvent.bind(footer, 'click', this.#onCreateGlobalsClick.bind(this));\n\n\t\t\t\tthis.#dialog.setFooter(footer);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tshow()\n\t{\n\t\tif (Type.isNil(this.#dialog))\n\t\t{\n\t\t\tthis.create();\n\t\t}\n\n\t\tthis.#dialog.show();\n\t}\n\n\tclose()\n\t{\n\t\tif (Type.isNil(this.#dialog))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.#dialog.isOpen())\n\t\t{\n\t\t\tthis.#dialog.hide();\n\t\t}\n\t}\n\n\tdestroy()\n\t{\n\t\tif (Type.isNil(this.#dialog))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#dialog.destroy();\n\t\tthis.#dialog = null;\n\t}\n\n\t#getRecentTabStubOptions(objectName: string): {}\n\t{\n\t\tif (!Type.isStringFilled(objectName))\n\t\t{\n\t\t\treturn {};\n\t\t}\n\n\t\tif (objectName === 'GlobalVar')\n\t\t{\n\t\t\treturn {\n\t\t\t\ttitle: Loc.getMessage('BPSGVA_GVARIABLE_NO_EXIST'),\n\t\t\t\tsubtitle: Loc.getMessage('BPSGVA_CREATE_GVARIABLE_QUESTION'),\n\t\t\t\tarrow: true\n\t\t\t};\n\t\t}\n\n\t\tif (objectName === 'GlobalConst')\n\t\t{\n\t\t\treturn {\n\t\t\t\ttitle: Loc.getMessage('BPSGVA_GCONSTANT_NO_EXIST'),\n\t\t\t\tsubtitle: Loc.getMessage('BPSGVA_CREATE_GCONSTANT_QUESTION'),\n\t\t\t\tarrow: true\n\t\t\t};\n\t\t}\n\n\t\treturn {};\n\t}\n\n\t#getSearchTabStubOptions(objectName: string): {}\n\t{\n\t\tif (!Type.isStringFilled(objectName))\n\t\t{\n\t\t\treturn {};\n\t\t}\n\n\t\tif (objectName === 'GlobalVar')\n\t\t{\n\t\t\treturn {\n\t\t\t\ttitle: Loc.getMessage('BPSGVA_GVARIABLE_NOT_FOUND'),\n\t\t\t\tsubtitle: Loc.getMessage('BPSGVA_CREATE_GVARIABLE_QUESTION'),\n\t\t\t\tarrow: true\n\t\t\t};\n\t\t}\n\n\t\tif (objectName === 'GlobalConst')\n\t\t{\n\t\t\treturn {\n\t\t\t\ttitle: Loc.getMessage('BPSGVA_GCONSTANT_NOT_FOUND'),\n\t\t\t\tsubtitle: Loc.getMessage('BPSGVA_CREATE_GCONSTANT_QUESTION'),\n\t\t\t\tarrow: true\n\t\t\t};\n\t\t}\n\n\t\treturn {};\n\t}\n\n\t#getSearchOptions(objectName: string): {}\n\t{\n\t\tif (!Type.isStringFilled(objectName))\n\t\t{\n\t\t\treturn {};\n\t\t}\n\n\t\tif (objectName === 'GlobalVar')\n\t\t{\n\t\t\treturn {\n\t\t\t\tlabel: Loc.getMessage('BPSGVA_CREATE_GVARIABLE'),\n\t\t\t};\n\t\t}\n\n\t\tif (objectName === 'GlobalConst')\n\t\t{\n\t\t\treturn {\n\t\t\t\tlabel: Loc.getMessage('BPSGVA_CREATE_GCONSTANT')\n\t\t\t};\n\t\t}\n\n\t\treturn {};\n\t}\n\n\t#onCreateGlobalsClick(query?: string, resolve?: Function)\n\t{\n\t\tif (!Type.isStringFilled(query))\n\t\t{\n\t\t\tquery = '';\n\t\t}\n\n\t\tconst visibility = this.#itemCreateContext.visibility;\n\t\tconst context = {\n\t\t\tvisibility: visibility.slice(visibility.indexOf(':') + 1),\n\t\t\tavailableTypes: this.#getAvailableTypes(this.#itemCreateContext.type),\n\t\t};\n\n\t\tGlobals.Manager.Instance.createGlobals(\n\t\t\tthis.#itemCreateContext.mode,\n\t\t\tthis.#itemCreateContext.signedDocumentType,\n\t\t\tquery,\n\t\t\tcontext\n\t\t).then((slider) => {\n\t\t\tconst newContext = {\n\t\t\t\t'objectName': this.#itemCreateContext.objectName,\n\t\t\t\t'visibility': this.#itemCreateContext.visibility,\n\t\t\t\t'index': this.#itemCreateContext.index\n\t\t\t};\n\n\t\t\tthis.#onAfterCreateGlobals(slider, newContext);\n\n\t\t\tif (Type.isFunction(resolve))\n\t\t\t{\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t}\n\n\t#onAfterCreateGlobals(slider, context)\n\t{\n\t\tconst info = slider.getData().entries();\n\t\tconst keys = Object.keys(info);\n\t\tif (keys.length <= 0)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst id = keys[0];\n\t\tconst property = Runtime.clone(info[keys[0]]);\n\t\tproperty.Multiple = (property.Multiple === 'Y');\n\n\t\tconst newDialogItem = {\n\t\t\tentityId: 'bp',\n\t\t\ttabs: 'recents',\n\t\t\ttitle: property.Name,\n\t\t\tid: '{=' + context.objectName + ':' + id + '}',\n\t\t\tcustomData: {\n\t\t\t\tgroupId: context.objectName + ':' + property['Visibility'],\n\t\t\t\tproperty: property,\n\t\t\t\ttitle: property['Name']\n\t\t\t}\n\t\t};\n\n\t\tconst availableTypes = this.#getAvailableTypes(this.#itemCreateContext.type);\n\t\tif (\n\t\t\tnewDialogItem.customData.groupId === context.visibility\n\t\t\t&& availableTypes.includes(property.Type)\n\t\t)\n\t\t{\n\t\t\tthis.#dialog.setFooter(null);\n\t\t\tthis.#dialog.addItem(newDialogItem);\n\t\t}\n\n\t\tthis.emit(\n\t\t\t'onAfterCreate',\n\t\t\tnew BaseEvent({\n\t\t\t\tdata: {\n\t\t\t\t\titem: newDialogItem,\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n\n\t#getAvailableTypes(baseType: string): []\n\t{\n\t\tif (baseType === 'double')\n\t\t{\n\t\t\treturn ['int', 'double'];\n\t\t}\n\n\t\tif (baseType === 'datetime')\n\t\t{\n\t\t\treturn ['date', 'datetime'];\n\t\t}\n\n\t\tif (['date', 'int', 'user'].includes(baseType))\n\t\t{\n\t\t\treturn [baseType];\n\t\t}\n\n\t\treturn ['string', 'text', 'select', 'bool', 'int', 'double', 'date', 'datetime', 'user'];\n\t}\n}\n","import {Reflection, Tag, Type, Loc, Event, Dom, Text, Runtime} from 'main.core';\nimport {Globals} from 'bizproc.globals';\n\nimport 'bp_field_type';\nimport './css/style.css';\n\nimport {Menu} from \"./menu/menu\";\nimport {BaseEvent} from \"main.core.events\";\nimport {Selector} from \"./selector/selector\";\n\nconst namespace = Reflection.namespace('BX.Bizproc.Activity');\n\nclass SetGlobalVariableActivity {\n\tstatic #INDEX_ATTRIBUTE_NAME = 'bp_sgva_index';\n\tstatic #INPUT_INDEX_ATTRIBUTE_NAME = 'bp_sgva_input_index';\n\n\tstatic #G_VAR_OBJECT_NAME = 'GlobalVar';\n\tstatic #G_CONST_OBJECT_NAME = 'GlobalConst';\n\tstatic #DOCUMENT_OBJECT_NAME = 'Document';\n\tstatic #HELPER_OBJECT_NAME = 'Default';\n\n\tstatic #ROW_TABLE_ID = 'bp_sgva_addrow_table';\n\tstatic #ADD_BUTTON_ID = 'bp_sgva_add_button';\n\tstatic #RESULTS_ID = 'bp_sgva_results_';\n\tstatic #VARIABLE_ROLE = 'bp_sgva_variable_';\n\tstatic #PARAMETER_ROLE = 'bp_sgva_value_';\n\n\tisRobot: boolean;\n\tdocumentType;\n\tsignedDocumentType: string;\n\n\tvariables: object;\n\tconstants: object;\n\tdocumentFields: object;\n\n\tcurrentValues: object;\n\tvisibilityMessages: object;\n\tformName: string;\n\n\taddRowTable: HTMLDivElement | HTMLTableElement;\n\n\tavailableOptions: Map;\n\tavailableOptionsByGroupId: Map;\n\n\trowIndex: number = -1;\n\tnumberOfTypes: number = 9;\n\n\tconstructor(options)\n\t{\n\t\tif (Type.isPlainObject(options)) {\n\t\t\tthis.isRobot = options.isRobot;\n\t\t\tthis.documentType = options.documentType;\n\t\t\tthis.signedDocumentType = options.signedDocumentType;\n\n\t\t\tthis.variables = options.variables;\n\t\t\tthis.constants = options.constants ?? {};\n\t\t\tthis.documentFields = options.documentFields ?? {};\n\n\t\t\tthis.currentValues = options.currentValues;\n\t\t\tthis.visibilityMessages = options.visibilityMessages;\n\t\t\tthis.formName = options.formName;\n\n\t\t\tthis.addRowTable = options.addRowTable;\n\t\t}\n\t}\n\n\tinit()\n\t{\n\t\tthis.initAvailableOptions();\n\n\t\tconst addAssignmentExpression =\n\t\t\tthis.isRobot\n\t\t\t\t? 'addAssignmentExpressionRobot'\n\t\t\t\t: 'addAssignmentExpressionDesigner'\n\t\t;\n\n\t\tif (Object.keys(this.currentValues).length <= 0)\n\t\t{\n\t\t\tthis[addAssignmentExpression]();\n\t\t}\n\t\tfor (const variableExpression in this.currentValues)\n\t\t{\n\t\t\tthis[addAssignmentExpression](variableExpression, this.currentValues[variableExpression]);\n\t\t}\n\n\t\tif (this.isRobot)\n\t\t{\n\t\t\t//this.addExpressionButtonRobot();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.addExpressionButtonDesigner()\n\t\t}\n\t}\n\n\t// region check visibility\n\tisGVariableVisibility(visibility): boolean\n\t{\n\t\treturn visibility.startsWith(this.constructor.#G_VAR_OBJECT_NAME);\n\t}\n\n\tisGConstantVisibility(visibility): boolean\n\t{\n\t\treturn visibility.startsWith(this.constructor.#G_CONST_OBJECT_NAME);\n\t}\n\n\tisDocumentVisibility(visibility): boolean\n\t{\n\t\treturn visibility.startsWith(this.constructor.#DOCUMENT_OBJECT_NAME);\n\t}\n\n\tisHelperVisibility(visibility): boolean\n\t{\n\t\treturn visibility.startsWith(this.constructor.#HELPER_OBJECT_NAME);\n\t}\n\t// endregion\n\n\t// region options\n\tinitAvailableOptions()\n\t{\n\t\tthis.availableOptions = this.getAvailableOptions();\n\t\tthis.availableOptionsByGroupId = this.getAvailableOptionsByGroup();\n\t}\n\n\tgetAvailableOptions(): Map\n\t{\n\t\tconst options = new Map();\n\t\tthis.fillOptions(this.variables, options);\n\t\tthis.fillOptions(this.constants, options);\n\t\tthis.fillOptions(this.documentFields, options);\n\n\t\toptions.set('variable', {\n\t\t\tid: '',\n\t\t\ttitle: Loc.getMessage('BPSGVA_VARIABLE'),\n\t\t\tcustomData: {\n\t\t\t\tproperty: {Type: 'string', Multiple: false},\n\t\t\t\tgroupId: this.constructor.#HELPER_OBJECT_NAME,\n\t\t\t\ttitle: Loc.getMessage('BPSGVA_VARIABLE')\n\t\t\t}\n\t\t});\n\n\t\toptions.set('parameter', {\n\t\t\tid: '',\n\t\t\ttitle: Loc.getMessage('BPSGVA_PARAMETER'),\n\t\t\tcustomData: {\n\t\t\t\tproperty: {Type: 'string', Multiple: false},\n\t\t\t\tgroupId: this.constructor.#HELPER_OBJECT_NAME,\n\t\t\t\ttitle: Loc.getMessage('BPSGVA_PARAMETER')\n\t\t\t}\n\t\t});\n\n\t\toptions.set('clear', {\n\t\t\tid: '',\n\t\t\ttitle: Loc.getMessage('BPSGVA_CLEAR'),\n\t\t\tcustomData: {\n\t\t\t\tproperty: {Type: 'string', Multiple: false},\n\t\t\t\tgroupId: this.constructor.#HELPER_OBJECT_NAME,\n\t\t\t\ttitle: Loc.getMessage('BPSGVA_CLEAR')\n\t\t\t}\n\t\t});\n\n\t\treturn options;\n\t}\n\n\tfillOptions(source, options)\n\t{\n\t\tlet optionId, optionProperty, optionsSource;\n\n\t\tfor (const groupName in source)\n\t\t{\n\t\t\toptionsSource = source[groupName];\n\n\t\t\tif (optionsSource['children'])\n\t\t\t{\n\t\t\t\toptionsSource = optionsSource['children'];\n\t\t\t}\n\n\t\t\tfor (const i in optionsSource)\n\t\t\t{\n\t\t\t\toptionId = optionsSource[i]['id'];\n\t\t\t\toptionProperty = optionsSource[i];\n\t\t\t\toptions.set(optionId, optionProperty);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetAvailableOptionsByGroup(): Map\n\t{\n\t\tconst options = new Map();\n\t\tthis.fillOptionsByGroupWithGlobals(this.variables, options, this.constructor.#G_VAR_OBJECT_NAME);\n\t\tthis.fillOptionsByGroupWithGlobals(this.constants, options, this.constructor.#G_CONST_OBJECT_NAME);\n\n\t\tconst items = [];\n\t\tfor (const i in this.documentFields)\n\t\t{\n\t\t\titems.push(this.documentFields[i]);\n\t\t}\n\t\toptions.set(this.constructor.#DOCUMENT_OBJECT_NAME + ':' + this.constructor.#DOCUMENT_OBJECT_NAME, items);\n\n\t\treturn options;\n\t}\n\n\tfillOptionsByGroupWithGlobals(source, options, topGroupName)\n\t{\n\t\tfor (const subGroupName in source)\n\t\t{\n\t\t\tconst key = topGroupName + ':' + subGroupName;\n\t\t\toptions.set(key, source[subGroupName]);\n\t\t}\n\t}\n\t// endregion\n\n\taddAssignmentExpressionRobot(variableId, values)\n\t{\n\t\tif (Type.isString(values))\n\t\t{\n\t\t\tvalues = {0: values};\n\t\t}\n\n\t\tconst incomingData = {variable: variableId, values};\n\t\tthis.modifyIncomingDataRobot(incomingData);\n\n\t\tconst addRowTable = this.addRowTable;\n\t\tthis.rowIndex++;\n\n\t\tconst rowInputs = Tag.render`<div id=\"${this.constructor.#RESULTS_ID + this.rowIndex}\"></div>`;\n\n\t\tconst parameterRowWrapper = Tag.render`\n\t\t\t<div\n\t\t\t\tclass=\"bizproc-automation-popup-settings-title\"\n\t\t\t\tdata-role=\"${Text.encode(this.constructor.#PARAMETER_ROLE + this.rowIndex)}\"\n\t\t\t></div>\n\t\t`;\n\n\t\tif (incomingData.values.length <= 0)\n\t\t{\n\t\t\tconst option = Runtime.clone(this.getOptionPropertiesRobot('clear'));\n\t\t\toption['multiple'] = incomingData.variable.property.Multiple;\n\t\t\toption['type'] = incomingData.variable.property.Type;\n\t\t\toption['inputIndex'] = 0;\n\t\t\tDom.append(this.createParameterRowRobot(this.rowIndex, option, rowInputs), parameterRowWrapper);\n\t\t}\n\t\tfor (const i in incomingData.values)\n\t\t{\n\t\t\tconst option = Runtime.clone(incomingData.values[i]);\n\t\t\toption['multiple'] = incomingData.variable.property.Multiple;\n\t\t\toption['type'] = incomingData.variable.property.Type;\n\t\t\toption['inputIndex'] = i;\n\t\t\tDom.append(this.createParameterRowRobot(this.rowIndex, option, rowInputs), parameterRowWrapper);\n\t\t}\n\n\t\tif (incomingData.variable.property.Multiple && incomingData.variable.property.Type !== 'user')\n\t\t{\n\t\t\tconst inputIndex = incomingData.values.length <= 0 ? 1 : incomingData.values.length;\n\t\t\tDom.append(this.createAddParameterRowRobot(this.rowIndex, inputIndex), parameterRowWrapper);\n\t\t}\n\n\t\tconst newRow = Tag.render`\n\t\t\t<div class=\"bizproc-automation-popup-settings\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"bizproc-automation-popup-settings bizproc-automation-popup-settings-text\"\n\t\t\t\t\tstyle=\"display: flex; align-items: flex-start\"\n\t\t\t\t>\n\t\t\t\t\t${this.createVariableRowRobot(incomingData.variable, rowInputs)}\n\t\t\t\t\t${parameterRowWrapper}\n\t\t\t\t</div>\n\t\t\t\t${rowInputs}\n\t\t\t</div>\n\t\t`;\n\n\t\tDom.append(newRow, addRowTable);\n\t}\n\n\tmodifyIncomingDataRobot(incomingData)\n\t{\n\t\tconst option = this.getOptionPropertiesRobot(incomingData.variable);\n\t\tif (incomingData.variable === undefined || option.groupId === this.constructor.#HELPER_OBJECT_NAME + ':text')\n\t\t{\n\t\t\tincomingData.variable = Runtime.clone(this.getOptionPropertiesRobot('variable'));\n\t\t\tconst valueOption = Runtime.clone(this.getOptionPropertiesRobot('parameter'));\n\t\t\tincomingData.values = [{\n\t\t\t\tid: valueOption.id,\n\t\t\t\ttitle: valueOption.title\n\t\t\t}];\n\n\t\t\treturn;\n\t\t}\n\n\t\tlet valuesOptions = [];\n\n\t\tswitch (option.property.Type)\n\t\t{\n\t\t\tcase 'select':\n\t\t\t\tvaluesOptions = this.getIncomingValuesSelect(incomingData);\n\t\t\t\tbreak;\n\t\t\tcase 'bool':\n\t\t\t\tvaluesOptions = this.getIncomingValuesBool(incomingData);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tfor (const i in incomingData.values)\n\t\t\t\t{\n\t\t\t\t\tlet valueOption = this.getOptionPropertiesRobot(incomingData.values[i]);\n\t\t\t\t\tif (incomingData.values[i] === '')\n\t\t\t\t\t{\n\t\t\t\t\t\tvalueOption = this.getOptionPropertiesRobot('clear');\n\t\t\t\t\t}\n\t\t\t\t\tvaluesOptions.push({\n\t\t\t\t\t\tid: valueOption.id,\n\t\t\t\t\t\ttitle: valueOption.title\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t}\n\n\t\tincomingData.variable = Runtime.clone(option);\n\t\tincomingData.values = valuesOptions;\n\t}\n\n\tgetOptionPropertiesRobot(optionId): {}\n\t{\n\t\tconst option = this.availableOptions.get(optionId);\n\t\tif (Type.isUndefined(option))\n\t\t{\n\t\t\treturn this.getDefaultOptionProperties(optionId);\n\t\t}\n\n\t\treturn this.getShortOptionProperties(option);\n\t}\n\n\tgetDefaultOptionProperties(optionId): {}\n\t{\n\t\treturn {\n\t\t\tid: optionId,\n\t\t\tproperty: {Type: 'string', Multiple: false},\n\t\t\tgroupId: this.constructor.#HELPER_OBJECT_NAME + ':text',\n\t\t\ttitle: optionId\n\t\t};\n\t}\n\n\tgetShortOptionProperties(option): {}\n\t{\n\t\treturn {\n\t\t\tid: option.id,\n\t\t\tproperty: option.customData.property,\n\t\t\tgroupId: option.customData.groupId,\n\t\t\ttitle: option.customData.title\n\t\t};\n\t}\n\n\tgetIncomingValuesSelect(incomingData): []\n\t{\n\t\tconst option = this.getOptionPropertiesRobot(incomingData.variable);\n\t\tconst valuesOptions = []\n\t\tlet title;\n\t\tlet valueOption;\n\t\tlet isExpressionOption;\n\n\t\tfor (const i in incomingData.values)\n\t\t{\n\t\t\ttitle = Loc.getMessage('BPSGVA_CLEAR');\n\t\t\tif (incomingData.values[i] !== '')\n\t\t\t{\n\t\t\t\tvalueOption = this.getOptionPropertiesRobot(incomingData.values[i]);\n\t\t\t\tisExpressionOption = true;\n\t\t\t\ttitle = valueOption.title;\n\t\t\t}\n\t\t\tif (option.property.Options[incomingData.values[i]] !== undefined)\n\t\t\t{\n\t\t\t\tisExpressionOption = false;\n\t\t\t\ttitle = option.property.Options[incomingData.values[i]];\n\t\t\t}\n\n\t\t\tvaluesOptions.push({\n\t\t\t\tid: incomingData.values[i],\n\t\t\t\ttitle,\n\t\t\t\tisExpressionOption\n\t\t\t});\n\t\t}\n\n\t\treturn valuesOptions;\n\t}\n\n\tgetIncomingValuesBool(incomingData): []\n\t{\n\t\tconst valuesOptions = [];\n\t\tlet title;\n\t\tlet valueOption;\n\n\t\tfor (const i in incomingData.values)\n\t\t{\n\t\t\tlet isExpressionOption = false;\n\t\t\tswitch (incomingData.values[i])\n\t\t\t{\n\t\t\t\tcase 'Y':\n\t\t\t\t\ttitle = Loc.getMessage('BPSGVA_BOOL_YES');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'N':\n\t\t\t\t\ttitle = Loc.getMessage('BPSGVA_BOOL_NO');\n\t\t\t\t\tbreak;\n\t\t\t\tcase '':\n\t\t\t\t\ttitle = Loc.getMessage('BPSGVA_CLEAR');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tvalueOption = this.getOptionPropertiesRobot(incomingData.values[i]);\n\t\t\t\t\ttitle = valueOption.title;\n\t\t\t\t\tisExpressionOption = true;\n\t\t\t}\n\t\t\tvaluesOptions.push({\n\t\t\t\tid: incomingData.values[i],\n\t\t\t\ttitle,\n\t\t\t\tisExpressionOption\n\t\t\t});\n\t\t}\n\n\t\treturn valuesOptions;\n\t}\n\n\tcreateVariableRowRobot(variableData, rowInputs: HTMLDivElement): HTMLDivElement\n\t{\n\t\tconst variableNode = Tag.render`\n\t\t\t<span \n\t\t\t\tclass=\"bizproc-automation-popup-settings-link setglobalvariableactivity-underline\"\n\t\t\t\tdata-role=\"${Text.encode(this.constructor.#VARIABLE_ROLE+ this.rowIndex)}\"\n\t\t\t\tbp_sgva_index=\"${Text.encode(String(this.rowIndex))}\"\n\t\t\t>\n\t\t\t\t${Loc.getMessage('BPSGVA_VARIABLE')}\n\t\t\t</span>\n\t\t`;\n\n\t\tconst systemExpression = this.#parseSystemExpression(variableData.id);\n\t\tconst isDeleted = (systemExpression.groupId === this.constructor.#HELPER_OBJECT_NAME + ':text');\n\t\tif (isDeleted)\n\t\t{\n\t\t\tsystemExpression.title = Loc.getMessage('BPSGVA_VARIABLE');\n\t\t}\n\n\t\tthis.#replaceTitle(variableNode, systemExpression.title);\n\t\tthis.#setHiddenValue(\n\t\t\tvariableNode,\n\t\t\tsystemExpression.id,\n\t\t\t{\n\t\t\t\tisMultiple: false,\n\t\t\t\tinputIndex: 0,\n\t\t\t\tisExpressionOption: false,\n\t\t\t},\n\t\t\trowInputs\n\t\t);\n\n\t\tEvent.bind(variableNode, 'click', this.onVariableSelectClickRobot.bind(this))\n\n\t\treturn Tag.render`<div>${variableNode}</div>`;\n\t}\n\n\tcreateParameterRowRobot(index, valueData, rowInputs): HTMLDivElement\n\t{\n\t\tconst parameterNode = Tag.render`\n\t\t\t<span \n\t\t\t\tclass=\"bizproc-automation-popup-settings-link setglobalvariableactivity-underline\"\n\t\t\t\tdata-role=\"${Text.encode(this.constructor.#PARAMETER_ROLE + index)}\"\n\t\t\t\tbp_sgva_index=\"${Text.encode(String(index))}\"\n\t\t\t>\n\t\t\t</span>\n\t\t`;\n\t\tparameterNode.setAttribute(this.constructor.#INPUT_INDEX_ATTRIBUTE_NAME, Text.toInteger(String(valueData.inputIndex)));\n\n\t\tconst systemExpression = this.#parseSystemExpression(valueData.id);\n\n\t\tsystemExpression.title = this.#formatTitle(valueData.type, valueData.title, valueData.id) ?? valueData.title;\n\t\tif (!Type.isStringFilled(systemExpression.title))\n\t\t{\n\t\t\tsystemExpression.title = Loc.getMessage('BPSGVA_CLEAR');\n\t\t}\n\n\t\tthis.#replaceTitle(parameterNode, systemExpression.title);\n\t\tthis.#setHiddenValue(\n\t\t\tparameterNode,\n\t\t\tsystemExpression.id,\n\t\t\t{\n\t\t\t\tisMultiple: valueData.multiple,\n\t\t\t\tinputIndex: Text.toInteger(String(valueData.inputIndex)),\n\t\t\t\tisExpressionOption: valueData.isExpressionOption\n\t\t\t},\n\t\t\trowInputs\n\t\t);\n\n\t\tEvent.bind(parameterNode, 'click', this.onParameterSelectClickRobot.bind(this, valueData.inputIndex));\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-automation-popup-settings-title setglobalvariableactivity-parameter-wrapper\">\n\t\t\t\t<div class=\"bizproc-automation-popup-settings-title setglobalvariableactivity-symbol-equal\"> = </div>\n\t\t\t\t<div>\n\t\t\t\t\t${parameterNode}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#formatTitle(type: string, title: string, inputValue: string, options: {} = null): ?string\n\t{\n\t\tconst property = {\n\t\t\tType: type,\n\t\t\tOptions: Type.isPlainObject(options) ? options : null,\n\t\t};\n\t\tconst value = (type === 'bool') ? inputValue : title;\n\n\t\tif (type === 'bool' && !['Y', 'N'].includes(value))\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\treturn BX.Bizproc.FieldType.formatValuePrintable(property, value) ?? null;\n\t}\n\n\treplaceHiddenInputRobot(data, rowInputs)\n\t{\n\t\tconst inputValue = data.inputValue;\n\t\tconst role = data.role + '_input';\n\t\tlet input = document.querySelectorAll('[data-role=\"' + role + '\"]');\n\n\t\t// single input\n\t\tif (input.length >= 1 && !data.multiple)\n\t\t{\n\t\t\tinput[0].name = data.isExpressionOption ? data.role + '_text' : data.role;\n\t\t\tinput[0].value = data.inputValue;\n\n\t\t\treturn;\n\t\t}\n\n\t\t// multiple input\n\t\tif (input.length >= 1 && data.multiple)\n\t\t{\n\t\t\tconst inputKeys = Object.keys(input);\n\t\t\tfor (const i in inputKeys)\n\t\t\t{\n\t\t\t\tconst inputIndex = input[inputKeys[i]].getAttribute(this.constructor.#INPUT_INDEX_ATTRIBUTE_NAME);\n\t\t\t\tif (data.inputIndex === inputIndex)\n\t\t\t\t{\n\t\t\t\t\tinput[i].name = data.isExpressionOption ? data.role + '_text' : data.role + '[]';\n\t\t\t\t\tinput[i].value = data.inputValue;\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// create input\n\t\tinput = Tag.render`<input type=\"hidden\">`;\n\t\tif (data.isExpressionOption)\n\t\t{\n\t\t\tinput.name = data.role + '_text';\n\t\t}\n\t\telse\n\t\t{\n\t\t\tinput.name = data.multiple ? data.role + '[]' : data.role;\n\t\t}\n\n\t\tinput.value = inputValue;\n\t\tinput.setAttribute('data-role', role);\n\t\tinput.setAttribute(this.constructor.#INPUT_INDEX_ATTRIBUTE_NAME, String(data.inputIndex));\n\t\tDom.append(input, rowInputs);\n\t}\n\n\tonVariableSelectClickRobot(event)\n\t{\n\t\tconst target = event.target;\n\t\tconst visibilityNames = this.getVisibilityNamesForSelect('variable');\n\n\t\tconst menu = new Menu({\n\t\t\tpopupOptions: {\n\t\t\t\tid: target.dataset.role + '_popup',\n\t\t\t\ttarget,\n\t\t\t\toffsetTop: 5,\n\t\t\t\toverlay: {backgroundColor: 'transparent'},\n\t\t\t\tcacheable: false,\n\t\t\t\tevents: {\n\t\t\t\t\tonClose: () => (menu.destroy()),\n\t\t\t\t}\n\t\t\t},\n\t\t\tcontentData: {\n\t\t\t\trows: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: Loc.getMessage('BPSGVA_TYPE_OF_PARAMETER'),\n\t\t\t\t\t\tvalues: visibilityNames,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: Loc.getMessage('BPSGVA_LIST_OF_VALUES'),\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'empty',\n\t\t\t\t\t\t\t\ttext: Loc.getMessage('BPSGVA_EMPTY'),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\tonClick: this.#onMenuRowVariableValuesClick.bind(this),\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t},\n\t\t\tevents: {\n\t\t\t\t'onSetRowValue': this.#onMenuVariableSetRowValue,\n\t\t\t\t'onApplyChangesClick': this.#onMenuVariableApplyChangesClick.bind(this),\n\t\t\t},\n\t\t});\n\t\tmenu.create();\n\n\t\tconst selectedVariable = this.getVariableInputValue(target.getAttribute('data-role'));\n\t\tconst systemExpression = this.#parseSystemExpression(selectedVariable);\n\t\tconst isDeleted = (systemExpression.groupId === this.constructor.#HELPER_OBJECT_NAME + ':text');\n\t\tif (isDeleted)\n\t\t{\n\t\t\tsystemExpression.groupId = visibilityNames[0].id;\n\t\t\tsystemExpression.title = Loc.getMessage('BPSGVA_EMPTY');\n\t\t}\n\n\t\tmenu.setRowValue(0, systemExpression.groupId);\n\t\tmenu.setRowValue(1, selectedVariable, systemExpression.title);\n\n\t\tmenu.show();\n\t}\n\n\t#parseSystemExpression(systemExpression: string): {id: string, groupId: string, title: string}\n\t{\n\t\tconst option = this.availableOptions.get(systemExpression);\n\t\tif (Type.isUndefined(option))\n\t\t{\n\t\t\treturn {\n\t\t\t\tid: systemExpression,\n\t\t\t\tgroupId: this.constructor.#HELPER_OBJECT_NAME + ':text',\n\t\t\t\ttitle: systemExpression,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tid: option.id,\n\t\t\tgroupId: option.customData.groupId,\n\t\t\ttitle: option.customData.title,\n\t\t};\n\t}\n\n\t#onMenuRowVariableValuesClick(event: BaseEvent)\n\t{\n\t\tconst menu: Menu = event.getData().menu;\n\t\tconst selectedVariableType = menu.getRowValue(0);\n\n\t\tconst items = this.availableOptionsByGroupId.get(selectedVariableType) ?? [];\n\t\tconst filteredItems = this.filterItemsInStandardMenuRobot('string', items);\n\n\t\tconst selector = new Selector(\n\t\t\tfilteredItems,\n\t\t\t{\n\t\t\t\ttarget: event.getTarget(),\n\t\t\t\tshowStubs: true, //this.isGVariableVisibility(selectedVariableType) || this.isGConstantVisibility(selectedVariableType),\n\t\t\t\tobjectName: this.constructor.#G_VAR_OBJECT_NAME, //this.#getObjectName(selectedVariableType),\n\t\t\t\tevents: {\n\t\t\t\t\t'onBeforeSelect': this.#onBeforeSelectItemInSelector.bind(this, menu),\n\t\t\t\t\t'onAfterCreate': this.#onAfterCreateItemInSelector.bind(this),\n\t\t\t\t},\n\t\t\t\titemCreateContext: {\n\t\t\t\t\tindex: 0,\n\t\t\t\t\tvisibility: String(selectedVariableType),\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tmode: Globals.Manager.Instance.mode.variable,\n\t\t\t\t\tobjectName: this.constructor.#G_VAR_OBJECT_NAME,\n\t\t\t\t\tsignedDocumentType: this.signedDocumentType,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\n\t\tselector.show();\n\t}\n\n\t#getObjectName(visibility: string): string\n\t{\n\t\tif (this.isGVariableVisibility(visibility))\n\t\t{\n\t\t\treturn this.constructor.#G_VAR_OBJECT_NAME;\n\t\t}\n\n\t\tif (this.isGConstantVisibility(visibility))\n\t\t{\n\t\t\treturn this.constructor.#G_CONST_OBJECT_NAME;\n\t\t}\n\n\t\tif (this.isDocumentVisibility(visibility))\n\t\t{\n\t\t\treturn this.constructor.#DOCUMENT_OBJECT_NAME;\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t#onMenuVariableSetRowValue(event: BaseEvent)\n\t{\n\t\tconst eventData = event.getData();\n\t\tconst rowIndex = eventData.rowIndex;\n\t\tconst menu: Menu = eventData.menu;\n\n\t\tif (rowIndex === 0)\n\t\t{\n\t\t\tmenu.setRowValue(1, '', Loc.getMessage('BPSGVA_EMPTY'));\n\t\t}\n\t}\n\n\t#onMenuVariableApplyChangesClick(event: BaseEvent)\n\t{\n\t\tconst eventData = event.getData();\n\t\tconst values = eventData.values;\n\t\tconst target = eventData.target;\n\n\t\tconst newSelectedVariable = values[1];\n\t\tconst systemExpression = this.#parseSystemExpression(newSelectedVariable);\n\t\tconst isExist = (systemExpression.groupId !== this.constructor.#HELPER_OBJECT_NAME + ':text');\n\t\tif (!isExist)\n\t\t{\n\t\t\tsystemExpression.title = Loc.getMessage('BPSGVA_VARIABLE');\n\t\t}\n\n\t\tthis.#replaceTitle(target, systemExpression.title);\n\t\tthis.#setHiddenValue(\n\t\t\ttarget,\n\t\t\tsystemExpression.id,\n\t\t\t{\n\t\t\t\tisMultiple: false,\n\t\t\t\tinputIndex: 0,\n\t\t\t\tisExpressionOption: false\n\t\t\t}\n\t\t);\n\t\tthis.#clearRelatedParameter(target);\n\t\tthis.#addEmptyRelatedParameter(target, newSelectedVariable);\n\t}\n\n\t#replaceTitle(target: HTMLElement, title: string)\n\t{\n\t\ttarget.innerText = title;\n\t}\n\n\t#setHiddenValue(\n\t\ttarget: HTMLElement,\n\t\tvalue: string,\n\t\tcontext: {\n\t\t\tisMultiple: boolean,\n\t\t\tinputIndex: number,\n\t\t\tisExpressionOption: boolean,\n\t\t},\n\t\trowInputs?: HTMLElement\n\t)\n\t{\n\t\tconst index = target.getAttribute(this.constructor.#INDEX_ATTRIBUTE_NAME);\n\t\tconst targetRole = target.getAttribute('data-role');\n\t\tconst role = targetRole + '_input';\n\t\tif (Type.isNil(rowInputs))\n\t\t{\n\t\t\trowInputs = document.getElementById(this.constructor.#RESULTS_ID + index);\n\t\t}\n\n\t\tconst inputs = document.querySelectorAll('[data-role=\"' + role + '\"]');\n\t\t// single input\n\t\tif (inputs.length >= 1 && !context.isMultiple)\n\t\t{\n\t\t\tinputs[0].name = Text.encode(targetRole + (context.isExpressionOption ? '_text' : ''));\n\t\t\tinputs[0].value = value;\n\n\t\t\treturn;\n\t\t}\n\n\t\t// multiple input\n\t\tif (inputs.length >= 1 && context.isMultiple)\n\t\t{\n\t\t\tfor (const input of inputs)\n\t\t\t{\n\t\t\t\tif (context.inputIndex === input.getAttribute(this.constructor.#INPUT_INDEX_ATTRIBUTE_NAME))\n\t\t\t\t{\n\t\t\t\t\tinput.name =\n\t\t\t\t\t\tcontext.isExpressionOption\n\t\t\t\t\t\t\t? Text.encode(targetRole + '_text')\n\t\t\t\t\t\t\t: Text.encode(targetRole + '[]')\n\t\t\t\t\t;\n\t\t\t\t\tinput.value = value;\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet inputName;\n\t\tif (context.isExpressionOption)\n\t\t{\n\t\t\tinputName = targetRole + '_text';\n\t\t}\n\t\telse\n\t\t{\n\t\t\tinputName = targetRole + (context.isMultiple ? '[]' : '');\n\t\t}\n\n\t\tconst input = Tag.render`\n\t\t\t<input \n\t\t\t\ttype=\"hidden\"\n\t\t\t\tname=\"${Text.encode(inputName)}\" value=\"${Text.encode(value)}\"\n\t\t\t\tdata-role=\"${Text.encode(role)}\"\n\t\t\t>\n\t\t`;\n\t\tinput.setAttribute(this.constructor.#INPUT_INDEX_ATTRIBUTE_NAME, Text.toInteger(context.inputIndex));\n\n\t\tDom.append(input, rowInputs);\n\t}\n\n\t#clearRelatedParameter(target: HTMLElement)\n\t{\n\t\tconst index = target.getAttribute(this.constructor.#INDEX_ATTRIBUTE_NAME);\n\t\tconst parameterNode = document.querySelector('[data-role=\"' + this.constructor.#PARAMETER_ROLE + index + '\"]');\n\t\tthis.deleteOldValueRowsRobot(parameterNode);\n\t}\n\n\t#addEmptyRelatedParameter(target: HTMLElement, selectedVariable: string)\n\t{\n\t\tconst index = target.getAttribute(this.constructor.#INDEX_ATTRIBUTE_NAME);\n\t\tconst variableOption = this.getOptionPropertiesRobot(selectedVariable);\n\t\tvariableOption.inputIndex = '0';\n\n\t\tthis.changeParameterExpressionRobot(index, variableOption);\n\t}\n\n\tgetVariableInputValue(role): string\n\t{\n\t\tconst inputRole = role + '_input';\n\t\tconst inputs = document.querySelectorAll('[data-role=\"' + inputRole + '\"]');\n\n\t\treturn (inputs.length >= 1) ? inputs['0'].value : '';\n\t}\n\n\tcreateInputForMenuFormRobot(type, index, inputValue): HTMLElement\n\t{\n\t\tif (type === 'variable')\n\t\t{\n\t\t\tconst wrapper = Tag.render`<div class=\"bizproc-automation-popup-select\"></div>`;\n\t\t\tconst input = Tag.render`<input class=\"bizproc-automation-popup-input\" type=\"hidden\" style=\"width: 280px\">`;\n\t\t\tDom.append(input, wrapper);\n\n\t\t\treturn wrapper;\n\t\t}\n\n\t\tconst variableOption = this.getVariableOptionFromVariableInput(index);\n\n\t\tlet wrapper;\n\t\tswitch (variableOption.property.Type)\n\t\t{\n\t\t\tcase 'user':\n\t\t\t\twrapper = BX.Bizproc.FieldType.renderControl(\n\t\t\t\t\tthis.documentType,\n\t\t\t\t\tvariableOption.property,\n\t\t\t\t\t'bp_sgva_field_input',\n\t\t\t\t\tinputValue\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'select':\n\t\t\tcase 'bool':\n\t\t\t\twrapper = BX.Bizproc.FieldType.renderControl(\n\t\t\t\t\tthis.documentType,\n\t\t\t\t\t{\n\t\t\t\t\t\tType: variableOption.property.Type,\n\t\t\t\t\t\tOptions: variableOption.property.Options\n\t\t\t\t\t},\n\t\t\t\t\t'bp_sgva_field_input',\n\t\t\t\t\tinputValue\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\twrapper = BX.Bizproc.FieldType.renderControl(\n\t\t\t\t\tthis.documentType,\n\t\t\t\t\t{Type: variableOption.property.Type},\n\t\t\t\t\t'bp_sgva_field_input',\n\t\t\t\t\tvariableOption.id\n\t\t\t\t);\n\t\t}\n\n\t\tDom.style(wrapper, 'width', '280px');\n\t\tconst input = this.findInputInFormRobot(wrapper);\n\t\tif (['bool', 'select'].includes(variableOption.property.Type))\n\t\t{\n\t\t\tif (input.value !== inputValue)\n\t\t\t{\n\t\t\t\tconst option = this.getOptionPropertiesRobot(inputValue);\n\t\t\t\tthis.resolveAdditionOptionInSelectRobot(input, option);\n\t\t\t}\n\t\t}\n\n\t\tif (input)\n\t\t{\n\t\t\tDom.style(input, 'width', '100%');\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\tgetVariableOptionFromVariableInput(index): {}\n\t{\n\t\tconst variableInput = document.querySelector('[data-role=\"' + this.constructor.#VARIABLE_ROLE + index + '_input\"]');\n\t\tconst variableId = variableInput ? variableInput.value: '';\n\n\t\treturn this.getOptionPropertiesRobot(variableId);\n\t}\n\n\tfindInputInFormRobot(form): HTMLElement\n\t{\n\t\tlet inputs = form.getElementsByTagName('input');\n\t\tif (inputs.length >= 1)\n\t\t{\n\t\t\treturn inputs[inputs.length - 1];\n\t\t}\n\n\t\tinputs = form.getElementsByTagName('textarea');\n\t\tif (inputs.length >= 1)\n\t\t{\n\t\t\treturn inputs[inputs.length - 1];\n\t\t}\n\n\t\tinputs = form.getElementsByTagName('select');\n\t\tif (inputs.length >= 1)\n\t\t{\n\t\t\treturn inputs[inputs.length - 1];\n\t\t}\n\t}\n\n\tresolveAdditionOptionInSelectRobot(input, option)\n\t{\n\t\tconst selectOptions = input.options;\n\t\tlet opt = selectOptions[selectOptions.length - 1];\n\t\tif (opt.getAttribute('data-role') !== 'expression')\n\t\t{\n\t\t\topt = Tag.render`<option></option>`;\n\t\t\topt.setAttribute('data-role', 'expression');\n\t\t\tDom.append(opt, input);\n\t\t}\n\t\topt.value = option.id;\n\t\tif (!option.customData)\n\t\t{\n\t\t\topt.text = option.title;\n\t\t}\n\t\telse\n\t\t{\n\t\t\topt.text = option.customData.get('title');\n\t\t}\n\n\t\topt.setAttribute('selected', 'selected');\n\t\tif (!opt.selected)\n\t\t{\n\t\t\topt.selected = true;\n\t\t}\n\t}\n\n\tfilterItemsInStandardMenuRobot(variableType, items): []\n\t{\n\t\tconst filter = this.getFilterByVariableType(variableType);\n\t\tif (filter.length === this.numberOfTypes)\n\t\t{\n\t\t\treturn items;\n\t\t}\n\n\t\tconst filterItems = [];\n\t\tfor (const i in items)\n\t\t{\n\t\t\tif (items[i].children)\n\t\t\t{\n\t\t\t\tconst filterChildrenItems = this.filterItemsInStandardMenuRobot(variableType, items[i].children);\n\t\t\t\tif (filterChildrenItems.length >= 1)\n\t\t\t\t{\n\t\t\t\t\tconst menuItem = items[i];\n\t\t\t\t\tmenuItem.children = filterChildrenItems;\n\t\t\t\t\tfilterItems.push(menuItem);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (filter.includes(items[i].customData.property.Type))\n\t\t\t\t{\n\t\t\t\t\tfilterItems.push(items[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn filterItems;\n\t}\n\n\tgetFilterByVariableType(type): []\n\t{\n\t\tswitch (type)\n\t\t{\n\t\t\tcase 'double':\n\t\t\t\treturn ['int', 'double'];\n\t\t\tcase 'datetime':\n\t\t\t\treturn ['date', 'datetime'];\n\t\t\tcase 'date':\n\t\t\tcase 'int':\n\t\t\tcase 'user':\n\t\t\t\treturn [type];\n\t\t\tdefault:\n\t\t\t\t// this.numberOfTypes = 9\n\t\t\t\treturn ['string', 'text', 'select', 'bool', 'int', 'double', 'date', 'datetime', 'user'];\n\t\t}\n\t}\n\n\tgetVisibilityNamesForSelect(type): {}\n\t{\n\t\tconst list = [];\n\t\tconst parameterTypes = this.visibilityMessages;\n\t\tparameterTypes[this.constructor.#HELPER_OBJECT_NAME] = {\n\t\t\t'text': Loc.getMessage('BPSGVA_TEXT'),\n\t\t};\n\t\tfor (const topGroupName in parameterTypes)\n\t\t{\n\t\t\tif (type === 'variable' && topGroupName !== this.constructor.#G_VAR_OBJECT_NAME)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tfor (const subGroupName in parameterTypes[topGroupName])\n\t\t\t{\n\t\t\t\tlist.push({\n\t\t\t\t\tid: topGroupName + ':' + subGroupName,\n\t\t\t\t\ttext: parameterTypes[topGroupName][subGroupName]\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn list;\n\t}\n\n\tchangeParameterExpressionRobot(index, variable)\n\t{\n\t\tconst parameterNode = document.querySelector('[data-role=\"' + this.constructor.#PARAMETER_ROLE + index + '\"]');\n\t\tthis.deleteOldValueRowsRobot(parameterNode);\n\t\tconst rowInputs = document.getElementById(this.constructor.#RESULTS_ID + index);\n\n\t\tconst option = Runtime.clone(this.getOptionPropertiesRobot('parameter'));\n\n\t\toption['multiple'] = variable.property.Multiple;\n\t\toption['inputIndex'] = '0';\n\n\t\tDom.append(this.createParameterRowRobot(index, option, rowInputs), parameterNode);\n\n\t\tif (variable.property.Multiple && variable.property.Type !== 'user')\n\t\t{\n\t\t\tconst inputIndex = (variable.inputIndex !== '0') ? variable.inputIndex : '1';\n\t\t\tDom.append(this.createAddParameterRowRobot(index, inputIndex), parameterNode);\n\t\t}\n\t}\n\n\tdeleteOldValueRowsRobot(node)\n\t{\n\t\tconst role = node.getAttribute('data-role');\n\t\tnode.innerHTML = '';\n\t\tconst oldInputs = document.querySelectorAll('[data-role=\"' + role + '_input\"]');\n\t\tfor (const i in Object.keys(oldInputs))\n\t\t{\n\t\t\toldInputs[i].remove();\n\t\t}\n\t}\n\n\tcreateAddParameterRowRobot(index, inputIndex): HTMLDivElement\n\t{\n\t\tconst addWrapper = Tag.render`<div class=\"bizproc-automation-popup-settings-title\" style=\"display:flex;\"></div>`\n\t\tconst addExpression = Tag.render`\n\t\t\t<div class=\"bizproc-type-control-clone-btn setglobalvariableactivity-dashed-grey setglobalvariableactivity-add-parameter\">\n\t\t\t\t${Text.encode(Loc.getMessage('BPSGVA_ADD_PARAMETER'))}\n\t\t\t</div>\n\t\t`;\n\t\taddExpression.setAttribute(this.constructor.#INDEX_ATTRIBUTE_NAME, String(index));\n\t\taddExpression.setAttribute(this.constructor.#INPUT_INDEX_ATTRIBUTE_NAME, String(inputIndex));\n\t\tEvent.bind(addExpression, 'click', this.onAddParameterButtonClickRobot.bind(this));\n\n\t\tDom.append(addExpression, addWrapper);\n\n\t\treturn addWrapper;\n\t}\n\n\tonAddParameterButtonClickRobot(event)\n\t{\n\t\tconst index = event.target.getAttribute(this.constructor.#INDEX_ATTRIBUTE_NAME);\n\t\tconst rowInputs = document.getElementById(this.constructor.#RESULTS_ID + index);\n\t\tconst inputIndex = event.target.getAttribute(this.constructor.#INPUT_INDEX_ATTRIBUTE_NAME);\n\n\t\tconst option = Runtime.clone(this.getOptionPropertiesRobot('parameter'));\n\t\toption['multiple'] = true;\n\t\toption['inputIndex'] = inputIndex;\n\n\t\tevent.target.parentNode.before(this.createParameterRowRobot(index, option, rowInputs));\n\t\tevent.target.setAttribute(this.constructor.#INPUT_INDEX_ATTRIBUTE_NAME, Number(inputIndex) + 1);\n\t}\n\n\tonParameterSelectClickRobot(inputIndex, event)\n\t{\n\t\tconst target = event.target;\n\t\tconst visibilityNames = this.getVisibilityNamesForSelect('all');\n\n\t\tconst menu = new Menu({\n\t\t\tpopupOptions: {\n\t\t\t\tid: target.dataset.role + '_popup',\n\t\t\t\ttarget,\n\t\t\t\toffsetTop: 5,\n\t\t\t\toverlay: {backgroundColor: 'transparent'},\n\t\t\t\tcacheable: false,\n\t\t\t\tevents: {\n\t\t\t\t\tonClose: () => (menu.destroy()),\n\t\t\t\t},\n\t\t\t},\n\t\t\tcontentData: {\n\t\t\t\trows: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: Loc.getMessage('BPSGVA_TYPE_OF_PARAMETER'),\n\t\t\t\t\t\tvalues: visibilityNames,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: Loc.getMessage('BPSGVA_LIST_OF_VALUES'),\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'empty',\n\t\t\t\t\t\t\t\ttext: Loc.getMessage('BPSGVA_EMPTY'),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\tonClick: this.#onMenuRowParameterValuesClick.bind(this),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\tevents: {\n\t\t\t\t'onSetRowValue': this.#onMenuParameterSetRowValue.bind(this),\n\t\t\t\t'onApplyChangesClick': this.#onMenuParameterApplyChangesClick.bind(this),\n\t\t\t},\n\t\t});\n\t\tmenu.create();\n\n\t\tconst selectedParameter = this.getParameterInputValue(target.getAttribute('data-role') + '_input', inputIndex);\n\t\tconst systemExpression = this.#parseSystemExpression(selectedParameter);\n\n\t\tmenu.setRowValue(0, systemExpression.groupId);\n\t\tconst isOwnValue = systemExpression.groupId === this.constructor.#HELPER_OBJECT_NAME + ':text';\n\t\tconst inputValue = this.getParameterInputValue(target.getAttribute('data-role') + '_input', inputIndex);\n\t\tif (isOwnValue)\n\t\t{\n\t\t\tconst index = target.getAttribute(this.constructor.#INDEX_ATTRIBUTE_NAME);\n\t\t\tconst secondRowTarget = this.createInputForMenuFormRobot('all', index, inputValue);\n\t\t\tconst input = this.findInputInFormRobot(secondRowTarget);\n\t\t\tmenu.replaceRowTarget(1, secondRowTarget, input);\n\t\t}\n\t\tmenu.setRowValue(1, inputValue, isOwnValue ? '' : systemExpression.title);\n\n\t\tmenu.show();\n\t}\n\n\t#onMenuRowParameterValuesClick(event: BaseEvent)\n\t{\n\t\tconst menu: Menu = event.getData().menu;\n\t\tconst selectedParameterType = menu.getRowValue(0);\n\n\t\tconst selectedVariableIndex = menu.target.getAttribute(this.constructor.#INDEX_ATTRIBUTE_NAME);\n\t\tconst selectedVariableOption = this.getVariableOptionFromVariableInput(selectedVariableIndex);\n\t\tconst selectedVariableType = selectedVariableOption.property.Type;\n\n\t\tconst items = this.availableOptionsByGroupId.get(selectedParameterType) ?? [];\n\t\tconst filteredItems = this.filterItemsInStandardMenuRobot(selectedVariableType, items);\n\n\t\tconst showStubs = (\n\t\t\tthis.isGVariableVisibility(selectedParameterType)\n\t\t\t|| this.isGConstantVisibility(selectedParameterType)\n\t\t);\n\t\tconst objectName = this.#getObjectName(selectedParameterType);\n\t\tlet mode = '';\n\t\tif (showStubs)\n\t\t{\n\t\t\tmode =\n\t\t\t\tthis.isGVariableVisibility(selectedParameterType)\n\t\t\t\t\t? Globals.Manager.Instance.mode.variable\n\t\t\t\t\t: Globals.Manager.Instance.mode.constant\n\t\t\t;\n\t\t}\n\n\t\tconst selector = new Selector(\n\t\t\tfilteredItems,\n\t\t\t{\n\t\t\t\tshowStubs,\n\t\t\t\tobjectName,\n\t\t\t\ttarget: event.getTarget(),\n\t\t\t\tevents: {\n\t\t\t\t\t'onBeforeSelect': this.#onBeforeSelectItemInSelector.bind(this, menu),\n\t\t\t\t\t'onAfterCreate': this.#onAfterCreateItemInSelector.bind(this),\n\t\t\t\t},\n\t\t\t\titemCreateContext: {\n\t\t\t\t\tmode,\n\t\t\t\t\tobjectName,\n\t\t\t\t\tindex: 0,\n\t\t\t\t\tvisibility: String(selectedParameterType),\n\t\t\t\t\ttype: String(selectedVariableType),\n\t\t\t\t\tsignedDocumentType: this.signedDocumentType,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\n\t\tselector.show();\n\t}\n\n\t#onMenuParameterSetRowValue(event: BaseEvent)\n\t{\n\t\tconst eventData = event.getData();\n\t\tconst rowIndex = eventData.rowIndex;\n\t\tconst menu: Menu = eventData.menu;\n\n\t\tif (rowIndex === 0)\n\t\t{\n\t\t\tif (eventData.value !== this.constructor.#HELPER_OBJECT_NAME + ':text')\n\t\t\t{\n\t\t\t\tmenu.setRowLabel(1, Loc.getMessage('BPSGVA_LIST_OF_VALUES'));\n\n\t\t\t\tconst row = menu.createEmptyRow(1);\n\t\t\t\tmenu.replaceRowTarget(1, row, row);\n\t\t\t\tmenu.setRowValue(1, '', Loc.getMessage('BPSGVA_EMPTY'));\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmenu.setRowLabel(1, Loc.getMessage('BPSGVA_INPUT_TEXT'));\n\n\t\t\tconst index = menu.target.getAttribute(this.constructor.#INDEX_ATTRIBUTE_NAME);\n\t\t\tconst secondRowTarget = this.createInputForMenuFormRobot('all', index, '');\n\t\t\tconst input = this.findInputInFormRobot(secondRowTarget);\n\t\t\tmenu.replaceRowTarget(1, secondRowTarget, input);\n\t\t\tmenu.setRowValue(1, '', '');\n\t\t}\n\t}\n\n\t#onMenuParameterApplyChangesClick(event: BaseEvent)\n\t{\n\t\tconst eventData = event.getData();\n\t\tconst menu: Menu = eventData.menu;\n\t\tconst values = eventData.values;\n\t\tconst target = eventData.target;\n\n\t\tconst parameterType = values[0];\n\t\tlet newSelectedParameter = values[1];\n\t\tif (parameterType === this.constructor.#HELPER_OBJECT_NAME + ':text')\n\t\t{\n\t\t\tlet input = menu.getRowInput(1);\n\t\t\tif (!input)\n\t\t\t{\n\t\t\t\tinput = this.findInputInFormRobot(menu.getRowTarget(1));\n\t\t\t}\n\n\t\t\tnewSelectedParameter = input?.value ?? '';\n\t\t}\n\n\t\tconst systemExpression = this.#parseSystemExpression(newSelectedParameter);\n\t\tif (!Type.isStringFilled(systemExpression.title))\n\t\t{\n\t\t\tsystemExpression.title = Loc.getMessage('BPSGVA_CLEAR');\n\t\t}\n\t\tconst selectedVariableIndex = menu.target.getAttribute(this.constructor.#INDEX_ATTRIBUTE_NAME);\n\t\tconst selectedVariableOption = this.getVariableOptionFromVariableInput(selectedVariableIndex);\n\t\tsystemExpression.title =\n\t\t\tthis.#formatTitle(\n\t\t\t\tselectedVariableOption.property.Type,\n\t\t\t\tsystemExpression.title,\n\t\t\t\tnewSelectedParameter,\n\t\t\t\tselectedVariableOption.property.Options\n\t\t\t)\n\t\t\t?? systemExpression.title\n\t\t;\n\t\tthis.#replaceTitle(target, systemExpression.title);\n\n\t\tconst isExpressionOption = (\n\t\t\t['select', 'bool'].includes(selectedVariableOption.property.Type)\n\t\t\t&& parameterType !== this.constructor.#HELPER_OBJECT_NAME + ':text'\n\t\t);\n\t\tthis.#setHiddenValue(\n\t\t\ttarget,\n\t\t\tsystemExpression.id,\n\t\t\t{\n\t\t\t\tisMultiple: selectedVariableOption.property.Multiple,\n\t\t\t\tinputIndex: target.getAttribute(this.constructor.#INPUT_INDEX_ATTRIBUTE_NAME),\n\t\t\t\tisExpressionOption,\n\t\t\t}\n\t\t);\n\t}\n\n\t#onBeforeSelectItemInSelector(menu, event: BaseEvent)\n\t{\n\t\tconst dialogItem = event.getData().item;\n\t\tmenu.setRowValue(1, dialogItem.id, dialogItem.customData.get('title'));\n\t}\n\n\t#onAfterCreateItemInSelector(event: BaseEvent)\n\t{\n\t\tconst item = event.getData().item;\n\t\tthis.availableOptions.set(item.id, item);\n\n\t\tconst groupItems = this.availableOptionsByGroupId.get(item.customData.groupId) ?? [];\n\t\tgroupItems.push(item);\n\t\tthis.availableOptionsByGroupId.set(item.customData.groupId, groupItems);\n\t}\n\n\tgetParameterInputValue(role, index): string\n\t{\n\t\tconst inputs = document.querySelectorAll('[data-role=\"' + role + '\"]', index);\n\t\tconst keys = Object.keys(inputs);\n\t\tfor (const i in keys)\n\t\t{\n\t\t\tif (String(inputs[keys[i]].getAttribute(this.constructor.#INPUT_INDEX_ATTRIBUTE_NAME)) === String(index))\n\t\t\t{\n\t\t\t\treturn inputs[keys[i]].value;\n\t\t\t}\n\t\t}\n\n\t\treturn '';\n\n\t}\n\n\taddExpressionButtonRobot()\n\t{\n\t\tconst buttonAdd = document.getElementById(this.constructor.#ADD_BUTTON_ID);\n\t\tbuttonAdd.innerText = Loc.getMessage('BPSGVA_ADD_VARIABLE');\n\t\tEvent.bind(buttonAdd, 'click', this.addAssignmentExpressionRobot.bind(this));\n\t}\n\n\taddExpressionButtonDesigner()\n\t{\n\t\tconst button = Tag.render`<a href='#'>${Loc.getMessage('BPSGVA_PD_ADD')}</a>`;\n\t\tEvent.bind(button, 'click', (event) => {\n\t\t\tthis.addAssignmentExpressionDesigner();\n\t\t\tevent.preventDefault();\n\t\t});\n\n\t\tDom.insertAfter(button, this.addRowTable);\n\t}\n\n\tconvertFieldExpression(option): string\n\t{\n\t\tif (this.isDocumentVisibility(option.groupId))\n\t\t{\n\t\t\treturn '{{' + option.property.Name + '}}';\n\t\t}\n\n\t\tif (this.isGVariableVisibility(option.groupId))\n\t\t{\n\t\t\tconst messages = this.visibilityMessages[this.constructor.#G_VAR_OBJECT_NAME];\n\t\t\tconst visibility = option.property.Visibility;\n\t\t\tconst name = option.property.Name;\n\n\t\t\treturn '{{' + messages[visibility] + ': ' + name + '}}';\n\t\t}\n\n\t\tif (this.isGConstantVisibility(option.groupId))\n\t\t{\n\t\t\tconst messages = this.visibilityMessages[this.constructor.#G_CONST_OBJECT_NAME];\n\t\t\tconst visibility = option.property.Visibility;\n\t\t\tconst name = option.property.Name;\n\n\t\t\treturn '{{' + messages[visibility] + ': ' + name + '}}';\n\t\t}\n\n\t\treturn option.id;\n\t}\n\n\taddAssignmentExpressionDesigner(variable, value)\n\t{\n\t\tconst addRowTable = this.addRowTable;\n\t\tthis.rowIndex++;\n\n\t\tconst newRow = addRowTable.insertRow(-1);\n\t\tnewRow.id = 'delete_row_' + this.rowIndex;\n\n\t\tconst cellSelect = newRow.insertCell(-1);\n\n\t\tconst newSelect = Tag.render`<select name=\"${this.constructor.#VARIABLE_ROLE + this.rowIndex}\"></select>`;\n\t\tnewSelect.setAttribute(this.constructor.#INDEX_ATTRIBUTE_NAME, this.rowIndex);\n\t\tconst me = this;\n\t\tnewSelect.onchange = function() {\n\t\t\tme.changeFieldTypeDesigner(\n\t\t\t\tthis.getAttribute(me.constructor.#INDEX_ATTRIBUTE_NAME),\n\t\t\t\tthis.options[this.selectedIndex].value,\n\t\t\t\tnull\n\t\t\t);\n\t\t};\n\n\t\tconst objectVisibilityMessages = this.visibilityMessages[this.constructor.#G_VAR_OBJECT_NAME];\n\t\tfor (const visibility in objectVisibilityMessages)\n\t\t{\n\t\t\tconst optgroupLabel = objectVisibilityMessages[visibility];\n\t\t\tconst optgroup = Tag.render`<optgroup label=\"${Text.encode(optgroupLabel)}\"></optgroup>`;\n\n\t\t\tconst groupOptions = this.availableOptionsByGroupId.get(this.constructor.#G_VAR_OBJECT_NAME + ':' + visibility);\n\t\t\tif (!groupOptions){\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlet optionNode;\n\t\t\tfor (const i in groupOptions)\n\t\t\t{\n\t\t\t\toptionNode = Tag.render`\n\t\t\t\t\t<option value=\"${Text.encode(groupOptions[i]['id'])}\">\n\t\t\t\t\t\t${Text.encode(groupOptions[i]['customData']['title'])}\n\t\t\t\t\t</option>\n\t\t\t\t`;\n\t\t\t\tDom.append(optionNode, optgroup);\n\t\t\t}\n\n\t\t\tDom.append(optgroup, newSelect);\n\t\t}\n\n\t\tnewSelect.value = variable;\n\t\tif (newSelect.selectedIndex === -1)\n\t\t{\n\t\t\tnewSelect.selectedIndex = 0;\n\t\t}\n\t\tDom.append(newSelect, cellSelect);\n\n\t\tconst cellSymbolEquals = newRow.insertCell(-1);\n\t\tcellSymbolEquals.innerHTML = '=';\n\n\t\tconst cellValue = newRow.insertCell(-1);\n\t\tcellValue.id = 'id_td_variable_value_' + this.rowIndex;\n\t\tcellValue.innerHTML = '';\n\n\t\tconst cellDeleteRow = newRow.insertCell(-1);\n\t\tcellDeleteRow.aligh = 'right';\n\t\tconst deleteLink = Tag.render`<a href=\"#\">${Text.encode(Loc.getMessage('BPSGVA_PD_DELETE'))}</a>`;\n\t\tconst index = this.rowIndex;\n\t\tEvent.bind(deleteLink, 'click', (event) =>\n\t\t{\n\t\t\tme.deleteConditionDesigner(index);\n\t\t\tevent.preventDefault();\n\t\t});\n\t\tDom.append(deleteLink, cellDeleteRow);\n\n\t\tif (Type.isArray(value))\n\t\t{\n\t\t\tfor (const i in value)\n\t\t\t{\n\t\t\t\tconst item = this.getOptionPropertiesRobot(value[i]);\n\t\t\t\tif (item.groupId === this.constructor.#HELPER_OBJECT_NAME + ':text')\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tvalue[i] = this.convertFieldExpression(item);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst item = this.getOptionPropertiesRobot(value);\n\t\t\tif (item.groupId !== this.constructor.#HELPER_OBJECT_NAME + ':text')\n\t\t\t{\n\t\t\t\tvalue = this.convertFieldExpression(item);\n\t\t\t}\n\t\t}\n\n\t\tif (value === undefined)\n\t\t{\n\t\t\tvalue = null;\n\t\t}\n\n\t\tthis.changeFieldTypeDesigner(this.rowIndex, newSelect.value, value);\n\t}\n\n\tchangeFieldTypeDesigner(index, field, value)\n\t{\n\t\tBX.showWait();\n\t\tconst valueTd = document.getElementById('id_td_variable_value_' + index);\n\n\t\tconst separatingSymbol = field.indexOf(':');\n\t\tlet fieldId = field;\n\t\tif (separatingSymbol !== -1){\n\t\t\tfieldId = field.slice(separatingSymbol + 1, field.length - 1);\n\t\t}\n\n\t\tobjFieldsGlobalVar.GetFieldInputControl(\n\t\t\tobjFieldsGlobalVar.arDocumentFields[fieldId],\n\t\t\tvalue,\n\t\t\t{'Field': fieldId, 'Form': this.formName},\n\t\t\tfunction(v) {\n\t\t\t\tif (v === undefined)\n\t\t\t\t{\n\t\t\t\t\tvalueTd.innerHTML = '';\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tvalueTd.innerHTML = v;\n\t\t\t\t\tif (!Type.isUndefined(BX.Bizproc.Selector))\n\t\t\t\t\t{\n\t\t\t\t\t\tBX.Bizproc.Selector.initSelectors(valueTd);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tBX.closeWait();\n\t\t\t},\n\t\t\ttrue\n\t\t);\n\t}\n\n\tdeleteConditionDesigner(index)\n\t{\n\t\tconst addrowTable = document.getElementById(this.constructor.#ROW_TABLE_ID);\n\t\tconst count = addrowTable.rows.length;\n\t\tfor (let i = 0; i < count; i++)\n\t\t{\n\t\t\tif (addrowTable.rows[i].id !== 'delete_row_' + index)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\taddrowTable.deleteRow(i);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nnamespace.SetGlobalVariableActivity = SetGlobalVariableActivity;"],"names":["Menu","options","setEventNamespace","Type","isPlainObject","popupOptions","Runtime","clone","target","isNil","autoHide","closeByEsc","cacheable","isArray","buttons","contentData","isArrayFilled","rows","values","events","subscribeFromOptions","Object","keys","length","Popup","id","bindElement","className","offsetLeft","offsetTop","overlay","content","index","node","Tag","render","Event","bind","Text","toInteger","create","isShown","show","close","forEach","row","targetNode","inputNode","labelNode","isDestroyed","destroy","rowIndex","value","text","isNumber","isString","isStringFilled","innerText","encode","emit","BaseEvent","data","menu","input","isElementNode","Dom","replace","label","EventEmitter","valueNode","onClick","append","setRowValue","event","isFunction","setTarget","call","PopupWindowButton","Loc","getMessage","click","PopupWindowButtonLink","Selector","items","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","width","height","multiple","dropdownMode","enableSearch","showAvatars","compactView","tagSelectorOptions","textBoxWidth","recentTabOptions","searchTabOptions","searchOptions","showStubs","stub","icon","stubOptions","objectName","allowCreateItem","footerOptions","itemCreateContext","assign","dialogItem","item","onHide","Promise","resolve","query","getData","searchQuery","_classPrivateMethodGet","Dialog","footer","setFooter","isOpen","hide","title","subtitle","arrow","visibility","context","slice","indexOf","availableTypes","type","Globals","Manager","Instance","createGlobals","mode","signedDocumentType","then","slider","newContext","info","entries","property","Multiple","newDialogItem","entityId","tabs","Name","customData","groupId","includes","addItem","baseType","namespace","Reflection","SetGlobalVariableActivity","isRobot","documentType","variables","constants","documentFields","currentValues","visibilityMessages","formName","addRowTable","initAvailableOptions","addAssignmentExpression","variableExpression","addExpressionButtonDesigner","startsWith","constructor","availableOptions","getAvailableOptions","availableOptionsByGroupId","getAvailableOptionsByGroup","Map","fillOptions","set","source","optionId","optionProperty","optionsSource","groupName","i","fillOptionsByGroupWithGlobals","push","topGroupName","subGroupName","key","variableId","incomingData","variable","modifyIncomingDataRobot","rowInputs","parameterRowWrapper","option","getOptionPropertiesRobot","createParameterRowRobot","inputIndex","createAddParameterRowRobot","newRow","createVariableRowRobot","undefined","valueOption","valuesOptions","getIncomingValuesSelect","getIncomingValuesBool","get","isUndefined","getDefaultOptionProperties","getShortOptionProperties","isExpressionOption","Options","variableData","variableNode","String","systemExpression","isDeleted","isMultiple","onVariableSelectClickRobot","valueData","parameterNode","setAttribute","onParameterSelectClickRobot","inputValue","role","document","querySelectorAll","name","inputKeys","getAttribute","visibilityNames","getVisibilityNamesForSelect","dataset","backgroundColor","onClose","selectedVariable","getVariableInputValue","inputRole","inputs","wrapper","variableOption","getVariableOptionFromVariableInput","BX","Bizproc","FieldType","renderControl","style","findInputInFormRobot","resolveAdditionOptionInSelectRobot","variableInput","querySelector","form","getElementsByTagName","selectOptions","opt","selected","variableType","filter","getFilterByVariableType","numberOfTypes","filterItems","children","filterChildrenItems","filterItemsInStandardMenuRobot","menuItem","list","parameterTypes","deleteOldValueRowsRobot","getElementById","innerHTML","oldInputs","remove","addWrapper","addExpression","onAddParameterButtonClickRobot","parentNode","before","Number","selectedParameter","getParameterInputValue","isOwnValue","secondRowTarget","createInputForMenuFormRobot","replaceRowTarget","buttonAdd","addAssignmentExpressionRobot","button","addAssignmentExpressionDesigner","preventDefault","insertAfter","isDocumentVisibility","isGVariableVisibility","messages","Visibility","isGConstantVisibility","insertRow","cellSelect","insertCell","newSelect","me","onchange","changeFieldTypeDesigner","selectedIndex","objectVisibilityMessages","optgroupLabel","optgroup","groupOptions","optionNode","cellSymbolEquals","cellValue","cellDeleteRow","aligh","deleteLink","deleteConditionDesigner","convertFieldExpression","field","showWait","valueTd","separatingSymbol","fieldId","objFieldsGlobalVar","GetFieldInputControl","arDocumentFields","v","initSelectors","closeWait","addrowTable","count","deleteRow","formatValuePrintable","selectedVariableType","getRowValue","filteredItems","selector","getTarget","eventData","newSelectedVariable","isExist","targetRole","inputName","changeParameterExpressionRobot","selectedParameterType","selectedVariableIndex","selectedVariableOption","constant","setRowLabel","createEmptyRow","parameterType","newSelectedParameter","getRowInput","getRowTarget","groupItems"],"mappings":"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"}