@sumaris-net/ngx-components 1.23.8 → 1.23.11
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/bundles/sumaris-net.ngx-components.umd.js +530 -492
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/doc/changelog.md +8 -0
- package/esm2015/src/app/admin/users/list/users.js +2 -2
- package/esm2015/src/app/core/form/editor.class.js +40 -37
- package/esm2015/src/app/core/services/account.service.js +2 -2
- package/esm2015/src/app/core/services/config.service.js +2 -2
- package/esm2015/src/app/core/services/network.service.js +6 -6
- package/esm2015/src/app/core/table/entities-table-datasource.class.js +2 -2
- package/esm2015/src/app/core/table/table.class.js +63 -54
- package/esm2015/src/app/core/table/testing/table.testing.js +3 -2
- package/esm2015/src/app/shared/directives/autofocus.directive.js +1 -1
- package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.js +2 -2
- package/esm2015/src/app/shared/services/entity-service.class.js +1 -10
- package/esm2015/src/app/shared/services/memory-entity-service.class.js +76 -33
- package/esm2015/src/app/shared/services/startable-service.class.js +21 -13
- package/fesm2015/sumaris-net.ngx-components.js +438 -397
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +3 -3
- package/src/app/core/form/editor.class.d.ts +2 -1
- package/src/app/core/services/network.service.d.ts +1 -1
- package/src/app/core/table/table.class.d.ts +2 -1
- package/src/app/shared/services/entity-service.class.d.ts +0 -8
- package/src/app/shared/services/memory-entity-service.class.d.ts +14 -7
- package/src/app/shared/services/startable-service.class.d.ts +4 -2
- package/src/theme/_ngx-components.scss +5 -0
- package/sumaris-net.ngx-components.metadata.json +1 -1
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.23.
|
|
4
|
+
"version": "1.23.11",
|
|
5
5
|
"author": "contact@e-is.pro",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
7
7
|
"readmeFilename": "README.md",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"url": "https://gitlab.ifremer.fr/sih-public/sumaris/ngx-sumaris-components/-/issues"
|
|
28
28
|
},
|
|
29
29
|
"engines": {
|
|
30
|
-
"node": ">=
|
|
31
|
-
"npm": ">= 8.
|
|
30
|
+
"node": ">= 14.20.0",
|
|
31
|
+
"npm": ">= 8.17.0",
|
|
32
32
|
"yarn": ">= 1.22.0"
|
|
33
33
|
},
|
|
34
34
|
"cordova": {
|
|
@@ -173,7 +173,8 @@ export declare abstract class AppEditor<T = any, ID = number, O = any> implement
|
|
|
173
173
|
protected registerSubscription(sub: Subscription | TeardownLogic): void;
|
|
174
174
|
protected unregisterSubscription(sub: Subscription): void;
|
|
175
175
|
protected saveIfDirtyAndConfirm(event?: UIEvent, opts?: {
|
|
176
|
-
emitEvent
|
|
176
|
+
emitEvent?: boolean;
|
|
177
|
+
confirmed?: boolean;
|
|
177
178
|
}): Promise<boolean>;
|
|
178
179
|
protected showToast(opts: ShowToastOptions): Promise<void>;
|
|
179
180
|
protected logChildrenFormErrors(c: IAppForm | AbstractControl, prefix?: string, path?: string): void;
|
|
@@ -89,7 +89,7 @@ export declare class NetworkService extends StartableService<Peer> {
|
|
|
89
89
|
nocache?: boolean;
|
|
90
90
|
}): Promise<AppManifest | undefined>;
|
|
91
91
|
getAppVersion(peer?: string | Peer, opts?: {
|
|
92
|
-
nocache
|
|
92
|
+
nocache: boolean;
|
|
93
93
|
}): Promise<string | undefined>;
|
|
94
94
|
computePeerPath(peer: string | Peer | undefined, path: string): string | undefined;
|
|
95
95
|
/**
|
|
@@ -234,7 +234,6 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
|
|
|
234
234
|
confirmAndAdd(event?: Event, row?: TableElement<T>): boolean;
|
|
235
235
|
confirmAndBackward(event?: Event, row?: TableElement<T>): boolean;
|
|
236
236
|
confirmAndForward(event?: Event, row?: TableElement<T>): boolean | Promise<boolean>;
|
|
237
|
-
private editRowById;
|
|
238
237
|
/**
|
|
239
238
|
* Confirm the creation of the given row, or if not specified the currently edited row
|
|
240
239
|
*
|
|
@@ -382,6 +381,8 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
|
|
|
382
381
|
onlySelf?: boolean;
|
|
383
382
|
emitEVent?: boolean;
|
|
384
383
|
}): void;
|
|
384
|
+
private listenSortAndPaginationEvents;
|
|
385
|
+
private editRowById;
|
|
385
386
|
private setLoading;
|
|
386
387
|
private deleteNewRow;
|
|
387
388
|
private deleteExistingRow;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { FetchPolicy, WatchQueryFetchPolicy } from '@apollo/client/core';
|
|
3
3
|
import { SortDirection } from '@angular/material/sort';
|
|
4
|
-
import { OnDestroy } from '@angular/core';
|
|
5
4
|
import { EmptyObject } from 'apollo-angular/types';
|
|
6
5
|
export declare interface Page {
|
|
7
6
|
offset: number;
|
|
@@ -62,10 +61,3 @@ export declare type LoadResultByPageFn<T> = (offset: number, size: number) => Pr
|
|
|
62
61
|
export interface IEntityFullService<T, ID, F, O extends EntitiesServiceWatchOptions & EntityServiceLoadOptions> extends IEntityService<T, ID, O>, IEntitiesService<T, F, O> {
|
|
63
62
|
}
|
|
64
63
|
export declare function mergeLoadResult<T>(res1: LoadResult<T>, res2: LoadResult<T>): LoadResult<T>;
|
|
65
|
-
export declare abstract class EntitiesService<T, F, O extends EntitiesServiceWatchOptions = EntitiesServiceWatchOptions> implements IEntitiesService<T, F, O>, OnDestroy {
|
|
66
|
-
ngOnDestroy(): void;
|
|
67
|
-
abstract watchAll(offset: number, size: number, sortBy?: string, sortDirection?: SortDirection, filter?: Partial<F>, options?: O): Observable<LoadResult<T>>;
|
|
68
|
-
abstract saveAll(data: T[], options?: any): Promise<T[]>;
|
|
69
|
-
abstract deleteAll(data: T[], options?: any): Promise<any>;
|
|
70
|
-
abstract asFilter(filter: Partial<F>): F;
|
|
71
|
-
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import {
|
|
2
|
+
import { EntitiesServiceLoadOptions, EntitiesServiceWatchOptions, FilterFn, FilterFnFactory, IEntitiesService, LoadResult } from './entity-service.class';
|
|
3
3
|
import { SortDirection } from '@angular/material/sort';
|
|
4
|
-
import { OnDestroy } from '@angular/core';
|
|
5
4
|
import { IEntity } from '../../core/services/model/entity.model';
|
|
5
|
+
import { WaitForOptions } from '../observables';
|
|
6
|
+
import { StartableService } from './startable-service.class';
|
|
6
7
|
export interface InMemoryEntitiesServiceOptions<T, F> {
|
|
7
8
|
onSort?: (data: T[], sortBy?: string, sortDirection?: SortDirection) => T[];
|
|
8
9
|
onLoad?: (data: T[]) => T[] | Promise<T[]>;
|
|
@@ -14,14 +15,14 @@ export interface InMemoryEntitiesServiceOptions<T, F> {
|
|
|
14
15
|
[key: string]: string;
|
|
15
16
|
};
|
|
16
17
|
}
|
|
17
|
-
export declare class InMemoryEntitiesService<T extends IEntity<T, ID>, F = any, ID = number, O extends EntitiesServiceWatchOptions = EntitiesServiceWatchOptions> extends
|
|
18
|
+
export declare class InMemoryEntitiesService<T extends IEntity<T, ID>, F = any, ID = number, O extends EntitiesServiceWatchOptions = EntitiesServiceWatchOptions> extends StartableService<T[]> implements IEntitiesService<T, F, O> {
|
|
18
19
|
protected dataType: new () => T;
|
|
19
20
|
protected filterType: new () => F;
|
|
20
21
|
debug: boolean;
|
|
21
|
-
dirty: boolean;
|
|
22
22
|
private _hiddenData;
|
|
23
|
-
private
|
|
24
|
-
private readonly
|
|
23
|
+
private dataSubject;
|
|
24
|
+
private readonly dirtySubject;
|
|
25
|
+
private readonly savingSubject;
|
|
25
26
|
private readonly _sortFn;
|
|
26
27
|
private readonly _onLoad;
|
|
27
28
|
private readonly _onSaveFn;
|
|
@@ -30,8 +31,11 @@ export declare class InMemoryEntitiesService<T extends IEntity<T, ID>, F = any,
|
|
|
30
31
|
private readonly _sortByReplacement;
|
|
31
32
|
set value(data: T[]);
|
|
32
33
|
get value(): T[];
|
|
34
|
+
get saving(): boolean;
|
|
35
|
+
get dirty(): boolean;
|
|
33
36
|
constructor(dataType: new () => T, filterType: new () => F, options?: InMemoryEntitiesServiceOptions<T, F>);
|
|
34
|
-
|
|
37
|
+
protected ngOnStart(): Promise<T[]>;
|
|
38
|
+
protected ngOnStop(): Promise<void>;
|
|
35
39
|
setValue(data: T[]): void;
|
|
36
40
|
loadAll(offset: number, size: number, sortBy?: string, sortDirection?: SortDirection, filter?: F, opts?: EntitiesServiceLoadOptions): Promise<LoadResult<T>>;
|
|
37
41
|
watchAll(offset: number, size: number, sortBy?: string, sortDirection?: SortDirection, filterData?: F, options?: any): Observable<LoadResult<T>>;
|
|
@@ -49,6 +53,9 @@ export declare class InMemoryEntitiesService<T extends IEntity<T, ID>, F = any,
|
|
|
49
53
|
get hiddenCount(): number;
|
|
50
54
|
protected filter(data: T[], _filter: F, hiddenData: T[]): T[];
|
|
51
55
|
protected connect(): Observable<LoadResult<T>>;
|
|
56
|
+
waitWhileSaving(opts?: WaitForOptions): Promise<void>;
|
|
52
57
|
protected markAsSaving(): void;
|
|
53
58
|
protected markAsSaved(): void;
|
|
59
|
+
protected markAsDirty(): void;
|
|
60
|
+
protected markAsPristine(): void;
|
|
54
61
|
}
|
|
@@ -6,7 +6,8 @@ export interface IStartableService<T = any> {
|
|
|
6
6
|
ready(): Promise<T>;
|
|
7
7
|
}
|
|
8
8
|
export declare abstract class StartableService<T = any> implements IStartableService<T> {
|
|
9
|
-
|
|
9
|
+
startSubject: Subject<T>;
|
|
10
|
+
stopSubject: Subject<void>;
|
|
10
11
|
protected _debug: boolean;
|
|
11
12
|
protected _startByReadyFunction: boolean;
|
|
12
13
|
protected _data: T;
|
|
@@ -14,7 +15,7 @@ export declare abstract class StartableService<T = any> implements IStartableSer
|
|
|
14
15
|
private _startPromise;
|
|
15
16
|
private _startPrerequisite;
|
|
16
17
|
private _subscription;
|
|
17
|
-
protected constructor(prerequisiteService
|
|
18
|
+
protected constructor(prerequisiteService?: {
|
|
18
19
|
ready: () => Promise<any>;
|
|
19
20
|
});
|
|
20
21
|
start(): Promise<T>;
|
|
@@ -25,6 +26,7 @@ export declare abstract class StartableService<T = any> implements IStartableSer
|
|
|
25
26
|
ready(): Promise<T>;
|
|
26
27
|
protected registerSubscription(sub: Subscription): Subscription;
|
|
27
28
|
protected unregisterSubscription(sub: Subscription): void;
|
|
29
|
+
protected unsubscribe(): void;
|
|
28
30
|
protected ngOnStop(): Promise<void>;
|
|
29
31
|
protected abstract ngOnStart(): Promise<T>;
|
|
30
32
|
}
|
|
@@ -1100,6 +1100,11 @@ mat-tab-group.mat-tab-disabled-hidden .mat-tab-disabled {
|
|
|
1100
1100
|
display: none;
|
|
1101
1101
|
}
|
|
1102
1102
|
|
|
1103
|
+
// --- Allow to show disabled headers
|
|
1104
|
+
mat-tab-group.mat-tab-disabled-visible .mat-tab-disabled {
|
|
1105
|
+
display: inherit;
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1103
1108
|
// --------------------------------------------------
|
|
1104
1109
|
// Material menu
|
|
1105
1110
|
// --------------------------------------------------
|