UNPKG

1.45 kBTypeScriptView Raw
1import { Subject } from 'rxjs';
2import { Observable } from 'rxjs';
3export declare abstract class DataSource {
4 protected onChangedSource: Subject<any>;
5 protected onAddedSource: Subject<any>;
6 protected onUpdatedSource: Subject<any>;
7 protected onRemovedSource: Subject<any>;
8 abstract getAll(): Promise<any>;
9 abstract getElements(): Promise<any>;
10 abstract getSort(): any;
11 abstract getFilter(): any;
12 abstract getPaging(): any;
13 abstract count(): number;
14 refresh(): void;
15 load(data: Array<any>): Promise<any>;
16 onChanged(): Observable<any>;
17 onAdded(): Observable<any>;
18 onUpdated(): Observable<any>;
19 onRemoved(): Observable<any>;
20 prepend(element: any): Promise<any>;
21 append(element: any): Promise<any>;
22 add(element: any): Promise<any>;
23 remove(element: any): Promise<any>;
24 update(element: any, values: any): Promise<any>;
25 empty(): Promise<any>;
26 setSort(conf: Array<any>, doEmit?: boolean): void;
27 setFilter(conf: Array<any>, andOperator?: boolean, doEmit?: boolean): void;
28 addFilter(fieldConf: {}, andOperator?: boolean, doEmit?: boolean): void;
29 setPaging(page: number, perPage: number, doEmit?: boolean): void;
30 setPage(page: number, doEmit?: boolean): void;
31 protected emitOnRemoved(element: any): void;
32 protected emitOnUpdated(element: any): void;
33 protected emitOnAdded(element: any): void;
34 protected emitOnChanged(action: string): void;
35}