ngx-material-entity 0.1.2 → 0.1.3

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.
Files changed (97) hide show
  1. package/classes/base-builder.class.d.ts +35 -0
  2. package/classes/entity-service.class.d.ts +1 -1
  3. package/classes/entity-utilities.class.d.ts +36 -3
  4. package/components/confirm-dialog/confirm-dialog-data.builder.d.ts +10 -11
  5. package/components/confirm-dialog/confirm-dialog-data.d.ts +4 -0
  6. package/components/confirm-dialog/confirm-dialog.component.d.ts +11 -0
  7. package/components/input/{array-table/add-array-item-dialog/add-array-item-dialog-data.builder.d.ts → add-array-item-dialog-data.builder.d.ts} +11 -7
  8. package/components/input/{array-table/add-array-item-dialog/add-array-item-dialog-data.d.ts → add-array-item-dialog-data.d.ts} +5 -2
  9. package/components/input/input.component.d.ts +100 -7
  10. package/components/input/input.module.d.ts +6 -4
  11. package/components/table/create-dialog/create-dialog-data.builder.d.ts +9 -8
  12. package/components/table/create-dialog/create-entity-dialog-data.builder.d.ts +9 -3
  13. package/components/table/create-dialog/create-entity-dialog.component.d.ts +15 -3
  14. package/components/table/edit-dialog/edit-dialog-data.builder.d.ts +9 -11
  15. package/components/table/edit-dialog/edit-entity-dialog.builder.d.ts +9 -3
  16. package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +19 -3
  17. package/components/table/table-data.builder.d.ts +20 -9
  18. package/components/table/table-data.d.ts +14 -2
  19. package/components/table/table.component.d.ts +46 -0
  20. package/components/table/table.module.d.ts +3 -1
  21. package/decorators/array/array-decorator-internal.data.d.ts +13 -2
  22. package/decorators/array/array-decorator.data.d.ts +21 -12
  23. package/decorators/array/array.decorator.d.ts +1 -1
  24. package/decorators/base/property-decorator-internal.data.d.ts +16 -3
  25. package/decorators/base/property-decorator.data.d.ts +26 -5
  26. package/decorators/boolean/boolean-decorator-internal.data.d.ts +9 -0
  27. package/decorators/boolean/boolean-decorator.data.d.ts +9 -0
  28. package/decorators/boolean/boolean.decorator.d.ts +1 -1
  29. package/decorators/number/number-decorator-internal.data.d.ts +6 -0
  30. package/decorators/number/number-decorator.data.d.ts +6 -0
  31. package/decorators/number/number.decorator.d.ts +1 -1
  32. package/decorators/object/object-decorator-internal.data.d.ts +3 -0
  33. package/decorators/object/object-decorator.data.d.ts +3 -0
  34. package/decorators/object/object.decorator.d.ts +1 -1
  35. package/decorators/string/string-decorator-internal.data.d.ts +12 -0
  36. package/decorators/string/string-decorator.data.d.ts +12 -0
  37. package/decorators/string/string.decorator.d.ts +1 -1
  38. package/esm2020/classes/base-builder.class.mjs +43 -0
  39. package/esm2020/classes/entity-service.class.mjs +2 -2
  40. package/esm2020/classes/entity-utilities.class.mjs +81 -33
  41. package/esm2020/components/confirm-dialog/confirm-dialog-data.builder.mjs +15 -48
  42. package/esm2020/components/confirm-dialog/confirm-dialog-data.mjs +1 -1
  43. package/esm2020/components/confirm-dialog/confirm-dialog.component.mjs +13 -2
  44. package/esm2020/components/get-validation-error-message.function.mjs +5 -1
  45. package/esm2020/components/input/add-array-item-dialog-data.builder.mjs +30 -0
  46. package/esm2020/components/input/add-array-item-dialog-data.mjs +2 -0
  47. package/esm2020/components/input/input.component.mjs +170 -31
  48. package/esm2020/components/input/input.module.mjs +19 -9
  49. package/esm2020/components/table/create-dialog/create-dialog-data.builder.mjs +18 -40
  50. package/esm2020/components/table/create-dialog/create-entity-dialog-data.builder.mjs +15 -7
  51. package/esm2020/components/table/create-dialog/create-entity-dialog.component.mjs +24 -17
  52. package/esm2020/components/table/create-dialog/create-entity-dialog.module.mjs +20 -4
  53. package/esm2020/components/table/edit-dialog/edit-dialog-data.builder.mjs +23 -63
  54. package/esm2020/components/table/edit-dialog/edit-entity-dialog.builder.mjs +15 -7
  55. package/esm2020/components/table/edit-dialog/edit-entity-dialog.component.mjs +35 -24
  56. package/esm2020/components/table/table-data.builder.mjs +30 -14
  57. package/esm2020/components/table/table-data.mjs +1 -1
  58. package/esm2020/components/table/table.component.mjs +57 -10
  59. package/esm2020/components/table/table.module.mjs +12 -4
  60. package/esm2020/decorators/array/array-decorator-internal.data.mjs +15 -4
  61. package/esm2020/decorators/array/array-decorator.data.mjs +1 -1
  62. package/esm2020/decorators/array/array.decorator.mjs +2 -2
  63. package/esm2020/decorators/base/property-decorator-internal.data.mjs +28 -5
  64. package/esm2020/decorators/base/property-decorator.data.mjs +1 -1
  65. package/esm2020/decorators/boolean/boolean-decorator-internal.data.mjs +12 -1
  66. package/esm2020/decorators/boolean/boolean-decorator.data.mjs +1 -1
  67. package/esm2020/decorators/boolean/boolean.decorator.mjs +2 -2
  68. package/esm2020/decorators/number/number-decorator-internal.data.mjs +7 -1
  69. package/esm2020/decorators/number/number-decorator.data.mjs +1 -1
  70. package/esm2020/decorators/number/number.decorator.mjs +2 -2
  71. package/esm2020/decorators/object/object-decorator-internal.data.mjs +4 -1
  72. package/esm2020/decorators/object/object-decorator.data.mjs +1 -1
  73. package/esm2020/decorators/object/object.decorator.mjs +2 -2
  74. package/esm2020/decorators/string/string-decorator-internal.data.mjs +13 -1
  75. package/esm2020/decorators/string/string-decorator.data.mjs +1 -1
  76. package/esm2020/decorators/string/string.decorator.mjs +2 -2
  77. package/esm2020/public-api.mjs +1 -1
  78. package/fesm2015/ngx-material-entity.mjs +708 -703
  79. package/fesm2015/ngx-material-entity.mjs.map +1 -1
  80. package/fesm2020/ngx-material-entity.mjs +750 -723
  81. package/fesm2020/ngx-material-entity.mjs.map +1 -1
  82. package/package.json +1 -1
  83. package/public-api.d.ts +0 -1
  84. package/components/input/array-table/add-array-item-dialog/add-array-item-dialog.component.d.ts +0 -22
  85. package/components/input/array-table/add-array-item-dialog/add-array-item-dialog.module.d.ts +0 -12
  86. package/components/input/array-table/array-table.component.d.ts +0 -34
  87. package/components/input/array-table/array-table.module.d.ts +0 -19
  88. package/components/input/internal-input/internal-input.component.d.ts +0 -54
  89. package/components/input/internal-input/internal-input.module.d.ts +0 -16
  90. package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.builder.mjs +0 -33
  91. package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.mjs +0 -2
  92. package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog.component.mjs +0 -45
  93. package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog.module.mjs +0 -22
  94. package/esm2020/components/input/array-table/array-table.component.mjs +0 -119
  95. package/esm2020/components/input/array-table/array-table.module.mjs +0 -66
  96. package/esm2020/components/input/internal-input/internal-input.component.mjs +0 -70
  97. package/esm2020/components/input/internal-input/internal-input.module.mjs +0 -54
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-material-entity",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "license": "MIT",
5
5
  "peerDependencies": {
6
6
  "@angular/animations": "~13.3.0",
package/public-api.d.ts CHANGED
@@ -21,7 +21,6 @@ export * from './components/table/edit-dialog/edit-entity-dialog.module';
21
21
  export * from './components/table/edit-dialog/edit-entity-dialog.component';
22
22
  export * from './components/get-validation-error-message.function';
23
23
  export * from './decorators/base/decorator-types.enum';
24
- export { cols } from './decorators/base/property-decorator.data';
25
24
  export * from './decorators/array/array.decorator';
26
25
  export * from './decorators/array/array-decorator.data';
27
26
  export * from './decorators/boolean/boolean.decorator';
@@ -1,22 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { MatDialogRef } from '@angular/material/dialog';
3
- import { Entity } from '../../../../classes/entity-model.class';
4
- import { EntityUtilities } from '../../../../classes/entity-utilities.class';
5
- import { AddArrayItemDialogData } from './add-array-item-dialog-data';
6
- import { AddArrayItemDialogDataInternal } from './add-array-item-dialog-data.builder';
7
- import * as i0 from "@angular/core";
8
- export declare class NgxMatEntityAddArrayItemDialogComponent<EntityType extends Entity> implements OnInit {
9
- private readonly inputData;
10
- dialogRef: MatDialogRef<NgxMatEntityAddArrayItemDialogComponent<EntityType>>;
11
- EntityUtilities: typeof EntityUtilities;
12
- entityKeys: (keyof EntityType)[];
13
- getWidth: typeof EntityUtilities.getWidth;
14
- data: AddArrayItemDialogDataInternal<EntityType>;
15
- constructor(inputData: AddArrayItemDialogData<EntityType>, dialogRef: MatDialogRef<NgxMatEntityAddArrayItemDialogComponent<EntityType>>);
16
- ngOnInit(): void;
17
- private setEntityKeys;
18
- create(): void;
19
- cancel(): void;
20
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityAddArrayItemDialogComponent<any>, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatEntityAddArrayItemDialogComponent<any>, "ngx-mat-entity-add-array-item-dialog", never, {}, {}, never, never>;
22
- }
@@ -1,12 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./add-array-item-dialog.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "../../internal-input/internal-input.module";
5
- import * as i4 from "@angular/material/dialog";
6
- import * as i5 from "@angular/forms";
7
- import * as i6 from "@angular/material/button";
8
- export declare class NgxMatEntityAddArrayItemDialogModule {
9
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityAddArrayItemDialogModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMatEntityAddArrayItemDialogModule, [typeof i1.NgxMatEntityAddArrayItemDialogComponent], [typeof i2.CommonModule, typeof i3.NgxMatEntityInternalInputModule, typeof i4.MatDialogModule, typeof i5.FormsModule, typeof i6.MatButtonModule], [typeof i1.NgxMatEntityAddArrayItemDialogComponent]>;
11
- static ɵinj: i0.ɵɵInjectorDeclaration<NgxMatEntityAddArrayItemDialogModule>;
12
- }
@@ -1,34 +0,0 @@
1
- import { SelectionModel } from '@angular/cdk/collections';
2
- import { OnInit } from '@angular/core';
3
- import { Entity } from '../../../classes/entity-model.class';
4
- import { EntityUtilities } from '../../../classes/entity-utilities.class';
5
- import { NgModel } from '@angular/forms';
6
- import { MatTableDataSource } from '@angular/material/table';
7
- import { MatDialog } from '@angular/material/dialog';
8
- import { EntityArrayDecoratorConfigInternal } from '../../../decorators/array/array-decorator-internal.data';
9
- import * as i0 from "@angular/core";
10
- export declare class NgxMatEntityArrayTableComponent<EntityType extends Entity> implements OnInit {
11
- private readonly dialog;
12
- arrayItems: EntityType[];
13
- metadata: EntityArrayDecoratorConfigInternal<EntityType>;
14
- getValidationErrorMessage: (model: NgModel) => string;
15
- omit: 'create' | 'update';
16
- dataSource: MatTableDataSource<EntityType>;
17
- selection: SelectionModel<EntityType>;
18
- displayedColumns: string[];
19
- arrayItem: EntityType;
20
- private arrayItemPriorChanges;
21
- getWidth: typeof EntityUtilities.getWidth;
22
- EntityUtilities: typeof EntityUtilities;
23
- constructor(dialog: MatDialog);
24
- trackByFn(index: unknown): unknown;
25
- ngOnInit(): void;
26
- private validateInput;
27
- add(): void;
28
- remove(): void;
29
- getObjectProperties(): (keyof EntityType)[];
30
- masterToggle(): void;
31
- isAllSelected(): boolean;
32
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityArrayTableComponent<any>, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatEntityArrayTableComponent<any>, "ngx-mat-entity-array-table", never, { "arrayItems": "arrayItems"; "metadata": "metadata"; "getValidationErrorMessage": "getValidationErrorMessage"; "omit": "omit"; }, {}, never, never>;
34
- }
@@ -1,19 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./array-table.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "@angular/material/input";
5
- import * as i4 from "@angular/forms";
6
- import * as i5 from "@angular/material/form-field";
7
- import * as i6 from "@angular/material/select";
8
- import * as i7 from "@angular/material/autocomplete";
9
- import * as i8 from "@angular/material/checkbox";
10
- import * as i9 from "@angular/material/slide-toggle";
11
- import * as i10 from "@angular/material/table";
12
- import * as i11 from "../internal-input/internal-input.module";
13
- import * as i12 from "@angular/material/button";
14
- import * as i13 from "./add-array-item-dialog/add-array-item-dialog.module";
15
- export declare class NgxMatEntityArrayTableModule {
16
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityArrayTableModule, never>;
17
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMatEntityArrayTableModule, [typeof i1.NgxMatEntityArrayTableComponent], [typeof i2.CommonModule, typeof i3.MatInputModule, typeof i4.FormsModule, typeof i5.MatFormFieldModule, typeof i6.MatSelectModule, typeof i7.MatAutocompleteModule, typeof i8.MatCheckboxModule, typeof i9.MatSlideToggleModule, typeof i10.MatTableModule, typeof i11.NgxMatEntityInternalInputModule, typeof i12.MatButtonModule, typeof i13.NgxMatEntityAddArrayItemDialogModule], [typeof i1.NgxMatEntityArrayTableComponent]>;
18
- static ɵinj: i0.ɵɵInjectorDeclaration<NgxMatEntityArrayTableModule>;
19
- }
@@ -1,54 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { DecoratorTypes } from '../../../decorators/base/decorator-types.enum';
3
- import { Entity } from '../../../classes/entity-model.class';
4
- import { EntityUtilities } from '../../../classes/entity-utilities.class';
5
- import { NgModel } from '@angular/forms';
6
- import { DropdownBooleanDecoratorConfigInternal } from '../../../decorators/boolean/boolean-decorator-internal.data';
7
- import { DefaultNumberDecoratorConfigInternal, DropdownNumberDecoratorConfigInternal } from '../../../decorators/number/number-decorator-internal.data';
8
- import { DefaultObjectDecoratorConfigInternal } from '../../../decorators/object/object-decorator-internal.data';
9
- import { AutocompleteStringDecoratorConfigInternal, DefaultStringDecoratorConfigInternal, DropdownStringDecoratorConfigInternal, TextboxStringDecoratorConfigInternal } from '../../../decorators/string/string-decorator-internal.data';
10
- import { PropertyDecoratorConfigInternal } from '../../../decorators/base/property-decorator-internal.data';
11
- import * as i0 from "@angular/core";
12
- export declare class NgxMatEntityInternalInputComponent<EntityType extends Entity> implements OnInit {
13
- /**
14
- * The entity on which the property exists. Used in conjuction with the "propertyKey"
15
- * to determine the property for which the input should be generated.
16
- */
17
- entity: EntityType;
18
- /**
19
- * The name of the property to generate the input for. Used in conjuction with the "entity".
20
- */
21
- propertyKey: keyof EntityType;
22
- /**
23
- * Whether to hide a value if it is omitted for creation.
24
- * Is used internally for the object property.
25
- */
26
- hideOmitForCreate?: boolean;
27
- /**
28
- * Whether to hide a value if it is omitted for editing.
29
- * Is used internally for the object property.
30
- */
31
- hideOmitForEdit?: boolean;
32
- /**
33
- * (optional) A custom function to generate the error-message for invalid inputs.
34
- */
35
- getValidationErrorMessage: (model: NgModel) => string;
36
- type: DecoratorTypes;
37
- metadata: PropertyDecoratorConfigInternal;
38
- metadataDefaultString: DefaultStringDecoratorConfigInternal;
39
- metadataTextboxString: TextboxStringDecoratorConfigInternal;
40
- metadataAutocompleteString: AutocompleteStringDecoratorConfigInternal;
41
- metadataDropdownString: DropdownStringDecoratorConfigInternal;
42
- metadataDropdownBoolean: DropdownBooleanDecoratorConfigInternal;
43
- metadataDefaultNumber: DefaultNumberDecoratorConfigInternal;
44
- metadataDropdownNumber: DropdownNumberDecoratorConfigInternal;
45
- metadataDefaultObject: DefaultObjectDecoratorConfigInternal<EntityType>;
46
- objectProperty: Entity;
47
- readonly DecoratorTypes: typeof DecoratorTypes;
48
- getWidth: typeof EntityUtilities.getWidth;
49
- trackByFn(index: unknown): unknown;
50
- ngOnInit(): void;
51
- getObjectProperties(): (keyof Entity)[];
52
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityInternalInputComponent<any>, never>;
53
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatEntityInternalInputComponent<any>, "ngx-mat-entity-internal-input", never, { "entity": "entity"; "propertyKey": "propertyKey"; "hideOmitForCreate": "hideOmitForCreate"; "hideOmitForEdit": "hideOmitForEdit"; "getValidationErrorMessage": "getValidationErrorMessage"; }, {}, never, never>;
54
- }
@@ -1,16 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./internal-input.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "@angular/material/input";
5
- import * as i4 from "@angular/forms";
6
- import * as i5 from "@angular/material/form-field";
7
- import * as i6 from "@angular/material/select";
8
- import * as i7 from "@angular/material/autocomplete";
9
- import * as i8 from "@angular/material/checkbox";
10
- import * as i9 from "@angular/material/slide-toggle";
11
- import * as i10 from "@angular/material/table";
12
- export declare class NgxMatEntityInternalInputModule {
13
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityInternalInputModule, never>;
14
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMatEntityInternalInputModule, [typeof i1.NgxMatEntityInternalInputComponent], [typeof i2.CommonModule, typeof i3.MatInputModule, typeof i4.FormsModule, typeof i5.MatFormFieldModule, typeof i6.MatSelectModule, typeof i7.MatAutocompleteModule, typeof i8.MatCheckboxModule, typeof i9.MatSlideToggleModule, typeof i10.MatTableModule], [typeof i1.NgxMatEntityInternalInputComponent]>;
15
- static ɵinj: i0.ɵɵInjectorDeclaration<NgxMatEntityInternalInputModule>;
16
- }
@@ -1,33 +0,0 @@
1
- import { getValidationErrorMessage } from '../../../get-validation-error-message.function';
2
- import { CreateDialogDataBuilder } from '../../../table/create-dialog/create-dialog-data.builder';
3
- export class AddArrayItemDialogDataInternal {
4
- constructor(entity, createDialogData, getValidationErrorMessage) {
5
- this.entity = entity;
6
- this.createDialogData = createDialogData;
7
- this.getValidationErrorMessage = getValidationErrorMessage;
8
- }
9
- }
10
- export class AddArrayItemDialogDataBuilder {
11
- constructor(data) {
12
- this.dataInput = data;
13
- const createDialogData = new CreateDialogDataBuilder(data.createDialogData)
14
- .withDefaultCreateButtonLabel('Add')
15
- .withDefaultTitle('Add to array')
16
- .createDialogData;
17
- this.addArrayItemDialogData = new AddArrayItemDialogDataInternal(data.entity, createDialogData, data.getValidationErrorMessage ? data.getValidationErrorMessage : getValidationErrorMessage);
18
- return this;
19
- }
20
- withDefaultCreateDialogData(createDialogData) {
21
- if (!this.dataInput.createDialogData) {
22
- this.addArrayItemDialogData.createDialogData = createDialogData;
23
- }
24
- return this;
25
- }
26
- withDefaultGetValidationErrorMessage(getValidationErrorMessage) {
27
- if (!this.dataInput.getValidationErrorMessage) {
28
- this.addArrayItemDialogData.getValidationErrorMessage = getValidationErrorMessage;
29
- }
30
- return this;
31
- }
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWFycmF5LWl0ZW0tZGlhbG9nLWRhdGEuYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvaW5wdXQvYXJyYXktdGFibGUvYWRkLWFycmF5LWl0ZW0tZGlhbG9nL2FkZC1hcnJheS1pdGVtLWRpYWxvZy1kYXRhLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUE0QixNQUFNLHlEQUF5RCxDQUFDO0FBRzVILE1BQU0sT0FBTyw4QkFBOEI7SUFLdkMsWUFDSSxNQUFrQixFQUNsQixnQkFBMEMsRUFDMUMseUJBQXFEO1FBRXJELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMseUJBQXlCLEdBQUcseUJBQXlCLENBQUM7SUFDL0QsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLDZCQUE2QjtJQUl0QyxZQUFZLElBQXdDO1FBQ2hELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7YUFDdEUsNEJBQTRCLENBQUMsS0FBSyxDQUFDO2FBQ25DLGdCQUFnQixDQUFDLGNBQWMsQ0FBQzthQUNoQyxnQkFBZ0IsQ0FBQztRQUN0QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSw4QkFBOEIsQ0FDNUQsSUFBSSxDQUFDLE1BQU0sRUFDWCxnQkFBZ0IsRUFDaEIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUM5RixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELDJCQUEyQixDQUFDLGdCQUEwQztRQUNsRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRTtZQUNsQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7U0FDbkU7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsb0NBQW9DLENBQUMseUJBQXFEO1FBQ3RGLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixFQUFFO1lBQzNDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx5QkFBeUIsR0FBRyx5QkFBeUIsQ0FBQztTQUNyRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2VudGl0eS1tb2RlbC5jbGFzcyc7XG5pbXBvcnQgeyBnZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vZ2V0LXZhbGlkYXRpb24tZXJyb3ItbWVzc2FnZS5mdW5jdGlvbic7XG5pbXBvcnQgeyBDcmVhdGVEaWFsb2dEYXRhQnVpbGRlciwgQ3JlYXRlRGlhbG9nRGF0YUludGVybmFsIH0gZnJvbSAnLi4vLi4vLi4vdGFibGUvY3JlYXRlLWRpYWxvZy9jcmVhdGUtZGlhbG9nLWRhdGEuYnVpbGRlcic7XG5pbXBvcnQgeyBBZGRBcnJheUl0ZW1EaWFsb2dEYXRhIH0gZnJvbSAnLi9hZGQtYXJyYXktaXRlbS1kaWFsb2ctZGF0YSc7XG5cbmV4cG9ydCBjbGFzcyBBZGRBcnJheUl0ZW1EaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4gaW1wbGVtZW50cyBBZGRBcnJheUl0ZW1EaWFsb2dEYXRhPEVudGl0eVR5cGU+IHtcbiAgICBlbnRpdHk6IEVudGl0eVR5cGU7XG4gICAgY3JlYXRlRGlhbG9nRGF0YTogQ3JlYXRlRGlhbG9nRGF0YUludGVybmFsO1xuICAgIGdldFZhbGlkYXRpb25FcnJvck1lc3NhZ2U6IChtb2RlbDogTmdNb2RlbCkgPT4gc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGVudGl0eTogRW50aXR5VHlwZSxcbiAgICAgICAgY3JlYXRlRGlhbG9nRGF0YTogQ3JlYXRlRGlhbG9nRGF0YUludGVybmFsLFxuICAgICAgICBnZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlOiAobW9kZWw6IE5nTW9kZWwpID0+IHN0cmluZ1xuICAgICkge1xuICAgICAgICB0aGlzLmVudGl0eSA9IGVudGl0eTtcbiAgICAgICAgdGhpcy5jcmVhdGVEaWFsb2dEYXRhID0gY3JlYXRlRGlhbG9nRGF0YTtcbiAgICAgICAgdGhpcy5nZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlID0gZ2V0VmFsaWRhdGlvbkVycm9yTWVzc2FnZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBZGRBcnJheUl0ZW1EaWFsb2dEYXRhQnVpbGRlcjxFbnRpdHlUeXBlIGV4dGVuZHMgRW50aXR5PiB7XG4gICAgYWRkQXJyYXlJdGVtRGlhbG9nRGF0YTogQWRkQXJyYXlJdGVtRGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YUlucHV0OiBBZGRBcnJheUl0ZW1EaWFsb2dEYXRhPEVudGl0eVR5cGU+O1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogQWRkQXJyYXlJdGVtRGlhbG9nRGF0YTxFbnRpdHlUeXBlPikge1xuICAgICAgICB0aGlzLmRhdGFJbnB1dCA9IGRhdGE7XG4gICAgICAgIGNvbnN0IGNyZWF0ZURpYWxvZ0RhdGEgPSBuZXcgQ3JlYXRlRGlhbG9nRGF0YUJ1aWxkZXIoZGF0YS5jcmVhdGVEaWFsb2dEYXRhKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0Q3JlYXRlQnV0dG9uTGFiZWwoJ0FkZCcpXG4gICAgICAgICAgICAud2l0aERlZmF1bHRUaXRsZSgnQWRkIHRvIGFycmF5JylcbiAgICAgICAgICAgIC5jcmVhdGVEaWFsb2dEYXRhO1xuICAgICAgICB0aGlzLmFkZEFycmF5SXRlbURpYWxvZ0RhdGEgPSBuZXcgQWRkQXJyYXlJdGVtRGlhbG9nRGF0YUludGVybmFsKFxuICAgICAgICAgICAgZGF0YS5lbnRpdHksXG4gICAgICAgICAgICBjcmVhdGVEaWFsb2dEYXRhLFxuICAgICAgICAgICAgZGF0YS5nZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlID8gZGF0YS5nZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlIDogZ2V0VmFsaWRhdGlvbkVycm9yTWVzc2FnZSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aERlZmF1bHRDcmVhdGVEaWFsb2dEYXRhKGNyZWF0ZURpYWxvZ0RhdGE6IENyZWF0ZURpYWxvZ0RhdGFJbnRlcm5hbCk6IEFkZEFycmF5SXRlbURpYWxvZ0RhdGFCdWlsZGVyPEVudGl0eVR5cGU+IHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGFJbnB1dC5jcmVhdGVEaWFsb2dEYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmFkZEFycmF5SXRlbURpYWxvZ0RhdGEuY3JlYXRlRGlhbG9nRGF0YSA9IGNyZWF0ZURpYWxvZ0RhdGE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aERlZmF1bHRHZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlKGdldFZhbGlkYXRpb25FcnJvck1lc3NhZ2U6IChtb2RlbDogTmdNb2RlbCkgPT4gc3RyaW5nKTogQWRkQXJyYXlJdGVtRGlhbG9nRGF0YUJ1aWxkZXI8RW50aXR5VHlwZT4ge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YUlucHV0LmdldFZhbGlkYXRpb25FcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkQXJyYXlJdGVtRGlhbG9nRGF0YS5nZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlID0gZ2V0VmFsaWRhdGlvbkVycm9yTWVzc2FnZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59Il19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWFycmF5LWl0ZW0tZGlhbG9nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL2lucHV0L2FycmF5LXRhYmxlL2FkZC1hcnJheS1pdGVtLWRpYWxvZy9hZGQtYXJyYXktaXRlbS1kaWFsb2ctZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5LW1vZGVsLmNsYXNzJztcbmltcG9ydCB7IENyZWF0ZURpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi8uLi90YWJsZS90YWJsZS1kYXRhJztcblxuZXhwb3J0IGludGVyZmFjZSBBZGRBcnJheUl0ZW1EaWFsb2dEYXRhPEVudGl0eVR5cGUgZXh0ZW5kcyBFbnRpdHk+IHtcbiAgICAvKipcbiAgICAgKiBBbiBlbXB0eSBlbnRpdHkgdGhhdCBpcyB1c2VkIGFzIHRoZSBkYXRhIG1vZGVsLlxuICAgICAqL1xuICAgIGVudGl0eTogRW50aXR5VHlwZSxcbiAgICAvKipcbiAgICAgKiBUaGUgaW5mbyBvZiB0aGUgZ2VuZXJpYyBjcmVhdGUtZGlhbG9nLlxuICAgICAqL1xuICAgIGNyZWF0ZURpYWxvZ0RhdGE/OiBDcmVhdGVEaWFsb2dEYXRhLFxuICAgIC8qKlxuICAgICAqIEEgY3VzdG9tIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIHRoZSBlcnJvci1tZXNzYWdlIGZvciBpbnZhbGlkIGlucHV0cy5cbiAgICAgKi9cbiAgICBnZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlPzogKG1vZGVsOiBOZ01vZGVsKSA9PiBzdHJpbmdcbn0iXX0=
@@ -1,45 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import { EntityUtilities } from '../../../../classes/entity-utilities.class';
4
- import { AddArrayItemDialogDataBuilder } from './add-array-item-dialog-data.builder';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/material/dialog";
7
- import * as i2 from "../../internal-input/internal-input.component";
8
- import * as i3 from "@angular/material/button";
9
- import * as i4 from "@angular/forms";
10
- import * as i5 from "@angular/common";
11
- export class NgxMatEntityAddArrayItemDialogComponent {
12
- constructor(inputData, dialogRef) {
13
- this.inputData = inputData;
14
- this.dialogRef = dialogRef;
15
- this.EntityUtilities = EntityUtilities;
16
- this.getWidth = EntityUtilities.getWidth;
17
- }
18
- ngOnInit() {
19
- this.data = new AddArrayItemDialogDataBuilder(this.inputData).addArrayItemDialogData;
20
- this.dialogRef.disableClose = true;
21
- this.setEntityKeys();
22
- }
23
- setEntityKeys() {
24
- this.entityKeys = Reflect.ownKeys(this.data.entity);
25
- const omitCreateKeys = EntityUtilities.getOmitForCreate(this.data.entity);
26
- this.entityKeys = this.entityKeys.filter((k) => !omitCreateKeys.includes(k))
27
- .sort((a, b) => EntityUtilities.compareOrder(a, b, this.data.entity));
28
- }
29
- create() {
30
- this.dialogRef.close(1);
31
- }
32
- cancel() {
33
- this.dialogRef.close();
34
- }
35
- }
36
- NgxMatEntityAddArrayItemDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityAddArrayItemDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
37
- NgxMatEntityAddArrayItemDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NgxMatEntityAddArrayItemDialogComponent, selector: "ngx-mat-entity-add-array-item-dialog", ngImport: i0, template: "<h2 mat-dialog-title>{{data.createDialogData.title}}</h2>\n\n<mat-dialog-content>\n <form #form=\"ngForm\" class=\"row\">\n <ngx-mat-entity-internal-input\n *ngFor=\"let key of entityKeys\"\n [entity]=\"data.entity\"\n [propertyKey]=\"key\"\n [hideOmitForCreate]=\"true\"\n [getValidationErrorMessage]=\"data.getValidationErrorMessage\"\n class=\"col-lg-{{getWidth(data.entity, key, 'lg')}} col-md-{{getWidth(data.entity, key, 'md')}} col-sm-{{getWidth(data.entity, key, 'sm')}}\"\n >\n </ngx-mat-entity-internal-input>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button (click)=\"create()\" [disabled]=\"!EntityUtilities.isEntityValid(data.entity, 'create')\">\n {{data.createDialogData.createButtonLabel}}\n </button>\n <button mat-raised-button (click)=\"cancel()\" class=\"cancel-button\">\n {{data.createDialogData.cancelButtonLabel}}\n </button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-actions{display:flex;justify-content:space-between}\n"], components: [{ type: i2.NgxMatEntityInternalInputComponent, selector: "ngx-mat-entity-internal-input", inputs: ["entity", "propertyKey", "hideOmitForCreate", "hideOmitForEdit", "getValidationErrorMessage"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityAddArrayItemDialogComponent, decorators: [{
39
- type: Component,
40
- args: [{ selector: 'ngx-mat-entity-add-array-item-dialog', template: "<h2 mat-dialog-title>{{data.createDialogData.title}}</h2>\n\n<mat-dialog-content>\n <form #form=\"ngForm\" class=\"row\">\n <ngx-mat-entity-internal-input\n *ngFor=\"let key of entityKeys\"\n [entity]=\"data.entity\"\n [propertyKey]=\"key\"\n [hideOmitForCreate]=\"true\"\n [getValidationErrorMessage]=\"data.getValidationErrorMessage\"\n class=\"col-lg-{{getWidth(data.entity, key, 'lg')}} col-md-{{getWidth(data.entity, key, 'md')}} col-sm-{{getWidth(data.entity, key, 'sm')}}\"\n >\n </ngx-mat-entity-internal-input>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button (click)=\"create()\" [disabled]=\"!EntityUtilities.isEntityValid(data.entity, 'create')\">\n {{data.createDialogData.createButtonLabel}}\n </button>\n <button mat-raised-button (click)=\"cancel()\" class=\"cancel-button\">\n {{data.createDialogData.cancelButtonLabel}}\n </button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-actions{display:flex;justify-content:space-between}\n"] }]
41
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
42
- type: Inject,
43
- args: [MAT_DIALOG_DATA]
44
- }] }, { type: i1.MatDialogRef }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWFycmF5LWl0ZW0tZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvaW5wdXQvYXJyYXktdGFibGUvYWRkLWFycmF5LWl0ZW0tZGlhbG9nL2FkZC1hcnJheS1pdGVtLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL2lucHV0L2FycmF5LXRhYmxlL2FkZC1hcnJheS1pdGVtLWRpYWxvZy9hZGQtYXJyYXktaXRlbS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFN0UsT0FBTyxFQUFFLDZCQUE2QixFQUFrQyxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7O0FBT3JILE1BQU0sT0FBTyx1Q0FBdUM7SUFTaEQsWUFFcUIsU0FBNkMsRUFDdkQsU0FBNEU7UUFEbEUsY0FBUyxHQUFULFNBQVMsQ0FBb0M7UUFDdkQsY0FBUyxHQUFULFNBQVMsQ0FBbUU7UUFYdkYsb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFJbEMsYUFBUSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFRakMsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO1FBQ3JGLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVPLGFBQWE7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUF5QixDQUFDO1FBQzVFLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN2RSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7O3FJQWxDUSx1Q0FBdUMsa0JBVXBDLGVBQWU7eUhBVmxCLHVDQUF1Qyw0RUNacEQsdWdDQXdCQTs0RkRaYSx1Q0FBdUM7a0JBTG5ELFNBQVM7K0JBQ0ksc0NBQXNDOzswQkFjM0MsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHktbW9kZWwuY2xhc3MnO1xuaW1wb3J0IHsgRW50aXR5VXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHktdXRpbGl0aWVzLmNsYXNzJztcbmltcG9ydCB7IEFkZEFycmF5SXRlbURpYWxvZ0RhdGEgfSBmcm9tICcuL2FkZC1hcnJheS1pdGVtLWRpYWxvZy1kYXRhJztcbmltcG9ydCB7IEFkZEFycmF5SXRlbURpYWxvZ0RhdGFCdWlsZGVyLCBBZGRBcnJheUl0ZW1EaWFsb2dEYXRhSW50ZXJuYWwgfSBmcm9tICcuL2FkZC1hcnJheS1pdGVtLWRpYWxvZy1kYXRhLmJ1aWxkZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1tYXQtZW50aXR5LWFkZC1hcnJheS1pdGVtLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkZC1hcnJheS1pdGVtLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWRkLWFycmF5LWl0ZW0tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmd4TWF0RW50aXR5QWRkQXJyYXlJdGVtRGlhbG9nQ29tcG9uZW50PEVudGl0eVR5cGUgZXh0ZW5kcyBFbnRpdHk+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBFbnRpdHlVdGlsaXRpZXMgPSBFbnRpdHlVdGlsaXRpZXM7XG5cbiAgICBlbnRpdHlLZXlzITogKGtleW9mIEVudGl0eVR5cGUpW107XG5cbiAgICBnZXRXaWR0aCA9IEVudGl0eVV0aWxpdGllcy5nZXRXaWR0aDtcblxuICAgIGRhdGEhOiBBZGRBcnJheUl0ZW1EaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXREYXRhOiBBZGRBcnJheUl0ZW1EaWFsb2dEYXRhPEVudGl0eVR5cGU+LFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Tmd4TWF0RW50aXR5QWRkQXJyYXlJdGVtRGlhbG9nQ29tcG9uZW50PEVudGl0eVR5cGU+PlxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGEgPSBuZXcgQWRkQXJyYXlJdGVtRGlhbG9nRGF0YUJ1aWxkZXIodGhpcy5pbnB1dERhdGEpLmFkZEFycmF5SXRlbURpYWxvZ0RhdGE7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0RW50aXR5S2V5cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RW50aXR5S2V5cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbnRpdHlLZXlzID0gUmVmbGVjdC5vd25LZXlzKHRoaXMuZGF0YS5lbnRpdHkpIGFzIChrZXlvZiBFbnRpdHlUeXBlKVtdO1xuICAgICAgICBjb25zdCBvbWl0Q3JlYXRlS2V5cyA9IEVudGl0eVV0aWxpdGllcy5nZXRPbWl0Rm9yQ3JlYXRlKHRoaXMuZGF0YS5lbnRpdHkpO1xuICAgICAgICB0aGlzLmVudGl0eUtleXMgPSB0aGlzLmVudGl0eUtleXMuZmlsdGVyKChrKSA9PiAhb21pdENyZWF0ZUtleXMuaW5jbHVkZXMoaykpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gRW50aXR5VXRpbGl0aWVzLmNvbXBhcmVPcmRlcihhLCBiLCB0aGlzLmRhdGEuZW50aXR5KSk7XG4gICAgfVxuXG4gICAgY3JlYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgxKTtcbiAgICB9XG5cbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfVxufSIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlPnt7ZGF0YS5jcmVhdGVEaWFsb2dEYXRhLnRpdGxlfX08L2gyPlxuXG48bWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxmb3JtICNmb3JtPVwibmdGb3JtXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPG5neC1tYXQtZW50aXR5LWludGVybmFsLWlucHV0XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQga2V5IG9mIGVudGl0eUtleXNcIlxuICAgICAgICAgICAgW2VudGl0eV09XCJkYXRhLmVudGl0eVwiXG4gICAgICAgICAgICBbcHJvcGVydHlLZXldPVwia2V5XCJcbiAgICAgICAgICAgIFtoaWRlT21pdEZvckNyZWF0ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtnZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlXT1cImRhdGEuZ2V0VmFsaWRhdGlvbkVycm9yTWVzc2FnZVwiXG4gICAgICAgICAgICBjbGFzcz1cImNvbC1sZy17e2dldFdpZHRoKGRhdGEuZW50aXR5LCBrZXksICdsZycpfX0gY29sLW1kLXt7Z2V0V2lkdGgoZGF0YS5lbnRpdHksIGtleSwgJ21kJyl9fSBjb2wtc20te3tnZXRXaWR0aChkYXRhLmVudGl0eSwga2V5LCAnc20nKX19XCJcbiAgICAgICAgPlxuICAgICAgICA8L25neC1tYXQtZW50aXR5LWludGVybmFsLWlucHV0PlxuICAgIDwvZm9ybT5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNyZWF0ZSgpXCIgW2Rpc2FibGVkXT1cIiFFbnRpdHlVdGlsaXRpZXMuaXNFbnRpdHlWYWxpZChkYXRhLmVudGl0eSwgJ2NyZWF0ZScpXCI+XG4gICAgICAgIHt7ZGF0YS5jcmVhdGVEaWFsb2dEYXRhLmNyZWF0ZUJ1dHRvbkxhYmVsfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiPlxuICAgICAgICB7e2RhdGEuY3JlYXRlRGlhbG9nRGF0YS5jYW5jZWxCdXR0b25MYWJlbH19XG4gICAgPC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { NgxMatEntityAddArrayItemDialogComponent } from './add-array-item-dialog.component';
4
- import { NgxMatEntityInternalInputModule } from '../../internal-input/internal-input.module';
5
- import { MatDialogModule } from '@angular/material/dialog';
6
- import { FormsModule } from '@angular/forms';
7
- import { MatButtonModule } from '@angular/material/button';
8
- import * as i0 from "@angular/core";
9
- export class NgxMatEntityAddArrayItemDialogModule {
10
- }
11
- NgxMatEntityAddArrayItemDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityAddArrayItemDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- NgxMatEntityAddArrayItemDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityAddArrayItemDialogModule, declarations: [NgxMatEntityAddArrayItemDialogComponent], imports: [CommonModule, NgxMatEntityInternalInputModule, MatDialogModule, FormsModule, MatButtonModule], exports: [NgxMatEntityAddArrayItemDialogComponent] });
13
- NgxMatEntityAddArrayItemDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityAddArrayItemDialogModule, imports: [[CommonModule, NgxMatEntityInternalInputModule, MatDialogModule, FormsModule, MatButtonModule]] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityAddArrayItemDialogModule, decorators: [{
15
- type: NgModule,
16
- args: [{
17
- declarations: [NgxMatEntityAddArrayItemDialogComponent],
18
- imports: [CommonModule, NgxMatEntityInternalInputModule, MatDialogModule, FormsModule, MatButtonModule],
19
- exports: [NgxMatEntityAddArrayItemDialogComponent]
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWFycmF5LWl0ZW0tZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvaW5wdXQvYXJyYXktdGFibGUvYWRkLWFycmF5LWl0ZW0tZGlhbG9nL2FkZC1hcnJheS1pdGVtLWRpYWxvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBTzNELE1BQU0sT0FBTyxvQ0FBb0M7O2tJQUFwQyxvQ0FBb0M7bUlBQXBDLG9DQUFvQyxpQkFKOUIsdUNBQXVDLGFBQzVDLFlBQVksRUFBRSwrQkFBK0IsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGVBQWUsYUFDNUYsdUNBQXVDO21JQUV4QyxvQ0FBb0MsWUFIcEMsQ0FBQyxZQUFZLEVBQUUsK0JBQStCLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7NEZBRzlGLG9DQUFvQztrQkFMaEQsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztvQkFDdkQsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLCtCQUErQixFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDO29CQUN2RyxPQUFPLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztpQkFDckQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5neE1hdEVudGl0eUFkZEFycmF5SXRlbURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYWRkLWFycmF5LWl0ZW0tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3hNYXRFbnRpdHlJbnRlcm5hbElucHV0TW9kdWxlIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWwtaW5wdXQvaW50ZXJuYWwtaW5wdXQubW9kdWxlJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbTmd4TWF0RW50aXR5QWRkQXJyYXlJdGVtRGlhbG9nQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ3hNYXRFbnRpdHlJbnRlcm5hbElucHV0TW9kdWxlLCBNYXREaWFsb2dNb2R1bGUsIEZvcm1zTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtOZ3hNYXRFbnRpdHlBZGRBcnJheUl0ZW1EaWFsb2dDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE5neE1hdEVudGl0eUFkZEFycmF5SXRlbURpYWxvZ01vZHVsZSB7fSJdfQ==
@@ -1,119 +0,0 @@
1
- import { SelectionModel } from '@angular/cdk/collections';
2
- import { Component, Input } from '@angular/core';
3
- import { EntityUtilities } from '../../../classes/entity-utilities.class';
4
- import { MatTableDataSource } from '@angular/material/table';
5
- import { MatDialog } from '@angular/material/dialog';
6
- import { cloneDeep } from 'lodash';
7
- import { firstValueFrom } from 'rxjs';
8
- import { NgxMatEntityAddArrayItemDialogComponent } from './add-array-item-dialog/add-array-item-dialog.component';
9
- import { AddArrayItemDialogDataBuilder } from './add-array-item-dialog/add-array-item-dialog-data.builder';
10
- import { EntityArrayDecoratorConfigInternal } from '../../../decorators/array/array-decorator-internal.data';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/material/dialog";
13
- import * as i2 from "../internal-input/internal-input.component";
14
- import * as i3 from "@angular/material/button";
15
- import * as i4 from "@angular/material/table";
16
- import * as i5 from "@angular/material/checkbox";
17
- import * as i6 from "@angular/common";
18
- export class NgxMatEntityArrayTableComponent {
19
- constructor(dialog) {
20
- this.dialog = dialog;
21
- this.selection = new SelectionModel(true, []);
22
- this.getWidth = EntityUtilities.getWidth;
23
- this.EntityUtilities = EntityUtilities;
24
- }
25
- trackByFn(index) {
26
- return index;
27
- }
28
- ngOnInit() {
29
- const givenDisplayColumns = this.metadata.displayColumns.map((v) => v.displayName);
30
- this.validateInput(givenDisplayColumns);
31
- this.displayedColumns = ['select'].concat(givenDisplayColumns);
32
- this.dataSource = new MatTableDataSource();
33
- this.dataSource.data = this.arrayItems;
34
- this.arrayItem = new this.metadata.EntityClass();
35
- this.arrayItemPriorChanges = cloneDeep(this.arrayItem);
36
- }
37
- validateInput(givenDisplayColumns) {
38
- if (givenDisplayColumns.find((s) => s === 'select')) {
39
- throw new Error(`The name "select" for a display column is reserved.
40
- Please choose a different name.`);
41
- }
42
- if (!this.metadata.createInline && !this.metadata.createDialogData) {
43
- throw new Error(`Missing required Input data "createDialogData".
44
- You can only omit this value when the creation is inline.`);
45
- }
46
- }
47
- add() {
48
- if (this.metadata.createInline) {
49
- this.arrayItems.push(cloneDeep(this.arrayItem));
50
- this.dataSource.data = this.arrayItems;
51
- EntityUtilities.resetChangesOnEntity(this.arrayItem, this.arrayItemPriorChanges);
52
- }
53
- else {
54
- const dialogInputData = {
55
- entity: this.arrayItem,
56
- createDialogData: this.metadata.createDialogData,
57
- getValidationErrorMessage: this.getValidationErrorMessage
58
- };
59
- const dialogData = new AddArrayItemDialogDataBuilder(dialogInputData)
60
- .addArrayItemDialogData;
61
- firstValueFrom(this.dialog.open(NgxMatEntityAddArrayItemDialogComponent, {
62
- data: dialogData,
63
- autoFocus: false,
64
- restoreFocus: false
65
- }).afterClosed()).then((res) => {
66
- if (res === 1) {
67
- this.arrayItems.push(cloneDeep(this.arrayItem));
68
- this.dataSource.data = this.arrayItems;
69
- }
70
- EntityUtilities.resetChangesOnEntity(this.arrayItem, this.arrayItemPriorChanges);
71
- });
72
- }
73
- }
74
- remove() {
75
- this.selection.selected.forEach(s => {
76
- this.arrayItems.splice(this.arrayItems.indexOf(s), 1);
77
- });
78
- this.dataSource.data = this.arrayItems;
79
- this.selection.clear();
80
- }
81
- getObjectProperties() {
82
- const res = [];
83
- for (const property in this.arrayItem) {
84
- const metadata = EntityUtilities.getPropertyMetadata(this.arrayItem, property, EntityUtilities.getPropertyType(this.arrayItem, property));
85
- if (!(metadata.omitForCreate)) {
86
- res.push(property);
87
- }
88
- }
89
- return res.sort((a, b) => EntityUtilities.compareOrder(a, b, this.arrayItem));
90
- }
91
- masterToggle() {
92
- if (this.isAllSelected()) {
93
- this.selection.clear();
94
- }
95
- else {
96
- this.dataSource.data.forEach((row) => this.selection.select(row));
97
- }
98
- }
99
- isAllSelected() {
100
- const numSelected = this.selection.selected.length;
101
- const numRows = this.dataSource.data.length;
102
- return numSelected === numRows;
103
- }
104
- }
105
- NgxMatEntityArrayTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityArrayTableComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
106
- NgxMatEntityArrayTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NgxMatEntityArrayTableComponent, selector: "ngx-mat-entity-array-table", inputs: { arrayItems: "arrayItems", metadata: "metadata", getValidationErrorMessage: "getValidationErrorMessage", omit: "omit" }, ngImport: i0, template: "<div class=\"mat-elevation-z8\" style=\"border-radius: 5px;padding: 15px;margin-bottom: 15px;margin-top: 15px;\">\n\n <div style=\"padding-bottom: 10px\">\n <b>{{metadata.displayName}}</b>\n </div>\n <div class=\"row\" *ngIf=\"metadata.createInline\">\n <ngx-mat-entity-internal-input\n *ngFor=\"let key of getObjectProperties(); let i = index; trackBy: trackByFn\"\n [entity]=\"arrayItem\"\n [propertyKey]=\"key\"\n [hideOmitForCreate]=\"true\"\n [getValidationErrorMessage]=\"getValidationErrorMessage\"\n class=\"col-lg-{{getWidth(arrayItem, key, 'lg')}} col-md-{{getWidth(arrayItem, key, 'md')}} col-sm-{{getWidth(arrayItem, key, 'sm')}}\"\n >\n </ngx-mat-entity-internal-input>\n </div>\n <div class=\"buttons\">\n <button mat-raised-button\n [disabled]=\"metadata.createInline && !EntityUtilities.isEntityValid(arrayItem, 'create')\"\n (click)=\"add()\">\n Add\n </button>\n <button mat-raised-button\n [disabled]=\"!selection.selected.length\"\n (click)=\"remove()\">\n Remove\n </button>\n </div>\n\n <mat-table [dataSource]=\"dataSource\">\n <!-- select Column -->\n <ng-container matColumnDef=\"select\">\n <mat-header-cell *matHeaderCellDef>\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [checked]=\"selection.hasValue() && isAllSelected()\" [indeterminate]=\"selection.hasValue() && !isAllSelected()\"></mat-checkbox>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let module\" class=\"module\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(module) : null\" [checked]=\"selection.isSelected(module)\"></mat-checkbox>\n </mat-cell>\n </ng-container>\n \n <ng-container *ngFor=\"let dCol of metadata.displayColumns\" [matColumnDef]=\"dCol.displayName\">\n <mat-header-cell *matHeaderCellDef>\n {{dCol.displayName}}\n </mat-header-cell>\n <mat-cell class=\"entity\" *matCellDef=\"let entity\">\n {{dCol.value(entity)}}\n </mat-cell>\n </ng-container>\n \n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n\n <div class=\"array-error\" *ngIf=\"metadata.required && !dataSource.data.length\">\n {{metadata.missingErrorMessage}}\n </div>\n</div>", styles: [".buttons{display:flex;justify-content:space-between;margin-bottom:10px;margin-top:5px}mat-table{border:1px solid #E0E0E0;border-radius:5px;padding-top:5px;padding-bottom:25px}.mat-column-select{flex:0 0 75px}.array-error{display:flex;align-items:center;justify-content:center;margin-top:-25.8px;border:1px solid #E0E0E0;background-color:#f8d3d7;color:#721c24;height:25.8px;border-bottom-left-radius:5px;border-bottom-right-radius:5px}\n"], components: [{ type: i2.NgxMatEntityInternalInputComponent, selector: "ngx-mat-entity-internal-input", inputs: ["entity", "propertyKey", "hideOmitForCreate", "hideOmitForEdit", "getValidationErrorMessage"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i4.MatCellDef, selector: "[matCellDef]" }, { type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }] });
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityArrayTableComponent, decorators: [{
108
- type: Component,
109
- args: [{ selector: 'ngx-mat-entity-array-table', template: "<div class=\"mat-elevation-z8\" style=\"border-radius: 5px;padding: 15px;margin-bottom: 15px;margin-top: 15px;\">\n\n <div style=\"padding-bottom: 10px\">\n <b>{{metadata.displayName}}</b>\n </div>\n <div class=\"row\" *ngIf=\"metadata.createInline\">\n <ngx-mat-entity-internal-input\n *ngFor=\"let key of getObjectProperties(); let i = index; trackBy: trackByFn\"\n [entity]=\"arrayItem\"\n [propertyKey]=\"key\"\n [hideOmitForCreate]=\"true\"\n [getValidationErrorMessage]=\"getValidationErrorMessage\"\n class=\"col-lg-{{getWidth(arrayItem, key, 'lg')}} col-md-{{getWidth(arrayItem, key, 'md')}} col-sm-{{getWidth(arrayItem, key, 'sm')}}\"\n >\n </ngx-mat-entity-internal-input>\n </div>\n <div class=\"buttons\">\n <button mat-raised-button\n [disabled]=\"metadata.createInline && !EntityUtilities.isEntityValid(arrayItem, 'create')\"\n (click)=\"add()\">\n Add\n </button>\n <button mat-raised-button\n [disabled]=\"!selection.selected.length\"\n (click)=\"remove()\">\n Remove\n </button>\n </div>\n\n <mat-table [dataSource]=\"dataSource\">\n <!-- select Column -->\n <ng-container matColumnDef=\"select\">\n <mat-header-cell *matHeaderCellDef>\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [checked]=\"selection.hasValue() && isAllSelected()\" [indeterminate]=\"selection.hasValue() && !isAllSelected()\"></mat-checkbox>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let module\" class=\"module\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(module) : null\" [checked]=\"selection.isSelected(module)\"></mat-checkbox>\n </mat-cell>\n </ng-container>\n \n <ng-container *ngFor=\"let dCol of metadata.displayColumns\" [matColumnDef]=\"dCol.displayName\">\n <mat-header-cell *matHeaderCellDef>\n {{dCol.displayName}}\n </mat-header-cell>\n <mat-cell class=\"entity\" *matCellDef=\"let entity\">\n {{dCol.value(entity)}}\n </mat-cell>\n </ng-container>\n \n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n\n <div class=\"array-error\" *ngIf=\"metadata.required && !dataSource.data.length\">\n {{metadata.missingErrorMessage}}\n </div>\n</div>", styles: [".buttons{display:flex;justify-content:space-between;margin-bottom:10px;margin-top:5px}mat-table{border:1px solid #E0E0E0;border-radius:5px;padding-top:5px;padding-bottom:25px}.mat-column-select{flex:0 0 75px}.array-error{display:flex;align-items:center;justify-content:center;margin-top:-25.8px;border:1px solid #E0E0E0;background-color:#f8d3d7;color:#721c24;height:25.8px;border-bottom-left-radius:5px;border-bottom-right-radius:5px}\n"] }]
110
- }], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { arrayItems: [{
111
- type: Input
112
- }], metadata: [{
113
- type: Input
114
- }], getValidationErrorMessage: [{
115
- type: Input
116
- }], omit: [{
117
- type: Input
118
- }] } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9pbnB1dC9hcnJheS10YWJsZS9hcnJheS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL2lucHV0L2FycmF5LXRhYmxlL2FycmF5LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNsSCxPQUFPLEVBQUUsNkJBQTZCLEVBQWtDLE1BQU0sNERBQTRELENBQUM7QUFFM0ksT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seURBQXlELENBQUM7Ozs7Ozs7O0FBTzdHLE1BQU0sT0FBTywrQkFBK0I7SUEyQnhDLFlBQTZCLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFaOUMsY0FBUyxHQUErQixJQUFJLGNBQWMsQ0FBYSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFRakYsYUFBUSxH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U0FDMUI7YUFDSTtZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNyRTtJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM1QyxPQUFPLFdBQVcsS0FBSyxPQUFPLENBQUM7SUFDbkMsQ0FBQzs7NkhBN0hRLCtCQUErQjtpSEFBL0IsK0JBQStCLG9NQ25CNUMsMmxGQXdETTs0RkRyQ08sK0JBQStCO2tCQUwzQyxTQUFTOytCQUNJLDRCQUE0QjtnR0FNdEMsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudGl0eS1tb2RlbC5jbGFzcyc7XG5pbXBvcnQgeyBFbnRpdHlVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudGl0eS11dGlsaXRpZXMuY2xhc3MnO1xuaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5neE1hdEVudGl0eUFkZEFycmF5SXRlbURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYWRkLWFycmF5LWl0ZW0tZGlhbG9nL2FkZC1hcnJheS1pdGVtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWRkQXJyYXlJdGVtRGlhbG9nRGF0YUJ1aWxkZXIsIEFkZEFycmF5SXRlbURpYWxvZ0RhdGFJbnRlcm5hbCB9IGZyb20gJy4vYWRkLWFycmF5LWl0ZW0tZGlhbG9nL2FkZC1hcnJheS1pdGVtLWRpYWxvZy1kYXRhLmJ1aWxkZXInO1xuaW1wb3J0IHsgQWRkQXJyYXlJdGVtRGlhbG9nRGF0YSB9IGZyb20gJy4vYWRkLWFycmF5LWl0ZW0tZGlhbG9nL2FkZC1hcnJheS1pdGVtLWRpYWxvZy1kYXRhJztcbmltcG9ydCB7IEVudGl0eUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgfSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3JzL2FycmF5L2FycmF5LWRlY29yYXRvci1pbnRlcm5hbC5kYXRhJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtbWF0LWVudGl0eS1hcnJheS10YWJsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FycmF5LXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hcnJheS10YWJsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5neE1hdEVudGl0eUFycmF5VGFibGVDb21wb25lbnQ8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgYXJyYXlJdGVtcyE6IEVudGl0eVR5cGVbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgbWV0YWRhdGEhOiBFbnRpdHlBcnJheURlY29yYXRvckNvbmZpZ0ludGVybmFsPEVudGl0eVR5cGU+O1xuXG4gICAgQElucHV0KClcbiAgICBnZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlITogKG1vZGVsOiBOZ01vZGVsKSA9PiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIG9taXQhOiAnY3JlYXRlJyB8ICd1cGRhdGUnO1xuXG4gICAgZGF0YVNvdXJjZSE6IE1hdFRhYmxlRGF0YVNvdXJjZTxFbnRpdHlUeXBlPjtcblxuICAgIHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8RW50aXR5VHlwZT4gPSBuZXcgU2VsZWN0aW9uTW9kZWw8RW50aXR5VHlwZT4odHJ1ZSwgW10pO1xuXG4gICAgZGlzcGxheWVkQ29sdW1ucyE6IHN0cmluZ1tdO1xuXG4gICAgYXJyYXlJdGVtITogRW50aXR5VHlwZTtcblxuICAgIHByaXZhdGUgYXJyYXlJdGVtUHJpb3JDaGFuZ2VzITogRW50aXR5VHlwZTtcblxuICAgIGdldFdpZHRoID0gRW50aXR5VXRpbGl0aWVzLmdldFdpZHRoO1xuXG4gICAgRW50aXR5VXRpbGl0aWVzID0gRW50aXR5VXRpbGl0aWVzO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZykge31cblxuICAgIHRyYWNrQnlGbihpbmRleDogdW5rbm93bik6IHVua25vd24ge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGdpdmVuRGlzcGxheUNvbHVtbnM6IHN0cmluZ1tdID0gdGhpcy5tZXRhZGF0YS5kaXNwbGF5Q29sdW1ucy5tYXAoKHYpID0+IHYuZGlzcGxheU5hbWUpO1xuICAgICAgICB0aGlzLnZhbGlkYXRlSW5wdXQoZ2l2ZW5EaXNwbGF5Q29sdW1ucyk7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IFsnc2VsZWN0J10uY29uY2F0KGdpdmVuRGlzcGxheUNvbHVtbnMpO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKCk7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5hcnJheUl0ZW1zO1xuICAgICAgICB0aGlzLmFycmF5SXRlbSA9IG5ldyB0aGlzLm1ldGFkYXRhLkVudGl0eUNsYXNzKCk7XG4gICAgICAgIHRoaXMuYXJyYXlJdGVtUHJpb3JDaGFuZ2VzID0gY2xvbmVEZWVwKHRoaXMuYXJyYXlJdGVtKTtcbiAgICB9XG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUlucHV0KGdpdmVuRGlzcGxheUNvbHVtbnM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIGlmIChnaXZlbkRpc3BsYXlDb2x1bW5zLmZpbmQoKHMpID0+IHMgPT09ICdzZWxlY3QnKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBUaGUgbmFtZSBcInNlbGVjdFwiIGZvciBhIGRpc3BsYXkgY29sdW1uIGlzIHJlc2VydmVkLlxuICAgICAgICAgICAgICAgIFBsZWFzZSBjaG9vc2UgYSBkaWZmZXJlbnQgbmFtZS5gXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5tZXRhZGF0YS5jcmVhdGVJbmxpbmUgJiYgIXRoaXMubWV0YWRhdGEuY3JlYXRlRGlhbG9nRGF0YSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBNaXNzaW5nIHJlcXVpcmVkIElucHV0IGRhdGEgXCJjcmVhdGVEaWFsb2dEYXRhXCIuXG4gICAgICAgICAgICAgICAgWW91IGNhbiBvbmx5IG9taXQgdGhpcyB2YWx1ZSB3aGVuIHRoZSBjcmVhdGlvbiBpcyBpbmxpbmUuYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFkZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubWV0YWRhdGEuY3JlYXRlSW5saW5lKSB7XG4gICAgICAgICAgICB0aGlzLmFycmF5SXRlbXMucHVzaChjbG9uZURlZXAodGhpcy5hcnJheUl0ZW0pKTtcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5hcnJheUl0ZW1zO1xuICAgICAgICAgICAgRW50aXR5VXRpbGl0aWVzLnJlc2V0Q2hhbmdlc09uRW50aXR5KHRoaXMuYXJyYXlJdGVtLCB0aGlzLmFycmF5SXRlbVByaW9yQ2hhbmdlcyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBkaWFsb2dJbnB1dERhdGE6IEFkZEFycmF5SXRlbURpYWxvZ0RhdGE8RW50aXR5VHlwZT49IHtcbiAgICAgICAgICAgICAgICBlbnRpdHk6IHRoaXMuYXJyYXlJdGVtLFxuICAgICAgICAgICAgICAgIGNyZWF0ZURpYWxvZ0RhdGE6IHRoaXMubWV0YWRhdGEuY3JlYXRlRGlhbG9nRGF0YSxcbiAgICAgICAgICAgICAgICBnZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlOiB0aGlzLmdldFZhbGlkYXRpb25FcnJvck1lc3NhZ2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGRpYWxvZ0RhdGE6IEFkZEFycmF5SXRlbURpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPiA9IG5ldyBBZGRBcnJheUl0ZW1EaWFsb2dEYXRhQnVpbGRlcihkaWFsb2dJbnB1dERhdGEpXG4gICAgICAgICAgICAgICAgLmFkZEFycmF5SXRlbURpYWxvZ0RhdGE7XG4gICAgICAgICAgICBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZy5vcGVuKFxuICAgICAgICAgICAgICAgICAgICBOZ3hNYXRFbnRpdHlBZGRBcnJheUl0ZW1EaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGRpYWxvZ0RhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKS5hZnRlckNsb3NlZCgpXG4gICAgICAgICAgICApLnRoZW4oKHJlczogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlcyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFycmF5SXRlbXMucHVzaChjbG9uZURlZXAodGhpcy5hcnJheUl0ZW0pKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0aGlzLmFycmF5SXRlbXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEVudGl0eVV0aWxpdGllcy5yZXNldENoYW5nZXNPbkVudGl0eSh0aGlzLmFycmF5SXRlbSwgdGhpcy5hcnJheUl0ZW1QcmlvckNoYW5nZXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmVtb3ZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5mb3JFYWNoKHMgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcnJheUl0ZW1zLnNwbGljZSh0aGlzLmFycmF5SXRlbXMuaW5kZXhPZihzKSwgMSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHRoaXMuYXJyYXlJdGVtcztcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtcbiAgICB9XG5cbiAgICBnZXRPYmplY3RQcm9wZXJ0aWVzKCk6IChrZXlvZiBFbnRpdHlUeXBlKVtdIHtcbiAgICAgICAgY29uc3QgcmVzOiAoa2V5b2YgRW50aXR5VHlwZSlbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIHRoaXMuYXJyYXlJdGVtKSB7XG4gICAgICAgICAgICBjb25zdCBtZXRhZGF0YSA9IEVudGl0eVV0aWxpdGllcy5nZXRQcm9wZXJ0eU1ldGFkYXRhKFxuICAgICAgICAgICAgICAgIHRoaXMuYXJyYXlJdGVtLFxuICAgICAgICAgICAgICAgIHByb3BlcnR5IGFzIGtleW9mIEVudGl0eSxcbiAgICAgICAgICAgICAgICBFbnRpdHlVdGlsaXRpZXMuZ2V0UHJvcGVydHlUeXBlKHRoaXMuYXJyYXlJdGVtLCBwcm9wZXJ0eSBhcyBrZXlvZiBFbnRpdHkpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKCEobWV0YWRhdGEub21pdEZvckNyZWF0ZSkpIHtcbiAgICAgICAgICAgICAgICByZXMucHVzaChwcm9wZXJ0eSBhcyBrZXlvZiBFbnRpdHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXMuc29ydCgoYSwgYikgPT4gRW50aXR5VXRpbGl0aWVzLmNvbXBhcmVPcmRlcihhLCBiLCB0aGlzLmFycmF5SXRlbSkpO1xuICAgIH1cblxuICAgIG1hc3RlclRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNBbGxTZWxlY3RlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEuZm9yRWFjaCgocm93KSA9PiB0aGlzLnNlbGVjdGlvbi5zZWxlY3Qocm93KSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBudW1TZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcbiAgICAgICAgY29uc3QgbnVtUm93cyA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aDtcbiAgICAgICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzO1xuICAgIH1cbn0iLCI8ZGl2IGNsYXNzPVwibWF0LWVsZXZhdGlvbi16OFwiIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogNXB4O3BhZGRpbmc6IDE1cHg7bWFyZ2luLWJvdHRvbTogMTVweDttYXJnaW4tdG9wOiAxNXB4O1wiPlxuXG4gICAgPGRpdiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiAxMHB4XCI+XG4gICAgICAgIDxiPnt7bWV0YWRhdGEuZGlzcGxheU5hbWV9fTwvYj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCJtZXRhZGF0YS5jcmVhdGVJbmxpbmVcIj5cbiAgICAgICAgPG5neC1tYXQtZW50aXR5LWludGVybmFsLWlucHV0XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQga2V5IG9mIGdldE9iamVjdFByb3BlcnRpZXMoKTsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgICAgICAgIFtlbnRpdHldPVwiYXJyYXlJdGVtXCJcbiAgICAgICAgICAgIFtwcm9wZXJ0eUtleV09XCJrZXlcIlxuICAgICAgICAgICAgW2hpZGVPbWl0Rm9yQ3JlYXRlXT1cInRydWVcIlxuICAgICAgICAgICAgW2dldFZhbGlkYXRpb25FcnJvck1lc3NhZ2VdPVwiZ2V0VmFsaWRhdGlvbkVycm9yTWVzc2FnZVwiXG4gICAgICAgICAgICBjbGFzcz1cImNvbC1sZy17e2dldFdpZHRoKGFycmF5SXRlbSwga2V5LCAnbGcnKX19IGNvbC1tZC17e2dldFdpZHRoKGFycmF5SXRlbSwga2V5LCAnbWQnKX19IGNvbC1zbS17e2dldFdpZHRoKGFycmF5SXRlbSwga2V5LCAnc20nKX19XCJcbiAgICAgICAgPlxuICAgICAgICA8L25neC1tYXQtZW50aXR5LWludGVybmFsLWlucHV0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtZXRhZGF0YS5jcmVhdGVJbmxpbmUgJiYgIUVudGl0eVV0aWxpdGllcy5pc0VudGl0eVZhbGlkKGFycmF5SXRlbSwgJ2NyZWF0ZScpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJhZGQoKVwiPlxuICAgICAgICAgICAgQWRkXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGhcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZSgpXCI+XG4gICAgICAgICAgICBSZW1vdmVcbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8bWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIj5cbiAgICAgICAgPCEtLSBzZWxlY3QgQ29sdW1uIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNlbGVjdFwiPlxuICAgICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cbiAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IChjaGFuZ2UpPVwiJGV2ZW50ID8gbWFzdGVyVG9nZ2xlKCkgOiBudWxsXCIgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgaXNBbGxTZWxlY3RlZCgpXCIgW2luZGV0ZXJtaW5hdGVdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgIWlzQWxsU2VsZWN0ZWQoKVwiPjwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgbW9kdWxlXCIgY2xhc3M9XCJtb2R1bGVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiAoY2hhbmdlKT1cIiRldmVudCA/IHNlbGVjdGlvbi50b2dnbGUobW9kdWxlKSA6IG51bGxcIiBbY2hlY2tlZF09XCJzZWxlY3Rpb24uaXNTZWxlY3RlZChtb2R1bGUpXCI+PC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZENvbCBvZiBtZXRhZGF0YS5kaXNwbGF5Q29sdW1uc1wiIFttYXRDb2x1bW5EZWZdPVwiZENvbC5kaXNwbGF5TmFtZVwiPlxuICAgICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cbiAgICAgICAgICAgICAgICB7e2RDb2wuZGlzcGxheU5hbWV9fVxuICAgICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgICA8bWF0LWNlbGwgY2xhc3M9XCJlbnRpdHlcIiAqbWF0Q2VsbERlZj1cImxldCBlbnRpdHlcIj5cbiAgICAgICAgICAgICAgICB7e2RDb2wudmFsdWUoZW50aXR5KX19XG4gICAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBcbiAgICAgICAgPG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgICAgICAgPG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnNcIj48L21hdC1yb3c+XG4gICAgPC9tYXQtdGFibGU+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYXJyYXktZXJyb3JcIiAqbmdJZj1cIm1ldGFkYXRhLnJlcXVpcmVkICYmICFkYXRhU291cmNlLmRhdGEubGVuZ3RoXCI+XG4gICAgICAgIHt7bWV0YWRhdGEubWlzc2luZ0Vycm9yTWVzc2FnZX19XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -1,66 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MatInputModule } from '@angular/material/input';
4
- import { FormsModule } from '@angular/forms';
5
- import { MatFormFieldModule } from '@angular/material/form-field';
6
- import { MatSelectModule } from '@angular/material/select';
7
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
8
- import { MatCheckboxModule } from '@angular/material/checkbox';
9
- import { MatSlideToggleModule } from '@angular/material/slide-toggle';
10
- import { MatTableModule } from '@angular/material/table';
11
- import { NgxMatEntityArrayTableComponent } from './array-table.component';
12
- import { NgxMatEntityInternalInputModule } from '../internal-input/internal-input.module';
13
- import { MatButtonModule } from '@angular/material/button';
14
- import { NgxMatEntityAddArrayItemDialogModule } from './add-array-item-dialog/add-array-item-dialog.module';
15
- import * as i0 from "@angular/core";
16
- export class NgxMatEntityArrayTableModule {
17
- }
18
- NgxMatEntityArrayTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityArrayTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- NgxMatEntityArrayTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityArrayTableModule, declarations: [NgxMatEntityArrayTableComponent], imports: [CommonModule,
20
- MatInputModule,
21
- FormsModule,
22
- MatFormFieldModule,
23
- MatSelectModule,
24
- MatAutocompleteModule,
25
- MatCheckboxModule,
26
- MatSlideToggleModule,
27
- MatTableModule,
28
- NgxMatEntityInternalInputModule,
29
- MatButtonModule,
30
- NgxMatEntityAddArrayItemDialogModule], exports: [NgxMatEntityArrayTableComponent] });
31
- NgxMatEntityArrayTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityArrayTableModule, imports: [[
32
- CommonModule,
33
- MatInputModule,
34
- FormsModule,
35
- MatFormFieldModule,
36
- MatSelectModule,
37
- MatAutocompleteModule,
38
- MatCheckboxModule,
39
- MatSlideToggleModule,
40
- MatTableModule,
41
- NgxMatEntityInternalInputModule,
42
- MatButtonModule,
43
- NgxMatEntityAddArrayItemDialogModule
44
- ]] });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityArrayTableModule, decorators: [{
46
- type: NgModule,
47
- args: [{
48
- declarations: [NgxMatEntityArrayTableComponent],
49
- imports: [
50
- CommonModule,
51
- MatInputModule,
52
- FormsModule,
53
- MatFormFieldModule,
54
- MatSelectModule,
55
- MatAutocompleteModule,
56
- MatCheckboxModule,
57
- MatSlideToggleModule,
58
- MatTableModule,
59
- NgxMatEntityInternalInputModule,
60
- MatButtonModule,
61
- NgxMatEntityAddArrayItemDialogModule
62
- ],
63
- exports: [NgxMatEntityArrayTableComponent]
64
- }]
65
- }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9pbnB1dC9hcnJheS10YWJsZS9hcnJheS10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7QUFvQjVHLE1BQU0sT0FBTyw0QkFBNEI7OzBIQUE1Qiw0QkFBNEI7MkhBQTVCLDRCQUE0QixpQkFqQnRCLCtCQUErQixhQUUxQyxZQUFZO1FBQ1osY0FBYztRQUNkLFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsZUFBZTtRQUNmLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLGNBQWM7UUFDZCwrQkFBK0I7UUFDL0IsZUFBZTtRQUNmLG9DQUFvQyxhQUU5QiwrQkFBK0I7MkhBRWhDLDRCQUE0QixZQWhCNUI7WUFDTCxZQUFZO1lBQ1osY0FBYztZQUNkLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixpQkFBaUI7WUFDakIsb0JBQW9CO1lBQ3BCLGNBQWM7WUFDZCwrQkFBK0I7WUFDL0IsZUFBZTtZQUNmLG9DQUFvQztTQUN2Qzs0RkFHUSw0QkFBNEI7a0JBbEJ4QyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLCtCQUErQixDQUFDO29CQUMvQyxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsK0JBQStCO3dCQUMvQixlQUFlO3dCQUNmLG9DQUFvQztxQkFDdkM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBOZ3hNYXRFbnRpdHlBcnJheVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9hcnJheS10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmd4TWF0RW50aXR5SW50ZXJuYWxJbnB1dE1vZHVsZSB9IGZyb20gJy4uL2ludGVybmFsLWlucHV0L2ludGVybmFsLWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTmd4TWF0RW50aXR5QWRkQXJyYXlJdGVtRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi9hZGQtYXJyYXktaXRlbS1kaWFsb2cvYWRkLWFycmF5LWl0ZW0tZGlhbG9nLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbTmd4TWF0RW50aXR5QXJyYXlUYWJsZUNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICAgICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgICAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICAgICAgTmd4TWF0RW50aXR5SW50ZXJuYWxJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBOZ3hNYXRFbnRpdHlBZGRBcnJheUl0ZW1EaWFsb2dNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtOZ3hNYXRFbnRpdHlBcnJheVRhYmxlQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hNYXRFbnRpdHlBcnJheVRhYmxlTW9kdWxlIHt9Il19