@sumaris-net/ngx-components 1.19.3 → 1.20.0-rc3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sumaris-net/ngx-components",
3
3
  "description": "SUMARiS Angular components",
4
- "version": "1.19.3",
4
+ "version": "1.20.0-rc3",
5
5
  "author": "contact@e-is.pro",
6
6
  "license": "AGPL-3.0",
7
7
  "readmeFilename": "README.md",
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "engines": {
29
29
  "node": ">= 12.22.8",
30
- "npm": ">= 8.3.0",
30
+ "npm": ">= 7.20.0",
31
31
  "yarn": ">= 1.22.0"
32
32
  },
33
33
  "cordova": {
@@ -46,6 +46,7 @@ export declare abstract class Entity<T extends Entity<T, ID, AO, FO>, ID = numbe
46
46
  export declare function isInstanceOf<T>(obj: any, constructor: new (...args: any[]) => T): obj is T;
47
47
  export declare abstract class EntityUtils {
48
48
  static isEntity<T extends IEntity<any>>(obj: T | any): obj is T;
49
+ static isNotEntity<T extends IEntity<any>>(obj: T | any): boolean;
49
50
  static isNotEmpty<T extends IEntity<any> | any>(obj: T, checkedAttribute: keyof T): boolean;
50
51
  static isEmpty<T extends IEntity<any> | any>(obj: T, checkedAttribute: keyof T): boolean;
51
52
  static equals<T extends IEntity<any> | any>(o1: T, o2: T, checkAttribute?: keyof T): boolean;
@@ -1,40 +1,35 @@
1
1
  import { TableDataSource, TableElement, ValidatorService } from '@e-is/ngx-material-table';
2
2
  import { BehaviorSubject, Observable, Subject } from 'rxjs';
3
3
  import { Entity, IEntity } from '../services/model/entity.model';
4
- import { OnDestroy } from '@angular/core';
5
4
  import { SortDirection } from '@angular/material/sort';
6
5
  import { CollectionViewer } from '@angular/cdk/collections';
7
6
  import { TableDataSourceOptions } from '@e-is/ngx-material-table/src/app/ngx-material-table/table-data-source';
8
7
  import { EntitiesServiceWatchOptions, FetchMoreFn, IEntitiesService, LoadResult } from '../../shared/services/entity-service.class';
8
+ import { FormGroup } from '@angular/forms';
9
9
  export declare interface AppTableDataServiceOptions<O extends EntitiesServiceWatchOptions = EntitiesServiceWatchOptions> extends EntitiesServiceWatchOptions {
10
10
  [key: string]: any;
11
11
  saveOnlyDirtyRows?: boolean;
12
12
  readOnly?: boolean;
13
13
  }
14
- export declare class AppTableDataSourceOptions<T extends Entity<T, ID>, ID = number, O extends EntitiesServiceWatchOptions = EntitiesServiceWatchOptions> implements TableDataSourceOptions {
15
- [key: string]: any;
16
- prependNewElements?: boolean;
17
- suppressErrors?: boolean;
18
- keepOriginalDataAfterConfirm?: boolean;
19
- onRowCreated?: (row: TableElement<T>) => Promise<void> | void;
20
- dataServiceOptions?: AppTableDataServiceOptions<O>;
14
+ export interface AppTableDataSourceOptions<T extends Entity<T, ID>, ID = number, WO extends EntitiesServiceWatchOptions = EntitiesServiceWatchOptions> extends TableDataSourceOptions {
15
+ dataServiceOptions?: AppTableDataServiceOptions<WO>;
21
16
  debug?: boolean;
17
+ onRowCreated?: (row: TableElement<T>) => Promise<void> | void;
18
+ onRowValidator?: (validator: FormGroup) => Promise<void> | void;
19
+ [key: string]: any;
22
20
  }
23
- export declare class EntitiesTableDataSource<T extends IEntity<T, ID>, F = any, ID = number, O extends EntitiesServiceWatchOptions = EntitiesServiceWatchOptions> extends TableDataSource<T> implements OnDestroy {
24
- readonly dataService: IEntitiesService<T, F, O>;
21
+ export declare class EntitiesTableDataSource<T extends IEntity<T, ID>, F = any, ID = number, V extends ValidatorService = ValidatorService, WO extends EntitiesServiceWatchOptions = EntitiesServiceWatchOptions, O extends AppTableDataSourceOptions<T, ID, WO> = AppTableDataSourceOptions<T, ID, WO>> extends TableDataSource<T, V, O> {
22
+ readonly dataService: IEntitiesService<T, F, WO>;
25
23
  private readonly _logTypeName;
26
- private readonly _options;
27
24
  protected readonly _debug: boolean;
28
25
  protected _creating: boolean;
29
26
  protected _saving: boolean;
30
- protected _useValidator: boolean;
31
27
  protected _stopWatching$: Subject<any>;
32
28
  protected _editingRowCount: number;
33
29
  protected _fetchMoreFn: FetchMoreFn<LoadResult<T>>;
34
30
  loadingSubject: BehaviorSubject<boolean>;
35
- get serviceOptions(): AppTableDataServiceOptions<O>;
36
- set serviceOptions(value: AppTableDataServiceOptions<O>);
37
- get options(): AppTableDataSourceOptions<T, ID, O>;
31
+ get serviceOptions(): AppTableDataServiceOptions<WO>;
32
+ set serviceOptions(value: AppTableDataServiceOptions<WO>);
38
33
  get loaded(): boolean;
39
34
  get loading(): boolean;
40
35
  /**
@@ -42,31 +37,33 @@ export declare class EntitiesTableDataSource<T extends IEntity<T, ID>, F = any,
42
37
  *
43
38
  * @param dataService A service to load and save data
44
39
  * @param dataType Type of data contained by the Table. If not specified, then `data` with at least one element must be specified.
45
- * @param environment
46
40
  * @param validatorService Service that create instances of the FormGroup used to validate row fields.
47
41
  * @param config Additional configuration for table.
48
42
  */
49
- constructor(dataType: new () => T, dataService: IEntitiesService<T, F, O>, validatorService?: ValidatorService, config?: AppTableDataSourceOptions<T, ID, O>);
50
- ngOnDestroy(): void;
43
+ constructor(dataType: new () => T, dataService: IEntitiesService<T, F, WO>, validatorService?: V, config?: O);
44
+ disconnect(collectionViewer?: CollectionViewer): void;
51
45
  watchAll(offset: number, size: number, sortBy?: string, sortDirection?: SortDirection, filter?: Partial<F>): Observable<LoadResult<T>>;
52
46
  save(): Promise<boolean>;
47
+ protected getDataFromRows(rows: TableElement<T>[], options?: {
48
+ originalData: boolean;
49
+ toEntity: boolean;
50
+ }): T[];
51
+ toEntity(data: T | any): T;
53
52
  updateDatasource(data: T[], opts?: {
54
53
  emitEvent: boolean;
55
- }): void;
56
- createNew(insertAt?: number): void;
57
- connect(collectionViewer: CollectionViewer): Observable<TableElement<T>[] | ReadonlyArray<TableElement<T>>>;
58
- disconnect(collectionViewer?: CollectionViewer): void;
54
+ }): Promise<void>;
59
55
  waitIdle(debounceTimeMs?: number): Promise<any>;
60
- confirmCreate(row: TableElement<T>): boolean;
61
- confirmEdit(row: TableElement<T>): boolean;
62
- startEdit(row: TableElement<T>): void;
63
- cancelOrDelete(row: TableElement<T>): void;
56
+ confirmCreate(row: TableElement<T>): Promise<boolean>;
57
+ confirmEdit(row: TableElement<T>): Promise<boolean>;
58
+ startEdit(row: TableElement<T>): Promise<boolean>;
59
+ cancel(row: TableElement<T>): Promise<boolean>;
64
60
  handleError(error: any, message: string): Observable<LoadResult<T>>;
65
61
  handleErrorPromise(error: any): void;
66
- delete(id: number): void;
62
+ delete(id: number): Promise<boolean>;
67
63
  deleteAll(rows: TableElement<T>[]): Promise<any>;
68
64
  getRows(): Promise<TableElement<T>[]>;
69
- asyncCreateNew(insertAt?: number): Promise<void>;
65
+ createNew(insertAt?: number): Promise<boolean>;
66
+ protected createRowValidator(): Promise<FormGroup>;
70
67
  getData(): Promise<T[]>;
71
68
  fetchMore(opts?: {
72
69
  emitEvent: boolean;
@@ -229,7 +229,7 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
229
229
  }): void;
230
230
  confirmAndAdd(event?: Event, row?: TableElement<T>): boolean;
231
231
  confirmAndBackward(event?: Event, row?: TableElement<T>): boolean;
232
- confirmAndForward(event?: Event, row?: TableElement<T>): boolean;
232
+ confirmAndForward(event?: Event, row?: TableElement<T>): Promise<boolean>;
233
233
  editRowById(event: Event | undefined, id: number, opts?: {
234
234
  focusColumn?: string;
235
235
  }): Promise<void>;
@@ -239,7 +239,7 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
239
239
  * @param event
240
240
  * @param row
241
241
  */
242
- confirmEditCreate(event?: Event, row?: TableElement<T>): boolean;
242
+ confirmEditCreate(event?: Event, row?: TableElement<T>): Promise<boolean>;
243
243
  cancelOrDelete(event: Event, row: TableElement<T>, opts?: {
244
244
  interactive?: boolean;
245
245
  keepEditing?: boolean;