kwikid-forms 0.6.41 → 0.6.43
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 +648 -272
- package/bundles/kwikid-forms.umd.js.map +1 -1
- package/esm2015/lib/renderer/config-converter/config-converter.js +38 -36
- package/esm2015/lib/renderer/form-view/definitions/form-view.actions.definition.js +3 -1
- package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +1 -1
- package/esm2015/lib/renderer/form-view/form-view.component.js +177 -49
- package/esm2015/lib/renderer/form-view/form-view.service.js +3 -3
- package/esm2015/lib/renderer/form-view/helpers/form-view.apis.helper.js +5 -5
- package/esm2015/lib/renderer/form-view/helpers/form-view.camera.helper.js +5 -3
- package/esm2015/lib/renderer/form-view/helpers/form-view.defaults.helper.js +79 -30
- package/esm2015/lib/renderer/form-view/helpers/form-view.fields.helper.js +9 -4
- package/esm2015/lib/renderer/renderer.component.js +16 -6
- package/fesm2015/kwikid-forms.js +324 -126
- package/fesm2015/kwikid-forms.js.map +1 -1
- package/lib/renderer/form-view/definitions/form-view.actions.definition.d.ts +2 -0
- package/lib/renderer/form-view/definitions/form-view.fields.definition.d.ts +7 -3
- package/lib/renderer/form-view/form-view.component.d.ts +13 -7
- package/lib/renderer/form-view/form-view.service.d.ts +1 -1
- package/lib/renderer/form-view/helpers/form-view.camera.helper.d.ts +2 -1
- package/lib/renderer/form-view/helpers/form-view.defaults.helper.d.ts +2 -1
- package/lib/renderer/renderer.component.d.ts +2 -1
- package/package.json +1 -1
package/fesm2015/kwikid-forms.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate, __awaiter } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { EventEmitter, Component, Input, Output, ChangeDetectionStrategy, Pipe, Inject, ViewChild, HostListener, NgModule } from '@angular/core';
|
|
4
|
-
import { checkObjectKeyExists, setValueToObjectPath, isEmptyValue, getObjectDeepCopy, logMethod, isNotEmptyValue, setMissingKeyValue, isObject, mergeObjects, checkObjectPathExists, getObjectValueFromPath, getObjectFromLocalStorage, encryptWithAES, decryptWithAES,
|
|
3
|
+
import { EventEmitter, Component, Input, Output, ChangeDetectionStrategy, Pipe, Inject, ViewChild, ViewChildren, HostListener, NgModule } from '@angular/core';
|
|
4
|
+
import { checkObjectKeyExists, setValueToObjectPath, isEmptyValue, getObjectDeepCopy, logMethod, isNotEmptyValue, setMissingKeyValue, isObject, mergeObjects, checkObjectPathExists, getObjectValueFromPath, getObjectFromLocalStorage, encryptWithAES, decryptWithAES, Rule, Condition, Action, Source, PATTERNS, hasWhitespacesOnly, RuleEngine, mergeObjectsDeep, ESourceKey, replaceString, isUndefined, isNull, isEmptyString } from 'kwikid-toolkit';
|
|
5
5
|
import * as i3 from 'kwikui';
|
|
6
6
|
import { KwikUIModule, KwikUIPipeModule, KwikUIInputEmailModule } from 'kwikui';
|
|
7
7
|
import * as i3$1 from '@angular/forms';
|
|
@@ -542,9 +542,14 @@ const filterDuplicatesFiles = (array) => {
|
|
|
542
542
|
});
|
|
543
543
|
};
|
|
544
544
|
const removeFormFieldMessage = (field, message) => {
|
|
545
|
-
field
|
|
546
|
-
|
|
547
|
-
|
|
545
|
+
if (isNotEmptyValue(field === null || field === void 0 ? void 0 : field.messages)) {
|
|
546
|
+
field["messages"] = field["messages"].filter(function (fieldMessage) {
|
|
547
|
+
return fieldMessage.type !== message.type;
|
|
548
|
+
});
|
|
549
|
+
}
|
|
550
|
+
else {
|
|
551
|
+
field["messages"] = [];
|
|
552
|
+
}
|
|
548
553
|
return field;
|
|
549
554
|
};
|
|
550
555
|
const setApiTimerMessage = (field, timer = {}) => {
|
|
@@ -1436,44 +1441,36 @@ class Converter {
|
|
|
1436
1441
|
else if (checkObjectPathExists(field, "default.value.sources")) {
|
|
1437
1442
|
return field;
|
|
1438
1443
|
}
|
|
1444
|
+
else if (checkObjectPathExists(field, "default.value.rules") &&
|
|
1445
|
+
checkObjectPathExists(field, "default.value.actions")) {
|
|
1446
|
+
return field;
|
|
1447
|
+
}
|
|
1448
|
+
else if (checkObjectPathExists(field, "default.value.value") &&
|
|
1449
|
+
isNotEmptyValue(field.default.value.value)) {
|
|
1450
|
+
return field;
|
|
1451
|
+
}
|
|
1439
1452
|
else if (!checkObjectPathExists(field, "default.value.sources")) {
|
|
1440
1453
|
const defaultValue = {
|
|
1441
|
-
is_found: false,
|
|
1442
1454
|
value: "",
|
|
1443
|
-
|
|
1455
|
+
triggers: ["ON_INIT"],
|
|
1456
|
+
rules: [],
|
|
1457
|
+
actions: [
|
|
1444
1458
|
{
|
|
1445
|
-
|
|
1459
|
+
id: "1",
|
|
1460
|
+
key: "SET_FIELD_DEFAULT_VALUE",
|
|
1461
|
+
condition: "true",
|
|
1446
1462
|
props: {
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
}
|
|
1451
|
-
},
|
|
1452
|
-
value: "",
|
|
1453
|
-
validation: {
|
|
1454
|
-
is_valid: false,
|
|
1455
|
-
triggers: ["ON_INIT"],
|
|
1456
|
-
rules: [],
|
|
1457
|
-
actions: [
|
|
1458
|
-
{
|
|
1459
|
-
id: "1",
|
|
1460
|
-
key: "SET_FIELD_DEFAULT_VALUE",
|
|
1461
|
-
condition: "1",
|
|
1463
|
+
value: {
|
|
1464
|
+
source: {
|
|
1465
|
+
key: "OBJECT",
|
|
1462
1466
|
props: {
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
props: {
|
|
1467
|
-
object: {
|
|
1468
|
-
key: "FORM_DATA",
|
|
1469
|
-
path: `$.${field.key}`
|
|
1470
|
-
}
|
|
1471
|
-
}
|
|
1472
|
-
}
|
|
1467
|
+
object: {
|
|
1468
|
+
key: "FORM_DATA",
|
|
1469
|
+
path: `$.${field.key}`
|
|
1473
1470
|
}
|
|
1474
1471
|
}
|
|
1475
1472
|
}
|
|
1476
|
-
|
|
1473
|
+
}
|
|
1477
1474
|
}
|
|
1478
1475
|
}
|
|
1479
1476
|
]
|
|
@@ -1521,13 +1518,22 @@ class Converter {
|
|
|
1521
1518
|
formConfig["fieldGroups"] = groups;
|
|
1522
1519
|
return formConfig;
|
|
1523
1520
|
};
|
|
1521
|
+
const updateFieldGroupKey = (field) => {
|
|
1522
|
+
if (checkObjectKeyExists(field, "groupKey") &&
|
|
1523
|
+
!Array.isArray(field.groupKey)) {
|
|
1524
|
+
field["groupKey"] = [field.groupKey];
|
|
1525
|
+
}
|
|
1526
|
+
return field;
|
|
1527
|
+
};
|
|
1524
1528
|
const updateFormFieldGroups = (fieldGroups, field) => {
|
|
1525
1529
|
if (checkObjectKeyExists(field, "groupKey")) {
|
|
1526
|
-
|
|
1527
|
-
fieldGroups
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1530
|
+
for (const groupKey of field.groupKey) {
|
|
1531
|
+
if (checkObjectKeyExists(fieldGroups, groupKey)) {
|
|
1532
|
+
fieldGroups[groupKey].push(field.key);
|
|
1533
|
+
}
|
|
1534
|
+
else {
|
|
1535
|
+
fieldGroups[groupKey] = [field.key];
|
|
1536
|
+
}
|
|
1531
1537
|
}
|
|
1532
1538
|
}
|
|
1533
1539
|
return fieldGroups;
|
|
@@ -1614,6 +1620,7 @@ class Converter {
|
|
|
1614
1620
|
field = updateFieldLanguage(field, getLanguage());
|
|
1615
1621
|
field = formatOnFieldType(field);
|
|
1616
1622
|
field = updateFieldDisability(field);
|
|
1623
|
+
field = updateFieldGroupKey(field);
|
|
1617
1624
|
fieldGroups = updateFormFieldGroups(fieldGroups, field);
|
|
1618
1625
|
field = updateFieldDefaultValue(field);
|
|
1619
1626
|
field = updateFieldValidators(field);
|
|
@@ -2609,10 +2616,12 @@ var EActionKey;
|
|
|
2609
2616
|
EActionKey["FIELD_HIDE_API_LOADER"] = "FIELD_HIDE_API_LOADER";
|
|
2610
2617
|
EActionKey["HANDLE_CONNECTED_ELEMENTS"] = "HANDLE_CONNECTED_ELEMENTS";
|
|
2611
2618
|
EActionKey["CUSTOM"] = "CUSTOM";
|
|
2619
|
+
EActionKey["SCROLL_TO_FIELD"] = "SCROLL_TO_FIELD";
|
|
2612
2620
|
EActionKey["FIELD_GROUP_SHOW"] = "FIELD_GROUP_SHOW";
|
|
2613
2621
|
EActionKey["FIELD_GROUP_HIDE"] = "FIELD_GROUP_HIDE";
|
|
2614
2622
|
EActionKey["FIELD_GROUP_ENABLE"] = "FIELD_GROUP_ENABLE";
|
|
2615
2623
|
EActionKey["FIELD_GROUP_DISABLE"] = "FIELD_GROUP_DISABLE";
|
|
2624
|
+
EActionKey["FIELD_GROUP_RESET"] = "FIELD_GROUP_RESET";
|
|
2616
2625
|
EActionKey["SET_DROPDOWN_OPTIONS"] = "SET_DROPDOWN_OPTIONS";
|
|
2617
2626
|
EActionKey["API_CALL"] = "API_CALL";
|
|
2618
2627
|
EActionKey["API_CALL_MULTIPLE"] = "API_CALL_MULTIPLE";
|
|
@@ -2954,40 +2963,37 @@ __decorate([
|
|
|
2954
2963
|
], KwikIDFormViewApiService.prototype, "get", null);
|
|
2955
2964
|
|
|
2956
2965
|
class Defaults {
|
|
2957
|
-
constructor(field, formFields, allFormsData, formData, previousFormData, takeAction) {
|
|
2966
|
+
constructor(field, formFields, allFormsData, formData, previousFormData, extraData, takeAction) {
|
|
2958
2967
|
this._field = field;
|
|
2959
2968
|
this._formFields = formFields;
|
|
2960
2969
|
this._allFormsData = allFormsData;
|
|
2961
2970
|
this._formData = formData;
|
|
2962
2971
|
this._previousFormData = previousFormData;
|
|
2972
|
+
this._extraData = extraData;
|
|
2963
2973
|
this._takeAction = takeAction;
|
|
2964
2974
|
}
|
|
2965
2975
|
getFormFieldValue() {
|
|
2966
2976
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2967
2977
|
let defaultValue;
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
const
|
|
2979
|
-
|
|
2980
|
-
this._field = setValueToObjectPath(this._field, `default.value.sources.[${sourceIndex}].value`, value);
|
|
2981
|
-
const validation = source.validation;
|
|
2982
|
-
const triggers = validation.triggers;
|
|
2983
|
-
const rules = validation.rules;
|
|
2984
|
-
const actions = validation.actions;
|
|
2978
|
+
if (checkObjectKeyExists(this._field.default.value, "value") &&
|
|
2979
|
+
isNotEmptyValue(this._field.default.value.value)) {
|
|
2980
|
+
defaultValue = this._field.default.value.value;
|
|
2981
|
+
if (isEmptyValue(defaultValue)) {
|
|
2982
|
+
defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
|
|
2983
|
+
}
|
|
2984
|
+
}
|
|
2985
|
+
else if (!checkObjectKeyExists(this._field.default.value, "sources")) {
|
|
2986
|
+
const engine = this._field.default.value;
|
|
2987
|
+
const triggers = engine.triggers;
|
|
2988
|
+
const rules = engine.rules;
|
|
2989
|
+
const actions = engine.actions;
|
|
2985
2990
|
const rulesMapping = new Rule(rules, {
|
|
2986
2991
|
FIELD_CONFIG: this._field,
|
|
2987
2992
|
FORM_FIELDS: this._formFields,
|
|
2988
2993
|
FORM_DATA: this._formData,
|
|
2989
2994
|
PREVIOUS_FORM_DATA: this._previousFormData,
|
|
2990
|
-
ALL_FORMS_DATA: this._allFormsData
|
|
2995
|
+
ALL_FORMS_DATA: this._allFormsData,
|
|
2996
|
+
EXTRA_DATA: this._extraData
|
|
2991
2997
|
}).mapping();
|
|
2992
2998
|
for (let action of actions) {
|
|
2993
2999
|
const conditionEvaluation = new Condition(action.condition, rulesMapping).evaluate();
|
|
@@ -2997,16 +3003,64 @@ class Defaults {
|
|
|
2997
3003
|
FORM_FIELDS: this._formFields,
|
|
2998
3004
|
FORM_DATA: this._formData,
|
|
2999
3005
|
PREVIOUS_FORM_DATA: this._previousFormData,
|
|
3000
|
-
ALL_FORMS_DATA: this._allFormsData
|
|
3006
|
+
ALL_FORMS_DATA: this._allFormsData,
|
|
3007
|
+
EXTRA_DATA: this._extraData
|
|
3001
3008
|
}, this._takeAction);
|
|
3002
3009
|
yield actions.execute();
|
|
3003
3010
|
}
|
|
3004
3011
|
}
|
|
3005
|
-
|
|
3012
|
+
defaultValue = this._field.default.value.value;
|
|
3013
|
+
if (isEmptyValue(defaultValue)) {
|
|
3014
|
+
defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
|
|
3015
|
+
}
|
|
3006
3016
|
}
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3017
|
+
else {
|
|
3018
|
+
const sources = this._field.default.value.sources;
|
|
3019
|
+
let sourceIndex = 0;
|
|
3020
|
+
for (let source of sources) {
|
|
3021
|
+
const sources = new Source({
|
|
3022
|
+
FIELD_CONFIG: this._field,
|
|
3023
|
+
FORM_FIELDS: this._formFields,
|
|
3024
|
+
FORM_DATA: this._formData,
|
|
3025
|
+
PREVIOUS_FORM_DATA: this._previousFormData,
|
|
3026
|
+
ALL_FORMS_DATA: this._allFormsData,
|
|
3027
|
+
EXTRA_DATA: this._extraData
|
|
3028
|
+
});
|
|
3029
|
+
const value = sources.getValueFromSource(source);
|
|
3030
|
+
// Set the Value of current source.
|
|
3031
|
+
this._field = setValueToObjectPath(this._field, `default.value.sources.[${sourceIndex}].value`, value);
|
|
3032
|
+
const validation = source.validation;
|
|
3033
|
+
const triggers = validation.triggers;
|
|
3034
|
+
const rules = validation.rules;
|
|
3035
|
+
const actions = validation.actions;
|
|
3036
|
+
const rulesMapping = new Rule(rules, {
|
|
3037
|
+
FIELD_CONFIG: this._field,
|
|
3038
|
+
FORM_FIELDS: this._formFields,
|
|
3039
|
+
FORM_DATA: this._formData,
|
|
3040
|
+
PREVIOUS_FORM_DATA: this._previousFormData,
|
|
3041
|
+
ALL_FORMS_DATA: this._allFormsData,
|
|
3042
|
+
EXTRA_DATA: this._extraData
|
|
3043
|
+
}).mapping();
|
|
3044
|
+
for (let action of actions) {
|
|
3045
|
+
const conditionEvaluation = new Condition(action.condition, rulesMapping).evaluate();
|
|
3046
|
+
if (conditionEvaluation) {
|
|
3047
|
+
const actions = new Action(action, rulesMapping, {
|
|
3048
|
+
FIELD_CONFIG: this._field,
|
|
3049
|
+
FORM_FIELDS: this._formFields,
|
|
3050
|
+
FORM_DATA: this._formData,
|
|
3051
|
+
PREVIOUS_FORM_DATA: this._previousFormData,
|
|
3052
|
+
ALL_FORMS_DATA: this._allFormsData,
|
|
3053
|
+
EXTRA_DATA: this._extraData
|
|
3054
|
+
}, this._takeAction);
|
|
3055
|
+
yield actions.execute();
|
|
3056
|
+
}
|
|
3057
|
+
}
|
|
3058
|
+
sourceIndex++;
|
|
3059
|
+
}
|
|
3060
|
+
defaultValue = this._field.default.value.value;
|
|
3061
|
+
if (isEmptyValue(defaultValue)) {
|
|
3062
|
+
defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
|
|
3063
|
+
}
|
|
3010
3064
|
}
|
|
3011
3065
|
return defaultValue;
|
|
3012
3066
|
});
|
|
@@ -3021,7 +3075,8 @@ class Defaults {
|
|
|
3021
3075
|
FORM_FIELDS: this._formFields,
|
|
3022
3076
|
FORM_DATA: this._formData,
|
|
3023
3077
|
PREVIOUS_FORM_DATA: this._previousFormData,
|
|
3024
|
-
ALL_FORMS_DATA: this._allFormsData
|
|
3078
|
+
ALL_FORMS_DATA: this._allFormsData,
|
|
3079
|
+
EXTRA_DATA: this._extraData
|
|
3025
3080
|
}).mapping();
|
|
3026
3081
|
for (let action of actions) {
|
|
3027
3082
|
const conditionEvaluation = new Condition(action.condition, rulesMapping).evaluate();
|
|
@@ -3031,7 +3086,8 @@ class Defaults {
|
|
|
3031
3086
|
FORM_FIELDS: this._formFields,
|
|
3032
3087
|
FORM_DATA: this._formData,
|
|
3033
3088
|
PREVIOUS_FORM_DATA: this._previousFormData,
|
|
3034
|
-
ALL_FORMS_DATA: this._allFormsData
|
|
3089
|
+
ALL_FORMS_DATA: this._allFormsData,
|
|
3090
|
+
EXTRA_DATA: this._extraData
|
|
3035
3091
|
}, this._takeAction);
|
|
3036
3092
|
yield actions.execute();
|
|
3037
3093
|
}
|
|
@@ -3048,7 +3104,8 @@ class Defaults {
|
|
|
3048
3104
|
FORM_FIELDS: this._formFields,
|
|
3049
3105
|
FORM_DATA: this._formData,
|
|
3050
3106
|
PREVIOUS_FORM_DATA: this._previousFormData,
|
|
3051
|
-
ALL_FORMS_DATA: this._allFormsData
|
|
3107
|
+
ALL_FORMS_DATA: this._allFormsData,
|
|
3108
|
+
EXTRA_DATA: this._extraData
|
|
3052
3109
|
}).mapping();
|
|
3053
3110
|
for (let action of actions) {
|
|
3054
3111
|
const conditionEvaluation = new Condition(action.condition, rulesMapping).evaluate();
|
|
@@ -3058,7 +3115,8 @@ class Defaults {
|
|
|
3058
3115
|
FORM_FIELDS: this._formFields,
|
|
3059
3116
|
FORM_DATA: this._formData,
|
|
3060
3117
|
PREVIOUS_FORM_DATA: this._previousFormData,
|
|
3061
|
-
ALL_FORMS_DATA: this._allFormsData
|
|
3118
|
+
ALL_FORMS_DATA: this._allFormsData,
|
|
3119
|
+
EXTRA_DATA: this._extraData
|
|
3062
3120
|
}, this._takeAction);
|
|
3063
3121
|
yield actions.execute();
|
|
3064
3122
|
}
|
|
@@ -3191,12 +3249,12 @@ function NoWhitespacesValidator() {
|
|
|
3191
3249
|
class KwikIDFormViewService {
|
|
3192
3250
|
constructor() { }
|
|
3193
3251
|
// 'init' stage of the form
|
|
3194
|
-
createFormGroup(fields, formData, previousFormData, allFormsData, takeAction) {
|
|
3252
|
+
createFormGroup(fields, formData, previousFormData, allFormsData, extraData, takeAction) {
|
|
3195
3253
|
return __awaiter(this, void 0, void 0, function* () {
|
|
3196
3254
|
let formGroup = new FormGroup({});
|
|
3197
3255
|
for (let field of fields) {
|
|
3198
3256
|
if (field.isFormElement) {
|
|
3199
|
-
const defaults = new Defaults(field, fields, allFormsData, formData, previousFormData, takeAction);
|
|
3257
|
+
const defaults = new Defaults(field, fields, allFormsData, formData, previousFormData, extraData, takeAction);
|
|
3200
3258
|
let value = "";
|
|
3201
3259
|
if (checkObjectKeyExists(field, "default")) {
|
|
3202
3260
|
if (checkObjectKeyExists(field.default, "value")) {
|
|
@@ -3348,12 +3406,12 @@ class Apis {
|
|
|
3348
3406
|
return this._object.API_CONFIG;
|
|
3349
3407
|
}
|
|
3350
3408
|
else {
|
|
3351
|
-
this._object = setValueToObjectPath(this._object, "API_CONFIG.request.
|
|
3409
|
+
this._object = setValueToObjectPath(this._object, "API_CONFIG.request.body.is_valid", true);
|
|
3352
3410
|
return this._object.API_CONFIG;
|
|
3353
3411
|
}
|
|
3354
3412
|
}
|
|
3355
3413
|
else {
|
|
3356
|
-
this._object = setValueToObjectPath(this._object, "API_CONFIG.request.
|
|
3414
|
+
this._object = setValueToObjectPath(this._object, "API_CONFIG.request.body.is_valid", true);
|
|
3357
3415
|
return this._object.API_CONFIG;
|
|
3358
3416
|
}
|
|
3359
3417
|
});
|
|
@@ -3451,12 +3509,12 @@ class Apis {
|
|
|
3451
3509
|
return this._object.API_CONFIG;
|
|
3452
3510
|
}
|
|
3453
3511
|
else {
|
|
3454
|
-
this._object = setValueToObjectPath(this._object, "API_CONFIG.request.
|
|
3512
|
+
this._object = setValueToObjectPath(this._object, "API_CONFIG.request.headers.is_valid", true);
|
|
3455
3513
|
return this._object.API_CONFIG;
|
|
3456
3514
|
}
|
|
3457
3515
|
}
|
|
3458
3516
|
else {
|
|
3459
|
-
this._object = setValueToObjectPath(this._object, "API_CONFIG.request.
|
|
3517
|
+
this._object = setValueToObjectPath(this._object, "API_CONFIG.request.headers.is_valid", true);
|
|
3460
3518
|
return this._object.API_CONFIG;
|
|
3461
3519
|
}
|
|
3462
3520
|
});
|
|
@@ -3535,13 +3593,14 @@ __decorate([
|
|
|
3535
3593
|
], Apis.prototype, "callNextApi", null);
|
|
3536
3594
|
|
|
3537
3595
|
class CameraHelper {
|
|
3538
|
-
constructor(field, formFields, allFormsData, formData, previousFormData) {
|
|
3596
|
+
constructor(field, formFields, allFormsData, formData, previousFormData, extraData) {
|
|
3539
3597
|
this.cameraData = {};
|
|
3540
3598
|
this._field = field;
|
|
3541
3599
|
this._formFields = formFields;
|
|
3542
3600
|
this._allFormsData = allFormsData;
|
|
3543
3601
|
this._formData = formData;
|
|
3544
3602
|
this._previousFormData = previousFormData;
|
|
3603
|
+
this._extraData = extraData;
|
|
3545
3604
|
}
|
|
3546
3605
|
getCameraWatermarkData() {
|
|
3547
3606
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -3552,7 +3611,8 @@ class CameraHelper {
|
|
|
3552
3611
|
FORM_FIELDS: this._formFields,
|
|
3553
3612
|
FORM_DATA: this._formData,
|
|
3554
3613
|
PREVIOUS_FORM_DATA: this._previousFormData,
|
|
3555
|
-
ALL_FORMS_DATA: this._allFormsData
|
|
3614
|
+
ALL_FORMS_DATA: this._allFormsData,
|
|
3615
|
+
EXTRA_DATA: this._extraData
|
|
3556
3616
|
});
|
|
3557
3617
|
const value = yield sources.getValueFromSource(source);
|
|
3558
3618
|
if (checkObjectKeyExists(source, "id")) {
|
|
@@ -3648,17 +3708,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
3648
3708
|
}] });
|
|
3649
3709
|
|
|
3650
3710
|
class KwikIDFormViewComponent {
|
|
3651
|
-
constructor(
|
|
3652
|
-
this.
|
|
3711
|
+
constructor(cdRef, formViewService, formViewApiService, pushService, alertService, previewDialogService, dialogService, loaderService, cameraRecordService, ref, renderer) {
|
|
3712
|
+
this.cdRef = cdRef;
|
|
3653
3713
|
this.formViewService = formViewService;
|
|
3654
3714
|
this.formViewApiService = formViewApiService;
|
|
3655
|
-
this.
|
|
3715
|
+
this.pushService = pushService;
|
|
3656
3716
|
this.alertService = alertService;
|
|
3657
3717
|
this.previewDialogService = previewDialogService;
|
|
3658
3718
|
this.dialogService = dialogService;
|
|
3659
3719
|
this.loaderService = loaderService;
|
|
3660
3720
|
this.cameraRecordService = cameraRecordService;
|
|
3661
3721
|
this.ref = ref;
|
|
3722
|
+
this.renderer = renderer;
|
|
3662
3723
|
this.isMobileView = false;
|
|
3663
3724
|
this.popupFormCallback = undefined;
|
|
3664
3725
|
this.getLogs = new EventEmitter();
|
|
@@ -3760,12 +3821,14 @@ class KwikIDFormViewComponent {
|
|
|
3760
3821
|
}
|
|
3761
3822
|
}))();
|
|
3762
3823
|
}
|
|
3763
|
-
ngAfterViewInit() { }
|
|
3764
3824
|
ngOnChanges(changes) {
|
|
3765
3825
|
var _a, _b, _c, _d;
|
|
3766
3826
|
const verifyChange = (key) => {
|
|
3767
3827
|
return checkObjectKeyExists(changes, key) && !changes[key].firstChange;
|
|
3768
3828
|
};
|
|
3829
|
+
if (verifyChange("extraData")) {
|
|
3830
|
+
this.extraData = changes.extraData.currentValue;
|
|
3831
|
+
}
|
|
3769
3832
|
if (verifyChange("userConfig")) {
|
|
3770
3833
|
this.userConfig = changes.userConfig.currentValue;
|
|
3771
3834
|
}
|
|
@@ -3861,7 +3924,8 @@ class KwikIDFormViewComponent {
|
|
|
3861
3924
|
FORM_DATA: this.formData,
|
|
3862
3925
|
TASK_DATA: this.taskData,
|
|
3863
3926
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
3864
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
3927
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
3928
|
+
EXTRA_DATA: this.extraData
|
|
3865
3929
|
}, this.takeAction.bind(this));
|
|
3866
3930
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
3867
3931
|
yield ruleEngine.run(field.validation);
|
|
@@ -3920,7 +3984,8 @@ class KwikIDFormViewComponent {
|
|
|
3920
3984
|
FORM_DATA: this.formData,
|
|
3921
3985
|
TASK_DATA: this.taskData,
|
|
3922
3986
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
3923
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
3987
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
3988
|
+
EXTRA_DATA: this.extraData
|
|
3924
3989
|
}, this.takeAction.bind(this));
|
|
3925
3990
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
3926
3991
|
yield ruleEngine.run(field.validation);
|
|
@@ -3976,7 +4041,8 @@ class KwikIDFormViewComponent {
|
|
|
3976
4041
|
FORM_DATA: this.formData,
|
|
3977
4042
|
TASK_DATA: this.taskData,
|
|
3978
4043
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
3979
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
4044
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
4045
|
+
EXTRA_DATA: this.extraData
|
|
3980
4046
|
}, this.takeAction.bind(this));
|
|
3981
4047
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
3982
4048
|
const api = yield apis.validateResponse();
|
|
@@ -3991,7 +4057,8 @@ class KwikIDFormViewComponent {
|
|
|
3991
4057
|
FORM_DATA: this.formData,
|
|
3992
4058
|
TASK_DATA: this.taskData,
|
|
3993
4059
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
3994
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
4060
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
4061
|
+
EXTRA_DATA: this.extraData
|
|
3995
4062
|
}, this.takeAction.bind(this));
|
|
3996
4063
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
3997
4064
|
yield ruleEngine.run(field.validation);
|
|
@@ -4026,7 +4093,8 @@ class KwikIDFormViewComponent {
|
|
|
4026
4093
|
FORM_DATA: this.formData,
|
|
4027
4094
|
TASK_DATA: this.taskData,
|
|
4028
4095
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4029
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
4096
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
4097
|
+
EXTRA_DATA: this.extraData
|
|
4030
4098
|
}, this.takeAction.bind(this));
|
|
4031
4099
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
4032
4100
|
const api = yield apis.validateResponse();
|
|
@@ -4066,7 +4134,8 @@ class KwikIDFormViewComponent {
|
|
|
4066
4134
|
FORM_DATA: this.formData,
|
|
4067
4135
|
TASK_DATA: this.taskData,
|
|
4068
4136
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4069
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
4137
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
4138
|
+
EXTRA_DATA: this.extraData
|
|
4070
4139
|
}, this.takeAction.bind(this));
|
|
4071
4140
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
4072
4141
|
yield ruleEngine.run(field.validation);
|
|
@@ -4123,7 +4192,8 @@ class KwikIDFormViewComponent {
|
|
|
4123
4192
|
FORM_DATA: this.formData,
|
|
4124
4193
|
TASK_DATA: this.taskData,
|
|
4125
4194
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4126
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
4195
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
4196
|
+
EXTRA_DATA: this.extraData
|
|
4127
4197
|
}, this.takeAction.bind(this));
|
|
4128
4198
|
this.stopTaskExecution = false;
|
|
4129
4199
|
if (checkObjectKeyExists(preTask, "wait")) {
|
|
@@ -4151,7 +4221,7 @@ class KwikIDFormViewComponent {
|
|
|
4151
4221
|
if (this.stopTaskExecution) {
|
|
4152
4222
|
return false;
|
|
4153
4223
|
}
|
|
4154
|
-
this.formGroup = yield this.formViewService.createFormGroup(this.formFields, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
|
|
4224
|
+
this.formGroup = yield this.formViewService.createFormGroup(this.formFields, this.formData, this.previousFormData, this.allFormsData, this.extraData, this.takeAction.bind(this));
|
|
4155
4225
|
/**
|
|
4156
4226
|
* For some reason if their a field of type 'IMAGE' then
|
|
4157
4227
|
* formData is adding a 'undefined' key with last image's value from the array.
|
|
@@ -4204,7 +4274,8 @@ class KwikIDFormViewComponent {
|
|
|
4204
4274
|
FORM_DATA: this.formData,
|
|
4205
4275
|
TASK_DATA: this.taskData,
|
|
4206
4276
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4207
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
4277
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
4278
|
+
EXTRA_DATA: this.extraData
|
|
4208
4279
|
}, this.takeAction.bind(this));
|
|
4209
4280
|
yield ruleEngine.run(field.validation);
|
|
4210
4281
|
}
|
|
@@ -4255,7 +4326,8 @@ class KwikIDFormViewComponent {
|
|
|
4255
4326
|
FORM_DATA: this.formData,
|
|
4256
4327
|
TASK_DATA: this.taskData,
|
|
4257
4328
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4258
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
4329
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
4330
|
+
EXTRA_DATA: this.extraData
|
|
4259
4331
|
}).mapping();
|
|
4260
4332
|
for (let action of childFieldGroupConfig.actions) {
|
|
4261
4333
|
const conditionSuccess = new Condition(action.condition, rulesMapping).evaluate();
|
|
@@ -4266,7 +4338,8 @@ class KwikIDFormViewComponent {
|
|
|
4266
4338
|
FORM_DATA: this.formData,
|
|
4267
4339
|
TASK_DATA: this.taskData,
|
|
4268
4340
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4269
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
4341
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
4342
|
+
EXTRA_DATA: this.extraData
|
|
4270
4343
|
}, this.takeActionOnFieldGroup.bind(this));
|
|
4271
4344
|
yield actions.execute();
|
|
4272
4345
|
}
|
|
@@ -4291,7 +4364,8 @@ class KwikIDFormViewComponent {
|
|
|
4291
4364
|
FORM_DATA: this.formData,
|
|
4292
4365
|
TASK_DATA: this.taskData,
|
|
4293
4366
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4294
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
4367
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
4368
|
+
EXTRA_DATA: this.extraData
|
|
4295
4369
|
}).mapping();
|
|
4296
4370
|
for (let action of connectedFieldConfig.actions) {
|
|
4297
4371
|
const conditionSuccess = new Condition(action.condition, rulesMapping).evaluate();
|
|
@@ -4302,7 +4376,8 @@ class KwikIDFormViewComponent {
|
|
|
4302
4376
|
FORM_DATA: this.formData,
|
|
4303
4377
|
TASK_DATA: this.taskData,
|
|
4304
4378
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4305
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
4379
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
4380
|
+
EXTRA_DATA: this.extraData
|
|
4306
4381
|
}, this.takeAction.bind(this));
|
|
4307
4382
|
yield actions.execute();
|
|
4308
4383
|
}
|
|
@@ -4448,7 +4523,7 @@ class KwikIDFormViewComponent {
|
|
|
4448
4523
|
]);
|
|
4449
4524
|
if (((_d = (_c = this.cameraConfig) === null || _c === void 0 ? void 0 : _c.others) === null || _d === void 0 ? void 0 : _d.isWatermark) ||
|
|
4450
4525
|
((_f = (_e = this.cameraConfig) === null || _e === void 0 ? void 0 : _e.others) === null || _f === void 0 ? void 0 : _f.isWatermarkForImageUpload)) {
|
|
4451
|
-
const cameraHelper = new CameraHelper(field, this.formFields, this.allFormsData, this.formData, this.previousFormData);
|
|
4526
|
+
const cameraHelper = new CameraHelper(field, this.formFields, this.allFormsData, this.formData, this.previousFormData, this.extraData);
|
|
4452
4527
|
this.cameraData = {
|
|
4453
4528
|
watermark: yield cameraHelper.getCameraWatermarkData()
|
|
4454
4529
|
};
|
|
@@ -4511,7 +4586,8 @@ class KwikIDFormViewComponent {
|
|
|
4511
4586
|
FORM_DATA: this.formData,
|
|
4512
4587
|
TASK_DATA: this.taskData,
|
|
4513
4588
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4514
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
4589
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
4590
|
+
EXTRA_DATA: this.extraData
|
|
4515
4591
|
}, this.takeAction.bind(this));
|
|
4516
4592
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
4517
4593
|
yield ruleEngine.run(field.validation);
|
|
@@ -4675,7 +4751,8 @@ class KwikIDFormViewComponent {
|
|
|
4675
4751
|
FORM_DATA: this.formData,
|
|
4676
4752
|
TASK_DATA: this.taskData,
|
|
4677
4753
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4678
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
4754
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
4755
|
+
EXTRA_DATA: this.extraData
|
|
4679
4756
|
}, this.takeAction.bind(this));
|
|
4680
4757
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
4681
4758
|
yield ruleEngine.run(field.validation);
|
|
@@ -4893,7 +4970,8 @@ class KwikIDFormViewComponent {
|
|
|
4893
4970
|
FORM_DATA: this.formData,
|
|
4894
4971
|
TASK_DATA: this.taskData,
|
|
4895
4972
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4896
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
4973
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
4974
|
+
EXTRA_DATA: this.extraData
|
|
4897
4975
|
}, this.takeAction.bind(this));
|
|
4898
4976
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
4899
4977
|
yield ruleEngine.run(field.validation);
|
|
@@ -4927,7 +5005,8 @@ class KwikIDFormViewComponent {
|
|
|
4927
5005
|
FORM_DATA: this.formData,
|
|
4928
5006
|
TASK_DATA: this.taskData,
|
|
4929
5007
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4930
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
5008
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
5009
|
+
EXTRA_DATA: this.extraData
|
|
4931
5010
|
}, this.takeAction.bind(this));
|
|
4932
5011
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
4933
5012
|
yield ruleEngine.run(field.validation);
|
|
@@ -4941,7 +5020,7 @@ class KwikIDFormViewComponent {
|
|
|
4941
5020
|
}, "ON_CHANGE");
|
|
4942
5021
|
}
|
|
4943
5022
|
}
|
|
4944
|
-
|
|
5023
|
+
handleOnClickResetFormFields2(e, field) {
|
|
4945
5024
|
var _a;
|
|
4946
5025
|
return __awaiter(this, void 0, void 0, function* () {
|
|
4947
5026
|
this.triggerLogs(ELogEventType$1.FORM__FIELD_RESET_BUTTON_CLICK, {
|
|
@@ -4957,7 +5036,8 @@ class KwikIDFormViewComponent {
|
|
|
4957
5036
|
FORM_DATA: this.formData,
|
|
4958
5037
|
TASK_DATA: this.taskData,
|
|
4959
5038
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4960
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
5039
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
5040
|
+
EXTRA_DATA: this.extraData
|
|
4961
5041
|
}, this.takeAction.bind(this));
|
|
4962
5042
|
yield actions.execute();
|
|
4963
5043
|
}
|
|
@@ -4975,6 +5055,62 @@ class KwikIDFormViewComponent {
|
|
|
4975
5055
|
}
|
|
4976
5056
|
});
|
|
4977
5057
|
}
|
|
5058
|
+
handleOnClickResetFormFields(e, field) {
|
|
5059
|
+
var _a;
|
|
5060
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
5061
|
+
this.triggerLogs(ELogEventType$1.FORM__FIELD_RESET_BUTTON_CLICK, {
|
|
5062
|
+
field_key: field.key
|
|
5063
|
+
});
|
|
5064
|
+
const resetFormFields = () => __awaiter(this, void 0, void 0, function* () {
|
|
5065
|
+
if (checkObjectPathExists(field, "reset.fields")) {
|
|
5066
|
+
for (let f of field.reset.fields) {
|
|
5067
|
+
for (let action of f.actions) {
|
|
5068
|
+
const resetField = getFormFieldByKey(this.formFields, action.props.fieldKey);
|
|
5069
|
+
const actions = new Action(action, {}, {
|
|
5070
|
+
FIELD_CONFIG: resetField,
|
|
5071
|
+
FORM_FIELDS: this.formFields,
|
|
5072
|
+
FORM_DATA: this.formData,
|
|
5073
|
+
TASK_DATA: this.taskData,
|
|
5074
|
+
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
5075
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
5076
|
+
EXTRA_DATA: this.extraData
|
|
5077
|
+
}, this.takeAction.bind(this));
|
|
5078
|
+
yield actions.execute();
|
|
5079
|
+
}
|
|
5080
|
+
}
|
|
5081
|
+
}
|
|
5082
|
+
if (checkObjectPathExists(field, "reset.fieldGroups")) {
|
|
5083
|
+
for (let fg of field.reset.fieldGroups) {
|
|
5084
|
+
for (let action of fg.actions) {
|
|
5085
|
+
for (let fieldKey of this.fieldGroups[fg.groupKey]) {
|
|
5086
|
+
const resetField = getFormFieldByKey(this.formFields, fieldKey);
|
|
5087
|
+
const actions = new Action(action, {}, {
|
|
5088
|
+
FIELD_CONFIG: resetField,
|
|
5089
|
+
FORM_FIELDS: this.formFields,
|
|
5090
|
+
FORM_DATA: this.formData,
|
|
5091
|
+
TASK_DATA: this.taskData,
|
|
5092
|
+
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
5093
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
5094
|
+
EXTRA_DATA: this.extraData
|
|
5095
|
+
}, this.takeActionOnFieldGroup.bind(this));
|
|
5096
|
+
yield actions.execute();
|
|
5097
|
+
}
|
|
5098
|
+
}
|
|
5099
|
+
}
|
|
5100
|
+
}
|
|
5101
|
+
});
|
|
5102
|
+
const BYPASS_RESET_CONFIRM = (_a = field === null || field === void 0 ? void 0 : field.properties) === null || _a === void 0 ? void 0 : _a.bypassResetConfirmation;
|
|
5103
|
+
if (!BYPASS_RESET_CONFIRM) {
|
|
5104
|
+
const CONFIRM_RESET = window.confirm("This action will reset all the fields. Do you still want to continue?");
|
|
5105
|
+
if (CONFIRM_RESET) {
|
|
5106
|
+
resetFormFields();
|
|
5107
|
+
}
|
|
5108
|
+
}
|
|
5109
|
+
else {
|
|
5110
|
+
resetFormFields();
|
|
5111
|
+
}
|
|
5112
|
+
});
|
|
5113
|
+
}
|
|
4978
5114
|
handleFieldApiCall(field, api) {
|
|
4979
5115
|
return __awaiter(this, void 0, void 0, function* () {
|
|
4980
5116
|
api = yield this.executeApiCall(api, {
|
|
@@ -4984,7 +5120,8 @@ class KwikIDFormViewComponent {
|
|
|
4984
5120
|
FORM_DATA: this.formData,
|
|
4985
5121
|
TASK_DATA: this.taskData,
|
|
4986
5122
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
4987
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
5123
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
5124
|
+
EXTRA_DATA: this.extraData
|
|
4988
5125
|
});
|
|
4989
5126
|
if (this.isValidRequestHeadersAndBody(api)) {
|
|
4990
5127
|
if (checkObjectKeyExists(field.api, "request")) {
|
|
@@ -5001,7 +5138,8 @@ class KwikIDFormViewComponent {
|
|
|
5001
5138
|
FORM_DATA: this.formData,
|
|
5002
5139
|
TASK_DATA: this.taskData,
|
|
5003
5140
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
5004
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
5141
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
5142
|
+
EXTRA_DATA: this.extraData
|
|
5005
5143
|
}, this.takeAction.bind(this));
|
|
5006
5144
|
api = yield apis.validateResponse();
|
|
5007
5145
|
}
|
|
@@ -5023,7 +5161,8 @@ class KwikIDFormViewComponent {
|
|
|
5023
5161
|
FORM_DATA: this.formData,
|
|
5024
5162
|
TASK_DATA: this.taskData,
|
|
5025
5163
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
5026
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
5164
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
5165
|
+
EXTRA_DATA: this.extraData
|
|
5027
5166
|
});
|
|
5028
5167
|
const apis = new Apis({
|
|
5029
5168
|
FORM_CONFIG: this.formConfig,
|
|
@@ -5032,7 +5171,8 @@ class KwikIDFormViewComponent {
|
|
|
5032
5171
|
FORM_DATA: this.formData,
|
|
5033
5172
|
TASK_DATA: this.taskData,
|
|
5034
5173
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
5035
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
5174
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
5175
|
+
EXTRA_DATA: this.extraData
|
|
5036
5176
|
}, this.takeAction.bind(this));
|
|
5037
5177
|
if (this.isValidRequestHeadersAndBody(api)) {
|
|
5038
5178
|
api = yield apis.validateResponse();
|
|
@@ -5182,7 +5322,8 @@ class KwikIDFormViewComponent {
|
|
|
5182
5322
|
FORM_DATA: this.formData,
|
|
5183
5323
|
TASK_DATA: this.taskData,
|
|
5184
5324
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
5185
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
5325
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
5326
|
+
EXTRA_DATA: this.extraData
|
|
5186
5327
|
}, this.takeAction.bind(this));
|
|
5187
5328
|
yield apis.callNextApi(field.api.entrypoint);
|
|
5188
5329
|
}
|
|
@@ -5253,10 +5394,11 @@ class KwikIDFormViewComponent {
|
|
|
5253
5394
|
this.formFields = showFormFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
|
|
5254
5395
|
}
|
|
5255
5396
|
if (isNotEmptyValue(firstFieldWithError)) {
|
|
5256
|
-
this.
|
|
5257
|
-
|
|
5258
|
-
|
|
5259
|
-
|
|
5397
|
+
this.handleOnScrollToField(firstFieldWithError);
|
|
5398
|
+
// this.toggleErrorNotification(true);
|
|
5399
|
+
// setTimeout(() => {
|
|
5400
|
+
// this.toggleErrorNotification(false);
|
|
5401
|
+
// }, 3000);
|
|
5260
5402
|
return;
|
|
5261
5403
|
}
|
|
5262
5404
|
for (let field of this.formFields) {
|
|
@@ -5270,7 +5412,8 @@ class KwikIDFormViewComponent {
|
|
|
5270
5412
|
FORM_DATA: this.formData,
|
|
5271
5413
|
TASK_DATA: this.taskData,
|
|
5272
5414
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
5273
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
5415
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
5416
|
+
EXTRA_DATA: this.extraData
|
|
5274
5417
|
}, this.takeAction.bind(this));
|
|
5275
5418
|
yield ruleEngine.run(field.validation);
|
|
5276
5419
|
if (!field.validation.is_valid) {
|
|
@@ -5330,7 +5473,8 @@ class KwikIDFormViewComponent {
|
|
|
5330
5473
|
FORM_DATA: this.formData,
|
|
5331
5474
|
TASK_DATA: this.taskData,
|
|
5332
5475
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
5333
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
5476
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
5477
|
+
EXTRA_DATA: this.extraData
|
|
5334
5478
|
}, this.takeAction.bind(this));
|
|
5335
5479
|
this.stopTaskExecution = false;
|
|
5336
5480
|
if (checkObjectKeyExists(postTask, "wait")) {
|
|
@@ -5378,6 +5522,16 @@ class KwikIDFormViewComponent {
|
|
|
5378
5522
|
this.fieldApiTimerMessageHide(e.key);
|
|
5379
5523
|
});
|
|
5380
5524
|
}
|
|
5525
|
+
handleOnScrollToField(fieldKey) {
|
|
5526
|
+
const targetField = this.formFieldsRef
|
|
5527
|
+
.toArray()
|
|
5528
|
+
.find((formFieldRef) => formFieldRef.nativeElement.id === `field_${fieldKey}`);
|
|
5529
|
+
if (targetField) {
|
|
5530
|
+
const containerEl = this.formFieldContainerRef.nativeElement;
|
|
5531
|
+
const fieldEl = targetField.nativeElement;
|
|
5532
|
+
this.renderer.setProperty(containerEl, "scrollTop", fieldEl.offsetTop - containerEl.offsetTop);
|
|
5533
|
+
}
|
|
5534
|
+
}
|
|
5381
5535
|
toggleErrorNotification(show) {
|
|
5382
5536
|
this.showErrorNotification = show;
|
|
5383
5537
|
}
|
|
@@ -5432,6 +5586,7 @@ class KwikIDFormViewComponent {
|
|
|
5432
5586
|
});
|
|
5433
5587
|
}
|
|
5434
5588
|
this.formGroup.updateValueAndValidity();
|
|
5589
|
+
console.log("YES DISABLING THE FIELD");
|
|
5435
5590
|
}
|
|
5436
5591
|
else if (field.type === EFieldType.BUTTON) {
|
|
5437
5592
|
this.formFields[fieldIndex]["disabled"] = true;
|
|
@@ -5516,9 +5671,11 @@ class KwikIDFormViewComponent {
|
|
|
5516
5671
|
this.formFields[fieldIndex] = fieldLiveLocation;
|
|
5517
5672
|
break;
|
|
5518
5673
|
default:
|
|
5674
|
+
console.log("BAIJU BEFORE", getObjectDeepCopy(field), getObjectDeepCopy(this.formFields));
|
|
5519
5675
|
field.focus = false;
|
|
5520
5676
|
field.invalid = false;
|
|
5521
5677
|
this.formFields[fieldIndex] = field;
|
|
5678
|
+
console.log("BAIJU AFTER", getObjectDeepCopy(field), getObjectDeepCopy(this.formFields));
|
|
5522
5679
|
break;
|
|
5523
5680
|
}
|
|
5524
5681
|
this.triggerLogs(ELogEventType$1.FORM__FIELD_RESET, {
|
|
@@ -5526,6 +5683,11 @@ class KwikIDFormViewComponent {
|
|
|
5526
5683
|
field_type: field.type
|
|
5527
5684
|
});
|
|
5528
5685
|
}
|
|
5686
|
+
fieldGroupReset(fieldGroup) {
|
|
5687
|
+
for (let fieldKey of this.fieldGroups[fieldGroup]) {
|
|
5688
|
+
this.fieldReset(fieldKey);
|
|
5689
|
+
}
|
|
5690
|
+
}
|
|
5529
5691
|
fieldHideApiLoader(fieldKey) {
|
|
5530
5692
|
let field = getFormFieldByKey(this.formFields, fieldKey);
|
|
5531
5693
|
let fieldIndex = this.formFields.findIndex((_) => {
|
|
@@ -5638,7 +5800,7 @@ class KwikIDFormViewComponent {
|
|
|
5638
5800
|
});
|
|
5639
5801
|
field = setApiTimerMessage(field, timer);
|
|
5640
5802
|
this.formFields[fieldIndex] = field;
|
|
5641
|
-
this.
|
|
5803
|
+
this.cdRef.detectChanges();
|
|
5642
5804
|
this.triggerLogs(ELogEventType$1.FORM__FIELD_API_TIMER_MESSAGE_SHOW, {
|
|
5643
5805
|
field_key: fieldKey,
|
|
5644
5806
|
field_type: field.type,
|
|
@@ -5662,7 +5824,8 @@ class KwikIDFormViewComponent {
|
|
|
5662
5824
|
FORM_DATA: this.formData,
|
|
5663
5825
|
TASK_DATA: this.taskData,
|
|
5664
5826
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
5665
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
5827
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
5828
|
+
EXTRA_DATA: this.extraData
|
|
5666
5829
|
}, this.takeAction.bind(this));
|
|
5667
5830
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
5668
5831
|
yield ruleEngine.run(field.validation);
|
|
@@ -5675,7 +5838,7 @@ class KwikIDFormViewComponent {
|
|
|
5675
5838
|
}, "ON_API_TIMER_STOP");
|
|
5676
5839
|
}
|
|
5677
5840
|
this.formFields[fieldIndex] = field;
|
|
5678
|
-
this.
|
|
5841
|
+
this.cdRef.detectChanges();
|
|
5679
5842
|
this.triggerLogs(ELogEventType$1.FORM__FIELD_API_TIMER_MESSAGE_HIDE, {
|
|
5680
5843
|
field_key: fieldKey,
|
|
5681
5844
|
field_type: field.type
|
|
@@ -5692,6 +5855,7 @@ class KwikIDFormViewComponent {
|
|
|
5692
5855
|
this.patchFormGroup(this.formData);
|
|
5693
5856
|
this.allFormsData = source.object.ALL_FORMS_DATA;
|
|
5694
5857
|
this.previousFormData = source.object.PREVIOUS_FORM_DATA;
|
|
5858
|
+
this.extraData = source.object.EXTRA_DATA;
|
|
5695
5859
|
});
|
|
5696
5860
|
}
|
|
5697
5861
|
setFieldDefaultValue(action, object) {
|
|
@@ -5721,6 +5885,7 @@ class KwikIDFormViewComponent {
|
|
|
5721
5885
|
this.patchFormGroup(this.formData);
|
|
5722
5886
|
this.allFormsData = source.object.ALL_FORMS_DATA;
|
|
5723
5887
|
this.previousFormData = source.object.PREVIOUS_FORM_DATA;
|
|
5888
|
+
this.extraData = source.object.EXTRA_DATA;
|
|
5724
5889
|
});
|
|
5725
5890
|
}
|
|
5726
5891
|
setApiStatus(action, object) {
|
|
@@ -5816,6 +5981,7 @@ class KwikIDFormViewComponent {
|
|
|
5816
5981
|
}
|
|
5817
5982
|
}
|
|
5818
5983
|
}, sourceValue);
|
|
5984
|
+
object.FIELD_CONFIG = source.object.FIELD_CONFIG;
|
|
5819
5985
|
object.API_CONFIG = source.object.API_CONFIG;
|
|
5820
5986
|
});
|
|
5821
5987
|
}
|
|
@@ -5841,6 +6007,7 @@ class KwikIDFormViewComponent {
|
|
|
5841
6007
|
this.formData = source.object.FORM_DATA;
|
|
5842
6008
|
this.allFormsData = source.object.ALL_FORMS_DATA;
|
|
5843
6009
|
this.previousFormData = source.object.PREVIOUS_FORM_DATA;
|
|
6010
|
+
this.extraData = source.object.EXTRA_DATA;
|
|
5844
6011
|
});
|
|
5845
6012
|
}
|
|
5846
6013
|
apiCall(action, object) {
|
|
@@ -5919,7 +6086,8 @@ class KwikIDFormViewComponent {
|
|
|
5919
6086
|
FORM_DATA: this.formData,
|
|
5920
6087
|
TASK_DATA: this.taskData,
|
|
5921
6088
|
PREVIOUS_FORM_DATA: this.previousFormData,
|
|
5922
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
6089
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
6090
|
+
EXTRA_DATA: this.extraData
|
|
5923
6091
|
}, this.takeAction.bind(this));
|
|
5924
6092
|
yield apis.callNextApi(multipleApiConfig.entrypoint);
|
|
5925
6093
|
}
|
|
@@ -6163,6 +6331,9 @@ class KwikIDFormViewComponent {
|
|
|
6163
6331
|
case EActionKey.FIELD_GROUP_DISABLE:
|
|
6164
6332
|
this.fieldGroupDisable(action.props.groupKey);
|
|
6165
6333
|
break;
|
|
6334
|
+
case EActionKey.FIELD_GROUP_RESET:
|
|
6335
|
+
this.fieldGroupReset(action.props.groupKey);
|
|
6336
|
+
break;
|
|
6166
6337
|
case EActionKey.FIELD_GROUP_SHOW_API_LOADER:
|
|
6167
6338
|
this.fieldGroupDisable(action.props.groupKey);
|
|
6168
6339
|
break;
|
|
@@ -6334,6 +6505,9 @@ class KwikIDFormViewComponent {
|
|
|
6334
6505
|
case EActionKey.STOP_WAITING:
|
|
6335
6506
|
this.waitingForChanges = false;
|
|
6336
6507
|
break;
|
|
6508
|
+
case EActionKey.SCROLL_TO_FIELD:
|
|
6509
|
+
this.handleOnScrollToField(action.props.fieldKey);
|
|
6510
|
+
break;
|
|
6337
6511
|
case EActionKey.NOTIFICATION_ERROR_SHOW:
|
|
6338
6512
|
this.toggleErrorNotification(true);
|
|
6339
6513
|
break;
|
|
@@ -6385,17 +6559,14 @@ class KwikIDFormViewComponent {
|
|
|
6385
6559
|
});
|
|
6386
6560
|
}
|
|
6387
6561
|
}
|
|
6388
|
-
/** @nocollapse */ KwikIDFormViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDFormViewComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: KwikIDFormViewService }, { token: KwikIDFormViewApiService }, { token: TuiPushService }, { token: TuiAlertService }, { token: TuiPreviewDialogService }, { token: TuiDialogService }, { token: i3.KwikUILoaderService }, { token: i4.KwikIDCameraRecordService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
6389
|
-
/** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { allFormsData: "allFormsData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse", formConfig: "formConfig", formData: "formData", isMobileView: "isMobileView", popupFormCallback: "popupFormCallback", userConfig: "userConfig", stepConfig: "stepConfig" }, outputs: { getLogs: "getLogs", getUnsavedDataState: "getUnsavedDataState", onActionShowPopupForm: "onActionShowPopupForm", onClickApiCall: "onClickApiCall", onClickViewFile: "onClickViewFile", onClickFormFieldButton: "onClickFormFieldButton", onClickGoBack: "onClickGoBack", onClickSaveForm: "onClickSaveForm", onClickViewForms: "onClickViewForms" }, providers: [KwikIDFormViewService, KwikIDFormViewApiService], viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }, { propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], usesOnChanges: true, ngImport: i0, 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?.logo?.hidden ||\n !formConfig.properties?.header?.steps?.hidden ||\n !formConfig.properties?.header?.backButton?.hidden\n \"\n >\n <img\n id=\"uf-header-logo\"\n *ngIf=\"!formConfig.properties?.header?.logo?.hidden && isMobileView\"\n [src]=\"formConfig.properties?.header?.logo?.src\"\n [alt]=\"formConfig.properties?.header?.logo?.alt\"\n [style]=\"\n formConfig.properties?.header?.logo?.styles ?? '' | styleSanitizer\n \"\n />\n <div id=\"uf-form-fields-header-main\">\n <div id=\"uf-form-fields-header-left\">\n <kwikui-button\n *ngIf=\"\n !formConfig.properties?.header.backButton.hidden && isMobileView\n \"\n [disabled]=\"backButton.disabled\"\n [showLoader]=\"backButton.showLoader\"\n appearance=\"mono\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n (onClick)=\"\n handleOnClickGoBack(\n $event,\n formConfig.properties?.header.backButton.mode\n )\n \"\n ></kwikui-button>\n </div>\n <div id=\"uf-form-fields-header-right\">\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 >\n Step {{ formConfig.sequenceNo }} of {{ formConfig.formsListLength }}\n </div>\n </div>\n </div>\n <hr\n *ngIf=\"\n !formConfig.properties?.header.title.hidden ||\n !formConfig.properties?.header.steps.hidden ||\n !formConfig.properties?.header.backButton.hidden\n \"\n />\n </div>\n <form\n class=\"kwikid-form show\"\n [style]=\"formConfig.properties?.main?.styles ?? '' | styleSanitizer\"\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | kwikuiSafeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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]=\"field?.properties?.resetButtonLabel ?? 'Reset'\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Button -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button\n [appearance]=\"field?.properties?.appearance ?? 'primary'\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [icon]=\"field?.properties?.icon\"\n [iconRight]=\"field?.properties?.iconRight\"\n [id]=\"field?.key\"\n [label]=\"field?.label\"\n [shape]=\"field?.properties?.shape\"\n [showLoader]=\"field?.properties?.loading ?? false\"\n [size]=\"field?.properties?.size\"\n [styles]=\"field?.properties?.styles\"\n [type]=\"'button'\"\n (onClick)=\"handleOnClickFormFieldButton(field)\"\n ></kwikui-button>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\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 <!-- Input Currency -->\n <ng-container *ngSwitchCase=\"'currency'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-currency\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [currencyType]=\"field?.properties?.currencyType\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n [value]=\"formGroup.controls[field.key].value\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-currency>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Email -->\n <ng-container *ngSwitchCase=\"'email'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-email\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [domains]=\"field?.properties?.domains\"\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 [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-email>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Password -->\n <ng-container *ngSwitchCase=\"'password'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-password\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [hintContent]=\"field?.properties?.hintContent\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-password>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Textarea -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-textarea\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 [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-textarea>\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox\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 [variant]=\"field?.properties?.variant ?? 'block'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox>\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [maxCalculatedFromToday]=\"\n field?.properties?.maxCalculatedFromToday\n \"\n [min]=\"field?.properties?.min\"\n [minCalculatedFromToday]=\"\n field?.properties?.minCalculatedFromToday\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\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 Time -->\n <ng-container *ngSwitchCase=\"'time'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-time\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?.properties?.items\"\n [label]=\"field?.label\"\n [mode]=\"field?.properties?.mode\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-time>\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-input-radio\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-input-radio>\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=\"'select'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-select\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 [searchable]=\"field?.properties?.searchable\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-select>\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\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'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [apiTimer]=\"field?.api?.timer\"\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 [size]=\"field?.properties?.size\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickApiCall($event)\"\n (onApiTimerStop)=\"handleOnApiTimerStop($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 <!-- Live Location -->\n <ng-container *ngSwitchCase=\"'live-location'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-live-location\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [liveLocationStatus]=\"field?.api?.status?.value\"\n [shape]=\"field?.properties?.shape\"\n [isShowLatLongCaptureTimestamp]=\"\n field?.properties?.isShowLatLongCaptureTimestamp\n \"\n [showLoader]=\"field?.disabled\"\n [size]=\"field?.properties?.size\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickLiveLocation($event)\"\n (onLocationPermission)=\"handleOnLocationPermission($event)\"\n ></kwikui-button-live-location>\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [mode]=\"field?.properties?.mode\"\n [otpLength]=\"field?.properties?.otpLength\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [mask]=\"field?.properties?.mask\"\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 <!-- Preview Image -->\n <ng-container *ngSwitchCase=\"'image'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-image\n [altText]=\"field?.properties?.altText\"\n [class]=\"field?.properties?.class\"\n [html]=\"field?.properties?.html\"\n [id]=\"field.key\"\n [imageSrc]=\"field?.default?.value?.value ?? ''\"\n [imageType]=\"field?.properties?.imageType\"\n [loadingType]=\"field?.properties?.loadingType\"\n [styles]=\"field?.properties?.styles\"\n ></kwikui-image>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- File Upload -->\n <ng-container *ngSwitchCase=\"'file'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-input-files\n [accept]=\"field?.properties?.accept\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [files]=\"files[field.key]\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field?.key\"\n [label]=\"field?.properties?.label\"\n [link]=\"field?.properties?.link\"\n [maxFileSize]=\"field?.properties?.maxFileSize\"\n [multiple]=\"field?.properties?.multiple\"\n [setFileTypesToForm]=\"['NORMAL']\"\n [styles]=\"field?.properties?.styles\"\n [validators]=\"field?.validators\"\n [showViewButton]=\"field?.properties?.showViewButton\"\n (getKeyValue)=\"handleGetKeyValueFile($event)\"\n (getRemovedFile)=\"handleRemovedFile($event)\"\n (getViewButtonClick)=\"handleViewButtonClick($event, field)\"\n ></kwikui-input-files>\n </label>\n <ng-template #labelTemplate>\n <p\n style=\"padding: 0px 0.25rem; margin-bottom: 0.25rem\"\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 <!-- Camera Capture -->\n <ng-container *ngSwitchCase=\"'capture'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\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 </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"mediaFiles[field.key]\"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'capture'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Camera Record -->\n <ng-container *ngSwitchCase=\"'record'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\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 </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"mediaFiles[field.key]\"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'record'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Star Rating -->\n <ng-container *ngSwitchCase=\"'star-rating'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-star-rating\n [color]=\"field?.properties?.color\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [iconMarked]=\"field?.properties?.iconMarked\"\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 [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-star-rating>\n </label>\n <ng-template #labelTemplate>\n <p>\n <b\n >{{ field?.properties?.placeholder }}\n <span *ngIf=\"field.validators?.required\">*</span></b\n >\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 </ng-container>\n </ng-container>\n </form>\n <div\n class=\"kwikid-form-buttons\"\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden ||\n !formConfig.properties.footer.saveButton.hidden\n \"\n >\n <kwikui-button\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden && isMobileView\n \"\n [appearance]=\"'secondary'\"\n [disabled]=\"viewFormsButton.disabled\"\n [label]=\"formConfig.properties.footer.viewFormsButton.label\"\n [showLoader]=\"viewFormsButton.showLoader\"\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 [label]=\"formConfig.properties.footer.saveButton.label\"\n [showLoader]=\"saveFormButton.showLoader\"\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 *ngFor=\"let item of [].constructor(7); let i = index\"\n class=\"large-wrapper tui-skeleton tui-skeleton_rounded\"\n >\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\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\n<tui-push\n id=\"permission-error-notification\"\n *tuiPush=\"showPermissionErrorNotification\"\n heading=\"Please provide required permissions!\"\n type=\"Error\"\n (close)=\"togglePermissionErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n\n<ng-template\n #dialog\n let-dialog\n>\n <div class=\"preview-container\">\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n\n<div\n id=\"kwikid-camera-container\"\n *ngIf=\"isShowCamera\"\n>\n <div\n id=\"kwikid-camera-wrapper\"\n [class.fullscreen]=\"isShowCameraFullscreen\"\n >\n <kwikid-camera\n [type]=\"cameraType\"\n [data]=\"cameraData\"\n [image]=\"cameraImage\"\n [video]=\"cameraVideo\"\n [config]=\"cameraConfig\"\n (getImage)=\"handleGetCameraMedia($event, 'CAPTURE')\"\n (getVideo)=\"handleGetCameraMedia($event, 'RECORD')\"\n (onClickBack)=\"handleOnClickCameraBack($event)\"\n (onClickClose)=\"handleOnClickCameraClose($event)\"\n (onClickSave)=\"handleOnClickSaveCameraMedia($event, cameraType)\"\n >\n <ng-container\n *ngIf=\"cameraType === 'CAPTURE'\"\n slot=\"capture-header\"\n >\n <div class=\"capture-header-container\">\n <div class=\"capture-header-left\"> </div>\n <div class=\"capture-header-center\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"capture-header-right\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen ? 'tuiIconMinimize2' : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isClose\"\n id=\"kwikid-camera-header-close-button\"\n appearance=\"whiteblock\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"cameraType === 'RECORD'\"\n slot=\"record-header\"\n >\n <div class=\"record-header-container\">\n <div class=\"record-header-row row-1\">\n <div class=\"record-header-left\">\n <kwikui-button\n *ngIf=\"\n cameraConfig?.header?.isBack && cameraRecordingState == 'NONE'\n \"\n appearance=\"whiteblock\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-center\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-right\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen\n ? 'tuiIconMinimize2'\n : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n </div>\n </div>\n <div class=\"record-header-row row-2\">\n <div\n id=\"blinking-dot-container\"\n [class.recording]=\"cameraRecordingState == 'RECORDING'\"\n [class.paused]=\"cameraRecordingState == 'PAUSED'\"\n [class.recorded]=\"\n cameraRecordingState == 'NONE' ||\n cameraRecordingState === 'RECORDED'\n \"\n >\n <div\n *ngIf=\"cameraRecordingState == 'RECORDING'\"\n class=\"dot recording blink\"\n >\n </div>\n <div\n *ngIf=\"cameraRecordingState === 'PAUSED'\"\n class=\"dot paused\"\n >\n </div>\n <div\n *ngIf=\"\n cameraRecordingState == 'NONE' ||\n cameraRecordingState === 'RECORDED'\n \"\n class=\"dot recorded\"\n >\n </div>\n <div>\n {{ cameraRecordingTime | formatTimer }}\n <ng-container\n *ngIf=\"cameraConfig?.others?.maxRecordingTimeInSeconds\"\n >\n /\n {{\n cameraConfig?.others?.maxRecordingTimeInSeconds\n | formatTimer\n }}\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </kwikid-camera>\n </div>\n</div>\n", styles: [".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}.kwikid-form.show>*:not(:last-child){margin-bottom:1rem}.kwikid-form-buttons{width:100%;bottom:0px;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.kwikid-form-buttons>*:not(:last-child){margin-right:1rem}.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;padding:1rem 1rem 0}#uf-form-fields-header-container>*:not(:last-child){margin-bottom:.5rem}#uf-form-fields-header-container #uf-header-logo{width:-moz-fit-content;width:fit-content;height:50px}#uf-form-fields-header-container #uf-form-fields-header-main{display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center;width:100%}#uf-form-fields-header-container #uf-form-fields-header-main>*:not(:last-child){margin-right:.25rem}#uf-form-fields-header-container #uf-form-fields-header-main #uf-form-fields-header-right{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start}#uf-form-fields-header-container #uf-form-fields-header-main #uf-form-fields-header-right>*{margin-bottom:.5rem}#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:1rem}.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}.title>*:not(:last-child){margin-right:.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;padding:1rem}.kwikid-form-container-loading>* :not(:last-child){margin-bottom:1rem}#field-error-notification,#permission-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top,#permission-error-notification .t-top{color:#fff!important}#field-error-notification .t-close,#permission-error-notification .t-close{color:#fff!important}.preview-container{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;align-content:center;height:calc(100vh - 3rem)}@media only screen and (min-width: 768px){.preview-container{height:calc(100vh - 10rem);width:calc(100vw - 10rem)}}.preview-container>*:not(:last-child){margin-bottom:1rem}.preview-container .preview-html{flex-grow:1}.preview-container .preview-iframe-content{height:100%;flex-grow:1}.preview-container .preview-iframe-content .preview-iframe{width:100%;height:100%}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}#kwikid-camera-container{width:100%;height:100%;position:fixed;top:50%;left:50%;background-color:#0000008f;transform:translate(-50%,-50%);z-index:100}#kwikid-camera-container #kwikid-camera-wrapper{width:min(80%);height:max(85%);box-shadow:#0000008f 0 22px 70px 4px;overflow:hidden;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:1rem;background-color:#000;transition:5s linear ease}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container{display:flex;width:100%;max-width:100%;padding:0}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-left{flex:1;text-align:left}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-center{flex:1;width:100%;min-width:max-content;text-align:center;margin:auto}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-right{flex:1;text-align:right;display:flex;justify-content:flex-end;grid-gap:1rem;gap:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container{display:flex;width:100%;max-width:100%;padding:0;color:#fff;flex-direction:column;justify-content:flex-start;align-items:stretch}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-left{flex:1;display:flex;justify-content:flex-start;grid-gap:1rem;gap:1rem;text-align:left}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-center{flex:1;width:100%;min-width:max-content;text-align:center;margin:auto}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-right{flex:1;text-align:right;display:flex;justify-content:flex-end;grid-gap:1rem;gap:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2{display:flex;flex-direction:row;justify-content:center;align-items:center}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;grid-gap:.25rem;gap:.25rem;padding:.35rem .6rem;width:-moz-fit-content;width:fit-content;border-radius:2rem;background-color:#f5f5f5}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.recording{color:red;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.paused{color:#525252;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.recorded{color:#000;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot{display:inline-block;width:.75rem;height:.75rem;border-radius:100%}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.recording{background-color:red;box-shadow:0 0 5px -1px red}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.paused{background-color:#525252;box-shadow:0 0 5px -1px #000}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.recorded{background-color:#000;box-shadow:0 0 5px -1px #000}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.blink{animation:blinker 1s cubic-bezier(.5,0,1,1) infinite alternate}@keyframes blinker{0%{opacity:1}to{opacity:0}}#kwikid-camera-container #kwikid-camera-wrapper.fullscreen{width:100%;height:100%;border-radius:0;transition:5s linear ease}@media only screen and (max-width: 600px){#kwikid-camera-container #kwikid-camera-wrapper{width:100%;height:100%;border-radius:0;transition:5s linear ease}#kwikid-camera-container #kwikid-camera-wrapper #kwikid-camera-header-enlarge-button{display:none}}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i3.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i3.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["id", "messages"] }, { type: i3.KwikUIInputComponent, selector: "kwikui-input", inputs: ["case", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "type", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputCurrencyComponent, selector: "kwikui-input-currency", inputs: ["currencyType", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators", "value"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputEmailComponent, selector: "kwikui-input-email", inputs: ["case", "disabled", "domains", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputPasswordComponent, selector: "kwikui-input-password", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUITextareaComponent, selector: "kwikui-textarea", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUICheckboxComponent, selector: "kwikui-checkbox", inputs: ["contentAlign", "disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators", "variant"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["decimal", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "min", "placeholder", "postfix", "precision", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "maxCalculatedFromToday", "min", "minCalculatedFromToday", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputTimeComponent, selector: "kwikui-input-time", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "items", "invalid", "label", "mode", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["countryCode", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "phoneMaskAfterCountryCode", "placeholder", "postfix", "prefix", "properties", "removeCountryCodeFromValue", "size", "validators"], outputs: ["getKeyValue"] }, { type: i5.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i3.KwikUIInputRadioComponent, selector: "kwikui-input-radio", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "items", "label", "orientation", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputSelectComponent, selector: "kwikui-input-select", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "options", "placeholder", "properties", "searchable", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputSliderComponent, selector: "kwikui-input-slider", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "min", "placeholder", "postfix", "prefix", "properties", "quantum", "size", "steps", "type", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["apiTimer", "apiStatus", "class", "disabled", "id", "label", "shape", "showLoader", "size", "styles"], outputs: ["onClick", "onApiTimerStop"] }, { type: i3.KwikUIButtonLiveLocationComponent, selector: "kwikui-button-live-location", inputs: ["liveLocationStatus", "class", "disabled", "id", "label", "shape", "showLoader", "size", "styles", "isShowLatLongCaptureTimestamp"], outputs: ["onClick", "onLocationPermission"] }, { type: i3.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "mode", "otpLength", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "placeholder", "properties", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIImageComponent, selector: "kwikui-image", inputs: ["altText", "class", "html", "id", "imageSrc", "imageType", "loadingType", "styles"], outputs: ["onClick"] }, { type: i3.KwikUIInputFilesComponent, selector: "kwikui-input-files", inputs: ["accept", "class", "disabled", "files", "formControl", "formControlName", "icon", "id", "label", "link", "maxFileSize", "multiple", "setFileTypesToForm", "showAddedFiles", "size", "styles", "validators", "variant", "showViewButton"], outputs: ["getKeyValue", "getRemovedFile", "getViewButtonClick"] }, { type: i4.KwikUIInputCameraComponent, selector: "kwikui-input-camera", inputs: ["buttonText", "disabled", "focus", "formControl", "formControlName", "icon", "id", "invalid", "mediaFiles", "properties", "showMediaFiles", "size", "type", "validators"], outputs: ["onClick", "getRemovedFile"] }, { type: i3.KwikUIStarRatingComponent, selector: "kwikui-star-rating", inputs: ["color", "disabled", "focus", "formControl", "formControlName", "icon", "iconMarked", "id", "invalid", "label", "max", "min", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i6.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }, { type: i5.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i7.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i7.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i5.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i4.KwikIDCameraComponent, selector: "kwikid-camera", inputs: ["type", "config", "data", "image", "video"], outputs: ["getImage", "onClickSave", "getVideo"] }], directives: [{ type: i3$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i6.TuiPushDirective, selector: "tui-push" }, { type: i7.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], pipes: { "styleSanitizer": StyleSanitizerPipe, "kwikuiSafeHtml": i3.KwikUISafeHtmlPipe, "kwikuiSafeUrl": i3.KwikUISafeUrlPipe, "formatTimer": TimerPipe } });
|
|
6562
|
+
/** @nocollapse */ KwikIDFormViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDFormViewComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: KwikIDFormViewService }, { token: KwikIDFormViewApiService }, { token: TuiPushService }, { token: TuiAlertService }, { token: TuiPreviewDialogService }, { token: TuiDialogService }, { token: i3.KwikUILoaderService }, { token: i4.KwikIDCameraRecordService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
6563
|
+
/** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { allFormsData: "allFormsData", extraData: "extraData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse", formConfig: "formConfig", formData: "formData", isMobileView: "isMobileView", popupFormCallback: "popupFormCallback", userConfig: "userConfig", stepConfig: "stepConfig" }, outputs: { getLogs: "getLogs", getUnsavedDataState: "getUnsavedDataState", onActionShowPopupForm: "onActionShowPopupForm", onClickApiCall: "onClickApiCall", onClickViewFile: "onClickViewFile", onClickFormFieldButton: "onClickFormFieldButton", onClickGoBack: "onClickGoBack", onClickSaveForm: "onClickSaveForm", onClickViewForms: "onClickViewForms" }, providers: [KwikIDFormViewService, KwikIDFormViewApiService], viewQueries: [{ propertyName: "formFieldContainerRef", first: true, predicate: ["formFieldContainerRef"], descendants: true }, { propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }, { propertyName: "preview", first: true, predicate: ["preview"], descendants: true }, { propertyName: "formFieldsRef", predicate: ["formFieldsRef"], descendants: true }], usesOnChanges: true, ngImport: i0, 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?.logo?.hidden ||\n !formConfig.properties?.header?.steps?.hidden ||\n !formConfig.properties?.header?.backButton?.hidden\n \"\n >\n <img\n id=\"uf-header-logo\"\n *ngIf=\"!formConfig.properties?.header?.logo?.hidden && isMobileView\"\n [src]=\"formConfig.properties?.header?.logo?.src\"\n [alt]=\"formConfig.properties?.header?.logo?.alt\"\n [style]=\"\n formConfig.properties?.header?.logo?.styles ?? '' | styleSanitizer\n \"\n />\n <div id=\"uf-form-fields-header-main\">\n <div id=\"uf-form-fields-header-left\">\n <kwikui-button\n *ngIf=\"\n !formConfig.properties?.header.backButton.hidden && isMobileView\n \"\n [disabled]=\"backButton.disabled\"\n [showLoader]=\"backButton.showLoader\"\n appearance=\"mono\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n (onClick)=\"\n handleOnClickGoBack(\n $event,\n formConfig.properties?.header.backButton.mode\n )\n \"\n ></kwikui-button>\n </div>\n <div id=\"uf-form-fields-header-right\">\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 >\n Step {{ formConfig.sequenceNo }} of {{ formConfig.formsListLength }}\n </div>\n </div>\n </div>\n <hr\n *ngIf=\"\n !formConfig.properties?.header.title.hidden ||\n !formConfig.properties?.header.steps.hidden ||\n !formConfig.properties?.header.backButton.hidden\n \"\n />\n </div>\n <form\n #formFieldContainerRef\n class=\"kwikid-form show\"\n [style]=\"formConfig.properties?.main?.styles ?? '' | styleSanitizer\"\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 #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | kwikuiSafeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n #formFieldsRef\n class=\"title\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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]=\"field?.properties?.resetButtonLabel ?? 'Reset'\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Button -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button\n [appearance]=\"field?.properties?.appearance ?? 'primary'\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [icon]=\"field?.properties?.icon\"\n [iconRight]=\"field?.properties?.iconRight\"\n [id]=\"field?.key\"\n [label]=\"field?.label\"\n [shape]=\"field?.properties?.shape\"\n [showLoader]=\"field?.properties?.loading ?? false\"\n [size]=\"field?.properties?.size\"\n [styles]=\"field?.properties?.styles\"\n [type]=\"'button'\"\n (onClick)=\"handleOnClickFormFieldButton(field)\"\n ></kwikui-button>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\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 <!-- Input Currency -->\n <ng-container *ngSwitchCase=\"'currency'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-currency\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [currencyType]=\"field?.properties?.currencyType\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n [value]=\"formGroup.controls[field.key].value\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-currency>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Email -->\n <ng-container *ngSwitchCase=\"'email'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-email\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [domains]=\"field?.properties?.domains\"\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 [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-email>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Password -->\n <ng-container *ngSwitchCase=\"'password'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-password\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [hintContent]=\"field?.properties?.hintContent\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-password>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Textarea -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-textarea\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 [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-textarea>\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 #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox\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 [variant]=\"field?.properties?.variant ?? 'block'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox>\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 #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [maxCalculatedFromToday]=\"\n field?.properties?.maxCalculatedFromToday\n \"\n [min]=\"field?.properties?.min\"\n [minCalculatedFromToday]=\"\n field?.properties?.minCalculatedFromToday\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\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 Time -->\n <ng-container *ngSwitchCase=\"'time'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-time\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?.properties?.items\"\n [label]=\"field?.label\"\n [mode]=\"field?.properties?.mode\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-time>\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 #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\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 #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-input-radio\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-input-radio>\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=\"'select'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-select\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 [searchable]=\"field?.properties?.searchable\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-select>\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 #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\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'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [apiTimer]=\"field?.api?.timer\"\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 [size]=\"field?.properties?.size\"\n [styles]=\"\n field?.properties?.styles\n ? field?.properties?.styles\n : 'width: fit-content'\n \"\n (onClick)=\"handleOnClickApiCall($event)\"\n (onApiTimerStop)=\"handleOnApiTimerStop($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 <!-- Live Location -->\n <ng-container *ngSwitchCase=\"'live-location'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-live-location\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [liveLocationStatus]=\"field?.api?.status?.value\"\n [shape]=\"field?.properties?.shape\"\n [isShowLatLongCaptureTimestamp]=\"\n field?.properties?.isShowLatLongCaptureTimestamp\n \"\n [showLoader]=\"field?.disabled\"\n [size]=\"field?.properties?.size\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickLiveLocation($event)\"\n (onLocationPermission)=\"handleOnLocationPermission($event)\"\n ></kwikui-button-live-location>\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 #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [mode]=\"field?.properties?.mode\"\n [otpLength]=\"field?.properties?.otpLength\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\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 #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [mask]=\"field?.properties?.mask\"\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 <!-- Preview Image -->\n <ng-container *ngSwitchCase=\"'image'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-image\n [altText]=\"field?.properties?.altText\"\n [class]=\"field?.properties?.class\"\n [html]=\"field?.properties?.html\"\n [id]=\"field.key\"\n [imageSrc]=\"formGroup.controls[field.key].value ?? ''\"\n [imageType]=\"field?.properties?.imageType\"\n [loadingType]=\"field?.properties?.loadingType\"\n [styles]=\"field?.properties?.styles\"\n ></kwikui-image>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- File Upload -->\n <ng-container *ngSwitchCase=\"'file'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-input-files\n [accept]=\"field?.properties?.accept\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [files]=\"files[field.key]\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field?.key\"\n [label]=\"field?.properties?.label\"\n [link]=\"field?.properties?.link\"\n [maxFileSize]=\"field?.properties?.maxFileSize\"\n [multiple]=\"field?.properties?.multiple\"\n [setFileTypesToForm]=\"['NORMAL']\"\n [styles]=\"field?.properties?.styles\"\n [validators]=\"field?.validators\"\n [showViewButton]=\"field?.properties?.showViewButton\"\n (getKeyValue)=\"handleGetKeyValueFile($event)\"\n (getRemovedFile)=\"handleRemovedFile($event)\"\n (getViewButtonClick)=\"handleViewButtonClick($event, field)\"\n ></kwikui-input-files>\n </label>\n <ng-template #labelTemplate>\n <p\n style=\"padding: 0px 0.25rem; margin-bottom: 0.25rem\"\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 <!-- Camera Capture -->\n <ng-container *ngSwitchCase=\"'capture'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\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 </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"mediaFiles[field.key]\"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'capture'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Camera Record -->\n <ng-container *ngSwitchCase=\"'record'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\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 </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"mediaFiles[field.key]\"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'record'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Star Rating -->\n <ng-container *ngSwitchCase=\"'star-rating'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-star-rating\n [color]=\"field?.properties?.color\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [iconMarked]=\"field?.properties?.iconMarked\"\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 [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-star-rating>\n </label>\n <ng-template #labelTemplate>\n <p>\n <b\n >{{ field?.properties?.placeholder }}\n <span *ngIf=\"field.validators?.required\">*</span></b\n >\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 </ng-container>\n </ng-container>\n </form>\n <div\n class=\"kwikid-form-buttons\"\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden ||\n !formConfig.properties.footer.saveButton.hidden\n \"\n >\n <kwikui-button\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden && isMobileView\n \"\n [appearance]=\"'secondary'\"\n [disabled]=\"viewFormsButton.disabled\"\n [label]=\"formConfig.properties.footer.viewFormsButton.label\"\n [showLoader]=\"viewFormsButton.showLoader\"\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 [label]=\"formConfig.properties.footer.saveButton.label\"\n [showLoader]=\"saveFormButton.showLoader\"\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 *ngFor=\"let item of [].constructor(7); let i = index\"\n class=\"large-wrapper tui-skeleton tui-skeleton_rounded\"\n >\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\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\n<tui-push\n id=\"permission-error-notification\"\n *tuiPush=\"showPermissionErrorNotification\"\n heading=\"Please provide required permissions!\"\n type=\"Error\"\n (close)=\"togglePermissionErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n\n<ng-template\n #dialog\n let-dialog\n>\n <div class=\"preview-container\">\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n\n<div\n id=\"kwikid-camera-container\"\n *ngIf=\"isShowCamera\"\n>\n <div\n id=\"kwikid-camera-wrapper\"\n [class.fullscreen]=\"isShowCameraFullscreen\"\n >\n <kwikid-camera\n [type]=\"cameraType\"\n [data]=\"cameraData\"\n [image]=\"cameraImage\"\n [video]=\"cameraVideo\"\n [config]=\"cameraConfig\"\n (getImage)=\"handleGetCameraMedia($event, 'CAPTURE')\"\n (getVideo)=\"handleGetCameraMedia($event, 'RECORD')\"\n (onClickBack)=\"handleOnClickCameraBack($event)\"\n (onClickClose)=\"handleOnClickCameraClose($event)\"\n (onClickSave)=\"handleOnClickSaveCameraMedia($event, cameraType)\"\n >\n <ng-container\n *ngIf=\"cameraType === 'CAPTURE'\"\n slot=\"capture-header\"\n >\n <div class=\"capture-header-container\">\n <div class=\"capture-header-left\"> </div>\n <div class=\"capture-header-center\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"capture-header-right\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen ? 'tuiIconMinimize2' : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isClose\"\n id=\"kwikid-camera-header-close-button\"\n appearance=\"whiteblock\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"cameraType === 'RECORD'\"\n slot=\"record-header\"\n >\n <div class=\"record-header-container\">\n <div class=\"record-header-row row-1\">\n <div class=\"record-header-left\">\n <kwikui-button\n *ngIf=\"\n cameraConfig?.header?.isBack && cameraRecordingState == 'NONE'\n \"\n appearance=\"whiteblock\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-center\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-right\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen\n ? 'tuiIconMinimize2'\n : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n </div>\n </div>\n <div class=\"record-header-row row-2\">\n <div\n id=\"blinking-dot-container\"\n [class.recording]=\"cameraRecordingState == 'RECORDING'\"\n [class.paused]=\"cameraRecordingState == 'PAUSED'\"\n [class.recorded]=\"\n cameraRecordingState == 'NONE' ||\n cameraRecordingState === 'RECORDED'\n \"\n >\n <div\n *ngIf=\"cameraRecordingState == 'RECORDING'\"\n class=\"dot recording blink\"\n >\n </div>\n <div\n *ngIf=\"cameraRecordingState === 'PAUSED'\"\n class=\"dot paused\"\n >\n </div>\n <div\n *ngIf=\"\n cameraRecordingState == 'NONE' ||\n cameraRecordingState === 'RECORDED'\n \"\n class=\"dot recorded\"\n >\n </div>\n <div>\n {{ cameraRecordingTime | formatTimer }}\n <ng-container\n *ngIf=\"cameraConfig?.others?.maxRecordingTimeInSeconds\"\n >\n /\n {{\n cameraConfig?.others?.maxRecordingTimeInSeconds\n | formatTimer\n }}\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </kwikid-camera>\n </div>\n</div>\n", styles: [".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;scroll-behavior:smooth}.kwikid-form.show>*:not(:last-child){margin-bottom:1rem}.kwikid-form-buttons{width:100%;bottom:0px;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.kwikid-form-buttons>*:not(:last-child){margin-right:1rem}.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;padding:1rem 1rem 0}#uf-form-fields-header-container>*:not(:last-child){margin-bottom:.5rem}#uf-form-fields-header-container #uf-header-logo{width:-moz-fit-content;width:fit-content;height:50px}#uf-form-fields-header-container #uf-form-fields-header-main{display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center;width:100%}#uf-form-fields-header-container #uf-form-fields-header-main>*:not(:last-child){margin-right:.25rem}#uf-form-fields-header-container #uf-form-fields-header-main #uf-form-fields-header-right{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start}#uf-form-fields-header-container #uf-form-fields-header-main #uf-form-fields-header-right>*{margin-bottom:.5rem}#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:1rem}.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}.title>*:not(:last-child){margin-right:.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;padding:1rem}.kwikid-form-container-loading>* :not(:last-child){margin-bottom:1rem}#field-error-notification,#permission-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top,#permission-error-notification .t-top{color:#fff!important}#field-error-notification .t-close,#permission-error-notification .t-close{color:#fff!important}.preview-container{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;align-content:center;height:calc(100vh - 3rem)}@media only screen and (min-width: 768px){.preview-container{height:calc(100vh - 10rem);width:calc(100vw - 10rem)}}.preview-container>*:not(:last-child){margin-bottom:1rem}.preview-container .preview-html{flex-grow:1}.preview-container .preview-iframe-content{height:100%;flex-grow:1}.preview-container .preview-iframe-content .preview-iframe{width:100%;height:100%}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}#kwikid-camera-container{width:100%;height:100%;position:fixed;top:50%;left:50%;background-color:#0000008f;transform:translate(-50%,-50%);z-index:100}#kwikid-camera-container #kwikid-camera-wrapper{width:min(80%);height:max(85%);box-shadow:#0000008f 0 22px 70px 4px;overflow:hidden;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:1rem;background-color:#000;transition:5s linear ease}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container{display:flex;width:100%;max-width:100%;padding:0}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-left{flex:1;text-align:left}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-center{flex:1;width:100%;min-width:max-content;text-align:center;margin:auto}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-right{flex:1;text-align:right;display:flex;justify-content:flex-end;grid-gap:1rem;gap:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container{display:flex;width:100%;max-width:100%;padding:0;color:#fff;flex-direction:column;justify-content:flex-start;align-items:stretch}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-left{flex:1;display:flex;justify-content:flex-start;grid-gap:1rem;gap:1rem;text-align:left}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-center{flex:1;width:100%;min-width:max-content;text-align:center;margin:auto}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-right{flex:1;text-align:right;display:flex;justify-content:flex-end;grid-gap:1rem;gap:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2{display:flex;flex-direction:row;justify-content:center;align-items:center}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;grid-gap:.25rem;gap:.25rem;padding:.35rem .6rem;width:-moz-fit-content;width:fit-content;border-radius:2rem;background-color:#f5f5f5}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.recording{color:red;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.paused{color:#525252;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.recorded{color:#000;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot{display:inline-block;width:.75rem;height:.75rem;border-radius:100%}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.recording{background-color:red;box-shadow:0 0 5px -1px red}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.paused{background-color:#525252;box-shadow:0 0 5px -1px #000}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.recorded{background-color:#000;box-shadow:0 0 5px -1px #000}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.blink{animation:blinker 1s cubic-bezier(.5,0,1,1) infinite alternate}@keyframes blinker{0%{opacity:1}to{opacity:0}}#kwikid-camera-container #kwikid-camera-wrapper.fullscreen{width:100%;height:100%;border-radius:0;transition:5s linear ease}@media only screen and (max-width: 600px){#kwikid-camera-container #kwikid-camera-wrapper{width:100%;height:100%;border-radius:0;transition:5s linear ease}#kwikid-camera-container #kwikid-camera-wrapper #kwikid-camera-header-enlarge-button{display:none}}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i3.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i3.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["id", "messages"] }, { type: i3.KwikUIInputComponent, selector: "kwikui-input", inputs: ["case", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "type", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputCurrencyComponent, selector: "kwikui-input-currency", inputs: ["currencyType", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators", "value"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputEmailComponent, selector: "kwikui-input-email", inputs: ["case", "disabled", "domains", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputPasswordComponent, selector: "kwikui-input-password", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUITextareaComponent, selector: "kwikui-textarea", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUICheckboxComponent, selector: "kwikui-checkbox", inputs: ["contentAlign", "disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators", "variant"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["decimal", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "min", "placeholder", "postfix", "precision", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "maxCalculatedFromToday", "min", "minCalculatedFromToday", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputTimeComponent, selector: "kwikui-input-time", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "items", "invalid", "label", "mode", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["countryCode", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "phoneMaskAfterCountryCode", "placeholder", "postfix", "prefix", "properties", "removeCountryCodeFromValue", "size", "validators"], outputs: ["getKeyValue"] }, { type: i5.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i3.KwikUIInputRadioComponent, selector: "kwikui-input-radio", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "items", "label", "orientation", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputSelectComponent, selector: "kwikui-input-select", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "options", "placeholder", "properties", "searchable", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputSliderComponent, selector: "kwikui-input-slider", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "min", "placeholder", "postfix", "prefix", "properties", "quantum", "size", "steps", "type", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["apiTimer", "apiStatus", "class", "disabled", "id", "label", "shape", "showLoader", "size", "styles"], outputs: ["onClick", "onApiTimerStop"] }, { type: i3.KwikUIButtonLiveLocationComponent, selector: "kwikui-button-live-location", inputs: ["liveLocationStatus", "class", "disabled", "id", "label", "shape", "showLoader", "size", "styles", "isShowLatLongCaptureTimestamp"], outputs: ["onClick", "onLocationPermission"] }, { type: i3.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "mode", "otpLength", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "placeholder", "properties", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUIImageComponent, selector: "kwikui-image", inputs: ["altText", "class", "html", "id", "imageSrc", "imageType", "loadingType", "styles"], outputs: ["onClick"] }, { type: i3.KwikUIInputFilesComponent, selector: "kwikui-input-files", inputs: ["accept", "class", "disabled", "files", "formControl", "formControlName", "icon", "id", "label", "link", "maxFileSize", "multiple", "setFileTypesToForm", "showAddedFiles", "size", "styles", "validators", "variant", "showViewButton"], outputs: ["getKeyValue", "getRemovedFile", "getViewButtonClick"] }, { type: i4.KwikUIInputCameraComponent, selector: "kwikui-input-camera", inputs: ["buttonText", "disabled", "focus", "formControl", "formControlName", "icon", "id", "invalid", "mediaFiles", "properties", "showMediaFiles", "size", "type", "validators"], outputs: ["onClick", "getRemovedFile"] }, { type: i3.KwikUIStarRatingComponent, selector: "kwikui-star-rating", inputs: ["color", "disabled", "focus", "formControl", "formControlName", "icon", "iconMarked", "id", "invalid", "label", "max", "min", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i6.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }, { type: i5.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i7.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i7.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i5.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i4.KwikIDCameraComponent, selector: "kwikid-camera", inputs: ["type", "config", "data", "image", "video"], outputs: ["getImage", "onClickSave", "getVideo"] }], directives: [{ type: i3$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i6.TuiPushDirective, selector: "tui-push" }, { type: i7.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], pipes: { "styleSanitizer": StyleSanitizerPipe, "kwikuiSafeHtml": i3.KwikUISafeHtmlPipe, "kwikuiSafeUrl": i3.KwikUISafeUrlPipe, "formatTimer": TimerPipe } });
|
|
6390
6564
|
__decorate([
|
|
6391
6565
|
logMethod
|
|
6392
6566
|
], KwikIDFormViewComponent.prototype, "resetCamera", null);
|
|
6393
6567
|
__decorate([
|
|
6394
6568
|
logMethod
|
|
6395
6569
|
], KwikIDFormViewComponent.prototype, "ngOnInit", null);
|
|
6396
|
-
__decorate([
|
|
6397
|
-
logMethod
|
|
6398
|
-
], KwikIDFormViewComponent.prototype, "ngAfterViewInit", null);
|
|
6399
6570
|
__decorate([
|
|
6400
6571
|
logMethod
|
|
6401
6572
|
], KwikIDFormViewComponent.prototype, "ngOnChanges", null);
|
|
@@ -6480,6 +6651,9 @@ __decorate([
|
|
|
6480
6651
|
__decorate([
|
|
6481
6652
|
logMethod
|
|
6482
6653
|
], KwikIDFormViewComponent.prototype, "handleGetKeyValue", null);
|
|
6654
|
+
__decorate([
|
|
6655
|
+
logMethod
|
|
6656
|
+
], KwikIDFormViewComponent.prototype, "handleOnClickResetFormFields2", null);
|
|
6483
6657
|
__decorate([
|
|
6484
6658
|
logMethod
|
|
6485
6659
|
], KwikIDFormViewComponent.prototype, "handleOnClickResetFormFields", null);
|
|
@@ -6510,6 +6684,9 @@ __decorate([
|
|
|
6510
6684
|
__decorate([
|
|
6511
6685
|
logMethod
|
|
6512
6686
|
], KwikIDFormViewComponent.prototype, "handleOnApiTimerStop", null);
|
|
6687
|
+
__decorate([
|
|
6688
|
+
logMethod
|
|
6689
|
+
], KwikIDFormViewComponent.prototype, "handleOnScrollToField", null);
|
|
6513
6690
|
__decorate([
|
|
6514
6691
|
logMethod
|
|
6515
6692
|
], KwikIDFormViewComponent.prototype, "toggleErrorNotification", null);
|
|
@@ -6543,6 +6720,9 @@ __decorate([
|
|
|
6543
6720
|
__decorate([
|
|
6544
6721
|
logMethod
|
|
6545
6722
|
], KwikIDFormViewComponent.prototype, "fieldReset", null);
|
|
6723
|
+
__decorate([
|
|
6724
|
+
logMethod
|
|
6725
|
+
], KwikIDFormViewComponent.prototype, "fieldGroupReset", null);
|
|
6546
6726
|
__decorate([
|
|
6547
6727
|
logMethod
|
|
6548
6728
|
], KwikIDFormViewComponent.prototype, "fieldHideApiLoader", null);
|
|
@@ -6677,7 +6857,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
6677
6857
|
}] }, { type: i5.TuiDialogService, decorators: [{
|
|
6678
6858
|
type: Inject,
|
|
6679
6859
|
args: [TuiDialogService]
|
|
6680
|
-
}] }, { type: i3.KwikUILoaderService }, { type: i4.KwikIDCameraRecordService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
6860
|
+
}] }, { type: i3.KwikUILoaderService }, { type: i4.KwikIDCameraRecordService }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { formFieldContainerRef: [{
|
|
6861
|
+
type: ViewChild,
|
|
6862
|
+
args: ["formFieldContainerRef"]
|
|
6863
|
+
}], formFieldsRef: [{
|
|
6864
|
+
type: ViewChildren,
|
|
6865
|
+
args: ["formFieldsRef"]
|
|
6866
|
+
}], dialog: [{
|
|
6681
6867
|
type: ViewChild,
|
|
6682
6868
|
args: ["dialog"]
|
|
6683
6869
|
}], preview: [{
|
|
@@ -6685,6 +6871,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
6685
6871
|
args: ["preview"]
|
|
6686
6872
|
}], allFormsData: [{
|
|
6687
6873
|
type: Input
|
|
6874
|
+
}], extraData: [{
|
|
6875
|
+
type: Input
|
|
6688
6876
|
}], apiCallResponse: [{
|
|
6689
6877
|
type: Input
|
|
6690
6878
|
}], buttonClickResponse: [{
|
|
@@ -6719,7 +6907,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
6719
6907
|
type: Output
|
|
6720
6908
|
}], onClickViewForms: [{
|
|
6721
6909
|
type: Output
|
|
6722
|
-
}], resetCamera: [], ngOnInit: [],
|
|
6910
|
+
}], resetCamera: [], ngOnInit: [], ngOnChanges: [], ngOnDestroy: [], triggerLogs: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleRemovedFile: [], handleViewButtonClick: [], handleGetKeyValueFile: [], handleOnClickGetRemovedMediaFile: [], handleOnClickInputCamera: [], setCameraMedia: [], handleGetCameraMedia: [], handleOnClickSaveCameraMedia: [], handleOnClickCameraBack: [], handleOnClickCameraClose: [], updateFiles: [], uploadFile: [], handleOnClickFormFieldButton: [], handleOnLocationPermission: [], handleOnClickLiveLocation: [], handleGetKeyValue: [], handleOnClickResetFormFields2: [], handleOnClickResetFormFields: [], handleFieldApiCall: [], handleApiCall: [], executeApiCall: [], isValidRequestHeadersAndBody: [], handleOnClickApiCall: [], handleOnClickGoBack: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], handleOnApiTimerStop: [], handleOnScrollToField: [], toggleErrorNotification: [], togglePermissionErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], fieldGroupReset: [], fieldHideApiLoader: [], fieldShowApiLoader: [], setHtml: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [], setValue: [], setFieldDefaultValue: [], setApiStatus: [], setApiHeaderValue: [], setApiHeaderValidity: [], setApiBodyValue: [], setApiBodyValidity: [], setFieldValidity: [], setDropdownOptions: [], apiCall: [], fieldApiCall: [], fieldMultipleApiCalls: [], fieldMultipleApiCallsEnd: [], taskApiCall: [], taskMultipleApiCalls: [], taskMultipleApiCallsEnd: [], dialogShow: [], dialogHide: [], redirectToUrl: [], patchFieldControlValue: [], setFieldControlValue: [], patchFormGroup: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], showPreview: [], showErrorPreview: [], showPopupForm: [], alertShow: [], takeActionOnFieldGroup: [], takeAction: [] } });
|
|
6723
6911
|
|
|
6724
6912
|
var EFormType;
|
|
6725
6913
|
(function (EFormType) {
|
|
@@ -7035,6 +7223,7 @@ class KwikIDFormsRendererComponent {
|
|
|
7035
7223
|
this.loaderService = loaderService;
|
|
7036
7224
|
this.dialogs = dialogs;
|
|
7037
7225
|
this.formsData = {};
|
|
7226
|
+
this.extraData = {};
|
|
7038
7227
|
this.activeFormData = {};
|
|
7039
7228
|
this.apiCallResponse = {};
|
|
7040
7229
|
this.buttonClickResponse = {};
|
|
@@ -7134,6 +7323,9 @@ class KwikIDFormsRendererComponent {
|
|
|
7134
7323
|
this.formsData = changes.formsData.currentValue;
|
|
7135
7324
|
this.initializeForms("ON_CHANGE");
|
|
7136
7325
|
}
|
|
7326
|
+
if (verifyChange("extraData")) {
|
|
7327
|
+
this.extraData = changes.extraData.currentValue;
|
|
7328
|
+
}
|
|
7137
7329
|
if (verifyChange("apiCallResponse")) {
|
|
7138
7330
|
this.apiCallResponse = changes.apiCallResponse.currentValue;
|
|
7139
7331
|
this.toggleLoader(false);
|
|
@@ -7399,14 +7591,16 @@ class KwikIDFormsRendererComponent {
|
|
|
7399
7591
|
const rulesMapping = new Rule(rules, {
|
|
7400
7592
|
USER_CONFIG: this.userConfig,
|
|
7401
7593
|
FORMS_LIST: this.formsList,
|
|
7402
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
7594
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
7595
|
+
EXTRA_DATA: this.extraData
|
|
7403
7596
|
}).mapping();
|
|
7404
7597
|
for (let action of actions) {
|
|
7405
7598
|
const conditionEvaluation = new Condition(action.condition, rulesMapping).evaluate();
|
|
7406
7599
|
if (conditionEvaluation) {
|
|
7407
7600
|
const actions = new Action(action, rulesMapping, {
|
|
7408
7601
|
FORMS_LIST: this.formsList,
|
|
7409
|
-
ALL_FORMS_DATA: this.allFormsData
|
|
7602
|
+
ALL_FORMS_DATA: this.allFormsData,
|
|
7603
|
+
EXTRA_DATA: this.extraData
|
|
7410
7604
|
}, this.takeAction.bind(this));
|
|
7411
7605
|
yield actions.execute();
|
|
7412
7606
|
}
|
|
@@ -7485,12 +7679,14 @@ class KwikIDFormsRendererComponent {
|
|
|
7485
7679
|
case EActionKey.SET_VALUE:
|
|
7486
7680
|
const sources = new Source({
|
|
7487
7681
|
USER_CONFIG: this.userConfig,
|
|
7488
|
-
ALL_FORMS_DATA: this.formsData
|
|
7682
|
+
ALL_FORMS_DATA: this.formsData,
|
|
7683
|
+
EXTRA_DATA: this.extraData
|
|
7489
7684
|
});
|
|
7490
7685
|
const sourceValue = yield sources.getValueFromSource(action.props.value.source);
|
|
7491
7686
|
sources.setValueToSource(action.props.value.destination, sourceValue);
|
|
7492
7687
|
this.userConfig = sources.object.USER_CONFIG;
|
|
7493
7688
|
this.formsData = sources.object.ALL_FORMS_DATA;
|
|
7689
|
+
this.extraData = sources.object.EXTRA_DATA;
|
|
7494
7690
|
break;
|
|
7495
7691
|
default:
|
|
7496
7692
|
break;
|
|
@@ -7588,7 +7784,7 @@ class KwikIDFormsRendererComponent {
|
|
|
7588
7784
|
formConfig = new Converter().updateFormConfigMiscellaneous(formConfig, {
|
|
7589
7785
|
formsListLength: this.findFormsListLength(this.formsList)
|
|
7590
7786
|
});
|
|
7591
|
-
this.activeFormConfig = mergeObjects(activeFormConfig, formConfig);
|
|
7787
|
+
this.activeFormConfig = mergeObjects({}, activeFormConfig, formConfig);
|
|
7592
7788
|
switch (triggerType) {
|
|
7593
7789
|
case "BUTTON_CLICK":
|
|
7594
7790
|
this.triggerLogs(ELogEventType.FORM__FORM_OPEN_BUTTON_CLICK, {
|
|
@@ -7870,7 +8066,7 @@ class KwikIDFormsRendererComponent {
|
|
|
7870
8066
|
}
|
|
7871
8067
|
}
|
|
7872
8068
|
/** @nocollapse */ KwikIDFormsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDFormsRendererComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: TuiPreviewDialogService }, { token: i3.KwikUILoaderService }, { token: TuiDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7873
|
-
/** @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", activeFormData: "activeFormData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall", onClickViewFile: "onClickViewFile", getLogs: "getLogs", onClickFormFieldButton: "onClickFormFieldButton" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], 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 [activeFormConfig]=\"this.activeFormConfig\"\n [userConfig]=\"this.userConfig\"\n [formsList]=\"this.formsList\"\n [stepConfig]=\"this.stepConfig\"\n [isUnsavedData]=\"this.isUnsavedData\"\n [formsListCompleted]=\"this.formsListCompleted\"\n [isMobileView]=\"this.isMobileView\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSetActiveForm)=\"\n this.handleOnClickSetActiveForm($event, 'BUTTON_CLICK')\n \"\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\n ></kwikid-forms-list>\n </div>\n <div\n ngClass=\"kwikid-forms-container\"\n *ngIf=\"\n this.showForm &&\n this.showFormFields &&\n this.activeFormConfig !== undefined\n \"\n [class.active]=\"showFormFields\"\n [class.mobile]=\"isMobileView\"\n [@panelInOut]\n >\n <kwikid-form-view\n *ngIf=\"this.activeFormConfig.type === 'FORM'\"\n [formConfig]=\"this.activeFormConfig\"\n [allFormsData]=\"this.allFormsData\"\n [isMobileView]=\"this.isMobileView\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [popupFormCallback]=\"this.popupFormCallback\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getUnsavedDataState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickViewFile)=\"handleOnClickViewFile($event)\"\n (onActionShowPopupForm)=\"\n this.handleOnActionShowPopupForm($event, content)\n \"\n (onClickGoBack)=\"this.handleOnClickGoBack($event)\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\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=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n *ngIf=\"popupFormConfig\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n<ng-template\n #content\n let-context\n>\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', context)\n \"\n ></kwikid-form-view>\n </div>\n</ng-template>\n", styles: [":host{position:relative;height:100%}.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-active);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-secondary)}.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:min(50%,600px);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}}#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}.preview-container{display:flex!important;flex-grow:1!important;flex-direction:column!important;align-content:center!important;justify-content:space-between!important;align-items:stretch!important}.preview-container .preview-iframe{width:100vw;height:100vh}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}.kwikid-form-view-popup-container{border-radius:1rem;background:var(--tui-base-01)}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["showFormFields", "userConfig", "stepConfig", "activeFormConfig", "formsList", "formsListCompleted", "isMobileView", "isUnsavedData"], outputs: ["getLogs", "onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["allFormsData", "apiCallResponse", "buttonClickResponse", "formConfig", "formData", "isMobileView", "popupFormCallback", "userConfig", "stepConfig"], outputs: ["getLogs", "getUnsavedDataState", "onActionShowPopupForm", "onClickApiCall", "onClickViewFile", "onClickFormFieldButton", "onClickGoBack", "onClickSaveForm", "onClickViewForms"] }, { type: i3.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i6.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }, { type: i5.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i7.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i7.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i5.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i3$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i6.TuiPushDirective, selector: "tui-push" }, { type: i7.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], animations: [
|
|
8069
|
+
/** @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", extraData: "extraData", activeFormData: "activeFormData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall", onClickViewFile: "onClickViewFile", getLogs: "getLogs", onClickFormFieldButton: "onClickFormFieldButton" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], 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 [activeFormConfig]=\"this.activeFormConfig\"\n [userConfig]=\"this.userConfig\"\n [formsList]=\"this.formsList\"\n [stepConfig]=\"this.stepConfig\"\n [isUnsavedData]=\"this.isUnsavedData\"\n [formsListCompleted]=\"this.formsListCompleted\"\n [isMobileView]=\"this.isMobileView\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSetActiveForm)=\"\n this.handleOnClickSetActiveForm($event, 'BUTTON_CLICK')\n \"\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\n ></kwikid-forms-list>\n </div>\n <div\n ngClass=\"kwikid-forms-container\"\n *ngIf=\"\n this.showForm &&\n this.showFormFields &&\n this.activeFormConfig !== undefined\n \"\n [class.active]=\"showFormFields\"\n [class.mobile]=\"isMobileView\"\n [@panelInOut]\n >\n <kwikid-form-view\n *ngIf=\"this.activeFormConfig.type === 'FORM'\"\n [formConfig]=\"this.activeFormConfig\"\n [allFormsData]=\"this.allFormsData\"\n [extraData]=\"extraData\"\n [isMobileView]=\"this.isMobileView\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [popupFormCallback]=\"this.popupFormCallback\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getUnsavedDataState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickViewFile)=\"handleOnClickViewFile($event)\"\n (onActionShowPopupForm)=\"\n this.handleOnActionShowPopupForm($event, content)\n \"\n (onClickGoBack)=\"this.handleOnClickGoBack($event)\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\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=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n *ngIf=\"popupFormConfig\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [extraData]=\"extraData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n<ng-template\n #content\n let-context\n>\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [extraData]=\"extraData\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', context)\n \"\n ></kwikid-form-view>\n </div>\n</ng-template>\n", styles: [":host{position:relative;height:100%}.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-active);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-secondary)}.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:min(50%,600px);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}}#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}.preview-container{display:flex!important;flex-grow:1!important;flex-direction:column!important;align-content:center!important;justify-content:space-between!important;align-items:stretch!important}.preview-container .preview-iframe{width:100vw;height:100vh}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}.kwikid-form-view-popup-container{border-radius:1rem;background:var(--tui-base-01)}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["showFormFields", "userConfig", "stepConfig", "activeFormConfig", "formsList", "formsListCompleted", "isMobileView", "isUnsavedData"], outputs: ["getLogs", "onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["allFormsData", "extraData", "apiCallResponse", "buttonClickResponse", "formConfig", "formData", "isMobileView", "popupFormCallback", "userConfig", "stepConfig"], outputs: ["getLogs", "getUnsavedDataState", "onActionShowPopupForm", "onClickApiCall", "onClickViewFile", "onClickFormFieldButton", "onClickGoBack", "onClickSaveForm", "onClickViewForms"] }, { type: i3.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i6.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }, { type: i5.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i7.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i7.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i5.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i3$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i6.TuiPushDirective, selector: "tui-push" }, { type: i7.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], animations: [
|
|
7874
8070
|
trigger("panelInOut", [
|
|
7875
8071
|
transition(":enter", [
|
|
7876
8072
|
style({ transform: "translateY(100%)" }),
|
|
@@ -7989,6 +8185,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
7989
8185
|
type: Input
|
|
7990
8186
|
}], formsData: [{
|
|
7991
8187
|
type: Input
|
|
8188
|
+
}], extraData: [{
|
|
8189
|
+
type: Input
|
|
7992
8190
|
}], activeFormData: [{
|
|
7993
8191
|
type: Input
|
|
7994
8192
|
}], apiCallResponse: [{
|