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/rospirotorg.ru/bitrix/js/bizproc/debugger/dist/ |
Upload File : |
{"version":3,"file":"debugger.bundle.js","sources":["../src/workflow/types.js","../src/helper.js","../src/views/automation-main.js","../src/session/mode.js","../src/session/document.js","../src/session/session.js","../src/tracker/robot-log.js","../src/tracker/trigger-log.js","../src/views/automation-log.js","../src/tourguide/action-panel-guide.js","../src/actionpanel/custom-crm-action-panel.js","../src/automation.js","../src/pull/command-handler.js","../src/tourguide/filter-guide.js","../src/tourguide/stage-guide.js","../src/tourguide/crm-debugger-guide.js","../src/manager.js","../src/index.js"],"sourcesContent":["export class DebuggerState\n{\n\tstatic Run = 0;\n\tstatic NextStep = 1;\n\tstatic Stop = 2;\n\tstatic Pause = 3;\n\tstatic Undefined = -1;\n}\n","import {Loc, Text, Type} from 'main.core';\nimport {DateTimeFormat} from 'main.date';\nimport {Operator} from \"bizproc.condition\";\n\nexport class Helper\n{\n\t/** Finds whether a variable is a number or a numeric string */\n\tstatic isNumeric(num: string | number): boolean\n\t{\n\t\tif (Type.isNumber(num))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tif (!Type.isStringFilled(num))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\treturn (Number(num).toString() === num.trim());\n\t}\n\n\t/** Checks whether the variable is a date or a timestamp */\n\tstatic isDate(date: string | Date): boolean\n\t{\n\t\tif (Type.isDate(date))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tif (!Helper.isNumeric(date))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\treturn (new Date(Number(date)).getTime() === Number(date));\n\t}\n\n\t/** Convert date from DataBase to date in JS */\n\tstatic convertDateFromDB(date: string | number): ?Date\n\t{\n\t\tif (!Helper.isNumeric(date))\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\treturn new Date(date * 1000);\n\t}\n\n\t/** if the variable is a date or a timestamp return Date, else null */\n\tstatic toDate(date: string | Date): ?Date\n\t{\n\t\tif (DateTimeFormat.parse(date))\n\t\t{\n\t\t\treturn DateTimeFormat.parse(date, false);\n\t\t}\n\n\t\tif (Date.parse(date))\n\t\t{\n\t\t\treturn new Date(date);\n\t\t}\n\n\t\tif (!Helper.isDate(date))\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tif (Type.isDate(date))\n\t\t{\n\t\t\treturn date;\n\t\t}\n\n\t\treturn Helper.convertDateFromDB(date);\n\t}\n\n\t/** formats the date */\n\tstatic formatDate(format: string, date: Date): string\n\t{\n\t\tif (!Type.isStringFilled(format))\n\t\t{\n\t\t\tformat = 'j F Y H:i:s';\n\t\t}\n\n\t\treturn DateTimeFormat.format(format, date);\n\t}\n\n\t/** return condition operators label */\n\tstatic getOperatorsLabel(): object\n\t{\n\t\treturn Operator.getAllLabels();\n\t}\n\n\t/** return condition operator label */\n\tstatic getOperatorLabel(operator: string): string\n\t{\n\t\treturn Operator.getOperatorLabel([operator]);\n\t}\n\n\t/** return joiner label */\n\tstatic getJoinerLabel(joiner: string): string\n\t{\n\t\tconst joiners = {\n\t\t\t'AND': Loc.getMessage('BIZPROC_JS_DEBUGGER_LOG_CONDITION_AND'),\n\t\t\t'OR': Loc.getMessage('BIZPROC_JS_DEBUGGER_LOG_CONDITION_OR'),\n\t\t};\n\n\t\treturn joiners[joiner];\n\t}\n\n\tstatic getColorBrightness(bgColor: string): number\n\t{\n\t\tif (bgColor[0] === '#')\n\t\t{\n\t\t\tbgColor = bgColor.replace('#', '');\n\t\t}\n\n\t\tconst bigint = parseInt(bgColor, 16);\n\t\tconst r = (bigint >> 16) & 255;\n\t\tconst g = (bigint >> 8) & 255;\n\t\tconst b = bigint & 255;\n\n\t\treturn 0.21 * r + 0.72 * g + 0.07 * b;\n\t}\n\n\tstatic getBgColorAdditionalClass(bgColor: string): boolean\n\t{\n\t\tconst brightness = Helper.getColorBrightness(bgColor);\n\t\tif (brightness > 224)\n\t\t{\n\t\t\treturn '--with-border --light-color';\n\t\t}\n\n\t\tif (brightness > 145)\n\t\t{\n\t\t\treturn '--light-color';\n\t\t}\n\n\t\treturn '';\n\t}\n\n\tstatic toHtml(text): string\n\t{\n\t\treturn Text.encode(text || '')\n\t\t\t.replace(/\\[(\\/)?b\\]/ig, '<$1b>')\n\t\t;\n\t}\n}","import { Dom, Loc, Runtime, Tag, Text, Type } from 'main.core';\nimport Automation from \"../automation\";\nimport {Menu, MenuItem, Popup} from \"main.popup\";\nimport {\n\tgetGlobalContext,\n\tTemplate,\n\tRobot,\n\tTracker,\n\tViewMode,\n\tTriggerManager,\n\tHelpHint,\n\tWorkflowStatus,\n\tTrackingStatus,\n} from 'bizproc.automation';\nimport {BaseEvent, EventEmitter} from \"main.core.events\";\nimport { Button, ButtonSize, ButtonColor, ButtonIcon} from 'ui.buttons';\nimport 'ui.buttons.icons';\nimport {EntitySelector} from \"ui.entity-selector\";\nimport \"bp_field_type\";\nimport 'ui.layout-form';\nimport 'ui.hint';\nimport {DebuggerState} from \"../workflow/types\";\nimport {MessageBox, MessageBoxButtons} from \"ui.dialogs.messagebox\";\nimport {Manager} from \"bizproc.debugger\";\nimport {Helper} from \"../helper\";\nimport {Loader} from \"main.loader\";\n\nexport default class AutomationMainView extends EventEmitter\n{\n\t#debuggerInstance: Automation;\n\n\t#popupInstance;\n\t#loaded = false;\n\t#node;\n\t#triggerManager: ?TriggerManager;\n\t#template;\n\t#tracker;\n\t#tabs = ['doc', 'log'];\n\n\t#expandedMinWidth = 781;\n\t#expandedMinHeight = 612;\n\n\t#collapsedMinWidth = 465;\n\t#collapsedMinHeight = 187;\n\n\t#changingViewTimeout;\n\n\t#buttonPlay: Button;\n\n\tconstructor(debuggerInstance: Automation)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Bizproc.Debugger.AutomationMainView');\n\n\t\tthis.#debuggerInstance = debuggerInstance;\n\n\t\tdebuggerInstance.subscribe('onDocumentStatusChanged', this.#onDocumentStatusChanged.bind(this));\n\t\tdebuggerInstance.subscribe('onWorkflowEventsChanged', this.#onWorkflowEventsChanged.bind(this));\n\t\tdebuggerInstance.subscribe('onWorkflowTrackAdded', this.#onWorkflowTrackAdded.bind(this));\n\t\tdebuggerInstance.subscribe('onDocumentValuesUpdated', this.#onDocumentValuesUpdated.bind(this));\n\t\tdebuggerInstance.subscribe('onWorkflowStatusChanged', this.#onWorkflowStatusChange.bind(this));\n\t\tdebuggerInstance.subscribe('onAfterDocumentFixed', this.#onAfterDocumentFixed.bind(this));\n\t}\n\n\tget debugger(): Automation\n\t{\n\t\treturn this.#debuggerInstance;\n\t}\n\n\tshow()\n\t{\n\t\tif (this.#loaded)\n\t\t{\n\t\t\tthis.#getPopup().show();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.debugger.loadMainViewInfo().then(() => {\n\t\t\tthis.#loaded = true;\n\t\t\tthis.#getPopup().setContent(this.#getNode());\n\t\t\tthis.#setDebuggerState(this.debugger.getState());\n\n\t\t\tthis.#getPopup().show();\n\t\t});\n\t}\n\n\tshowExpanded()\n\t{\n\t\tif (!this.#getPopup().isShown())\n\t\t{\n\t\t\tthis.debugger.settings.set('popup-collapsed', false);\n\t\t\tthis.show();\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#handleCollapse();\n\t}\n\n\tshowCollapsed()\n\t{\n\t\tthis.debugger.settings.set('popup-collapsed', true);\n\t\tthis.show();\n\t}\n\n\tclose()\n\t{\n\t\tthis.#getPopup().close();\n\t}\n\n\tdestroy()\n\t{\n\t\tthis.close();\n\t\t//TODO - cleanup\n\t}\n\n\t#getPopup(): Popup\n\t{\n\t\tif (!this.#popupInstance)\n\t\t{\n\t\t\tconst collapsed = this.debugger.settings.get('popup-collapsed');\n\t\t\tconst className = 'bizproc-debugger-automation__main-popup bizproc-debugger-automation__scope';\n\n\t\t\tthis.#popupInstance = new Popup({\n\t\t\t\tclassName: className + (collapsed ? ' --collapse' : ''),\n\t\t\t\ttitleBar: this.#getPopupTitleBar(),\n\t\t\t\tnoAllPaddings: true,\n\t\t\t\tcontentBackground: 'white',\n\t\t\t\tdraggable: true,\n\t\t\t\tzIndexOptions: {\n\t\t\t\t\talwaysOnTop: collapsed\n\t\t\t\t},\n\t\t\t\twidth: this.#getPopupWidth(collapsed),\n\t\t\t\theight: this.#getPopupHeight(collapsed),\n\t\t\t\tevents: {\n\t\t\t\t\tonResizeStart: ()=> {\n\t\t\t\t\t\tthis.#popupInstance.setMinWidth(this.#expandedMinWidth);\n\t\t\t\t\t\tthis.#popupInstance.setMinHeight(this.#expandedMinHeight);\n\t\t\t\t\t},\n\t\t\t\t\tonResizeEnd: ()=> {\n\t\t\t\t\t\tthis.#popupInstance.setMinWidth(null);\n\t\t\t\t\t\tthis.#popupInstance.setMinHeight(null);\n\n\t\t\t\t\t\tthis.debugger.settings.set('popup-width', this.#popupInstance.getWidth());\n\t\t\t\t\t\tthis.debugger.settings.set('popup-height', this.#popupInstance.getHeight());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.#popupInstance.setResizeMode(!collapsed);\n\t\t}\n\n\t\treturn this.#popupInstance;\n\t}\n\n\t#getPopupWidth(collapsed: boolean): number\n\t{\n\t\tif (collapsed)\n\t\t{\n\t\t\treturn this.#collapsedMinWidth;\n\t\t}\n\n\t\treturn Math.max(\n\t\t\tthis.#expandedMinWidth,\n\t\t\tthis.debugger.settings.get('popup-width') || 0\n\t\t);\n\t}\n\n\t#getPopupHeight(collapsed: boolean): number\n\t{\n\t\tif (collapsed)\n\t\t{\n\t\t\treturn this.#collapsedMinHeight;\n\t\t}\n\n\t\treturn Math.max(\n\t\t\tthis.#expandedMinHeight,\n\t\t\tthis.debugger.settings.get('popup-height') || 0\n\t\t);\n\t}\n\n\t#getPopupTitleBar(): {}\n\t{\n\t\treturn {\n\t\t\tcontent: Tag.render`\n\t\t\t\t<div class=\"popup-window-titlebar-text bizproc-debugger-automation__titlebar\">\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__titlebar--move-icon\"></div>\n\t\t\t\t\t${document.createTextNode(Loc.getMessage('BIZPROC_DEBUGGER_AUTOMATION_POPUP_TITLE'))}\n\t\t\t\t\t<div \n\t\t\t\t\t\tclass=\"bizproc-debugger-automation__titlebar--button-collapse\" \n\t\t\t\t\t\tonclick=\"${this.#handleCollapse.bind(this)}\"\n\t\t\t\t\t></div>\n\t\t\t\t\t<span \n\t\t\t\t\t\tclass=\" popup-window-close-icon \n\t\t\t\t\t\t\t\tpopup-window-titlebar-close-icon \n\t\t\t\t\t\t\t\tbizproc-debugger-automation__titlebar--button-close\"\n\t\t\t\t\t\tonclick=\"${this.#handleClose.bind(this)}\"\n\t\t\t\t\t></span>\n\t\t\t\t</div>\n\t\t\t`\n\t\t};\n\t}\n\n\t#handleCollapse()\n\t{\n\t\tconst node = this.#getPopup().getPopupContainer();\n\t\tconst collapsed = Dom.hasClass(node, '--collapse');\n\n\t\tthis.debugger.settings.set('popup-collapsed', !collapsed);\n\t\tthis.#getPopup().getZIndexComponent().setAlwaysOnTop(!collapsed);\n\n\t\tthis.#getPopup().setResizeMode(collapsed);\n\n\t\tDom.toggleClass(node, '--collapse');\n\n\t\tclearTimeout(this.#changingViewTimeout);\n\t\tDom.addClass(node, '--changing-view');\n\n\t\tthis.#getPopup().setWidth(this.#getPopupWidth(!collapsed));\n\t\tthis.#getPopup().setHeight(this.#getPopupHeight(!collapsed));\n\n\t\tthis.#changingViewTimeout = setTimeout(\n\t\t\t() => Dom.removeClass(node, '--changing-view'),\n\t\t\t500\n\t\t);\n\t}\n\n\t#handleClose()\n\t{\n\t\tManager.Instance.askFinishSession(this.debugger.session).catch(() => {/*do nth*/});\n\t}\n\n\t#getNode(): Element\n\t{\n\t\tif (!this.#node)\n\t\t{\n\t\t\tthis.#node = Tag.render`\n\t\t\t\t<div class=\"bizproc-debugger-automation__content\">\n\t\t\t\t\t<div class=\"bizproc-debugger-automation-content-collapsed\">\n\t\t\t\t\t\t${this.#renderCollapsedMode()}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__content-expanded\">\n\t\t\t\t\t\t${this.#renderExpandedMode()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\n\t\t\tHelpHint.bindAll(this.#node);\n\t\t}\n\n\t\treturn this.#node;\n\t}\n\n\t#renderExpandedMode(): Element\n\t{\n\t\tconst hasRobots = !this.debugger.isTemplateEmpty();\n\n\t\tconst activeTab = this.debugger.settings.get('tab') === 'log' ? 'log' : 'doc';\n\t\tconst tabDocClass = activeTab === 'doc' ? '--active' : '';\n\t\tconst tabLogClass = activeTab === 'log' ? '--active' : '';\n\n\t\tconst hasActiveDocument = this.debugger.session.isFixed();\n\t\tconst tabNoDocumentClass = hasActiveDocument ? '' : '--empty --active';\n\n\t\tconst fieldListNode = this.#getFieldListNode();\n\t\tconst hasFields = fieldListNode.querySelector('[data-field-id]') !== null;\n\n\t\treturn Tag.render`\n\t\t\t\t<div class=\"bizproc-debugger-automation__main\">\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__main-robots\">\n\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__main-robots--head\">\n\t\t\t\t\t\t\t${this.#createStageNode()}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div data-role=\"automation-content\" class=\"bizproc-debugger-automation__main-robots--main-content\">\n\t\t\t\t\t\t\t${this.#createTriggersHeaderNode() ?? ''}\n\t\t\t\t\t\t\t${this.#createTriggersNode() ?? ''}\n\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__head\">\n\t\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__main--title\">\n\t\t\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__main--name\">${Loc.getMessage('BIZPROC_DEBUGGER_AUTOMATION_ROBOTS_TITLE')} </div>\n\t\t\t\t\t\t\t\t\t<div class=\"ui-hint\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"ui-hint-icon\" data-text=\"${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_HELPTIP_ROBOT'))}\"></span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div data-role=\"no-template\" class=\"bizproc-debugger-automation__main-hint ${hasRobots ? '' : '--active'}\">\n\t\t\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__main-hint--title\">\n\t\t\t\t\t\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_NO_ROBOTS_TITLE'))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__main-hint--text\">\n\t\t\t\t\t\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_NO_ROBOTS_SUBTITLE'))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<a href=\"${this.debugger.getSettingsUrl()}\" class=\"bizproc-debugger-automation__link\">${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_AUTOMATION_SETTINGS'))}</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t${this.#createTemplateNode()}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t${this.#createTemplateToolbar()}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__main-fields ${hasActiveDocument ? '' : '--disabled'}\">\n\t\t\t\t\t\t<div data-role=\"tabs-container\" class=\"bizproc-debugger-automation__main-navigation --active-${activeTab}\">\n\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__tab-block\">\n\t\t\t\t\t\t\t\t<span class=\"bizproc-debugger-automation__tab ${tabDocClass}\" data-tab-item=\"doc\" onclick=\"${this.#handleChangeTab.bind(this)}\">\n\t\t\t\t\t\t\t\t\t${Loc.getMessage('BIZPROC_DEBUGGER_AUTOMATION_DOCUMENT_TITLE')}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div class=\"ui-hint\">\n\t\t\t\t\t\t\t\t\t<span class=\"ui-hint-icon\" data-text=\"${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_HELPTIP_FIELD'))}\"></span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__tab-block\">\n\t\t\t\t\t\t\t\t<span class=\"bizproc-debugger-automation__tab ${tabLogClass}\" data-tab-item=\"log\" onclick=\"${this.#handleChangeTab.bind(this)}\">\n\t\t\t\t\t\t\t\t\t${Loc.getMessage('BIZPROC_DEBUGGER_AUTOMATION_LOG_TITLE')}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div class=\"ui-hint\">\n\t\t\t\t\t\t\t\t\t<span class=\"ui-hint-icon\" data-text=\"${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_HELPTIP_LOG'))}\"></span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<div data-tab-item=\"doc\" class=\"bizproc-debugger-automation__tab-action ${tabDocClass}\">\n\t\t\t\t\t\t\t\t${this.#getAddFieldNode()}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<div data-tab-item=\"log\" class=\"bizproc-debugger-automation__tab-action ${tabLogClass}\">\n\t\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__action-btn --icon-search\" style=\"display: none\"></div>\n\t\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__action-btn --icon-log\" onclick=\"${() => {Manager.Instance.openSessionLog(this.debugger.sessionId);}}\"></div>\n\t\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__action-btn --icon-note\" style=\"display: none\"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div data-tab-item=\"doc\" data-role=\"tab-content-doc\" class=\"bizproc-debugger-tab__content ${hasActiveDocument ? tabDocClass : ''} ${hasFields ? '' : '--empty'}\">\n\t\t\t\t\t\t\t<div class=\"bizproc-debugger-tab__content--empty\">\n\t\t\t\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_NO_FIELD_TITLE'))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"bizproc-debugger-tab__content--not-empty\">\n\t\t\t\t\t\t\t\t<div class=\"bizproc-debugger-tab__content-title\">${Loc.getMessage('BIZPROC_DEBUGGER_AUTOMATION_DOCUMENT_TITLE')}</div>\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t${fieldListNode}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div data-tab-item=\"log\" class=\"bizproc-debugger-tab__content ${hasActiveDocument ? tabLogClass : ''} bizproc-debugger-automation-main-section-log\">\n\t\t\t\t\t\t\t${this.debugger.getLogView().shouldScrollToBottom(true).shouldLoadPreviousLog(true).render()}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div data-tab-item=\"no-document\" class=\"bizproc-debugger-tab__content ${tabNoDocumentClass} bizproc-debugger-automation-main-section-disabled\">\n\t\t\t\t\t\t\t<div class=\"bizproc-debugger-tab__content--empty\">\n\t\t\t\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_NO_FIXED_DOCUMENT'))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t}\n\n\t#renderCollapsedMode(): Element\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation-menu__content-body\">\n\t\t\t\t<div class=\"bizproc-debugger-automation-menu__content-body--logo\"></div>\n\t\t\t\t<div class=\"bizproc-debugger-automation-menu__content-body--text\">${Loc.getMessage('BIZPROC_JS_DEBUGGER_VIEWS_MENU_SUBTITLE')}</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#getAddFieldNode()\n\t{\n\t\treturn (new Button({\n\t\t\tsize: ButtonSize.EXTRA_SMALL,\n\t\t\tcolor: ButtonColor.PRIMARY,\n\t\t\tround: true,\n\t\t\tnoCaps: true,\n\t\t\ttext: Loc.getMessage('BIZPROC_JS_DEBUGGER_VIEWS_ADD_FIELD'),\n\t\t\tonclick: this.#handleAddDocFieldMenu.bind(this)\n\t\t})).render();\n\t}\n\n\t#getFieldListNode()\n\t{\n\t\tconst form = Tag.render`<div class=\"ui-form\" data-role=\"doc-field-list\">\n\t\t\t</div>`;\n\t\tconst fields = this.debugger.settings.getSet('watch-fields');\n\n\t\tfields.forEach(value => {\n\t\t\tconst node = this.#getFieldNode(value);\n\t\t\tif (node)\n\t\t\t{\n\t\t\t\tDom.append(node, form);\n\t\t\t}\n\t\t});\n\n\t\treturn form;\n\t}\n\n\t#handleChangeTab(event: Event)\n\t{\n\t\tconst activeTabName = event.target.dataset.tabItem;\n\t\tconst hiddenTabName = this.#tabs.filter((tabName) => tabName !== activeTabName)[0]\n\n\t\tconst node = this.#getNode();\n\t\tconst navigationNode = node.querySelector('[data-role=\"tabs-container\"]');\n\n\t\tnode.querySelectorAll([`[data-tab-item=\"${activeTabName}\"]`]).forEach(\n\t\t\t(tab) => Dom.addClass(tab, '--active')\n\t\t);\n\n\t\tnode.querySelectorAll([`[data-tab-item=\"${hiddenTabName}\"]`]).forEach(\n\t\t\t(tab) => Dom.removeClass(tab, '--active')\n\t\t);\n\n\t\tDom.addClass(navigationNode, `--active-${activeTabName}`);\n\t\tDom.removeClass(navigationNode, `--active-${hiddenTabName}`);\n\n\t\tthis.debugger.settings.set('tab', activeTabName);\n\n\t\tthis.emit('onChangeTab', {tab: activeTabName});\n\t}\n\n\t#handleAddDocFieldMenu(button: Button, event: Event)\n\t{\n\t\tconst documentFields = this.debugger.getDocumentFields();\n\t\tconst selectedFields = this.debugger.settings.getSet('watch-fields');\n\n\t\tconst fieldsDialog = new EntitySelector.Dialog({\n\t\t\ttargetNode: event.target,\n\t\t\twidth: 500,\n\t\t\theight: 300,\n\t\t\tmultiple: true,\n\t\t\tdropdownMode: true,\n\t\t\tenableSearch: true,\n\t\t\tcacheable: false,\n\t\t\titems: documentFields\n\t\t\t\t.filter(field => field.Watchable === true)\n\t\t\t\t.map((field) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttitle: field.Name,\n\t\t\t\t\t\tid: field.Id,\n\t\t\t\t\t\tcustomData: {field},\n\t\t\t\t\t\tentityId: 'bp',\n\t\t\t\t\t\ttabs: 'recents',\n\t\t\t\t\t\tselected: selectedFields.has(field.Id)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\tshowAvatars: false,\n\t\t\tevents: {\n\t\t\t\t'Item:onSelect': event => this.#handleAddField(event.getData().item),\n\t\t\t\t'Item:onDeselect': event => this.#handleRemoveField(event.getData().item.getId()),\n\t\t\t},\n\t\t\tcompactView: true,\n\t\t});\n\n\t\tfieldsDialog.show();\n\t}\n\n\t#handleAddField(item)\n\t{\n\t\tconst fields = this.debugger.settings.getSet('watch-fields');\n\t\tconst field = item.getCustomData().get('field');\n\n\t\tif (fields.has(field.Id))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldNode = this.#getFieldNode(field);\n\n\t\tDom.append(\n\t\t\tfieldNode,\n\t\t\tthis.#getNode().querySelector('[data-role=\"doc-field-list\"]')\n\t\t);\n\n\t\tfields.add(field.Id);\n\t\tthis.debugger.settings.set('watch-fields', fields);\n\t\tthis.#handleFieldListChange(fields);\n\t}\n\n\t#handleRemoveField(fieldId: string)\n\t{\n\t\tconst fields = this.debugger.settings.getSet('watch-fields');\n\n\t\tif (!fields.has(fieldId))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tfields.delete(fieldId);\n\t\tthis.debugger.settings.set('watch-fields', fields);\n\t\tDom.remove(this.#getNode().querySelector(`[data-field-id=\"${fieldId}\"]`));\n\t\tthis.#handleFieldListChange(fields);\n\t}\n\n\t#handleFieldListChange(fields: Set)\n\t{\n\t\tconst contentNode = this.#getNode().querySelector('[data-role=\"tab-content-doc\"]');\n\t\tconst hasFields = contentNode.querySelector('[data-field-id]') !== null;\n\t\tDom[hasFields ? 'removeClass' : 'addClass'](contentNode, '--empty');\n\t}\n\n\t#getFieldNode(field: string | {}): ?Element\n\t{\n\t\tif (Type.isString(field))\n\t\t{\n\t\t\tfield = this.debugger.getDocumentField(field);\n\t\t}\n\n\t\tif (!field || !field.Id)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst value = this.debugger.getDocumentValue(field.Id) || '';\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"ui-form-row\" data-role=\"field-row\" data-field-id=\"${Text.encode(field.Id)}\">\n\t\t\t\t<div class=\"ui-form-label\">\n\t\t\t\t\t<div class=\"ui-ctl-label-text\">${Text.encode(field.Name)}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ui-form-content\">\n\t\t\t\t\t<div class=\"ui-ctl ui-ctl-textbox ui-ctl-w100 ui-ctl-ext-after-icon\">\n\t\t\t\t\t\t<input type=\"text\" readonly class=\"ui-ctl-element\"\n\t\t\t\t\t\t placeholder=\"${Loc.getMessage('BIZPROC_JS_DEBUGGER_VIEWS_EMPTY_VALUE')}\"\n\t\t\t\t\t\t data-role=\"field-value-${Text.encode(field.Id)}\"\n\t\t\t\t\t\t value=\"${Text.encode(value)}\"\n\t\t\t\t\t\t >\n\t\t\t\t\t\t <a class=\"ui-ctl-after ui-ctl-icon-clear\" onclick=\"${this.#handleRemoveField.bind(this, field.Id)}\"></a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#createTriggersHeaderNode(): ?Element\n\t{\n\t\tconst hasTriggers = this.debugger.templateTriggers.length > 0;\n\t\tconst hasRobots = !this.debugger.isTemplateEmpty();\n\n\t\tif (!hasTriggers && hasRobots)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\treturn Tag.render`\n\t\t\t<div data-role=\"triggers-header\" class=\"bizproc-debugger-automation__head\">\n\t\t\t\t<div class=\"bizproc-debugger-automation__main--title\">\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__main--name\">${Loc.getMessage('BIZPROC_DEBUGGER_AUTOMATION_TRIGGERS_TITLE')} </div>\n\t\t\t\t\t<div class=\"ui-hint\">\n\t\t\t\t\t\t<span class=\"ui-hint-icon\" data-text=\"${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_HELPTIP_TRIGGER'))}\"></span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div data-role=\"no-triggers\" class=\"bizproc-debugger-automation__main-hint ${hasTriggers || hasRobots ? '' : '--active'}\">\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__main-hint--title\">\n\t\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_NO_TRIGGERS_TITLE'))}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__main-hint--text\">\n\t\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_NO_TRIGGERS_SUBTITLE'))}\n\t\t\t\t\t</div>\n\t\t\t\t\t<a href=\"${this.debugger.getSettingsUrl()}\" class=\"bizproc-debugger-automation__link\">${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_AUTOMATION_SETTINGS'))}</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#createTriggersNode(): ?Element\n\t{\n\t\tconst documentStatus = this.debugger.getTemplate().DOCUMENT_STATUS;\n\n\t\tthis.#tracker = new Tracker(getGlobalContext().document);\n\t\tconst logs = {};\n\t\tlogs[documentStatus] = this.debugger.track;\n\t\tthis.#tracker.init(logs);\n\t\tgetGlobalContext().tracker = this.#tracker;\n\n\t\tconst triggers = this.debugger.templateTriggers;\n\t\tif (triggers.length === 0)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst node = Tag.render`\n\t\t\t<div data-role=\"triggers\" class=\"bizproc-debugger__template\">\n\t\t\t\t<div class=\"bizproc-automation-status-list-item\" data-type=\"column-trigger\">\n\t\t\t\t\t<div data-role=\"trigger-list\" class=\"bizproc-automation-trigger-list\" data-status-id=\"${documentStatus}\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tthis.#triggerManager = new TriggerManager(node);\n\t\tthis.#triggerManager.init({TRIGGERS: triggers}, ViewMode.view());\n\n\t\treturn node;\n\t}\n\n\t#createTemplateNode(): Element\n\t{\n\t\tconst templateData = this.debugger.getTemplate();\n\n\t\tthis.#tracker = new Tracker(getGlobalContext().document);\n\t\tconst logs = {};\n\t\tlogs[templateData.DOCUMENT_STATUS] = this.debugger.track;\n\t\tthis.#tracker.init(logs);\n\t\tgetGlobalContext().tracker = this.#tracker;\n\n\t\tconst node = Tag.render`\n\t\t\t<div data-role=\"template\" class=\"bizproc-debugger__template\">\n\t\t\t\t<div data-role=\"automation-template\" data-status-id=\"${templateData.DOCUMENT_STATUS}\">\n\t\t\t\t\t<div data-role=\"robot-list\" class=\"bizproc-automation-robot-list\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tconst template = new Template({\n\t\t\tconstants: {},\n\t\t\tvariables: {},\n\t\t\ttemplateContainerNode: node,\n\t\t\tdelayMinLimitM: 0,\n\t\t\t// userOptions: this.userOptions,\n\t\t});\n\n\t\ttemplate.init(templateData, ViewMode.view().intoRaw());\n\t\tthis.#updateTemplate(template);\n\t\tthis.#renderPausedRobots();\n\n\t\treturn node;\n\t}\n\n\t#updateTemplate(newTemplate: Template): Template\n\t{\n\t\tif (!Type.isNil(this.#template))\n\t\t{\n\t\t\tthis.#template.destroy();\n\t\t}\n\t\tthis.#template = newTemplate;\n\n\t\treturn this.#template;\n\t}\n\n\t#createTemplateToolbar(): Element\n\t{\n\t\tthis.#buttonPlay = new Button({\n\t\t\tsize: ButtonSize.EXTRA_SMALL,\n\t\t\tcolor: ButtonColor.PRIMARY,\n\t\t\tround: true,\n\t\t\ticon: ButtonIcon.START,\n\t\t\tonclick: this.#handleStartTemplate.bind(this)\n\t\t});\n\n\t\tconst hasEvents = this.debugger.hasWorkflowEvents();\n\n\t\tconst hasActiveDocument = this.debugger.session.isFixed();\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__toolbar ${hasActiveDocument ? '' : '--disabled'}\">\n\t\t\t<div data-role=\"external-event-info\" class=\"bizproc-debugger-automation__toolbar--info-waiting ${hasEvents ? '--active' : ''}\">\n\t\t\t\t<div>\n\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_SKIP_WAITING_SUBTITLE'))}\n\t\t\t\t</div>\n\t\t\t\t<a onclick=\"${this.#handleEmulateExternalEvent.bind(this)}\" class=\"bizproc-debugger-automation__link\">\n\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_SKIP_WAITING_TITLE'))}\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t\t<div class=\"bizproc-debugger-automation__toolbar--btn-block\">\n\t\t\t\t${this.#buttonPlay.render()}\n\t\t\t\t<div class=\"bizproc-debugger-automation__toolbar--btn-text\">\n\t\t\t\t\t${Loc.getMessage('BIZPROC_DEBUGGER_AUTOMATION_ACTION_START')}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#handleStartTemplate(button: Button)\n\t{\n\t\tbutton.setWaiting(true);\n\t\tthis.debugger.startDebugTemplate().then(() => {\n\t\t\tbutton.setWaiting(false);\n\t\t\tthis.#setDebuggerState(this.debugger.getState());\n\t\t});\n\t}\n\n\t#handleEmulateExternalEvent(event: Event)\n\t{\n\t\tconst infoNode = this.#getNode().querySelector('[data-role=\"external-event-info\"]');\n\t\tDom.removeClass(infoNode, '--active');\n\t\tthis.debugger.emulateExternalEvent(event.target.dataset.sourceId);\n\t}\n\n\t#updateTracker(data: Array)\n\t{\n\t\tif (this.#tracker)\n\t\t{\n\t\t\tconst logs = {};\n\t\t\tlogs[this.debugger.getDocumentStatus()] = this.debugger.track;\n\n\t\t\tthis.#tracker.reInit(logs);\n\t\t\tthis.#template.reInit(null, ViewMode.view().intoRaw());\n\n\t\t\tthis.#renderPausedRobots();\n\t\t}\n\t}\n\n\t#renderPausedRobots(): void\n\t{\n\t\tconst pausedRobots = this.#template.robots.filter(robot => robot.getLogStatus() === TrackingStatus.RUNNING);\n\n\t\tpausedRobots.forEach((robot) => {\n\t\t\tconst loader = robot.node.lastChild.lastChild;\n\t\t\tconst clonedLoader = Runtime.clone(loader);\n\t\t\tHelpHint.bindToNode(clonedLoader);\n\n\t\t\tDom.replace(\n\t\t\t\tloader,\n\t\t\t\tTag.render`\n\t\t\t\t\t<div class=\"bizproc-debugger-automation-robot-info-container\">\n\t\t\t\t\t\t${clonedLoader}\n\t\t\t\t\t\t<a \n\t\t\t\t\t\t\tonclick=\"${this.#handleEmulateExternalEvent.bind(this)}\"\n\t\t\t\t\t\t\tdata-source-id=\"${robot.getId()}\"\n\t\t\t\t\t\t\tclass=\"bizproc-debugger-automation__link --inside-robot\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_SKIP_WAITING_TITLE'))}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t`\n\t\t\t);\n\t\t});\n\t}\n\n\t#createStageNode(): Element\n\t{\n\t\tconst color = this.#getDocumentStatusColor();\n\t\tconst title = Text.encode(this.#getDocumentStatusTitle());\n\n\t\treturn Tag.render`\n\t\t\t<div \n\t\t\t\tclass=\"bizproc-debugger-automation__status --robot-change ${Helper.getBgColorAdditionalClass(color)}\"\n\t\t\t\tdata-role=\"document-status\"\n\t\t\t\ttitle=\"${title}\"\n\t\t\t\tonclick=\"${this.#handleShowStages.bind(this)}\"\n\t\t\t>\n\t\t\t\t<div class=\"bizproc-debugger-automation__status--title\" data-role=\"document-status-title\">\n\t\t\t\t\t${title}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bizproc-debugger-automation__status--bg\" data-role=\"document-status-bg\" style=\"background-color: ${color}; border-color: ${color};\">\n\t\t\t\t\t<span class=\"bizproc-debugger-automation__status--bg-arrow\"></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#handleShowStages(event: MouseEvent)\n\t{\n\t\tevent.preventDefault();\n\n\t\tconst statusList = this.debugger.getStatusList();\n\n\t\tconst menu = new Menu({\n\t\t\tbindElement: event.target,\n\t\t\titems: statusList.map((stage) => {\n\t\t\t\treturn {text: stage.NAME, statusId: stage['STATUS_ID'], onclick: this.#handleChangeStatus.bind(this)}\n\t\t\t}),\n\t\t});\n\t\tmenu.show();\n\t}\n\n\t#handleChangeStatus(event, item: MenuItem)\n\t{\n\t\titem.getMenuWindow().destroy();\n\t\tthis.debugger.setDocumentStatus(item.statusId);\n\t}\n\n\t#getDocumentStatusTitle(): string\n\t{\n\t\tconst statusId = this.debugger.getDocumentStatus();\n\t\tconst statusList = this.debugger.getStatusList();\n\n\t\tconst status = statusList.find((stage) => stage['STATUS_ID'] === statusId);\n\n\t\treturn status ? (status.NAME || status.TITLE) : '?'\n\t}\n\n\t#getDocumentStatusColor(): string\n\t{\n\t\tconst statusId = this.debugger.getDocumentStatus();\n\t\tconst statusList = this.debugger.getStatusList();\n\n\t\tconst status = statusList.find((stage) => stage['STATUS_ID'] === statusId);\n\n\t\treturn status ? status.COLOR : '#9DCF00';\n\t}\n\n\t#onDocumentStatusChanged()\n\t{\n\t\tif (!this.#getPopup().isShown())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst automationContentNode = this.#getNode().querySelector('[data-role=\"automation-content\"]');\n\n\t\tconst loader = new Loader({\n\t\t\ttarget: automationContentNode\n\t\t});\n\n\t\tDom.addClass(automationContentNode, '--loading');\n\t\tloader.show();\n\n\t\tthis.debugger.loadMainViewInfo().then(() => {\n\t\t\tconst statusTitleNode = this.#getNode().querySelector('[data-role=\"document-status-title\"]');\n\t\t\tconst statusTitle = this.#getDocumentStatusTitle();\n\t\t\tstatusTitleNode.textContent = statusTitle;\n\t\t\tstatusTitleNode.parentNode.setAttribute('title', statusTitle);\n\n\t\t\tconst statusBgNode = this.#getNode().querySelector('[data-role=\"document-status-bg\"]');\n\t\t\tconst color = this.#getDocumentStatusColor();\n\t\t\tDom.style(statusBgNode, {\n\t\t\t\tbackgroundColor: color,\n\t\t\t\tborderColor: color,\n\t\t\t});\n\n\t\t\tconst documentStatusNode = this.#getNode().querySelector('[data-role=\"document-status\"]');\n\t\t\tDom.removeClass(documentStatusNode,['--with-border', '--light-color']);\n\t\t\tDom.addClass(documentStatusNode, Helper.getBgColorAdditionalClass(color));\n\n\t\t\tDom.remove(this.#getNode().querySelector('[data-role=\"triggers-header\"]'));\n\t\t\tDom.remove(this.#getNode().querySelector('[data-role=\"triggers\"]'));\n\n\t\t\tDom.prepend(this.#createTriggersNode(), automationContentNode);\n\t\t\tconst triggersHeaderNode = this.#createTriggersHeaderNode();\n\t\t\tif (triggersHeaderNode)\n\t\t\t{\n\t\t\t\tHelpHint.bindAll(triggersHeaderNode);\n\t\t\t\tDom.prepend(triggersHeaderNode, automationContentNode);\n\t\t\t}\n\n\t\t\tconst tplNode = this.#createTemplateNode();\n\t\t\tDom.replace(this.#node.querySelector('[data-role=\"template\"]'), tplNode);\n\n\t\t\tconst hasTriggers = this.debugger.templateTriggers.length > 0;\n\t\t\tconst hasRobots = !this.debugger.isTemplateEmpty()\n\t\t\tDom[hasTriggers || hasRobots ? 'removeClass' : 'addClass'](this.#node.querySelector('[data-role=\"no-triggers\"]'), '--active');\n\t\t\tDom[hasRobots ? 'removeClass' :'addClass'](this.#node.querySelector('[data-role=\"no-template\"]'), '--active');\n\n\t\t\tDom.removeClass(automationContentNode, '--loading');\n\t\t\tloader.destroy();\n\t\t});\n\t}\n\n\t#onWorkflowEventsChanged(event: BaseEvent)\n\t{\n\t\tif (!this.#buttonPlay)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst events = event.getData().events;\n\t\tconst infoNode = this.#getNode().querySelector('[data-role=\"external-event-info\"]');\n\t\tDom[events.length ? 'addClass' : 'removeClass'](infoNode, '--active');\n\t}\n\n\t#onWorkflowTrackAdded(event: BaseEvent)\n\t{\n\t\tthis.#updateTracker(this.debugger.track);\n\t}\n\n\t#onDocumentValuesUpdated(event: BaseEvent)\n\t{\n\t\tif (!this.#getPopup().isShown())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst values = event.getData().values;\n\t\tconst node = this.#getNode();\n\n\t\tObject.keys(values).forEach(key => {\n\t\t\tconst valueNode = node.querySelector(`[data-role=\"field-value-${key}\"]`);\n\t\t\tif (valueNode)\n\t\t\t{\n\t\t\t\tvalueNode.value = values[key] || '';\n\t\t\t}\n\t\t});\n\t}\n\n\t#onWorkflowStatusChange(event: BaseEvent)\n\t{\n\t\tconst status = event.getData().status;\n\t\tconst workflowId = event.getData().workflowId;\n\n\t\tif ([WorkflowStatus.COMPLETED, WorkflowStatus.TERMINATED].includes(status))\n\t\t{\n\t\t\tthis.debugger.track.forEach((track) => {\n\t\t\t\tif (track['WORKFLOW_ID'] === workflowId)\n\t\t\t\t{\n\t\t\t\t\ttrack['WORKFLOW_STATUS'] = WorkflowStatus.COMPLETED;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.#updateTracker(this.debugger.track);\n\t\t}\n\t}\n\n\t#onAfterDocumentFixed()\n\t{\n\t\tconst popupContainer = this.#getPopup().getPopupContainer();\n\n\t\tDom.removeClass(\n\t\t\tpopupContainer.getElementsByClassName('bizproc-debugger-automation__main-fields')[0],\n\t\t\t'--disabled'\n\t\t);\n\n\t\tDom.removeClass(\n\t\t\tpopupContainer.getElementsByClassName('bizproc-debugger-automation__toolbar')[0],\n\t\t\t'--disabled'\n\t\t);\n\n\t\tconst activeTab = this.debugger.settings.get('tab') === 'log' ? 'log' : 'doc';\n\t\tpopupContainer.querySelectorAll([`[data-tab-item=\"no-document\"]`]).forEach(\n\t\t\t(tab) => Dom.removeClass(tab, ['--empty', '--active'])\n\t\t);\n\t\tpopupContainer.querySelectorAll([`[data-tab-item=\"${activeTab}\"]`]).forEach(\n\t\t\t(tab) => Dom.addClass(tab, '--active')\n\t\t);\n\n\t\tthis.#onDocumentStatusChanged();\n\t}\n\n\t#setDebuggerState(state: number)\n\t{\n\t\tif (!this.#buttonPlay)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (state)\n\t\t{\n\t\t\tcase DebuggerState.Run:\n\t\t\t\tthis.#buttonPlay.setIcon(ButtonIcon.PAUSE);\n\t\t\t\tthis.#buttonPlay.getContainer()\n\t\t\t\t\t.nextElementSibling.textContent = Loc.getMessage('BIZPROC_DEBUGGER_AUTOMATION_ACTION_PAUSE');\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tthis.#buttonPlay.setIcon(ButtonIcon.START);\n\t\t\t\tthis.#buttonPlay.getContainer()\n\t\t\t\t\t.nextElementSibling.textContent = Loc.getMessage('BIZPROC_DEBUGGER_AUTOMATION_ACTION_START');\n\n\t\t}\n\t}\n}","export class Mode\n{\n\tstatic experimental: ModeOptions = {\n\t\tid: 0,\n\t\tcode: 'experimental',\n\t};\n\n\tstatic interception: ModeOptions = {\n\t\tid: 1,\n\t\tcode: 'interception',\n\t};\n\n\tstatic isMode(modeId: number): boolean\n\t{\n\t\treturn [0, 1].includes(modeId);\n\t}\n\n\tstatic getMode(modeId: number): ModeOptions | null\n\t{\n\t\tif (modeId === 0)\n\t\t{\n\t\t\treturn Mode.experimental;\n\t\t}\n\t\telse if (modeId === 1)\n\t\t{\n\t\t\treturn Mode.interception;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstatic getAllModes(): object<number, ModeOptions>\n\t{\n\t\treturn {\n\t\t\t0: Mode.experimental,\n\t\t\t1: Mode.interception\n\t\t};\n\t}\n}\n\nexport type ModeOptions = {\n\tid: number,\n\tcode: string,\n}","import {Type, Text} from 'main.core';\nimport {DocumentOptions} from './document-options';\nimport {Helper} from '../helper';\n\nexport class Document\n{\n\t#id: number;\n\t#sessionId: string;\n\t#documentId: string;\n\t#categoryId: number;\n\t#dateExpire: Date;\n\n\t#documentSigned: string = '';\n\n\tconstructor(options: DocumentOptions)\n\t{\n\t\tthis.#id = parseInt(options.Id) >= 0 ? parseInt(options.Id) : 0;\n\t\tthis.#sessionId = Type.isStringFilled(options.SessionId) ? options.SessionId : '';\n\t\tthis.#documentId = Type.isStringFilled(options.DocumentId) ? options.DocumentId : '';\n\t\tthis.#categoryId = Text.toInteger(options.DocumentCategoryId);\n\t\tthis.#dateExpire = Helper.toDate(options.DateExpire);\n\t\tif (options.DocumentSigned)\n\t\t{\n\t\t\tthis.documentSigned = options.DocumentSigned;\n\t\t}\n\t}\n\n\tget documentId(): string\n\t{\n\t\treturn this.#documentId;\n\t}\n\n\tget categoryId(): number\n\t{\n\t\treturn this.#categoryId;\n\t}\n\n\tset categoryId(categoryId: number)\n\t{\n\t\tthis.#categoryId = Type.isNumber(categoryId) ? categoryId : 0;\n\t}\n\n\tget documentSigned(): string\n\t{\n\t\treturn this.#documentSigned;\n\t}\n\n\tset documentSigned(documentSigned: string)\n\t{\n\t\tthis.#documentSigned = Type.isStringFilled(documentSigned) ? documentSigned : '';\n\t}\n}","import {Type, Text, ajax} from 'main.core';\nimport {SessionOptions} from './session-options';\nimport {Mode, ModeOptions} from './mode';\nimport {Document} from './document';\nimport {Helper} from '../helper';\nimport {BaseEvent, EventEmitter} from \"main.core.events\";\nimport {Manager} from \"bizproc.debugger\";\n\nexport default class Session extends EventEmitter\n{\n\t#id: string = '';\n\t#mode: ModeOptions = {};\n\t#startedBy: number = 0;\n\t#active: boolean;\n\t#fixed: boolean;\n\t#documents: Array<Document> = [];\n\t#shortDescription: string = '';\n\t#categoryId: number = 0;\n\n\t#documentSigned: string = '';\n\n\t#finished: boolean = false;\n\t#pullFinishHandler: Function;\n\t#pullDocumentValuesHandler: Function;\n\n\tconstructor(options: SessionOptions)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Bizproc.Debugger.Session');\n\n\t\toptions = Type.isPlainObject(options) ? options : {};\n\n\t\tthis.#id = options.Id;\n\t\tthis.#setMode(options.Mode);\n\t\tthis.#startedBy = parseInt(options.StartedBy) >= 0 ? parseInt(options.StartedBy) : 0;\n\t\tthis.#shortDescription = String(options.ShortDescription);\n\t\tthis.#active = Boolean(options.Active);\n\t\tthis.#fixed = Boolean(options.Fixed);\n\t\tthis.#categoryId = Text.toInteger(options.CategoryId);\n\n\t\tthis.#setDocuments(options.Documents);\n\n\t\tif (this.isActive())\n\t\t{\n\t\t\tthis.#pullFinishHandler = this.#handleExternalFinished.bind(this);\n\t\t\tManager.Instance.pullHandler.subscribe('sessionFinish', this.#pullFinishHandler);\n\n\t\t\tthis.#pullDocumentValuesHandler = this.#handleExternalDocumentValues.bind(this);\n\t\t\tManager.Instance.pullHandler.subscribe('documentValues', this.#pullDocumentValuesHandler);\n\t\t}\n\t}\n\n\tset documentSigned(documentSigned: string)\n\t{\n\t\tif (this.isFixed() && this.activeDocument)\n\t\t{\n\t\t\tthis.activeDocument.documentSigned = documentSigned;\n\t\t}\n\n\t\tthis.#documentSigned = documentSigned;\n\t}\n\n\tget documentSigned(): string\n\t{\n\t\tif (this.activeDocument)\n\t\t{\n\t\t\tconst documentSigned = this.activeDocument.documentSigned;\n\t\t\tif (Type.isStringFilled(documentSigned))\n\t\t\t{\n\t\t\t\treturn documentSigned;\n\t\t\t}\n\t\t}\n\n\t\treturn this.#documentSigned;\n\t}\n\n\t#setMode(modeId: string | number)\n\t{\n\t\tmodeId = Helper.isNumeric(modeId) ? Number(modeId) : null;\n\n\t\tif (Mode.isMode(modeId))\n\t\t{\n\t\t\tthis.#mode = Mode.getMode(modeId);\n\t\t}\n\t}\n\n\t#setDocuments(documents: Array): this\n\t{\n\t\tif (Type.isArrayFilled(documents))\n\t\t{\n\t\t\tdocuments.forEach((document) => {\n\t\t\t\tthis.#documents.push(\n\t\t\t\t\tnew Document(document)\n\t\t\t\t);\n\t\t\t})\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tget id(): string\n\t{\n\t\treturn this.#id;\n\t}\n\n\tget startedBy(): number\n\t{\n\t\treturn this.#startedBy;\n\t}\n\n\tget activeDocument(): ?Document\n\t{\n\t\tif (this.#documents.length === 1)\n\t\t{\n\t\t\treturn this.#documents[0];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget modeId(): number\n\t{\n\t\treturn this.#mode.id;\n\t}\n\n\tget shortDescription(): string\n\t{\n\t\treturn this.#shortDescription;\n\t}\n\n\tget initialCategoryId(): number\n\t{\n\t\treturn this.#categoryId;\n\t}\n\n\tisActive(): boolean\n\t{\n\t\treturn this.#active;\n\t}\n\n\tisFixed(): boolean\n\t{\n\t\treturn this.#fixed;\n\t}\n\n\tisSessionStartedByUser(userId: number): boolean\n\t{\n\t\treturn this.startedBy === userId;\n\t}\n\n\tisAutomation(): boolean\n\t{\n\t\treturn true;\n\t}\n\n\tisInterceptionMode(): boolean\n\t{\n\t\treturn this.modeId === Mode.interception.id;\n\t}\n\n\tisExperimentalMode(): boolean\n\t{\n\t\treturn this.modeId === Mode.experimental.id;\n\t}\n\n\tstatic start(documentSigned: string, modeId: number): Promise\n\t{\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tajax.runAction(\n\t\t\t\t'bizproc.debugger.startSession',\n\t\t\t\t{\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tdocumentSigned,\n\t\t\t\t\t\tmode: modeId,\n\t\t\t\t\t},\n\t\t\t\t\tanalyticsLabel: {\n\t\t\t\t\t\tautomation_select_debug_mode: 'Y',\n\t\t\t\t\t\tmode_type: Mode.getMode(modeId).code,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t).then(\n\t\t\t\t(response) => {\n\t\t\t\t\tconst session = new Session(response.data.session);\n\t\t\t\t\tsession.documentSigned = response.data.documentSigned;\n\n\t\t\t\t\tresolve(session);\n\t\t\t\t},\n\t\t\t\treject\n\t\t\t)\n\t\t});\n\t}\n\n\tfinish(options: Object = {}): Promise\n\t{\n\t\treturn this.#innerFinish(options).then(response => {\n\t\t\tthis.#handleFinish();\n\n\t\t\treturn response;\n\t\t});\n\t}\n\n\t#innerFinish(options: Object = {}): Promise\n\t{\n\t\treturn ajax.runAction(\n\t\t\t'bizproc.debugger.finishDebugSession',\n\t\t\t{\n\t\t\t\tjson: {\n\t\t\t\t\tsessionId: this.id,\n\t\t\t\t\t...options\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfixateDocument(id: number): Promise\n\t{\n\t\treturn ajax.runAction(\n\t\t\t'bizproc.debugger.fixateSessionDocument',\n\t\t\t{\n\t\t\t\tdata: {\n\t\t\t\t\tdocumentId: id\n\t\t\t\t}\n\t\t\t}\n\t\t).then(response => {\n\t\t\tthis.documentSigned = response.data.documentSigned;\n\t\t\tthis.#updateSession(response.data.session);\n\n\t\t\tthis.emit('onAfterDocumentFixed');\n\n\t\t\treturn response;\n\t\t});\n\t}\n\n\tremoveDocuments(ids: Array = []): Promise\n\t{\n\t\treturn ajax.runAction(\n\t\t\t'bizproc.debugger.removeSessionDocument',\n\t\t\t{\n\t\t\t\tdata:{\n\t\t\t\t\tdocumentIds: ids,\n\t\t\t\t}\n\t\t\t}\n\t\t).then(response => {\n\t\t\tthis.#updateSession(response.data.session);\n\n\t\t\treturn response;\n\t\t});\n\t}\n\n\t#handleExternalFinished(event: BaseEvent)\n\t{\n\t\tconst sessionId: string = event.getData().sessionId;\n\t\tif (sessionId === this.id)\n\t\t{\n\t\t\tthis.#handleFinish();\n\t\t}\n\t}\n\n\t#handleExternalDocumentValues(event: BaseEvent)\n\t{\n\t\tif (!this.activeDocument)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst values: {} = event.getData().rawValues;\n\t\tconst categoryId = values['CATEGORY_ID'];\n\n\t\tif (categoryId)\n\t\t{\n\t\t\tthis.activeDocument.categoryId = Text.toInteger(categoryId);\n\n\t\t\t//TODO: refactoring candidate\n\t\t\tManager.Instance.requireSetFilter(this);\n\t\t}\n\t}\n\n\t#handleFinish()\n\t{\n\t\tif (!this.#finished)\n\t\t{\n\t\t\tthis.#finished = true;\n\t\t\tthis.emit('onFinished');\n\t\t\tthis.unsubscribeAll();\n\t\t\tif (this.#pullFinishHandler)\n\t\t\t{\n\t\t\t\tManager.Instance.pullHandler.unsubscribe('sessionFinish', this.#pullFinishHandler);\n\t\t\t\tthis.#pullFinishHandler = null;\n\t\t\t}\n\t\t\tif (this.#pullDocumentValuesHandler)\n\t\t\t{\n\t\t\t\tManager.Instance.pullHandler.unsubscribe('documentValues', this.#pullDocumentValuesHandler);\n\t\t\t\tthis.#pullDocumentValuesHandler = null;\n\t\t\t}\n\t\t}\n\t}\n\n\t#updateSession(options ={})\n\t{\n\t\tif (Object.keys(options).length <= 0)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#active = Boolean(options.Active);\n\t\tthis.#fixed = Boolean(options.Fixed);\n\t\tthis.#categoryId = Text.toInteger(options.CategoryId);\n\n\t\tthis.#setDocuments(options.Documents);\n\t}\n}","import {Loc, Tag, Text, Type, Dom} from 'main.core';\nimport {DelayInterval, DelayIntervalSelector, TrackingEntry} from \"bizproc.automation\";\nimport AutomationLogView from \"../views/automation-log\";\nimport { Helper } from \"../helper\";\nimport { Operator } from 'bizproc.condition';\n\nexport type RobotInfo = {\n\tname: string,\n\ttitle: string,\n\tdelayName: string | null;\n\tconditionNames: Array<string>\n};\n\nexport default class RobotLog\n{\n\t#robot: RobotInfo;\n\t#view: AutomationLogView;\n\n\t#currentNode: HTMLDivElement = null;\n\t#currentIndex: number = null;\n\n\t#isAfterPreviousRendered: boolean = false;\n\t#isPauseRendered: boolean = false;\n\t#isActivityBodyRendered: boolean = false;\n\n\t#prevRobotTitle: string = null;\n\n\tconstructor(view: AutomationLogView, robotInfo: RobotInfo)\n\t{\n\t\tthis.#view = view;\n\t\tthis.#robot = robotInfo;\n\t}\n\n\tget name(): string\n\t{\n\t\treturn this.#robot.name;\n\t}\n\n\tget title(): string\n\t{\n\t\treturn this.#robot.title;\n\t}\n\n\tget delayName(): string | null\n\t{\n\t\treturn this.#robot.delayName;\n\t}\n\n\tget conditionNames(): Array<string>\n\t{\n\t\treturn this.#robot.conditionNames;\n\t}\n\n\tgetActivitiesName(): Array<string>\n\t{\n\t\tlet names = [];\n\n\t\tif (this.name)\n\t\t{\n\t\t\tnames.push(this.name);\n\t\t}\n\n\t\tif (this.delayName)\n\t\t{\n\t\t\tnames.push(this.delayName);\n\t\t}\n\n\t\tnames = names.concat(this.conditionNames);\n\n\t\treturn names;\n\t}\n\n\tset previousRobotTitle(title: string)\n\t{\n\t\tthis.#prevRobotTitle = title;\n\t}\n\n\trenderTrack(track: TrackingEntry): void\n\t{\n\t\tconst excludedTypes = [TrackingEntry.EXECUTE_ACTIVITY_TYPE, TrackingEntry.ATTACHED_ENTITY_TYPE];\n\t\tif (excludedTypes.includes(track.type))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (track.name === this.delayName)\n\t\t{\n\t\t\treturn this.#renderPause(track);\n\t\t}\n\n\t\tif (this.conditionNames.includes(track.name))\n\t\t{\n\t\t\tif (this.#isPauseRendered === false)\n\t\t\t{\n\t\t\t\tconst node = this.#getCurrentRobotNode(track);\n\t\t\t\tDom.append(this.#renderDelayInterval(new DelayInterval()), node);\n\t\t\t\tthis.#isPauseRendered = true;\n\t\t\t}\n\n\t\t\treturn this.#renderCondition(track);\n\t\t}\n\n\t\tif (track.name === this.name)\n\t\t{\n\t\t\tif (this.#isPauseRendered === false)\n\t\t\t{\n\t\t\t\tconst node = this.#getCurrentRobotNode(track);\n\t\t\t\tDom.append(this.#renderDelayInterval(new DelayInterval()), node);\n\t\t\t\tthis.#isPauseRendered = true;\n\t\t\t}\n\n\t\t\treturn this.#renderActivity(track);\n\t\t}\n\t}\n\n\t#getCurrentRobotNode(track: TrackingEntry): HTMLDivElement\n\t{\n\t\tif (this.#view.index !== this.#currentIndex)\n\t\t{\n\t\t\tconst node = Tag.render`\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-section\">\n\t\t\t\t\t${this.#renderRobotTitle(track.datetime)}\n\t\t\t\t</div>\n\t\t\t`;\n\n\t\t\tif (Type.isStringFilled(this.#prevRobotTitle) && this.#isAfterPreviousRendered === false)\n\t\t\t{\n\t\t\t\tDom.append(this.#renderAfterPrevious(), node);\n\t\t\t}\n\n\t\t\tDom.append(node, this.#view.logNode);\n\n\t\t\tthis.#currentNode = node;\n\t\t}\n\n\t\treturn this.#currentNode;\n\t}\n\n\t#renderRobotTitle(time: string): HTMLDivElement\n\t{\n\t\tconst message = Loc.getMessage(\n\t\t\t'BIZPROC_JS_DEBUGGER_LOG_TITLE',\n\t\t\t{'#TITLE#' : this.title}\n\t\t);\n\n\t\tconst node = Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t${this.#view.renderIndex()}\n\t\t\t\t${AutomationLogView.renderTime(time)}\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-section--title\">${Text.encode(message)}</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tthis.#currentIndex = this.#view.index;\n\n\t\treturn node;\n\t}\n\n\t#renderAfterPrevious(): HTMLDivElement\n\t{\n\t\tthis.#isAfterPreviousRendered = true;\n\n\t\tconst node = Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t${this.#view.renderIndex()}\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-info\">\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--name\">\n\t\t\t\t\t\t<span class=\"bizproc-debugger-automation__log-info--name-text\">\n\t\t\t\t\t\t\t${Loc.getMessage('BIZPROC_JS_DEBUGGER_LOG_AFTER_PREVIOUS_MSGVER_1')}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--value\">\n\t\t\t\t\t\t<span class=\"bizproc-debugger-automation__log-color-box --blue\">\n\t\t\t\t\t\t\t\"${Text.encode(this.#prevRobotTitle)}\"\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tthis.#currentIndex = this.#view.index;\n\n\t\treturn node;\n\t}\n\n\t// region Pause\n\t#renderPause(track: TrackingEntry): void\n\t{\n\t\tthis.#isPauseRendered = true;\n\n\t\tconst excludedTypes = [TrackingEntry.CLOSE_ACTIVITY_TYPE];\n\n\t\t// ignore\n\t\tif (excludedTypes.includes(track.type))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\t// delay Interval\n\t\tif (track.type === TrackingEntry.DEBUG_AUTOMATION_TYPE)\n\t\t{\n\t\t\tconst node = this.#getCurrentRobotNode(track);\n\t\t\tconst note = JSON.parse(track.note);\n\n\t\t\treturn Dom.append(this.#renderDelayInterval(note), node);\n\t\t}\n\n\t\tconst node = this.#getCurrentRobotNode(track);\n\n\t\treturn Dom.append(this.#renderNote(track), node);\n\t}\n\n\t#renderDelayInterval(note ={}): HTMLDivElement\n\t{\n\t\tconst delayInterval = new DelayInterval(note);\n\t\tlet name = note.fieldName ?? (new DelayIntervalSelector()).getBasisField(delayInterval.basis, true).Name;\n\t\tname = name + ' [' + note.fieldValue + ']';\n\n\t\tconst delay = delayInterval.format(\n\t\t\tLoc.getMessage('BIZPROC_JS_DEBUGGER_LOG_DELAY_INTERVAL_AT_ONCE'),\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tSystemExpression: delayInterval.basis,\n\t\t\t\t\tName: name\n\t\t\t\t}\n\t\t\t]\n\t\t);\n\n\t\tconst node = Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t${this.#view.renderIndex()}\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-info\">\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--name\">\n\t\t\t\t\t\t<span class=\"bizproc-debugger-automation__log-info--name-text\">\n\t\t\t\t\t\t\t${Loc.getMessage('BIZPROC_JS_DEBUGGER_LOG_DELAY_INTERVAL_RUN')}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span>:</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--value\">\n\t\t\t\t\t\t<span class=\"bizproc-debugger-automation__log-color-box --dark-blue\">\n\t\t\t\t\t\t\t${Text.encode(delay)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tthis.#currentIndex = this.#view.index;\n\n\t\treturn node;\n\t}\n\t// endregion\n\n\t// region Condition\n\t#renderCondition(track: TrackingEntry): void\n\t{\n\t\tconst excludedTypes = [TrackingEntry.CLOSE_ACTIVITY_TYPE];\n\n\t\t// ignore\n\t\tif (excludedTypes.includes(track.type))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (track.type === TrackingEntry.DEBUG_AUTOMATION_TYPE)\n\t\t{\n\t\t\tconst node = this.#getCurrentRobotNode(track);\n\n\t\t\treturn Dom.append(this.#renderConditions(track), node);\n\t\t}\n\n\t\tconst node = this.#getCurrentRobotNode(track);\n\n\t\treturn Dom.append(this.#renderNote(track), node);\n\t}\n\n\t#renderConditions(track: TrackingEntry): HTMLDivElement\n\t{\n\t\tconst note = JSON.parse(track.note);\n\n\t\tconst conditionNode = Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-info\">\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--name\">\n\t\t\t\t\t<span class=\"bizproc-debugger-automation__log-info--name-text\">\n\t\t\t\t\t\t${\n\t\t\t\t\t\t\tnote.result === 'Y'\n\t\t\t\t\t\t\t\t? Loc.getMessage('BIZPROC_JS_DEBUGGER_LOG_CONDITION')\n\t\t\t\t\t\t\t\t: Loc.getMessage('BIZPROC_JS_DEBUGGER_LOG_CONDITION_FALSE')\n\t\t\t\t\t\t}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span>:</span> \n\t\t\t\t</div> \n\t\t\t</div>\n\t\t`;\n\n\t\tObject.keys(note).forEach((key) => {\n\t\t\tif (key === 'result')\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet colorCondition = '';\n\t\t\tif (note.result === note[key]['result'])\n\t\t\t{\n\t\t\t\tcolorCondition =\n\t\t\t\t\t(note.result === 'Y')\n\t\t\t\t\t\t? 'bizproc-debugger-automation__log-color-box --green'\n\t\t\t\t\t\t: 'bizproc-debugger-automation__log-color-box --orange'\n\t\t\t\t;\n\t\t\t}\n\n\t\t\tconst condition = note[key]['condition'];\n\t\t\tconst field = condition['field'];\n\t\t\tconst fieldValue =\n\t\t\t\t(note[key]['fieldValue'])\n\t\t\t\t\t? String(note[key]['fieldValue'])\n\t\t\t\t\t: ''\n\t\t\t;\n\t\t\tconst operator = Operator.getOperatorLabel(condition['operator'])\n\t\t\tconst value = condition['value'];\n\t\t\tconst joiner = Helper.getJoinerLabel(note[key]['joiner']);\n\n\t\t\tDom.append(\n\t\t\t\tTag.render`\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--value\">\n\t\t\t\t\t\t<span class=\"${colorCondition}\" >\n\t\t\t\t\t\t\t${(key === '0') ? '' : Text.encode(joiner) + ' '}\n\t\t\t\t\t\t\t${Text.encode(field) + ' '}\n\t\t\t\t\t\t\t${'[' + Text.encode(fieldValue) + '] '} \n\t\t\t\t\t\t\t${Text.encode(operator) + ' '} \n\t\t\t\t\t\t\t${Text.encode(value)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t\tconditionNode\n\t\t\t);\n\t\t});\n\n\t\tconst node = Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t${this.#view.renderIndex()}\n\t\t\t\t${conditionNode}\n\t\t\t</div>\n\t\t`;\n\n\t\tthis.#currentIndex = this.#view.index;\n\n\t\treturn node;\n\t}\n\t// endregion\n\n\t// region Activity\n\t#renderActivity(track: TrackingEntry): void\n\t{\n\t\tif (track.type === TrackingEntry.CLOSE_ACTIVITY_TYPE)\n\t\t{\n\t\t\tif (this.#isActivityBodyRendered === false)\n\t\t\t{\n\t\t\t\tconst node = this.#getCurrentRobotNode(track);\n\n\t\t\t\treturn Dom.append(this.#renderActivityFinish(), node);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// fields\n\t\tthis.#isActivityBodyRendered = true;\n\t\tconst node = this.#getCurrentRobotNode(track);\n\n\t\tconst renderedNote = this.#renderNote(track);\n\n\t\tDom.append(renderedNote, node);\n\n\t\tthis.#view.collapseInfoResults(renderedNote);\n\t}\n\n\t#renderActivityFinish(): HTMLDivElement\n\t{\n\t\t// tracking-track-2\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t${this.#view.renderIndex()}\n\t\t\t\t<div class=\"bizproc-debugger-automation-log-section-robot-activity\">\n\t\t\t\t\t${Loc.getMessage('BIZPROC_JS_DEBUGGER_LOG_FINISH_WITHOUT_SETTINGS')}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\t// endregion\n\n\t#renderNote(track: TrackingEntry): HTMLDivElement\n\t{\n\t\tif ([TrackingEntry.DEBUG_AUTOMATION_TYPE, TrackingEntry.DEBUG_ACTIVITY_TYPE].includes(track.type))\n\t\t{\n\t\t\treturn this.#renderDebugNote(track);\n\t\t}\n\n\t\tif ([TrackingEntry.DEBUG_LINK_TYPE].includes(track.type))\n\t\t{\n\t\t\treturn this.#renderDebugLink(track);\n\t\t}\n\n\t\tconst colorBox =\n\t\t\t[TrackingEntry.CANCEL_ACTIVITY_TYPE, TrackingEntry.FAULT_ACTIVITY_TYPE, TrackingEntry.ERROR_ACTIVITY_TYPE].includes(track.type)\n\t\t\t\t? 'bizproc-debugger-automation__log-color-box --red'\n\t\t\t\t: ''\n\t\t;\n\n\t\tconst node = Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t${this.#view.renderIndex()}\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--value --first\">\n\t\t\t\t\t<span class=\"${colorBox}\">\n\t\t\t\t\t\t${Text.encode(track.note).replace(/([^>])\\n/g, '$1<br>')}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tthis.#currentIndex = this.#view.index;\n\n\t\treturn node;\n\t}\n\n\t#renderDebugNote(track: TrackingEntry): HTMLDivElement\n\t{\n\t\tconst note = JSON.parse(track.note);\n\n\t\tconst infoNode = Tag.render`<div class=\"bizproc-debugger-automation__log-info\"></div>`;\n\n\t\tif (note['propertyName'])\n\t\t{\n\t\t\tDom.append(\n\t\t\t\tTag.render`\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--name\">\n\t\t\t\t\t\t<span class=\"bizproc-debugger-automation__log-info--name-text\" title=\"${Text.encode(note['propertyName'])}\">\n\t\t\t\t\t\t\t${Text.encode(note['propertyName'])}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span>:</span>\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t\tinfoNode\n\t\t\t);\n\t\t}\n\n\t\tDom.append(\n\t\t\tTag.render`\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--value ${note['propertyName'] ? '' : '--first'}\">\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__log--variable-height\" data-role=\"info-result\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t${note['propertyValue'] ? Text.encode(note['propertyValue']).replace(/([^>])\\n/g, '$1<br>') : ''}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div data-role=\"more-info-result\" style=\"display:none;\">\n\t\t\t\t\t\t<span class=\"bizproc-debugger-automation__log-info--more\">\n\t\t\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_MORE_INFORMATION'))}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`,\n\t\t\tinfoNode\n\t\t);\n\n\t\tconst node = Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t${this.#view.renderIndex()}\n\t\t\t\t${infoNode}\n\t\t\t</div>\n\t\t`;\n\n\t\tthis.#currentIndex = this.#view.index;\n\n\t\treturn node;\n\t}\n\n\t#renderDebugLink(track: TrackingEntry): HTMLDivElement\n\t{\n\t\tconst note = JSON.parse(track.note);\n\t\tconst infoNode = Tag.render`<div class=\"bizproc-debugger-automation__log-info\"></div>`;\n\t\tconst label = note['propertyLinkName'] || note['propertyValue'];\n\t\tconst link = note['propertyValue'];\n\n\t\tif (note['propertyName'])\n\t\t{\n\t\t\tDom.append(\n\t\t\t\tTag.render`\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--name\">\n\t\t\t\t\t\t<span class=\"bizproc-debugger-automation__log-info--name-text\" title=\"${Text.encode(note['propertyName'])}\">\n\t\t\t\t\t\t\t${Text.encode(note['propertyName'])}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span>:</span>\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t\tinfoNode\n\t\t\t);\n\t\t}\n\n\t\tDom.append(\n\t\t\tTag.render`\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--value ${note['propertyName'] ? '' : '--first'}\">\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__log--variable-height\" data-role=\"info-result\">\n\t\t\t\t\t\t<a href=\"${Text.encode(link)}\" target=\"_blank\">\n\t\t\t\t\t\t\t${label}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`,\n\t\t\tinfoNode\n\t\t);\n\n\t\tconst node = Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t${this.#view.renderIndex()}\n\t\t\t\t${infoNode}\n\t\t\t</div>\n\t\t`;\n\n\t\tthis.#currentIndex = this.#view.index;\n\n\t\treturn node;\n\t}\n}\n","import AutomationLogView from \"../views/automation-log\";\nimport {TrackingEntry} from \"bizproc.automation\";\nimport {Dom, Loc, Tag, Text} from 'main.core';\nimport {Helper} from \"../helper\";\nimport {Operator} from 'bizproc.condition';\n\nexport default class TriggerLog\n{\n\t#view: AutomationLogView;\n\n\t#condition: {} = {};\n\t#title: string = '';\n\t#track: TrackingEntry = null;\n\n\tconstructor(view: AutomationLogView)\n\t{\n\t\tthis.#view = view;\n\t}\n\n\taddTrack(track: TrackingEntry): TriggerLog\n\t{\n\t\tif (track.type === TrackingEntry.DEBUG_AUTOMATION_TYPE && track.name === 'TRIGGER_LOG')\n\t\t{\n\t\t\tthis.#condition = JSON.parse(track.note);\n\t\t\tthis.#title = track.title;\n\t\t\tthis.#track = track;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\trender()\n\t{\n\t\tconst node = Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-section\">\n\t\t\t\t${this.#renderTitle()}\n\t\t\t\t${this.#renderCondition()}\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t\t${this.#view.renderIndex()}\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--value --first\">\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_LOG_TRIGGER_FINISH'))}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tDom.append(node, this.#view.logNode);\n\t}\n\n\t#renderTitle(): HTMLDivElement | string\n\t{\n\t\tconst message = Loc.getMessage(\n\t\t\t'BIZPROC_JS_DEBUGGER_LOG_TRIGGER_TITLE',\n\t\t\t{'#TITLE#' : this.#title}\n\t\t);\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t${this.#view.renderIndex()}\n\t\t\t\t${AutomationLogView.renderTime(this.#track.datetime)}\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-section--title\">${Text.encode(message)}</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#renderCondition(): HTMLDivElement | string\n\t{\n\t\tif (!this.#condition || Object.keys(this.#condition).length <= 0)\n\t\t{\n\t\t\treturn '';\n\t\t}\n\n\t\tconst note = this.#condition;\n\n\t\tconst conditionNode = Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-info\">\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--name\">\n\t\t\t\t\t<span class=\"bizproc-debugger-automation__log-info--name-text\">\n\t\t\t\t\t\t${Loc.getMessage('BIZPROC_JS_DEBUGGER_LOG_CONDITION')}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span>:</span> \n\t\t\t\t</div> \n\t\t\t</div>\n\t\t`;\n\n\t\tObject.keys(note).forEach((key) => {\n\t\t\tconst colorCondition = (note[key]['result'] === 'Y') ? 'bizproc-debugger-automation__log-color-box --green' : '';\n\n\t\t\tconst condition = note[key]['condition'];\n\t\t\t//const object = Helper.getFieldObjectLabel(condition['object']);\n\t\t\tconst field = condition['field'];\n\t\t\tconst fieldValue =\n\t\t\t\t(note[key]['fieldValue'])\n\t\t\t\t\t? String(note[key]['fieldValue'])\n\t\t\t\t\t: ''\n\t\t\t;\n\n\t\t\tconst operator = Operator.getOperatorLabel(condition['operator']);\n\t\t\tconst value = condition['value'];\n\t\t\tconst joiner = Helper.getJoinerLabel(note[key]['joiner']);\n\n\t\t\tDom.append(\n\t\t\t\tTag.render`\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__log-info--value\">\n\t\t\t\t\t\t<span class=\"${colorCondition}\" >\n\t\t\t\t\t\t\t${(key === '0') ? '' : (Text.encode(joiner) + ' ')}\n\t\t\t\t\t\t\t${Text.encode(field) + ' '}\n\t\t\t\t\t\t\t${'[' + Text.encode(fieldValue) + '] '}\n\t\t\t\t\t\t\t${Text.encode(operator) + ' '}\n\t\t\t\t\t\t\t${Text.encode(value)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t\tconditionNode\n\t\t\t);\n\t\t});\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t${this.#view.renderIndex()}\n\t\t\t\t${conditionNode}\n\t\t\t</div>\n\t\t`;\n\t}\n}","import {Tag, Text, Type, Dom, Event, Loc} from 'main.core';\nimport RobotLog from \"../tracker/robot-log\";\nimport Automation from \"../automation\";\nimport {Robot, TrackingEntry, TrackingEntryBuilder, ViewMode} from 'bizproc.automation';\nimport {Helper} from \"../helper\";\nimport {BaseEvent} from \"main.core.events\";\nimport TriggerLog from \"../tracker/trigger-log\";\nimport 'ui.fonts.robotomono';\n\nexport default class AutomationLogView\n{\n\t#debuggerInstance: Automation = null;\n\t#workflowId: string;\n\n\t#activityRenderer = {};\n\n\t#documentStatus: string = '';\n\t#categoryName: string = '';\n\t#statusSettings: object;\n\n\t#node: HTMLDivElement = null;\n\t#index: number = 0;\n\t#trackId: number = 0;\n\n\t#poolTrack: Array<TrackingEntry> = [];\n\t#poolWorkflowRobots: object = {};\n\t#isRendering: boolean = true;\n\n\tstatic #NUMBER_OF_LINES_TO_SHOW_IN_PIXELS: number = 50; // 3 lines\n\t#shouldScrollToBottom: boolean = false;\n\t#shouldLoadPreviousLog: boolean = false;\n\n\t#onTrackAddedHandler: Function;\n\t#onChangeTabHandler: Function;\n\t#onSessionFinishedHandler: Function;\n\t#autoScrollHandler: Function;\n\t#scrollAnimationId;\n\n\tconstructor(debuggerInstance: Automation)\n\t{\n\t\tthis.#debuggerInstance = debuggerInstance;\n\t\tthis.#workflowId = this.debugger.workflowId;\n\n\t\tconst template = this.debugger.getTemplate();\n\t\tthis.initializeWorkflowRobotsRenderer(template ? template['ROBOTS'] : []);\n\n\t\tif (this.debugger.session.isActive())\n\t\t{\n\t\t\tthis.#onTrackAddedHandler = this.onTrackAdded.bind(this);\n\t\t\tthis.debugger.subscribe('onWorkflowTrackAdded', this.#onTrackAddedHandler);\n\n\t\t\tthis.#onChangeTabHandler = this.#onChangeTab.bind(this);\n\t\t\tthis.debugger.getMainView().subscribe('onChangeTab', this.#onChangeTabHandler);\n\n\t\t\tthis.#onSessionFinishedHandler = this.#onSessionFinished.bind(this);\n\t\t\tthis.debugger.session.subscribeOnce('onFinished', this.#onSessionFinishedHandler);\n\t\t}\n\t}\n\n\tget debugger(): Automation | null\n\t{\n\t\treturn this.#debuggerInstance;\n\t}\n\n\tget index(): number\n\t{\n\t\treturn this.#index;\n\t}\n\n\tget logNode(): HTMLDivElement | null\n\t{\n\t\tif (!this.#node)\n\t\t{\n\t\t\tthis.#node = Tag.render`<div data-role=\"log\" class=\"bizproc-debugger-tab__log\"></div>`;\n\t\t}\n\n\t\treturn this.#node;\n\t}\n\n\tinitializeWorkflowRobotsRenderer(workflowRobots: Array = [], workflowId: string = null)\n\t{\n\t\tif (!workflowId && ! this.#workflowId)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (Type.isUndefined(this.#activityRenderer[workflowId ?? this.#workflowId]))\n\t\t{\n\t\t\tthis.#activityRenderer[workflowId ?? this.#workflowId] = {};\n\t\t}\n\n\t\tif (Type.isArrayFilled(workflowRobots))\n\t\t{\n\t\t\tlet prevRobotTitle = null;\n\n\t\t\tfor (let i = 0; i < workflowRobots.length; ++i)\n\t\t\t{\n\t\t\t\tconst robot = new Robot({});\n\t\t\t\trobot.init(workflowRobots[i], ViewMode.none());\n\n\t\t\t\tconst robotLogger = new RobotLog(this, {\n\t\t\t\t\tname: robot.getId(),\n\t\t\t\t\ttitle: robot.getTitle(),\n\t\t\t\t\tdelayName: robot.data.DelayName ?? null,\n\t\t\t\t\tconditionNames: robot.getCondition().conditionNamesList,\n\t\t\t\t});\n\n\t\t\t\tif (robot.isExecuteAfterPrevious() && prevRobotTitle)\n\t\t\t\t{\n\t\t\t\t\trobotLogger.previousRobotTitle = prevRobotTitle;\n\t\t\t\t}\n\n\t\t\t\tprevRobotTitle = robot.getTitle();\n\n\t\t\t\trobotLogger.getActivitiesName().forEach((activityName) => {\n\t\t\t\t\tthis.#activityRenderer[workflowId ?? this.#workflowId][activityName] = robotLogger;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t// region LOAD LOG\n\n\tshouldLoadPreviousLog(should: boolean): this\n\t{\n\t\tthis.#shouldLoadPreviousLog = should;\n\n\t\treturn this;\n\t}\n\n\t#loadPreviousLog(): Promise<this>\n\t{\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.debugger.loadAllLog()\n\t\t\t\t.then(\n\t\t\t\t\t(data) => {\n\t\t\t\t\t\tthis.#onAfterGetLog(data);\n\n\t\t\t\t\t\tresolve(this)\n\t\t\t\t\t},\n\t\t\t\t\t() => {resolve(this)}\n\t\t\t\t)\n\t\t\t;\n\t\t});\n\t}\n\n\t#loadWorkflowRobotsByWorkflowId(track)\n\t{\n\t\tthis.debugger.loadRobotsByWorkflowId(track.workflowId)\n\t\t\t.then(\n\t\t\t\t(data) => {\n\t\t\t\t\tthis.#poolWorkflowRobots[track.workflowId] = data.workflowRobots;\n\t\t\t\t\tthis.initializeWorkflowRobotsRenderer(this.#poolWorkflowRobots[track.workflowId], track.workflowId);\n\t\t\t\t\tthis.startRendering();\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tthis.#poolWorkflowRobots[track.workflowId] = [];\n\t\t\t\t\tconsole.info('session has no workflowId from track:', track);\n\t\t\t\t\tthis.startRendering();\n\t\t\t\t}\n\t\t\t)\n\t\t;\n\t}\n\n\tsetPreviousLog(data = {logs: [], workflowRobots: {}}): this\n\t{\n\t\tthis.#onAfterGetLog(data);\n\n\t\treturn this;\n\t}\n\n\t#onAfterGetLog(data)\n\t{\n\t\tconst logFromDB = [];\n\t\tconst builder = new TrackingEntryBuilder();\n\n\t\tif (Type.isArrayFilled(data['logs']))\n\t\t{\n\t\t\tdata['logs'].forEach((item) => {\n\t\t\t\tlogFromDB.push(builder.setLogEntry(item).build());\n\t\t\t});\n\t\t}\n\n\t\tthis.#poolTrack = logFromDB.concat(this.#poolTrack);\n\t\tthis.#poolWorkflowRobots = Object.assign(data['workflowRobots'], this.#poolWorkflowRobots);\n\t}\n\n\t// endregion\n\n\t// region RENDER LOG\n\n\trender(): HTMLDivElement\n\t{\n\t\tif (this.logNode.children.length <= 0)\n\t\t{\n\t\t\tthis.#isRendering = true;\n\n\t\t\tif (this.#shouldLoadPreviousLog)\n\t\t\t{\n\t\t\t\tthis.#loadPreviousLog().then(() => {\n\t\t\t\t\tthis.startRendering();\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.startRendering();\n\t\t\t}\n\t\t}\n\n\t\treturn this.logNode;\n\t}\n\n\trenderTo(element: HTMLElement): this\n\t{\n\t\tDom.append(this.logNode, element);\n\t\tthis.#isRendering = true;\n\t\tthis.startRendering();\n\n\t\treturn this;\n\t}\n\n\tstartRendering()\n\t{\n\t\tconst track = this.#poolTrack.shift();\n\t\tif (Type.isUndefined(track))\n\t\t{\n\t\t\tthis.#isRendering = false;\n\t\t\tthis.#askScrollToBottom();\n\t\t\tthis.#bindAutoScroll(this.#shouldScrollToBottom)\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.#workflowId !== track.workflowId)\n\t\t{\n\t\t\tif (Type.isUndefined(this.#activityRenderer[track.workflowId]))\n\t\t\t{\n\t\t\t\tif (Type.isUndefined(this.#poolWorkflowRobots[track.workflowId]))\n\t\t\t\t{\n\t\t\t\t\tthis.#loadWorkflowRobotsByWorkflowId(track);\n\n\t\t\t\t\tthis.renderTrack(track);\n\t\t\t\t\tthis.#workflowId = track.workflowId;\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.initializeWorkflowRobotsRenderer(this.#poolWorkflowRobots[track.workflowId], track.workflowId);\n\t\t\t}\n\t\t}\n\n\t\tthis.renderTrack(track);\n\t\tthis.startRendering();\n\t}\n\n\t#renderStartDebugLog(track: TrackingEntry)\n\t{\n\t\tthis.#renderStartedDate(track);\n\t\tthis.#renderLegend(track);\n\t}\n\n\t#renderStartedDate(track: TrackingEntry)\n\t{\n\t\tconst startedDate = Helper.toDate(track.datetime);\n\n\t\tconst dateNode = Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log--date\">\n\t\t\t\t<div class=\"bizproc-debugger-automation__log--date-text\">${Text.encode(Helper.formatDate('j F Y', startedDate))}</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tDom.append(dateNode, this.logNode);\n\t}\n\n\t#renderLegend(track: TrackingEntry)\n\t{\n\t\tconst description = JSON.parse(track.note)['propertyValue'];\n\n\t\t// separator <div class=\"bizproc-debugger-automation__log-separator\"></div>\n\n\t\tconst descriptionNode = Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-section\">\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t\t${this.renderIndex()}\n\t\t\t\t\t${AutomationLogView.renderTime(track.datetime)}\n\t\t\t\t\t<div>${Text.encode(description)}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tDom.append(descriptionNode, this.logNode);\n\t}\n\n\trenderIndex(): HTMLDivElement\n\t{\n\t\tthis.#index++;\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log--index\" data-role=\"index\">${String(this.#index).padStart(3, '0')}</div>\n\t\t`;\n\t}\n\n\tstatic renderTime(datetime: string): HTMLDivElement\n\t{\n\t\tdatetime = Helper.toDate(datetime);\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log--time\">\n\t\t\t\t[${Text.encode(Helper.formatDate('H:i:s', datetime))}]\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t// endregion\n\n\t// region status log\n\n\trenderStatusChange(track: TrackingEntry)\n\t{\n\t\tconst parsedTrackNote = JSON.parse(track.note);\n\t\tif (!Type.isStringFilled(this.#documentStatus))\n\t\t{\n\t\t\tthis.#documentStatus = parsedTrackNote['STATUS_ID'];\n\t\t\tthis.#statusSettings = parsedTrackNote;\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst sourceStage = this.getStatusSettings(this.#documentStatus);\n\t\tconst destinationStage = parsedTrackNote;\n\n\t\tconst node = Tag.render`\n\t\t\t<div class=\"bizproc-debugger-automation__log-section\">\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t\t${this.renderIndex()}\n\t\t\t\t\t${AutomationLogView.renderTime(track.datetime)}\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__status--change-info\">\n\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__status --log-status ${Helper.getBgColorAdditionalClass(sourceStage['COLOR'])}\" title=\"${Text.encode(sourceStage['NAME'])}\"> \n\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__status--title\">${Text.encode(sourceStage['NAME'])}</div>\n\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__status--bg\" style=\"background-color: ${sourceStage['COLOR']}; border-color: ${sourceStage['COLOR']};\">\n\t\t\t\t\t\t\t\t<span class=\"bizproc-debugger-automation__status--bg-arrow\"></span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__status--robot-change-arrow\"></div>\n\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__status --log-status ${Helper.getBgColorAdditionalClass(destinationStage['COLOR'])}\" title=\"${Text.encode(destinationStage['NAME'])}\"> \n\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__status--title\">${Text.encode(destinationStage['NAME'])}</div>\n\t\t\t\t\t\t\t<div class=\"bizproc-debugger-automation__status--bg\" style=\"background-color: ${destinationStage.COLOR}; border-color: ${destinationStage.COLOR};\">\n\t\t\t\t\t\t\t\t<span class=\"bizproc-debugger-automation__status--bg-arrow\"></span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tDom.append(node, this.logNode);\n\n\t\tthis.#documentStatus = parsedTrackNote['STATUS_ID'];\n\t\tthis.#statusSettings = parsedTrackNote;\n\t}\n\n\tgetStatusSettings(): object\n\t{\n\t\tif (Type.isUndefined(this.#statusSettings))\n\t\t{\n\t\t\treturn {\n\t\t\t\tNAME: '',\n\t\t\t\tCOLOR: 'AEF2F9'\n\t\t\t};\n\t\t}\n\n\t\treturn this.#statusSettings;\n\t}\n\n\t#renderCategoryChange(track: TrackingEntry)\n\t{\n\t\tconst categoryName = JSON.parse(track.note)['propertyValue'];\n\t\tif (!Type.isStringFilled(this.#categoryName))\n\t\t{\n\t\t\tthis.#categoryName = categoryName;\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst descriptionNode = Tag.render`\n\t\t\t<div>\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-separator\"></div>\n\t\t\t\t<div class=\"bizproc-debugger-automation__log-section\">\n\t\t\t\t\t<div class=\"bizproc-debugger-automation__log-section--row\">\n\t\t\t\t\t\t${this.renderIndex()}\n\t\t\t\t\t\t${AutomationLogView.renderTime(track.datetime)}\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t${Text.encode(Loc.getMessage(\n\t\t\t\t\t\t\t\t'BIZPROC_JS_DEBUGGER_CATEGORY_CHANGE_MSGVER_1',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'#SOURCE_CATEGORY#': this.#categoryName,\n\t\t\t\t\t\t\t\t\t'#DESTINATION_CATEGORY#': categoryName\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tDom.append(descriptionNode, this.logNode);\n\n\t\tthis.#categoryName = categoryName;\n\t}\n\n\t// endregion\n\n\t// region TRACK\n\tonTrackAdded(event: BaseEvent)\n\t{\n\t\tconst entryBuilder = new TrackingEntryBuilder();\n\t\tentryBuilder.setLogEntry(event.getData().row);\n\n\t\tthis.addTrack(entryBuilder.build());\n\t}\n\n\taddTrack(track: TrackingEntry): void {\n\t\tif (!this.#isRendering)\n\t\t{\n\t\t\tthis.renderTrack(track);\n\t\t\tthis.#askScrollToBottom();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#poolTrack.push(track);\n\t}\n\n\trenderTrack(track: TrackingEntry)\n\t{\n\t\tif ((track.id <= this.#trackId))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (!Object.keys(this.#activityRenderer[track.workflowId] ?? {}).includes(track.name))\n\t\t{\n\t\t\tif (track.name === 'SESSION_LEGEND')\n\t\t\t{\n\t\t\t\tthis.#renderStartDebugLog(track);\n\t\t\t\tthis.#trackId = track.id;\n\t\t\t}\n\t\t\telse if (track.name === 'STATUS_CHANGED')\n\t\t\t{\n\t\t\t\tthis.renderStatusChange(track);\n\t\t\t\tthis.#trackId = track.id;\n\t\t\t}\n\t\t\telse if (track.name === 'CATEGORY_CHANGED')\n\t\t\t{\n\t\t\t\tthis.#renderCategoryChange(track);\n\t\t\t\tthis.#trackId = track.id;\n\t\t\t}\n\t\t\telse if (track.name === 'TRIGGER_LOG')\n\t\t\t{\n\t\t\t\t(new TriggerLog(this)).addTrack(track).render();\n\t\t\t\tthis.#trackId = track.id;\n\t\t\t}\n\t\t\telse if (track.name === 'Template' && track.type === TrackingEntry.EXECUTE_ACTIVITY_TYPE)\n\t\t\t{\n\t\t\t\tif (Type.isUndefined(this.#poolWorkflowRobots[track.workflowId]) && this.#isRendering === false)\n\t\t\t\t{\n\t\t\t\t\tthis.#isRendering = true;\n\n\t\t\t\t\tthis.#loadWorkflowRobotsByWorkflowId(track);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (track.name === 'Template' && track.type === TrackingEntry.CLOSE_ACTIVITY_TYPE)\n\t\t\t{\n\t\t\t\tthis.#clearWorkflowRobots(track.workflowId);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#activityRenderer[track.workflowId][track.name].renderTrack(track);\n\t\tthis.#trackId = track.id;\n\t}\n\t//endregion\n\n\t// region ON CHANGE TAB: scrollToBottom, collapseInfoResults\n\n\t#onChangeTab(event: BaseEvent)\n\t{\n\t\tif (event.getData().tab === 'log')\n\t\t{\n\t\t\tthis.collapseInfoResults();\n\t\t\tthis.#askScrollToBottom();\n\t\t}\n\t}\n\n\tcollapseInfoResults(node?: HTMLElement): this\n\t{\n\t\tif (!node)\n\t\t{\n\t\t\tnode = this.logNode;\n\t\t}\n\n\t\tconst infoResults = node.querySelectorAll('[data-role=\"info-result\"]');\n\t\tinfoResults.forEach((infoNode) => {\n\t\t\tif (infoNode.firstElementChild.clientHeight > this.constructor.#NUMBER_OF_LINES_TO_SHOW_IN_PIXELS)\n\t\t\t{\n\t\t\t\tconst moreInfoNode = infoNode.parentNode.querySelector('[data-role=\"more-info-result\"]');\n\n\t\t\t\tEvent.bind(moreInfoNode, 'click', () => {\n\t\t\t\t\tDom.style(infoNode, 'height', infoNode.firstElementChild.clientHeight + 'px');\n\t\t\t\t\tDom.style(moreInfoNode, 'display', 'none');\n\t\t\t\t});\n\n\t\t\t\tEvent.bind(infoNode, 'transitionend', () => {\n\t\t\t\t\tDom.style(infoNode, 'height', null);\n\t\t\t\t});\n\n\t\t\t\tDom.style(infoNode, 'height', this.constructor.#NUMBER_OF_LINES_TO_SHOW_IN_PIXELS + 'px');\n\t\t\t\tDom.style(moreInfoNode, 'display', 'block');\n\t\t\t}\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tshouldScrollToBottom(should: boolean): this\n\t{\n\t\tthis.#shouldScrollToBottom = should;\n\n\t\treturn this;\n\t}\n\n\t#bindAutoScroll(state: boolean)\n\t{\n\t\tif (!this.logNode.parentNode)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst scrollNode = this.logNode.parentNode;\n\n\t\tif (state)\n\t\t{\n\t\t\tthis.#autoScrollHandler = () => {\n\t\t\t\tif (this.#scrollAnimationId)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst scrollMax = scrollNode.scrollHeight - scrollNode.clientHeight;\n\n\t\t\t\tthis.#shouldScrollToBottom = (\n\t\t\t\t\tscrollNode.scrollTop >= scrollMax - this.constructor.#NUMBER_OF_LINES_TO_SHOW_IN_PIXELS\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tEvent.bind(scrollNode, 'scroll', this.#autoScrollHandler);\n\t\t}\n\t\telse if (this.#autoScrollHandler)\n\t\t{\n\t\t\tEvent.unbind(scrollNode, 'scroll', this.#autoScrollHandler);\n\t\t}\n\t}\n\n\t#scrollToBottom()\n\t{\n\t\tif (!this.logNode.parentNode)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst scrollNode = this.logNode.parentNode;\n\n\t\tconst from = scrollNode.scrollTop;\n\t\tconst to = scrollNode.scrollHeight - scrollNode.clientHeight;\n\n\t\tthis.#animateScroll(scrollNode, from, to);\n\t}\n\n\t#animateScroll(element, start, end)\n\t{\n\t\tthis.#cancelAnimateScroll();\n\n\t\tconst increment = 20;\n\t\tconst duration = 500;\n\n\t\tconst diff = end - start;\n\t\tlet currentPosition = 0;\n\n\t\tconst requestFrame = (\n\t\t\twindow.requestAnimationFrame\n\t\t\t|| window.webkitRequestAnimationFrame\n\t\t\t|| window.mozRequestAnimationFrame\n\t\t\t|| function(callback){return window.setTimeout(callback, 1000 / 60);}\n\t\t);\n\n\t\tconst animateScroll = () =>\n\t\t{\n\t\t\tcurrentPosition += increment;\n\n\t\t\telement.scrollTop = easeInOutQuad(currentPosition, start, diff, duration);\n\t\t\tif (currentPosition < duration)\n\t\t\t{\n\t\t\t\tthis.#scrollAnimationId = requestFrame(animateScroll);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.#scrollAnimationId = null;\n\t\t\t}\n\t\t};\n\n\t\treturn animateScroll();\n\t}\n\n\t#cancelAnimateScroll()\n\t{\n\t\tif (this.#scrollAnimationId)\n\t\t{\n\t\t\tconst cancelFrame = (\n\t\t\t\twindow.cancelAnimationFrame\n\t\t\t\t|| window.webkitCancelAnimationFrame\n\t\t\t\t|| window.mozCancelAnimationFrame\n\t\t\t\t|| function(id){clearTimeout(id)}\n\t\t\t);\n\n\t\t\tcancelFrame(this.#scrollAnimationId);\n\t\t\tthis.#scrollAnimationId = null;\n\t\t}\n\t}\n\n\t#askScrollToBottom(): this\n\t{\n\t\tif (this.#shouldScrollToBottom)\n\t\t{\n\t\t\tthis.#scrollToBottom();\n\t\t}\n\t}\n\n\t// endregion\n\n\t#clearWorkflowRobots(workflowId: string)\n\t{\n\t\tdelete this.#poolWorkflowRobots[workflowId];\n\t\tdelete this.#activityRenderer[workflowId];\n\t}\n\n\t#onSessionFinished()\n\t{\n\t\tthis.debugger.unsubscribe('onWorkflowTrackAdded', this.#onTrackAddedHandler);\n\t\tthis.debugger.getMainView().unsubscribe('onChangeTab', this.#onChangeTabHandler);\n\t}\n}\n\nconst easeInOutQuad = function (current, start, diff, duration)\n{\n\tcurrent /= duration/2;\n\n\tif (current < 1)\n\t{\n\t\treturn diff / 2 * current * current + start;\n\t}\n\n\tcurrent--;\n\n\treturn -diff/2 * (current*(current-2) - 1) + start;\n};","import {Guide} from 'ui.tour';\nimport {Text} from \"main.core\";\n\nexport class ActionPanelGuide\n{\n\t#guide: Guide;\n\n\tconstructor(options)\n\t{\n\t\tthis.#guide = new Guide({\n\t\t\tsteps: [\n\t\t\t\t{\n\t\t\t\t\ttarget: options.target,\n\t\t\t\t\ttitle: ActionPanelGuide.#getHtmlTitle(options.title) || '',\n\t\t\t\t\ttext: options.text || '',\n\t\t\t\t\t//article: options.article,\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\ttop: true,\n\t\t\t\t\t\tbottom: false,\n\t\t\t\t\t\tcolor: 'warning',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tonEvents: true\n\t\t});\n\t}\n\n\tstart()\n\t{\n\t\tthis.#guide.getPopup().setWidth(370); //some magic ^_^\n\t\tthis.#guide.showNextStep();\n\t}\n\n\tfinish()\n\t{\n\t\tthis.#guide.close();\n\t}\n\n\tstatic #getHtmlTitle(title): ?HTMLDivElement\n\t{\n\t\tif (title)\n\t\t{\n\t\t\treturn `\n\t\t\t\t<div class=\"bizproc__action-panel-guide\">\n\t\t\t\t\t<div class=\"bizproc__action-panel-guide--title --warning-icon\">${Text.encode(title)}</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t}\n\n\t\treturn null;\n\t}\n}","import {Loc, Text} from 'main.core';\nimport {ActionPanelGuide} from \"../tourguide/action-panel-guide\";\nimport {EventEmitter} from 'main.core.events';\nimport Automation from \"../automation\";\nimport {Manager} from \"bizproc.debugger\";\n\nexport class CustomCrmActionPanel\n{\n\t#actionPanel: BX.UI.ActionPanel = null;\n\t#grid: BX.CRM.Kanban.Grid = null;\n\t#guides: Array<ActionPanelGuide> = [];\n\t#debuggerInstance: Automation;\n\n\tconstructor(grid: BX.CRM.Kanban.Grid, debuggerInstance: Automation)\n\t{\n\t\tthis.#grid = grid;\n\t\tthis.#debuggerInstance = debuggerInstance;\n\n\t\tthis.#actionPanel = new BX.UI.ActionPanel({\n\t\t\tremoveLeftPosition: true,\n\t\t\tmaxHeight: 58,\n\t\t\tparentPosition: 'bottom',\n\t\t\tautoHide: false,\n\t\t});\n\n\t\tthis.#appendItems();\n\n\t\tconst onHideActionPanelHandler = this.#onHideActionPanel.bind(this);\n\t\tEventEmitter.subscribe(this.#actionPanel, 'BX.UI.ActionPanel:hidePanel', onHideActionPanelHandler);\n\t}\n\n\t#appendItems()\n\t{\n\t\tthis.#actionPanel.appendItem({\n\t\t\tid: 'fix_entity',\n\t\t\ttext: Loc.getMessage('BIZPROC_JS_DEBUGGER_ACTION_PANEL_CRM_FIX_DEAL_ACTION_1'),\n\t\t\tonclick: this.fixEntityAction.bind(this)\n\t\t});\n\n\t\tthis.#actionPanel.appendItem({\n\t\t\tid: 'remove_entity',\n\t\t\ttext: this.#getRemoveEntityActionText(),\n\t\t\tonclick: this.removeEntityAction.bind(this)\n\t\t});\n\n\t\tthis.#actionPanel.appendItem({\n\t\t\tid: 'finish_debug',\n\t\t\ttext: Loc.getMessage('BIZPROC_JS_DEBUGGER_ACTION_PANEL_CRM_FINISH_DEBUG_ACTION'),\n\t\t\tonclick: function () {\n\t\t\t\tManager.Instance.askFinishSession(this.#debuggerInstance.session).then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.stopActionPanel();\n\t\t\t\t\t},\n\t\t\t\t\t(response) => {\n\t\t\t\t\t\tthis.#handleRejectResponse(response, 'finish_debug');\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}.bind(this),\n\t\t\t}\n\t\t);\n\t}\n\n\tget actionPanel(): BX.UI.ActionPanel\n\t{\n\t\treturn this.#actionPanel;\n\t}\n\n\t#onHideActionPanel()\n\t{\n\t\tthis.#guides.forEach((guide) => {\n\t\t\tguide.finish();\n\t\t})\n\t}\n\n\tfixEntityAction()\n\t{\n\t\tconst checkedIds = this.#getCheckedIdsInBpStyle();\n\t\tif (checkedIds.length !== 1)\n\t\t{\n\t\t\tconst guide = new ActionPanelGuide({\n\t\t\t\ttarget: this.actionPanel.getItemById('fix_entity').layout.container,\n\t\t\t\ttitle: Loc.getMessage('BIZPROC_JS_DEBUGGER_ACTION_PANEL_CRM_FIX_DEAL_COUNT_ERROR_TITLE'),\n\t\t\t\tarticle: 'limit_office_bp_designer', // todo: replace,\n\t\t\t});\n\t\t\tthis.#guides.push(guide);\n\n\t\t\tguide.start();\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#debuggerInstance.session.fixateDocument(checkedIds[0]).then(\n\t\t\t() => {\n\t\t\t\tthis.stopActionPanel();\n\t\t\t\tManager.Instance.requireSetFilter(this.#debuggerInstance.session, true);\n\t\t\t\tif (this.#debuggerInstance.settings.get('popup-collapsed'))\n\t\t\t\t{\n\t\t\t\t\tthis.#debuggerInstance.getMainView().showExpanded();\n\t\t\t\t}\n\t\t\t},\n\t\t\t(response) => {\n\t\t\t\tthis.#handleRejectResponse(response, 'fix_entity');\n\t\t\t}\n\t\t);\n\t}\n\n\t#getRemoveEntityActionText(): string\n\t{\n\t\treturn `\n\t\t\t<span>${Text.encode(Loc.getMessage('BIZPROC_JS_DEBUGGER_ACTION_PANEL_CRM_REMOVE_DEAL_ACTION_1'))}</span>\n\t\t`;\n\t}\n\n\tremoveEntityAction()\n\t{\n\t\tconst checkedIds = this.#getCheckedIdsInBpStyle();\n\n\t\tthis.#debuggerInstance.session.removeDocuments(checkedIds).then(\n\t\t\t() => {\n\t\t\t\tthis.actionPanel.hidePanel();\n\t\t\t\tthis.#grid.reload();\n\t\t\t},\n\t\t\t(response) => {\n\t\t\t\tthis.#handleRejectResponse(response, 'remove_entity');\n\t\t\t}\n\t\t);\n\t}\n\n\t#getCheckedIdsInBpStyle(): Array\n\t{\n\t\tconst checkedIds = this.#grid.getCheckedId();\n\n\t\t// todo: get EntityType from another place\n\t\treturn checkedIds.map(id => 'DEAL_' + id);\n\t}\n\n\tstopActionPanel()\n\t{\n\t\tthis.actionPanel.hidePanel();\n\t\tthis.#grid.resetActionPanel();\n\t\tthis.#grid.stopActionPanel();\n\t}\n\n\t#handleRejectResponse(response, actionId)\n\t{\n\t\tif (!response.errors)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tlet message = '';\n\t\tresponse.errors.forEach((error) => {\n\t\t\tmessage = message + '\\n' + error.message;\n\t\t});\n\n\t\tconst guide = new ActionPanelGuide({\n\t\t\ttarget: this.actionPanel.getItemById(actionId).layout.container,\n\t\t\ttitle: message,\n\t\t\tarticle: 'limit_office_bp_designer', // todo: replace,\n\t\t});\n\t\tthis.#guides.push(guide);\n\n\t\tguide.start();\n\t}\n}","import AutomationMainView from './views/automation-main';\nimport Session from './session/session';\nimport {ajax, Loc, Type, Text, Reflection} from \"main.core\";\nimport {BaseEvent, EventEmitter} from \"main.core.events\";\nimport AutomationLogView from \"./views/automation-log\";\nimport { Settings } from 'bizproc.local-settings';\nimport {MessageBox, MessageBoxButtons} from \"ui.dialogs.messagebox\";\nimport {Manager} from \"./index\";\nimport {\n\tsetGlobalContext,\n\tgetGlobalContext,\n\tContext,\n\tDocument,\n\tWorkflowStatus,\n\tAutomationGlobals\n} from 'bizproc.automation';\nimport {CustomCrmActionPanel} from \"./actionpanel/custom-crm-action-panel\";\n\nexport default class Automation extends EventEmitter\n{\n\tsession: Session = null;\n\t#pullHandlers: ?[] = null;\n\n\t#settings: Settings;\n\n\t#mainView;\n\n\t#triggers: Array;\n\t#template: Array;\n\t#documentStatus: string;\n\t#statusList: Array;\n\t#documentCategoryId: Number = 0;\n\t#documentFields: Array;\n\t#documentValues: Object = {};\n\n\t#workflowId: string;\n\t#workflowStatus: number;\n\t#workflowEvents: Array<{name: string, sourceId: string}> = [];\n\t#workflowTrack: Array = [];\n\t#debuggerState: number;\n\n\t#customActionPanel: CustomCrmActionPanel = null;\n\n\tconstructor(parameters = {})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Bizproc.Debugger.Automation');\n\n\t\tthis.session = parameters.session;\n\n\t\tif (this.session.isActive())\n\t\t{\n\t\t\tthis.session.subscribeOnce('onAfterDocumentFixed', this.#onAfterDocumentFixed.bind(this));\n\t\t\tthis.session.subscribe('onFinished', this.destroy.bind(this));\n\t\t\tthis.#subscribePull();\n\t\t}\n\n\t\tthis.#settings = new Settings('atm-dbg');\n\t\tthis.#initAutomationContext();\n\n\t\tthis.#resumeShowActionPanel();\n\t}\n\n\t#resumeShowActionPanel()\n\t{\n\t\tif (this.session.isInterceptionMode() && !this.session.isFixed())\n\t\t{\n\t\t\tif (Reflection.getClass('BX.CRM.Kanban.Grid'))\n\t\t\t{\n\t\t\t\tconst gridInstance = BX.CRM.Kanban.Grid.getInstance();\n\t\t\t\tif (this.#shouldSetCustomActionPanel(gridInstance))\n\t\t\t\t{\n\t\t\t\t\tthis.#customActionPanel = new CustomCrmActionPanel(gridInstance, this);\n\t\t\t\t\tgridInstance.stopActionPanel(true);\n\t\t\t\t\tgridInstance.resetActionPanel();\n\t\t\t\t\tgridInstance.setCustomActionPanel(this.#customActionPanel.actionPanel);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t#shouldSetCustomActionPanel(gridInstance): boolean\n\t{\n\t\tconst gridData = gridInstance.getData();\n\t\tconst entityType = gridData.entityType;\n\n\t\t//todo: modify\n\t\tif (entityType !== 'DEAL')\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tconst categoryId =\n\t\t\tgridData.params.hasOwnProperty('CATEGORY_ID')\n\t\t\t\t? Text.toInteger(gridData.params.CATEGORY_ID)\n\t\t\t\t: 0\n\t\t;\n\n\t\treturn (this.session.initialCategoryId === categoryId);\n\t}\n\n\t#initAutomationContext()\n\t{\n\t\tconst context = new Context({\n\t\t\tdocument: new Document({\n\t\t\t\trawDocumentType: [],\n\t\t\t\tdocumentId: null,\n\t\t\t\tcategoryId: 0,\n\t\t\t\tstatusList: this.getStatusList(),\n\t\t\t\tstatusId: this.getDocumentStatus(),\n\t\t\t\tdocumentFields: this.getDocumentFields(),\n\t\t\t}),\n\t\t\tdocumentSigned: this.documentSigned,\n\t\t\tcanEdit: false,\n\t\t\tcanManage: false,\n\t\t\tautomationGlobals: new AutomationGlobals({\n\t\t\t\tvariables: [],\n\t\t\t\tconstants: [],\n\t\t\t}),\n\t\t});\n\n\t\tsetGlobalContext(context);\n\t}\n\n\tdestroy()\n\t{\n\t\tthis.unsubscribeAll();\n\t\tthis.#unsubscribePull();\n\n\t\tthis.#mainView?.destroy();\n\n\t\tthis.session = null;\n\t\tthis.#settings = null;\n\t\tthis.#mainView = null;\n\n\t\tthis.#template = [];\n\t\tthis.#documentStatus = null;\n\t\tthis.#statusList = [];\n\t\tthis.#documentFields = [];\n\t\tthis.#documentValues = {};\n\n\t\tthis.#workflowId = null;\n\t\tthis.#workflowStatus = 0;\n\t\tthis.#workflowEvents = [];\n\t\tthis.#workflowTrack = [];\n\t\tthis.#customActionPanel?.stopActionPanel();\n\t}\n\n\tget track()\n\t{\n\t\treturn this.#workflowTrack;\n\t}\n\n\tget settings(): Settings\n\t{\n\t\treturn this.#settings;\n\t}\n\n\tget documentSigned(): string\n\t{\n\t\treturn this.session.documentSigned;\n\t}\n\n\tget sessionId(): string\n\t{\n\t\treturn this.session.id;\n\t}\n\n\tget workflowId(): string\n\t{\n\t\treturn this.#workflowId;\n\t}\n\n\tget pullHandlers(): []\n\t{\n\t\tif (this.#pullHandlers === null)\n\t\t{\n\t\t\tthis.#pullHandlers = [\n\t\t\t\t{name: 'documentStatus', func: this.handleExternalDocumentStatus.bind(this)},\n\t\t\t\t{name: 'documentValues', func: this.handleExternalDocumentValues.bind(this)},\n\t\t\t\t{name: 'documentDelete', func: this.handleExternalDocumentDelete.bind(this)},\n\t\t\t\t{name: 'workflowStatus', func: this.handleExternalWorkflowStatus.bind(this)},\n\t\t\t\t{name: 'workflowEventAdd', func: this.handleExternalWorkflowEventAdd.bind(this)},\n\t\t\t\t{name: 'workflowEventRemove', func: this.handleExternalWorkflowEventRemove.bind(this)},\n\t\t\t\t{name: 'trackRow', func: this.handleExternalTrackRow.bind(this)},\n\t\t\t]\n\t\t}\n\t\treturn this.#pullHandlers;\n\t}\n\n\t#subscribePull()\n\t{\n\t\tconst pull = Manager.Instance.pullHandler;\n\n\t\tthis.pullHandlers.forEach(({name, func}) => {\n\t\t\tpull.subscribe(name, func);\n\t\t});\n\t}\n\n\t#unsubscribePull()\n\t{\n\t\tif (this.#pullHandlers === null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst pull = Manager.Instance.pullHandler;\n\n\t\tthis.pullHandlers.forEach(({name, func}) => {\n\t\t\tpull.unsubscribe(name, func);\n\t\t});\n\n\t\tthis.#pullHandlers = null;\n\t}\n\n\tgetMainView(): AutomationMainView\n\t{\n\t\tif (!this.#mainView)\n\t\t{\n\t\t\tthis.#mainView = new AutomationMainView(this);\n\t\t}\n\n\t\treturn this.#mainView;\n\t}\n\n\tgetLogView(): AutomationLogView\n\t{\n\t\treturn new AutomationLogView(this);\n\t}\n\n\tgetStatusList(): Array\n\t{\n\t\treturn this.#statusList;\n\t}\n\n\tgetDocumentFields(): Array\n\t{\n\t\treturn this.#documentFields;\n\t}\n\n\tgetDocumentField(fieldId: string): null | {}\n\t{\n\t\treturn this.#documentFields.find((field) => field.Id === fieldId);\n\t}\n\n\tgetDocumentValue(fieldId: string): null | any\n\t{\n\t\treturn this.#documentValues[fieldId] || null;\n\t}\n\n\tgetDocumentStatus(): string\n\t{\n\t\treturn this.#documentStatus; //getActiveDocument().getStatus();\n\t}\n\n\tgetWorkflowStatus(): number\n\t{\n\t\treturn this.#workflowStatus;\n\t}\n\n\tgetState(): number\n\t{\n\t\treturn this.#debuggerState;\n\t}\n\n\thasWorkflowEvents(): boolean\n\t{\n\t\treturn this.#workflowEvents.length > 0;\n\t}\n\n\tsetDocumentStatus(statusId: string): Promise\n\t{\n\t\treturn new Promise(resolve => {\n\t\t\tajax.runAction(\n\t\t\t\t'bizproc.debugger.setDocumentStatus',\n\t\t\t\t{\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tstatusId: statusId,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t).then(\n\t\t\t\t(response) => {\n\n\t\t\t\t\tif (response.data && response.data.newStatus)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.#documentStatus = response.data.newStatus;\n\t\t\t\t\t\tthis.#template = response.data.template;\n\t\t\t\t\t\tthis.#workflowTrack = [];\n\t\t\t\t\t\tthis.emit('onDocumentStatusChanged');\n\t\t\t\t\t}\n\t\t\t\t\tresolve(response);\n\t\t\t\t},\n\t\t\t\tthis.#handleRejectResponse.bind(this)\n\t\t\t);\n\t\t});\n\t}\n\n\tget templateTriggers(): Array\n\t{\n\t\treturn this.#triggers.filter(trigger => trigger['DOCUMENT_STATUS'] === this.#template['DOCUMENT_STATUS']);\n\t}\n\n\tgetTemplate(): Array\n\t{\n\t\treturn this.#template;\n\t}\n\n\tisTemplateEmpty(): boolean\n\t{\n\t\treturn this.#template.IS_EXTERNAL_MODIFIED === false && !Type.isArrayFilled(this.#template.ROBOTS)\n\t}\n\n\tstartDebugTemplate(): Promise\n\t{\n\t\treturn new Promise(resolve => {\n\t\t\tajax.runAction(\n\t\t\t\t'bizproc.debugger.resumeAutomationTemplate',\n\t\t\t\t{\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tsessionId: this.sessionId,\n\t\t\t\t\t},\n\t\t\t\t\tanalyticsLabel: 'automation_start_debug',\n\t\t\t\t}\n\t\t\t).then(\n\t\t\t\t(response) => {\n\n\t\t\t\t\tthis.#workflowId = response.data.workflowId;\n\t\t\t\t\tthis.#debuggerState = response.data.debuggerState;\n\n\t\t\t\t\tresolve(response.data);\n\t\t\t\t},\n\t\t\t\tthis.#handleRejectResponse.bind(this));\n\t\t});\n\t}\n\n\temulateExternalEvent(robotId: ?string)\n\t{\n\t\treturn new Promise(resolve => {\n\t\t\tlet eventId = this.#workflowEvents[0]?.name;\n\t\t\tif (Type.isStringFilled(robotId))\n\t\t\t{\n\t\t\t\teventId = this.#workflowEvents.find(({sourceId: eventRobotId}) => eventRobotId === robotId)?.name;\n\t\t\t}\n\n\t\t\tif (!eventId)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tajax.runAction(\n\t\t\t\t'bizproc.debugger.emulateExternalEvent',\n\t\t\t\t{\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tworkflowId: this.#workflowId,\n\t\t\t\t\t\teventId,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t).then(\n\t\t\t\t(response) => {\n\n\t\t\t\tresolve(response.data)\n\t\t\t\t},\n\t\t\t\tthis.#handleRejectResponse.bind(this)\n\t\t\t);\n\t\t});\n\t}\n\n\tloadMainViewInfo(): Promise\n\t{\n\t\treturn new Promise(resolve => {\n\t\t\tajax.runAction(\n\t\t\t\t'bizproc.debugger.fillAutomationView',\n\t\t\t\t{\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tsessionId: this.sessionId,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t).then(\n\t\t\t\t(response) =>\n\t\t\t\t{\n\t\t\t\t\tthis.#triggers = response.data.triggers;\n\t\t\t\t\tthis.#template = response.data.template;\n\t\t\t\t\tthis.#documentStatus = response.data.documentStatus;\n\t\t\t\t\tthis.#statusList = response.data.statusList;\n\t\t\t\t\tthis.#documentCategoryId = response.data.documentCategoryId;\n\t\t\t\t\tthis.#documentFields = response.data.documentFields;\n\t\t\t\t\tthis.#documentValues = response.data.documentValues;\n\n\t\t\t\t\tthis.#workflowId = response.data.workflowId;\n\t\t\t\t\tthis.#workflowStatus = response.data.workflowStatus;\n\t\t\t\t\tthis.#workflowEvents = response.data.workflowEvents;\n\t\t\t\t\tthis.#workflowTrack = response.data.track;\n\t\t\t\t\tthis.#debuggerState = response.data.debuggerState;\n\n\t\t\t\t\tgetGlobalContext().document\n\t\t\t\t\t\t.setFields(this.getDocumentFields())\n\t\t\t\t\t\t.setStatusList(this.getStatusList())\n\t\t\t\t\t\t.setStatus(this.getDocumentStatus())\n\t\t\t\t\t;\n\t\t\t\t\tgetGlobalContext().automationGlobals.globalConstants =\n\t\t\t\t\t\tType.isArrayFilled(response.data.globalConstants)\n\t\t\t\t\t\t\t? response.data.globalConstants\n\t\t\t\t\t\t\t: []\n\t\t\t\t\t;\n\n\t\t\t\t\tgetGlobalContext().automationGlobals.globalVariables =\n\t\t\t\t\t\tType.isArrayFilled(response.data.globalVariables)\n\t\t\t\t\t\t\t? response.data.globalVariables\n\t\t\t\t\t\t\t: []\n\t\t\t\t\t;\n\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t\tthis.#handleRejectResponse.bind(this)\n\t\t\t);\n\t\t});\n\t}\n\n\tget globalConstants(): []\n\t{\n\t\tconst context = getGlobalContext();\n\n\t\treturn context && context.automationGlobals ? context.automationGlobals.globalConstants : [];\n\t}\n\n\tget globalVariables(): []\n\t{\n\t\tconst context = getGlobalContext();\n\n\t\treturn context && context.automationGlobals ? context.automationGlobals.globalVariables : [];\n\t}\n\n\tloadAllLog(): Promise\n\t{\n\t\treturn new Promise(resolve => {\n\t\t\tajax.runAction(\n\t\t\t\t'bizproc.debugger.loadAllLog',\n\t\t\t\t{\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tsessionId: this.session.id,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t).then(\n\t\t\t\t(response) => {\n\t\t\t\t\tresolve(response.data);\n\t\t\t\t},\n\t\t\t\tthis.#handleRejectResponse.bind(this)\n\t\t\t);\n\t\t});\n\t}\n\n\tloadRobotsByWorkflowId(workflowId: string): Promise\n\t{\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tajax.runAction(\n\t\t\t\t'bizproc.debugger.loadRobotsByWorkflowId',\n\t\t\t\t{\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tsessionId: this.sessionId,\n\t\t\t\t\t\tworkflowId\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t).then(\n\t\t\t\t(response) => {\n\t\t\t\t\tresolve(response.data);\n\t\t\t\t},\n\t\t\t\t(response) => {\n\t\t\t\t\treject(response.data);\n\t\t\t\t\t//this.#handleRejectResponse.bind(this);\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t}\n\n\thandleExternalDocumentStatus(event: BaseEvent)\n\t{\n\t\tconst status: string = event.getData().status;\n\n\t\tif (this.getDocumentStatus() === status)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.info('document status: ' + status);\n\t\tthis.#documentStatus = status\n\t\tthis.emit('onDocumentStatusChanged');\n\t}\n\n\thandleExternalDocumentValues(event: BaseEvent)\n\t{\n\t\tconst values: {} = event.getData().values;\n\n\t\tObject.keys(values).forEach((key) => this.#documentValues[key] = values[key]);\n\n\t\tconsole.info('document values: ' + Object.keys(values));\n\n\t\tthis.emit('onDocumentValuesUpdated', {values});\n\t}\n\n\thandleExternalDocumentDelete()\n\t{\n\t\tMessageBox.show({\n\t\t\tmessage: Loc.getMessage('BIZPROC_JS_DEBUGGER_CONFIRM_ON_DOCUMENT_DELETE'),\n\t\t\tokCaption: Loc.getMessage('BIZPROC_JS_DEBUGGER_VIEWS_MENU_FINISH_SESSION'),\n\t\t\tonOk: () => {\n\t\t\t\treturn Manager.Instance.finishSession(this.session).then(\n\t\t\t\t\tnull,\n\t\t\t\t\tthis.#handleRejectResponse.bind(this)\n\t\t\t\t);\n\t\t\t},\n\t\t\tbuttons: MessageBoxButtons.OK_CANCEL,\n\t\t});\n\t}\n\n\t#handleRejectResponse(response)\n\t{\n\t\tif (Type.isArrayFilled(response.errors))\n\t\t{\n\t\t\tconst noDocumentError = response.errors.find((error) => error.code === 404);\n\n\t\t\tif (noDocumentError)\n\t\t\t{\n\t\t\t\tthis.handleExternalDocumentDelete();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconst message = response.errors.map(error => error.message).join('\\n');\n\n\t\t\t\tMessageBox.alert(message);\n\t\t\t}\n\t\t}\n\t}\n\n\thandleExternalTrackRow(event: BaseEvent)\n\t{\n\t\tconst row: {} = event.getData().row;\n\t\trow['WORKFLOW_STATUS'] = this.#workflowStatus;\n\n\t\tthis.#workflowTrack.push(row);\n\n\t\tthis.emit('onWorkflowTrackAdded', {row});\n\t}\n\n\thandleExternalWorkflowStatus(event: BaseEvent)\n\t{\n\t\tconst status: WorkflowStatus = event.getData().status;\n\t\tconst workflowId: string = event.getData().workflowId;\n\n\t\tthis.#workflowStatus = status;\n\n\t\tif (status === WorkflowStatus.RUNNING)\n\t\t{\n\t\t\tthis.#workflowId = workflowId;\n\t\t}\n\n\t\tif (this.#workflowId !== workflowId)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.info('workflow status: ' + status);\n\t\tthis.emit('onWorkflowStatusChanged', {status, workflowId});\n\t}\n\n\thandleExternalWorkflowEventAdd(event: BaseEvent)\n\t{\n\t\tconst eventName: string = event.getData().eventName;\n\t\tconst robotId: ?string = event.getData().sourceId;\n\n\t\tconsole.info('workflow event added: ' + eventName);\n\t\tthis.#workflowEvents.push({ name: eventName, sourceId: robotId });\n\t\tconsole.info('workflow events: ' + this.#workflowEvents.map(event => event.name).join(', '));\n\t\tthis.emit('onWorkflowEventsChanged', {events: this.#workflowEvents});\n\t}\n\n\thandleExternalWorkflowEventRemove(event: BaseEvent)\n\t{\n\t\tconst eventName: string = event.getData().eventName;\n\n\t\tconsole.info('workflow event removed: ' + eventName);\n\t\tthis.#workflowEvents = this.#workflowEvents.filter(({name: value}) => value !== eventName);\n\t\tconsole.info('workflow events: ' + this.#workflowEvents.map(({name}) => name).join(', '));\n\t\tthis.emit('onWorkflowEventsChanged', {events: this.#workflowEvents});\n\t}\n\n\t#onAfterDocumentFixed()\n\t{\n\t\tthis.loadMainViewInfo().then(()=> {\n\t\t\tthis.emit('onAfterDocumentFixed');\n\t\t});\n\t}\n\n\tgetField(object, id): object\n\t{\n\t\tlet field;\n\n\t\tswitch (object)\n\t\t{\n\t\t\tcase 'Document':\n\t\t\t\tfield = this.#documentFields.find((field) => field.Id === id);\n\t\t\t\tbreak;\n\t\t\tcase 'Template':\n\t\t\tcase 'Parameter':\n\t\t\tcase 'Constant':\n\t\t\tcase 'GlobalConst':\n\t\t\tcase 'GlobalVar':\n\t\t\t\t// todo: parameter, variable, constant, GlobalConst, GlobalVar, Activity\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn field || {\n\t\t\tId: id,\n\t\t\tObjectId: object,\n\t\t\tName: id,\n\t\t\tType: 'string',\n\t\t\tExpression: id,\n\t\t\tSystemExpression: '{='+object+':'+id+'}'\n\t\t};\n\t}\n\n\tgetSettingsUrl(): string\n\t{\n\t\t//TODO: get actual url\n\t\treturn `/crm/deal/automation/${this.#documentCategoryId}/`;\n\t}\n}","import {Type} from 'main.core';\nimport {PULL} from \"pull.client\";\nimport {EventEmitter} from \"main.core.events\";\n\nexport class CommandHandler extends EventEmitter\n{\n\t#unsubscribe: CallableFunction;\n\t#commands = [\n\t\t'documentStatus',\n\t\t'documentValues',\n\t\t'documentDelete',\n\t\t//workflow\n\t\t'workflowStatus',\n\t\t'workflowEventAdd',\n\t\t'workflowEventRemove',\n\t\t//track\n\t\t'trackRow',\n\t\t//session\n\t\t'sessionFinish'\n\t];\n\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Bizproc.Debugger.Pull');\n\n\t\tthis.#unsubscribe = PULL.subscribe(this);\n\t}\n\n\tdestroy()\n\t{\n\t\tif (Type.isFunction(this.#unsubscribe))\n\t\t{\n\t\t\tthis.#unsubscribe();\n\t\t}\n\n\t\tthis.#unsubscribe = null;\n\t}\n\n\tgetModuleId(): string\n\t{\n\t\treturn 'bizproc';\n\t}\n\n\tgetSubscriptionType()\n\t{\n\t\treturn BX.PullClient.SubscriptionType.Server;\n\t}\n\n\tgetMap()\n\t{\n\t\tconst map = {};\n\t\tthis.#commands.forEach(command => {\n\t\t\tmap[command] = this.#handleCommand.bind(this);\n\t\t});\n\n\t\treturn map;\n\t}\n\n\t#handleCommand(params, extra, command)\n\t{\n\t\tthis.emit(command, params);\n\t}\n}","import {Loc} from 'main.core';\nimport {Guide} from 'ui.tour';\nimport {Helper} from \"../helper\";\n\nexport class FilterGuide\n{\n\tconstructor(options)\n\t{\n\t\tthis.guide = new Guide({\n\t\t\tsteps: [\n\t\t\t\t{\n\t\t\t\t\ttarget: options.target,\n\t\t\t\t\ttitle: Loc.getMessage('BIZPROC_JS_DEBUGGER_FILTER_TOUR_TITLE'),\n\t\t\t\t\ttext: FilterGuide.#getText(),\n\t\t\t\t\tarticle: '16087180',\n\t\t\t\t\tevents: options.events ?? {},\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\ttop: true,\n\t\t\t\t\t\tbottom: false,\n\t\t\t\t\t\tcolor: 'primary',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tonEvents: true\n\t\t});\n\n\t\tthis.bindEvents();\n\t}\n\n\tbindEvents()\n\t{\n\t\t// EventEmitter.subscribe('UI.Tour.Guide:onFinish'....\n\t}\n\n\tstart()\n\t{\n\t\tthis.guide.getPopup().setWidth(365);\n\t\tthis.guide.showNextStep();\n\t}\n\n\tstatic #getText(): Element\n\t{\n\t\treturn `\n\t\t\t<ul class=\"bizproc-debugger-filter-guide-list\">\n\t\t\t\t<li class=\"bizproc-debugger-filter-guide-list-item\">\n\t\t\t\t\t${Helper.toHtml(Loc.getMessage('BIZPROC_JS_DEBUGGER_FILTER_TOUR_TEXT_LINE_1_MSGVER_1'))}\n\t\t\t\t</li>\n\t\t\t\t<li class=\"bizproc-debugger-filter-guide-list-item\">\n\t\t\t\t\t${Helper.toHtml(Loc.getMessage('BIZPROC_JS_DEBUGGER_FILTER_TOUR_TEXT_LINE_2'))}\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t`;\n\t}\n}\n","import {Loc} from 'main.core';\nimport {Guide} from 'ui.tour';\n\nexport class StageGuide\n{\n\tconstructor(options)\n\t{\n\t\tthis.guide = new Guide({\n\t\t\tsteps: [\n\t\t\t\t{\n\t\t\t\t\ttarget: options.target,\n\t\t\t\t\ttitle: Loc.getMessage('BIZPROC_JS_DEBUGGER_STAGE_TOUR_TITLE'),\n\t\t\t\t\ttext: StageGuide.#getText(),\n\t\t\t\t\tarticle: '16483018',\n\t\t\t\t\tevents: options.events ?? {},\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\ttop: true,\n\t\t\t\t\t\tbottom: false,\n\t\t\t\t\t\tcolor: 'primary',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t],\n\t\t\tonEvents: true\n\t\t});\n\t}\n\n\tstart()\n\t{\n\t\tthis.guide.getPopup().setWidth(330);\n\t\tthis.guide.showNextStep();\n\t}\n\n\tstatic #getText(): Element\n\t{\n\t\treturn `\n\t\t\t<ul class=\"bizproc-debugger-filter-guide-list\">\n\t\t\t\t<li class=\"bizproc-debugger-filter-guide-list-item\">\n\t\t\t\t\t${Loc.getMessage('BIZPROC_JS_DEBUGGER_STAGE_TOUR_TEXT_LINE_1')}\n\t\t\t\t</li>\n\t\t\t\t<li class=\"bizproc-debugger-filter-guide-list-item\">\n\t\t\t\t\t${Loc.getMessage('BIZPROC_JS_DEBUGGER_STAGE_TOUR_TEXT_LINE_2')}\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t`;\n\t}\n}","import {EventEmitter} from \"main.core.events\";\nimport {FilterGuide} from \"./filter-guide\";\nimport {StageGuide} from \"./stage-guide\";\n\nexport type CrmDebuggerGuideOptions = {\n\tgrid: BX.CRM.Kanban.Grid,\n\tshowFilterStep: boolean,\n\tshowStageStep: boolean,\n\treserveFilterIds: string,\n};\n\nexport class CrmDebuggerGuide extends EventEmitter\n{\n\t#grid: BX.CRM.Kanban.Grid = null;\n\t#guides: Array = [];\n\t#reserveFilterIds: Array<string> = [];\n\n\tconstructor(options: CrmDebuggerGuideOptions)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Bizproc.Debugger.CrmDebuggerGuide');\n\n\t\tthis.#grid = options.grid;\n\t\tthis.#reserveFilterIds = options.reserveFilterIds;\n\n\t\t// reverse order\n\t\tif (options.showStageStep)\n\t\t{\n\t\t\tconst stageStep = this.#getStageGuide();\n\t\t\tif (stageStep)\n\t\t\t{\n\t\t\t\tthis.#guides.push(stageStep);\n\t\t\t}\n\t\t}\n\n\t\tif (options.showFilterStep)\n\t\t{\n\t\t\tconst filterGuide = this.#getFilterGuide();\n\t\t\tif (filterGuide)\n\t\t\t{\n\t\t\t\tthis.#guides.push(filterGuide);\n\t\t\t}\n\t\t}\n\t}\n\n\t#getStageGuide(): ?StageGuide\n\t{\n\t\tif (!this.#grid)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst firstColumn = this.#grid.getColumns()[0];\n\t\tif (!firstColumn)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst guideTarget = firstColumn.getTitleContainer();\n\t\tif (!guideTarget)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst nextGuide = this.#guides[this.#guides.length - 1];\n\n\t\treturn new StageGuide({\n\t\t\ttarget: '.' + guideTarget.classList[0],\n\t\t\tevents: {\n\t\t\t\t'onShow': function () {\n\t\t\t\t\tthis.emit('onStageGuideStepShow');\n\t\t\t\t}.bind(this),\n\t\t\t\t'onClose': function () {\n\t\t\t\t\tif (nextGuide)\n\t\t\t\t\t{\n\t\t\t\t\t\tnextGuide.start();\n\t\t\t\t\t}\n\t\t\t\t\tthis.emit('onStageGuideStepClose');\n\t\t\t\t}.bind(this),\n\t\t\t},\n\t\t});\n\t}\n\n\t#getFilterGuide(): ?FilterGuide\n\t{\n\t\tconst filterId = this.#grid ? [this.#grid.getData().gridId] : this.#reserveFilterIds;\n\t\tif (filterId.length <= 0)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tlet filter;\n\t\tfor (const key in filterId)\n\t\t{\n\t\t\tfilter = BX.Main.filterManager.getById(filterId[key]);\n\t\t\tif (filter)\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!filter)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst filterApi = filter.getApi();\n\t\tconst guideTarget = filterApi?.parent?.getPopupBindElement()?.firstElementChild;\n\n\t\tif (!guideTarget)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst nextGuide = this.#guides[this.#guides.length - 1];\n\n\t\treturn new FilterGuide({\n\t\t\ttarget: guideTarget,\n\t\t\tevents: {\n\t\t\t\t'onShow': function () {\n\t\t\t\t\tthis.emit('onFilterGuideStepShow');\n\t\t\t\t}.bind(this),\n\t\t\t\t'onClose': function () {\n\t\t\t\t\tif (nextGuide)\n\t\t\t\t\t{\n\t\t\t\t\t\tnextGuide.start();\n\t\t\t\t\t}\n\t\t\t\t\tthis.emit('onFilterGuideStepClose');\n\t\t\t\t}.bind(this),\n\t\t\t}\n\t\t});\n\t}\n\n\tstart()\n\t{\n\t\tif (this.#guides.length <= 0)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#guides[this.#guides.length - 1].start();\n\t}\n}","import {Type, Reflection, Loc, Tag} from 'main.core';\nimport Automation from \"./automation\";\nimport Session from './session/session';\nimport {CommandHandler} from \"./pull/command-handler\";\nimport { Settings } from 'bizproc.local-settings';\nimport {Mode} from \"./session/mode\";\nimport {CrmDebuggerGuide} from \"./tourguide/crm-debugger-guide\";\nimport {MessageBox, MessageBoxButtons} from \"ui.dialogs.messagebox\";\n\nlet instance = null;\n\nexport default class Manager\n{\n\tpullHandler: CommandHandler;\n\t#settings: Settings;\n\n\tstatic get Instance(): Manager\n\t{\n\t\tif (instance === null)\n\t\t{\n\t\t\tinstance = new Manager();\n\t\t}\n\n\t\treturn instance;\n\t}\n\n\tconstructor()\n\t{\n\t\tthis.pullHandler = new CommandHandler();\n\t\tthis.#settings = new Settings('manager');\n\t}\n\n\tinitializeDebugger(parameters = {session: {}, documentSigned: ''})\n\t{\n\t\tconst session = Type.isPlainObject(parameters.session) ? new Session(parameters.session) : null;\n\t\tif (!session)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tsession.documentSigned = parameters.documentSigned;\n\n\t\tthis.requireSetFilter(session);\n\t\tthis.#showDebugger(session);\n\t}\n\n\tstartSession(documentSigned: string, modeId: number): Promise\n\t{\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tSession.start(documentSigned, modeId).then(\n\t\t\t\t(session: Session) => {\n\t\t\t\t\tthis.#lastFilterId = null;\n\n\t\t\t\t\tthis.#setDebugFilter(session);\n\t\t\t\t\tconst debuggerInstance = this.#showDebugger(session, true);\n\n\t\t\t\t\tthis.#showGuide(debuggerInstance);\n\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t\treject\n\t\t\t);\n\t\t});\n\t}\n\n\tfinishSession(session: Session, deleteDocument: boolean = false): Promise\n\t{\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tsession.finish({deleteDocument}).then(\n\t\t\t\t(response) => {\n\t\t\t\t\tthis.#removeDebugFilter(session);\n\t\t\t\t\tresolve(response);\n\t\t\t\t},\n\t\t\t\treject\n\t\t\t);\n\t\t});\n\t}\n\n\taskFinishSession(session: Session): Promise\n\t{\n\t\tconst checkboxElement = Tag.render`<input type=\"checkbox\" class=\"ui-ctl-element\">`;\n\t\tconst boxOptions = {\n\t\t\tmessage: Loc.getMessage('BIZPROC_JS_DEBUGGER_CONFIRM_FINISH_SESSION'),\n\t\t\tokCaption: Loc.getMessage('BIZPROC_JS_DEBUGGER_VIEWS_MENU_FINISH_SESSION'),\n\t\t\tbuttons: MessageBoxButtons.OK_CANCEL,\n\t\t\tpopupOptions: {\n\t\t\t\tzIndexOptions: {\n\t\t\t\t\talwaysOnTop: true\n\t\t\t\t},\n\t\t\t}\n\t\t};\n\n\t\tif (session.isExperimentalMode())\n\t\t{\n\t\t\tboxOptions.title = Loc.getMessage('BIZPROC_JS_DEBUGGER_CONFIRM_FINISH_SESSION');\n\t\t\tboxOptions.message = Tag.render`\n\t\t\t\t<label class=\"ui-ctl ui-ctl-checkbox\">\n\t\t\t\t\t${checkboxElement}\n\t\t\t\t\t<div class=\"ui-ctl-label-text\">${Loc.getMessage('BIZPROC_JS_DEBUGGER_DELETE_SESSION_DOCUMENT')}</div>\n\t\t\t\t</label>\n\t\t\t`;\n\t\t}\n\n\t\treturn new Promise((resolve, reject) => {\n\n\t\t\tboxOptions.onOk = () => Manager.Instance.finishSession(session, checkboxElement?.checked).then(resolve, reject);\n\t\t\tboxOptions.onCancel = () => {\n\t\t\t\treject({cancel: true});\n\t\t\t\treturn true;\n\t\t\t};\n\n\t\t\tMessageBox.show(boxOptions);\n\t\t});\n\t}\n\n\t#showDebugger(session: Session, isFirstShow: boolean = false): ?Automation\n\t{\n\t\tlet debuggerInstance = null;\n\n\t\tif (session.isAutomation())\n\t\t{\n\t\t\tdebuggerInstance = this.createAutomationDebugger({\n\t\t\t\tsession: session\n\t\t\t});\n\t\t}\n\n\t\tif (debuggerInstance)\n\t\t{\n\t\t\tlet initialShowState = debuggerInstance.session.isExperimentalMode() ? 'showExpanded' : 'showCollapsed';\n\t\t\tif (!this.#isFilterGuideShown())\n\t\t\t{\n\t\t\t\tinitialShowState = 'showCollapsed';\n\t\t\t}\n\n\t\t\tdebuggerInstance.getMainView()[isFirstShow ? initialShowState : 'show']();\n\n\t\t\treturn debuggerInstance;\n\t\t}\n\n\t\treturn debuggerInstance;\n\t}\n\n\t#showGuide(debuggerInstance: Automation)\n\t{\n\t\tconst guide = new CrmDebuggerGuide({\n\t\t\tgrid: Reflection.getClass('BX.CRM.Kanban.Grid') ? BX.CRM.Kanban.Grid.getInstance() : null,\n\t\t\tshowFilterStep: !this.#isFilterGuideShown(),\n\t\t\tshowStageStep: !this.#isStageGuideShown() && debuggerInstance.session.isInterceptionMode(),\n\t\t\treserveFilterIds: this.#getFilterIds(debuggerInstance.session),\n\t\t});\n\n\t\tguide.subscribe('onFilterGuideStepShow', this.#setFilterGuideShown.bind(this, true));\n\t\tguide.subscribe('onStageGuideStepShow', this.#setStageGuideShown.bind(this, true));\n\t\tguide.subscribe('onFilterGuideStepClose', () => {\n\t\t\tif (\n\t\t\t\tdebuggerInstance.session\n\t\t\t\t&& debuggerInstance.session.isExperimentalMode()\n\t\t\t\t&& (debuggerInstance.settings.get('popup-collapsed') === true)\n\t\t\t)\n\t\t\t{\n\t\t\t\tdebuggerInstance.getMainView().showExpanded();\n\t\t\t}\n\t\t});\n\n\t\tguide.start();\n\t}\n\n\trequireSetFilter(session: Session, force: boolean = false)\n\t{\n\t\tconst lastId = this.#getFilterIds(session).pop();\n\n\t\tif (lastId !== this.#lastFilterId || force)\n\t\t{\n\t\t\tthis.#setDebugFilter(session);\n\t\t}\n\t}\n\n\t#setDebugFilter(session: Session)\n\t{\n\t\tconst ids = this.#getFilterIds(session);\n\n\t\tthis.#getFilterApis(ids).forEach(\n\t\t\t({id, api}) => {\n\t\t\t\tapi.setFilter({preset_id: 'filter_robot_debugger'});\n\t\t\t\tthis.#lastFilterId = id;\n\t\t\t}\n\t\t);\n\t}\n\n\t#removeDebugFilter(session: Session)\n\t{\n\t\tconst ids = this.#getFilterIds(session);\n\n\t\tthis.#getFilterApis(ids).forEach(\n\t\t\t({api}) => {\n\t\t\t\tapi.setFilter({preset_id: 'default_filter'});\n\t\t\t\tthis.#lastFilterId = null;\n\t\t\t}\n\t\t);\n\t}\n\n\tget #lastFilterId()\n\t{\n\t\treturn this.#settings.get('last-filter-id');\n\t}\n\n\tset #lastFilterId(value: string)\n\t{\n\t\treturn this.#settings.set('last-filter-id', value);\n\t}\n\n\t/**\n\t * @return BX.Filter.Api | null\n\t */\n\t#getFilterApis(ids: []): []\n\t{\n\t\tconst apis = [];\n\n\t\tids.forEach(id => {\n\t\t\tconst filter = BX.Main.filterManager?.getById(id);\n\t\t\tif (filter)\n\t\t\t{\n\t\t\t\tapis.push({id, api: filter.getApi()});\n\t\t\t}\n\t\t});\n\n\t\treturn apis;\n\t}\n\n\t#getFilterIds(session: Session): string[]\n\t{\n\t\tlet categoryId;\n\t\tif (session && (session.modeId === Mode.interception.id) && !session.isFixed())\n\t\t{\n\t\t\tcategoryId = session.initialCategoryId;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tcategoryId = session?.activeDocument?.categoryId\n\t\t}\n\n\t\tconst filterId = 'CRM_DEAL_LIST_V12';\n\n\t\tif (!categoryId)\n\t\t{\n\t\t\treturn [filterId, `${filterId}_C_0`];\n\t\t}\n\n\t\treturn [`${filterId}_C_${categoryId}`];\n\t}\n\n\t#isFilterGuideShown(): boolean\n\t{\n\t\treturn (this.#settings.get('filter-guide-shown') === true);\n\t}\n\n\t#isStageGuideShown(): boolean\n\t{\n\t\treturn (this.#settings.get('stage-guide-shown') === true);\n\t}\n\n\t#setFilterGuideShown(shown = true)\n\t{\n\t\tthis.#settings.set('filter-guide-shown', shown);\n\t}\n\n\t#setStageGuideShown(shown = true)\n\t{\n\t\tthis.#settings.set('stage-guide-shown', shown);\n\t}\n\n\tcreateAutomationDebugger(parameters = {}): Automation\n\t{\n\t\treturn new Automation(parameters);\n\t}\n\n\topenDebuggerStartPage(documentSigned: string, parameters = {}): Promise\n\t{\n\t\tconst url = BX.Uri.addParam(\n\t\t\t'/bitrix/components/bitrix/bizproc.debugger.start/',\n\t\t\t{\n\t\t\t\tdocumentSigned: documentSigned,\n\t\t\t\tanalyticsLabel: {\n\t\t\t\t\tautomation_enter_debug: 'Y',\n\t\t\t\t\tstart_type: parameters.analyticsStartType || 'default',\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tconst options = {\n\t\t\twidth: 745,\n\t\t\tcacheable: false,\n\t\t\tallowChangeHistory: true,\n\t\t\tevents: {},\n\t\t};\n\n\t\treturn Manager.openSlider(url, options);\n\t}\n\n\topenSessionLog(sessionId: string): Promise\n\t{\n\t\tconst url = BX.Uri.addParam(\n\t\t\t'/bitrix/components/bitrix/bizproc.debugger.log/',\n\t\t\t{\n\t\t\t\t'setTitle': 'Y',\n\t\t\t\t'sessionId': sessionId,\n\t\t\t}\n\t\t);\n\n\t\tconst options = {\n\t\t\twidth: 720,\n\t\t\tcacheable: false,\n\t\t\tallowChangeHistory: true,\n\t\t\tevents: {},\n\t\t\tnewWindowLabel: true\n\t\t};\n\n\t\treturn Manager.openSlider(url, options);\n\t}\n\n\tstatic openSlider(url, options): Promise\n\t{\n\t\tif(!Type.isPlainObject(options))\n\t\t{\n\t\t\toptions = {};\n\t\t}\n\t\toptions = {...{cacheable: false, allowChangeHistory: true, events: {}}, ...options};\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (Type.isStringFilled(url))\n\t\t\t{\n\t\t\t\tif (BX.SidePanel.Instance.open(url, options))\n\t\t\t\t{\n\t\t\t\t\treturn resolve();\n\t\t\t\t}\n\n\t\t\t\treturn reject();\n\t\t\t}\n\n\t\t\treturn reject();\n\t\t});\n\t}\n}\n","import Manager from \"./manager\";\nimport Session from './session/session';\nimport {Mode} from './session/mode';\nimport 'ui.fonts.opensans';\nimport 'ui.design-tokens';\n\nimport './css/style.css';\nimport './css/filter-guide.css';\nimport './css/action-panel-guide.css';\n\nconst Debugger = {\n\tManager,\n\tSession,\n\tMode,\n};\n\nexport {\n\tDebugger,\n\tManager,\n\tSession,\n\tMode,\n}"],"names":["DebuggerState","Run","NextStep","Stop","Pause","Undefined","Helper","isNumeric","num","Type","isNumber","isStringFilled","Number","toString","trim","isDate","date","Date","getTime","convertDateFromDB","toDate","DateTimeFormat","parse","formatDate","format","getOperatorsLabel","Operator","getAllLabels","getOperatorLabel","operator","getJoinerLabel","joiner","joiners","Loc","getMessage","getColorBrightness","bgColor","replace","bigint","parseInt","r","g","b","getBgColorAdditionalClass","brightness","toHtml","text","Text","encode","AutomationMainView","EventEmitter","constructor","debuggerInstance","setEventNamespace","subscribe","bind","debugger","show","loadMainViewInfo","then","setContent","getState","showExpanded","isShown","settings","set","showCollapsed","close","destroy","collapsed","get","className","Popup","titleBar","noAllPaddings","contentBackground","draggable","zIndexOptions","alwaysOnTop","width","height","events","onResizeStart","setMinWidth","setMinHeight","onResizeEnd","getWidth","getHeight","setResizeMode","Math","max","content","Tag","render","document","createTextNode","node","getPopupContainer","Dom","hasClass","getZIndexComponent","setAlwaysOnTop","toggleClass","clearTimeout","addClass","setWidth","setHeight","setTimeout","removeClass","Manager","Instance","askFinishSession","session","catch","HelpHint","bindAll","hasRobots","isTemplateEmpty","activeTab","tabDocClass","tabLogClass","hasActiveDocument","isFixed","tabNoDocumentClass","fieldListNode","hasFields","querySelector","getSettingsUrl","openSessionLog","sessionId","getLogView","shouldScrollToBottom","shouldLoadPreviousLog","Button","size","ButtonSize","EXTRA_SMALL","color","ButtonColor","PRIMARY","round","noCaps","onclick","form","fields","getSet","forEach","value","append","event","activeTabName","target","dataset","tabItem","hiddenTabName","filter","tabName","navigationNode","querySelectorAll","tab","emit","button","documentFields","getDocumentFields","selectedFields","fieldsDialog","EntitySelector","Dialog","targetNode","multiple","dropdownMode","enableSearch","cacheable","items","field","Watchable","map","title","Name","id","Id","customData","entityId","tabs","selected","has","showAvatars","getData","item","getId","compactView","getCustomData","fieldNode","add","fieldId","delete","remove","contentNode","isString","getDocumentField","getDocumentValue","hasTriggers","templateTriggers","length","documentStatus","getTemplate","DOCUMENT_STATUS","Tracker","getGlobalContext","logs","track","init","tracker","triggers","TriggerManager","TRIGGERS","ViewMode","view","templateData","template","Template","constants","variables","templateContainerNode","delayMinLimitM","intoRaw","newTemplate","isNil","icon","ButtonIcon","START","hasEvents","hasWorkflowEvents","setWaiting","startDebugTemplate","infoNode","emulateExternalEvent","sourceId","data","getDocumentStatus","reInit","pausedRobots","robots","robot","getLogStatus","TrackingStatus","RUNNING","loader","lastChild","clonedLoader","Runtime","clone","bindToNode","preventDefault","statusList","getStatusList","menu","Menu","bindElement","stage","NAME","statusId","getMenuWindow","setDocumentStatus","status","find","TITLE","COLOR","automationContentNode","Loader","statusTitleNode","statusTitle","textContent","parentNode","setAttribute","statusBgNode","style","backgroundColor","borderColor","documentStatusNode","prepend","triggersHeaderNode","tplNode","values","Object","keys","key","valueNode","workflowId","WorkflowStatus","COMPLETED","TERMINATED","includes","popupContainer","getElementsByClassName","state","setIcon","PAUSE","getContainer","nextElementSibling","Mode","isMode","modeId","getMode","experimental","interception","getAllModes","code","Document","options","SessionId","DocumentId","toInteger","DocumentCategoryId","DateExpire","DocumentSigned","documentSigned","documentId","categoryId","Session","isPlainObject","StartedBy","String","ShortDescription","Boolean","Active","Fixed","CategoryId","Documents","isActive","pullHandler","activeDocument","startedBy","shortDescription","initialCategoryId","isSessionStartedByUser","userId","isAutomation","isInterceptionMode","isExperimentalMode","start","Promise","resolve","reject","ajax","runAction","mode","analyticsLabel","automation_select_debug_mode","mode_type","response","finish","fixateDocument","removeDocuments","ids","documentIds","documents","isArrayFilled","push","json","rawValues","requireSetFilter","unsubscribeAll","unsubscribe","RobotLog","robotInfo","name","delayName","conditionNames","getActivitiesName","names","concat","previousRobotTitle","renderTrack","excludedTypes","TrackingEntry","EXECUTE_ACTIVITY_TYPE","ATTACHED_ENTITY_TYPE","type","DelayInterval","index","datetime","logNode","time","message","renderIndex","AutomationLogView","renderTime","CLOSE_ACTIVITY_TYPE","DEBUG_AUTOMATION_TYPE","note","JSON","delayInterval","fieldName","DelayIntervalSelector","getBasisField","basis","fieldValue","delay","SystemExpression","conditionNode","result","colorCondition","condition","renderedNote","collapseInfoResults","DEBUG_ACTIVITY_TYPE","DEBUG_LINK_TYPE","colorBox","CANCEL_ACTIVITY_TYPE","FAULT_ACTIVITY_TYPE","ERROR_ACTIVITY_TYPE","label","link","TriggerLog","addTrack","initializeWorkflowRobotsRenderer","onTrackAdded","getMainView","subscribeOnce","workflowRobots","isUndefined","prevRobotTitle","i","Robot","none","robotLogger","getTitle","DelayName","getCondition","conditionNamesList","isExecuteAfterPrevious","activityName","should","setPreviousLog","children","startRendering","renderTo","element","shift","padStart","renderStatusChange","parsedTrackNote","sourceStage","getStatusSettings","destinationStage","entryBuilder","TrackingEntryBuilder","setLogEntry","row","build","infoResults","firstElementChild","clientHeight","moreInfoNode","Event","loadAllLog","loadRobotsByWorkflowId","console","info","logFromDB","builder","assign","startedDate","dateNode","description","descriptionNode","categoryName","scrollNode","scrollMax","scrollHeight","scrollTop","unbind","from","to","end","increment","duration","diff","currentPosition","requestFrame","window","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","callback","animateScroll","easeInOutQuad","cancelFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","current","ActionPanelGuide","Guide","steps","top","bottom","onEvents","getPopup","showNextStep","CustomCrmActionPanel","grid","BX","UI","ActionPanel","removeLeftPosition","maxHeight","parentPosition","autoHide","onHideActionPanelHandler","actionPanel","fixEntityAction","checkedIds","guide","getItemById","layout","container","article","stopActionPanel","removeEntityAction","hidePanel","reload","resetActionPanel","appendItem","getCheckedId","actionId","errors","error","Automation","parameters","Settings","pullHandlers","func","handleExternalDocumentStatus","handleExternalDocumentValues","handleExternalDocumentDelete","handleExternalWorkflowStatus","handleExternalWorkflowEventAdd","handleExternalWorkflowEventRemove","handleExternalTrackRow","getWorkflowStatus","newStatus","trigger","IS_EXTERNAL_MODIFIED","ROBOTS","debuggerState","robotId","eventId","eventRobotId","documentCategoryId","documentValues","workflowStatus","workflowEvents","setFields","setStatusList","setStatus","automationGlobals","globalConstants","globalVariables","context","MessageBox","okCaption","onOk","finishSession","buttons","MessageBoxButtons","OK_CANCEL","eventName","join","getField","object","ObjectId","Expression","Reflection","getClass","gridInstance","CRM","Kanban","Grid","getInstance","setCustomActionPanel","gridData","entityType","params","hasOwnProperty","CATEGORY_ID","Context","rawDocumentType","canEdit","canManage","AutomationGlobals","setGlobalContext","pull","noDocumentError","alert","CommandHandler","PULL","isFunction","getModuleId","getSubscriptionType","PullClient","SubscriptionType","Server","getMap","command","extra","FilterGuide","bindEvents","StageGuide","CrmDebuggerGuide","reserveFilterIds","showStageStep","stageStep","showFilterStep","filterGuide","firstColumn","getColumns","guideTarget","getTitleContainer","nextGuide","classList","filterId","gridId","Main","filterManager","getById","filterApi","getApi","parent","getPopupBindElement","instance","initializeDebugger","startSession","deleteDocument","checkboxElement","boxOptions","popupOptions","checked","onCancel","cancel","force","lastId","pop","createAutomationDebugger","openDebuggerStartPage","url","Uri","addParam","automation_enter_debug","start_type","analyticsStartType","allowChangeHistory","openSlider","newWindowLabel","SidePanel","open","isFirstShow","initialShowState","api","setFilter","preset_id","apis","shown","Debugger"],"mappings":"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"}