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/src/ |
Upload File : |
import { Type } from 'main.core'; import { TaskUserData, TaskStatus } from 'bizproc.task'; import type { Timestamp } from 'bizproc.types'; export type TimelineTaskData = { canView: boolean, status: number, id?: number, name?: string, modified?: Timestamp, users?: TaskUserData[], executionTime: ?Timestamp, approveType?: string, url: string, }; export class TimelineTask { #data: TimelineTaskData = {}; constructor(data: TimelineTaskData) { if (Type.isPlainObject(data)) { this.#data = data; } } canView(): boolean { return Type.isBoolean(this.#data.canView) ? this.#data.canView : false; } get status(): TaskStatus { return new TaskStatus(this.#data.status); } get id(): number { return Type.isInteger(this.#data.id) ? this.#data.id : 0; } get name(): string { return Type.isString(this.#data.name) ? this.#data.name : ''; } get modified(): Timestamp { return Type.isInteger(this.#data.modified) ? Math.max(this.#data.modified, 0) : 0; } get users(): TaskUserData[] { return Type.isArray(this.#data.users) ? this.#data.users : []; } get executionTime(): ?number { return Type.isInteger(this.#data.executionTime) ? Math.max(this.#data.executionTime, 0) : null; } get approveType(): string { return Type.isString(this.#data.approveType) ? this.#data.approveType : ''; } get url(): ?null { return Type.isStringFilled(this.#data.url) ? this.#data.url : null; } }