@sumaris-net/ngx-components 18.26.13 → 18.26.14-alpha2
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 +44 -1
- package/esm2022/public_api.mjs +2 -1
- package/esm2022/src/app/admin/users/users.mjs +2 -2
- package/esm2022/src/app/core/about/about.modal.mjs +74 -13
- package/esm2022/src/app/core/account/account.page.mjs +1 -1
- package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +2 -2
- package/esm2022/src/app/core/form/properties/properties.form.mjs +20 -3
- package/esm2022/src/app/core/form/properties/properties.table.mjs +3 -3
- package/esm2022/src/app/core/menu/menu.component.mjs +3 -3
- package/esm2022/src/app/core/register/register.form.mjs +1 -1
- package/esm2022/src/app/core/services/account.service.mjs +10 -5
- package/esm2022/src/app/core/services/config/core.config.mjs +6 -1
- package/esm2022/src/app/core/services/local-settings.service.mjs +3 -7
- package/esm2022/src/app/core/services/network.service.mjs +7 -1
- package/esm2022/src/app/core/services/platform.service.mjs +37 -7
- package/esm2022/src/app/core/settings/settings.page.mjs +55 -22
- package/esm2022/src/app/core/table/async-table.class.mjs +28 -15
- package/esm2022/src/app/core/table/column/row-field.component.mjs +8 -6
- package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +1 -1
- package/esm2022/src/app/core/table/table.class.mjs +20 -14
- package/esm2022/src/app/shared/alerts.mjs +42 -8
- package/esm2022/src/app/shared/capacitor/plugins.mjs +2 -1
- package/esm2022/src/app/shared/form/field.component.mjs +7 -3
- package/esm2022/src/app/shared/gitlab/gitlab.utils.mjs +170 -0
- package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +5 -5
- package/esm2022/src/app/shared/image/gallery/slideshow/image-gallery-slideshow.component.mjs +2 -2
- package/esm2022/src/app/shared/image/image.service.mjs +3 -3
- package/esm2022/src/app/shared/markdown/markdown.component.mjs +6 -5
- package/esm2022/src/app/shared/markdown/markdown.utils.mjs +3 -12
- package/esm2022/src/app/shared/markdown/testing/markdown.test.mjs +2 -2
- package/esm2022/src/app/shared/material/material.animations.mjs +7 -6
- package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +25 -14
- package/esm2022/src/app/shared/platforms.mjs +23 -1
- package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +10 -4
- package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +41 -4
- package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +1 -1
- package/esm2022/src/app/shared/version/versions.mjs +10 -3
- package/esm2022/src/app/social/feed/feed.component.mjs +3 -3
- package/esm2022/src/environments/environment.class.mjs +2 -1
- package/esm2022/src/environments/environment.mjs +2 -1
- package/fesm2022/sumaris-net.ngx-components.mjs +595 -144
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +14 -13
- package/public_api.d.ts +1 -0
- package/src/app/core/about/about.modal.d.ts +9 -2
- package/src/app/core/form/entity/entity-editor.class.d.ts +4 -1
- package/src/app/core/form/properties/properties.form.d.ts +1 -0
- package/src/app/core/services/account.service.d.ts +1 -1
- package/src/app/core/services/config/core.config.d.ts +1 -0
- package/src/app/core/services/platform.service.d.ts +2 -0
- package/src/app/core/settings/settings.page.d.ts +2 -1
- package/src/app/core/table/async-table.class.d.ts +15 -3
- package/src/app/core/table/column/row-field.component.d.ts +3 -2
- package/src/app/core/table/table.class.d.ts +13 -3
- package/src/app/shared/alerts.d.ts +39 -4
- package/src/app/shared/capacitor/plugins.d.ts +1 -0
- package/src/app/shared/form/field.component.d.ts +2 -1
- package/src/app/shared/gitlab/gitlab.utils.d.ts +109 -0
- package/src/app/shared/image/gallery/image-gallery.component.d.ts +4 -0
- package/src/app/shared/markdown/markdown.utils.d.ts +0 -2
- package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +5 -1
- package/src/app/shared/platforms.d.ts +1 -0
- package/src/app/shared/upload-file/upload-file-popover.component.d.ts +5 -1
- package/src/app/shared/upload-file/upload-file.component.d.ts +6 -2
- package/src/app/shared/upload-file/upload-file.model.d.ts +7 -0
- package/src/assets/i18n/en-US.json +4 -1
- package/src/assets/i18n/en.json +4 -1
- package/src/assets/i18n/fr.json +4 -1
- package/src/assets/manifest.json +1 -1
- package/src/environments/environment.class.d.ts +1 -0
- package/src/theme/_ngx-components.table.scss +5 -0
|
@@ -11,7 +11,9 @@ export interface UploadFilePopoverOptions<T> {
|
|
|
11
11
|
instantUpload?: boolean;
|
|
12
12
|
uniqueFile?: boolean;
|
|
13
13
|
fileExtension?: string;
|
|
14
|
+
fileExtensionsExcluded?: string[];
|
|
14
15
|
maxParallelUpload?: number;
|
|
16
|
+
maxFileSizeMb?: number;
|
|
15
17
|
autoHideDropArea?: boolean;
|
|
16
18
|
okButtonText?: string;
|
|
17
19
|
cancelButtonText?: string;
|
|
@@ -26,12 +28,14 @@ export declare class UploadFilePopover implements UploadFilePopoverOptions<any>
|
|
|
26
28
|
protected cd: ChangeDetectorRef;
|
|
27
29
|
uploader: UploadFileComponent;
|
|
28
30
|
fileExtension: string;
|
|
31
|
+
fileExtensionsExcluded: string[];
|
|
29
32
|
title: string;
|
|
30
33
|
uniqueFile: boolean;
|
|
31
34
|
instantUpload: boolean;
|
|
32
35
|
uploadFn: FileUploadFn<any>;
|
|
33
36
|
deleteFn: FileDeleteFn<any>;
|
|
34
37
|
maxParallelUpload: number;
|
|
38
|
+
maxFileSizeMb: number;
|
|
35
39
|
autoHideDropArea: boolean;
|
|
36
40
|
okButtonText: string;
|
|
37
41
|
cancelButtonText: string;
|
|
@@ -45,5 +49,5 @@ export declare class UploadFilePopover implements UploadFilePopoverOptions<any>
|
|
|
45
49
|
cancel(): Promise<boolean>;
|
|
46
50
|
protected resetError(): void;
|
|
47
51
|
static ɵfac: i0.ɵɵFactoryDeclaration<UploadFilePopover, never>;
|
|
48
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<UploadFilePopover, "app-upload-file-popover", never, { "fileExtension": { "alias": "fileExtension"; "required": false; }; "title": { "alias": "title"; "required": false; }; "uniqueFile": { "alias": "uniqueFile"; "required": false; }; "instantUpload": { "alias": "instantUpload"; "required": false; }; "uploadFn": { "alias": "uploadFn"; "required": false; }; "deleteFn": { "alias": "deleteFn"; "required": false; }; "maxParallelUpload": { "alias": "maxParallelUpload"; "required": false; }; "autoHideDropArea": { "alias": "autoHideDropArea"; "required": false; }; "okButtonText": { "alias": "okButtonText"; "required": false; }; "cancelButtonText": { "alias": "cancelButtonText"; "required": false; }; }, {}, never, never, false, never>;
|
|
52
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UploadFilePopover, "app-upload-file-popover", never, { "fileExtension": { "alias": "fileExtension"; "required": false; }; "fileExtensionsExcluded": { "alias": "fileExtensionsExcluded"; "required": false; }; "title": { "alias": "title"; "required": false; }; "uniqueFile": { "alias": "uniqueFile"; "required": false; }; "instantUpload": { "alias": "instantUpload"; "required": false; }; "uploadFn": { "alias": "uploadFn"; "required": false; }; "deleteFn": { "alias": "deleteFn"; "required": false; }; "maxParallelUpload": { "alias": "maxParallelUpload"; "required": false; }; "maxFileSizeMb": { "alias": "maxFileSizeMb"; "required": false; }; "autoHideDropArea": { "alias": "autoHideDropArea"; "required": false; }; "okButtonText": { "alias": "okButtonText"; "required": false; }; "cancelButtonText": { "alias": "cancelButtonText"; "required": false; }; }, {}, never, never, false, never>;
|
|
49
53
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectorRef, ElementRef } from '@angular/core';
|
|
2
2
|
import { TranslateService } from '@ngx-translate/core';
|
|
3
|
-
import { FileDeleteFn, FileUploadFn, UploadFile } from './upload-file.model';
|
|
3
|
+
import { FileCheck, FileDeleteFn, FileUploadFn, UploadFile } from './upload-file.model';
|
|
4
4
|
import { WaitForOptions } from '../observables';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class UploadFileComponent {
|
|
@@ -8,14 +8,17 @@ export declare class UploadFileComponent {
|
|
|
8
8
|
protected translate: TranslateService;
|
|
9
9
|
fileDropEl: ElementRef;
|
|
10
10
|
fileExtension: string;
|
|
11
|
+
fileExtensionsExcluded: string[];
|
|
11
12
|
uniqueFile: boolean;
|
|
12
13
|
instantUpload: boolean;
|
|
13
14
|
uploadFn: FileUploadFn<any>;
|
|
14
15
|
deleteFn: FileDeleteFn<any>;
|
|
15
16
|
maxParallelUpload: number;
|
|
17
|
+
maxFileSizeMb: number;
|
|
16
18
|
autoHideDropArea: boolean;
|
|
17
19
|
files: UploadFile<any>[];
|
|
18
20
|
uploading: boolean;
|
|
21
|
+
checks: FileCheck[];
|
|
19
22
|
get processingFiles(): UploadFile<any>[];
|
|
20
23
|
get processedFiles(): UploadFile<any>[];
|
|
21
24
|
get processingFilesCount(): number;
|
|
@@ -40,11 +43,12 @@ export declare class UploadFileComponent {
|
|
|
40
43
|
* @param files (Files List)
|
|
41
44
|
*/
|
|
42
45
|
prepareFilesList(files: FileList | File[]): void;
|
|
46
|
+
checkFiles(): void;
|
|
43
47
|
/**
|
|
44
48
|
* Execute upload
|
|
45
49
|
*/
|
|
46
50
|
uploadFiles(files?: File[]): Promise<UploadFile<any>[]>;
|
|
47
51
|
waitIdle(opts?: WaitForOptions): Promise<void>;
|
|
48
52
|
static ɵfac: i0.ɵɵFactoryDeclaration<UploadFileComponent, never>;
|
|
49
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<UploadFileComponent, "app-upload-file", never, { "fileExtension": { "alias": "fileExtension"; "required": false; }; "uniqueFile": { "alias": "uniqueFile"; "required": false; }; "instantUpload": { "alias": "instantUpload"; "required": false; }; "uploadFn": { "alias": "uploadFn"; "required": false; }; "deleteFn": { "alias": "deleteFn"; "required": false; }; "maxParallelUpload": { "alias": "maxParallelUpload"; "required": false; }; "autoHideDropArea": { "alias": "autoHideDropArea"; "required": false; }; }, {}, never, never, false, never>;
|
|
53
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UploadFileComponent, "app-upload-file", never, { "fileExtension": { "alias": "fileExtension"; "required": false; }; "fileExtensionsExcluded": { "alias": "fileExtensionsExcluded"; "required": false; }; "uniqueFile": { "alias": "uniqueFile"; "required": false; }; "instantUpload": { "alias": "instantUpload"; "required": false; }; "uploadFn": { "alias": "uploadFn"; "required": false; }; "deleteFn": { "alias": "deleteFn"; "required": false; }; "maxParallelUpload": { "alias": "maxParallelUpload"; "required": false; }; "maxFileSizeMb": { "alias": "maxFileSizeMb"; "required": false; }; "autoHideDropArea": { "alias": "autoHideDropArea"; "required": false; }; }, {}, never, never, false, never>;
|
|
50
54
|
}
|
|
@@ -6,6 +6,13 @@ export declare class UploadFile<T> extends File {
|
|
|
6
6
|
error?: string;
|
|
7
7
|
response?: FileResponse<T> | HttpResponse<T>;
|
|
8
8
|
}
|
|
9
|
+
export type FileCheckEnabledFn = () => boolean;
|
|
10
|
+
export type FileHasErrorFn = (file: UploadFile<any>) => boolean;
|
|
11
|
+
export interface FileCheck {
|
|
12
|
+
isEnabled: FileCheckEnabledFn;
|
|
13
|
+
hasError: FileHasErrorFn;
|
|
14
|
+
error: string;
|
|
15
|
+
}
|
|
9
16
|
export type FileUploadFn<T> = (file: File) => Observable<FileEvent<T> | HttpEvent<T>>;
|
|
10
17
|
export type FileDeleteFn<T> = (file: UploadFile<T>) => Promise<boolean>;
|
|
11
18
|
export interface FileProgressEvent {
|
|
@@ -263,7 +263,8 @@
|
|
|
263
263
|
"DEVELOPED_BY": "Developed by:",
|
|
264
264
|
"PARTNERS": "Partners and sponsors:",
|
|
265
265
|
"POD_VERSION": "Pod v{{version}}",
|
|
266
|
-
"APP_VERSION": "App v{{version}}"
|
|
266
|
+
"APP_VERSION": "App v{{version}}",
|
|
267
|
+
"BTN_CHANGELOG": "Changelog"
|
|
267
268
|
},
|
|
268
269
|
"HOME": {
|
|
269
270
|
"WELCOME_WEB": "Welcome to the {{appName}} web site!",
|
|
@@ -648,6 +649,8 @@
|
|
|
648
649
|
"IMPORTING": "Import in progress",
|
|
649
650
|
"BTN_IMPORT_POLICY_DOTS": "Import policy...",
|
|
650
651
|
"ERROR": "Error while uploading file",
|
|
652
|
+
"MAX_FILE_SIZE_ERROR": "The file size is too large to be uploaded ({{maxFileSizeMb}} MB max)",
|
|
653
|
+
"EXTENSION_NOT_ALLOWED_ERROR": "The file extension is not allowed ({{fileExtensionsExcluded}} excluded)",
|
|
651
654
|
"IMPORT_POLICY": {
|
|
652
655
|
"TITLE": "Import options",
|
|
653
656
|
"INSERT-ONLY": "Inserts only",
|
package/src/assets/i18n/en.json
CHANGED
|
@@ -263,7 +263,8 @@
|
|
|
263
263
|
"DEVELOPED_BY": "Developed by:",
|
|
264
264
|
"PARTNERS": "Partners and sponsors:",
|
|
265
265
|
"POD_VERSION": "Pod v{{version}}",
|
|
266
|
-
"APP_VERSION": "App v{{version}}"
|
|
266
|
+
"APP_VERSION": "App v{{version}}",
|
|
267
|
+
"BTN_CHANGELOG": "Changelog"
|
|
267
268
|
},
|
|
268
269
|
"HOME": {
|
|
269
270
|
"WELCOME_WEB": "Welcome to the {{appName}} web site!",
|
|
@@ -648,6 +649,8 @@
|
|
|
648
649
|
"IMPORTING": "Import in progress",
|
|
649
650
|
"BTN_IMPORT_POLICY_DOTS": "Import policy...",
|
|
650
651
|
"ERROR": "Error while uploading file",
|
|
652
|
+
"MAX_FILE_SIZE_ERROR": "The file size is too large to be uploaded ({{maxFileSizeMb}} MB max)",
|
|
653
|
+
"EXTENSION_NOT_ALLOWED_ERROR": "The file extension is not allowed ({{fileExtensionsExcluded}} excluded)",
|
|
651
654
|
"IMPORT_POLICY": {
|
|
652
655
|
"TITLE": "Import options",
|
|
653
656
|
"INSERT-ONLY": "Inserts only",
|
package/src/assets/i18n/fr.json
CHANGED
|
@@ -263,7 +263,8 @@
|
|
|
263
263
|
"DEVELOPED_BY": "Développé par :",
|
|
264
264
|
"PARTNERS": "Partenaires et sponsors :",
|
|
265
265
|
"POD_VERSION": "Pod v{{version}}",
|
|
266
|
-
"APP_VERSION": "App v{{version}}"
|
|
266
|
+
"APP_VERSION": "App v{{version}}",
|
|
267
|
+
"BTN_CHANGELOG": "Notes de version"
|
|
267
268
|
},
|
|
268
269
|
"HOME": {
|
|
269
270
|
"WELCOME_WEB": "Bienvenue sur le site web {{appName}} !",
|
|
@@ -650,6 +651,8 @@
|
|
|
650
651
|
"IMPORTING": "Importation en cours",
|
|
651
652
|
"BTN_IMPORT_POLICY_DOTS": "Stratégie d'importation...",
|
|
652
653
|
"ERROR": "Erreur durant l'envoi de fichier",
|
|
654
|
+
"MAX_FILE_SIZE_ERROR": "La taille du fichier est trop importante pour être téléversé ({{maxFileSizeMb}} Mo max).",
|
|
655
|
+
"EXTENSION_NOT_ALLOWED_ERROR": "L'extension du fichier n'est pas autorisée ({{fileExtensionsExcluded}} exclus).",
|
|
653
656
|
"IMPORT_POLICY": {
|
|
654
657
|
"TITLE": "Stratégie d'importation",
|
|
655
658
|
"INSERT-ONLY": "Insertions uniquement",
|
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.26.
|
|
5
|
+
"version": "18.26.14-alpha2",
|
|
6
6
|
"default_locale": "fr",
|
|
7
7
|
"description": "Angular components for building beautiful and responsive Apps",
|
|
8
8
|
"icons": [{
|
|
@@ -115,6 +115,8 @@
|
|
|
115
115
|
.mat-mdc-footer-cell {
|
|
116
116
|
// Remove default padding
|
|
117
117
|
padding-inline: 0;
|
|
118
|
+
padding-inline-start: 0; // Compat Chrome < 87 (padding-inline not exists yet)
|
|
119
|
+
padding-inline-end: 0; // Compat Chrome < 87 (padding-inline not exists yet)
|
|
118
120
|
|
|
119
121
|
&.ion-padding-start {
|
|
120
122
|
padding-inline-start: var(--mat-cell-horizontal-padding);
|
|
@@ -352,7 +354,10 @@
|
|
|
352
354
|
}
|
|
353
355
|
|
|
354
356
|
.mdc-text-field {
|
|
357
|
+
// Remove default padding
|
|
355
358
|
padding-inline: 0;
|
|
359
|
+
padding-inline-start: 0; // Compat Chrome < 87 (padding-inline not exists yet)
|
|
360
|
+
padding-inline-end: 0; // Compat Chrome < 87 (padding-inline not exists yet)
|
|
356
361
|
}
|
|
357
362
|
|
|
358
363
|
// Prefix
|