kwikid-forms 0.4.1 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/bundles/kwikid-forms.umd.js +1868 -3663
  2. package/bundles/kwikid-forms.umd.js.map +1 -1
  3. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.component.js +403 -0
  4. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.definitions.js +6 -0
  5. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.helper.js +29 -0
  6. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.module.js +39 -0
  7. package/esm2015/lib/builder/builder-form-editor/builder.form-editor.constants.js +189 -0
  8. package/esm2015/lib/builder/builder-form-editor/builder.form-editor.service.js +43 -0
  9. package/esm2015/lib/builder/builder-form-list/builder-forms-list.component.js +99 -0
  10. package/esm2015/lib/builder/builder-form-list/builder-forms-list.module.js +40 -0
  11. package/esm2015/lib/builder/builder.component.js +111 -258
  12. package/esm2015/lib/builder/builder.helper.js +78 -0
  13. package/esm2015/lib/builder/builder.module.js +15 -72
  14. package/esm2015/lib/kwikid-forms.module.js +4 -16
  15. package/esm2015/lib/renderer/config-converter/config-converter.constants.js +74 -0
  16. package/esm2015/lib/renderer/config-converter/config-converter.helper.js +49 -0
  17. package/esm2015/lib/renderer/config-converter/config-converter.js +514 -0
  18. package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +2 -1
  19. package/esm2015/lib/renderer/form-view/form-view.component.js +4 -33
  20. package/esm2015/lib/renderer/form-view/form-view.module.js +7 -6
  21. package/esm2015/lib/renderer/forms-list/forms-list.component.js +3 -5
  22. package/esm2015/lib/renderer/forms-list/forms-list.module.js +7 -5
  23. package/esm2015/lib/renderer/renderer.component.js +4 -6
  24. package/esm2015/public_api.js +1 -3
  25. package/fesm2015/kwikid-forms.js +1452 -5045
  26. package/fesm2015/kwikid-forms.js.map +1 -1
  27. package/lib/builder/builder-form-editor/builder-form-editor.component.d.ts +108 -0
  28. package/lib/builder/builder-form-editor/builder-form-editor.definitions.d.ts +5 -0
  29. package/lib/builder/builder-form-editor/builder-form-editor.helper.d.ts +3 -0
  30. package/lib/builder/builder-form-editor/builder-form-editor.module.d.ts +11 -0
  31. package/lib/{builder2 → builder}/builder-form-editor/builder.form-editor.constants.d.ts +76 -0
  32. package/lib/builder/builder-form-editor/builder.form-editor.service.d.ts +7 -0
  33. package/lib/{builder2 → builder}/builder-form-list/builder-forms-list.component.d.ts +2 -1
  34. package/lib/{builder2 → builder}/builder-form-list/builder-forms-list.module.d.ts +1 -1
  35. package/lib/builder/builder.component.d.ts +15 -34
  36. package/lib/builder/builder.helper.d.ts +1 -0
  37. package/lib/builder/builder.module.d.ts +7 -21
  38. package/lib/kwikid-forms.module.d.ts +2 -3
  39. package/lib/renderer/config-converter/config-converter.constants.d.ts +73 -0
  40. package/lib/renderer/config-converter/config-converter.d.ts +5 -0
  41. package/lib/renderer/config-converter/config-converter.helper.d.ts +7 -0
  42. package/lib/renderer/form-view/definitions/form-view.fields.definition.d.ts +1 -0
  43. package/lib/renderer/form-view/form-view.component.d.ts +0 -4
  44. package/lib/renderer/form-view/form-view.module.d.ts +7 -9
  45. package/lib/renderer/forms-list/forms-list.module.d.ts +5 -6
  46. package/package.json +3 -3
  47. package/public_api.d.ts +0 -2
  48. package/esm2015/lib/builder/element-config-editor/editors/basic/checkbox-config.editor.component.js +0 -72
  49. package/esm2015/lib/builder/element-config-editor/editors/basic/date-config.editor.component.js +0 -72
  50. package/esm2015/lib/builder/element-config-editor/editors/basic/number-config.editor.component.js +0 -72
  51. package/esm2015/lib/builder/element-config-editor/editors/basic/otp-config.editor.component.js +0 -130
  52. package/esm2015/lib/builder/element-config-editor/editors/basic/phone-config.editor.component.js +0 -132
  53. package/esm2015/lib/builder/element-config-editor/editors/basic/radio-config.editor.component.js +0 -396
  54. package/esm2015/lib/builder/element-config-editor/editors/basic/select-config.editor.component.js +0 -302
  55. package/esm2015/lib/builder/element-config-editor/editors/basic/text-config.editor.component.js +0 -132
  56. package/esm2015/lib/builder/element-config-editor/editors/basic-element-config.editor.component.js +0 -698
  57. package/esm2015/lib/builder/element-config-editor/editors/document/aadhaar-number-config.editor.component.js +0 -130
  58. package/esm2015/lib/builder/element-config-editor/editors/document/pan-number-config.editor.component.js +0 -135
  59. package/esm2015/lib/builder/element-config-editor/editors/document-element-config.editor.component.js +0 -610
  60. package/esm2015/lib/builder/element-config-editor/editors/other/html-config.editor.component.js +0 -120
  61. package/esm2015/lib/builder/element-config-editor/editors/other/title-config.editor.component.js +0 -121
  62. package/esm2015/lib/builder/element-config-editor/editors/other-element-config.editor.component.js +0 -214
  63. package/esm2015/lib/builder/element-config-editor/element-config-editor.component.js +0 -97
  64. package/esm2015/lib/builder/shared/elements.js +0 -90
  65. package/esm2015/lib/builder/shared/helpers.js +0 -6
  66. package/esm2015/lib/builder2/builder-form-editor/builder-form-editor.component.js +0 -268
  67. package/esm2015/lib/builder2/builder-form-editor/builder-form-editor.module.js +0 -38
  68. package/esm2015/lib/builder2/builder-form-editor/builder-form-editor.pipe.js +0 -19
  69. package/esm2015/lib/builder2/builder-form-editor/builder.form-editor.constants.js +0 -178
  70. package/esm2015/lib/builder2/builder-form-list/builder-forms-list.component.js +0 -85
  71. package/esm2015/lib/builder2/builder-form-list/builder-forms-list.module.js +0 -37
  72. package/esm2015/lib/builder2/builder2.component.js +0 -169
  73. package/esm2015/lib/builder2/builder2.module.js +0 -46
  74. package/esm2015/lib/renderer/config-converter.helper.js +0 -629
  75. package/esm2015/lib/renderer/form-view/pipes/safe-html.pipe.js +0 -25
  76. package/esm2015/lib/renderer/form-view/pipes/safe-url.pipe.js +0 -25
  77. package/esm2015/lib/renderer/forms-list/pipes/safe-html.pipe.js +0 -25
  78. package/lib/builder/element-config-editor/editors/basic/checkbox-config.editor.component.d.ts +0 -16
  79. package/lib/builder/element-config-editor/editors/basic/date-config.editor.component.d.ts +0 -16
  80. package/lib/builder/element-config-editor/editors/basic/number-config.editor.component.d.ts +0 -16
  81. package/lib/builder/element-config-editor/editors/basic/otp-config.editor.component.d.ts +0 -16
  82. package/lib/builder/element-config-editor/editors/basic/phone-config.editor.component.d.ts +0 -16
  83. package/lib/builder/element-config-editor/editors/basic/radio-config.editor.component.d.ts +0 -25
  84. package/lib/builder/element-config-editor/editors/basic/select-config.editor.component.d.ts +0 -24
  85. package/lib/builder/element-config-editor/editors/basic/text-config.editor.component.d.ts +0 -16
  86. package/lib/builder/element-config-editor/editors/basic-element-config.editor.component.d.ts +0 -20
  87. package/lib/builder/element-config-editor/editors/document/aadhaar-number-config.editor.component.d.ts +0 -16
  88. package/lib/builder/element-config-editor/editors/document/pan-number-config.editor.component.d.ts +0 -16
  89. package/lib/builder/element-config-editor/editors/document-element-config.editor.component.d.ts +0 -20
  90. package/lib/builder/element-config-editor/editors/other/html-config.editor.component.d.ts +0 -16
  91. package/lib/builder/element-config-editor/editors/other/title-config.editor.component.d.ts +0 -16
  92. package/lib/builder/element-config-editor/editors/other-element-config.editor.component.d.ts +0 -20
  93. package/lib/builder/element-config-editor/element-config-editor.component.d.ts +0 -20
  94. package/lib/builder/shared/elements.d.ts +0 -34
  95. package/lib/builder/shared/helpers.d.ts +0 -1
  96. package/lib/builder2/builder-form-editor/builder-form-editor.component.d.ts +0 -48
  97. package/lib/builder2/builder-form-editor/builder-form-editor.module.d.ts +0 -12
  98. package/lib/builder2/builder-form-editor/builder-form-editor.pipe.d.ts +0 -7
  99. package/lib/builder2/builder2.component.d.ts +0 -37
  100. package/lib/builder2/builder2.module.d.ts +0 -13
  101. package/lib/renderer/config-converter.helper.d.ts +0 -9
  102. package/lib/renderer/form-view/pipes/safe-html.pipe.d.ts +0 -15
  103. package/lib/renderer/form-view/pipes/safe-url.pipe.d.ts +0 -15
  104. package/lib/renderer/forms-list/pipes/safe-html.pipe.d.ts +0 -15
@@ -1,120 +0,0 @@
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", "placeholder", "properties", "validators"], 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==
@@ -1,121 +0,0 @@
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
@@ -1,214 +0,0 @@
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
@@ -1,97 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angular/core";
3
- import { FormControl, FormGroup } from "@angular/forms";
4
- import { checkObjectKeyExists, logMethod } from "kwikid-toolkit";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./editors/basic-element-config.editor.component";
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";
11
- export class ElementConfigEditor {
12
- constructor() {
13
- this.formKey = "";
14
- this.elementConfig = undefined;
15
- this.updateElement = new EventEmitter();
16
- this.elementType = "";
17
- this.elementCategory = "";
18
- this.elementEditorFormGroup = undefined;
19
- this.saveClickCounter = 0;
20
- }
21
- ngOnInit() { }
22
- ngOnChanges(changes) {
23
- const verifyChange = (key) => {
24
- return changes.hasOwnProperty(key) && !changes[key].firstChange;
25
- };
26
- if (verifyChange("formKey")) {
27
- this.formKey = changes.formKey.currentValue;
28
- }
29
- if (verifyChange("elementConfig")) {
30
- this.elementConfig = changes.elementConfig.currentValue;
31
- if (this.elementConfig !== undefined) {
32
- if (!checkObjectKeyExists(this.elementConfig, "elementType")) {
33
- throw new Error("'elementConfig' doesn't have 'elementType'");
34
- }
35
- else if (!checkObjectKeyExists(this.elementConfig, "elementCategory")) {
36
- throw new Error("'elementConfig' doesn't have 'elementCategory'");
37
- }
38
- else {
39
- this.elementType = this.elementConfig.elementType;
40
- this.elementCategory = this.elementConfig.elementCategory;
41
- }
42
- }
43
- }
44
- }
45
- updateFormGroup() {
46
- this.elementEditorFormGroup = new FormGroup({
47
- properties: new FormGroup({
48
- orientation: new FormControl(this.elementConfig.properties.orientation, {
49
- updateOn: "change"
50
- })
51
- })
52
- });
53
- this.elementEditorFormGroup.updateValueAndValidity();
54
- }
55
- handleOnSaveUpdateElement(event) {
56
- this.updateElement.emit(event);
57
- }
58
- handleOnClickSave() {
59
- this.saveClickCounter++;
60
- }
61
- }
62
- /** @nocollapse */ ElementConfigEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- /** @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 });
64
- __decorate([
65
- logMethod
66
- ], ElementConfigEditor.prototype, "ngOnInit", null);
67
- __decorate([
68
- logMethod
69
- ], ElementConfigEditor.prototype, "ngOnChanges", null);
70
- __decorate([
71
- logMethod
72
- ], ElementConfigEditor.prototype, "updateFormGroup", null);
73
- __decorate([
74
- logMethod
75
- ], ElementConfigEditor.prototype, "handleOnSaveUpdateElement", null);
76
- __decorate([
77
- logMethod
78
- ], ElementConfigEditor.prototype, "handleOnClickSave", null);
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementConfigEditor, decorators: [{
80
- type: Component,
81
- args: [{
82
- selector: "element-config-editor",
83
- templateUrl: "./element-config-editor.component.html",
84
- styleUrls: [
85
- "./element-config-editor.component.scss",
86
- "../shared/shared.scss"
87
- ],
88
- encapsulation: ViewEncapsulation.None
89
- }]
90
- }], ctorParameters: function () { return []; }, propDecorators: { formKey: [{
91
- type: Input
92
- }], elementConfig: [{
93
- type: Input
94
- }], updateElement: [{
95
- type: Output
96
- }], ngOnInit: [], ngOnChanges: [], updateFormGroup: [], handleOnSaveUpdateElement: [], handleOnClickSave: [] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1jb25maWctZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VsZW1lbnQtY29uZmlnLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyL2VsZW1lbnQtY29uZmlnLWVkaXRvci9lbGVtZW50LWNvbmZpZy1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBV2pFLE1BQU0sT0FBTyxtQkFBbUI7SUFnQjlCO1FBZEEsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUdyQixrQkFBYSxHQUFRLFNBQVMsQ0FBQztRQUcvQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFDN0IsMkJBQXNCLEdBQWMsU0FBUyxDQUFDO1FBRTlDLHFCQUFnQixHQUFXLENBQUMsQ0FBQztJQUVkLENBQUM7SUFHaEIsUUFBUSxLQUFJLENBQUM7SUFHYixXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNuQyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztRQUVGLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7U0FDN0M7UUFDRCxJQUFJLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBRXhELElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxFQUFFO29CQUM1RCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7aUJBQy9EO3FCQUFNLElBQ0wsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLEVBQzVEO29CQUNBLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztpQkFDbkU7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztvQkFDbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQztpQkFDM0Q7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUdELGVBQWU7UUFDYixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDMUMsVUFBVSxFQUFFLElBQUksU0FBUyxDQUFDO2dCQUN4QixXQUFXLEVBQUUsSUFBSSxXQUFXLENBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFDekM7b0JBQ0UsUUFBUSxFQUFFLFFBQVE7aUJBQ25CLENBQ0Y7YUFDRixDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUdELHlCQUF5QixDQUFDLEtBQVU7UUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUdELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7O29JQXZFVSxtQkFBbUI7d0hBQW5CLG1CQUFtQiwrTEN0QmhDLDh6REEwREE7QURqQkU7SUFEQyxTQUFTO21EQUNHO0FBR2I7SUFEQyxTQUFTO3NEQXlCVDtBQUdEO0lBREMsU0FBUzswREFhVDtBQUdEO0lBREMsU0FBUztvRUFHVDtBQUdEO0lBREMsU0FBUzs0REFHVDs0RkF2RVUsbUJBQW1CO2tCQVQvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRTt3QkFDVCx3Q0FBd0M7d0JBQ3hDLHVCQUF1QjtxQkFDeEI7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDOzBFQUdDLE9BQU87c0JBRE4sS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixNQUFNO2dCQVlQLFFBQVEsTUFHUixXQUFXLE1BMkJYLGVBQWUsTUFlZix5QkFBeUIsTUFLekIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgY2hlY2tPYmplY3RLZXlFeGlzdHMsIGxvZ01ldGhvZCB9IGZyb20gXCJrd2lraWQtdG9vbGtpdFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZWxlbWVudC1jb25maWctZWRpdG9yXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZWxlbWVudC1jb25maWctZWRpdG9yLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1xuICAgIFwiLi9lbGVtZW50LWNvbmZpZy1lZGl0b3IuY29tcG9uZW50LnNjc3NcIixcbiAgICBcIi4uL3NoYXJlZC9zaGFyZWQuc2Nzc1wiXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRWxlbWVudENvbmZpZ0VkaXRvciBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgZm9ybUtleTogc3RyaW5nID0gXCJcIjtcblxuICBASW5wdXQoKVxuICBlbGVtZW50Q29uZmlnOiBhbnkgPSB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpXG4gIHVwZGF0ZUVsZW1lbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBlbGVtZW50VHlwZTogc3RyaW5nID0gXCJcIjtcbiAgZWxlbWVudENhdGVnb3J5OiBzdHJpbmcgPSBcIlwiO1xuICBlbGVtZW50RWRpdG9yRm9ybUdyb3VwOiBGb3JtR3JvdXAgPSB1bmRlZmluZWQ7XG5cbiAgc2F2ZUNsaWNrQ291bnRlcjogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uSW5pdCgpIHt9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgdmVyaWZ5Q2hhbmdlID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmICFjaGFuZ2VzW2tleV0uZmlyc3RDaGFuZ2U7XG4gICAgfTtcblxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJmb3JtS2V5XCIpKSB7XG4gICAgICB0aGlzLmZvcm1LZXkgPSBjaGFuZ2VzLmZvcm1LZXkuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZWxlbWVudENvbmZpZ1wiKSkge1xuICAgICAgdGhpcy5lbGVtZW50Q29uZmlnID0gY2hhbmdlcy5lbGVtZW50Q29uZmlnLmN1cnJlbnRWYWx1ZTtcblxuICAgICAgaWYgKHRoaXMuZWxlbWVudENvbmZpZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICghY2hlY2tPYmplY3RLZXlFeGlzdHModGhpcy5lbGVtZW50Q29uZmlnLCBcImVsZW1lbnRUeXBlXCIpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiJ2VsZW1lbnRDb25maWcnIGRvZXNuJ3QgaGF2ZSAnZWxlbWVudFR5cGUnXCIpO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICFjaGVja09iamVjdEtleUV4aXN0cyh0aGlzLmVsZW1lbnRDb25maWcsIFwiZWxlbWVudENhdGVnb3J5XCIpXG4gICAgICAgICkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIidlbGVtZW50Q29uZmlnJyBkb2Vzbid0IGhhdmUgJ2VsZW1lbnRDYXRlZ29yeSdcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50VHlwZSA9IHRoaXMuZWxlbWVudENvbmZpZy5lbGVtZW50VHlwZTtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRDYXRlZ29yeSA9IHRoaXMuZWxlbWVudENvbmZpZy5lbGVtZW50Q2F0ZWdvcnk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIHVwZGF0ZUZvcm1Hcm91cCgpIHtcbiAgICB0aGlzLmVsZW1lbnRFZGl0b3JGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgIHByb3BlcnRpZXM6IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBvcmllbnRhdGlvbjogbmV3IEZvcm1Db250cm9sKFxuICAgICAgICAgIHRoaXMuZWxlbWVudENvbmZpZy5wcm9wZXJ0aWVzLm9yaWVudGF0aW9uLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHVwZGF0ZU9uOiBcImNoYW5nZVwiXG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICB9KVxuICAgIH0pO1xuICAgIHRoaXMuZWxlbWVudEVkaXRvckZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlRWxlbWVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25DbGlja1NhdmUoKSB7XG4gICAgdGhpcy5zYXZlQ2xpY2tDb3VudGVyKys7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJjb250YWluZXJcIlxuICAqbmdJZj1cImVsZW1lbnRDb25maWdcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZWxlbWVudC1jb25maWctZWRpdG9yLWhlYWRlclwiPlxuICAgICd7eyBlbGVtZW50Q29uZmlnLmVsZW1lbnRUeXBlIH19JyBFbGVtZW50IENvbmZpZyBFZGl0b3JcbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJlbGVtZW50LWNvbmZpZy1lZGl0b3ItYm9keVwiXG4gICAgPjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImVsZW1lbnRDYXRlZ29yeVwiPlxuICAgICAgPCEtLSBCYXNpYyAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidiYXNpYydcIj5cbiAgICAgICAgPGJhc2ljLWVsZW1lbnQtY29uZmlnLWVkaXRvclxuICAgICAgICAgIFtzYXZlQ2xpY2tDb3VudGVyXT1cInNhdmVDbGlja0NvdW50ZXJcIlxuICAgICAgICAgIFtlbGVtZW50Q29uZmlnXT1cImVsZW1lbnRDb25maWdcIlxuICAgICAgICAgICh1cGRhdGVFbGVtZW50KT1cImhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoJGV2ZW50KVwiXG4gICAgICAgID48L2Jhc2ljLWVsZW1lbnQtY29uZmlnLWVkaXRvcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPCEtLSBEb2N1bWVudCAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkb2N1bWVudCdcIj5cbiAgICAgICAgPGRvY3VtZW50LWVsZW1lbnQtY29uZmlnLWVkaXRvclxuICAgICAgICAgIFtzYXZlQ2xpY2tDb3VudGVyXT1cInNhdmVDbGlja0NvdW50ZXJcIlxuICAgICAgICAgIFtlbGVtZW50Q29uZmlnXT1cImVsZW1lbnRDb25maWdcIlxuICAgICAgICAgICh1cGRhdGVFbGVtZW50KT1cImhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoJGV2ZW50KVwiXG4gICAgICAgID48L2RvY3VtZW50LWVsZW1lbnQtY29uZmlnLWVkaXRvcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPCEtLSBPdGhlciAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidvdGhlcidcIj5cbiAgICAgICAgPG90aGVyLWVsZW1lbnQtY29uZmlnLWVkaXRvclxuICAgICAgICAgIFtzYXZlQ2xpY2tDb3VudGVyXT1cInNhdmVDbGlja0NvdW50ZXJcIlxuICAgICAgICAgIFtlbGVtZW50Q29uZmlnXT1cImVsZW1lbnRDb25maWdcIlxuICAgICAgICAgICh1cGRhdGVFbGVtZW50KT1cImhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoJGV2ZW50KVwiXG4gICAgICAgID48L290aGVyLWVsZW1lbnQtY29uZmlnLWVkaXRvcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImVsZW1lbnQtY29uZmlnLWVkaXRvci1mb290ZXJcIj5cbiAgICA8IS0tIDxidXR0b25cbiAgICAgIGNsYXNzPVwic2F2ZS1idXR0b25cIlxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlT25DbGlja1NhdmUoKVwiXG4gICAgPlxuICAgICAgU2F2ZVxuICAgIDwvYnV0dG9uPiAtLT5cbiAgICA8a3dpa3VpLWJ1dHRvblxuICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgIGxhYmVsPVwiU2F2ZVwiXG4gICAgICBbc2hvd0xvYWRlcl09XCJmYWxzZVwiXG4gICAgICBzdHlsZXM9XCJcIlxuICAgICAgY2xhc3M9XCJzYXZlLWJ1dHRvblwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGFwcGVhcmFuY2U9XCJwcmltYXJ5XCJcbiAgICAgIGljb249XCJcIlxuICAgICAgaWNvblJpZ2h0PVwiXCJcbiAgICAgIHNpemU9XCJtXCJcbiAgICAgIChvbkNsaWNrKT1cImhhbmRsZU9uQ2xpY2tTYXZlKClcIlxuICAgID48L2t3aWt1aS1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=