kwikid-forms 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/bundles/kwikid-forms.umd.js +425 -281
  2. package/bundles/kwikid-forms.umd.js.map +1 -1
  3. package/esm2015/lib/renderer/form-view/definitions/actions/form-view.actions.enum.definitions.js +2 -1
  4. package/esm2015/lib/renderer/form-view/definitions/fields/form-view.fields.enum.definitions.js +2 -1
  5. package/esm2015/lib/renderer/form-view/definitions/fields/form-view.fields.type.definitions.js +1 -1
  6. package/esm2015/lib/renderer/form-view/form-view.component.js +109 -114
  7. package/esm2015/lib/renderer/form-view/form-view.module.js +4 -3
  8. package/esm2015/lib/renderer/form-view/form-view.service.js +4 -4
  9. package/esm2015/lib/renderer/form-view/helpers/form-view.apis.helper.js +11 -2
  10. package/esm2015/lib/renderer/form-view/helpers/form-view.defaults.helper.js +33 -2
  11. package/esm2015/lib/renderer/form-view/helpers/form-view.fields.helper.js +5 -5
  12. package/esm2015/lib/renderer/form-view/helpers/form-view.validations.helper.js +11 -2
  13. package/esm2015/lib/renderer/form-view/pipes/safe-html.pipe.js +25 -0
  14. package/esm2015/lib/renderer/renderer.config-converter.helper.js +109 -54
  15. package/fesm2015/kwikid-forms.js +300 -178
  16. package/fesm2015/kwikid-forms.js.map +1 -1
  17. package/lib/renderer/form-view/definitions/actions/form-view.actions.enum.definitions.d.ts +2 -1
  18. package/lib/renderer/form-view/definitions/fields/form-view.fields.enum.definitions.d.ts +1 -0
  19. package/lib/renderer/form-view/definitions/fields/form-view.fields.type.definitions.d.ts +10 -2
  20. package/lib/renderer/form-view/form-view.component.d.ts +2 -2
  21. package/lib/renderer/form-view/form-view.module.d.ts +7 -6
  22. package/lib/renderer/form-view/helpers/form-view.apis.helper.d.ts +2 -1
  23. package/lib/renderer/form-view/helpers/form-view.defaults.helper.d.ts +3 -1
  24. package/lib/renderer/form-view/helpers/form-view.validations.helper.d.ts +4 -1
  25. package/lib/renderer/form-view/pipes/safe-html.pipe.d.ts +15 -0
  26. package/package.json +3 -3
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/drag-drop'), require('@angular/core'), require('@angular/forms'), require('kwikui'), require('lodash'), require('@taiga-ui/core'), require('@taiga-ui/kit'), require('kwikid-toolkit'), require('rxjs/operators'), require('jsonpath'), require('@taiga-ui/cdk'), require('@angular/common'), require('@angular/animations'), require('@angular/common/http')) :
3
- typeof define === 'function' && define.amd ? define('kwikid-forms', ['exports', '@angular/cdk/drag-drop', '@angular/core', '@angular/forms', 'kwikui', 'lodash', '@taiga-ui/core', '@taiga-ui/kit', 'kwikid-toolkit', 'rxjs/operators', 'jsonpath', '@taiga-ui/cdk', '@angular/common', '@angular/animations', '@angular/common/http'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["kwikid-forms"] = {}, global.ng.cdk.dragDrop, global.ng.core, global.ng.forms, global.kwikui, global.lodash, global["@taiga-ui/core"], global["@taiga-ui/kit"], global["kwikid-toolkit"], global.rxjs.operators, global.jsonpath, global["@taiga-ui/cdk"], global.ng.common, global.ng.animations, global.ng.common.http));
5
- })(this, (function (exports, dragDrop, i0, i6, i2, _, i3, i4, kwikidToolkit, operators, jp, cdk, i5, animations, http) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/drag-drop'), require('@angular/core'), require('@angular/forms'), require('kwikui'), require('lodash'), require('@taiga-ui/core'), require('@taiga-ui/kit'), require('kwikid-toolkit'), require('rxjs/operators'), require('jsonpath'), require('@taiga-ui/cdk'), require('@angular/common'), require('@angular/platform-browser'), require('@angular/animations'), require('@angular/common/http')) :
3
+ typeof define === 'function' && define.amd ? define('kwikid-forms', ['exports', '@angular/cdk/drag-drop', '@angular/core', '@angular/forms', 'kwikui', 'lodash', '@taiga-ui/core', '@taiga-ui/kit', 'kwikid-toolkit', 'rxjs/operators', 'jsonpath', '@taiga-ui/cdk', '@angular/common', '@angular/platform-browser', '@angular/animations', '@angular/common/http'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["kwikid-forms"] = {}, global.ng.cdk.dragDrop, global.ng.core, global.ng.forms, global.kwikui, global.lodash, global["@taiga-ui/core"], global["@taiga-ui/kit"], global["kwikid-toolkit"], global.rxjs.operators, global.jsonpath, global["@taiga-ui/cdk"], global.ng.common, global.ng.platformBrowser, global.ng.animations, global.ng.common.http));
5
+ })(this, (function (exports, dragDrop, i0, i6, i2, _, i3, i4, kwikidToolkit, operators, jp, cdk, i5, i1, animations, http) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -32,6 +32,7 @@
32
32
  var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
33
33
  var jp__default = /*#__PURE__*/_interopDefaultLegacy(jp);
34
34
  var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
35
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
35
36
 
36
37
  /******************************************************************************
37
38
  Copyright (c) Microsoft Corporation.
@@ -591,6 +592,7 @@
591
592
  EActionKey["FIELD_GROUP_HIDE"] = "FIELD_GROUP_HIDE";
592
593
  EActionKey["FIELD_GROUP_ENABLE"] = "FIELD_GROUP_ENABLE";
593
594
  EActionKey["FIELD_GROUP_DISABLE"] = "FIELD_GROUP_DISABLE";
595
+ EActionKey["SET_DROPDOWN_OPTIONS"] = "SET_DROPDOWN_OPTIONS";
594
596
  })(EActionKey || (EActionKey = {}));
595
597
 
596
598
  var EApiStatusType;
@@ -704,6 +706,7 @@
704
706
 
705
707
  var EFieldType;
706
708
  (function (EFieldType) {
709
+ EFieldType["HTML"] = "html";
707
710
  EFieldType["TITLE"] = "title";
708
711
  EFieldType["TEXT"] = "text";
709
712
  EFieldType["CHECKBOX"] = "checkbox";
@@ -899,8 +902,9 @@
899
902
  };
900
903
 
901
904
  var Defaults = /** @class */ (function () {
902
- function Defaults(field, allFormsData, formData, previousFormData, takeAction) {
905
+ function Defaults(field, formFields, allFormsData, formData, previousFormData, takeAction) {
903
906
  this._field = field;
907
+ this._formFields = formFields;
904
908
  this._allFormsData = allFormsData;
905
909
  this._formData = formData;
906
910
  this._previousFormData = previousFormData;
@@ -925,6 +929,7 @@
925
929
  source = sources_1_1.value;
926
930
  sources_2 = new kwikidToolkit.Sources({
927
931
  FIELD_CONFIG: this._field,
932
+ FORM_FIELDS: this._formFields,
928
933
  FORM_DATA: this._formData,
929
934
  PREVIOUS_FORM_DATA: this._previousFormData,
930
935
  ALL_FORMS_DATA: this._allFormsData
@@ -938,6 +943,7 @@
938
943
  actions = validation.actions;
939
944
  rulesMapping = new kwikidToolkit.Rules(rules, {
940
945
  FIELD_CONFIG: this._field,
946
+ FORM_FIELDS: this._formFields,
941
947
  FORM_DATA: this._formData,
942
948
  PREVIOUS_FORM_DATA: this._previousFormData,
943
949
  ALL_FORMS_DATA: this._allFormsData
@@ -954,6 +960,7 @@
954
960
  if (!conditionEvaluation) return [3 /*break*/, 6];
955
961
  actions_2 = new kwikidToolkit.Actions(action, rulesMapping, {
956
962
  FIELD_CONFIG: this._field,
963
+ FORM_FIELDS: this._formFields,
957
964
  FORM_DATA: this._formData,
958
965
  PREVIOUS_FORM_DATA: this._previousFormData,
959
966
  ALL_FORMS_DATA: this._allFormsData
@@ -1003,6 +1010,63 @@
1003
1010
  });
1004
1011
  });
1005
1012
  };
1013
+ Defaults.prototype.getDefaultDropdownOptions = function () {
1014
+ return __awaiter(this, void 0, void 0, function () {
1015
+ var optionsConfig, rules, actions, rulesMapping, actions_3, actions_3_1, action, conditionEvaluation, actions_4, e_3_1;
1016
+ var e_3, _a;
1017
+ return __generator(this, function (_b) {
1018
+ switch (_b.label) {
1019
+ case 0:
1020
+ optionsConfig = this._field.default.options;
1021
+ rules = optionsConfig.rules;
1022
+ actions = optionsConfig.actions;
1023
+ rulesMapping = new kwikidToolkit.Rules(rules, {
1024
+ FIELD_CONFIG: this._field,
1025
+ FORM_FIELDS: this._formFields,
1026
+ FORM_DATA: this._formData,
1027
+ PREVIOUS_FORM_DATA: this._previousFormData,
1028
+ ALL_FORMS_DATA: this._allFormsData
1029
+ }).mapping();
1030
+ _b.label = 1;
1031
+ case 1:
1032
+ _b.trys.push([1, 6, 7, 8]);
1033
+ actions_3 = __values(actions), actions_3_1 = actions_3.next();
1034
+ _b.label = 2;
1035
+ case 2:
1036
+ if (!!actions_3_1.done) return [3 /*break*/, 5];
1037
+ action = actions_3_1.value;
1038
+ conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1039
+ if (!conditionEvaluation) return [3 /*break*/, 4];
1040
+ actions_4 = new kwikidToolkit.Actions(action, rulesMapping, {
1041
+ FIELD_CONFIG: this._field,
1042
+ FORM_FIELDS: this._formFields,
1043
+ FORM_DATA: this._formData,
1044
+ PREVIOUS_FORM_DATA: this._previousFormData,
1045
+ ALL_FORMS_DATA: this._allFormsData
1046
+ }, this._takeAction);
1047
+ return [4 /*yield*/, actions_4.execute()];
1048
+ case 3:
1049
+ _b.sent();
1050
+ _b.label = 4;
1051
+ case 4:
1052
+ actions_3_1 = actions_3.next();
1053
+ return [3 /*break*/, 2];
1054
+ case 5: return [3 /*break*/, 8];
1055
+ case 6:
1056
+ e_3_1 = _b.sent();
1057
+ e_3 = { error: e_3_1 };
1058
+ return [3 /*break*/, 8];
1059
+ case 7:
1060
+ try {
1061
+ if (actions_3_1 && !actions_3_1.done && (_a = actions_3.return)) _a.call(actions_3);
1062
+ }
1063
+ finally { if (e_3) throw e_3.error; }
1064
+ return [7 /*endfinally*/];
1065
+ case 8: return [2 /*return*/];
1066
+ }
1067
+ });
1068
+ });
1069
+ };
1006
1070
  return Defaults;
1007
1071
  }());
1008
1072
  __decorate([
@@ -1199,10 +1263,10 @@
1199
1263
  switch (field.type) {
1200
1264
  case EFieldType.RADIO:
1201
1265
  if (!kwikidToolkit.checkObjectKeyExists(value, "label")) {
1202
- var convertedLabelValue = {
1203
- label: value,
1204
- disabled: false
1205
- };
1266
+ var radioField = field;
1267
+ var convertedLabelValue = radioField.options.find(function (item) {
1268
+ return item.label === value;
1269
+ });
1206
1270
  convertedValue = convertedLabelValue;
1207
1271
  }
1208
1272
  break;
@@ -1219,8 +1283,9 @@
1219
1283
  };
1220
1284
 
1221
1285
  var Validations = /** @class */ (function () {
1222
- function Validations(field, formData, previousFormData, allFormsData, takeAction) {
1286
+ function Validations(field, formFields, formData, previousFormData, allFormsData, takeAction) {
1223
1287
  this._field = field;
1288
+ this._formFields = formFields;
1224
1289
  this._formData = formData;
1225
1290
  this._previousFormData = previousFormData;
1226
1291
  this._allFormsData = allFormsData;
@@ -1266,6 +1331,16 @@
1266
1331
  enumerable: false,
1267
1332
  configurable: true
1268
1333
  });
1334
+ Object.defineProperty(Validations.prototype, "formFields", {
1335
+ get: function () {
1336
+ return this._formFields;
1337
+ },
1338
+ set: function (value) {
1339
+ this._formFields = value;
1340
+ },
1341
+ enumerable: false,
1342
+ configurable: true
1343
+ });
1269
1344
  Validations.prototype.getFieldValidators = function (field) {
1270
1345
  var validators = [];
1271
1346
  if (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
@@ -1367,6 +1442,7 @@
1367
1442
  actions = validations.actions;
1368
1443
  rulesMapping = new kwikidToolkit.Rules(rules, {
1369
1444
  FIELD_CONFIG: this._field,
1445
+ FORM_FIELDS: this._formFields,
1370
1446
  FORM_DATA: this._formData,
1371
1447
  PREVIOUS_FORM_DATA: this._previousFormData,
1372
1448
  ALL_FORMS_DATA: this._allFormsData
@@ -1383,6 +1459,7 @@
1383
1459
  if (!conditionEvaluation) return [3 /*break*/, 4];
1384
1460
  actions_2 = new kwikidToolkit.Actions(action, rulesMapping, {
1385
1461
  FIELD_CONFIG: this._field,
1462
+ FORM_FIELDS: this._formFields,
1386
1463
  FORM_DATA: this._formData,
1387
1464
  PREVIOUS_FORM_DATA: this._previousFormData,
1388
1465
  ALL_FORMS_DATA: this._allFormsData
@@ -1445,13 +1522,13 @@
1445
1522
  case 2:
1446
1523
  if (!!fields_1_1.done) return [3 /*break*/, 5];
1447
1524
  field = fields_1_1.value;
1448
- if (!(field.type !== "title")) return [3 /*break*/, 4];
1449
- defaults = new Defaults(field, allFormsData, formData, previousFormData, takeAction);
1525
+ if (!field.isFormElement) return [3 /*break*/, 4];
1526
+ defaults = new Defaults(field, fields, allFormsData, formData, previousFormData, takeAction);
1450
1527
  return [4 /*yield*/, defaults.getDefaultValue()];
1451
1528
  case 3:
1452
1529
  value = _b.sent();
1453
1530
  value = convertValueFromBasicFormatToKwikUIFormat(field, value);
1454
- validators = new Validations(field, formData, previousFormData, allFormsData, takeAction).getFieldValidators(field);
1531
+ validators = new Validations(field, fields, formData, previousFormData, allFormsData, takeAction).getFieldValidators(field);
1455
1532
  formGroup.addControl(field.key, new i6.FormControl({ value: value, disabled: field.disabled }, { validators: validators }));
1456
1533
  _b.label = 4;
1457
1534
  case 4:
@@ -1480,8 +1557,9 @@
1480
1557
  ], KwikIDFormViewService.prototype, "createFormGroup", null);
1481
1558
 
1482
1559
  var Apis = /** @class */ (function () {
1483
- function Apis(field, formData, previousFormData, allFormsData, takeAction) {
1560
+ function Apis(field, formFields, formData, previousFormData, allFormsData, takeAction) {
1484
1561
  this._field = field;
1562
+ this._formFields = formFields;
1485
1563
  this._formData = formData;
1486
1564
  this._previousFormData = previousFormData;
1487
1565
  this._allFormsData = allFormsData;
@@ -1521,6 +1599,7 @@
1521
1599
  source = sources_1_1.value;
1522
1600
  sources_2 = new kwikidToolkit.Sources({
1523
1601
  FIELD_CONFIG: this._field,
1602
+ FORM_FIELDS: this._formFields,
1524
1603
  FORM_DATA: this._formData,
1525
1604
  PREVIOUS_FORM_DATA: this._previousFormData,
1526
1605
  ALL_FORMS_DATA: this._allFormsData
@@ -1534,6 +1613,7 @@
1534
1613
  actions = (_d = (_c = validation) === null || _c === void 0 ? void 0 : _c.actions) !== null && _d !== void 0 ? _d : [];
1535
1614
  rulesMapping = new kwikidToolkit.Rules(rules, {
1536
1615
  FIELD_CONFIG: this._field,
1616
+ FORM_FIELDS: this._formFields,
1537
1617
  FORM_DATA: this._formData,
1538
1618
  PREVIOUS_FORM_DATA: this._previousFormData,
1539
1619
  ALL_FORMS_DATA: this._allFormsData
@@ -1550,6 +1630,7 @@
1550
1630
  if (!conditionEvaluation) return [3 /*break*/, 8];
1551
1631
  actions_2 = new kwikidToolkit.Actions(action, rulesMapping, {
1552
1632
  FIELD_CONFIG: this._field,
1633
+ FORM_FIELDS: this._formFields,
1553
1634
  FORM_DATA: this._formData,
1554
1635
  PREVIOUS_FORM_DATA: this._previousFormData,
1555
1636
  ALL_FORMS_DATA: this._allFormsData
@@ -1626,6 +1707,7 @@
1626
1707
  actions = (_a = validation) === null || _a === void 0 ? void 0 : _a.actions;
1627
1708
  rulesMapping = new kwikidToolkit.Rules(rules, {
1628
1709
  FIELD_CONFIG: this._field,
1710
+ FORM_FIELDS: this._formFields,
1629
1711
  FORM_DATA: this._formData,
1630
1712
  PREVIOUS_FORM_DATA: this._previousFormData,
1631
1713
  ALL_FORMS_DATA: this._allFormsData
@@ -1642,6 +1724,7 @@
1642
1724
  if (!conditionSuccess) return [3 /*break*/, 4];
1643
1725
  actions_4 = new kwikidToolkit.Actions(action, rulesMapping, {
1644
1726
  FIELD_CONFIG: this._field,
1727
+ FORM_FIELDS: this._formFields,
1645
1728
  FORM_DATA: this._formData,
1646
1729
  PREVIOUS_FORM_DATA: this._previousFormData,
1647
1730
  ALL_FORMS_DATA: this._allFormsData
@@ -1682,6 +1765,7 @@
1682
1765
  actions = validation.actions;
1683
1766
  rulesMapping = new kwikidToolkit.Rules(rules, {
1684
1767
  FIELD_CONFIG: this._field,
1768
+ FORM_FIELDS: this._formFields,
1685
1769
  FORM_DATA: this._formData,
1686
1770
  PREVIOUS_FORM_DATA: this._previousFormData,
1687
1771
  ALL_FORMS_DATA: this._allFormsData
@@ -1698,6 +1782,7 @@
1698
1782
  if (!conditionSuccess) return [3 /*break*/, 4];
1699
1783
  actions_6 = new kwikidToolkit.Actions(action, rulesMapping, {
1700
1784
  FIELD_CONFIG: this._field,
1785
+ FORM_FIELDS: this._formFields,
1701
1786
  FORM_DATA: this._formData,
1702
1787
  PREVIOUS_FORM_DATA: this._previousFormData,
1703
1788
  ALL_FORMS_DATA: this._allFormsData
@@ -1728,6 +1813,7 @@
1728
1813
  Apis.prototype.getPropsValues = function () {
1729
1814
  return {
1730
1815
  field: this._field,
1816
+ formFields: this._formFields,
1731
1817
  formData: this._formData,
1732
1818
  previousFormData: this._previousFormData,
1733
1819
  allFormsData: this._allFormsData
@@ -1745,6 +1831,29 @@
1745
1831
  kwikidToolkit.logMethod
1746
1832
  ], Apis.prototype, "validateApiCallResponse", null);
1747
1833
 
1834
+ /**
1835
+ * Generated class for the SafeHtmlPipe pipe.
1836
+ *
1837
+ * See https://angular.io/api/core/Pipe for more info on Angular Pipes.
1838
+ */
1839
+ var SafeHtmlPipe = /** @class */ (function () {
1840
+ function SafeHtmlPipe(sanitizer) {
1841
+ this.sanitizer = sanitizer;
1842
+ }
1843
+ SafeHtmlPipe.prototype.transform = function (html) {
1844
+ return this.sanitizer.bypassSecurityTrustHtml(html);
1845
+ };
1846
+ return SafeHtmlPipe;
1847
+ }());
1848
+ /** @nocollapse */ SafeHtmlPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, deps: [{ token: i1__namespace.DomSanitizer }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
1849
+ /** @nocollapse */ SafeHtmlPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, name: "safeHtml" });
1850
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, decorators: [{
1851
+ type: i0.Pipe,
1852
+ args: [{
1853
+ name: "safeHtml"
1854
+ }]
1855
+ }], ctorParameters: function () { return [{ type: i1__namespace.DomSanitizer }]; } });
1856
+
1748
1857
  var KwikIDFormViewComponent = /** @class */ (function () {
1749
1858
  function KwikIDFormViewComponent(push, alert, formViewService) {
1750
1859
  this.push = push;
@@ -1802,7 +1911,7 @@
1802
1911
  _b[this.apiCallResponse.key] = this.apiCallResponse.response,
1803
1912
  _b), { emitEvent: false });
1804
1913
  var field_1 = findFieldFromKey(this.formFields, this.apiCallResponse.key);
1805
- var apis_1 = new Apis(field_1, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
1914
+ var apis_1 = new Apis(field_1, this.formFields, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
1806
1915
  (function () { return __awaiter(_this, void 0, void 0, function () {
1807
1916
  return __generator(this, function (_a) {
1808
1917
  switch (_a.label) {
@@ -1839,8 +1948,8 @@
1839
1948
  };
1840
1949
  KwikIDFormViewComponent.prototype.initFormConfig = function (formConfig) {
1841
1950
  return __awaiter(this, void 0, void 0, function () {
1842
- var _a, _loop_1, this_1, _b, _c, field, _loop_2, _d, _e, field;
1843
- var e_1, _f, e_2, _g;
1951
+ var _a, _loop_1, this_1, _b, _c, field, _loop_2, this_2, _d, _e, field, e_1_1;
1952
+ var e_2, _f, e_1, _g;
1844
1953
  var _this = this;
1845
1954
  return __generator(this, function (_h) {
1846
1955
  switch (_h.label) {
@@ -1854,7 +1963,7 @@
1854
1963
  _a.formGroup = _h.sent();
1855
1964
  _loop_1 = function (field) {
1856
1965
  var _j;
1857
- if (field.type !== "title") {
1966
+ if (field.isFormElement) {
1858
1967
  this_1.previousFormData = Object.assign(Object.assign({}, this_1.previousFormData), (_j = {}, _j[field.key] = this_1.formGroup.controls[field.key].value, _j));
1859
1968
  this_1.formGroup.controls[field.key].valueChanges
1860
1969
  .pipe(operators.pairwise())
@@ -1873,44 +1982,80 @@
1873
1982
  _loop_1(field);
1874
1983
  }
1875
1984
  }
1876
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
1985
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
1877
1986
  finally {
1878
1987
  try {
1879
1988
  if (_c && !_c.done && (_f = _b.return)) _f.call(_b);
1880
1989
  }
1881
- finally { if (e_1) throw e_1.error; }
1990
+ finally { if (e_2) throw e_2.error; }
1882
1991
  }
1883
1992
  _loop_2 = function (field) {
1884
- if (field.type !== "title") {
1885
- (function () { return __awaiter(_this, void 0, void 0, function () {
1886
- return __generator(this, function (_a) {
1887
- switch (_a.label) {
1888
- case 0: return [4 /*yield*/, this.handleConnectedElements({
1993
+ var validations_1, defaults;
1994
+ return __generator(this, function (_k) {
1995
+ switch (_k.label) {
1996
+ case 0:
1997
+ if (!field.isFormElement) return [3 /*break*/, 2];
1998
+ if (field.validation.triggers.includes("ON_INIT")) {
1999
+ validations_1 = new Validations(field, this_2.formFields, this_2.formData, this_2.previousFormData, this_2.allFormsData, this_2.takeAction.bind(this_2));
2000
+ (function () { return __awaiter(_this, void 0, void 0, function () {
2001
+ return __generator(this, function (_a) {
2002
+ switch (_a.label) {
2003
+ case 0: return [4 /*yield*/, validations_1.validateField()];
2004
+ case 1:
2005
+ _a.sent();
2006
+ return [2 /*return*/];
2007
+ }
2008
+ });
2009
+ }); })();
2010
+ }
2011
+ if (kwikidToolkit.checkObjectKeyExists(field, "connectedElements")) {
2012
+ if (kwikidToolkit.checkObjectKeyExists(field.connectedElements, "connectedFields")) {
2013
+ this_2.handleConnectedElements({
1889
2014
  key: field.key,
1890
- value: this.formGroup.controls[field.key].value
1891
- }, "ON_INIT")];
1892
- case 1:
1893
- field = _a.sent();
1894
- return [2 /*return*/];
2015
+ value: this_2.formGroup.controls[field.key].value
2016
+ }, "ON_INIT");
2017
+ }
1895
2018
  }
1896
- });
1897
- }); })();
1898
- }
2019
+ if (!kwikidToolkit.checkObjectKeyExists(field, "default")) return [3 /*break*/, 2];
2020
+ if (!kwikidToolkit.checkObjectKeyExists(field.default, "options")) return [3 /*break*/, 2];
2021
+ if (!field.default.options.triggers.includes("ON_INIT")) return [3 /*break*/, 2];
2022
+ defaults = new Defaults(field, this_2.formFields, this_2.allFormsData, this_2.formData, this_2.previousFormData, this_2.takeAction);
2023
+ return [4 /*yield*/, defaults.getDefaultDropdownOptions()];
2024
+ case 1:
2025
+ _k.sent();
2026
+ _k.label = 2;
2027
+ case 2: return [2 /*return*/];
2028
+ }
2029
+ });
1899
2030
  };
2031
+ this_2 = this;
2032
+ _h.label = 2;
2033
+ case 2:
2034
+ _h.trys.push([2, 7, 8, 9]);
2035
+ _d = __values(this.formFields), _e = _d.next();
2036
+ _h.label = 3;
2037
+ case 3:
2038
+ if (!!_e.done) return [3 /*break*/, 6];
2039
+ field = _e.value;
2040
+ return [5 /*yield**/, _loop_2(field)];
2041
+ case 4:
2042
+ _h.sent();
2043
+ _h.label = 5;
2044
+ case 5:
2045
+ _e = _d.next();
2046
+ return [3 /*break*/, 3];
2047
+ case 6: return [3 /*break*/, 9];
2048
+ case 7:
2049
+ e_1_1 = _h.sent();
2050
+ e_1 = { error: e_1_1 };
2051
+ return [3 /*break*/, 9];
2052
+ case 8:
1900
2053
  try {
1901
- for (_d = __values(this.formFields), _e = _d.next(); !_e.done; _e = _d.next()) {
1902
- field = _e.value;
1903
- _loop_2(field);
1904
- }
2054
+ if (_e && !_e.done && (_g = _d.return)) _g.call(_d);
1905
2055
  }
1906
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
1907
- finally {
1908
- try {
1909
- if (_e && !_e.done && (_g = _d.return)) _g.call(_d);
1910
- }
1911
- finally { if (e_2) throw e_2.error; }
1912
- }
1913
- return [2 /*return*/];
2056
+ finally { if (e_1) throw e_1.error; }
2057
+ return [7 /*endfinally*/];
2058
+ case 9: return [2 /*return*/];
1914
2059
  }
1915
2060
  });
1916
2061
  });
@@ -1961,6 +2106,7 @@
1961
2106
  if (!conditionSuccess) return [3 /*break*/, 4];
1962
2107
  actions = new kwikidToolkit.Actions(action, rulesMapping, {
1963
2108
  FIELD_CONFIG: parentField,
2109
+ FORM_FIELDS: this.formFields,
1964
2110
  FORM_DATA: this.formData,
1965
2111
  PREVIOUS_FORM_DATA: this.previousFormData,
1966
2112
  ALL_FORMS_DATA: this.allFormsData
@@ -1990,48 +2136,16 @@
1990
2136
  };
1991
2137
  KwikIDFormViewComponent.prototype.handleConnectedElementFieldGroup = function (currentField, connectedFieldGroupConfig, eventType) {
1992
2138
  return __awaiter(this, void 0, void 0, function () {
1993
- var _a;
1994
- return __generator(this, function (_b) {
1995
- switch (_b.label) {
2139
+ return __generator(this, function (_a) {
2140
+ switch (_a.label) {
1996
2141
  case 0:
1997
- _a = eventType;
1998
- switch (_a) {
1999
- case "INIT": return [3 /*break*/, 1];
2000
- case "VALUE_CHANGE": return [3 /*break*/, 4];
2001
- case "NESTED_LINK": return [3 /*break*/, 7];
2002
- }
2003
- return [3 /*break*/, 9];
2004
- case 1:
2005
- if (!(kwikidToolkit.checkObjectKeyExists(connectedFieldGroupConfig, "triggers") &&
2006
- connectedFieldGroupConfig.triggers.includes("INIT"))) return [3 /*break*/, 3];
2007
- return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2008
- case 2:
2009
- _b.sent();
2010
- _b.label = 3;
2011
- case 3: return [3 /*break*/, 12];
2012
- case 4:
2013
- if (!(kwikidToolkit.checkObjectKeyExists(connectedFieldGroupConfig, "triggers") &&
2014
- connectedFieldGroupConfig.triggers.includes("VALUE_CHANGE"))) return [3 /*break*/, 6];
2015
- return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2016
- case 5:
2017
- _b.sent();
2018
- _b.label = 6;
2019
- case 6: return [3 /*break*/, 12];
2020
- case 7:
2021
- if (!(kwikidToolkit.checkObjectKeyExists(connectedFieldGroupConfig, "triggers") &&
2022
- connectedFieldGroupConfig.triggers.includes("NESTED_LINK"))) return [3 /*break*/, 9];
2023
- return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2024
- case 8:
2025
- _b.sent();
2026
- _b.label = 9;
2027
- case 9:
2028
- if (!kwikidToolkit.checkObjectKeyExists(connectedFieldGroupConfig, "triggers")) return [3 /*break*/, 11];
2142
+ if (!kwikidToolkit.checkObjectKeyExists(connectedFieldGroupConfig, "triggers")) return [3 /*break*/, 2];
2143
+ if (!connectedFieldGroupConfig.triggers.includes(eventType)) return [3 /*break*/, 2];
2029
2144
  return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2030
- case 10:
2031
- _b.sent();
2032
- _b.label = 11;
2033
- case 11: return [3 /*break*/, 12];
2034
- case 12: return [2 /*return*/];
2145
+ case 1:
2146
+ _a.sent();
2147
+ _a.label = 2;
2148
+ case 2: return [2 /*return*/];
2035
2149
  }
2036
2150
  });
2037
2151
  });
@@ -2061,6 +2175,7 @@
2061
2175
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
2062
2176
  if (!conditionSuccess) return [3 /*break*/, 4];
2063
2177
  actions = new kwikidToolkit.Actions(action, rulesMapping, {
2178
+ FORM_FIELDS: this.formFields,
2064
2179
  FIELD_CONFIG: connectedField,
2065
2180
  FORM_DATA: this.formData,
2066
2181
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -2089,89 +2204,40 @@
2089
2204
  });
2090
2205
  });
2091
2206
  };
2092
- KwikIDFormViewComponent.prototype.handleConnectedElementFields = function (currentField, connectedFieldConfig, eventType) {
2207
+ KwikIDFormViewComponent.prototype.handleConnectedElementFields = function (currentField, connectedFieldConfig, eventType, nested) {
2093
2208
  return __awaiter(this, void 0, void 0, function () {
2094
- var connectedField, _a, _b, _c, _d, _e, connectedFieldConfig_1;
2095
- var e_5, _f;
2096
- return __generator(this, function (_g) {
2097
- switch (_g.label) {
2209
+ var connectedField, _a, _b, connectedFieldConfig_1;
2210
+ var e_5, _c;
2211
+ return __generator(this, function (_d) {
2212
+ switch (_d.label) {
2098
2213
  case 0:
2099
2214
  connectedField = findFieldFromKey(this.formFields, connectedFieldConfig["key"]);
2100
- _a = eventType;
2101
- switch (_a) {
2102
- case "INIT": return [3 /*break*/, 1];
2103
- case "VALUE_CHANGE": return [3 /*break*/, 8];
2104
- case "NESTED_LINK": return [3 /*break*/, 15];
2105
- }
2106
- return [3 /*break*/, 17];
2107
- case 1:
2108
- if (!(kwikidToolkit.checkObjectKeyExists(connectedField, "triggers") &&
2109
- connectedField.triggers.includes("INIT"))) return [3 /*break*/, 7];
2110
- if (!this.isFieldEnabled(connectedField.key)) return [3 /*break*/, 5];
2111
- if (!kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "connectedParentFields")) return [3 /*break*/, 5];
2112
- _b = connectedFieldConfig.type;
2113
- switch (_b) {
2114
- case "dropdown-with-search": return [3 /*break*/, 2];
2115
- }
2116
- return [3 /*break*/, 4];
2117
- case 2: return [4 /*yield*/, this.handleFieldTypeSearchText(currentField, connectedField)];
2118
- case 3:
2119
- connectedField = _g.sent();
2120
- return [3 /*break*/, 5];
2121
- case 4: return [3 /*break*/, 5];
2122
- case 5: return [4 /*yield*/, this.handleConnectedElementFieldActions(connectedFieldConfig, connectedField)];
2123
- case 6:
2124
- connectedField = _g.sent();
2125
- _g.label = 7;
2126
- case 7: return [3 /*break*/, 20];
2127
- case 8:
2128
- if (!(kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "triggers") &&
2129
- connectedFieldConfig.triggers.includes("VALUE_CHANGE"))) return [3 /*break*/, 14];
2130
- _c = connectedField.type;
2131
- switch (_c) {
2132
- case "dropdown-with-search": return [3 /*break*/, 9];
2133
- }
2134
- return [3 /*break*/, 11];
2135
- case 9: return [4 /*yield*/, this.handleFieldTypeSearchText(currentField, connectedField)];
2136
- case 10:
2137
- connectedField = _g.sent();
2138
- return [3 /*break*/, 12];
2139
- case 11: return [3 /*break*/, 12];
2140
- case 12: return [4 /*yield*/, this.handleConnectedElementFieldActions(connectedFieldConfig, connectedField)];
2141
- case 13:
2142
- connectedField = _g.sent();
2143
- _g.label = 14;
2144
- case 14: return [3 /*break*/, 20];
2145
- case 15:
2146
- if (!(kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "triggers") &&
2147
- connectedFieldConfig.triggers.includes("NESTED_LINK"))) return [3 /*break*/, 17];
2148
- return [4 /*yield*/, this.handleConnectedElementFieldActions(connectedFieldConfig, connectedField)];
2149
- case 16:
2150
- connectedField = _g.sent();
2151
- _g.label = 17;
2152
- case 17:
2153
- if (!kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "triggers")) return [3 /*break*/, 19];
2215
+ if (!kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "triggers")) return [3 /*break*/, 2];
2216
+ if (!connectedFieldConfig.triggers.includes(eventType)) return [3 /*break*/, 2];
2154
2217
  return [4 /*yield*/, this.handleConnectedElementFieldActions(connectedFieldConfig, connectedField)];
2155
- case 18:
2156
- connectedField = _g.sent();
2157
- _g.label = 19;
2158
- case 19: return [3 /*break*/, 20];
2159
- case 20:
2160
- if (kwikidToolkit.checkObjectKeyExists(connectedField, "connectedElements")) {
2161
- if (kwikidToolkit.checkObjectKeyExists(connectedField.connectedElements, "connectedFields")) {
2162
- try {
2163
- for (_d = __values(connectedField.connectedElements
2164
- .connectedFields), _e = _d.next(); !_e.done; _e = _d.next()) {
2165
- connectedFieldConfig_1 = _e.value;
2166
- connectedField = this.handleConnectedElementFields(connectedField, connectedFieldConfig_1, "NESTED_LINK");
2167
- }
2168
- }
2169
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
2170
- finally {
2171
- try {
2172
- if (_e && !_e.done && (_f = _d.return)) _f.call(_d);
2218
+ case 1:
2219
+ connectedField = _d.sent();
2220
+ _d.label = 2;
2221
+ case 2:
2222
+ if (kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "handleNestedFields")) {
2223
+ if (connectedFieldConfig.handleNestedFields) {
2224
+ if (kwikidToolkit.checkObjectKeyExists(connectedField, "connectedElements")) {
2225
+ if (kwikidToolkit.checkObjectKeyExists(connectedField.connectedElements, "connectedFields")) {
2226
+ try {
2227
+ for (_a = __values(connectedField.connectedElements
2228
+ .connectedFields), _b = _a.next(); !_b.done; _b = _a.next()) {
2229
+ connectedFieldConfig_1 = _b.value;
2230
+ connectedField = this.handleConnectedElementFields(connectedField, connectedFieldConfig_1, eventType, "NESTED");
2231
+ }
2232
+ }
2233
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
2234
+ finally {
2235
+ try {
2236
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
2237
+ }
2238
+ finally { if (e_5) throw e_5.error; }
2239
+ }
2173
2240
  }
2174
- finally { if (e_5) throw e_5.error; }
2175
2241
  }
2176
2242
  }
2177
2243
  }
@@ -2229,7 +2295,7 @@
2229
2295
  case 10:
2230
2296
  if (!!connectedFields_1_1.done) return [3 /*break*/, 13];
2231
2297
  connectedFieldConfig = connectedFields_1_1.value;
2232
- return [4 /*yield*/, this.handleConnectedElementFields(currentField, connectedFieldConfig, eventType)];
2298
+ return [4 /*yield*/, this.handleConnectedElementFields(currentField, connectedFieldConfig, eventType, eventType)];
2233
2299
  case 11:
2234
2300
  currentField = _c.sent();
2235
2301
  _c.label = 12;
@@ -2263,23 +2329,28 @@
2263
2329
  _a), { emitEvent: false });
2264
2330
  // Currently set only for dropdown-with-search connected fields
2265
2331
  var field = findFieldFromKey(this.formFields, e.key);
2266
- if (field.type !== "title" &&
2332
+ if (field.isFormElement &&
2267
2333
  field.validation.triggers.includes("ON_CHANGE")) {
2268
- var validations_1 = new Validations(field, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
2334
+ var validations_2 = new Validations(field, this.formFields, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
2269
2335
  (function () { return __awaiter(_this, void 0, void 0, function () {
2270
2336
  return __generator(this, function (_a) {
2271
2337
  switch (_a.label) {
2272
- case 0: return [4 /*yield*/, validations_1.validateField()];
2338
+ case 0: return [4 /*yield*/, validations_2.validateField()];
2273
2339
  case 1:
2274
2340
  _a.sent();
2275
2341
  return [2 /*return*/];
2276
2342
  }
2277
2343
  });
2278
2344
  }); })();
2279
- this.handleConnectedElements({
2280
- key: field.key,
2281
- value: this.formGroup.controls[field.key].value
2282
- }, "ON_CHANGE");
2345
+ }
2346
+ if (field.isFormElement &&
2347
+ kwikidToolkit.checkObjectKeyExists(field, "connectedElements")) {
2348
+ if (kwikidToolkit.checkObjectKeyExists(field.connectedElements, "connectedFields")) {
2349
+ this.handleConnectedElements({
2350
+ key: field.key,
2351
+ value: this.formGroup.controls[field.key].value
2352
+ }, "ON_CHANGE");
2353
+ }
2283
2354
  }
2284
2355
  };
2285
2356
  KwikIDFormViewComponent.prototype.handleOnClickResetFormFields = function (e, field) {
@@ -2306,6 +2377,7 @@
2306
2377
  resetField = findFieldFromKey(this.formFields, action.props.fieldKey);
2307
2378
  actions = new kwikidToolkit.Actions(action, {}, {
2308
2379
  FIELD_CONFIG: resetField,
2380
+ FORM_FIELDS: this.formFields,
2309
2381
  FORM_DATA: this.formData,
2310
2382
  PREVIOUS_FORM_DATA: this.previousFormData,
2311
2383
  ALL_FORMS_DATA: this.allFormsData
@@ -2362,7 +2434,7 @@
2362
2434
  this.viewFormsButton["showLoader"] = true;
2363
2435
  this.saveFormButton["disabled"] = true;
2364
2436
  this.saveFormButton["showLoader"] = true;
2365
- apis = new Apis(field, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
2437
+ apis = new Apis(field, this.formFields, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
2366
2438
  return [4 /*yield*/, apis.setRequestBodyParams()];
2367
2439
  case 1:
2368
2440
  field = _a.sent();
@@ -2432,11 +2504,11 @@
2432
2504
  var _loop_3 = function (field) {
2433
2505
  if (field.type !== EFieldType.TITLE &&
2434
2506
  field.validation.triggers.includes("ON_SAVE")) {
2435
- var validations_2 = new Validations(field, formData, this_2.previousFormData, this_2.allFormsData, this_2.takeAction.bind(this_2));
2507
+ var validations_3 = new Validations(field, this_3.formFields, formData, this_3.previousFormData, this_3.allFormsData, this_3.takeAction.bind(this_3));
2436
2508
  (function () { return __awaiter(_this, void 0, void 0, function () {
2437
2509
  return __generator(this, function (_a) {
2438
2510
  switch (_a.label) {
2439
- case 0: return [4 /*yield*/, validations_2.validateField()];
2511
+ case 0: return [4 /*yield*/, validations_3.validateField()];
2440
2512
  case 1:
2441
2513
  _a.sent();
2442
2514
  return [2 /*return*/];
@@ -2445,7 +2517,7 @@
2445
2517
  }); })();
2446
2518
  }
2447
2519
  };
2448
- var this_2 = this;
2520
+ var this_3 = this;
2449
2521
  try {
2450
2522
  for (var _f = __values(this.formFields), _g = _f.next(); !_g.done; _g = _f.next()) {
2451
2523
  var field = _g.value;
@@ -2460,7 +2532,7 @@
2460
2532
  finally { if (e_11) throw e_11.error; }
2461
2533
  }
2462
2534
  if (this.formGroup.invalid) {
2463
- var controls = new Validations(undefined, formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this)).findInvalidControlsRecursive(this.formGroup);
2535
+ var controls = new Validations(undefined, this.formFields, formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this)).findInvalidControlsRecursive(this.formGroup);
2464
2536
  var firstFieldWithError = "";
2465
2537
  try {
2466
2538
  for (var controls_1 = __values(controls), controls_1_1 = controls_1.next(); !controls_1_1.done; controls_1_1 = controls_1.next()) {
@@ -2683,6 +2755,14 @@
2683
2755
  _a[key] = value,
2684
2756
  _a), { emitEvent: false });
2685
2757
  };
2758
+ KwikIDFormViewComponent.prototype.patchFormGroup = function (formData) {
2759
+ if (kwikidToolkit.isUndefined(this.formGroup) || kwikidToolkit.isUndefined(formData)) {
2760
+ throw new Error("formGroup or formData is 'undefined'.");
2761
+ }
2762
+ else {
2763
+ this.formGroup.patchValue(formData, { emitEvent: false });
2764
+ }
2765
+ };
2686
2766
  KwikIDFormViewComponent.prototype.isFieldValid = function (fieldKey) {
2687
2767
  return this.formGroup.controls[fieldKey].valid;
2688
2768
  };
@@ -2692,26 +2772,6 @@
2692
2772
  KwikIDFormViewComponent.prototype.getFormGroupRawValues = function () {
2693
2773
  return this.formGroup.getRawValue();
2694
2774
  };
2695
- KwikIDFormViewComponent.prototype.handleFieldTypeSearchText = function (field, childField) {
2696
- return __awaiter(this, void 0, void 0, function () {
2697
- var _a;
2698
- return __generator(this, function (_b) {
2699
- switch (_b.label) {
2700
- case 0:
2701
- if (kwikidToolkit.checkObjectKeyExists(childField, "json")) {
2702
- childField.options = getSearchTextOptionsFromFieldConfig(field, childField, this.formGroup);
2703
- }
2704
- if (!kwikidToolkit.checkObjectKeyExists(childField, "fetchJsonFromRemote")) return [3 /*break*/, 2];
2705
- _a = childField;
2706
- return [4 /*yield*/, getSearchTextOptionsFromRemoteFile(field, childField, this.formGroup)];
2707
- case 1:
2708
- _a.options = _b.sent();
2709
- _b.label = 2;
2710
- case 2: return [2 /*return*/, childField];
2711
- }
2712
- });
2713
- });
2714
- };
2715
2775
  KwikIDFormViewComponent.prototype.takeActionOnFieldGroup = function (action, field, allFormsData, formData, previousFormData) {
2716
2776
  return __awaiter(this, void 0, void 0, function () {
2717
2777
  return __generator(this, function (_a) {
@@ -2737,7 +2797,7 @@
2737
2797
  };
2738
2798
  KwikIDFormViewComponent.prototype.takeAction = function (action, object) {
2739
2799
  return __awaiter(this, void 0, void 0, function () {
2740
- var _a, sources, sourceValue;
2800
+ var _a, setValue_Sources, sourceValue, setDropdownValue_Sources, dropdownValue, appendToPath, appendToPathStr, optionsPath;
2741
2801
  return __generator(this, function (_b) {
2742
2802
  switch (_b.label) {
2743
2803
  case 0:
@@ -2753,54 +2813,83 @@
2753
2813
  case EActionKey.FIELD_MESSAGE_SHOW: return [3 /*break*/, 8];
2754
2814
  case EActionKey.FIELD_MESSAGES_HIDE: return [3 /*break*/, 9];
2755
2815
  case EActionKey.SET_VALUE: return [3 /*break*/, 10];
2756
- case EActionKey.HANDLE_CONNECTED_ELEMENTS: return [3 /*break*/, 12];
2757
- case EActionKey.CUSTOM: return [3 /*break*/, 13];
2816
+ case EActionKey.SET_DROPDOWN_OPTIONS: return [3 /*break*/, 12];
2817
+ case EActionKey.HANDLE_CONNECTED_ELEMENTS: return [3 /*break*/, 17];
2818
+ case EActionKey.CUSTOM: return [3 /*break*/, 18];
2758
2819
  }
2759
- return [3 /*break*/, 14];
2820
+ return [3 /*break*/, 19];
2760
2821
  case 1:
2761
2822
  this.fieldHide(action.props.fieldKey);
2762
- return [3 /*break*/, 15];
2823
+ return [3 /*break*/, 20];
2763
2824
  case 2:
2764
2825
  this.fieldShow(action.props.fieldKey);
2765
- return [3 /*break*/, 15];
2826
+ return [3 /*break*/, 20];
2766
2827
  case 3:
2767
2828
  this.fieldDisable(action.props.fieldKey);
2768
- return [3 /*break*/, 15];
2829
+ return [3 /*break*/, 20];
2769
2830
  case 4:
2770
2831
  this.fieldEnable(action.props.fieldKey);
2771
- return [3 /*break*/, 15];
2832
+ return [3 /*break*/, 20];
2772
2833
  case 5:
2773
2834
  this.fieldReset(action.props.fieldKey);
2774
- return [3 /*break*/, 15];
2835
+ return [3 /*break*/, 20];
2775
2836
  case 6:
2776
2837
  this.fieldErrorShow(action.props.fieldKey, action.props.message);
2777
- return [3 /*break*/, 15];
2838
+ return [3 /*break*/, 20];
2778
2839
  case 7:
2779
2840
  this.fieldErrorHide(action.props.fieldKey, action.props.message);
2780
- return [3 /*break*/, 15];
2841
+ return [3 /*break*/, 20];
2781
2842
  case 8:
2782
2843
  this.fieldMessageShow(action.props.fieldKey, action.props.message);
2783
- return [3 /*break*/, 15];
2844
+ return [3 /*break*/, 20];
2784
2845
  case 9:
2785
2846
  this.fieldMessageHide(action.props.fieldKey, action.props.message);
2786
- return [3 /*break*/, 15];
2847
+ return [3 /*break*/, 20];
2787
2848
  case 10:
2788
- sources = new kwikidToolkit.Sources(object);
2789
- return [4 /*yield*/, sources.getValueFromSource(action.props.value.source)];
2849
+ setValue_Sources = new kwikidToolkit.Sources(object);
2850
+ return [4 /*yield*/, setValue_Sources.getValueFromSource(action.props.value.source)];
2790
2851
  case 11:
2791
2852
  sourceValue = _b.sent();
2792
- sources.setValueToSource(action.props.value.destination, sourceValue);
2793
- object.FIELD_CONFIG = sources.object.FIELD_CONFIG;
2794
- this.formData = sources.object.FORM_DATA;
2795
- this.allFormsData = sources.object.ALL_FORMS_DATA;
2796
- this.previousFormData = sources.object.PREVIOUS_FORM_DATA;
2797
- return [3 /*break*/, 15];
2853
+ setValue_Sources.setValueToSource(action.props.value.destination, sourceValue);
2854
+ object.FIELD_CONFIG = setValue_Sources.object.FIELD_CONFIG;
2855
+ this.formData = setValue_Sources.object.FORM_DATA;
2856
+ this.patchFormGroup(this.formData);
2857
+ this.allFormsData = setValue_Sources.object.ALL_FORMS_DATA;
2858
+ this.previousFormData = setValue_Sources.object.PREVIOUS_FORM_DATA;
2859
+ return [3 /*break*/, 20];
2798
2860
  case 12:
2861
+ setDropdownValue_Sources = new kwikidToolkit.Sources(object);
2862
+ return [4 /*yield*/, setDropdownValue_Sources.getValueFromSource(action.props.value.source)];
2863
+ case 13:
2864
+ dropdownValue = _b.sent();
2865
+ if (!kwikidToolkit.checkObjectKeyExists(action.props, "options")) return [3 /*break*/, 16];
2866
+ if (!kwikidToolkit.checkObjectKeyExists(action.props.options, "appendToPath")) return [3 /*break*/, 15];
2867
+ return [4 /*yield*/, setDropdownValue_Sources.getValueFromSource(action.props.options.appendToPath.source)];
2868
+ case 14:
2869
+ appendToPath = _b.sent();
2870
+ if (kwikidToolkit.isNotEmptyValue(appendToPath)) {
2871
+ appendToPathStr = kwikidToolkit.replaceString(appendToPath.match("" + action.props.options.appendToPath.filterSourceValue)[0], "[^a-zA-Z0-9_]", "_");
2872
+ optionsPath = "" + action.props.options.path + appendToPathStr;
2873
+ dropdownValue = kwikidToolkit.getObjectValueFromPath(dropdownValue, optionsPath);
2874
+ }
2875
+ return [3 /*break*/, 16];
2876
+ case 15:
2877
+ dropdownValue = kwikidToolkit.getObjectValueFromPath(dropdownValue, action.props.options.path);
2878
+ _b.label = 16;
2879
+ case 16:
2880
+ setDropdownValue_Sources.setValueToSource(action.props.value.destination, dropdownValue);
2881
+ object.FIELD_CONFIG = setDropdownValue_Sources.object.FIELD_CONFIG;
2882
+ this.formData = setDropdownValue_Sources.object.FORM_DATA;
2883
+ this.allFormsData = setDropdownValue_Sources.object.ALL_FORMS_DATA;
2884
+ this.previousFormData =
2885
+ setDropdownValue_Sources.object.PREVIOUS_FORM_DATA;
2886
+ return [3 /*break*/, 20];
2887
+ case 17:
2799
2888
  this.handleConnectedElements({ key: action.props.fieldKey }, "ACTION");
2800
- return [3 /*break*/, 15];
2801
- case 13: return [3 /*break*/, 15];
2802
- case 14: return [3 /*break*/, 15];
2803
- case 15: return [2 /*return*/];
2889
+ return [3 /*break*/, 20];
2890
+ case 18: return [3 /*break*/, 20];
2891
+ case 19: return [3 /*break*/, 20];
2892
+ case 20: return [2 /*return*/];
2804
2893
  }
2805
2894
  });
2806
2895
  });
@@ -2808,7 +2897,7 @@
2808
2897
  return KwikIDFormViewComponent;
2809
2898
  }());
2810
2899
  /** @nocollapse */ KwikIDFormViewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormViewComponent, deps: [{ token: i4.TuiPushService }, { token: i3.TuiAlertService }, { token: KwikIDFormViewService }], target: i0__namespace.ɵɵFactoryTarget.Component });
2811
- /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { formConfig: "formConfig", formData: "formData", apiCallResponse: "apiCallResponse", isMobileView: "isMobileView", allFormsData: "allFormsData", formsList: "formsList" }, outputs: { onClickViewForms: "onClickViewForms", onClickSaveForm: "onClickSaveForm", onClickApiCall: "onClickApiCall", getActiveFormData: "getActiveFormData" }, providers: [KwikIDFormViewService], usesOnChanges: true, ngImport: i0__namespace, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!this.loading\"\n>\n <div id=\"uf-form-fields-header-container\">\n <div id=\"uf-form-fields-title\">\n {{ this.formConfig.title }}\n </div>\n <div id=\"uf-form-fields-steps\">\n Step {{ this.formConfig.sequenceNo }} of {{ this.formsList.length }}\n </div>\n <hr />\n </div>\n <form\n class=\"kwikid-form show\"\n [formGroup]=\"this.formGroup\"\n >\n <ng-container *ngFor=\"let field of this.formFields; let i = index\">\n <ng-container [ngSwitch]=\"field.type\">\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n label=\"Reset\"\n (onClick)=\"this.handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [type]=\"'text'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox-block\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.properties?.placeholder\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size ?? 'l'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox-block\n ><kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-number\n [decimal]=\"field?.properties?.decimal\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix ?? ''\"\n [precision]=\"field?.properties?.precision\"\n [prefix]=\"field?.properties?.prefix ?? ''\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-number\n ><kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-date\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-date>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-phone\n [countryCode]=\"field?.properties?.countryCode\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [phoneMaskAfterCountryCode]=\"\n field?.properties?.phoneMaskAfterCountryCode\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-phone>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-radio-list\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.options\"\n [label]=\"field?.label\"\n [orientation]=\"field?.properties?.orientation\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-radio-list>\n </label>\n <ng-template #labelTemplate>\n <p\n class=\"tui-space_bottom-2\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\"></span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Dropdown -->\n <ng-container *ngSwitchCase=\"'dropdown-with-search'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-select-combobox\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [options]=\"field.options\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-select-combobox>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- API Call -->\n <ng-container *ngSwitchCase=\"'api-call'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [showLoader]=\"field?.disabled === 'loading'\"\n shape=\"null\"\n size=\"m\"\n styles=\"width: fit-content\"\n (onClick)=\"this.handleOnClickApiCall($event)\"\n ></kwikui-button-api-call>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Mobile OTP -->\n <ng-container *ngSwitchCase=\"'otp'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-otp\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-otp>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Aadhaar Number -->\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-aadhaar\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-aadhaar>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </form>\n <div class=\"kwikid-form-buttons\">\n <kwikui-button\n *ngIf=\"this.isMobileView\"\n [disabled]=\"viewFormsButton.disabled\"\n id=\"\"\n label=\"View Forms\"\n [showLoader]=\"viewFormsButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"secondary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"this.handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n [disabled]=\"saveFormButton.disabled\"\n id=\"\"\n label=\"Save\"\n [showLoader]=\"saveFormButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"this.handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"this.loading\"\n>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n</div>\n<tui-push\n id=\"field-error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Missing/Incorrect Fields!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconCancel\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n", styles: ["::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}.kwikid-form-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}.kwikid-form.show{width:100%;height:100%;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-row-gap:1rem;row-gap:1rem}.kwikid-form-buttons{width:100%;bottom:0px;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-column-gap:10px;column-gap:10px}.kwikid-form-buttons *{flex-grow:1}#uf-form-fields-header-container{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start;grid-row-gap:.5rem;row-gap:.5rem;padding:1rem}#uf-form-fields-header-container hr{width:100%}#uf-form-fields-title{color:#000;font-size:1.75em;font-weight:bold}#uf-form-fields-steps{color:var(--color-on-secondary-container);font-size:1em}.title{border-left:.25rem solid var(--tui-primary);padding:.75rem;font-size:1.4em;font-weight:bold;background-color:var(--tui-secondary);display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-gap:.5rem;gap:.5rem}.title:not(:first-child){margin-top:.5rem}.title.hidden{display:none}.large-wrapper{width:100%;height:60px}.large-wrapper:first-child{margin-bottom:auto}.large-wrapper:last-child{margin-top:auto}.kwikid-form-container-loading{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;grid-row-gap:1rem;row-gap:1rem;padding:1rem}#field-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top{color:#fff!important}#field-error-notification .t-close{color:#fff!important}\n"], components: [{ type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["messages", "id"] }, { type: i2__namespace.KwikUICheckboxBlockComponent, selector: "kwikui-checkbox-block", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "contentAlign", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "prefix", "postfix", "precision", "decimal", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "countryCode", "phoneMaskAfterCountryCode", "removeCountryCodeFromValue", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i3__namespace.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i2__namespace.KwikUIRadioListComponent, selector: "kwikui-radio-list", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "orientation", "items", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUISelectComboboxComponent, selector: "kwikui-select-combobox", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "options", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "shape", "size", "apiStatus"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i4__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { type: i3__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i4__namespace.TuiPushDirective, selector: "tui-push" }] });
2900
+ /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { formConfig: "formConfig", formData: "formData", apiCallResponse: "apiCallResponse", isMobileView: "isMobileView", allFormsData: "allFormsData", formsList: "formsList" }, outputs: { onClickViewForms: "onClickViewForms", onClickSaveForm: "onClickSaveForm", onClickApiCall: "onClickApiCall", getActiveFormData: "getActiveFormData" }, providers: [KwikIDFormViewService], usesOnChanges: true, ngImport: i0__namespace, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!this.loading\"\n>\n <div id=\"uf-form-fields-header-container\">\n <div id=\"uf-form-fields-title\">\n {{ this.formConfig.title }}\n </div>\n <div id=\"uf-form-fields-steps\">\n Step {{ this.formConfig.sequenceNo }} of {{ this.formsList.length }}\n </div>\n <hr />\n </div>\n <form\n class=\"kwikid-form show\"\n [formGroup]=\"this.formGroup\"\n >\n <ng-container *ngFor=\"let field of this.formFields; let i = index\">\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | safeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n label=\"Reset\"\n (onClick)=\"this.handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [type]=\"'text'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox-block\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.properties?.placeholder\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size ?? 'l'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox-block\n ><kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-number\n [decimal]=\"field?.properties?.decimal\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix ?? ''\"\n [precision]=\"field?.properties?.precision\"\n [prefix]=\"field?.properties?.prefix ?? ''\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-number\n ><kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-date\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-date>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-phone\n [countryCode]=\"field?.properties?.countryCode\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [phoneMaskAfterCountryCode]=\"\n field?.properties?.phoneMaskAfterCountryCode\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-phone>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-radio-list\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.options\"\n [label]=\"field?.label\"\n [orientation]=\"field?.properties?.orientation\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-radio-list>\n </label>\n <ng-template #labelTemplate>\n <p\n class=\"tui-space_bottom-2\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\"></span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Dropdown -->\n <ng-container *ngSwitchCase=\"'dropdown-with-search'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-select-combobox\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [options]=\"field.options\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-select-combobox>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- API Call -->\n <ng-container *ngSwitchCase=\"'api-call'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [showLoader]=\"field?.disabled === 'loading'\"\n shape=\"null\"\n size=\"m\"\n styles=\"width: fit-content\"\n (onClick)=\"this.handleOnClickApiCall($event)\"\n ></kwikui-button-api-call>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Mobile OTP -->\n <ng-container *ngSwitchCase=\"'otp'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-otp\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-otp>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Aadhaar Number -->\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-aadhaar\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-aadhaar>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </form>\n <div class=\"kwikid-form-buttons\">\n <kwikui-button\n *ngIf=\"this.isMobileView\"\n [disabled]=\"viewFormsButton.disabled\"\n id=\"\"\n label=\"View Forms\"\n [showLoader]=\"viewFormsButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"secondary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"this.handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n [disabled]=\"saveFormButton.disabled\"\n id=\"\"\n label=\"Save\"\n [showLoader]=\"saveFormButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"this.handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"this.loading\"\n>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n</div>\n<tui-push\n id=\"field-error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Missing/Incorrect Fields!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconCancel\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n", styles: ["::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}.kwikid-form-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}.kwikid-form.show{width:100%;height:100%;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-row-gap:1rem;row-gap:1rem}.kwikid-form-buttons{width:100%;bottom:0px;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-column-gap:10px;column-gap:10px}.kwikid-form-buttons *{flex-grow:1}#uf-form-fields-header-container{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start;grid-row-gap:.5rem;row-gap:.5rem;padding:1rem}#uf-form-fields-header-container hr{width:100%}#uf-form-fields-title{color:#000;font-size:1.75em;font-weight:bold}#uf-form-fields-steps{color:var(--color-on-secondary-container);font-size:1em}.title{border-left:.25rem solid var(--tui-primary);padding:.75rem;font-size:1.4em;font-weight:bold;background-color:var(--tui-secondary);display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-gap:.5rem;gap:.5rem}.title:not(:first-child){margin-top:.5rem}.title.hidden{display:none}.large-wrapper{width:100%;height:60px}.large-wrapper:first-child{margin-bottom:auto}.large-wrapper:last-child{margin-top:auto}.kwikid-form-container-loading{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;grid-row-gap:1rem;row-gap:1rem;padding:1rem}#field-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top{color:#fff!important}#field-error-notification .t-close{color:#fff!important}\n"], components: [{ type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["messages", "id"] }, { type: i2__namespace.KwikUICheckboxBlockComponent, selector: "kwikui-checkbox-block", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "contentAlign", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "prefix", "postfix", "precision", "decimal", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "countryCode", "phoneMaskAfterCountryCode", "removeCountryCodeFromValue", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i3__namespace.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i2__namespace.KwikUIRadioListComponent, selector: "kwikui-radio-list", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "orientation", "items", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUISelectComboboxComponent, selector: "kwikui-select-combobox", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "options", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "shape", "size", "apiStatus"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i4__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { type: i3__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i4__namespace.TuiPushDirective, selector: "tui-push" }], pipes: { "safeHtml": SafeHtmlPipe } });
2812
2901
  __decorate([
2813
2902
  kwikidToolkit.logMethod
2814
2903
  ], KwikIDFormViewComponent.prototype, "ngOnInit", null);
@@ -2908,6 +2997,9 @@
2908
2997
  __decorate([
2909
2998
  kwikidToolkit.logMethod
2910
2999
  ], KwikIDFormViewComponent.prototype, "patchFieldControlValue", null);
3000
+ __decorate([
3001
+ kwikidToolkit.logMethod
3002
+ ], KwikIDFormViewComponent.prototype, "patchFormGroup", null);
2911
3003
  __decorate([
2912
3004
  kwikidToolkit.logMethod
2913
3005
  ], KwikIDFormViewComponent.prototype, "isFieldValid", null);
@@ -2917,9 +3009,6 @@
2917
3009
  __decorate([
2918
3010
  kwikidToolkit.logMethod
2919
3011
  ], KwikIDFormViewComponent.prototype, "getFormGroupRawValues", null);
2920
- __decorate([
2921
- kwikidToolkit.logMethod
2922
- ], KwikIDFormViewComponent.prototype, "handleFieldTypeSearchText", null);
2923
3012
  __decorate([
2924
3013
  kwikidToolkit.logMethod
2925
3014
  ], KwikIDFormViewComponent.prototype, "takeActionOnFieldGroup", null);
@@ -2962,7 +3051,7 @@
2962
3051
  type: i0.Output
2963
3052
  }], getActiveFormData: [{
2964
3053
  type: i0.Output
2965
- }], ngOnInit: [], ngAfterViewInit: [], ngOnChanges: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleOnClickApiCall: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], toggleErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [], setObjectValue: [], patchFieldControlValue: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], handleFieldTypeSearchText: [], takeActionOnFieldGroup: [], takeAction: [] } });
3054
+ }], ngOnInit: [], ngAfterViewInit: [], ngOnChanges: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleOnClickApiCall: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], toggleErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [], setObjectValue: [], patchFieldControlValue: [], patchFormGroup: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], takeActionOnFieldGroup: [], takeAction: [] } });
2966
3055
 
2967
3056
  var KwikIDFormsListComponent = /** @class */ (function () {
2968
3057
  function KwikIDFormsListComponent() {
@@ -3091,33 +3180,50 @@
3091
3180
  var e_1, _f;
3092
3181
  var _this = this;
3093
3182
  var updateOnFieldType = function (field) {
3183
+ var formatFieldTypeHtml = function (field) {
3184
+ field = _this.setFieldKeyValue(field, "isFormElement", false);
3185
+ return field;
3186
+ };
3094
3187
  var formatFieldTypeTitle = function (field) {
3095
3188
  field = _this.setFieldKeyValue(field, "hidden", false);
3189
+ field = _this.setFieldKeyValue(field, "isFormElement", false);
3096
3190
  return field;
3097
3191
  };
3098
- var formatFieldTypeRadio = function (field) {
3099
- field.properties = _this.setMissingFieldKeyValue(field.properties, "size", "m");
3100
- field.properties = _this.setMissingFieldKeyValue(field.properties, "orientation", "vertical");
3101
- field = _this.setFieldKeyValue(field, "hidden", false);
3102
- field.options = field.options.map(function (x) {
3103
- if (typeof x === "string" || typeof x === "number") {
3104
- return { label: x, disabled: false };
3105
- }
3106
- else {
3107
- if (kwikidToolkit.checkObjectKeyExists(x, "label") &&
3108
- kwikidToolkit.checkObjectKeyExists(x, "disabled")) {
3109
- return x;
3110
- }
3111
- }
3112
- });
3192
+ var formatFieldTypeText = function (field) {
3193
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3194
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "case", "default");
3113
3195
  return field;
3114
3196
  };
3115
- var formatFieldTypeOtp = function (field) {
3116
- field.properties = _this.setMissingFieldKeyValue(field.properties, "mask", new Array(field.properties.otpLength).fill("#").join(" "));
3197
+ var formatFieldTypeCheckbox = function (field) {
3198
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3199
+ return field;
3200
+ };
3201
+ var formatFieldTypeNumber = function (field) {
3202
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3203
+ if (kwikidToolkit.checkObjectKeyExists(field, "key")) {
3204
+ if (field.key === "aadhaar_number") {
3205
+ field = _this.setFieldKeyValue(field, "type", "aadhaar_number");
3206
+ }
3207
+ if (field.key === "contact_number") {
3208
+ field = _this.setFieldKeyValue(field, "type", "phone");
3209
+ }
3210
+ if (field.type === "phone" || field.type === "number") {
3211
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "countryCode", "+91");
3212
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "phoneMaskAfterCountryCode", "####-######");
3213
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "removeCountryCodeFromValue", true);
3214
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "decimal", "never");
3215
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "prefix", "");
3216
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "postfix", "");
3217
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "min", -Infinity);
3218
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "max", Infinity);
3219
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "precision", 2);
3220
+ }
3221
+ }
3117
3222
  field = _this.setFieldKeyValue(field, "hidden", false);
3118
3223
  return field;
3119
3224
  };
3120
3225
  var formatFieldTypeDate = function (field) {
3226
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3121
3227
  if (kwikidToolkit.checkObjectKeyExists(field, "min")) {
3122
3228
  var tuiDay = convertDateStringToTuiDayFormat(field["min"]);
3123
3229
  field.properties = _this.setFieldKeyValue(field.properties, "min", tuiDay);
@@ -3139,30 +3245,51 @@
3139
3245
  field = _this.setFieldKeyValue(field, "hidden", false);
3140
3246
  return field;
3141
3247
  };
3142
- var formatFieldTypeNumber = function (field) {
3143
- if (kwikidToolkit.checkObjectKeyExists(field, "key")) {
3144
- if (field.key === "aadhaar_number") {
3145
- field = _this.setFieldKeyValue(field, "type", "aadhaar_number");
3248
+ var formatFieldTypePhone = function (field) {
3249
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3250
+ return field;
3251
+ };
3252
+ var formatFieldTypeRadio = function (field) {
3253
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3254
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "size", "m");
3255
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "orientation", "vertical");
3256
+ field = _this.setFieldKeyValue(field, "hidden", false);
3257
+ field.options = field.options.map(function (x) {
3258
+ if (typeof x === "string" || typeof x === "number") {
3259
+ return { label: x, disabled: false, description: "" };
3146
3260
  }
3147
- if (field.key === "contact_number") {
3148
- field = _this.setFieldKeyValue(field, "type", "phone");
3261
+ else {
3262
+ if (kwikidToolkit.checkObjectKeyExists(x, "label") &&
3263
+ kwikidToolkit.checkObjectKeyExists(x, "disabled") &&
3264
+ kwikidToolkit.checkObjectKeyExists(x, "description")) {
3265
+ return x;
3266
+ }
3267
+ if (!kwikidToolkit.checkObjectKeyExists(x, "disabled")) {
3268
+ x = Object.assign(Object.assign({}, x), { disabled: false });
3269
+ }
3270
+ if (!kwikidToolkit.checkObjectKeyExists(x, "description")) {
3271
+ x = Object.assign(Object.assign({}, x), { description: false });
3272
+ }
3273
+ return x;
3149
3274
  }
3150
- if (field.type === "phone" || field.type === "number") {
3151
- field.properties = _this.setMissingFieldKeyValue(field.properties, "countryCode", "+91");
3152
- field.properties = _this.setMissingFieldKeyValue(field.properties, "phoneMaskAfterCountryCode", "####-######");
3153
- field.properties = _this.setMissingFieldKeyValue(field.properties, "removeCountryCodeFromValue", true);
3154
- field.properties = _this.setMissingFieldKeyValue(field.properties, "decimal", "never");
3155
- field.properties = _this.setMissingFieldKeyValue(field.properties, "prefix", "");
3156
- field.properties = _this.setMissingFieldKeyValue(field.properties, "postfix", "");
3157
- field.properties = _this.setMissingFieldKeyValue(field.properties, "min", -Infinity);
3158
- field.properties = _this.setMissingFieldKeyValue(field.properties, "max", Infinity);
3159
- field.properties = _this.setMissingFieldKeyValue(field.properties, "precision", 2);
3275
+ });
3276
+ return field;
3277
+ };
3278
+ var formatFieldTypeSearchText = function (field) {
3279
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3280
+ if (kwikidToolkit.checkObjectKeyExists(field, "type")) {
3281
+ if (field.type === "search-text") {
3282
+ field = _this.setFieldKeyValue(field, "type", "dropdown-with-search");
3160
3283
  }
3161
3284
  }
3162
- field = _this.setFieldKeyValue(field, "hidden", false);
3285
+ return field;
3286
+ };
3287
+ var formatFieldTypeDropdownWithSearch = function (field) {
3288
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3163
3289
  return field;
3164
3290
  };
3165
3291
  var formatFieldTypeApiCall = function (field) {
3292
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3166
3293
  if (!kwikidToolkit.checkObjectKeyExists(field.properties, "shape")) {
3167
3294
  field.properties = _this.setFieldKeyValue(field.properties, "shape", null);
3168
3295
  }
@@ -3188,39 +3315,56 @@
3188
3315
  }
3189
3316
  return field;
3190
3317
  };
3191
- var formatFieldTypeSearchText = function (field) {
3192
- if (kwikidToolkit.checkObjectKeyExists(field, "type")) {
3193
- if (field.type === "search-text") {
3194
- field = _this.setFieldKeyValue(field, "type", "dropdown-with-search");
3195
- }
3196
- }
3318
+ var formatFieldTypeOtp = function (field) {
3319
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3320
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "mask", new Array(field.properties.otpLength).fill("#").join(" "));
3321
+ field = _this.setFieldKeyValue(field, "hidden", false);
3197
3322
  return field;
3198
3323
  };
3199
- var formatFieldTypeText = function (field) {
3324
+ var formatFieldTypeAadhaarNumber = function (field) {
3325
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3200
3326
  return field;
3201
3327
  };
3202
3328
  switch (field.type) {
3329
+ case "html":
3330
+ field = formatFieldTypeHtml(field);
3331
+ break;
3203
3332
  case "title":
3204
3333
  field = formatFieldTypeTitle(field);
3205
3334
  break;
3206
- case "radio":
3207
- field = formatFieldTypeRadio(field);
3335
+ case "text":
3336
+ field = formatFieldTypeText(field);
3208
3337
  break;
3209
- case "otp":
3210
- field = formatFieldTypeOtp(field);
3338
+ case "checkbox":
3339
+ field = formatFieldTypeCheckbox(field);
3340
+ break;
3341
+ case "number":
3342
+ field = formatFieldTypeNumber(field);
3211
3343
  break;
3212
3344
  case "date":
3213
3345
  field = formatFieldTypeDate(field);
3214
3346
  break;
3215
- case "number":
3216
- field = formatFieldTypeNumber(field);
3347
+ case "phone":
3348
+ field = formatFieldTypePhone(field);
3217
3349
  break;
3218
- case "api-call":
3219
- field = formatFieldTypeApiCall(field);
3350
+ case "radio":
3351
+ field = formatFieldTypeRadio(field);
3220
3352
  break;
3221
3353
  case "search-text":
3222
3354
  field = formatFieldTypeSearchText(field);
3223
3355
  break;
3356
+ case "dropdown-with-search":
3357
+ field = formatFieldTypeDropdownWithSearch(field);
3358
+ break;
3359
+ case "api-call":
3360
+ field = formatFieldTypeApiCall(field);
3361
+ break;
3362
+ case "otp":
3363
+ field = formatFieldTypeOtp(field);
3364
+ break;
3365
+ case "aadhaar-number":
3366
+ field = formatFieldTypeAadhaarNumber(field);
3367
+ break;
3224
3368
  default:
3225
3369
  break;
3226
3370
  }
@@ -3322,7 +3466,7 @@
3322
3466
  };
3323
3467
  var updateFieldValidatorConfig = function (field) {
3324
3468
  var _a, _b, _c, _d, _e;
3325
- if (field.type !== "title") {
3469
+ if (field.isFormElement) {
3326
3470
  var validators = kwikidToolkit.checkObjectKeyExists(field, "validators")
3327
3471
  ? field.validators
3328
3472
  : {};
@@ -3403,7 +3547,7 @@
3403
3547
  return field;
3404
3548
  };
3405
3549
  var updateFieldDefaultValueConfig = function (field) {
3406
- if (field.type !== "title") {
3550
+ if (field.isFormElement) {
3407
3551
  if (kwikidToolkit.checkObjectKeyExists(field, "defaultValue")) {
3408
3552
  return field;
3409
3553
  }
@@ -3583,13 +3727,13 @@
3583
3727
  return field;
3584
3728
  };
3585
3729
  var updateFieldMessages = function (field) {
3586
- if (field.type !== "title") {
3730
+ if (field.isFormElement) {
3587
3731
  field = _this.setMissingFieldKeyValue(field, "messages", []);
3588
3732
  }
3589
3733
  return field;
3590
3734
  };
3591
3735
  var updateFieldResetButton = function (field) {
3592
- if (field.type === "title") {
3736
+ if (field.isFormElement) {
3593
3737
  if (kwikidToolkit.checkObjectKeyExists(field, "action") &&
3594
3738
  field.action === "reset" &&
3595
3739
  kwikidToolkit.checkObjectKeyExists(field, "fields")) {
@@ -4217,7 +4361,7 @@
4217
4361
  return KwikIDFormViewModule;
4218
4362
  }());
4219
4363
  /** @nocollapse */ KwikIDFormViewModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormViewModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
4220
- /** @nocollapse */ KwikIDFormViewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormViewModule, declarations: [KwikIDFormViewComponent], imports: [i5.CommonModule,
4364
+ /** @nocollapse */ KwikIDFormViewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormViewModule, declarations: [KwikIDFormViewComponent, SafeHtmlPipe], imports: [i5.CommonModule,
4221
4365
  i6.FormsModule,
4222
4366
  i6.ReactiveFormsModule,
4223
4367
  i3.TuiLabelModule,
@@ -4236,7 +4380,7 @@
4236
4380
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormViewModule, decorators: [{
4237
4381
  type: i0.NgModule,
4238
4382
  args: [{
4239
- declarations: [KwikIDFormViewComponent],
4383
+ declarations: [KwikIDFormViewComponent, SafeHtmlPipe],
4240
4384
  imports: [
4241
4385
  i5.CommonModule,
4242
4386
  i6.FormsModule,