UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

170 lines (169 loc) 9.29 kB
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; }