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
package/esm2015/lib/builder/element-config-editor/editors/other/html-config.editor.component.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
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 OtherHTMLConfigEditor {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.saveOtherClickCounter = 0;
|
|
11
|
+
this.elementConfig = {
|
|
12
|
+
html: ""
|
|
13
|
+
};
|
|
14
|
+
this.updateElement = new EventEmitter();
|
|
15
|
+
this.otherHTMLFormGroup = undefined;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.createOtherHTMLFormGroup();
|
|
19
|
+
}
|
|
20
|
+
ngOnChanges(changes) {
|
|
21
|
+
var _a;
|
|
22
|
+
const verifyChange = (key) => {
|
|
23
|
+
return changes.hasOwnProperty(key) && !changes[key].firstChange;
|
|
24
|
+
};
|
|
25
|
+
if (verifyChange("elementConfig")) {
|
|
26
|
+
this.elementConfig = changes.elementConfig.currentValue;
|
|
27
|
+
(_a = this.otherHTMLFormGroup) === null || _a === void 0 ? void 0 : _a.reset(this.elementConfig);
|
|
28
|
+
}
|
|
29
|
+
if (verifyChange("saveOtherClickCounter")) {
|
|
30
|
+
if (changes.saveOtherClickCounter.previousValue !==
|
|
31
|
+
changes.saveOtherClickCounter.currentValue) {
|
|
32
|
+
this.saveOtherClickCounter = changes.saveOtherClickCounter.currentValue;
|
|
33
|
+
this.handleOnSave();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
createOtherHTMLFormGroup() {
|
|
38
|
+
this.otherHTMLFormGroup = new FormGroup({
|
|
39
|
+
html: new FormControl(this.elementConfig.html, {
|
|
40
|
+
updateOn: "change"
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
this.otherHTMLFormGroup.updateValueAndValidity();
|
|
44
|
+
}
|
|
45
|
+
handleOnSave() {
|
|
46
|
+
let otherElementConfig = this.otherHTMLFormGroup.getRawValue();
|
|
47
|
+
this.updateElement.emit({
|
|
48
|
+
otherElementConfig: otherElementConfig
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** @nocollapse */ OtherHTMLConfigEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OtherHTMLConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
+
/** @nocollapse */ OtherHTMLConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: OtherHTMLConfigEditor, selector: "other-html-config-editor", inputs: { saveOtherClickCounter: "saveOtherClickCounter", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: `
|
|
54
|
+
<form [formGroup]="otherHTMLFormGroup">
|
|
55
|
+
<div formGroupName="properties">
|
|
56
|
+
<fieldset>
|
|
57
|
+
<legend class="form-group-title">Miscellaneous</legend>
|
|
58
|
+
<div class="form-group">
|
|
59
|
+
<kwikui-textarea
|
|
60
|
+
[label]="'HTML'"
|
|
61
|
+
[id]="'form_key'"
|
|
62
|
+
[formControlName]="'html'"
|
|
63
|
+
[formControl]="otherHTMLFormGroup.controls['html']"
|
|
64
|
+
[disabled]="false"
|
|
65
|
+
[focus]="false"
|
|
66
|
+
[invalid]="false"
|
|
67
|
+
size="m"
|
|
68
|
+
></kwikui-textarea>
|
|
69
|
+
</div>
|
|
70
|
+
</fieldset>
|
|
71
|
+
</div>
|
|
72
|
+
</form>
|
|
73
|
+
`, isInline: true, styles: [""], components: [{ type: i1.KwikUITextareaComponent, selector: "kwikui-textarea", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "size", "expandable", "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"] }] });
|
|
74
|
+
__decorate([
|
|
75
|
+
logMethod
|
|
76
|
+
], OtherHTMLConfigEditor.prototype, "ngOnInit", null);
|
|
77
|
+
__decorate([
|
|
78
|
+
logMethod
|
|
79
|
+
], OtherHTMLConfigEditor.prototype, "ngOnChanges", null);
|
|
80
|
+
__decorate([
|
|
81
|
+
logMethod
|
|
82
|
+
], OtherHTMLConfigEditor.prototype, "createOtherHTMLFormGroup", null);
|
|
83
|
+
__decorate([
|
|
84
|
+
logMethod
|
|
85
|
+
], OtherHTMLConfigEditor.prototype, "handleOnSave", null);
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OtherHTMLConfigEditor, decorators: [{
|
|
87
|
+
type: Component,
|
|
88
|
+
args: [{
|
|
89
|
+
selector: "other-html-config-editor",
|
|
90
|
+
template: `
|
|
91
|
+
<form [formGroup]="otherHTMLFormGroup">
|
|
92
|
+
<div formGroupName="properties">
|
|
93
|
+
<fieldset>
|
|
94
|
+
<legend class="form-group-title">Miscellaneous</legend>
|
|
95
|
+
<div class="form-group">
|
|
96
|
+
<kwikui-textarea
|
|
97
|
+
[label]="'HTML'"
|
|
98
|
+
[id]="'form_key'"
|
|
99
|
+
[formControlName]="'html'"
|
|
100
|
+
[formControl]="otherHTMLFormGroup.controls['html']"
|
|
101
|
+
[disabled]="false"
|
|
102
|
+
[focus]="false"
|
|
103
|
+
[invalid]="false"
|
|
104
|
+
size="m"
|
|
105
|
+
></kwikui-textarea>
|
|
106
|
+
</div>
|
|
107
|
+
</fieldset>
|
|
108
|
+
</div>
|
|
109
|
+
</form>
|
|
110
|
+
`,
|
|
111
|
+
styles: [``]
|
|
112
|
+
}]
|
|
113
|
+
}], ctorParameters: function () { return []; }, propDecorators: { saveOtherClickCounter: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], elementConfig: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], updateElement: [{
|
|
118
|
+
type: Output
|
|
119
|
+
}], ngOnInit: [], ngOnChanges: [], createOtherHTMLFormGroup: [], handleOnSave: [] } });
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1jb25maWcuZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VkaXRvcnMvb3RoZXIvaHRtbC1jb25maWcuZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQTJCM0MsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQztRQVpBLDBCQUFxQixHQUFXLENBQUMsQ0FBQztRQUdsQyxrQkFBYSxHQUFRO1lBQ25CLElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQztRQUdGLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4Qyx1QkFBa0IsR0FBYyxTQUFTLENBQUM7SUFFM0IsQ0FBQztJQUdoQixRQUFRO1FBQ04sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUdELFdBQVcsQ0FBQyxPQUFzQjs7UUFDaEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNuQyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztRQUVGLElBQUksWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDeEQsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDcEQ7UUFDRCxJQUFJLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFO1lBQ3pDLElBQ0UsT0FBTyxDQUFDLHFCQUFxQixDQUFDLGFBQWE7Z0JBQzNDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQzFDO2dCQUNBLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDO2dCQUV4RSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDckI7U0FDRjtJQUNILENBQUM7SUFHRCx3QkFBd0I7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksU0FBUyxDQUFDO1lBQ3RDLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRTtnQkFDN0MsUUFBUSxFQUFFLFFBQVE7YUFDbkIsQ0FBQztTQUNILENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFHRCxZQUFZO1FBQ1YsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFL0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDdEIsa0JBQWtCLEVBQUUsa0JBQWtCO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7O3NJQTVEVSxxQkFBcUI7MEhBQXJCLHFCQUFxQiw4TkF2QnRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVDtBQW9CRDtJQURDLFNBQVM7cURBR1Q7QUFHRDtJQURDLFNBQVM7d0RBb0JUO0FBR0Q7SUFEQyxTQUFTO3FFQVFUO0FBR0Q7SUFEQyxTQUFTO3lEQU9UOzRGQTVEVSxxQkFBcUI7a0JBekJqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQ7b0JBQ0QsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2lCQUNiOzBFQUdDLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBTU4sYUFBYTtzQkFEWixNQUFNO2dCQVFQLFFBQVEsTUFLUixXQUFXLE1Bc0JYLHdCQUF3QixNQVV4QixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgbG9nTWV0aG9kIH0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJvdGhlci1odG1sLWNvbmZpZy1lZGl0b3JcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cIm90aGVySFRNTEZvcm1Hcm91cFwiPlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwicHJvcGVydGllc1wiPlxuICAgICAgICA8ZmllbGRzZXQ+XG4gICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImZvcm0tZ3JvdXAtdGl0bGVcIj5NaXNjZWxsYW5lb3VzPC9sZWdlbmQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxrd2lrdWktdGV4dGFyZWFcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidIVE1MJ1wiXG4gICAgICAgICAgICAgIFtpZF09XCInZm9ybV9rZXknXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInaHRtbCdcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwib3RoZXJIVE1MRm9ybUdyb3VwLmNvbnRyb2xzWydodG1sJ11cIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbaW52YWxpZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgID48L2t3aWt1aS10ZXh0YXJlYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9maWVsZHNldD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIE90aGVySFRNTENvbmZpZ0VkaXRvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHNhdmVPdGhlckNsaWNrQ291bnRlcjogbnVtYmVyID0gMDtcblxuICBASW5wdXQoKVxuICBlbGVtZW50Q29uZmlnOiBhbnkgPSB7XG4gICAgaHRtbDogXCJcIlxuICB9O1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgb3RoZXJIVE1MRm9ybUdyb3VwOiBGb3JtR3JvdXAgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVPdGhlckhUTUxGb3JtR3JvdXAoKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHZlcmlmeUNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiAhY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlO1xuICAgIH07XG5cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZWxlbWVudENvbmZpZ1wiKSkge1xuICAgICAgdGhpcy5lbGVtZW50Q29uZmlnID0gY2hhbmdlcy5lbGVtZW50Q29uZmlnLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMub3RoZXJIVE1MRm9ybUdyb3VwPy5yZXNldCh0aGlzLmVsZW1lbnRDb25maWcpO1xuICAgIH1cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwic2F2ZU90aGVyQ2xpY2tDb3VudGVyXCIpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNoYW5nZXMuc2F2ZU90aGVyQ2xpY2tDb3VudGVyLnByZXZpb3VzVmFsdWUgIT09XG4gICAgICAgIGNoYW5nZXMuc2F2ZU90aGVyQ2xpY2tDb3VudGVyLmN1cnJlbnRWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2F2ZU90aGVyQ2xpY2tDb3VudGVyID0gY2hhbmdlcy5zYXZlT3RoZXJDbGlja0NvdW50ZXIuY3VycmVudFZhbHVlO1xuXG4gICAgICAgIHRoaXMuaGFuZGxlT25TYXZlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBjcmVhdGVPdGhlckhUTUxGb3JtR3JvdXAoKTogdm9pZCB7XG4gICAgdGhpcy5vdGhlckhUTUxGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgIGh0bWw6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmVsZW1lbnRDb25maWcuaHRtbCwge1xuICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgfSlcbiAgICB9KTtcbiAgICB0aGlzLm90aGVySFRNTEZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGhhbmRsZU9uU2F2ZSgpIHtcbiAgICBsZXQgb3RoZXJFbGVtZW50Q29uZmlnID0gdGhpcy5vdGhlckhUTUxGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcblxuICAgIHRoaXMudXBkYXRlRWxlbWVudC5lbWl0KHtcbiAgICAgIG90aGVyRWxlbWVudENvbmZpZzogb3RoZXJFbGVtZW50Q29uZmlnXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2015/lib/builder/element-config-editor/editors/other/title-config.editor.component.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
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 OtherTitleConfigEditor {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.saveOtherClickCounter = 0;
|
|
11
|
+
this.elementConfig = {
|
|
12
|
+
label: ""
|
|
13
|
+
};
|
|
14
|
+
this.updateElement = new EventEmitter();
|
|
15
|
+
this.otherTitleFormGroup = undefined;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.createOtherTitleFormGroup();
|
|
19
|
+
}
|
|
20
|
+
ngOnChanges(changes) {
|
|
21
|
+
const verifyChange = (key) => {
|
|
22
|
+
return changes.hasOwnProperty(key) && !changes[key].firstChange;
|
|
23
|
+
};
|
|
24
|
+
if (verifyChange("elementConfig")) {
|
|
25
|
+
this.elementConfig = changes.elementConfig.currentValue;
|
|
26
|
+
this.otherTitleFormGroup.reset(this.elementConfig);
|
|
27
|
+
}
|
|
28
|
+
if (verifyChange("saveOtherClickCounter")) {
|
|
29
|
+
if (changes.saveOtherClickCounter.previousValue !==
|
|
30
|
+
changes.saveOtherClickCounter.currentValue) {
|
|
31
|
+
this.saveOtherClickCounter = changes.saveOtherClickCounter.currentValue;
|
|
32
|
+
this.handleOnSave();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
createOtherTitleFormGroup() {
|
|
37
|
+
this.otherTitleFormGroup = new FormGroup({
|
|
38
|
+
label: new FormControl(this.elementConfig.label, {
|
|
39
|
+
updateOn: "change"
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
this.otherTitleFormGroup.updateValueAndValidity();
|
|
43
|
+
}
|
|
44
|
+
handleOnSave() {
|
|
45
|
+
let otherElementConfig = this.otherTitleFormGroup.getRawValue();
|
|
46
|
+
this.updateElement.emit({
|
|
47
|
+
otherElementConfig: otherElementConfig
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** @nocollapse */ OtherTitleConfigEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OtherTitleConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
/** @nocollapse */ OtherTitleConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: OtherTitleConfigEditor, selector: "other-title-config-editor", inputs: { saveOtherClickCounter: "saveOtherClickCounter", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: `
|
|
53
|
+
<form [formGroup]="otherTitleFormGroup">
|
|
54
|
+
<div formGroupName="properties">
|
|
55
|
+
<fieldset>
|
|
56
|
+
<legend class="form-group-title">Miscellaneous</legend>
|
|
57
|
+
<kwikui-input
|
|
58
|
+
[label]="'Label'"
|
|
59
|
+
[id]="'form_key'"
|
|
60
|
+
[type]="'text'"
|
|
61
|
+
[formControlName]="'label'"
|
|
62
|
+
[formControl]="otherTitleFormGroup.controls['label']"
|
|
63
|
+
[disabled]="false"
|
|
64
|
+
[placeholder]="'Please enter your Label'"
|
|
65
|
+
[focus]="false"
|
|
66
|
+
[invalid]="false"
|
|
67
|
+
[case]="'default'"
|
|
68
|
+
size="m"
|
|
69
|
+
></kwikui-input>
|
|
70
|
+
</fieldset>
|
|
71
|
+
</div>
|
|
72
|
+
</form>
|
|
73
|
+
`, 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"] }] });
|
|
74
|
+
__decorate([
|
|
75
|
+
logMethod
|
|
76
|
+
], OtherTitleConfigEditor.prototype, "ngOnInit", null);
|
|
77
|
+
__decorate([
|
|
78
|
+
logMethod
|
|
79
|
+
], OtherTitleConfigEditor.prototype, "ngOnChanges", null);
|
|
80
|
+
__decorate([
|
|
81
|
+
logMethod
|
|
82
|
+
], OtherTitleConfigEditor.prototype, "createOtherTitleFormGroup", null);
|
|
83
|
+
__decorate([
|
|
84
|
+
logMethod
|
|
85
|
+
], OtherTitleConfigEditor.prototype, "handleOnSave", null);
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OtherTitleConfigEditor, decorators: [{
|
|
87
|
+
type: Component,
|
|
88
|
+
args: [{
|
|
89
|
+
selector: "other-title-config-editor",
|
|
90
|
+
template: `
|
|
91
|
+
<form [formGroup]="otherTitleFormGroup">
|
|
92
|
+
<div formGroupName="properties">
|
|
93
|
+
<fieldset>
|
|
94
|
+
<legend class="form-group-title">Miscellaneous</legend>
|
|
95
|
+
<kwikui-input
|
|
96
|
+
[label]="'Label'"
|
|
97
|
+
[id]="'form_key'"
|
|
98
|
+
[type]="'text'"
|
|
99
|
+
[formControlName]="'label'"
|
|
100
|
+
[formControl]="otherTitleFormGroup.controls['label']"
|
|
101
|
+
[disabled]="false"
|
|
102
|
+
[placeholder]="'Please enter your Label'"
|
|
103
|
+
[focus]="false"
|
|
104
|
+
[invalid]="false"
|
|
105
|
+
[case]="'default'"
|
|
106
|
+
size="m"
|
|
107
|
+
></kwikui-input>
|
|
108
|
+
</fieldset>
|
|
109
|
+
</div>
|
|
110
|
+
</form>
|
|
111
|
+
`,
|
|
112
|
+
styles: [``]
|
|
113
|
+
}]
|
|
114
|
+
}], ctorParameters: function () { return []; }, propDecorators: { saveOtherClickCounter: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], elementConfig: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], updateElement: [{
|
|
119
|
+
type: Output
|
|
120
|
+
}], ngOnInit: [], ngOnChanges: [], createOtherTitleFormGroup: [], handleOnSave: [] } });
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUtY29uZmlnLmVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyL2VsZW1lbnQtY29uZmlnLWVkaXRvci9lZGl0b3JzL290aGVyL3RpdGxlLWNvbmZpZy5lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBNEIzQyxNQUFNLE9BQU8sc0JBQXNCO0lBY2pDO1FBWkEsMEJBQXFCLEdBQVcsQ0FBQyxDQUFDO1FBR2xDLGtCQUFhLEdBQVE7WUFDbkIsS0FBSyxFQUFFLEVBQUU7U0FDVixDQUFDO1FBR0Ysa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLHdCQUFtQixHQUFjLFNBQVMsQ0FBQztJQUU1QixDQUFDO0lBR2hCLFFBQVE7UUFDTixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBR0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDbkMsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNsRSxDQUFDLENBQUM7UUFFRixJQUFJLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQ3hELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsSUFBSSxZQUFZLENBQUMsdUJBQXVCLENBQUMsRUFBRTtZQUN6QyxJQUNFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhO2dCQUMzQyxPQUFPLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUMxQztnQkFDQSxJQUFJLENBQUMscUJBQXFCLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQztnQkFFeEUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO1NBQ0Y7SUFDSCxDQUFDO0lBR0QseUJBQXlCO1FBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUN2QyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7Z0JBQy9DLFFBQVEsRUFBRSxRQUFRO2FBQ25CLENBQUM7U0FDSCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBR0QsWUFBWTtRQUNWLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWhFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3RCLGtCQUFrQixFQUFFLGtCQUFrQjtTQUN2QyxDQUFDLENBQUM7SUFDTCxDQUFDOzt1SUE1RFUsc0JBQXNCOzJIQUF0QixzQkFBc0IsK05BeEJ2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJUO0FBb0JEO0lBREMsU0FBUztzREFHVDtBQUdEO0lBREMsU0FBUzt5REFvQlQ7QUFHRDtJQURDLFNBQVM7dUVBUVQ7QUFHRDtJQURDLFNBQVM7MERBT1Q7NEZBNURVLHNCQUFzQjtrQkExQmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQ7b0JBQ0QsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2lCQUNiOzBFQUdDLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBTU4sYUFBYTtzQkFEWixNQUFNO2dCQVFQLFFBQVEsTUFLUixXQUFXLE1Bc0JYLHlCQUF5QixNQVV6QixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgbG9nTWV0aG9kIH0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJvdGhlci10aXRsZS1jb25maWctZWRpdG9yXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJvdGhlclRpdGxlRm9ybUdyb3VwXCI+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJwcm9wZXJ0aWVzXCI+XG4gICAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgICA8bGVnZW5kIGNsYXNzPVwiZm9ybS1ncm91cC10aXRsZVwiPk1pc2NlbGxhbmVvdXM8L2xlZ2VuZD5cbiAgICAgICAgICA8a3dpa3VpLWlucHV0XG4gICAgICAgICAgICBbbGFiZWxdPVwiJ0xhYmVsJ1wiXG4gICAgICAgICAgICBbaWRdPVwiJ2Zvcm1fa2V5J1wiXG4gICAgICAgICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInbGFiZWwnXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJvdGhlclRpdGxlRm9ybUdyb3VwLmNvbnRyb2xzWydsYWJlbCddXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBlbnRlciB5b3VyIExhYmVsJ1wiXG4gICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2ludmFsaWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2Nhc2VdPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICA+PC9rd2lrdWktaW5wdXQ+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBPdGhlclRpdGxlQ29uZmlnRWRpdG9yIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgc2F2ZU90aGVyQ2xpY2tDb3VudGVyOiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIGVsZW1lbnRDb25maWc6IGFueSA9IHtcbiAgICBsYWJlbDogXCJcIlxuICB9O1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgb3RoZXJUaXRsZUZvcm1Hcm91cDogRm9ybUdyb3VwID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBAbG9nTWV0aG9kXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY3JlYXRlT3RoZXJUaXRsZUZvcm1Hcm91cCgpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgdmVyaWZ5Q2hhbmdlID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmICFjaGFuZ2VzW2tleV0uZmlyc3RDaGFuZ2U7XG4gICAgfTtcblxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJlbGVtZW50Q29uZmlnXCIpKSB7XG4gICAgICB0aGlzLmVsZW1lbnRDb25maWcgPSBjaGFuZ2VzLmVsZW1lbnRDb25maWcuY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy5vdGhlclRpdGxlRm9ybUdyb3VwLnJlc2V0KHRoaXMuZWxlbWVudENvbmZpZyk7XG4gICAgfVxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJzYXZlT3RoZXJDbGlja0NvdW50ZXJcIikpIHtcbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlcy5zYXZlT3RoZXJDbGlja0NvdW50ZXIucHJldmlvdXNWYWx1ZSAhPT1cbiAgICAgICAgY2hhbmdlcy5zYXZlT3RoZXJDbGlja0NvdW50ZXIuY3VycmVudFZhbHVlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5zYXZlT3RoZXJDbGlja0NvdW50ZXIgPSBjaGFuZ2VzLnNhdmVPdGhlckNsaWNrQ291bnRlci5jdXJyZW50VmFsdWU7XG5cbiAgICAgICAgdGhpcy5oYW5kbGVPblNhdmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGNyZWF0ZU90aGVyVGl0bGVGb3JtR3JvdXAoKTogdm9pZCB7XG4gICAgdGhpcy5vdGhlclRpdGxlRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBsYWJlbDogbmV3IEZvcm1Db250cm9sKHRoaXMuZWxlbWVudENvbmZpZy5sYWJlbCwge1xuICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgfSlcbiAgICB9KTtcbiAgICB0aGlzLm90aGVyVGl0bGVGb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVPblNhdmUoKSB7XG4gICAgbGV0IG90aGVyRWxlbWVudENvbmZpZyA9IHRoaXMub3RoZXJUaXRsZUZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgdGhpcy51cGRhdGVFbGVtZW50LmVtaXQoe1xuICAgICAgb3RoZXJFbGVtZW50Q29uZmlnOiBvdGhlckVsZW1lbnRDb25maWdcbiAgICB9KTtcbiAgfVxufVxuIl19
|
package/esm2015/lib/builder/element-config-editor/editors/other-element-config.editor.component.js
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
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 _ from "lodash";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "kwikui";
|
|
8
|
+
import * as i2 from "./other/html-config.editor.component";
|
|
9
|
+
import * as i3 from "./other/title-config.editor.component";
|
|
10
|
+
import * as i4 from "@angular/common";
|
|
11
|
+
import * as i5 from "@angular/forms";
|
|
12
|
+
export class OtherElementConfigEditor {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.saveClickCounter = 0;
|
|
15
|
+
this.elementConfig = {
|
|
16
|
+
key: ""
|
|
17
|
+
};
|
|
18
|
+
this.updateElement = new EventEmitter();
|
|
19
|
+
this.elementType = "";
|
|
20
|
+
this.saveOtherClickCounter = 0;
|
|
21
|
+
this.otherFormGroup = undefined;
|
|
22
|
+
}
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
this.assignVariables();
|
|
25
|
+
this.createOtherFormGroup();
|
|
26
|
+
}
|
|
27
|
+
ngOnChanges(changes) {
|
|
28
|
+
var _a;
|
|
29
|
+
const verifyChange = (key) => {
|
|
30
|
+
return changes.hasOwnProperty(key) && !changes[key].firstChange;
|
|
31
|
+
};
|
|
32
|
+
if (verifyChange("elementConfig")) {
|
|
33
|
+
this.elementConfig = changes.elementConfig.currentValue;
|
|
34
|
+
this.assignVariables();
|
|
35
|
+
(_a = this.otherFormGroup) === null || _a === void 0 ? void 0 : _a.reset(this.elementConfig);
|
|
36
|
+
}
|
|
37
|
+
if (verifyChange("saveClickCounter")) {
|
|
38
|
+
if (changes.saveClickCounter.previousValue !==
|
|
39
|
+
changes.saveClickCounter.currentValue) {
|
|
40
|
+
this.saveClickCounter = changes.saveClickCounter.currentValue;
|
|
41
|
+
this.handleOnSave();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
assignVariables() {
|
|
46
|
+
this.elementType = this.elementConfig.elementType;
|
|
47
|
+
}
|
|
48
|
+
createOtherFormGroup() {
|
|
49
|
+
this.otherFormGroup = new FormGroup({
|
|
50
|
+
key: new FormControl(this.elementConfig.key)
|
|
51
|
+
});
|
|
52
|
+
this.otherFormGroup.updateValueAndValidity();
|
|
53
|
+
}
|
|
54
|
+
handleOnSaveUpdateElement(event) {
|
|
55
|
+
// Get Common Config
|
|
56
|
+
let otherElementCommonConfig = this.otherFormGroup.getRawValue();
|
|
57
|
+
otherElementCommonConfig.key = otherElementCommonConfig.key.replace(/\s/g, "_");
|
|
58
|
+
// Get Other Element Config
|
|
59
|
+
const otherElementConfig = event.otherElementConfig;
|
|
60
|
+
this.elementConfig = _.merge(this.elementConfig, otherElementCommonConfig, otherElementConfig);
|
|
61
|
+
this.updateElement.emit({ elementConfig: this.elementConfig });
|
|
62
|
+
}
|
|
63
|
+
handleOnSave() {
|
|
64
|
+
this.saveOtherClickCounter++;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/** @nocollapse */ OtherElementConfigEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OtherElementConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
/** @nocollapse */ OtherElementConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: OtherElementConfigEditor, selector: "other-element-config-editor", inputs: { saveClickCounter: "saveClickCounter", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: `
|
|
69
|
+
<ng-container *ngIf="elementConfig !== undefined">
|
|
70
|
+
<kwikui-table
|
|
71
|
+
style="width: 100%; height: 100%; overflow: auto; box-shadow: 0px 0px 10px -6px #000; border: 0px solid gray; border-radius: 1rem;"
|
|
72
|
+
[columns]="['id', 'type', 'category']"
|
|
73
|
+
[headers]="{ id: 'ID', type: 'Type', category: 'Category' }"
|
|
74
|
+
[data]="[
|
|
75
|
+
{
|
|
76
|
+
id: elementConfig.elementId,
|
|
77
|
+
type: elementConfig.elementType,
|
|
78
|
+
category: elementConfig.elementCategory
|
|
79
|
+
}
|
|
80
|
+
]"
|
|
81
|
+
(onClick)="(undefined)"
|
|
82
|
+
></kwikui-table>
|
|
83
|
+
</ng-container>
|
|
84
|
+
<form [formGroup]="otherFormGroup">
|
|
85
|
+
<fieldset>
|
|
86
|
+
<legend class="form-group-title">Standard</legend>
|
|
87
|
+
<kwikui-input
|
|
88
|
+
[label]="'Key'"
|
|
89
|
+
[id]="'basic-field-key'"
|
|
90
|
+
[type]="'text'"
|
|
91
|
+
[formControlName]="'key'"
|
|
92
|
+
[formControl]="otherFormGroup.controls['key']"
|
|
93
|
+
[disabled]="false"
|
|
94
|
+
[placeholder]="'Please enter your Field Key'"
|
|
95
|
+
[focus]="false"
|
|
96
|
+
[invalid]="false"
|
|
97
|
+
[case]="'default'"
|
|
98
|
+
size="m"
|
|
99
|
+
></kwikui-input>
|
|
100
|
+
</fieldset>
|
|
101
|
+
|
|
102
|
+
<ng-container [ngSwitch]="elementType">
|
|
103
|
+
<ng-container *ngSwitchCase="'html'">
|
|
104
|
+
<other-html-config-editor
|
|
105
|
+
[saveOtherClickCounter]="saveOtherClickCounter"
|
|
106
|
+
[elementConfig]="elementConfig"
|
|
107
|
+
(updateElement)="handleOnSaveUpdateElement($event)"
|
|
108
|
+
></other-html-config-editor>
|
|
109
|
+
</ng-container>
|
|
110
|
+
<ng-container *ngSwitchCase="'title'">
|
|
111
|
+
<other-title-config-editor
|
|
112
|
+
[saveOtherClickCounter]="saveOtherClickCounter"
|
|
113
|
+
[elementConfig]="elementConfig"
|
|
114
|
+
(updateElement)="handleOnSaveUpdateElement($event)"
|
|
115
|
+
></other-title-config-editor>
|
|
116
|
+
</ng-container>
|
|
117
|
+
</ng-container>
|
|
118
|
+
</form>
|
|
119
|
+
`, isInline: true, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n justify-content: flex-start;\n align-items: stretch;\n gap: 1rem;\n }\n "], components: [{ type: i1.KwikUITableComponent, selector: "kwikui-table", inputs: ["id", "columns", "headers", "data"], outputs: ["onClick"] }, { type: i1.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "size", "icon", "properties"], outputs: ["getKeyValue"] }, { type: i2.OtherHTMLConfigEditor, selector: "other-html-config-editor", inputs: ["saveOtherClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i3.OtherTitleConfigEditor, selector: "other-title-config-editor", inputs: ["saveOtherClickCounter", "elementConfig"], outputs: ["updateElement"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i5.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
120
|
+
__decorate([
|
|
121
|
+
logMethod
|
|
122
|
+
], OtherElementConfigEditor.prototype, "ngOnInit", null);
|
|
123
|
+
__decorate([
|
|
124
|
+
logMethod
|
|
125
|
+
], OtherElementConfigEditor.prototype, "ngOnChanges", null);
|
|
126
|
+
__decorate([
|
|
127
|
+
logMethod
|
|
128
|
+
], OtherElementConfigEditor.prototype, "assignVariables", null);
|
|
129
|
+
__decorate([
|
|
130
|
+
logMethod
|
|
131
|
+
], OtherElementConfigEditor.prototype, "createOtherFormGroup", null);
|
|
132
|
+
__decorate([
|
|
133
|
+
logMethod
|
|
134
|
+
], OtherElementConfigEditor.prototype, "handleOnSaveUpdateElement", null);
|
|
135
|
+
__decorate([
|
|
136
|
+
logMethod
|
|
137
|
+
], OtherElementConfigEditor.prototype, "handleOnSave", null);
|
|
138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OtherElementConfigEditor, decorators: [{
|
|
139
|
+
type: Component,
|
|
140
|
+
args: [{
|
|
141
|
+
selector: "other-element-config-editor",
|
|
142
|
+
template: `
|
|
143
|
+
<ng-container *ngIf="elementConfig !== undefined">
|
|
144
|
+
<kwikui-table
|
|
145
|
+
style="width: 100%; height: 100%; overflow: auto; box-shadow: 0px 0px 10px -6px #000; border: 0px solid gray; border-radius: 1rem;"
|
|
146
|
+
[columns]="['id', 'type', 'category']"
|
|
147
|
+
[headers]="{ id: 'ID', type: 'Type', category: 'Category' }"
|
|
148
|
+
[data]="[
|
|
149
|
+
{
|
|
150
|
+
id: elementConfig.elementId,
|
|
151
|
+
type: elementConfig.elementType,
|
|
152
|
+
category: elementConfig.elementCategory
|
|
153
|
+
}
|
|
154
|
+
]"
|
|
155
|
+
(onClick)="(undefined)"
|
|
156
|
+
></kwikui-table>
|
|
157
|
+
</ng-container>
|
|
158
|
+
<form [formGroup]="otherFormGroup">
|
|
159
|
+
<fieldset>
|
|
160
|
+
<legend class="form-group-title">Standard</legend>
|
|
161
|
+
<kwikui-input
|
|
162
|
+
[label]="'Key'"
|
|
163
|
+
[id]="'basic-field-key'"
|
|
164
|
+
[type]="'text'"
|
|
165
|
+
[formControlName]="'key'"
|
|
166
|
+
[formControl]="otherFormGroup.controls['key']"
|
|
167
|
+
[disabled]="false"
|
|
168
|
+
[placeholder]="'Please enter your Field Key'"
|
|
169
|
+
[focus]="false"
|
|
170
|
+
[invalid]="false"
|
|
171
|
+
[case]="'default'"
|
|
172
|
+
size="m"
|
|
173
|
+
></kwikui-input>
|
|
174
|
+
</fieldset>
|
|
175
|
+
|
|
176
|
+
<ng-container [ngSwitch]="elementType">
|
|
177
|
+
<ng-container *ngSwitchCase="'html'">
|
|
178
|
+
<other-html-config-editor
|
|
179
|
+
[saveOtherClickCounter]="saveOtherClickCounter"
|
|
180
|
+
[elementConfig]="elementConfig"
|
|
181
|
+
(updateElement)="handleOnSaveUpdateElement($event)"
|
|
182
|
+
></other-html-config-editor>
|
|
183
|
+
</ng-container>
|
|
184
|
+
<ng-container *ngSwitchCase="'title'">
|
|
185
|
+
<other-title-config-editor
|
|
186
|
+
[saveOtherClickCounter]="saveOtherClickCounter"
|
|
187
|
+
[elementConfig]="elementConfig"
|
|
188
|
+
(updateElement)="handleOnSaveUpdateElement($event)"
|
|
189
|
+
></other-title-config-editor>
|
|
190
|
+
</ng-container>
|
|
191
|
+
</ng-container>
|
|
192
|
+
</form>
|
|
193
|
+
`,
|
|
194
|
+
styles: [
|
|
195
|
+
`
|
|
196
|
+
:host {
|
|
197
|
+
display: flex;
|
|
198
|
+
flex-direction: column;
|
|
199
|
+
align-content: center;
|
|
200
|
+
justify-content: flex-start;
|
|
201
|
+
align-items: stretch;
|
|
202
|
+
gap: 1rem;
|
|
203
|
+
}
|
|
204
|
+
`
|
|
205
|
+
]
|
|
206
|
+
}]
|
|
207
|
+
}], ctorParameters: function () { return []; }, propDecorators: { saveClickCounter: [{
|
|
208
|
+
type: Input
|
|
209
|
+
}], elementConfig: [{
|
|
210
|
+
type: Input
|
|
211
|
+
}], updateElement: [{
|
|
212
|
+
type: Output
|
|
213
|
+
}], ngOnInit: [], ngOnChanges: [], assignVariables: [], createOtherFormGroup: [], handleOnSaveUpdateElement: [], handleOnSave: [] } });
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RoZXItZWxlbWVudC1jb25maWcuZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VkaXRvcnMvb3RoZXItZWxlbWVudC1jb25maWcuZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7QUFxRXZCLE1BQU0sT0FBTyx3QkFBd0I7SUFpQm5DO1FBZkEscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBRzdCLGtCQUFhLEdBQVE7WUFDbkIsR0FBRyxFQUFFLEVBQUU7U0FDUixDQUFDO1FBR0Ysa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLDBCQUFxQixHQUFXLENBQUMsQ0FBQztRQUVsQyxtQkFBYyxHQUFjLFNBQVMsQ0FBQztJQUV2QixDQUFDO0lBR2hCLFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUdELFdBQVcsQ0FBQyxPQUFzQjs7UUFDaEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNuQyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztRQUVGLElBQUksWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDeEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLE1BQUEsSUFBSSxDQUFDLGNBQWMsMENBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNoRDtRQUVELElBQUksWUFBWSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDcEMsSUFDRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYTtnQkFDdEMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFDckM7Z0JBQ0EsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7Z0JBRTlELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNyQjtTQUNGO0lBQ0gsQ0FBQztJQUdELGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3BELENBQUM7SUFHRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNsQyxHQUFHLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7U0FDN0MsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFHRCx5QkFBeUIsQ0FBQyxLQUFVO1FBQ2xDLG9CQUFvQjtRQUNwQixJQUFJLHdCQUF3QixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakUsd0JBQXdCLENBQUMsR0FBRyxHQUFHLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQ2pFLEtBQUssRUFDTCxHQUFHLENBQ0osQ0FBQztRQUVGLDJCQUEyQjtRQUMzQixNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztRQUVwRCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQzFCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLHdCQUF3QixFQUN4QixrQkFBa0IsQ0FDbkIsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFHRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQzs7eUlBdEZVLHdCQUF3Qjs2SEFBeEIsd0JBQXdCLHVOQWpFekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVDtBQWtDRDtJQURDLFNBQVM7d0RBSVQ7QUFHRDtJQURDLFNBQVM7MkRBc0JUO0FBR0Q7SUFEQyxTQUFTOytEQUdUO0FBR0Q7SUFEQyxTQUFTO29FQU1UO0FBR0Q7SUFEQyxTQUFTO3lFQW1CVDtBQUdEO0lBREMsU0FBUzs0REFHVDs0RkF0RlUsd0JBQXdCO2tCQW5FcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVDtvQkFDRCxNQUFNLEVBQUU7d0JBQ047Ozs7Ozs7OztLQVNDO3FCQUNGO2lCQUNGOzBFQUdDLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFNTixhQUFhO3NCQURaLE1BQU07Z0JBV1AsUUFBUSxNQU1SLFdBQVcsTUF3QlgsZUFBZSxNQUtmLG9CQUFvQixNQVFwQix5QkFBeUIsTUFxQnpCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBsb2dNZXRob2QgfSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcbmltcG9ydCBfIGZyb20gXCJsb2Rhc2hcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm90aGVyLWVsZW1lbnQtY29uZmlnLWVkaXRvclwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50Q29uZmlnICE9PSB1bmRlZmluZWRcIj5cbiAgICAgIDxrd2lrdWktdGFibGVcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBvdmVyZmxvdzogYXV0bzsgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IC02cHggIzAwMDsgYm9yZGVyOiAwcHggc29saWQgZ3JheTsgYm9yZGVyLXJhZGl1czogMXJlbTtcIlxuICAgICAgICBbY29sdW1uc109XCJbJ2lkJywgJ3R5cGUnLCAnY2F0ZWdvcnknXVwiXG4gICAgICAgIFtoZWFkZXJzXT1cInsgaWQ6ICdJRCcsIHR5cGU6ICdUeXBlJywgY2F0ZWdvcnk6ICdDYXRlZ29yeScgfVwiXG4gICAgICAgIFtkYXRhXT1cIltcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogZWxlbWVudENvbmZpZy5lbGVtZW50SWQsXG4gICAgICAgICAgICB0eXBlOiBlbGVtZW50Q29uZmlnLmVsZW1lbnRUeXBlLFxuICAgICAgICAgICAgY2F0ZWdvcnk6IGVsZW1lbnRDb25maWcuZWxlbWVudENhdGVnb3J5XG4gICAgICAgICAgfVxuICAgICAgICBdXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiKHVuZGVmaW5lZClcIlxuICAgICAgPjwva3dpa3VpLXRhYmxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwib3RoZXJGb3JtR3JvdXBcIj5cbiAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImZvcm0tZ3JvdXAtdGl0bGVcIj5TdGFuZGFyZDwvbGVnZW5kPlxuICAgICAgICA8a3dpa3VpLWlucHV0XG4gICAgICAgICAgW2xhYmVsXT1cIidLZXknXCJcbiAgICAgICAgICBbaWRdPVwiJ2Jhc2ljLWZpZWxkLWtleSdcIlxuICAgICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCIna2V5J1wiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm90aGVyRm9ybUdyb3VwLmNvbnRyb2xzWydrZXknXVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBlbnRlciB5b3VyIEZpZWxkIEtleSdcIlxuICAgICAgICAgIFtmb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgW2ludmFsaWRdPVwiZmFsc2VcIlxuICAgICAgICAgIFtjYXNlXT1cIidkZWZhdWx0J1wiXG4gICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICA+PC9rd2lrdWktaW5wdXQ+XG4gICAgICA8L2ZpZWxkc2V0PlxuXG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJlbGVtZW50VHlwZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaHRtbCdcIj5cbiAgICAgICAgICA8b3RoZXItaHRtbC1jb25maWctZWRpdG9yXG4gICAgICAgICAgICBbc2F2ZU90aGVyQ2xpY2tDb3VudGVyXT1cInNhdmVPdGhlckNsaWNrQ291bnRlclwiXG4gICAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAgICh1cGRhdGVFbGVtZW50KT1cImhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvb3RoZXItaHRtbC1jb25maWctZWRpdG9yPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RpdGxlJ1wiPlxuICAgICAgICAgIDxvdGhlci10aXRsZS1jb25maWctZWRpdG9yXG4gICAgICAgICAgICBbc2F2ZU90aGVyQ2xpY2tDb3VudGVyXT1cInNhdmVPdGhlckNsaWNrQ291bnRlclwiXG4gICAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAgICh1cGRhdGVFbGVtZW50KT1cImhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvb3RoZXItdGl0bGUtY29uZmlnLWVkaXRvcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Zvcm0+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE90aGVyRWxlbWVudENvbmZpZ0VkaXRvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHNhdmVDbGlja0NvdW50ZXI6IG51bWJlciA9IDA7XG5cbiAgQElucHV0KClcbiAgZWxlbWVudENvbmZpZzogYW55ID0ge1xuICAgIGtleTogXCJcIlxuICB9O1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZWxlbWVudFR5cGU6IHN0cmluZyA9IFwiXCI7XG4gIHNhdmVPdGhlckNsaWNrQ291bnRlcjogbnVtYmVyID0gMDtcblxuICBvdGhlckZvcm1Hcm91cDogRm9ybUdyb3VwID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBAbG9nTWV0aG9kXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYXNzaWduVmFyaWFibGVzKCk7XG4gICAgdGhpcy5jcmVhdGVPdGhlckZvcm1Hcm91cCgpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgdmVyaWZ5Q2hhbmdlID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmICFjaGFuZ2VzW2tleV0uZmlyc3RDaGFuZ2U7XG4gICAgfTtcblxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJlbGVtZW50Q29uZmlnXCIpKSB7XG4gICAgICB0aGlzLmVsZW1lbnRDb25maWcgPSBjaGFuZ2VzLmVsZW1lbnRDb25maWcuY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy5hc3NpZ25WYXJpYWJsZXMoKTtcbiAgICAgIHRoaXMub3RoZXJGb3JtR3JvdXA/LnJlc2V0KHRoaXMuZWxlbWVudENvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmeUNoYW5nZShcInNhdmVDbGlja0NvdW50ZXJcIikpIHtcbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlcy5zYXZlQ2xpY2tDb3VudGVyLnByZXZpb3VzVmFsdWUgIT09XG4gICAgICAgIGNoYW5nZXMuc2F2ZUNsaWNrQ291bnRlci5jdXJyZW50VmFsdWVcbiAgICAgICkge1xuICAgICAgICB0aGlzLnNhdmVDbGlja0NvdW50ZXIgPSBjaGFuZ2VzLnNhdmVDbGlja0NvdW50ZXIuY3VycmVudFZhbHVlO1xuXG4gICAgICAgIHRoaXMuaGFuZGxlT25TYXZlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBhc3NpZ25WYXJpYWJsZXMoKSB7XG4gICAgdGhpcy5lbGVtZW50VHlwZSA9IHRoaXMuZWxlbWVudENvbmZpZy5lbGVtZW50VHlwZTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgY3JlYXRlT3RoZXJGb3JtR3JvdXAoKSB7XG4gICAgdGhpcy5vdGhlckZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAga2V5OiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLmtleSlcbiAgICB9KTtcbiAgICB0aGlzLm90aGVyRm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25TYXZlVXBkYXRlRWxlbWVudChldmVudDogYW55KSB7XG4gICAgLy8gR2V0IENvbW1vbiBDb25maWdcbiAgICBsZXQgb3RoZXJFbGVtZW50Q29tbW9uQ29uZmlnID0gdGhpcy5vdGhlckZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuICAgIG90aGVyRWxlbWVudENvbW1vbkNvbmZpZy5rZXkgPSBvdGhlckVsZW1lbnRDb21tb25Db25maWcua2V5LnJlcGxhY2UoXG4gICAgICAvXFxzL2csXG4gICAgICBcIl9cIlxuICAgICk7XG5cbiAgICAvLyBHZXQgT3RoZXIgRWxlbWVudCBDb25maWdcbiAgICBjb25zdCBvdGhlckVsZW1lbnRDb25maWcgPSBldmVudC5vdGhlckVsZW1lbnRDb25maWc7XG5cbiAgICB0aGlzLmVsZW1lbnRDb25maWcgPSBfLm1lcmdlKFxuICAgICAgdGhpcy5lbGVtZW50Q29uZmlnLFxuICAgICAgb3RoZXJFbGVtZW50Q29tbW9uQ29uZmlnLFxuICAgICAgb3RoZXJFbGVtZW50Q29uZmlnXG4gICAgKTtcblxuICAgIHRoaXMudXBkYXRlRWxlbWVudC5lbWl0KHsgZWxlbWVudENvbmZpZzogdGhpcy5lbGVtZW50Q29uZmlnIH0pO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVPblNhdmUoKSB7XG4gICAgdGhpcy5zYXZlT3RoZXJDbGlja0NvdW50ZXIrKztcbiAgfVxufVxuIl19
|
|
@@ -4,7 +4,10 @@ import { FormControl, FormGroup } from "@angular/forms";
|
|
|
4
4
|
import { logMethod } from "kwikid-toolkit";
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "./editors/basic-element-config.editor.component";
|
|
7
|
-
import * as i2 from "
|
|
7
|
+
import * as i2 from "./editors/document-element-config.editor.component";
|
|
8
|
+
import * as i3 from "./editors/other-element-config.editor.component";
|
|
9
|
+
import * as i4 from "kwikui";
|
|
10
|
+
import * as i5 from "@angular/common";
|
|
8
11
|
export class ElementConfigEditor {
|
|
9
12
|
constructor() {
|
|
10
13
|
this.formKey = "";
|
|
@@ -52,7 +55,7 @@ export class ElementConfigEditor {
|
|
|
52
55
|
}
|
|
53
56
|
}
|
|
54
57
|
/** @nocollapse */ ElementConfigEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
/** @nocollapse */ ElementConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementConfigEditor, selector: "element-config-editor", inputs: { formKey: "formKey", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: "<div
|
|
58
|
+
/** @nocollapse */ ElementConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementConfigEditor, selector: "element-config-editor", inputs: { formKey: "formKey", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"container\"\n *ngIf=\"elementConfig\"\n>\n <div class=\"element-config-editor-header\">\n '{{ elementConfig.elementType }}' Element Config Editor\n </div>\n <div class=\"element-config-editor-body\"\n ><ng-container [ngSwitch]=\"elementCategory\">\n <!-- Basic -->\n <ng-container *ngSwitchCase=\"'basic'\">\n <basic-element-config-editor\n [saveClickCounter]=\"saveClickCounter\"\n [elementConfig]=\"elementConfig\"\n (updateElement)=\"handleOnSaveUpdateElement($event)\"\n ></basic-element-config-editor>\n </ng-container>\n <!-- Document -->\n <ng-container *ngSwitchCase=\"'document'\">\n <document-element-config-editor\n [saveClickCounter]=\"saveClickCounter\"\n [elementConfig]=\"elementConfig\"\n (updateElement)=\"handleOnSaveUpdateElement($event)\"\n ></document-element-config-editor>\n </ng-container>\n <!-- Other -->\n <ng-container *ngSwitchCase=\"'other'\">\n <other-element-config-editor\n [saveClickCounter]=\"saveClickCounter\"\n [elementConfig]=\"elementConfig\"\n (updateElement)=\"handleOnSaveUpdateElement($event)\"\n ></other-element-config-editor>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"element-config-editor-footer\">\n <!-- <button\n class=\"save-button\"\n type=\"submit\"\n (click)=\"handleOnClickSave()\"\n >\n Save\n </button> -->\n <kwikui-button\n [disabled]=\"false\"\n label=\"Save\"\n [showLoader]=\"false\"\n styles=\"\"\n class=\"save-button\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n size=\"m\"\n (onClick)=\"handleOnClickSave()\"\n ></kwikui-button>\n </div>\n</div>\n", styles: ["form{display:flex;align-content:center;justify-content:flex-start;flex:1;flex-direction:column;align-items:stretch;grid-gap:1rem;gap:1rem}.form-group{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;padding:.5rem 0}.form-group-title{margin-top:1rem}.container{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-gap:1rem;gap:1rem}.container .element-config-editor-footer{display:flex;flex-direction:row;align-items:center;justify-content:center;align-content:center;grid-gap:1rem;gap:1rem}\n", "kwikid-forms-builder fieldset{display:flex;flex-direction:column;justify-content:center;align-items:stretch;align-content:center;grid-gap:.5rem;gap:.5rem;padding:.5rem 1rem 1rem;box-shadow:0 0 10px -6px #000;border:0px solid gray;border-radius:1rem}kwikid-forms-builder table,kwikid-forms-builder tr,kwikid-forms-builder td{border:1px solid black;padding:.5rem 1rem}kwikui-table table{width:100%;box-shadow:0 0 10px -6px #000;border:0px solid gray;padding:0}\n"], components: [{ type: i1.BasicElementConfigEditor, selector: "basic-element-config-editor", inputs: ["saveClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i2.DocumentElementConfigEditor, selector: "document-element-config-editor", inputs: ["saveClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i3.OtherElementConfigEditor, selector: "other-element-config-editor", inputs: ["saveClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i4.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
56
59
|
__decorate([
|
|
57
60
|
logMethod
|
|
58
61
|
], ElementConfigEditor.prototype, "ngOnInit", null);
|
|
@@ -86,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
86
89
|
}], updateElement: [{
|
|
87
90
|
type: Output
|
|
88
91
|
}], ngOnInit: [], ngOnChanges: [], updateFormGroup: [], handleOnSaveUpdateElement: [], handleOnClickSave: [] } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1jb25maWctZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VsZW1lbnQtY29uZmlnLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyL2VsZW1lbnQtY29uZmlnLWVkaXRvci9lbGVtZW50LWNvbmZpZy1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBVzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFnQjlCO1FBZEEsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUdyQixrQkFBYSxHQUFRLFNBQVMsQ0FBQztRQUcvQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFDN0IsMkJBQXNCLEdBQWMsU0FBUyxDQUFDO1FBRTlDLHFCQUFnQixHQUFXLENBQUMsQ0FBQztJQUVkLENBQUM7SUFHaEIsUUFBUSxLQUFJLENBQUM7SUFHYixXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNuQyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztRQUVGLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7U0FDN0M7UUFDRCxJQUFJLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBRXhELElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7YUFDM0Q7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO2FBQy9EO1NBQ0Y7SUFDSCxDQUFDO0lBR0QsZUFBZTtRQUNiLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUMxQyxVQUFVLEVBQUUsSUFBSSxTQUFTLENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSxJQUFJLFdBQVcsQ0FDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUN6QztvQkFDRSxRQUFRLEVBQUUsUUFBUTtpQkFDbkIsQ0FDRjthQUNGLENBQUM7U0FDSCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsc0JBQXNCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBR0QseUJBQXlCLENBQUMsS0FBVTtRQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0QsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQzs7b0lBakVVLG1CQUFtQjt3SEFBbkIsbUJBQW1CLCtMQ3RCaEMsOHpEQTBEQTtBRGpCRTtJQURDLFNBQVM7bURBQ0c7QUFHYjtJQURDLFNBQVM7c0RBbUJUO0FBR0Q7SUFEQyxTQUFTOzBEQWFUO0FBR0Q7SUFEQyxTQUFTO29FQUdUO0FBR0Q7SUFEQyxTQUFTOzREQUdUOzRGQWpFVSxtQkFBbUI7a0JBVC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLHdDQUF3QztvQkFDckQsU0FBUyxFQUFFO3dCQUNULHdDQUF3Qzt3QkFDeEMsdUJBQXVCO3FCQUN4QjtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7MEVBR0MsT0FBTztzQkFETixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixhQUFhO3NCQURaLE1BQU07Z0JBWVAsUUFBUSxNQUdSLFdBQVcsTUFxQlgsZUFBZSxNQWVmLHlCQUF5QixNQUt6QixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBsb2dNZXRob2QgfSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImVsZW1lbnQtY29uZmlnLWVkaXRvclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2VsZW1lbnQtY29uZmlnLWVkaXRvci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcbiAgICBcIi4vZWxlbWVudC1jb25maWctZWRpdG9yLmNvbXBvbmVudC5zY3NzXCIsXG4gICAgXCIuLi9zaGFyZWQvc2hhcmVkLnNjc3NcIlxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRDb25maWdFZGl0b3IgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIGZvcm1LZXk6IHN0cmluZyA9IFwiXCI7XG5cbiAgQElucHV0KClcbiAgZWxlbWVudENvbmZpZzogYW55ID0gdW5kZWZpbmVkO1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZWxlbWVudFR5cGU6IHN0cmluZyA9IFwiXCI7XG4gIGVsZW1lbnRDYXRlZ29yeTogc3RyaW5nID0gXCJcIjtcbiAgZWxlbWVudEVkaXRvckZvcm1Hcm91cDogRm9ybUdyb3VwID0gdW5kZWZpbmVkO1xuXG4gIHNhdmVDbGlja0NvdW50ZXI6IG51bWJlciA9IDA7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkluaXQoKSB7fVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHZlcmlmeUNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiAhY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlO1xuICAgIH07XG5cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZm9ybUtleVwiKSkge1xuICAgICAgdGhpcy5mb3JtS2V5ID0gY2hhbmdlcy5mb3JtS2V5LmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgaWYgKHZlcmlmeUNoYW5nZShcImVsZW1lbnRDb25maWdcIikpIHtcbiAgICAgIHRoaXMuZWxlbWVudENvbmZpZyA9IGNoYW5nZXMuZWxlbWVudENvbmZpZy5jdXJyZW50VmFsdWU7XG5cbiAgICAgIGlmICh0aGlzLmVsZW1lbnRDb25maWcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRUeXBlID0gdGhpcy5lbGVtZW50Q29uZmlnLmVsZW1lbnRUeXBlO1xuICAgICAgICB0aGlzLmVsZW1lbnRDYXRlZ29yeSA9IHRoaXMuZWxlbWVudENvbmZpZy5lbGVtZW50Q2F0ZWdvcnk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCInZWxlbWVudENvbmZpZycgZG9lc24ndCBoYXZlICdlbGVtZW50VHlwZSdcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGxvZ01ldGhvZFxuICB1cGRhdGVGb3JtR3JvdXAoKSB7XG4gICAgdGhpcy5lbGVtZW50RWRpdG9yRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBwcm9wZXJ0aWVzOiBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgb3JpZW50YXRpb246IG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgICB0aGlzLmVsZW1lbnRDb25maWcucHJvcGVydGllcy5vcmllbnRhdGlvbixcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgfSlcbiAgICB9KTtcbiAgICB0aGlzLmVsZW1lbnRFZGl0b3JGb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUVsZW1lbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGhhbmRsZU9uQ2xpY2tTYXZlKCkge1xuICAgIHRoaXMuc2F2ZUNsaWNrQ291bnRlcisrO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiY29udGFpbmVyXCJcbiAgKm5nSWY9XCJlbGVtZW50Q29uZmlnXCJcbj5cbiAgPGRpdiBjbGFzcz1cImVsZW1lbnQtY29uZmlnLWVkaXRvci1oZWFkZXJcIj5cbiAgICAne3sgZWxlbWVudENvbmZpZy5lbGVtZW50VHlwZSB9fScgRWxlbWVudCBDb25maWcgRWRpdG9yXG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZWxlbWVudC1jb25maWctZWRpdG9yLWJvZHlcIlxuICAgID48bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJlbGVtZW50Q2F0ZWdvcnlcIj5cbiAgICAgIDwhLS0gQmFzaWMgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYmFzaWMnXCI+XG4gICAgICAgIDxiYXNpYy1lbGVtZW50LWNvbmZpZy1lZGl0b3JcbiAgICAgICAgICBbc2F2ZUNsaWNrQ291bnRlcl09XCJzYXZlQ2xpY2tDb3VudGVyXCJcbiAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICA+PC9iYXNpYy1lbGVtZW50LWNvbmZpZy1lZGl0b3I+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwhLS0gRG9jdW1lbnQgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZG9jdW1lbnQnXCI+XG4gICAgICAgIDxkb2N1bWVudC1lbGVtZW50LWNvbmZpZy1lZGl0b3JcbiAgICAgICAgICBbc2F2ZUNsaWNrQ291bnRlcl09XCJzYXZlQ2xpY2tDb3VudGVyXCJcbiAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICA+PC9kb2N1bWVudC1lbGVtZW50LWNvbmZpZy1lZGl0b3I+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwhLS0gT3RoZXIgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInb3RoZXInXCI+XG4gICAgICAgIDxvdGhlci1lbGVtZW50LWNvbmZpZy1lZGl0b3JcbiAgICAgICAgICBbc2F2ZUNsaWNrQ291bnRlcl09XCJzYXZlQ2xpY2tDb3VudGVyXCJcbiAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICA+PC9vdGhlci1lbGVtZW50LWNvbmZpZy1lZGl0b3I+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJlbGVtZW50LWNvbmZpZy1lZGl0b3ItZm9vdGVyXCI+XG4gICAgPCEtLSA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNhdmUtYnV0dG9uXCJcbiAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZU9uQ2xpY2tTYXZlKClcIlxuICAgID5cbiAgICAgIFNhdmVcbiAgICA8L2J1dHRvbj4gLS0+XG4gICAgPGt3aWt1aS1idXR0b25cbiAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICBsYWJlbD1cIlNhdmVcIlxuICAgICAgW3Nob3dMb2FkZXJdPVwiZmFsc2VcIlxuICAgICAgc3R5bGVzPVwiXCJcbiAgICAgIGNsYXNzPVwic2F2ZS1idXR0b25cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhcHBlYXJhbmNlPVwicHJpbWFyeVwiXG4gICAgICBpY29uPVwiXCJcbiAgICAgIGljb25SaWdodD1cIlwiXG4gICAgICBzaXplPVwibVwiXG4gICAgICAob25DbGljayk9XCJoYW5kbGVPbkNsaWNrU2F2ZSgpXCJcbiAgICA+PC9rd2lrdWktYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|