@sumaris-net/ngx-components 18.6.68 → 18.6.70
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/doc/changelog.md +6 -0
- package/esm2022/src/app/admin/services/person.service.mjs +2 -2
- package/esm2022/src/app/admin/users/users.mjs +138 -26
- package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +1 -1
- package/esm2022/src/app/core/services/config.service.mjs +2 -2
- package/esm2022/src/app/core/services/network.service.mjs +14 -3
- package/esm2022/src/app/core/services/platform.service.mjs +5 -5
- package/esm2022/src/app/core/table/table.model.mjs +6 -1
- package/esm2022/src/app/shared/audio/audio.mjs +12 -12
- package/esm2022/src/app/social/message/message.service.mjs +2 -2
- package/fesm2022/sumaris-net.ngx-components.mjs +159 -36
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +6 -7
- package/src/app/admin/services/person.service.d.ts +1 -1
- package/src/app/admin/users/users.d.ts +19 -3
- package/src/app/core/services/config.service.d.ts +1 -1
- package/src/app/core/services/network.service.d.ts +9 -1
- package/src/app/core/services/platform.service.d.ts +1 -1
- package/src/app/core/table/table.model.d.ts +5 -0
- package/src/app/shared/audio/audio.d.ts +2 -2
- package/src/assets/i18n/en-US.json +9 -3
- package/src/assets/i18n/en.json +8 -2
- package/src/assets/i18n/fr.json +5 -2
- package/src/assets/manifest.json +1 -1
- package/src/theme/_ngx-components.table.scss +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": "18.6.
|
|
4
|
+
"version": "18.6.70",
|
|
5
5
|
"author": "contact@e-is.pro",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
7
7
|
"readmeFilename": "README.md",
|
|
@@ -53,9 +53,9 @@
|
|
|
53
53
|
"@capacitor/status-bar": "~6.0.2",
|
|
54
54
|
"@e-is/cordova-plugin-audiomanagement": "^1.0.3",
|
|
55
55
|
"@e-is/cordova-plugin-downloader": "^1.2.0",
|
|
56
|
-
"@
|
|
57
|
-
"@
|
|
58
|
-
"@
|
|
56
|
+
"@awesome-cordova-plugins/core": "^6.15.0",
|
|
57
|
+
"@awesome-cordova-plugins/audio-management": "^6.15.0",
|
|
58
|
+
"@awesome-cordova-plugins/downloader": "^6.15.0",
|
|
59
59
|
"clipboard": "^2.0.11",
|
|
60
60
|
"cordova-sqlite-storage": "~6.0.0",
|
|
61
61
|
"emoji-toolkit": ">= 8.0.0 < 10.0.0",
|
|
@@ -71,9 +71,8 @@
|
|
|
71
71
|
"url": "https://gitlab.ifremer.fr/sih-public/sumaris/ngx-sumaris-components/-/issues"
|
|
72
72
|
},
|
|
73
73
|
"engines": {
|
|
74
|
-
"node": ">=
|
|
75
|
-
"npm": ">= 9.9.1"
|
|
76
|
-
"yarn": ">= 1.22.19"
|
|
74
|
+
"node": ">= 20.0.0",
|
|
75
|
+
"npm": ">= 9.9.1"
|
|
77
76
|
},
|
|
78
77
|
"optimizeDeps": {
|
|
79
78
|
"exclude": [
|
|
@@ -10,7 +10,7 @@ import { PersonFilter } from './filter/person.filter';
|
|
|
10
10
|
import { BaseEntityService } from '../../core/services/base-entity-service.class';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
export declare const PersonFragments: {
|
|
13
|
-
person: import("
|
|
13
|
+
person: import("apollo-angular").TypedDocumentNode<unknown, unknown>;
|
|
14
14
|
};
|
|
15
15
|
export declare class PersonService extends BaseEntityService<Person, PersonFilter> implements SuggestService<Person, PersonFilter> {
|
|
16
16
|
protected graphql: GraphqlService;
|
|
@@ -25,12 +25,18 @@ export declare class UsersPage extends AppTable<Person, PersonFilter> implements
|
|
|
25
25
|
readonly profiles: import("../../core/services/model/person.model").UserProfileLabel[];
|
|
26
26
|
readonly statusList: readonly import("../../core/services/model/referential.model").IStatus[];
|
|
27
27
|
readonly statusById: Readonly<import("@sumaris-net/ngx-components").KeyValueType<import("../../core/services/model/referential.model").IStatus>>;
|
|
28
|
-
additionalFields: FormFieldDefinition[];
|
|
29
|
-
filterCriteriaCount: number;
|
|
28
|
+
protected additionalFields: FormFieldDefinition[];
|
|
29
|
+
protected filterCriteriaCount: number;
|
|
30
|
+
protected defaultCompact: boolean;
|
|
30
31
|
set showUsernameColumn(value: boolean);
|
|
32
|
+
get showUsernameColumn(): boolean;
|
|
31
33
|
set showUsernameExtranetColumn(value: boolean);
|
|
34
|
+
get showUsernameExtranetColumn(): boolean;
|
|
35
|
+
compact: boolean;
|
|
36
|
+
usePageSettings: boolean;
|
|
32
37
|
sticky: boolean;
|
|
33
38
|
stickyEnd: boolean;
|
|
39
|
+
canDownload: boolean;
|
|
34
40
|
constructor(injector: Injector, formBuilder: UntypedFormBuilder, accountService: AccountService, validatorService: ValidatorService, configService: ConfigService, dataService: PersonService, messageService: MessageService, menuService: MenuService, environment: any);
|
|
35
41
|
filterExpansionPanel: MatExpansionPanel;
|
|
36
42
|
get firstUserColumn(): string;
|
|
@@ -40,6 +46,16 @@ export declare class UsersPage extends AppTable<Person, PersonFilter> implements
|
|
|
40
46
|
protected restoreFilterOrLoad(): Promise<void>;
|
|
41
47
|
clearControlValue(event: Event, formControl: AbstractControl): boolean;
|
|
42
48
|
openComposeMessageModal(event?: Event): Promise<any>;
|
|
49
|
+
restoreCompactMode(opts?: {
|
|
50
|
+
emitEvent?: boolean;
|
|
51
|
+
}): Promise<void>;
|
|
52
|
+
toggleCompactMode(): Promise<void>;
|
|
53
|
+
exportToCsv(event: Event): Promise<void>;
|
|
43
54
|
static ɵfac: i0.ɵɵFactoryDeclaration<UsersPage, never>;
|
|
44
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<UsersPage, "app-users-table", never, { "sticky": { "alias": "sticky"; "required": false; }; "stickyEnd": { "alias": "stickyEnd"; "required": false; }; }, {}, never, never, false, never>;
|
|
55
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UsersPage, "app-users-table", never, { "compact": { "alias": "compact"; "required": false; }; "usePageSettings": { "alias": "usePageSettings"; "required": false; }; "sticky": { "alias": "sticky"; "required": false; }; "stickyEnd": { "alias": "stickyEnd"; "required": false; }; "canDownload": { "alias": "canDownload"; "required": false; }; }, {}, never, never, false, never>;
|
|
56
|
+
static ngAcceptInputType_compact: unknown;
|
|
57
|
+
static ngAcceptInputType_usePageSettings: unknown;
|
|
58
|
+
static ngAcceptInputType_sticky: unknown;
|
|
59
|
+
static ngAcceptInputType_stickyEnd: unknown;
|
|
60
|
+
static ngAcceptInputType_canDownload: unknown;
|
|
45
61
|
}
|
|
@@ -16,7 +16,7 @@ import { IStartableService } from '../../shared/services/startable-service.class
|
|
|
16
16
|
import { AccountService } from './account.service';
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
18
18
|
export declare const ConfigFragments: {
|
|
19
|
-
config: import("
|
|
19
|
+
config: import("apollo-angular").TypedDocumentNode<unknown, unknown>;
|
|
20
20
|
};
|
|
21
21
|
export declare const APP_CONFIG_OPTIONS: InjectionToken<FormFieldDefinitionMap>;
|
|
22
22
|
export declare class ConfigService extends BaseGraphqlService<Configuration, any, number, Configuration> implements IEntityService<Configuration>, IStartableService<Configuration> {
|
|
@@ -76,9 +76,17 @@ export declare class NetworkService extends StartableObservableService<Peer, Pee
|
|
|
76
76
|
* Check if the peer is alive
|
|
77
77
|
*
|
|
78
78
|
* @param peer
|
|
79
|
-
* @param opts
|
|
80
79
|
*/
|
|
81
80
|
checkPeerAlive(peer?: string | Peer): Promise<NodeInfo>;
|
|
81
|
+
/**
|
|
82
|
+
* Checks whether a peer is compatible based on its software version and the required minimum version.
|
|
83
|
+
* Optionally displays a toast notification if the peer is not compatible.
|
|
84
|
+
*
|
|
85
|
+
* @param {NodeInfo} peerInfo - Information about the peer, including its software version.
|
|
86
|
+
* @param {Object} [opts] - Additional options for the compatibility check.
|
|
87
|
+
* @param {boolean} [opts.showToast] - Whether to show a toast notification if the peer is not compatible. Defaults to true.
|
|
88
|
+
* @return {Promise<boolean>} - A promise that resolves to `true` if the peer is compatible, otherwise `false`.
|
|
89
|
+
*/
|
|
82
90
|
checkPeerCompatible(peerInfo: NodeInfo, opts?: {
|
|
83
91
|
showToast?: boolean;
|
|
84
92
|
}): Promise<boolean>;
|
|
@@ -13,7 +13,7 @@ import { BehaviorSubject, Observable } from 'rxjs';
|
|
|
13
13
|
import { Environment } from '../../../environments/environment.class';
|
|
14
14
|
import { ConfigService } from './config.service';
|
|
15
15
|
import { MomentDateAdapter } from '@angular/material-moment-adapter';
|
|
16
|
-
import { Downloader, DownloadRequest } from '@
|
|
16
|
+
import { Downloader, DownloadRequest } from '@awesome-cordova-plugins/downloader/ngx';
|
|
17
17
|
import { StartableService } from '../../shared/services/startable-service.class';
|
|
18
18
|
import { OpenOptions } from '@capacitor/browser';
|
|
19
19
|
import { ILoggingService } from '../../shared/logging/logger.model';
|
|
@@ -3,11 +3,16 @@ export declare const SETTINGS_DISPLAY_COLUMNS = "displayColumns";
|
|
|
3
3
|
export declare const SETTINGS_SORTED_COLUMN = "sortedColumn";
|
|
4
4
|
export declare const SETTINGS_FILTER = "filter";
|
|
5
5
|
export declare const SETTINGS_PAGE_SIZE = "pageSize";
|
|
6
|
+
export declare const SETTINGS_COMPACT_ROWS = "compactRows";
|
|
6
7
|
export declare const DEFAULT_PAGE_SIZE = 20;
|
|
7
8
|
export declare const DEFAULT_PAGE_SIZE_OPTIONS: number[];
|
|
8
9
|
export declare const RESERVED_START_COLUMNS: string[];
|
|
9
10
|
export declare const RESERVED_END_COLUMNS: string[];
|
|
10
11
|
export declare const DEFAULT_REQUIRED_COLUMNS: string[];
|
|
12
|
+
export declare const TABLE_SETTINGS_ENUM: {
|
|
13
|
+
FILTER_KEY: string;
|
|
14
|
+
COMPACT_ROWS_KEY: string;
|
|
15
|
+
};
|
|
11
16
|
export declare class CellValueChangeListener {
|
|
12
17
|
subject: Subject<any>;
|
|
13
18
|
subscription: Subscription;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Platform } from '@ionic/angular';
|
|
2
|
-
import { AudioManagement } from '@
|
|
2
|
+
import { AudioManagement, AudioMode } from '@awesome-cordova-plugins/audio-management/ngx';
|
|
3
3
|
import { StartableService } from '../services/startable-service.class';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export type AudioType = 'html5' | 'native';
|
|
@@ -38,7 +38,7 @@ export declare class AudioProvider extends StartableService<void> {
|
|
|
38
38
|
* @param duration Duration of the vibration in milliseconds.
|
|
39
39
|
*/
|
|
40
40
|
vibrate(duration?: number | number[]): Promise<void>;
|
|
41
|
-
setAudioMode(mode:
|
|
41
|
+
setAudioMode(mode: AudioMode): Promise<void>;
|
|
42
42
|
protected readAudioMode(): Promise<void>;
|
|
43
43
|
static ɵfac: i0.ɵɵFactoryDeclaration<AudioProvider, [null, { optional: true; }]>;
|
|
44
44
|
static ɵprov: i0.ɵɵInjectableDeclaration<AudioProvider>;
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"BTN_COPY": "Copy",
|
|
14
14
|
"BTN_CLEAR": "Clear",
|
|
15
15
|
"BTN_CLOSE": "Close",
|
|
16
|
+
"BTN_COMPACT_ROWS": "Compact rows",
|
|
16
17
|
"BTN_DONE": "Done",
|
|
17
18
|
"BTN_DOWNLOAD": "Download",
|
|
18
19
|
"BTN_IMPORT": "Import",
|
|
@@ -465,6 +466,9 @@
|
|
|
465
466
|
},
|
|
466
467
|
"STATUS": "State",
|
|
467
468
|
"PUBKEY": "Public key",
|
|
469
|
+
"CREATION_DATE": "Creation date",
|
|
470
|
+
"UPDATE_DATE": "Update date",
|
|
471
|
+
|
|
468
472
|
"PROFILE": "Profile",
|
|
469
473
|
"PROFILE_ENUM": {
|
|
470
474
|
"ADMIN": "Administrator",
|
|
@@ -549,7 +553,7 @@
|
|
|
549
553
|
},
|
|
550
554
|
"MESSAGE": {
|
|
551
555
|
"TYPE": "Message type",
|
|
552
|
-
"RECIPIENTS": "Recipients"
|
|
556
|
+
"RECIPIENTS": "Recipients",²
|
|
553
557
|
"RECIPIENT_FILTER_COUNT": "{{count}} filtered users",
|
|
554
558
|
"SUBJECT": "Object",
|
|
555
559
|
"BODY_HELP": "Your message...",
|
|
@@ -577,11 +581,13 @@
|
|
|
577
581
|
},
|
|
578
582
|
"FILE": {
|
|
579
583
|
"JSON": {
|
|
580
|
-
"ENCODING": "UTF-8"
|
|
584
|
+
"ENCODING": "UTF-8",
|
|
585
|
+
"BTN_DOWNLOAD_HELP": "Download data (JSON)"
|
|
581
586
|
},
|
|
582
587
|
"CSV": {
|
|
583
588
|
"SEPARATOR": ",",
|
|
584
|
-
"ENCODING": "UTF-8"
|
|
589
|
+
"ENCODING": "UTF-8",
|
|
590
|
+
"BTN_DOWNLOAD_HELP": "Download data (CSV)"
|
|
585
591
|
},
|
|
586
592
|
"UPLOAD": {
|
|
587
593
|
"DRAG_AND_DROP": "Drag and drop a file{{ extension }} here<br/>or",
|
package/src/assets/i18n/en.json
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"BTN_COPY": "Copy",
|
|
14
14
|
"BTN_CLEAR": "Clear",
|
|
15
15
|
"BTN_CLOSE": "Close",
|
|
16
|
+
"BTN_COMPACT_ROWS": "Compact rows",
|
|
16
17
|
"BTN_DONE": "Done",
|
|
17
18
|
"BTN_DOWNLOAD": "Download",
|
|
18
19
|
"BTN_IMPORT": "Import",
|
|
@@ -465,6 +466,9 @@
|
|
|
465
466
|
},
|
|
466
467
|
"STATUS": "State",
|
|
467
468
|
"PUBKEY": "Public key",
|
|
469
|
+
"CREATION_DATE": "Creation date",
|
|
470
|
+
"UPDATE_DATE": "Update date",
|
|
471
|
+
|
|
468
472
|
"PROFILE": "Profile",
|
|
469
473
|
"PROFILE_ENUM": {
|
|
470
474
|
"ADMIN": "Administrator",
|
|
@@ -577,11 +581,13 @@
|
|
|
577
581
|
},
|
|
578
582
|
"FILE": {
|
|
579
583
|
"JSON": {
|
|
580
|
-
"ENCODING": "UTF-8"
|
|
584
|
+
"ENCODING": "UTF-8",
|
|
585
|
+
"BTN_DOWNLOAD_HELP": "Download data (JSON)"
|
|
581
586
|
},
|
|
582
587
|
"CSV": {
|
|
583
588
|
"SEPARATOR": ",",
|
|
584
|
-
"ENCODING": "UTF-8"
|
|
589
|
+
"ENCODING": "UTF-8",
|
|
590
|
+
"BTN_DOWNLOAD_HELP": "Download data (CSV)"
|
|
585
591
|
},
|
|
586
592
|
"UPLOAD": {
|
|
587
593
|
"DRAG_AND_DROP": "Drag and drop a file{{ extension }} here<br/>or",
|
package/src/assets/i18n/fr.json
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"BTN_COPY": "Copier",
|
|
14
14
|
"BTN_CLEAR": "Vider",
|
|
15
15
|
"BTN_CLOSE": "Fermer",
|
|
16
|
+
"BTN_COMPACT_ROWS": "Compacter les lignes",
|
|
16
17
|
"BTN_DONE": "Terminer",
|
|
17
18
|
"BTN_DOWNLOAD": "Télécharger",
|
|
18
19
|
"BTN_IMPORT": "Importer",
|
|
@@ -105,7 +106,6 @@
|
|
|
105
106
|
"DURATION_DOTS": "Durée :",
|
|
106
107
|
"YES": "Oui",
|
|
107
108
|
"NO": "Non",
|
|
108
|
-
|
|
109
109
|
"UPDATED_ON": "Mis à jour le",
|
|
110
110
|
"RECORDER": "Saisisseur",
|
|
111
111
|
"RESULT_COUNT": "{{count}} résultats",
|
|
@@ -466,6 +466,8 @@
|
|
|
466
466
|
},
|
|
467
467
|
"STATUS": "Etat",
|
|
468
468
|
"PUBKEY": "Clé publique",
|
|
469
|
+
"CREATION_DATE": "Date création",
|
|
470
|
+
"UPDATE_DATE": "Date MAJ",
|
|
469
471
|
"PROFILE": "Profil",
|
|
470
472
|
"PROFILE_ENUM": {
|
|
471
473
|
"ADMIN": "Administrateur",
|
|
@@ -582,7 +584,8 @@
|
|
|
582
584
|
},
|
|
583
585
|
"CSV": {
|
|
584
586
|
"SEPARATOR": ";",
|
|
585
|
-
"ENCODING": "UTF-8"
|
|
587
|
+
"ENCODING": "UTF-8",
|
|
588
|
+
"BTN_DOWNLOAD_HELP": "Télécharger les données (CSV)"
|
|
586
589
|
},
|
|
587
590
|
"UPLOAD": {
|
|
588
591
|
"DRAG_AND_DROP": "Glisser et déposer un fichier{{ extension }} ici<br/>ou",
|
package/src/assets/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "ngx-sumaris-components",
|
|
3
3
|
"short_name": "ngx-sumaris-components",
|
|
4
4
|
"manifest_version": 1,
|
|
5
|
-
"version": "18.6.
|
|
5
|
+
"version": "18.6.70",
|
|
6
6
|
"default_locale": "fr",
|
|
7
7
|
"description": "Angular components for building beautiful and responsive Apps",
|
|
8
8
|
"icons": [{
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
--mat-table-row-item-outline-color: var(--ion-border-color);
|
|
28
28
|
--mat-table-row-item-label-text-size: 14px;
|
|
29
29
|
--mat-table-row-item-label-text-tracking: normal;
|
|
30
|
-
--mat-row-height: #{$app-table-row-height}
|
|
30
|
+
--mat-row-height: #{$app-table-row-height};
|
|
31
31
|
--mat-row-max-height: #{$app-table-row-max-height} !important;
|
|
32
32
|
--mat-cell-horizontal-padding: #{$app-table-cell-horizontal-padding};
|
|
33
33
|
--mat-cell-padding-top: calc(var(--mat-row-height) / 2 - var(--mat-table-row-item-label-text-size, 14px));
|