@cute-dw/core
Version:
This TypeScript library is the main part of a more powerfull package designed for the fast WEB software development. The cornerstone of the library is the **DataStore** class, which might be useful when you need a full control of the data, but do not need
59 lines (58 loc) • 2.95 kB
TypeScript
import { Observable } from "rxjs";
import { BufferType, DataStoreOptions, ItemStatus, SaveAsType } from "./DataStoreOptions";
import { ResultCode } from "../util/enum/ResultCode";
import { HttpService } from "../services/http.service";
import { DSRowGroup } from "./DataStore";
export interface IDataStore<T extends Object> {
get data(): T[];
get dataStream(): Observable<T[]>;
get loading(): boolean;
get updatesPending(): boolean;
get httpService(): Readonly<HttpService> | undefined;
acceptText(): ResultCode;
applyFilter(): Promise<ResultCode>;
applySort(): Promise<ResultCode>;
deletedCount(): number;
deleteRow(row?: number): ResultCode;
describe(...propertylist: string[]): any[] | any;
evaluate(expr: string | null, row: number | {}): any;
exportString(exportType: SaveAsType, headings: boolean): Promise<string>;
filteredCount(): number;
finalize(): void;
find(expr: string, startRow?: number, endRow?: number): number;
getDisplayValue(column: string | number, data: string | number): string;
getGroups(): readonly DSRowGroup<T>[];
getItemStatus(row: number, column?: number, bufferType?: BufferType): ItemStatus | undefined;
getOptions(): DataStoreOptions;
groupCount(): number;
importString(importType: SaveAsType, source: string, options?: {
startRow?: number;
endRow?: number;
startCol?: number;
endCol?: number;
dwStartCol?: number;
}): Promise<number>;
indexOf(oRow: any): number;
insertRow(row?: number): number;
isRowNew(row: T | number, bufferType?: BufferType): boolean;
isRowModified(row: T | number, bufferType?: BufferType): boolean;
isSelected(row: number | T): boolean;
getItem(row: number, column: string | number, bufferType?: BufferType, original?: boolean): any | null;
getRow(): number;
modifiedCount(): number;
reset(): ResultCode;
resetUpdate(): ResultCode;
retrieve(...args: any[]): Promise<number>;
rowCount(): number;
rowsCopy(startrow: number, endrow: number, srcbuffer: BufferType, target: IDataStore<T>, beforerow: number, destbuffer: BufferType): ResultCode;
rowsCursor(bufferType: BufferType): IterableIterator<T>;
rowsDiscard(startrow: number, endrow: number, dwbuffer?: BufferType): ResultCode;
rowsMove(startrow: number, endrow: number, srcbuffer: BufferType, target: IDataStore<T>, beforerow: number, destbuffer: BufferType): ResultCode;
setItem(row: number, column: string | number, value: any): ResultCode;
setItemStatus(row: number, column: number, bufferType: BufferType, status: ItemStatus): ResultCode;
setRow(row: number): ResultCode;
shareData(child: IDataStore<T>): ResultCode;
shareDataOff(): ResultCode;
update(accept: boolean, resetflag: boolean): Promise<ResultCode>;
[Symbol.iterator](): IterableIterator<T>;
}