more methods in IDataSource
This commit is contained in:
parent
a770f3898a
commit
71a4d01930
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@poweredsoft/data",
|
||||
"version": "0.0.32",
|
||||
"version": "0.0.33",
|
||||
"peerDependencies": {
|
||||
"rxjs": "^6.5.3"
|
||||
}
|
||||
|
@ -63,6 +63,38 @@ export class DataSource<TModel> implements IDataSource<TModel>
|
||||
this._initCriteria();
|
||||
}
|
||||
|
||||
clear() {
|
||||
this.data = null;
|
||||
this._dataSubject.next(null);
|
||||
}
|
||||
|
||||
updateData(value: IQueryExecutionResult<TModel> & IQueryExecutionGroupResult<TModel>) {
|
||||
this.data = value;
|
||||
this._dataSubject.next(this.data);
|
||||
}
|
||||
|
||||
replaceDataWithArray(items: TModel[]) {
|
||||
this.data = {
|
||||
totalRecords: items.length,
|
||||
numberOfPages: null,
|
||||
groups: null,
|
||||
aggregates: null,
|
||||
data: items
|
||||
};
|
||||
this._dataSubject.next(this.data);
|
||||
}
|
||||
|
||||
replaceDataWithSingle(item: TModel) {
|
||||
this.data = {
|
||||
totalRecords: 1,
|
||||
numberOfPages: null,
|
||||
groups: null,
|
||||
aggregates: null,
|
||||
data: [item]
|
||||
};
|
||||
this._dataSubject.next(this.data);
|
||||
}
|
||||
|
||||
protected _initCriteria() {
|
||||
if (!this.options.defaultCriteria)
|
||||
return;
|
||||
|
@ -12,6 +12,10 @@ export interface IDataSource<TModel>
|
||||
excuteQuery<TQuery extends IQueryCriteria>(query: TQuery): Observable<IQueryExecutionGroupResult<TModel> & IQueryExecutionGroupResult<TModel>>;
|
||||
refresh();
|
||||
resolveIdField<TKeyType extends any>(model: TModel) : TKeyType;
|
||||
clear();
|
||||
updateData(value: IQueryExecutionResult<TModel> & IQueryExecutionGroupResult<TModel>);
|
||||
replaceDataWithArray(items: TModel[]);
|
||||
replaceDataWithSingle(item: TModel);
|
||||
|
||||
data$: Observable<IQueryExecutionResult<TModel> & IQueryExecutionGroupResult<TModel>>;
|
||||
loading$: Observable<boolean>;
|
||||
|
Loading…
Reference in New Issue
Block a user