kwikid-forms 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/bundles/kwikid-forms.umd.js +1396 -393
  2. package/bundles/kwikid-forms.umd.js.map +1 -1
  3. package/esm2015/lib/builder/builder.component.js +86 -67
  4. package/esm2015/lib/builder/builder.module.js +52 -7
  5. package/esm2015/lib/builder/element-config-editor/editors/basic/checkbox-config.editor.component.js +72 -0
  6. package/esm2015/lib/builder/element-config-editor/editors/basic/date-config.editor.component.js +72 -0
  7. package/esm2015/lib/builder/element-config-editor/editors/basic/number-config.editor.component.js +72 -0
  8. package/esm2015/lib/builder/element-config-editor/editors/basic/otp-config.editor.component.js +130 -0
  9. package/esm2015/lib/builder/element-config-editor/editors/basic/phone-config.editor.component.js +130 -0
  10. package/esm2015/lib/builder/element-config-editor/editors/basic/radio-config.editor.component.js +241 -147
  11. package/esm2015/lib/builder/element-config-editor/editors/basic/text-config.editor.component.js +48 -51
  12. package/esm2015/lib/builder/element-config-editor/editors/basic-element-config.editor.component.js +475 -333
  13. package/esm2015/lib/builder/element-config-editor/editors/document/aadhaar-number-config.editor.component.js +130 -0
  14. package/esm2015/lib/builder/element-config-editor/editors/document/pan-number-config.editor.component.js +135 -0
  15. package/esm2015/lib/builder/element-config-editor/editors/document-element-config.editor.component.js +610 -0
  16. package/esm2015/lib/builder/element-config-editor/editors/other/html-config.editor.component.js +120 -0
  17. package/esm2015/lib/builder/element-config-editor/editors/other/title-config.editor.component.js +121 -0
  18. package/esm2015/lib/builder/element-config-editor/editors/other-element-config.editor.component.js +214 -0
  19. package/esm2015/lib/builder/element-config-editor/element-config-editor.component.js +6 -3
  20. package/esm2015/lib/builder/shared/elements.js +33 -8
  21. package/esm2015/lib/renderer/config-converter.helper.js +2 -2
  22. package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +1 -1
  23. package/esm2015/lib/renderer/form-view/form-view.component.js +29 -14
  24. package/esm2015/lib/renderer/form-view/helpers/form-view.apis.helper.js +17 -15
  25. package/esm2015/lib/renderer/renderer.component.js +1 -2
  26. package/fesm2015/kwikid-forms.js +2787 -738
  27. package/fesm2015/kwikid-forms.js.map +1 -1
  28. package/lib/builder/builder.component.d.ts +4 -0
  29. package/lib/builder/builder.module.d.ts +16 -5
  30. package/lib/builder/element-config-editor/editors/basic/checkbox-config.editor.component.d.ts +16 -0
  31. package/lib/builder/element-config-editor/editors/basic/date-config.editor.component.d.ts +16 -0
  32. package/lib/builder/element-config-editor/editors/basic/number-config.editor.component.d.ts +16 -0
  33. package/lib/builder/element-config-editor/editors/basic/otp-config.editor.component.d.ts +16 -0
  34. package/lib/builder/element-config-editor/editors/basic/phone-config.editor.component.d.ts +16 -0
  35. package/lib/builder/element-config-editor/editors/document/aadhaar-number-config.editor.component.d.ts +16 -0
  36. package/lib/builder/element-config-editor/editors/document/pan-number-config.editor.component.d.ts +16 -0
  37. package/lib/builder/element-config-editor/editors/document-element-config.editor.component.d.ts +20 -0
  38. package/lib/builder/element-config-editor/editors/other/html-config.editor.component.d.ts +16 -0
  39. package/lib/builder/element-config-editor/editors/other/title-config.editor.component.d.ts +16 -0
  40. package/lib/builder/element-config-editor/editors/other-element-config.editor.component.d.ts +20 -0
  41. package/lib/builder/shared/elements.d.ts +3 -1
  42. package/lib/renderer/form-view/definitions/form-view.fields.definition.d.ts +3 -1
  43. package/package.json +1 -1
@@ -0,0 +1,130 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, EventEmitter, Input, Output } from "@angular/core";
3
+ import { FormControl, FormGroup } from "@angular/forms";
4
+ import { logMethod } from "kwikid-toolkit";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "kwikui";
7
+ import * as i2 from "@angular/forms";
8
+ export class DocumentAadhaarNumberConfigEditor {
9
+ constructor() {
10
+ this.saveDocumentClickCounter = 0;
11
+ this.elementConfig = {
12
+ properties: {
13
+ mask: "####-####-####"
14
+ }
15
+ };
16
+ this.updateElement = new EventEmitter();
17
+ this.documentAadhaarNumberFormGroup = undefined;
18
+ }
19
+ ngOnInit() {
20
+ this.createDocumentAadhaarNumberFormGroup();
21
+ }
22
+ ngOnChanges(changes) {
23
+ var _a;
24
+ const verifyChange = (key) => {
25
+ return changes.hasOwnProperty(key) && !changes[key].firstChange;
26
+ };
27
+ if (verifyChange("elementConfig")) {
28
+ this.elementConfig = changes.elementConfig.currentValue;
29
+ (_a = this.documentAadhaarNumberFormGroup) === null || _a === void 0 ? void 0 : _a.reset(this.elementConfig);
30
+ }
31
+ if (verifyChange("saveDocumentClickCounter")) {
32
+ if (changes.saveDocumentClickCounter.previousValue !==
33
+ changes.saveDocumentClickCounter.currentValue) {
34
+ this.saveDocumentClickCounter = changes.saveDocumentClickCounter.currentValue;
35
+ this.handleOnSave();
36
+ }
37
+ }
38
+ }
39
+ createDocumentAadhaarNumberFormGroup() {
40
+ this.documentAadhaarNumberFormGroup = new FormGroup({
41
+ properties: new FormGroup({
42
+ mask: new FormControl(this.elementConfig.properties.mask, {
43
+ updateOn: "change"
44
+ })
45
+ })
46
+ });
47
+ this.documentAadhaarNumberFormGroup.updateValueAndValidity();
48
+ }
49
+ handleOnSave() {
50
+ let documentElementConfig = this.documentAadhaarNumberFormGroup.getRawValue();
51
+ this.updateElement.emit({
52
+ documentElementConfig: documentElementConfig
53
+ });
54
+ }
55
+ }
56
+ /** @nocollapse */ DocumentAadhaarNumberConfigEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DocumentAadhaarNumberConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
+ /** @nocollapse */ DocumentAadhaarNumberConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DocumentAadhaarNumberConfigEditor, selector: "document-aadhaar-number-config-editor", inputs: { saveDocumentClickCounter: "saveDocumentClickCounter", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: `
58
+ <form [formGroup]="documentAadhaarNumberFormGroup">
59
+ <div formGroupName="properties">
60
+ <div class="form-group-title">Properties</div>
61
+ <div class="form-group">
62
+ <kwikui-input
63
+ [label]="'Mask'"
64
+ [id]="'basic-phone-config-mask'"
65
+ [type]="'text'"
66
+ [formControlName]="'mask'"
67
+ [formControl]="
68
+ documentAadhaarNumberFormGroup.controls.properties['controls'].mask
69
+ "
70
+ [disabled]="false"
71
+ [placeholder]="'Please enter your mask'"
72
+ [focus]="false"
73
+ [invalid]="false"
74
+ [case]="'default'"
75
+ size="m"
76
+ ></kwikui-input>
77
+ </div>
78
+ </div>
79
+ </form>
80
+ `, isInline: true, styles: [""], components: [{ type: i1.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "size", "icon", "properties"], outputs: ["getKeyValue"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
81
+ __decorate([
82
+ logMethod
83
+ ], DocumentAadhaarNumberConfigEditor.prototype, "ngOnInit", null);
84
+ __decorate([
85
+ logMethod
86
+ ], DocumentAadhaarNumberConfigEditor.prototype, "ngOnChanges", null);
87
+ __decorate([
88
+ logMethod
89
+ ], DocumentAadhaarNumberConfigEditor.prototype, "createDocumentAadhaarNumberFormGroup", null);
90
+ __decorate([
91
+ logMethod
92
+ ], DocumentAadhaarNumberConfigEditor.prototype, "handleOnSave", null);
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DocumentAadhaarNumberConfigEditor, decorators: [{
94
+ type: Component,
95
+ args: [{
96
+ selector: "document-aadhaar-number-config-editor",
97
+ template: `
98
+ <form [formGroup]="documentAadhaarNumberFormGroup">
99
+ <div formGroupName="properties">
100
+ <div class="form-group-title">Properties</div>
101
+ <div class="form-group">
102
+ <kwikui-input
103
+ [label]="'Mask'"
104
+ [id]="'basic-phone-config-mask'"
105
+ [type]="'text'"
106
+ [formControlName]="'mask'"
107
+ [formControl]="
108
+ documentAadhaarNumberFormGroup.controls.properties['controls'].mask
109
+ "
110
+ [disabled]="false"
111
+ [placeholder]="'Please enter your mask'"
112
+ [focus]="false"
113
+ [invalid]="false"
114
+ [case]="'default'"
115
+ size="m"
116
+ ></kwikui-input>
117
+ </div>
118
+ </div>
119
+ </form>
120
+ `,
121
+ styles: [``]
122
+ }]
123
+ }], ctorParameters: function () { return []; }, propDecorators: { saveDocumentClickCounter: [{
124
+ type: Input
125
+ }], elementConfig: [{
126
+ type: Input
127
+ }], updateElement: [{
128
+ type: Output
129
+ }], ngOnInit: [], ngOnChanges: [], createDocumentAadhaarNumberFormGroup: [], handleOnSave: [] } });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWFkaGFhci1udW1iZXItY29uZmlnLmVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyL2VsZW1lbnQtY29uZmlnLWVkaXRvci9lZGl0b3JzL2RvY3VtZW50L2FhZGhhYXItbnVtYmVyLWNvbmZpZy5lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBOEIzQyxNQUFNLE9BQU8saUNBQWlDO0lBZ0I1QztRQWRBLDZCQUF3QixHQUFXLENBQUMsQ0FBQztRQUdyQyxrQkFBYSxHQUFRO1lBQ25CLFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsZ0JBQWdCO2FBQ3ZCO1NBQ0YsQ0FBQztRQUdGLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4QyxtQ0FBOEIsR0FBYyxTQUFTLENBQUM7SUFFdkMsQ0FBQztJQUdoQixRQUFRO1FBQ04sSUFBSSxDQUFDLG9DQUFvQyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUdELFdBQVcsQ0FBQyxPQUFzQjs7UUFDaEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNuQyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztRQUVGLElBQUksWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDeEQsTUFBQSxJQUFJLENBQUMsOEJBQThCLDBDQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDaEU7UUFDRCxJQUFJLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxFQUFFO1lBQzVDLElBQ0UsT0FBTyxDQUFDLHdCQUF3QixDQUFDLGFBQWE7Z0JBQzlDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQzdDO2dCQUNBLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDO2dCQUU5RSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDckI7U0FDRjtJQUNILENBQUM7SUFHRCxvQ0FBb0M7UUFDbEMsSUFBSSxDQUFDLDhCQUE4QixHQUFHLElBQUksU0FBUyxDQUFDO1lBQ2xELFVBQVUsRUFBRSxJQUFJLFNBQVMsQ0FBQztnQkFDeEIsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtvQkFDeEQsUUFBUSxFQUFFLFFBQVE7aUJBQ25CLENBQUM7YUFDSCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDhCQUE4QixDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUdELFlBQVk7UUFDVixJQUFJLHFCQUFxQixHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU5RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUN0QixxQkFBcUIsRUFBRSxxQkFBcUI7U0FDN0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0pBaEVVLGlDQUFpQztzSUFBakMsaUNBQWlDLGlQQTFCbEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJUO0FBc0JEO0lBREMsU0FBUztpRUFHVDtBQUdEO0lBREMsU0FBUztvRUFvQlQ7QUFHRDtJQURDLFNBQVM7NkZBVVQ7QUFHRDtJQURDLFNBQVM7cUVBT1Q7NEZBaEVVLGlDQUFpQztrQkE1QjdDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVDQUF1QztvQkFDakQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVDtvQkFDRCxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7aUJBQ2I7MEVBR0Msd0JBQXdCO3NCQUR2QixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFRTixhQUFhO3NCQURaLE1BQU07Z0JBUVAsUUFBUSxNQUtSLFdBQVcsTUFzQlgsb0NBQW9DLE1BWXBDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBsb2dNZXRob2QgfSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImRvY3VtZW50LWFhZGhhYXItbnVtYmVyLWNvbmZpZy1lZGl0b3JcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImRvY3VtZW50QWFkaGFhck51bWJlckZvcm1Hcm91cFwiPlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwicHJvcGVydGllc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC10aXRsZVwiPlByb3BlcnRpZXM8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8a3dpa3VpLWlucHV0XG4gICAgICAgICAgICBbbGFiZWxdPVwiJ01hc2snXCJcbiAgICAgICAgICAgIFtpZF09XCInYmFzaWMtcGhvbmUtY29uZmlnLW1hc2snXCJcbiAgICAgICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidtYXNrJ1wiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiXG4gICAgICAgICAgICBkb2N1bWVudEFhZGhhYXJOdW1iZXJGb3JtR3JvdXAuY29udHJvbHMucHJvcGVydGllc1snY29udHJvbHMnXS5tYXNrXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUGxlYXNlIGVudGVyIHlvdXIgbWFzaydcIlxuICAgICAgICAgICAgW2ZvY3VzXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtpbnZhbGlkXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtjYXNlXT1cIidkZWZhdWx0J1wiXG4gICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgPjwva3dpa3VpLWlucHV0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIERvY3VtZW50QWFkaGFhck51bWJlckNvbmZpZ0VkaXRvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHNhdmVEb2N1bWVudENsaWNrQ291bnRlcjogbnVtYmVyID0gMDtcblxuICBASW5wdXQoKVxuICBlbGVtZW50Q29uZmlnOiBhbnkgPSB7XG4gICAgcHJvcGVydGllczoge1xuICAgICAgbWFzazogXCIjIyMjLSMjIyMtIyMjI1wiXG4gICAgfVxuICB9O1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZG9jdW1lbnRBYWRoYWFyTnVtYmVyRm9ybUdyb3VwOiBGb3JtR3JvdXAgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVEb2N1bWVudEFhZGhhYXJOdW1iZXJGb3JtR3JvdXAoKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHZlcmlmeUNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiAhY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlO1xuICAgIH07XG5cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZWxlbWVudENvbmZpZ1wiKSkge1xuICAgICAgdGhpcy5lbGVtZW50Q29uZmlnID0gY2hhbmdlcy5lbGVtZW50Q29uZmlnLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMuZG9jdW1lbnRBYWRoYWFyTnVtYmVyRm9ybUdyb3VwPy5yZXNldCh0aGlzLmVsZW1lbnRDb25maWcpO1xuICAgIH1cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwic2F2ZURvY3VtZW50Q2xpY2tDb3VudGVyXCIpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNoYW5nZXMuc2F2ZURvY3VtZW50Q2xpY2tDb3VudGVyLnByZXZpb3VzVmFsdWUgIT09XG4gICAgICAgIGNoYW5nZXMuc2F2ZURvY3VtZW50Q2xpY2tDb3VudGVyLmN1cnJlbnRWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2F2ZURvY3VtZW50Q2xpY2tDb3VudGVyID0gY2hhbmdlcy5zYXZlRG9jdW1lbnRDbGlja0NvdW50ZXIuY3VycmVudFZhbHVlO1xuXG4gICAgICAgIHRoaXMuaGFuZGxlT25TYXZlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBjcmVhdGVEb2N1bWVudEFhZGhhYXJOdW1iZXJGb3JtR3JvdXAoKTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudEFhZGhhYXJOdW1iZXJGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgIHByb3BlcnRpZXM6IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBtYXNrOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLnByb3BlcnRpZXMubWFzaywge1xuICAgICAgICAgIHVwZGF0ZU9uOiBcImNoYW5nZVwiXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH0pO1xuICAgIHRoaXMuZG9jdW1lbnRBYWRoYWFyTnVtYmVyRm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25TYXZlKCkge1xuICAgIGxldCBkb2N1bWVudEVsZW1lbnRDb25maWcgPSB0aGlzLmRvY3VtZW50QWFkaGFhck51bWJlckZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgdGhpcy51cGRhdGVFbGVtZW50LmVtaXQoe1xuICAgICAgZG9jdW1lbnRFbGVtZW50Q29uZmlnOiBkb2N1bWVudEVsZW1lbnRDb25maWdcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,135 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, EventEmitter, Input, Output } from "@angular/core";
3
+ import { FormControl, FormGroup } from "@angular/forms";
4
+ import { logMethod } from "kwikid-toolkit";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "kwikui";
7
+ import * as i2 from "@angular/forms";
8
+ export class DocumentPanNumberConfigEditor {
9
+ constructor() {
10
+ this.saveDocumentClickCounter = 0;
11
+ this.elementConfig = {
12
+ properties: {
13
+ case: "upper"
14
+ }
15
+ };
16
+ this.updateElement = new EventEmitter();
17
+ this.documentPanNumberFormGroup = undefined;
18
+ }
19
+ ngOnInit() {
20
+ this.createDocumentPanNumberFormGroup();
21
+ }
22
+ ngOnChanges(changes) {
23
+ var _a;
24
+ const verifyChange = (key) => {
25
+ return changes.hasOwnProperty(key) && !changes[key].firstChange;
26
+ };
27
+ if (verifyChange("elementConfig")) {
28
+ this.elementConfig = changes.elementConfig.currentValue;
29
+ (_a = this.documentPanNumberFormGroup) === null || _a === void 0 ? void 0 : _a.reset(this.elementConfig);
30
+ }
31
+ if (verifyChange("saveDocumentClickCounter")) {
32
+ if (changes.saveDocumentClickCounter.previousValue !==
33
+ changes.saveDocumentClickCounter.currentValue) {
34
+ this.saveDocumentClickCounter =
35
+ changes.saveDocumentClickCounter.currentValue;
36
+ this.handleOnSave();
37
+ }
38
+ }
39
+ }
40
+ createDocumentPanNumberFormGroup() {
41
+ this.documentPanNumberFormGroup = new FormGroup({
42
+ properties: new FormGroup({
43
+ case: new FormControl(this.elementConfig.properties.case, {
44
+ updateOn: "change"
45
+ })
46
+ })
47
+ });
48
+ this.documentPanNumberFormGroup.updateValueAndValidity();
49
+ }
50
+ handleOnSave() {
51
+ let documentElementConfig = this.documentPanNumberFormGroup.getRawValue();
52
+ this.updateElement.emit({
53
+ documentElementConfig: documentElementConfig
54
+ });
55
+ }
56
+ }
57
+ /** @nocollapse */ DocumentPanNumberConfigEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DocumentPanNumberConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
58
+ /** @nocollapse */ DocumentPanNumberConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DocumentPanNumberConfigEditor, selector: "document-pan-number-config-editor", inputs: { saveDocumentClickCounter: "saveDocumentClickCounter", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: `
59
+ <form [formGroup]="documentPanNumberFormGroup">
60
+ <div formGroupName="properties">
61
+ <fieldset>
62
+ <legend class="form-group-title">Miscellaneous</legend>
63
+ <div class="form-group">
64
+ <kwikui-select-combobox
65
+ [options]="['default', 'upper', 'lower']"
66
+ [label]="'case'"
67
+ [id]="'document-pan-number-config-case'"
68
+ size="m"
69
+ [formControlName]="'case'"
70
+ [formControl]="
71
+ documentPanNumberFormGroup['controls'].properties['controls']
72
+ .case
73
+ "
74
+ [focus]="false"
75
+ [disabled]="false"
76
+ [invalid]="false"
77
+ [placeholder]="'Please select either true or false'"
78
+ ></kwikui-select-combobox>
79
+ </div>
80
+ </fieldset>
81
+ </div>
82
+ </form>
83
+ `, isInline: true, styles: [""], components: [{ type: i1.KwikUISelectComboboxComponent, selector: "kwikui-select-combobox", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "options", "size", "validators", "properties"], outputs: ["getKeyValue"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
84
+ __decorate([
85
+ logMethod
86
+ ], DocumentPanNumberConfigEditor.prototype, "ngOnInit", null);
87
+ __decorate([
88
+ logMethod
89
+ ], DocumentPanNumberConfigEditor.prototype, "ngOnChanges", null);
90
+ __decorate([
91
+ logMethod
92
+ ], DocumentPanNumberConfigEditor.prototype, "createDocumentPanNumberFormGroup", null);
93
+ __decorate([
94
+ logMethod
95
+ ], DocumentPanNumberConfigEditor.prototype, "handleOnSave", null);
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DocumentPanNumberConfigEditor, decorators: [{
97
+ type: Component,
98
+ args: [{
99
+ selector: "document-pan-number-config-editor",
100
+ template: `
101
+ <form [formGroup]="documentPanNumberFormGroup">
102
+ <div formGroupName="properties">
103
+ <fieldset>
104
+ <legend class="form-group-title">Miscellaneous</legend>
105
+ <div class="form-group">
106
+ <kwikui-select-combobox
107
+ [options]="['default', 'upper', 'lower']"
108
+ [label]="'case'"
109
+ [id]="'document-pan-number-config-case'"
110
+ size="m"
111
+ [formControlName]="'case'"
112
+ [formControl]="
113
+ documentPanNumberFormGroup['controls'].properties['controls']
114
+ .case
115
+ "
116
+ [focus]="false"
117
+ [disabled]="false"
118
+ [invalid]="false"
119
+ [placeholder]="'Please select either true or false'"
120
+ ></kwikui-select-combobox>
121
+ </div>
122
+ </fieldset>
123
+ </div>
124
+ </form>
125
+ `,
126
+ styles: [``]
127
+ }]
128
+ }], ctorParameters: function () { return []; }, propDecorators: { saveDocumentClickCounter: [{
129
+ type: Input
130
+ }], elementConfig: [{
131
+ type: Input
132
+ }], updateElement: [{
133
+ type: Output
134
+ }], ngOnInit: [], ngOnChanges: [], createDocumentPanNumberFormGroup: [], handleOnSave: [] } });
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuLW51bWJlci1jb25maWcuZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VkaXRvcnMvZG9jdW1lbnQvcGFuLW51bWJlci1jb25maWcuZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWdDM0MsTUFBTSxPQUFPLDZCQUE2QjtJQWdCeEM7UUFkQSw2QkFBd0IsR0FBVyxDQUFDLENBQUM7UUFHckMsa0JBQWEsR0FBUTtZQUNuQixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLE9BQU87YUFDZDtTQUNGLENBQUM7UUFHRixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsK0JBQTBCLEdBQWMsU0FBUyxDQUFDO0lBRW5DLENBQUM7SUFHaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFHRCxXQUFXLENBQUMsT0FBc0I7O1FBQ2hDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDbkMsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNsRSxDQUFDLENBQUM7UUFFRixJQUFJLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQ3hELE1BQUEsSUFBSSxDQUFDLDBCQUEwQiwwQ0FBRSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzVEO1FBQ0QsSUFBSSxZQUFZLENBQUMsMEJBQTBCLENBQUMsRUFBRTtZQUM1QyxJQUNFLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhO2dCQUM5QyxPQUFPLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUM3QztnQkFDQSxJQUFJLENBQUMsd0JBQXdCO29CQUMzQixPQUFPLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDO2dCQUVoRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDckI7U0FDRjtJQUNILENBQUM7SUFHRCxnQ0FBZ0M7UUFDOUIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksU0FBUyxDQUFDO1lBQzlDLFVBQVUsRUFBRSxJQUFJLFNBQVMsQ0FBQztnQkFDeEIsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtvQkFDeEQsUUFBUSxFQUFFLFFBQVE7aUJBQ25CLENBQUM7YUFDSCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDBCQUEwQixDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUdELFlBQVk7UUFDVixJQUFJLHFCQUFxQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUUxRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUN0QixxQkFBcUIsRUFBRSxxQkFBcUI7U0FDN0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OElBakVVLDZCQUE2QjtrSUFBN0IsNkJBQTZCLDZPQTVCOUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5QlQ7QUFzQkQ7SUFEQyxTQUFTOzZEQUdUO0FBR0Q7SUFEQyxTQUFTO2dFQXFCVDtBQUdEO0lBREMsU0FBUztxRkFVVDtBQUdEO0lBREMsU0FBUztpRUFPVDs0RkFqRVUsNkJBQTZCO2tCQTlCekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUNBQW1DO29CQUM3QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5QlQ7b0JBQ0QsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2lCQUNiOzBFQUdDLHdCQUF3QjtzQkFEdkIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBUU4sYUFBYTtzQkFEWixNQUFNO2dCQVFQLFFBQVEsTUFLUixXQUFXLE1BdUJYLGdDQUFnQyxNQVloQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgbG9nTWV0aG9kIH0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJkb2N1bWVudC1wYW4tbnVtYmVyLWNvbmZpZy1lZGl0b3JcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImRvY3VtZW50UGFuTnVtYmVyRm9ybUdyb3VwXCI+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJwcm9wZXJ0aWVzXCI+XG4gICAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgICA8bGVnZW5kIGNsYXNzPVwiZm9ybS1ncm91cC10aXRsZVwiPk1pc2NlbGxhbmVvdXM8L2xlZ2VuZD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgPGt3aWt1aS1zZWxlY3QtY29tYm9ib3hcbiAgICAgICAgICAgICAgW29wdGlvbnNdPVwiWydkZWZhdWx0JywgJ3VwcGVyJywgJ2xvd2VyJ11cIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2Nhc2UnXCJcbiAgICAgICAgICAgICAgW2lkXT1cIidkb2N1bWVudC1wYW4tbnVtYmVyLWNvbmZpZy1jYXNlJ1wiXG4gICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInY2FzZSdcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRQYW5OdW1iZXJGb3JtR3JvdXBbJ2NvbnRyb2xzJ10ucHJvcGVydGllc1snY29udHJvbHMnXVxuICAgICAgICAgICAgICAgICAgLmNhc2VcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2ZvY3VzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2ludmFsaWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBzZWxlY3QgZWl0aGVyIHRydWUgb3IgZmFsc2UnXCJcbiAgICAgICAgICAgID48L2t3aWt1aS1zZWxlY3QtY29tYm9ib3g+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBEb2N1bWVudFBhbk51bWJlckNvbmZpZ0VkaXRvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHNhdmVEb2N1bWVudENsaWNrQ291bnRlcjogbnVtYmVyID0gMDtcblxuICBASW5wdXQoKVxuICBlbGVtZW50Q29uZmlnOiBhbnkgPSB7XG4gICAgcHJvcGVydGllczoge1xuICAgICAgY2FzZTogXCJ1cHBlclwiXG4gICAgfVxuICB9O1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZG9jdW1lbnRQYW5OdW1iZXJGb3JtR3JvdXA6IEZvcm1Hcm91cCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNyZWF0ZURvY3VtZW50UGFuTnVtYmVyRm9ybUdyb3VwKCk7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCB2ZXJpZnlDaGFuZ2UgPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBjaGFuZ2VzLmhhc093blByb3BlcnR5KGtleSkgJiYgIWNoYW5nZXNba2V5XS5maXJzdENoYW5nZTtcbiAgICB9O1xuXG4gICAgaWYgKHZlcmlmeUNoYW5nZShcImVsZW1lbnRDb25maWdcIikpIHtcbiAgICAgIHRoaXMuZWxlbWVudENvbmZpZyA9IGNoYW5nZXMuZWxlbWVudENvbmZpZy5jdXJyZW50VmFsdWU7XG4gICAgICB0aGlzLmRvY3VtZW50UGFuTnVtYmVyRm9ybUdyb3VwPy5yZXNldCh0aGlzLmVsZW1lbnRDb25maWcpO1xuICAgIH1cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwic2F2ZURvY3VtZW50Q2xpY2tDb3VudGVyXCIpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNoYW5nZXMuc2F2ZURvY3VtZW50Q2xpY2tDb3VudGVyLnByZXZpb3VzVmFsdWUgIT09XG4gICAgICAgIGNoYW5nZXMuc2F2ZURvY3VtZW50Q2xpY2tDb3VudGVyLmN1cnJlbnRWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2F2ZURvY3VtZW50Q2xpY2tDb3VudGVyID1cbiAgICAgICAgICBjaGFuZ2VzLnNhdmVEb2N1bWVudENsaWNrQ291bnRlci5jdXJyZW50VmFsdWU7XG5cbiAgICAgICAgdGhpcy5oYW5kbGVPblNhdmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGNyZWF0ZURvY3VtZW50UGFuTnVtYmVyRm9ybUdyb3VwKCk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnRQYW5OdW1iZXJGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgIHByb3BlcnRpZXM6IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBjYXNlOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLnByb3BlcnRpZXMuY2FzZSwge1xuICAgICAgICAgIHVwZGF0ZU9uOiBcImNoYW5nZVwiXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH0pO1xuICAgIHRoaXMuZG9jdW1lbnRQYW5OdW1iZXJGb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVPblNhdmUoKSB7XG4gICAgbGV0IGRvY3VtZW50RWxlbWVudENvbmZpZyA9IHRoaXMuZG9jdW1lbnRQYW5OdW1iZXJGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcblxuICAgIHRoaXMudXBkYXRlRWxlbWVudC5lbWl0KHtcbiAgICAgIGRvY3VtZW50RWxlbWVudENvbmZpZzogZG9jdW1lbnRFbGVtZW50Q29uZmlnXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==