kwikid-forms 0.0.9 → 0.1.0

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.
@@ -529,6 +529,10 @@
529
529
  EActionKey["FIELD_RESET"] = "FIELD_RESET";
530
530
  EActionKey["HANDLE_CONNECTED_ELEMENTS"] = "HANDLE_CONNECTED_ELEMENTS";
531
531
  EActionKey["CUSTOM"] = "CUSTOM";
532
+ EActionKey["FIELD_GROUP_SHOW"] = "FIELD_GROUP_SHOW";
533
+ EActionKey["FIELD_GROUP_HIDE"] = "FIELD_GROUP_HIDE";
534
+ EActionKey["FIELD_GROUP_ENABLE"] = "FIELD_GROUP_ENABLE";
535
+ EActionKey["FIELD_GROUP_DISABLE"] = "FIELD_GROUP_DISABLE";
532
536
  })(EActionKey || (EActionKey = {}));
533
537
 
534
538
  var EApiStatusType;
@@ -2103,6 +2107,7 @@
2103
2107
  this.onClickSaveForm = new i0.EventEmitter();
2104
2108
  this.onClickApiCall = new i0.EventEmitter();
2105
2109
  this.getActiveFormData = new i0.EventEmitter();
2110
+ this.fieldGroups = {};
2106
2111
  this.formFields = [];
2107
2112
  this.previousFormData = {};
2108
2113
  this.loading = true;
@@ -2192,6 +2197,7 @@
2192
2197
  switch (_h.label) {
2193
2198
  case 0:
2194
2199
  this.setFormFieldsFromFormConfig(formConfig);
2200
+ this.setFormFieldGroupsFromFormConfig(formConfig);
2195
2201
  this.setFormDataFromAllFormsData();
2196
2202
  _a = this;
2197
2203
  return [4 /*yield*/, this.formViewService.createFormGroup(this.formFields, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this))];
@@ -2269,6 +2275,9 @@
2269
2275
  this.formFields = formConfig.multiForm.fields;
2270
2276
  }
2271
2277
  };
2278
+ KwikIDFormViewComponent.prototype.setFormFieldGroupsFromFormConfig = function (formConfig) {
2279
+ this.fieldGroups = formConfig.fieldGroups;
2280
+ };
2272
2281
  KwikIDFormViewComponent.prototype.setFormDataFromAllFormsData = function () {
2273
2282
  if (hasKey$1(this.allFormsData, this.formConfig.key)) {
2274
2283
  this.formData = this.allFormsData[this.formConfig.key];
@@ -2277,10 +2286,101 @@
2277
2286
  this.formData = {};
2278
2287
  }
2279
2288
  };
2280
- KwikIDFormViewComponent.prototype.handleConnectedElementFieldActions = function (connectedFieldConfig, connectedField) {
2289
+ KwikIDFormViewComponent.prototype.handleConnectedElementFieldGroupActions = function (childFieldGroupConfig, parentField) {
2281
2290
  return __awaiter(this, void 0, void 0, function () {
2282
2291
  var rulesMapping, _a, _b, action, conditionSuccess, actions, e_3_1;
2283
2292
  var e_3, _c;
2293
+ return __generator(this, function (_d) {
2294
+ switch (_d.label) {
2295
+ case 0:
2296
+ if (!hasKey$1(childFieldGroupConfig, "rules")) return [3 /*break*/, 8];
2297
+ rulesMapping = new Rules$1(childFieldGroupConfig.rules, parentField, this.formData, this.previousFormData, this.allFormsData).mapping();
2298
+ _d.label = 1;
2299
+ case 1:
2300
+ _d.trys.push([1, 6, 7, 8]);
2301
+ _a = __values(childFieldGroupConfig.actions), _b = _a.next();
2302
+ _d.label = 2;
2303
+ case 2:
2304
+ if (!!_b.done) return [3 /*break*/, 5];
2305
+ action = _b.value;
2306
+ conditionSuccess = new Condition$1(action.condition, rulesMapping).evaluate();
2307
+ if (!conditionSuccess) return [3 /*break*/, 4];
2308
+ actions = new Actions$1(action, parentField, rulesMapping, this.allFormsData, this.formData, this.previousFormData, this.takeActionOnFieldGroup.bind(this));
2309
+ return [4 /*yield*/, actions.execute()];
2310
+ case 3:
2311
+ _d.sent();
2312
+ _d.label = 4;
2313
+ case 4:
2314
+ _b = _a.next();
2315
+ return [3 /*break*/, 2];
2316
+ case 5: return [3 /*break*/, 8];
2317
+ case 6:
2318
+ e_3_1 = _d.sent();
2319
+ e_3 = { error: e_3_1 };
2320
+ return [3 /*break*/, 8];
2321
+ case 7:
2322
+ try {
2323
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
2324
+ }
2325
+ finally { if (e_3) throw e_3.error; }
2326
+ return [7 /*endfinally*/];
2327
+ case 8: return [2 /*return*/];
2328
+ }
2329
+ });
2330
+ });
2331
+ };
2332
+ KwikIDFormViewComponent.prototype.handleConnectedElementFieldGroup = function (currentField, connectedFieldGroupConfig, eventType) {
2333
+ return __awaiter(this, void 0, void 0, function () {
2334
+ var _a;
2335
+ return __generator(this, function (_b) {
2336
+ switch (_b.label) {
2337
+ case 0:
2338
+ _a = eventType;
2339
+ switch (_a) {
2340
+ case "INIT": return [3 /*break*/, 1];
2341
+ case "VALUE_CHANGE": return [3 /*break*/, 4];
2342
+ case "NESTED_LINK": return [3 /*break*/, 7];
2343
+ }
2344
+ return [3 /*break*/, 9];
2345
+ case 1:
2346
+ if (!(hasKey$1(connectedFieldGroupConfig, "triggers") &&
2347
+ connectedFieldGroupConfig.triggers.includes("INIT"))) return [3 /*break*/, 3];
2348
+ return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2349
+ case 2:
2350
+ _b.sent();
2351
+ _b.label = 3;
2352
+ case 3: return [3 /*break*/, 12];
2353
+ case 4:
2354
+ if (!(hasKey$1(connectedFieldGroupConfig, "triggers") &&
2355
+ connectedFieldGroupConfig.triggers.includes("VALUE_CHANGE"))) return [3 /*break*/, 6];
2356
+ return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2357
+ case 5:
2358
+ _b.sent();
2359
+ _b.label = 6;
2360
+ case 6: return [3 /*break*/, 12];
2361
+ case 7:
2362
+ if (!(hasKey$1(connectedFieldGroupConfig, "triggers") &&
2363
+ connectedFieldGroupConfig.triggers.includes("NESTED_LINK"))) return [3 /*break*/, 9];
2364
+ return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2365
+ case 8:
2366
+ _b.sent();
2367
+ _b.label = 9;
2368
+ case 9:
2369
+ if (!hasKey$1(connectedFieldGroupConfig, "triggers")) return [3 /*break*/, 11];
2370
+ return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2371
+ case 10:
2372
+ _b.sent();
2373
+ _b.label = 11;
2374
+ case 11: return [3 /*break*/, 12];
2375
+ case 12: return [2 /*return*/];
2376
+ }
2377
+ });
2378
+ });
2379
+ };
2380
+ KwikIDFormViewComponent.prototype.handleConnectedElementFieldActions = function (connectedFieldConfig, connectedField) {
2381
+ return __awaiter(this, void 0, void 0, function () {
2382
+ var rulesMapping, _a, _b, action, conditionSuccess, actions, e_4_1;
2383
+ var e_4, _c;
2284
2384
  return __generator(this, function (_d) {
2285
2385
  switch (_d.label) {
2286
2386
  case 0:
@@ -2306,14 +2406,14 @@
2306
2406
  return [3 /*break*/, 2];
2307
2407
  case 5: return [3 /*break*/, 8];
2308
2408
  case 6:
2309
- e_3_1 = _d.sent();
2310
- e_3 = { error: e_3_1 };
2409
+ e_4_1 = _d.sent();
2410
+ e_4 = { error: e_4_1 };
2311
2411
  return [3 /*break*/, 8];
2312
2412
  case 7:
2313
2413
  try {
2314
2414
  if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
2315
2415
  }
2316
- finally { if (e_3) throw e_3.error; }
2416
+ finally { if (e_4) throw e_4.error; }
2317
2417
  return [7 /*endfinally*/];
2318
2418
  case 8: return [2 /*return*/, connectedField];
2319
2419
  }
@@ -2323,7 +2423,7 @@
2323
2423
  KwikIDFormViewComponent.prototype.handleConnectedElementFields = function (currentField, connectedFieldConfig, eventType) {
2324
2424
  return __awaiter(this, void 0, void 0, function () {
2325
2425
  var connectedField, _a, _b, _c, _d, _e, connectedFieldConfig_1;
2326
- var e_4, _f;
2426
+ var e_5, _f;
2327
2427
  return __generator(this, function (_g) {
2328
2428
  switch (_g.label) {
2329
2429
  case 0:
@@ -2389,19 +2489,21 @@
2389
2489
  case 19: return [3 /*break*/, 20];
2390
2490
  case 20:
2391
2491
  if (hasKey$1(connectedField, "connectedElements")) {
2392
- try {
2393
- for (_d = __values(connectedField.connectedElements
2394
- .fields), _e = _d.next(); !_e.done; _e = _d.next()) {
2395
- connectedFieldConfig_1 = _e.value;
2396
- connectedField = this.handleConnectedElementFields(connectedField, connectedFieldConfig_1, "NESTED_LINK");
2397
- }
2398
- }
2399
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
2400
- finally {
2492
+ if (hasKey$1(connectedField.connectedElements, "connectedFields")) {
2401
2493
  try {
2402
- if (_e && !_e.done && (_f = _d.return)) _f.call(_d);
2494
+ for (_d = __values(connectedField.connectedElements
2495
+ .connectedFields), _e = _d.next(); !_e.done; _e = _d.next()) {
2496
+ connectedFieldConfig_1 = _e.value;
2497
+ connectedField = this.handleConnectedElementFields(connectedField, connectedFieldConfig_1, "NESTED_LINK");
2498
+ }
2499
+ }
2500
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
2501
+ finally {
2502
+ try {
2503
+ if (_e && !_e.done && (_f = _d.return)) _f.call(_d);
2504
+ }
2505
+ finally { if (e_5) throw e_5.error; }
2403
2506
  }
2404
- finally { if (e_4) throw e_4.error; }
2405
2507
  }
2406
2508
  }
2407
2509
  return [2 /*return*/, currentField];
@@ -2410,24 +2512,75 @@
2410
2512
  });
2411
2513
  };
2412
2514
  KwikIDFormViewComponent.prototype.handleConnectedElements = function (e, eventType) {
2413
- var e_5, _a;
2414
- var currentField = findFieldFromKey(this.formFields, e.key);
2415
- if (hasKey$1(currentField, "connectedElements")) {
2416
- var connectedFields = currentField.connectedElements.connectedFields;
2417
- try {
2418
- for (var connectedFields_1 = __values(connectedFields), connectedFields_1_1 = connectedFields_1.next(); !connectedFields_1_1.done; connectedFields_1_1 = connectedFields_1.next()) {
2419
- var connectedFieldConfig = connectedFields_1_1.value;
2420
- currentField = this.handleConnectedElementFields(currentField, connectedFieldConfig, eventType);
2421
- }
2422
- }
2423
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
2424
- finally {
2425
- try {
2426
- if (connectedFields_1_1 && !connectedFields_1_1.done && (_a = connectedFields_1.return)) _a.call(connectedFields_1);
2515
+ return __awaiter(this, void 0, void 0, function () {
2516
+ var currentField, connectedFieldGroups, connectedFieldGroups_1, connectedFieldGroups_1_1, connectedFieldGroupConfig, e_6_1, connectedFields, connectedFields_1, connectedFields_1_1, connectedFieldConfig, e_7_1;
2517
+ var e_6, _a, e_7, _b;
2518
+ return __generator(this, function (_c) {
2519
+ switch (_c.label) {
2520
+ case 0:
2521
+ currentField = findFieldFromKey(this.formFields, e.key);
2522
+ if (!hasKey$1(currentField, "connectedElements")) return [3 /*break*/, 16];
2523
+ if (!hasKey$1(currentField.connectedElements, "connectedFieldGroups")) return [3 /*break*/, 8];
2524
+ connectedFieldGroups = currentField.connectedElements.connectedFieldGroups;
2525
+ _c.label = 1;
2526
+ case 1:
2527
+ _c.trys.push([1, 6, 7, 8]);
2528
+ connectedFieldGroups_1 = __values(connectedFieldGroups), connectedFieldGroups_1_1 = connectedFieldGroups_1.next();
2529
+ _c.label = 2;
2530
+ case 2:
2531
+ if (!!connectedFieldGroups_1_1.done) return [3 /*break*/, 5];
2532
+ connectedFieldGroupConfig = connectedFieldGroups_1_1.value;
2533
+ return [4 /*yield*/, this.handleConnectedElementFieldGroup(currentField, connectedFieldGroupConfig, eventType)];
2534
+ case 3:
2535
+ _c.sent();
2536
+ _c.label = 4;
2537
+ case 4:
2538
+ connectedFieldGroups_1_1 = connectedFieldGroups_1.next();
2539
+ return [3 /*break*/, 2];
2540
+ case 5: return [3 /*break*/, 8];
2541
+ case 6:
2542
+ e_6_1 = _c.sent();
2543
+ e_6 = { error: e_6_1 };
2544
+ return [3 /*break*/, 8];
2545
+ case 7:
2546
+ try {
2547
+ if (connectedFieldGroups_1_1 && !connectedFieldGroups_1_1.done && (_a = connectedFieldGroups_1.return)) _a.call(connectedFieldGroups_1);
2548
+ }
2549
+ finally { if (e_6) throw e_6.error; }
2550
+ return [7 /*endfinally*/];
2551
+ case 8:
2552
+ if (!hasKey$1(currentField.connectedElements, "connectedFields")) return [3 /*break*/, 16];
2553
+ connectedFields = currentField.connectedElements.connectedFields;
2554
+ _c.label = 9;
2555
+ case 9:
2556
+ _c.trys.push([9, 14, 15, 16]);
2557
+ connectedFields_1 = __values(connectedFields), connectedFields_1_1 = connectedFields_1.next();
2558
+ _c.label = 10;
2559
+ case 10:
2560
+ if (!!connectedFields_1_1.done) return [3 /*break*/, 13];
2561
+ connectedFieldConfig = connectedFields_1_1.value;
2562
+ return [4 /*yield*/, this.handleConnectedElementFields(currentField, connectedFieldConfig, eventType)];
2563
+ case 11:
2564
+ currentField = _c.sent();
2565
+ _c.label = 12;
2566
+ case 12:
2567
+ connectedFields_1_1 = connectedFields_1.next();
2568
+ return [3 /*break*/, 10];
2569
+ case 13: return [3 /*break*/, 16];
2570
+ case 14:
2571
+ e_7_1 = _c.sent();
2572
+ e_7 = { error: e_7_1 };
2573
+ return [3 /*break*/, 16];
2574
+ case 15:
2575
+ try {
2576
+ if (connectedFields_1_1 && !connectedFields_1_1.done && (_b = connectedFields_1.return)) _b.call(connectedFields_1);
2577
+ }
2578
+ finally { if (e_7) throw e_7.error; }
2579
+ return [7 /*endfinally*/];
2580
+ case 16: return [2 /*return*/];
2427
2581
  }
2428
- finally { if (e_5) throw e_5.error; }
2429
- }
2430
- }
2582
+ });
2583
+ });
2431
2584
  };
2432
2585
  // DOM Event Handlers
2433
2586
  KwikIDFormViewComponent.prototype.handleGetKeyValue = function (e) {
@@ -2459,8 +2612,8 @@
2459
2612
  };
2460
2613
  KwikIDFormViewComponent.prototype.handleOnClickResetFormFields = function (e, field) {
2461
2614
  return __awaiter(this, void 0, void 0, function () {
2462
- var _a, _b, f, _c, _d, a, resetField, actions, e_6_1, e_7_1;
2463
- var e_7, _e, e_6, _f;
2615
+ var _a, _b, f, _c, _d, a, resetField, actions, e_8_1, e_9_1;
2616
+ var e_9, _e, e_8, _f;
2464
2617
  return __generator(this, function (_g) {
2465
2618
  switch (_g.label) {
2466
2619
  case 0:
@@ -2473,7 +2626,7 @@
2473
2626
  _g.label = 2;
2474
2627
  case 2:
2475
2628
  _g.trys.push([2, 7, 8, 9]);
2476
- _c = (e_6 = void 0, __values(f.actions)), _d = _c.next();
2629
+ _c = (e_8 = void 0, __values(f.actions)), _d = _c.next();
2477
2630
  _g.label = 3;
2478
2631
  case 3:
2479
2632
  if (!!_d.done) return [3 /*break*/, 6];
@@ -2489,28 +2642,28 @@
2489
2642
  return [3 /*break*/, 3];
2490
2643
  case 6: return [3 /*break*/, 9];
2491
2644
  case 7:
2492
- e_6_1 = _g.sent();
2493
- e_6 = { error: e_6_1 };
2645
+ e_8_1 = _g.sent();
2646
+ e_8 = { error: e_8_1 };
2494
2647
  return [3 /*break*/, 9];
2495
2648
  case 8:
2496
2649
  try {
2497
2650
  if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
2498
2651
  }
2499
- finally { if (e_6) throw e_6.error; }
2652
+ finally { if (e_8) throw e_8.error; }
2500
2653
  return [7 /*endfinally*/];
2501
2654
  case 9:
2502
2655
  _b = _a.next();
2503
2656
  return [3 /*break*/, 1];
2504
2657
  case 10: return [3 /*break*/, 13];
2505
2658
  case 11:
2506
- e_7_1 = _g.sent();
2507
- e_7 = { error: e_7_1 };
2659
+ e_9_1 = _g.sent();
2660
+ e_9 = { error: e_9_1 };
2508
2661
  return [3 /*break*/, 13];
2509
2662
  case 12:
2510
2663
  try {
2511
2664
  if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
2512
2665
  }
2513
- finally { if (e_7) throw e_7.error; }
2666
+ finally { if (e_9) throw e_9.error; }
2514
2667
  return [7 /*endfinally*/];
2515
2668
  case 13: return [2 /*return*/];
2516
2669
  }
@@ -2576,7 +2729,7 @@
2576
2729
  });
2577
2730
  };
2578
2731
  KwikIDFormViewComponent.prototype.handleOnClickSaveForm = function (e) {
2579
- var e_8, _a, e_9, _b, e_10, _c;
2732
+ var e_10, _a, e_11, _b, e_12, _c;
2580
2733
  var _this = this;
2581
2734
  var formData = this.formGroup.getRawValue();
2582
2735
  try {
@@ -2592,12 +2745,12 @@
2592
2745
  }
2593
2746
  }
2594
2747
  }
2595
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
2748
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
2596
2749
  finally {
2597
2750
  try {
2598
2751
  if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
2599
2752
  }
2600
- finally { if (e_8) throw e_8.error; }
2753
+ finally { if (e_10) throw e_10.error; }
2601
2754
  }
2602
2755
  var _loop_3 = function (field) {
2603
2756
  if (field.type !== EFieldType.TITLE &&
@@ -2622,12 +2775,12 @@
2622
2775
  _loop_3(field);
2623
2776
  }
2624
2777
  }
2625
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
2778
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
2626
2779
  finally {
2627
2780
  try {
2628
2781
  if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
2629
2782
  }
2630
- finally { if (e_9) throw e_9.error; }
2783
+ finally { if (e_11) throw e_11.error; }
2631
2784
  }
2632
2785
  if (this.formGroup.invalid) {
2633
2786
  var controls = new Validations$1(undefined, formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this)).findInvalidControlsRecursive(this.formGroup);
@@ -2641,14 +2794,17 @@
2641
2794
  this.formFields = setFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
2642
2795
  }
2643
2796
  }
2644
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
2797
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
2645
2798
  finally {
2646
2799
  try {
2647
2800
  if (controls_1_1 && !controls_1_1.done && (_c = controls_1.return)) _c.call(controls_1);
2648
2801
  }
2649
- finally { if (e_10) throw e_10.error; }
2802
+ finally { if (e_12) throw e_12.error; }
2650
2803
  }
2651
2804
  this.toggleErrorNotification(true);
2805
+ setTimeout(function () {
2806
+ _this.toggleErrorNotification(false);
2807
+ }, 3000);
2652
2808
  return;
2653
2809
  }
2654
2810
  Object.keys(formData).map(function (key) {
@@ -2668,6 +2824,23 @@
2668
2824
  return field.key === _.key;
2669
2825
  });
2670
2826
  this.formFields[fieldIndex]["hidden"] = true;
2827
+ this.formGroup.updateValueAndValidity();
2828
+ };
2829
+ KwikIDFormViewComponent.prototype.fieldGroupHide = function (fieldGroup) {
2830
+ var e_13, _a;
2831
+ try {
2832
+ for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2833
+ var fieldKey = _c.value;
2834
+ this.fieldHide(fieldKey);
2835
+ }
2836
+ }
2837
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
2838
+ finally {
2839
+ try {
2840
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2841
+ }
2842
+ finally { if (e_13) throw e_13.error; }
2843
+ }
2671
2844
  };
2672
2845
  KwikIDFormViewComponent.prototype.fieldShow = function (fieldKey) {
2673
2846
  var field = findFieldFromKey(this.formFields, fieldKey);
@@ -2677,16 +2850,51 @@
2677
2850
  this.formFields[fieldIndex]["hidden"] = false;
2678
2851
  this.formGroup.updateValueAndValidity();
2679
2852
  };
2853
+ KwikIDFormViewComponent.prototype.fieldGroupShow = function (fieldGroup) {
2854
+ var e_14, _a;
2855
+ try {
2856
+ for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2857
+ var fieldKey = _c.value;
2858
+ this.fieldShow(fieldKey);
2859
+ }
2860
+ }
2861
+ catch (e_14_1) { e_14 = { error: e_14_1 }; }
2862
+ finally {
2863
+ try {
2864
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2865
+ }
2866
+ finally { if (e_14) throw e_14.error; }
2867
+ }
2868
+ };
2680
2869
  KwikIDFormViewComponent.prototype.fieldDisable = function (fieldKey) {
2681
2870
  var field = findFieldFromKey(this.formFields, fieldKey);
2682
2871
  var fieldIndex = this.formFields.findIndex(function (_) {
2683
2872
  return field.key === _.key;
2684
2873
  });
2685
- this.formFields[fieldIndex]["disabled"] = true;
2686
- if (isNotEmpty(this.formGroup.controls)) {
2687
- this.formGroup.controls[field.key].disable({
2688
- emitEvent: false
2689
- });
2874
+ if (field.type !== EFieldType.TITLE) {
2875
+ this.formFields[fieldIndex]["disabled"] = true;
2876
+ if (isNotEmpty(this.formGroup.controls)) {
2877
+ this.formGroup.controls[field.key].disable({
2878
+ emitEvent: false
2879
+ });
2880
+ }
2881
+ this.formGroup.updateValueAndValidity();
2882
+ }
2883
+ };
2884
+ KwikIDFormViewComponent.prototype.fieldGroupDisable = function (fieldGroup) {
2885
+ var e_15, _a;
2886
+ try {
2887
+ for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2888
+ var fieldKey = _c.value;
2889
+ this.fieldDisable(fieldKey);
2890
+ }
2891
+ }
2892
+ catch (e_15_1) { e_15 = { error: e_15_1 }; }
2893
+ finally {
2894
+ try {
2895
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2896
+ }
2897
+ finally { if (e_15) throw e_15.error; }
2690
2898
  }
2691
2899
  };
2692
2900
  KwikIDFormViewComponent.prototype.fieldEnable = function (fieldKey) {
@@ -2694,11 +2902,30 @@
2694
2902
  var fieldIndex = this.formFields.findIndex(function (_) {
2695
2903
  return field.key === _.key;
2696
2904
  });
2697
- this.formFields[fieldIndex]["disabled"] = false;
2698
- if (isNotEmpty(this.formGroup.controls)) {
2699
- this.formGroup.controls[field.key].enable({
2700
- emitEvent: false
2701
- });
2905
+ if (field.type !== EFieldType.TITLE) {
2906
+ this.formFields[fieldIndex]["disabled"] = false;
2907
+ if (isNotEmpty(this.formGroup.controls)) {
2908
+ this.formGroup.controls[field.key].enable({
2909
+ emitEvent: false
2910
+ });
2911
+ }
2912
+ this.formGroup.updateValueAndValidity();
2913
+ }
2914
+ };
2915
+ KwikIDFormViewComponent.prototype.fieldGroupEnable = function (fieldGroup) {
2916
+ var e_16, _a;
2917
+ try {
2918
+ for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2919
+ var fieldKey = _c.value;
2920
+ this.fieldEnable(fieldKey);
2921
+ }
2922
+ }
2923
+ catch (e_16_1) { e_16 = { error: e_16_1 }; }
2924
+ finally {
2925
+ try {
2926
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2927
+ }
2928
+ finally { if (e_16) throw e_16.error; }
2702
2929
  }
2703
2930
  };
2704
2931
  KwikIDFormViewComponent.prototype.fieldReset = function (fieldKey) {
@@ -2808,6 +3035,29 @@
2808
3035
  });
2809
3036
  });
2810
3037
  };
3038
+ KwikIDFormViewComponent.prototype.takeActionOnFieldGroup = function (action, field, allFormsData, formData, previousFormData) {
3039
+ return __awaiter(this, void 0, void 0, function () {
3040
+ return __generator(this, function (_a) {
3041
+ switch (action.key) {
3042
+ case EActionKey.FIELD_GROUP_HIDE:
3043
+ this.fieldGroupHide(action.props.groupKey);
3044
+ break;
3045
+ case EActionKey.FIELD_GROUP_SHOW:
3046
+ this.fieldGroupShow(action.props.groupKey);
3047
+ break;
3048
+ case EActionKey.FIELD_GROUP_ENABLE:
3049
+ this.fieldGroupEnable(action.props.groupKey);
3050
+ break;
3051
+ case EActionKey.FIELD_GROUP_DISABLE:
3052
+ this.fieldGroupDisable(action.props.groupKey);
3053
+ break;
3054
+ default:
3055
+ break;
3056
+ }
3057
+ return [2 /*return*/];
3058
+ });
3059
+ });
3060
+ };
2811
3061
  KwikIDFormViewComponent.prototype.takeAction = function (action, field, allFormsData, formData, previousFormData) {
2812
3062
  return __awaiter(this, void 0, void 0, function () {
2813
3063
  var _a, sources, sourceValue;
@@ -2881,7 +3131,7 @@
2881
3131
  return KwikIDFormViewComponent;
2882
3132
  }());
2883
3133
  /** @nocollapse */ KwikIDFormViewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: KwikIDFormViewComponent, deps: [{ token: i4.TuiPushService }, { token: i3.TuiAlertService }, { token: KwikIDFormViewService }], target: i0__namespace.ɵɵFactoryTarget.Component });
2884
- /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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\r\n class=\"kwikid-form-container\"\r\n *ngIf=\"!this.loading\"\r\n>\r\n <div id=\"uf-form-fields-header-container\">\r\n <div id=\"uf-form-fields-title\">\r\n {{ this.formConfig.title }}\r\n </div>\r\n <div id=\"uf-form-fields-steps\">\r\n Step {{ this.formConfig.sequenceNo }} of {{ this.formsList.length }}\r\n </div>\r\n <hr />\r\n </div>\r\n <form\r\n class=\"kwikid-form show\"\r\n [formGroup]=\"this.formGroup\"\r\n >\r\n <ng-container *ngFor=\"let field of this.formFields; let i = index\">\r\n <ng-container [ngSwitch]=\"field.type\">\r\n <!-- Form Title -->\r\n <ng-container *ngSwitchCase=\"'title'\">\r\n <div\r\n class=\"title\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <div>\r\n {{ field.label }}\r\n </div>\r\n <kwikui-button\r\n *ngIf=\"field?.reset\"\r\n appearance=\"whiteblock\"\r\n size=\"s\"\r\n label=\"Reset\"\r\n (onClick)=\"this.handleOnClickResetFormFields($event, field)\"\r\n ></kwikui-button>\r\n </div>\r\n </ng-container>\r\n <!-- Input Text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-input\r\n [case]=\"field?.properties?.case\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field.label\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [type]=\"'text'\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Checkbox -->\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-checkbox-block\r\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.properties?.placeholder\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [size]=\"field?.properties?.size ?? 'l'\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-checkbox-block\r\n ><kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-input-number\r\n [decimal]=\"field?.properties?.decimal\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [max]=\"field?.properties?.max\"\r\n [min]=\"field?.properties?.min\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [postfix]=\"field?.properties?.postfix ?? ''\"\r\n [precision]=\"field?.properties?.precision\"\r\n [prefix]=\"field?.properties?.prefix ?? ''\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-number\r\n ><kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-input-date\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field.label\"\r\n [max]=\"field?.properties?.max\"\r\n [min]=\"field?.properties?.min\"\r\n [placeholder]=\"field?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-date>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Phone -->\r\n <ng-container *ngSwitchCase=\"'phone'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-input-phone\r\n [countryCode]=\"field?.properties?.countryCode\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [phoneMaskAfterCountryCode]=\"\r\n field?.properties?.phoneMaskAfterCountryCode\r\n \"\r\n [placeholder]=\"field?.placeholder\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-phone>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Radio -->\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <label\r\n [tuiLabel]=\"labelTemplate\"\r\n style=\"min-height: auto\"\r\n >\r\n <kwikui-radio-list\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [items]=\"field?.options\"\r\n [label]=\"field?.label\"\r\n [orientation]=\"field?.properties?.orientation\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [size]=\"field?.properties?.size\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-radio-list>\r\n </label>\r\n <ng-template #labelTemplate>\r\n <p\r\n class=\"tui-space_bottom-2\"\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <b>\r\n {{ field.label }}\r\n <span *ngIf=\"field.validators?.required\"></span>\r\n </b>\r\n </p>\r\n </ng-template>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Dropdown -->\r\n <ng-container *ngSwitchCase=\"'dropdown-with-search'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-select-combobox\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field.label\"\r\n [options]=\"field.options\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-select-combobox>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- API Call -->\r\n <ng-container *ngSwitchCase=\"'api-call'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-button-api-call\r\n [apiStatus]=\"field?.api?.status?.value\"\r\n [class]=\"field?.class\"\r\n [disabled]=\"field?.disabled\"\r\n [id]=\"field.key\"\r\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\r\n [showLoader]=\"field?.disabled === 'loading'\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: fit-content\"\r\n (onClick)=\"this.handleOnClickApiCall($event)\"\r\n ></kwikui-button-api-call>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Mobile OTP -->\r\n <ng-container *ngSwitchCase=\"'otp'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-input-otp\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [mask]=\"field?.properties?.mask\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-otp>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Aadhaar Number -->\r\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-input-aadhaar\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [placeholder]=\"field?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-aadhaar>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </form>\r\n <div class=\"kwikid-form-buttons\">\r\n <kwikui-button\r\n *ngIf=\"this.isMobileView\"\r\n [disabled]=\"viewFormsButton.disabled\"\r\n id=\"\"\r\n label=\"View Forms\"\r\n [showLoader]=\"viewFormsButton.showLoader\"\r\n styles=\"\"\r\n class=\"\"\r\n type=\"button\"\r\n appearance=\"secondary\"\r\n icon=\"\"\r\n iconRight=\"\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: 100%\"\r\n (onClick)=\"this.handleOnClickViewForms($event)\"\r\n ></kwikui-button>\r\n <kwikui-button\r\n [disabled]=\"saveFormButton.disabled\"\r\n id=\"\"\r\n label=\"Save\"\r\n [showLoader]=\"saveFormButton.showLoader\"\r\n styles=\"\"\r\n class=\"\"\r\n type=\"button\"\r\n appearance=\"primary\"\r\n icon=\"\"\r\n iconRight=\"\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: 100%\"\r\n (onClick)=\"this.handleOnClickSaveForm($event)\"\r\n ></kwikui-button>\r\n </div>\r\n</div>\r\n<div\r\n class=\"kwikid-form-container-loading\"\r\n *ngIf=\"this.loading\"\r\n>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n</div>\r\n<tui-push\r\n id=\"field-error-notification\"\r\n *tuiPush=\"showErrorNotification\"\r\n heading=\"Missing/Incorrect Fields!\"\r\n type=\"Error\"\r\n (close)=\"toggleErrorNotification(false)\"\r\n>\r\n <tui-svg\r\n src=\"tuiIconCancel\"\r\n style=\"color: #fff !important\"\r\n >\r\n </tui-svg>\r\n</tui-push>\r\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}.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", "focus", "invalid", "disabled", "placeholder", "min", "max", "prefix", "postfix", "precision", "decimal", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "min", "max", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "countryCode", "phoneMaskAfterCountryCode", "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", "items", "orientation", "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" }] });
3134
+ /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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\r\n class=\"kwikid-form-container\"\r\n *ngIf=\"!this.loading\"\r\n>\r\n <div id=\"uf-form-fields-header-container\">\r\n <div id=\"uf-form-fields-title\">\r\n {{ this.formConfig.title }}\r\n </div>\r\n <div id=\"uf-form-fields-steps\">\r\n Step {{ this.formConfig.sequenceNo }} of {{ this.formsList.length }}\r\n </div>\r\n <hr />\r\n </div>\r\n <form\r\n class=\"kwikid-form show\"\r\n [formGroup]=\"this.formGroup\"\r\n >\r\n <ng-container *ngFor=\"let field of this.formFields; let i = index\">\r\n <ng-container [ngSwitch]=\"field.type\">\r\n <!-- Form Title -->\r\n <ng-container *ngSwitchCase=\"'title'\">\r\n <div\r\n class=\"title\"\r\n [class.hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <div>\r\n {{ field.label }}\r\n </div>\r\n <kwikui-button\r\n *ngIf=\"field?.reset\"\r\n appearance=\"whiteblock\"\r\n size=\"s\"\r\n label=\"Reset\"\r\n (onClick)=\"this.handleOnClickResetFormFields($event, field)\"\r\n ></kwikui-button>\r\n </div>\r\n </ng-container>\r\n <!-- Input Text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-input\r\n [case]=\"field?.properties?.case\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field.label\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [type]=\"'text'\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Checkbox -->\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-checkbox-block\r\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.properties?.placeholder\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [size]=\"field?.properties?.size ?? 'l'\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-checkbox-block\r\n ><kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-input-number\r\n [decimal]=\"field?.properties?.decimal\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [max]=\"field?.properties?.max\"\r\n [min]=\"field?.properties?.min\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [postfix]=\"field?.properties?.postfix ?? ''\"\r\n [precision]=\"field?.properties?.precision\"\r\n [prefix]=\"field?.properties?.prefix ?? ''\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-number\r\n ><kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-input-date\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field.label\"\r\n [max]=\"field?.properties?.max\"\r\n [min]=\"field?.properties?.min\"\r\n [placeholder]=\"field?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-date>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Phone -->\r\n <ng-container *ngSwitchCase=\"'phone'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-input-phone\r\n [countryCode]=\"field?.properties?.countryCode\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [phoneMaskAfterCountryCode]=\"\r\n field?.properties?.phoneMaskAfterCountryCode\r\n \"\r\n [placeholder]=\"field?.placeholder\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-phone>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Radio -->\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <label\r\n [tuiLabel]=\"labelTemplate\"\r\n style=\"min-height: auto\"\r\n >\r\n <kwikui-radio-list\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [items]=\"field?.options\"\r\n [label]=\"field?.label\"\r\n [orientation]=\"field?.properties?.orientation\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [size]=\"field?.properties?.size\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-radio-list>\r\n </label>\r\n <ng-template #labelTemplate>\r\n <p\r\n class=\"tui-space_bottom-2\"\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <b>\r\n {{ field.label }}\r\n <span *ngIf=\"field.validators?.required\"></span>\r\n </b>\r\n </p>\r\n </ng-template>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Dropdown -->\r\n <ng-container *ngSwitchCase=\"'dropdown-with-search'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-select-combobox\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field.label\"\r\n [options]=\"field.options\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-select-combobox>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- API Call -->\r\n <ng-container *ngSwitchCase=\"'api-call'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-button-api-call\r\n [apiStatus]=\"field?.api?.status?.value\"\r\n [class]=\"field?.class\"\r\n [disabled]=\"field?.disabled\"\r\n [id]=\"field.key\"\r\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\r\n [showLoader]=\"field?.disabled === 'loading'\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: fit-content\"\r\n (onClick)=\"this.handleOnClickApiCall($event)\"\r\n ></kwikui-button-api-call>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Mobile OTP -->\r\n <ng-container *ngSwitchCase=\"'otp'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-input-otp\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [mask]=\"field?.properties?.mask\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-otp>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Aadhaar Number -->\r\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\r\n <div\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\r\n <kwikui-input-aadhaar\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [placeholder]=\"field?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-aadhaar>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </form>\r\n <div class=\"kwikid-form-buttons\">\r\n <kwikui-button\r\n *ngIf=\"this.isMobileView\"\r\n [disabled]=\"viewFormsButton.disabled\"\r\n id=\"\"\r\n label=\"View Forms\"\r\n [showLoader]=\"viewFormsButton.showLoader\"\r\n styles=\"\"\r\n class=\"\"\r\n type=\"button\"\r\n appearance=\"secondary\"\r\n icon=\"\"\r\n iconRight=\"\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: 100%\"\r\n (onClick)=\"this.handleOnClickViewForms($event)\"\r\n ></kwikui-button>\r\n <kwikui-button\r\n [disabled]=\"saveFormButton.disabled\"\r\n id=\"\"\r\n label=\"Save\"\r\n [showLoader]=\"saveFormButton.showLoader\"\r\n styles=\"\"\r\n class=\"\"\r\n type=\"button\"\r\n appearance=\"primary\"\r\n icon=\"\"\r\n iconRight=\"\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: 100%\"\r\n (onClick)=\"this.handleOnClickSaveForm($event)\"\r\n ></kwikui-button>\r\n </div>\r\n</div>\r\n<div\r\n class=\"kwikid-form-container-loading\"\r\n *ngIf=\"this.loading\"\r\n>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n</div>\r\n<tui-push\r\n id=\"field-error-notification\"\r\n *tuiPush=\"showErrorNotification\"\r\n heading=\"Missing/Incorrect Fields!\"\r\n type=\"Error\"\r\n (close)=\"toggleErrorNotification(false)\"\r\n>\r\n <tui-svg\r\n src=\"tuiIconCancel\"\r\n style=\"color: #fff !important\"\r\n >\r\n </tui-svg>\r\n</tui-push>\r\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" }] });
2885
3135
  __decorate([
2886
3136
  log
2887
3137
  ], KwikIDFormViewComponent.prototype, "ngOnInit", null);
@@ -2897,9 +3147,18 @@
2897
3147
  __decorate([
2898
3148
  log
2899
3149
  ], KwikIDFormViewComponent.prototype, "setFormFieldsFromFormConfig", null);
3150
+ __decorate([
3151
+ log
3152
+ ], KwikIDFormViewComponent.prototype, "setFormFieldGroupsFromFormConfig", null);
2900
3153
  __decorate([
2901
3154
  log
2902
3155
  ], KwikIDFormViewComponent.prototype, "setFormDataFromAllFormsData", null);
3156
+ __decorate([
3157
+ log
3158
+ ], KwikIDFormViewComponent.prototype, "handleConnectedElementFieldGroupActions", null);
3159
+ __decorate([
3160
+ log
3161
+ ], KwikIDFormViewComponent.prototype, "handleConnectedElementFieldGroup", null);
2903
3162
  __decorate([
2904
3163
  log
2905
3164
  ], KwikIDFormViewComponent.prototype, "handleConnectedElementFieldActions", null);
@@ -2930,15 +3189,27 @@
2930
3189
  __decorate([
2931
3190
  log
2932
3191
  ], KwikIDFormViewComponent.prototype, "fieldHide", null);
3192
+ __decorate([
3193
+ log
3194
+ ], KwikIDFormViewComponent.prototype, "fieldGroupHide", null);
2933
3195
  __decorate([
2934
3196
  log
2935
3197
  ], KwikIDFormViewComponent.prototype, "fieldShow", null);
3198
+ __decorate([
3199
+ log
3200
+ ], KwikIDFormViewComponent.prototype, "fieldGroupShow", null);
2936
3201
  __decorate([
2937
3202
  log
2938
3203
  ], KwikIDFormViewComponent.prototype, "fieldDisable", null);
3204
+ __decorate([
3205
+ log
3206
+ ], KwikIDFormViewComponent.prototype, "fieldGroupDisable", null);
2939
3207
  __decorate([
2940
3208
  log
2941
3209
  ], KwikIDFormViewComponent.prototype, "fieldEnable", null);
3210
+ __decorate([
3211
+ log
3212
+ ], KwikIDFormViewComponent.prototype, "fieldGroupEnable", null);
2942
3213
  __decorate([
2943
3214
  log
2944
3215
  ], KwikIDFormViewComponent.prototype, "fieldReset", null);
@@ -2972,6 +3243,9 @@
2972
3243
  __decorate([
2973
3244
  log
2974
3245
  ], KwikIDFormViewComponent.prototype, "handleFieldTypeSearchText", null);
3246
+ __decorate([
3247
+ log
3248
+ ], KwikIDFormViewComponent.prototype, "takeActionOnFieldGroup", null);
2975
3249
  __decorate([
2976
3250
  log
2977
3251
  ], KwikIDFormViewComponent.prototype, "takeAction", null);
@@ -3011,7 +3285,7 @@
3011
3285
  type: i0.Output
3012
3286
  }], getActiveFormData: [{
3013
3287
  type: i0.Output
3014
- }], ngOnInit: [], ngAfterViewInit: [], ngOnChanges: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleOnClickApiCall: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], toggleErrorNotification: [], fieldHide: [], fieldShow: [], fieldDisable: [], fieldEnable: [], fieldReset: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [], setObjectValue: [], patchFieldControlValue: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], handleFieldTypeSearchText: [], takeAction: [] } });
3288
+ }], 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: [] } });
3015
3289
 
3016
3290
  var hasKey = function (object, key) {
3017
3291
  return object.hasOwnProperty(key);
@@ -3444,11 +3718,6 @@
3444
3718
  var _this = this;
3445
3719
  var updateOnFieldType = function (field) {
3446
3720
  var formatFieldTypeTitle = function (field) {
3447
- var fieldKey = field.type + "_" + field.label
3448
- .split(" ")
3449
- .join("_")
3450
- .toLocaleLowerCase();
3451
- field = _this.setFieldKeyValue(field, "key", fieldKey);
3452
3721
  field = _this.setFieldKeyValue(field, "hidden", false);
3453
3722
  return field;
3454
3723
  };
@@ -3735,7 +4004,6 @@
3735
4004
  default:
3736
4005
  break;
3737
4006
  }
3738
- console.log(field.key, field.validators);
3739
4007
  if (isEmpty$1((_a = field.validators) === null || _a === void 0 ? void 0 : _a.min)) {
3740
4008
  delete field.validators.min;
3741
4009
  }
@@ -3961,11 +4229,27 @@
3961
4229
  }
3962
4230
  return formConfig;
3963
4231
  };
4232
+ var setFormFieldGroups = function (formConfig, groups) {
4233
+ formConfig["fieldGroups"] = groups;
4234
+ return formConfig;
4235
+ };
4236
+ var updateFormFieldGroups = function (fieldGroups, field) {
4237
+ if (hasKey$2(field, "groupKey")) {
4238
+ if (hasKey$2(fieldGroups, field.groupKey)) {
4239
+ fieldGroups[field.groupKey].push(field.key);
4240
+ }
4241
+ else {
4242
+ fieldGroups[field.groupKey] = [field.key];
4243
+ }
4244
+ }
4245
+ return fieldGroups;
4246
+ };
3964
4247
  var connectedFieldMapping = {
3965
4248
  parent: {},
3966
4249
  child: {}
3967
4250
  };
3968
4251
  var fields = this.getFormFields(formConfig);
4252
+ var fieldGroups = {};
3969
4253
  try {
3970
4254
  for (var fields_1 = __values(fields), fields_1_1 = fields_1.next(); !fields_1_1.done; fields_1_1 = fields_1.next()) {
3971
4255
  var field = fields_1_1.value;
@@ -3976,6 +4260,7 @@
3976
4260
  // connectedFieldMapping
3977
4261
  // );
3978
4262
  // field = updateConnectedElementsKeyValue(field, connectedFieldMapping);
4263
+ fieldGroups = updateFormFieldGroups(fieldGroups, field);
3979
4264
  field = updateFieldDefaultValueConfig(field);
3980
4265
  field = updateFieldValidatorConfig(field);
3981
4266
  field = updateFieldResetButton(field);
@@ -3989,6 +4274,7 @@
3989
4274
  }
3990
4275
  finally { if (e_1) throw e_1.error; }
3991
4276
  }
4277
+ formConfig = setFormFieldGroups(formConfig, fieldGroups);
3992
4278
  formConfig = setFormFields(formConfig, fields);
3993
4279
  return formConfig;
3994
4280
  };
@@ -4125,12 +4411,39 @@
4125
4411
  }
4126
4412
  return formsList;
4127
4413
  };
4414
+ KwikIDRendererService.prototype.filterAllFormsData = function (allFormsData, formsList) {
4415
+ var e_4, _a, _b;
4416
+ var currentUserFormAllFormsData = {};
4417
+ try {
4418
+ for (var formsList_4 = __values(formsList), formsList_4_1 = formsList_4.next(); !formsList_4_1.done; formsList_4_1 = formsList_4.next()) {
4419
+ var form = formsList_4_1.value;
4420
+ if (hasKey$2(allFormsData, form.key)) {
4421
+ currentUserFormAllFormsData = Object.assign(Object.assign({}, currentUserFormAllFormsData), (_b = {}, _b[form.key] = allFormsData[form.key], _b));
4422
+ }
4423
+ }
4424
+ }
4425
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
4426
+ finally {
4427
+ try {
4428
+ if (formsList_4_1 && !formsList_4_1.done && (_a = formsList_4.return)) _a.call(formsList_4);
4429
+ }
4430
+ finally { if (e_4) throw e_4.error; }
4431
+ }
4432
+ return currentUserFormAllFormsData;
4433
+ };
4128
4434
  KwikIDRendererService.prototype.updateFormsList = function () {
4129
4435
  var formsList = this.formsList;
4130
4436
  var formsListCompleted;
4131
4437
  var activeFormConfig;
4132
4438
  formsList = this.assignSequenceNoToForm(formsList);
4133
- formsListCompleted = this.findCompletedFormsList(this.allFormsData);
4439
+ /**
4440
+ * Below code identifies the allFormsData required for the current User Form.
4441
+ * Why? Because allFormsData will actually contain the whole journey's all
4442
+ * possible User Form steps. So, it is important to set the form data which
4443
+ * this particular User Form only has to LOCAL METHOD Variable.
4444
+ */
4445
+ var currentUserFormAllFormsData = this.filterAllFormsData(this.allFormsData, formsList);
4446
+ formsListCompleted = this.findCompletedFormsList(currentUserFormAllFormsData);
4134
4447
  formsList = this.markFormInFormsListAsCompleted(formsList, formsListCompleted);
4135
4448
  formsList = this.markFormInFormsListAsDisabled(formsList, formsListCompleted);
4136
4449
  if (formsList.length !== formsListCompleted.length) {
@@ -4306,6 +4619,7 @@
4306
4619
  if (this.userConfig.userFormFieldsConfig.validation) {
4307
4620
  var validations_1 = new Validations(this.userConfig, this.takeAction.bind(this));
4308
4621
  (function () { return __awaiter(_this, void 0, void 0, function () {
4622
+ var _this = this;
4309
4623
  return __generator(this, function (_b) {
4310
4624
  switch (_b.label) {
4311
4625
  case 0: return [4 /*yield*/, validations_1.validateField()];
@@ -4316,6 +4630,9 @@
4316
4630
  }
4317
4631
  else {
4318
4632
  this.toggleErrorNotification(true);
4633
+ setTimeout(function () {
4634
+ _this.toggleErrorNotification(false);
4635
+ }, 3000);
4319
4636
  }
4320
4637
  return [2 /*return*/];
4321
4638
  }