diff --git a/package.json b/package.json index d8101b5..bd17377 100644 --- a/package.json +++ b/package.json @@ -54,15 +54,15 @@ "testEnvironment": "node" }, "dependencies": { - "@angular/animations": "~11.2.0", - "@angular/cdk": "~11.2.0", - "@angular/common": "~11.2.0", - "@angular/compiler": "~11.2.0", - "@angular/core": "~11.2.0", - "@angular/forms": "~11.2.0", - "@angular/material": "~11.2.0", - "@angular/platform-browser": "~11.2.0", - "@angular/platform-browser-dynamic": "~11.2.0", + "@angular/animations": "~11.2.14", + "@angular/cdk": "~11.2.13", + "@angular/common": "~11.2.14", + "@angular/compiler": "~11.2.14", + "@angular/core": "~11.2.14", + "@angular/forms": "~11.2.14", + "@angular/material": "~11.2.13", + "@angular/platform-browser": "~11.2.14", + "@angular/platform-browser-dynamic": "~11.2.14", "@angular/router": "~11.2.0", "@datorama/akita": "^6.0.0", "@datorama/akita-ng-entity-service": "^6.0.0", @@ -74,11 +74,11 @@ "zone.js": "~0.10.2" }, "devDependencies": { - "@angular-devkit/build-angular": "~0.1102.0", - "@angular-devkit/build-ng-packagr": "~0.1002.0", - "@angular/cli": "~11.2.0", - "@angular/compiler-cli": "~11.2.0", - "@angular/language-service": "~11.2.0", + "@angular-devkit/build-angular": "~0.1102.14", + "@angular-devkit/build-ng-packagr": "~0.1002.3", + "@angular/cli": "~11.2.14", + "@angular/compiler-cli": "~11.2.14", + "@angular/language-service": "~11.2.14", "@datorama/akita-ng-router-store": "^6.0.0", "@datorama/akita-ngdevtools": "^6.0.0", "@jest/globals": "^26.6.2", diff --git a/projects/akita-mat-datasource/src/lib/akita-mat-data-source.ts b/projects/akita-mat-datasource/src/lib/akita-mat-data-source.ts index c684e99..3ff175d 100644 --- a/projects/akita-mat-datasource/src/lib/akita-mat-data-source.ts +++ b/projects/akita-mat-datasource/src/lib/akita-mat-data-source.ts @@ -21,19 +21,19 @@ const MAX_SAFE_INTEGER = 9007199254740991; export class AkitaMatDataSource> extends DataSource implements MatTableDataSourceInterface { - get data(): getEntityType[] { - return this._dataQuery.getAll() as unknown as getEntityType[]; + get data(): getEntityType[] | E[] { + return this._dataQuery.getAll() as unknown as getEntityType[] | E[]; } - set data(value: getEntityType[]) { + set data(value: getEntityType[] | E[]) { this._dataQuery.__store__.set(value); } - get filteredData(): getEntityType[] { - return this.akitaFiltersPlugIn.getAllByFilters() as getEntityType[]; + get filteredData(): getEntityType[] | E[] { + return this.akitaFiltersPlugIn.getAllByFilters() as getEntityType[] | E[]; } - set filteredData(value: getEntityType[]) { + set filteredData(value: getEntityType[] | E[]) { this.data = value; } @@ -45,7 +45,7 @@ export class AkitaMatDataSource> | any, + constructor(query: QueryEntity | E> | any, akitaFilters: AkitaFiltersPlugin = null, dataSourceOptions: DataSourceWithServerOptions = {}) { super(); @@ -172,21 +172,6 @@ export class AkitaMatDataSource this.sortFunction(a, b, this.sort), - sortByOrder: sortByOrder - }); - } - } - get server(): boolean { return this.akitaFiltersPlugIn.server; } @@ -250,12 +235,27 @@ export class AkitaMatDataSource this.sortFunction(a, b, this.sort), + sortByOrder: sortByOrder + }); + } + } + private _getPredicate() { return ( value: E | getEntityType, - index: number, array: E[] | HashMap>, + index: number, array: E[] | HashMap | E>, searchFilter: AkitaFilter) => this.filterPredicate(value, searchFilter?.value); } /** @@ -265,7 +265,7 @@ export class AkitaMatDataSource boolean) = (data: E, searchFilter: string) => { @@ -490,7 +490,6 @@ export class AkitaMatDataSource[], sort: MatSort): getEntityType[] { + sortData(data: getEntityType[] | E[], sort: MatSort): getEntityType[] | E[] { throw new Error('This function is not implemented, and will not be implemented as akita works differently for sorting data rather than MatTableDataSource, overwrite sortingDataAccessor or sortFunction'); - return null; } sortFunction: ((a: E, b: E, sort: MatSort) => 0 | 1 | -1) = (a, b, sort): 0 | 1 | -1 => { @@ -581,7 +579,7 @@ export class AkitaMatDataSource