kwikid-forms 0.1.10 → 0.1.12
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 +502 -336
- package/bundles/kwikid-forms.umd.js.map +1 -1
- package/esm2015/lib/kwikid-forms.module.js +3 -5
- package/esm2015/lib/renderer/form-view/form-view.component.js +16 -6
- package/esm2015/lib/renderer/forms-list/forms-list.component.js +15 -2
- package/esm2015/lib/renderer/renderer.actions.definitions.js +9 -0
- package/esm2015/lib/renderer/renderer.component.js +331 -97
- package/esm2015/lib/renderer/renderer.helper.js +9 -0
- package/fesm2015/kwikid-forms.js +372 -263
- package/fesm2015/kwikid-forms.js.map +1 -1
- package/lib/renderer/form-view/form-view.component.d.ts +1 -2
- package/lib/renderer/renderer.actions.definitions.d.ts +50 -0
- package/lib/renderer/renderer.component.d.ts +71 -10
- package/lib/renderer/renderer.helper.d.ts +1 -0
- package/package.json +2 -2
- package/esm2015/lib/renderer/renderer.service.js +0 -169
- package/lib/renderer/renderer.service.d.ts +0 -28
package/fesm2015/kwikid-forms.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { copyArrayItem, moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { VERSION, Component, Pipe, EventEmitter, Inject, Input, Output,
|
|
3
|
+
import { VERSION, Component, Pipe, EventEmitter, Inject, Input, Output, HostListener, NgModule } from '@angular/core';
|
|
4
4
|
import * as i6 from '@angular/forms';
|
|
5
5
|
import { FormGroup, FormControl, Validators, FormArray, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
6
6
|
import * as i2 from 'kwikui';
|
|
7
7
|
import { KwikUIButtonComponent, KwikUIProgressSegmentedComponent, KwikUIInputComponent, KwikUIModule } from 'kwikui';
|
|
8
|
-
import { cloneDeep } from 'lodash';
|
|
8
|
+
import { cloneDeep as cloneDeep$1 } from 'lodash';
|
|
9
9
|
import { __awaiter, __decorate } from 'tslib';
|
|
10
10
|
import * as i3 from '@taiga-ui/core';
|
|
11
11
|
import { TuiAlertService, TuiLabelModule, TuiSvgModule, TuiLoaderModule } from '@taiga-ui/core';
|
|
@@ -18,6 +18,7 @@ import * as i5 from '@angular/common';
|
|
|
18
18
|
import { CommonModule } from '@angular/common';
|
|
19
19
|
import * as i1 from '@angular/platform-browser';
|
|
20
20
|
import { trigger, transition, style, animate } from '@angular/animations';
|
|
21
|
+
import * as cloneDeep from 'lodash/cloneDeep';
|
|
21
22
|
import { HttpClientModule } from '@angular/common/http';
|
|
22
23
|
|
|
23
24
|
class KwikIDFormsBuilderComponent {
|
|
@@ -101,7 +102,7 @@ class KwikIDFormsBuilderComponent {
|
|
|
101
102
|
if (event.previousContainer !== event.container) {
|
|
102
103
|
console.log("copying");
|
|
103
104
|
// Clone the item that was dropped.
|
|
104
|
-
let clone = cloneDeep(event.previousContainer.data[event.previousIndex]);
|
|
105
|
+
let clone = cloneDeep$1(event.previousContainer.data[event.previousIndex]);
|
|
105
106
|
clone.id = clone.key + "__" + this.revisedRandId();
|
|
106
107
|
event.previousContainer.data[event.previousIndex] = clone;
|
|
107
108
|
let newFormGroup = new FormGroup({});
|
|
@@ -736,7 +737,6 @@ class KwikIDFormViewComponent {
|
|
|
736
737
|
this.onClickViewForms = new EventEmitter();
|
|
737
738
|
this.onClickSaveForm = new EventEmitter();
|
|
738
739
|
this.onClickApiCall = new EventEmitter();
|
|
739
|
-
this.getActiveFormData = new EventEmitter();
|
|
740
740
|
this.fieldGroups = {};
|
|
741
741
|
this.formFields = [];
|
|
742
742
|
this.previousFormData = {};
|
|
@@ -754,6 +754,13 @@ class KwikIDFormViewComponent {
|
|
|
754
754
|
}
|
|
755
755
|
ngOnInit() {
|
|
756
756
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
757
|
+
this.formsList = this.formsList.filter((form) => {
|
|
758
|
+
if (checkObjectKeyExists(form, "hidden")) {
|
|
759
|
+
if (!form.hidden) {
|
|
760
|
+
return form;
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
});
|
|
757
764
|
yield this.initFormConfig(this.formConfig);
|
|
758
765
|
this.loading = false;
|
|
759
766
|
}))();
|
|
@@ -791,7 +798,13 @@ class KwikIDFormViewComponent {
|
|
|
791
798
|
this.allFormsData = changes.allFormsData.currentValue;
|
|
792
799
|
}
|
|
793
800
|
if (verifyChange("formsList")) {
|
|
794
|
-
this.formsList = changes.formsList.currentValue
|
|
801
|
+
this.formsList = changes.formsList.currentValue.filter((form) => {
|
|
802
|
+
if (checkObjectKeyExists(form, "hidden")) {
|
|
803
|
+
if (!form.hidden) {
|
|
804
|
+
return form;
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
});
|
|
795
808
|
}
|
|
796
809
|
if (verifyChange("formConfig")) {
|
|
797
810
|
this.formConfig = changes.formConfig.currentValue;
|
|
@@ -1367,7 +1380,7 @@ class KwikIDFormViewComponent {
|
|
|
1367
1380
|
}
|
|
1368
1381
|
}
|
|
1369
1382
|
/** @nocollapse */ KwikIDFormViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDFormViewComponent, deps: [{ token: TuiPushService }, { token: TuiAlertService }, { token: KwikIDFormViewService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1370
|
-
/** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { formConfig: "formConfig", formData: "formData", apiCallResponse: "apiCallResponse", isMobileView: "isMobileView", allFormsData: "allFormsData", formsList: "formsList" }, outputs: { onClickViewForms: "onClickViewForms", onClickSaveForm: "onClickSaveForm", onClickApiCall: "onClickApiCall", getActiveFormData: "getActiveFormData" }, providers: [KwikIDFormViewService], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!this.loading\"\n>\n <div id=\"uf-form-fields-header-container\">\n <div id=\"uf-form-fields-title\">\n {{ this.formConfig.title }}\n </div>\n <div id=\"uf-form-fields-steps\">\n Step {{ this.formConfig.sequenceNo }} of {{ this.formsList.length }}\n </div>\n <hr />\n </div>\n <form\n class=\"kwikid-form show\"\n [formGroup]=\"this.formGroup\"\n >\n <ng-container *ngFor=\"let field of this.formFields; let i = index\">\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)=\"this.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 [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\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 [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\"\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)=\"this.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=\"this.isMobileView\"\n [disabled]=\"viewFormsButton.disabled\"\n id=\"\"\n label=\"View Forms\"\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)=\"this.handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n [disabled]=\"saveFormButton.disabled\"\n id=\"\"\n label=\"Save\"\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)=\"this.handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"this.loading\"\n>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.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=\"tuiIconCancel\"\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.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i2.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["messages", "id"] }, { type: i2.KwikUICheckboxBlockComponent, selector: "kwikui-checkbox-block", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "contentAlign", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "prefix", "postfix", "precision", "decimal", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "countryCode", "phoneMaskAfterCountryCode", "removeCountryCodeFromValue", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i3.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i2.KwikUIRadioListComponent, selector: "kwikui-radio-list", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "orientation", "items", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUISelectComboboxComponent, selector: "kwikui-select-combobox", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "options", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "shape", "size", "apiStatus"], outputs: ["onClick"] }, { type: i2.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i4.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { type: i3.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i4.TuiPushDirective, selector: "tui-push" }], pipes: { "safeHtml": SafeHtmlPipe } });
|
|
1383
|
+
/** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { formConfig: "formConfig", formData: "formData", apiCallResponse: "apiCallResponse", isMobileView: "isMobileView", allFormsData: "allFormsData", formsList: "formsList" }, outputs: { onClickViewForms: "onClickViewForms", onClickSaveForm: "onClickSaveForm", onClickApiCall: "onClickApiCall" }, providers: [KwikIDFormViewService], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!this.loading\"\n>\n <div id=\"uf-form-fields-header-container\">\n <div id=\"uf-form-fields-title\">\n {{ this.formConfig.title }}\n </div>\n <div id=\"uf-form-fields-steps\">\n Step {{ this.formConfig.sequenceNo }} of {{ this.formsList.length }}\n </div>\n <hr />\n </div>\n <form\n class=\"kwikid-form show\"\n [formGroup]=\"this.formGroup\"\n >\n <ng-container *ngFor=\"let field of this.formFields; let i = index\">\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)=\"this.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 [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\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 [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\"\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)=\"this.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=\"this.isMobileView\"\n [disabled]=\"viewFormsButton.disabled\"\n id=\"\"\n label=\"View Forms\"\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)=\"this.handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n [disabled]=\"saveFormButton.disabled\"\n id=\"\"\n label=\"Save\"\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)=\"this.handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"this.loading\"\n>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.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=\"tuiIconCancel\"\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.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i2.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["messages", "id"] }, { type: i2.KwikUICheckboxBlockComponent, selector: "kwikui-checkbox-block", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "contentAlign", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "prefix", "postfix", "precision", "decimal", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "countryCode", "phoneMaskAfterCountryCode", "removeCountryCodeFromValue", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i3.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i2.KwikUIRadioListComponent, selector: "kwikui-radio-list", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "orientation", "items", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUISelectComboboxComponent, selector: "kwikui-select-combobox", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "options", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "shape", "size", "apiStatus"], outputs: ["onClick"] }, { type: i2.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i4.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { type: i3.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i4.TuiPushDirective, selector: "tui-push" }], pipes: { "safeHtml": SafeHtmlPipe } });
|
|
1371
1384
|
__decorate([
|
|
1372
1385
|
logMethod
|
|
1373
1386
|
], KwikIDFormViewComponent.prototype, "ngOnInit", null);
|
|
@@ -1517,8 +1530,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
1517
1530
|
type: Output
|
|
1518
1531
|
}], onClickApiCall: [{
|
|
1519
1532
|
type: Output
|
|
1520
|
-
}], getActiveFormData: [{
|
|
1521
|
-
type: Output
|
|
1522
1533
|
}], 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: [], setObjectValue: [], patchFieldControlValue: [], patchFormGroup: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], takeActionOnFieldGroup: [], takeAction: [] } });
|
|
1523
1534
|
|
|
1524
1535
|
class KwikIDFormsListComponent {
|
|
@@ -1535,6 +1546,13 @@ class KwikIDFormsListComponent {
|
|
|
1535
1546
|
this.isAllFormsCompleted = true;
|
|
1536
1547
|
}
|
|
1537
1548
|
ngOnInit() {
|
|
1549
|
+
this.formsList = this.formsList.filter((form) => {
|
|
1550
|
+
if (checkObjectKeyExists(form, "hidden")) {
|
|
1551
|
+
if (!form.hidden) {
|
|
1552
|
+
return form;
|
|
1553
|
+
}
|
|
1554
|
+
}
|
|
1555
|
+
});
|
|
1538
1556
|
this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);
|
|
1539
1557
|
}
|
|
1540
1558
|
ngOnChanges(changes) {
|
|
@@ -1545,7 +1563,13 @@ class KwikIDFormsListComponent {
|
|
|
1545
1563
|
this.showFormFields = changes.showFormFields.currentValue;
|
|
1546
1564
|
}
|
|
1547
1565
|
if (verifyChange("formsList")) {
|
|
1548
|
-
this.formsList = changes.formsList.currentValue
|
|
1566
|
+
this.formsList = changes.formsList.currentValue.filter((form) => {
|
|
1567
|
+
if (checkObjectKeyExists(form, "hidden")) {
|
|
1568
|
+
if (!form.hidden) {
|
|
1569
|
+
return form;
|
|
1570
|
+
}
|
|
1571
|
+
}
|
|
1572
|
+
});
|
|
1549
1573
|
this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);
|
|
1550
1574
|
}
|
|
1551
1575
|
if (verifyChange("isMobileView")) {
|
|
@@ -1603,6 +1627,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
1603
1627
|
type: Output
|
|
1604
1628
|
}], ngOnChanges: [] } });
|
|
1605
1629
|
|
|
1630
|
+
var ERendererActionKey;
|
|
1631
|
+
(function (ERendererActionKey) {
|
|
1632
|
+
ERendererActionKey["SET_VALUE"] = "SET_VALUE";
|
|
1633
|
+
ERendererActionKey["FORM_HIDE"] = "FORM_HIDE";
|
|
1634
|
+
ERendererActionKey["FORM_SHOW"] = "FORM_SHOW";
|
|
1635
|
+
ERendererActionKey["FORM_DISABLE"] = "FORM_DISABLE";
|
|
1636
|
+
ERendererActionKey["FORM_ENABLE"] = "FORM_ENABLE";
|
|
1637
|
+
})(ERendererActionKey || (ERendererActionKey = {}));
|
|
1638
|
+
|
|
1606
1639
|
class Converter {
|
|
1607
1640
|
constructor() {
|
|
1608
1641
|
this.getFormFields = (formConfig) => {
|
|
@@ -2240,175 +2273,19 @@ __decorate([
|
|
|
2240
2273
|
logMethod
|
|
2241
2274
|
], Converter.prototype, "convertFormConfig", null);
|
|
2242
2275
|
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
}
|
|
2248
|
-
setIsMobileView(isMobileView) {
|
|
2249
|
-
this.isMobileView = isMobileView;
|
|
2250
|
-
}
|
|
2251
|
-
setFormsList(formsList) {
|
|
2252
|
-
this.formsList = formsList;
|
|
2253
|
-
}
|
|
2254
|
-
setFormsListCompleted(formsListCompleted) {
|
|
2255
|
-
this.formsListCompleted = formsListCompleted;
|
|
2256
|
-
}
|
|
2257
|
-
setAllFormsData(allFormsData) {
|
|
2258
|
-
this.allFormsData = allFormsData;
|
|
2259
|
-
}
|
|
2260
|
-
setActiveFormConfig(activeFormConfig) {
|
|
2261
|
-
this.activeFormConfig = activeFormConfig;
|
|
2262
|
-
}
|
|
2263
|
-
setActiveFormFields(activeFormFields) {
|
|
2264
|
-
this.activeFormFields = activeFormFields;
|
|
2265
|
-
}
|
|
2266
|
-
setActiveFormData(activeFormData) {
|
|
2267
|
-
this.activeFormData = activeFormData;
|
|
2268
|
-
}
|
|
2269
|
-
fetchFormConfig(url) {
|
|
2270
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
2271
|
-
const response = yield fetch(url, { method: "GET" });
|
|
2272
|
-
const data = yield response.json();
|
|
2273
|
-
return data;
|
|
2274
|
-
});
|
|
2275
|
-
}
|
|
2276
|
-
findActiveFormConfig(formsList) {
|
|
2277
|
-
const activeFormConfig = formsList.find((form) => {
|
|
2278
|
-
return form.status === "editable" && !form.disabled;
|
|
2279
|
-
});
|
|
2280
|
-
return activeFormConfig;
|
|
2281
|
-
}
|
|
2282
|
-
findCompletedFormsList(allFormsData) {
|
|
2283
|
-
let formsListCompleted = [];
|
|
2284
|
-
Object.keys(allFormsData).map((formKey) => {
|
|
2285
|
-
formsListCompleted.push(formKey);
|
|
2286
|
-
});
|
|
2287
|
-
return formsListCompleted;
|
|
2288
|
-
}
|
|
2289
|
-
markFormInFormsListAsCompleted(formsList, formsListCompleted) {
|
|
2290
|
-
for (let form of formsList) {
|
|
2291
|
-
if (formsListCompleted.includes(form.key)) {
|
|
2292
|
-
form = setValueToObjectPath(form, "status", "completed");
|
|
2293
|
-
form = setValueToObjectPath(form, "disabled", false);
|
|
2294
|
-
}
|
|
2295
|
-
}
|
|
2296
|
-
return formsList;
|
|
2297
|
-
}
|
|
2298
|
-
markFormInFormsListAsDisabled(formsList, formsListCompleted) {
|
|
2299
|
-
for (let form of formsList) {
|
|
2300
|
-
if (form.status !== "completed") {
|
|
2301
|
-
if (checkObjectKeyExists(form, "dependentOn")) {
|
|
2302
|
-
const isDependent = form.dependentOn.every((r) => formsListCompleted.includes(r));
|
|
2303
|
-
if (isDependent) {
|
|
2304
|
-
form = setValueToObjectPath(form, "status", "editable");
|
|
2305
|
-
form = setValueToObjectPath(form, "disabled", false);
|
|
2306
|
-
}
|
|
2307
|
-
else {
|
|
2308
|
-
form = setValueToObjectPath(form, "status", "locked");
|
|
2309
|
-
form = setValueToObjectPath(form, "disabled", true);
|
|
2310
|
-
}
|
|
2311
|
-
}
|
|
2312
|
-
else {
|
|
2313
|
-
form = setValueToObjectPath(form, "dependentOn", []);
|
|
2314
|
-
form = setValueToObjectPath(form, "status", "editable");
|
|
2315
|
-
form = setValueToObjectPath(form, "disabled", false);
|
|
2316
|
-
}
|
|
2317
|
-
}
|
|
2276
|
+
const getFormConfigByKey = (forms, key) => {
|
|
2277
|
+
const form = forms.find((form) => {
|
|
2278
|
+
if (form.key === key) {
|
|
2279
|
+
return form;
|
|
2318
2280
|
}
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
let sequenceNo = 1;
|
|
2323
|
-
for (let form of formsList) {
|
|
2324
|
-
form.sequenceNo = sequenceNo++;
|
|
2325
|
-
}
|
|
2326
|
-
return formsList;
|
|
2327
|
-
}
|
|
2328
|
-
filterAllFormsData(allFormsData, formsList) {
|
|
2329
|
-
let currentUserFormAllFormsData = {};
|
|
2330
|
-
for (let form of formsList) {
|
|
2331
|
-
if (checkObjectKeyExists(allFormsData, form.key)) {
|
|
2332
|
-
currentUserFormAllFormsData = Object.assign(Object.assign({}, currentUserFormAllFormsData), { [form.key]: allFormsData[form.key] });
|
|
2333
|
-
}
|
|
2334
|
-
}
|
|
2335
|
-
return currentUserFormAllFormsData;
|
|
2336
|
-
}
|
|
2337
|
-
updateFormsList() {
|
|
2338
|
-
let formsList = this.formsList;
|
|
2339
|
-
let formsListCompleted;
|
|
2340
|
-
let activeFormConfig;
|
|
2341
|
-
formsList = this.assignSequenceNoToForm(formsList);
|
|
2342
|
-
/**
|
|
2343
|
-
* Below code identifies the allFormsData required for the current User Form.
|
|
2344
|
-
* Why? Because allFormsData will actually contain the whole journey's all
|
|
2345
|
-
* possible User Form steps. So, it is important to set the form data which
|
|
2346
|
-
* this particular User Form only has to LOCAL METHOD Variable.
|
|
2347
|
-
*/
|
|
2348
|
-
const currentUserFormAllFormsData = this.filterAllFormsData(this.allFormsData, formsList);
|
|
2349
|
-
formsListCompleted = this.findCompletedFormsList(currentUserFormAllFormsData);
|
|
2350
|
-
formsList = this.markFormInFormsListAsCompleted(formsList, formsListCompleted);
|
|
2351
|
-
formsList = this.markFormInFormsListAsDisabled(formsList, formsListCompleted);
|
|
2352
|
-
if (formsList.length !== formsListCompleted.length) {
|
|
2353
|
-
activeFormConfig = this.findActiveFormConfig(formsList);
|
|
2354
|
-
this.setActiveFormConfig(activeFormConfig);
|
|
2355
|
-
}
|
|
2356
|
-
this.setFormsList(formsList);
|
|
2357
|
-
this.setFormsListCompleted(formsListCompleted);
|
|
2358
|
-
}
|
|
2359
|
-
}
|
|
2360
|
-
/** @nocollapse */ KwikIDRendererService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDRendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2361
|
-
/** @nocollapse */ KwikIDRendererService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDRendererService, providedIn: "root" });
|
|
2362
|
-
__decorate([
|
|
2363
|
-
logMethod
|
|
2364
|
-
], KwikIDRendererService.prototype, "setFormsList", null);
|
|
2365
|
-
__decorate([
|
|
2366
|
-
logMethod
|
|
2367
|
-
], KwikIDRendererService.prototype, "setFormsListCompleted", null);
|
|
2368
|
-
__decorate([
|
|
2369
|
-
logMethod
|
|
2370
|
-
], KwikIDRendererService.prototype, "setAllFormsData", null);
|
|
2371
|
-
__decorate([
|
|
2372
|
-
logMethod
|
|
2373
|
-
], KwikIDRendererService.prototype, "setActiveFormConfig", null);
|
|
2374
|
-
__decorate([
|
|
2375
|
-
logMethod
|
|
2376
|
-
], KwikIDRendererService.prototype, "setActiveFormFields", null);
|
|
2377
|
-
__decorate([
|
|
2378
|
-
logMethod
|
|
2379
|
-
], KwikIDRendererService.prototype, "setActiveFormData", null);
|
|
2380
|
-
__decorate([
|
|
2381
|
-
logMethod
|
|
2382
|
-
], KwikIDRendererService.prototype, "findActiveFormConfig", null);
|
|
2383
|
-
__decorate([
|
|
2384
|
-
logMethod
|
|
2385
|
-
], KwikIDRendererService.prototype, "findCompletedFormsList", null);
|
|
2386
|
-
__decorate([
|
|
2387
|
-
logMethod
|
|
2388
|
-
], KwikIDRendererService.prototype, "markFormInFormsListAsCompleted", null);
|
|
2389
|
-
__decorate([
|
|
2390
|
-
logMethod
|
|
2391
|
-
], KwikIDRendererService.prototype, "markFormInFormsListAsDisabled", null);
|
|
2392
|
-
__decorate([
|
|
2393
|
-
logMethod
|
|
2394
|
-
], KwikIDRendererService.prototype, "assignSequenceNoToForm", null);
|
|
2395
|
-
__decorate([
|
|
2396
|
-
logMethod
|
|
2397
|
-
], KwikIDRendererService.prototype, "filterAllFormsData", null);
|
|
2398
|
-
__decorate([
|
|
2399
|
-
logMethod
|
|
2400
|
-
], KwikIDRendererService.prototype, "updateFormsList", null);
|
|
2401
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDRendererService, decorators: [{
|
|
2402
|
-
type: Injectable,
|
|
2403
|
-
args: [{
|
|
2404
|
-
providedIn: "root"
|
|
2405
|
-
}]
|
|
2406
|
-
}], ctorParameters: function () { return []; }, propDecorators: { setFormsList: [], setFormsListCompleted: [], setAllFormsData: [], setActiveFormConfig: [], setActiveFormFields: [], setActiveFormData: [], findActiveFormConfig: [], findCompletedFormsList: [], markFormInFormsListAsCompleted: [], markFormInFormsListAsDisabled: [], assignSequenceNoToForm: [], filterAllFormsData: [], updateFormsList: [] } });
|
|
2281
|
+
});
|
|
2282
|
+
return form;
|
|
2283
|
+
};
|
|
2407
2284
|
|
|
2408
2285
|
class KwikIDFormsRendererComponent {
|
|
2409
|
-
constructor(
|
|
2410
|
-
this.rendererService = rendererService;
|
|
2286
|
+
constructor(hostElement, cdr) {
|
|
2411
2287
|
this.hostElement = hostElement;
|
|
2288
|
+
this.cdr = cdr;
|
|
2412
2289
|
this.formsData = {};
|
|
2413
2290
|
this.apiCallResponse = {};
|
|
2414
2291
|
this.onClickSubmit = new EventEmitter();
|
|
@@ -2416,11 +2293,14 @@ class KwikIDFormsRendererComponent {
|
|
|
2416
2293
|
this.onClickApiCall = new EventEmitter();
|
|
2417
2294
|
this.loading = false;
|
|
2418
2295
|
this.loader = false;
|
|
2296
|
+
this.showErrorNotification = false;
|
|
2297
|
+
this.allFormsData = {};
|
|
2298
|
+
this.formsList = [];
|
|
2299
|
+
this.isMobileView = false;
|
|
2419
2300
|
// display forms and list conditionally
|
|
2420
2301
|
this.showForm = false;
|
|
2421
2302
|
this.showFormFields = true;
|
|
2422
2303
|
this.showFormSections = true;
|
|
2423
|
-
this.showErrorNotification = false;
|
|
2424
2304
|
}
|
|
2425
2305
|
// The final value should be provided to service, so that it can be used in all components
|
|
2426
2306
|
windowResizeWatcher() {
|
|
@@ -2433,7 +2313,7 @@ class KwikIDFormsRendererComponent {
|
|
|
2433
2313
|
this.showFormSections = true;
|
|
2434
2314
|
this.showFormFields = false;
|
|
2435
2315
|
}
|
|
2436
|
-
this.
|
|
2316
|
+
this.isMobileView = true;
|
|
2437
2317
|
}
|
|
2438
2318
|
else {
|
|
2439
2319
|
if (this.showForm) {
|
|
@@ -2444,9 +2324,12 @@ class KwikIDFormsRendererComponent {
|
|
|
2444
2324
|
this.showFormSections = true;
|
|
2445
2325
|
this.showFormFields = false;
|
|
2446
2326
|
}
|
|
2447
|
-
this.
|
|
2327
|
+
this.isMobileView = false;
|
|
2448
2328
|
}
|
|
2449
2329
|
}
|
|
2330
|
+
toggleErrorNotification(show) {
|
|
2331
|
+
this.showErrorNotification = show;
|
|
2332
|
+
}
|
|
2450
2333
|
ngOnInit() {
|
|
2451
2334
|
var _a, _b, _c;
|
|
2452
2335
|
this.loader = true;
|
|
@@ -2454,10 +2337,10 @@ class KwikIDFormsRendererComponent {
|
|
|
2454
2337
|
const formStepKey = (_c = (_b = (_a = this.stepConfig) === null || _a === void 0 ? void 0 : _a.form) === null || _b === void 0 ? void 0 : _b.key) !== null && _c !== void 0 ? _c : undefined;
|
|
2455
2338
|
if (formStepKey !== undefined &&
|
|
2456
2339
|
checkObjectKeyExists(this.userConfig.userFormFields, formStepKey)) {
|
|
2457
|
-
this.
|
|
2340
|
+
this.formsList = this.userConfig.userFormFields[formStepKey];
|
|
2458
2341
|
}
|
|
2459
2342
|
else if (Array.isArray(this.userConfig.userFormFields)) {
|
|
2460
|
-
this.
|
|
2343
|
+
this.formsList = this.userConfig.userFormFields;
|
|
2461
2344
|
}
|
|
2462
2345
|
else {
|
|
2463
2346
|
throw new Error(`userFormFields doesn't have a form defined with key: ${formStepKey}`);
|
|
@@ -2482,15 +2365,26 @@ class KwikIDFormsRendererComponent {
|
|
|
2482
2365
|
this.loader = false;
|
|
2483
2366
|
}
|
|
2484
2367
|
}
|
|
2368
|
+
fetchFormConfig(url) {
|
|
2369
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2370
|
+
const response = yield fetch(url, { method: "GET" });
|
|
2371
|
+
const data = yield response.json();
|
|
2372
|
+
return data;
|
|
2373
|
+
});
|
|
2374
|
+
}
|
|
2485
2375
|
initializeForms() {
|
|
2486
2376
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2487
2377
|
this.loader = true;
|
|
2488
|
-
this.
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2378
|
+
this.allFormsData = this.formsData;
|
|
2379
|
+
console.log("START");
|
|
2380
|
+
console.log(JSON.parse(JSON.stringify(this.formsList)));
|
|
2381
|
+
yield this.updateFormsList();
|
|
2382
|
+
console.log("END");
|
|
2383
|
+
console.log(JSON.parse(JSON.stringify(this.formsList)));
|
|
2384
|
+
this.handleResize(this.formsList);
|
|
2385
|
+
console.log(JSON.stringify(this.activeFormConfig), this.formsListCompleted);
|
|
2386
|
+
if (isNotEmptyValue(this.activeFormConfig)) {
|
|
2387
|
+
yield this.handleOnClickSetActiveForm(this.activeFormConfig.key);
|
|
2494
2388
|
}
|
|
2495
2389
|
else {
|
|
2496
2390
|
this.showForm = false;
|
|
@@ -2500,43 +2394,221 @@ class KwikIDFormsRendererComponent {
|
|
|
2500
2394
|
this.loading = false;
|
|
2501
2395
|
});
|
|
2502
2396
|
}
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2397
|
+
/**
|
|
2398
|
+
* NOTE: To be deprecated.
|
|
2399
|
+
* Why ? Will be directly assigned while executing 'chakra' for default form config.
|
|
2400
|
+
* @param formsList any[]
|
|
2401
|
+
* @param formsListCompleted string[]
|
|
2402
|
+
* @returns any[]
|
|
2403
|
+
*/
|
|
2404
|
+
assignSequenceNoToForm(formsList) {
|
|
2405
|
+
let sequenceNo = 1;
|
|
2406
|
+
for (let form of formsList) {
|
|
2407
|
+
if (checkObjectKeyExists(form, "hidden")) {
|
|
2408
|
+
if (!form.hidden) {
|
|
2409
|
+
form.sequenceNo = sequenceNo++;
|
|
2410
|
+
}
|
|
2411
|
+
else {
|
|
2412
|
+
delete form["sequenceNo"];
|
|
2413
|
+
}
|
|
2512
2414
|
}
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2415
|
+
}
|
|
2416
|
+
return formsList;
|
|
2417
|
+
}
|
|
2418
|
+
findCompletedFormsList(allFormsData) {
|
|
2419
|
+
let formsListCompleted = [];
|
|
2420
|
+
Object.keys(allFormsData).map((formKey) => {
|
|
2421
|
+
formsListCompleted.push(formKey);
|
|
2422
|
+
});
|
|
2423
|
+
return formsListCompleted;
|
|
2424
|
+
}
|
|
2425
|
+
/**
|
|
2426
|
+
* NOTE: To be deprecated. Why ? Will be replaced by 'chakra'.
|
|
2427
|
+
* @param formsList any[]
|
|
2428
|
+
* @param formsListCompleted string[]
|
|
2429
|
+
* @returns any[]
|
|
2430
|
+
*/
|
|
2431
|
+
markFormInFormsListAsCompleted(formsList, formsListCompleted) {
|
|
2432
|
+
for (let form of formsList) {
|
|
2433
|
+
if (checkObjectKeyExists(form, "hidden")) {
|
|
2434
|
+
if (!form.hidden) {
|
|
2435
|
+
if (formsListCompleted.includes(form.key)) {
|
|
2436
|
+
form = setValueToObjectPath(form, "status", "completed");
|
|
2437
|
+
form = setValueToObjectPath(form, "disabled", false);
|
|
2438
|
+
}
|
|
2439
|
+
}
|
|
2517
2440
|
}
|
|
2518
|
-
this.rendererService.isMobileView = true;
|
|
2519
2441
|
}
|
|
2520
|
-
|
|
2521
|
-
|
|
2442
|
+
return formsList;
|
|
2443
|
+
}
|
|
2444
|
+
/**
|
|
2445
|
+
* NOTE: To be deprecated. Why ? Will be replaced by 'chakra'.
|
|
2446
|
+
* @param formsList any[]
|
|
2447
|
+
* @param formsListCompleted string[]
|
|
2448
|
+
* @returns any[]
|
|
2449
|
+
*/
|
|
2450
|
+
markFormInFormsListAsDisabled(formsList, formsListCompleted) {
|
|
2451
|
+
for (let form of formsList) {
|
|
2452
|
+
if (checkObjectKeyExists(form, "hidden")) {
|
|
2453
|
+
if (!form.hidden) {
|
|
2454
|
+
if (form.status !== "completed") {
|
|
2455
|
+
if (checkObjectKeyExists(form, "dependentOn")) {
|
|
2456
|
+
const isDependent = form.dependentOn.every((r) => formsListCompleted.includes(r));
|
|
2457
|
+
if (isDependent) {
|
|
2458
|
+
form = setValueToObjectPath(form, "status", "editable");
|
|
2459
|
+
form = setValueToObjectPath(form, "disabled", false);
|
|
2460
|
+
}
|
|
2461
|
+
else {
|
|
2462
|
+
form = setValueToObjectPath(form, "status", "locked");
|
|
2463
|
+
form = setValueToObjectPath(form, "disabled", true);
|
|
2464
|
+
}
|
|
2465
|
+
}
|
|
2466
|
+
else {
|
|
2467
|
+
form = setValueToObjectPath(form, "dependentOn", []);
|
|
2468
|
+
form = setValueToObjectPath(form, "status", "editable");
|
|
2469
|
+
form = setValueToObjectPath(form, "disabled", false);
|
|
2470
|
+
}
|
|
2471
|
+
}
|
|
2472
|
+
}
|
|
2473
|
+
}
|
|
2522
2474
|
}
|
|
2475
|
+
return formsList;
|
|
2476
|
+
}
|
|
2477
|
+
filterAllFormsData(allFormsData, formsList) {
|
|
2478
|
+
let currentUserFormAllFormsData = {};
|
|
2479
|
+
for (let form of formsList) {
|
|
2480
|
+
if (checkObjectKeyExists(form, "hidden") && !form.hidden) {
|
|
2481
|
+
if (checkObjectKeyExists(allFormsData, form.key)) {
|
|
2482
|
+
currentUserFormAllFormsData = Object.assign(Object.assign({}, currentUserFormAllFormsData), { [form.key]: allFormsData[form.key] });
|
|
2483
|
+
}
|
|
2484
|
+
}
|
|
2485
|
+
}
|
|
2486
|
+
return currentUserFormAllFormsData;
|
|
2523
2487
|
}
|
|
2524
|
-
|
|
2488
|
+
checkIfFormsStatusCompleted(formsList, formsListCompleted) {
|
|
2489
|
+
let allFormsCompleted = true;
|
|
2490
|
+
for (const form of formsList) {
|
|
2491
|
+
if (checkObjectKeyExists(form, "hidden")) {
|
|
2492
|
+
if (!form.hidden) {
|
|
2493
|
+
if (form.status !== "completed") {
|
|
2494
|
+
allFormsCompleted = false;
|
|
2495
|
+
break;
|
|
2496
|
+
}
|
|
2497
|
+
}
|
|
2498
|
+
}
|
|
2499
|
+
}
|
|
2500
|
+
return allFormsCompleted;
|
|
2501
|
+
}
|
|
2502
|
+
findActiveFormConfig(formsList) {
|
|
2503
|
+
const activeFormConfig = formsList.find((form) => {
|
|
2504
|
+
if (checkObjectKeyExists(form, "hidden")) {
|
|
2505
|
+
if (!form.hidden) {
|
|
2506
|
+
return form.status === "editable" && !form.disabled;
|
|
2507
|
+
}
|
|
2508
|
+
}
|
|
2509
|
+
});
|
|
2510
|
+
return activeFormConfig;
|
|
2511
|
+
}
|
|
2512
|
+
updateFormsList() {
|
|
2513
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2514
|
+
for (let form of this.formsList) {
|
|
2515
|
+
if (checkObjectKeyExists(form, "default") &&
|
|
2516
|
+
isNotEmptyValue(form.default)) {
|
|
2517
|
+
const triggers = form.default.triggers;
|
|
2518
|
+
const rules = form.default.rules;
|
|
2519
|
+
const actions = form.default.actions;
|
|
2520
|
+
const rulesMapping = new Rule(rules, {
|
|
2521
|
+
USER_CONFIG: this.userConfig,
|
|
2522
|
+
FORMS_LIST: this.formsList,
|
|
2523
|
+
ALL_FORMS_DATA: this.allFormsData
|
|
2524
|
+
}).mapping();
|
|
2525
|
+
for (let action of actions) {
|
|
2526
|
+
const conditionEvaluation = new Condition(action.condition, rulesMapping).evaluate();
|
|
2527
|
+
if (conditionEvaluation) {
|
|
2528
|
+
const actions = new Action(action, rulesMapping, {
|
|
2529
|
+
FORMS_LIST: this.formsList,
|
|
2530
|
+
ALL_FORMS_DATA: this.allFormsData
|
|
2531
|
+
}, this.takeAction.bind(this));
|
|
2532
|
+
yield actions.execute();
|
|
2533
|
+
}
|
|
2534
|
+
}
|
|
2535
|
+
}
|
|
2536
|
+
else {
|
|
2537
|
+
if (!checkObjectKeyExists(form, "hidden")) {
|
|
2538
|
+
form.hidden = false;
|
|
2539
|
+
}
|
|
2540
|
+
}
|
|
2541
|
+
}
|
|
2542
|
+
this.formsList = this.assignSequenceNoToForm(this.formsList);
|
|
2543
|
+
/**
|
|
2544
|
+
* Below code identifies the allFormsData required for the current User Form.
|
|
2545
|
+
* Why? Because allFormsData will actually contain the whole journey's all
|
|
2546
|
+
* possible User Form steps. So, it is important to set the form data which
|
|
2547
|
+
* this particular User Form only has to LOCAL METHOD Variable.
|
|
2548
|
+
*/
|
|
2549
|
+
const currentUserFormAllFormsData = this.filterAllFormsData(this.allFormsData, this.formsList);
|
|
2550
|
+
this.formsListCompleted = this.findCompletedFormsList(currentUserFormAllFormsData);
|
|
2551
|
+
this.formsList = this.markFormInFormsListAsCompleted(this.formsList, this.formsListCompleted);
|
|
2552
|
+
this.formsList = this.markFormInFormsListAsDisabled(this.formsList, this.formsListCompleted);
|
|
2553
|
+
this.formsList = cloneDeep(this.formsList);
|
|
2554
|
+
if (this.checkIfFormsStatusCompleted(this.formsList, this.formsListCompleted)) {
|
|
2555
|
+
this.activeFormConfig = this.findActiveFormConfig(this.formsList);
|
|
2556
|
+
}
|
|
2557
|
+
});
|
|
2558
|
+
}
|
|
2559
|
+
formHide(formKey) {
|
|
2560
|
+
let form = getFormConfigByKey(this.formsList, formKey);
|
|
2561
|
+
form = setValueToObjectPath(form, "hidden", true);
|
|
2562
|
+
}
|
|
2563
|
+
formShow(formKey) {
|
|
2564
|
+
let form = getFormConfigByKey(this.formsList, formKey);
|
|
2565
|
+
form = setValueToObjectPath(form, "hidden", false);
|
|
2566
|
+
}
|
|
2567
|
+
takeAction(action, object) {
|
|
2568
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2569
|
+
switch (action.key) {
|
|
2570
|
+
case ERendererActionKey.FORM_HIDE:
|
|
2571
|
+
this.formHide(action.props.formKey);
|
|
2572
|
+
break;
|
|
2573
|
+
case ERendererActionKey.FORM_SHOW:
|
|
2574
|
+
this.formShow(action.props.formKey);
|
|
2575
|
+
break;
|
|
2576
|
+
case EActionKey.SET_VALUE:
|
|
2577
|
+
const sources = new Source({
|
|
2578
|
+
USER_CONFIG: this.userConfig,
|
|
2579
|
+
ALL_FORMS_DATA: this.formsData
|
|
2580
|
+
});
|
|
2581
|
+
const sourceValue = yield sources.getValueFromSource(action.props.value.source);
|
|
2582
|
+
sources.setValueToSource(action.props.value.destination, sourceValue);
|
|
2583
|
+
this.userConfig = sources.object.USER_CONFIG;
|
|
2584
|
+
this.formsData = sources.object.ALL_FORMS_DATA;
|
|
2585
|
+
break;
|
|
2586
|
+
default:
|
|
2587
|
+
break;
|
|
2588
|
+
}
|
|
2589
|
+
});
|
|
2590
|
+
}
|
|
2591
|
+
/**
|
|
2592
|
+
* Library Event Listeners
|
|
2593
|
+
*/
|
|
2594
|
+
/**
|
|
2595
|
+
* FormList - Listens to event of opening the FormView of when any form is clicked in FormList
|
|
2596
|
+
* @param selectedForm string
|
|
2597
|
+
*/
|
|
2525
2598
|
handleOnClickSetActiveForm(selectedForm) {
|
|
2526
2599
|
var _a;
|
|
2527
2600
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2528
2601
|
this.showForm = false;
|
|
2529
2602
|
this.loader = true;
|
|
2530
|
-
const activeFormConfig = this.
|
|
2603
|
+
const activeFormConfig = this.formsList.find((form) => {
|
|
2531
2604
|
if (form.key === selectedForm) {
|
|
2532
2605
|
return form;
|
|
2533
2606
|
}
|
|
2534
2607
|
});
|
|
2535
|
-
let formConfig = yield this.
|
|
2608
|
+
let formConfig = yield this.fetchFormConfig(activeFormConfig.formContent.url);
|
|
2536
2609
|
formConfig = new Converter().convertFormConfig(formConfig);
|
|
2537
|
-
const activeFormData = (_a = this.
|
|
2538
|
-
this.
|
|
2539
|
-
this.rendererService.setActiveFormConfig(Object.assign(Object.assign({}, activeFormConfig), formConfig));
|
|
2610
|
+
const activeFormData = (_a = this.allFormsData[formConfig.key]) !== null && _a !== void 0 ? _a : {};
|
|
2611
|
+
this.activeFormConfig = Object.assign(Object.assign({}, activeFormConfig), formConfig);
|
|
2540
2612
|
if (this.hostElement.nativeElement.offsetWidth < 600) {
|
|
2541
2613
|
this.showFormSections = false;
|
|
2542
2614
|
this.showFormFields = true;
|
|
@@ -2549,11 +2621,43 @@ class KwikIDFormsRendererComponent {
|
|
|
2549
2621
|
this.loader = false;
|
|
2550
2622
|
});
|
|
2551
2623
|
}
|
|
2552
|
-
|
|
2624
|
+
/**
|
|
2625
|
+
* FormView - Listens to event of executing an API call from within the FormView and emits (read as passes) the same event to the library consumer.
|
|
2626
|
+
* @param e any
|
|
2627
|
+
*/
|
|
2628
|
+
handleOnClickApiCall(e) {
|
|
2629
|
+
this.loader = true;
|
|
2630
|
+
this.onClickApiCall.emit(e);
|
|
2631
|
+
}
|
|
2632
|
+
/**
|
|
2633
|
+
* FormView - Listens to event of getting the Active Form's Data when the Form is Saved and emits (read as passes) the same event to the library consumer.
|
|
2634
|
+
* @param e any
|
|
2635
|
+
*/
|
|
2636
|
+
handleOnClickSaveForm(e) {
|
|
2637
|
+
this.loader = true;
|
|
2638
|
+
this.activeFormData = {};
|
|
2639
|
+
this.getFormData.emit({
|
|
2640
|
+
[this.activeFormConfig.key]: e["data"]
|
|
2641
|
+
});
|
|
2642
|
+
}
|
|
2643
|
+
/**
|
|
2644
|
+
* FormView - Listens to event of showing the Forms List in Mobile View.
|
|
2645
|
+
* @param e any
|
|
2646
|
+
*/
|
|
2647
|
+
handleOnClickViewForms(e) {
|
|
2648
|
+
this.showFormSections = true;
|
|
2649
|
+
this.showForm = false;
|
|
2650
|
+
this.showFormFields = false;
|
|
2651
|
+
}
|
|
2652
|
+
/**
|
|
2653
|
+
* FormList - Listens to event of submitting all the forms and moving out of the library and also handles the validation of all the forms.
|
|
2654
|
+
* @param e any
|
|
2655
|
+
*/
|
|
2553
2656
|
handleOnClickSubmitForms(e) {
|
|
2554
2657
|
if (this.userConfig.userFormFieldsConfig.validation) {
|
|
2658
|
+
console.log(JSON.parse(JSON.stringify(this.userConfig)));
|
|
2555
2659
|
const validations = new Validation({
|
|
2556
|
-
|
|
2660
|
+
FORMS_LIST: this.formsList,
|
|
2557
2661
|
ALL_FORMS_DATA: this.formsData
|
|
2558
2662
|
}, this.takeAction.bind(this));
|
|
2559
2663
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -2570,56 +2674,33 @@ class KwikIDFormsRendererComponent {
|
|
|
2570
2674
|
}))();
|
|
2571
2675
|
}
|
|
2572
2676
|
}
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
// form-view listener
|
|
2586
|
-
handleOnClickSaveForm(e) {
|
|
2587
|
-
this.loader = true;
|
|
2588
|
-
this.rendererService.setActiveFormData({});
|
|
2589
|
-
this.getFormData.emit({
|
|
2590
|
-
[this.rendererService.activeFormConfig.key]: e["data"]
|
|
2591
|
-
});
|
|
2592
|
-
}
|
|
2593
|
-
// form-view listener
|
|
2594
|
-
handleOnClickViewForms(e) {
|
|
2595
|
-
this.showFormSections = true;
|
|
2596
|
-
this.showForm = false;
|
|
2597
|
-
this.showFormFields = false;
|
|
2598
|
-
}
|
|
2599
|
-
toggleErrorNotification(show) {
|
|
2600
|
-
this.showErrorNotification = show;
|
|
2601
|
-
}
|
|
2602
|
-
takeAction(action, userConfig, formsData) {
|
|
2603
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
2604
|
-
switch (action.key) {
|
|
2605
|
-
case EActionKey.SET_VALUE:
|
|
2606
|
-
const sources = new Source({
|
|
2607
|
-
USER_CONFIG: this.userConfig,
|
|
2608
|
-
ALL_FORMS_DATA: this.formsData
|
|
2609
|
-
});
|
|
2610
|
-
const sourceValue = yield sources.getValueFromSource(action.props.value.source);
|
|
2611
|
-
sources.setValueToSource(action.props.value.destination, sourceValue);
|
|
2612
|
-
this.userConfig = sources.object.USER_CONFIG;
|
|
2613
|
-
this.formsData = sources.object.ALL_FORMS_DATA;
|
|
2614
|
-
break;
|
|
2615
|
-
default:
|
|
2616
|
-
break;
|
|
2677
|
+
/**
|
|
2678
|
+
* Miscellaneous Methods
|
|
2679
|
+
*/
|
|
2680
|
+
handleResize(formsList) {
|
|
2681
|
+
if (this.hostElement.nativeElement.offsetWidth < 600) {
|
|
2682
|
+
const isSingleForm = (formsList) => {
|
|
2683
|
+
return formsList.length === 1;
|
|
2684
|
+
};
|
|
2685
|
+
if (!isSingleForm(formsList)) {
|
|
2686
|
+
this.showFormSections = true;
|
|
2687
|
+
this.showFormFields = false;
|
|
2688
|
+
this.showForm = false;
|
|
2617
2689
|
}
|
|
2618
|
-
|
|
2690
|
+
else {
|
|
2691
|
+
this.showFormSections = true;
|
|
2692
|
+
this.showFormFields = false;
|
|
2693
|
+
this.showForm = false;
|
|
2694
|
+
}
|
|
2695
|
+
this.isMobileView = true;
|
|
2696
|
+
}
|
|
2697
|
+
else {
|
|
2698
|
+
this.isMobileView = false;
|
|
2699
|
+
}
|
|
2619
2700
|
}
|
|
2620
2701
|
}
|
|
2621
|
-
/** @nocollapse */ KwikIDFormsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDFormsRendererComponent, deps: [{ token:
|
|
2622
|
-
/** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { stepConfig: "stepConfig", userConfig: "userConfig", formsData: "formsData", apiCallResponse: "apiCallResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } },
|
|
2702
|
+
/** @nocollapse */ KwikIDFormsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDFormsRendererComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2703
|
+
/** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { stepConfig: "stepConfig", userConfig: "userConfig", formsData: "formsData", apiCallResponse: "apiCallResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div ngClass=\"kwikid-renderer\">\n <div\n ngClass=\"kwikid-layout-container\"\n *ngIf=\"!loading\"\n >\n <div\n ngClass=\"kwikid-sections-container\"\n *ngIf=\"showFormSections\"\n class=\"active\"\n [class.active]=\"showFormSections\"\n [class.mobile]=\"isMobileView\"\n >\n <kwikid-forms-list\n [showFormFields]=\"this.showFormFields\"\n [userConfig]=\"this.userConfig\"\n [formsList]=\"this.formsList\"\n [formsListCompleted]=\"this.formsListCompleted\"\n [isMobileView]=\"this.isMobileView\"\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\n ></kwikid-forms-list>\n </div>\n <div\n ngClass=\"kwikid-forms-container\"\n *ngIf=\"this.showForm && this.showFormFields\"\n [class.active]=\"showFormFields\"\n [class.mobile]=\"isMobileView\"\n [@panelInOut]\n >\n <kwikid-form-view\n [formConfig]=\"this.activeFormConfig\"\n [formData]=\"this.activeFormData\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [formsList]=\"this.formsList\"\n [allFormsData]=\"this.allFormsData\"\n [isMobileView]=\"this.isMobileView\"\n (onClickApiCall)=\"this.handleOnClickApiCall($event)\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\n ></kwikid-form-view>\n </div>\n </div>\n</div>\n<div\n ngClass=\"kwikid-forms-renderer-loader\"\n *ngIf=\"loader\"\n>\n <span class=\"loader\"></span>\n</div>\n<tui-push\n id=\"error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Please complete the required Forms!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconCancel\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n", styles: [":host{position:relative}.kwikid-root{width:100%;height:100%}.kwikid-renderer{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-layout-container{display:flex;flex-direction:row;padding:0 1rem;height:100%;justify-content:center;align-items:stretch;background:var(--tui-secondary);position:relative}.kwikid-sections-container{display:block;width:100%;max-width:400px;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);margin:auto 1rem auto 0;box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-sections-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}.kwikid-forms-container{display:block;width:100%;max-width:50%;margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}.kwikid-forms-renderer-loader{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;z-index:100}.kwikid-forms-renderer-loader .loader{width:48px;height:48px;border-radius:50%;display:inline-block;position:relative;border:3px solid;border-color:#fff #fff transparent;box-sizing:border-box;animation:rotation 1s linear infinite}.kwikid-forms-renderer-loader .loader:after{content:\"\";box-sizing:border-box;position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;border:3px solid;border-color:transparent var(--tui-primary) var(--tui-primary);width:24px;height:24px;border-radius:50%;animation:rotationBack .5s linear infinite;transform-origin:center center}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotationBack{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.kwikid-forms-renderer-loader .t-loader{display:none!important}#error-notification{background-color:var(--tui-error-fill);color:#fff!important}#error-notification .t-top{color:#fff!important}#error-notification .t-close{color:#fff!important}\n"], components: [{ type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["showFormFields", "userConfig", "formsList", "formsListCompleted", "isMobileView"], outputs: ["onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["formConfig", "formData", "apiCallResponse", "isMobileView", "allFormsData", "formsList"], outputs: ["onClickViewForms", "onClickSaveForm", "onClickApiCall"] }, { type: i4.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { type: i3.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i4.TuiPushDirective, selector: "tui-push" }], animations: [
|
|
2623
2704
|
trigger("panelInOut", [
|
|
2624
2705
|
transition(":enter", [
|
|
2625
2706
|
style({ transform: "translateY(100%)" }),
|
|
@@ -2630,6 +2711,36 @@ class KwikIDFormsRendererComponent {
|
|
|
2630
2711
|
])
|
|
2631
2712
|
])
|
|
2632
2713
|
] });
|
|
2714
|
+
__decorate([
|
|
2715
|
+
logMethod
|
|
2716
|
+
], KwikIDFormsRendererComponent.prototype, "assignSequenceNoToForm", null);
|
|
2717
|
+
__decorate([
|
|
2718
|
+
logMethod
|
|
2719
|
+
], KwikIDFormsRendererComponent.prototype, "findCompletedFormsList", null);
|
|
2720
|
+
__decorate([
|
|
2721
|
+
logMethod
|
|
2722
|
+
], KwikIDFormsRendererComponent.prototype, "markFormInFormsListAsCompleted", null);
|
|
2723
|
+
__decorate([
|
|
2724
|
+
logMethod
|
|
2725
|
+
], KwikIDFormsRendererComponent.prototype, "markFormInFormsListAsDisabled", null);
|
|
2726
|
+
__decorate([
|
|
2727
|
+
logMethod
|
|
2728
|
+
], KwikIDFormsRendererComponent.prototype, "filterAllFormsData", null);
|
|
2729
|
+
__decorate([
|
|
2730
|
+
logMethod
|
|
2731
|
+
], KwikIDFormsRendererComponent.prototype, "checkIfFormsStatusCompleted", null);
|
|
2732
|
+
__decorate([
|
|
2733
|
+
logMethod
|
|
2734
|
+
], KwikIDFormsRendererComponent.prototype, "findActiveFormConfig", null);
|
|
2735
|
+
__decorate([
|
|
2736
|
+
logMethod
|
|
2737
|
+
], KwikIDFormsRendererComponent.prototype, "updateFormsList", null);
|
|
2738
|
+
__decorate([
|
|
2739
|
+
logMethod
|
|
2740
|
+
], KwikIDFormsRendererComponent.prototype, "formHide", null);
|
|
2741
|
+
__decorate([
|
|
2742
|
+
logMethod
|
|
2743
|
+
], KwikIDFormsRendererComponent.prototype, "formShow", null);
|
|
2633
2744
|
__decorate([
|
|
2634
2745
|
logMethod
|
|
2635
2746
|
], KwikIDFormsRendererComponent.prototype, "handleOnClickSetActiveForm", null);
|
|
@@ -2652,10 +2763,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2652
2763
|
animate(100, style({ transform: "translateY(100%)" }))
|
|
2653
2764
|
])
|
|
2654
2765
|
])
|
|
2655
|
-
]
|
|
2656
|
-
providers: [KwikIDRendererService]
|
|
2766
|
+
]
|
|
2657
2767
|
}]
|
|
2658
|
-
}], ctorParameters: function () { return [{ type:
|
|
2768
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { windowResizeWatcher: [{
|
|
2659
2769
|
type: HostListener,
|
|
2660
2770
|
args: ["window:resize", ["$event"]]
|
|
2661
2771
|
}], stepConfig: [{
|
|
@@ -2672,7 +2782,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2672
2782
|
type: Output
|
|
2673
2783
|
}], onClickApiCall: [{
|
|
2674
2784
|
type: Output
|
|
2675
|
-
}], handleOnClickSetActiveForm: [], handleOnClickSubmitForms: [] } });
|
|
2785
|
+
}], assignSequenceNoToForm: [], findCompletedFormsList: [], markFormInFormsListAsCompleted: [], markFormInFormsListAsDisabled: [], filterAllFormsData: [], checkIfFormsStatusCompleted: [], findActiveFormConfig: [], updateFormsList: [], formHide: [], formShow: [], handleOnClickSetActiveForm: [], handleOnClickSubmitForms: [] } });
|
|
2676
2786
|
|
|
2677
2787
|
class KwikIDFormBuilderModule {
|
|
2678
2788
|
}
|
|
@@ -2803,7 +2913,7 @@ class KwikIDFormsModule {
|
|
|
2803
2913
|
ReactiveFormsModule,
|
|
2804
2914
|
KwikIDFormBuilderModule,
|
|
2805
2915
|
KwikIDFormRendererModule], exports: [KwikIDFormBuilderModule, KwikIDFormRendererModule] });
|
|
2806
|
-
/** @nocollapse */ KwikIDFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDFormsModule,
|
|
2916
|
+
/** @nocollapse */ KwikIDFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDFormsModule, imports: [[
|
|
2807
2917
|
CommonModule,
|
|
2808
2918
|
FormsModule,
|
|
2809
2919
|
ReactiveFormsModule,
|
|
@@ -2821,8 +2931,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2821
2931
|
KwikIDFormBuilderModule,
|
|
2822
2932
|
KwikIDFormRendererModule
|
|
2823
2933
|
],
|
|
2824
|
-
exports: [KwikIDFormBuilderModule, KwikIDFormRendererModule]
|
|
2825
|
-
providers: [KwikIDRendererService]
|
|
2934
|
+
exports: [KwikIDFormBuilderModule, KwikIDFormRendererModule]
|
|
2826
2935
|
}]
|
|
2827
2936
|
}] });
|
|
2828
2937
|
|