From a304fc48e9cf458dcee0e22ee1936b3ca9f57020 Mon Sep 17 00:00:00 2001 From: David Lebee Date: Wed, 17 Feb 2021 10:26:11 -0500 Subject: [PATCH] data source --- package-lock.json | 2 +- projects/poweredsoft/data/package.json | 2 +- .../poweredsoft/data/src/lib/DataSource.ts | 20 ++++++++----------- .../poweredsoft/data/src/lib/IDataSource.ts | 1 + .../data/src/lib/IDataSourceNotifyMessage.ts | 1 + .../data/src/lib/IDataSourceOptions.ts | 1 - 6 files changed, 12 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 92812fa..93ac7f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "data", - "version": "0.0.27", + "version": "0.0.28", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/projects/poweredsoft/data/package.json b/projects/poweredsoft/data/package.json index e5e69d5..02c4e2a 100644 --- a/projects/poweredsoft/data/package.json +++ b/projects/poweredsoft/data/package.json @@ -1,6 +1,6 @@ { "name": "@poweredsoft/data", - "version": "0.0.28", + "version": "0.0.29", "peerDependencies": { "rxjs": "^6.5.3" } diff --git a/projects/poweredsoft/data/src/lib/DataSource.ts b/projects/poweredsoft/data/src/lib/DataSource.ts index d05cab8..6476540 100644 --- a/projects/poweredsoft/data/src/lib/DataSource.ts +++ b/projects/poweredsoft/data/src/lib/DataSource.ts @@ -21,8 +21,7 @@ export class DataSource implements IDataSource protected _loading$: Observable; protected _validationError$: Observable; protected _notifyMessage$: Observable; - public manageNotificationMessage: boolean; - + protected _criteria: IQueryCriteria = { page: null, pageSize: null, @@ -67,9 +66,7 @@ export class DataSource implements IDataSource protected _initCriteria() { if (!this.options.defaultCriteria) return; - - this.manageNotificationMessage = (null == this.options.manageNotificationMessage || !this.options.manageNotificationMessage) ? false : true; - + const copy: IQueryCriteria = JSON.parse(JSON.stringify(this.options.defaultCriteria)); this._criteria.page = copy.page || this._criteria.page; this._criteria.pageSize = copy.pageSize || this._criteria.pageSize; @@ -111,13 +108,12 @@ export class DataSource implements IDataSource return this.options.transport.commands[name].adapter.handle(command).pipe( map(t => { - let message = `{command} was executed successfully..`; - if (this.manageNotificationMessage) - message = message.replace('{command}', name); - this._notifyMessageSubject.next({ type: 'success', - message: message + message: 'COMMAND_EXECUTED_SUCCESFULLY', + messageParams: { + command: name + } }); return t; }), @@ -151,14 +147,14 @@ export class DataSource implements IDataSource o.next(result); this._dataSubject.next(this.data); this._notifyMessageSubject.next({ - message: 'New data has been read succesfully..', + message: 'NEW_DATA_READ_SUCCESFULLY', type: 'info' }); }, err => { o.error(err); this._notifyMessageSubject.next({ - message: 'Something unexpected as occured during the query', + message: 'UNEXPECTED_ERROR_OCCURED', type: 'error' }); } diff --git a/projects/poweredsoft/data/src/lib/IDataSource.ts b/projects/poweredsoft/data/src/lib/IDataSource.ts index e25ddf1..ebdeac2 100644 --- a/projects/poweredsoft/data/src/lib/IDataSource.ts +++ b/projects/poweredsoft/data/src/lib/IDataSource.ts @@ -9,6 +9,7 @@ export interface IDataSource resolveCommandModelByName(event: IResolveCommandModelEvent) : Observable; executeCommandByName(name: string, command: TCommand) : Observable; query(query: TQuery); + excuteQuery(query: TQuery): Observable & IQueryExecutionGroupResult>; refresh(); resolveIdField(model: TModel) : TKeyType; diff --git a/projects/poweredsoft/data/src/lib/IDataSourceNotifyMessage.ts b/projects/poweredsoft/data/src/lib/IDataSourceNotifyMessage.ts index 1d3f486..9b89f6c 100644 --- a/projects/poweredsoft/data/src/lib/IDataSourceNotifyMessage.ts +++ b/projects/poweredsoft/data/src/lib/IDataSourceNotifyMessage.ts @@ -1,4 +1,5 @@ export interface IDataSourceNotifyMessage { type: 'warning' | 'info' | 'success' | 'error'; message: string; + messageParams?: any; } diff --git a/projects/poweredsoft/data/src/lib/IDataSourceOptions.ts b/projects/poweredsoft/data/src/lib/IDataSourceOptions.ts index 0b4acf2..a84d82a 100644 --- a/projects/poweredsoft/data/src/lib/IDataSourceOptions.ts +++ b/projects/poweredsoft/data/src/lib/IDataSourceOptions.ts @@ -8,7 +8,6 @@ export interface IDataSourceOptions { idField?: string; resolveIdField?: (model: TModel) => any; defaultCriteria: IQueryCriteria; - manageNotificationMessage?: boolean; } export interface IDataSourceTransportOptions {