@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
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.26.
|
|
4
|
+
"version": "18.26.14-alpha2",
|
|
5
5
|
"author": "contact@e-is.pro",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
7
7
|
"readmeFilename": "README.md",
|
|
@@ -43,19 +43,20 @@
|
|
|
43
43
|
"@awesome-cordova-plugins/core": "^6.16.0",
|
|
44
44
|
"@awesome-cordova-plugins/downloader": "^6.16.0",
|
|
45
45
|
"@capacitor-community/native-audio": "^7.0.1",
|
|
46
|
-
"@capacitor/android": "^7.4.
|
|
47
|
-
"@capacitor/app": "^7.1.
|
|
48
|
-
"@capacitor/browser": "^7.0.
|
|
49
|
-
"@capacitor/camera": "^7.0.
|
|
50
|
-
"@capacitor/clipboard": "^7.0.
|
|
51
|
-
"@capacitor/core": "^7.4.
|
|
46
|
+
"@capacitor/android": "^7.4.5",
|
|
47
|
+
"@capacitor/app": "^7.1.2",
|
|
48
|
+
"@capacitor/browser": "^7.0.5",
|
|
49
|
+
"@capacitor/camera": "^7.0.5",
|
|
50
|
+
"@capacitor/clipboard": "^7.0.4",
|
|
51
|
+
"@capacitor/core": "^7.4.5",
|
|
52
|
+
"@capacitor/device": "^7.0.5",
|
|
52
53
|
"@capacitor/geolocation": "^7.1.6",
|
|
53
|
-
"@capacitor/haptics": "^7.0.
|
|
54
|
-
"@capacitor/ios": "^7.4.
|
|
55
|
-
"@capacitor/keyboard": "^7.0.
|
|
56
|
-
"@capacitor/network": "^7.0.
|
|
57
|
-
"@capacitor/splash-screen": "^7.0.
|
|
58
|
-
"@capacitor/status-bar": "^7.0.
|
|
54
|
+
"@capacitor/haptics": "^7.0.5",
|
|
55
|
+
"@capacitor/ios": "^7.4.5",
|
|
56
|
+
"@capacitor/keyboard": "^7.0.6",
|
|
57
|
+
"@capacitor/network": "^7.0.4",
|
|
58
|
+
"@capacitor/splash-screen": "^7.0.5",
|
|
59
|
+
"@capacitor/status-bar": "^7.0.6",
|
|
59
60
|
"@capawesome/capacitor-android-edge-to-edge-support": "^7.2.3",
|
|
60
61
|
"@e-is/cordova-plugin-audiomanagement": "^1.0.3",
|
|
61
62
|
"@e-is/cordova-plugin-downloader": "^1.2.0",
|
package/public_api.d.ts
CHANGED
|
@@ -167,6 +167,7 @@ export * from './src/app/shared/markdown/markdown.directive';
|
|
|
167
167
|
export * from './src/app/shared/markdown/markdown.component';
|
|
168
168
|
export * from './src/app/shared/markdown/markdown.modal';
|
|
169
169
|
export * from './src/app/shared/print/print.service';
|
|
170
|
+
export * from './src/app/shared/gitlab/gitlab.utils';
|
|
170
171
|
export * from './src/app/core/core.module';
|
|
171
172
|
export * from './src/app/core/services/model/account.model';
|
|
172
173
|
export * from './src/app/core/services/model/token.model';
|
|
@@ -7,6 +7,8 @@ import { Configuration } from '../services/model/config.model';
|
|
|
7
7
|
import { Observable } from 'rxjs';
|
|
8
8
|
import { NetworkService } from '../services/network.service';
|
|
9
9
|
import { NodeInfo } from '../services/network.utils';
|
|
10
|
+
import { HttpClient } from '@angular/common/http';
|
|
11
|
+
import { PlatformService } from '../services/platform.service';
|
|
10
12
|
import * as i0 from "@angular/core";
|
|
11
13
|
export declare const APP_ABOUT_DEVELOPERS: InjectionToken<Partial<Department>[]>;
|
|
12
14
|
export declare const APP_ABOUT_PARTNERS: InjectionToken<Partial<Department>[]>;
|
|
@@ -15,6 +17,8 @@ export declare class AboutModal implements OnInit, OnDestroy {
|
|
|
15
17
|
protected modalController: ModalController;
|
|
16
18
|
protected configService: ConfigService;
|
|
17
19
|
protected networkService: NetworkService;
|
|
20
|
+
protected platformService: PlatformService;
|
|
21
|
+
protected http: HttpClient;
|
|
18
22
|
protected cd: ChangeDetectorRef;
|
|
19
23
|
protected environment: any;
|
|
20
24
|
developers: Partial<Department>[];
|
|
@@ -28,17 +32,20 @@ export declare class AboutModal implements OnInit, OnDestroy {
|
|
|
28
32
|
protected reportIssueUrl: string;
|
|
29
33
|
protected forumUrl: string;
|
|
30
34
|
protected helpUrl: string;
|
|
35
|
+
protected changelogUrl: string;
|
|
31
36
|
protected showVersionDetails: boolean;
|
|
32
37
|
protected nodeInfo: NodeInfo;
|
|
33
38
|
protected buildDate: string;
|
|
34
39
|
protected get allowVersionDetails(): boolean;
|
|
35
|
-
constructor(translate: TranslateService, modalController: ModalController, configService: ConfigService, networkService: NetworkService, cd: ChangeDetectorRef, environment: any, developers: Partial<Department>[], partners: Partial<Department>[]);
|
|
40
|
+
constructor(translate: TranslateService, modalController: ModalController, configService: ConfigService, networkService: NetworkService, platformService: PlatformService, http: HttpClient, cd: ChangeDetectorRef, environment: any, developers: Partial<Department>[], partners: Partial<Department>[]);
|
|
36
41
|
ngOnInit(): void;
|
|
37
42
|
ngOnDestroy(): void;
|
|
38
43
|
close(): Promise<void>;
|
|
39
44
|
protected setConfig(config?: Configuration): void;
|
|
45
|
+
protected getChangelogUrl(config?: Configuration): any;
|
|
46
|
+
protected openChangelog(event: Event): Promise<void | import("@ionic/core").OverlayEventDetail<any>>;
|
|
40
47
|
protected loadNodeInfo(): Promise<void>;
|
|
41
48
|
protected getNodeInfo(): Promise<NodeInfo>;
|
|
42
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AboutModal, [null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
49
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AboutModal, [null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
43
50
|
static ɵcmp: i0.ɵɵComponentDeclaration<AboutModal, "app-about-modal", never, {}, {}, never, never, false, never>;
|
|
44
51
|
}
|
|
@@ -139,7 +139,10 @@ export declare abstract class AppEntityEditor<T extends Entity<T, ID>, S extends
|
|
|
139
139
|
* Save data (if dirty and valid), and return it. Otherwise, return nil value.
|
|
140
140
|
*/
|
|
141
141
|
saveAndGetDataIfValid(): Promise<T | undefined>;
|
|
142
|
-
delete(event?: Event, opts?: DO
|
|
142
|
+
delete(event?: Event, opts?: DO & {
|
|
143
|
+
backdropDismiss?: boolean;
|
|
144
|
+
keyboardClose?: boolean;
|
|
145
|
+
}): Promise<boolean>;
|
|
143
146
|
reload(): Promise<void>;
|
|
144
147
|
unload(opts?: {
|
|
145
148
|
emitEvent?: boolean;
|
|
@@ -84,6 +84,7 @@ export declare class AppPropertiesForm<O = any, T extends Property<O> = Property
|
|
|
84
84
|
setValue(data: PropertyMap | T[], opts?: {
|
|
85
85
|
emitEvent?: boolean;
|
|
86
86
|
}): Promise<void>;
|
|
87
|
+
getRawValueAsJson(): PropertyMap;
|
|
87
88
|
getValueAsJson(): PropertyMap;
|
|
88
89
|
clear(): void;
|
|
89
90
|
protected toggleShowHintKeys(): void;
|
|
@@ -209,7 +209,7 @@ export declare class AccountService extends BaseGraphqlService<Account, any, num
|
|
|
209
209
|
* Save account into the local storage
|
|
210
210
|
*/
|
|
211
211
|
protected saveLocally(): Promise<void>;
|
|
212
|
-
saveLocalSettingsRemotely(source: LocalSettings): Promise<void>;
|
|
212
|
+
saveLocalSettingsRemotely(source: LocalSettings, force?: boolean): Promise<void>;
|
|
213
213
|
/**
|
|
214
214
|
* Create or update an user account
|
|
215
215
|
*
|
|
@@ -21,6 +21,7 @@ export declare const CORE_CONFIG_OPTIONS: Readonly<{
|
|
|
21
21
|
HELP_URL: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any, any>;
|
|
22
22
|
FORUM_URL: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any, any>;
|
|
23
23
|
REPORT_ISSUE_URL: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any, any>;
|
|
24
|
+
CHANGELOG_URL: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any, any>;
|
|
24
25
|
PRIVACY_POLICY_URL: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any, any>;
|
|
25
26
|
TERMS_OF_USE_URL: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any, any>;
|
|
26
27
|
LOGO_LARGE: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any, any>;
|
|
@@ -19,6 +19,7 @@ import { OpenOptions } from '@capacitor/browser';
|
|
|
19
19
|
import { ILoggingService } from '../../shared/logging/logger.model';
|
|
20
20
|
import { Clipboard as CdkClipboard } from '@angular/cdk/clipboard';
|
|
21
21
|
import { WriteOptions } from '@capacitor/clipboard/dist/esm/definitions';
|
|
22
|
+
import { DeviceInfo } from '@capacitor/device';
|
|
22
23
|
import * as i0 from "@angular/core";
|
|
23
24
|
export declare const AndroidOsEnvironment: Readonly<{
|
|
24
25
|
DIRECTORY_DOWNLOADS: "Download";
|
|
@@ -112,6 +113,7 @@ export declare class PlatformService extends StartableService {
|
|
|
112
113
|
}) => void): Promise<Subscription>;
|
|
113
114
|
showToast(opts: ShowToastOptions): Promise<HTMLIonToastElement>;
|
|
114
115
|
closeToast(id?: string): Promise<boolean>;
|
|
116
|
+
getDeviceInfo(): Promise<DeviceInfo>;
|
|
115
117
|
protected configureTheme(mobile: boolean, win?: any): Promise<void>;
|
|
116
118
|
protected configureCapacitorPlugins(): Promise<void>;
|
|
117
119
|
protected configureTranslate(): void;
|
|
@@ -52,8 +52,9 @@ export declare class SettingsPage extends AppForm<LocalSettings> implements OnIn
|
|
|
52
52
|
save(event?: Event, options?: any): Promise<boolean>;
|
|
53
53
|
setAccountInheritance(enable: boolean, opts?: {
|
|
54
54
|
emitEvent?: boolean;
|
|
55
|
+
updateInheritanceValues?: boolean;
|
|
55
56
|
}): void;
|
|
56
|
-
showSelectPeerModal(opts?: Partial<ISelectPeerModalOptions>): Promise<void>;
|
|
57
|
+
showSelectPeerModal(event?: Event, opts?: Partial<ISelectPeerModalOptions>): Promise<void>;
|
|
57
58
|
protected setForceOffline(value: boolean): void;
|
|
58
59
|
cancel(event?: Event): Promise<void>;
|
|
59
60
|
close(_?: Event): Promise<boolean>;
|
|
@@ -91,6 +91,7 @@ export declare abstract class AppAsyncTable<T extends IEntity<T, ID>, F = any, I
|
|
|
91
91
|
propagateRowError: boolean;
|
|
92
92
|
permanentSelectionAllowed: boolean;
|
|
93
93
|
openRowThrottleTime: number;
|
|
94
|
+
loadingDebounceTime: number;
|
|
94
95
|
defaultSortBy: string;
|
|
95
96
|
defaultSortDirection: SortDirection;
|
|
96
97
|
defaultPageSize: number;
|
|
@@ -331,6 +332,7 @@ export declare abstract class AppAsyncTable<T extends IEntity<T, ID>, F = any, I
|
|
|
331
332
|
translateFormPath(path: string): string;
|
|
332
333
|
protected editRow(event: Event | undefined, row: AsyncTableElement<T>, opts?: {
|
|
333
334
|
focusColumn?: string;
|
|
335
|
+
canceling?: boolean;
|
|
334
336
|
}): Promise<boolean>;
|
|
335
337
|
/**
|
|
336
338
|
* Try to select row, by row.id, or by data. WIll use EntityUtils.equals()
|
|
@@ -350,6 +352,8 @@ export declare abstract class AppAsyncTable<T extends IEntity<T, ID>, F = any, I
|
|
|
350
352
|
}): Promise<boolean>;
|
|
351
353
|
protected canCancelRows(rows?: AsyncTableElement<T>[], opts?: {
|
|
352
354
|
interactive?: boolean;
|
|
355
|
+
backdropDismiss?: boolean;
|
|
356
|
+
keyboardClose?: boolean;
|
|
353
357
|
}): Promise<boolean>;
|
|
354
358
|
protected saveBeforeAction(saveAction: SaveActionType): Promise<boolean>;
|
|
355
359
|
/**
|
|
@@ -392,9 +396,17 @@ export declare abstract class AppAsyncTable<T extends IEntity<T, ID>, F = any, I
|
|
|
392
396
|
protected detectChanges(): void;
|
|
393
397
|
protected askDeleteConfirmation(event?: Event, rows?: AsyncTableElement<T>[], opts?: {
|
|
394
398
|
messageKey?: string;
|
|
399
|
+
backdropDismiss?: boolean;
|
|
400
|
+
keyboardClose?: boolean;
|
|
401
|
+
}): Promise<boolean>;
|
|
402
|
+
protected askCancelConfirmation(event?: Event, rows?: AsyncTableElement<T>[], opts?: {
|
|
403
|
+
backdropDismiss?: boolean;
|
|
404
|
+
keyboardClose?: boolean;
|
|
405
|
+
}): Promise<boolean>;
|
|
406
|
+
protected askRestoreConfirmation(event?: Event, opts?: {
|
|
407
|
+
backdropDismiss?: boolean;
|
|
408
|
+
keyboardClose?: boolean;
|
|
395
409
|
}): Promise<boolean>;
|
|
396
|
-
protected askCancelConfirmation(event?: Event, rows?: AsyncTableElement<T>[]): Promise<boolean>;
|
|
397
|
-
protected askRestoreConfirmation(event?: Event): Promise<boolean>;
|
|
398
410
|
protected showToast(opts: ShowToastOptions): Promise<import("@ionic/core").OverlayEventDetail<any>>;
|
|
399
411
|
protected resetError(opts?: {
|
|
400
412
|
emitEvent?: boolean;
|
|
@@ -442,5 +454,5 @@ export declare abstract class AppAsyncTable<T extends IEntity<T, ID>, F = any, I
|
|
|
442
454
|
private startCellValueChanges;
|
|
443
455
|
private stopCellValueChanges;
|
|
444
456
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppAsyncTable<any, any, any>, never>;
|
|
445
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AppAsyncTable<any, any, any>, never, never, { "settingsId": { "alias": "settingsId"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "i18nColumnPrefix": { "alias": "i18nColumnPrefix"; "required": false; }; "i18nColumnSuffix": { "alias": "i18nColumnSuffix"; "required": false; }; "autoLoad": { "alias": "autoLoad"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "inlineEdition": { "alias": "inlineEdition"; "required": false; }; "focusFirstColumn": { "alias": "focusFirstColumn"; "required": false; }; "confirmBeforeDelete": { "alias": "confirmBeforeDelete"; "required": false; }; "confirmBeforeCancel": { "alias": "confirmBeforeCancel"; "required": false; }; "undoableDeletion": { "alias": "undoableDeletion"; "required": false; }; "saveBeforeDelete": { "alias": "saveBeforeDelete"; "required": false; }; "keepEditedRowOnSave": { "alias": "keepEditedRowOnSave"; "required": false; }; "saveBeforeSort": { "alias": "saveBeforeSort"; "required": false; }; "saveBeforeFilter": { "alias": "saveBeforeFilter"; "required": false; }; "propagateRowError": { "alias": "propagateRowError"; "required": false; }; "permanentSelectionAllowed": { "alias": "permanentSelectionAllowed"; "required": false; }; "openRowThrottleTime": { "alias": "openRowThrottleTime"; "required": false; }; "defaultSortBy": { "alias": "defaultSortBy"; "required": false; }; "defaultSortDirection": { "alias": "defaultSortDirection"; "required": false; }; "defaultPageSize": { "alias": "defaultPageSize"; "required": false; }; "defaultPageSizeOptions": { "alias": "defaultPageSizeOptions"; "required": false; }; "focusColumn": { "alias": "focusColumn"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; }, { "onRefresh": "onRefresh"; "onClickRow": "onClickRow"; "onOpenRow": "onOpenRow"; "onNewRow": "onNewRow"; "onStartEditingRow": "onStartEditingRow"; "onConfirmEditCreateRow": "onConfirmEditCreateRow"; "onCancelOrDeleteRow": "onCancelOrDeleteRow"; "onBeforeDeleteRows": "onBeforeDeleteRows"; "onBeforeCancelRows": "onBeforeCancelRows"; "onBeforeSave": "onBeforeSave"; "onAfterDeletedRows": "onAfterDeletedRows"; "onSort": "onSort"; "onDirty": "onDirty"; "onError": "onError"; }, never, never, false, never>;
|
|
457
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AppAsyncTable<any, any, any>, never, never, { "settingsId": { "alias": "settingsId"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "i18nColumnPrefix": { "alias": "i18nColumnPrefix"; "required": false; }; "i18nColumnSuffix": { "alias": "i18nColumnSuffix"; "required": false; }; "autoLoad": { "alias": "autoLoad"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "inlineEdition": { "alias": "inlineEdition"; "required": false; }; "focusFirstColumn": { "alias": "focusFirstColumn"; "required": false; }; "confirmBeforeDelete": { "alias": "confirmBeforeDelete"; "required": false; }; "confirmBeforeCancel": { "alias": "confirmBeforeCancel"; "required": false; }; "undoableDeletion": { "alias": "undoableDeletion"; "required": false; }; "saveBeforeDelete": { "alias": "saveBeforeDelete"; "required": false; }; "keepEditedRowOnSave": { "alias": "keepEditedRowOnSave"; "required": false; }; "saveBeforeSort": { "alias": "saveBeforeSort"; "required": false; }; "saveBeforeFilter": { "alias": "saveBeforeFilter"; "required": false; }; "propagateRowError": { "alias": "propagateRowError"; "required": false; }; "permanentSelectionAllowed": { "alias": "permanentSelectionAllowed"; "required": false; }; "openRowThrottleTime": { "alias": "openRowThrottleTime"; "required": false; }; "loadingDebounceTime": { "alias": "loadingDebounceTime"; "required": false; }; "defaultSortBy": { "alias": "defaultSortBy"; "required": false; }; "defaultSortDirection": { "alias": "defaultSortDirection"; "required": false; }; "defaultPageSize": { "alias": "defaultPageSize"; "required": false; }; "defaultPageSizeOptions": { "alias": "defaultPageSizeOptions"; "required": false; }; "focusColumn": { "alias": "focusColumn"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; }, { "onRefresh": "onRefresh"; "onClickRow": "onClickRow"; "onOpenRow": "onOpenRow"; "onNewRow": "onNewRow"; "onStartEditingRow": "onStartEditingRow"; "onConfirmEditCreateRow": "onConfirmEditCreateRow"; "onCancelOrDeleteRow": "onCancelOrDeleteRow"; "onBeforeDeleteRows": "onBeforeDeleteRows"; "onBeforeCancelRows": "onBeforeCancelRows"; "onBeforeSave": "onBeforeSave"; "onAfterDeletedRows": "onAfterDeletedRows"; "onSort": "onSort"; "onDirty": "onDirty"; "onError": "onError"; }, never, never, false, never>;
|
|
446
458
|
}
|
|
@@ -17,7 +17,6 @@ export declare class AppRowField implements OnInit, OnDestroy {
|
|
|
17
17
|
headerI18n: string;
|
|
18
18
|
sortable: boolean;
|
|
19
19
|
resizable: boolean;
|
|
20
|
-
required: boolean;
|
|
21
20
|
readonly: boolean;
|
|
22
21
|
sticky: boolean;
|
|
23
22
|
draggable: boolean;
|
|
@@ -33,9 +32,11 @@ export declare class AppRowField implements OnInit, OnDestroy {
|
|
|
33
32
|
classList: string;
|
|
34
33
|
debug: boolean;
|
|
35
34
|
protected logPrefix: string;
|
|
35
|
+
protected required: boolean;
|
|
36
36
|
constructor(cd: ChangeDetectorRef, matTable: MatTable<any>);
|
|
37
37
|
ngOnInit(): void;
|
|
38
38
|
ngOnDestroy(): void;
|
|
39
|
+
protected onDefinitionChanged(defintion: FormFieldDefinition): void;
|
|
39
40
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppRowField, never>;
|
|
40
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AppRowField, "app-row-field", never, { "name": { "alias": "name"; "required": false; }; "definition": { "alias": "definition"; "required": false; }; "definitionFn": { "alias": "definitionFn"; "required": false; }; "headerI18n": { "alias": "headerI18n"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "
|
|
41
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AppRowField, "app-row-field", never, { "name": { "alias": "name"; "required": false; }; "definition": { "alias": "definition"; "required": false; }; "definitionFn": { "alias": "definitionFn"; "required": false; }; "headerI18n": { "alias": "headerI18n"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "sticky": { "alias": "sticky"; "required": false; }; "draggable": { "alias": "draggable"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; }, {}, never, never, false, never>;
|
|
41
42
|
}
|
|
@@ -95,6 +95,7 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
|
|
|
95
95
|
propagateRowError: boolean;
|
|
96
96
|
permanentSelectionAllowed: boolean;
|
|
97
97
|
openRowThrottleTime: number;
|
|
98
|
+
loadingDebounceTime: number;
|
|
98
99
|
defaultSortBy: string;
|
|
99
100
|
defaultSortDirection: SortDirection;
|
|
100
101
|
defaultPageSize: number;
|
|
@@ -312,6 +313,7 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
|
|
|
312
313
|
translateFormPath(path: string): string;
|
|
313
314
|
protected editRow(event: Event | undefined, row: TableElement<T>, opts?: {
|
|
314
315
|
focusColumn?: string;
|
|
316
|
+
canceling?: boolean;
|
|
315
317
|
}): boolean;
|
|
316
318
|
/**
|
|
317
319
|
* Try to select row, by row.id, or by data. WIll use EntityUtils.equals()
|
|
@@ -373,9 +375,17 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
|
|
|
373
375
|
protected detectChanges(): void;
|
|
374
376
|
protected askDeleteConfirmation(event?: Event, rows?: TableElement<T>[], opts?: {
|
|
375
377
|
messageKey?: string;
|
|
378
|
+
backdropDismiss?: boolean;
|
|
379
|
+
keyboardClose?: boolean;
|
|
380
|
+
}): Promise<boolean>;
|
|
381
|
+
protected askCancelConfirmation(event?: Event, rows?: TableElement<T>[], opts?: {
|
|
382
|
+
backdropDismiss?: boolean;
|
|
383
|
+
keyboardClose?: boolean;
|
|
384
|
+
}): Promise<boolean>;
|
|
385
|
+
protected askRestoreConfirmation(event?: Event, opts?: {
|
|
386
|
+
backdropDismiss?: boolean;
|
|
387
|
+
keyboardClose?: boolean;
|
|
376
388
|
}): Promise<boolean>;
|
|
377
|
-
protected askCancelConfirmation(event?: Event, rows?: TableElement<T>[]): Promise<boolean>;
|
|
378
|
-
protected askRestoreConfirmation(event?: Event): Promise<boolean>;
|
|
379
389
|
protected showToast(opts: ShowToastOptions): Promise<import("@ionic/core").OverlayEventDetail<any>>;
|
|
380
390
|
protected resetError(opts?: {
|
|
381
391
|
emitEvent?: boolean;
|
|
@@ -423,5 +433,5 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
|
|
|
423
433
|
private startCellValueChanges;
|
|
424
434
|
private stopCellValueChanges;
|
|
425
435
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppTable<any, any, any>, never>;
|
|
426
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AppTable<any, any, any>, never, never, { "settingsId": { "alias": "settingsId"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "i18nColumnPrefix": { "alias": "i18nColumnPrefix"; "required": false; }; "i18nColumnSuffix": { "alias": "i18nColumnSuffix"; "required": false; }; "autoLoad": { "alias": "autoLoad"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "inlineEdition": { "alias": "inlineEdition"; "required": false; }; "focusFirstColumn": { "alias": "focusFirstColumn"; "required": false; }; "confirmBeforeDelete": { "alias": "confirmBeforeDelete"; "required": false; }; "confirmBeforeCancel": { "alias": "confirmBeforeCancel"; "required": false; }; "undoableDeletion": { "alias": "undoableDeletion"; "required": false; }; "saveBeforeDelete": { "alias": "saveBeforeDelete"; "required": false; }; "keepEditedRowOnSave": { "alias": "keepEditedRowOnSave"; "required": false; }; "saveBeforeSort": { "alias": "saveBeforeSort"; "required": false; }; "saveBeforeFilter": { "alias": "saveBeforeFilter"; "required": false; }; "propagateRowError": { "alias": "propagateRowError"; "required": false; }; "permanentSelectionAllowed": { "alias": "permanentSelectionAllowed"; "required": false; }; "openRowThrottleTime": { "alias": "openRowThrottleTime"; "required": false; }; "defaultSortBy": { "alias": "defaultSortBy"; "required": false; }; "defaultSortDirection": { "alias": "defaultSortDirection"; "required": false; }; "defaultPageSize": { "alias": "defaultPageSize"; "required": false; }; "defaultPageSizeOptions": { "alias": "defaultPageSizeOptions"; "required": false; }; "focusColumn": { "alias": "focusColumn"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; }, { "onRefresh": "onRefresh"; "onClickRow": "onClickRow"; "onOpenRow": "onOpenRow"; "onNewRow": "onNewRow"; "onStartEditingRow": "onStartEditingRow"; "onConfirmEditCreateRow": "onConfirmEditCreateRow"; "onCancelOrDeleteRow": "onCancelOrDeleteRow"; "onBeforeDeleteRows": "onBeforeDeleteRows"; "onBeforeCancelRows": "onBeforeCancelRows"; "onBeforeSave": "onBeforeSave"; "onAfterDeletedRows": "onAfterDeletedRows"; "onSort": "onSort"; "onDirty": "onDirty"; "onError": "onError"; }, never, never, false, never>;
|
|
436
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AppTable<any, any, any>, never, never, { "settingsId": { "alias": "settingsId"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "i18nColumnPrefix": { "alias": "i18nColumnPrefix"; "required": false; }; "i18nColumnSuffix": { "alias": "i18nColumnSuffix"; "required": false; }; "autoLoad": { "alias": "autoLoad"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "inlineEdition": { "alias": "inlineEdition"; "required": false; }; "focusFirstColumn": { "alias": "focusFirstColumn"; "required": false; }; "confirmBeforeDelete": { "alias": "confirmBeforeDelete"; "required": false; }; "confirmBeforeCancel": { "alias": "confirmBeforeCancel"; "required": false; }; "undoableDeletion": { "alias": "undoableDeletion"; "required": false; }; "saveBeforeDelete": { "alias": "saveBeforeDelete"; "required": false; }; "keepEditedRowOnSave": { "alias": "keepEditedRowOnSave"; "required": false; }; "saveBeforeSort": { "alias": "saveBeforeSort"; "required": false; }; "saveBeforeFilter": { "alias": "saveBeforeFilter"; "required": false; }; "propagateRowError": { "alias": "propagateRowError"; "required": false; }; "permanentSelectionAllowed": { "alias": "permanentSelectionAllowed"; "required": false; }; "openRowThrottleTime": { "alias": "openRowThrottleTime"; "required": false; }; "loadingDebounceTime": { "alias": "loadingDebounceTime"; "required": false; }; "defaultSortBy": { "alias": "defaultSortBy"; "required": false; }; "defaultSortDirection": { "alias": "defaultSortDirection"; "required": false; }; "defaultPageSize": { "alias": "defaultPageSize"; "required": false; }; "defaultPageSizeOptions": { "alias": "defaultPageSizeOptions"; "required": false; }; "focusColumn": { "alias": "focusColumn"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; }, { "onRefresh": "onRefresh"; "onClickRow": "onClickRow"; "onOpenRow": "onOpenRow"; "onNewRow": "onNewRow"; "onStartEditingRow": "onStartEditingRow"; "onConfirmEditCreateRow": "onConfirmEditCreateRow"; "onCancelOrDeleteRow": "onCancelOrDeleteRow"; "onBeforeDeleteRows": "onBeforeDeleteRows"; "onBeforeCancelRows": "onBeforeCancelRows"; "onBeforeSave": "onBeforeSave"; "onAfterDeletedRows": "onAfterDeletedRows"; "onSort": "onSort"; "onDirty": "onDirty"; "onError": "onError"; }, never, never, false, never>;
|
|
427
437
|
}
|
|
@@ -9,8 +9,14 @@ export declare class Alerts {
|
|
|
9
9
|
* @param alertCtrl
|
|
10
10
|
* @param translate
|
|
11
11
|
* @param event
|
|
12
|
+
* @param opts
|
|
13
|
+
* @param opts.backdropDismiss Whether the alert can be dismissed by clicking the backdrop (default: true)
|
|
14
|
+
* @param opts.keyboardClose Whether the alert can be dismissed by pressing the back button (default: true)
|
|
12
15
|
*/
|
|
13
|
-
static askSaveBeforeLeave(alertCtrl: AlertController, translate: TranslateService, event?: Event
|
|
16
|
+
static askSaveBeforeLeave(alertCtrl: AlertController, translate: TranslateService, event?: Event, opts?: {
|
|
17
|
+
backdropDismiss?: boolean;
|
|
18
|
+
keyboardClose?: boolean;
|
|
19
|
+
}): Promise<boolean | undefined>;
|
|
14
20
|
/**
|
|
15
21
|
* Ask the user to conform an action. If return undefined: user has cancelled
|
|
16
22
|
*
|
|
@@ -19,8 +25,15 @@ export declare class Alerts {
|
|
|
19
25
|
* @param immediate is action has an immediate effect ?
|
|
20
26
|
* @param event
|
|
21
27
|
* @param interpolateParams
|
|
28
|
+
* @param opts
|
|
29
|
+
* @param opts.backdropDismiss Whether the alert can be dismissed by clicking the backdrop (default: true)
|
|
30
|
+
* @param opts.keyboardClose Whether the alert can be dismissed by pressing the back button (default: true)
|
|
22
31
|
*/
|
|
23
|
-
static askActionConfirmation(alertCtrl: AlertController, translate: TranslateService, immediate?: boolean, event?: Event,
|
|
32
|
+
static askActionConfirmation(alertCtrl: AlertController, translate: TranslateService, immediate?: boolean, event?: Event, opts?: {
|
|
33
|
+
backdropDismiss?: boolean;
|
|
34
|
+
keyboardClose?: boolean;
|
|
35
|
+
[key: string]: any;
|
|
36
|
+
}, interpolateParams?: any): Promise<boolean | undefined>;
|
|
24
37
|
/**
|
|
25
38
|
* Ask the user to confirm. If return undefined: user has cancelled
|
|
26
39
|
*
|
|
@@ -30,8 +43,17 @@ export declare class Alerts {
|
|
|
30
43
|
* @param translate
|
|
31
44
|
* @param event
|
|
32
45
|
* @param interpolateParams
|
|
46
|
+
* @param opts
|
|
47
|
+
* @param opts.backdropDismiss Whether the alert can be dismissed by clicking the backdrop (default: true)
|
|
48
|
+
* @param opts.keyboardClose Whether the alert can be dismissed by pressing the back button (default: true)
|
|
49
|
+
*
|
|
50
|
+
* Note: interpolateParams and opts are merged for translation for compatibility
|
|
33
51
|
*/
|
|
34
|
-
static askConfirmation(messageKey: string, alertCtrl: AlertController, translate: TranslateService, event?: Event,
|
|
52
|
+
static askConfirmation(messageKey: string, alertCtrl: AlertController, translate: TranslateService, event?: Event, opts?: {
|
|
53
|
+
backdropDismiss?: boolean;
|
|
54
|
+
keyboardClose?: boolean;
|
|
55
|
+
[key: string]: any;
|
|
56
|
+
}, interpolateParams?: any): Promise<boolean | undefined>;
|
|
35
57
|
/**
|
|
36
58
|
* Ask the user to save before leaving. If return undefined: user has cancelled
|
|
37
59
|
*
|
|
@@ -39,17 +61,30 @@ export declare class Alerts {
|
|
|
39
61
|
* @param translate
|
|
40
62
|
* @param event
|
|
41
63
|
* @param interpolateParams
|
|
64
|
+
* @param opts
|
|
65
|
+
* @param opts.backdropDismiss Whether the alert can be dismissed by clicking the backdrop (default: true)
|
|
66
|
+
* @param opts.keyboardClose Whether the alert can be dismissed by pressing the back button (default: true)
|
|
67
|
+
*
|
|
68
|
+
* Note: interpolateParams and opts are merged for translation for compatibility
|
|
42
69
|
*/
|
|
43
|
-
static askDeleteConfirmation(alertCtrl: AlertController, translate: TranslateService, event?: Event,
|
|
70
|
+
static askDeleteConfirmation(alertCtrl: AlertController, translate: TranslateService, event?: Event, opts?: {
|
|
71
|
+
backdropDismiss?: boolean;
|
|
72
|
+
keyboardClose?: boolean;
|
|
73
|
+
[key: string]: any;
|
|
74
|
+
}, interpolateParams?: any): Promise<boolean | undefined>;
|
|
44
75
|
static askSaveBeforeAction(alertCtrl: AlertController, translate: TranslateService, opts?: {
|
|
45
76
|
valid?: boolean;
|
|
46
77
|
validMessageI18n?: string;
|
|
47
78
|
invalidMessageI18n?: string;
|
|
79
|
+
backdropDismiss?: boolean;
|
|
80
|
+
keyboardClose?: boolean;
|
|
48
81
|
}, interpolateParams?: any): Promise<{
|
|
49
82
|
confirmed: boolean;
|
|
50
83
|
save: boolean;
|
|
51
84
|
} | undefined>;
|
|
52
85
|
static showError(messageKey: string, alertCtrl: AlertController, translate: TranslateService, opts?: {
|
|
53
86
|
titleKey?: string;
|
|
87
|
+
backdropDismiss?: boolean;
|
|
88
|
+
keyboardClose?: boolean;
|
|
54
89
|
}, interpolateParams?: any): Promise<void>;
|
|
55
90
|
}
|
|
@@ -41,6 +41,7 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
|
|
|
41
41
|
panelClass: string;
|
|
42
42
|
panelWidth: string;
|
|
43
43
|
onKeyupEnter: EventEmitter<any>;
|
|
44
|
+
definitionChanged: EventEmitter<FormFieldDefinition<string, FormFieldType, any, any>>;
|
|
44
45
|
get value(): any;
|
|
45
46
|
matInput: ElementRef;
|
|
46
47
|
autocompleteField: MatAutocompleteField;
|
|
@@ -70,7 +71,7 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
|
|
|
70
71
|
}): void;
|
|
71
72
|
protected updateTabIndex(timeout?: number): void;
|
|
72
73
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppFormField, [null, null, null, { optional: true; }]>;
|
|
73
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AppFormField, "app-form-field", never, { "definition": { "alias": "definition"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "required": { "alias": "required"; "required": false; }; "hideRequiredMarker": { "alias": "hideRequiredMarker"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "label": { "alias": "label"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; }, { "onKeyupEnter": "keyup.enter"; }, never, ["[matSuffix]", "mat-error", "[matSuffix]", "mat-error", "[matSuffix]", "mat-error", "[matSuffix]", "mat-error", "[matSuffix]", "mat-error", "[matPrefix]", "[matSuffix]", "mat-error", "[matPrefix]", "[matSuffix]", "mat-error", "mat-error", "[matSuffix]", "mat-error", "[matPrefix]", "[matSuffix]", "mat-error", "[matPrefix]", "[matSuffix]", "mat-error", "[matSuffix]", "mat-error"], false, never>;
|
|
74
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AppFormField, "app-form-field", never, { "definition": { "alias": "definition"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "required": { "alias": "required"; "required": false; }; "hideRequiredMarker": { "alias": "hideRequiredMarker"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "label": { "alias": "label"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; }, { "onKeyupEnter": "keyup.enter"; "definitionChanged": "definitionChanged"; }, never, ["[matSuffix]", "mat-error", "[matSuffix]", "mat-error", "[matSuffix]", "mat-error", "[matSuffix]", "mat-error", "[matSuffix]", "mat-error", "[matPrefix]", "[matSuffix]", "mat-error", "[matPrefix]", "[matSuffix]", "mat-error", "mat-error", "[matSuffix]", "mat-error", "[matPrefix]", "[matSuffix]", "mat-error", "[matPrefix]", "[matSuffix]", "mat-error", "[matSuffix]", "mat-error"], false, never>;
|
|
74
75
|
static ngAcceptInputType_readonly: unknown;
|
|
75
76
|
static ngAcceptInputType_disabled: unknown;
|
|
76
77
|
static ngAcceptInputType_compact: unknown;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
export interface IGitlabRelease {
|
|
3
|
+
name: string;
|
|
4
|
+
tag_name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class GitlabUtils {
|
|
8
|
+
static API_V4_PATH: string;
|
|
9
|
+
static API_V4_PROJECTS_PATH: string;
|
|
10
|
+
/**
|
|
11
|
+
* Checks whether a URL points to a Gitlab instance.
|
|
12
|
+
*
|
|
13
|
+
* A URL is considered a Gitlab URL either when its host starts with 'gitlab.'
|
|
14
|
+
* (e.g. 'https://gitlab.ifremer.fr/...'), or when it is a repository file URL
|
|
15
|
+
* (see {@link isRepoFileUrl}) - in which case the host is NOT checked, since
|
|
16
|
+
* a self-hosted Gitlab instance may use a custom domain name.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* GitlabUtils.isGitlabUrl('https://gitlab.ifremer.fr/sih-public/sumaris/sumaris-app'); // true
|
|
20
|
+
* GitlabUtils.isGitlabUrl('https://my-custom-domain.com/foo/-/raw/master/README.md'); // true (repo file URL)
|
|
21
|
+
* GitlabUtils.isGitlabUrl('https://github.com/foo/bar'); // false
|
|
22
|
+
*/
|
|
23
|
+
static isGitlabUrl(url: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Checks whether a URL is a Gitlab repository file URL, i.e. a URL used to
|
|
26
|
+
* view a single file in a repository ('/-/blob/') or to download its raw
|
|
27
|
+
* content ('/-/raw/').
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* GitlabUtils.isRepoFileUrl('https://gitlab.ifremer.fr/a/b/-/raw/master/README.md'); // true
|
|
31
|
+
* GitlabUtils.isRepoFileUrl('https://gitlab.ifremer.fr/a/b/-/blob/master/README.md'); // true
|
|
32
|
+
* GitlabUtils.isRepoFileUrl('https://gitlab.ifremer.fr/api/v4/projects/a%2Fb'); // false
|
|
33
|
+
*/
|
|
34
|
+
static isRepoFileUrl(url: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Converts a repository file URL into its 'raw content' equivalent, by
|
|
37
|
+
* replacing the '/-/blob/' (file viewer) or '/-/tree/' (directory viewer)
|
|
38
|
+
* segment with '/-/raw/'.
|
|
39
|
+
*
|
|
40
|
+
* If the URL is not a repository file URL (see {@link isRepoFileUrl}), it is
|
|
41
|
+
* returned unchanged.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* GitlabUtils.getRawRepoFileUrl('https://gitlab.ifremer.fr/a/b/-/blob/master/README.md');
|
|
45
|
+
* // 'https://gitlab.ifremer.fr/a/b/-/raw/master/README.md'
|
|
46
|
+
*/
|
|
47
|
+
static getRawRepoFileUrl(url: string): string;
|
|
48
|
+
/**
|
|
49
|
+
* Checks whether a URL targets the Gitlab REST API (any endpoint under
|
|
50
|
+
* '/api/v4/'). Repository file URLs (see {@link isRepoFileUrl}) are always
|
|
51
|
+
* excluded, even if they happen to contain '/api/v4/' somewhere in their path.
|
|
52
|
+
*/
|
|
53
|
+
static isApiUrl(url: string): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Checks whether a URL targets the Gitlab 'projects' REST API (any endpoint
|
|
56
|
+
* under '/api/v4/projects/'), e.g. project releases, branches, etc.
|
|
57
|
+
*/
|
|
58
|
+
static isApiProjectsUrl(url: string): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Checks whether a URL targets the Gitlab project releases REST API, e.g.
|
|
61
|
+
* 'https://gitlab.ifremer.fr/api/v4/projects/{id}/releases' (all releases)
|
|
62
|
+
* or 'https://gitlab.ifremer.fr/api/v4/projects/{id}/releases/{tag_name}'
|
|
63
|
+
* (a single release).
|
|
64
|
+
*/
|
|
65
|
+
static isProjectReleasesApiUrl(url: string): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Fetches releases from the Gitlab project releases REST API.
|
|
68
|
+
*
|
|
69
|
+
* The given URL can either target the collection endpoint
|
|
70
|
+
* ('.../releases', returning all releases), or a single release endpoint
|
|
71
|
+
* ('.../releases/{tag_name}', returning one release, wrapped into an array).
|
|
72
|
+
*
|
|
73
|
+
* @return the list of releases, an empty array if the API call failed for a
|
|
74
|
+
* single release, or `null` if the URL is not a project releases API URL.
|
|
75
|
+
*/
|
|
76
|
+
static getProjectReleases(http: HttpClient, url: string): Promise<IGitlabRelease[]>;
|
|
77
|
+
/**
|
|
78
|
+
* Extracts the URL-encoded project path (e.g. 'group%2Fsubgroup%2Fproject')
|
|
79
|
+
* from a Gitlab 'projects' API URL. The returned value is NOT decoded, so it
|
|
80
|
+
* still contains '%2F' in place of '/'.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* GitlabUtils.getProjectNameFromApiUrl('https://gitlab.ifremer.fr/api/v4/projects/sih-public%2Fsumaris%2Fsumaris-app/releases');
|
|
84
|
+
* // 'sih-public%2Fsumaris%2Fsumaris-app'
|
|
85
|
+
*/
|
|
86
|
+
static getProjectNameFromApiUrl(url: string): string;
|
|
87
|
+
/**
|
|
88
|
+
* Resolves the Gitlab web page associated to a URL:
|
|
89
|
+
* - for an API 'projects' URL (see {@link isApiUrl}), this is the project's
|
|
90
|
+
* home page, e.g. 'https://gitlab.ifremer.fr/sih-public/sumaris/sumaris-app';
|
|
91
|
+
* - for a repository file URL (see {@link isRepoFileUrl}), this is the
|
|
92
|
+
* project's raw content base path (e.g. '.../my-project/-/raw/'), since
|
|
93
|
+
* the project path cannot be reliably distinguished from the file path
|
|
94
|
+
* once slashes are un-encoded.
|
|
95
|
+
*
|
|
96
|
+
* @return `null` if the project page cannot be resolved from the given URL.
|
|
97
|
+
*/
|
|
98
|
+
static getProjectPage(url: string): string;
|
|
99
|
+
/**
|
|
100
|
+
* Builds the URL of the Gitlab web page listing a project's releases (e.g.
|
|
101
|
+
* 'https://gitlab.ifremer.fr/sih-public/sumaris/sumaris-app/-/releases'),
|
|
102
|
+
* optionally anchored on a specific version/tag.
|
|
103
|
+
*
|
|
104
|
+
* @param url any URL from which the project page can be resolved (see {@link getProjectPage})
|
|
105
|
+
* @param version optional tag name (e.g. '2.16.2') appended to the releases page
|
|
106
|
+
* @return `null` if the project page cannot be resolved from the given URL.
|
|
107
|
+
*/
|
|
108
|
+
static getProjectReleasePage(url: string, version?: string): string;
|
|
109
|
+
}
|
|
@@ -140,6 +140,8 @@ export declare class AppImageGalleryComponent<T extends Image> implements OnInit
|
|
|
140
140
|
} & Omit<ImageOptions, 'resultType'>): Promise<void>;
|
|
141
141
|
delete(event: Event, row: TableElement<T>, opts?: {
|
|
142
142
|
interactive?: boolean;
|
|
143
|
+
backdropDismiss?: boolean;
|
|
144
|
+
keyboardClose?: boolean;
|
|
143
145
|
}): Promise<boolean>;
|
|
144
146
|
toggleViewMode(_?: Event): void;
|
|
145
147
|
setViewMode(mode: GalleryMode): void;
|
|
@@ -171,6 +173,8 @@ export declare class AppImageGalleryComponent<T extends Image> implements OnInit
|
|
|
171
173
|
}>): Promise<void>;
|
|
172
174
|
protected canDeleteRows(rows: TableElement<T>[], opts?: {
|
|
173
175
|
interactive?: boolean;
|
|
176
|
+
backdropDismiss?: boolean;
|
|
177
|
+
keyboardClose?: boolean;
|
|
174
178
|
}): Promise<boolean>;
|
|
175
179
|
protected getImageSizeQueryParams(mode?: GalleryMode | 'modal'): {
|
|
176
180
|
[key: string]: any;
|
|
@@ -20,7 +20,5 @@ export declare class MarkdownUtils {
|
|
|
20
20
|
static resolveRelativeUrl(baseUrl: string, relativePath: string, opts?: {
|
|
21
21
|
absoluteByDefault: boolean;
|
|
22
22
|
}): string;
|
|
23
|
-
static isGitlabUrl(url: string): boolean;
|
|
24
|
-
static fixGitlabUrlToRaw(url: string): string;
|
|
25
23
|
static getRootUrl(url: string): string;
|
|
26
24
|
}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { TranslateService } from '@ngx-translate/core';
|
|
2
|
+
import { OnDestroy } from '@angular/core';
|
|
2
3
|
import { MatPaginatorIntl } from '@angular/material/paginator';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class MatPaginatorI18n extends MatPaginatorIntl {
|
|
5
|
+
export declare class MatPaginatorI18n extends MatPaginatorIntl implements OnDestroy {
|
|
5
6
|
protected translate: TranslateService;
|
|
6
7
|
ofLabel: string;
|
|
8
|
+
private _subscription;
|
|
7
9
|
constructor(translate: TranslateService);
|
|
10
|
+
ngOnDestroy(): void;
|
|
8
11
|
getRangeLabel: (page: number, pageSize: number, length: number) => string;
|
|
9
12
|
protected _getTranslationValue(translations: any, key: string, defaultValue: string): string;
|
|
13
|
+
private _updateTranslations;
|
|
10
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatPaginatorI18n, never>;
|
|
11
15
|
static ɵprov: i0.ɵɵInjectableDeclaration<MatPaginatorI18n>;
|
|
12
16
|
}
|
|
@@ -14,3 +14,4 @@ export declare function isAndroid(win: Window): boolean;
|
|
|
14
14
|
export declare function isCapacitor(win: any): boolean;
|
|
15
15
|
export declare function isMobile(win: Window): any;
|
|
16
16
|
export declare function isPrint(win?: Window): boolean;
|
|
17
|
+
export declare function isWebAnimationsSupported(): boolean;
|