UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

156 lines (155 loc) 8.73 kB
/// <reference types="react" /> import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models"; import { BaseControl, BaseControlParams } from '@docsvision/webclient/System/BaseControl'; import { $LayoutInfo, $CardId, $EditOperationStore, $CardInfo } from '@docsvision/webclient/System/LayoutServices'; import { TasksTreeNodeResolveService } from '@docsvision/webclient/BackOffice/TasksTreeNodeResolveService'; import { $TasksTreeController, $LayoutFileController, $LayoutCardController, $StaffDirectoryItemsController, $LayoutStaffController, $LayoutRowController } from '@docsvision/webclient/Generated/DocsVision.WebClient.Controllers'; import { TasksTableView } from '@docsvision/webclient/BackOffice/TasksTableView'; import { TasksTableLogic } from '@docsvision/webclient/BackOffice/TasksTableLogic'; import { Optional } from '@docsvision/web/core/services'; import { $RouterNavigation } from '@docsvision/webclient/System/$Router'; import { $WindowLocation } from '@docsvision/webclient/Platform/$WindowLocation'; import { ControlImpl } from '@docsvision/webclient/System/ControlImpl'; import { BaseControlImplState } from '@docsvision/webclient/System/BaseControlImpl'; import { $ApplicationSettings, $DeviceType } from '@docsvision/webclient/StandardServices'; import { ITasksTreeColorMap } from '@docsvision/webclient/BackOffice/ITasksTreeColorMap'; import { ITasksTreeGroupMap } from '@docsvision/webclient/BackOffice/ITasksTreeGroupMap'; import { $FileController } from '@docsvision/webclient/Legacy/FileController'; import { $MessageBox } from '@docsvision/webclient/System/$MessageBox'; import { CancelableApiEvent, BasicApiEvent } from '@docsvision/webclient/System/ApiEvent'; import { ITasksTableRow } from '@docsvision/webclient/BackOffice/ITasksTableRow'; import { $UrlStore } from '@docsvision/webclient/System/$UrlStore'; import { $FileDownload } from '@docsvision/webclient/Platform/$FileDownload'; import { TasksTableSorting } from '@docsvision/webclient/BackOffice/ITaskTableSorting'; import { $LayoutManager } from '@docsvision/webclient/System/$LayoutManager'; /** * Содержит публичные свойства элемента управления [Отображение инициатора]{@link TasksTable}. */ export declare class TasksTableParams extends BaseControlParams { /** Стандартный CSS класс со стилями элемента управления */ standardCssClass?: string; /** Идентификатор списка заданий. */ taskCardId?: string; /** Идентификатор карточки документа или задания */ cardId?: string; /** Текст кнопки. */ buttonText?: string; /** Доступность показа полного дерева */ canShowFullTree?: boolean; /** Режим отображения. */ displayMode?: GenModels.TasksTreeDisplayMode; /** Виды заданий для отображения. */ viewKinds?: string[]; /** Сервис для управления резолверами задач. */ nodeResolveService?: TasksTreeNodeResolveService; /** Доступные для отображения столбцы */ taskColumns?: GenModels.ColumnsConfiguration; /** Режим открытия заданий. */ openMode?: GenModels.OpenMode; /** Показывать все узлы развернутыми при загрузке контрола. */ showExpanded?: number; /** Цвета. */ colors?: ITasksTreeColorMap; /** Группы. */ groups?: ITasksTreeGroupMap; dialogHeader?: string; /** Минимальная ширина контрола */ minWidth?: number; /** Режим отображения группы из одного задания. */ taskGroupWithOneTaskDisplayMode?: GenModels.TaskGroupWithOneTaskDisplayMode; /** Иерархическая структура карточек */ rows?: ITasksTableRow[]; /** Набор видимых строк плоским списком. */ visibleRows?: ITasksTableRow[]; /** Сортировка */ sorting?: TasksTableSorting; rowRemoving?: CancelableApiEvent<{ row: ITasksTableRow; }>; rowRemoved?: BasicApiEvent<{ row: ITasksTableRow; }>; /** Событие возникает перед показом диалога с информацией о задании. */ helpBoxShowing?: CancelableApiEvent<{ row: ITasksTableRow; }>; /** Событие возникает при клике ссылку задания. */ taskLinkClicking?: CancelableApiEvent<{ row: ITasksTableRow; }>; /** Событие возникает перед сворачиванием/разворачиванием строки таблицы. */ toggleRowClicking?: CancelableApiEvent<{ row: ITasksTableRow; }>; /** Событие возникает при клике на строку таблицы. */ rowClick?: BasicApiEvent<{ row: ITasksTableRow; }>; /** Сервисы. */ services?: $LayoutInfo & $TasksTreeController & $CardId & Optional<$TaskTableOptions> & $UrlStore & $EditOperationStore & $RouterNavigation & $WindowLocation & $ApplicationSettings & $FileController & $LayoutFileController & $DeviceType & $LayoutCardController & $MessageBox & $StaffDirectoryItemsController & $CardInfo & $FileDownload & $LayoutStaffController & $LayoutRowController & $LayoutManager; } export interface TasksTableState extends BaseControlImplState, TasksTableParams { logic: TasksTableLogic; view: TasksTableView; } /** Сервис для переопределения реализации TasksTable */ export interface ITaskTableOptions { getTaskTableView(params: TasksTableParams): TasksTableView; getTaskTableLogic(params: TasksTableParams): TasksTableLogic; } export declare type $TaskTableOptions = { taskTableOptions: ITaskTableOptions; }; export declare const $TaskTableOptions: string | ((model?: $TaskTableOptions) => ITaskTableOptions); /** * Класс элемента управления Отображение инициатора. */ export declare class TasksTable extends BaseControl<TasksTableParams, TasksTableState> { construct(): void; protected createParams(): TasksTableParams; protected createImpl(): ControlImpl; addCssClass: () => " tasks-table__button-mode" | " tasks-table__layout-mode"; private set taskColumns(value); private set showFullTreeBinding(value); private set viewKindsBinding(value); UNSAFE_componentWillMount(): void; componentDidMount(): void; /** Показывает диалог с таблицией. Актуально для режима отображения в виде кнопки. */ openDialog(): void; /** Показывает полное дерево заданий. @covered */ loadFullTree(): void; /** Показывает полное дерево заданий. @covered */ loadCurrentTaskTree(): void; /** Разворачивает все задания. @covered */ collapseAll(): void; /** Разворачивает все задания. @covered */ expandAll(): void; /** Перезагружает данные таблицы. */ refresh(): void; /** Применяет фильтр "Завершенные" */ showFinished(): void; /** Применяет фильтр "Незавершенные" */ showUnfinished(): void; /** Применяет фильтр "Просроченные" */ showOverdue(): void; /** Применяет фильтр по имени сотрудника */ showByPerformers(name: string): void; /** Сбрасывает фильтр. */ resetFilter(): void; /** Открывает справочное окно для карточки */ openHelpBox(cardId: string): void; /** Сворачивает или разворачивает список дочерних карточек. */ toggleRow(visibleIndex: number, expand?: boolean): void; /** Удаляет дочернюю карточку из системы. */ deleteCard(cardId: string): void; /** * Добавляет/удаляет css класс строки таблицы. * @param row ITasksTableRow. * @param style Класс, который будет добавлен к строке. */ toggleRowClass(row: ITasksTableRow, style: string): void; private get rows(); private set rows(value); private get visibleRows(); renderControl(): JSX.Element; }