ngx-material-entity 0.1.1 → 0.1.2
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/CONTRIBUTING.md +7 -1
- package/README.md +3 -2
- package/classes/entity-model.class.d.ts +1 -1
- package/classes/entity-service.class.d.ts +27 -17
- package/classes/entity-utilities.class.d.ts +62 -45
- package/components/confirm-dialog/confirm-dialog-data.builder.d.ts +24 -0
- package/components/confirm-dialog/confirm-dialog-data.d.ts +14 -8
- package/components/confirm-dialog/confirm-dialog.component.d.ts +4 -5
- package/components/get-validation-error-message.function.d.ts +3 -2
- package/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.builder.d.ts +17 -0
- package/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.d.ts +17 -0
- package/components/input/array-table/add-array-item-dialog/add-array-item-dialog.component.d.ts +5 -18
- package/components/input/array-table/array-table.component.d.ts +3 -3
- package/components/input/input.component.d.ts +18 -21
- package/components/input/internal-input/internal-input.component.d.ts +14 -17
- package/components/table/create-dialog/create-dialog-data.builder.d.ts +20 -0
- package/components/table/create-dialog/create-entity-dialog-data.builder.d.ts +16 -0
- package/components/table/create-dialog/create-entity-dialog-data.d.ts +2 -2
- package/components/table/create-dialog/create-entity-dialog.component.d.ts +4 -2
- package/components/table/edit-dialog/edit-dialog-data.builder.d.ts +27 -0
- package/components/table/edit-dialog/edit-entity-dialog-data.d.ts +5 -5
- package/components/table/edit-dialog/edit-entity-dialog.builder.d.ts +17 -0
- package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +4 -2
- package/components/table/table-data.builder.d.ts +40 -0
- package/components/table/table-data.d.ts +26 -22
- package/components/table/table.component.d.ts +6 -5
- package/decorators/array/array-decorator-internal.data.d.ts +34 -0
- package/decorators/{array.decorator.d.ts → array/array-decorator.data.d.ts} +32 -37
- package/decorators/array/array.decorator.d.ts +10 -0
- package/decorators/base/base-property.decorator.d.ts +7 -6
- package/decorators/base/decorator-types.enum.d.ts +7 -7
- package/decorators/base/property-decorator-internal.data.d.ts +11 -0
- package/decorators/base/{property-decorator-config.interface.d.ts → property-decorator.data.d.ts} +11 -12
- package/decorators/boolean/boolean-decorator-internal.data.d.ts +16 -0
- package/decorators/boolean/boolean-decorator.data.d.ts +28 -0
- package/decorators/boolean/boolean.decorator.d.ts +8 -0
- package/decorators/number/number-decorator-internal.data.d.ts +16 -0
- package/decorators/number/number-decorator.data.d.ts +32 -0
- package/decorators/number/number.decorator.d.ts +8 -0
- package/decorators/object/object-decorator-internal.data.d.ts +8 -0
- package/decorators/object/object-decorator.data.d.ts +22 -0
- package/decorators/object/object.decorator.d.ts +9 -0
- package/decorators/string/string-decorator-internal.data.d.ts +31 -0
- package/decorators/string/string-decorator.data.d.ts +67 -0
- package/decorators/string/string.decorator.d.ts +8 -0
- package/esm2020/classes/entity-model.class.mjs +2 -2
- package/esm2020/classes/entity-service.class.mjs +20 -14
- package/esm2020/classes/entity-utilities.class.mjs +108 -75
- package/esm2020/components/confirm-dialog/confirm-dialog-data.builder.mjs +77 -0
- package/esm2020/components/confirm-dialog/confirm-dialog-data.mjs +1 -1
- package/esm2020/components/confirm-dialog/confirm-dialog.component.mjs +7 -22
- package/esm2020/components/get-validation-error-message.function.mjs +4 -3
- package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.builder.mjs +33 -0
- package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.mjs +2 -0
- package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog.component.mjs +7 -5
- package/esm2020/components/input/array-table/array-table.component.mjs +14 -11
- package/esm2020/components/input/input.component.mjs +3 -6
- package/esm2020/components/input/internal-input/internal-input.component.mjs +1 -4
- package/esm2020/components/table/create-dialog/create-dialog-data.builder.mjs +54 -0
- package/esm2020/components/table/create-dialog/create-entity-dialog-data.builder.mjs +18 -0
- package/esm2020/components/table/create-dialog/create-entity-dialog-data.mjs +1 -1
- package/esm2020/components/table/create-dialog/create-entity-dialog.component.mjs +14 -21
- package/esm2020/components/table/edit-dialog/edit-dialog-data.builder.mjs +81 -0
- package/esm2020/components/table/edit-dialog/edit-entity-dialog-data.mjs +1 -1
- package/esm2020/components/table/edit-dialog/edit-entity-dialog.builder.mjs +19 -0
- package/esm2020/components/table/edit-dialog/edit-entity-dialog.component.mjs +21 -36
- package/esm2020/components/table/table-data.builder.mjs +89 -0
- package/esm2020/components/table/table-data.mjs +1 -1
- package/esm2020/components/table/table.component.mjs +41 -80
- package/esm2020/decorators/array/array-decorator-internal.data.mjs +40 -0
- package/esm2020/decorators/array/array-decorator.data.mjs +7 -0
- package/esm2020/decorators/array/array.decorator.mjs +24 -0
- package/esm2020/decorators/base/base-property.decorator.mjs +6 -5
- package/esm2020/decorators/base/decorator-types.enum.mjs +1 -1
- package/esm2020/decorators/base/property-decorator-internal.data.mjs +15 -0
- package/esm2020/decorators/base/property-decorator.data.mjs +6 -0
- package/esm2020/decorators/boolean/boolean-decorator-internal.data.mjs +22 -0
- package/esm2020/decorators/boolean/boolean-decorator.data.mjs +7 -0
- package/esm2020/decorators/boolean/boolean.decorator.mjs +21 -0
- package/esm2020/decorators/number/number-decorator-internal.data.mjs +17 -0
- package/esm2020/decorators/number/number-decorator.data.mjs +7 -0
- package/esm2020/decorators/number/number.decorator.mjs +18 -0
- package/esm2020/decorators/object/object-decorator-internal.data.mjs +9 -0
- package/esm2020/decorators/object/object-decorator.data.mjs +7 -0
- package/esm2020/decorators/object/object.decorator.mjs +13 -0
- package/esm2020/decorators/string/string-decorator-internal.data.mjs +36 -0
- package/esm2020/decorators/string/string-decorator.data.mjs +7 -0
- package/esm2020/decorators/string/string.decorator.mjs +24 -0
- package/esm2020/public-api.mjs +15 -10
- package/fesm2015/ngx-material-entity.mjs +1019 -683
- package/fesm2015/ngx-material-entity.mjs.map +1 -1
- package/fesm2020/ngx-material-entity.mjs +1005 -684
- package/fesm2020/ngx-material-entity.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +16 -7
- package/decorators/boolean.decorator.d.ts +0 -42
- package/decorators/number.decorator.d.ts +0 -40
- package/decorators/object.decorator.d.ts +0 -27
- package/decorators/string.decorator.d.ts +0 -76
- package/esm2020/decorators/array.decorator.mjs +0 -70
- package/esm2020/decorators/base/property-decorator-config.interface.mjs +0 -31
- package/esm2020/decorators/boolean.decorator.mjs +0 -44
- package/esm2020/decorators/number.decorator.mjs +0 -36
- package/esm2020/decorators/object.decorator.mjs +0 -23
- package/esm2020/decorators/string.decorator.mjs +0 -61
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWVudGl0eS1kaWFsb2ctZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvdGFibGUvY3JlYXRlLWRpYWxvZy9jcmVhdGUtZW50aXR5LWRpYWxvZy1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHktbW9kZWwuY2xhc3MnO1xuaW1wb3J0IHsgQ3JlYXRlRGlhbG9nRGF0YSB9IGZyb20gJy4uL3RhYmxlLWRhdGEnO1xuXG4vKipcbiAqIFRoZSBEZWZpbml0aW9uIG9mIHRoZSBDcmVhdGUgRW50aXR5IERpYWxvZyBEYXRhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUVudGl0eURpYWxvZ0RhdGE8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4ge1xuICAgIC8qKlxuICAgICAqIEFuIGVtcHR5IGVudGl0eSB0aGF0IGlzIHVzZWQgYXMgdGhlIGRhdGEgbW9kZWwuXG4gICAgICovXG4gICAgZW50aXR5OiBFbnRpdHlUeXBlLFxuICAgIC8qKlxuICAgICAqIFRoZSBFbnRpdHkgU2VydmljZSBjbGFzcyB1c2VkIGZvciB0aGUgY3JlYXRlIHJlcXVlc3QuXG4gICAgICovXG4gICAgRW50aXR5U2VydmljZUNsYXNzOiBuZXcgKGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpID0+IEVudGl0eVNlcnZpY2U8RW50aXR5VHlwZT4sXG4gICAgLyoqXG4gICAgICogVGhlIGluZm8gb2YgdGhlIGdlbmVyaWMgY3JlYXRlLWRpYWxvZy5cbiAgICAgKi9cbiAgICBjcmVhdGVEaWFsb2dEYXRhPzogQ3JlYXRlRGlhbG9nRGF0YVxufSJdfQ==
|
|
@@ -2,6 +2,8 @@ import { Component, Inject, Injector } from '@angular/core';
|
|
|
2
2
|
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
3
|
import { EntityUtilities } from '../../../classes/entity-utilities.class';
|
|
4
4
|
import { NgxMatEntityConfirmDialogComponent } from '../../confirm-dialog/confirm-dialog.component';
|
|
5
|
+
import { ConfirmDialogDataBuilder } from '../../confirm-dialog/confirm-dialog-data.builder';
|
|
6
|
+
import { CreateEntityDialogDataBuilder } from './create-entity-dialog-data.builder';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
6
8
|
import * as i1 from "@angular/material/dialog";
|
|
7
9
|
import * as i2 from "../../input/input.component";
|
|
@@ -9,8 +11,8 @@ import * as i3 from "@angular/material/button";
|
|
|
9
11
|
import * as i4 from "@angular/forms";
|
|
10
12
|
import * as i5 from "@angular/common";
|
|
11
13
|
export class NgxMatEntityCreateDialogComponent {
|
|
12
|
-
constructor(
|
|
13
|
-
this.
|
|
14
|
+
constructor(inputData, dialogRef, injector, dialog) {
|
|
15
|
+
this.inputData = inputData;
|
|
14
16
|
this.dialogRef = dialogRef;
|
|
15
17
|
this.injector = injector;
|
|
16
18
|
this.dialog = dialog;
|
|
@@ -18,6 +20,7 @@ export class NgxMatEntityCreateDialogComponent {
|
|
|
18
20
|
this.getWidth = EntityUtilities.getWidth;
|
|
19
21
|
}
|
|
20
22
|
ngOnInit() {
|
|
23
|
+
this.data = new CreateEntityDialogDataBuilder(this.inputData).createDialogData;
|
|
21
24
|
this.dialogRef.disableClose = true;
|
|
22
25
|
this.setEntityKeys();
|
|
23
26
|
this.entityService = this.injector.get(this.data.EntityServiceClass);
|
|
@@ -29,24 +32,14 @@ export class NgxMatEntityCreateDialogComponent {
|
|
|
29
32
|
.sort((a, b) => EntityUtilities.compareOrder(a, b, this.data.entity));
|
|
30
33
|
}
|
|
31
34
|
create() {
|
|
32
|
-
if (this.data.createDialogData
|
|
35
|
+
if (!this.data.createDialogData?.createRequiresConfirmDialog) {
|
|
33
36
|
return this.confirmCreate();
|
|
34
37
|
}
|
|
35
|
-
const dialogData =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
confirmButtonLabel: this.data.createDialogData.confirmCreateDialogData?.confirmButtonLabel ? this.data.createDialogData.confirmCreateDialogData?.confirmButtonLabel : 'Create',
|
|
41
|
-
// eslint-disable-next-line max-len
|
|
42
|
-
cancelButtonLabel: this.data.createDialogData.confirmCreateDialogData?.cancelButtonLabel ? this.data.createDialogData.confirmCreateDialogData?.cancelButtonLabel : 'Cancel',
|
|
43
|
-
// eslint-disable-next-line max-len
|
|
44
|
-
title: this.data.createDialogData.confirmCreateDialogData?.title ? this.data.createDialogData.confirmCreateDialogData?.title : 'Create',
|
|
45
|
-
// eslint-disable-next-line max-len
|
|
46
|
-
requireConfirmation: this.data.createDialogData.confirmCreateDialogData?.requireConfirmation ? this.data.createDialogData.confirmCreateDialogData?.requireConfirmation : false,
|
|
47
|
-
// eslint-disable-next-line max-len
|
|
48
|
-
confirmationText: this.data.createDialogData.confirmCreateDialogData?.confirmationText ? this.data.createDialogData.confirmCreateDialogData?.confirmationText : undefined,
|
|
49
|
-
};
|
|
38
|
+
const dialogData = new ConfirmDialogDataBuilder(this.data.createDialogData?.confirmCreateDialogData)
|
|
39
|
+
.withDefaultText(['Do you really want to create this entity?'])
|
|
40
|
+
.withDefaultConfirmButtonLabel('Create')
|
|
41
|
+
.withDefaultTitle('Create')
|
|
42
|
+
.confirmDialogData;
|
|
50
43
|
const dialogref = this.dialog.open(NgxMatEntityConfirmDialogComponent, {
|
|
51
44
|
data: dialogData,
|
|
52
45
|
autoFocus: false,
|
|
@@ -66,12 +59,12 @@ export class NgxMatEntityCreateDialogComponent {
|
|
|
66
59
|
}
|
|
67
60
|
}
|
|
68
61
|
NgxMatEntityCreateDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityCreateDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i0.Injector }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
-
NgxMatEntityCreateDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NgxMatEntityCreateDialogComponent, selector: "ngx-mat-entity-create-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-input\n *ngFor=\"let key of entityKeys\"\n [entity]=\"data.entity\"\n [propertyKey]=\"key\"\n [hideOmitForCreate]=\"true\"\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-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
|
|
62
|
+
NgxMatEntityCreateDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NgxMatEntityCreateDialogComponent, selector: "ngx-mat-entity-create-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-input\n *ngFor=\"let key of entityKeys\"\n [entity]=\"data.entity\"\n [propertyKey]=\"key\"\n [hideOmitForCreate]=\"true\"\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-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.NgxMatEntityInputComponent, selector: "ngx-mat-entity-input", inputs: ["entity", "propertyKey", "getValidationErrorMessage", "hideOmitForCreate", "hideOmitForEdit"] }, { 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]" }] });
|
|
70
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityCreateDialogComponent, decorators: [{
|
|
71
64
|
type: Component,
|
|
72
|
-
args: [{ selector: 'ngx-mat-entity-create-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-input\n *ngFor=\"let key of entityKeys\"\n [entity]=\"data.entity\"\n [propertyKey]=\"key\"\n [hideOmitForCreate]=\"true\"\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-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
|
|
65
|
+
args: [{ selector: 'ngx-mat-entity-create-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-input\n *ngFor=\"let key of entityKeys\"\n [entity]=\"data.entity\"\n [propertyKey]=\"key\"\n [hideOmitForCreate]=\"true\"\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-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"] }]
|
|
73
66
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
74
67
|
type: Inject,
|
|
75
68
|
args: [MAT_DIALOG_DATA]
|
|
76
69
|
}] }, { type: i1.MatDialogRef }, { type: i0.Injector }, { type: i1.MatDialog }]; } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWVudGl0eS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy90YWJsZS9jcmVhdGUtZGlhbG9nL2NyZWF0ZS1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvdGFibGUvY3JlYXRlLWRpYWxvZy9jcmVhdGUtZW50aXR5LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRzFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7O0FBT25HLE1BQU0sT0FBTyxpQ0FBaUM7SUFTMUMsWUFFVyxJQUF3QyxFQUN4QyxTQUFzRSxFQUM1RCxRQUFrQixFQUNsQixNQUFpQjtRQUgzQixTQUFJLEdBQUosSUFBSSxDQUFvQztRQUN4QyxjQUFTLEdBQVQsU0FBUyxDQUE2RDtRQUM1RCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFidEMsb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFNbEMsYUFBUSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFRaEMsQ0FBQztJQUVMLFFBQVE7UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxD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O1lBQ2hCLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFlBQVksRUFBRSxLQUFLO1NBQ3RCLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUM5QyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3hCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ08sYUFBYTtRQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7OytIQWxFUSxpQ0FBaUMsa0JBVTlCLGVBQWU7bUhBVmxCLGlDQUFpQyxvRUNkOUMsbWhDQXVCQTs0RkRUYSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0ksOEJBQThCOzswQkFjbkMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHktbW9kZWwuY2xhc3MnO1xuaW1wb3J0IHsgRW50aXR5VXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHktdXRpbGl0aWVzLmNsYXNzJztcbmltcG9ydCB7IENyZWF0ZUVudGl0eURpYWxvZ0RhdGEgfSBmcm9tICcuL2NyZWF0ZS1lbnRpdHktZGlhbG9nLWRhdGEnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1kYXRhJztcbmltcG9ydCB7IE5neE1hdEVudGl0eUNvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1tYXQtZW50aXR5LWNyZWF0ZS1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtZW50aXR5LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLWVudGl0eS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hNYXRFbnRpdHlDcmVhdGVEaWFsb2dDb21wb25lbnQ8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEVudGl0eVV0aWxpdGllcyA9IEVudGl0eVV0aWxpdGllcztcblxuICAgIGVudGl0eUtleXMhOiAoa2V5b2YgRW50aXR5VHlwZSlbXTtcblxuICAgIGVudGl0eVNlcnZpY2UhOiBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+O1xuXG4gICAgZ2V0V2lkdGggPSBFbnRpdHlVdGlsaXRpZXMuZ2V0V2lkdGg7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpXG4gICAgICAgIHB1YmxpYyBkYXRhOiBDcmVhdGVFbnRpdHlEaWFsb2dEYXRhPEVudGl0eVR5cGU+LFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Tmd4TWF0RW50aXR5Q3JlYXRlRGlhbG9nQ29tcG9uZW50PEVudGl0eVR5cGU+PixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBNYXREaWFsb2dcbiAgICApIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0RW50aXR5S2V5cygpO1xuICAgICAgICB0aGlzLmVudGl0eVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldCh0aGlzLmRhdGEuRW50aXR5U2VydmljZUNsYXNzKSBhcyBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RW50aXR5S2V5cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbnRpdHlLZXlzID0gUmVmbGVjdC5vd25LZXlzKHRoaXMuZGF0YS5lbnRpdHkpIGFzIChrZXlvZiBFbnRpdHlUeXBlKVtdO1xuICAgICAgICBjb25zdCBvbWl0Q3JlYXRlS2V5cyA9IEVudGl0eVV0aWxpdGllcy5nZXRPbWl0Rm9yQ3JlYXRlKHRoaXMuZGF0YS5lbnRpdHkpO1xuICAgICAgICB0aGlzLmVudGl0eUtleXMgPSB0aGlzLmVudGl0eUtleXMuZmlsdGVyKChrKSA9PiAhb21pdENyZWF0ZUtleXMuaW5jbHVkZXMoaykpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gRW50aXR5VXRpbGl0aWVzLmNvbXBhcmVPcmRlcihhLCBiLCB0aGlzLmRhdGEuZW50aXR5KSk7XG4gICAgfVxuXG4gICAgY3JlYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kYXRhLmNyZWF0ZURpYWxvZ0RhdGEuY3JlYXRlUmVxdWlyZXNDb25maXJtRGlhbG9nID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlybUNyZWF0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhID0ge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgICAgIHRleHQ6IHRoaXMuZGF0YS5jcmVhdGVEaWFsb2dEYXRhLmNvbmZpcm1DcmVhdGVEaWFsb2dEYXRhPy50ZXh0ID8gdGhpcy5kYXRhLmNyZWF0ZURpYWxvZ0RhdGEuY29uZmlybUNyZWF0ZURpYWxvZ0RhdGE/LnRleHQgOiBbJ0RvIHlvdSByZWFsbHkgd2FudCB0byBjcmVhdGUgdGhpcyBlbnRpdHk/J10sXG4gICAgICAgICAgICB0eXBlOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAgICAgY29uZmlybUJ1dHRvbkxhYmVsOiB0aGlzLmRhdGEuY3JlYXRlRGlhbG9nRGF0YS5jb25maXJtQ3JlYXRlRGlhbG9nRGF0YT8uY29uZmlybUJ1dHRvbkxhYmVsID8gdGhpcy5kYXRhLmNyZWF0ZURpYWxvZ0RhdGEuY29uZmlybUNyZWF0ZURpYWxvZ0RhdGE/LmNvbmZpcm1CdXR0b25MYWJlbCA6ICdDcmVhdGUnLFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiB0aGlzLmRhdGEuY3JlYXRlRGlhbG9nRGF0YS5jb25maXJtQ3JlYXRlRGlhbG9nRGF0YT8uY2FuY2VsQnV0dG9uTGFiZWwgPyB0aGlzLmRhdGEuY3JlYXRlRGlhbG9nRGF0YS5jb25maXJtQ3JlYXRlRGlhbG9nRGF0YT8uY2FuY2VsQnV0dG9uTGFiZWwgOiAnQ2FuY2VsJyxcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgICAgICB0aXRsZTogdGhpcy5kYXRhLmNyZWF0ZURpYWxvZ0RhdGEuY29uZmlybUNyZWF0ZURpYWxvZ0RhdGE/LnRpdGxlID8gdGhpcy5kYXRhLmNyZWF0ZURpYWxvZ0RhdGEuY29uZmlybUNyZWF0ZURpYWxvZ0RhdGE/LnRpdGxlIDogJ0NyZWF0ZScsXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAgICAgcmVxdWlyZUNvbmZpcm1hdGlvbjogdGhpcy5kYXRhLmNyZWF0ZURpYWxvZ0RhdGEuY29uZmlybUNyZWF0ZURpYWxvZ0RhdGE/LnJlcXVpcmVDb25maXJtYXRpb24gPyB0aGlzLmRhdGEuY3JlYXRlRGlhbG9nRGF0YS5jb25maXJtQ3JlYXRlRGlhbG9nRGF0YT8ucmVxdWlyZUNvbmZpcm1hdGlvbiA6IGZhbHNlLFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgICAgIGNvbmZpcm1hdGlvblRleHQ6IHRoaXMuZGF0YS5jcmVhdGVEaWFsb2dEYXRhLmNvbmZpcm1DcmVhdGVEaWFsb2dEYXRhPy5jb25maXJtYXRpb25UZXh0ID8gdGhpcy5kYXRhLmNyZWF0ZURpYWxvZ0RhdGEuY29uZmlybUNyZWF0ZURpYWxvZ0RhdGE/LmNvbmZpcm1hdGlvblRleHQgOiB1bmRlZmluZWQsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGRpYWxvZ3JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oTmd4TWF0RW50aXR5Q29uZmlybURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgZGF0YTogZGlhbG9nRGF0YSxcbiAgICAgICAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgICBkaWFsb2dyZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlczogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzID09PSAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maXJtQ3JlYXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwcml2YXRlIGNvbmZpcm1DcmVhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZW50aXR5U2VydmljZS5jcmVhdGUodGhpcy5kYXRhLmVudGl0eSkudGhlbigoKSA9PiB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpKTtcbiAgICB9XG5cbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfVxufSIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlPnt7ZGF0YS5jcmVhdGVEaWFsb2dEYXRhLnRpdGxlfX08L2gyPlxuXG48bWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxmb3JtICNmb3JtPVwibmdGb3JtXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPG5neC1tYXQtZW50aXR5LWlucHV0XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQga2V5IG9mIGVudGl0eUtleXNcIlxuICAgICAgICAgICAgW2VudGl0eV09XCJkYXRhLmVudGl0eVwiXG4gICAgICAgICAgICBbcHJvcGVydHlLZXldPVwia2V5XCJcbiAgICAgICAgICAgIFtoaWRlT21pdEZvckNyZWF0ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiY29sLWxnLXt7Z2V0V2lkdGgoZGF0YS5lbnRpdHksIGtleSwgJ2xnJyl9fSBjb2wtbWQte3tnZXRXaWR0aChkYXRhLmVudGl0eSwga2V5LCAnbWQnKX19IGNvbC1zbS17e2dldFdpZHRoKGRhdGEuZW50aXR5LCBrZXksICdzbScpfX1cIlxuICAgICAgICA+XG4gICAgICAgIDwvbmd4LW1hdC1lbnRpdHktaW5wdXQ+XG4gICAgPC9mb3JtPlxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG5cbjxtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiY3JlYXRlKClcIiBbZGlzYWJsZWRdPVwiIUVudGl0eVV0aWxpdGllcy5pc0VudGl0eVZhbGlkKGRhdGEuZW50aXR5LCAnY3JlYXRlJylcIj5cbiAgICAgICAge3tkYXRhLmNyZWF0ZURpYWxvZ0RhdGEuY3JlYXRlQnV0dG9uTGFiZWwgPyBkYXRhLmNyZWF0ZURpYWxvZ0RhdGEuY3JlYXRlQnV0dG9uTGFiZWwgOiAnQ3JlYXRlJ319XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKClcIiBjbGFzcz1cImNhbmNlbC1idXR0b25cIj5cbiAgICAgICAge3tkYXRhLmNyZWF0ZURpYWxvZ0RhdGEuY2FuY2VsQnV0dG9uTGFiZWwgPyBkYXRhLmNyZWF0ZURpYWxvZ0RhdGEuY2FuY2VsQnV0dG9uTGFiZWwgOiAnQ2FuY2VsJ319XG4gICAgPC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWVudGl0eS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy90YWJsZS9jcmVhdGUtZGlhbG9nL2NyZWF0ZS1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvdGFibGUvY3JlYXRlLWRpYWxvZy9jcmVhdGUtZW50aXR5LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ25HLE9BQU8sRUFBRSx3QkFBd0IsRUFBNkIsTUFBTSxrREFBa0QsQ0FBQztBQUN2SCxPQUFPLEVBQUUsNkJBQTZCLEVBQWtDLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7QUFRcEgsTUFBTSxPQUFPLGlDQUFpQztJQVcxQyxZQUVxQixTQUE2QyxFQUN2RCxTQUFzRSxFQUM1RCxRQUFrQixFQUNsQixNQUFpQjtRQUhqQixjQUFTLEdBQVQsU0FBUyxDQUFvQztRQUN2RCxjQUFTLEdBQVQsU0FBUyxDQUE2RDtRQUM1RCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFmdEMsb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFRbEMsYUFBUSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFRakMsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1FBQy9FLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUE4QixDQUFDO0lBQ3RHLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBeUIsQ0FBQztRQUM1RSxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLDJCQUEyQixFQUFFO1lBQzFELE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQy9CO1FBQ0QsTUFBTSxVQUFVLEdBQThCLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQzthQUMxSCxlQUFlLENBQUMsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO2FBQzlELDZCQUE2QixDQUFDLFFBQVEsQ0FBQzthQUN2QyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7YUFDMUIsaUJBQWlCLENBQUM7UUFDdkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0NBQWtDLEVBQUU7WUFDbkUsSUFBSSxFQUFFLFVBQVU7WUFDaEIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsWUFBWSxFQUFFLEtBQUs7U0FDdEIsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQzlDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDeEI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7K0hBM0RRLGlDQUFpQyxrQkFZOUIsZUFBZTttSEFabEIsaUNBQWlDLG9FQ2Y5Qyx5NkJBdUJBOzRGRFJhLGlDQUFpQztrQkFMN0MsU0FBUzsrQkFDSSw4QkFBOEI7OzBCQWdCbkMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHktbW9kZWwuY2xhc3MnO1xuaW1wb3J0IHsgRW50aXR5VXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHktdXRpbGl0aWVzLmNsYXNzJztcbmltcG9ydCB7IE5neE1hdEVudGl0eUNvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyLCBDb25maXJtRGlhbG9nRGF0YUludGVybmFsIH0gZnJvbSAnLi4vLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2ctZGF0YS5idWlsZGVyJztcbmltcG9ydCB7IENyZWF0ZUVudGl0eURpYWxvZ0RhdGFCdWlsZGVyLCBDcmVhdGVFbnRpdHlEaWFsb2dEYXRhSW50ZXJuYWwgfSBmcm9tICcuL2NyZWF0ZS1lbnRpdHktZGlhbG9nLWRhdGEuYnVpbGRlcic7XG5pbXBvcnQgeyBDcmVhdGVFbnRpdHlEaWFsb2dEYXRhIH0gZnJvbSAnLi9jcmVhdGUtZW50aXR5LWRpYWxvZy1kYXRhJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtbWF0LWVudGl0eS1jcmVhdGUtZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWVudGl0eS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NyZWF0ZS1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmd4TWF0RW50aXR5Q3JlYXRlRGlhbG9nQ29tcG9uZW50PEVudGl0eVR5cGUgZXh0ZW5kcyBFbnRpdHk+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBFbnRpdHlVdGlsaXRpZXMgPSBFbnRpdHlVdGlsaXRpZXM7XG5cbiAgICBlbnRpdHlLZXlzITogKGtleW9mIEVudGl0eVR5cGUpW107XG5cbiAgICBlbnRpdHlTZXJ2aWNlITogRW50aXR5U2VydmljZTxFbnRpdHlUeXBlPjtcblxuICAgIGRhdGEhOiBDcmVhdGVFbnRpdHlEaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT47XG5cbiAgICBnZXRXaWR0aCA9IEVudGl0eVV0aWxpdGllcy5nZXRXaWR0aDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dERhdGE6IENyZWF0ZUVudGl0eURpYWxvZ0RhdGE8RW50aXR5VHlwZT4sXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxOZ3hNYXRFbnRpdHlDcmVhdGVEaWFsb2dDb21wb25lbnQ8RW50aXR5VHlwZT4+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZ1xuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGEgPSBuZXcgQ3JlYXRlRW50aXR5RGlhbG9nRGF0YUJ1aWxkZXIodGhpcy5pbnB1dERhdGEpLmNyZWF0ZURpYWxvZ0RhdGE7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0RW50aXR5S2V5cygpO1xuICAgICAgICB0aGlzLmVudGl0eVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldCh0aGlzLmRhdGEuRW50aXR5U2VydmljZUNsYXNzKSBhcyBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RW50aXR5S2V5cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbnRpdHlLZXlzID0gUmVmbGVjdC5vd25LZXlzKHRoaXMuZGF0YS5lbnRpdHkpIGFzIChrZXlvZiBFbnRpdHlUeXBlKVtdO1xuICAgICAgICBjb25zdCBvbWl0Q3JlYXRlS2V5cyA9IEVudGl0eVV0aWxpdGllcy5nZXRPbWl0Rm9yQ3JlYXRlKHRoaXMuZGF0YS5lbnRpdHkpO1xuICAgICAgICB0aGlzLmVudGl0eUtleXMgPSB0aGlzLmVudGl0eUtleXMuZmlsdGVyKChrKSA9PiAhb21pdENyZWF0ZUtleXMuaW5jbHVkZXMoaykpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gRW50aXR5VXRpbGl0aWVzLmNvbXBhcmVPcmRlcihhLCBiLCB0aGlzLmRhdGEuZW50aXR5KSk7XG4gICAgfVxuXG4gICAgY3JlYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YS5jcmVhdGVEaWFsb2dEYXRhPy5jcmVhdGVSZXF1aXJlc0NvbmZpcm1EaWFsb2cpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbmZpcm1DcmVhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YUludGVybmFsID0gbmV3IENvbmZpcm1EaWFsb2dEYXRhQnVpbGRlcih0aGlzLmRhdGEuY3JlYXRlRGlhbG9nRGF0YT8uY29uZmlybUNyZWF0ZURpYWxvZ0RhdGEpXG4gICAgICAgICAgICAud2l0aERlZmF1bHRUZXh0KFsnRG8geW91IHJlYWxseSB3YW50IHRvIGNyZWF0ZSB0aGlzIGVudGl0eT8nXSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdENvbmZpcm1CdXR0b25MYWJlbCgnQ3JlYXRlJylcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdFRpdGxlKCdDcmVhdGUnKVxuICAgICAgICAgICAgLmNvbmZpcm1EaWFsb2dEYXRhO1xuICAgICAgICBjb25zdCBkaWFsb2dyZWYgPSB0aGlzLmRpYWxvZy5vcGVuKE5neE1hdEVudGl0eUNvbmZpcm1EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IGRpYWxvZ0RhdGEsXG4gICAgICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgICAgZGlhbG9ncmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXM6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlybUNyZWF0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBjb25maXJtQ3JlYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVudGl0eVNlcnZpY2UuY3JlYXRlKHRoaXMuZGF0YS5lbnRpdHkpLnRoZW4oKCkgPT4gdGhpcy5kaWFsb2dSZWYuY2xvc2UoKSk7XG4gICAgfVxuXG4gICAgY2FuY2VsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIH1cbn0iLCI8aDIgbWF0LWRpYWxvZy10aXRsZT57e2RhdGEuY3JlYXRlRGlhbG9nRGF0YS50aXRsZX19PC9oMj5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8Zm9ybSAjZm9ybT1cIm5nRm9ybVwiIGNsYXNzPVwicm93XCI+XG4gICAgICAgIDxuZ3gtbWF0LWVudGl0eS1pbnB1dFxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGtleSBvZiBlbnRpdHlLZXlzXCJcbiAgICAgICAgICAgIFtlbnRpdHldPVwiZGF0YS5lbnRpdHlcIlxuICAgICAgICAgICAgW3Byb3BlcnR5S2V5XT1cImtleVwiXG4gICAgICAgICAgICBbaGlkZU9taXRGb3JDcmVhdGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cImNvbC1sZy17e2dldFdpZHRoKGRhdGEuZW50aXR5LCBrZXksICdsZycpfX0gY29sLW1kLXt7Z2V0V2lkdGgoZGF0YS5lbnRpdHksIGtleSwgJ21kJyl9fSBjb2wtc20te3tnZXRXaWR0aChkYXRhLmVudGl0eSwga2V5LCAnc20nKX19XCJcbiAgICAgICAgPlxuICAgICAgICA8L25neC1tYXQtZW50aXR5LWlucHV0PlxuICAgIDwvZm9ybT5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNyZWF0ZSgpXCIgW2Rpc2FibGVkXT1cIiFFbnRpdHlVdGlsaXRpZXMuaXNFbnRpdHlWYWxpZChkYXRhLmVudGl0eSwgJ2NyZWF0ZScpXCI+XG4gICAgICAgIHt7ZGF0YS5jcmVhdGVEaWFsb2dEYXRhLmNyZWF0ZUJ1dHRvbkxhYmVsfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiPlxuICAgICAgICB7e2RhdGEuY3JlYXRlRGlhbG9nRGF0YS5jYW5jZWxCdXR0b25MYWJlbH19XG4gICAgPC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ConfirmDialogDataBuilder } from '../../confirm-dialog/confirm-dialog-data.builder';
|
|
2
|
+
export class EditDialogDataInternal {
|
|
3
|
+
constructor(title, confirmButtonLabel, deleteButtonLabel, cancelButtonLabel, deleteRequiresConfirmDialog, editRequiresConfirmDialog, confirmDeleteDialogData, confirmEditDialogData) {
|
|
4
|
+
this.title = title;
|
|
5
|
+
this.confirmButtonLabel = confirmButtonLabel;
|
|
6
|
+
this.deleteButtonLabel = deleteButtonLabel;
|
|
7
|
+
this.cancelButtonLabel = cancelButtonLabel;
|
|
8
|
+
this.deleteRequiresConfirmDialog = deleteRequiresConfirmDialog;
|
|
9
|
+
this.editRequiresConfirmDialog = editRequiresConfirmDialog;
|
|
10
|
+
this.confirmDeleteDialogData = confirmDeleteDialogData;
|
|
11
|
+
this.confirmEditDialogData = confirmEditDialogData;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export class EditDialogDataBuilder {
|
|
15
|
+
constructor(data) {
|
|
16
|
+
// this.validateInput(data);
|
|
17
|
+
this.dataInput = data;
|
|
18
|
+
const confirmEditDialogData = new ConfirmDialogDataBuilder(data?.confirmEditDialogData)
|
|
19
|
+
.withDefaultConfirmButtonLabel('Save')
|
|
20
|
+
.withDefaultText(['Do you really want to save all changes?'])
|
|
21
|
+
.withDefaultTitle('Edit')
|
|
22
|
+
.confirmDialogData;
|
|
23
|
+
const confirmDeleteDialogData = new ConfirmDialogDataBuilder(data?.confirmDeleteDialogData)
|
|
24
|
+
.withDefaultConfirmButtonLabel('Delete')
|
|
25
|
+
.withDefaultType('delete')
|
|
26
|
+
.withDefaultText(['Do you really want to delete this entity?'])
|
|
27
|
+
.withDefaultTitle('Delete')
|
|
28
|
+
.confirmDialogData;
|
|
29
|
+
this.editDialogData = new EditDialogDataInternal(data?.title ? data.title : () => 'Edit', data?.confirmButtonLabel ? data.confirmButtonLabel : 'Save', data?.deleteButtonLabel ? data.deleteButtonLabel : 'Delete', data?.cancelButtonLabel ? data.cancelButtonLabel : 'Cancel', data?.deleteRequiresConfirmDialog ? data.deleteRequiresConfirmDialog : true, data?.editRequiresConfirmDialog ? data.editRequiresConfirmDialog : false, confirmDeleteDialogData, confirmEditDialogData);
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
withDefaultTitle(title) {
|
|
33
|
+
if (!this.dataInput?.title) {
|
|
34
|
+
this.editDialogData.title = title;
|
|
35
|
+
}
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
withDefaultConfirmButtonLabel(label) {
|
|
39
|
+
if (!this.dataInput?.confirmButtonLabel) {
|
|
40
|
+
this.editDialogData.confirmButtonLabel = label;
|
|
41
|
+
}
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
44
|
+
withDefaultDeleteButtonLabel(label) {
|
|
45
|
+
if (!this.dataInput?.deleteButtonLabel) {
|
|
46
|
+
this.editDialogData.deleteButtonLabel = label;
|
|
47
|
+
}
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
50
|
+
withDefaultCancelButtonLabel(label) {
|
|
51
|
+
if (!this.dataInput?.cancelButtonLabel) {
|
|
52
|
+
this.editDialogData.cancelButtonLabel = label;
|
|
53
|
+
}
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
withDefaultDeleteRequiresConfirmDialog(deleteRequiresConfirmDialog) {
|
|
57
|
+
if (!this.dataInput?.deleteRequiresConfirmDialog) {
|
|
58
|
+
this.editDialogData.deleteRequiresConfirmDialog = deleteRequiresConfirmDialog;
|
|
59
|
+
}
|
|
60
|
+
return this;
|
|
61
|
+
}
|
|
62
|
+
withDefaultEditRequiresConfirmDialog(editRequiresConfirmDialog) {
|
|
63
|
+
if (!this.dataInput?.editRequiresConfirmDialog) {
|
|
64
|
+
this.editDialogData.editRequiresConfirmDialog = editRequiresConfirmDialog;
|
|
65
|
+
}
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
withDefaultConfirmDeleteDialogData(confirmDeleteDialogData) {
|
|
69
|
+
if (!this.dataInput?.confirmDeleteDialogData) {
|
|
70
|
+
this.editDialogData.confirmDeleteDialogData = confirmDeleteDialogData;
|
|
71
|
+
}
|
|
72
|
+
return this;
|
|
73
|
+
}
|
|
74
|
+
withDefaultConfirmEditDialogData(confirmEditDialogData) {
|
|
75
|
+
if (!this.dataInput?.confirmEditDialogData) {
|
|
76
|
+
this.editDialogData.confirmEditDialogData = confirmEditDialogData;
|
|
77
|
+
}
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1kaWFsb2ctZGF0YS5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy90YWJsZS9lZGl0LWRpYWxvZy9lZGl0LWRpYWxvZy1kYXRhLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHdCQUF3QixFQUE2QixNQUFNLGtEQUFrRCxDQUFDO0FBR3ZILE1BQU0sT0FBTyxzQkFBc0I7SUFVL0IsWUFDSSxLQUFxQyxFQUNyQyxrQkFBMEIsRUFDMUIsaUJBQXlCLEVBQ3pCLGlCQUF5QixFQUN6QiwyQkFBb0MsRUFDcEMseUJBQWtDLEVBQ2xDLHVCQUEwQyxFQUMxQyxxQkFBd0M7UUFFeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMzQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLDJCQUEyQixHQUFHLDJCQUEyQixDQUFDO1FBQy9ELElBQUksQ0FBQyx5QkFBeUIsR0FBRyx5QkFBeUIsQ0FBQztRQUMzRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7UUFDdkQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDO0lBQ3ZELENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxxQkFBcUI7SUFJOUIsWUFBWSxJQUFpQztRQUN6Qyw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsTUFBTSxxQkFBcUIsR0FBOEIsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLENBQUM7YUFDN0csNkJBQTZCLENBQUMsTUFBTSxDQUFDO2FB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Qyx1QkFBMEM7UUFDekUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUU7WUFDMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsR0FBRyx1QkFBdUIsQ0FBQztTQUN6RTtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxnQ0FBZ0MsQ0FBQyxxQkFBd0M7UUFDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5LW1vZGVsLmNsYXNzJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhIH0gZnJvbSAnLi4vLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2ctZGF0YSc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nRGF0YUJ1aWxkZXIsIENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgfSBmcm9tICcuLi8uLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1kYXRhLmJ1aWxkZXInO1xuaW1wb3J0IHsgRWRpdERpYWxvZ0RhdGEgfSBmcm9tICcuLi90YWJsZS1kYXRhJztcblxuZXhwb3J0IGNsYXNzIEVkaXREaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4gaW1wbGVtZW50cyBFZGl0RGlhbG9nRGF0YTxFbnRpdHlUeXBlPiB7XG4gICAgdGl0bGU6IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IHN0cmluZztcbiAgICBjb25maXJtQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICBkZWxldGVCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgZGVsZXRlUmVxdWlyZXNDb25maXJtRGlhbG9nOiBib29sZWFuO1xuICAgIGVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2c6IGJvb2xlYW47XG4gICAgY29uZmlybURlbGV0ZURpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhO1xuICAgIGNvbmZpcm1FZGl0RGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGE7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgdGl0bGU6IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IHN0cmluZyxcbiAgICAgICAgY29uZmlybUJ1dHRvbkxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGRlbGV0ZUJ1dHRvbkxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZzogYm9vbGVhbixcbiAgICAgICAgZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZzogYm9vbGVhbixcbiAgICAgICAgY29uZmlybURlbGV0ZURpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhLFxuICAgICAgICBjb25maXJtRWRpdERpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhXG4gICAgKSB7XG4gICAgICAgIHRoaXMudGl0bGUgPSB0aXRsZTtcbiAgICAgICAgdGhpcy5jb25maXJtQnV0dG9uTGFiZWwgPSBjb25maXJtQnV0dG9uTGFiZWw7XG4gICAgICAgIHRoaXMuZGVsZXRlQnV0dG9uTGFiZWwgPSBkZWxldGVCdXR0b25MYWJlbDtcbiAgICAgICAgdGhpcy5jYW5jZWxCdXR0b25MYWJlbCA9IGNhbmNlbEJ1dHRvbkxhYmVsO1xuICAgICAgICB0aGlzLmRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZyA9IGRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZztcbiAgICAgICAgdGhpcy5lZGl0UmVxdWlyZXNDb25maXJtRGlhbG9nID0gZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZztcbiAgICAgICAgdGhpcy5jb25maXJtRGVsZXRlRGlhbG9nRGF0YSA9IGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhO1xuICAgICAgICB0aGlzLmNvbmZpcm1FZGl0RGlhbG9nRGF0YSA9IGNvbmZpcm1FZGl0RGlhbG9nRGF0YTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBFZGl0RGlhbG9nRGF0YUJ1aWxkZXI8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4ge1xuICAgIGVkaXREaWFsb2dEYXRhOiBFZGl0RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YUlucHV0PzogRWRpdERpYWxvZ0RhdGE8RW50aXR5VHlwZT47XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhPzogRWRpdERpYWxvZ0RhdGE8RW50aXR5VHlwZT4pIHtcbiAgICAgICAgLy8gdGhpcy52YWxpZGF0ZUlucHV0KGRhdGEpO1xuICAgICAgICB0aGlzLmRhdGFJbnB1dCA9IGRhdGE7XG4gICAgICAgIGNvbnN0IGNvbmZpcm1FZGl0RGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGFJbnRlcm5hbCA9IG5ldyBDb25maXJtRGlhbG9nRGF0YUJ1aWxkZXIoZGF0YT8uY29uZmlybUVkaXREaWFsb2dEYXRhKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0Q29uZmlybUJ1dHRvbkxhYmVsKCdTYXZlJylcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdFRleHQoWydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2F2ZSBhbGwgY2hhbmdlcz8nXSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdFRpdGxlKCdFZGl0JylcbiAgICAgICAgICAgIC5jb25maXJtRGlhbG9nRGF0YTtcbiAgICAgICAgY29uc3QgY29uZmlybURlbGV0ZURpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgPSBuZXcgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyKGRhdGE/LmNvbmZpcm1EZWxldGVEaWFsb2dEYXRhKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0Q29uZmlybUJ1dHRvbkxhYmVsKCdEZWxldGUnKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0VHlwZSgnZGVsZXRlJylcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdFRleHQoWydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgZW50aXR5PyddKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0VGl0bGUoJ0RlbGV0ZScpXG4gICAgICAgICAgICAuY29uZmlybURpYWxvZ0RhdGE7XG4gICAgICAgIHRoaXMuZWRpdERpYWxvZ0RhdGEgPSBuZXcgRWRpdERpYWxvZ0RhdGFJbnRlcm5hbChcbiAgICAgICAgICAgIGRhdGE/LnRpdGxlID8gZGF0YS50aXRsZSA6ICgpID0+ICdFZGl0JyxcbiAgICAgICAgICAgIGRhdGE/LmNvbmZpcm1CdXR0b25MYWJlbCA/IGRhdGEuY29uZmlybUJ1dHRvbkxhYmVsIDogJ1NhdmUnLFxuICAgICAgICAgICAgZGF0YT8uZGVsZXRlQnV0dG9uTGFiZWwgPyBkYXRhLmRlbGV0ZUJ1dHRvbkxhYmVsIDogJ0RlbGV0ZScsXG4gICAgICAgICAgICBkYXRhPy5jYW5jZWxCdXR0b25MYWJlbCA/IGRhdGEuY2FuY2VsQnV0dG9uTGFiZWwgOiAnQ2FuY2VsJyxcbiAgICAgICAgICAgIGRhdGE/LmRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZyA/IGRhdGEuZGVsZXRlUmVxdWlyZXNDb25maXJtRGlhbG9nIDogdHJ1ZSxcbiAgICAgICAgICAgIGRhdGE/LmVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2cgPyBkYXRhLmVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2cgOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhLFxuICAgICAgICAgICAgY29uZmlybUVkaXREaWFsb2dEYXRhXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHdpdGhEZWZhdWx0VGl0bGUodGl0bGU6IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IHN0cmluZyk6IEVkaXREaWFsb2dEYXRhQnVpbGRlcjxFbnRpdHlUeXBlPiB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhSW5wdXQ/LnRpdGxlKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXREaWFsb2dEYXRhLnRpdGxlID0gdGl0bGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aERlZmF1bHRDb25maXJtQnV0dG9uTGFiZWwobGFiZWw6IHN0cmluZyk6IEVkaXREaWFsb2dEYXRhQnVpbGRlcjxFbnRpdHlUeXBlPiB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhSW5wdXQ/LmNvbmZpcm1CdXR0b25MYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5lZGl0RGlhbG9nRGF0YS5jb25maXJtQnV0dG9uTGFiZWwgPSBsYWJlbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB3aXRoRGVmYXVsdERlbGV0ZUJ1dHRvbkxhYmVsKGxhYmVsOiBzdHJpbmcpOiBFZGl0RGlhbG9nRGF0YUJ1aWxkZXI8RW50aXR5VHlwZT4ge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YUlucHV0Py5kZWxldGVCdXR0b25MYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5lZGl0RGlhbG9nRGF0YS5kZWxldGVCdXR0b25MYWJlbCA9IGxhYmVsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHdpdGhEZWZhdWx0Q2FuY2VsQnV0dG9uTGFiZWwobGFiZWw6IHN0cmluZyk6IEVkaXREaWFsb2dEYXRhQnVpbGRlcjxFbnRpdHlUeXBlPiB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhSW5wdXQ/LmNhbmNlbEJ1dHRvbkxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXREaWFsb2dEYXRhLmNhbmNlbEJ1dHRvbkxhYmVsID0gbGFiZWw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aERlZmF1bHREZWxldGVSZXF1aXJlc0NvbmZpcm1EaWFsb2coZGVsZXRlUmVxdWlyZXNDb25maXJtRGlhbG9nOiBib29sZWFuKTogRWRpdERpYWxvZ0RhdGFCdWlsZGVyPEVudGl0eVR5cGU+IHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGFJbnB1dD8uZGVsZXRlUmVxdWlyZXNDb25maXJtRGlhbG9nKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXREaWFsb2dEYXRhLmRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZyA9IGRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB3aXRoRGVmYXVsdEVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2coZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZzogYm9vbGVhbik6IEVkaXREaWFsb2dEYXRhQnVpbGRlcjxFbnRpdHlUeXBlPiB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhSW5wdXQ/LmVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2cpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdERpYWxvZ0RhdGEuZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZyA9IGVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2c7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aERlZmF1bHRDb25maXJtRGVsZXRlRGlhbG9nRGF0YShjb25maXJtRGVsZXRlRGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGEpOiBFZGl0RGlhbG9nRGF0YUJ1aWxkZXI8RW50aXR5VHlwZT4ge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YUlucHV0Py5jb25maXJtRGVsZXRlRGlhbG9nRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5lZGl0RGlhbG9nRGF0YS5jb25maXJtRGVsZXRlRGlhbG9nRGF0YSA9IGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHdpdGhEZWZhdWx0Q29uZmlybUVkaXREaWFsb2dEYXRhKGNvbmZpcm1FZGl0RGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGEpOiBFZGl0RGlhbG9nRGF0YUJ1aWxkZXI8RW50aXR5VHlwZT4ge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YUlucHV0Py5jb25maXJtRWRpdERpYWxvZ0RhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdERpYWxvZ0RhdGEuY29uZmlybUVkaXREaWFsb2dEYXRhID0gY29uZmlybUVkaXREaWFsb2dEYXRhO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbn0iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbnRpdHktZGlhbG9nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL3RhYmxlL2VkaXQtZGlhbG9nL2VkaXQtZW50aXR5LWRpYWxvZy1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHktbW9kZWwuY2xhc3MnO1xuaW1wb3J0IHsgRWRpdERpYWxvZ0RhdGEgfSBmcm9tICcuLi90YWJsZS1kYXRhJztcblxuLyoqXG4gKiBUaGUgRGVmaW5pdGlvbiBvZiB0aGUgRWRpdCBFbnRpdHkgRGlhbG9nIERhdGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdEVudGl0eURpYWxvZ0RhdGE8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4ge1xuICAgIC8qKlxuICAgICAqIFRoZSBlbnRpdHkgdG8gZWRpdC5cbiAgICAgKi9cbiAgICBlbnRpdHk6IEVudGl0eVR5cGUsXG4gICAgLyoqXG4gICAgICogVGhlIEVudGl0eSBTZXJ2aWNlIGNsYXNzIHVzZWQgZm9yIHVwZGF0aW5nL2RlbGV0aW5nIHRoZSBlbnRpdHkuXG4gICAgICovXG4gICAgRW50aXR5U2VydmljZUNsYXNzOiBuZXcgKGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpID0+IEVudGl0eVNlcnZpY2U8RW50aXR5VHlwZT4sXG4gICAgLyoqXG4gICAgICogVGhlIGluZm8gb2YgdGhlIGdlbmVyaWMgZWRpdC1kaWFsb2cuXG4gICAgICovXG4gICAgZWRpdERpYWxvZ0RhdGE/OiBFZGl0RGlhbG9nRGF0YTxFbnRpdHlUeXBlPixcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgdXNlciBjYW4gZGVsZXRlIHRoaXMgc3BlY2lmaWMgZW50aXR5LlxuICAgICAqL1xuICAgIGFsbG93RGVsZXRlPzogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gYm9vbGVhblxufSJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EditDialogDataBuilder } from './edit-dialog-data.builder';
|
|
2
|
+
export class EditEntityDialogDataInternal {
|
|
3
|
+
constructor(entity, EntityServiceClass, editDialogData, allowDelete) {
|
|
4
|
+
this.entity = entity;
|
|
5
|
+
this.EntityServiceClass = EntityServiceClass;
|
|
6
|
+
this.editDialogData = editDialogData;
|
|
7
|
+
this.allowDelete = allowDelete;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export class EditEntityDialogDataBuilder {
|
|
11
|
+
constructor(data) {
|
|
12
|
+
// this.validateInput(data);
|
|
13
|
+
this.dataInput = data;
|
|
14
|
+
const editDialogData = new EditDialogDataBuilder(data.editDialogData).editDialogData;
|
|
15
|
+
this.editDialogData = new EditEntityDialogDataInternal(data.entity, data.EntityServiceClass, editDialogData, data.allowDelete ? data.allowDelete : () => true);
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbnRpdHktZGlhbG9nLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL3RhYmxlL2VkaXQtZGlhbG9nL2VkaXQtZW50aXR5LWRpYWxvZy5idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxxQkFBcUIsRUFBMEIsTUFBTSw0QkFBNEIsQ0FBQztBQUUzRixNQUFNLE9BQU8sNEJBQTRCO0lBTXJDLFlBQ0ksTUFBa0IsRUFDbEIsa0JBQTZFLEVBQzdFLGNBQWtELEVBQ2xELFdBQTRDO1FBRTVDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sMkJBQTJCO0lBSXBDLFlBQVksSUFBc0M7UUFDOUMsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sY0FBYyxHQUF1QyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDekgsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLDRCQUE0QixDQUNsRCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsY0FBYyxFQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDbkQsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudGl0eS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5LW1vZGVsLmNsYXNzJ1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEVkaXRFbnRpdHlEaWFsb2dEYXRhIH0gZnJvbSAnLi9lZGl0LWVudGl0eS1kaWFsb2ctZGF0YSc7XG5pbXBvcnQgeyBFZGl0RGlhbG9nRGF0YUJ1aWxkZXIsIEVkaXREaWFsb2dEYXRhSW50ZXJuYWwgfSBmcm9tICcuL2VkaXQtZGlhbG9nLWRhdGEuYnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBFZGl0RW50aXR5RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGUgZXh0ZW5kcyBFbnRpdHk+IGltcGxlbWVudHMgRWRpdEVudGl0eURpYWxvZ0RhdGE8RW50aXR5VHlwZT4ge1xuICAgIGVudGl0eTogRW50aXR5VHlwZTtcbiAgICBFbnRpdHlTZXJ2aWNlQ2xhc3M6IG5ldyAoaHR0cENsaWVudDogSHR0cENsaWVudCkgPT4gRW50aXR5U2VydmljZTxFbnRpdHlUeXBlPjtcbiAgICBlZGl0RGlhbG9nRGF0YTogRWRpdERpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPjtcbiAgICBhbGxvd0RlbGV0ZTogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBlbnRpdHk6IEVudGl0eVR5cGUsXG4gICAgICAgIEVudGl0eVNlcnZpY2VDbGFzczogbmV3IChodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSA9PiBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+LFxuICAgICAgICBlZGl0RGlhbG9nRGF0YTogRWRpdERpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPixcbiAgICAgICAgYWxsb3dEZWxldGU6IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IGJvb2xlYW5cbiAgICApIHtcbiAgICAgICAgdGhpcy5lbnRpdHkgPSBlbnRpdHk7XG4gICAgICAgIHRoaXMuRW50aXR5U2VydmljZUNsYXNzID0gRW50aXR5U2VydmljZUNsYXNzO1xuICAgICAgICB0aGlzLmVkaXREaWFsb2dEYXRhID0gZWRpdERpYWxvZ0RhdGE7XG4gICAgICAgIHRoaXMuYWxsb3dEZWxldGUgPSBhbGxvd0RlbGV0ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBFZGl0RW50aXR5RGlhbG9nRGF0YUJ1aWxkZXI8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4ge1xuICAgIGVkaXREaWFsb2dEYXRhOiBFZGl0RW50aXR5RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YUlucHV0OiBFZGl0RW50aXR5RGlhbG9nRGF0YTxFbnRpdHlUeXBlPjtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IEVkaXRFbnRpdHlEaWFsb2dEYXRhPEVudGl0eVR5cGU+KSB7XG4gICAgICAgIC8vIHRoaXMudmFsaWRhdGVJbnB1dChkYXRhKTtcbiAgICAgICAgdGhpcy5kYXRhSW5wdXQgPSBkYXRhO1xuICAgICAgICBjb25zdCBlZGl0RGlhbG9nRGF0YTogRWRpdERpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPiA9IG5ldyBFZGl0RGlhbG9nRGF0YUJ1aWxkZXIoZGF0YS5lZGl0RGlhbG9nRGF0YSkuZWRpdERpYWxvZ0RhdGE7XG4gICAgICAgIHRoaXMuZWRpdERpYWxvZ0RhdGEgPSBuZXcgRWRpdEVudGl0eURpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPihcbiAgICAgICAgICAgIGRhdGEuZW50aXR5LFxuICAgICAgICAgICAgZGF0YS5FbnRpdHlTZXJ2aWNlQ2xhc3MsXG4gICAgICAgICAgICBlZGl0RGlhbG9nRGF0YSxcbiAgICAgICAgICAgIGRhdGEuYWxsb3dEZWxldGUgPyBkYXRhLmFsbG93RGVsZXRlIDogKCkgPT4gdHJ1ZVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59Il19
|
|
@@ -3,6 +3,8 @@ import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dial
|
|
|
3
3
|
import { EntityUtilities } from '../../../classes/entity-utilities.class';
|
|
4
4
|
import { cloneDeep } from 'lodash';
|
|
5
5
|
import { NgxMatEntityConfirmDialogComponent } from '../../confirm-dialog/confirm-dialog.component';
|
|
6
|
+
import { ConfirmDialogDataBuilder } from '../../confirm-dialog/confirm-dialog-data.builder';
|
|
7
|
+
import { EditEntityDialogDataBuilder } from './edit-entity-dialog.builder';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
import * as i1 from "@angular/material/dialog";
|
|
8
10
|
import * as i2 from "@angular/material/button";
|
|
@@ -10,8 +12,8 @@ import * as i3 from "../../input/input.component";
|
|
|
10
12
|
import * as i4 from "@angular/common";
|
|
11
13
|
import * as i5 from "@angular/forms";
|
|
12
14
|
export class NgxMatEntityEditDialogComponent {
|
|
13
|
-
constructor(
|
|
14
|
-
this.
|
|
15
|
+
constructor(inputData, dialogRef, injector, dialog) {
|
|
16
|
+
this.inputData = inputData;
|
|
15
17
|
this.dialogRef = dialogRef;
|
|
16
18
|
this.injector = injector;
|
|
17
19
|
this.dialog = dialog;
|
|
@@ -19,6 +21,7 @@ export class NgxMatEntityEditDialogComponent {
|
|
|
19
21
|
this.getWidth = EntityUtilities.getWidth;
|
|
20
22
|
}
|
|
21
23
|
ngOnInit() {
|
|
24
|
+
this.data = new EditEntityDialogDataBuilder(this.inputData).editDialogData;
|
|
22
25
|
this.dialogRef.disableClose = true;
|
|
23
26
|
this.setEntityKeys();
|
|
24
27
|
this.entityService = this.injector.get(this.data.EntityServiceClass);
|
|
@@ -31,23 +34,14 @@ export class NgxMatEntityEditDialogComponent {
|
|
|
31
34
|
.sort((a, b) => EntityUtilities.compareOrder(a, b, this.data.entity));
|
|
32
35
|
}
|
|
33
36
|
edit() {
|
|
34
|
-
if (this.data.editDialogData.editRequiresConfirmDialog
|
|
37
|
+
if (!this.data.editDialogData.editRequiresConfirmDialog) {
|
|
35
38
|
return this.confirmEdit();
|
|
36
39
|
}
|
|
37
|
-
const dialogData =
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
confirmButtonLabel: this.data.editDialogData.confirmEditDialogData?.confirmButtonLabel ? this.data.editDialogData.confirmEditDialogData?.confirmButtonLabel : 'Confirm',
|
|
43
|
-
// eslint-disable-next-line max-len
|
|
44
|
-
cancelButtonLabel: this.data.editDialogData.confirmEditDialogData?.cancelButtonLabel ? this.data.editDialogData.confirmEditDialogData?.cancelButtonLabel : 'Cancel',
|
|
45
|
-
title: this.data.editDialogData.confirmEditDialogData?.title ? this.data.editDialogData.confirmEditDialogData?.title : 'Edit',
|
|
46
|
-
// eslint-disable-next-line max-len
|
|
47
|
-
requireConfirmation: this.data.editDialogData.confirmEditDialogData?.requireConfirmation ? this.data.editDialogData.confirmEditDialogData?.requireConfirmation : false,
|
|
48
|
-
// eslint-disable-next-line max-len
|
|
49
|
-
confirmationText: this.data.editDialogData.confirmEditDialogData?.confirmationText ? this.data.editDialogData.confirmEditDialogData?.confirmationText : undefined,
|
|
50
|
-
};
|
|
40
|
+
const dialogData = new ConfirmDialogDataBuilder(this.data.editDialogData.confirmEditDialogData)
|
|
41
|
+
.withDefaultText(['Do you really want to save all changes?'])
|
|
42
|
+
.withDefaultConfirmButtonLabel('Save')
|
|
43
|
+
.withDefaultTitle('Edit')
|
|
44
|
+
.confirmDialogData;
|
|
51
45
|
const dialogref = this.dialog.open(NgxMatEntityConfirmDialogComponent, {
|
|
52
46
|
data: dialogData,
|
|
53
47
|
autoFocus: false,
|
|
@@ -63,24 +57,15 @@ export class NgxMatEntityEditDialogComponent {
|
|
|
63
57
|
this.entityService.update(this.data.entity, this.entityPriorChanges).then(() => this.dialogRef.close(1));
|
|
64
58
|
}
|
|
65
59
|
delete() {
|
|
66
|
-
if (this.data.editDialogData.deleteRequiresConfirmDialog
|
|
60
|
+
if (!this.data.editDialogData.deleteRequiresConfirmDialog) {
|
|
67
61
|
return this.confirmDelete();
|
|
68
62
|
}
|
|
69
|
-
const dialogData =
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
// eslint-disable-next-line max-len
|
|
76
|
-
cancelButtonLabel: this.data.editDialogData.confirmDeleteDialogData?.cancelButtonLabel ? this.data.editDialogData.confirmDeleteDialogData?.cancelButtonLabel : 'Cancel',
|
|
77
|
-
// eslint-disable-next-line max-len
|
|
78
|
-
title: this.data.editDialogData.confirmDeleteDialogData?.title ? this.data.editDialogData.confirmDeleteDialogData?.title : 'Delete',
|
|
79
|
-
// eslint-disable-next-line max-len
|
|
80
|
-
requireConfirmation: this.data.editDialogData.confirmDeleteDialogData?.requireConfirmation ? this.data.editDialogData.confirmDeleteDialogData?.requireConfirmation : false,
|
|
81
|
-
// eslint-disable-next-line max-len
|
|
82
|
-
confirmationText: this.data.editDialogData.confirmDeleteDialogData?.confirmationText ? this.data.editDialogData.confirmDeleteDialogData?.confirmationText : undefined,
|
|
83
|
-
};
|
|
63
|
+
const dialogData = new ConfirmDialogDataBuilder(this.data.editDialogData.confirmDeleteDialogData)
|
|
64
|
+
.withDefaultText(['Do you really want to delete this entity?'])
|
|
65
|
+
.withDefaultType('delete')
|
|
66
|
+
.withDefaultConfirmButtonLabel('Delete')
|
|
67
|
+
.withDefaultTitle('Delete')
|
|
68
|
+
.confirmDialogData;
|
|
84
69
|
const dialogref = this.dialog.open(NgxMatEntityConfirmDialogComponent, {
|
|
85
70
|
data: dialogData,
|
|
86
71
|
autoFocus: false,
|
|
@@ -101,12 +86,12 @@ export class NgxMatEntityEditDialogComponent {
|
|
|
101
86
|
}
|
|
102
87
|
}
|
|
103
88
|
NgxMatEntityEditDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityEditDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i0.Injector }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
104
|
-
NgxMatEntityEditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NgxMatEntityEditDialogComponent, selector: "ngx-mat-entity-edit-dialog", ngImport: i0, template: "<h2 mat-dialog-title>\n {{data.editDialogData.title(data.entity)}}\n <button *ngIf=\"data.allowDelete(data.entity)\" mat-raised-button (click)=\"delete()\" color=\"warn\" class=\"delete-button\" tabindex=\"-1\">\n {{data.editDialogData.deleteButtonLabel
|
|
89
|
+
NgxMatEntityEditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NgxMatEntityEditDialogComponent, selector: "ngx-mat-entity-edit-dialog", ngImport: i0, template: "<h2 mat-dialog-title>\n {{data.editDialogData.title(data.entity)}}\n <button *ngIf=\"data.allowDelete(data.entity)\" mat-raised-button (click)=\"delete()\" color=\"warn\" class=\"delete-button\" tabindex=\"-1\">\n {{data.editDialogData.deleteButtonLabel}}\n </button>\n</h2>\n\n<mat-dialog-content>\n <form #form=\"ngForm\" class=\"row\">\n <ngx-mat-entity-input\n *ngFor=\"let key of entityKeys\"\n [entity]=\"data.entity\"\n [propertyKey]=\"key\"\n [hideOmitForEdit]=\"true\"\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-input>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button (click)=\"edit()\" [disabled]=\"!EntityUtilities.isEntityValid(data.entity, 'update') || !EntityUtilities.dirty(data.entity, entityPriorChanges)\">\n {{data.editDialogData.confirmButtonLabel}}\n </button>\n <button mat-raised-button (click)=\"cancel()\" class=\"cancel-button\">\n {{data.editDialogData.cancelButtonLabel}}\n </button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-actions{display:flex;justify-content:space-between}.delete-button{float:right}\n"], components: [{ type: i2.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: i3.NgxMatEntityInputComponent, selector: "ngx-mat-entity-input", inputs: ["entity", "propertyKey", "getValidationErrorMessage", "hideOmitForCreate", "hideOmitForEdit"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
|
|
105
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityEditDialogComponent, decorators: [{
|
|
106
91
|
type: Component,
|
|
107
|
-
args: [{ selector: 'ngx-mat-entity-edit-dialog', template: "<h2 mat-dialog-title>\n {{data.editDialogData.title(data.entity)}}\n <button *ngIf=\"data.allowDelete(data.entity)\" mat-raised-button (click)=\"delete()\" color=\"warn\" class=\"delete-button\" tabindex=\"-1\">\n {{data.editDialogData.deleteButtonLabel
|
|
92
|
+
args: [{ selector: 'ngx-mat-entity-edit-dialog', template: "<h2 mat-dialog-title>\n {{data.editDialogData.title(data.entity)}}\n <button *ngIf=\"data.allowDelete(data.entity)\" mat-raised-button (click)=\"delete()\" color=\"warn\" class=\"delete-button\" tabindex=\"-1\">\n {{data.editDialogData.deleteButtonLabel}}\n </button>\n</h2>\n\n<mat-dialog-content>\n <form #form=\"ngForm\" class=\"row\">\n <ngx-mat-entity-input\n *ngFor=\"let key of entityKeys\"\n [entity]=\"data.entity\"\n [propertyKey]=\"key\"\n [hideOmitForEdit]=\"true\"\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-input>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button (click)=\"edit()\" [disabled]=\"!EntityUtilities.isEntityValid(data.entity, 'update') || !EntityUtilities.dirty(data.entity, entityPriorChanges)\">\n {{data.editDialogData.confirmButtonLabel}}\n </button>\n <button mat-raised-button (click)=\"cancel()\" class=\"cancel-button\">\n {{data.editDialogData.cancelButtonLabel}}\n </button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-actions{display:flex;justify-content:space-between}.delete-button{float:right}\n"] }]
|
|
108
93
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
109
94
|
type: Inject,
|
|
110
95
|
args: [MAT_DIALOG_DATA]
|
|
111
96
|
}] }, { type: i1.MatDialogRef }, { type: i0.Injector }, { type: i1.MatDialog }]; } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvdGFibGUvZWRpdC1kaWFsb2cvZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvdGFibGUvZWRpdC1kaWFsb2cvZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVuQyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7OztBQVFuRyxNQUFNLE9BQVEsK0JBQStCO0lBV3pDLFlBRVcsSUFBc0MsRUFDdEMsU0FBb0UsRUFDMUQsUUFBa0IsRUFDbEIsTUFBaUI7UUFIM0IsU0FBSSxHQUFKLElBQUksQ0FBa0M7UUFDdEMsY0FBUyxHQUFULFNBQVMsQ0FBMkQ7UUFDMUQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBZnRDLG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBUWxDLGFBQVEsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO0lBUWhDLENBQUM7SUFFTCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxD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LENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDOUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUN4QjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNPLGFBQWE7UUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxNQUFNO1FBQ0YsZUFBZSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7OzZIQXZHUywrQkFBK0Isa0JBWTdCLGVBQWU7aUhBWmpCLCtCQUErQixrRUNmN0MsNDFDQTRCQTs0RkRiYywrQkFBK0I7a0JBTDVDLFNBQVM7K0JBQ0ksNEJBQTRCOzswQkFnQmpDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudGl0eS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5LW1vZGVsLmNsYXNzJztcbmltcG9ydCB7IEVudGl0eVV0aWxpdGllcyB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5LXV0aWxpdGllcy5jbGFzcyc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRWRpdEVudGl0eURpYWxvZ0RhdGEgfSBmcm9tICcuL2VkaXQtZW50aXR5LWRpYWxvZy1kYXRhJztcbmltcG9ydCB7IE5neE1hdEVudGl0eUNvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1kYXRhJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtbWF0LWVudGl0eS1lZGl0LWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtZW50aXR5LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgIE5neE1hdEVudGl0eUVkaXREaWFsb2dDb21wb25lbnQ8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEVudGl0eVV0aWxpdGllcyA9IEVudGl0eVV0aWxpdGllcztcblxuICAgIGVudGl0eUtleXMhOiAoa2V5b2YgRW50aXR5VHlwZSlbXTtcblxuICAgIGVudGl0eVNlcnZpY2UhOiBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+O1xuXG4gICAgZW50aXR5UHJpb3JDaGFuZ2VzITogRW50aXR5VHlwZTtcblxuICAgIGdldFdpZHRoID0gRW50aXR5VXRpbGl0aWVzLmdldFdpZHRoO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKVxuICAgICAgICBwdWJsaWMgZGF0YTogRWRpdEVudGl0eURpYWxvZ0RhdGE8RW50aXR5VHlwZT4sXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxOZ3hNYXRFbnRpdHlFZGl0RGlhbG9nQ29tcG9uZW50PEVudGl0eVR5cGU+PixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBNYXREaWFsb2dcbiAgICApIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0RW50aXR5S2V5cygpO1xuICAgICAgICB0aGlzLmVudGl0eVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldCh0aGlzLmRhdGEuRW50aXR5U2VydmljZUNsYXNzKSBhcyBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+O1xuICAgICAgICB0aGlzLmVudGl0eVByaW9yQ2hhbmdlcyA9IGNsb25lRGVlcCh0aGlzLmRhdGEuZW50aXR5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEVudGl0eUtleXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZW50aXR5S2V5cyA9IFJlZmxlY3Qub3duS2V5cyh0aGlzLmRhdGEuZW50aXR5KSBhcyAoa2V5b2YgRW50aXR5VHlwZSlbXTtcbiAgICAgICAgY29uc3Qgb21pdFVwZGF0ZUtleXMgPSBFbnRpdHlVdGlsaXRpZXMuZ2V0T21pdEZvclVwZGF0ZSh0aGlzLmRhdGEuZW50aXR5KTtcbiAgICAgICAgdGhpcy5lbnRpdHlLZXlzID0gdGhpcy5lbnRpdHlLZXlzLmZpbHRlcigoaykgPT4gIW9taXRVcGRhdGVLZXlzLmluY2x1ZGVzKGspKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IEVudGl0eVV0aWxpdGllcy5jb21wYXJlT3JkZXIoYSwgYiwgdGhpcy5kYXRhLmVudGl0eSkpO1xuICAgIH1cblxuICAgIGVkaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEuZWRpdERpYWxvZ0RhdGEuZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbmZpcm1FZGl0KCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGEgPSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAgICAgdGV4dDogdGhpcy5kYXRhLmVkaXREaWFsb2dEYXRhLmNvbmZpcm1FZGl0RGlhbG9nRGF0YT8udGV4dCA/IHRoaXMuZGF0YS5lZGl0RGlhbG9nRGF0YS5jb25maXJtRWRpdERpYWxvZ0RhdGE/LnRleHQgOiBbJ0RvIHlvdSByZWFsbHkgd2FudCB0byBzYXZlIGFsbCBjaGFuZ2VzPyddLFxuICAgICAgICAgICAgdHlwZTogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25MYWJlbDogdGhpcy5kYXRhLmVkaXREaWFsb2dEYXRhLmNvbmZpcm1FZGl0RGlhbG9nRGF0YT8uY29uZmlybUJ1dHRvbkxhYmVsID8gdGhpcy5kYXRhLmVkaXREaWFsb2dEYXRhLmNvbmZpcm1FZGl0RGlhbG9nRGF0YT8uY29uZmlybUJ1dHRvbkxhYmVsIDogJ0NvbmZpcm0nLFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiB0aGlzLmRhdGEuZWRpdERpYWxvZ0RhdGEuY29uZmlybUVkaXREaWFsb2dEYXRhPy5jYW5jZWxCdXR0b25MYWJlbCA/IHRoaXMuZGF0YS5lZGl0RGlhbG9nRGF0YS5jb25maXJtRWRpdERpYWxvZ0RhdGE/LmNhbmNlbEJ1dHRvbkxhYmVsIDogJ0NhbmNlbCcsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy5kYXRhLmVkaXREaWFsb2dEYXRhLmNvbmZpcm1FZGl0RGlhbG9nRGF0YT8udGl0bGUgPyB0aGlzLmRhdGEuZWRpdERpYWxvZ0RhdGEuY29uZmlybUVkaXREaWFsb2dEYXRhPy50aXRsZSA6ICdFZGl0JyxcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgICAgICByZXF1aXJlQ29uZmlybWF0aW9uOiB0aGlzLmRhdGEuZWRpdERpYWxvZ0RhdGEuY29uZmlybUVkaXREaWFsb2dEYXRhPy5yZXF1aXJlQ29uZmlybWF0aW9uID8gdGhpcy5kYXRhLmVkaXREaWFsb2dEYXRhLmNvbmZpcm1FZGl0RGlhbG9nRGF0YT8ucmVxdWlyZUNvbmZpcm1hdGlvbiA6IGZhbHNlLFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgICAgIGNvbmZpcm1hdGlvblRleHQ6IHRoaXMuZGF0YS5lZGl0RGlhbG9nRGF0YS5jb25maXJtRWRpdERpYWxvZ0RhdGE/LmNvbmZpcm1hdGlvblRleHQgPyB0aGlzLmRhdGEuZWRpdERpYWxvZ0RhdGEuY29uZmlybUVkaXREaWFsb2dEYXRhPy5jb25maXJtYXRpb25UZXh0IDogdW5kZWZpbmVkLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkaWFsb2dyZWYgPSB0aGlzLmRpYWxvZy5vcGVuKE5neE1hdEVudGl0eUNvbmZpcm1EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IGRpYWxvZ0RhdGEsXG4gICAgICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgICAgZGlhbG9ncmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXM6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlybUVkaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgY29uZmlybUVkaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZW50aXR5U2VydmljZS51cGRhdGUodGhpcy5kYXRhLmVudGl0eSwgdGhpcy5lbnRpdHlQcmlvckNoYW5nZXMpLnRoZW4oKCkgPT4gdGhpcy5kaWFsb2dSZWYuY2xvc2UoMSkpO1xuICAgIH1cblxuICAgIGRlbGV0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5lZGl0RGlhbG9nRGF0YS5kZWxldGVSZXF1aXJlc0NvbmZpcm1EaWFsb2cgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb25maXJtRGVsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGEgPSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAgICAgdGV4dDogdGhpcy5kYXRhLmVkaXREaWFsb2dEYXRhLmNvbmZpcm1EZWxldGVEaWFsb2dEYXRhPy50ZXh0ID8gdGhpcy5kYXRhLmVkaXREaWFsb2dEYXRhLmNvbmZpcm1EZWxldGVEaWFsb2dEYXRhPy50ZXh0IDogWydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgZW50aXR5PyddLFxuICAgICAgICAgICAgdHlwZTogJ2RlbGV0ZScsXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAgICAgY29uZmlybUJ1dHRvbkxhYmVsOiB0aGlzLmRhdGEuZWRpdERpYWxvZ0RhdGEuY29uZmlybURlbGV0ZURpYWxvZ0RhdGE/LmNvbmZpcm1CdXR0b25MYWJlbCA/IHRoaXMuZGF0YS5lZGl0RGlhbG9nRGF0YS5jb25maXJtRGVsZXRlRGlhbG9nRGF0YT8uY29uZmlybUJ1dHRvbkxhYmVsIDogJ0RlbGV0ZScsXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAgICAgY2FuY2VsQnV0dG9uTGFiZWw6IHRoaXMuZGF0YS5lZGl0RGlhbG9nRGF0YS5jb25maXJtRGVsZXRlRGlhbG9nRGF0YT8uY2FuY2VsQnV0dG9uTGFiZWwgPyB0aGlzLmRhdGEuZWRpdERpYWxvZ0RhdGEuY29uZmlybURlbGV0ZURpYWxvZ0RhdGE/LmNhbmNlbEJ1dHRvbkxhYmVsIDogJ0NhbmNlbCcsXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAgICAgdGl0bGU6IHRoaXMuZGF0YS5lZGl0RGlhbG9nRGF0YS5jb25maXJtRGVsZXRlRGlhbG9nRGF0YT8udGl0bGUgPyB0aGlzLmRhdGEuZWRpdERpYWxvZ0RhdGEuY29uZmlybURlbGV0ZURpYWxvZ0RhdGE/LnRpdGxlIDogJ0RlbGV0ZScsXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAgICAgcmVxdWlyZUNvbmZpcm1hdGlvbjogdGhpcy5kYXRhLmVkaXREaWFsb2dEYXRhLmNvbmZpcm1EZWxldGVEaWFsb2dEYXRhPy5yZXF1aXJlQ29uZmlybWF0aW9uID8gdGhpcy5kYXRhLmVkaXREaWFsb2dEYXRhLmNvbmZpcm1EZWxldGVEaWFsb2dEYXRhPy5yZXF1aXJlQ29uZmlybWF0aW9uIDogZmFsc2UsXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAgICAgY29uZmlybWF0aW9uVGV4dDogdGhpcy5kYXRhLmVkaXREaWFsb2dEYXRhLmNvbmZpcm1EZWxldGVEaWFsb2dEYXRhPy5jb25maXJtYXRpb25UZXh0ID8gdGhpcy5kYXRhLmVkaXREaWFsb2dEYXRhLmNvbmZpcm1EZWxldGVEaWFsb2dEYXRhPy5jb25maXJtYXRpb25UZXh0IDogdW5kZWZpbmVkLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkaWFsb2dyZWYgPSB0aGlzLmRpYWxvZy5vcGVuKE5neE1hdEVudGl0eUNvbmZpcm1EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IGRpYWxvZ0RhdGEsXG4gICAgICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgICAgZGlhbG9ncmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXM6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlybURlbGV0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBjb25maXJtRGVsZXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVudGl0eVNlcnZpY2UuZGVsZXRlKHRoaXMuZW50aXR5UHJpb3JDaGFuZ2VzLmlkKS50aGVuKCgpID0+IHRoaXMuZGlhbG9nUmVmLmNsb3NlKDIpKTtcbiAgICB9XG5cbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIEVudGl0eVV0aWxpdGllcy5yZXNldENoYW5nZXNPbkVudGl0eSh0aGlzLmRhdGEuZW50aXR5LCB0aGlzLmVudGl0eVByaW9yQ2hhbmdlcyk7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKDApO1xuICAgIH1cbn0iLCI8aDIgbWF0LWRpYWxvZy10aXRsZT5cbiAgICB7e2RhdGEuZWRpdERpYWxvZ0RhdGEudGl0bGUoZGF0YS5lbnRpdHkpfX1cbiAgICA8YnV0dG9uICpuZ0lmPVwiZGF0YS5hbGxvd0RlbGV0ZShkYXRhLmVudGl0eSlcIiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlKClcIiBjb2xvcj1cIndhcm5cIiBjbGFzcz1cImRlbGV0ZS1idXR0b25cIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIHt7ZGF0YS5lZGl0RGlhbG9nRGF0YS5kZWxldGVCdXR0b25MYWJlbCA/IGRhdGEuZWRpdERpYWxvZ0RhdGEuZGVsZXRlQnV0dG9uTGFiZWwgOiAnRGVsZXRlJ319XG4gICAgPC9idXR0b24+XG48L2gyPlxuXG48bWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxmb3JtICNmb3JtPVwibmdGb3JtXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPG5neC1tYXQtZW50aXR5LWlucHV0XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQga2V5IG9mIGVudGl0eUtleXNcIlxuICAgICAgICAgICAgW2VudGl0eV09XCJkYXRhLmVudGl0eVwiXG4gICAgICAgICAgICBbcHJvcGVydHlLZXldPVwia2V5XCJcbiAgICAgICAgICAgIFtoaWRlT21pdEZvckVkaXRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cImNvbC1sZy17e2dldFdpZHRoKGRhdGEuZW50aXR5LCBrZXksICdsZycpfX0gY29sLW1kLXt7Z2V0V2lkdGgoZGF0YS5lbnRpdHksIGtleSwgJ21kJyl9fSBjb2wtc20te3tnZXRXaWR0aChkYXRhLmVudGl0eSwga2V5LCAnc20nKX19XCJcbiAgICAgICAgPlxuICAgICAgICA8L25neC1tYXQtZW50aXR5LWlucHV0PlxuICAgIDwvZm9ybT5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImVkaXQoKVwiIFtkaXNhYmxlZF09XCIhRW50aXR5VXRpbGl0aWVzLmlzRW50aXR5VmFsaWQoZGF0YS5lbnRpdHksICdlZGl0JykgfHwgIUVudGl0eVV0aWxpdGllcy5kaXJ0eShkYXRhLmVudGl0eSwgZW50aXR5UHJpb3JDaGFuZ2VzKVwiPlxuICAgICAgICB7e2RhdGEuZWRpdERpYWxvZ0RhdGEuY29uZmlybUJ1dHRvbkxhYmVsID8gZGF0YS5lZGl0RGlhbG9nRGF0YS5jb25maXJtQnV0dG9uTGFiZWwgOiAnU2F2ZSd9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbCgpXCIgY2xhc3M9XCJjYW5jZWwtYnV0dG9uXCI+XG4gICAgICAgIHt7ZGF0YS5lZGl0RGlhbG9nRGF0YS5jYW5jZWxCdXR0b25MYWJlbCA/IGRhdGEuZWRpdERpYWxvZ0RhdGEuY2FuY2VsQnV0dG9uTGFiZWwgOiAnQ2FuY2VsJ319XG4gICAgPC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvdGFibGUvZWRpdC1kaWFsb2cvZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvdGFibGUvZWRpdC1kaWFsb2cvZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVuQyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNuRyxPQUFPLEVBQUUsd0JBQXdCLEVBQTZCLE1BQU0sa0RBQWtELENBQUM7QUFDdkgsT0FBTyxFQUFFLDJCQUEyQixFQUFnQyxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7O0FBT3pHLE1BQU0sT0FBUSwrQkFBK0I7SUFhekMsWUFFcUIsU0FBMkMsRUFDckQsU0FBb0UsRUFDMUQsUUFBa0IsRUFDbEIsTUFBaUI7UUFIakIsY0FBUyxHQUFULFNBQVMsQ0FBa0M7UUFDckQsY0FBUyxHQUFULFNBQVMsQ0FBMkQ7UUFDMUQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBakJ0QyxvQkFBZSxHQUFHLGVBQWUsQ0FBQztRQVVs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bXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudGl0eS1tb2RlbC5jbGFzcyc7XG5pbXBvcnQgeyBFbnRpdHlVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudGl0eS11dGlsaXRpZXMuY2xhc3MnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEVkaXRFbnRpdHlEaWFsb2dEYXRhIH0gZnJvbSAnLi9lZGl0LWVudGl0eS1kaWFsb2ctZGF0YSc7XG5pbXBvcnQgeyBOZ3hNYXRFbnRpdHlDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhQnVpbGRlciwgQ29uZmlybURpYWxvZ0RhdGFJbnRlcm5hbCB9IGZyb20gJy4uLy4uL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLWRhdGEuYnVpbGRlcic7XG5pbXBvcnQgeyBFZGl0RW50aXR5RGlhbG9nRGF0YUJ1aWxkZXIsIEVkaXRFbnRpdHlEaWFsb2dEYXRhSW50ZXJuYWwgfSBmcm9tICcuL2VkaXQtZW50aXR5LWRpYWxvZy5idWlsZGVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtbWF0LWVudGl0eS1lZGl0LWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtZW50aXR5LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgIE5neE1hdEVudGl0eUVkaXREaWFsb2dDb21wb25lbnQ8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEVudGl0eVV0aWxpdGllcyA9IEVudGl0eVV0aWxpdGllcztcblxuICAgIGVudGl0eUtleXMhOiAoa2V5b2YgRW50aXR5VHlwZSlbXTtcblxuICAgIGVudGl0eVNlcnZpY2UhOiBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+O1xuXG4gICAgZW50aXR5UHJpb3JDaGFuZ2VzITogRW50aXR5VHlwZTtcblxuICAgIGRhdGEhOiBFZGl0RW50aXR5RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+O1xuXG4gICAgZ2V0V2lkdGggPSBFbnRpdHlVdGlsaXRpZXMuZ2V0V2lkdGg7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXREYXRhOiBFZGl0RW50aXR5RGlhbG9nRGF0YTxFbnRpdHlUeXBlPixcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE5neE1hdEVudGl0eUVkaXREaWFsb2dDb21wb25lbnQ8RW50aXR5VHlwZT4+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZ1xuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGEgPSBuZXcgRWRpdEVudGl0eURpYWxvZ0RhdGFCdWlsZGVyKHRoaXMuaW5wdXREYXRhKS5lZGl0RGlhbG9nRGF0YTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXRFbnRpdHlLZXlzKCk7XG4gICAgICAgIHRoaXMuZW50aXR5U2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KHRoaXMuZGF0YS5FbnRpdHlTZXJ2aWNlQ2xhc3MpIGFzIEVudGl0eVNlcnZpY2U8RW50aXR5VHlwZT47XG4gICAgICAgIHRoaXMuZW50aXR5UHJpb3JDaGFuZ2VzID0gY2xvbmVEZWVwKHRoaXMuZGF0YS5lbnRpdHkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RW50aXR5S2V5cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbnRpdHlLZXlzID0gUmVmbGVjdC5vd25LZXlzKHRoaXMuZGF0YS5lbnRpdHkpIGFzIChrZXlvZiBFbnRpdHlUeXBlKVtdO1xuICAgICAgICBjb25zdCBvbWl0VXBkYXRlS2V5cyA9IEVudGl0eVV0aWxpdGllcy5nZXRPbWl0Rm9yVXBkYXRlKHRoaXMuZGF0YS5lbnRpdHkpO1xuICAgICAgICB0aGlzLmVudGl0eUtleXMgPSB0aGlzLmVudGl0eUtleXMuZmlsdGVyKChrKSA9PiAhb21pdFVwZGF0ZUtleXMuaW5jbHVkZXMoaykpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gRW50aXR5VXRpbGl0aWVzLmNvbXBhcmVPcmRlcihhLCBiLCB0aGlzLmRhdGEuZW50aXR5KSk7XG4gICAgfVxuXG4gICAgZWRpdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEuZWRpdERpYWxvZ0RhdGEuZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlybUVkaXQoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YUludGVybmFsID0gbmV3IENvbmZpcm1EaWFsb2dEYXRhQnVpbGRlcih0aGlzLmRhdGEuZWRpdERpYWxvZ0RhdGEuY29uZmlybUVkaXREaWFsb2dEYXRhKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0VGV4dChbJ0RvIHlvdSByZWFsbHkgd2FudCB0byBzYXZlIGFsbCBjaGFuZ2VzPyddKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0Q29uZmlybUJ1dHRvbkxhYmVsKCdTYXZlJylcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdFRpdGxlKCdFZGl0JylcbiAgICAgICAgICAgIC5jb25maXJtRGlhbG9nRGF0YTtcbiAgICAgICAgY29uc3QgZGlhbG9ncmVmID0gdGhpcy5kaWFsb2cub3BlbihOZ3hNYXRFbnRpdHlDb25maXJtRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBkYXRhOiBkaWFsb2dEYXRhLFxuICAgICAgICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICAgICAgICAgIHJlc3RvcmVGb2N1czogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgICAgIGRpYWxvZ3JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMgPT09IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm1FZGl0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwcml2YXRlIGNvbmZpcm1FZGl0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVudGl0eVNlcnZpY2UudXBkYXRlKHRoaXMuZGF0YS5lbnRpdHksIHRoaXMuZW50aXR5UHJpb3JDaGFuZ2VzKS50aGVuKCgpID0+IHRoaXMuZGlhbG9nUmVmLmNsb3NlKDEpKTtcbiAgICB9XG5cbiAgICBkZWxldGUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhLmVkaXREaWFsb2dEYXRhLmRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlybURlbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgPSBuZXcgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyKHRoaXMuZGF0YS5lZGl0RGlhbG9nRGF0YS5jb25maXJtRGVsZXRlRGlhbG9nRGF0YSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdFRleHQoWydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgZW50aXR5PyddKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0VHlwZSgnZGVsZXRlJylcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdENvbmZpcm1CdXR0b25MYWJlbCgnRGVsZXRlJylcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdFRpdGxlKCdEZWxldGUnKVxuICAgICAgICAgICAgLmNvbmZpcm1EaWFsb2dEYXRhO1xuICAgICAgICBjb25zdCBkaWFsb2dyZWYgPSB0aGlzLmRpYWxvZy5vcGVuKE5neE1hdEVudGl0eUNvbmZpcm1EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IGRpYWxvZ0RhdGEsXG4gICAgICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgICAgZGlhbG9ncmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXM6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlybURlbGV0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBjb25maXJtRGVsZXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVudGl0eVNlcnZpY2UuZGVsZXRlKHRoaXMuZW50aXR5UHJpb3JDaGFuZ2VzLmlkKS50aGVuKCgpID0+IHRoaXMuZGlhbG9nUmVmLmNsb3NlKDIpKTtcbiAgICB9XG5cbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIEVudGl0eVV0aWxpdGllcy5yZXNldENoYW5nZXNPbkVudGl0eSh0aGlzLmRhdGEuZW50aXR5LCB0aGlzLmVudGl0eVByaW9yQ2hhbmdlcyk7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKDApO1xuICAgIH1cbn0iLCI8aDIgbWF0LWRpYWxvZy10aXRsZT5cbiAgICB7e2RhdGEuZWRpdERpYWxvZ0RhdGEudGl0bGUoZGF0YS5lbnRpdHkpfX1cbiAgICA8YnV0dG9uICpuZ0lmPVwiZGF0YS5hbGxvd0RlbGV0ZShkYXRhLmVudGl0eSlcIiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlKClcIiBjb2xvcj1cIndhcm5cIiBjbGFzcz1cImRlbGV0ZS1idXR0b25cIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIHt7ZGF0YS5lZGl0RGlhbG9nRGF0YS5kZWxldGVCdXR0b25MYWJlbH19XG4gICAgPC9idXR0b24+XG48L2gyPlxuXG48bWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxmb3JtICNmb3JtPVwibmdGb3JtXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPG5neC1tYXQtZW50aXR5LWlucHV0XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQga2V5IG9mIGVudGl0eUtleXNcIlxuICAgICAgICAgICAgW2VudGl0eV09XCJkYXRhLmVudGl0eVwiXG4gICAgICAgICAgICBbcHJvcGVydHlLZXldPVwia2V5XCJcbiAgICAgICAgICAgIFtoaWRlT21pdEZvckVkaXRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cImNvbC1sZy17e2dldFdpZHRoKGRhdGEuZW50aXR5LCBrZXksICdsZycpfX0gY29sLW1kLXt7Z2V0V2lkdGgoZGF0YS5lbnRpdHksIGtleSwgJ21kJyl9fSBjb2wtc20te3tnZXRXaWR0aChkYXRhLmVudGl0eSwga2V5LCAnc20nKX19XCJcbiAgICAgICAgPlxuICAgICAgICA8L25neC1tYXQtZW50aXR5LWlucHV0PlxuICAgIDwvZm9ybT5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImVkaXQoKVwiIFtkaXNhYmxlZF09XCIhRW50aXR5VXRpbGl0aWVzLmlzRW50aXR5VmFsaWQoZGF0YS5lbnRpdHksICd1cGRhdGUnKSB8fCAhRW50aXR5VXRpbGl0aWVzLmRpcnR5KGRhdGEuZW50aXR5LCBlbnRpdHlQcmlvckNoYW5nZXMpXCI+XG4gICAgICAgIHt7ZGF0YS5lZGl0RGlhbG9nRGF0YS5jb25maXJtQnV0dG9uTGFiZWx9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbCgpXCIgY2xhc3M9XCJjYW5jZWwtYnV0dG9uXCI+XG4gICAgICAgIHt7ZGF0YS5lZGl0RGlhbG9nRGF0YS5jYW5jZWxCdXR0b25MYWJlbH19XG4gICAgPC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { CreateDialogDataBuilder } from './create-dialog/create-dialog-data.builder';
|
|
2
|
+
import { EditDialogDataBuilder } from './edit-dialog/edit-dialog-data.builder';
|
|
3
|
+
export class TableDataInternal {
|
|
4
|
+
constructor(baseData, createDialogData, editDialogData) {
|
|
5
|
+
this.baseData = baseData;
|
|
6
|
+
this.createDialogData = createDialogData;
|
|
7
|
+
this.editDialogData = editDialogData;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export class BaseDataBuilder {
|
|
11
|
+
constructor(data) {
|
|
12
|
+
//this.validateInput(data);
|
|
13
|
+
this.dataInput = data;
|
|
14
|
+
this.baseData = new BaseDataInternal(data.title, data.displayColumns, data.EntityServiceClass, data.searchLabel ? data.searchLabel : 'Search', data.createButtonLabel ? data.createButtonLabel : 'Create', data.searchString ? data.searchString : defaultSearchFunction, data.allowCreate ? data.allowCreate : true, data.allowEdit ? data.allowEdit : () => true, data.allowDelete ? data.allowDelete : () => true, data.multiSelectActions ? data.multiSelectActions : [], data.multiSelectLabel ? data.multiSelectLabel : 'Actions', data.EntityClass, data.edit, data.create);
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class BaseDataInternal {
|
|
19
|
+
constructor(title, displayColumns, EntityServiceClass, searchLabel, createButtonLabel, searchString, allowCreate, allowEdit, allowDelete, multiSelectActions, multiSelectLabel, EntityClass, edit, create) {
|
|
20
|
+
this.title = title;
|
|
21
|
+
this.displayColumns = displayColumns;
|
|
22
|
+
this.EntityServiceClass = EntityServiceClass;
|
|
23
|
+
this.EntityClass = EntityClass;
|
|
24
|
+
this.searchLabel = searchLabel;
|
|
25
|
+
this.createButtonLabel = createButtonLabel;
|
|
26
|
+
this.searchString = searchString;
|
|
27
|
+
this.allowCreate = allowCreate;
|
|
28
|
+
this.allowEdit = allowEdit;
|
|
29
|
+
this.allowDelete = allowDelete;
|
|
30
|
+
this.multiSelectActions = multiSelectActions;
|
|
31
|
+
this.multiSelectLabel = multiSelectLabel;
|
|
32
|
+
this.edit = edit;
|
|
33
|
+
this.create = create;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export class TableDataBuilder {
|
|
37
|
+
constructor(data) {
|
|
38
|
+
this.validateInput(data);
|
|
39
|
+
this.dataInput = data;
|
|
40
|
+
const createDialogData = new CreateDialogDataBuilder(data.createDialogData).createDialogData;
|
|
41
|
+
const editDialogData = new EditDialogDataBuilder(data.editDialogData).editDialogData;
|
|
42
|
+
const baseData = new BaseDataBuilder(data.baseData).baseData;
|
|
43
|
+
this.tableData = new TableDataInternal(baseData, createDialogData, editDialogData);
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
validateInput(data) {
|
|
47
|
+
if (data.baseData.multiSelectActions?.length && data.baseData.displayColumns.find(dp => dp.displayName === 'select')) {
|
|
48
|
+
throw new Error(`The name "select" for a display column is reserved for the multi-select action functionality.
|
|
49
|
+
Please choose a different name.`);
|
|
50
|
+
}
|
|
51
|
+
if ((data.baseData.allowEdit && data.baseData.allowEdit !== (() => false)
|
|
52
|
+
|| data.baseData.allowDelete && data.baseData.allowDelete !== (() => false)
|
|
53
|
+
|| data.baseData.allowCreate)
|
|
54
|
+
&& !data.baseData.EntityClass) {
|
|
55
|
+
throw new Error(`
|
|
56
|
+
Missing required Input data "EntityClass".
|
|
57
|
+
You can only omit this value if you can neither create or update entities.`);
|
|
58
|
+
}
|
|
59
|
+
if (data.baseData.allowCreate !== false && !data.baseData.create && !data.createDialogData) {
|
|
60
|
+
throw new Error(`Missing required Input data "createDialogData".
|
|
61
|
+
You can only omit this value when creation is disallowed or done with a custom create method.`);
|
|
62
|
+
}
|
|
63
|
+
if ((data.baseData.allowEdit !== (() => false)
|
|
64
|
+
|| data.baseData.allowDelete !== (() => false))
|
|
65
|
+
&& !data.baseData.edit
|
|
66
|
+
&& !data.editDialogData) {
|
|
67
|
+
throw new Error(`Missing required Input data "editDialogData".
|
|
68
|
+
You can only omit this value when editing and deleting is disallowed or done with a custom edit method.`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The default search function taken from googles mat table.
|
|
74
|
+
* This will be used if no custom search function is provided by the configuration.
|
|
75
|
+
*
|
|
76
|
+
* It generates a string from an entity which is then used to compare it to the search input.
|
|
77
|
+
*
|
|
78
|
+
* @param entity - An entity that is in the search.
|
|
79
|
+
* @returns The generated string of the given entity used for comparison with the search input.
|
|
80
|
+
*/
|
|
81
|
+
function defaultSearchFunction(entity) {
|
|
82
|
+
const searchString = Object.keys(entity)
|
|
83
|
+
.reduce((currentTerm, key) => {
|
|
84
|
+
return `${currentTerm}${entity[key]}◬`;
|
|
85
|
+
}, '')
|
|
86
|
+
.toLowerCase();
|
|
87
|
+
return searchString;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YS5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy90YWJsZS90YWJsZS1kYXRhLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHVCQUF1QixFQUE0QixNQUFNLDRDQUE0QyxDQUFDO0FBQy9HLE9BQU8sRUFBRSxxQkFBcUIsRUFBMEIsTUFBTSx3Q0FBd0MsQ0FBQztBQUl2RyxNQUFNLE9BQU8saUJBQWlCO0lBSzFCLFlBQ0ksUUFBc0MsRUFDdEMsZ0JBQTBDLEVBQzFDLGNBQWtEO1FBRWxELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN6QyxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sZUFBZTtJQUl4QixZQUFZLElBQTBCO1FBQ2xDLDJCQUEyQjtRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZ0JBQWdCLENBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLGtCQUFrQixFQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQzlDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQzFELElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixFQUM3RCxJQUFJLENBQUMsV0FBVyxDQUFD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RSxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQTRDLENBQUM7U0FDekUsTUFBTSxDQUFDLENBQUMsV0FBbUIsRUFBRSxHQUFXLEVBQUUsRUFBRTtRQUN6QyxPQUFPLEdBQUcsV0FBVyxHQUFJLE1BQTZDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztJQUNuRixDQUFDLEVBQUUsRUFBRSxDQUFDO1NBQ0wsV0FBVyxFQUFFLENBQUM7SUFDbkIsT0FBTyxZQUFZLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2VudGl0eS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW50aXR5LW1vZGVsLmNsYXNzJztcbmltcG9ydCB7IENyZWF0ZURpYWxvZ0RhdGFCdWlsZGVyLCBDcmVhdGVEaWFsb2dEYXRhSW50ZXJuYWwgfSBmcm9tICcuL2NyZWF0ZS1kaWFsb2cvY3JlYXRlLWRpYWxvZy1kYXRhLmJ1aWxkZXInO1xuaW1wb3J0IHsgRWRpdERpYWxvZ0RhdGFCdWlsZGVyLCBFZGl0RGlhbG9nRGF0YUludGVybmFsIH0gZnJvbSAnLi9lZGl0LWRpYWxvZy9lZGl0LWRpYWxvZy1kYXRhLmJ1aWxkZXInO1xuaW1wb3J0IHsgQmFzZURhdGEsIERpc3BsYXlDb2x1bW4sIE11bHRpU2VsZWN0QWN0aW9uLCBUYWJsZURhdGEgfSBmcm9tICcuL3RhYmxlLWRhdGEnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuZXhwb3J0IGNsYXNzIFRhYmxlRGF0YUludGVybmFsPEVudGl0eVR5cGUgZXh0ZW5kcyBFbnRpdHk+IGltcGxlbWVudHMgVGFibGVEYXRhPEVudGl0eVR5cGU+IHtcbiAgICBiYXNlRGF0YTogQmFzZURhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPjtcbiAgICBjcmVhdGVEaWFsb2dEYXRhOiBDcmVhdGVEaWFsb2dEYXRhSW50ZXJuYWw7XG4gICAgZWRpdERpYWxvZ0RhdGE6IEVkaXREaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgYmFzZURhdGE6IEJhc2VEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT4sXG4gICAgICAgIGNyZWF0ZURpYWxvZ0RhdGE6IENyZWF0ZURpYWxvZ0RhdGFJbnRlcm5hbCxcbiAgICAgICAgZWRpdERpYWxvZ0RhdGE6IEVkaXREaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT5cbiAgICApIHtcbiAgICAgICAgdGhpcy5iYXNlRGF0YSA9IGJhc2VEYXRhO1xuICAgICAgICB0aGlzLmNyZWF0ZURpYWxvZ0RhdGEgPSBjcmVhdGVEaWFsb2dEYXRhO1xuICAgICAgICB0aGlzLmVkaXREaWFsb2dEYXRhID0gZWRpdERpYWxvZ0RhdGE7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQmFzZURhdGFCdWlsZGVyPEVudGl0eVR5cGUgZXh0ZW5kcyBFbnRpdHk+IHtcbiAgICBiYXNlRGF0YTogQmFzZURhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGFJbnB1dDogQmFzZURhdGE8RW50aXR5VHlwZT47XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBCYXNlRGF0YTxFbnRpdHlUeXBlPikge1xuICAgICAgICAvL3RoaXMudmFsaWRhdGVJbnB1dChkYXRhKTtcbiAgICAgICAgdGhpcy5kYXRhSW5wdXQgPSBkYXRhO1xuICAgICAgICB0aGlzLmJhc2VEYXRhID0gbmV3IEJhc2VEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT4oXG4gICAgICAgICAgICBkYXRhLnRpdGxlLFxuICAgICAgICAgICAgZGF0YS5kaXNwbGF5Q29sdW1ucyxcbiAgICAgICAgICAgIGRhdGEuRW50aXR5U2VydmljZUNsYXNzLFxuICAgICAgICAgICAgZGF0YS5zZWFyY2hMYWJlbCA/IGRhdGEuc2VhcmNoTGFiZWwgOiAnU2VhcmNoJyxcbiAgICAgICAgICAgIGRhdGEuY3JlYXRlQnV0dG9uTGFiZWwgPyBkYXRhLmNyZWF0ZUJ1dHRvbkxhYmVsIDogJ0NyZWF0ZScsXG4gICAgICAgICAgICBkYXRhLnNlYXJjaFN0cmluZyA/IGRhdGEuc2VhcmNoU3RyaW5nIDogZGVmYXVsdFNlYXJjaEZ1bmN0aW9uLFxuICAgICAgICAgICAgZGF0YS5hbGxvd0NyZWF0ZSA/IGRhdGEuYWxsb3dDcmVhdGUgOiB0cnVlLFxuICAgICAgICAgICAgZGF0YS5hbGxvd0VkaXQgPyBkYXRhLmFsbG93RWRpdCA6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBkYXRhLmFsbG93RGVsZXRlID8gZGF0YS5hbGxvd0RlbGV0ZSA6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBkYXRhLm11bHRpU2VsZWN0QWN0aW9ucyA/IGRhdGEubXVsdGlTZWxlY3RBY3Rpb25zIDogW10sXG4gICAgICAgICAgICBkYXRhLm11bHRpU2VsZWN0TGFiZWwgPyBkYXRhLm11bHRpU2VsZWN0TGFiZWwgOiAnQWN0aW9ucycsXG4gICAgICAgICAgICBkYXRhLkVudGl0eUNsYXNzLFxuICAgICAgICAgICAgZGF0YS5lZGl0LFxuICAgICAgICAgICAgZGF0YS5jcmVhdGVcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQmFzZURhdGFJbnRlcm5hbDxFbnRpdHlUeXBlIGV4dGVuZHMgRW50aXR5PiBpbXBsZW1lbnRzIEJhc2VEYXRhPEVudGl0eVR5cGU+IHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRpc3BsYXlDb2x1bW5zOiBEaXNwbGF5Q29sdW1uPEVudGl0eVR5cGU+W107XG4gICAgRW50aXR5U2VydmljZUNsYXNzOiBuZXcgKGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpID0+IEVudGl0eVNlcnZpY2U8RW50aXR5VHlwZT47XG4gICAgc2VhcmNoTGFiZWw6IHN0cmluZztcbiAgICBjcmVhdGVCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIHNlYXJjaFN0cmluZzogKGVuaXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmc7XG4gICAgYWxsb3dDcmVhdGU6IGJvb2xlYW47XG4gICAgYWxsb3dFZGl0OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBib29sZWFuO1xuICAgIGFsbG93RGVsZXRlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBib29sZWFuO1xuICAgIG11bHRpU2VsZWN0QWN0aW9uczogTXVsdGlTZWxlY3RBY3Rpb248RW50aXR5VHlwZT5bXTtcbiAgICBtdWx0aVNlbGVjdExhYmVsOiBzdHJpbmdcblxuICAgIEVudGl0eUNsYXNzPzogbmV3IChlbnRpdHk/OiBFbnRpdHlUeXBlKSA9PiBFbnRpdHlUeXBlO1xuICAgIGVkaXQ/OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiB1bmtub3duO1xuICAgIGNyZWF0ZT86IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IHVua25vd247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgdGl0bGU6IHN0cmluZyxcbiAgICAgICAgZGlzcGxheUNvbHVtbnM6IERpc3BsYXlDb2x1bW48RW50aXR5VHlwZT5bXSxcbiAgICAgICAgRW50aXR5U2VydmljZUNsYXNzOiBuZXcgKGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpID0+IEVudGl0eVNlcnZpY2U8RW50aXR5VHlwZT4sXG4gICAgICAgIHNlYXJjaExhYmVsOiBzdHJpbmcsXG4gICAgICAgIGNyZWF0ZUJ1dHRvbkxhYmVsOiBzdHJpbmcsXG4gICAgICAgIHNlYXJjaFN0cmluZzogKGVuaXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmcsXG4gICAgICAgIGFsbG93Q3JlYXRlOiBib29sZWFuLFxuICAgICAgICBhbGxvd0VkaXQ6IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IGJvb2xlYW4sXG4gICAgICAgIGFsbG93RGVsZXRlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBib29sZWFuLFxuICAgICAgICBtdWx0aVNlbGVjdEFjdGlvbnM6IE11bHRpU2VsZWN0QWN0aW9uPEVudGl0eVR5cGU+W10sXG4gICAgICAgIG11bHRpU2VsZWN0TGFiZWw6IHN0cmluZyxcblxuICAgICAgICBFbnRpdHlDbGFzcz86IG5ldyAoZW50aXR5PzogRW50aXR5VHlwZSkgPT4gRW50aXR5VHlwZSxcbiAgICAgICAgZWRpdD86IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IHVua25vd24sXG4gICAgICAgIGNyZWF0ZT86IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IHVua25vd24sXG4gICAgKSB7XG4gICAgICAgIHRoaXMudGl0bGUgPSB0aXRsZTtcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29sdW1ucyA9IGRpc3BsYXlDb2x1bW5zO1xuICAgICAgICB0aGlzLkVudGl0eVNlcnZpY2VDbGFzcyA9IEVudGl0eVNlcnZpY2VDbGFzcztcbiAgICAgICAgdGhpcy5FbnRpdHlDbGFzcyA9IEVudGl0eUNsYXNzO1xuICAgICAgICB0aGlzLnNlYXJjaExhYmVsID0gc2VhcmNoTGFiZWw7XG4gICAgICAgIHRoaXMuY3JlYXRlQnV0dG9uTGFiZWwgPSBjcmVhdGVCdXR0b25MYWJlbDtcbiAgICAgICAgdGhpcy5zZWFyY2hTdHJpbmcgPSBzZWFyY2hTdHJpbmc7XG4gICAgICAgIHRoaXMuYWxsb3dDcmVhdGUgPSBhbGxvd0NyZWF0ZTtcbiAgICAgICAgdGhpcy5hbGxvd0VkaXQgPSBhbGxvd0VkaXQ7XG4gICAgICAgIHRoaXMuYWxsb3dEZWxldGUgPSBhbGxvd0RlbGV0ZTtcbiAgICAgICAgdGhpcy5tdWx0aVNlbGVjdEFjdGlvbnMgPSBtdWx0aVNlbGVjdEFjdGlvbnM7XG4gICAgICAgIHRoaXMubXVsdGlTZWxlY3RMYWJlbCA9IG11bHRpU2VsZWN0TGFiZWw7XG4gICAgICAgIHRoaXMuZWRpdCA9IGVkaXQ7XG4gICAgICAgIHRoaXMuY3JlYXRlID0gY3JlYXRlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRhYmxlRGF0YUJ1aWxkZXI8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4ge1xuICAgIHRhYmxlRGF0YTogVGFibGVEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT47XG4gICAgcHJpdmF0ZSByZWFkb25seSBkYXRhSW5wdXQ6IFRhYmxlRGF0YTxFbnRpdHlUeXBlPjtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFRhYmxlRGF0YTxFbnRpdHlUeXBlPikge1xuICAgICAgICB0aGlzLnZhbGlkYXRlSW5wdXQoZGF0YSk7XG4gICAgICAgIHRoaXMuZGF0YUlucHV0ID0gZGF0YTtcbiAgICAgICAgY29uc3QgY3JlYXRlRGlhbG9nRGF0YTogQ3JlYXRlRGlhbG9nRGF0YUludGVybmFsID0gbmV3IENyZWF0ZURpYWxvZ0RhdGFCdWlsZGVyKGRhdGEuY3JlYXRlRGlhbG9nRGF0YSkuY3JlYXRlRGlhbG9nRGF0YTtcbiAgICAgICAgY29uc3QgZWRpdERpYWxvZ0RhdGE6IEVkaXREaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT4gPSBuZXcgRWRpdERpYWxvZ0RhdGFCdWlsZGVyKGRhdGEuZWRpdERpYWxvZ0RhdGEpLmVkaXREaWFsb2dEYXRhO1xuICAgICAgICBjb25zdCBiYXNlRGF0YTogQmFzZURhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPiA9IG5ldyBCYXNlRGF0YUJ1aWxkZXIoZGF0YS5iYXNlRGF0YSkuYmFzZURhdGE7XG4gICAgICAgIHRoaXMudGFibGVEYXRhID0gbmV3IFRhYmxlRGF0YUludGVybmFsPEVudGl0eVR5cGU+KFxuICAgICAgICAgICAgYmFzZURhdGEsXG4gICAgICAgICAgICBjcmVhdGVEaWFsb2dEYXRhLFxuICAgICAgICAgICAgZWRpdERpYWxvZ0RhdGFcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUlucHV0KGRhdGE6IFRhYmxlRGF0YTxFbnRpdHlUeXBlPik6IHZvaWQge1xuICAgICAgICBpZiAoZGF0YS5iYXNlRGF0YS5tdWx0aVNlbGVjdEFjdGlvbnM/Lmxlbmd0aCAmJiBkYXRhLmJhc2VEYXRhLmRpc3BsYXlDb2x1bW5zLmZpbmQoZHAgPT4gZHAuZGlzcGxheU5hbWUgPT09ICdzZWxlY3QnKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBUaGUgbmFtZSBcInNlbGVjdFwiIGZvciBhIGRpc3BsYXkgY29sdW1uIGlzIHJlc2VydmVkIGZvciB0aGUgbXVsdGktc2VsZWN0IGFjdGlvbiBmdW5jdGlvbmFsaXR5LlxuICAgICAgICAgICAgICAgIFBsZWFzZSBjaG9vc2UgYSBkaWZmZXJlbnQgbmFtZS5gXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICBkYXRhLmJhc2VEYXRhLmFsbG93RWRpdCAmJiBkYXRhLmJhc2VEYXRhLmFsbG93RWRpdCAhPT0gKCgpID0+IGZhbHNlKVxuICAgICAgICAgICAgICAgIHx8IGRhdGEuYmFzZURhdGEuYWxsb3dEZWxldGUgJiYgZGF0YS5iYXNlRGF0YS5hbGxvd0RlbGV0ZSAhPT0gKCgpID0+IGZhbHNlKVxuICAgICAgICAgICAgICAgIHx8IGRhdGEuYmFzZURhdGEuYWxsb3dDcmVhdGVcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICYmICFkYXRhLmJhc2VEYXRhLkVudGl0eUNsYXNzXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcbiAgICAgICAgICAgICAgICBNaXNzaW5nIHJlcXVpcmVkIElucHV0IGRhdGEgXCJFbnRpdHlDbGFzc1wiLlxuICAgICAgICAgICAgICAgIFlvdSBjYW4gb25seSBvbWl0IHRoaXMgdmFsdWUgaWYgeW91IGNhbiBuZWl0aGVyIGNyZWF0ZSBvciB1cGRhdGUgZW50aXRpZXMuYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YS5iYXNlRGF0YS5hbGxvd0NyZWF0ZSAhPT0gZmFsc2UgJiYgIWRhdGEuYmFzZURhdGEuY3JlYXRlICYmICFkYXRhLmNyZWF0ZURpYWxvZ0RhdGEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICBgTWlzc2luZyByZXF1aXJlZCBJbnB1dCBkYXRhIFwiY3JlYXRlRGlhbG9nRGF0YVwiLlxuICAgICAgICAgICAgICAgIFlvdSBjYW4gb25seSBvbWl0IHRoaXMgdmFsdWUgd2hlbiBjcmVhdGlvbiBpcyBkaXNhbGxvd2VkIG9yIGRvbmUgd2l0aCBhIGN1c3RvbSBjcmVhdGUgbWV0aG9kLmBcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgIGRhdGEuYmFzZURhdGEuYWxsb3dFZGl0ICE9PSAoKCkgPT4gZmFsc2UpXG4gICAgICAgICAgICAgICAgfHwgZGF0YS5iYXNlRGF0YS5hbGxvd0RlbGV0ZSAhPT0gKCgpID0+IGZhbHNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgJiYgIWRhdGEuYmFzZURhdGEuZWRpdFxuICAgICAgICAgICAgJiYgIWRhdGEuZWRpdERpYWxvZ0RhdGFcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgYE1pc3NpbmcgcmVxdWlyZWQgSW5wdXQgZGF0YSBcImVkaXREaWFsb2dEYXRhXCIuXG4gICAgICAgICAgICAgICAgWW91IGNhbiBvbmx5IG9taXQgdGhpcyB2YWx1ZSB3aGVuIGVkaXRpbmcgYW5kIGRlbGV0aW5nIGlzIGRpc2FsbG93ZWQgb3IgZG9uZSB3aXRoIGEgY3VzdG9tIGVkaXQgbWV0aG9kLmBcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VhcmNoIGZ1bmN0aW9uIHRha2VuIGZyb20gZ29vZ2xlcyBtYXQgdGFibGUuXG4gKiBUaGlzIHdpbGwgYmUgdXNlZCBpZiBubyBjdXN0b20gc2VhcmNoIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIGJ5IHRoZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIEl0IGdlbmVyYXRlcyBhIHN0cmluZyBmcm9tIGFuIGVudGl0eSB3aGljaCBpcyB0aGVuIHVzZWQgdG8gY29tcGFyZSBpdCB0byB0aGUgc2VhcmNoIGlucHV0LlxuICpcbiAqIEBwYXJhbSBlbnRpdHkgLSBBbiBlbnRpdHkgdGhhdCBpcyBpbiB0aGUgc2VhcmNoLlxuICogQHJldHVybnMgVGhlIGdlbmVyYXRlZCBzdHJpbmcgb2YgdGhlIGdpdmVuIGVudGl0eSB1c2VkIGZvciBjb21wYXJpc29uIHdpdGggdGhlIHNlYXJjaCBpbnB1dC5cbiAqL1xuZnVuY3Rpb24gZGVmYXVsdFNlYXJjaEZ1bmN0aW9uPEVudGl0eVR5cGUgZXh0ZW5kcyBFbnRpdHk+KGVudGl0eTogRW50aXR5VHlwZSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VhcmNoU3RyaW5nID0gT2JqZWN0LmtleXMoZW50aXR5IGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pXG4gICAgICAgIC5yZWR1Y2UoKGN1cnJlbnRUZXJtOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCR7Y3VycmVudFRlcm19JHsoZW50aXR5IGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW2tleV194pesYDtcbiAgICAgICAgfSwgJycpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpO1xuICAgIHJldHVybiBzZWFyY2hTdHJpbmc7XG59Il19
|