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.
- package/classes/base-builder.class.d.ts +35 -0
- package/classes/entity-service.class.d.ts +1 -1
- package/classes/entity-utilities.class.d.ts +36 -3
- package/components/confirm-dialog/confirm-dialog-data.builder.d.ts +10 -11
- package/components/confirm-dialog/confirm-dialog-data.d.ts +4 -0
- package/components/confirm-dialog/confirm-dialog.component.d.ts +11 -0
- 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
- 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
- package/components/input/input.component.d.ts +100 -7
- package/components/input/input.module.d.ts +6 -4
- package/components/table/create-dialog/create-dialog-data.builder.d.ts +9 -8
- package/components/table/create-dialog/create-entity-dialog-data.builder.d.ts +9 -3
- package/components/table/create-dialog/create-entity-dialog.component.d.ts +15 -3
- package/components/table/edit-dialog/edit-dialog-data.builder.d.ts +9 -11
- package/components/table/edit-dialog/edit-entity-dialog.builder.d.ts +9 -3
- package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +19 -3
- package/components/table/table-data.builder.d.ts +20 -9
- package/components/table/table-data.d.ts +14 -2
- package/components/table/table.component.d.ts +46 -0
- package/components/table/table.module.d.ts +3 -1
- package/decorators/array/array-decorator-internal.data.d.ts +13 -2
- package/decorators/array/array-decorator.data.d.ts +21 -12
- package/decorators/array/array.decorator.d.ts +1 -1
- package/decorators/base/property-decorator-internal.data.d.ts +16 -3
- package/decorators/base/property-decorator.data.d.ts +26 -5
- package/decorators/boolean/boolean-decorator-internal.data.d.ts +9 -0
- package/decorators/boolean/boolean-decorator.data.d.ts +9 -0
- package/decorators/boolean/boolean.decorator.d.ts +1 -1
- package/decorators/number/number-decorator-internal.data.d.ts +6 -0
- package/decorators/number/number-decorator.data.d.ts +6 -0
- package/decorators/number/number.decorator.d.ts +1 -1
- package/decorators/object/object-decorator-internal.data.d.ts +3 -0
- package/decorators/object/object-decorator.data.d.ts +3 -0
- package/decorators/object/object.decorator.d.ts +1 -1
- package/decorators/string/string-decorator-internal.data.d.ts +12 -0
- package/decorators/string/string-decorator.data.d.ts +12 -0
- package/decorators/string/string.decorator.d.ts +1 -1
- package/esm2020/classes/base-builder.class.mjs +43 -0
- package/esm2020/classes/entity-service.class.mjs +2 -2
- package/esm2020/classes/entity-utilities.class.mjs +81 -33
- package/esm2020/components/confirm-dialog/confirm-dialog-data.builder.mjs +15 -48
- package/esm2020/components/confirm-dialog/confirm-dialog-data.mjs +1 -1
- package/esm2020/components/confirm-dialog/confirm-dialog.component.mjs +13 -2
- package/esm2020/components/get-validation-error-message.function.mjs +5 -1
- package/esm2020/components/input/add-array-item-dialog-data.builder.mjs +30 -0
- package/esm2020/components/input/add-array-item-dialog-data.mjs +2 -0
- package/esm2020/components/input/input.component.mjs +170 -31
- package/esm2020/components/input/input.module.mjs +19 -9
- package/esm2020/components/table/create-dialog/create-dialog-data.builder.mjs +18 -40
- package/esm2020/components/table/create-dialog/create-entity-dialog-data.builder.mjs +15 -7
- package/esm2020/components/table/create-dialog/create-entity-dialog.component.mjs +24 -17
- package/esm2020/components/table/create-dialog/create-entity-dialog.module.mjs +20 -4
- package/esm2020/components/table/edit-dialog/edit-dialog-data.builder.mjs +23 -63
- package/esm2020/components/table/edit-dialog/edit-entity-dialog.builder.mjs +15 -7
- package/esm2020/components/table/edit-dialog/edit-entity-dialog.component.mjs +35 -24
- package/esm2020/components/table/table-data.builder.mjs +30 -14
- package/esm2020/components/table/table-data.mjs +1 -1
- package/esm2020/components/table/table.component.mjs +57 -10
- package/esm2020/components/table/table.module.mjs +12 -4
- package/esm2020/decorators/array/array-decorator-internal.data.mjs +15 -4
- package/esm2020/decorators/array/array-decorator.data.mjs +1 -1
- package/esm2020/decorators/array/array.decorator.mjs +2 -2
- package/esm2020/decorators/base/property-decorator-internal.data.mjs +28 -5
- package/esm2020/decorators/base/property-decorator.data.mjs +1 -1
- package/esm2020/decorators/boolean/boolean-decorator-internal.data.mjs +12 -1
- package/esm2020/decorators/boolean/boolean-decorator.data.mjs +1 -1
- package/esm2020/decorators/boolean/boolean.decorator.mjs +2 -2
- package/esm2020/decorators/number/number-decorator-internal.data.mjs +7 -1
- package/esm2020/decorators/number/number-decorator.data.mjs +1 -1
- package/esm2020/decorators/number/number.decorator.mjs +2 -2
- package/esm2020/decorators/object/object-decorator-internal.data.mjs +4 -1
- package/esm2020/decorators/object/object-decorator.data.mjs +1 -1
- package/esm2020/decorators/object/object.decorator.mjs +2 -2
- package/esm2020/decorators/string/string-decorator-internal.data.mjs +13 -1
- package/esm2020/decorators/string/string-decorator.data.mjs +1 -1
- package/esm2020/decorators/string/string.decorator.mjs +2 -2
- package/esm2020/public-api.mjs +1 -1
- package/fesm2015/ngx-material-entity.mjs +708 -703
- package/fesm2015/ngx-material-entity.mjs.map +1 -1
- package/fesm2020/ngx-material-entity.mjs +750 -723
- package/fesm2020/ngx-material-entity.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/components/input/array-table/add-array-item-dialog/add-array-item-dialog.component.d.ts +0 -22
- package/components/input/array-table/add-array-item-dialog/add-array-item-dialog.module.d.ts +0 -12
- package/components/input/array-table/array-table.component.d.ts +0 -34
- package/components/input/array-table/array-table.module.d.ts +0 -19
- package/components/input/internal-input/internal-input.component.d.ts +0 -54
- package/components/input/internal-input/internal-input.module.d.ts +0 -16
- package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.builder.mjs +0 -33
- package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.mjs +0 -2
- package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog.component.mjs +0 -45
- package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog.module.mjs +0 -22
- package/esm2020/components/input/array-table/array-table.component.mjs +0 -119
- package/esm2020/components/input/array-table/array-table.module.mjs +0 -66
- package/esm2020/components/input/internal-input/internal-input.component.mjs +0 -70
- package/esm2020/components/input/internal-input/internal-input.module.mjs +0 -54
package/package.json
CHANGED
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';
|
package/components/input/array-table/add-array-item-dialog/add-array-item-dialog.component.d.ts
DELETED
|
@@ -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
|
-
}
|
package/components/input/array-table/add-array-item-dialog/add-array-item-dialog.module.d.ts
DELETED
|
@@ -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
|
package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.mjs
DELETED
|
@@ -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==
|
package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog.module.mjs
DELETED
|
@@ -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
|