kwikid-forms 0.2.9 → 0.2.11
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 +290 -101
- package/bundles/kwikid-forms.umd.js.map +1 -1
- package/esm2015/lib/builder/builder.component.js +1 -1
- package/esm2015/lib/renderer/config-converter.helper.js +35 -2
- package/esm2015/lib/renderer/form-view/definitions/form-view.actions.definition.js +3 -1
- package/esm2015/lib/renderer/form-view/definitions/form-view.apis.definition.js +6 -1
- package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +2 -1
- package/esm2015/lib/renderer/form-view/form-view.component.js +105 -58
- package/esm2015/lib/renderer/form-view/helpers/form-view.apis.helper.js +107 -51
- package/esm2015/lib/renderer/renderer.component.js +4 -5
- package/fesm2015/kwikid-forms.js +250 -108
- package/fesm2015/kwikid-forms.js.map +1 -1
- package/lib/renderer/form-view/definitions/form-view.actions.definition.d.ts +17 -2
- package/lib/renderer/form-view/definitions/form-view.apis.definition.d.ts +20 -2
- package/lib/renderer/form-view/definitions/form-view.fields.definition.d.ts +11 -2
- package/lib/renderer/form-view/form-view.component.d.ts +5 -2
- package/lib/renderer/form-view/helpers/form-view.apis.helper.d.ts +3 -2
- package/package.json +3 -3
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/drag-drop'), require('@angular/core'), require('@angular/forms'), require('kwikid-toolkit'), require('kwikui'), require('@angular/common'), require('@taiga-ui/core'), require('@taiga-ui/kit'), require('rxjs/operators'), require('@taiga-ui/cdk'), require('@angular/platform-browser'), require('@angular/animations'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define('kwikid-forms', ['exports', '@angular/cdk/drag-drop', '@angular/core', '@angular/forms', 'kwikid-toolkit', 'kwikui', '@angular/common', '@taiga-ui/core', '@taiga-ui/kit', 'rxjs/operators', '@taiga-ui/cdk', '@angular/platform-browser', '@angular/animations', '
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["kwikid-forms"] = {}, global.ng.cdk.dragDrop, global.ng.core, global.ng.forms, global["kwikid-toolkit"], global.kwikui, global.ng.common, global["@taiga-ui/core"], global["@taiga-ui/kit"], global.rxjs.operators, global["@taiga-ui/cdk"], global.ng.platformBrowser, global.ng.animations, global.
|
|
5
|
-
})(this, (function (exports, i4, i0, i1, kwikidToolkit, i2, i3, i3$1, i4$1, operators, cdk, i1$1, animations,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/drag-drop'), require('@angular/core'), require('@angular/forms'), require('kwikid-toolkit'), require('kwikui'), require('@angular/common'), require('@taiga-ui/core'), require('@taiga-ui/kit'), require('rxjs/operators'), require('@taiga-ui/cdk'), require('@angular/platform-browser'), require('@angular/animations'), require('@angular/common/http')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('kwikid-forms', ['exports', '@angular/cdk/drag-drop', '@angular/core', '@angular/forms', 'kwikid-toolkit', 'kwikui', '@angular/common', '@taiga-ui/core', '@taiga-ui/kit', 'rxjs/operators', '@taiga-ui/cdk', '@angular/platform-browser', '@angular/animations', '@angular/common/http'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["kwikid-forms"] = {}, global.ng.cdk.dragDrop, global.ng.core, global.ng.forms, global["kwikid-toolkit"], global.kwikui, global.ng.common, global["@taiga-ui/core"], global["@taiga-ui/kit"], global.rxjs.operators, global["@taiga-ui/cdk"], global.ng.platformBrowser, global.ng.animations, global.ng.common.http));
|
|
5
|
+
})(this, (function (exports, i4, i0, i1, kwikidToolkit, i2, i3, i3$1, i4$1, operators, cdk, i1$1, animations, http) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopNamespace(e) {
|
|
8
8
|
if (e && e.__esModule) return e;
|
|
@@ -30,7 +30,6 @@
|
|
|
30
30
|
var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
|
|
31
31
|
var i4__namespace$1 = /*#__PURE__*/_interopNamespace(i4$1);
|
|
32
32
|
var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
|
|
33
|
-
var cloneDeep__namespace = /*#__PURE__*/_interopNamespace(cloneDeep);
|
|
34
33
|
|
|
35
34
|
/******************************************************************************
|
|
36
35
|
Copyright (c) Microsoft Corporation.
|
|
@@ -1154,7 +1153,7 @@
|
|
|
1154
1153
|
return KwikIDFormsBuilderComponent;
|
|
1155
1154
|
}());
|
|
1156
1155
|
/** @nocollapse */ KwikIDFormsBuilderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormsBuilderComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
1157
|
-
/** @nocollapse */ KwikIDFormsBuilderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsBuilderComponent, selector: "kwikid-forms-builder", ngImport: i0__namespace, template: "<div class=\"container\">\n <div class=\"wrapper\">\n <div class=\"builder-header\">\n <div class=\"builder-title\">KwikID Form Builder</div>\n <form\n [formGroup]=\"builderFormGroup\"\n class=\"builder-form\"\n >\n <kwikui-input\n [label]=\"'Form Key'\"\n [id]=\"'form_key'\"\n [type]=\"'text'\"\n [formControlName]=\"'formKey'\"\n [formControl]=\"builderFormGroup.controls['formKey']\"\n [disabled]=\"false\"\n [placeholder]=\"'Please enter a Form Key'\"\n [focus]=\"false\"\n [invalid]=\"false\"\n [case]=\"'upper'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-input\n [label]=\"'Form Title'\"\n [id]=\"'form_title'\"\n [type]=\"'text'\"\n [formControlName]=\"'formTitle'\"\n [formControl]=\"builderFormGroup.controls['formTitle']\"\n [disabled]=\"false\"\n [placeholder]=\"'Please enter a Form Title'\"\n [focus]=\"false\"\n [invalid]=\"false\"\n [case]=\"'default'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-button\n [disabled]=\"builderFormGroup.valid\"\n id=\"save_form_btn\"\n label=\"Save Form\"\n [showLoader]=\"false\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"'rounded'\"\n size=\"m\"\n (onClick)=\"handleOnClickSaveForms($event)\"\n ></kwikui-button>\n </form>\n </div>\n <div class=\"builder-body\">\n <div class=\"form-elements-drag-wrapper\">\n <div\n class=\"form-elements-drag\"\n cdkDropList\n [cdkDropListData]=\"formElementsDragList\"\n cdkDropListSortingDisabled\n [cdkDropListConnectedTo]=\"[formElementsList]\"\n (cdkDropListExited)=\"exit($event, 'other')\"\n (cdkDropListEntered)=\"enter($event, 'other')\"\n >\n <ng-container\n *ngFor=\"let formElementDragItem of formElementsDragList\"\n >\n <ng-container *ngIf=\"formElementDragItem.isElement\">\n <div\n class=\"form-element-drag\"\n cdkDrag\n [cdkDragData]=\"formElementDragItem\"\n >\n ⋮⋮ {{ formElementDragItem.elementTitle }}\n <!-- <ng-container *ngComponentOutlet=\"formElementDragItem.component\"></ng-container> -->\n </div>\n <div\n class=\"form-element-drag\"\n *cdkDragPlaceholder\n >\n {{ formElementDragItem.elementTitle }}\n </div>\n </ng-container>\n <ng-container *ngIf=\"!formElementDragItem.isElement\">\n <div class=\"form-element-category\">\n {{ formElementDragItem.elementTitle }}\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div\n class=\"form-elements-drop-wrapper\"\n cdkDropList\n #formElementsList=\"cdkDropList\"\n [cdkDropListData]=\"formElementsDropList\"\n (cdkDropListDropped)=\"drop($event, '')\"\n [cdkDropListEnterPredicate]=\"isElementPredicate\"\n >\n <ng-container\n *ngFor=\"\n let formElementDropItem of formElementsDropList;\n let idx = index\n \"\n >\n <div\n class=\"form-drop-element\"\n cdkDrag\n >\n <div class=\"form-drop-element-grab-symbol\">⋮⋮</div>\n <div class=\"form-drop-element-main\">\n <div class=\"form-drop-element-header\">\n <div class=\"form-drop-element-title\">\n {{ formElementDropItem.elementTitle }}\n </div>\n <div class=\"form-drop-element-actions\">\n <kwikui-button-icon\n [disabled]=\"false\"\n [id]=\"'edit-element'\"\n [showLoader]=\"false\"\n [styles]=\"\"\n [class]=\"\"\n [type]=\"'button'\"\n [appearance]=\"'secondary'\"\n [icon]=\"'tuiIconEdit'\"\n [shape]=\"'rounded'\"\n [size]=\"'s'\"\n (onClick)=\"editElement(idx, formElementDropItem)\"\n ></kwikui-button-icon>\n <kwikui-button-icon\n [disabled]=\"false\"\n [id]=\"'remove-element'\"\n [showLoader]=\"false\"\n [styles]=\"\"\n [class]=\"\"\n [type]=\"'button'\"\n [appearance]=\"'accent'\"\n [icon]=\"'tuiIconCloseLarge'\"\n [shape]=\"'rounded'\"\n [size]=\"'s'\"\n (onClick)=\"removeElement(idx, formElementDropItem)\"\n ></kwikui-button-icon>\n <!-- <button\n (click)=\"editElement(idx, formElementDropItem)\"\n title=\"edit element properties\"\n >\n ✎\n </button>\n <button\n (click)=\"removeElement(idx, formElementDropItem)\"\n title=\"delete element\"\n >\n ✖\n </button> -->\n </div>\n </div>\n <div class=\"form-drop-element-body\"> </div>\n <div class=\"form-drop-element-footer\">\n <div class=\"form-drop-element-id\">\n {{ formElementDropItem.elementId }}\n </div>\n <div class=\"form-drop-element-category\">\n {{ formElementDropItem.elementCategory }}\n </div>\n <div class=\"form-drop-element-type\">\n {{ formElementDropItem.elementType }}\n </div>\n </div>\n <div\n class=\"example-custom-placeholder\"\n *cdkDragPlaceholder\n ></div>\n <!-- <ng-container *ngComponentOutlet=\"formElementDropItem.component\"> </ng-container> -->\n <!-- <ng-container *ngTemplateOutlet=\"formModal; context: formElementDropItem\"></ng-container> -->\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"element-property-editor-wrapper\">\n <element-config-editor\n [elementConfig]=\"elementEditorElementConfig\"\n (updateElement)=\"handleOnSaveUpdateElement($event)\"\n ></element-config-editor>\n </div>\n </div>\n <div class=\"builder-footer\"> © Baiju Dodhia, KwikID </div>\n </div>\n</div>\n", styles: ["kwikid-forms-builder button{align-content:center;align-items:center;background:black;border-color:transparent;box-shadow:0 2px 10px -6px #000;border-radius:1rem;color:#fff;cursor:pointer;display:flex;flex-direction:row;justify-content:center;padding:.5rem;transform:scale(1);transition:.05s ease-in}kwikid-forms-builder button:hover{box-shadow:0 2px 10px -5px #000}kwikid-forms-builder button:active{transform:scale(.98);transition:.05s ease-out}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 2px 10px -6px #000;border:1px solid gray}kwikid-forms-builder input,kwikid-forms-builder select{flex:1;width:100%;border:1px solid black;outline:none;padding:.25rem;overflow-x:auto}kwikid-forms-builder table,kwikid-forms-builder tr,kwikid-forms-builder td{border:1px solid black;padding:.5rem 1rem}\n", ":host{all:unset;position:relative;width:100%;height:100%}.container{width:100%;height:100%;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.container .wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:space-between;align-items:stretch}.container .wrapper .builder-header{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:1rem;column-gap:1rem;padding:1rem;max-height:max-content;border:1px solid lightgray;box-shadow:0 2px 10px -6px #000}.container .wrapper .builder-header .builder-title{font-weight:bold;display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center}.container .wrapper .builder-header .builder-form{display:flex;align-content:center;justify-content:flex-end;flex:1;flex-direction:row;align-items:center;grid-gap:1rem;gap:1rem;width:100%}.container .wrapper .builder-header .builder-form kwikui-input{width:16rem}.container .wrapper .builder-body{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:stretch;grid-gap:1rem;gap:1rem;flex:1;padding:1rem;overflow:auto}.container .wrapper .builder-body>*{width:100%;border:1px solid lightgray;overflow:auto;box-shadow:0 2px 10px -6px #000}.container .wrapper .builder-body .form-elements-drag-wrapper{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-gap:1rem;gap:1rem;padding:1rem;min-width:16rem;max-width:16rem}.container .wrapper .builder-body .form-elements-drag-wrapper .form-elements-drag{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-gap:1rem;gap:1rem;border-bottom:none}.container .wrapper .builder-body .form-elements-drag-wrapper .form-elements-drag .form-element-drag{display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center;grid-gap:1rem;gap:1rem;border:1px solid lightgray;padding:1rem;cursor:grab;box-shadow:0 2px 10px -6px #000;text-transform:capitalize}.container .wrapper .builder-body .form-elements-drag-wrapper .form-elements-drag .form-element-category{display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center;grid-gap:1rem;gap:1rem;border-left:.25rem solid blue;padding:.5rem;background:lightblue}.container .wrapper .builder-body .form-elements-drop-wrapper{padding:1rem;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-gap:1rem;gap:1rem;min-width:20rem;max-width:28rem}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder{display:flex;justify-content:flex-start;justify-items:start;align-items:center;padding:1rem;border:1px solid lightgray;box-shadow:0 2px 10px -6px #000;cursor:grab;flex-direction:row;position:relative;grid-gap:1rem;gap:1rem}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main{flex:1;display:flex;justify-content:space-between;justify-items:start;align-items:stretch;flex-direction:column;width:100%;grid-gap:.5rem;gap:.5rem}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-header,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-header{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:1rem;column-gap:1rem}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-header .form-drop-element-actions,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-header .form-drop-element-actions{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-gap:1rem;gap:1rem}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-header .form-drop-element-actions button,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-header .form-drop-element-actions button{width:1.6rem;height:1.6rem;transform:rotate(90deg)!important}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-header .form-drop-element-actions button:first-child,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-header .form-drop-element-actions button:first-child{background-color:#dc143c!important;color:#fff!important}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-header .form-drop-element-actions button:last-child,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-header .form-drop-element-actions button:last-child{background-color:gray!important;color:#fff!important}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-body,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-body{border-top:1px dashed lightgray;border-bottom:1px dashed lightgray}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-footer,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-footer{display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center;grid-gap:.5rem;gap:.5rem}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-footer .form-drop-element-id,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-footer .form-drop-element-id{background:orange;padding:0 5px;border-radius:1rem;color:#fff}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-footer .form-drop-element-category,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-footer .form-drop-element-category{background:blue;padding:0 5px;border-radius:1rem;color:#fff}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-footer .form-drop-element-type,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-footer .form-drop-element-type{background:green;padding:0 5px;border-radius:1rem;color:#fff}.container .wrapper .builder-body .element-property-editor-wrapper{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;padding:1rem;min-width:20rem;grid-gap:1rem;gap:1rem}.container .wrapper .builder-footer{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-column-gap:1rem;column-gap:1rem;padding:1rem;max-height:30px;border:1px solid lightgray;box-shadow:0 -2px 10px -6px #000;font-weight:bold}.cdk-drag-preview{width:-moz-fit-content;width:fit-content;height:auto;box-sizing:border-box;background-color:transparent;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;cursor:grabbing}.cdk-drag-placeholder{opacity:1}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-custom-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], components: [{ type: i2__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "size", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIButtonIconComponent, selector: "kwikui-button-icon", inputs: ["disabled", "id", "showLoader", "styles", "class", "type", "appearance", "icon", "shape", "size"], outputs: ["onClick"] }, { type: ElementConfigEditor, selector: "element-config-editor", inputs: ["formKey", "elementConfig"], outputs: ["updateElement"] }], directives: [{ type: i1__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i1__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4__namespace.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "id", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListAutoScrollDisabled", "cdkDropListOrientation", "cdkDropListLockAxis", "cdkDropListData", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragDisabled", "cdkDragStartDelay", "cdkDragLockAxis", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragBoundary", "cdkDragRootElement", "cdkDragPreviewContainer", "cdkDragData", "cdkDragFreeDragPosition"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i4__namespace.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }] });
|
|
1156
|
+
/** @nocollapse */ KwikIDFormsBuilderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsBuilderComponent, selector: "kwikid-forms-builder", ngImport: i0__namespace, template: "<div class=\"container\">\n <div class=\"wrapper\">\n <div class=\"builder-header\">\n <div class=\"builder-title\">KwikID Form Builder</div>\n <form\n [formGroup]=\"builderFormGroup\"\n class=\"builder-form\"\n >\n <kwikui-input\n [label]=\"'Form Key'\"\n [id]=\"'form_key'\"\n [type]=\"'text'\"\n [formControlName]=\"'formKey'\"\n [formControl]=\"builderFormGroup.controls['formKey']\"\n [disabled]=\"false\"\n [placeholder]=\"'Please enter a Form Key'\"\n [focus]=\"false\"\n [invalid]=\"false\"\n [case]=\"'upper'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-input\n [label]=\"'Form Title'\"\n [id]=\"'form_title'\"\n [type]=\"'text'\"\n [formControlName]=\"'formTitle'\"\n [formControl]=\"builderFormGroup.controls['formTitle']\"\n [disabled]=\"false\"\n [placeholder]=\"'Please enter a Form Title'\"\n [focus]=\"false\"\n [invalid]=\"false\"\n [case]=\"'default'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-button\n [disabled]=\"builderFormGroup.valid\"\n id=\"save_form_btn\"\n label=\"Save Form\"\n [showLoader]=\"false\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"'rounded'\"\n size=\"m\"\n (onClick)=\"handleOnClickSaveForms($event)\"\n ></kwikui-button>\n </form>\n </div>\n <div class=\"builder-body\">\n <div class=\"form-elements-drag-wrapper\">\n <div\n class=\"form-elements-drag\"\n cdkDropList\n [cdkDropListData]=\"formElementsDragList\"\n cdkDropListSortingDisabled\n [cdkDropListConnectedTo]=\"[formElementsList]\"\n (cdkDropListExited)=\"exit($event, 'other')\"\n (cdkDropListEntered)=\"enter($event, 'other')\"\n >\n <ng-container\n *ngFor=\"let formElementDragItem of formElementsDragList\"\n >\n <ng-container *ngIf=\"formElementDragItem.isElement\">\n <div\n class=\"form-element-drag\"\n cdkDrag\n [cdkDragData]=\"formElementDragItem\"\n >\n ⋮⋮ {{ formElementDragItem.elementTitle }}\n <!-- <ng-container *ngComponentOutlet=\"formElementDragItem.component\"></ng-container> -->\n </div>\n <div\n class=\"form-element-drag\"\n *cdkDragPlaceholder\n >\n {{ formElementDragItem.elementTitle }}\n </div>\n </ng-container>\n <ng-container *ngIf=\"!formElementDragItem.isElement\">\n <div class=\"form-element-category\">\n {{ formElementDragItem.elementTitle }}\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div\n class=\"form-elements-drop-wrapper\"\n cdkDropList\n #formElementsList=\"cdkDropList\"\n [cdkDropListData]=\"formElementsDropList\"\n (cdkDropListDropped)=\"drop($event, '')\"\n [cdkDropListEnterPredicate]=\"isElementPredicate\"\n >\n <ng-container\n *ngFor=\"\n let formElementDropItem of formElementsDropList;\n let idx = index\n \"\n >\n <div\n class=\"form-drop-element\"\n cdkDrag\n >\n <div class=\"form-drop-element-grab-symbol\">⋮⋮</div>\n <div class=\"form-drop-element-main\">\n <div class=\"form-drop-element-header\">\n <div class=\"form-drop-element-title\">\n {{ formElementDropItem.elementTitle }}\n </div>\n <div class=\"form-drop-element-actions\">\n <kwikui-button-icon\n [disabled]=\"false\"\n [id]=\"'edit-element'\"\n [showLoader]=\"false\"\n [styles]=\"\"\n [class]=\"\"\n [type]=\"'button'\"\n [appearance]=\"'secondary'\"\n [icon]=\"'tuiIconEdit'\"\n [shape]=\"'rounded'\"\n [size]=\"'s'\"\n (onClick)=\"editElement(idx, formElementDropItem)\"\n ></kwikui-button-icon>\n <kwikui-button-icon\n [disabled]=\"false\"\n [id]=\"'remove-element'\"\n [showLoader]=\"false\"\n [styles]=\"\"\n [class]=\"\"\n [type]=\"'button'\"\n [appearance]=\"'accent'\"\n [icon]=\"'tuiIconCloseLarge'\"\n [shape]=\"'rounded'\"\n [size]=\"'s'\"\n (onClick)=\"removeElement(idx, formElementDropItem)\"\n ></kwikui-button-icon>\n <!-- <button\n (click)=\"editElement(idx, formElementDropItem)\"\n title=\"edit element properties\"\n >\n ✎\n </button>\n <button\n (click)=\"removeElement(idx, formElementDropItem)\"\n title=\"delete element\"\n >\n ✖\n </button> -->\n </div>\n </div>\n <div class=\"form-drop-element-body\"> </div>\n <div class=\"form-drop-element-footer\">\n <div class=\"form-drop-element-id\">\n {{ formElementDropItem.elementId }}\n </div>\n <div class=\"form-drop-element-category\">\n {{ formElementDropItem.elementCategory }}\n </div>\n <div class=\"form-drop-element-type\">\n {{ formElementDropItem.elementType }}\n </div>\n </div>\n <div\n class=\"example-custom-placeholder\"\n *cdkDragPlaceholder\n ></div>\n <!-- <ng-container *ngComponentOutlet=\"formElementDropItem.component\"> </ng-container> -->\n <!-- <ng-container *ngTemplateOutlet=\"formModal; context: formElementDropItem\"></ng-container> -->\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"element-property-editor-wrapper\">\n <element-config-editor\n [elementConfig]=\"elementEditorElementConfig\"\n (updateElement)=\"handleOnSaveUpdateElement($event)\"\n ></element-config-editor>\n </div>\n </div>\n <div class=\"builder-footer\"> © Baiju Dodhia, KwikID </div>\n </div>\n</div>\n", styles: ["kwikid-forms-builder button{align-content:center;align-items:center;background:black;border-color:transparent;box-shadow:0 2px 10px -6px #000;border-radius:1rem;color:#fff;cursor:pointer;display:flex;flex-direction:row;justify-content:center;padding:.5rem;transform:scale(1);transition:.05s ease-in}kwikid-forms-builder button:hover{box-shadow:0 2px 10px -5px #000}kwikid-forms-builder button:active{transform:scale(.98);transition:.05s ease-out}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 2px 10px -6px #000;border:1px solid gray}kwikid-forms-builder input,kwikid-forms-builder select{flex:1;width:100%;border:1px solid black;outline:none;padding:.25rem;overflow-x:auto}kwikid-forms-builder table,kwikid-forms-builder tr,kwikid-forms-builder td{border:1px solid black;padding:.5rem 1rem}\n", ":host{all:unset;position:relative;width:100%;height:100%}.container{width:100%;height:100%;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.container .wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:space-between;align-items:stretch}.container .wrapper .builder-header{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:1rem;column-gap:1rem;padding:1rem;max-height:max-content;border:1px solid lightgray;box-shadow:0 2px 10px -6px #000}.container .wrapper .builder-header .builder-title{font-weight:bold;display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center}.container .wrapper .builder-header .builder-form{display:flex;align-content:center;justify-content:flex-end;flex:1;flex-direction:row;align-items:center;grid-gap:1rem;gap:1rem;width:100%}.container .wrapper .builder-header .builder-form kwikui-input{width:16rem}.container .wrapper .builder-body{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:stretch;grid-gap:1rem;gap:1rem;flex:1;padding:1rem;overflow:auto}.container .wrapper .builder-body>*{width:100%;border:1px solid lightgray;overflow:auto;box-shadow:0 2px 10px -6px #000}.container .wrapper .builder-body .form-elements-drag-wrapper{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-gap:1rem;gap:1rem;padding:1rem;min-width:16rem;max-width:16rem}.container .wrapper .builder-body .form-elements-drag-wrapper .form-elements-drag{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-gap:1rem;gap:1rem;border-bottom:none}.container .wrapper .builder-body .form-elements-drag-wrapper .form-elements-drag .form-element-drag{display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center;grid-gap:1rem;gap:1rem;border:1px solid lightgray;padding:1rem;cursor:grab;box-shadow:0 2px 10px -6px #000;text-transform:capitalize}.container .wrapper .builder-body .form-elements-drag-wrapper .form-elements-drag .form-element-category{display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center;grid-gap:1rem;gap:1rem;border-left:.25rem solid blue;padding:.5rem;background:lightblue}.container .wrapper .builder-body .form-elements-drop-wrapper{padding:1rem;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-gap:1rem;gap:1rem;min-width:20rem;max-width:28rem}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder{display:flex;justify-content:flex-start;justify-items:start;align-items:center;padding:1rem;border:1px solid lightgray;box-shadow:0 2px 10px -6px #000;cursor:grab;flex-direction:row;position:relative;grid-gap:1rem;gap:1rem}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main{flex:1;display:flex;justify-content:space-between;justify-items:start;align-items:stretch;flex-direction:column;width:100%;grid-gap:.5rem;gap:.5rem}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-header,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-header{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:1rem;column-gap:1rem}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-header .form-drop-element-actions,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-header .form-drop-element-actions{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-gap:1rem;gap:1rem}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-header .form-drop-element-actions button,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-header .form-drop-element-actions button{width:1.6rem;height:1.6rem;transform:rotate(90deg)!important}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-header .form-drop-element-actions button:first-child,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-header .form-drop-element-actions button:first-child{background-color:#dc143c!important;color:#fff!important}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-header .form-drop-element-actions button:last-child,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-header .form-drop-element-actions button:last-child{background-color:gray!important;color:#fff!important}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-body,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-body{border-top:1px dashed lightgray;border-bottom:1px dashed lightgray}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-footer,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-footer{display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center;grid-gap:.5rem;gap:.5rem}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-footer .form-drop-element-id,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-footer .form-drop-element-id{background:orange;padding:0 5px;border-radius:1rem;color:#fff}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-footer .form-drop-element-category,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-footer .form-drop-element-category{background:blue;padding:0 5px;border-radius:1rem;color:#fff}.container .wrapper .builder-body .form-elements-drop-wrapper .form-drop-element .form-drop-element-main .form-drop-element-footer .form-drop-element-type,.container .wrapper .builder-body .form-elements-drop-wrapper .cdk-drag-placeholder .form-drop-element-main .form-drop-element-footer .form-drop-element-type{background:green;padding:0 5px;border-radius:1rem;color:#fff}.container .wrapper .builder-body .element-property-editor-wrapper{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;padding:1rem;min-width:20rem;grid-gap:1rem;gap:1rem}.container .wrapper .builder-footer{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-column-gap:1rem;column-gap:1rem;padding:1rem;max-height:30px;border:1px solid lightgray;box-shadow:0 -2px 10px -6px #000;font-weight:bold}.cdk-drag-preview{width:-moz-fit-content;width:fit-content;height:auto;box-sizing:border-box;background-color:transparent;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;cursor:grabbing}.cdk-drag-placeholder{opacity:1}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-custom-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], components: [{ type: i2__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "size", "icon", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIButtonIconComponent, selector: "kwikui-button-icon", inputs: ["disabled", "id", "showLoader", "styles", "class", "type", "appearance", "icon", "shape", "size"], outputs: ["onClick"] }, { type: ElementConfigEditor, selector: "element-config-editor", inputs: ["formKey", "elementConfig"], outputs: ["updateElement"] }], directives: [{ type: i1__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i1__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4__namespace.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "id", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListAutoScrollDisabled", "cdkDropListOrientation", "cdkDropListLockAxis", "cdkDropListData", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragDisabled", "cdkDragStartDelay", "cdkDragLockAxis", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragBoundary", "cdkDragRootElement", "cdkDragPreviewContainer", "cdkDragData", "cdkDragFreeDragPosition"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i4__namespace.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }] });
|
|
1158
1157
|
__decorate([
|
|
1159
1158
|
kwikidToolkit.logMethod
|
|
1160
1159
|
], KwikIDFormsBuilderComponent.prototype, "handleGetKeyValue", null);
|
|
@@ -1199,6 +1198,7 @@
|
|
|
1199
1198
|
EFieldType["API_CALL"] = "api-call";
|
|
1200
1199
|
EFieldType["OTP"] = "otp";
|
|
1201
1200
|
EFieldType["AADHAAR_NUMBER"] = "aadhaar-number";
|
|
1201
|
+
EFieldType["SLIDER"] = "slider";
|
|
1202
1202
|
})(EFieldType || (EFieldType = {}));
|
|
1203
1203
|
|
|
1204
1204
|
var getFormFieldByKey = function (fields, key) {
|
|
@@ -1595,6 +1595,15 @@
|
|
|
1595
1595
|
});
|
|
1596
1596
|
return field;
|
|
1597
1597
|
};
|
|
1598
|
+
var formatFieldTypeSlider = function (field) {
|
|
1599
|
+
field = _this.setFieldKeyValue(field, "isFormElement", true);
|
|
1600
|
+
field.properties = _this.setMissingFieldKeyValue(field.properties, "min", 0);
|
|
1601
|
+
field.properties = _this.setMissingFieldKeyValue(field.properties, "max", 100);
|
|
1602
|
+
field.properties = _this.setMissingFieldKeyValue(field.properties, "steps", 0);
|
|
1603
|
+
field.properties = _this.setMissingFieldKeyValue(field.properties, "quantum", 1);
|
|
1604
|
+
field.properties = _this.setMissingFieldKeyValue(field.properties, "size", "l");
|
|
1605
|
+
return field;
|
|
1606
|
+
};
|
|
1598
1607
|
var formatFieldTypeSearchText = function (field) {
|
|
1599
1608
|
field = _this.setFieldKeyValue(field, "isFormElement", true);
|
|
1600
1609
|
if (kwikidToolkit.checkObjectKeyExists(field, "type")) {
|
|
@@ -1633,6 +1642,26 @@
|
|
|
1633
1642
|
failed: "API Failed"
|
|
1634
1643
|
});
|
|
1635
1644
|
}
|
|
1645
|
+
if (!kwikidToolkit.checkObjectKeyExists(field.api, "request") &&
|
|
1646
|
+
!kwikidToolkit.checkObjectKeyExists(field.api, "entrypoint")) {
|
|
1647
|
+
// Set entrypoint as First endpoint.
|
|
1648
|
+
var entrypoint = {
|
|
1649
|
+
triggers: ["ON_API_CALL"],
|
|
1650
|
+
rules: [],
|
|
1651
|
+
actions: [
|
|
1652
|
+
{
|
|
1653
|
+
id: "1",
|
|
1654
|
+
key: "API_CALL",
|
|
1655
|
+
condition: "true",
|
|
1656
|
+
props: {
|
|
1657
|
+
fieldKey: field.key,
|
|
1658
|
+
apiKey: field.api.endpoints[0].apiKey
|
|
1659
|
+
}
|
|
1660
|
+
}
|
|
1661
|
+
]
|
|
1662
|
+
};
|
|
1663
|
+
field = kwikidToolkit.setMissingKeyValue(field.api, "entrypoint", entrypoint);
|
|
1664
|
+
}
|
|
1636
1665
|
return field;
|
|
1637
1666
|
};
|
|
1638
1667
|
var formatFieldTypeOtp = function (field) {
|
|
@@ -1670,6 +1699,9 @@
|
|
|
1670
1699
|
case EFieldType.RADIO:
|
|
1671
1700
|
field = formatFieldTypeRadio(field);
|
|
1672
1701
|
break;
|
|
1702
|
+
case EFieldType.SLIDER:
|
|
1703
|
+
field = formatFieldTypeSlider(field);
|
|
1704
|
+
break;
|
|
1673
1705
|
case "search-text":
|
|
1674
1706
|
field = formatFieldTypeSearchText(field);
|
|
1675
1707
|
break;
|
|
@@ -2041,6 +2073,7 @@
|
|
|
2041
2073
|
for (var fields_1 = __values(fields), fields_1_1 = fields_1.next(); !fields_1_1.done; fields_1_1 = fields_1.next()) {
|
|
2042
2074
|
var field = fields_1_1.value;
|
|
2043
2075
|
field = updateOnFieldType(field);
|
|
2076
|
+
console.log("FIELD", field);
|
|
2044
2077
|
field = formatFieldKeys(field);
|
|
2045
2078
|
fieldGroups = updateFormFieldGroups(fieldGroups, field);
|
|
2046
2079
|
field = updateFieldDefaultValueConfig(field);
|
|
@@ -2099,6 +2132,8 @@
|
|
|
2099
2132
|
EActionKey["FIELD_GROUP_ENABLE"] = "FIELD_GROUP_ENABLE";
|
|
2100
2133
|
EActionKey["FIELD_GROUP_DISABLE"] = "FIELD_GROUP_DISABLE";
|
|
2101
2134
|
EActionKey["SET_DROPDOWN_OPTIONS"] = "SET_DROPDOWN_OPTIONS";
|
|
2135
|
+
EActionKey["API_CALL"] = "API_CALL";
|
|
2136
|
+
EActionKey["API_CALL_END"] = "API_CALL_END";
|
|
2102
2137
|
})(EActionKey || (EActionKey = {}));
|
|
2103
2138
|
|
|
2104
2139
|
var EApiStatusType;
|
|
@@ -2108,6 +2143,11 @@
|
|
|
2108
2143
|
EApiStatusType["SUCCESS"] = "success";
|
|
2109
2144
|
EApiStatusType["FAILED"] = "failed";
|
|
2110
2145
|
})(EApiStatusType || (EApiStatusType = {}));
|
|
2146
|
+
var EApiRequestUrlType;
|
|
2147
|
+
(function (EApiRequestUrlType) {
|
|
2148
|
+
EApiRequestUrlType["MOCK"] = "MOCK";
|
|
2149
|
+
EApiRequestUrlType["CALCULATED"] = "CALCULATED";
|
|
2150
|
+
})(EApiRequestUrlType || (EApiRequestUrlType = {}));
|
|
2111
2151
|
|
|
2112
2152
|
var EMessageType;
|
|
2113
2153
|
(function (EMessageType) {
|
|
@@ -2461,10 +2501,8 @@
|
|
|
2461
2501
|
function Apis(object, takeAction) {
|
|
2462
2502
|
this._object = object;
|
|
2463
2503
|
this._takeAction = takeAction;
|
|
2464
|
-
this.
|
|
2465
|
-
this.
|
|
2466
|
-
this._response = this._object.FIELD_CONFIG.api.response;
|
|
2467
|
-
this._status = this._object.FIELD_CONFIG.api.status;
|
|
2504
|
+
this._request = this._object.API_CONFIG.request;
|
|
2505
|
+
this._response = this._object.API_CONFIG.response;
|
|
2468
2506
|
}
|
|
2469
2507
|
Object.defineProperty(Apis.prototype, "object", {
|
|
2470
2508
|
get: function () {
|
|
@@ -2476,6 +2514,28 @@
|
|
|
2476
2514
|
enumerable: false,
|
|
2477
2515
|
configurable: true
|
|
2478
2516
|
});
|
|
2517
|
+
Apis.prototype.setUrl = function () {
|
|
2518
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
2519
|
+
var source, url;
|
|
2520
|
+
return __generator(this, function (_e) {
|
|
2521
|
+
switch (_e.label) {
|
|
2522
|
+
case 0:
|
|
2523
|
+
if (!(this._request.url.hasOwnProperty("type") &&
|
|
2524
|
+
this._request.url.type === EApiRequestUrlType.CALCULATED)) return [3 /*break*/, 2];
|
|
2525
|
+
source = new kwikidToolkit.Source(this._object);
|
|
2526
|
+
return [4 /*yield*/, source.getValueFromSource(this._request.url.props.value.source)];
|
|
2527
|
+
case 1:
|
|
2528
|
+
url = _e.sent();
|
|
2529
|
+
this._request.url = kwikidToolkit.setValueToObjectPath(this._request.url, "value", url);
|
|
2530
|
+
return [3 /*break*/, 3];
|
|
2531
|
+
case 2:
|
|
2532
|
+
this._request.url = kwikidToolkit.setValueToObjectPath({}, "value", this._request.url);
|
|
2533
|
+
_e.label = 3;
|
|
2534
|
+
case 3: return [2 /*return*/, this._object.API_CONFIG];
|
|
2535
|
+
}
|
|
2536
|
+
});
|
|
2537
|
+
});
|
|
2538
|
+
};
|
|
2479
2539
|
Apis.prototype.setRequestBody = function () {
|
|
2480
2540
|
var _a, _b, _c, _d;
|
|
2481
2541
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -2484,6 +2544,8 @@
|
|
|
2484
2544
|
return __generator(this, function (_h) {
|
|
2485
2545
|
switch (_h.label) {
|
|
2486
2546
|
case 0:
|
|
2547
|
+
if (!kwikidToolkit.checkObjectKeyExists(this._request, "body")) return [3 /*break*/, 25];
|
|
2548
|
+
if (!kwikidToolkit.checkObjectKeyExists(this._request.headers, "params")) return [3 /*break*/, 23];
|
|
2487
2549
|
params = this._request.body.params;
|
|
2488
2550
|
paramIndex = 0;
|
|
2489
2551
|
_h.label = 1;
|
|
@@ -2507,7 +2569,7 @@
|
|
|
2507
2569
|
sources_2 = new kwikidToolkit.Source(this._object);
|
|
2508
2570
|
value = sources_2.getValueFromSource(source);
|
|
2509
2571
|
// Set the Value of current source.
|
|
2510
|
-
this._object.
|
|
2572
|
+
this._object.API_CONFIG = kwikidToolkit.setValueToObjectPath(this._object.API_CONFIG, "request.body.params[" + paramIndex + "].sources[" + sourceIndex + "].value", value);
|
|
2511
2573
|
validation = source.validation;
|
|
2512
2574
|
triggers = (_a = validation === null || validation === void 0 ? void 0 : validation.triggers) !== null && _a !== void 0 ? _a : [];
|
|
2513
2575
|
rules = (_b = validation === null || validation === void 0 ? void 0 : validation.rules) !== null && _b !== void 0 ? _b : [];
|
|
@@ -2576,7 +2638,11 @@
|
|
|
2576
2638
|
}
|
|
2577
2639
|
finally { if (e_3) throw e_3.error; }
|
|
2578
2640
|
return [7 /*endfinally*/];
|
|
2579
|
-
case 22: return [2 /*return*/, this._object.
|
|
2641
|
+
case 22: return [2 /*return*/, this._object.API_CONFIG];
|
|
2642
|
+
case 23: return [2 /*return*/, this._object.API_CONFIG];
|
|
2643
|
+
case 24: return [3 /*break*/, 26];
|
|
2644
|
+
case 25: return [2 /*return*/, this._object.API_CONFIG];
|
|
2645
|
+
case 26: return [2 /*return*/];
|
|
2580
2646
|
}
|
|
2581
2647
|
});
|
|
2582
2648
|
});
|
|
@@ -2589,6 +2655,8 @@
|
|
|
2589
2655
|
return __generator(this, function (_f) {
|
|
2590
2656
|
switch (_f.label) {
|
|
2591
2657
|
case 0:
|
|
2658
|
+
if (!kwikidToolkit.checkObjectKeyExists(this._request, "body")) return [3 /*break*/, 11];
|
|
2659
|
+
if (!kwikidToolkit.checkObjectKeyExists(this._request.body, "validation")) return [3 /*break*/, 9];
|
|
2592
2660
|
body = this._request.body;
|
|
2593
2661
|
validation = body.validation;
|
|
2594
2662
|
triggers = validation.triggers;
|
|
@@ -2624,7 +2692,11 @@
|
|
|
2624
2692
|
}
|
|
2625
2693
|
finally { if (e_4) throw e_4.error; }
|
|
2626
2694
|
return [7 /*endfinally*/];
|
|
2627
|
-
case 8: return [2 /*return*/, this._object.
|
|
2695
|
+
case 8: return [2 /*return*/, this._object.API_CONFIG];
|
|
2696
|
+
case 9: return [2 /*return*/, this._object.API_CONFIG];
|
|
2697
|
+
case 10: return [3 /*break*/, 12];
|
|
2698
|
+
case 11: return [2 /*return*/, this._object.API_CONFIG];
|
|
2699
|
+
case 12: return [2 /*return*/];
|
|
2628
2700
|
}
|
|
2629
2701
|
});
|
|
2630
2702
|
});
|
|
@@ -2662,7 +2734,7 @@
|
|
|
2662
2734
|
sources_4 = new kwikidToolkit.Source(this._object);
|
|
2663
2735
|
value = sources_4.getValueFromSource(source);
|
|
2664
2736
|
// Set the Value of current source.
|
|
2665
|
-
this._object.
|
|
2737
|
+
this._object.API_CONFIG = kwikidToolkit.setValueToObjectPath(this._object.API_CONFIG, "request.headers.params[" + paramIndex + "].sources[" + sourceIndex + "].value", value);
|
|
2666
2738
|
validation = source.validation;
|
|
2667
2739
|
triggers = (_a = validation === null || validation === void 0 ? void 0 : validation.triggers) !== null && _a !== void 0 ? _a : [];
|
|
2668
2740
|
rules = (_b = validation === null || validation === void 0 ? void 0 : validation.rules) !== null && _b !== void 0 ? _b : [];
|
|
@@ -2731,10 +2803,10 @@
|
|
|
2731
2803
|
}
|
|
2732
2804
|
finally { if (e_7) throw e_7.error; }
|
|
2733
2805
|
return [7 /*endfinally*/];
|
|
2734
|
-
case 22: return [2 /*return*/, this._object.
|
|
2735
|
-
case 23: return [2 /*return*/, this._object.
|
|
2806
|
+
case 22: return [2 /*return*/, this._object.API_CONFIG];
|
|
2807
|
+
case 23: return [2 /*return*/, this._object.API_CONFIG];
|
|
2736
2808
|
case 24: return [3 /*break*/, 26];
|
|
2737
|
-
case 25: return [2 /*return*/, this._object.
|
|
2809
|
+
case 25: return [2 /*return*/, this._object.API_CONFIG];
|
|
2738
2810
|
case 26: return [2 /*return*/];
|
|
2739
2811
|
}
|
|
2740
2812
|
});
|
|
@@ -2785,10 +2857,10 @@
|
|
|
2785
2857
|
}
|
|
2786
2858
|
finally { if (e_8) throw e_8.error; }
|
|
2787
2859
|
return [7 /*endfinally*/];
|
|
2788
|
-
case 8: return [2 /*return*/, this._object.
|
|
2789
|
-
case 9: return [2 /*return*/, this._object.
|
|
2860
|
+
case 8: return [2 /*return*/, this._object.API_CONFIG];
|
|
2861
|
+
case 9: return [2 /*return*/, this._object.API_CONFIG];
|
|
2790
2862
|
case 10: return [3 /*break*/, 12];
|
|
2791
|
-
case 11: return [2 /*return*/, this._object.
|
|
2863
|
+
case 11: return [2 /*return*/, this._object.API_CONFIG];
|
|
2792
2864
|
case 12: return [2 /*return*/];
|
|
2793
2865
|
}
|
|
2794
2866
|
});
|
|
@@ -2801,6 +2873,7 @@
|
|
|
2801
2873
|
return __generator(this, function (_f) {
|
|
2802
2874
|
switch (_f.label) {
|
|
2803
2875
|
case 0:
|
|
2876
|
+
if (!kwikidToolkit.checkObjectKeyExists(this._response, "validation")) return [3 /*break*/, 8];
|
|
2804
2877
|
validation = this._response.validation;
|
|
2805
2878
|
triggers = validation.triggers;
|
|
2806
2879
|
rules = validation.rules;
|
|
@@ -2835,13 +2908,61 @@
|
|
|
2835
2908
|
}
|
|
2836
2909
|
finally { if (e_9) throw e_9.error; }
|
|
2837
2910
|
return [7 /*endfinally*/];
|
|
2838
|
-
case 8: return [2 /*return*/, this._object.
|
|
2911
|
+
case 8: return [2 /*return*/, this._object.API_CONFIG];
|
|
2912
|
+
}
|
|
2913
|
+
});
|
|
2914
|
+
});
|
|
2915
|
+
};
|
|
2916
|
+
Apis.prototype.callNextApi = function (validation) {
|
|
2917
|
+
var _a;
|
|
2918
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
2919
|
+
var rules, actions, rulesMapping, actions_11, actions_11_1, action, conditionSuccess, actions_12, e_10_1;
|
|
2920
|
+
var e_10, _e;
|
|
2921
|
+
return __generator(this, function (_f) {
|
|
2922
|
+
switch (_f.label) {
|
|
2923
|
+
case 0:
|
|
2924
|
+
rules = validation.rules;
|
|
2925
|
+
actions = (_a = validation) === null || _a === void 0 ? void 0 : _a.actions;
|
|
2926
|
+
rulesMapping = new kwikidToolkit.Rule(rules, this._object).mapping();
|
|
2927
|
+
_f.label = 1;
|
|
2928
|
+
case 1:
|
|
2929
|
+
_f.trys.push([1, 6, 7, 8]);
|
|
2930
|
+
actions_11 = __values(actions), actions_11_1 = actions_11.next();
|
|
2931
|
+
_f.label = 2;
|
|
2932
|
+
case 2:
|
|
2933
|
+
if (!!actions_11_1.done) return [3 /*break*/, 5];
|
|
2934
|
+
action = actions_11_1.value;
|
|
2935
|
+
conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
|
|
2936
|
+
if (!conditionSuccess) return [3 /*break*/, 4];
|
|
2937
|
+
actions_12 = new kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
|
|
2938
|
+
return [4 /*yield*/, actions_12.execute()];
|
|
2939
|
+
case 3:
|
|
2940
|
+
_f.sent();
|
|
2941
|
+
_f.label = 4;
|
|
2942
|
+
case 4:
|
|
2943
|
+
actions_11_1 = actions_11.next();
|
|
2944
|
+
return [3 /*break*/, 2];
|
|
2945
|
+
case 5: return [3 /*break*/, 8];
|
|
2946
|
+
case 6:
|
|
2947
|
+
e_10_1 = _f.sent();
|
|
2948
|
+
e_10 = { error: e_10_1 };
|
|
2949
|
+
return [3 /*break*/, 8];
|
|
2950
|
+
case 7:
|
|
2951
|
+
try {
|
|
2952
|
+
if (actions_11_1 && !actions_11_1.done && (_e = actions_11.return)) _e.call(actions_11);
|
|
2953
|
+
}
|
|
2954
|
+
finally { if (e_10) throw e_10.error; }
|
|
2955
|
+
return [7 /*endfinally*/];
|
|
2956
|
+
case 8: return [2 /*return*/];
|
|
2839
2957
|
}
|
|
2840
2958
|
});
|
|
2841
2959
|
});
|
|
2842
2960
|
};
|
|
2843
2961
|
return Apis;
|
|
2844
2962
|
}());
|
|
2963
|
+
__decorate([
|
|
2964
|
+
kwikidToolkit.logMethod
|
|
2965
|
+
], Apis.prototype, "setUrl", null);
|
|
2845
2966
|
__decorate([
|
|
2846
2967
|
kwikidToolkit.logMethod
|
|
2847
2968
|
], Apis.prototype, "setRequestBody", null);
|
|
@@ -2857,6 +2978,9 @@
|
|
|
2857
2978
|
__decorate([
|
|
2858
2979
|
kwikidToolkit.logMethod
|
|
2859
2980
|
], Apis.prototype, "validateResponse", null);
|
|
2981
|
+
__decorate([
|
|
2982
|
+
kwikidToolkit.logMethod
|
|
2983
|
+
], Apis.prototype, "callNextApi", null);
|
|
2860
2984
|
|
|
2861
2985
|
/**
|
|
2862
2986
|
* Generated class for the SafeHtmlPipe pipe.
|
|
@@ -3389,72 +3513,75 @@
|
|
|
3389
3513
|
});
|
|
3390
3514
|
});
|
|
3391
3515
|
};
|
|
3392
|
-
KwikIDFormViewComponent.prototype.
|
|
3516
|
+
KwikIDFormViewComponent.prototype.handleApiCall = function (field, api) {
|
|
3393
3517
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
3394
3518
|
return __awaiter(this, void 0, void 0, function () {
|
|
3395
|
-
var
|
|
3519
|
+
var apis, apiCallResponse, url, method, headers, body, response, apis_1;
|
|
3396
3520
|
var _h, _j;
|
|
3397
3521
|
var _this = this;
|
|
3398
3522
|
return __generator(this, function (_k) {
|
|
3399
3523
|
switch (_k.label) {
|
|
3400
3524
|
case 0:
|
|
3401
|
-
field = getFormFieldByKey(this.formFields, e.key);
|
|
3402
|
-
if (!(field.type === "api-call")) return [3 /*break*/, 11];
|
|
3403
|
-
// set button status to loading
|
|
3404
|
-
field["api"]["status"]["value"] = EApiStatusType.LOADING;
|
|
3405
|
-
field["showLoader"] = true;
|
|
3406
|
-
this.viewFormsButton["disabled"] = true;
|
|
3407
|
-
this.viewFormsButton["showLoader"] = true;
|
|
3408
|
-
this.saveFormButton["disabled"] = true;
|
|
3409
|
-
this.saveFormButton["showLoader"] = true;
|
|
3410
3525
|
apis = new Apis({
|
|
3411
3526
|
FIELD_CONFIG: field,
|
|
3527
|
+
API_CONFIG: api,
|
|
3412
3528
|
FORM_FIELDS: this.formFields,
|
|
3413
3529
|
FORM_DATA: this.formData,
|
|
3414
3530
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
3415
3531
|
ALL_FORMS_DATA: this.allFormsData
|
|
3416
3532
|
}, this.takeAction.bind(this));
|
|
3417
|
-
return [4 /*yield*/, apis.
|
|
3533
|
+
return [4 /*yield*/, apis.setUrl()];
|
|
3418
3534
|
case 1:
|
|
3419
|
-
|
|
3420
|
-
return [4 /*yield*/, apis.
|
|
3535
|
+
api = _k.sent();
|
|
3536
|
+
return [4 /*yield*/, apis.setRequestHeaders()];
|
|
3421
3537
|
case 2:
|
|
3422
|
-
|
|
3423
|
-
return [4 /*yield*/, apis.
|
|
3538
|
+
api = _k.sent();
|
|
3539
|
+
return [4 /*yield*/, apis.validateRequestHeaders()];
|
|
3424
3540
|
case 3:
|
|
3425
|
-
|
|
3426
|
-
return [4 /*yield*/, apis.
|
|
3541
|
+
api = _k.sent();
|
|
3542
|
+
return [4 /*yield*/, apis.setRequestBody()];
|
|
3427
3543
|
case 4:
|
|
3428
|
-
|
|
3429
|
-
|
|
3430
|
-
apiCallResponse = undefined;
|
|
3431
|
-
if (!(field.api.request.url.hasOwnProperty("type") &&
|
|
3432
|
-
field.api.request.url.type === "MOCK")) return [3 /*break*/, 5];
|
|
3433
|
-
apiCallResponse = field.api.request.url.data;
|
|
3434
|
-
return [3 /*break*/, 8];
|
|
3544
|
+
api = _k.sent();
|
|
3545
|
+
return [4 /*yield*/, apis.validateRequestBody()];
|
|
3435
3546
|
case 5:
|
|
3436
|
-
|
|
3437
|
-
|
|
3438
|
-
|
|
3439
|
-
|
|
3547
|
+
api = _k.sent();
|
|
3548
|
+
apiCallResponse = undefined;
|
|
3549
|
+
if (!api.request.body.validation.is_valid) return [3 /*break*/, 10];
|
|
3550
|
+
if (!(api.request.url.hasOwnProperty("type") &&
|
|
3551
|
+
api.request.url.type === EApiRequestUrlType.MOCK)) return [3 /*break*/, 6];
|
|
3552
|
+
apiCallResponse = api.request.url.props.mockedData.data;
|
|
3553
|
+
return [3 /*break*/, 9];
|
|
3554
|
+
case 6:
|
|
3555
|
+
url = api.request.url.value;
|
|
3556
|
+
method = (_b = (_a = api.request) === null || _a === void 0 ? void 0 : _a.method) !== null && _b !== void 0 ? _b : "POST";
|
|
3557
|
+
headers = Object.assign({ "Content-Type": "application/json" }, (((_d = (_c = api.request) === null || _c === void 0 ? void 0 : _c.headers) === null || _d === void 0 ? void 0 : _d.value) || {}));
|
|
3558
|
+
body = (_g = (_f = (_e = api.request) === null || _e === void 0 ? void 0 : _e.body) === null || _f === void 0 ? void 0 : _f.value) !== null && _g !== void 0 ? _g : null;
|
|
3440
3559
|
return [4 /*yield*/, fetch(url, {
|
|
3441
3560
|
method: method,
|
|
3442
3561
|
headers: Object.assign({}, headers),
|
|
3443
3562
|
body: JSON.stringify(body)
|
|
3444
3563
|
})];
|
|
3445
|
-
case
|
|
3564
|
+
case 7:
|
|
3446
3565
|
response = _k.sent();
|
|
3447
3566
|
return [4 /*yield*/, response.json()];
|
|
3448
|
-
case 7:
|
|
3449
|
-
apiCallResponse = _k.sent();
|
|
3450
|
-
_k.label = 8;
|
|
3451
3567
|
case 8:
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3568
|
+
apiCallResponse = _k.sent();
|
|
3569
|
+
_k.label = 9;
|
|
3570
|
+
case 9:
|
|
3571
|
+
/**
|
|
3572
|
+
* This runs when API is in old format or new.
|
|
3573
|
+
* If Old Format then it directly patches api response to field data
|
|
3574
|
+
*/
|
|
3575
|
+
if (kwikidToolkit.checkObjectKeyExists(field.api, "request")) {
|
|
3576
|
+
this.formData = Object.assign(Object.assign({}, this.formData), (_h = {}, _h[field.key] = apiCallResponse, _h));
|
|
3577
|
+
this.formGroup.patchValue((_j = {},
|
|
3578
|
+
_j[field.key] = apiCallResponse,
|
|
3579
|
+
_j), { emitEvent: false });
|
|
3580
|
+
}
|
|
3581
|
+
api.response = kwikidToolkit.setMissingKeyValue(api.response, "value", apiCallResponse);
|
|
3456
3582
|
apis_1 = new Apis({
|
|
3457
3583
|
FIELD_CONFIG: field,
|
|
3584
|
+
API_CONFIG: api,
|
|
3458
3585
|
FORM_FIELDS: this.formFields,
|
|
3459
3586
|
FORM_DATA: this.formData,
|
|
3460
3587
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
@@ -3465,28 +3592,63 @@
|
|
|
3465
3592
|
switch (_h.label) {
|
|
3466
3593
|
case 0: return [4 /*yield*/, apis_1.validateResponse()];
|
|
3467
3594
|
case 1:
|
|
3468
|
-
|
|
3595
|
+
api = _h.sent();
|
|
3469
3596
|
return [2 /*return*/];
|
|
3470
3597
|
}
|
|
3471
3598
|
});
|
|
3472
3599
|
}); })();
|
|
3473
|
-
return [3 /*break*/,
|
|
3474
|
-
case
|
|
3475
|
-
// Request Body Validation Failed
|
|
3476
|
-
// Highlight Error in UI to User to Retry After Sometime.
|
|
3477
|
-
// Take Action based on Validation
|
|
3600
|
+
return [3 /*break*/, 11];
|
|
3601
|
+
case 10:
|
|
3478
3602
|
setTimeout(function () {
|
|
3479
3603
|
field["api"]["status"]["value"] = EApiStatusType.FAILED;
|
|
3480
3604
|
field["showLoader"] = false;
|
|
3481
3605
|
}, 500);
|
|
3482
|
-
_k.label =
|
|
3483
|
-
case
|
|
3606
|
+
_k.label = 11;
|
|
3607
|
+
case 11: return [2 /*return*/, { field: field, api: api }];
|
|
3608
|
+
}
|
|
3609
|
+
});
|
|
3610
|
+
});
|
|
3611
|
+
};
|
|
3612
|
+
KwikIDFormViewComponent.prototype.handleOnClickApiCall = function (e) {
|
|
3613
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3614
|
+
var field, apis;
|
|
3615
|
+
return __generator(this, function (_h) {
|
|
3616
|
+
switch (_h.label) {
|
|
3617
|
+
case 0:
|
|
3618
|
+
field = getFormFieldByKey(this.formFields, e.key);
|
|
3619
|
+
if (!(field.type === "api-call")) return [3 /*break*/, 5];
|
|
3620
|
+
// set button status to loading
|
|
3621
|
+
field["api"]["status"]["value"] = EApiStatusType.LOADING;
|
|
3622
|
+
field["showLoader"] = true;
|
|
3623
|
+
this.viewFormsButton["disabled"] = true;
|
|
3624
|
+
this.viewFormsButton["showLoader"] = true;
|
|
3625
|
+
this.saveFormButton["disabled"] = true;
|
|
3626
|
+
this.saveFormButton["showLoader"] = true;
|
|
3627
|
+
if (!kwikidToolkit.checkObjectKeyExists(field.api, "request")) return [3 /*break*/, 2];
|
|
3628
|
+
return [4 /*yield*/, this.handleApiCall(field, field.api)];
|
|
3629
|
+
case 1:
|
|
3630
|
+
_h.sent();
|
|
3631
|
+
return [3 /*break*/, 4];
|
|
3632
|
+
case 2:
|
|
3633
|
+
apis = new Apis({
|
|
3634
|
+
FIELD_CONFIG: field,
|
|
3635
|
+
API_CONFIG: {},
|
|
3636
|
+
FORM_FIELDS: this.formFields,
|
|
3637
|
+
FORM_DATA: this.formData,
|
|
3638
|
+
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
3639
|
+
ALL_FORMS_DATA: this.allFormsData
|
|
3640
|
+
}, this.takeAction.bind(this));
|
|
3641
|
+
return [4 /*yield*/, apis.callNextApi(field.api.entrypoint)];
|
|
3642
|
+
case 3:
|
|
3643
|
+
_h.sent();
|
|
3644
|
+
_h.label = 4;
|
|
3645
|
+
case 4:
|
|
3484
3646
|
this.viewFormsButton["disabled"] = false;
|
|
3485
3647
|
this.viewFormsButton["showLoader"] = false;
|
|
3486
3648
|
this.saveFormButton["disabled"] = false;
|
|
3487
3649
|
this.saveFormButton["showLoader"] = false;
|
|
3488
|
-
|
|
3489
|
-
case
|
|
3650
|
+
_h.label = 5;
|
|
3651
|
+
case 5: return [2 /*return*/];
|
|
3490
3652
|
}
|
|
3491
3653
|
});
|
|
3492
3654
|
});
|
|
@@ -3814,7 +3976,6 @@
|
|
|
3814
3976
|
field = removeFormFieldMessage(field, message);
|
|
3815
3977
|
this.formFields[fieldIndex] = field;
|
|
3816
3978
|
};
|
|
3817
|
-
KwikIDFormViewComponent.prototype.setObjectValue = function (field, path, value) { };
|
|
3818
3979
|
KwikIDFormViewComponent.prototype.patchFieldControlValue = function (key, value) {
|
|
3819
3980
|
var _h;
|
|
3820
3981
|
this.formGroup.patchValue((_h = {},
|
|
@@ -3826,7 +3987,11 @@
|
|
|
3826
3987
|
throw new Error("formGroup or formData is 'undefined'.");
|
|
3827
3988
|
}
|
|
3828
3989
|
else {
|
|
3829
|
-
|
|
3990
|
+
var formDataInKwikUIFormat = {};
|
|
3991
|
+
for (var fieldKey in formData) {
|
|
3992
|
+
formDataInKwikUIFormat[fieldKey] = convertFormFieldValueToKwikUIFormat(getFormFieldByKey(this.formFields, fieldKey), formData[fieldKey]);
|
|
3993
|
+
}
|
|
3994
|
+
this.formGroup.patchValue(formDataInKwikUIFormat, { emitEvent: false });
|
|
3830
3995
|
}
|
|
3831
3996
|
};
|
|
3832
3997
|
KwikIDFormViewComponent.prototype.isFieldValid = function (fieldKey) {
|
|
@@ -3863,9 +4028,10 @@
|
|
|
3863
4028
|
};
|
|
3864
4029
|
KwikIDFormViewComponent.prototype.takeAction = function (action, object) {
|
|
3865
4030
|
return __awaiter(this, void 0, void 0, function () {
|
|
3866
|
-
var _h, setValue_Source, sourceValue, setDefaultValue_Source, sourceDefaultValue, destinationDefaultValue_FieldConfig_Config, destinationDefaultValue_FormData_Config__Props__Object__Path, destinationDefaultValue_FormData_Config, setDropdownValue_Sources, dropdownValue, appendToPath, appendToPathStr, optionsPath;
|
|
3867
|
-
|
|
3868
|
-
|
|
4031
|
+
var _h, setValue_Source, sourceValue, setDefaultValue_Source, sourceDefaultValue, destinationDefaultValue_FieldConfig_Config, destinationDefaultValue_FormData_Config__Props__Object__Path, destinationDefaultValue_FormData_Config, setDropdownValue_Sources, dropdownValue, appendToPath, appendToPathStr, optionsPath, entrypointKey_1, apiField, endpoints, nextApiIndex, response, field, apiCallResponses_1;
|
|
4032
|
+
var _j;
|
|
4033
|
+
return __generator(this, function (_k) {
|
|
4034
|
+
switch (_k.label) {
|
|
3869
4035
|
case 0:
|
|
3870
4036
|
_h = action.key;
|
|
3871
4037
|
switch (_h) {
|
|
@@ -3883,52 +4049,54 @@
|
|
|
3883
4049
|
case EActionKey.SET_DROPDOWN_OPTIONS: return [3 /*break*/, 14];
|
|
3884
4050
|
case EActionKey.HANDLE_CONNECTED_ELEMENTS: return [3 /*break*/, 19];
|
|
3885
4051
|
case EActionKey.CUSTOM: return [3 /*break*/, 20];
|
|
4052
|
+
case EActionKey.API_CALL: return [3 /*break*/, 21];
|
|
4053
|
+
case EActionKey.API_CALL_END: return [3 /*break*/, 23];
|
|
3886
4054
|
}
|
|
3887
|
-
return [3 /*break*/,
|
|
4055
|
+
return [3 /*break*/, 24];
|
|
3888
4056
|
case 1:
|
|
3889
4057
|
this.fieldHide(action.props.fieldKey);
|
|
3890
|
-
return [3 /*break*/,
|
|
4058
|
+
return [3 /*break*/, 25];
|
|
3891
4059
|
case 2:
|
|
3892
4060
|
this.fieldShow(action.props.fieldKey);
|
|
3893
|
-
return [3 /*break*/,
|
|
4061
|
+
return [3 /*break*/, 25];
|
|
3894
4062
|
case 3:
|
|
3895
4063
|
this.fieldDisable(action.props.fieldKey);
|
|
3896
|
-
return [3 /*break*/,
|
|
4064
|
+
return [3 /*break*/, 25];
|
|
3897
4065
|
case 4:
|
|
3898
4066
|
this.fieldEnable(action.props.fieldKey);
|
|
3899
|
-
return [3 /*break*/,
|
|
4067
|
+
return [3 /*break*/, 25];
|
|
3900
4068
|
case 5:
|
|
3901
4069
|
this.fieldReset(action.props.fieldKey);
|
|
3902
|
-
return [3 /*break*/,
|
|
4070
|
+
return [3 /*break*/, 25];
|
|
3903
4071
|
case 6:
|
|
3904
4072
|
this.fieldErrorShow(action.props.fieldKey, action.props.message);
|
|
3905
|
-
return [3 /*break*/,
|
|
4073
|
+
return [3 /*break*/, 25];
|
|
3906
4074
|
case 7:
|
|
3907
4075
|
this.fieldErrorHide(action.props.fieldKey, action.props.message);
|
|
3908
|
-
return [3 /*break*/,
|
|
4076
|
+
return [3 /*break*/, 25];
|
|
3909
4077
|
case 8:
|
|
3910
4078
|
this.fieldMessageShow(action.props.fieldKey, action.props.message);
|
|
3911
|
-
return [3 /*break*/,
|
|
4079
|
+
return [3 /*break*/, 25];
|
|
3912
4080
|
case 9:
|
|
3913
4081
|
this.fieldMessageHide(action.props.fieldKey, action.props.message);
|
|
3914
|
-
return [3 /*break*/,
|
|
4082
|
+
return [3 /*break*/, 25];
|
|
3915
4083
|
case 10:
|
|
3916
4084
|
setValue_Source = new kwikidToolkit.Source(object);
|
|
3917
4085
|
return [4 /*yield*/, setValue_Source.getValueFromSource(action.props.value.source)];
|
|
3918
4086
|
case 11:
|
|
3919
|
-
sourceValue =
|
|
4087
|
+
sourceValue = _k.sent();
|
|
3920
4088
|
setValue_Source.setValueToSource(action.props.value.destination, sourceValue);
|
|
3921
4089
|
object.FIELD_CONFIG = setValue_Source.object.FIELD_CONFIG;
|
|
3922
4090
|
this.formData = setValue_Source.object.FORM_DATA;
|
|
3923
4091
|
this.patchFormGroup(this.formData);
|
|
3924
4092
|
this.allFormsData = setValue_Source.object.ALL_FORMS_DATA;
|
|
3925
4093
|
this.previousFormData = setValue_Source.object.PREVIOUS_FORM_DATA;
|
|
3926
|
-
return [3 /*break*/,
|
|
4094
|
+
return [3 /*break*/, 25];
|
|
3927
4095
|
case 12:
|
|
3928
4096
|
setDefaultValue_Source = new kwikidToolkit.Source(object);
|
|
3929
4097
|
return [4 /*yield*/, setDefaultValue_Source.getValueFromSource(action.props.value.source)];
|
|
3930
4098
|
case 13:
|
|
3931
|
-
sourceDefaultValue =
|
|
4099
|
+
sourceDefaultValue = _k.sent();
|
|
3932
4100
|
destinationDefaultValue_FieldConfig_Config = {
|
|
3933
4101
|
key: kwikidToolkit.ESourceKey.OBJECT,
|
|
3934
4102
|
props: {
|
|
@@ -3956,17 +4124,17 @@
|
|
|
3956
4124
|
this.allFormsData = setDefaultValue_Source.object.ALL_FORMS_DATA;
|
|
3957
4125
|
this.previousFormData =
|
|
3958
4126
|
setDefaultValue_Source.object.PREVIOUS_FORM_DATA;
|
|
3959
|
-
return [3 /*break*/,
|
|
4127
|
+
return [3 /*break*/, 25];
|
|
3960
4128
|
case 14:
|
|
3961
4129
|
setDropdownValue_Sources = new kwikidToolkit.Source(object);
|
|
3962
4130
|
return [4 /*yield*/, setDropdownValue_Sources.getValueFromSource(action.props.value.source)];
|
|
3963
4131
|
case 15:
|
|
3964
|
-
dropdownValue =
|
|
4132
|
+
dropdownValue = _k.sent();
|
|
3965
4133
|
if (!kwikidToolkit.checkObjectKeyExists(action.props, "options")) return [3 /*break*/, 18];
|
|
3966
4134
|
if (!kwikidToolkit.checkObjectKeyExists(action.props.options, "appendToPath")) return [3 /*break*/, 17];
|
|
3967
4135
|
return [4 /*yield*/, setDropdownValue_Sources.getValueFromSource(action.props.options.appendToPath.source)];
|
|
3968
4136
|
case 16:
|
|
3969
|
-
appendToPath =
|
|
4137
|
+
appendToPath = _k.sent();
|
|
3970
4138
|
if (kwikidToolkit.isNotEmptyValue(appendToPath)) {
|
|
3971
4139
|
appendToPathStr = kwikidToolkit.replaceString(appendToPath.match("" + action.props.options.appendToPath.filterSourceValue)[0], "[^a-zA-Z0-9_]", "_");
|
|
3972
4140
|
optionsPath = "" + action.props.options.path + appendToPathStr;
|
|
@@ -3975,7 +4143,7 @@
|
|
|
3975
4143
|
return [3 /*break*/, 18];
|
|
3976
4144
|
case 17:
|
|
3977
4145
|
dropdownValue = kwikidToolkit.getObjectValueFromPath(dropdownValue, action.props.options.path);
|
|
3978
|
-
|
|
4146
|
+
_k.label = 18;
|
|
3979
4147
|
case 18:
|
|
3980
4148
|
setDropdownValue_Sources.setValueToSource(action.props.value.destination, dropdownValue);
|
|
3981
4149
|
object.FIELD_CONFIG = setDropdownValue_Sources.object.FIELD_CONFIG;
|
|
@@ -3983,13 +4151,34 @@
|
|
|
3983
4151
|
this.allFormsData = setDropdownValue_Sources.object.ALL_FORMS_DATA;
|
|
3984
4152
|
this.previousFormData =
|
|
3985
4153
|
setDropdownValue_Sources.object.PREVIOUS_FORM_DATA;
|
|
3986
|
-
return [3 /*break*/,
|
|
4154
|
+
return [3 /*break*/, 25];
|
|
3987
4155
|
case 19:
|
|
3988
4156
|
this.handleConnectedElements({ key: action.props.fieldKey }, "ON_ACTION");
|
|
3989
|
-
return [3 /*break*/,
|
|
3990
|
-
case 20: return [3 /*break*/,
|
|
3991
|
-
case 21:
|
|
3992
|
-
|
|
4157
|
+
return [3 /*break*/, 25];
|
|
4158
|
+
case 20: return [3 /*break*/, 25];
|
|
4159
|
+
case 21:
|
|
4160
|
+
entrypointKey_1 = action.props.apiKey;
|
|
4161
|
+
apiField = getFormFieldByKey(this.formFields, action.props.fieldKey);
|
|
4162
|
+
endpoints = apiField.api.endpoints;
|
|
4163
|
+
nextApiIndex = endpoints.findIndex(function (api) { return api.apiKey == entrypointKey_1; });
|
|
4164
|
+
return [4 /*yield*/, this.handleApiCall(apiField, endpoints[nextApiIndex])];
|
|
4165
|
+
case 22:
|
|
4166
|
+
response = _k.sent();
|
|
4167
|
+
apiField = response.field;
|
|
4168
|
+
apiField.api.endpoints[nextApiIndex] = response.api;
|
|
4169
|
+
return [3 /*break*/, 25];
|
|
4170
|
+
case 23:
|
|
4171
|
+
field = getFormFieldByKey(this.formFields, action.props.fieldKey);
|
|
4172
|
+
apiCallResponses_1 = {};
|
|
4173
|
+
field.api.endpoints.map(function (api) {
|
|
4174
|
+
if (kwikidToolkit.checkObjectKeyExists(api.response, "value"))
|
|
4175
|
+
apiCallResponses_1 = kwikidToolkit.setMissingKeyValue(apiCallResponses_1, api.apiKey, api.response.value);
|
|
4176
|
+
});
|
|
4177
|
+
this.formData = Object.assign(Object.assign({}, this.formData), (_j = {}, _j[field.key] = apiCallResponses_1, _j));
|
|
4178
|
+
this.patchFormGroup(this.formData);
|
|
4179
|
+
return [3 /*break*/, 25];
|
|
4180
|
+
case 24: return [3 /*break*/, 25];
|
|
4181
|
+
case 25: return [2 /*return*/];
|
|
3993
4182
|
}
|
|
3994
4183
|
});
|
|
3995
4184
|
});
|
|
@@ -3997,7 +4186,7 @@
|
|
|
3997
4186
|
return KwikIDFormViewComponent;
|
|
3998
4187
|
}());
|
|
3999
4188
|
/** @nocollapse */ KwikIDFormViewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormViewComponent, deps: [{ token: i4$1.TuiPushService }, { token: i3$1.TuiAlertService }, { token: KwikIDFormViewService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
4000
|
-
/** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { formConfig: "formConfig", formData: "formData", isMobileView: "isMobileView", allFormsData: "allFormsData" }, outputs: { onClickViewForms: "onClickViewForms", onClickSaveForm: "onClickSaveForm", onClickApiCall: "onClickApiCall" }, providers: [KwikIDFormViewService], usesOnChanges: true, ngImport: i0__namespace, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!loading\"\n>\n <div\n id=\"uf-form-fields-header-container\"\n *ngIf=\"\n !formConfig.properties.header.title.hidden ||\n !formConfig.properties.header.steps.hidden\n \"\n >\n <div\n id=\"uf-form-fields-title\"\n *ngIf=\"!formConfig.properties.header.title.hidden\"\n >{{ formConfig.properties.header.title.label }}</div\n >\n <div\n id=\"uf-form-fields-steps\"\n *ngIf=\"!formConfig.properties.header.steps.hidden\"\n >Step {{ formConfig.sequenceNo }} of {{ formConfig.formsListLength }}</div\n >\n <hr\n *ngIf=\"\n !formConfig.properties.header.title.hidden &&\n !formConfig.properties.header.steps.hidden\n \"\n />\n </div>\n <form\n class=\"kwikid-form show\"\n [formGroup]=\"formGroup\"\n >\n <ng-container\n *ngFor=\"\n let field of formFields;\n let i = index;\n trackBy: getUniqueIdentifier\n \"\n >\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | safeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n label=\"Reset\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [type]=\"'text'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox-block\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.properties?.placeholder\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size ?? 'l'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox-block>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-number\n [decimal]=\"field?.properties?.decimal\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix ?? ''\"\n [precision]=\"field?.properties?.precision\"\n [prefix]=\"field?.properties?.prefix ?? ''\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-number>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-date\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [min]=\"field?.properties?.min\"\n [minCalculatedFromToday]=\"field?.properties?.minCalculatedFromToday\"\n [max]=\"field?.properties?.max\"\n [maxCalculatedFromToday]=\"field?.properties?.maxCalculatedFromToday\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-date>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-phone\n [countryCode]=\"field?.properties?.countryCode\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [phoneMaskAfterCountryCode]=\"\n field?.properties?.phoneMaskAfterCountryCode\n \"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-phone>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-radio-list\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.options\"\n [label]=\"field?.label\"\n [orientation]=\"field?.properties?.orientation\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-radio-list>\n </label>\n <ng-template #labelTemplate>\n <p\n class=\"tui-space_bottom-2\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\"></span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Dropdown -->\n <ng-container *ngSwitchCase=\"'dropdown-with-search'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-select-combobox\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [options]=\"field.options\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-select-combobox>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- API Call -->\n <ng-container *ngSwitchCase=\"'api-call'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [showLoader]=\"field?.disabled === 'loading'\"\n shape=\"null\"\n size=\"m\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickApiCall($event)\"\n ></kwikui-button-api-call>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Mobile OTP -->\n <ng-container *ngSwitchCase=\"'otp'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-otp\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-otp>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Aadhaar Number -->\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-aadhaar\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-aadhaar>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </form>\n <div class=\"kwikid-form-buttons\">\n <kwikui-button\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden && isMobileView\n \"\n [disabled]=\"viewFormsButton.disabled\"\n id=\"\"\n label=\"{{ formConfig.properties.footer.viewFormsButton.label }}\"\n [showLoader]=\"viewFormsButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"secondary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"!formConfig.properties.footer.saveButton.hidden\"\n [disabled]=\"saveFormButton.disabled\"\n id=\"\"\n label=\"{{ formConfig.properties.footer.saveButton.label }}\"\n [showLoader]=\"saveFormButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"loading\"\n>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n</div>\n<tui-push\n id=\"field-error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Missing/Incorrect Fields!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n", styles: ["::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}.kwikid-form-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}.kwikid-form.show{width:100%;height:100%;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-row-gap:1rem;row-gap:1rem}.kwikid-form-buttons{width:100%;bottom:0px;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-column-gap:10px;column-gap:10px}.kwikid-form-buttons *{flex-grow:1}#uf-form-fields-header-container{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start;grid-row-gap:.5rem;row-gap:.5rem;padding:1rem}#uf-form-fields-header-container hr{width:100%}#uf-form-fields-title{color:#000;font-size:1.75em;font-weight:bold}#uf-form-fields-steps{color:var(--color-on-secondary-container);font-size:1em}.title{border-left:.25rem solid var(--tui-primary);padding:.75rem;font-size:1.4em;font-weight:bold;background-color:var(--tui-secondary);display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-gap:.5rem;gap:.5rem}.title:not(:first-child){margin-top:.5rem}.title.hidden{display:none}.large-wrapper{width:100%;height:60px}.large-wrapper:first-child{margin-bottom:auto}.large-wrapper:last-child{margin-top:auto}.kwikid-form-container-loading{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;grid-row-gap:1rem;row-gap:1rem;padding:1rem}#field-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top{color:#fff!important}#field-error-notification .t-close{color:#fff!important}\n"], components: [{ type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "size", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["messages", "id"] }, { type: i2__namespace.KwikUICheckboxBlockComponent, selector: "kwikui-checkbox-block", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "contentAlign", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "prefix", "postfix", "precision", "decimal", "size", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "minCalculatedFromToday", "max", "maxCalculatedFromToday", "size", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "countryCode", "phoneMaskAfterCountryCode", "removeCountryCodeFromValue", "size", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i3__namespace$1.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i2__namespace.KwikUIRadioListComponent, selector: "kwikui-radio-list", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "orientation", "items", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUISelectComboboxComponent, selector: "kwikui-select-combobox", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "options", "size", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "shape", "size", "apiStatus"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i4__namespace$1.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { type: i3__namespace$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4__namespace$1.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i4__namespace$1.TuiPushDirective, selector: "tui-push" }], pipes: { "safeHtml": SafeHtmlPipe$1 } });
|
|
4189
|
+
/** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { formConfig: "formConfig", formData: "formData", isMobileView: "isMobileView", allFormsData: "allFormsData" }, outputs: { onClickViewForms: "onClickViewForms", onClickSaveForm: "onClickSaveForm", onClickApiCall: "onClickApiCall" }, providers: [KwikIDFormViewService], usesOnChanges: true, ngImport: i0__namespace, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!loading\"\n>\n <div\n id=\"uf-form-fields-header-container\"\n *ngIf=\"\n !formConfig.properties.header.title.hidden ||\n !formConfig.properties.header.steps.hidden\n \"\n >\n <div\n id=\"uf-form-fields-title\"\n *ngIf=\"!formConfig.properties.header.title.hidden\"\n >{{ formConfig.properties.header.title.label }}</div\n >\n <div\n id=\"uf-form-fields-steps\"\n *ngIf=\"!formConfig.properties.header.steps.hidden\"\n >Step {{ formConfig.sequenceNo }} of {{ formConfig.formsListLength }}</div\n >\n <hr\n *ngIf=\"\n !formConfig.properties.header.title.hidden &&\n !formConfig.properties.header.steps.hidden\n \"\n />\n </div>\n <form\n class=\"kwikid-form show\"\n [formGroup]=\"formGroup\"\n >\n <ng-container\n *ngFor=\"\n let field of formFields;\n let i = index;\n trackBy: getUniqueIdentifier\n \"\n >\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | safeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n label=\"Reset\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [type]=\"'text'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox-block\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.properties?.placeholder\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size ?? 'l'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox-block>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-number\n [decimal]=\"field?.properties?.decimal\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix ?? ''\"\n [precision]=\"field?.properties?.precision\"\n [prefix]=\"field?.properties?.prefix ?? ''\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-number>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-date\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [min]=\"field?.properties?.min\"\n [minCalculatedFromToday]=\"\n field?.properties?.minCalculatedFromToday\n \"\n [max]=\"field?.properties?.max\"\n [maxCalculatedFromToday]=\"\n field?.properties?.maxCalculatedFromToday\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-date>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-phone\n [countryCode]=\"field?.properties?.countryCode\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [phoneMaskAfterCountryCode]=\"\n field?.properties?.phoneMaskAfterCountryCode\n \"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-phone>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-radio-list\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.options\"\n [label]=\"field?.label\"\n [orientation]=\"field?.properties?.orientation\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-radio-list>\n </label>\n <ng-template #labelTemplate>\n <p\n class=\"tui-space_bottom-2\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\"></span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Dropdown -->\n <ng-container *ngSwitchCase=\"'dropdown-with-search'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-select-combobox\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [options]=\"field.options\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-select-combobox>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Slider -->\n <ng-container *ngSwitchCase=\"'slider'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-slider\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [quantum]=\"field?.properties?.quantum\"\n [size]=\"field?.properties?.size\"\n [steps]=\"field?.properties?.steps\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-slider>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- API Call -->\n <ng-container *ngSwitchCase=\"'api-call'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [showLoader]=\"field?.disabled === 'loading'\"\n shape=\"null\"\n size=\"m\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickApiCall($event)\"\n ></kwikui-button-api-call>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Mobile OTP -->\n <ng-container *ngSwitchCase=\"'otp'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-otp\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-otp>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Aadhaar Number -->\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-aadhaar\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-aadhaar>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </form>\n <div class=\"kwikid-form-buttons\">\n <kwikui-button\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden && isMobileView\n \"\n [disabled]=\"viewFormsButton.disabled\"\n id=\"\"\n label=\"{{ formConfig.properties.footer.viewFormsButton.label }}\"\n [showLoader]=\"viewFormsButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"secondary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"!formConfig.properties.footer.saveButton.hidden\"\n [disabled]=\"saveFormButton.disabled\"\n id=\"\"\n label=\"{{ formConfig.properties.footer.saveButton.label }}\"\n [showLoader]=\"saveFormButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"loading\"\n>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n</div>\n<tui-push\n id=\"field-error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Missing/Incorrect Fields!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n", styles: ["::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}.kwikid-form-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}.kwikid-form.show{width:100%;height:100%;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-row-gap:1rem;row-gap:1rem}.kwikid-form-buttons{width:100%;bottom:0px;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-column-gap:10px;column-gap:10px}.kwikid-form-buttons *{flex-grow:1}#uf-form-fields-header-container{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start;grid-row-gap:.5rem;row-gap:.5rem;padding:1rem}#uf-form-fields-header-container hr{width:100%}#uf-form-fields-title{color:#000;font-size:1.75em;font-weight:bold}#uf-form-fields-steps{color:var(--color-on-secondary-container);font-size:1em}.title{border-left:.25rem solid var(--tui-primary);padding:.75rem;font-size:1.4em;font-weight:bold;background-color:var(--tui-secondary);display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-gap:.5rem;gap:.5rem}.title:not(:first-child){margin-top:.5rem}.title.hidden{display:none}.large-wrapper{width:100%;height:60px}.large-wrapper:first-child{margin-bottom:auto}.large-wrapper:last-child{margin-top:auto}.kwikid-form-container-loading{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;grid-row-gap:1rem;row-gap:1rem;padding:1rem}#field-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top{color:#fff!important}#field-error-notification .t-close{color:#fff!important}\n"], components: [{ type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "size", "icon", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["messages", "id"] }, { type: i2__namespace.KwikUICheckboxBlockComponent, selector: "kwikui-checkbox-block", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "contentAlign", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "prefix", "postfix", "precision", "decimal", "size", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "minCalculatedFromToday", "max", "maxCalculatedFromToday", "size", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "countryCode", "phoneMaskAfterCountryCode", "removeCountryCodeFromValue", "size", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i3__namespace$1.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i2__namespace.KwikUIRadioListComponent, selector: "kwikui-radio-list", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "orientation", "items", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUISelectComboboxComponent, selector: "kwikui-select-combobox", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "options", "size", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputSliderComponent, selector: "kwikui-input-slider", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "size", "min", "max", "steps", "quantum", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "shape", "size", "apiStatus"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i4__namespace$1.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { type: i3__namespace$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4__namespace$1.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i4__namespace$1.TuiPushDirective, selector: "tui-push" }], pipes: { "safeHtml": SafeHtmlPipe$1 } });
|
|
4001
4190
|
__decorate([
|
|
4002
4191
|
kwikidToolkit.logMethod
|
|
4003
4192
|
], KwikIDFormViewComponent.prototype, "ngOnInit", null);
|
|
@@ -4040,6 +4229,9 @@
|
|
|
4040
4229
|
__decorate([
|
|
4041
4230
|
kwikidToolkit.logMethod
|
|
4042
4231
|
], KwikIDFormViewComponent.prototype, "handleOnClickResetFormFields", null);
|
|
4232
|
+
__decorate([
|
|
4233
|
+
kwikidToolkit.logMethod
|
|
4234
|
+
], KwikIDFormViewComponent.prototype, "handleApiCall", null);
|
|
4043
4235
|
__decorate([
|
|
4044
4236
|
kwikidToolkit.logMethod
|
|
4045
4237
|
], KwikIDFormViewComponent.prototype, "handleOnClickApiCall", null);
|
|
@@ -4091,9 +4283,6 @@
|
|
|
4091
4283
|
__decorate([
|
|
4092
4284
|
kwikidToolkit.logMethod
|
|
4093
4285
|
], KwikIDFormViewComponent.prototype, "fieldMessageHide", null);
|
|
4094
|
-
__decorate([
|
|
4095
|
-
kwikidToolkit.logMethod
|
|
4096
|
-
], KwikIDFormViewComponent.prototype, "setObjectValue", null);
|
|
4097
4286
|
__decorate([
|
|
4098
4287
|
kwikidToolkit.logMethod
|
|
4099
4288
|
], KwikIDFormViewComponent.prototype, "patchFieldControlValue", null);
|
|
@@ -4145,7 +4334,7 @@
|
|
|
4145
4334
|
type: i0.Output
|
|
4146
4335
|
}], onClickApiCall: [{
|
|
4147
4336
|
type: i0.Output
|
|
4148
|
-
}], ngOnInit: [], ngAfterViewInit: [], ngOnChanges: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleOnClickApiCall: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], toggleErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [],
|
|
4337
|
+
}], ngOnInit: [], ngAfterViewInit: [], ngOnChanges: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleApiCall: [], handleOnClickApiCall: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], toggleErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [], patchFieldControlValue: [], patchFormGroup: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], takeActionOnFieldGroup: [], takeAction: [] } });
|
|
4149
4338
|
|
|
4150
4339
|
/**
|
|
4151
4340
|
* Generated class for the SafeHtmlPipe pipe.
|
|
@@ -4804,7 +4993,7 @@
|
|
|
4804
4993
|
this.formsListCompleted = this.findCompletedFormsList(currentUserFormAllFormsData);
|
|
4805
4994
|
this.formsList = this.markFormInFormsListAsCompleted(this.formsList, this.formsListCompleted);
|
|
4806
4995
|
this.formsList = this.markFormInFormsListAsDisabled(this.formsList, this.formsListCompleted);
|
|
4807
|
-
this.formsList =
|
|
4996
|
+
this.formsList = kwikidToolkit.getObjectDeepCopy(this.formsList);
|
|
4808
4997
|
this.activeFormConfig = this.findActiveFormConfig(this.formsList);
|
|
4809
4998
|
return [2 /*return*/];
|
|
4810
4999
|
}
|