@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
134 lines (133 loc) • 6.92 kB
TypeScript
import { $GridController } from "@docsvision/webclient/Generated/DocsVision.WebClient.Controllers";
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { GridOptions } from "@docsvision/webclient/Legacy/GridOptions";
import { IGridHtmlBuilder } from "@docsvision/webclient/Legacy/IGridHtmlBuilder";
import { SimpleEvent } from "@docsvision/webclient/System/SimpleEvent";
import { GridRowsSelectionLogic } from '@docsvision/webclient/Legacy/GridRowsSelectionLogic';
import { $WebFrameContext } from '@docsvision/webclient/Platform/$WebFrameContext';
import { $MessageBox } from "@docsvision/webclient/System/$MessageBox";
import { $CurrentFolder } from "@docsvision/webclient/Platform/$CurrentFolder";
import { $RefreshUnreadCounters } from "@docsvision/webclient/Platform/$RefreshUnreadCounters";
export declare const RESIZEABLE_STORAGE_ID = "Storage";
export declare const WIDTH_STORE = ".widths";
/** @internal */
export declare abstract class BasicGridHtmlBuilder implements IGridHtmlBuilder {
protected folderId: any;
private viewId;
protected allowRowResize: boolean;
private pageSize;
private dateMinWidth;
protected tableHeaderContainer: HTMLElement;
protected tableBodyContainer: HTMLElement;
protected gridFooterContainer: HTMLElement;
private refreshButton;
private resetButton;
private loader;
private filterLoader;
protected rootElement: HTMLElement;
protected targetElement: HTMLElement;
protected options: GridOptions;
private selectedCards;
private colspanValue;
private groupColumnList;
private popupNotification;
private colRowResizableStorage;
private isRequestAllowed;
protected selectionLogic: GridRowsSelectionLogic;
/** getModel property is getting overrided by parent grid class */
getModel: () => GenModels.GridViewModel;
refreshed: SimpleEvent<void>;
modelChanged: SimpleEvent<any>;
rowsSelectionModeChanged: SimpleEvent<boolean>;
filterLayout: GenModels.LayoutViewModel;
static RowDefaultHeight: string;
static DefaultForeColor: string;
static DefaultBackColor: string;
static FilterSettingsName: string;
private traceProvider;
protected services: $GridController & $WebFrameContext & $MessageBox & $CurrentFolder & $RefreshUnreadCounters;
constructor(options: GridOptions);
abstract rowsSelectionMode: boolean;
abstract buildGrid(model: GenModels.GridViewModel, targetElement: HTMLElement, rootElement: HTMLElement): any;
abstract rebuildIfNeeded(isBuild: boolean, model?: GenModels.GridViewModel): any;
protected abstract onRefreshButtonClick(): any;
protected abstract buildRowSwitcher(options: GridOptions, model: GenModels.GridViewModel, rowSwitcher: HTMLDivElement, rootElement: HTMLElement): HTMLDivElement;
abstract getChanges(): Promise<GenModels.GridViewModel>;
getSelection():
import("D:/BuildAgent/work/43698d70d905217f/Bin/TypeScriptDefinitions/@docsvision/Platform/Services/Table/TableRowsSelectionModel").TableRowsSelectionModel;
clearSelection(cardIds?: string[]): void;
selectionChanged: SimpleEvent<any>;
protected addActionButtons(header: HTMLElement): void;
protected buildExportExcelButton(): HTMLSpanElement;
protected downloadExcelReport(e: any): void;
getCurrentPage(): number | null;
protected destroyGrid(): void;
buildTableHeader(options: GridOptions, tableHeaderContainer: HTMLElement, modelGrid?: GenModels.GridViewModel): void;
protected shouldBuildHeader(columns: GenModels.GridColumn[], headerElements: NodeListOf<Element>): boolean;
private getColumnMinWidth;
private getColumnWidth;
/**
* Равномерна ли ширина столбцов
*/
private areColumnsEven;
private removeLoader;
private addLoader;
private removeFilterLoader;
private addFilterLoader;
buildTableBody(options: GridOptions, tableBodyContainer: HTMLElement): void;
protected initColRowResizable(model: GenModels.GridViewModel, hideRowResizeGrips: boolean): void;
protected initColRowResizablePlugin(options: any): void;
protected onRowWidthResize(ev: any): void;
protected applyGridFilters(model: GenModels.GridViewModel, targetElement: HTMLElement, rootElement: HTMLElement): void;
buildHeader(options: GridOptions, targetElement: HTMLElement, rootElement: HTMLElement): void;
protected saveFolderSettings(saveForView?: boolean): Promise<void>;
protected resetFolderSettings(): Promise<void>;
protected buildRow(model: GenModels.GridViewModel, i: number): HTMLTableRowElement;
private buildColumn;
private isGroupColumn;
private createEmptyTableRow;
protected buildSwitcher(compact: HTMLElement, wrap: HTMLElement, model: GenModels.GridViewModel, rootElement: HTMLElement): void;
buildGridFooter(options: GridOptions, gridFooterContainer: HTMLElement): void;
protected buildInOrder(): void;
applyGridFilter(): Promise<void>;
private getDateMinWidth;
private initHeaderCell;
reload(): Promise<GenModels.GridViewModel>;
protected getDataFromServer(queryRequest: GenModels.QueryViewRequest, instanceId: string, isMobile?: boolean, silent?: boolean): Promise<GenModels.GridViewModel>;
private syncRouteData;
protected getValueByKey(gridItem: GenModels.GridRow, key: string, itemType?: number): any;
private divide;
private getGroups;
private buildGroupingBody;
private buildGroupingColumns;
private updateGroupCSS;
protected createGroupRow(model: GenModels.GridViewModel, groups: GenModels.GridRow[], body: HTMLElement, isOpen: boolean, groupId: string, i: number): HTMLTableRowElement;
private initGroupingElement;
private chainesEqual;
private toggleGroup;
private addChain;
private removeChain;
private saveGroupSettings;
private loadGroupSettings;
protected updateHtmlRowReadStatus(itemID: string, setRead: boolean): void;
protected iniItemSelector(element: HTMLElement, itemID: any): void;
private buildPageNavigator;
private initPageLink;
private activateOneStep;
private activateCounter;
protected getPageData(pageNumber: any, instanceId: any, model: GenModels.GridViewModel, silent?: boolean): Promise<GenModels.GridViewModel>;
protected getPage(pageNumber: any, refresh?: boolean): Promise<GenModels.GridViewModel>;
private desktopCallback;
protected rebuildGrid(): void;
private getSortingColumn;
private saveGridState;
private onRefresh;
private onReset;
/**
* Визуальное уведомление о необходимости обновить грид
*/
showUpdateRequest(show?: boolean): void;
closeUpdateRequest(): void;
protected initRowClick(cardID: string, element: HTMLElement): void;
showErrorMessage(serverResponse: string): void;
}