@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
156 lines (155 loc) • 8.73 kB
TypeScript
/// <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;
}