ngx-material-entity 16.0.7 → 16.0.8
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/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.d.ts +10 -5
- package/components/input/array/array-string-chips-input/array-string-chips-input.component.d.ts +4 -2
- package/components/input/input.component.d.ts +28 -8
- package/components/input/number/number-dropdown-input/number-dropdown-input.component.d.ts +12 -2
- package/components/input/relations/references-many-input/references-many-input.component.d.ts +10 -2
- package/components/input/string/string-autocomplete-input/string-autocomplete-input.component.d.ts +4 -2
- package/components/input/string/string-dropdown-input/string-dropdown-input.component.d.ts +12 -2
- package/components/input/string/string-password-input/string-password-input.component.d.ts +12 -0
- package/components/table/create-dialog/create-entity-dialog.component.d.ts +1 -1
- package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +1 -1
- package/components/table/table-data.builder.d.ts +2 -1
- package/components/table/table-data.d.ts +10 -0
- package/decorators/array/array-decorator-internal.data.d.ts +2 -1
- package/decorators/array/array-decorator.data.d.ts +3 -1
- package/decorators/string/string-decorator-internal.data.d.ts +3 -1
- package/decorators/string/string-decorator.data.d.ts +7 -1
- package/directives/dynamic-style-class.directive.d.ts +25 -0
- package/directives/included-in.directive.d.ts +1 -1
- package/esm2022/components/create-page/create-page.component.mjs +8 -5
- package/esm2022/components/edit-page/edit-page.component.mjs +8 -5
- package/esm2022/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +28 -15
- package/esm2022/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +14 -19
- package/esm2022/components/input/base-input.component.mjs +7 -2
- package/esm2022/components/input/input.component.mjs +73 -27
- package/esm2022/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +36 -8
- package/esm2022/components/input/relations/references-many-input/references-many-input.component.mjs +29 -5
- package/esm2022/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +17 -10
- package/esm2022/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +36 -8
- package/esm2022/components/input/string/string-password-input/string-password-input.component.mjs +57 -3
- package/esm2022/components/table/create-dialog/create-entity-dialog.component.mjs +4 -4
- package/esm2022/components/table/edit-dialog/edit-entity-dialog.component.mjs +9 -5
- package/esm2022/components/table/table-data.builder.mjs +5 -1
- package/esm2022/components/table/table-data.mjs +1 -1
- package/esm2022/components/table/table.component.mjs +6 -4
- package/esm2022/decorators/array/array-decorator-internal.data.mjs +11 -3
- package/esm2022/decorators/array/array-decorator.data.mjs +1 -1
- package/esm2022/decorators/string/string-decorator-internal.data.mjs +14 -3
- package/esm2022/decorators/string/string-decorator.data.mjs +1 -1
- package/esm2022/directives/dynamic-style-class.directive.mjs +51 -0
- package/esm2022/directives/included-in.directive.mjs +2 -3
- package/esm2022/encapsulation/reflect.utilities.mjs +6 -2
- package/esm2022/functions/default-style-classes.function.mjs +7 -0
- package/esm2022/public-api.mjs +6 -1
- package/esm2022/services/entity.service.mjs +3 -1
- package/esm2022/utilities/entity.utilities.mjs +37 -33
- package/esm2022/utilities/validation.utilities.mjs +46 -12
- package/fesm2022/ngx-material-entity.mjs +485 -158
- package/fesm2022/ngx-material-entity.mjs.map +1 -1
- package/functions/default-style-classes.function.d.ts +6 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
- package/utilities/entity.utilities.d.ts +4 -3
- package/utilities/validation.utilities.d.ts +7 -3
|
@@ -21,10 +21,15 @@ export class ArrayStringChipsInputComponent extends NgxMatEntityBaseInputCompone
|
|
|
21
21
|
* it contains values, we can set it to undefined when the last element is removed
|
|
22
22
|
* (removeStringChipArrayValue). That way we can use the "required" validator.
|
|
23
23
|
* @param event - The event that fires when a new chip is completed.
|
|
24
|
+
* @param invalid - Whether or not the input is invalid.
|
|
24
25
|
*/
|
|
25
|
-
addStringChipArrayValue(event) {
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
addStringChipArrayValue(event, invalid) {
|
|
27
|
+
if (invalid || !event.value) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const value = event.value.trim();
|
|
31
|
+
this.propertyValue = this.propertyValue ?? [];
|
|
32
|
+
this.propertyValue.push(value);
|
|
28
33
|
event.chipInput?.clear();
|
|
29
34
|
this.chipsInput = '';
|
|
30
35
|
this.emitChange();
|
|
@@ -43,26 +48,16 @@ export class ArrayStringChipsInputComponent extends NgxMatEntityBaseInputCompone
|
|
|
43
48
|
this.propertyValue = this.propertyValue?.length ? this.propertyValue : undefined;
|
|
44
49
|
this.emitChange();
|
|
45
50
|
}
|
|
46
|
-
|
|
47
|
-
if (
|
|
48
|
-
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
if (this.metadata.maxLength && value.length > this.metadata.maxLength) {
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
if (this.metadata.regex && !value.match(this.metadata.regex)) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
this.propertyValue = this.propertyValue ?? [];
|
|
58
|
-
this.propertyValue.push(value);
|
|
51
|
+
setValidationErrors(model, chipsModel) {
|
|
52
|
+
if (chipsModel.errors) {
|
|
53
|
+
model.control.setErrors(chipsModel.errors);
|
|
59
54
|
}
|
|
60
55
|
}
|
|
61
56
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ArrayStringChipsInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: ArrayStringChipsInputComponent, selector: "array-string-chips-input", usesInheritance: true, ngImport: i0, template: "<!-- eslint-disable angular/no-call-expression -->\n<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <mat-chip-grid #chipGrid\n #model=\"ngModel\" [name]=\"name\" [required]=\"metadata.required(entity)\"\n [disabled]=\"isReadOnly\"\n [(ngModel)]=\"propertyValue\"\n >\n <mat-chip-row *ngFor=\"let value of propertyValue\" (removed)=\"removeStringChipArrayValue(value)\">\n {{value}}\n <button type=\"button\" matChipRemove>\n <i [class]=\"metadata.deleteIcon\"></i>\n </button>\n </mat-chip-row>\n <input #chipsModel=\"ngModel\"\n matInput\n [matChipInputFor]=\"chipGrid\"\n [matChipInputAddOnBlur]=\"true\"\n [name]=\"uuid2\"
|
|
57
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: ArrayStringChipsInputComponent, selector: "array-string-chips-input", usesInheritance: true, ngImport: i0, template: "<!-- eslint-disable angular/no-call-expression -->\n<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <mat-chip-grid #chipGrid\n #model=\"ngModel\" [name]=\"name\" [required]=\"metadata.required(entity)\"\n [disabled]=\"isReadOnly\"\n [(ngModel)]=\"propertyValue\"\n (ngModelChange)=\"setValidationErrors(model, chipsModel)\"\n >\n <mat-chip-row *ngFor=\"let value of propertyValue\" (removed)=\"removeStringChipArrayValue(value)\">\n {{value}}\n <button type=\"button\" matChipRemove>\n <i [class]=\"metadata.deleteIcon\"></i>\n </button>\n </mat-chip-row>\n <input #chipsModel=\"ngModel\"\n matInput\n [matChipInputFor]=\"chipGrid\"\n [matChipInputAddOnBlur]=\"true\"\n [name]=\"uuid2\"\n [minlength]=\"metadata.minLength ?? null\"\n [maxlength]=\"metadata.maxLength ?? null\"\n [pattern]=\"metadata.regex ?? '[\\\\s\\\\S]*'\"\n [(ngModel)]=\"chipsInput\"\n (matChipInputTokenEnd)=\"addStringChipArrayValue($event, !!chipsModel.errors)\"\n />\n </mat-chip-grid>\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i3.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i3.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i3.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "editable"], outputs: ["edited"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] });
|
|
63
58
|
}
|
|
64
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ArrayStringChipsInputComponent, decorators: [{
|
|
65
60
|
type: Component,
|
|
66
|
-
args: [{ selector: 'array-string-chips-input', template: "<!-- eslint-disable angular/no-call-expression -->\n<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <mat-chip-grid #chipGrid\n #model=\"ngModel\" [name]=\"name\" [required]=\"metadata.required(entity)\"\n [disabled]=\"isReadOnly\"\n [(ngModel)]=\"propertyValue\"\n >\n <mat-chip-row *ngFor=\"let value of propertyValue\" (removed)=\"removeStringChipArrayValue(value)\">\n {{value}}\n <button type=\"button\" matChipRemove>\n <i [class]=\"metadata.deleteIcon\"></i>\n </button>\n </mat-chip-row>\n <input #chipsModel=\"ngModel\"\n matInput\n [matChipInputFor]=\"chipGrid\"\n [matChipInputAddOnBlur]=\"true\"\n [name]=\"uuid2\"
|
|
61
|
+
args: [{ selector: 'array-string-chips-input', template: "<!-- eslint-disable angular/no-call-expression -->\n<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <mat-chip-grid #chipGrid\n #model=\"ngModel\" [name]=\"name\" [required]=\"metadata.required(entity)\"\n [disabled]=\"isReadOnly\"\n [(ngModel)]=\"propertyValue\"\n (ngModelChange)=\"setValidationErrors(model, chipsModel)\"\n >\n <mat-chip-row *ngFor=\"let value of propertyValue\" (removed)=\"removeStringChipArrayValue(value)\">\n {{value}}\n <button type=\"button\" matChipRemove>\n <i [class]=\"metadata.deleteIcon\"></i>\n </button>\n </mat-chip-row>\n <input #chipsModel=\"ngModel\"\n matInput\n [matChipInputFor]=\"chipGrid\"\n [matChipInputAddOnBlur]=\"true\"\n [name]=\"uuid2\"\n [minlength]=\"metadata.minLength ?? null\"\n [maxlength]=\"metadata.maxLength ?? null\"\n [pattern]=\"metadata.regex ?? '[\\\\s\\\\S]*'\"\n [(ngModel)]=\"chipsInput\"\n (matChipInputTokenEnd)=\"addStringChipArrayValue($event, !!chipsModel.errors)\"\n />\n </mat-chip-grid>\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"] }]
|
|
67
62
|
}] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktc3RyaW5nLWNoaXBzLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvaW5wdXQvYXJyYXkvYXJyYXktc3RyaW5nLWNoaXBzLWlucHV0L2FycmF5LXN0cmluZy1jaGlwcy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL2lucHV0L2FycmF5L2FycmF5LXN0cmluZy1jaGlwcy1pbnB1dC9hcnJheS1zdHJpbmctY2hpcHMtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0NBQXdDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFLbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBRTVFLCtEQUErRDtBQU0vRCxNQUFNLE9BQU8sOEJBQ1QsU0FBUSw4QkFBdUY7SUFFL0YsS0FBSyxHQUFXLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QyxVQUFVLEdBQVcsRUFBRSxDQUFDO0lBRXhCOzs7Ozs7Ozs7O09BVUc7SUFDSCx1QkFBdUIsQ0FBQyxLQUF3QixFQUFFLE9BQWdCO1FBQzlELElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUN6QixPQUFPO1NBQ1Y7UUFFRCxNQUFNLEtBQUssR0FBVyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVyQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsMEJBQTBCLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFakYsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFjLEVBQUUsVUFBbUI7UUFDbkQsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ25CLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM5QztJQUNMLENBQUM7dUdBcERRLDhCQUE4QjsyRkFBOUIsOEJBQThCLHVGQ2YzQyxtd0NBNEJpQjs7MkZEYkosOEJBQThCO2tCQUwxQyxTQUFTOytCQUNJLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGpzZG9jL3JlcXVpcmUtanNkb2MgKi9cbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Q2hpcElucHV0RXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBCYXNlRW50aXR5VHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IERlY29yYXRvclR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGVjb3JhdG9ycy9iYXNlL2RlY29yYXRvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IFVVSURVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9lbmNhcHN1bGF0aW9uL3V1aWQudXRpbGl0aWVzJztcbmltcG9ydCB7IE5neE1hdEVudGl0eUJhc2VJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtaW5wdXQuY29tcG9uZW50JztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGFuZ3VsYXIvcHJlZmVyLXN0YW5kYWxvbmUtY29tcG9uZW50XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FycmF5LXN0cmluZy1jaGlwcy1pbnB1dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FycmF5LXN0cmluZy1jaGlwcy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYXJyYXktc3RyaW5nLWNoaXBzLWlucHV0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXJyYXlTdHJpbmdDaGlwc0lucHV0Q29tcG9uZW50PEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj5cbiAgICBleHRlbmRzIE5neE1hdEVudGl0eUJhc2VJbnB1dENvbXBvbmVudDxFbnRpdHlUeXBlLCBEZWNvcmF0b3JUeXBlcy5BUlJBWV9TVFJJTkdfQ0hJUFMsIHN0cmluZ1tdPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICB1dWlkMjogc3RyaW5nID0gVVVJRFV0aWxpdGllcy5jcmVhdGUoKTtcbiAgICBjaGlwc0lucHV0OiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEhhbmRsZXMgYWRkaW5nIHN0cmluZ3MgdG8gdGhlIGNoaXBzQXJyYXkuXG4gICAgICogQ2hlY2tzIHZhbGlkYXRpb24gYW5kIGFsc28gY3JlYXRlcyBhIG5ldyBhcnJheSBpZiBpdCBpcyB1bmRlZmluZWQuXG4gICAgICogVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSB0d28gdGhpbmdzIGFyZSB2YWxpZGF0ZWQ6IFRoZSBhcnJheSBpdHNlbGZcbiAgICAgKiBhbmQgdGhlIGNvbnRlbnRzIG9mIHRoZSBhcnJheS4gQW5kIHdlIG5lZWQgYSB3YXkgdG8gZGlzcGxheSBhblxuICAgICAqIG1hdC1lcnJvci4gQXMgdGhlIG9ubHkgdmFsaWRhdGlvbiBmb3IgdGhlIGFycmF5IGlzIHdoZXRoZXIgb3Igbm90XG4gICAgICogaXQgY29udGFpbnMgdmFsdWVzLCB3ZSBjYW4gc2V0IGl0IHRvIHVuZGVmaW5lZCB3aGVuIHRoZSBsYXN0IGVsZW1lbnQgaXMgcmVtb3ZlZFxuICAgICAqIChyZW1vdmVTdHJpbmdDaGlwQXJyYXlWYWx1ZSkuIFRoYXQgd2F5IHdlIGNhbiB1c2UgdGhlIFwicmVxdWlyZWRcIiB2YWxpZGF0b3IuXG4gICAgICogQHBhcmFtIGV2ZW50IC0gVGhlIGV2ZW50IHRoYXQgZmlyZXMgd2hlbiBhIG5ldyBjaGlwIGlzIGNvbXBsZXRlZC5cbiAgICAgKiBAcGFyYW0gaW52YWxpZCAtIFdoZXRoZXIgb3Igbm90IHRoZSBpbnB1dCBpcyBpbnZhbGlkLlxuICAgICAqL1xuICAgIGFkZFN0cmluZ0NoaXBBcnJheVZhbHVlKGV2ZW50OiBNYXRDaGlwSW5wdXRFdmVudCwgaW52YWxpZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoaW52YWxpZCB8fCAhZXZlbnQudmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSBldmVudC52YWx1ZS50cmltKCk7XG4gICAgICAgIHRoaXMucHJvcGVydHlWYWx1ZSA9IHRoaXMucHJvcGVydHlWYWx1ZSA/PyBbXTtcbiAgICAgICAgdGhpcy5wcm9wZXJ0eVZhbHVlLnB1c2godmFsdWUpO1xuXG4gICAgICAgIGV2ZW50LmNoaXBJbnB1dD8uY2xlYXIoKTtcbiAgICAgICAgdGhpcy5jaGlwc0lucHV0ID0gJyc7XG5cbiAgICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyB0aGUgZ2l2ZW4gdmFsdWUgZnJvbSB0aGUgYXJyYXkuXG4gICAgICogU2V0cyB0aGUgYXJyYXkgdG8gdW5kZWZpbmVkIGlmIGl0IGlzIG5vdyBlbXB0eS5cbiAgICAgKiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHR3byB0aGluZ3MgYXJlIHZhbGlkYXRlZDogVGhlIGFycmF5IGl0c2VsZlxuICAgICAqIGFuZCB0aGUgY29udGVudHMgb2YgdGhlIGFycmF5LiBBbmQgd2UgbmVlZCBhIHdheSB0byBkaXNwbGF5IGFuXG4gICAgICogbWF0LWVycm9yLiBBcyB0aGUgb25seSB2YWxpZGF0aW9uIGZvciB0aGUgYXJyYXkgaXMgd2hldGhlciBvciBub3RcbiAgICAgKiBpdCBpcyBlbXB0eSwgc2V0dGluZyBpdCB0byB1bmRlZmluZWQgaGVyZSBlbmFibGVzIHVzIHRvIHVzZSB0aGUgXCJyZXF1aXJlZFwiIHZhbGlkYXRvci5cbiAgICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgc3RyaW5nIHRvIHJlbW92ZSBmcm9tIHRoZSBhcnJheS5cbiAgICAgKi9cbiAgICByZW1vdmVTdHJpbmdDaGlwQXJyYXlWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvcGVydHlWYWx1ZT8uc3BsaWNlKHRoaXMucHJvcGVydHlWYWx1ZS5pbmRleE9mKHZhbHVlKSwgMSk7XG4gICAgICAgIHRoaXMucHJvcGVydHlWYWx1ZSA9IHRoaXMucHJvcGVydHlWYWx1ZT8ubGVuZ3RoID8gdGhpcy5wcm9wZXJ0eVZhbHVlIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICAgIH1cblxuICAgIHNldFZhbGlkYXRpb25FcnJvcnMobW9kZWw6IE5nTW9kZWwsIGNoaXBzTW9kZWw6IE5nTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoaXBzTW9kZWwuZXJyb3JzKSB7XG4gICAgICAgICAgICBtb2RlbC5jb250cm9sLnNldEVycm9ycyhjaGlwc01vZGVsLmVycm9ycyk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiPCEtLSBlc2xpbnQtZGlzYWJsZSBhbmd1bGFyL25vLWNhbGwtZXhwcmVzc2lvbiAtLT5cbjxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7bWV0YWRhdGEuZGlzcGxheU5hbWV9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtY2hpcC1ncmlkICNjaGlwR3JpZFxuICAgICAgICAjbW9kZWw9XCJuZ01vZGVsXCIgW25hbWVdPVwibmFtZVwiIFtyZXF1aXJlZF09XCJtZXRhZGF0YS5yZXF1aXJlZChlbnRpdHkpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzUmVhZE9ubHlcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInByb3BlcnR5VmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRWYWxpZGF0aW9uRXJyb3JzKG1vZGVsLCBjaGlwc01vZGVsKVwiXG4gICAgPlxuICAgICAgICA8bWF0LWNoaXAtcm93ICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBwcm9wZXJ0eVZhbHVlXCIgKHJlbW92ZWQpPVwicmVtb3ZlU3RyaW5nQ2hpcEFycmF5VmFsdWUodmFsdWUpXCI+XG4gICAgICAgICAgICB7e3ZhbHVlfX1cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdENoaXBSZW1vdmU+XG4gICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIm1ldGFkYXRhLmRlbGV0ZUljb25cIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9tYXQtY2hpcC1yb3c+XG4gICAgICAgIDxpbnB1dCAjY2hpcHNNb2RlbD1cIm5nTW9kZWxcIlxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcEdyaWRcIlxuICAgICAgICAgICAgW21hdENoaXBJbnB1dEFkZE9uQmx1cl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtuYW1lXT1cInV1aWQyXCJcbiAgICAgICAgICAgIFttaW5sZW5ndGhdPVwibWV0YWRhdGEubWluTGVuZ3RoID8/IG51bGxcIlxuICAgICAgICAgICAgW21heGxlbmd0aF09XCJtZXRhZGF0YS5tYXhMZW5ndGggPz8gbnVsbFwiXG4gICAgICAgICAgICBbcGF0dGVybl09XCJtZXRhZGF0YS5yZWdleCA/PyAnW1xcXFxzXFxcXFNdKidcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjaGlwc0lucHV0XCJcbiAgICAgICAgICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJhZGRTdHJpbmdDaGlwQXJyYXlWYWx1ZSgkZXZlbnQsICEhY2hpcHNNb2RlbC5lcnJvcnMpXCJcbiAgICAgICAgLz5cbiAgICA8L21hdC1jaGlwLWdyaWQ+XG4gICAgPG1hdC1lcnJvcj57e2dldFZhbGlkYXRpb25FcnJvck1lc3NhZ2UobW9kZWwpfX08L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+Il19
|
|
@@ -61,7 +61,12 @@ export class NgxMatEntityBaseInputComponent {
|
|
|
61
61
|
*/
|
|
62
62
|
name;
|
|
63
63
|
ngOnInit() {
|
|
64
|
-
|
|
64
|
+
// eslint-disable-next-line max-len
|
|
65
|
+
const foundMetadata = EntityUtilities.getPropertyMetadata(this.entity, this.key);
|
|
66
|
+
if (!foundMetadata) {
|
|
67
|
+
throw new Error(`No metadata was found for the key "${String(this.key)}"`);
|
|
68
|
+
}
|
|
69
|
+
this.metadata = foundMetadata;
|
|
65
70
|
this.name = this.key.toString() + UUIDUtilities.create();
|
|
66
71
|
}
|
|
67
72
|
/**
|
|
@@ -90,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
|
90
95
|
}], inputChangeEvent: [{
|
|
91
96
|
type: Output
|
|
92
97
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL2lucHV0L2Jhc2UtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFFbkU7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCwrREFBK0Q7QUFLL0QsTUFBTSxPQUFnQiw4QkFBOEI7SUFNaEQ7O09BRUc7SUFFSCxNQUFNLENBQWM7SUFFcEI7O09BRUc7SUFFSCxHQUFHLENBQW9CO0lBRXZCOztPQUVHO0lBRUgseUJBQXlCLENBQThCO0lBRXZEOzs7T0FHRztJQUVILFVBQVUsQ0FBVztJQUVyQjs7T0FFRztJQUVILGdCQUFnQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWhFLGlEQUFpRDtJQUNqRDs7O09BR0c7SUFDSCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMEIsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxhQUFhLENBQUMsS0FBNEI7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUEyQixHQUFHLEtBQUssQ0FBQztRQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRLENBQTJDO0lBRW5EOztPQUVHO0lBQ0gsSUFBSSxDQUFVO0lBRWQsUUFBUTtRQUNKLG1DQUFtQztRQUNuQyxNQUFNLGFBQWEsR0FBd0QsZUFBZSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDOUU7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDTixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQzt1R0E1RWlCLDhCQUE4QjsyRkFBOUIsOEJBQThCLGdQQUZ0QyxFQUFFOzsyRkFFTSw4QkFBOEI7a0JBSm5ELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7OEJBV0csTUFBTTtzQkFETCxLQUFLO2dCQU9OLEdBQUc7c0JBREYsS0FBSztnQkFPTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBUU4sVUFBVTtzQkFEVCxLQUFLO2dCQU9OLGdCQUFnQjtzQkFEZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgRGVjb3JhdG9yVHlwZSwgRGVjb3JhdG9yVHlwZXMgfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgVVVJRFV0aWxpdGllcyB9IGZyb20gJy4uLy4uL2VuY2Fwc3VsYXRpb24vdXVpZC51dGlsaXRpZXMnO1xuaW1wb3J0IHsgRW50aXR5VXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2VudGl0eS51dGlsaXRpZXMnO1xuXG4vKipcbiAqIFRoZSBhYnN0cmFjdCBiYXNlIGNsYXNzIG9mIGFueSBuZ3gtbWF0LWVudGl0eSBpbnB1dC5cbiAqIEV4dGVuZCBmcm9tIHRoaXMgd2hlbiBpbXBsZW1lbnRpbmcgeW91ciBvd24gY3VzdG9tIGRlY29yYXRvci5cbiAqXG4gKiBJdCBhbHJlYWR5IHByb3ZpZGVzOlxuICpcbiAqIC0gZW50aXR5OiBUaGUgZW50aXR5IHdoaWNoIHRoZSBwcm9wZXJ0eSBpcyBvbi4gKHR5cGUtc2FmZSBkdWUgdG8gdGhlIEdlbmVyaWMgXCJFbnRpdHlUeXBlXCIpXG4gKiAtIGtleTogVGhlIGtleSBvZiB0aGUgcHJvcGVydHkuICh0eXBlLXNhZmUgZHVlIHRvIHRoZSBHZW5lcmljIFwiRW50aXR5VHlwZVwiKVxuICogLSBnZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlOiBUaGUgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgdGhlIGVycm9yIG1lc3NhZ2Ugd2hlbiB0aGUgaW5wdXQgaXMgaW52YWxpZC5cbiAqIC0gaXNSZWFkT25seTogV2hldGhlciBvciBub3QgdGhlIGlucHV0IGlzIHJlYWQgb25seS4gQ2FuIGJlIHVzZWQgdG8gZGlzYWJsZSBlbGVtZW50cy5cbiAqIC0gcHJvcGVydHlWYWx1ZTogSnVzdCB0aGUgdHlwZWQgdmVyc2lvbiBvZiB0aGUgcHJvcGVydHksIGl0cyB0aGUgc2FtZSBhcyBlbnRpdHlba2V5XS5cbiAqIC0gbWV0YWRhdGE6IFRoZSBtZXRhZGF0YSBvZiB0aGUgcHJvcGVydHkuICh0eXBlLXNhZmUgZHVlIHRvIHRoZSBHZW5lcmljIFwiQ3VzdG9tTWV0YWRhdGFUeXBlXCIpXG4gKiAtIG5nT25Jbml0OiBHZXRzIHRoZSBtZXRhZGF0YSBmb3IgdGhlIHByb3BlcnR5LCBiZSBhd2FyZSBvZiB0aGlzIHdoZW4gb3ZlcnJpZGluZyB0aGlzIG1ldGhvZC5cbiAqIC0gZW1pdENoYW5nZTogU2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBpbnB1dCBoYXMgY2hhbmdlZC4gVGhpcyBpcyBuZWVkZWQgdG8gdHJpZ2dlciB2YWxpZGF0aW9uIGFuZCBkaXJ0eSBjaGVja3MuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBhbmd1bGFyL3ByZWZlci1zdGFuZGFsb25lLWNvbXBvbmVudFxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtbWF0LWVudGl0eS1iYXNlLWlucHV0JyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmd4TWF0RW50aXR5QmFzZUlucHV0Q29tcG9uZW50PFxuICAgIEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPixcbiAgICBUeXBlIGV4dGVuZHMgRGVjb3JhdG9yVHlwZXMsXG4gICAgVmFsdWVUeXBlLFxuICAgIEN1c3RvbU1ldGFkYXRhVHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEN1c3RvbU1ldGFkYXRhVHlwZT4gPSB7fVxuPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICogVGhlIGVudGl0eSB0aGF0IHRoZSBwcm9wZXJ0eSB0byBkaXNwbGF5IGFzIGFuIGlucHV0IGNvbWVzIGZyb20uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBlbnRpdHkhOiBFbnRpdHlUeXBlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYnVpbGQgdGhlIGlucHV0IGZvci5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGtleSE6IGtleW9mIEVudGl0eVR5cGU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgdGhlIGVycm9yIG1lc3NhZ2Ugd2hlbiB0aGUgaW5wdXQgaXMgaW52YWxpZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldFZhbGlkYXRpb25FcnJvck1lc3NhZ2UhOiAobW9kZWw6IE5nTW9kZWwpID0+IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRoZSBpbnB1dCBzaG91bGQgYmUgcmVhZG9ubHkuXG4gICAgICogSW4gdGhhdCBjYXNlIGl0IGlzIGRpc2FibGVkLCBidXQgbW9zdCBvZiB0aGUgZGlzYWJsZWQtc3R5bGluZyBpcyBvdmVycmlkZGVuLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNSZWFkT25seSE6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB3aGVuIHRoZSBwcm9wZXJ0eSB2YWx1ZSBoYXMgY2hhbmdlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBpbnB1dENoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1yZXR1cm5zXG4gICAgLyoqXG4gICAgICogVGhlIHByb3BlcnR5IHZhbHVlIG9mIGVudGl0eVtrZXldIGNvcnJlY3RseSB0eXBlZC5cbiAgICAgKiBVc2VzIGdldHRlcnMgYW5kIHNldHRlcnMgc28gdGhhdCBpbnB1dHMgYXJlIGFsd2F5cyBsaW5rZWQgdG8gdGhlIG9yaWdpbmFsIHZhbHVlLlxuICAgICAqL1xuICAgIGdldCBwcm9wZXJ0eVZhbHVlKCk6IFZhbHVlVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudGl0eVt0aGlzLmtleV0gYXMgVmFsdWVUeXBlIHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHNldCBwcm9wZXJ0eVZhbHVlKHZhbHVlOiBWYWx1ZVR5cGUgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgKHRoaXMuZW50aXR5W3RoaXMua2V5XSBhcyBWYWx1ZVR5cGUgfCB1bmRlZmluZWQpID0gdmFsdWU7XG4gICAgICAgIHRoaXMubWV0YWRhdGEuY2hhbmdlPy4odGhpcy5lbnRpdHkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBtZXRhZGF0YSBvZiB0aGUgcHJvcGVydHkuXG4gICAgICovXG4gICAgbWV0YWRhdGEhOiBEZWNvcmF0b3JUeXBlPFR5cGUsIEN1c3RvbU1ldGFkYXRhVHlwZT47XG5cbiAgICAvKipcbiAgICAgKiBBIHVuaXF1ZSBuYW1lIGZvciBpbnB1dHMuIEluY2x1ZGVzIGEgdXVpZC5cbiAgICAgKi9cbiAgICBuYW1lITogc3RyaW5nO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgIGNvbnN0IGZvdW5kTWV0YWRhdGE6IERlY29yYXRvclR5cGU8VHlwZSwgQ3VzdG9tTWV0YWRhdGFUeXBlPiB8IHVuZGVmaW5lZCA9IEVudGl0eVV0aWxpdGllcy5nZXRQcm9wZXJ0eU1ldGFkYXRhKHRoaXMuZW50aXR5LCB0aGlzLmtleSk7XG4gICAgICAgIGlmICghZm91bmRNZXRhZGF0YSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBtZXRhZGF0YSB3YXMgZm91bmQgZm9yIHRoZSBrZXkgXCIke1N0cmluZyh0aGlzLmtleSl9XCJgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1ldGFkYXRhID0gZm91bmRNZXRhZGF0YTtcbiAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5rZXkudG9TdHJpbmcoKSArIFVVSURVdGlsaXRpZXMuY3JlYXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdWxkIGVtaXQgd2hlbiB0aGUgaW5wdXQgaGFzIGNoYW5nZWQuIFRoaXMgaXMgbmVlZGVkIHRvIHRyaWdnZXIgdmFsaWRhdGlvbiBhbmQgZGlydHkgY2hlY2tzLlxuICAgICAqL1xuICAgIGVtaXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRDaGFuZ2VFdmVudC5lbWl0KCk7XG4gICAgfVxufSJdfQ==
|