kwikid-forms 0.1.8 → 0.1.10

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 (55) hide show
  1. package/bundles/kwikid-forms.umd.js +405 -878
  2. package/bundles/kwikid-forms.umd.js.map +1 -1
  3. package/esm2015/lib/renderer/form-view/definitions/form-view.actions.definition.js +21 -0
  4. package/esm2015/lib/renderer/form-view/definitions/form-view.apis.definition.js +8 -0
  5. package/esm2015/lib/renderer/form-view/definitions/form-view.commons.definition.js +8 -0
  6. package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +16 -0
  7. package/esm2015/lib/renderer/form-view/definitions/form-view.form-validations.definition.js +2 -0
  8. package/esm2015/lib/renderer/form-view/definitions/form-view.triggers.definition.js +2 -0
  9. package/esm2015/lib/renderer/form-view/form-view.component.js +101 -93
  10. package/esm2015/lib/renderer/form-view/form-view.service.js +14 -7
  11. package/esm2015/lib/renderer/form-view/helpers/form-view.apis.helper.js +29 -79
  12. package/esm2015/lib/renderer/form-view/helpers/form-view.defaults.helper.js +17 -15
  13. package/esm2015/lib/renderer/form-view/helpers/form-view.fields.helper.js +43 -59
  14. package/esm2015/lib/renderer/form-view/helpers/form-view.form-validations.helper.js +101 -0
  15. package/esm2015/lib/renderer/renderer.component.js +8 -7
  16. package/esm2015/lib/renderer/renderer.config-converter.helper.js +5 -5
  17. package/esm2015/lib/renderer/renderer.service.js +11 -14
  18. package/fesm2015/kwikid-forms.js +289 -675
  19. package/fesm2015/kwikid-forms.js.map +1 -1
  20. package/lib/renderer/form-view/definitions/{actions/form-view.actions.type.definitions.d.ts → form-view.actions.definition.d.ts} +21 -9
  21. package/lib/renderer/form-view/definitions/{apis/form-view.apis.type.definitions.d.ts → form-view.apis.definition.d.ts} +7 -3
  22. package/lib/renderer/form-view/definitions/form-view.commons.definition.d.ts +11 -0
  23. package/lib/renderer/form-view/definitions/{fields/form-view.fields.type.definitions.d.ts → form-view.fields.definition.d.ts} +19 -6
  24. package/lib/renderer/form-view/definitions/form-view.form-validations.definition.d.ts +8 -0
  25. package/lib/renderer/form-view/definitions/{triggers/form-view.triggers.type.definitions.d.ts → form-view.triggers.definition.d.ts} +0 -0
  26. package/lib/renderer/form-view/form-view.component.d.ts +3 -3
  27. package/lib/renderer/form-view/helpers/form-view.apis.helper.d.ts +7 -10
  28. package/lib/renderer/form-view/helpers/form-view.defaults.helper.d.ts +3 -3
  29. package/lib/renderer/form-view/helpers/form-view.fields.helper.d.ts +12 -17
  30. package/lib/renderer/form-view/helpers/form-view.form-validations.helper.d.ts +10 -0
  31. package/package.json +2 -2
  32. package/esm2015/lib/renderer/form-view/definitions/actions/form-view.actions.enum.definitions.js +0 -21
  33. package/esm2015/lib/renderer/form-view/definitions/actions/form-view.actions.type.definitions.js +0 -2
  34. package/esm2015/lib/renderer/form-view/definitions/apis/form-view.apis.enum.definitions.js +0 -8
  35. package/esm2015/lib/renderer/form-view/definitions/apis/form-view.apis.type.definitions.js +0 -2
  36. package/esm2015/lib/renderer/form-view/definitions/common/form-view.common.enum.definitions.js +0 -101
  37. package/esm2015/lib/renderer/form-view/definitions/common/form-view.common.type.definitions.js +0 -2
  38. package/esm2015/lib/renderer/form-view/definitions/fields/form-view.fields.enum.definitions.js +0 -16
  39. package/esm2015/lib/renderer/form-view/definitions/fields/form-view.fields.type.definitions.js +0 -2
  40. package/esm2015/lib/renderer/form-view/definitions/sources/form-view.sources.type.definitions.js +0 -2
  41. package/esm2015/lib/renderer/form-view/definitions/triggers/form-view.triggers.type.definitions.js +0 -2
  42. package/esm2015/lib/renderer/form-view/definitions/validations/form-view.validations.type.definitions.js +0 -2
  43. package/esm2015/lib/renderer/form-view/helpers/form-view.common.helper.js +0 -136
  44. package/esm2015/lib/renderer/form-view/helpers/form-view.validations.helper.js +0 -170
  45. package/esm2015/lib/renderer/renderer.helper.js +0 -50
  46. package/lib/renderer/form-view/definitions/actions/form-view.actions.enum.definitions.d.ts +0 -19
  47. package/lib/renderer/form-view/definitions/apis/form-view.apis.enum.definitions.d.ts +0 -6
  48. package/lib/renderer/form-view/definitions/common/form-view.common.enum.definitions.d.ts +0 -97
  49. package/lib/renderer/form-view/definitions/common/form-view.common.type.definitions.d.ts +0 -7
  50. package/lib/renderer/form-view/definitions/fields/form-view.fields.enum.definitions.d.ts +0 -14
  51. package/lib/renderer/form-view/definitions/sources/form-view.sources.type.definitions.d.ts +0 -16
  52. package/lib/renderer/form-view/definitions/validations/form-view.validations.type.definitions.d.ts +0 -16
  53. package/lib/renderer/form-view/helpers/form-view.common.helper.d.ts +0 -19
  54. package/lib/renderer/form-view/helpers/form-view.validations.helper.d.ts +0 -28
  55. package/lib/renderer/renderer.helper.d.ts +0 -6
@@ -1,10 +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/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
-
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
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('@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', '@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["@taiga-ui/cdk"], global.ng.common, global.ng.platformBrowser, global.ng.animations, global.ng.common.http));
5
+ })(this, (function (exports, dragDrop, i0, i6, i2, lodash, i3, i4, kwikidToolkit, operators, cdk, i5, i1, animations, http) { 'use strict';
8
6
 
9
7
  function _interopNamespace(e) {
10
8
  if (e && e.__esModule) return e;
@@ -27,10 +25,8 @@
27
25
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
28
26
  var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
29
27
  var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
30
- var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
31
28
  var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
32
29
  var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
33
- var jp__default = /*#__PURE__*/_interopDefaultLegacy(jp);
34
30
  var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
35
31
  var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
36
32
 
@@ -511,7 +507,7 @@
511
507
  if (event.previousContainer !== event.container) {
512
508
  console.log("copying");
513
509
  // Clone the item that was dropped.
514
- var clone = _.cloneDeep(event.previousContainer.data[event.previousIndex]);
510
+ var clone = lodash.cloneDeep(event.previousContainer.data[event.previousIndex]);
515
511
  clone.id = clone.key + "__" + this.revisedRandId();
516
512
  event.previousContainer.data[event.previousIndex] = clone;
517
513
  var newFormGroup_1 = new i6.FormGroup({});
@@ -603,99 +599,6 @@
603
599
  EApiStatusType["FAILED"] = "failed";
604
600
  })(EApiStatusType || (EApiStatusType = {}));
605
601
 
606
- var EPatternKey;
607
- (function (EPatternKey) {
608
- EPatternKey["CUSTOM"] = "CUSTOM";
609
- EPatternKey["IS_ADDRESS"] = "IS_ADDRESS";
610
- EPatternKey["IS_ALPHA"] = "IS_ALPHA";
611
- EPatternKey["IS_ALPHANUMERIC"] = "IS_ALPHANUMERIC";
612
- EPatternKey["IS_BOOLEAN"] = "IS_BOOLEAN";
613
- EPatternKey["IS_EMAIL"] = "IS_EMAIL";
614
- EPatternKey["IS_EMPTY"] = "IS_EMPTY";
615
- EPatternKey["IS_FALSE"] = "IS_FALSE";
616
- EPatternKey["IS_HTML"] = "IS_HTML";
617
- EPatternKey["IS_INTEGER"] = "IS_INTEGER";
618
- EPatternKey["IS_IP_ADDRESS"] = "IS_IP_ADDRESS";
619
- EPatternKey["IS_JSON"] = "IS_JSON";
620
- EPatternKey["IS_LOWERCASE"] = "IS_LOWERCASE";
621
- EPatternKey["IS_NOT_EMPTY"] = "IS_NOT_EMPTY";
622
- EPatternKey["IS_NUMBER"] = "IS_NUMBER";
623
- EPatternKey["IS_TRUE"] = "IS_TRUE";
624
- EPatternKey["IS_UPPERCASE"] = "IS_UPPERCASE";
625
- EPatternKey["IS_URL"] = "IS_URL";
626
- EPatternKey["IS_AADHAAR_NUMBER"] = "IS_AADHAAR_NUMBER";
627
- EPatternKey["IS_BANK_ACCOUNT_NO"] = "IS_BANK_ACCOUNT_NO";
628
- EPatternKey["IS_BANK_SWIFT_CODE"] = "IS_BANK_SWIFT_CODE";
629
- EPatternKey["IS_BIRTH_CERTIFICATE_NO"] = "IS_BIRTH_CERTIFICATE_NO";
630
- EPatternKey["IS_CHEQUE_NO"] = "IS_CHEQUE_NO";
631
- EPatternKey["IS_CIN"] = "IS_CIN";
632
- EPatternKey["IS_CREDIT_CARD_NO"] = "IS_CREDIT_CARD_NO";
633
- EPatternKey["IS_DRIVING_LICENSE"] = "IS_DRIVING_LICENSE";
634
- EPatternKey["IS_GSTIN"] = "IS_GSTIN";
635
- EPatternKey["IS_IFSC_NO"] = "IS_IFSC_NO";
636
- EPatternKey["IS_MICR_CODE"] = "IS_MICR_CODE";
637
- EPatternKey["IS_MOBILE_NO"] = "IS_MOBILE_NO";
638
- EPatternKey["IS_MOBILE_NO_IN"] = "IS_MOBILE_NO_IN";
639
- EPatternKey["IS_NEFT_OR_RTGS_NO"] = "IS_NEFT_OR_RTGS_NO";
640
- EPatternKey["IS_PAN_NUMBER"] = "IS_PAN_NUMBER";
641
- EPatternKey["IS_PASSPORT"] = "IS_PASSPORT";
642
- EPatternKey["IS_PHONE_NO"] = "IS_PHONE_NO";
643
- EPatternKey["IS_PINCODE"] = "IS_PINCODE";
644
- EPatternKey["IS_PURCHASE_ORDER_NO"] = "IS_PURCHASE_ORDER_NO";
645
- EPatternKey["IS_RATION_CARD_NO"] = "IS_RATION_CARD_NO";
646
- EPatternKey["IS_SERVICE_TAX_NO"] = "IS_SERVICE_TAX_NO";
647
- EPatternKey["IS_SOCIAL_SECURITY_NO"] = "IS_SOCIAL_SECURITY_NO";
648
- EPatternKey["IS_UPI_TRANSACTION_REFERENCE_NO"] = "IS_UPI_TRANSACTION_REFERENCE_NO";
649
- EPatternKey["IS_VAT_TIN_NO"] = "IS_VAT_TIN_NO";
650
- EPatternKey["IS_VEHICLE_REGISTRATION_NO"] = "IS_VEHICLE_REGISTRATION_NO";
651
- EPatternKey["IS_VOTER_ID"] = "IS_VOTER_ID";
652
- })(EPatternKey || (EPatternKey = {}));
653
- var EPattern;
654
- (function (EPattern) {
655
- EPattern["IS_ALPHA"] = "^[a-zA-Z]+$";
656
- EPattern["IS_ADDRESS"] = "^(\\w*\\s*[#-,/.()&]*)+";
657
- EPattern["IS_ALPHANUMERIC"] = "^[a-zA-Z0-9]+$";
658
- EPattern["IS_BOOLEAN"] = "(true|false)";
659
- EPattern["IS_EMAIL"] = "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$";
660
- EPattern["IS_EMPTY"] = "^$";
661
- EPattern["IS_FALSE"] = "false";
662
- EPattern["IS_HTML"] = "^<([a-z]+)([^<]+)(?:>(.)</\\1>|\\s+/>)$";
663
- EPattern["IS_INTEGER"] = "^[+-]?d+$";
664
- EPattern["IS_IP_ADDRESS"] = "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";
665
- EPattern["IS_JSON"] = "^\\s*({(.|\\s)}|[(.|\\s)])\\s*$";
666
- EPattern["IS_LOWERCASE"] = "^[a-z]+$";
667
- EPattern["IS_NOT_EMPTY"] = "^.+$";
668
- EPattern["IS_NUMBER"] = "^[+-]?d+(.d+)?$";
669
- EPattern["IS_TRUE"] = "true";
670
- EPattern["IS_UPPERCASE"] = "^[A-Z]+$";
671
- EPattern["IS_URL"] = "^(?:http(s)?://)?[w.-]+(?:.[w.-]+)+[w-._~:/?#[]@!$&'()*+,;=.]+$";
672
- EPattern["IS_AADHAAR_NUMBER"] = "^[0-9]{12}$";
673
- EPattern["IS_BANK_ACCOUNT_NO"] = "^[0-9]{9,18}$";
674
- EPattern["IS_BANK_SWIFT_CODE"] = "^[A-Z]{4}[A-Z]{2}[0-9A-Z]{2}[0-9A-Z]{3}$";
675
- EPattern["IS_BIRTH_CERTIFICATE_NO"] = "^[A-Z]{2}[0-9]{6}[A-Z]{1}[0-9]{2}$";
676
- EPattern["IS_CHEQUE_NO"] = "^[0-9]{6,14}$";
677
- EPattern["IS_CIN"] = "^[A-Z]{3}[0-9]{5}[0-9A-Z]{3}$";
678
- EPattern["IS_CREDIT_CARD_NO"] = "^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}$";
679
- EPattern["IS_DRIVING_LICENSE"] = "^[A-Z]{2}[0-9]{2}((19|20)[0-9][0-9])[0-9]{7}$";
680
- EPattern["IS_GSTIN"] = "^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}Z[0-9A-Z]{1}$";
681
- EPattern["IS_IFSC_NO"] = "^[A-Z]{4}[0][A-Z0-9]{6}$";
682
- EPattern["IS_MICR_CODE"] = "^[0-9]{9}$";
683
- EPattern["IS_MOBILE_NO"] = "^[6-9]\\d{9}$";
684
- EPattern["IS_MOBILE_NO_IN"] = "^(\\+91)[6-9]\\d{9}$";
685
- EPattern["IS_NEFT_OR_RTGS_NO"] = "^[A-Z]{4}[0-9]{7}$";
686
- EPattern["IS_PAN_NUMBER"] = "^[A-Z]{5}[[0-9]{4}[A-Z]{1}$";
687
- EPattern["IS_PASSPORT"] = "^[A-PR-WYa-pr-wy][1-9]\\d\\s?\\d{4}[1-9]$";
688
- EPattern["IS_PHONE_NO"] = "^[6-9]\\d{9}$";
689
- EPattern["IS_PINCODE"] = "^[1-9][0-9]{5}$";
690
- EPattern["IS_PURCHASE_ORDER_NO"] = "^[0-9]{1,5}$";
691
- EPattern["IS_RATION_CARD_NO"] = "^[A-Z]{3}[0-9]{7}$";
692
- EPattern["IS_SERVICE_TAX_NO"] = "^[A-Z]{5}[0-9]{4}[A-Z]{1}$";
693
- EPattern["IS_SOCIAL_SECURITY_NO"] = "^[0-9]{3}-[0-9]{2}-[0-9]{4}$";
694
- EPattern["IS_UPI_TRANSACTION_REFERENCE_NO"] = "^[a-zA-Z0-9]{3,128}@[a-z]{3,9}$";
695
- EPattern["IS_VAT_TIN_NO"] = "^[0-9]{11}$";
696
- EPattern["IS_VEHICLE_REGISTRATION_NO"] = "^[A-Z]{2}[0-9]{2}((19|20)[0-9][0-9])[0-9]{6}$";
697
- EPattern["IS_VOTER_ID"] = "^[A-Z]{3}[0-9]{7}$";
698
- })(EPattern || (EPattern = {}));
699
602
  var EMessageType;
700
603
  (function (EMessageType) {
701
604
  EMessageType["DEFAULT"] = "default";
@@ -720,168 +623,171 @@
720
623
  EFieldType["AADHAAR_NUMBER"] = "aadhaar-number";
721
624
  })(EFieldType || (EFieldType = {}));
722
625
 
723
- var hasKey$1 = function (object, key) {
724
- return object.hasOwnProperty(key);
725
- };
726
- var isEmpty$1 = function (value) {
727
- if (value === "" || value === undefined || value === null) {
728
- return true;
729
- }
730
- else if (value &&
731
- Object.keys(value).length === 0 &&
732
- Object.getPrototypeOf(value) === Object.prototype) {
733
- return true;
734
- }
735
- else if (Array.isArray(value)) {
736
- if (value.length === 0) {
737
- return true;
738
- }
739
- else {
740
- return false;
741
- }
742
- }
743
- else {
744
- return false;
745
- }
746
- };
747
- var isNotEmpty$1 = function (value) {
748
- return !isEmpty$1(value);
749
- };
750
- var handleJPQueryResponse$1 = function (value) {
751
- /**
752
- * jp.query doesn't always return an array with one element
753
- * so directly can't access with [0], need to check conditionally
754
- */
755
- if (Array.isArray(value)) {
756
- if (value.length > 0) {
757
- value = value[0];
758
- }
759
- else if (value.length === 0) {
760
- value = "";
626
+ var getFormFieldByKey = function (fields, key) {
627
+ var field = fields.find(function (field) {
628
+ if (field.key === key) {
629
+ return field;
761
630
  }
762
- }
763
- return value;
764
- };
765
- var jpQueryWrapper$1 = function (obj, key) {
766
- return handleJPQueryResponse$1(jp__default["default"].query(obj, key));
767
- };
768
- var isSingleForm = function (formsList) {
769
- return formsList.length === 1;
770
- };
771
-
772
- var hasKey = function (object, key) {
773
- return object.hasOwnProperty(key);
774
- };
775
- var hasPath = function (object, path) {
776
- return ___default["default"].has(object, path);
777
- };
778
- var isEmptyString = function (value) {
779
- return value === "";
780
- };
781
- var isUndefined = function (value) {
782
- return value === undefined;
783
- };
784
- var isNull = function (value) {
785
- return value === null;
631
+ });
632
+ return field;
786
633
  };
787
- var isEmptyObject = function (object) {
788
- return (object &&
789
- Object.keys(object).length === 0 &&
790
- Object.getPrototypeOf(object) === Object.prototype);
634
+ var getFormFieldIndexByKey = function (fields, key) {
635
+ var fieldIndex;
636
+ fieldIndex = fields.findIndex(function (_) {
637
+ return key === _.key;
638
+ });
639
+ return fieldIndex;
791
640
  };
792
- var isEmptyArray = function (arr) {
793
- return arr.length === 0;
641
+ var highlightFormFieldError = function (field, error) {
642
+ field.invalid = error;
643
+ field.focus = error;
644
+ return field;
794
645
  };
795
- var isEmpty = function (value) {
796
- if (isEmptyString(value) || isUndefined(value) || isNull(value)) {
797
- return true;
798
- }
799
- else if (isEmptyObject(value)) {
800
- return true;
801
- }
802
- else if (Array.isArray(value)) {
803
- if (isEmptyArray(value)) {
804
- return true;
805
- }
806
- else {
807
- return false;
646
+ var appendFormFieldMessage = function (field, message) {
647
+ var hasDuplicateMessage = function (messages, message) {
648
+ return messages.some(function (fieldMessage) {
649
+ return (fieldMessage.type === message.type &&
650
+ fieldMessage.message === message.message);
651
+ });
652
+ };
653
+ field["messages"] = [];
654
+ if (kwikidToolkit.checkObjectKeyExists(field, "messages")) {
655
+ if (!hasDuplicateMessage(field["messages"], message)) {
656
+ field["messages"].push({
657
+ type: message.type,
658
+ message: message.message
659
+ });
808
660
  }
809
661
  }
810
662
  else {
811
- return false;
663
+ field["messages"] = [{ type: message.type, message: message.message }];
812
664
  }
665
+ return field;
813
666
  };
814
- var isNotEmpty = function (value) {
815
- return !isEmpty(value);
816
- };
817
- var isEmptyBrowserStorageValue = function (value) {
818
- return isNull(value) && isUndefined(value);
819
- };
820
- var isNotEmptyBrowserStorageValue = function (value) {
821
- return !isEmptyBrowserStorageValue(value);
667
+ var removeFormFieldMessage = function (field, message) {
668
+ field["messages"] = field["messages"].filter(function (fieldMessage) {
669
+ return fieldMessage.type !== message.type;
670
+ });
671
+ return field;
822
672
  };
823
- var handleJPQueryResponse = function (value) {
824
- /**
825
- * jp.query doesn't always return an array with one element
826
- * so directly can't access with [0], need to check conditionally
827
- */
828
- if (Array.isArray(value)) {
829
- if (value.length > 0) {
830
- value = value[0];
831
- }
832
- else if (value.length === 0) {
833
- value = "";
834
- }
673
+ function showFormFieldError(fields, errors, key, error) {
674
+ var fieldIndex = fields.findIndex(function (field) {
675
+ return field.key === key;
676
+ });
677
+ var setErrorMessages = function (field, errors) {
678
+ var getErrorMessage = function (fieldLabel, errorType) {
679
+ var errorMessage = "";
680
+ switch (errorType) {
681
+ case "required":
682
+ errorMessage = fieldLabel + " is required!";
683
+ break;
684
+ case "email":
685
+ errorMessage = fieldLabel + " has wrong email format!";
686
+ break;
687
+ case "min":
688
+ errorMessage = fieldLabel + " has wrong value! Minimum value: " + field.validators.min;
689
+ break;
690
+ case "minlength":
691
+ errorMessage = fieldLabel + " has wrong length! Required minimum length: " + field.validators.minLength;
692
+ break;
693
+ case "max":
694
+ errorMessage = fieldLabel + " has wrong value! Maximum value: " + field.validators.maxLength;
695
+ break;
696
+ case "maxlength":
697
+ errorMessage = fieldLabel + " has wrong length! Required maximum length: " + field.validators.maxLength;
698
+ break;
699
+ case "areEqual":
700
+ errorMessage = fieldLabel + " must be equal!";
701
+ break;
702
+ case "pattern":
703
+ errorMessage = fieldLabel + " is in incorrect format!";
704
+ break;
705
+ default:
706
+ errorMessage = fieldLabel + ": " + errorType;
707
+ break;
708
+ }
709
+ return errorMessage;
710
+ };
711
+ Object.keys(errors).forEach(function (error) {
712
+ field = appendFormFieldMessage(field, {
713
+ type: "error",
714
+ message: getErrorMessage(field.label, error)
715
+ });
716
+ });
717
+ return field;
718
+ };
719
+ if (error) {
720
+ fields[fieldIndex] = setErrorMessages(fields[fieldIndex], errors);
835
721
  }
836
722
  else {
837
- value = "";
723
+ fields[fieldIndex]["messages"] = [];
838
724
  }
839
- return value;
840
- };
841
- var jpQueryWrapper = function (obj, key) {
842
- return handleJPQueryResponse(jp__default["default"].query(obj, key));
843
- };
844
- var replaceString = function (str, find, replace) {
845
- return str.replace(new RegExp(find, "g"), replace);
846
- };
847
- var setFieldKeyValue = function (field, path, value) {
848
- return ___default["default"].set(field, path, value);
725
+ fields[fieldIndex] = highlightFormFieldError(fields[fieldIndex], error);
726
+ return fields;
727
+ }
728
+ var convertFormFieldTypeDateToKwikUIFormat = function (date) {
729
+ var splitDate = date.split("-");
730
+ var tuiDay = new cdk.TuiDay(Number(splitDate[2]), // Year
731
+ Number(splitDate[1]) - 1, // Month, Why '-1' => Because Taiga-UI Required It, So...
732
+ Number(splitDate[0]) // Day
733
+ );
734
+ return tuiDay;
849
735
  };
850
- var setValueToObject = function (object, path, value) {
851
- return ___default["default"].set(object, path, value);
736
+ var convertFormFieldTypeDateToStandardFormat = function (date) {
737
+ var formattedDate;
738
+ var year = date.year;
739
+ var month = date.month;
740
+ var day = date.day;
741
+ formattedDate = day.toString().padStart(2, "0") + "-" + (month + 1)
742
+ .toString()
743
+ .padStart(2, "0") + "-" + year;
744
+ return formattedDate;
852
745
  };
853
- var formatValue = function (field, fieldValue) {
854
- var fieldType = field.type;
855
- var value;
856
- if (isNotEmpty(fieldValue)) {
857
- switch (fieldType) {
746
+ var convertFormFieldValueToStandardFormat = function (field, value) {
747
+ var convertedValue = value;
748
+ if (kwikidToolkit.isNotEmptyValue(value)) {
749
+ switch (field.type) {
858
750
  case EFieldType.DATE:
859
- var splitDate = fieldValue.split("-");
860
- value = new cdk.TuiDay(Number(splitDate[2]), // Year
861
- Number(splitDate[1]) - 1, // Month, Why '-1' => Because Taiga-UI Required It, So...
862
- Number(splitDate[0]) // Day
863
- );
751
+ if (typeof value !== "string") {
752
+ convertedValue = convertFormFieldTypeDateToStandardFormat(value);
753
+ }
864
754
  break;
865
755
  case EFieldType.RADIO:
866
- var fieldRadio = field;
867
- value = fieldRadio.options.find(function (item) {
868
- return item.label === fieldValue;
869
- });
756
+ convertedValue = value.label;
757
+ default:
758
+ break;
759
+ }
760
+ }
761
+ return convertedValue;
762
+ };
763
+ var convertFormFieldValueToKwikUIFormat = function (field, value) {
764
+ var convertedValue = value;
765
+ if (kwikidToolkit.isNotEmptyValue(value)) {
766
+ switch (field.type) {
767
+ case EFieldType.RADIO:
768
+ if (!kwikidToolkit.checkObjectKeyExists(value, "label")) {
769
+ var radioField = field;
770
+ var convertedLabelValue = radioField.options.find(function (item) {
771
+ return item.label === value;
772
+ });
773
+ convertedValue = convertedLabelValue;
774
+ }
775
+ break;
776
+ case EFieldType.DATE:
777
+ convertedValue = convertFormFieldTypeDateToKwikUIFormat(value);
870
778
  break;
871
- case EFieldType.CHECKBOX:
872
- value = Boolean(fieldValue);
779
+ case EFieldType.TITLE:
873
780
  break;
874
781
  default:
875
- value = fieldValue;
876
782
  break;
877
783
  }
878
784
  }
879
785
  else {
880
- value = fieldValue;
786
+ convertedValue = convertFormFieldEmptyValueToKwikUIFormat(field);
881
787
  }
882
- return value;
788
+ return convertedValue;
883
789
  };
884
- var setEmptyValue = function (field) {
790
+ var convertFormFieldEmptyValueToKwikUIFormat = function (field) {
885
791
  var fieldType = field.type;
886
792
  var value;
887
793
  switch (fieldType) {
@@ -910,7 +816,7 @@
910
816
  this._previousFormData = previousFormData;
911
817
  this._takeAction = takeAction;
912
818
  }
913
- Defaults.prototype.getDefaultValue = function () {
819
+ Defaults.prototype.getFormFieldValue = function () {
914
820
  return __awaiter(this, void 0, void 0, function () {
915
821
  var defaultValue, sources, sourceIndex, sources_1, sources_1_1, source, sources_2, value, validation, triggers, rules, actions, rulesMapping, actions_1, actions_1_1, action, conditionEvaluation, actions_2, e_1_1, e_2_1;
916
822
  var e_2, _a, e_1, _b;
@@ -927,7 +833,7 @@
927
833
  case 2:
928
834
  if (!!sources_1_1.done) return [3 /*break*/, 12];
929
835
  source = sources_1_1.value;
930
- sources_2 = new kwikidToolkit.Sources({
836
+ sources_2 = new kwikidToolkit.Source({
931
837
  FIELD_CONFIG: this._field,
932
838
  FORM_FIELDS: this._formFields,
933
839
  FORM_DATA: this._formData,
@@ -936,12 +842,12 @@
936
842
  });
937
843
  value = sources_2.getValueFromSource(source);
938
844
  // Set the Value of current source.
939
- this._field = setValueToObject(this._field, "default.value.sources.[" + sourceIndex + "].value", value);
845
+ this._field = kwikidToolkit.setValueToObjectPath(this._field, "default.value.sources.[" + sourceIndex + "].value", value);
940
846
  validation = source.validation;
941
847
  triggers = validation.triggers;
942
848
  rules = validation.rules;
943
849
  actions = validation.actions;
944
- rulesMapping = new kwikidToolkit.Rules(rules, {
850
+ rulesMapping = new kwikidToolkit.Rule(rules, {
945
851
  FIELD_CONFIG: this._field,
946
852
  FORM_FIELDS: this._formFields,
947
853
  FORM_DATA: this._formData,
@@ -958,7 +864,7 @@
958
864
  action = actions_1_1.value;
959
865
  conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
960
866
  if (!conditionEvaluation) return [3 /*break*/, 6];
961
- actions_2 = new kwikidToolkit.Actions(action, rulesMapping, {
867
+ actions_2 = new kwikidToolkit.Action(action, rulesMapping, {
962
868
  FIELD_CONFIG: this._field,
963
869
  FORM_FIELDS: this._formFields,
964
870
  FORM_DATA: this._formData,
@@ -1002,15 +908,15 @@
1002
908
  return [7 /*endfinally*/];
1003
909
  case 15:
1004
910
  defaultValue = this._field.default.value.value;
1005
- if (isEmpty$1(defaultValue)) {
1006
- defaultValue = setEmptyValue(this._field);
911
+ if (kwikidToolkit.isEmptyValue(defaultValue)) {
912
+ defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
1007
913
  }
1008
914
  return [2 /*return*/, defaultValue];
1009
915
  }
1010
916
  });
1011
917
  });
1012
918
  };
1013
- Defaults.prototype.getDefaultDropdownOptions = function () {
919
+ Defaults.prototype.getFormFieldOptions = function () {
1014
920
  return __awaiter(this, void 0, void 0, function () {
1015
921
  var optionsConfig, rules, actions, rulesMapping, actions_3, actions_3_1, action, conditionEvaluation, actions_4, e_3_1;
1016
922
  var e_3, _a;
@@ -1020,7 +926,7 @@
1020
926
  optionsConfig = this._field.default.options;
1021
927
  rules = optionsConfig.rules;
1022
928
  actions = optionsConfig.actions;
1023
- rulesMapping = new kwikidToolkit.Rules(rules, {
929
+ rulesMapping = new kwikidToolkit.Rule(rules, {
1024
930
  FIELD_CONFIG: this._field,
1025
931
  FORM_FIELDS: this._formFields,
1026
932
  FORM_DATA: this._formData,
@@ -1037,7 +943,7 @@
1037
943
  action = actions_3_1.value;
1038
944
  conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1039
945
  if (!conditionEvaluation) return [3 /*break*/, 4];
1040
- actions_4 = new kwikidToolkit.Actions(action, rulesMapping, {
946
+ actions_4 = new kwikidToolkit.Action(action, rulesMapping, {
1041
947
  FIELD_CONFIG: this._field,
1042
948
  FORM_FIELDS: this._formFields,
1043
949
  FORM_DATA: this._formData,
@@ -1069,279 +975,17 @@
1069
975
  };
1070
976
  return Defaults;
1071
977
  }());
1072
- __decorate([
1073
- kwikidToolkit.logMethod
1074
- ], Defaults.prototype, "getDefaultValue", null);
1075
-
1076
- var findFieldFromKey = function (fields, key) {
1077
- var field = fields.find(function (field) {
1078
- if (field.key === key) {
1079
- return field;
1080
- }
1081
- });
1082
- return field;
1083
- };
1084
- var findFieldIndexFromKey = function (fields, key) {
1085
- var fieldIndex;
1086
- fieldIndex = fields.findIndex(function (_) {
1087
- return key === _.key;
1088
- });
1089
- return fieldIndex;
1090
- };
1091
- var getSearchTextOptionsFromRemoteFile = function (field, childField, formGroup) { return __awaiter(void 0, void 0, void 0, function () {
1092
- var parentFieldValue, fileUrl, fileKey, response, data;
1093
- return __generator(this, function (_a) {
1094
- switch (_a.label) {
1095
- case 0:
1096
- parentFieldValue = formGroup.controls[field.key].value;
1097
- if (childField.regexToGetJsonRemoteUrlKey) {
1098
- fileKey = parentFieldValue.match(childField.regexToGetJsonRemoteUrlKey)[0];
1099
- fileUrl = childField.jsonRemoteUrlMapping[fileKey];
1100
- }
1101
- else {
1102
- fileUrl = childField.fileUrl;
1103
- }
1104
- // Return early if there is no file URL
1105
- if (!fileUrl)
1106
- return [2 /*return*/];
1107
- return [4 /*yield*/, fetch(fileUrl)];
1108
- case 1:
1109
- response = _a.sent();
1110
- return [4 /*yield*/, response.json()];
1111
- case 2:
1112
- data = _a.sent();
1113
- // Return the data for the given parent field value
1114
- return [2 /*return*/, data[parentFieldValue]];
1115
- }
1116
- });
1117
- }); };
1118
- var getSearchTextOptionsFromFieldConfig = function (field, childField, formGroup) {
1119
- var options;
1120
- var fieldValue = formGroup.controls[field.key].value;
1121
- if (kwikidToolkit.isNotEmptyValue(childField["json"])) {
1122
- options = childField["json"][fieldValue];
1123
- }
1124
- return options;
1125
- };
1126
- var formatSearchTextOptions = function (options) {
1127
- return options.map(function (_a) {
1128
- var title = _a.title;
1129
- return title;
1130
- });
1131
- };
1132
- function highlightFieldError(field, error) {
1133
- field.invalid = error;
1134
- field.focus = error;
1135
- // if (!error) {
1136
- // field["messages"] = field["messages"].filter(function (fieldMessage: {
1137
- // type: string;
1138
- // message: string;
1139
- // }) {
1140
- // return fieldMessage.type === "error";
1141
- // });
1142
- // }
1143
- return field;
1144
- }
1145
- var addMessage = function (field, message) {
1146
- var isDuplicateMessage = function (messages, message) {
1147
- return messages.some(function (fieldMessage) {
1148
- return (fieldMessage.type === message.type &&
1149
- fieldMessage.message === message.message);
1150
- });
1151
- };
1152
- field["messages"] = [];
1153
- if (kwikidToolkit.checkObjectKeyExists(field, "messages")) {
1154
- if (!isDuplicateMessage(field["messages"], message)) {
1155
- field["messages"].push({
1156
- type: message.type,
1157
- message: message.message
1158
- });
1159
- }
1160
- }
1161
- else {
1162
- field["messages"] = [{ type: message.type, message: message.message }];
1163
- }
1164
- return field;
1165
- };
1166
- var removeMessage = function (field, message) {
1167
- field["messages"] = field["messages"].filter(function (fieldMessage) {
1168
- return fieldMessage.type !== message.type;
1169
- });
1170
- return field;
1171
- };
1172
- function setFieldError(fields, errors, key, error) {
1173
- var fieldIndex = fields.findIndex(function (field) {
1174
- return field.key === key;
1175
- });
1176
- var setErrorMessages = function (field, errors) {
1177
- var getErrorMessage = function (fieldLabel, errorType) {
1178
- var errorMessage = "";
1179
- switch (errorType) {
1180
- case "required":
1181
- errorMessage = fieldLabel + " is required!";
1182
- break;
1183
- case "email":
1184
- errorMessage = fieldLabel + " has wrong email format!";
1185
- break;
1186
- case "min":
1187
- errorMessage = fieldLabel + " has wrong value! Minimum value: " + field.validators.min;
1188
- break;
1189
- case "minlength":
1190
- errorMessage = fieldLabel + " has wrong length! Required minimum length: " + field.validators.minLength;
1191
- break;
1192
- case "max":
1193
- errorMessage = fieldLabel + " has wrong value! Maximum value: " + field.validators.maxLength;
1194
- break;
1195
- case "maxlength":
1196
- errorMessage = fieldLabel + " has wrong length! Required maximum length: " + field.validators.maxLength;
1197
- break;
1198
- case "areEqual":
1199
- errorMessage = fieldLabel + " must be equal!";
1200
- break;
1201
- case "pattern":
1202
- errorMessage = fieldLabel + " is in incorrect format!";
1203
- break;
1204
- default:
1205
- errorMessage = fieldLabel + ": " + errorType;
1206
- break;
1207
- }
1208
- return errorMessage;
1209
- };
1210
- Object.keys(errors).forEach(function (error) {
1211
- field = addMessage(field, {
1212
- type: "error",
1213
- message: getErrorMessage(field.label, error)
1214
- });
1215
- });
1216
- return field;
1217
- };
1218
- if (error) {
1219
- fields[fieldIndex] = setErrorMessages(fields[fieldIndex], errors);
1220
- }
1221
- else {
1222
- fields[fieldIndex]["messages"] = [];
1223
- }
1224
- fields[fieldIndex] = highlightFieldError(fields[fieldIndex], error);
1225
- return fields;
1226
- }
1227
- var convertDateStringToTuiDayFormat = function (date) {
1228
- var splitDate = date.split("-");
1229
- var tuiDay = new cdk.TuiDay(Number(splitDate[2]), // Year
1230
- Number(splitDate[1]) - 1, // Month, Why '-1' => Because Taiga-UI Required It, So...
1231
- Number(splitDate[0]) // Day
1232
- );
1233
- return tuiDay;
1234
- };
1235
- var convertTuiDayFormatToDateString = function (date) {
1236
- var formattedDate;
1237
- var year = date.year;
1238
- var month = date.month;
1239
- var day = date.day;
1240
- formattedDate = day.toString().padStart(2, "0") + "-" + (month + 1)
1241
- .toString()
1242
- .padStart(2, "0") + "-" + year;
1243
- return formattedDate;
1244
- };
1245
- var convertValueFromKwikUIFormatToBasicFormat = function (field, value) {
1246
- var convertedValue = value;
1247
- if (kwikidToolkit.isNotEmptyValue(value)) {
1248
- switch (field.type) {
1249
- case EFieldType.DATE:
1250
- convertedValue = convertTuiDayFormatToDateString(value);
1251
- break;
1252
- case EFieldType.RADIO:
1253
- convertedValue = value.label;
1254
- default:
1255
- break;
1256
- }
1257
- }
1258
- return convertedValue;
1259
- };
1260
- var convertValueFromBasicFormatToKwikUIFormat = function (field, value) {
1261
- var convertedValue = value;
1262
- if (kwikidToolkit.isNotEmptyValue(value)) {
1263
- switch (field.type) {
1264
- case EFieldType.RADIO:
1265
- if (!kwikidToolkit.checkObjectKeyExists(value, "label")) {
1266
- var radioField = field;
1267
- var convertedLabelValue = radioField.options.find(function (item) {
1268
- return item.label === value;
1269
- });
1270
- convertedValue = convertedLabelValue;
1271
- }
1272
- break;
1273
- case EFieldType.DATE:
1274
- convertedValue = convertDateStringToTuiDayFormat(value);
1275
- break;
1276
- case EFieldType.TITLE:
1277
- break;
1278
- default:
1279
- break;
1280
- }
1281
- }
1282
- return convertedValue;
1283
- };
1284
-
1285
- var Validations = /** @class */ (function () {
1286
- function Validations(field, formFields, formData, previousFormData, allFormsData, takeAction) {
1287
- this._field = field;
1288
- this._formFields = formFields;
1289
- this._formData = formData;
1290
- this._previousFormData = previousFormData;
1291
- this._allFormsData = allFormsData;
1292
- this._takeAction = takeAction;
978
+ __decorate([
979
+ kwikidToolkit.logMethod
980
+ ], Defaults.prototype, "getFormFieldValue", null);
981
+ __decorate([
982
+ kwikidToolkit.logMethod
983
+ ], Defaults.prototype, "getFormFieldOptions", null);
984
+
985
+ var FormValidation = /** @class */ (function () {
986
+ function FormValidation() {
1293
987
  }
1294
- Object.defineProperty(Validations.prototype, "formData", {
1295
- get: function () {
1296
- return this._formData;
1297
- },
1298
- set: function (value) {
1299
- this._formData = value;
1300
- },
1301
- enumerable: false,
1302
- configurable: true
1303
- });
1304
- Object.defineProperty(Validations.prototype, "previousFormData", {
1305
- get: function () {
1306
- return this._previousFormData;
1307
- },
1308
- set: function (value) {
1309
- this._previousFormData = value;
1310
- },
1311
- enumerable: false,
1312
- configurable: true
1313
- });
1314
- Object.defineProperty(Validations.prototype, "allFormsData", {
1315
- get: function () {
1316
- return this._allFormsData;
1317
- },
1318
- set: function (value) {
1319
- this._allFormsData = value;
1320
- },
1321
- enumerable: false,
1322
- configurable: true
1323
- });
1324
- Object.defineProperty(Validations.prototype, "field", {
1325
- get: function () {
1326
- return this._field;
1327
- },
1328
- set: function (value) {
1329
- this._field = value;
1330
- },
1331
- enumerable: false,
1332
- configurable: true
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
- });
1344
- Validations.prototype.getFieldValidators = function (field) {
988
+ FormValidation.prototype.getFormFieldValidators = function (field) {
1345
989
  var validators = [];
1346
990
  if (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
1347
991
  kwikidToolkit.checkObjectKeyExists(field.validators, "min") &&
@@ -1373,20 +1017,20 @@
1373
1017
  kwikidToolkit.checkObjectKeyExists(field.validators, "pattern") &&
1374
1018
  kwikidToolkit.isNotEmptyValue(field.validators.pattern)) {
1375
1019
  if (kwikidToolkit.checkObjectKeyExists(field.validators.pattern, "key")) {
1376
- if (field.validators.pattern.key === EPatternKey.CUSTOM) {
1020
+ if (field.validators.pattern.key === "CUSTOM") {
1377
1021
  validators.push(i6.Validators.pattern(field.validators.pattern.pattern));
1378
1022
  }
1379
1023
  else {
1380
- validators.push(i6.Validators.pattern(EPattern[field.validators.pattern.key]));
1024
+ validators.push(i6.Validators.pattern(kwikidToolkit.PATTERNS[field.validators.pattern.key]));
1381
1025
  }
1382
1026
  }
1383
1027
  }
1384
1028
  return validators;
1385
1029
  };
1386
- Validations.prototype.getFormValidationErrors = function (control) {
1030
+ FormValidation.prototype.getFormFieldsValidationErrors = function (formGroup) {
1387
1031
  var errors = [];
1388
1032
  var _loop_1 = function (key) {
1389
- var controlErrors = control.controls[key].errors;
1033
+ var controlErrors = formGroup.controls[key].errors;
1390
1034
  if (controlErrors !== null && controlErrors !== undefined) {
1391
1035
  Object.keys(controlErrors).forEach(function (keyError) {
1392
1036
  errors.push({
@@ -1396,12 +1040,12 @@
1396
1040
  });
1397
1041
  }
1398
1042
  };
1399
- for (var key in control.controls) {
1043
+ for (var key in formGroup.controls) {
1400
1044
  _loop_1(key);
1401
1045
  }
1402
1046
  return errors;
1403
1047
  };
1404
- Validations.prototype.findInvalidControlsRecursive = function (formToInvestigate) {
1048
+ FormValidation.prototype.getFormFieldsInvalidControls = function (formToInvestigate) {
1405
1049
  var controls = [];
1406
1050
  var recursiveFunc = function (form) {
1407
1051
  Object.keys(form.controls).forEach(function (field) {
@@ -1429,78 +1073,17 @@
1429
1073
  recursiveFunc(formToInvestigate);
1430
1074
  return controls;
1431
1075
  };
1432
- Validations.prototype.validateField = function () {
1433
- return __awaiter(this, void 0, void 0, function () {
1434
- var validations, triggers, rules, actions, rulesMapping, actions_1, actions_1_1, action, conditionEvaluation, actions_2, e_1_1;
1435
- var e_1, _a;
1436
- return __generator(this, function (_b) {
1437
- switch (_b.label) {
1438
- case 0:
1439
- validations = this._field.validation;
1440
- triggers = validations.triggers;
1441
- rules = validations.rules;
1442
- actions = validations.actions;
1443
- rulesMapping = new kwikidToolkit.Rules(rules, {
1444
- FIELD_CONFIG: this._field,
1445
- FORM_FIELDS: this._formFields,
1446
- FORM_DATA: this._formData,
1447
- PREVIOUS_FORM_DATA: this._previousFormData,
1448
- ALL_FORMS_DATA: this._allFormsData
1449
- }).mapping();
1450
- _b.label = 1;
1451
- case 1:
1452
- _b.trys.push([1, 6, 7, 8]);
1453
- actions_1 = __values(actions), actions_1_1 = actions_1.next();
1454
- _b.label = 2;
1455
- case 2:
1456
- if (!!actions_1_1.done) return [3 /*break*/, 5];
1457
- action = actions_1_1.value;
1458
- conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1459
- if (!conditionEvaluation) return [3 /*break*/, 4];
1460
- actions_2 = new kwikidToolkit.Actions(action, rulesMapping, {
1461
- FIELD_CONFIG: this._field,
1462
- FORM_FIELDS: this._formFields,
1463
- FORM_DATA: this._formData,
1464
- PREVIOUS_FORM_DATA: this._previousFormData,
1465
- ALL_FORMS_DATA: this._allFormsData
1466
- }, this._takeAction);
1467
- return [4 /*yield*/, actions_2.execute()];
1468
- case 3:
1469
- _b.sent();
1470
- _b.label = 4;
1471
- case 4:
1472
- actions_1_1 = actions_1.next();
1473
- return [3 /*break*/, 2];
1474
- case 5: return [3 /*break*/, 8];
1475
- case 6:
1476
- e_1_1 = _b.sent();
1477
- e_1 = { error: e_1_1 };
1478
- return [3 /*break*/, 8];
1479
- case 7:
1480
- try {
1481
- if (actions_1_1 && !actions_1_1.done && (_a = actions_1.return)) _a.call(actions_1);
1482
- }
1483
- finally { if (e_1) throw e_1.error; }
1484
- return [7 /*endfinally*/];
1485
- case 8: return [2 /*return*/];
1486
- }
1487
- });
1488
- });
1489
- };
1490
- return Validations;
1076
+ return FormValidation;
1491
1077
  }());
1492
1078
  __decorate([
1493
1079
  kwikidToolkit.logMethod
1494
- ], Validations.prototype, "getFieldValidators", null);
1495
- __decorate([
1496
- kwikidToolkit.logMethod
1497
- ], Validations.prototype, "getFormValidationErrors", null);
1080
+ ], FormValidation.prototype, "getFormFieldValidators", null);
1498
1081
  __decorate([
1499
1082
  kwikidToolkit.logMethod
1500
- ], Validations.prototype, "findInvalidControlsRecursive", null);
1083
+ ], FormValidation.prototype, "getFormFieldsValidationErrors", null);
1501
1084
  __decorate([
1502
1085
  kwikidToolkit.logMethod
1503
- ], Validations.prototype, "validateField", null);
1086
+ ], FormValidation.prototype, "getFormFieldsInvalidControls", null);
1504
1087
 
1505
1088
  var KwikIDFormViewService = /** @class */ (function () {
1506
1089
  function KwikIDFormViewService() {
@@ -1516,36 +1099,44 @@
1516
1099
  formGroup = new i6.FormGroup({});
1517
1100
  _b.label = 1;
1518
1101
  case 1:
1519
- _b.trys.push([1, 6, 7, 8]);
1102
+ _b.trys.push([1, 8, 9, 10]);
1520
1103
  fields_1 = __values(fields), fields_1_1 = fields_1.next();
1521
1104
  _b.label = 2;
1522
1105
  case 2:
1523
- if (!!fields_1_1.done) return [3 /*break*/, 5];
1106
+ if (!!fields_1_1.done) return [3 /*break*/, 7];
1524
1107
  field = fields_1_1.value;
1525
- if (!field.isFormElement) return [3 /*break*/, 4];
1108
+ if (!field.isFormElement) return [3 /*break*/, 6];
1526
1109
  defaults = new Defaults(field, fields, allFormsData, formData, previousFormData, takeAction);
1527
- return [4 /*yield*/, defaults.getDefaultValue()];
1110
+ return [4 /*yield*/, defaults.getFormFieldValue()];
1528
1111
  case 3:
1529
1112
  value = _b.sent();
1530
- value = convertValueFromBasicFormatToKwikUIFormat(field, value);
1531
- validators = new Validations(field, fields, formData, previousFormData, allFormsData, takeAction).getFieldValidators(field);
1532
- formGroup.addControl(field.key, new i6.FormControl({ value: value, disabled: field.disabled }, { validators: validators }));
1533
- _b.label = 4;
1113
+ if (!kwikidToolkit.checkObjectKeyExists(field, "default")) return [3 /*break*/, 5];
1114
+ if (!kwikidToolkit.checkObjectKeyExists(field.default, "options")) return [3 /*break*/, 5];
1115
+ if (!field.default.options.triggers.includes("ON_INIT")) return [3 /*break*/, 5];
1116
+ return [4 /*yield*/, defaults.getFormFieldOptions()];
1534
1117
  case 4:
1118
+ _b.sent();
1119
+ _b.label = 5;
1120
+ case 5:
1121
+ value = convertFormFieldValueToKwikUIFormat(field, value);
1122
+ validators = new FormValidation().getFormFieldValidators(field);
1123
+ formGroup.addControl(field.key, new i6.FormControl({ value: value, disabled: field.disabled }, { validators: validators }));
1124
+ _b.label = 6;
1125
+ case 6:
1535
1126
  fields_1_1 = fields_1.next();
1536
1127
  return [3 /*break*/, 2];
1537
- case 5: return [3 /*break*/, 8];
1538
- case 6:
1128
+ case 7: return [3 /*break*/, 10];
1129
+ case 8:
1539
1130
  e_1_1 = _b.sent();
1540
1131
  e_1 = { error: e_1_1 };
1541
- return [3 /*break*/, 8];
1542
- case 7:
1132
+ return [3 /*break*/, 10];
1133
+ case 9:
1543
1134
  try {
1544
1135
  if (fields_1_1 && !fields_1_1.done && (_a = fields_1.return)) _a.call(fields_1);
1545
1136
  }
1546
1137
  finally { if (e_1) throw e_1.error; }
1547
1138
  return [7 /*endfinally*/];
1548
- case 8: return [2 /*return*/, formGroup];
1139
+ case 10: return [2 /*return*/, formGroup];
1549
1140
  }
1550
1141
  });
1551
1142
  });
@@ -1557,19 +1148,25 @@
1557
1148
  ], KwikIDFormViewService.prototype, "createFormGroup", null);
1558
1149
 
1559
1150
  var Apis = /** @class */ (function () {
1560
- function Apis(field, formFields, formData, previousFormData, allFormsData, takeAction) {
1561
- this._field = field;
1562
- this._formFields = formFields;
1563
- this._formData = formData;
1564
- this._previousFormData = previousFormData;
1565
- this._allFormsData = allFormsData;
1151
+ function Apis(object, takeAction) {
1152
+ this._object = object;
1566
1153
  this._takeAction = takeAction;
1567
- this._api = field.api;
1568
- this._request = field.api.request;
1569
- this._response = field.api.response;
1570
- this._status = field.api.status;
1154
+ this._api = this._object.FIELD_CONFIG.api;
1155
+ this._request = this._object.FIELD_CONFIG.api.request;
1156
+ this._response = this._object.FIELD_CONFIG.api.response;
1157
+ this._status = this._object.FIELD_CONFIG.api.status;
1571
1158
  }
1572
- Apis.prototype.setRequestBodyParams = function () {
1159
+ Object.defineProperty(Apis.prototype, "object", {
1160
+ get: function () {
1161
+ return this._object;
1162
+ },
1163
+ set: function (value) {
1164
+ this._object = value;
1165
+ },
1166
+ enumerable: false,
1167
+ configurable: true
1168
+ });
1169
+ Apis.prototype.setRequestBody = function () {
1573
1170
  var _a, _b, _c, _d;
1574
1171
  return __awaiter(this, void 0, void 0, function () {
1575
1172
  var params, paramIndex, params_1, params_1_1, param, sources, sourceIndex, sources_1, sources_1_1, source, sources_2, value, validation, triggers, rules, actions, rulesMapping, actions_1, actions_1_1, action, conditionEvaluation, actions_2, e_1_1, e_2_1, e_3_1;
@@ -1597,27 +1194,15 @@
1597
1194
  case 4:
1598
1195
  if (!!sources_1_1.done) return [3 /*break*/, 14];
1599
1196
  source = sources_1_1.value;
1600
- sources_2 = new kwikidToolkit.Sources({
1601
- FIELD_CONFIG: this._field,
1602
- FORM_FIELDS: this._formFields,
1603
- FORM_DATA: this._formData,
1604
- PREVIOUS_FORM_DATA: this._previousFormData,
1605
- ALL_FORMS_DATA: this._allFormsData
1606
- });
1197
+ sources_2 = new kwikidToolkit.Source(this._object);
1607
1198
  value = sources_2.getValueFromSource(source);
1608
1199
  // Set the Value of current source.
1609
- this._field = setValueToObject(this._field, "api.request.body.params[" + paramIndex + "].sources[" + sourceIndex + "].value", value);
1200
+ this._object.FIELD_CONFIG = kwikidToolkit.setValueToObjectPath(this._object.FIELD_CONFIG, "api.request.body.params[" + paramIndex + "].sources[" + sourceIndex + "].value", value);
1610
1201
  validation = source.validation;
1611
1202
  triggers = (_a = validation === null || validation === void 0 ? void 0 : validation.triggers) !== null && _a !== void 0 ? _a : [];
1612
1203
  rules = (_b = validation === null || validation === void 0 ? void 0 : validation.rules) !== null && _b !== void 0 ? _b : [];
1613
1204
  actions = (_d = (_c = validation) === null || _c === void 0 ? void 0 : _c.actions) !== null && _d !== void 0 ? _d : [];
1614
- rulesMapping = new kwikidToolkit.Rules(rules, {
1615
- FIELD_CONFIG: this._field,
1616
- FORM_FIELDS: this._formFields,
1617
- FORM_DATA: this._formData,
1618
- PREVIOUS_FORM_DATA: this._previousFormData,
1619
- ALL_FORMS_DATA: this._allFormsData
1620
- }).mapping();
1205
+ rulesMapping = new kwikidToolkit.Rule(rules, this._object).mapping();
1621
1206
  _h.label = 5;
1622
1207
  case 5:
1623
1208
  _h.trys.push([5, 10, 11, 12]);
@@ -1628,13 +1213,7 @@
1628
1213
  action = actions_1_1.value;
1629
1214
  conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1630
1215
  if (!conditionEvaluation) return [3 /*break*/, 8];
1631
- actions_2 = new kwikidToolkit.Actions(action, rulesMapping, {
1632
- FIELD_CONFIG: this._field,
1633
- FORM_FIELDS: this._formFields,
1634
- FORM_DATA: this._formData,
1635
- PREVIOUS_FORM_DATA: this._previousFormData,
1636
- ALL_FORMS_DATA: this._allFormsData
1637
- }, this._takeAction);
1216
+ actions_2 = new kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
1638
1217
  return [4 /*yield*/, actions_2.execute()];
1639
1218
  case 7:
1640
1219
  _h.sent();
@@ -1687,7 +1266,7 @@
1687
1266
  }
1688
1267
  finally { if (e_3) throw e_3.error; }
1689
1268
  return [7 /*endfinally*/];
1690
- case 22: return [2 /*return*/, this._field];
1269
+ case 22: return [2 /*return*/, this._object.FIELD_CONFIG];
1691
1270
  }
1692
1271
  });
1693
1272
  });
@@ -1705,13 +1284,7 @@
1705
1284
  triggers = validation.triggers;
1706
1285
  rules = validation.rules;
1707
1286
  actions = (_a = validation) === null || _a === void 0 ? void 0 : _a.actions;
1708
- rulesMapping = new kwikidToolkit.Rules(rules, {
1709
- FIELD_CONFIG: this._field,
1710
- FORM_FIELDS: this._formFields,
1711
- FORM_DATA: this._formData,
1712
- PREVIOUS_FORM_DATA: this._previousFormData,
1713
- ALL_FORMS_DATA: this._allFormsData
1714
- }).mapping();
1287
+ rulesMapping = new kwikidToolkit.Rule(rules, this._object).mapping();
1715
1288
  _f.label = 1;
1716
1289
  case 1:
1717
1290
  _f.trys.push([1, 6, 7, 8]);
@@ -1722,13 +1295,7 @@
1722
1295
  action = actions_3_1.value;
1723
1296
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1724
1297
  if (!conditionSuccess) return [3 /*break*/, 4];
1725
- actions_4 = new kwikidToolkit.Actions(action, rulesMapping, {
1726
- FIELD_CONFIG: this._field,
1727
- FORM_FIELDS: this._formFields,
1728
- FORM_DATA: this._formData,
1729
- PREVIOUS_FORM_DATA: this._previousFormData,
1730
- ALL_FORMS_DATA: this._allFormsData
1731
- }, this._takeAction);
1298
+ actions_4 = new kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
1732
1299
  return [4 /*yield*/, actions_4.execute()];
1733
1300
  case 3:
1734
1301
  _f.sent();
@@ -1747,12 +1314,12 @@
1747
1314
  }
1748
1315
  finally { if (e_4) throw e_4.error; }
1749
1316
  return [7 /*endfinally*/];
1750
- case 8: return [2 /*return*/, this._field];
1317
+ case 8: return [2 /*return*/, this._object.FIELD_CONFIG];
1751
1318
  }
1752
1319
  });
1753
1320
  });
1754
1321
  };
1755
- Apis.prototype.validateApiCallResponse = function () {
1322
+ Apis.prototype.validateResponse = function () {
1756
1323
  return __awaiter(this, void 0, void 0, function () {
1757
1324
  var validation, triggers, rules, actions, rulesMapping, actions_5, actions_5_1, action, conditionSuccess, actions_6, e_5_1;
1758
1325
  var e_5, _e;
@@ -1763,13 +1330,7 @@
1763
1330
  triggers = validation.triggers;
1764
1331
  rules = validation.rules;
1765
1332
  actions = validation.actions;
1766
- rulesMapping = new kwikidToolkit.Rules(rules, {
1767
- FIELD_CONFIG: this._field,
1768
- FORM_FIELDS: this._formFields,
1769
- FORM_DATA: this._formData,
1770
- PREVIOUS_FORM_DATA: this._previousFormData,
1771
- ALL_FORMS_DATA: this._allFormsData
1772
- }).mapping();
1333
+ rulesMapping = new kwikidToolkit.Rule(rules, this._object).mapping();
1773
1334
  _f.label = 1;
1774
1335
  case 1:
1775
1336
  _f.trys.push([1, 6, 7, 8]);
@@ -1780,13 +1341,7 @@
1780
1341
  action = actions_5_1.value;
1781
1342
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1782
1343
  if (!conditionSuccess) return [3 /*break*/, 4];
1783
- actions_6 = new kwikidToolkit.Actions(action, rulesMapping, {
1784
- FIELD_CONFIG: this._field,
1785
- FORM_FIELDS: this._formFields,
1786
- FORM_DATA: this._formData,
1787
- PREVIOUS_FORM_DATA: this._previousFormData,
1788
- ALL_FORMS_DATA: this._allFormsData
1789
- }, this._takeAction);
1344
+ actions_6 = new kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
1790
1345
  return [4 /*yield*/, actions_6.execute()];
1791
1346
  case 3:
1792
1347
  _f.sent();
@@ -1805,31 +1360,22 @@
1805
1360
  }
1806
1361
  finally { if (e_5) throw e_5.error; }
1807
1362
  return [7 /*endfinally*/];
1808
- case 8: return [2 /*return*/, this._field];
1363
+ case 8: return [2 /*return*/, this._object.FIELD_CONFIG];
1809
1364
  }
1810
1365
  });
1811
1366
  });
1812
1367
  };
1813
- Apis.prototype.getPropsValues = function () {
1814
- return {
1815
- field: this._field,
1816
- formFields: this._formFields,
1817
- formData: this._formData,
1818
- previousFormData: this._previousFormData,
1819
- allFormsData: this._allFormsData
1820
- };
1821
- };
1822
1368
  return Apis;
1823
1369
  }());
1824
1370
  __decorate([
1825
1371
  kwikidToolkit.logMethod
1826
- ], Apis.prototype, "setRequestBodyParams", null);
1372
+ ], Apis.prototype, "setRequestBody", null);
1827
1373
  __decorate([
1828
1374
  kwikidToolkit.logMethod
1829
1375
  ], Apis.prototype, "validateRequestBody", null);
1830
1376
  __decorate([
1831
1377
  kwikidToolkit.logMethod
1832
- ], Apis.prototype, "validateApiCallResponse", null);
1378
+ ], Apis.prototype, "validateResponse", null);
1833
1379
 
1834
1380
  /**
1835
1381
  * Generated class for the SafeHtmlPipe pipe.
@@ -1910,12 +1456,18 @@
1910
1456
  this.formGroup.patchValue((_b = {},
1911
1457
  _b[this.apiCallResponse.key] = this.apiCallResponse.response,
1912
1458
  _b), { emitEvent: false });
1913
- var field_1 = findFieldFromKey(this.formFields, this.apiCallResponse.key);
1914
- var apis_1 = new Apis(field_1, this.formFields, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
1459
+ var field_1 = getFormFieldByKey(this.formFields, this.apiCallResponse.key);
1460
+ var apis_1 = new Apis({
1461
+ FIELD_CONFIG: field_1,
1462
+ FORM_FIELDS: this.formFields,
1463
+ FORM_DATA: this.formData,
1464
+ PREVIOUS_FORM_DATA: this.previousFormData,
1465
+ ALL_FORMS_DATA: this.allFormsData
1466
+ }, this.takeAction.bind(this));
1915
1467
  (function () { return __awaiter(_this, void 0, void 0, function () {
1916
1468
  return __generator(this, function (_a) {
1917
1469
  switch (_a.label) {
1918
- case 0: return [4 /*yield*/, apis_1.validateApiCallResponse()];
1470
+ case 0: return [4 /*yield*/, apis_1.validateResponse()];
1919
1471
  case 1:
1920
1472
  field_1 = _a.sent();
1921
1473
  return [2 /*return*/];
@@ -1948,8 +1500,8 @@
1948
1500
  };
1949
1501
  KwikIDFormViewComponent.prototype.initFormConfig = function (formConfig) {
1950
1502
  return __awaiter(this, void 0, void 0, function () {
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;
1503
+ var _a, _loop_1, this_1, _b, _c, field, _loop_2, this_2, _d, _e, field;
1504
+ var e_1, _f, e_2, _g;
1953
1505
  var _this = this;
1954
1506
  return __generator(this, function (_h) {
1955
1507
  switch (_h.label) {
@@ -1970,8 +1522,8 @@
1970
1522
  .subscribe(function (_a) {
1971
1523
  var _b, _c;
1972
1524
  var _d = __read(_a, 2), previousValue = _d[0], currentValue = _d[1];
1973
- _this.previousFormData = Object.assign(Object.assign({}, _this.previousFormData), (_b = {}, _b[field.key] = previousValue, _b));
1974
- _this.formData = Object.assign(Object.assign({}, _this.formData), (_c = {}, _c[field.key] = currentValue, _c));
1525
+ _this.previousFormData = Object.assign(Object.assign({}, _this.previousFormData), (_b = {}, _b[field.key] = convertFormFieldValueToStandardFormat(field, previousValue), _b));
1526
+ _this.formData = Object.assign(Object.assign({}, _this.formData), (_c = {}, _c[field.key] = convertFormFieldValueToStandardFormat(field, currentValue), _c));
1975
1527
  });
1976
1528
  }
1977
1529
  };
@@ -1982,80 +1534,57 @@
1982
1534
  _loop_1(field);
1983
1535
  }
1984
1536
  }
1985
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
1537
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1986
1538
  finally {
1987
1539
  try {
1988
1540
  if (_c && !_c.done && (_f = _b.return)) _f.call(_b);
1989
1541
  }
1990
- finally { if (e_2) throw e_2.error; }
1542
+ finally { if (e_1) throw e_1.error; }
1991
1543
  }
1992
1544
  _loop_2 = function (field) {
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({
2014
- key: field.key,
2015
- value: this_2.formGroup.controls[field.key].value
2016
- }, "ON_INIT");
1545
+ if (field.isFormElement) {
1546
+ if (field.validation.triggers.includes("ON_INIT")) {
1547
+ var validations_1 = new kwikidToolkit.Validation({
1548
+ FIELD_CONFIG: field,
1549
+ FORM_FIELDS: this_2.formFields,
1550
+ FORM_DATA: this_2.formData,
1551
+ PREVIOUS_FORM_DATA: this_2.previousFormData,
1552
+ ALL_FORMS_DATA: this_2.allFormsData
1553
+ }, this_2.takeAction.bind(this_2));
1554
+ (function () { return __awaiter(_this, void 0, void 0, function () {
1555
+ return __generator(this, function (_a) {
1556
+ switch (_a.label) {
1557
+ case 0: return [4 /*yield*/, validations_1.validate(field.validation)];
1558
+ case 1:
1559
+ _a.sent();
1560
+ return [2 /*return*/];
2017
1561
  }
2018
- }
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*/];
1562
+ });
1563
+ }); })();
2028
1564
  }
2029
- });
1565
+ if (kwikidToolkit.checkObjectKeyExists(field, "connectedElements")) {
1566
+ this_2.handleConnectedElements({
1567
+ key: field.key,
1568
+ value: this_2.formGroup.controls[field.key].value
1569
+ }, "ON_INIT");
1570
+ }
1571
+ }
2030
1572
  };
2031
1573
  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:
2053
1574
  try {
2054
- if (_e && !_e.done && (_g = _d.return)) _g.call(_d);
1575
+ for (_d = __values(this.formFields), _e = _d.next(); !_e.done; _e = _d.next()) {
1576
+ field = _e.value;
1577
+ _loop_2(field);
1578
+ }
2055
1579
  }
2056
- finally { if (e_1) throw e_1.error; }
2057
- return [7 /*endfinally*/];
2058
- case 9: return [2 /*return*/];
1580
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
1581
+ finally {
1582
+ try {
1583
+ if (_e && !_e.done && (_g = _d.return)) _g.call(_d);
1584
+ }
1585
+ finally { if (e_2) throw e_2.error; }
1586
+ }
1587
+ return [2 /*return*/];
2059
1588
  }
2060
1589
  });
2061
1590
  });
@@ -2088,7 +1617,7 @@
2088
1617
  switch (_d.label) {
2089
1618
  case 0:
2090
1619
  if (!kwikidToolkit.checkObjectKeyExists(childFieldGroupConfig, "rules")) return [3 /*break*/, 8];
2091
- rulesMapping = new kwikidToolkit.Rules(childFieldGroupConfig.rules, {
1620
+ rulesMapping = new kwikidToolkit.Rule(childFieldGroupConfig.rules, {
2092
1621
  FIELD_CONFIG: parentField,
2093
1622
  FORM_DATA: this.formData,
2094
1623
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -2104,7 +1633,7 @@
2104
1633
  action = _b.value;
2105
1634
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
2106
1635
  if (!conditionSuccess) return [3 /*break*/, 4];
2107
- actions = new kwikidToolkit.Actions(action, rulesMapping, {
1636
+ actions = new kwikidToolkit.Action(action, rulesMapping, {
2108
1637
  FIELD_CONFIG: parentField,
2109
1638
  FORM_FIELDS: this.formFields,
2110
1639
  FORM_DATA: this.formData,
@@ -2158,7 +1687,7 @@
2158
1687
  switch (_d.label) {
2159
1688
  case 0:
2160
1689
  if (!kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "rules")) return [3 /*break*/, 8];
2161
- rulesMapping = new kwikidToolkit.Rules(connectedFieldConfig.rules, {
1690
+ rulesMapping = new kwikidToolkit.Rule(connectedFieldConfig.rules, {
2162
1691
  FIELD_CONFIG: connectedField,
2163
1692
  FORM_DATA: this.formData,
2164
1693
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -2174,7 +1703,7 @@
2174
1703
  action = _b.value;
2175
1704
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
2176
1705
  if (!conditionSuccess) return [3 /*break*/, 4];
2177
- actions = new kwikidToolkit.Actions(action, rulesMapping, {
1706
+ actions = new kwikidToolkit.Action(action, rulesMapping, {
2178
1707
  FORM_FIELDS: this.formFields,
2179
1708
  FIELD_CONFIG: connectedField,
2180
1709
  FORM_DATA: this.formData,
@@ -2206,39 +1735,21 @@
2206
1735
  };
2207
1736
  KwikIDFormViewComponent.prototype.handleConnectedElementFields = function (currentField, connectedFieldConfig, eventType, nested) {
2208
1737
  return __awaiter(this, void 0, void 0, function () {
2209
- var connectedField, _a, _b, connectedFieldConfig_1;
2210
- var e_5, _c;
2211
- return __generator(this, function (_d) {
2212
- switch (_d.label) {
1738
+ var connectedField;
1739
+ return __generator(this, function (_a) {
1740
+ switch (_a.label) {
2213
1741
  case 0:
2214
- connectedField = findFieldFromKey(this.formFields, connectedFieldConfig["key"]);
1742
+ connectedField = getFormFieldByKey(this.formFields, connectedFieldConfig["key"]);
2215
1743
  if (!kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "triggers")) return [3 /*break*/, 2];
2216
1744
  if (!connectedFieldConfig.triggers.includes(eventType)) return [3 /*break*/, 2];
2217
1745
  return [4 /*yield*/, this.handleConnectedElementFieldActions(connectedFieldConfig, connectedField)];
2218
1746
  case 1:
2219
- connectedField = _d.sent();
2220
- _d.label = 2;
1747
+ connectedField = _a.sent();
1748
+ _a.label = 2;
2221
1749
  case 2:
2222
1750
  if (kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "handleNestedFields")) {
2223
1751
  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
- }
2240
- }
2241
- }
1752
+ this.handleConnectedElements({ key: connectedFieldConfig.key }, eventType);
2242
1753
  }
2243
1754
  }
2244
1755
  return [2 /*return*/, currentField];
@@ -2248,12 +1759,12 @@
2248
1759
  };
2249
1760
  KwikIDFormViewComponent.prototype.handleConnectedElements = function (e, eventType) {
2250
1761
  return __awaiter(this, void 0, void 0, function () {
2251
- var currentField, connectedFieldGroups, connectedFieldGroups_1, connectedFieldGroups_1_1, connectedFieldGroupConfig, e_6_1, connectedFields, connectedFields_1, connectedFields_1_1, connectedFieldConfig, e_7_1;
2252
- var e_6, _a, e_7, _b;
1762
+ var currentField, connectedFieldGroups, connectedFieldGroups_1, connectedFieldGroups_1_1, connectedFieldGroupConfig, e_5_1, connectedFields, connectedFields_1, connectedFields_1_1, connectedFieldConfig, e_6_1;
1763
+ var e_5, _a, e_6, _b;
2253
1764
  return __generator(this, function (_c) {
2254
1765
  switch (_c.label) {
2255
1766
  case 0:
2256
- currentField = findFieldFromKey(this.formFields, e.key);
1767
+ currentField = getFormFieldByKey(this.formFields, e.key);
2257
1768
  if (!(currentField !== undefined)) return [3 /*break*/, 17];
2258
1769
  if (!kwikidToolkit.checkObjectKeyExists(currentField, "connectedElements")) return [3 /*break*/, 16];
2259
1770
  if (!kwikidToolkit.checkObjectKeyExists(currentField.connectedElements, "connectedFieldGroups")) return [3 /*break*/, 8];
@@ -2275,14 +1786,14 @@
2275
1786
  return [3 /*break*/, 2];
2276
1787
  case 5: return [3 /*break*/, 8];
2277
1788
  case 6:
2278
- e_6_1 = _c.sent();
2279
- e_6 = { error: e_6_1 };
1789
+ e_5_1 = _c.sent();
1790
+ e_5 = { error: e_5_1 };
2280
1791
  return [3 /*break*/, 8];
2281
1792
  case 7:
2282
1793
  try {
2283
1794
  if (connectedFieldGroups_1_1 && !connectedFieldGroups_1_1.done && (_a = connectedFieldGroups_1.return)) _a.call(connectedFieldGroups_1);
2284
1795
  }
2285
- finally { if (e_6) throw e_6.error; }
1796
+ finally { if (e_5) throw e_5.error; }
2286
1797
  return [7 /*endfinally*/];
2287
1798
  case 8:
2288
1799
  if (!kwikidToolkit.checkObjectKeyExists(currentField.connectedElements, "connectedFields")) return [3 /*break*/, 16];
@@ -2304,14 +1815,14 @@
2304
1815
  return [3 /*break*/, 10];
2305
1816
  case 13: return [3 /*break*/, 16];
2306
1817
  case 14:
2307
- e_7_1 = _c.sent();
2308
- e_7 = { error: e_7_1 };
1818
+ e_6_1 = _c.sent();
1819
+ e_6 = { error: e_6_1 };
2309
1820
  return [3 /*break*/, 16];
2310
1821
  case 15:
2311
1822
  try {
2312
1823
  if (connectedFields_1_1 && !connectedFields_1_1.done && (_b = connectedFields_1.return)) _b.call(connectedFields_1);
2313
1824
  }
2314
- finally { if (e_7) throw e_7.error; }
1825
+ finally { if (e_6) throw e_6.error; }
2315
1826
  return [7 /*endfinally*/];
2316
1827
  case 16: return [3 /*break*/, 18];
2317
1828
  case 17: throw new Error("Field for the given key ['" + e.key + "'] is not found with eventType: '" + eventType + "'.");
@@ -2327,15 +1838,21 @@
2327
1838
  this.formGroup.patchValue((_a = {},
2328
1839
  _a[e.key] = e.value,
2329
1840
  _a), { emitEvent: false });
2330
- // Currently set only for dropdown-with-search connected fields
2331
- var field = findFieldFromKey(this.formFields, e.key);
1841
+ var field = getFormFieldByKey(this.formFields, e.key);
1842
+ this.formData[e.key] = convertFormFieldValueToStandardFormat(field, e.value);
2332
1843
  if (field.isFormElement &&
2333
1844
  field.validation.triggers.includes("ON_CHANGE")) {
2334
- var validations_2 = new Validations(field, this.formFields, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
1845
+ var validations_2 = new kwikidToolkit.Validation({
1846
+ FIELD_CONFIG: field,
1847
+ FORM_FIELDS: this.formFields,
1848
+ FORM_DATA: this.formData,
1849
+ PREVIOUS_FORM_DATA: this.previousFormData,
1850
+ ALL_FORMS_DATA: this.allFormsData
1851
+ }, this.takeAction.bind(this));
2335
1852
  (function () { return __awaiter(_this, void 0, void 0, function () {
2336
1853
  return __generator(this, function (_a) {
2337
1854
  switch (_a.label) {
2338
- case 0: return [4 /*yield*/, validations_2.validateField()];
1855
+ case 0: return [4 /*yield*/, validations_2.validate(field.validation)];
2339
1856
  case 1:
2340
1857
  _a.sent();
2341
1858
  return [2 /*return*/];
@@ -2345,18 +1862,16 @@
2345
1862
  }
2346
1863
  if (field.isFormElement &&
2347
1864
  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
- }
1865
+ this.handleConnectedElements({
1866
+ key: field.key,
1867
+ value: this.formGroup.controls[field.key].value
1868
+ }, "ON_CHANGE");
2354
1869
  }
2355
1870
  };
2356
1871
  KwikIDFormViewComponent.prototype.handleOnClickResetFormFields = function (e, field) {
2357
1872
  return __awaiter(this, void 0, void 0, function () {
2358
- var _a, _b, f, _c, _d, action, resetField, actions, e_8_1, e_9_1;
2359
- var e_9, _e, e_8, _f;
1873
+ var _a, _b, f, _c, _d, action, resetField, actions, e_7_1, e_8_1;
1874
+ var e_8, _e, e_7, _f;
2360
1875
  return __generator(this, function (_g) {
2361
1876
  switch (_g.label) {
2362
1877
  case 0:
@@ -2369,13 +1884,13 @@
2369
1884
  _g.label = 2;
2370
1885
  case 2:
2371
1886
  _g.trys.push([2, 7, 8, 9]);
2372
- _c = (e_8 = void 0, __values(f.actions)), _d = _c.next();
1887
+ _c = (e_7 = void 0, __values(f.actions)), _d = _c.next();
2373
1888
  _g.label = 3;
2374
1889
  case 3:
2375
1890
  if (!!_d.done) return [3 /*break*/, 6];
2376
1891
  action = _d.value;
2377
- resetField = findFieldFromKey(this.formFields, action.props.fieldKey);
2378
- actions = new kwikidToolkit.Actions(action, {}, {
1892
+ resetField = getFormFieldByKey(this.formFields, action.props.fieldKey);
1893
+ actions = new kwikidToolkit.Action(action, {}, {
2379
1894
  FIELD_CONFIG: resetField,
2380
1895
  FORM_FIELDS: this.formFields,
2381
1896
  FORM_DATA: this.formData,
@@ -2391,28 +1906,28 @@
2391
1906
  return [3 /*break*/, 3];
2392
1907
  case 6: return [3 /*break*/, 9];
2393
1908
  case 7:
2394
- e_8_1 = _g.sent();
2395
- e_8 = { error: e_8_1 };
1909
+ e_7_1 = _g.sent();
1910
+ e_7 = { error: e_7_1 };
2396
1911
  return [3 /*break*/, 9];
2397
1912
  case 8:
2398
1913
  try {
2399
1914
  if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
2400
1915
  }
2401
- finally { if (e_8) throw e_8.error; }
1916
+ finally { if (e_7) throw e_7.error; }
2402
1917
  return [7 /*endfinally*/];
2403
1918
  case 9:
2404
1919
  _b = _a.next();
2405
1920
  return [3 /*break*/, 1];
2406
1921
  case 10: return [3 /*break*/, 13];
2407
1922
  case 11:
2408
- e_9_1 = _g.sent();
2409
- e_9 = { error: e_9_1 };
1923
+ e_8_1 = _g.sent();
1924
+ e_8 = { error: e_8_1 };
2410
1925
  return [3 /*break*/, 13];
2411
1926
  case 12:
2412
1927
  try {
2413
1928
  if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
2414
1929
  }
2415
- finally { if (e_9) throw e_9.error; }
1930
+ finally { if (e_8) throw e_8.error; }
2416
1931
  return [7 /*endfinally*/];
2417
1932
  case 13: return [2 /*return*/];
2418
1933
  }
@@ -2425,7 +1940,7 @@
2425
1940
  return __generator(this, function (_a) {
2426
1941
  switch (_a.label) {
2427
1942
  case 0:
2428
- field = findFieldFromKey(this.formFields, e.key);
1943
+ field = getFormFieldByKey(this.formFields, e.key);
2429
1944
  if (!(field.type === "api-call")) return [3 /*break*/, 3];
2430
1945
  // set button status to loading
2431
1946
  field["api"]["status"]["value"] = EApiStatusType.LOADING;
@@ -2434,8 +1949,14 @@
2434
1949
  this.viewFormsButton["showLoader"] = true;
2435
1950
  this.saveFormButton["disabled"] = true;
2436
1951
  this.saveFormButton["showLoader"] = true;
2437
- apis = new Apis(field, this.formFields, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
2438
- return [4 /*yield*/, apis.setRequestBodyParams()];
1952
+ apis = new Apis({
1953
+ FIELD_CONFIG: field,
1954
+ FORM_FIELDS: this.formFields,
1955
+ FORM_DATA: this.formData,
1956
+ PREVIOUS_FORM_DATA: this.previousFormData,
1957
+ ALL_FORMS_DATA: this.allFormsData
1958
+ }, this.takeAction.bind(this));
1959
+ return [4 /*yield*/, apis.setRequestBody()];
2439
1960
  case 1:
2440
1961
  field = _a.sent();
2441
1962
  return [4 /*yield*/, apis.validateRequestBody()];
@@ -2456,7 +1977,7 @@
2456
1977
  else {
2457
1978
  // Request Body Validation Failed
2458
1979
  // Highlight Error in UI to User to Retry After Sometime.
2459
- // Take Actions based on Validation
1980
+ // Take Action based on Validation
2460
1981
  setTimeout(function () {
2461
1982
  field["api"]["status"]["value"] = EApiStatusType.FAILED;
2462
1983
  field["showLoader"] = false;
@@ -2478,37 +1999,43 @@
2478
1999
  });
2479
2000
  };
2480
2001
  KwikIDFormViewComponent.prototype.handleOnClickSaveForm = function (e) {
2481
- var e_10, _a, e_11, _b, e_12, _c;
2002
+ var e_9, _a, e_10, _b, e_11, _c;
2482
2003
  var _this = this;
2483
2004
  var formData = this.formGroup.getRawValue();
2484
2005
  try {
2485
2006
  for (var _d = __values(this.formFields), _e = _d.next(); !_e.done; _e = _d.next()) {
2486
2007
  var field = _e.value;
2487
- if (field.type !== EFieldType.TITLE) {
2008
+ if (field.isFormElement) {
2488
2009
  if (field.hidden) {
2489
2010
  delete formData[field.key];
2490
2011
  }
2491
2012
  else {
2492
- formData[field.key] = convertValueFromKwikUIFormatToBasicFormat(field, formData[field.key]);
2013
+ formData[field.key] = convertFormFieldValueToStandardFormat(field, formData[field.key]);
2493
2014
  }
2494
2015
  }
2495
2016
  }
2496
2017
  }
2497
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
2018
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
2498
2019
  finally {
2499
2020
  try {
2500
2021
  if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
2501
2022
  }
2502
- finally { if (e_10) throw e_10.error; }
2023
+ finally { if (e_9) throw e_9.error; }
2503
2024
  }
2504
2025
  var _loop_3 = function (field) {
2505
- if (field.type !== EFieldType.TITLE &&
2026
+ if (field.isFormElement &&
2506
2027
  field.validation.triggers.includes("ON_SAVE")) {
2507
- var validations_3 = new Validations(field, this_3.formFields, formData, this_3.previousFormData, this_3.allFormsData, this_3.takeAction.bind(this_3));
2028
+ var validations_3 = new kwikidToolkit.Validation({
2029
+ FIELD_CONFIG: field,
2030
+ FORM_FIELDS: this_3.formFields,
2031
+ FORM_DATA: this_3.formData,
2032
+ PREVIOUS_FORM_DATA: this_3.previousFormData,
2033
+ ALL_FORMS_DATA: this_3.allFormsData
2034
+ }, this_3.takeAction.bind(this_3));
2508
2035
  (function () { return __awaiter(_this, void 0, void 0, function () {
2509
2036
  return __generator(this, function (_a) {
2510
2037
  switch (_a.label) {
2511
- case 0: return [4 /*yield*/, validations_3.validateField()];
2038
+ case 0: return [4 /*yield*/, validations_3.validate(field.validation)];
2512
2039
  case 1:
2513
2040
  _a.sent();
2514
2041
  return [2 /*return*/];
@@ -2524,15 +2051,15 @@
2524
2051
  _loop_3(field);
2525
2052
  }
2526
2053
  }
2527
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
2054
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
2528
2055
  finally {
2529
2056
  try {
2530
2057
  if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
2531
2058
  }
2532
- finally { if (e_11) throw e_11.error; }
2059
+ finally { if (e_10) throw e_10.error; }
2533
2060
  }
2534
2061
  if (this.formGroup.invalid) {
2535
- var controls = new Validations(undefined, this.formFields, formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this)).findInvalidControlsRecursive(this.formGroup);
2062
+ var controls = new FormValidation().getFormFieldsInvalidControls(this.formGroup);
2536
2063
  var firstFieldWithError = "";
2537
2064
  try {
2538
2065
  for (var controls_1 = __values(controls), controls_1_1 = controls_1.next(); !controls_1_1.done; controls_1_1 = controls_1.next()) {
@@ -2540,15 +2067,15 @@
2540
2067
  if (control.invalid && kwikidToolkit.isEmptyValue(firstFieldWithError)) {
2541
2068
  firstFieldWithError = control.key;
2542
2069
  }
2543
- this.formFields = setFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
2070
+ this.formFields = showFormFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
2544
2071
  }
2545
2072
  }
2546
- catch (e_12_1) { e_12 = { error: e_12_1 }; }
2073
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
2547
2074
  finally {
2548
2075
  try {
2549
2076
  if (controls_1_1 && !controls_1_1.done && (_c = controls_1.return)) _c.call(controls_1);
2550
2077
  }
2551
- finally { if (e_12) throw e_12.error; }
2078
+ finally { if (e_11) throw e_11.error; }
2552
2079
  }
2553
2080
  this.toggleErrorNotification(true);
2554
2081
  setTimeout(function () {
@@ -2568,7 +2095,7 @@
2568
2095
  };
2569
2096
  // Component Helpers
2570
2097
  KwikIDFormViewComponent.prototype.fieldHide = function (fieldKey) {
2571
- var field = findFieldFromKey(this.formFields, fieldKey);
2098
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2572
2099
  var fieldIndex = this.formFields.findIndex(function (_) {
2573
2100
  return field.key === _.key;
2574
2101
  });
@@ -2576,23 +2103,23 @@
2576
2103
  this.formGroup.updateValueAndValidity();
2577
2104
  };
2578
2105
  KwikIDFormViewComponent.prototype.fieldGroupHide = function (fieldGroup) {
2579
- var e_13, _a;
2106
+ var e_12, _a;
2580
2107
  try {
2581
2108
  for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2582
2109
  var fieldKey = _c.value;
2583
2110
  this.fieldHide(fieldKey);
2584
2111
  }
2585
2112
  }
2586
- catch (e_13_1) { e_13 = { error: e_13_1 }; }
2113
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
2587
2114
  finally {
2588
2115
  try {
2589
2116
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2590
2117
  }
2591
- finally { if (e_13) throw e_13.error; }
2118
+ finally { if (e_12) throw e_12.error; }
2592
2119
  }
2593
2120
  };
2594
2121
  KwikIDFormViewComponent.prototype.fieldShow = function (fieldKey) {
2595
- var field = findFieldFromKey(this.formFields, fieldKey);
2122
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2596
2123
  var fieldIndex = this.formFields.findIndex(function (_) {
2597
2124
  return field.key === _.key;
2598
2125
  });
@@ -2600,27 +2127,27 @@
2600
2127
  this.formGroup.updateValueAndValidity();
2601
2128
  };
2602
2129
  KwikIDFormViewComponent.prototype.fieldGroupShow = function (fieldGroup) {
2603
- var e_14, _a;
2130
+ var e_13, _a;
2604
2131
  try {
2605
2132
  for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2606
2133
  var fieldKey = _c.value;
2607
2134
  this.fieldShow(fieldKey);
2608
2135
  }
2609
2136
  }
2610
- catch (e_14_1) { e_14 = { error: e_14_1 }; }
2137
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
2611
2138
  finally {
2612
2139
  try {
2613
2140
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2614
2141
  }
2615
- finally { if (e_14) throw e_14.error; }
2142
+ finally { if (e_13) throw e_13.error; }
2616
2143
  }
2617
2144
  };
2618
2145
  KwikIDFormViewComponent.prototype.fieldDisable = function (fieldKey) {
2619
- var field = findFieldFromKey(this.formFields, fieldKey);
2146
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2620
2147
  var fieldIndex = this.formFields.findIndex(function (_) {
2621
2148
  return field.key === _.key;
2622
2149
  });
2623
- if (field.type !== EFieldType.TITLE) {
2150
+ if (field.isFormElement) {
2624
2151
  this.formFields[fieldIndex]["disabled"] = true;
2625
2152
  if (kwikidToolkit.isNotEmptyValue(this.formGroup.controls)) {
2626
2153
  this.formGroup.controls[field.key].disable({
@@ -2631,27 +2158,27 @@
2631
2158
  }
2632
2159
  };
2633
2160
  KwikIDFormViewComponent.prototype.fieldGroupDisable = function (fieldGroup) {
2634
- var e_15, _a;
2161
+ var e_14, _a;
2635
2162
  try {
2636
2163
  for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2637
2164
  var fieldKey = _c.value;
2638
2165
  this.fieldDisable(fieldKey);
2639
2166
  }
2640
2167
  }
2641
- catch (e_15_1) { e_15 = { error: e_15_1 }; }
2168
+ catch (e_14_1) { e_14 = { error: e_14_1 }; }
2642
2169
  finally {
2643
2170
  try {
2644
2171
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2645
2172
  }
2646
- finally { if (e_15) throw e_15.error; }
2173
+ finally { if (e_14) throw e_14.error; }
2647
2174
  }
2648
2175
  };
2649
2176
  KwikIDFormViewComponent.prototype.fieldEnable = function (fieldKey) {
2650
- var field = findFieldFromKey(this.formFields, fieldKey);
2177
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2651
2178
  var fieldIndex = this.formFields.findIndex(function (_) {
2652
2179
  return field.key === _.key;
2653
2180
  });
2654
- if (field.type !== EFieldType.TITLE) {
2181
+ if (field.isFormElement) {
2655
2182
  this.formFields[fieldIndex]["disabled"] = false;
2656
2183
  if (kwikidToolkit.isNotEmptyValue(this.formGroup.controls)) {
2657
2184
  this.formGroup.controls[field.key].enable({
@@ -2662,37 +2189,37 @@
2662
2189
  }
2663
2190
  };
2664
2191
  KwikIDFormViewComponent.prototype.fieldGroupEnable = function (fieldGroup) {
2665
- var e_16, _a;
2192
+ var e_15, _a;
2666
2193
  try {
2667
2194
  for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2668
2195
  var fieldKey = _c.value;
2669
2196
  this.fieldEnable(fieldKey);
2670
2197
  }
2671
2198
  }
2672
- catch (e_16_1) { e_16 = { error: e_16_1 }; }
2199
+ catch (e_15_1) { e_15 = { error: e_15_1 }; }
2673
2200
  finally {
2674
2201
  try {
2675
2202
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2676
2203
  }
2677
- finally { if (e_16) throw e_16.error; }
2204
+ finally { if (e_15) throw e_15.error; }
2678
2205
  }
2679
2206
  };
2680
2207
  KwikIDFormViewComponent.prototype.fieldReset = function (fieldKey) {
2681
2208
  // Find the field and its index in the formFields array
2682
- var field = findFieldFromKey(this.formFields, fieldKey);
2683
- var fieldIndex = findFieldIndexFromKey(this.formFields, fieldKey);
2209
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2210
+ var fieldIndex = getFormFieldIndexByKey(this.formFields, fieldKey);
2684
2211
  // Delete the field from the formData object
2685
2212
  delete this.formData[fieldKey];
2686
2213
  // Reset the value of the field in the formGroup
2687
- this.formGroup.controls[field.key].reset(setEmptyValue(field), {
2214
+ this.formGroup.controls[field.key].reset(convertFormFieldEmptyValueToKwikUIFormat(field), {
2688
2215
  emitEvent: false
2689
2216
  });
2690
2217
  // Reset the messages and errors for the field
2691
- field = removeMessage(field, {
2218
+ field = removeFormFieldMessage(field, {
2692
2219
  type: EMessageType.WARNING,
2693
2220
  message: ""
2694
2221
  });
2695
- field = removeMessage(field, {
2222
+ field = removeFormFieldMessage(field, {
2696
2223
  type: EMessageType.SUCCESS,
2697
2224
  message: ""
2698
2225
  });
@@ -2715,37 +2242,37 @@
2715
2242
  }
2716
2243
  };
2717
2244
  KwikIDFormViewComponent.prototype.fieldErrorShow = function (fieldKey, message) {
2718
- var field = findFieldFromKey(this.formFields, fieldKey);
2245
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2719
2246
  var fieldIndex = this.formFields.findIndex(function (_) {
2720
2247
  return field.key === _.key;
2721
2248
  });
2722
- field = highlightFieldError(field, true);
2723
- field = addMessage(field, message);
2249
+ field = highlightFormFieldError(field, true);
2250
+ field = appendFormFieldMessage(field, message);
2724
2251
  this.formFields[fieldIndex] = field;
2725
2252
  };
2726
2253
  KwikIDFormViewComponent.prototype.fieldErrorHide = function (fieldKey, message) {
2727
- var field = findFieldFromKey(this.formFields, fieldKey);
2254
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2728
2255
  var fieldIndex = this.formFields.findIndex(function (_) {
2729
2256
  return field.key === _.key;
2730
2257
  });
2731
- field = highlightFieldError(field, false);
2732
- field = removeMessage(field, message);
2258
+ field = highlightFormFieldError(field, false);
2259
+ field = removeFormFieldMessage(field, message);
2733
2260
  this.formFields[fieldIndex] = field;
2734
2261
  };
2735
2262
  KwikIDFormViewComponent.prototype.fieldMessageShow = function (fieldKey, message) {
2736
- var field = findFieldFromKey(this.formFields, fieldKey);
2263
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2737
2264
  var fieldIndex = this.formFields.findIndex(function (_) {
2738
2265
  return field.key === _.key;
2739
2266
  });
2740
- field = addMessage(field, message);
2267
+ field = appendFormFieldMessage(field, message);
2741
2268
  this.formFields[fieldIndex] = field;
2742
2269
  };
2743
2270
  KwikIDFormViewComponent.prototype.fieldMessageHide = function (fieldKey, message) {
2744
- var field = findFieldFromKey(this.formFields, fieldKey);
2271
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2745
2272
  var fieldIndex = this.formFields.findIndex(function (_) {
2746
2273
  return field.key === _.key;
2747
2274
  });
2748
- field = removeMessage(field, message);
2275
+ field = removeFormFieldMessage(field, message);
2749
2276
  this.formFields[fieldIndex] = field;
2750
2277
  };
2751
2278
  KwikIDFormViewComponent.prototype.setObjectValue = function (field, path, value) { };
@@ -2772,7 +2299,7 @@
2772
2299
  KwikIDFormViewComponent.prototype.getFormGroupRawValues = function () {
2773
2300
  return this.formGroup.getRawValue();
2774
2301
  };
2775
- KwikIDFormViewComponent.prototype.takeActionOnFieldGroup = function (action, field, allFormsData, formData, previousFormData) {
2302
+ KwikIDFormViewComponent.prototype.takeActionOnFieldGroup = function (action, object) {
2776
2303
  return __awaiter(this, void 0, void 0, function () {
2777
2304
  return __generator(this, function (_a) {
2778
2305
  switch (action.key) {
@@ -2846,7 +2373,7 @@
2846
2373
  this.fieldMessageHide(action.props.fieldKey, action.props.message);
2847
2374
  return [3 /*break*/, 20];
2848
2375
  case 10:
2849
- setValue_Sources = new kwikidToolkit.Sources(object);
2376
+ setValue_Sources = new kwikidToolkit.Source(object);
2850
2377
  return [4 /*yield*/, setValue_Sources.getValueFromSource(action.props.value.source)];
2851
2378
  case 11:
2852
2379
  sourceValue = _b.sent();
@@ -2858,7 +2385,7 @@
2858
2385
  this.previousFormData = setValue_Sources.object.PREVIOUS_FORM_DATA;
2859
2386
  return [3 /*break*/, 20];
2860
2387
  case 12:
2861
- setDropdownValue_Sources = new kwikidToolkit.Sources(object);
2388
+ setDropdownValue_Sources = new kwikidToolkit.Source(object);
2862
2389
  return [4 /*yield*/, setDropdownValue_Sources.getValueFromSource(action.props.value.source)];
2863
2390
  case 13:
2864
2391
  dropdownValue = _b.sent();
@@ -2885,7 +2412,7 @@
2885
2412
  setDropdownValue_Sources.object.PREVIOUS_FORM_DATA;
2886
2413
  return [3 /*break*/, 20];
2887
2414
  case 17:
2888
- this.handleConnectedElements({ key: action.props.fieldKey }, "ACTION");
2415
+ this.handleConnectedElements({ key: action.props.fieldKey }, "ON_ACTION");
2889
2416
  return [3 /*break*/, 20];
2890
2417
  case 18: return [3 /*break*/, 20];
2891
2418
  case 19: return [3 /*break*/, 20];
@@ -3225,14 +2752,14 @@
3225
2752
  var formatFieldTypeDate = function (field) {
3226
2753
  field = _this.setFieldKeyValue(field, "isFormElement", true);
3227
2754
  if (kwikidToolkit.checkObjectKeyExists(field, "min")) {
3228
- var tuiDay = convertDateStringToTuiDayFormat(field["min"]);
2755
+ var tuiDay = convertFormFieldTypeDateToKwikUIFormat(field["min"]);
3229
2756
  field.properties = _this.setFieldKeyValue(field.properties, "min", tuiDay);
3230
2757
  }
3231
2758
  else {
3232
2759
  field.properties = _this.setMissingFieldKeyValue(field.properties, "min", new cdk.TuiDay(0, 0, 1)); // Year - 0000, Month - 0 (0 Indexing), Day - 1
3233
2760
  }
3234
2761
  if (kwikidToolkit.checkObjectKeyExists(field, "max")) {
3235
- var tuiDay = convertDateStringToTuiDayFormat(field["max"]);
2762
+ var tuiDay = convertFormFieldTypeDateToKwikUIFormat(field["max"]);
3236
2763
  field.properties = _this.setFieldKeyValue(field.properties, "max", tuiDay);
3237
2764
  }
3238
2765
  else {
@@ -3869,9 +3396,8 @@
3869
3396
  for (var formsList_1 = __values(formsList), formsList_1_1 = formsList_1.next(); !formsList_1_1.done; formsList_1_1 = formsList_1.next()) {
3870
3397
  var form = formsList_1_1.value;
3871
3398
  if (formsListCompleted.includes(form.key)) {
3872
- console.log(formsListCompleted.includes(form.key));
3873
- form = setValueToObject(form, "status", "completed");
3874
- form = setValueToObject(form, "disabled", false);
3399
+ form = kwikidToolkit.setValueToObjectPath(form, "status", "completed");
3400
+ form = kwikidToolkit.setValueToObjectPath(form, "disabled", false);
3875
3401
  }
3876
3402
  }
3877
3403
  }
@@ -3893,18 +3419,18 @@
3893
3419
  if (kwikidToolkit.checkObjectKeyExists(form, "dependentOn")) {
3894
3420
  var isDependent = form.dependentOn.every(function (r) { return formsListCompleted.includes(r); });
3895
3421
  if (isDependent) {
3896
- form = setValueToObject(form, "status", "editable");
3897
- form = setValueToObject(form, "disabled", false);
3422
+ form = kwikidToolkit.setValueToObjectPath(form, "status", "editable");
3423
+ form = kwikidToolkit.setValueToObjectPath(form, "disabled", false);
3898
3424
  }
3899
3425
  else {
3900
- form = setValueToObject(form, "status", "locked");
3901
- form = setValueToObject(form, "disabled", true);
3426
+ form = kwikidToolkit.setValueToObjectPath(form, "status", "locked");
3427
+ form = kwikidToolkit.setValueToObjectPath(form, "disabled", true);
3902
3428
  }
3903
3429
  }
3904
3430
  else {
3905
- form = setValueToObject(form, "dependentOn", []);
3906
- form = setValueToObject(form, "status", "editable");
3907
- form = setValueToObject(form, "disabled", false);
3431
+ form = kwikidToolkit.setValueToObjectPath(form, "dependentOn", []);
3432
+ form = kwikidToolkit.setValueToObjectPath(form, "status", "editable");
3433
+ form = kwikidToolkit.setValueToObjectPath(form, "disabled", false);
3908
3434
  }
3909
3435
  }
3910
3436
  }
@@ -3968,7 +3494,6 @@
3968
3494
  * this particular User Form only has to LOCAL METHOD Variable.
3969
3495
  */
3970
3496
  var currentUserFormAllFormsData = this.filterAllFormsData(this.allFormsData, formsList);
3971
- console.log(JSON.parse(JSON.stringify(formsList)));
3972
3497
  formsListCompleted = this.findCompletedFormsList(currentUserFormAllFormsData);
3973
3498
  formsList = this.markFormInFormsListAsCompleted(formsList, formsListCompleted);
3974
3499
  formsList = this.markFormInFormsListAsDisabled(formsList, formsListCompleted);
@@ -4135,6 +3660,9 @@
4135
3660
  };
4136
3661
  KwikIDFormsRendererComponent.prototype.handleResize = function (formsList) {
4137
3662
  if (this.hostElement.nativeElement.offsetWidth < 600) {
3663
+ var isSingleForm = function (formsList) {
3664
+ return formsList.length === 1;
3665
+ };
4138
3666
  if (!isSingleForm(formsList)) {
4139
3667
  this.showFormSections = true;
4140
3668
  this.showFormFields = false;
@@ -4191,9 +3719,8 @@
4191
3719
  // forms-list listener
4192
3720
  KwikIDFormsRendererComponent.prototype.handleOnClickSubmitForms = function (e) {
4193
3721
  var _this = this;
4194
- console.log(e);
4195
3722
  if (this.userConfig.userFormFieldsConfig.validation) {
4196
- var validations_1 = new kwikidToolkit.Validations({
3723
+ var validations_1 = new kwikidToolkit.Validation({
4197
3724
  USER_CONFIG: this.userConfig,
4198
3725
  ALL_FORMS_DATA: this.formsData
4199
3726
  }, this.takeAction.bind(this));
@@ -4262,7 +3789,7 @@
4262
3789
  }
4263
3790
  return [3 /*break*/, 3];
4264
3791
  case 1:
4265
- sources = new kwikidToolkit.Sources({
3792
+ sources = new kwikidToolkit.Source({
4266
3793
  USER_CONFIG: this.userConfig,
4267
3794
  ALL_FORMS_DATA: this.formsData
4268
3795
  });