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/task/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/bizproc/task/dist/task.bundle.js.map
{"version":3,"file":"task.bundle.js","sources":["../src/task-status.js","../src/user-status.js","../src/inline-task-view.js","../src/task.js"],"sourcesContent":["import { Loc, Type, Text } from 'main.core';\n\nexport class TaskStatus\n{\n\t#status: number | string;\n\n\tconstructor(rawStatus: number | string)\n\t{\n\t\tthis.#status = rawStatus;\n\t}\n\n\tisWaiting(): boolean\n\t{\n\t\treturn this.#status === 0;\n\t}\n\n\tisYes(): boolean\n\t{\n\t\treturn this.#status === 1;\n\t}\n\n\tisNo(): boolean\n\t{\n\t\treturn this.#status === 2;\n\t}\n\n\tisOk(): boolean\n\t{\n\t\treturn this.#status === 3;\n\t}\n\n\tisCancel(): boolean\n\t{\n\t\treturn this.#status === 4;\n\t}\n\n\tisCustom(): boolean\n\t{\n\t\treturn Type.isStringFilled(this.#status);\n\t}\n\n\tget name(): string\n\t{\n\t\tif (this.isCustom())\n\t\t{\n\t\t\treturn Text.encode(this.#status);\n\t\t}\n\n\t\tif (this.isYes())\n\t\t{\n\t\t\treturn Loc.getMessage('BIZPROC_TASK_STATUS_YES');\n\t\t}\n\n\t\tif (this.isNo() || this.isCancel())\n\t\t{\n\t\t\treturn Loc.getMessage('BIZPROC_TASK_STATUS_NO');\n\t\t}\n\n\t\treturn Loc.getMessage('BIZPROC_TASK_STATUS_OK');\n\t}\n}\n","import { TaskStatus } from './task-status';\n\nexport class UserStatus extends TaskStatus\n{}\n","import { Tag, Dom, Event, Type, Text, Loc } from 'main.core';\nimport { Task, UserStatus, TaskButton } from './task';\nimport { UserId } from 'bizproc.types';\n\nexport class InlineTaskView\n{\n\t#task: Task;\n\t#responsibleUser: ?{ id: number, status: UserStatus };\n\n\tconstructor(options: {\n\t\ttask: Task,\n\t\tresponsibleUser?: UserId;\n\t})\n\t{\n\t\tthis.#task = options.task;\n\t\tthis.setResponsibleUser(options.responsibleUser);\n\t}\n\n\tsetResponsibleUser(userId: UserId): InlineTaskView\n\t{\n\t\tif (Type.isNumber(userId))\n\t\t{\n\t\t\tthis.#responsibleUser = this.#task.users.find((user) => user.id === userId);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\trender(): ?HTMLElement\n\t{\n\t\tif (!this.#task.isInline())\n\t\t{\n\t\t\treturn this.#renderDefaultTaskButton();\n\t\t}\n\n\t\tif (Type.isArrayFilled(this.#task.controls.buttons))\n\t\t{\n\t\t\treturn this.#renderTaskButtons();\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trenderTaskAnchor(): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<a href=\"${Text.encode(this.#task.url || '#')}\"></a>\n\t\t`;\n\t}\n\n\t#renderTaskButtons(): HTMLElement\n\t{\n\t\tconst buttonsPanel = Tag.render`<div class=\"bp-btn-panel-block\"></div>`;\n\n\t\tconst taskButtons = this.#task.controls.buttons;\n\n\t\tif (!Type.isArray(taskButtons))\n\t\t{\n\t\t\treturn buttonsPanel;\n\t\t}\n\n\t\tfor (const button of taskButtons)\n\t\t{\n\t\t\tlet renderedButton = null;\n\t\t\tif (!Object.hasOwn(button, 'default'))\n\t\t\t{\n\t\t\t\trenderedButton = this.#renderTaskButton(button);\n\t\t\t}\n\t\t\telse if (button.default === true)\n\t\t\t{\n\t\t\t\trenderedButton = this.#renderDefaultTaskButton();\n\t\t\t}\n\n\t\t\tif (Type.isDomNode(renderedButton))\n\t\t\t{\n\t\t\t\tDom.append(renderedButton, buttonsPanel);\n\t\t\t}\n\t\t}\n\n\t\treturn buttonsPanel;\n\t}\n\n\t#renderTaskButton(button: TaskButton): HTMLElement\n\t{\n\t\tconst targetStatus = new UserStatus(button.TARGET_USER_STATUS);\n\t\tconst isDecline = targetStatus.isNo() || targetStatus.isCancel();\n\n\t\tconst className = isDecline ? 'light-border' : 'success';\n\t\tconst encodedText = Text.encode(button.TEXT);\n\n\t\tconst renderedButton = Tag.render`\n\t\t\t<div\n\t\t\t\tclass=\"ui-btn ui-btn-round ui-btn-xs ui-btn-no-caps ui-btn-${className}\"\n\t\t\t\ttitle=\"${encodedText}\"\n\t\t\t>\n\t\t\t\t<div class=\"ui-btn-text\">${encodedText}</div>\n\t\t\t</div>\n\t\t`;\n\n\t\tif (Type.isFunction(button.onclick))\n\t\t{\n\t\t\tEvent.bind(renderedButton, 'click', button.onclick.bind(renderedButton));\n\t\t}\n\n\t\treturn renderedButton;\n\t}\n\n\t#renderDefaultTaskButton(): ?HTMLElement\n\t{\n\t\tconst anchor = this.renderTaskAnchor();\n\n\t\tif (Type.isDomNode(anchor))\n\t\t{\n\t\t\tDom.addClass(anchor, ['ui-btn', 'ui-btn-primary', 'ui-btn-round', 'ui-btn-xs', 'ui-btn-no-caps']);\n\t\t\tconst buttonText = Loc.getMessage('BIZPROC_TASK_DEFAULT_TASK_BUTTON');\n\t\t\tanchor.innerText = buttonText;\n\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"bp-btn-panel-block\" title=\"${Text.encode(buttonText)}\">\n\t\t\t\t\t${anchor}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t}\n\n\t\treturn null;\n\t}\n}\n","import { Type } from 'main.core';\nimport { UserId, Timestamp } from 'bizproc.types';\n\nimport { TaskStatus } from './task-status';\nimport { UserStatus } from './user-status';\n\nexport { InlineTaskView } from './inline-task-view';\n\nexport {\n\tTaskStatus,\n\tUserStatus,\n};\n\nexport type TaskData = {\n\tid: number,\n\tname: string,\n\tdescription?: string,\n\tisInline?: boolean,\n\tstatus?: number | string,\n\tcontrols?: TaskControls,\n\turl?: string,\n\t// approveType?: string,\n\t// modified?: Timestamp,\n\t// executionTime?: Timestamp,\n};\n\nexport type TaskUserData = {\n\tid: UserId,\n\tstatus: number,\n};\n\nexport type TaskButton = {\n\ttargetUserStatus: number,\n\ttext: string,\n\tname: string,\n\tvalue: any,\n\tonclick: (TaskButton) => void,\n};\nexport type DefaultTaskButton = { default: boolean };\n\nexport type TaskControls = {\n\tbuttons?: Array<TaskButton | DefaultTaskButton>,\n};\n\nexport class Task\n{\n\t#data: TaskData;\n\n\tconstructor(task: TaskData)\n\t{\n\t\tthis.#data = task;\n\t}\n\n\tget id(): number\n\t{\n\t\treturn Type.isNumber(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\thasDescription(): boolean\n\t{\n\t\treturn Type.isString(this.#data.description);\n\t}\n\n\tget description(): string\n\t{\n\t\treturn this.hasDescription() ? this.#data.description : '';\n\t}\n\n\thasUrl(): boolean\n\t{\n\t\treturn Type.isStringFilled(this.#data.url);\n\t}\n\n\tget url(): string\n\t{\n\t\treturn this.hasUrl() ? this.#data.url : '';\n\t}\n\n\tcanShowInPopup(): boolean\n\t{\n\t\treturn Type.isBoolean(this.#data.canShowInPopup) ? this.#data.canShowInPopup : false;\n\t}\n\n\tisResponsibleForTask(userId: UserId): boolean\n\t{\n\t\tconst responsibleUser = this.users.find((user) => user.id === userId);\n\n\t\treturn !Type.isNil(responsibleUser);\n\t}\n\n\tget users(): Array<{ id: number, status: UserStatus }>\n\t{\n\t\treturn (\n\t\t\tType.isArray(this.#data.users)\n\t\t\t\t? this.#data.users.map((user) => ({\n\t\t\t\t\t...user,\n\t\t\t\t\tstatus: new UserStatus(user.status),\n\t\t\t\t}))\n\t\t\t\t: []\n\t\t);\n\t}\n\n\thasStatus(): boolean\n\t{\n\t\treturn Type.isNumber(this.#data.status) || Type.isStringFilled(this.#data.status);\n\t}\n\n\tgetStatus(): TaskStatus\n\t{\n\t\treturn new TaskStatus(this.hasStatus() ? this.#data.status : 0);\n\t}\n\n\tget modified(): Timestamp\n\t{\n\t\treturn Type.isNumber(this.#data.modified) ? Math.max(this.#data.modified, 0) : 0;\n\t}\n\n\thasControls(): boolean\n\t{\n\t\treturn Type.isPlainObject(this.#data.controls);\n\t}\n\n\tget controls(): TaskControls\n\t{\n\t\treturn this.hasControls() ? this.#data.controls : {};\n\t}\n\n\tget buttons(): Array<TaskButton | DefaultTaskButton>\n\t{\n\t\tif (this.hasControls() && Type.isArray(this.controls.buttons))\n\t\t{\n\t\t\treturn this.controls.buttons;\n\t\t}\n\n\t\treturn [];\n\t}\n\n\tsetControls(controls: TaskControls): Task\n\t{\n\t\tthis.#data.controls = controls;\n\n\t\treturn this;\n\t}\n\n\tsetButtons(buttons: Array<TaskButton | DefaultTaskButton>): Task\n\t{\n\t\tif (!this.hasControls())\n\t\t{\n\t\t\tthis.#data.controls = {};\n\t\t}\n\n\t\tthis.#data.controls.buttons = buttons;\n\n\t\treturn this;\n\t}\n\n\tisCompleted(): boolean\n\t{\n\t\treturn this.hasStatus() ? !this.getStatus().isWaiting() : false;\n\t}\n\n\tisInline(): boolean\n\t{\n\t\treturn this.#data.isInline;\n\t}\n}\n"],"names":["TaskStatus","constructor","rawStatus","isWaiting","isYes","isNo","isOk","isCancel","isCustom","Type","isStringFilled","name","Text","encode","Loc","getMessage","UserStatus","InlineTaskView","options","task","setResponsibleUser","responsibleUser","userId","isNumber","users","find","user","id","render","isInline","isArrayFilled","controls","buttons","renderTaskAnchor","Tag","url","buttonsPanel","taskButtons","isArray","button","renderedButton","Object","hasOwn","default","isDomNode","Dom","append","targetStatus","TARGET_USER_STATUS","isDecline","className","encodedText","TEXT","isFunction","onclick","Event","bind","anchor","addClass","buttonText","innerText","Task","isString","hasDescription","description","hasUrl","canShowInPopup","isBoolean","isResponsibleForTask","isNil","map","status","hasStatus","getStatus","modified","Math","max","hasControls","isPlainObject","setControls","setButtons","isCompleted"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit