403Webshell
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/workflow/timeline/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/bizproc/workflow/timeline/dist/timeline.bundle.js.map
{"version":3,"file":"timeline.bundle.js","sources":["../src/views/errors-view.js","../src/timeline-task.js","../src/views/timeline-task-view.js","../src/timeline.js"],"sourcesContent":["import { Tag, Dom, Type, Text } from 'main.core';\n\nexport class ErrorsView\n{\n\t#errors: Array<{ message: string }> = [];\n\n\tconstructor(props: {\n\t\terrors: Array<{ message: string }>,\n\t})\n\t{\n\t\tif (Type.isArrayFilled(props.errors))\n\t\t{\n\t\t\tthis.#errors = props.errors;\n\t\t}\n\t}\n\n\trender(): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline_error-wrapper\">\n\t\t\t\t<div class=\"bizproc-workflow-timeline_error-inner\">\n\t\t\t\t\t${this.#errors.map(({ message }) => Tag.render`\n\t\t\t\t\t\t<p class=\"bizproc-workflow-timeline_error-text\">${Text.encode(message)}</p>\n\t\t\t\t\t`)}\n\t\t\t\t\t<div class=\"bizproc-workflow-timeline_error-img\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\trenderTo(target: HTMLElement): void\n\t{\n\t\tDom.append(this.render(), target);\n\t}\n}\n","import { Type } from 'main.core';\nimport { TaskUserData, TaskStatus } from 'bizproc.task';\nimport type { Timestamp } from 'bizproc.types';\n\nexport type TimelineTaskData = {\n\tcanView: boolean,\n\tstatus: number,\n\tid?: number,\n\tname?: string,\n\tmodified?: Timestamp,\n\tusers?: TaskUserData[],\n\texecutionTime: ?Timestamp,\n\tapproveType?: string,\n\turl: string,\n};\n\nexport class TimelineTask\n{\n\t#data: TimelineTaskData = {};\n\n\tconstructor(data: TimelineTaskData)\n\t{\n\t\tif (Type.isPlainObject(data))\n\t\t{\n\t\t\tthis.#data = data;\n\t\t}\n\t}\n\n\tcanView(): boolean\n\t{\n\t\treturn Type.isBoolean(this.#data.canView) ? this.#data.canView : false;\n\t}\n\n\tget status(): TaskStatus\n\t{\n\t\treturn new TaskStatus(this.#data.status);\n\t}\n\n\tget id(): number\n\t{\n\t\treturn Type.isInteger(this.#data.id) ? this.#data.id : 0;\n\t}\n\n\tget name(): string\n\t{\n\t\treturn Type.isString(this.#data.name) ? this.#data.name : '';\n\t}\n\n\tget modified(): Timestamp\n\t{\n\t\treturn Type.isInteger(this.#data.modified) ? Math.max(this.#data.modified, 0) : 0;\n\t}\n\n\tget users(): TaskUserData[]\n\t{\n\t\treturn Type.isArray(this.#data.users) ? this.#data.users : [];\n\t}\n\n\tget executionTime(): ?number\n\t{\n\t\treturn Type.isInteger(this.#data.executionTime) ? Math.max(this.#data.executionTime, 0) : null;\n\t}\n\n\tget approveType(): string\n\t{\n\t\treturn Type.isString(this.#data.approveType) ? this.#data.approveType : '';\n\t}\n\n\tget url(): ?null\n\t{\n\t\treturn Type.isStringFilled(this.#data.url) ? this.#data.url : null;\n\t}\n}\n","import type { TaskUserData } from 'bizproc.task';\nimport { TaskStatus, UserStatus } from 'bizproc.task';\nimport type { TimelineUserData } from '../timeline';\nimport { DurationFormatter } from '../timeline';\nimport { Dom, Tag, Text, Loc, Type, Uri } from 'main.core';\nimport type { TimelineTask } from '../timeline-task';\n\nimport 'ui.hint';\n\nexport type TimelineTaskViewType = {\n\ttask: TimelineTask,\n\tuserId: ?number,\n\tdateFormat: string,\n\tdateFormatShort: string,\n\ttaskNumber?: ?number,\n\tusers: Map,\n};\n\nconst TOO_LONG_PROCESS_DURATION = 60 * 60 * 24 * 3; // Three days\n\nexport class TimelineTaskView\n{\n\t#task: TimelineTask;\n\t#userId: number = 0;\n\t#taskNumber: ?number = null;\n\t#dateFormat: string;\n\t#dateFormatShort: string;\n\t#users: Map;\n\n\tconstructor(props: TimelineTaskViewType)\n\t{\n\t\tthis.#task = props.task;\n\t\tthis.#dateFormat = props.dateFormat;\n\t\tthis.#dateFormatShort = props.dateFormatShort;\n\t\tthis.#users = props.users;\n\n\t\tif (Type.isNumber(props.taskNumber) && props.taskNumber > 0)\n\t\t{\n\t\t\tthis.#taskNumber = props.taskNumber;\n\t\t}\n\n\t\tif (Type.isNumber(props.userId) && props.userId > 0)\n\t\t{\n\t\t\tthis.#userId = props.userId;\n\t\t}\n\t}\n\n\trenderTo(target: HTMLElement): void\n\t{\n\t\tDom.append(this.render(), target);\n\t}\n\n\trender(): HTMLElement\n\t{\n\t\treturn this.#task.canView() ? this.#renderContent() : this.#renderAccessDenied();\n\t}\n\n\t#renderContent(): HTMLElement\n\t{\n\t\tconst isWaiting = this.#task.status.isWaiting();\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-item ${isWaiting ? '--processing' : ''}\">\n\t\t\t\t<div class=\"bizproc-workflow-timeline-item-inner\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<span class=\"bizproc-workflow-timeline-icon ${isWaiting ? '--processing' : '--success'}\">\n\t\t\t\t\t\t\t${isWaiting ? '' : (this.#taskNumber || '')}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div class=\"bizproc-workflow-timeline-title\">\n\t\t\t\t\t\t\t<span>${Text.encode(this.#task.name)}</span>\n\t\t\t\t\t\t\t${this.#renderButton()}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"bizproc-workflow-timeline-subject\">\n\t\t\t\t\t\t${Text.encode(DurationFormatter.formatDate(\n\t\t\t\t\t\t\tthis.#task.modified, \n\t\t\t\t\t\t\tthis.#dateFormat, \n\t\t\t\t\t\t\tthis.#dateFormatShort,\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"bizproc-workflow-timeline-content\">\n\t\t\t\t\t\t${this.#renderStatus()}\n\t\t\t\t\t\t${this.#renderUsers()}\n\t\t\t\t\t\t${this.#renderExecutionTime()}\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#renderButton(): ?HTMLElement\n\t{\n\t\tif (this.#userId === 0 || !this.#task.url)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst participant: TaskUserData = (this.#task.users.find((user) => user.id === this.#userId));\n\n\t\tif (Type.isUndefined(participant))\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst isWaiting = (new UserStatus(participant.status)).isWaiting();\n\n\t\treturn Tag.render`\n\t\t\t<a\n\t\t\t\tclass=\"\n\t\t\t\t\tbizproc-workflow-timeline-task-link\n\t\t\t\t\tbizproc-workflow-timeline-task-link-${isWaiting ? 'blue' : 'gray'}\n\t\t\t\t\"\n\t\t\t\thref=\"${Text.encode(this.#task.url || new Uri(`/company/personal/bizproc/${this.#task.id}/`).toString())}\"\n\t\t\t>\n\t\t\t\t${Text.encode(\n\t\t\t\t\tisWaiting\n\t\t\t\t\t\t? Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_BUTTON_PROCEED')\n\t\t\t\t\t\t: Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_BUTTON_SEE'),\n\t\t\t\t)}\n\t\t\t</a>\n\t\t`;\n\t}\n\n\t#renderStatus(): HTMLElement\n\t{\n\t\tlet message = Text.encode(this.#getStatusName(\n\t\t\tthis.#task.status,\n\t\t\tthis.#task.approveType,\n\t\t\tthis.#task.users.length,\n\t\t));\n\n\t\tif (this.#task.status.isWaiting() && this.#task.approveType === 'vote')\n\t\t{\n\t\t\tlet votedCount = 0;\n\t\t\tfor (const user of this.#task.users)\n\t\t\t{\n\t\t\t\tif (!(new TaskStatus(user.status).isWaiting()))\n\t\t\t\t{\n\t\t\t\t\tvotedCount++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tmessage = Loc.getMessage(\n\t\t\t\t'BIZPROC_WORKFLOW_TIMELINE_SLIDER_VOTED',\n\t\t\t\t{\n\t\t\t\t\t'#VOTED#': votedCount,\n\t\t\t\t\t'#TOTAL#': this.#task.users.length,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\treturn Tag.render`<div class=\"bizproc-workflow-timeline-caption\">${message}</div>`;\n\t}\n\n\t#getStatusName(taskStatus: TaskStatus, taskApproveType: string, usersCount: number): string\n\t{\n\t\tif (taskStatus.isYes() || taskStatus.isOk())\n\t\t{\n\t\t\treturn Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_PERFORMED');\n\t\t}\n\n\t\tif (taskStatus.isNo() || taskStatus.isCancel())\n\t\t{\n\t\t\treturn Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_DECLINED');\n\t\t}\n\n\t\tif (taskStatus.isWaiting())\n\t\t{\n\t\t\tif (usersCount === 1)\n\t\t\t{\n\t\t\t\treturn Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_PERFORMING');\n\t\t\t}\n\t\t\tlet message = '';\n\t\t\tswitch (taskApproveType)\n\t\t\t{\n\t\t\t\tcase 'all': message = Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_PERFORMING_ALL');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'any': message = Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_PERFORMING_ANY');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'vote': message = Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_PERFORMING_ALL');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: message = Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_PERFORMING');\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn message;\n\t\t}\n\n\t\treturn taskStatus.name;\n\t}\n\n\t#renderUsers(): HTMLElement\n\t{\n\t\tconst showVoteResult = this.#task.users.length > 1;\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-user-list\">\n\t\t\t\t${Object.values(this.#task.users).map((user) => this.#renderUser(user, showVoteResult))}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#renderUser(userData: TaskUserData, showVoteResult: boolean): ?HTMLElement\n\t{\n\t\tconst user: TimelineUserData = this.#users.get(userData.id);\n\t\tif (!user)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst status = new TaskStatus(userData.status);\n\n\t\tlet voteClass = '';\n\t\tif (showVoteResult)\n\t\t{\n\t\t\tif (status.isYes() || status.isOk())\n\t\t\t{\n\t\t\t\tvoteClass = '--voted-up';\n\t\t\t}\n\n\t\t\tif (status.isNo())\n\t\t\t{\n\t\t\t\tvoteClass = '--voted-down';\n\t\t\t}\n\t\t}\n\n\t\tlet avatar = '<i></i>';\n\t\tif (Type.isString(user.avatarSize100))\n\t\t{\n\t\t\tavatar = `<i style=\"background-image: url('${encodeURI(Text.encode(user.avatarSize100))}')\"></i>`;\n\t\t}\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-user ${voteClass}\">\n\t\t\t\t<div class=\"bizproc-workflow-timeline-userlogo ui-icon ui-icon-common-user\">\n\t\t\t\t\t${avatar}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bizproc-workflow-timeline-user-block\">\n\t\t\t\t\t<a class=\"bizproc-workflow-timeline-link\" href=\"${user.link}\">${Text.encode(user.fullName)}</a>\n\t\t\t\t\t<div class=\"bizproc-workflow-timeline-user-pos\" title=\"${Text.encode(user.workPosition || '')}\">\n\t\t\t\t\t\t${Text.encode(user.workPosition || '')}\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#renderExecutionTime(): ?HTMLElement\n\t{\n\t\tconst executionTime = this.#task.executionTime;\n\n\t\tif (Type.isNil(executionTime))\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst useHint = executionTime >= TOO_LONG_PROCESS_DURATION;\n\t\tconst hint = Tag.render`\n\t\t\t<span\n\t\t\t\tdata-hint=\"${Text.encode(Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_TIME_LIMIT_EXCEEDED'))}\"\n\t\t\t></span>\n\t\t`;\n\n\t\tconst notice = Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-notice\">\n\t\t\t\t<div class=\"bizproc-workflow-timeline-subject\">\n\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_EXECUTION_TIME'))}\n\t\t\t\t</div>\n\t\t\t\t<span class=\"bizproc-workflow-timeline-text\">\n\t\t\t\t\t${Text.encode(DurationFormatter.formatTimeInterval(executionTime, 2))}\n\t\t\t\t</span>\n\t\t\t\t${useHint ? hint : null}\n\t\t\t</div>\n\t\t`;\n\n\t\tif (useHint)\n\t\t{\n\t\t\tBX.UI.Hint.init(notice);\n\t\t}\n\n\t\treturn notice;\n\t}\n\n\t#renderAccessDenied(): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-item --tech\">\n\t\t\t\t<div class=\"bizproc-workflow-timeline-item-inner\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<span class=\"bizproc-workflow-timeline-icon\"></span>\n\t\t\t\t\t\t<div class=\"bizproc-workflow-timeline-title\">\n\t\t\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_NO_RIGHTS_TO_VIEW'))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"bizproc-workflow-timeline-subject\">\n\t\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_NO_RIGHTS_TO_VIEW_TIP'))}\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","// eslint-disable-next-line max-classes-per-file\nimport { ajax, Type, Tag, Text, Dom, Runtime, Uri, Loc } from 'main.core';\nimport { DocumentId } from 'bizproc.document';\nimport { Timestamp, UserId } from 'bizproc.types';\nimport 'ui.icons.b24';\nimport 'ui.hint';\nimport { TextCrop } from 'ui.textcrop';\nimport { Popup, Menu } from 'main.popup';\nimport { TaskStatus, TaskUserData, TaskData } from 'bizproc.task';\nimport { DateTimeFormat } from 'main.date';\nimport { ErrorsView } from './views/errors-view';\n\nimport { TimelineTask } from './timeline-task';\n\nimport './css/style.css';\nimport { TimelineTaskView } from './views/timeline-task-view';\n\nexport type TimelineUserData = {\n\tid: UserId,\n\tlogin: string,\n\tname: string,\n\tlastName: string,\n\tsecondName: string,\n\tfullName: string,\n\tworkPosition: string,\n\tlink: string,\n\tavatarSize100: string,\n\tstatus: number,\n};\n\nexport type TimelineStatsData = {\n\taverageDuration: ?number,\n\tefficiency: string,\n};\n\nexport type TimelineData = {\n\tdocument: DocumentId,\n\tisWorkflowRunning: boolean,\n\ttimeToStart: ?Timestamp,\n\texecutionTime: ?Timestamp,\n\tstarted: ?Timestamp,\n\tstartedBy: UserId,\n\ttasks: TimelineTask[],\n\tusers: Map<UserId, TimelineUserData>,\n\tuserStatuses: Map<UserId, TaskStatus>,\n\tstats: TimelineStatsData,\n\tbiMenu?: Array<BiMenuItem>,\n};\n\ntype BiMenuItem = {\n\tID: string,\n\tTEXT: string,\n\tURL: string,\n}\n\nexport class DurationFormatter\n{\n\tstatic #limits = [\n\t\t[3600 * 24 * 365, 'Ydiff'],\n\t\t[3600 * 24 * 31, 'mdiff'],\n\t\t[3600 * 24, 'ddiff'],\n\t\t[3600, 'Hdiff'],\n\t\t[60, 'idiff'],\n\t];\n\n\tstatic #getFormatString(seconds: number): string\n\t{\n\t\tfor (const limit of this.#limits)\n\t\t{\n\t\t\tif (seconds >= limit[0])\n\t\t\t{\n\t\t\t\treturn limit[1];\n\t\t\t}\n\t\t}\n\n\t\treturn 'sdiff';\n\t}\n\n\tstatic #getMultiplierByFormat(format: string): number\n\t{\n\t\tfor (const limit of this.#limits)\n\t\t{\n\t\t\tif (format === limit[1])\n\t\t\t{\n\t\t\t\treturn limit[0];\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\tstatic formatTimestamp(timestamp: number): string\n\t{\n\t\treturn DateTimeFormat.format(\n\t\t\tthis.#getFormatString(Date.now() / 1000 - timestamp),\n\t\t\ttimestamp,\n\t\t);\n\t}\n\n\tstatic formatTimeInterval(interval: ?number, values: number = 1): string\n\t{\n\t\tif (Type.isNil(interval))\n\t\t{\n\t\t\treturn Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_AVERAGE_PROCESS_TIME_UNKNOWN');\n\t\t}\n\n\t\tif (interval === 0)\n\t\t{\n\t\t\treturn Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_ZERO_SECOND_INTERVAL');\n\t\t}\n\n\t\tlet result = '';\n\t\tlet remainder = interval;\n\n\t\tfor (let i = 0; i < values; i++)\n\t\t{\n\t\t\tconst format = this.#getFormatString(remainder);\n\t\t\t// ignore seconds if we already have result\n\t\t\tif (result.length > 0 && format === 'sdiff')\n\t\t\t{\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tconst multiplier = this.#getMultiplierByFormat(format);\n\t\t\tresult += DateTimeFormat.format(format, 0, remainder);\n\t\t\tresult += ' ';\n\t\t\tif (multiplier > 0)\n\t\t\t{\n\t\t\t\tremainder %= multiplier;\n\t\t\t\tif (remainder === 0)\n\t\t\t\t{\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tstatic formatDate(timestamp: number, format: string, formatShort: ?string): string\n\t{\n\t\tif (formatShort && (DateTimeFormat.format('Y', timestamp) === DateTimeFormat.format('Y', Date.now() / 1000)))\n\t\t{\n\t\t\treturn DateTimeFormat.format(formatShort, timestamp);\n\t\t}\n\n\t\treturn DateTimeFormat.format(format, timestamp);\n\t}\n}\n\nexport class Timeline\n{\n\t#workflowId: string;\n\t// #taskId: number;\n\t#data: ?TimelineData;\n\t#isLoaded: boolean;\n\t#errors: Array<{ message: string }> = [];\n\t#container: HTMLDivElement;\n\t#biPopup: HTMLDivElement;\n\t#dateFormat: string;\n\t#dateFormatShort: string;\n\t#efficiencyPopup: Popup;\n\n\tconstructor(\n\t\toptions: { workflowId: string, taskId?: number, },\n\t\tconfig: { dateFormat: ?string, dateFormatShort: ?string, timeFormat: ?string, },\n\t)\n\t{\n\t\tthis.#container = this.#renderContainer();\n\t\tsetTimeout(() => {\n\t\t\tthis.#textCrop();\n\t\t}, 500);\n\t\tif (Type.isPlainObject(options))\n\t\t{\n\t\t\tthis.#workflowId = options.workflowId;\n\t\t\t// this.#taskId = options.taskId;\n\t\t\tthis.#isLoaded = false;\n\n\t\t\tthis.#loadTimeline();\n\t\t}\n\n\t\tif (Type.isPlainObject(config))\n\t\t{\n\t\t\tthis.#dateFormat = `${config.dateFormat || 'j F Y'} ${config.timeFormat || 'H:i'}`;\n\t\t\tthis.#dateFormatShort = `${config.dateFormatShort || 'j F'} ${config.timeFormat || 'H:i'}`;\n\t\t}\n\t}\n\n\tstatic open(options: { workflowId: string, taskId?: number }): void\n\t{\n\t\tRuntime\n\t\t\t.loadExtension('sidepanel')\n\t\t\t.then(() => {\n\t\t\t\tBX.SidePanel.Instance.open(\n\t\t\t\t\tUri.addParam(\n\t\t\t\t\t\t'/bitrix/components/bitrix/bizproc.workflow.timeline.slider/index.php',\n\t\t\t\t\t\tType.isPlainObject(options) ? options : {},\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\twidth: 950,\n\t\t\t\t\t\tallowChangeHistory: false,\n\t\t\t\t\t\tcacheable: false,\n\t\t\t\t\t\tloader: '/bitrix/js/bizproc/workflow/timeline/img/skeleton.svg',\n\t\t\t\t\t\tprintable: true,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t})\n\t\t\t.catch((response) => console.error(response.errors))\n\t\t;\n\t}\n\n\t#loadTimeline(): void\n\t{\n\t\tajax.runAction('bizproc.workflow.getTimeline', {\n\t\t\tdata: { workflowId: this.#workflowId },\n\t\t}).then((response) => {\n\t\t\tthis.#setDataFromResponse(response);\n\t\t\tthis.#isLoaded = true;\n\t\t\tthis.render();\n\t\t}).catch((response) => {\n\t\t\tthis.#setDataFromResponse(response);\n\t\t\tthis.#isLoaded = true;\n\t\t\tthis.render();\n\t\t});\n\t}\n\n\t#setDataFromResponse(response): void\n\t{\n\t\tif (Type.isPlainObject(response))\n\t\t{\n\t\t\tconst getString = (value, defaultValue = '') => (Type.isString(value) ? value : defaultValue);\n\t\t\tconst getArray = (value, defaultValue = []) => (Type.isArray(value) ? value : defaultValue);\n\t\t\tconst getBool = (value, defaultValue = false) => (Type.isBoolean(value) ? value : defaultValue);\n\t\t\tconst getInteger = (value, defaultValue = 0) => (Type.isInteger(value) ? value : defaultValue);\n\n\t\t\tif (Type.isPlainObject(response.data))\n\t\t\t{\n\t\t\t\tthis.#data = {\n\t\t\t\t\tdocument: new DocumentId({\n\t\t\t\t\t\tdocumentId: getArray(response.data.documentType),\n\t\t\t\t\t\tentityName: getString(response.data.entityName),\n\t\t\t\t\t\tdocumentName: getString(response.data.documentName),\n\t\t\t\t\t\tdocumentUrl: getString(response.data.documentUrl),\n\t\t\t\t\t\tmoduleName: getString(response.data.moduleName),\n\t\t\t\t\t}),\n\t\t\t\t\tisWorkflowRunning: getBool(response.data.isWorkflowRunning),\n\t\t\t\t\ttimeToStart: getInteger(response.data.timeToStart, null),\n\t\t\t\t\texecutionTime: getInteger(response.data.executionTime, null),\n\t\t\t\t\tstarted: getInteger(response.data.started, null),\n\t\t\t\t\tstartedBy: getInteger(response.data.startedBy),\n\t\t\t\t\ttasks: getArray(response.data.tasks).map((taskData) => new TimelineTask(taskData)),\n\t\t\t\t\tusers: new Map(),\n\t\t\t\t\tstats: {\n\t\t\t\t\t\taverageDuration: getInteger(response.data.stats.averageDuration, null),\n\t\t\t\t\t\tefficiency: getString(response.data.stats.efficiency),\n\t\t\t\t\t},\n\t\t\t\t\tbiMenu: getArray(response.data.biMenu, null),\n\t\t\t\t};\n\n\t\t\t\tfor (const user of getArray(response.data.users))\n\t\t\t\t{\n\t\t\t\t\tthis.#data.users.set(Text.toInteger(user.id), user);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.#errors = getArray(response.errors);\n\t\t}\n\t}\n\n\trender(): HTMLElement\n\t{\n\t\tDom.clean(this.#container);\n\n\t\tif (this.#hasErrors())\n\t\t{\n\t\t\tconst errorsView = new ErrorsView({ errors: this.#errors });\n\t\t\terrorsView.renderTo(this.#container);\n\n\t\t\treturn this.#container;\n\t\t}\n\n\t\tif (!this.#isLoaded)\n\t\t{\n\t\t\tDom.append(this.#renderLoadingStub(), this.#container);\n\t\t}\n\n\t\tif (Type.isPlainObject(this.#data))\n\t\t{\n\t\t\tDom.replace(this.#container, this.#renderContainer());\n\t\t\tthis.#createEfficiencyPopup().show();\n\t\t\tif (this.#data.biMenu)\n\t\t\t{\n\t\t\t\tthis.showBiMenus(this.#data.biMenu);\n\t\t\t}\n\t\t}\n\n\t\treturn this.#container;\n\t}\n\n\t#renderItemTitle(title, iconClass, iconText, crop): HTMLElement\n\t{\n\t\tconst iconClassValue = Type.isString(iconClass) ? (` ${iconClass}`) : '';\n\t\tconst iconTextValue = Type.isString(iconText) ? iconText : '';\n\t\tconst cropValue = crop ? ' data-crop=\"crop\"' : '';\n\n\t\treturn Tag.render`\n\t\t\t<div>\n\t\t\t\t<span class=\"bizproc-workflow-timeline-icon${iconClassValue}\">${iconTextValue}</span>\n\t\t\t\t<div class=\"bizproc-workflow-timeline-title\"${cropValue}>${Text.encode(title)}</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#renderSubject(subject): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-subject\">${Text.encode(subject)}</div>\n\t\t`;\n\t}\n\n\t#renderProceedTaskButton(task: TaskData): HTMLElement\n\t{\n\t\tconst uri = (\n\t\t\ttask.url || new Uri(`/company/personal/bizproc/${task.id}/`).toString()\n\t\t);\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"task-button --hidden\">\n\t\t\t\t<a class=\"ui-btn ui-btn-xs ui-btn-primary ui-btn-round\" href=\"${Text.encode(uri)}\">\n\t\t\t\t\t${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_BUTTON_PROCEED')}\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#renderUser(userId: UserId, userData: ?TaskUserData = null, task: ?TaskData = null): HTMLElement\n\t{\n\t\tconst user = this.#data.users.get(userId || userData.id);\n\t\tlet userClass = '';\n\t\tlet isWaiting = false;\n\t\tif (userData)\n\t\t{\n\t\t\tconst status = new TaskStatus(userData.status);\n\t\t\tif (status.isYes() || status.isOk())\n\t\t\t{\n\t\t\t\tuserClass = ' --voted-up';\n\t\t\t}\n\n\t\t\tif (status.isNo())\n\t\t\t{\n\t\t\t\tuserClass = ' --voted-down';\n\t\t\t}\n\n\t\t\tif (status.isWaiting())\n\t\t\t{\n\t\t\t\tisWaiting = true;\n\t\t\t}\n\t\t}\n\t\tconst position = Type.isString(user.workPosition)\n\t\t\t? (`<div class=\"bizproc-workflow-timeline-user-pos\">${Text.encode(user.workPosition)}</div>`)\n\t\t\t: '';\n\t\tlet avatar = '<i></i>';\n\t\tif (Type.isString(user.avatarSize100))\n\t\t{\n\t\t\tavatar = `<i style=\"background-image: url('${encodeURI(user.avatarSize100)}')\"></i>`;\n\t\t}\n\t\tconst button = (task?.id && isWaiting) ? this.#renderProceedTaskButton(task) : '';\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-user${userClass}\">\n\t\t\t\t<div class=\"bizproc-workflow-timeline-userlogo ui-icon ui-icon-common-user\">\n\t\t\t\t\t${avatar}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bizproc-workflow-timeline-user-block\">\n\t\t\t\t\t<a class=\"bizproc-workflow-timeline-link\" href=\"${user.link}\">${Text.encode(user.fullName)}</a>\n\t\t\t\t\t${position}\n\t\t\t\t</div>\n\t\t\t\t${button}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#renderDoc(name, link, type, iconClass): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-doc\">\n\t\t\t\t${this.#renderCaption(Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_START_DOC'))}\n\t\t\t\t<div class=\"bizproc-workflow-timeline-type\">\n\t\t\t\t\t<span class=\"ui-icon-set ${iconClass}\"></span>\n\t\t\t\t\t<span class=\"bizproc-workflow-timeline-type-text\">${type}</span>\n\t\t\t\t</div>\n\t\t\t\t<a class=\"bizproc-workflow-timeline-link\" href=\"${link}\" target=\"_top\">${Text.encode(name)}</a>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#renderCaption(caption): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-caption\">${caption}</div>\n\t\t`;\n\t}\n\n\t#renderNotice(subject, text): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-notice\">\n\t\t\t\t<div class=\"bizproc-workflow-timeline-subject\">${Text.encode(subject)}</div>\n\t\t\t\t<span class=\"bizproc-workflow-timeline-text\">${Text.encode(text)}</span>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#renderStatus(text, statusClass): HTMLElement\n\t{\n\t\tconst statusClassValue = Type.isString(statusClass) ? (` ${statusClass}`) : '';\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-status${statusClassValue}\">${Text.encode(text)}</div>\n\t\t`;\n\t}\n\n\t#renderMore(): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-item --more\">\n\t\t\t\t<div class=\"bizproc-workflow-timeline-item-inner\">\n\t\t\t\t\t<span class=\"bizproc-workflow-timeline-icon\"></span>\n\t\t\t\t\t<button class=\"ui-btn ui-btn-light-border ui-btn-xs\" type=\"button\" onclick=\"expandMore(event)\">\n\t\t\t\t\t\t<span class=\"ui-btn-text\">\n\t\t\t\t\t\t\t${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_MORE_TASKS')}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<script type=\"text/javascript\">\n\t\t\t\t\t\tfunction expandMore(event)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst moreItemBlock = event.target.closest('.--more');\n\t\t\t\t\t\t\tconst hiddenBlocks = document.querySelectorAll('.bizproc-workflow-timeline-item.--hidden:not(.--efficiency)');\n\t\t\t\t\t\t\tBX.Dom.addClass(moreItemBlock, '--hidden');\n\t\t\t\t\t\t\thiddenBlocks.forEach((hiddenBlock) => BX.Dom.removeClass(hiddenBlock, '--hidden'));\n\t\t\t\t\t\t}\n\t\t\t\t\t</script>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#renderContent(children): HTMLElement\n\t{\n\t\treturn (Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-content\">\n\t\t\t\t${children}\n\t\t\t</div>\n\t\t`);\n\t}\n\n\t#renderItem(children, itemClass, efficiencyClass): HTMLElement\n\t{\n\t\tconst itemClassValue = Type.isString(itemClass) ? (` ${itemClass}`) : '';\n\t\tconst efficiencyClassValue = (\n\t\t\tType.isString(efficiencyClass) ? (` data-efficiency-class=\"${efficiencyClass}\"`) : ''\n\t\t);\n\n\t\treturn (Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-item${itemClassValue}\"${efficiencyClassValue}>\n\t\t\t\t<div class=\"bizproc-workflow-timeline-item-inner\">\n\t\t\t\t\t${children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`);\n\t}\n\n\t#renderItemsList(items): HTMLElement\n\t{\n\t\treturn (Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-wrapper\">\n\t\t\t\t<div class=\"bizproc-workflow-timeline-inner\">\n\t\t\t\t\t<div class=\"bizproc-workflow-timeline-list\">\n\t\t\t\t\t\t${items}\n\t\t\t\t\t</div>\n\t\t\t\t\t<script type=\"text/javascript\">\n\t\t\t\t\t\t(function() {\n\t\t\t\t\t\t\tconst buttons = document.querySelectorAll('.task-button.--hidden');\n\t\t\t\t\t\t\tconst showButtons = buttons.length > 1;\n\t\t\t\t\t\t\tbuttons.forEach(function (button) {\n\t\t\t\t\t\t\t\tBX.Dom.insertBefore(\n\t\t\t\t\t\t\t\t\tbutton.closest('.bizproc-workflow-timeline-user'),\n\t\t\t\t\t\t\t\t\tbutton.closest('.bizproc-workflow-timeline-user-list').firstChild\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif (showButtons)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tBX.Dom.removeClass(button, '--hidden')\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t})();\n\t\t\t\t\t</script>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`);\n\t}\n\n\t#renderFirstBlock(): HTMLElement\n\t{\n\t\tconst content = [];\n\t\tif (this.#data.startedBy)\n\t\t{\n\t\t\tcontent.push(\n\t\t\t\tthis.#renderCaption(Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_FROM')),\n\t\t\t\tthis.#renderUser(this.#data.startedBy),\n\t\t\t);\n\t\t}\n\t\tcontent.push(\n\t\t\tthis.#renderDoc(\n\t\t\t\tthis.#data.document.name,\n\t\t\t\tthis.#data.document.url,\n\t\t\t\tthis.#data.document.moduleName,\n\t\t\t\t'--file-2',\n\t\t\t),\n\t\t);\n\n\t\tif (!Type.isNil(this.#data.timeToStart))\n\t\t{\n\t\t\tcontent.push(this.#renderNotice(\n\t\t\t\tLoc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_EXECUTION_TIME'),\n\t\t\t\tDurationFormatter.formatTimeInterval(this.#data.timeToStart, 2),\n\t\t\t));\n\t\t}\n\n\t\treturn this.#renderItem([\n\t\t\tthis.#renderItemTitle(\n\t\t\t\tthis.#data.document.entityName,\n\t\t\t\t'--success',\n\t\t\t\t'1',\n\t\t\t),\n\t\t\tthis.#data.started && this.#renderSubject(\n\t\t\t\tDurationFormatter.formatDate(this.#data.started, this.#dateFormat, this.#dateFormatShort),\n\t\t\t),\n\t\t\tthis.#renderContent(content),\n\t\t], '--selected');\n\t}\n\n\t#renderContainer(): HTMLElement\n\t{\n\t\tconst items = [];\n\t\tlet efficiencyClass = '';\n\t\tlet isWaiting = false;\n\n\t\tif (this.#data)\n\t\t{\n\t\t\tlet task = null;\n\n\t\t\titems.push(this.#renderFirstBlock());\n\n\t\t\tlet taskNumber = 1;\n\t\t\tlet hasHidden = this.#data.tasks[0] ? !this.#data.tasks[0].status.isWaiting() : true;\n\t\t\tfor (const taskIndex of Object.keys(this.#data.tasks))\n\t\t\t{\n\t\t\t\ttask = this.#data.tasks[taskIndex];\n\t\t\t\tisWaiting = task.status.isWaiting();\n\t\t\t\tif (!isWaiting)\n\t\t\t\t{\n\t\t\t\t\t++taskNumber;\n\t\t\t\t}\n\n\t\t\t\tconst taskView = new TimelineTaskView({\n\t\t\t\t\ttask,\n\t\t\t\t\tuserId: Text.toInteger(Loc.getMessage('USER_ID')),\n\t\t\t\t\tdateFormat: this.#dateFormat,\n\t\t\t\t\tdateFormatShort: this.#dateFormatShort,\n\t\t\t\t\ttaskNumber: isWaiting ? null : taskNumber,\n\t\t\t\t\tusers: this.#data.users,\n\t\t\t\t});\n\n\t\t\t\tconst node = taskView.render();\n\n\t\t\t\tif (!isWaiting && hasHidden)\n\t\t\t\t{\n\t\t\t\t\tDom.addClass(node, '--hidden');\n\t\t\t\t}\n\n\t\t\t\tif (isWaiting && hasHidden)\n\t\t\t\t{\n\t\t\t\t\titems.push(this.#renderMore());\n\t\t\t\t\thasHidden = false;\n\t\t\t\t}\n\n\t\t\t\titems.push(node);\n\t\t\t}\n\n\t\t\tif (hasHidden && this.#data.tasks[0])\n\t\t\t{\n\t\t\t\titems.push(this.#renderMore());\n\t\t\t}\n\n\t\t\tif (this.#data.isWorkflowRunning)\n\t\t\t{\n\t\t\t\tif (isWaiting)\n\t\t\t\t{\n\t\t\t\t\titems.push(this.#renderItem([\n\t\t\t\t\t\tthis.#renderItemTitle(Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_IN_PROGRESS')),\n\t\t\t\t\t\tthis.#renderSubject(\n\t\t\t\t\t\t\tLoc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_IN_PROGRESS_TIP'),\n\t\t\t\t\t\t),\n\t\t\t\t\t], '--tech --previous-item'));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\titems.push(this.#renderItem([\n\t\t\t\t\t\tthis.#renderItemTitle(Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_IN_PROGRESS_INTERMEDIATE')),\n\t\t\t\t\t\tthis.#renderSubject(\n\t\t\t\t\t\t\tLoc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_IN_PROGRESS_INTERMEDIATE_TIP'),\n\t\t\t\t\t\t),\n\t\t\t\t\t], '--tech --previous-item'));\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconst isOk = !task || task.status.isOk() || task.status.isYes();\n\t\t\t\tconst content = [\n\t\t\t\t\tthis.#renderCaption(Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_PROCESS_FINISHED')),\n\t\t\t\t];\n\t\t\t\tif (this.#data.startedBy)\n\t\t\t\t{\n\t\t\t\t\tcontent.push(\n\t\t\t\t\t\tisOk\n\t\t\t\t\t\t\t? this.#renderStatus(Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_APPROVED_FOR'))\n\t\t\t\t\t\t\t: this.#renderStatus(\n\t\t\t\t\t\t\t\tLoc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_DECLINED'),\n\t\t\t\t\t\t\t\t'--failure',\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\tthis.#renderUser(this.#data.startedBy),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcontent.push(this.#renderNotice(\n\t\t\t\t\tLoc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_PROCESS_EXECUTED'),\n\t\t\t\t\tDurationFormatter.formatTimeInterval(this.#data.executionTime),\n\t\t\t\t));\n\t\t\t\tefficiencyClass = isOk ? '--success' : '--declined';\n\t\t\t\titems.push(\n\t\t\t\t\tthis.#renderItem(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tthis.#renderItemTitle(\n\t\t\t\t\t\t\t\tthis.#data.document.entityName,\n\t\t\t\t\t\t\t\tisOk ? '--success' : null,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tthis.#data.started && this.#renderSubject(\n\t\t\t\t\t\t\t\tDurationFormatter.formatDate(\n\t\t\t\t\t\t\t\t\tthis.#data.started + this.#data.executionTime,\n\t\t\t\t\t\t\t\t\tthis.#dateFormat,\n\t\t\t\t\t\t\t\t\tthis.#dateFormatShort,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tthis.#renderContent(content),\n\t\t\t\t\t\t],\n\t\t\t\t\t\tisOk ? '--success --previous' : '--declined --selected --previous',\n\t\t\t\t\t\tefficiencyClass,\n\t\t\t\t\t),\n\t\t\t\t\tthis.#renderEfficiencyInlineContent(),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn this.#renderItemsList(items);\n\t}\n\n\t#textCrop()\n\t{\n\t\tconst textCropNodes = document.querySelectorAll('[data-crop=\"crop\"]');\n\t\tfor (const textCropNode of textCropNodes)\n\t\t{\n\t\t\tconst text = new TextCrop({\n\t\t\t\trows: 2,\n\t\t\t\ttarget: textCropNode,\n\n\t\t\t});\n\t\t\ttext.init();\n\t\t}\n\t}\n\n\t#createEfficiencyPopup(): Popup\n\t{\n\t\tthis.#efficiencyPopup = new Popup({\n\t\t\twidth: 403,\n\t\t\tminHeight: 345,\n\t\t\tcloseIcon: true,\n\t\t\tcontent: this.#renderEfficiencyPopupContent(),\n\t\t\tbindElement: {\n\t\t\t\tleft: 555,\n\t\t\t\ttop: 130,\n\t\t\t},\n\t\t\tpadding: 26,\n\t\t\tborderRadius: '18px',\n\t\t\tclassName: '--bizproc-timeline-popup',\n\t\t\tevents: {\n\t\t\t\tonPopupClose: () => {\n\t\t\t\t\tlet inlineEfficiencyPrev = document.querySelector('.--previous-item');\n\t\t\t\t\tif (!inlineEfficiencyPrev)\n\t\t\t\t\t{\n\t\t\t\t\t\tinlineEfficiencyPrev = document.querySelector('.bizproc-workflow-timeline-item.--processing');\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!inlineEfficiencyPrev)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tBX.Dom.addClass(inlineEfficiencyPrev, '--previous');\n\t\t\t\t\tlet efficiencyInlineClass = inlineEfficiencyPrev.getAttribute('data-efficiency-class');\n\t\t\t\t\tif (!efficiencyInlineClass)\n\t\t\t\t\t{\n\t\t\t\t\t\tefficiencyInlineClass = '';\n\t\t\t\t\t}\n\t\t\t\t\tinlineEfficiencyPrev.after(this.#renderEfficiencyInlineContent(efficiencyInlineClass));\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\treturn this.#efficiencyPopup;\n\t}\n\n\t#getEfficiencyData(): Popup\n\t{\n\t\tlet logoClass = '--first';\n\t\tlet notice = Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_NO_STATS');\n\n\t\tswitch (this.#data.stats.efficiency)\n\t\t{\n\t\t\tcase 'fast':\n\t\t\t\tlogoClass = '--fast';\n\t\t\t\tnotice = Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_PERFORMED_QUICKLY');\n\t\t\t\tbreak;\n\t\t\tcase 'slow':\n\t\t\t\tlogoClass = '--slow';\n\t\t\t\tnotice = Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_PERFORMED_SLOWLY');\n\t\t\t\tbreak;\n\t\t\tcase 'stopped':\n\t\t\t\tlogoClass = '--stopped';\n\t\t\t\tnotice = Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_PERFORMED_NO_PROGRESS');\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn [logoClass, notice];\n\t}\n\n\t#renderEfficiencyInlineContent(itemClass: string): HTMLElement\n\t{\n\t\tconst [logoClass, notice] = this.#getEfficiencyData();\n\n\t\tconst efficiencyInlineContent = Tag.render`\n\t\t\t<div class=\"bizproc-workflow-timeline-item --efficiency ${itemClass}\">\n\t\t\t\t<div class=\"bizproc-workflow-timeline-item-inner\">\n\t\t\t\t\t<div class=\"bizproc-workflow-timeline-title\">\n\t\t\t\t\t\t${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_EFFECTIVITY_MARK')}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"bizproc-workflow-timeline-content\">\n\t\t\t\t\t\t<div class=\"bizproc-workflow-timeline-eff-icon ${logoClass}\"></div>\n\t\t\t\t\t\t<div class=\"bizproc-workflow-timeline-content-inner\">\n\t\t\t\t\t\t\t<div class=\"bizproc-workflow-timeline-caption\">${notice}</div>\n\t\t\t\t\t\t\t<div class=\"bizproc-workflow-timeline-notice\">\n\t\t\t\t\t\t\t\t<div class=\"bizproc-workflow-timeline-subject\">\n\t\t\t\t\t\t\t\t\t${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_CURRENT_PROCESS_TIME')}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<span class=\"bizproc-workflow-timeline-text\">\n\t\t\t\t\t\t\t\t\t${DurationFormatter.formatTimeInterval(this.#data.executionTime)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tdata-hint=\"${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_TIME_DIFFERENCE_MSGVER_1')}\"\n\t\t\t\t\t\t\t\t></span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"bizproc-workflow-timeline-notice\">\n\t\t\t\t\t\t\t\t<div class=\"bizproc-workflow-timeline-subject\">\n\t\t\t\t\t\t\t\t\t${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_AVERAGE_PROCESS_TIME')}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<span class=\"bizproc-workflow-timeline-text\">\n\t\t\t\t\t\t\t\t\t${\n\t\t\t\t\t\t\t\t\t\t(this.#data.stats.averageDuration === null)\n\t\t\t\t\t\t\t\t\t\t\t? Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_AVERAGE_PROCESS_TIME_UNKNOWN')\n\t\t\t\t\t\t\t\t\t\t\t: DurationFormatter.formatTimeInterval(this.#data.stats.averageDuration)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</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>\t\n\t\t\t</div>\n\t\t`;\n\t\tBX.UI.Hint.init(efficiencyInlineContent);\n\n\t\treturn efficiencyInlineContent;\n\t}\n\n\t#renderEfficiencyPopupContent()\n\t{\n\t\tconst [logoClass, notice] = this.#getEfficiencyData();\n\n\t\tconst popup = Tag.render`\n\t\t\t<div class=\"bizproc-timeline-popup\">\n\t\t\t\t<div class=\"bizproc-timeline-popup-title\">\n\t\t\t\t\t${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_EFFECTIVITY_MARK')}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bizproc-timeline-popup-main\">\n\t\t\t\t\t<div class=\"bizproc-timeline-popup-status\">\n\t\t\t\t\t\t<div class=\"bizproc-timeline-popup-logo ${logoClass}\"></div>\n\t\t\t\t\t\t<div class=\"bizproc-timeline-popup-notice\">${notice}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"bizproc-timeline-popup-content\">\n\t\t\t\t\t\t<div class=\"bizproc-timeline-popup-block\">\n\t\t\t\t\t\t\t<span class=\"bizproc-timeline-popup-val\">\n\t\t\t\t\t\t\t\t${DurationFormatter.formatTimeInterval(this.#data.executionTime)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tdata-hint=\"${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_TIME_DIFFERENCE_MSGVER_1')}\"\n\t\t\t\t\t\t\t></span>\n\t\t\t\t\t\t\t<div class=\"bizproc-timeline-popup-prop\">\n\t\t\t\t\t\t\t\t${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_CURRENT_PROCESS_TIME')}\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-timeline-popup-block\">\n\t\t\t\t\t\t\t<span class=\"bizproc-timeline-popup-val\">\n\t\t\t\t\t\t\t\t${DurationFormatter.formatTimeInterval(this.#data.stats.averageDuration)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<div class=\"bizproc-timeline-popup-prop\">\n\t\t\t\t\t\t\t\t${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_AVERAGE_PROCESS_TIME')}\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\t<div class=\"bizproc-timeline-popup-footer\">\n\t\t\t\t\t<p class=\"bizproc-timeline-popup-text\">\n\t\t\t\t\t\t${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_PERFORMANCE_TUNING_TIP')}\n\t\t\t\t\t</p>\n\t\t\t\t\t<a class=\"bizproc-timeline-popup-text\" href=\"javascript:top.BX.Helper.show('redirect=detail&code=18783714')\">\n\t\t\t\t\t\t${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_PERFORMANCE_TUNING_LINK')}\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t\tBX.UI.Hint.init(popup);\n\n\t\treturn popup;\n\t}\n\n\tshowBiMenus(menu: Array<BiMenuItem>): void\n\t{\n\t\tthis.#createBiButton(menu);\n\t\tthis.#createBiPopup(menu).show();\n\t}\n\n\t#createBiButton(menu: Array<BiMenuItem>): void\n\t{\n\t\tconst toolbarNode = document.querySelector('[data-role=\"page-toolbar\"]');\n\t\tif (!toolbarNode)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (menu.length === 1)\n\t\t{\n\t\t\tconst linkBtn = Tag.render`\n\t\t\t\t<a class=\"ui-btn ui-btn-light-border ui-btn-themes\" href=\"${Text.encode(menu[0].URL)}\" target=\"_blank\">\n\t\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_BI_ANALYTICS_BUTTON'))}\n\t\t\t\t</a>\n\t\t\t`;\n\n\t\t\tDom.prepend(linkBtn, toolbarNode);\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst clickHandler = this.#showBiMenu.bind(this, menu);\n\t\tconst dropBtn = Tag.render`\n\t\t\t<button class=\"ui-btn ui-btn-light-border ui-btn-themes ui-btn-dropdown\" onclick=\"${clickHandler}\">\n\t\t\t\t${Text.encode(Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_BI_ANALYTICS_BUTTON'))}\n\t\t\t</button>\n\t\t`;\n\n\t\tDom.prepend(dropBtn, toolbarNode);\n\t}\n\n\t#createBiPopup(menu: Array<BiMenuItem>): Popup\n\t{\n\t\tthis.#biPopup = new Popup({\n\t\t\twidth: 403,\n\t\t\tminHeight: 183,\n\t\t\tcloseIcon: true,\n\t\t\tcontent: this.#renderBiPopupContent(menu),\n\t\t\tbindElement: {\n\t\t\t\tleft: 555,\n\t\t\t\ttop: this.#getBiMenuTopOffset(),\n\t\t\t},\n\t\t\tpadding: 17,\n\t\t\tborderRadius: '18px',\n\t\t\tclassName: '--bizproc-timeline-popup --bi',\n\t\t});\n\n\t\treturn this.#biPopup;\n\t}\n\n\t#getBiMenuTopOffset(): number\n\t{\n\t\tconst containerHeight = this.#efficiencyPopup?.getPopupContainer()?.offsetHeight;\n\t\tconst topOffset = this.#efficiencyPopup?.bindElementPos?.top;\n\t\tif (containerHeight && topOffset)\n\t\t{\n\t\t\treturn containerHeight + topOffset + 20;\n\t\t}\n\n\t\treturn 522;\n\t}\n\n\t#showBiMenu(menu: Array<BiMenuItem>, event: Event): void\n\t{\n\t\t(new Menu({\n\t\t\tbindElement: event.target,\n\t\t\titems: menu.map((item: BiMenuItem) => {\n\t\t\t\treturn {\n\t\t\t\t\ttext: item.TEXT,\n\t\t\t\t\thref: item.URL,\n\t\t\t\t\ttarget: '_blank',\n\t\t\t\t};\n\t\t\t}),\n\t\t})).show();\n\t}\n\n\t#renderBiPopupContent(menu: Array<BiMenuItem>): Element\n\t{\n\t\tlet btn = null;\n\t\tif (menu.length === 1)\n\t\t{\n\t\t\tbtn = Tag.render`\n\t\t\t\t<a class=\"ui-btn ui-btn-light-border ui-btn-round ui-btn-xs\" href=\"${Text.encode(menu[0].URL)}\" target=\"_blank\">\n\t\t\t\t\t<span class=\"ui-btn-text\">${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_BI_ANALYTICS_LINK')}</span>\n\t\t\t\t</a>\n\t\t\t`;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst clickHandler = this.#showBiMenu.bind(this, menu);\n\t\t\tbtn = Tag.render`\n\t\t\t\t<a \n\t\t\t\t\tclass=\"ui-btn ui-btn-light-border ui-btn-round ui-btn-xs ui-btn-dropdown\"\n\t\t\t\t\tonclick=\"${clickHandler}\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"ui-btn-text\">${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_BI_ANALYTICS_LINK')}</span>\n\t\t\t\t</a>\n\t\t\t`;\n\t\t}\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"bizproc-timeline-popup\">\n\t\t\t\t<div class=\"bizproc-timeline-popup-title\">${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_BI_ANALYTICS_TITLE')}</div>\n\t\t\t\t<p class=\"bizproc-timeline-popup-info\">${Loc.getMessage('BIZPROC_WORKFLOW_TIMELINE_SLIDER_BI_ANALYTICS_TIP')}</p>\n\t\t\t\t${btn}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\t#renderLoadingStub(): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<img src=\"/bitrix/js/bizproc/workflow/timeline/img/skeleton.svg\"\n\t\t\t\t style=\"width:100%; margin: 0; padding: 0;\"/>\n\t\t`;\n\t}\n\n\t#hasErrors(): boolean\n\t{\n\t\treturn this.#errors.length > 0;\n\t}\n}\n"],"names":["ErrorsView","constructor","props","Type","isArrayFilled","errors","render","Tag","map","message","Text","encode","renderTo","target","Dom","append","TimelineTask","data","isPlainObject","canView","isBoolean","status","TaskStatus","id","isInteger","name","isString","modified","Math","max","users","isArray","executionTime","approveType","url","isStringFilled","TOO_LONG_PROCESS_DURATION","TimelineTaskView","task","dateFormat","dateFormatShort","isNumber","taskNumber","userId","isWaiting","DurationFormatter","formatDate","participant","find","user","isUndefined","UserStatus","Uri","toString","Loc","getMessage","length","votedCount","taskStatus","taskApproveType","usersCount","isYes","isOk","isNo","isCancel","showVoteResult","Object","values","userData","get","voteClass","avatar","avatarSize100","encodeURI","link","fullName","workPosition","isNil","useHint","hint","notice","formatTimeInterval","BX","UI","Hint","init","formatTimestamp","timestamp","DateTimeFormat","format","Date","now","interval","result","remainder","i","multiplier","formatShort","seconds","limit","Timeline","options","config","setTimeout","workflowId","timeFormat","open","Runtime","loadExtension","then","SidePanel","Instance","addParam","width","allowChangeHistory","cacheable","loader","printable","catch","response","console","error","clean","errorsView","replace","show","biMenu","showBiMenus","menu","ajax","runAction","getString","value","defaultValue","getArray","getBool","getInteger","document","DocumentId","documentId","documentType","entityName","documentName","documentUrl","moduleName","isWorkflowRunning","timeToStart","started","startedBy","tasks","taskData","Map","stats","averageDuration","efficiency","set","toInteger","title","iconClass","iconText","crop","iconClassValue","iconTextValue","cropValue","subject","uri","userClass","position","button","type","caption","text","statusClass","statusClassValue","children","itemClass","efficiencyClass","itemClassValue","efficiencyClassValue","items","content","push","hasHidden","taskIndex","keys","taskView","node","addClass","textCropNodes","querySelectorAll","textCropNode","TextCrop","rows","Popup","minHeight","closeIcon","bindElement","left","top","padding","borderRadius","className","events","onPopupClose","inlineEfficiencyPrev","querySelector","efficiencyInlineClass","getAttribute","after","logoClass","efficiencyInlineContent","popup","toolbarNode","linkBtn","URL","prepend","clickHandler","bind","dropBtn","containerHeight","getPopupContainer","offsetHeight","topOffset","bindElementPos","event","Menu","item","TEXT","href","btn"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit