@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
170 lines (169 loc) • 9.29 kB
TypeScript
import { $LayoutCardController, $LayoutRowController } from "@docsvision/webclient/Generated/DocsVision.WebClient.Controllers";
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { Panel, PanelParams } from "@docsvision/webclient/Platform/Panel";
import { IRowEventArgs } from "@docsvision/webclient/Platform/IRowEventArgs";
import { TableImpl, ITableState } from "@docsvision/webclient/Platform/TableImpl";
import { LayoutControl } from '@docsvision/webclient/System/BaseControl';
import { $Layout, SaveCardOptions } from "@docsvision/webclient/System/$Layout";
import { $CardId, $RowId, $RowInfo } from '@docsvision/webclient/System/LayoutServices';
import { IBindingResult } from "@docsvision/webclient/System/IBindingResult";
import { EditMode } from "@docsvision/webclient/System/EditMode";
import { BasicApiEvent, CancelableApiEvent } from "@docsvision/webclient/System/ApiEvent";
import { ICancelableEventArgs } from "@docsvision/webclient/System/ICancelableEventArgs";
import { IEventArgs } from "@docsvision/webclient/System/IEventArgs";
import { $LayoutManager } from '@docsvision/webclient/System/$LayoutManager';
import { Optional } from '@docsvision/web/core/services';
import { SaveControlDataModelEventArgs } from '@docsvision/webclient/System/Layout';
import { IRowInfo } from "@docsvision/webclient/Platform/IRowInfo";
import { $DeviceType } from "@docsvision/webclient/StandardServices";
/**
* Содержит публичные свойства элемента управления [Таблица]{@link Table}.
*/
export declare class TableParams extends PanelParams {
/** Стандартный CSS класс со стилями элемента управления. */
standardCssClass?: string;
/** Строки таблицы. */
rows: string[];
/** Текст всплывающей подсказки. */
tip: string;
/** Заголовок. */
header: string;
/** Режим редактирования. */
editMode: EditMode;
/** Имеются ли дополнительные неотображаемые строки. */
hasMore: boolean;
/** Столбцы таблицы. */
columns: GenModels.LayoutTableColumnInfo[];
/** Максимальное количество строк для отображения. */
maxRowCount: number;
/** Разрешено ли редактирование. */
editAllowed: boolean;
/** Имена дочерних контролов. */
childControlsNames: string[];
/** Можно ли сворачивать таблицу. */
collapsible: boolean;
/** Развёрнута ли таблица. */
isExpanded: boolean;
/** Прокручивать ли страницу при добавлении новой строки. */
scrollIntoView: boolean;
/** Способ создания и редактирования строк. */
rowEditMode?: GenModels.TableRowEditMode;
/** Позволяет скрыть кнопку добавления строк, для случая если добавление строк реализовано через функции таблицы. */
hideAddRowButton?: boolean;
/** Задает поле в котором хранится порядковый номер для строки */
rowOrderField?: string;
/** Дополнительные операции таблицы */
tableOperations: LayoutControl[];
/** Минимальная высота в пикселях. */
minHeight?: number;
/** Событие, возникающее при добавлении строки. */
rowAdding: CancelableApiEvent<IEventArgs>;
/** Событие, возникающее после добавления строки. */
rowAdded: BasicApiEvent<IRowEventArgs>;
/** Событие, возникающее при удалении строки. */
rowRemoving: CancelableApiEvent<IRowEventArgs>;
/** Событие, возникающее после удаления строки. */
rowRemoved: BasicApiEvent<IRowEventArgs>;
/** Событие, возникающее перед сворачиванием. */
collapsing: CancelableApiEvent<IEventArgs>;
/** Событие, возникающее при сворачивании. */
collapsed: BasicApiEvent<IEventArgs>;
/** Событие, возникающее перед разворачиванием. */
expanding: CancelableApiEvent<IEventArgs>;
/** Событие, возникающее при разворачивании. */
expanded: BasicApiEvent<IEventArgs>;
services?: $LayoutCardController & $LayoutRowController & $Layout & $CardId & $RowId & Optional<$RowInfo> & $LayoutManager & $DeviceType;
}
/**
* Класс элемента управления Таблица
*
* Добавляет в web-разметку элемент управления для отображения таблицы.
*/
export declare class Table extends Panel<TableParams, ITableState> {
protected construct(): void;
/** @internal */
protected createParams(): TableParams;
/** @internal */
componentDidMount(): void;
/** @internal */
componentWillUnmount(): void;
/** @internal */
protected getBindingResultData(): GenModels.LayoutTableBindingModel;
/** @internal */
protected set isCollapsedSetter(value: boolean);
/** @internal */
protected getBindings(): IBindingResult<unknown>[];
saveAndReload(): Promise<GenModels.ControlModel>;
saveAndReloadEx(): Promise<this>;
/** @internal */
protected saveTable(options?: SaveCardOptions): Promise<unknown>;
private get tableImpl();
private set binding(value);
/** Get list of row id, currently shown in the table */
private get rows();
private set isExpandedSetter(value);
private get columns();
/**
* Установка заголовка столбца таблицы.
* @param columnNumber Номер столбца
* @param header Новый заголовок
*/
setColumnHeader(columnNumber: number, header: string): void;
/**
* Установка ширины столбца таблицы.
* @param columnNumber Номер столбца
* @param columnWidth Новая ширина (любые единицы измерения)
*/
setColumnWidth(columnNumber: number, columnWidth: string): void;
/**
* Установка подсказки для столбца таблицы.
* @param columnNumber Номер столбца
* @param tip Новая подсказка
*/
setColumnTip(columnNumber: number, tip: string): void;
/**
* Установка видимости для столбца таблицы.
* @param columnNumber Номер столбца
* @param visibility Виден ли или нет
*/
setColumnVisibility(columnNumber: number, visibility: boolean): void;
/**
* Возвращает номер строки или -1, если строка не найдена.
* @param rowId Идентификатор искомой строки
*/
getRowIndex(rowId: string): number;
/**
* Добавить новую строку.
*/
addRow(scrollIntoView?: boolean): Promise<unknown>;
/** Добавить новую строку через открытие диалогового окна используя разметку создания строки. */
showAddRowWindow(): Promise<void>;
/** Редактировать строку через открытие диалогового окна используя разметку редактирования строки. */
showEditRowWindow(rowId: string): Promise<void>;
/**
* Удалить строку с указанным идентификатором
* @param rowId Идентификатор удаляемой строки
*/
removeRow(rowId: string): Promise<Table>;
/**
* Удалить все строки таблицы
*
*/
clear(): Promise<void>;
/** Включает режим отложенных изменений, при котором добавление и удаление строк не сохраняется на сервер сразу при вызове методов. */
beginEdit(): void;
/** Выключает режим отложенных изменений и сохраняет произведенные правки, если необходимо. */
endEdit(): Promise<this>;
/** Изменяет порядок строк. */
reorderRows(newOrder: string[], sortedItems: string[]): void;
/** Получает информацию о строках таблицы */
getRowsInfo(): IRowInfo[];
/** Получает информацию о текущем порядке строк. */
getRowsOrder(): string[];
/** @internal */
protected onCardSaving(sender: any, args: ICancelableEventArgs<SaveControlDataModelEventArgs>): void;
/** @internal */
onSaved(): Promise<void>;
/** @internal */
protected createImpl(): TableImpl;
}