@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
36 lines (35 loc) • 2.18 kB
TypeScript
import { ITableData } from '@docsvision/web/components/table/interfaces';
import { IFolderDataLoader } from '@docsvision/webclient/Platform/IFolderDataLoader';
import { IFolderDataLoadingPlugin } from '@docsvision/webclient/Platform/IFolderDataLoadingPlugin';
import { IFolderLoadRequest } from './IFolderLoadRequest';
import { SortDirection } from '@docsvision/web/components/table/plugins/sort';
import { IColumnsWidth } from '@docsvision/web/components/table/plugins/resize-column/$ResizeColumn';
import { Store } from 'effector';
import { IFilterActiveColumn } from '@docsvision/web/components/table/plugins/filter';
import { IGrouping, IGroupingPathItem, ILoadGroupingItemsOptions } from '@docsvision/web/components/table/plugins/grouping';
import { GenModels } from '@docsvision/webclient/Generated/DocsVision.WebClient.Models';
export interface IFolderDataLoadingService {
init(): void;
addPlugin(resolver: IFolderDataLoadingPlugin): void;
removePlugin(id: string): void;
getPlugins(): IFolderDataLoadingPlugin[];
readonly currentData: Store<ITableData>;
readonly lastResponse: GenModels.GridViewModel;
readonly pageSize: number;
loadData(options?: IFolderLoadRequest, loader?: IFolderDataLoader): Promise<void>;
sortBy(columnId: string, sortDirection: SortDirection): Promise<void>;
filterBy(filterData: IFilterActiveColumn[]): Promise<any>;
setDefaultDataLoader(loader: IFolderDataLoader): void;
downloadExcelReport(): void;
saveColumnSettings(columns: IColumnsWidth[]): Promise<void>;
savePresentation(tablePresentation: GenModels.TablePresentation): Promise<void>;
resetUserSettings(): Promise<void>;
updateUserSettings(loader?: IFolderDataLoader): Promise<void>;
saveAggregatesToGridUserSettings(items: GenModels.GridAggregateValue[]): Promise<void>;
loadGrouping(options: ILoadGroupingItemsOptions): Promise<IGrouping>;
saveGroupingPath(path: IGroupingPathItem[]): Promise<void>;
}
export declare type $FolderDataLoading = {
folderDataLoading: IFolderDataLoadingService;
};
export declare const $FolderDataLoading: string | ((model?: $FolderDataLoading) => IFolderDataLoadingService);