kwikid-forms 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/kwikid-forms.umd.js +1398 -394
- package/bundles/kwikid-forms.umd.js.map +1 -1
- package/esm2015/lib/builder/builder.component.js +86 -67
- package/esm2015/lib/builder/builder.module.js +52 -7
- package/esm2015/lib/builder/element-config-editor/editors/basic/checkbox-config.editor.component.js +72 -0
- package/esm2015/lib/builder/element-config-editor/editors/basic/date-config.editor.component.js +72 -0
- package/esm2015/lib/builder/element-config-editor/editors/basic/number-config.editor.component.js +72 -0
- package/esm2015/lib/builder/element-config-editor/editors/basic/otp-config.editor.component.js +130 -0
- package/esm2015/lib/builder/element-config-editor/editors/basic/phone-config.editor.component.js +130 -0
- package/esm2015/lib/builder/element-config-editor/editors/basic/radio-config.editor.component.js +241 -147
- package/esm2015/lib/builder/element-config-editor/editors/basic/text-config.editor.component.js +48 -51
- package/esm2015/lib/builder/element-config-editor/editors/basic-element-config.editor.component.js +475 -333
- package/esm2015/lib/builder/element-config-editor/editors/document/aadhaar-number-config.editor.component.js +130 -0
- package/esm2015/lib/builder/element-config-editor/editors/document/pan-number-config.editor.component.js +135 -0
- package/esm2015/lib/builder/element-config-editor/editors/document-element-config.editor.component.js +610 -0
- package/esm2015/lib/builder/element-config-editor/editors/other/html-config.editor.component.js +120 -0
- package/esm2015/lib/builder/element-config-editor/editors/other/title-config.editor.component.js +121 -0
- package/esm2015/lib/builder/element-config-editor/editors/other-element-config.editor.component.js +214 -0
- package/esm2015/lib/builder/element-config-editor/element-config-editor.component.js +6 -3
- package/esm2015/lib/builder/shared/elements.js +33 -8
- package/esm2015/lib/renderer/config-converter.helper.js +1 -2
- package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +1 -1
- package/esm2015/lib/renderer/form-view/form-view.component.js +28 -13
- package/esm2015/lib/renderer/form-view/helpers/form-view.apis.helper.js +18 -16
- package/esm2015/lib/renderer/renderer.component.js +1 -2
- package/fesm2015/kwikid-forms.js +2787 -739
- package/fesm2015/kwikid-forms.js.map +1 -1
- package/lib/builder/builder.component.d.ts +4 -0
- package/lib/builder/builder.module.d.ts +16 -5
- package/lib/builder/element-config-editor/editors/basic/checkbox-config.editor.component.d.ts +16 -0
- package/lib/builder/element-config-editor/editors/basic/date-config.editor.component.d.ts +16 -0
- package/lib/builder/element-config-editor/editors/basic/number-config.editor.component.d.ts +16 -0
- package/lib/builder/element-config-editor/editors/basic/otp-config.editor.component.d.ts +16 -0
- package/lib/builder/element-config-editor/editors/basic/phone-config.editor.component.d.ts +16 -0
- package/lib/builder/element-config-editor/editors/document/aadhaar-number-config.editor.component.d.ts +16 -0
- package/lib/builder/element-config-editor/editors/document/pan-number-config.editor.component.d.ts +16 -0
- package/lib/builder/element-config-editor/editors/document-element-config.editor.component.d.ts +20 -0
- package/lib/builder/element-config-editor/editors/other/html-config.editor.component.d.ts +16 -0
- package/lib/builder/element-config-editor/editors/other/title-config.editor.component.d.ts +16 -0
- package/lib/builder/element-config-editor/editors/other-element-config.editor.component.d.ts +20 -0
- package/lib/builder/shared/elements.d.ts +3 -1
- package/lib/renderer/form-view/definitions/form-view.fields.definition.d.ts +3 -1
- 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==
|