ngx-material-entity 16.0.4 → 16.0.6
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/README.md +4 -4
- package/classes/base.builder.d.ts +0 -4
- package/classes/entity.model.d.ts +7 -0
- package/components/confirm-dialog/confirm-dialog-data.d.ts +0 -3
- package/components/confirm-dialog/confirm-dialog.component.d.ts +6 -0
- package/components/create-page/create-data.route.d.ts +16 -0
- package/components/create-page/create-page.component.d.ts +147 -0
- package/components/create-page/page-create-data.builder.d.ts +18 -0
- package/components/edit-page/edit-data.route.d.ts +3 -0
- package/components/edit-page/edit-page.component.d.ts +34 -9
- package/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.d.ts +3 -3
- package/components/input/array/array-string-chips-input/array-string-chips-input.component.d.ts +0 -2
- package/components/input/array/array-table.class.d.ts +0 -1
- package/components/input/base-input.component.d.ts +5 -2
- package/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.d.ts +0 -1
- package/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.d.ts +0 -1
- package/components/input/date/date-range-input/date-range-input.component.d.ts +2 -6
- package/components/input/date/date-time-input/date-time-input.component.d.ts +0 -1
- package/components/input/file/file-input/file-input.component.d.ts +1 -0
- package/components/input/input.component.d.ts +160 -38
- package/components/input/input.module.d.ts +48 -47
- package/components/input/number/number-input/number-input.component.d.ts +1 -1
- package/components/input/relations/references-many-input/references-many-input.component.d.ts +0 -1
- package/components/input/string/string-autocomplete-input/string-autocomplete-input.component.d.ts +0 -1
- package/components/input/string/string-input/string-input.component.d.ts +1 -1
- package/components/input/string/string-textbox-input/string-textbox-input.component.d.ts +1 -1
- package/components/table/create-dialog/{create-dialog-data.builder.d.ts → create-data.builder.d.ts} +7 -7
- package/components/table/create-dialog/create-entity-dialog-data.builder.d.ts +11 -13
- package/components/table/create-dialog/create-entity-dialog-data.d.ts +7 -9
- package/components/table/create-dialog/create-entity-dialog.component.d.ts +26 -5
- package/components/table/default.actions.d.ts +0 -4
- package/components/table/display-column-value/base-display-column-value.component.d.ts +3 -0
- package/components/table/display-column-value/display-column-value.component.d.ts +9 -0
- package/components/table/edit-dialog/edit-data.builder.d.ts +3 -3
- package/components/table/edit-dialog/edit-entity-data.d.ts +2 -4
- package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +34 -4
- package/components/table/edit-dialog/edit-entity.builder.d.ts +3 -5
- package/components/table/table-data.builder.d.ts +6 -8
- package/components/table/table-data.d.ts +8 -18
- package/components/table/table.component.d.ts +35 -9
- package/components/tooltip/tooltip.component.d.ts +3 -0
- package/decorators/array/array-decorator-internal.data.d.ts +3 -2
- package/decorators/array/array-decorator.data.d.ts +6 -17
- package/decorators/array/array.decorator.d.ts +0 -1
- package/decorators/base/base-property.decorator.d.ts +0 -1
- package/decorators/base/property-decorator-internal.data.d.ts +0 -2
- package/decorators/base/property-decorator.data.d.ts +0 -10
- package/decorators/boolean/boolean-decorator.data.d.ts +0 -2
- package/decorators/boolean/boolean.decorator.d.ts +0 -1
- package/decorators/custom/custom-decorator.data.d.ts +0 -2
- package/decorators/custom/custom.decorator.d.ts +0 -1
- package/decorators/date/date-decorator.data.d.ts +0 -3
- package/decorators/date/date.decorator.d.ts +0 -1
- package/decorators/file/file-decorator.data.d.ts +0 -6
- package/decorators/file/file.decorator.d.ts +0 -1
- package/decorators/has-many/has-many-decorator-internal.data.d.ts +2 -4
- package/decorators/has-many/has-many-decorator.data.d.ts +2 -6
- package/decorators/has-many/has-many.decorator.d.ts +0 -1
- package/decorators/number/number-decorator-internal.data.d.ts +0 -1
- package/decorators/number/number.decorator.d.ts +0 -1
- package/decorators/object/object.decorator.d.ts +0 -1
- package/decorators/references-many/references-many-decorator-internal.data.d.ts +0 -1
- package/decorators/references-many/references-many-decorator.data.d.ts +0 -5
- package/decorators/references-many/references-many.decorator.d.ts +0 -1
- package/decorators/references-one/references-one.decorator.d.ts +0 -1
- package/decorators/string/string-decorator-internal.data.d.ts +1 -0
- package/decorators/string/string-decorator.data.d.ts +4 -2
- package/decorators/string/string.decorator.d.ts +0 -1
- package/default-global-configuration-values.d.ts +12 -0
- package/directives/drag-drop.directive.d.ts +0 -3
- package/directives/included-in.directive.d.ts +14 -0
- package/directives/number.directive.d.ts +0 -1
- package/encapsulation/js-2-xml.utilities.d.ts +0 -1
- package/encapsulation/jszip.utilities.d.ts +0 -1
- package/encapsulation/lodash.utilities.d.ts +2 -11
- package/encapsulation/reflect.utilities.d.ts +0 -7
- package/encapsulation/uuid.utilities.d.ts +0 -1
- package/esm2022/classes/base.builder.mjs +3 -6
- package/esm2022/classes/entity.model.mjs +1 -1
- package/esm2022/components/confirm-dialog/confirm-dialog-data.builder.mjs +1 -3
- package/esm2022/components/confirm-dialog/confirm-dialog-data.mjs +1 -1
- package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +9 -3
- package/esm2022/components/create-page/create-data.route.mjs +11 -0
- package/esm2022/components/create-page/create-page.component.mjs +275 -0
- package/esm2022/components/create-page/page-create-data.builder.mjs +30 -0
- package/esm2022/components/edit-page/edit-data.route.mjs +4 -1
- package/esm2022/components/edit-page/edit-page.component.mjs +43 -18
- package/esm2022/components/edit-page/page-edit-data.builder.mjs +3 -3
- package/esm2022/components/input/array/array-date-input/array-date-input.component.mjs +11 -10
- package/esm2022/components/input/array/array-date-range-input/array-date-range-input.component.mjs +10 -9
- package/esm2022/components/input/array/array-date-time-input/array-date-time-input.component.mjs +13 -12
- package/esm2022/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +17 -13
- package/esm2022/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +8 -9
- package/esm2022/components/input/array/array-table.class.mjs +4 -6
- package/esm2022/components/input/base-input.component.mjs +8 -4
- package/esm2022/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +8 -11
- package/esm2022/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +8 -7
- package/esm2022/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +6 -9
- package/esm2022/components/input/custom/custom.component.mjs +2 -1
- package/esm2022/components/input/date/date-input/date-input.component.mjs +8 -7
- package/esm2022/components/input/date/date-range-input/date-range-input.component.mjs +38 -43
- package/esm2022/components/input/date/date-time-input/date-time-input.component.mjs +10 -10
- package/esm2022/components/input/file/file-default-input/file-default-input.component.mjs +4 -3
- package/esm2022/components/input/file/file-image-input/file-image-input.component.mjs +6 -5
- package/esm2022/components/input/file/file-input/file-input.component.mjs +9 -6
- package/esm2022/components/input/input.component.mjs +225 -91
- package/esm2022/components/input/input.module.mjs +84 -81
- package/esm2022/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +8 -7
- package/esm2022/components/input/number/number-input/number-input.component.mjs +6 -5
- package/esm2022/components/input/number/number-slider-input/number-slider-input.component.mjs +6 -5
- package/esm2022/components/input/relations/references-many-input/references-many-input.component.mjs +24 -19
- package/esm2022/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +12 -8
- package/esm2022/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +8 -7
- package/esm2022/components/input/string/string-input/string-input.component.mjs +6 -5
- package/esm2022/components/input/string/string-password-input/string-password-input.component.mjs +8 -7
- package/esm2022/components/input/string/string-textbox-input/string-textbox-input.component.mjs +7 -6
- package/esm2022/components/table/create-dialog/create-data.builder.mjs +44 -0
- package/esm2022/components/table/create-dialog/create-entity-dialog-data.builder.mjs +8 -9
- package/esm2022/components/table/create-dialog/create-entity-dialog-data.mjs +1 -1
- package/esm2022/components/table/create-dialog/create-entity-dialog.component.mjs +30 -9
- package/esm2022/components/table/default.actions.mjs +1 -5
- package/esm2022/components/table/display-column-value/base-display-column-value.component.mjs +5 -1
- package/esm2022/components/table/display-column-value/display-column-value.component.mjs +10 -2
- package/esm2022/components/table/edit-dialog/edit-data.builder.mjs +3 -3
- package/esm2022/components/table/edit-dialog/edit-entity-data.mjs +1 -1
- package/esm2022/components/table/edit-dialog/edit-entity-dialog.component.mjs +37 -7
- package/esm2022/components/table/edit-dialog/edit-entity.builder.mjs +3 -3
- package/esm2022/components/table/table-data.builder.mjs +12 -12
- package/esm2022/components/table/table-data.mjs +1 -1
- package/esm2022/components/table/table.component.mjs +63 -34
- package/esm2022/components/tooltip/tooltip.component.mjs +6 -3
- package/esm2022/decorators/array/array-decorator-internal.data.mjs +4 -2
- package/esm2022/decorators/array/array-decorator.data.mjs +1 -2
- package/esm2022/decorators/array/array.decorator.mjs +2 -3
- package/esm2022/decorators/base/base-property.decorator.mjs +1 -2
- package/esm2022/decorators/base/decorator-types.enum.mjs +1 -1
- package/esm2022/decorators/base/property-decorator-internal.data.mjs +1 -3
- package/esm2022/decorators/base/property-decorator.data.mjs +5 -11
- package/esm2022/decorators/boolean/boolean-decorator.data.mjs +1 -1
- package/esm2022/decorators/boolean/boolean.decorator.mjs +1 -2
- package/esm2022/decorators/custom/custom-decorator-internal.data.mjs +1 -2
- package/esm2022/decorators/custom/custom-decorator.data.mjs +1 -1
- package/esm2022/decorators/custom/custom.decorator.mjs +1 -2
- package/esm2022/decorators/date/date-decorator-internal.data.mjs +2 -2
- package/esm2022/decorators/date/date-decorator.data.mjs +1 -1
- package/esm2022/decorators/date/date.decorator.mjs +2 -3
- package/esm2022/decorators/file/file-decorator-internal.data.mjs +1 -4
- package/esm2022/decorators/file/file-decorator.data.mjs +1 -6
- package/esm2022/decorators/file/file.decorator.mjs +2 -3
- package/esm2022/decorators/has-many/has-many-decorator-internal.data.mjs +1 -2
- package/esm2022/decorators/has-many/has-many-decorator.data.mjs +1 -1
- package/esm2022/decorators/has-many/has-many.decorator.mjs +1 -2
- package/esm2022/decorators/number/number-decorator-internal.data.mjs +4 -5
- package/esm2022/decorators/number/number-decorator.data.mjs +1 -1
- package/esm2022/decorators/number/number.decorator.mjs +1 -2
- package/esm2022/decorators/object/object.decorator.mjs +1 -2
- package/esm2022/decorators/references-many/references-many-decorator-internal.data.mjs +1 -2
- package/esm2022/decorators/references-many/references-many-decorator.data.mjs +1 -1
- package/esm2022/decorators/references-many/references-many.decorator.mjs +1 -2
- package/esm2022/decorators/references-one/references-one.decorator.mjs +1 -2
- package/esm2022/decorators/string/string-decorator-internal.data.mjs +7 -4
- package/esm2022/decorators/string/string-decorator.data.mjs +1 -1
- package/esm2022/decorators/string/string.decorator.mjs +1 -2
- package/esm2022/default-global-configuration-values.mjs +16 -1
- package/esm2022/directives/drag-drop.directive.mjs +1 -4
- package/esm2022/directives/included-in.directive.mjs +33 -0
- package/esm2022/directives/number.directive.mjs +1 -2
- package/esm2022/directives/password-match.directive.mjs +2 -2
- package/esm2022/encapsulation/js-2-xml.utilities.mjs +1 -2
- package/esm2022/encapsulation/jszip.utilities.mjs +1 -2
- package/esm2022/encapsulation/lodash.utilities.mjs +12 -19
- package/esm2022/encapsulation/reflect.utilities.mjs +1 -8
- package/esm2022/encapsulation/uuid.utilities.mjs +1 -2
- package/esm2022/functions/default-false.function.mjs +1 -2
- package/esm2022/functions/default-true.function.mjs +1 -2
- package/esm2022/functions/get-config-value.function.mjs +1 -2
- package/esm2022/functions/get-validation-error-message.function.mjs +13 -7
- package/esm2022/functions/get-validation-errors-tooltip-content.function.ts.mjs +6 -4
- package/esm2022/functions/is-async-function.function.mjs +1 -2
- package/esm2022/global-configuration-values.mjs +5 -2
- package/esm2022/mocks/placeholder-data.png.mjs +3 -3
- package/esm2022/public-api.mjs +3 -1
- package/esm2022/services/entity.service.mjs +15 -21
- package/esm2022/services/unsaved-changes.guard.mjs +7 -2
- package/esm2022/utilities/date.utilities.mjs +3 -9
- package/esm2022/utilities/entity.utilities.mjs +82 -79
- package/esm2022/utilities/file.utilities.mjs +1 -10
- package/esm2022/utilities/selection.utilities.mjs +4 -7
- package/esm2022/utilities/validation.utilities.mjs +40 -35
- package/fesm2022/ngx-material-entity.mjs +1309 -752
- package/fesm2022/ngx-material-entity.mjs.map +1 -1
- package/functions/default-false.function.d.ts +0 -1
- package/functions/default-true.function.d.ts +0 -1
- package/functions/get-config-value.function.d.ts +0 -1
- package/functions/get-validation-error-message.function.d.ts +3 -0
- package/functions/get-validation-errors-tooltip-content.function.ts.d.ts +4 -2
- package/functions/is-async-function.function.d.ts +0 -1
- package/global-configuration-values.d.ts +9 -34
- package/mocks/placeholder-data.png.d.ts +1 -1
- package/package.json +2 -1
- package/public-api.d.ts +2 -0
- package/services/entity.service.d.ts +11 -16
- package/services/unsaved-changes.guard.d.ts +13 -1
- package/utilities/date.utilities.d.ts +0 -6
- package/utilities/entity.utilities.d.ts +10 -36
- package/utilities/file.utilities.d.ts +0 -9
- package/utilities/selection.utilities.d.ts +0 -3
- package/utilities/validation.utilities.d.ts +0 -3
- package/esm2022/components/table/create-dialog/create-dialog-data.builder.mjs +0 -44
package/README.md
CHANGED
|
@@ -573,7 +573,7 @@ export interface EntityArrayDecoratorConfig<EntityType extends object> extends A
|
|
|
573
573
|
* The data for the add-item-dialog.
|
|
574
574
|
* Can be omitted when adding items inline.
|
|
575
575
|
*/
|
|
576
|
-
createDialogData?:
|
|
576
|
+
createDialogData?: CreateData,
|
|
577
577
|
|
|
578
578
|
/**
|
|
579
579
|
* Whether or not the form for adding items to the array
|
|
@@ -1083,7 +1083,7 @@ export interface BaseData<EntityType extends object> {
|
|
|
1083
1083
|
* The Class of the service that handles the entities.
|
|
1084
1084
|
* Needs to be injectable and an extension of the "EntityService"-Class.
|
|
1085
1085
|
*/
|
|
1086
|
-
EntityServiceClass:
|
|
1086
|
+
EntityServiceClass: EntityServiceClassNewable<EntityType>,
|
|
1087
1087
|
/**
|
|
1088
1088
|
* The Class of the entities to manage.
|
|
1089
1089
|
*/
|
|
@@ -1148,7 +1148,7 @@ export interface BaseData<EntityType extends object> {
|
|
|
1148
1148
|
/**
|
|
1149
1149
|
* The data of the default create-dialog.
|
|
1150
1150
|
*/
|
|
1151
|
-
export interface
|
|
1151
|
+
export interface CreateData {
|
|
1152
1152
|
/**
|
|
1153
1153
|
* The title of the default create-dialog.
|
|
1154
1154
|
*/
|
|
@@ -1224,7 +1224,7 @@ export interface TableData<EntityType extends object> {
|
|
|
1224
1224
|
* The data for the default create-dialog.
|
|
1225
1225
|
* Can be omitted when specifying a custom "create" method inside the baseData.
|
|
1226
1226
|
*/
|
|
1227
|
-
createDialogData?:
|
|
1227
|
+
createDialogData?: CreateData,
|
|
1228
1228
|
/**
|
|
1229
1229
|
* The data for the default edit-dialog.
|
|
1230
1230
|
* Can be omitted when specifying a custom "edit" method inside the baseData.
|
|
@@ -13,20 +13,17 @@ export declare abstract class BaseBuilder<InternalType extends InputType, InputT
|
|
|
13
13
|
protected constructor(globalConfig: NgxGlobalDefaultValues, data?: InputType);
|
|
14
14
|
/**
|
|
15
15
|
* Generates the internal data from the given user inputs.
|
|
16
|
-
*
|
|
17
16
|
* @param data - The input from the user.
|
|
18
17
|
* @returns The internal data.
|
|
19
18
|
*/
|
|
20
19
|
protected abstract generateBaseData(data?: InputType): InternalType;
|
|
21
20
|
/**
|
|
22
21
|
* Used to validate the user input in the constructor.
|
|
23
|
-
*
|
|
24
22
|
* @param data - The user input.
|
|
25
23
|
*/
|
|
26
24
|
protected validateInput(data?: InputType): void;
|
|
27
25
|
/**
|
|
28
26
|
* Sets the value for the given key if no user value was provided.
|
|
29
|
-
*
|
|
30
27
|
* @param key - The key to set the default value for.
|
|
31
28
|
* @param value - The value to set when nothing was provided.
|
|
32
29
|
* @returns The Builder.
|
|
@@ -34,7 +31,6 @@ export declare abstract class BaseBuilder<InternalType extends InputType, InputT
|
|
|
34
31
|
withDefault(key: keyof InputType, value: Omit<InternalType[keyof InputType], 'undefined'>): BaseBuilder<InternalType, InputType>;
|
|
35
32
|
/**
|
|
36
33
|
* Method used to get the final build value after applying all chaining.
|
|
37
|
-
*
|
|
38
34
|
* @returns The build value.
|
|
39
35
|
*/
|
|
40
36
|
getResult(): InternalType;
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { EnvironmentInjector } from '@angular/core';
|
|
3
|
+
import { EntityService } from '../services/entity.service';
|
|
1
4
|
/**
|
|
2
5
|
* The newable type used whenever an entity class is passed to create an entity and initialize its metadata.
|
|
3
6
|
*/
|
|
4
7
|
export type EntityClassNewable<EntityType extends BaseEntityType<EntityType>> = new (data?: EntityType) => EntityType;
|
|
8
|
+
/**
|
|
9
|
+
* The newable type used whenever an entity service class is passed.
|
|
10
|
+
*/
|
|
11
|
+
export type EntityServiceClassNewable<EntityType extends BaseEntityType<EntityType>> = new (http: HttpClient, injector: EnvironmentInjector) => EntityService<EntityType>;
|
|
5
12
|
/**
|
|
6
13
|
* The Generic Base EntityType.
|
|
7
14
|
*/
|
|
@@ -24,13 +24,11 @@ export interface ConfirmDialogData {
|
|
|
24
24
|
/**
|
|
25
25
|
* The label of the button that confirms the dialog.
|
|
26
26
|
* In case of the 'delete' Dialog this is the string that is shown on the delete-button.
|
|
27
|
-
*
|
|
28
27
|
* @default 'Confirm' or 'Delete', depending on the type
|
|
29
28
|
*/
|
|
30
29
|
confirmButtonLabel?: string;
|
|
31
30
|
/**
|
|
32
31
|
* The label of the button that closes the dialog without doing anything.
|
|
33
|
-
*
|
|
34
32
|
* @default 'Cancel'
|
|
35
33
|
*/
|
|
36
34
|
cancelButtonLabel?: string;
|
|
@@ -40,7 +38,6 @@ export interface ConfirmDialogData {
|
|
|
40
38
|
title?: string;
|
|
41
39
|
/**
|
|
42
40
|
* Whether or not a checkbox needs to be selected before the user can confirm the dialog.
|
|
43
|
-
*
|
|
44
41
|
* @default false
|
|
45
42
|
*/
|
|
46
43
|
requireConfirmation?: boolean;
|
|
@@ -13,7 +13,13 @@ export declare class NgxMatEntityConfirmDialogComponent implements OnInit {
|
|
|
13
13
|
private readonly dialogRef;
|
|
14
14
|
private readonly inputData;
|
|
15
15
|
protected readonly globalConfig: NgxGlobalDefaultValues;
|
|
16
|
+
/**
|
|
17
|
+
* Whether or not the user needs to tick a checkbox to enable the confirm button.
|
|
18
|
+
*/
|
|
16
19
|
confirm: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The configuration data of the dialog.
|
|
22
|
+
*/
|
|
17
23
|
data: ConfirmDialogDataInternal;
|
|
18
24
|
constructor(dialogRef: MatDialogRef<NgxMatEntityConfirmDialogComponent>, inputData: ConfirmDialogData, globalConfig: NgxGlobalDefaultValues);
|
|
19
25
|
ngOnInit(): void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EnvironmentProviders, Provider, Type } from '@angular/core';
|
|
2
|
+
import { DefaultExport, Route } from '@angular/router';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
/**
|
|
5
|
+
* The definition for a route to use with the "NgxMatEntityCreatePageComponent".
|
|
6
|
+
*/
|
|
7
|
+
export interface CreateDataRoute extends Route {
|
|
8
|
+
loadComponent: () => Type<unknown> | Observable<Type<unknown> | DefaultExport<Type<unknown>>> | Promise<Type<unknown> | DefaultExport<Type<unknown>>>;
|
|
9
|
+
providers: (Provider | EnvironmentProviders)[];
|
|
10
|
+
title: string;
|
|
11
|
+
path: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The default data for a create route.
|
|
15
|
+
*/
|
|
16
|
+
export declare const defaultCreateDataRoute: Omit<CreateDataRoute, 'providers'>;
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { Location } from '@angular/common';
|
|
2
|
+
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { ElementRef, EnvironmentInjector, InjectionToken, OnInit, Renderer2 } from '@angular/core';
|
|
4
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
6
|
+
import { BaseEntityType, EntityClassNewable } from '../../classes/entity.model';
|
|
7
|
+
import { NgxGlobalDefaultValues } from '../../global-configuration-values';
|
|
8
|
+
import { EntityService } from '../../services/entity.service';
|
|
9
|
+
import { EntityTab, EntityUtilities } from '../../utilities/entity.utilities';
|
|
10
|
+
import { ValidationError } from '../../utilities/validation.utilities';
|
|
11
|
+
import { ConfirmDialogData } from '../confirm-dialog/confirm-dialog-data';
|
|
12
|
+
import { CreateEntityData } from '../table/create-dialog/create-entity-dialog-data';
|
|
13
|
+
import { CreateData } from '../table/table-data';
|
|
14
|
+
import { PageCreateDataInternal } from './page-create-data.builder';
|
|
15
|
+
import * as i0 from "@angular/core";
|
|
16
|
+
/**
|
|
17
|
+
* The data that needs to be provided for a route to be able to create a entity.
|
|
18
|
+
*/
|
|
19
|
+
export type PageCreateData<EntityType extends BaseEntityType<EntityType>> = Omit<CreateEntityData<EntityType>, 'entity' | 'EntityServiceClass'> & {
|
|
20
|
+
/**
|
|
21
|
+
* Whether or not to display a loading spinner while the data for the page is loaded.
|
|
22
|
+
* @default true
|
|
23
|
+
*/
|
|
24
|
+
displayLoadingSpinner?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* The data of the default create page.
|
|
27
|
+
*/
|
|
28
|
+
createData?: CreateData & {
|
|
29
|
+
/**
|
|
30
|
+
* The data for the dialog when the user tries to leave the site with unsaved changes.
|
|
31
|
+
*/
|
|
32
|
+
confirmUnsavedChangesDialogData?: ConfirmDialogData;
|
|
33
|
+
/**
|
|
34
|
+
* Whether or not leaving with unsaved changes should require a confirm dialog.
|
|
35
|
+
* @default true
|
|
36
|
+
*/
|
|
37
|
+
unsavedChangesRequireConfirmDialog?: boolean;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* The entity service that needs to be provided in the providers array of the create page route.
|
|
42
|
+
*/
|
|
43
|
+
export declare const NGX_CREATE_DATA_ENTITY_SERVICE: InjectionToken<EntityService<any>>;
|
|
44
|
+
/**
|
|
45
|
+
* The entity class that needs to be provided in the providers array of the create page route.
|
|
46
|
+
*/
|
|
47
|
+
export declare const NGX_CREATE_DATA_ENTITY: InjectionToken<EntityClassNewable<any>>;
|
|
48
|
+
/**
|
|
49
|
+
* The configuration that needs to be provided in the providers array of the create page route.
|
|
50
|
+
*/
|
|
51
|
+
export declare const NGX_CREATE_DATA: InjectionToken<PageCreateData<any>>;
|
|
52
|
+
/**
|
|
53
|
+
* A generic page that allows you to create a specific entity.
|
|
54
|
+
* For this to work you need to provide some data for the route.
|
|
55
|
+
*/
|
|
56
|
+
export declare class NgxMatEntityCreatePageComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit {
|
|
57
|
+
private readonly dialog;
|
|
58
|
+
private readonly location;
|
|
59
|
+
private readonly injector;
|
|
60
|
+
readonly entityService: EntityService<EntityType>;
|
|
61
|
+
private readonly EntityClass;
|
|
62
|
+
private readonly inputData;
|
|
63
|
+
private readonly http;
|
|
64
|
+
private readonly el;
|
|
65
|
+
private readonly renderer;
|
|
66
|
+
protected readonly globalConfig: NgxGlobalDefaultValues;
|
|
67
|
+
/**
|
|
68
|
+
* Contains HelperMethods around handling Entities and their property-metadata.
|
|
69
|
+
*/
|
|
70
|
+
EntityUtilities: typeof EntityUtilities;
|
|
71
|
+
/**
|
|
72
|
+
* The tabs to display.
|
|
73
|
+
*/
|
|
74
|
+
entityTabs: EntityTab<EntityType>[];
|
|
75
|
+
/**
|
|
76
|
+
* The entity to create.
|
|
77
|
+
*/
|
|
78
|
+
entity: EntityType;
|
|
79
|
+
/**
|
|
80
|
+
* The entity before any changes have been made.
|
|
81
|
+
* This is used to determine if leaving the page is possible without interruption.
|
|
82
|
+
*/
|
|
83
|
+
entityPriorChanges: EntityType;
|
|
84
|
+
/**
|
|
85
|
+
* Configuration data for this component.
|
|
86
|
+
*/
|
|
87
|
+
data: PageCreateDataInternal<EntityType>;
|
|
88
|
+
/**
|
|
89
|
+
* All validation errors of the entity.
|
|
90
|
+
*/
|
|
91
|
+
validationErrors: ValidationError[];
|
|
92
|
+
/**
|
|
93
|
+
* Whether or not the entity is valid.
|
|
94
|
+
*/
|
|
95
|
+
isEntityValid: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Whether or not the entity is dirty.
|
|
98
|
+
*/
|
|
99
|
+
isEntityDirty: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* What to display inside the tooltip.
|
|
102
|
+
*/
|
|
103
|
+
tooltipContent: string;
|
|
104
|
+
private inConfirmNavigation;
|
|
105
|
+
get hasUnsavedChanges(): boolean;
|
|
106
|
+
constructor(dialog: MatDialog, location: Location, injector: EnvironmentInjector, entityService: EntityService<EntityType>, EntityClass: EntityClassNewable<EntityType>, inputData: PageCreateData<EntityType>, http: HttpClient, el: ElementRef, renderer: Renderer2, globalConfig: NgxGlobalDefaultValues);
|
|
107
|
+
ngOnInit(): void;
|
|
108
|
+
/**
|
|
109
|
+
* Whether the page can be left without confirmation (of unsaved changes).
|
|
110
|
+
* @returns Whether or not the page can be left without confirmation.
|
|
111
|
+
*/
|
|
112
|
+
canDeactivate(): boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Checks if the bottom row should be displayed as fixed.
|
|
115
|
+
*/
|
|
116
|
+
checkOffset(): void;
|
|
117
|
+
/**
|
|
118
|
+
* Checks if the entity has become invalid or dirty.
|
|
119
|
+
*/
|
|
120
|
+
checkEntity(): Promise<void>;
|
|
121
|
+
private checkIsEntityValid;
|
|
122
|
+
/**
|
|
123
|
+
* Tries create the entity and navigate back afterwards.
|
|
124
|
+
* Also handles the confirmation if required.
|
|
125
|
+
*/
|
|
126
|
+
create(): void;
|
|
127
|
+
private confirmCreate;
|
|
128
|
+
/**
|
|
129
|
+
* Tries to navigate back.
|
|
130
|
+
*/
|
|
131
|
+
navigateBack(): void;
|
|
132
|
+
/**
|
|
133
|
+
* Opens the confirm dialog for navigating with unsaved changes.
|
|
134
|
+
* This is exposed because the UnsavedChangesGuard needs to access this.
|
|
135
|
+
* @returns The first observable result of the confirm dialog.
|
|
136
|
+
*/
|
|
137
|
+
openConfirmNavigationDialog(): Observable<boolean>;
|
|
138
|
+
private confirmNavigateBack;
|
|
139
|
+
/**
|
|
140
|
+
* Checks if the input with the given key is readonly.
|
|
141
|
+
* @param key - The key for the input to check.
|
|
142
|
+
* @returns Whether or not the input for the key is read only.
|
|
143
|
+
*/
|
|
144
|
+
isReadOnly(key: keyof EntityType): boolean;
|
|
145
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityCreatePageComponent<any>, never>;
|
|
146
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatEntityCreatePageComponent<any>, "ngx-mat-entity-create-page", never, {}, {}, never, never, true, never>;
|
|
147
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseBuilder } from '../../classes/base.builder';
|
|
2
|
+
import { BaseEntityType } from '../../classes/entity.model';
|
|
3
|
+
import { NgxGlobalDefaultValues } from '../../global-configuration-values';
|
|
4
|
+
import { ConfirmDialogDataInternal } from '../confirm-dialog/confirm-dialog-data.builder';
|
|
5
|
+
import { CreateDataInternal } from '../table/create-dialog/create-data.builder';
|
|
6
|
+
import { CreateEntityDataInternal } from '../table/create-dialog/create-entity-dialog-data.builder';
|
|
7
|
+
import { PageCreateData } from './create-page.component';
|
|
8
|
+
export type PageCreateDataInternal<EntityType extends BaseEntityType<EntityType>> = Omit<CreateEntityDataInternal<EntityType>, 'entity' | 'EntityServiceClass'> & {
|
|
9
|
+
displayLoadingSpinner: boolean;
|
|
10
|
+
createData: CreateDataInternal & {
|
|
11
|
+
confirmUnsavedChangesDialogData: ConfirmDialogDataInternal;
|
|
12
|
+
unsavedChangesRequireConfirmDialog: boolean;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export declare class PageCreateDataBuilder<EntityType extends BaseEntityType<EntityType>> extends BaseBuilder<PageCreateDataInternal<EntityType>, PageCreateData<EntityType>> {
|
|
16
|
+
constructor(data: PageCreateData<EntityType>, globalConfig: NgxGlobalDefaultValues);
|
|
17
|
+
protected generateBaseData(data: PageCreateData<EntityType>): PageCreateDataInternal<EntityType>;
|
|
18
|
+
}
|
|
@@ -21,7 +21,6 @@ import * as i0 from "@angular/core";
|
|
|
21
21
|
export type PageEditData<EntityType extends BaseEntityType<EntityType>> = Omit<EditEntityData<EntityType>, 'entity' | 'EntityServiceClass'> & {
|
|
22
22
|
/**
|
|
23
23
|
* Whether or not to display a loading spinner while the entity for the page is loaded.
|
|
24
|
-
*
|
|
25
24
|
* @default true
|
|
26
25
|
*/
|
|
27
26
|
displayLoadingSpinner?: boolean;
|
|
@@ -35,7 +34,6 @@ export type PageEditData<EntityType extends BaseEntityType<EntityType>> = Omit<E
|
|
|
35
34
|
confirmUnsavedChangesDialogData?: ConfirmDialogData;
|
|
36
35
|
/**
|
|
37
36
|
* Whether or not leaving with unsaved changes should require a confirm dialog.
|
|
38
|
-
*
|
|
39
37
|
* @default true
|
|
40
38
|
*/
|
|
41
39
|
unsavedChangesRequireConfirmDialog?: boolean;
|
|
@@ -69,23 +67,55 @@ export declare class NgxMatEntityEditPageComponent<EntityType extends BaseEntity
|
|
|
69
67
|
private readonly el;
|
|
70
68
|
private readonly renderer;
|
|
71
69
|
protected readonly globalConfig: NgxGlobalDefaultValues;
|
|
70
|
+
/**
|
|
71
|
+
* Contains HelperMethods around handling Entities and their property-metadata.
|
|
72
|
+
*/
|
|
72
73
|
EntityUtilities: typeof EntityUtilities;
|
|
74
|
+
/**
|
|
75
|
+
* The tabs to display.
|
|
76
|
+
*/
|
|
73
77
|
entityTabs: EntityTab<EntityType>[];
|
|
78
|
+
/**
|
|
79
|
+
* The entity that is being edited.
|
|
80
|
+
*/
|
|
74
81
|
entity: EntityType;
|
|
82
|
+
/**
|
|
83
|
+
* The entity before any changes have been made.
|
|
84
|
+
*/
|
|
75
85
|
entityPriorChanges: EntityType;
|
|
86
|
+
/**
|
|
87
|
+
* Configuration data for the component.
|
|
88
|
+
*/
|
|
76
89
|
data: PageEditDataInternal<EntityType>;
|
|
90
|
+
/**
|
|
91
|
+
* All validation errors of the entity.
|
|
92
|
+
*/
|
|
77
93
|
validationErrors: ValidationError[];
|
|
94
|
+
/**
|
|
95
|
+
* Whether or not the entity is valid.
|
|
96
|
+
*/
|
|
78
97
|
isEntityValid: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Whether or not the entity is dirty.
|
|
100
|
+
*/
|
|
79
101
|
isEntityDirty: boolean;
|
|
102
|
+
/**
|
|
103
|
+
* What to display inside the tooltip.
|
|
104
|
+
*/
|
|
80
105
|
tooltipContent: string;
|
|
106
|
+
/**
|
|
107
|
+
* Whether or not the entity is readonly.
|
|
108
|
+
*/
|
|
81
109
|
isEntityReadOnly: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Whether or not the current user is allowed to delete the entity.
|
|
112
|
+
*/
|
|
82
113
|
allowDelete: boolean;
|
|
83
114
|
private inConfirmNavigation;
|
|
84
115
|
get hasUnsavedChanges(): boolean;
|
|
85
116
|
constructor(dialog: MatDialog, location: Location, route: ActivatedRoute, injector: EnvironmentInjector, entityService: EntityService<EntityType>, EntityClass: EntityClassNewable<EntityType>, inputData: PageEditData<EntityType>, http: HttpClient, el: ElementRef, renderer: Renderer2, globalConfig: NgxGlobalDefaultValues);
|
|
86
117
|
/**
|
|
87
118
|
* Checks if the input with the given key is readonly.
|
|
88
|
-
*
|
|
89
119
|
* @param key - The key for the input to check.
|
|
90
120
|
* @returns Whether or not the input for the key is read only.
|
|
91
121
|
*/
|
|
@@ -94,11 +124,9 @@ export declare class NgxMatEntityEditPageComponent<EntityType extends BaseEntity
|
|
|
94
124
|
/**
|
|
95
125
|
* Checks if the bottom row should be displayed as fixed.
|
|
96
126
|
*/
|
|
97
|
-
|
|
98
|
-
private checkOffset;
|
|
127
|
+
checkOffset(): void;
|
|
99
128
|
/**
|
|
100
129
|
* Whether the page can be left without confirmation (of unsaved changes).
|
|
101
|
-
*
|
|
102
130
|
* @returns Whether or not the page can be left without confirmation.
|
|
103
131
|
*/
|
|
104
132
|
canDeactivate(): boolean;
|
|
@@ -126,21 +154,18 @@ export declare class NgxMatEntityEditPageComponent<EntityType extends BaseEntity
|
|
|
126
154
|
/**
|
|
127
155
|
* Opens the confirm dialog for navigating with unsaved changes.
|
|
128
156
|
* This is exposed because the UnsavedChangesGuard needs to access this.
|
|
129
|
-
*
|
|
130
157
|
* @returns The first observable result of the confirm dialog.
|
|
131
158
|
*/
|
|
132
159
|
openConfirmNavigationDialog(): Observable<boolean>;
|
|
133
160
|
private confirmNavigateBack;
|
|
134
161
|
/**
|
|
135
162
|
* Runs the edit action on the entity.
|
|
136
|
-
*
|
|
137
163
|
* @param action - The action to run.
|
|
138
164
|
*/
|
|
139
165
|
runEditAction(action: EditActionInternal<EntityType>): void;
|
|
140
166
|
private confirmRunEditAction;
|
|
141
167
|
/**
|
|
142
168
|
* Checks if an EditAction is disabled (e.g. Because the current entry doesn't fullfil the requirements).
|
|
143
|
-
*
|
|
144
169
|
* @param action - The EditAction to check.
|
|
145
170
|
* @returns Whether or not the Action can be used.
|
|
146
171
|
*/
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
|
3
3
|
import { BaseEntityType } from '../../../../classes/entity.model';
|
|
4
|
+
import { AutocompleteStringChipsArrayDecoratorConfigInternal } from '../../../../decorators/array/array-decorator-internal.data';
|
|
4
5
|
import { ArrayStringChipsInputComponent } from '../array-string-chips-input/array-string-chips-input.component';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class ArrayStringAutocompleteChipsComponent<EntityType extends BaseEntityType<EntityType>> extends ArrayStringChipsInputComponent<EntityType> implements OnInit {
|
|
7
8
|
filteredAutocompleteStrings: string[];
|
|
8
|
-
get
|
|
9
|
+
get autocompleteStrings(): string[];
|
|
10
|
+
get autocompleteMetadata(): AutocompleteStringChipsArrayDecoratorConfigInternal;
|
|
9
11
|
ngOnInit(): void;
|
|
10
12
|
/**
|
|
11
13
|
* Handles adding a string to the array when an autocomplete value has been selected.
|
|
12
|
-
*
|
|
13
14
|
* @param event - The autocomplete selected event.
|
|
14
15
|
* @param chipsInput - The element where the user typed the value.
|
|
15
16
|
*/
|
|
16
17
|
selected(event: MatAutocompleteSelectedEvent, chipsInput: HTMLInputElement): void;
|
|
17
18
|
/**
|
|
18
19
|
* Dynamically filters the Autocomplete options when the user inputs something.
|
|
19
|
-
*
|
|
20
20
|
* @param input - The input of the user.
|
|
21
21
|
*/
|
|
22
22
|
filterAutocompleteStrings(input: unknown): void;
|
package/components/input/array/array-string-chips-input/array-string-chips-input.component.d.ts
CHANGED
|
@@ -15,7 +15,6 @@ export declare class ArrayStringChipsInputComponent<EntityType extends BaseEntit
|
|
|
15
15
|
* mat-error. As the only validation for the array is whether or not
|
|
16
16
|
* it contains values, we can set it to undefined when the last element is removed
|
|
17
17
|
* (removeStringChipArrayValue). That way we can use the "required" validator.
|
|
18
|
-
*
|
|
19
18
|
* @param event - The event that fires when a new chip is completed.
|
|
20
19
|
*/
|
|
21
20
|
addStringChipArrayValue(event: MatChipInputEvent): void;
|
|
@@ -26,7 +25,6 @@ export declare class ArrayStringChipsInputComponent<EntityType extends BaseEntit
|
|
|
26
25
|
* and the contents of the array. And we need a way to display an
|
|
27
26
|
* mat-error. As the only validation for the array is whether or not
|
|
28
27
|
* it is empty, setting it to undefined here enables us to use the "required" validator.
|
|
29
|
-
*
|
|
30
28
|
* @param value - The string to remove from the array.
|
|
31
29
|
*/
|
|
32
30
|
removeStringChipArrayValue(value: string): void;
|
|
@@ -27,7 +27,6 @@ export declare abstract class ArrayTableComponent<ValueType, EntityType extends
|
|
|
27
27
|
/**
|
|
28
28
|
* Gets the value to display in the column.
|
|
29
29
|
* Runs in environment context to enable injection.
|
|
30
|
-
*
|
|
31
30
|
* @param entity - The entity to get the value from.
|
|
32
31
|
* @param displayColumn - The display column to get the value from.
|
|
33
32
|
* @returns The value of the display column.
|
|
@@ -36,6 +36,9 @@ export declare abstract class NgxMatEntityBaseInputComponent<EntityType extends
|
|
|
36
36
|
* In that case it is disabled, but most of the disabled-styling is overridden.
|
|
37
37
|
*/
|
|
38
38
|
isReadOnly: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Emits when the property value has changed.
|
|
41
|
+
*/
|
|
39
42
|
inputChangeEvent: EventEmitter<void>;
|
|
40
43
|
/**
|
|
41
44
|
* The property value of entity[key] correctly typed.
|
|
@@ -48,9 +51,9 @@ export declare abstract class NgxMatEntityBaseInputComponent<EntityType extends
|
|
|
48
51
|
*/
|
|
49
52
|
metadata: DecoratorType<Type, CustomMetadataType>;
|
|
50
53
|
/**
|
|
51
|
-
* A
|
|
54
|
+
* A unique name for inputs. Includes a uuid.
|
|
52
55
|
*/
|
|
53
|
-
|
|
56
|
+
name: string;
|
|
54
57
|
ngOnInit(): void;
|
|
55
58
|
/**
|
|
56
59
|
* Should emit when the input has changed. This is needed to trigger validation and dirty checks.
|
package/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ import { DecoratorTypes } from '../../../../decorators/base/decorator-types.enum
|
|
|
4
4
|
import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class BooleanCheckboxInputComponent<EntityType extends BaseEntityType<EntityType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.BOOLEAN_CHECKBOX, boolean> implements OnInit {
|
|
7
|
-
ngOnInit(): void;
|
|
8
7
|
updatePropertyValue(): void;
|
|
9
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<BooleanCheckboxInputComponent<any>, never>;
|
|
10
9
|
static ɵcmp: i0.ɵɵComponentDeclaration<BooleanCheckboxInputComponent<any>, "boolean-checkbox-input", never, {}, {}, never, never, false, never>;
|
|
@@ -4,7 +4,6 @@ import { DecoratorTypes } from '../../../../decorators/base/decorator-types.enum
|
|
|
4
4
|
import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class BooleanToggleInputComponent<EntityType extends BaseEntityType<EntityType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.BOOLEAN_TOGGLE, boolean> implements OnInit {
|
|
7
|
-
ngOnInit(): void;
|
|
8
7
|
updatePropertyValue(): void;
|
|
9
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<BooleanToggleInputComponent<any>, never>;
|
|
10
9
|
static ɵcmp: i0.ɵɵComponentDeclaration<BooleanToggleInputComponent<any>, "boolean-toggle-input", never, {}, {}, never, never, false, never>;
|
|
@@ -8,12 +8,8 @@ import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export declare class DateRangeInputComponent<EntityType extends BaseEntityType<EntityType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.DATE_RANGE, DateRange> implements OnInit {
|
|
10
10
|
private readonly globalConfig;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
get dateRangeStart(): Date | undefined;
|
|
14
|
-
set dateRangeStart(value: Date | undefined);
|
|
15
|
-
get dateRangeEnd(): Date | undefined;
|
|
16
|
-
set dateRangeEnd(value: Date | undefined);
|
|
11
|
+
dateRangeStart?: Date;
|
|
12
|
+
dateRangeEnd?: Date;
|
|
17
13
|
defaultDateFilter: DateFilterFn<Date | null | undefined>;
|
|
18
14
|
constructor(globalConfig: NgxGlobalDefaultValues);
|
|
19
15
|
ngOnInit(): void;
|
|
@@ -19,7 +19,6 @@ export declare class DateTimeInputComponent<EntityType extends BaseEntityType<En
|
|
|
19
19
|
ngOnInit(): void;
|
|
20
20
|
/**
|
|
21
21
|
* Checks if two times are equal. Is needed for the dropdown.
|
|
22
|
-
*
|
|
23
22
|
* @param time1 - The first time to compare.
|
|
24
23
|
* @param time2 - The second time to compare.
|
|
25
24
|
* @returns Whether or not the time objects are the same.
|
|
@@ -20,6 +20,7 @@ export declare class FileInputComponent<EntityType extends BaseEntityType<Entity
|
|
|
20
20
|
getValidationErrorMessage: (model: NgModel) => string;
|
|
21
21
|
isReadOnly: boolean;
|
|
22
22
|
fileDataChangeEvent: EventEmitter<FileData | FileData[]>;
|
|
23
|
+
acceptString: string;
|
|
23
24
|
constructor(dialog: MatDialog, http: HttpClient);
|
|
24
25
|
ngOnInit(): Promise<void>;
|
|
25
26
|
private initMultiFile;
|