UNPKG

@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
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>; }