kwikid-forms 0.1.8 → 0.1.9

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 +387 -848
  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 +103 -88
  10. package/esm2015/lib/renderer/form-view/form-view.service.js +6 -6
  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 +14 -15
  13. package/esm2015/lib/renderer/form-view/helpers/form-view.fields.helper.js +41 -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 +279 -671
  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,169 @@
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
+ convertedValue = convertFormFieldTypeDateToStandardFormat(value);
864
752
  break;
865
753
  case EFieldType.RADIO:
866
- var fieldRadio = field;
867
- value = fieldRadio.options.find(function (item) {
868
- return item.label === fieldValue;
869
- });
754
+ convertedValue = value.label;
755
+ default:
756
+ break;
757
+ }
758
+ }
759
+ return convertedValue;
760
+ };
761
+ var convertFormFieldValueToKwikUIFormat = function (field, value) {
762
+ var convertedValue = value;
763
+ if (kwikidToolkit.isNotEmptyValue(value)) {
764
+ switch (field.type) {
765
+ case EFieldType.RADIO:
766
+ if (!kwikidToolkit.checkObjectKeyExists(value, "label")) {
767
+ var radioField = field;
768
+ var convertedLabelValue = radioField.options.find(function (item) {
769
+ return item.label === value;
770
+ });
771
+ convertedValue = convertedLabelValue;
772
+ }
870
773
  break;
871
- case EFieldType.CHECKBOX:
872
- value = Boolean(fieldValue);
774
+ case EFieldType.DATE:
775
+ convertedValue = convertFormFieldTypeDateToKwikUIFormat(value);
776
+ break;
777
+ case EFieldType.TITLE:
873
778
  break;
874
779
  default:
875
- value = fieldValue;
876
780
  break;
877
781
  }
878
782
  }
879
783
  else {
880
- value = fieldValue;
784
+ convertedValue = convertFormFieldEmptyValueToKwikUIFormat(field);
881
785
  }
882
- return value;
786
+ return convertedValue;
883
787
  };
884
- var setEmptyValue = function (field) {
788
+ var convertFormFieldEmptyValueToKwikUIFormat = function (field) {
885
789
  var fieldType = field.type;
886
790
  var value;
887
791
  switch (fieldType) {
@@ -910,7 +814,7 @@
910
814
  this._previousFormData = previousFormData;
911
815
  this._takeAction = takeAction;
912
816
  }
913
- Defaults.prototype.getDefaultValue = function () {
817
+ Defaults.prototype.getFormFieldValue = function () {
914
818
  return __awaiter(this, void 0, void 0, function () {
915
819
  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
820
  var e_2, _a, e_1, _b;
@@ -927,7 +831,7 @@
927
831
  case 2:
928
832
  if (!!sources_1_1.done) return [3 /*break*/, 12];
929
833
  source = sources_1_1.value;
930
- sources_2 = new kwikidToolkit.Sources({
834
+ sources_2 = new kwikidToolkit.Source({
931
835
  FIELD_CONFIG: this._field,
932
836
  FORM_FIELDS: this._formFields,
933
837
  FORM_DATA: this._formData,
@@ -936,12 +840,12 @@
936
840
  });
937
841
  value = sources_2.getValueFromSource(source);
938
842
  // Set the Value of current source.
939
- this._field = setValueToObject(this._field, "default.value.sources.[" + sourceIndex + "].value", value);
843
+ this._field = kwikidToolkit.setValueToObjectPath(this._field, "default.value.sources.[" + sourceIndex + "].value", value);
940
844
  validation = source.validation;
941
845
  triggers = validation.triggers;
942
846
  rules = validation.rules;
943
847
  actions = validation.actions;
944
- rulesMapping = new kwikidToolkit.Rules(rules, {
848
+ rulesMapping = new kwikidToolkit.Rule(rules, {
945
849
  FIELD_CONFIG: this._field,
946
850
  FORM_FIELDS: this._formFields,
947
851
  FORM_DATA: this._formData,
@@ -958,7 +862,7 @@
958
862
  action = actions_1_1.value;
959
863
  conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
960
864
  if (!conditionEvaluation) return [3 /*break*/, 6];
961
- actions_2 = new kwikidToolkit.Actions(action, rulesMapping, {
865
+ actions_2 = new kwikidToolkit.Action(action, rulesMapping, {
962
866
  FIELD_CONFIG: this._field,
963
867
  FORM_FIELDS: this._formFields,
964
868
  FORM_DATA: this._formData,
@@ -1002,15 +906,15 @@
1002
906
  return [7 /*endfinally*/];
1003
907
  case 15:
1004
908
  defaultValue = this._field.default.value.value;
1005
- if (isEmpty$1(defaultValue)) {
1006
- defaultValue = setEmptyValue(this._field);
909
+ if (kwikidToolkit.isEmptyValue(defaultValue)) {
910
+ defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
1007
911
  }
1008
912
  return [2 /*return*/, defaultValue];
1009
913
  }
1010
914
  });
1011
915
  });
1012
916
  };
1013
- Defaults.prototype.getDefaultDropdownOptions = function () {
917
+ Defaults.prototype.getFormFieldOptions = function () {
1014
918
  return __awaiter(this, void 0, void 0, function () {
1015
919
  var optionsConfig, rules, actions, rulesMapping, actions_3, actions_3_1, action, conditionEvaluation, actions_4, e_3_1;
1016
920
  var e_3, _a;
@@ -1020,7 +924,7 @@
1020
924
  optionsConfig = this._field.default.options;
1021
925
  rules = optionsConfig.rules;
1022
926
  actions = optionsConfig.actions;
1023
- rulesMapping = new kwikidToolkit.Rules(rules, {
927
+ rulesMapping = new kwikidToolkit.Rule(rules, {
1024
928
  FIELD_CONFIG: this._field,
1025
929
  FORM_FIELDS: this._formFields,
1026
930
  FORM_DATA: this._formData,
@@ -1034,314 +938,49 @@
1034
938
  _b.label = 2;
1035
939
  case 2:
1036
940
  if (!!actions_3_1.done) return [3 /*break*/, 5];
1037
- action = actions_3_1.value;
1038
- conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1039
- if (!conditionEvaluation) return [3 /*break*/, 4];
1040
- actions_4 = new kwikidToolkit.Actions(action, rulesMapping, {
1041
- FIELD_CONFIG: this._field,
1042
- FORM_FIELDS: this._formFields,
1043
- FORM_DATA: this._formData,
1044
- PREVIOUS_FORM_DATA: this._previousFormData,
1045
- ALL_FORMS_DATA: this._allFormsData
1046
- }, this._takeAction);
1047
- return [4 /*yield*/, actions_4.execute()];
1048
- case 3:
1049
- _b.sent();
1050
- _b.label = 4;
1051
- case 4:
1052
- actions_3_1 = actions_3.next();
1053
- return [3 /*break*/, 2];
1054
- case 5: return [3 /*break*/, 8];
1055
- case 6:
1056
- e_3_1 = _b.sent();
1057
- e_3 = { error: e_3_1 };
1058
- return [3 /*break*/, 8];
1059
- case 7:
1060
- try {
1061
- if (actions_3_1 && !actions_3_1.done && (_a = actions_3.return)) _a.call(actions_3);
1062
- }
1063
- finally { if (e_3) throw e_3.error; }
1064
- return [7 /*endfinally*/];
1065
- case 8: return [2 /*return*/];
1066
- }
1067
- });
1068
- });
1069
- };
1070
- return Defaults;
1071
- }());
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;
941
+ action = actions_3_1.value;
942
+ conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
943
+ if (!conditionEvaluation) return [3 /*break*/, 4];
944
+ actions_4 = new kwikidToolkit.Action(action, rulesMapping, {
945
+ FIELD_CONFIG: this._field,
946
+ FORM_FIELDS: this._formFields,
947
+ FORM_DATA: this._formData,
948
+ PREVIOUS_FORM_DATA: this._previousFormData,
949
+ ALL_FORMS_DATA: this._allFormsData
950
+ }, this._takeAction);
951
+ return [4 /*yield*/, actions_4.execute()];
952
+ case 3:
953
+ _b.sent();
954
+ _b.label = 4;
955
+ case 4:
956
+ actions_3_1 = actions_3.next();
957
+ return [3 /*break*/, 2];
958
+ case 5: return [3 /*break*/, 8];
959
+ case 6:
960
+ e_3_1 = _b.sent();
961
+ e_3 = { error: e_3_1 };
962
+ return [3 /*break*/, 8];
963
+ case 7:
964
+ try {
965
+ if (actions_3_1 && !actions_3_1.done && (_a = actions_3.return)) _a.call(actions_3);
966
+ }
967
+ finally { if (e_3) throw e_3.error; }
968
+ return [7 /*endfinally*/];
969
+ case 8: return [2 /*return*/];
1271
970
  }
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
- };
971
+ });
972
+ });
973
+ };
974
+ return Defaults;
975
+ }());
976
+ __decorate([
977
+ kwikidToolkit.logMethod
978
+ ], Defaults.prototype, "getFormFieldValue", null);
1284
979
 
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;
980
+ var FormValidation = /** @class */ (function () {
981
+ function FormValidation() {
1293
982
  }
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) {
983
+ FormValidation.prototype.getFormFieldValidators = function (field) {
1345
984
  var validators = [];
1346
985
  if (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
1347
986
  kwikidToolkit.checkObjectKeyExists(field.validators, "min") &&
@@ -1373,20 +1012,20 @@
1373
1012
  kwikidToolkit.checkObjectKeyExists(field.validators, "pattern") &&
1374
1013
  kwikidToolkit.isNotEmptyValue(field.validators.pattern)) {
1375
1014
  if (kwikidToolkit.checkObjectKeyExists(field.validators.pattern, "key")) {
1376
- if (field.validators.pattern.key === EPatternKey.CUSTOM) {
1015
+ if (field.validators.pattern.key === "CUSTOM") {
1377
1016
  validators.push(i6.Validators.pattern(field.validators.pattern.pattern));
1378
1017
  }
1379
1018
  else {
1380
- validators.push(i6.Validators.pattern(EPattern[field.validators.pattern.key]));
1019
+ validators.push(i6.Validators.pattern(kwikidToolkit.PATTERNS[field.validators.pattern.key]));
1381
1020
  }
1382
1021
  }
1383
1022
  }
1384
1023
  return validators;
1385
1024
  };
1386
- Validations.prototype.getFormValidationErrors = function (control) {
1025
+ FormValidation.prototype.getFormFieldsValidationErrors = function (formGroup) {
1387
1026
  var errors = [];
1388
1027
  var _loop_1 = function (key) {
1389
- var controlErrors = control.controls[key].errors;
1028
+ var controlErrors = formGroup.controls[key].errors;
1390
1029
  if (controlErrors !== null && controlErrors !== undefined) {
1391
1030
  Object.keys(controlErrors).forEach(function (keyError) {
1392
1031
  errors.push({
@@ -1396,12 +1035,12 @@
1396
1035
  });
1397
1036
  }
1398
1037
  };
1399
- for (var key in control.controls) {
1038
+ for (var key in formGroup.controls) {
1400
1039
  _loop_1(key);
1401
1040
  }
1402
1041
  return errors;
1403
1042
  };
1404
- Validations.prototype.findInvalidControlsRecursive = function (formToInvestigate) {
1043
+ FormValidation.prototype.getFormFieldsInvalidControls = function (formToInvestigate) {
1405
1044
  var controls = [];
1406
1045
  var recursiveFunc = function (form) {
1407
1046
  Object.keys(form.controls).forEach(function (field) {
@@ -1429,78 +1068,17 @@
1429
1068
  recursiveFunc(formToInvestigate);
1430
1069
  return controls;
1431
1070
  };
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;
1071
+ return FormValidation;
1491
1072
  }());
1492
1073
  __decorate([
1493
1074
  kwikidToolkit.logMethod
1494
- ], Validations.prototype, "getFieldValidators", null);
1495
- __decorate([
1496
- kwikidToolkit.logMethod
1497
- ], Validations.prototype, "getFormValidationErrors", null);
1075
+ ], FormValidation.prototype, "getFormFieldValidators", null);
1498
1076
  __decorate([
1499
1077
  kwikidToolkit.logMethod
1500
- ], Validations.prototype, "findInvalidControlsRecursive", null);
1078
+ ], FormValidation.prototype, "getFormFieldsValidationErrors", null);
1501
1079
  __decorate([
1502
1080
  kwikidToolkit.logMethod
1503
- ], Validations.prototype, "validateField", null);
1081
+ ], FormValidation.prototype, "getFormFieldsInvalidControls", null);
1504
1082
 
1505
1083
  var KwikIDFormViewService = /** @class */ (function () {
1506
1084
  function KwikIDFormViewService() {
@@ -1524,11 +1102,11 @@
1524
1102
  field = fields_1_1.value;
1525
1103
  if (!field.isFormElement) return [3 /*break*/, 4];
1526
1104
  defaults = new Defaults(field, fields, allFormsData, formData, previousFormData, takeAction);
1527
- return [4 /*yield*/, defaults.getDefaultValue()];
1105
+ return [4 /*yield*/, defaults.getFormFieldValue()];
1528
1106
  case 3:
1529
1107
  value = _b.sent();
1530
- value = convertValueFromBasicFormatToKwikUIFormat(field, value);
1531
- validators = new Validations(field, fields, formData, previousFormData, allFormsData, takeAction).getFieldValidators(field);
1108
+ value = convertFormFieldValueToKwikUIFormat(field, value);
1109
+ validators = new FormValidation().getFormFieldValidators(field);
1532
1110
  formGroup.addControl(field.key, new i6.FormControl({ value: value, disabled: field.disabled }, { validators: validators }));
1533
1111
  _b.label = 4;
1534
1112
  case 4:
@@ -1557,19 +1135,25 @@
1557
1135
  ], KwikIDFormViewService.prototype, "createFormGroup", null);
1558
1136
 
1559
1137
  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;
1138
+ function Apis(object, takeAction) {
1139
+ this._object = object;
1566
1140
  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;
1141
+ this._api = this._object.FIELD_CONFIG.api;
1142
+ this._request = this._object.FIELD_CONFIG.api.request;
1143
+ this._response = this._object.FIELD_CONFIG.api.response;
1144
+ this._status = this._object.FIELD_CONFIG.api.status;
1571
1145
  }
1572
- Apis.prototype.setRequestBodyParams = function () {
1146
+ Object.defineProperty(Apis.prototype, "object", {
1147
+ get: function () {
1148
+ return this._object;
1149
+ },
1150
+ set: function (value) {
1151
+ this._object = value;
1152
+ },
1153
+ enumerable: false,
1154
+ configurable: true
1155
+ });
1156
+ Apis.prototype.setRequestBody = function () {
1573
1157
  var _a, _b, _c, _d;
1574
1158
  return __awaiter(this, void 0, void 0, function () {
1575
1159
  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 +1181,15 @@
1597
1181
  case 4:
1598
1182
  if (!!sources_1_1.done) return [3 /*break*/, 14];
1599
1183
  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
- });
1184
+ sources_2 = new kwikidToolkit.Source(this._object);
1607
1185
  value = sources_2.getValueFromSource(source);
1608
1186
  // Set the Value of current source.
1609
- this._field = setValueToObject(this._field, "api.request.body.params[" + paramIndex + "].sources[" + sourceIndex + "].value", value);
1187
+ this._object.FIELD_CONFIG = kwikidToolkit.setValueToObjectPath(this._object.FIELD_CONFIG, "api.request.body.params[" + paramIndex + "].sources[" + sourceIndex + "].value", value);
1610
1188
  validation = source.validation;
1611
1189
  triggers = (_a = validation === null || validation === void 0 ? void 0 : validation.triggers) !== null && _a !== void 0 ? _a : [];
1612
1190
  rules = (_b = validation === null || validation === void 0 ? void 0 : validation.rules) !== null && _b !== void 0 ? _b : [];
1613
1191
  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();
1192
+ rulesMapping = new kwikidToolkit.Rule(rules, this._object).mapping();
1621
1193
  _h.label = 5;
1622
1194
  case 5:
1623
1195
  _h.trys.push([5, 10, 11, 12]);
@@ -1628,13 +1200,7 @@
1628
1200
  action = actions_1_1.value;
1629
1201
  conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1630
1202
  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);
1203
+ actions_2 = new kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
1638
1204
  return [4 /*yield*/, actions_2.execute()];
1639
1205
  case 7:
1640
1206
  _h.sent();
@@ -1687,7 +1253,7 @@
1687
1253
  }
1688
1254
  finally { if (e_3) throw e_3.error; }
1689
1255
  return [7 /*endfinally*/];
1690
- case 22: return [2 /*return*/, this._field];
1256
+ case 22: return [2 /*return*/, this._object.FIELD_CONFIG];
1691
1257
  }
1692
1258
  });
1693
1259
  });
@@ -1705,13 +1271,7 @@
1705
1271
  triggers = validation.triggers;
1706
1272
  rules = validation.rules;
1707
1273
  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();
1274
+ rulesMapping = new kwikidToolkit.Rule(rules, this._object).mapping();
1715
1275
  _f.label = 1;
1716
1276
  case 1:
1717
1277
  _f.trys.push([1, 6, 7, 8]);
@@ -1722,13 +1282,7 @@
1722
1282
  action = actions_3_1.value;
1723
1283
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1724
1284
  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);
1285
+ actions_4 = new kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
1732
1286
  return [4 /*yield*/, actions_4.execute()];
1733
1287
  case 3:
1734
1288
  _f.sent();
@@ -1747,12 +1301,12 @@
1747
1301
  }
1748
1302
  finally { if (e_4) throw e_4.error; }
1749
1303
  return [7 /*endfinally*/];
1750
- case 8: return [2 /*return*/, this._field];
1304
+ case 8: return [2 /*return*/, this._object.FIELD_CONFIG];
1751
1305
  }
1752
1306
  });
1753
1307
  });
1754
1308
  };
1755
- Apis.prototype.validateApiCallResponse = function () {
1309
+ Apis.prototype.validateResponse = function () {
1756
1310
  return __awaiter(this, void 0, void 0, function () {
1757
1311
  var validation, triggers, rules, actions, rulesMapping, actions_5, actions_5_1, action, conditionSuccess, actions_6, e_5_1;
1758
1312
  var e_5, _e;
@@ -1763,13 +1317,7 @@
1763
1317
  triggers = validation.triggers;
1764
1318
  rules = validation.rules;
1765
1319
  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();
1320
+ rulesMapping = new kwikidToolkit.Rule(rules, this._object).mapping();
1773
1321
  _f.label = 1;
1774
1322
  case 1:
1775
1323
  _f.trys.push([1, 6, 7, 8]);
@@ -1780,13 +1328,7 @@
1780
1328
  action = actions_5_1.value;
1781
1329
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1782
1330
  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);
1331
+ actions_6 = new kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
1790
1332
  return [4 /*yield*/, actions_6.execute()];
1791
1333
  case 3:
1792
1334
  _f.sent();
@@ -1805,31 +1347,22 @@
1805
1347
  }
1806
1348
  finally { if (e_5) throw e_5.error; }
1807
1349
  return [7 /*endfinally*/];
1808
- case 8: return [2 /*return*/, this._field];
1350
+ case 8: return [2 /*return*/, this._object.FIELD_CONFIG];
1809
1351
  }
1810
1352
  });
1811
1353
  });
1812
1354
  };
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
1355
  return Apis;
1823
1356
  }());
1824
1357
  __decorate([
1825
1358
  kwikidToolkit.logMethod
1826
- ], Apis.prototype, "setRequestBodyParams", null);
1359
+ ], Apis.prototype, "setRequestBody", null);
1827
1360
  __decorate([
1828
1361
  kwikidToolkit.logMethod
1829
1362
  ], Apis.prototype, "validateRequestBody", null);
1830
1363
  __decorate([
1831
1364
  kwikidToolkit.logMethod
1832
- ], Apis.prototype, "validateApiCallResponse", null);
1365
+ ], Apis.prototype, "validateResponse", null);
1833
1366
 
1834
1367
  /**
1835
1368
  * Generated class for the SafeHtmlPipe pipe.
@@ -1910,12 +1443,18 @@
1910
1443
  this.formGroup.patchValue((_b = {},
1911
1444
  _b[this.apiCallResponse.key] = this.apiCallResponse.response,
1912
1445
  _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));
1446
+ var field_1 = getFormFieldByKey(this.formFields, this.apiCallResponse.key);
1447
+ var apis_1 = new Apis({
1448
+ FIELD_CONFIG: field_1,
1449
+ FORM_FIELDS: this.formFields,
1450
+ FORM_DATA: this.formData,
1451
+ PREVIOUS_FORM_DATA: this.previousFormData,
1452
+ ALL_FORMS_DATA: this.allFormsData
1453
+ }, this.takeAction.bind(this));
1915
1454
  (function () { return __awaiter(_this, void 0, void 0, function () {
1916
1455
  return __generator(this, function (_a) {
1917
1456
  switch (_a.label) {
1918
- case 0: return [4 /*yield*/, apis_1.validateApiCallResponse()];
1457
+ case 0: return [4 /*yield*/, apis_1.validateResponse()];
1919
1458
  case 1:
1920
1459
  field_1 = _a.sent();
1921
1460
  return [2 /*return*/];
@@ -1964,14 +1503,14 @@
1964
1503
  _loop_1 = function (field) {
1965
1504
  var _j;
1966
1505
  if (field.isFormElement) {
1967
- this_1.previousFormData = Object.assign(Object.assign({}, this_1.previousFormData), (_j = {}, _j[field.key] = this_1.formGroup.controls[field.key].value, _j));
1506
+ this_1.previousFormData = Object.assign(Object.assign({}, this_1.previousFormData), (_j = {}, _j[field.key] = convertFormFieldValueToStandardFormat(field, this_1.formGroup.controls[field.key].value), _j));
1968
1507
  this_1.formGroup.controls[field.key].valueChanges
1969
1508
  .pipe(operators.pairwise())
1970
1509
  .subscribe(function (_a) {
1971
1510
  var _b, _c;
1972
1511
  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));
1512
+ _this.previousFormData = Object.assign(Object.assign({}, _this.previousFormData), (_b = {}, _b[field.key] = convertFormFieldValueToStandardFormat(field, previousValue), _b));
1513
+ _this.formData = Object.assign(Object.assign({}, _this.formData), (_c = {}, _c[field.key] = convertFormFieldValueToStandardFormat(field, currentValue), _c));
1975
1514
  });
1976
1515
  }
1977
1516
  };
@@ -1996,11 +1535,17 @@
1996
1535
  case 0:
1997
1536
  if (!field.isFormElement) return [3 /*break*/, 2];
1998
1537
  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));
1538
+ validations_1 = new kwikidToolkit.Validation({
1539
+ FIELD_CONFIG: field,
1540
+ FORM_FIELDS: this_2.formFields,
1541
+ FORM_DATA: this_2.formData,
1542
+ PREVIOUS_FORM_DATA: this_2.previousFormData,
1543
+ ALL_FORMS_DATA: this_2.allFormsData
1544
+ }, this_2.takeAction.bind(this_2));
2000
1545
  (function () { return __awaiter(_this, void 0, void 0, function () {
2001
1546
  return __generator(this, function (_a) {
2002
1547
  switch (_a.label) {
2003
- case 0: return [4 /*yield*/, validations_1.validateField()];
1548
+ case 0: return [4 /*yield*/, validations_1.validate(field.validation)];
2004
1549
  case 1:
2005
1550
  _a.sent();
2006
1551
  return [2 /*return*/];
@@ -2009,18 +1554,16 @@
2009
1554
  }); })();
2010
1555
  }
2011
1556
  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");
2017
- }
1557
+ this_2.handleConnectedElements({
1558
+ key: field.key,
1559
+ value: this_2.formGroup.controls[field.key].value
1560
+ }, "ON_INIT");
2018
1561
  }
2019
1562
  if (!kwikidToolkit.checkObjectKeyExists(field, "default")) return [3 /*break*/, 2];
2020
1563
  if (!kwikidToolkit.checkObjectKeyExists(field.default, "options")) return [3 /*break*/, 2];
2021
1564
  if (!field.default.options.triggers.includes("ON_INIT")) return [3 /*break*/, 2];
2022
1565
  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()];
1566
+ return [4 /*yield*/, defaults.getFormFieldOptions()];
2024
1567
  case 1:
2025
1568
  _k.sent();
2026
1569
  _k.label = 2;
@@ -2088,7 +1631,7 @@
2088
1631
  switch (_d.label) {
2089
1632
  case 0:
2090
1633
  if (!kwikidToolkit.checkObjectKeyExists(childFieldGroupConfig, "rules")) return [3 /*break*/, 8];
2091
- rulesMapping = new kwikidToolkit.Rules(childFieldGroupConfig.rules, {
1634
+ rulesMapping = new kwikidToolkit.Rule(childFieldGroupConfig.rules, {
2092
1635
  FIELD_CONFIG: parentField,
2093
1636
  FORM_DATA: this.formData,
2094
1637
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -2104,7 +1647,7 @@
2104
1647
  action = _b.value;
2105
1648
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
2106
1649
  if (!conditionSuccess) return [3 /*break*/, 4];
2107
- actions = new kwikidToolkit.Actions(action, rulesMapping, {
1650
+ actions = new kwikidToolkit.Action(action, rulesMapping, {
2108
1651
  FIELD_CONFIG: parentField,
2109
1652
  FORM_FIELDS: this.formFields,
2110
1653
  FORM_DATA: this.formData,
@@ -2158,7 +1701,7 @@
2158
1701
  switch (_d.label) {
2159
1702
  case 0:
2160
1703
  if (!kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "rules")) return [3 /*break*/, 8];
2161
- rulesMapping = new kwikidToolkit.Rules(connectedFieldConfig.rules, {
1704
+ rulesMapping = new kwikidToolkit.Rule(connectedFieldConfig.rules, {
2162
1705
  FIELD_CONFIG: connectedField,
2163
1706
  FORM_DATA: this.formData,
2164
1707
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -2174,7 +1717,7 @@
2174
1717
  action = _b.value;
2175
1718
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
2176
1719
  if (!conditionSuccess) return [3 /*break*/, 4];
2177
- actions = new kwikidToolkit.Actions(action, rulesMapping, {
1720
+ actions = new kwikidToolkit.Action(action, rulesMapping, {
2178
1721
  FORM_FIELDS: this.formFields,
2179
1722
  FIELD_CONFIG: connectedField,
2180
1723
  FORM_DATA: this.formData,
@@ -2206,40 +1749,20 @@
2206
1749
  };
2207
1750
  KwikIDFormViewComponent.prototype.handleConnectedElementFields = function (currentField, connectedFieldConfig, eventType, nested) {
2208
1751
  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) {
1752
+ var connectedField;
1753
+ return __generator(this, function (_a) {
1754
+ switch (_a.label) {
2213
1755
  case 0:
2214
- connectedField = findFieldFromKey(this.formFields, connectedFieldConfig["key"]);
1756
+ connectedField = getFormFieldByKey(this.formFields, connectedFieldConfig["key"]);
2215
1757
  if (!kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "triggers")) return [3 /*break*/, 2];
2216
1758
  if (!connectedFieldConfig.triggers.includes(eventType)) return [3 /*break*/, 2];
2217
1759
  return [4 /*yield*/, this.handleConnectedElementFieldActions(connectedFieldConfig, connectedField)];
2218
1760
  case 1:
2219
- connectedField = _d.sent();
2220
- _d.label = 2;
1761
+ connectedField = _a.sent();
1762
+ _a.label = 2;
2221
1763
  case 2:
2222
1764
  if (kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "handleNestedFields")) {
2223
- if (connectedFieldConfig.handleNestedFields) {
2224
- if (kwikidToolkit.checkObjectKeyExists(connectedField, "connectedElements")) {
2225
- if (kwikidToolkit.checkObjectKeyExists(connectedField.connectedElements, "connectedFields")) {
2226
- try {
2227
- for (_a = __values(connectedField.connectedElements
2228
- .connectedFields), _b = _a.next(); !_b.done; _b = _a.next()) {
2229
- connectedFieldConfig_1 = _b.value;
2230
- connectedField = this.handleConnectedElementFields(connectedField, connectedFieldConfig_1, eventType, "NESTED");
2231
- }
2232
- }
2233
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
2234
- finally {
2235
- try {
2236
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
2237
- }
2238
- finally { if (e_5) throw e_5.error; }
2239
- }
2240
- }
2241
- }
2242
- }
1765
+ this.handleConnectedElements({ key: connectedFieldConfig.key }, eventType);
2243
1766
  }
2244
1767
  return [2 /*return*/, currentField];
2245
1768
  }
@@ -2248,12 +1771,12 @@
2248
1771
  };
2249
1772
  KwikIDFormViewComponent.prototype.handleConnectedElements = function (e, eventType) {
2250
1773
  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;
1774
+ var currentField, connectedFieldGroups, connectedFieldGroups_1, connectedFieldGroups_1_1, connectedFieldGroupConfig, e_5_1, connectedFields, connectedFields_1, connectedFields_1_1, connectedFieldConfig, e_6_1;
1775
+ var e_5, _a, e_6, _b;
2253
1776
  return __generator(this, function (_c) {
2254
1777
  switch (_c.label) {
2255
1778
  case 0:
2256
- currentField = findFieldFromKey(this.formFields, e.key);
1779
+ currentField = getFormFieldByKey(this.formFields, e.key);
2257
1780
  if (!(currentField !== undefined)) return [3 /*break*/, 17];
2258
1781
  if (!kwikidToolkit.checkObjectKeyExists(currentField, "connectedElements")) return [3 /*break*/, 16];
2259
1782
  if (!kwikidToolkit.checkObjectKeyExists(currentField.connectedElements, "connectedFieldGroups")) return [3 /*break*/, 8];
@@ -2275,14 +1798,14 @@
2275
1798
  return [3 /*break*/, 2];
2276
1799
  case 5: return [3 /*break*/, 8];
2277
1800
  case 6:
2278
- e_6_1 = _c.sent();
2279
- e_6 = { error: e_6_1 };
1801
+ e_5_1 = _c.sent();
1802
+ e_5 = { error: e_5_1 };
2280
1803
  return [3 /*break*/, 8];
2281
1804
  case 7:
2282
1805
  try {
2283
1806
  if (connectedFieldGroups_1_1 && !connectedFieldGroups_1_1.done && (_a = connectedFieldGroups_1.return)) _a.call(connectedFieldGroups_1);
2284
1807
  }
2285
- finally { if (e_6) throw e_6.error; }
1808
+ finally { if (e_5) throw e_5.error; }
2286
1809
  return [7 /*endfinally*/];
2287
1810
  case 8:
2288
1811
  if (!kwikidToolkit.checkObjectKeyExists(currentField.connectedElements, "connectedFields")) return [3 /*break*/, 16];
@@ -2304,14 +1827,14 @@
2304
1827
  return [3 /*break*/, 10];
2305
1828
  case 13: return [3 /*break*/, 16];
2306
1829
  case 14:
2307
- e_7_1 = _c.sent();
2308
- e_7 = { error: e_7_1 };
1830
+ e_6_1 = _c.sent();
1831
+ e_6 = { error: e_6_1 };
2309
1832
  return [3 /*break*/, 16];
2310
1833
  case 15:
2311
1834
  try {
2312
1835
  if (connectedFields_1_1 && !connectedFields_1_1.done && (_b = connectedFields_1.return)) _b.call(connectedFields_1);
2313
1836
  }
2314
- finally { if (e_7) throw e_7.error; }
1837
+ finally { if (e_6) throw e_6.error; }
2315
1838
  return [7 /*endfinally*/];
2316
1839
  case 16: return [3 /*break*/, 18];
2317
1840
  case 17: throw new Error("Field for the given key ['" + e.key + "'] is not found with eventType: '" + eventType + "'.");
@@ -2327,15 +1850,21 @@
2327
1850
  this.formGroup.patchValue((_a = {},
2328
1851
  _a[e.key] = e.value,
2329
1852
  _a), { emitEvent: false });
2330
- // Currently set only for dropdown-with-search connected fields
2331
- var field = findFieldFromKey(this.formFields, e.key);
1853
+ var field = getFormFieldByKey(this.formFields, e.key);
1854
+ this.formData[e.key] = convertFormFieldValueToStandardFormat(field, e.value);
2332
1855
  if (field.isFormElement &&
2333
1856
  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));
1857
+ var validations_2 = new kwikidToolkit.Validation({
1858
+ FIELD_CONFIG: field,
1859
+ FORM_FIELDS: this.formFields,
1860
+ FORM_DATA: this.formData,
1861
+ PREVIOUS_FORM_DATA: this.previousFormData,
1862
+ ALL_FORMS_DATA: this.allFormsData
1863
+ }, this.takeAction.bind(this));
2335
1864
  (function () { return __awaiter(_this, void 0, void 0, function () {
2336
1865
  return __generator(this, function (_a) {
2337
1866
  switch (_a.label) {
2338
- case 0: return [4 /*yield*/, validations_2.validateField()];
1867
+ case 0: return [4 /*yield*/, validations_2.validate(field.validation)];
2339
1868
  case 1:
2340
1869
  _a.sent();
2341
1870
  return [2 /*return*/];
@@ -2345,18 +1874,16 @@
2345
1874
  }
2346
1875
  if (field.isFormElement &&
2347
1876
  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
- }
1877
+ this.handleConnectedElements({
1878
+ key: field.key,
1879
+ value: this.formGroup.controls[field.key].value
1880
+ }, "ON_CHANGE");
2354
1881
  }
2355
1882
  };
2356
1883
  KwikIDFormViewComponent.prototype.handleOnClickResetFormFields = function (e, field) {
2357
1884
  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;
1885
+ var _a, _b, f, _c, _d, action, resetField, actions, e_7_1, e_8_1;
1886
+ var e_8, _e, e_7, _f;
2360
1887
  return __generator(this, function (_g) {
2361
1888
  switch (_g.label) {
2362
1889
  case 0:
@@ -2369,13 +1896,13 @@
2369
1896
  _g.label = 2;
2370
1897
  case 2:
2371
1898
  _g.trys.push([2, 7, 8, 9]);
2372
- _c = (e_8 = void 0, __values(f.actions)), _d = _c.next();
1899
+ _c = (e_7 = void 0, __values(f.actions)), _d = _c.next();
2373
1900
  _g.label = 3;
2374
1901
  case 3:
2375
1902
  if (!!_d.done) return [3 /*break*/, 6];
2376
1903
  action = _d.value;
2377
- resetField = findFieldFromKey(this.formFields, action.props.fieldKey);
2378
- actions = new kwikidToolkit.Actions(action, {}, {
1904
+ resetField = getFormFieldByKey(this.formFields, action.props.fieldKey);
1905
+ actions = new kwikidToolkit.Action(action, {}, {
2379
1906
  FIELD_CONFIG: resetField,
2380
1907
  FORM_FIELDS: this.formFields,
2381
1908
  FORM_DATA: this.formData,
@@ -2391,28 +1918,28 @@
2391
1918
  return [3 /*break*/, 3];
2392
1919
  case 6: return [3 /*break*/, 9];
2393
1920
  case 7:
2394
- e_8_1 = _g.sent();
2395
- e_8 = { error: e_8_1 };
1921
+ e_7_1 = _g.sent();
1922
+ e_7 = { error: e_7_1 };
2396
1923
  return [3 /*break*/, 9];
2397
1924
  case 8:
2398
1925
  try {
2399
1926
  if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
2400
1927
  }
2401
- finally { if (e_8) throw e_8.error; }
1928
+ finally { if (e_7) throw e_7.error; }
2402
1929
  return [7 /*endfinally*/];
2403
1930
  case 9:
2404
1931
  _b = _a.next();
2405
1932
  return [3 /*break*/, 1];
2406
1933
  case 10: return [3 /*break*/, 13];
2407
1934
  case 11:
2408
- e_9_1 = _g.sent();
2409
- e_9 = { error: e_9_1 };
1935
+ e_8_1 = _g.sent();
1936
+ e_8 = { error: e_8_1 };
2410
1937
  return [3 /*break*/, 13];
2411
1938
  case 12:
2412
1939
  try {
2413
1940
  if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
2414
1941
  }
2415
- finally { if (e_9) throw e_9.error; }
1942
+ finally { if (e_8) throw e_8.error; }
2416
1943
  return [7 /*endfinally*/];
2417
1944
  case 13: return [2 /*return*/];
2418
1945
  }
@@ -2425,7 +1952,7 @@
2425
1952
  return __generator(this, function (_a) {
2426
1953
  switch (_a.label) {
2427
1954
  case 0:
2428
- field = findFieldFromKey(this.formFields, e.key);
1955
+ field = getFormFieldByKey(this.formFields, e.key);
2429
1956
  if (!(field.type === "api-call")) return [3 /*break*/, 3];
2430
1957
  // set button status to loading
2431
1958
  field["api"]["status"]["value"] = EApiStatusType.LOADING;
@@ -2434,8 +1961,14 @@
2434
1961
  this.viewFormsButton["showLoader"] = true;
2435
1962
  this.saveFormButton["disabled"] = true;
2436
1963
  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()];
1964
+ apis = new Apis({
1965
+ FIELD_CONFIG: field,
1966
+ FORM_FIELDS: this.formFields,
1967
+ FORM_DATA: this.formData,
1968
+ PREVIOUS_FORM_DATA: this.previousFormData,
1969
+ ALL_FORMS_DATA: this.allFormsData
1970
+ }, this.takeAction.bind(this));
1971
+ return [4 /*yield*/, apis.setRequestBody()];
2439
1972
  case 1:
2440
1973
  field = _a.sent();
2441
1974
  return [4 /*yield*/, apis.validateRequestBody()];
@@ -2456,7 +1989,7 @@
2456
1989
  else {
2457
1990
  // Request Body Validation Failed
2458
1991
  // Highlight Error in UI to User to Retry After Sometime.
2459
- // Take Actions based on Validation
1992
+ // Take Action based on Validation
2460
1993
  setTimeout(function () {
2461
1994
  field["api"]["status"]["value"] = EApiStatusType.FAILED;
2462
1995
  field["showLoader"] = false;
@@ -2478,37 +2011,43 @@
2478
2011
  });
2479
2012
  };
2480
2013
  KwikIDFormViewComponent.prototype.handleOnClickSaveForm = function (e) {
2481
- var e_10, _a, e_11, _b, e_12, _c;
2014
+ var e_9, _a, e_10, _b, e_11, _c;
2482
2015
  var _this = this;
2483
2016
  var formData = this.formGroup.getRawValue();
2484
2017
  try {
2485
2018
  for (var _d = __values(this.formFields), _e = _d.next(); !_e.done; _e = _d.next()) {
2486
2019
  var field = _e.value;
2487
- if (field.type !== EFieldType.TITLE) {
2020
+ if (field.isFormElement) {
2488
2021
  if (field.hidden) {
2489
2022
  delete formData[field.key];
2490
2023
  }
2491
2024
  else {
2492
- formData[field.key] = convertValueFromKwikUIFormatToBasicFormat(field, formData[field.key]);
2025
+ formData[field.key] = convertFormFieldValueToStandardFormat(field, formData[field.key]);
2493
2026
  }
2494
2027
  }
2495
2028
  }
2496
2029
  }
2497
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
2030
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
2498
2031
  finally {
2499
2032
  try {
2500
2033
  if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
2501
2034
  }
2502
- finally { if (e_10) throw e_10.error; }
2035
+ finally { if (e_9) throw e_9.error; }
2503
2036
  }
2504
2037
  var _loop_3 = function (field) {
2505
- if (field.type !== EFieldType.TITLE &&
2038
+ if (field.isFormElement &&
2506
2039
  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));
2040
+ var validations_3 = new kwikidToolkit.Validation({
2041
+ FIELD_CONFIG: field,
2042
+ FORM_FIELDS: this_3.formFields,
2043
+ FORM_DATA: this_3.formData,
2044
+ PREVIOUS_FORM_DATA: this_3.previousFormData,
2045
+ ALL_FORMS_DATA: this_3.allFormsData
2046
+ }, this_3.takeAction.bind(this_3));
2508
2047
  (function () { return __awaiter(_this, void 0, void 0, function () {
2509
2048
  return __generator(this, function (_a) {
2510
2049
  switch (_a.label) {
2511
- case 0: return [4 /*yield*/, validations_3.validateField()];
2050
+ case 0: return [4 /*yield*/, validations_3.validate(field.validation)];
2512
2051
  case 1:
2513
2052
  _a.sent();
2514
2053
  return [2 /*return*/];
@@ -2524,15 +2063,15 @@
2524
2063
  _loop_3(field);
2525
2064
  }
2526
2065
  }
2527
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
2066
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
2528
2067
  finally {
2529
2068
  try {
2530
2069
  if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
2531
2070
  }
2532
- finally { if (e_11) throw e_11.error; }
2071
+ finally { if (e_10) throw e_10.error; }
2533
2072
  }
2534
2073
  if (this.formGroup.invalid) {
2535
- var controls = new Validations(undefined, this.formFields, formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this)).findInvalidControlsRecursive(this.formGroup);
2074
+ var controls = new FormValidation().getFormFieldsInvalidControls(this.formGroup);
2536
2075
  var firstFieldWithError = "";
2537
2076
  try {
2538
2077
  for (var controls_1 = __values(controls), controls_1_1 = controls_1.next(); !controls_1_1.done; controls_1_1 = controls_1.next()) {
@@ -2540,15 +2079,15 @@
2540
2079
  if (control.invalid && kwikidToolkit.isEmptyValue(firstFieldWithError)) {
2541
2080
  firstFieldWithError = control.key;
2542
2081
  }
2543
- this.formFields = setFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
2082
+ this.formFields = showFormFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
2544
2083
  }
2545
2084
  }
2546
- catch (e_12_1) { e_12 = { error: e_12_1 }; }
2085
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
2547
2086
  finally {
2548
2087
  try {
2549
2088
  if (controls_1_1 && !controls_1_1.done && (_c = controls_1.return)) _c.call(controls_1);
2550
2089
  }
2551
- finally { if (e_12) throw e_12.error; }
2090
+ finally { if (e_11) throw e_11.error; }
2552
2091
  }
2553
2092
  this.toggleErrorNotification(true);
2554
2093
  setTimeout(function () {
@@ -2568,7 +2107,7 @@
2568
2107
  };
2569
2108
  // Component Helpers
2570
2109
  KwikIDFormViewComponent.prototype.fieldHide = function (fieldKey) {
2571
- var field = findFieldFromKey(this.formFields, fieldKey);
2110
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2572
2111
  var fieldIndex = this.formFields.findIndex(function (_) {
2573
2112
  return field.key === _.key;
2574
2113
  });
@@ -2576,23 +2115,23 @@
2576
2115
  this.formGroup.updateValueAndValidity();
2577
2116
  };
2578
2117
  KwikIDFormViewComponent.prototype.fieldGroupHide = function (fieldGroup) {
2579
- var e_13, _a;
2118
+ var e_12, _a;
2580
2119
  try {
2581
2120
  for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2582
2121
  var fieldKey = _c.value;
2583
2122
  this.fieldHide(fieldKey);
2584
2123
  }
2585
2124
  }
2586
- catch (e_13_1) { e_13 = { error: e_13_1 }; }
2125
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
2587
2126
  finally {
2588
2127
  try {
2589
2128
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2590
2129
  }
2591
- finally { if (e_13) throw e_13.error; }
2130
+ finally { if (e_12) throw e_12.error; }
2592
2131
  }
2593
2132
  };
2594
2133
  KwikIDFormViewComponent.prototype.fieldShow = function (fieldKey) {
2595
- var field = findFieldFromKey(this.formFields, fieldKey);
2134
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2596
2135
  var fieldIndex = this.formFields.findIndex(function (_) {
2597
2136
  return field.key === _.key;
2598
2137
  });
@@ -2600,27 +2139,27 @@
2600
2139
  this.formGroup.updateValueAndValidity();
2601
2140
  };
2602
2141
  KwikIDFormViewComponent.prototype.fieldGroupShow = function (fieldGroup) {
2603
- var e_14, _a;
2142
+ var e_13, _a;
2604
2143
  try {
2605
2144
  for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2606
2145
  var fieldKey = _c.value;
2607
2146
  this.fieldShow(fieldKey);
2608
2147
  }
2609
2148
  }
2610
- catch (e_14_1) { e_14 = { error: e_14_1 }; }
2149
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
2611
2150
  finally {
2612
2151
  try {
2613
2152
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2614
2153
  }
2615
- finally { if (e_14) throw e_14.error; }
2154
+ finally { if (e_13) throw e_13.error; }
2616
2155
  }
2617
2156
  };
2618
2157
  KwikIDFormViewComponent.prototype.fieldDisable = function (fieldKey) {
2619
- var field = findFieldFromKey(this.formFields, fieldKey);
2158
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2620
2159
  var fieldIndex = this.formFields.findIndex(function (_) {
2621
2160
  return field.key === _.key;
2622
2161
  });
2623
- if (field.type !== EFieldType.TITLE) {
2162
+ if (field.isFormElement) {
2624
2163
  this.formFields[fieldIndex]["disabled"] = true;
2625
2164
  if (kwikidToolkit.isNotEmptyValue(this.formGroup.controls)) {
2626
2165
  this.formGroup.controls[field.key].disable({
@@ -2631,27 +2170,27 @@
2631
2170
  }
2632
2171
  };
2633
2172
  KwikIDFormViewComponent.prototype.fieldGroupDisable = function (fieldGroup) {
2634
- var e_15, _a;
2173
+ var e_14, _a;
2635
2174
  try {
2636
2175
  for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2637
2176
  var fieldKey = _c.value;
2638
2177
  this.fieldDisable(fieldKey);
2639
2178
  }
2640
2179
  }
2641
- catch (e_15_1) { e_15 = { error: e_15_1 }; }
2180
+ catch (e_14_1) { e_14 = { error: e_14_1 }; }
2642
2181
  finally {
2643
2182
  try {
2644
2183
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2645
2184
  }
2646
- finally { if (e_15) throw e_15.error; }
2185
+ finally { if (e_14) throw e_14.error; }
2647
2186
  }
2648
2187
  };
2649
2188
  KwikIDFormViewComponent.prototype.fieldEnable = function (fieldKey) {
2650
- var field = findFieldFromKey(this.formFields, fieldKey);
2189
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2651
2190
  var fieldIndex = this.formFields.findIndex(function (_) {
2652
2191
  return field.key === _.key;
2653
2192
  });
2654
- if (field.type !== EFieldType.TITLE) {
2193
+ if (field.isFormElement) {
2655
2194
  this.formFields[fieldIndex]["disabled"] = false;
2656
2195
  if (kwikidToolkit.isNotEmptyValue(this.formGroup.controls)) {
2657
2196
  this.formGroup.controls[field.key].enable({
@@ -2662,37 +2201,37 @@
2662
2201
  }
2663
2202
  };
2664
2203
  KwikIDFormViewComponent.prototype.fieldGroupEnable = function (fieldGroup) {
2665
- var e_16, _a;
2204
+ var e_15, _a;
2666
2205
  try {
2667
2206
  for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2668
2207
  var fieldKey = _c.value;
2669
2208
  this.fieldEnable(fieldKey);
2670
2209
  }
2671
2210
  }
2672
- catch (e_16_1) { e_16 = { error: e_16_1 }; }
2211
+ catch (e_15_1) { e_15 = { error: e_15_1 }; }
2673
2212
  finally {
2674
2213
  try {
2675
2214
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2676
2215
  }
2677
- finally { if (e_16) throw e_16.error; }
2216
+ finally { if (e_15) throw e_15.error; }
2678
2217
  }
2679
2218
  };
2680
2219
  KwikIDFormViewComponent.prototype.fieldReset = function (fieldKey) {
2681
2220
  // Find the field and its index in the formFields array
2682
- var field = findFieldFromKey(this.formFields, fieldKey);
2683
- var fieldIndex = findFieldIndexFromKey(this.formFields, fieldKey);
2221
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2222
+ var fieldIndex = getFormFieldIndexByKey(this.formFields, fieldKey);
2684
2223
  // Delete the field from the formData object
2685
2224
  delete this.formData[fieldKey];
2686
2225
  // Reset the value of the field in the formGroup
2687
- this.formGroup.controls[field.key].reset(setEmptyValue(field), {
2226
+ this.formGroup.controls[field.key].reset(convertFormFieldEmptyValueToKwikUIFormat(field), {
2688
2227
  emitEvent: false
2689
2228
  });
2690
2229
  // Reset the messages and errors for the field
2691
- field = removeMessage(field, {
2230
+ field = removeFormFieldMessage(field, {
2692
2231
  type: EMessageType.WARNING,
2693
2232
  message: ""
2694
2233
  });
2695
- field = removeMessage(field, {
2234
+ field = removeFormFieldMessage(field, {
2696
2235
  type: EMessageType.SUCCESS,
2697
2236
  message: ""
2698
2237
  });
@@ -2715,37 +2254,37 @@
2715
2254
  }
2716
2255
  };
2717
2256
  KwikIDFormViewComponent.prototype.fieldErrorShow = function (fieldKey, message) {
2718
- var field = findFieldFromKey(this.formFields, fieldKey);
2257
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2719
2258
  var fieldIndex = this.formFields.findIndex(function (_) {
2720
2259
  return field.key === _.key;
2721
2260
  });
2722
- field = highlightFieldError(field, true);
2723
- field = addMessage(field, message);
2261
+ field = highlightFormFieldError(field, true);
2262
+ field = appendFormFieldMessage(field, message);
2724
2263
  this.formFields[fieldIndex] = field;
2725
2264
  };
2726
2265
  KwikIDFormViewComponent.prototype.fieldErrorHide = function (fieldKey, message) {
2727
- var field = findFieldFromKey(this.formFields, fieldKey);
2266
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2728
2267
  var fieldIndex = this.formFields.findIndex(function (_) {
2729
2268
  return field.key === _.key;
2730
2269
  });
2731
- field = highlightFieldError(field, false);
2732
- field = removeMessage(field, message);
2270
+ field = highlightFormFieldError(field, false);
2271
+ field = removeFormFieldMessage(field, message);
2733
2272
  this.formFields[fieldIndex] = field;
2734
2273
  };
2735
2274
  KwikIDFormViewComponent.prototype.fieldMessageShow = function (fieldKey, message) {
2736
- var field = findFieldFromKey(this.formFields, fieldKey);
2275
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2737
2276
  var fieldIndex = this.formFields.findIndex(function (_) {
2738
2277
  return field.key === _.key;
2739
2278
  });
2740
- field = addMessage(field, message);
2279
+ field = appendFormFieldMessage(field, message);
2741
2280
  this.formFields[fieldIndex] = field;
2742
2281
  };
2743
2282
  KwikIDFormViewComponent.prototype.fieldMessageHide = function (fieldKey, message) {
2744
- var field = findFieldFromKey(this.formFields, fieldKey);
2283
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2745
2284
  var fieldIndex = this.formFields.findIndex(function (_) {
2746
2285
  return field.key === _.key;
2747
2286
  });
2748
- field = removeMessage(field, message);
2287
+ field = removeFormFieldMessage(field, message);
2749
2288
  this.formFields[fieldIndex] = field;
2750
2289
  };
2751
2290
  KwikIDFormViewComponent.prototype.setObjectValue = function (field, path, value) { };
@@ -2772,7 +2311,7 @@
2772
2311
  KwikIDFormViewComponent.prototype.getFormGroupRawValues = function () {
2773
2312
  return this.formGroup.getRawValue();
2774
2313
  };
2775
- KwikIDFormViewComponent.prototype.takeActionOnFieldGroup = function (action, field, allFormsData, formData, previousFormData) {
2314
+ KwikIDFormViewComponent.prototype.takeActionOnFieldGroup = function (action, object) {
2776
2315
  return __awaiter(this, void 0, void 0, function () {
2777
2316
  return __generator(this, function (_a) {
2778
2317
  switch (action.key) {
@@ -2846,7 +2385,7 @@
2846
2385
  this.fieldMessageHide(action.props.fieldKey, action.props.message);
2847
2386
  return [3 /*break*/, 20];
2848
2387
  case 10:
2849
- setValue_Sources = new kwikidToolkit.Sources(object);
2388
+ setValue_Sources = new kwikidToolkit.Source(object);
2850
2389
  return [4 /*yield*/, setValue_Sources.getValueFromSource(action.props.value.source)];
2851
2390
  case 11:
2852
2391
  sourceValue = _b.sent();
@@ -2858,7 +2397,7 @@
2858
2397
  this.previousFormData = setValue_Sources.object.PREVIOUS_FORM_DATA;
2859
2398
  return [3 /*break*/, 20];
2860
2399
  case 12:
2861
- setDropdownValue_Sources = new kwikidToolkit.Sources(object);
2400
+ setDropdownValue_Sources = new kwikidToolkit.Source(object);
2862
2401
  return [4 /*yield*/, setDropdownValue_Sources.getValueFromSource(action.props.value.source)];
2863
2402
  case 13:
2864
2403
  dropdownValue = _b.sent();
@@ -2885,7 +2424,7 @@
2885
2424
  setDropdownValue_Sources.object.PREVIOUS_FORM_DATA;
2886
2425
  return [3 /*break*/, 20];
2887
2426
  case 17:
2888
- this.handleConnectedElements({ key: action.props.fieldKey }, "ACTION");
2427
+ this.handleConnectedElements({ key: action.props.fieldKey }, "ON_ACTION");
2889
2428
  return [3 /*break*/, 20];
2890
2429
  case 18: return [3 /*break*/, 20];
2891
2430
  case 19: return [3 /*break*/, 20];
@@ -3225,14 +2764,14 @@
3225
2764
  var formatFieldTypeDate = function (field) {
3226
2765
  field = _this.setFieldKeyValue(field, "isFormElement", true);
3227
2766
  if (kwikidToolkit.checkObjectKeyExists(field, "min")) {
3228
- var tuiDay = convertDateStringToTuiDayFormat(field["min"]);
2767
+ var tuiDay = convertFormFieldTypeDateToKwikUIFormat(field["min"]);
3229
2768
  field.properties = _this.setFieldKeyValue(field.properties, "min", tuiDay);
3230
2769
  }
3231
2770
  else {
3232
2771
  field.properties = _this.setMissingFieldKeyValue(field.properties, "min", new cdk.TuiDay(0, 0, 1)); // Year - 0000, Month - 0 (0 Indexing), Day - 1
3233
2772
  }
3234
2773
  if (kwikidToolkit.checkObjectKeyExists(field, "max")) {
3235
- var tuiDay = convertDateStringToTuiDayFormat(field["max"]);
2774
+ var tuiDay = convertFormFieldTypeDateToKwikUIFormat(field["max"]);
3236
2775
  field.properties = _this.setFieldKeyValue(field.properties, "max", tuiDay);
3237
2776
  }
3238
2777
  else {
@@ -3869,9 +3408,8 @@
3869
3408
  for (var formsList_1 = __values(formsList), formsList_1_1 = formsList_1.next(); !formsList_1_1.done; formsList_1_1 = formsList_1.next()) {
3870
3409
  var form = formsList_1_1.value;
3871
3410
  if (formsListCompleted.includes(form.key)) {
3872
- console.log(formsListCompleted.includes(form.key));
3873
- form = setValueToObject(form, "status", "completed");
3874
- form = setValueToObject(form, "disabled", false);
3411
+ form = kwikidToolkit.setValueToObjectPath(form, "status", "completed");
3412
+ form = kwikidToolkit.setValueToObjectPath(form, "disabled", false);
3875
3413
  }
3876
3414
  }
3877
3415
  }
@@ -3893,18 +3431,18 @@
3893
3431
  if (kwikidToolkit.checkObjectKeyExists(form, "dependentOn")) {
3894
3432
  var isDependent = form.dependentOn.every(function (r) { return formsListCompleted.includes(r); });
3895
3433
  if (isDependent) {
3896
- form = setValueToObject(form, "status", "editable");
3897
- form = setValueToObject(form, "disabled", false);
3434
+ form = kwikidToolkit.setValueToObjectPath(form, "status", "editable");
3435
+ form = kwikidToolkit.setValueToObjectPath(form, "disabled", false);
3898
3436
  }
3899
3437
  else {
3900
- form = setValueToObject(form, "status", "locked");
3901
- form = setValueToObject(form, "disabled", true);
3438
+ form = kwikidToolkit.setValueToObjectPath(form, "status", "locked");
3439
+ form = kwikidToolkit.setValueToObjectPath(form, "disabled", true);
3902
3440
  }
3903
3441
  }
3904
3442
  else {
3905
- form = setValueToObject(form, "dependentOn", []);
3906
- form = setValueToObject(form, "status", "editable");
3907
- form = setValueToObject(form, "disabled", false);
3443
+ form = kwikidToolkit.setValueToObjectPath(form, "dependentOn", []);
3444
+ form = kwikidToolkit.setValueToObjectPath(form, "status", "editable");
3445
+ form = kwikidToolkit.setValueToObjectPath(form, "disabled", false);
3908
3446
  }
3909
3447
  }
3910
3448
  }
@@ -3968,7 +3506,6 @@
3968
3506
  * this particular User Form only has to LOCAL METHOD Variable.
3969
3507
  */
3970
3508
  var currentUserFormAllFormsData = this.filterAllFormsData(this.allFormsData, formsList);
3971
- console.log(JSON.parse(JSON.stringify(formsList)));
3972
3509
  formsListCompleted = this.findCompletedFormsList(currentUserFormAllFormsData);
3973
3510
  formsList = this.markFormInFormsListAsCompleted(formsList, formsListCompleted);
3974
3511
  formsList = this.markFormInFormsListAsDisabled(formsList, formsListCompleted);
@@ -4135,6 +3672,9 @@
4135
3672
  };
4136
3673
  KwikIDFormsRendererComponent.prototype.handleResize = function (formsList) {
4137
3674
  if (this.hostElement.nativeElement.offsetWidth < 600) {
3675
+ var isSingleForm = function (formsList) {
3676
+ return formsList.length === 1;
3677
+ };
4138
3678
  if (!isSingleForm(formsList)) {
4139
3679
  this.showFormSections = true;
4140
3680
  this.showFormFields = false;
@@ -4191,9 +3731,8 @@
4191
3731
  // forms-list listener
4192
3732
  KwikIDFormsRendererComponent.prototype.handleOnClickSubmitForms = function (e) {
4193
3733
  var _this = this;
4194
- console.log(e);
4195
3734
  if (this.userConfig.userFormFieldsConfig.validation) {
4196
- var validations_1 = new kwikidToolkit.Validations({
3735
+ var validations_1 = new kwikidToolkit.Validation({
4197
3736
  USER_CONFIG: this.userConfig,
4198
3737
  ALL_FORMS_DATA: this.formsData
4199
3738
  }, this.takeAction.bind(this));
@@ -4262,7 +3801,7 @@
4262
3801
  }
4263
3802
  return [3 /*break*/, 3];
4264
3803
  case 1:
4265
- sources = new kwikidToolkit.Sources({
3804
+ sources = new kwikidToolkit.Source({
4266
3805
  USER_CONFIG: this.userConfig,
4267
3806
  ALL_FORMS_DATA: this.formsData
4268
3807
  });