kwikid-forms 0.1.5 → 0.1.7

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 (68) hide show
  1. package/README.md +43 -43
  2. package/bundles/kwikid-forms.umd.js +4286 -4224
  3. package/bundles/kwikid-forms.umd.js.map +1 -1
  4. package/esm2015/kwikid-forms.js +4 -4
  5. package/esm2015/lib/builder/builder.component.js +138 -138
  6. package/esm2015/lib/builder/builder.module.js +21 -21
  7. package/esm2015/lib/kwikid-forms.module.js +38 -38
  8. package/esm2015/lib/renderer/form-view/definitions/actions/form-view.actions.enum.definitions.js +20 -20
  9. package/esm2015/lib/renderer/form-view/definitions/actions/form-view.actions.type.definitions.js +2 -2
  10. package/esm2015/lib/renderer/form-view/definitions/apis/form-view.apis.enum.definitions.js +8 -8
  11. package/esm2015/lib/renderer/form-view/definitions/apis/form-view.apis.type.definitions.js +2 -2
  12. package/esm2015/lib/renderer/form-view/definitions/common/form-view.common.enum.definitions.js +101 -101
  13. package/esm2015/lib/renderer/form-view/definitions/common/form-view.common.type.definitions.js +2 -2
  14. package/esm2015/lib/renderer/form-view/definitions/fields/form-view.fields.enum.definitions.js +15 -15
  15. package/esm2015/lib/renderer/form-view/definitions/fields/form-view.fields.type.definitions.js +2 -2
  16. package/esm2015/lib/renderer/form-view/definitions/sources/form-view.sources.type.definitions.js +2 -2
  17. package/esm2015/lib/renderer/form-view/definitions/triggers/form-view.triggers.type.definitions.js +2 -2
  18. package/esm2015/lib/renderer/form-view/definitions/validations/form-view.validations.type.definitions.js +2 -2
  19. package/esm2015/lib/renderer/form-view/form-view.component.js +814 -814
  20. package/esm2015/lib/renderer/form-view/form-view.module.js +44 -44
  21. package/esm2015/lib/renderer/form-view/form-view.service.js +29 -29
  22. package/esm2015/lib/renderer/form-view/helpers/form-view.apis.helper.js +137 -137
  23. package/esm2015/lib/renderer/form-view/helpers/form-view.common.helper.js +136 -136
  24. package/esm2015/lib/renderer/form-view/helpers/form-view.defaults.helper.js +63 -63
  25. package/esm2015/lib/renderer/form-view/helpers/form-view.fields.helper.js +203 -203
  26. package/esm2015/lib/renderer/form-view/helpers/form-view.validations.helper.js +161 -161
  27. package/esm2015/lib/renderer/forms-list/forms-list.component.js +89 -89
  28. package/esm2015/lib/renderer/forms-list/forms-list.module.js +37 -37
  29. package/esm2015/lib/renderer/renderer.component.js +282 -278
  30. package/esm2015/lib/renderer/renderer.config-converter.helper.js +586 -586
  31. package/esm2015/lib/renderer/renderer.helper.js +50 -50
  32. package/esm2015/lib/renderer/renderer.module.js +50 -50
  33. package/esm2015/lib/renderer/renderer.service.js +172 -172
  34. package/esm2015/public_api.js +17 -17
  35. package/fesm2015/kwikid-forms.js +3031 -3027
  36. package/fesm2015/kwikid-forms.js.map +1 -1
  37. package/kwikid-forms.d.ts +5 -5
  38. package/lib/builder/builder.component.d.ts +68 -68
  39. package/lib/builder/builder.module.d.ts +10 -10
  40. package/lib/kwikid-forms.module.d.ts +10 -10
  41. package/lib/renderer/form-view/definitions/actions/form-view.actions.enum.definitions.d.ts +18 -18
  42. package/lib/renderer/form-view/definitions/actions/form-view.actions.type.definitions.d.ts +91 -91
  43. package/lib/renderer/form-view/definitions/apis/form-view.apis.enum.definitions.d.ts +6 -6
  44. package/lib/renderer/form-view/definitions/apis/form-view.apis.type.definitions.d.ts +40 -40
  45. package/lib/renderer/form-view/definitions/common/form-view.common.enum.definitions.d.ts +97 -97
  46. package/lib/renderer/form-view/definitions/common/form-view.common.type.definitions.d.ts +7 -7
  47. package/lib/renderer/form-view/definitions/fields/form-view.fields.enum.definitions.d.ts +13 -13
  48. package/lib/renderer/form-view/definitions/fields/form-view.fields.type.definitions.d.ts +136 -136
  49. package/lib/renderer/form-view/definitions/sources/form-view.sources.type.definitions.d.ts +16 -16
  50. package/lib/renderer/form-view/definitions/triggers/form-view.triggers.type.definitions.d.ts +1 -1
  51. package/lib/renderer/form-view/definitions/validations/form-view.validations.type.definitions.d.ts +16 -16
  52. package/lib/renderer/form-view/form-view.component.d.ts +80 -80
  53. package/lib/renderer/form-view/form-view.module.d.ts +12 -12
  54. package/lib/renderer/form-view/form-view.service.d.ts +5 -5
  55. package/lib/renderer/form-view/helpers/form-view.apis.helper.d.ts +17 -17
  56. package/lib/renderer/form-view/helpers/form-view.common.helper.d.ts +19 -19
  57. package/lib/renderer/form-view/helpers/form-view.defaults.helper.d.ts +10 -10
  58. package/lib/renderer/form-view/helpers/form-view.fields.helper.d.ts +24 -24
  59. package/lib/renderer/form-view/helpers/form-view.validations.helper.d.ts +25 -25
  60. package/lib/renderer/forms-list/forms-list.component.d.ts +22 -22
  61. package/lib/renderer/forms-list/forms-list.module.d.ts +11 -11
  62. package/lib/renderer/renderer.component.d.ts +36 -36
  63. package/lib/renderer/renderer.config-converter.helper.d.ts +7 -7
  64. package/lib/renderer/renderer.helper.d.ts +6 -6
  65. package/lib/renderer/renderer.module.d.ts +14 -14
  66. package/lib/renderer/renderer.service.d.ts +28 -28
  67. package/package.json +1 -1
  68. package/public_api.d.ts +9 -9
@@ -1,50 +1,50 @@
1
- import jp from "jsonpath";
2
- export const hasKey = (object, key) => {
3
- return object.hasOwnProperty(key);
4
- };
5
- export const isEmpty = (value) => {
6
- if (value === "" || value === undefined || value === null) {
7
- return true;
8
- }
9
- else if (value &&
10
- Object.keys(value).length === 0 &&
11
- Object.getPrototypeOf(value) === Object.prototype) {
12
- return true;
13
- }
14
- else if (Array.isArray(value)) {
15
- if (value.length === 0) {
16
- return true;
17
- }
18
- else {
19
- return false;
20
- }
21
- }
22
- else {
23
- return false;
24
- }
25
- };
26
- export const isNotEmpty = (value) => {
27
- return !isEmpty(value);
28
- };
29
- export const handleJPQueryResponse = (value) => {
30
- /**
31
- * jp.query doesn't always return an array with one element
32
- * so directly can't access with [0], need to check conditionally
33
- */
34
- if (Array.isArray(value)) {
35
- if (value.length > 0) {
36
- value = value[0];
37
- }
38
- else if (value.length === 0) {
39
- value = "";
40
- }
41
- }
42
- return value;
43
- };
44
- export const jpQueryWrapper = (obj, key) => {
45
- return handleJPQueryResponse(jp.query(obj, key));
46
- };
47
- export const isSingleForm = (formsList) => {
48
- return formsList.length === 1;
49
- };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvcmVuZGVyZXIuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUxQixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFXLEVBQUUsR0FBVyxFQUFXLEVBQUU7SUFDMUQsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQVUsRUFBVyxFQUFFO0lBQzdDLElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDekQsT0FBTyxJQUFJLENBQUM7S0FDYjtTQUFNLElBQ0wsS0FBSztRQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUM7UUFDL0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUNqRDtRQUNBLE9BQU8sSUFBSSxDQUFDO0tBQ2I7U0FBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDL0IsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7U0FBTTtRQUNMLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUN2QyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBVSxFQUFPLEVBQUU7SUFDdkQ7OztPQUdHO0lBQ0gsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3hCLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQjthQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDN0IsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUNaO0tBQ0Y7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQVEsRUFBRSxHQUFXLEVBQVcsRUFBRTtJQUMvRCxPQUFPLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDbkQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsU0FBZ0IsRUFBVyxFQUFFO0lBQ3hELE9BQU8sU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHVpRGF5IH0gZnJvbSBcIkB0YWlnYS11aS9jZGtcIjtcclxuaW1wb3J0IGpwIGZyb20gXCJqc29ucGF0aFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGhhc0tleSA9IChvYmplY3Q6IGFueSwga2V5OiBzdHJpbmcpOiBib29sZWFuID0+IHtcclxuICByZXR1cm4gb2JqZWN0Lmhhc093blByb3BlcnR5KGtleSk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaXNFbXB0eSA9ICh2YWx1ZTogYW55KTogYm9vbGVhbiA9PiB7XHJcbiAgaWYgKHZhbHVlID09PSBcIlwiIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH0gZWxzZSBpZiAoXHJcbiAgICB2YWx1ZSAmJlxyXG4gICAgT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMCAmJlxyXG4gICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlKSA9PT0gT2JqZWN0LnByb3RvdHlwZVxyXG4gICkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgaWYgKHZhbHVlLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc05vdEVtcHR5ID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICByZXR1cm4gIWlzRW1wdHkodmFsdWUpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGhhbmRsZUpQUXVlcnlSZXNwb25zZSA9ICh2YWx1ZTogYW55KTogYW55ID0+IHtcclxuICAvKipcclxuICAgKiBqcC5xdWVyeSBkb2Vzbid0IGFsd2F5cyByZXR1cm4gYW4gYXJyYXkgd2l0aCBvbmUgZWxlbWVudFxyXG4gICAqIHNvIGRpcmVjdGx5IGNhbid0IGFjY2VzcyB3aXRoIFswXSwgbmVlZCB0byBjaGVjayBjb25kaXRpb25hbGx5XHJcbiAgICovXHJcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICBpZiAodmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgICB2YWx1ZSA9IHZhbHVlWzBdO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHtcclxuICAgICAgdmFsdWUgPSBcIlwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHZhbHVlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGpwUXVlcnlXcmFwcGVyID0gKG9iajogYW55LCBrZXk6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xyXG4gIHJldHVybiBoYW5kbGVKUFF1ZXJ5UmVzcG9uc2UoanAucXVlcnkob2JqLCBrZXkpKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1NpbmdsZUZvcm0gPSAoZm9ybXNMaXN0OiBhbnlbXSk6IGJvb2xlYW4gPT4ge1xyXG4gIHJldHVybiBmb3Jtc0xpc3QubGVuZ3RoID09PSAxO1xyXG59O1xyXG4iXX0=
1
+ import jp from "jsonpath";
2
+ export const hasKey = (object, key) => {
3
+ return object.hasOwnProperty(key);
4
+ };
5
+ export const isEmpty = (value) => {
6
+ if (value === "" || value === undefined || value === null) {
7
+ return true;
8
+ }
9
+ else if (value &&
10
+ Object.keys(value).length === 0 &&
11
+ Object.getPrototypeOf(value) === Object.prototype) {
12
+ return true;
13
+ }
14
+ else if (Array.isArray(value)) {
15
+ if (value.length === 0) {
16
+ return true;
17
+ }
18
+ else {
19
+ return false;
20
+ }
21
+ }
22
+ else {
23
+ return false;
24
+ }
25
+ };
26
+ export const isNotEmpty = (value) => {
27
+ return !isEmpty(value);
28
+ };
29
+ export const handleJPQueryResponse = (value) => {
30
+ /**
31
+ * jp.query doesn't always return an array with one element
32
+ * so directly can't access with [0], need to check conditionally
33
+ */
34
+ if (Array.isArray(value)) {
35
+ if (value.length > 0) {
36
+ value = value[0];
37
+ }
38
+ else if (value.length === 0) {
39
+ value = "";
40
+ }
41
+ }
42
+ return value;
43
+ };
44
+ export const jpQueryWrapper = (obj, key) => {
45
+ return handleJPQueryResponse(jp.query(obj, key));
46
+ };
47
+ export const isSingleForm = (formsList) => {
48
+ return formsList.length === 1;
49
+ };
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvcmVuZGVyZXIuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUxQixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFXLEVBQUUsR0FBVyxFQUFXLEVBQUU7SUFDMUQsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQVUsRUFBVyxFQUFFO0lBQzdDLElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDekQsT0FBTyxJQUFJLENBQUM7S0FDYjtTQUFNLElBQ0wsS0FBSztRQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUM7UUFDL0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUNqRDtRQUNBLE9BQU8sSUFBSSxDQUFDO0tBQ2I7U0FBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDL0IsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7U0FBTTtRQUNMLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUN2QyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBVSxFQUFPLEVBQUU7SUFDdkQ7OztPQUdHO0lBQ0gsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3hCLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQjthQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDN0IsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUNaO0tBQ0Y7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQVEsRUFBRSxHQUFXLEVBQVcsRUFBRTtJQUMvRCxPQUFPLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDbkQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsU0FBZ0IsRUFBVyxFQUFFO0lBQ3hELE9BQU8sU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHVpRGF5IH0gZnJvbSBcIkB0YWlnYS11aS9jZGtcIjtcbmltcG9ydCBqcCBmcm9tIFwianNvbnBhdGhcIjtcblxuZXhwb3J0IGNvbnN0IGhhc0tleSA9IChvYmplY3Q6IGFueSwga2V5OiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIG9iamVjdC5oYXNPd25Qcm9wZXJ0eShrZXkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRW1wdHkgPSAodmFsdWU6IGFueSk6IGJvb2xlYW4gPT4ge1xuICBpZiAodmFsdWUgPT09IFwiXCIgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKFxuICAgIHZhbHVlICYmXG4gICAgT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMCAmJlxuICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZih2YWx1ZSkgPT09IE9iamVjdC5wcm90b3R5cGVcbiAgKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICBpZiAodmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpc05vdEVtcHR5ID0gKHZhbHVlOiBhbnkpID0+IHtcbiAgcmV0dXJuICFpc0VtcHR5KHZhbHVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVKUFF1ZXJ5UmVzcG9uc2UgPSAodmFsdWU6IGFueSk6IGFueSA9PiB7XG4gIC8qKlxuICAgKiBqcC5xdWVyeSBkb2Vzbid0IGFsd2F5cyByZXR1cm4gYW4gYXJyYXkgd2l0aCBvbmUgZWxlbWVudFxuICAgKiBzbyBkaXJlY3RseSBjYW4ndCBhY2Nlc3Mgd2l0aCBbMF0sIG5lZWQgdG8gY2hlY2sgY29uZGl0aW9uYWxseVxuICAgKi9cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgaWYgKHZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgIHZhbHVlID0gdmFsdWVbMF07XG4gICAgfSBlbHNlIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHZhbHVlID0gXCJcIjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsdWU7XG59O1xuXG5leHBvcnQgY29uc3QganBRdWVyeVdyYXBwZXIgPSAob2JqOiBhbnksIGtleTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiBoYW5kbGVKUFF1ZXJ5UmVzcG9uc2UoanAucXVlcnkob2JqLCBrZXkpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1NpbmdsZUZvcm0gPSAoZm9ybXNMaXN0OiBhbnlbXSk6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gZm9ybXNMaXN0Lmxlbmd0aCA9PT0gMTtcbn07XG4iXX0=
@@ -1,50 +1,50 @@
1
- import { CommonModule } from "@angular/common";
2
- import { HttpClientModule } from "@angular/common/http";
3
- import { NgModule } from "@angular/core";
4
- import { TuiLoaderModule, TuiSvgModule } from "@taiga-ui/core";
5
- import { TuiPushModule } from "@taiga-ui/kit";
6
- import { KwikUIModule } from "kwikui";
7
- import { KwikIDFormViewModule } from "./form-view/form-view.module";
8
- import { KwikIDFormsListModule } from "./forms-list/forms-list.module";
9
- import { KwikIDFormsRendererComponent } from "./renderer.component";
10
- import * as i0 from "@angular/core";
11
- export class KwikIDFormRendererModule {
12
- }
13
- /** @nocollapse */ KwikIDFormRendererModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDFormRendererModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- /** @nocollapse */ KwikIDFormRendererModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDFormRendererModule, declarations: [KwikIDFormsRendererComponent], imports: [CommonModule,
15
- HttpClientModule,
16
- KwikIDFormViewModule,
17
- KwikIDFormsListModule,
18
- KwikUIModule,
19
- TuiLoaderModule,
20
- TuiPushModule,
21
- TuiSvgModule], exports: [KwikIDFormsRendererComponent] });
22
- /** @nocollapse */ KwikIDFormRendererModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDFormRendererModule, providers: [], imports: [[
23
- CommonModule,
24
- HttpClientModule,
25
- KwikIDFormViewModule,
26
- KwikIDFormsListModule,
27
- KwikUIModule,
28
- TuiLoaderModule,
29
- TuiPushModule,
30
- TuiSvgModule
31
- ]] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDFormRendererModule, decorators: [{
33
- type: NgModule,
34
- args: [{
35
- declarations: [KwikIDFormsRendererComponent],
36
- imports: [
37
- CommonModule,
38
- HttpClientModule,
39
- KwikIDFormViewModule,
40
- KwikIDFormsListModule,
41
- KwikUIModule,
42
- TuiLoaderModule,
43
- TuiPushModule,
44
- TuiSvgModule
45
- ],
46
- providers: [],
47
- exports: [KwikIDFormsRendererComponent]
48
- }]
49
- }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvcmVuZGVyZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQWlCcEUsTUFBTSxPQUFPLHdCQUF3Qjs7eUlBQXhCLHdCQUF3QjswSUFBeEIsd0JBQXdCLGlCQWRwQiw0QkFBNEIsYUFFekMsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLFlBQVk7UUFDWixlQUFlO1FBQ2YsYUFBYTtRQUNiLFlBQVksYUFHSiw0QkFBNEI7MElBRTNCLHdCQUF3QixhQUh4QixFQUFFLFlBVko7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsWUFBWTtZQUNaLGVBQWU7WUFDZixhQUFhO1lBQ2IsWUFBWTtTQUNiOzRGQUlVLHdCQUF3QjtrQkFmcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsWUFBWTtxQkFDYjtvQkFDRCxTQUFTLEVBQUUsRUFBRTtvQkFDYixPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztpQkFDeEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUdWlMb2FkZXJNb2R1bGUsIFR1aVN2Z01vZHVsZSB9IGZyb20gXCJAdGFpZ2EtdWkvY29yZVwiO1xyXG5pbXBvcnQgeyBUdWlQdXNoTW9kdWxlIH0gZnJvbSBcIkB0YWlnYS11aS9raXRcIjtcclxuaW1wb3J0IHsgS3dpa1VJTW9kdWxlIH0gZnJvbSBcImt3aWt1aVwiO1xyXG5pbXBvcnQgeyBLd2lrSURGb3JtVmlld01vZHVsZSB9IGZyb20gXCIuL2Zvcm0tdmlldy9mb3JtLXZpZXcubW9kdWxlXCI7XHJcbmltcG9ydCB7IEt3aWtJREZvcm1zTGlzdE1vZHVsZSB9IGZyb20gXCIuL2Zvcm1zLWxpc3QvZm9ybXMtbGlzdC5tb2R1bGVcIjtcclxuaW1wb3J0IHsgS3dpa0lERm9ybXNSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gXCIuL3JlbmRlcmVyLmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtLd2lrSURGb3Jtc1JlbmRlcmVyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgS3dpa0lERm9ybVZpZXdNb2R1bGUsXHJcbiAgICBLd2lrSURGb3Jtc0xpc3RNb2R1bGUsXHJcbiAgICBLd2lrVUlNb2R1bGUsXHJcbiAgICBUdWlMb2FkZXJNb2R1bGUsXHJcbiAgICBUdWlQdXNoTW9kdWxlLFxyXG4gICAgVHVpU3ZnTW9kdWxlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtdLFxyXG4gIGV4cG9ydHM6IFtLd2lrSURGb3Jtc1JlbmRlcmVyQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3dpa0lERm9ybVJlbmRlcmVyTW9kdWxlIHt9XHJcbiJdfQ==
1
+ import { CommonModule } from "@angular/common";
2
+ import { HttpClientModule } from "@angular/common/http";
3
+ import { NgModule } from "@angular/core";
4
+ import { TuiLoaderModule, TuiSvgModule } from "@taiga-ui/core";
5
+ import { TuiPushModule } from "@taiga-ui/kit";
6
+ import { KwikUIModule } from "kwikui";
7
+ import { KwikIDFormViewModule } from "./form-view/form-view.module";
8
+ import { KwikIDFormsListModule } from "./forms-list/forms-list.module";
9
+ import { KwikIDFormsRendererComponent } from "./renderer.component";
10
+ import * as i0 from "@angular/core";
11
+ export class KwikIDFormRendererModule {
12
+ }
13
+ /** @nocollapse */ KwikIDFormRendererModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDFormRendererModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ /** @nocollapse */ KwikIDFormRendererModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDFormRendererModule, declarations: [KwikIDFormsRendererComponent], imports: [CommonModule,
15
+ HttpClientModule,
16
+ KwikIDFormViewModule,
17
+ KwikIDFormsListModule,
18
+ KwikUIModule,
19
+ TuiLoaderModule,
20
+ TuiPushModule,
21
+ TuiSvgModule], exports: [KwikIDFormsRendererComponent] });
22
+ /** @nocollapse */ KwikIDFormRendererModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDFormRendererModule, providers: [], imports: [[
23
+ CommonModule,
24
+ HttpClientModule,
25
+ KwikIDFormViewModule,
26
+ KwikIDFormsListModule,
27
+ KwikUIModule,
28
+ TuiLoaderModule,
29
+ TuiPushModule,
30
+ TuiSvgModule
31
+ ]] });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDFormRendererModule, decorators: [{
33
+ type: NgModule,
34
+ args: [{
35
+ declarations: [KwikIDFormsRendererComponent],
36
+ imports: [
37
+ CommonModule,
38
+ HttpClientModule,
39
+ KwikIDFormViewModule,
40
+ KwikIDFormsListModule,
41
+ KwikUIModule,
42
+ TuiLoaderModule,
43
+ TuiPushModule,
44
+ TuiSvgModule
45
+ ],
46
+ providers: [],
47
+ exports: [KwikIDFormsRendererComponent]
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvcmVuZGVyZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQWlCcEUsTUFBTSxPQUFPLHdCQUF3Qjs7eUlBQXhCLHdCQUF3QjswSUFBeEIsd0JBQXdCLGlCQWRwQiw0QkFBNEIsYUFFekMsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLFlBQVk7UUFDWixlQUFlO1FBQ2YsYUFBYTtRQUNiLFlBQVksYUFHSiw0QkFBNEI7MElBRTNCLHdCQUF3QixhQUh4QixFQUFFLFlBVko7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsWUFBWTtZQUNaLGVBQWU7WUFDZixhQUFhO1lBQ2IsWUFBWTtTQUNiOzRGQUlVLHdCQUF3QjtrQkFmcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsWUFBWTtxQkFDYjtvQkFDRCxTQUFTLEVBQUUsRUFBRTtvQkFDYixPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztpQkFDeEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUdWlMb2FkZXJNb2R1bGUsIFR1aVN2Z01vZHVsZSB9IGZyb20gXCJAdGFpZ2EtdWkvY29yZVwiO1xuaW1wb3J0IHsgVHVpUHVzaE1vZHVsZSB9IGZyb20gXCJAdGFpZ2EtdWkva2l0XCI7XG5pbXBvcnQgeyBLd2lrVUlNb2R1bGUgfSBmcm9tIFwia3dpa3VpXCI7XG5pbXBvcnQgeyBLd2lrSURGb3JtVmlld01vZHVsZSB9IGZyb20gXCIuL2Zvcm0tdmlldy9mb3JtLXZpZXcubW9kdWxlXCI7XG5pbXBvcnQgeyBLd2lrSURGb3Jtc0xpc3RNb2R1bGUgfSBmcm9tIFwiLi9mb3Jtcy1saXN0L2Zvcm1zLWxpc3QubW9kdWxlXCI7XG5pbXBvcnQgeyBLd2lrSURGb3Jtc1JlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSBcIi4vcmVuZGVyZXIuY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0t3aWtJREZvcm1zUmVuZGVyZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgS3dpa0lERm9ybVZpZXdNb2R1bGUsXG4gICAgS3dpa0lERm9ybXNMaXN0TW9kdWxlLFxuICAgIEt3aWtVSU1vZHVsZSxcbiAgICBUdWlMb2FkZXJNb2R1bGUsXG4gICAgVHVpUHVzaE1vZHVsZSxcbiAgICBUdWlTdmdNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXSxcbiAgZXhwb3J0czogW0t3aWtJREZvcm1zUmVuZGVyZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEt3aWtJREZvcm1SZW5kZXJlck1vZHVsZSB7fVxuIl19
@@ -1,172 +1,172 @@
1
- import { __awaiter, __decorate } from "tslib";
2
- import { Injectable } from "@angular/core";
3
- import { logMethod, checkObjectKeyExists, } from "kwikid-toolkit";
4
- import { setValueToObject } from "./form-view/helpers/form-view.common.helper";
5
- import * as i0 from "@angular/core";
6
- export class KwikIDRendererService {
7
- constructor() {
8
- this.isMobileView = false;
9
- this.allFormsData = {};
10
- }
11
- setIsMobileView(isMobileView) {
12
- this.isMobileView = isMobileView;
13
- }
14
- setFormsList(formsList) {
15
- this.formsList = formsList;
16
- }
17
- setFormsListCompleted(formsListCompleted) {
18
- this.formsListCompleted = formsListCompleted;
19
- }
20
- setAllFormsData(allFormsData) {
21
- this.allFormsData = allFormsData;
22
- }
23
- setActiveFormConfig(activeFormConfig) {
24
- this.activeFormConfig = activeFormConfig;
25
- }
26
- setActiveFormFields(activeFormFields) {
27
- this.activeFormFields = activeFormFields;
28
- }
29
- setActiveFormData(activeFormData) {
30
- this.activeFormData = activeFormData;
31
- }
32
- fetchFormConfig(url) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- const response = yield fetch(url, { method: "GET" });
35
- const data = yield response.json();
36
- return data;
37
- });
38
- }
39
- findActiveFormConfig(formsList) {
40
- const activeFormConfig = formsList.find((form) => {
41
- return form.status === "editable" && !form.disabled;
42
- });
43
- return activeFormConfig;
44
- }
45
- findCompletedFormsList(allFormsData) {
46
- let formsListCompleted = [];
47
- Object.keys(allFormsData).map((formKey) => {
48
- formsListCompleted.push(formKey);
49
- });
50
- return formsListCompleted;
51
- }
52
- markFormInFormsListAsCompleted(formsList, formsListCompleted) {
53
- for (let form of formsList) {
54
- if (formsListCompleted.includes(form.key)) {
55
- console.log(formsListCompleted.includes(form.key));
56
- form = setValueToObject(form, "status", "completed");
57
- form = setValueToObject(form, "disabled", false);
58
- }
59
- }
60
- return formsList;
61
- }
62
- markFormInFormsListAsDisabled(formsList, formsListCompleted) {
63
- for (let form of formsList) {
64
- if (form.status !== "completed") {
65
- if (checkObjectKeyExists(form, "dependentOn")) {
66
- const isDependent = form.dependentOn.every((r) => formsListCompleted.includes(r));
67
- if (isDependent) {
68
- form = setValueToObject(form, "status", "editable");
69
- form = setValueToObject(form, "disabled", false);
70
- }
71
- else {
72
- form = setValueToObject(form, "status", "locked");
73
- form = setValueToObject(form, "disabled", true);
74
- }
75
- }
76
- else {
77
- form = setValueToObject(form, "dependentOn", []);
78
- form = setValueToObject(form, "status", "editable");
79
- form = setValueToObject(form, "disabled", false);
80
- }
81
- }
82
- }
83
- return formsList;
84
- }
85
- assignSequenceNoToForm(formsList) {
86
- let sequenceNo = 1;
87
- for (let form of formsList) {
88
- form.sequenceNo = sequenceNo++;
89
- }
90
- return formsList;
91
- }
92
- filterAllFormsData(allFormsData, formsList) {
93
- let currentUserFormAllFormsData = {};
94
- for (let form of formsList) {
95
- if (checkObjectKeyExists(allFormsData, form.key)) {
96
- currentUserFormAllFormsData = Object.assign(Object.assign({}, currentUserFormAllFormsData), { [form.key]: allFormsData[form.key] });
97
- }
98
- }
99
- return currentUserFormAllFormsData;
100
- }
101
- updateFormsList() {
102
- let formsList = this.formsList;
103
- let formsListCompleted;
104
- let activeFormConfig;
105
- formsList = this.assignSequenceNoToForm(formsList);
106
- /**
107
- * Below code identifies the allFormsData required for the current User Form.
108
- * Why? Because allFormsData will actually contain the whole journey's all
109
- * possible User Form steps. So, it is important to set the form data which
110
- * this particular User Form only has to LOCAL METHOD Variable.
111
- */
112
- const currentUserFormAllFormsData = this.filterAllFormsData(this.allFormsData, formsList);
113
- console.log(JSON.parse(JSON.stringify(formsList)));
114
- formsListCompleted = this.findCompletedFormsList(currentUserFormAllFormsData);
115
- formsList = this.markFormInFormsListAsCompleted(formsList, formsListCompleted);
116
- formsList = this.markFormInFormsListAsDisabled(formsList, formsListCompleted);
117
- if (formsList.length !== formsListCompleted.length) {
118
- activeFormConfig = this.findActiveFormConfig(formsList);
119
- this.setActiveFormConfig(activeFormConfig);
120
- }
121
- this.setFormsList(formsList);
122
- this.setFormsListCompleted(formsListCompleted);
123
- }
124
- }
125
- /** @nocollapse */ KwikIDRendererService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDRendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
126
- /** @nocollapse */ KwikIDRendererService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDRendererService, providedIn: "root" });
127
- __decorate([
128
- logMethod
129
- ], KwikIDRendererService.prototype, "setFormsList", null);
130
- __decorate([
131
- logMethod
132
- ], KwikIDRendererService.prototype, "setFormsListCompleted", null);
133
- __decorate([
134
- logMethod
135
- ], KwikIDRendererService.prototype, "setAllFormsData", null);
136
- __decorate([
137
- logMethod
138
- ], KwikIDRendererService.prototype, "setActiveFormConfig", null);
139
- __decorate([
140
- logMethod
141
- ], KwikIDRendererService.prototype, "setActiveFormFields", null);
142
- __decorate([
143
- logMethod
144
- ], KwikIDRendererService.prototype, "setActiveFormData", null);
145
- __decorate([
146
- logMethod
147
- ], KwikIDRendererService.prototype, "findActiveFormConfig", null);
148
- __decorate([
149
- logMethod
150
- ], KwikIDRendererService.prototype, "findCompletedFormsList", null);
151
- __decorate([
152
- logMethod
153
- ], KwikIDRendererService.prototype, "markFormInFormsListAsCompleted", null);
154
- __decorate([
155
- logMethod
156
- ], KwikIDRendererService.prototype, "markFormInFormsListAsDisabled", null);
157
- __decorate([
158
- logMethod
159
- ], KwikIDRendererService.prototype, "assignSequenceNoToForm", null);
160
- __decorate([
161
- logMethod
162
- ], KwikIDRendererService.prototype, "filterAllFormsData", null);
163
- __decorate([
164
- logMethod
165
- ], KwikIDRendererService.prototype, "updateFormsList", null);
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDRendererService, decorators: [{
167
- type: Injectable,
168
- args: [{
169
- providedIn: "root"
170
- }]
171
- }], ctorParameters: function () { return []; }, propDecorators: { setFormsList: [], setFormsListCompleted: [], setAllFormsData: [], setActiveFormConfig: [], setActiveFormFields: [], setActiveFormData: [], findActiveFormConfig: [], findCompletedFormsList: [], markFormInFormsListAsCompleted: [], markFormInFormsListAsDisabled: [], assignSequenceNoToForm: [], filterAllFormsData: [], updateFormsList: [] } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL3JlbmRlcmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxvQkFBb0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFLL0UsTUFBTSxPQUFPLHFCQUFxQjtJQTBDaEM7UUF6Q0EsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFpQnJCLGlCQUFZLEdBQVEsRUFBRSxDQUFDO0lBd0JSLENBQUM7SUF4Q2hCLGVBQWUsQ0FBQyxZQUFxQjtRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNuQyxDQUFDO0lBSUQsWUFBWSxDQUFDLFNBQWdCO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFJRCxxQkFBcUIsQ0FBQyxrQkFBeUI7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO0lBQy9DLENBQUM7SUFJRCxlQUFlLENBQUMsWUFBbUI7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUlELG1CQUFtQixDQUFDLGdCQUFxQjtRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDM0MsQ0FBQztJQUlELG1CQUFtQixDQUFDLGdCQUF1QjtRQUN6QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDM0MsQ0FBQztJQUlELGlCQUFpQixDQUFDLGNBQW1CO1FBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lB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N0Isc0JBQXNCLE1BVXRCLGtCQUFrQixNQWdCbEIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIGxvZ01ldGhvZCxcclxuICBjaGVja09iamVjdEtleUV4aXN0cyxcclxufSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcclxuaW1wb3J0IHsgc2V0VmFsdWVUb09iamVjdCB9IGZyb20gXCIuL2Zvcm0tdmlldy9oZWxwZXJzL2Zvcm0tdmlldy5jb21tb24uaGVscGVyXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEt3aWtJRFJlbmRlcmVyU2VydmljZSB7XHJcbiAgaXNNb2JpbGVWaWV3ID0gZmFsc2U7XHJcbiAgc2V0SXNNb2JpbGVWaWV3KGlzTW9iaWxlVmlldzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5pc01vYmlsZVZpZXcgPSBpc01vYmlsZVZpZXc7XHJcbiAgfVxyXG5cclxuICBmb3Jtc0xpc3Q6IGFueVtdO1xyXG4gIEBsb2dNZXRob2RcclxuICBzZXRGb3Jtc0xpc3QoZm9ybXNMaXN0OiBhbnlbXSkge1xyXG4gICAgdGhpcy5mb3Jtc0xpc3QgPSBmb3Jtc0xpc3Q7XHJcbiAgfVxyXG5cclxuICBmb3Jtc0xpc3RDb21wbGV0ZWQ6IHN0cmluZ1tdO1xyXG4gIEBsb2dNZXRob2RcclxuICBzZXRGb3Jtc0xpc3RDb21wbGV0ZWQoZm9ybXNMaXN0Q29tcGxldGVkOiBhbnlbXSkge1xyXG4gICAgdGhpcy5mb3Jtc0xpc3RDb21wbGV0ZWQgPSBmb3Jtc0xpc3RDb21wbGV0ZWQ7XHJcbiAgfVxyXG5cclxuICBhbGxGb3Jtc0RhdGE6IGFueSA9IHt9O1xyXG4gIEBsb2dNZXRob2RcclxuICBzZXRBbGxGb3Jtc0RhdGEoYWxsRm9ybXNEYXRhOiBhbnlbXSkge1xyXG4gICAgdGhpcy5hbGxGb3Jtc0RhdGEgPSBhbGxGb3Jtc0RhdGE7XHJcbiAgfVxyXG5cclxuICBhY3RpdmVGb3JtQ29uZmlnOiBhbnk7XHJcbiAgQGxvZ01ldGhvZFxyXG4gIHNldEFjdGl2ZUZvcm1Db25maWcoYWN0aXZlRm9ybUNvbmZpZzogYW55KSB7XHJcbiAgICB0aGlzLmFjdGl2ZUZvcm1Db25maWcgPSBhY3RpdmVGb3JtQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgYWN0aXZlRm9ybUZpZWxkczogYW55W107XHJcbiAgQGxvZ01ldGhvZFxyXG4gIHNldEFjdGl2ZUZvcm1GaWVsZHMoYWN0aXZlRm9ybUZpZWxkczogYW55W10pIHtcclxuICAgIHRoaXMuYWN0aXZlRm9ybUZpZWxkcyA9IGFjdGl2ZUZvcm1GaWVsZHM7XHJcbiAgfVxyXG5cclxuICBhY3RpdmVGb3JtRGF0YTogYW55O1xyXG4gIEBsb2dNZXRob2RcclxuICBzZXRBY3RpdmVGb3JtRGF0YShhY3RpdmVGb3JtRGF0YTogYW55KSB7XHJcbiAgICB0aGlzLmFjdGl2ZUZvcm1EYXRhID0gYWN0aXZlRm9ybURhdGE7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIGFzeW5jIGZldGNoRm9ybUNvbmZpZyh1cmw6IHN0cmluZykge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHsgbWV0aG9kOiBcIkdFVFwiIH0pO1xyXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgQGxvZ01ldGhvZFxyXG4gIGZpbmRBY3RpdmVGb3JtQ29uZmlnKGZvcm1zTGlzdDogYW55W10pOiBhbnkge1xyXG4gICAgY29uc3QgYWN0aXZlRm9ybUNvbmZpZyA9IGZvcm1zTGlzdC5maW5kKChmb3JtKSA9PiB7XHJcbiAgICAgIHJldHVybiBmb3JtLnN0YXR1cyA9PT0gXCJlZGl0YWJsZVwiICYmICFmb3JtLmRpc2FibGVkO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYWN0aXZlRm9ybUNvbmZpZztcclxuICB9XHJcblxyXG4gIEBsb2dNZXRob2RcclxuICBmaW5kQ29tcGxldGVkRm9ybXNMaXN0KGFsbEZvcm1zRGF0YTogYW55KTogc3RyaW5nW10ge1xyXG4gICAgbGV0IGZvcm1zTGlzdENvbXBsZXRlZDogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICBPYmplY3Qua2V5cyhhbGxGb3Jtc0RhdGEpLm1hcCgoZm9ybUtleSkgPT4ge1xyXG4gICAgICBmb3Jtc0xpc3RDb21wbGV0ZWQucHVzaChmb3JtS2V5KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBmb3Jtc0xpc3RDb21wbGV0ZWQ7XHJcbiAgfVxyXG5cclxuICBAbG9nTWV0aG9kXHJcbiAgbWFya0Zvcm1JbkZvcm1zTGlzdEFzQ29tcGxldGVkKFxyXG4gICAgZm9ybXNMaXN0OiBhbnlbXSxcclxuICAgIGZvcm1zTGlzdENvbXBsZXRlZDogc3RyaW5nW11cclxuICApOiBhbnlbXSB7XHJcbiAgICBmb3IgKGxldCBmb3JtIG9mIGZvcm1zTGlzdCkge1xyXG4gICAgICBpZiAoZm9ybXNMaXN0Q29tcGxldGVkLmluY2x1ZGVzKGZvcm0ua2V5KSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGZvcm1zTGlzdENvbXBsZXRlZC5pbmNsdWRlcyhmb3JtLmtleSkpO1xyXG5cclxuICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcInN0YXR1c1wiLCBcImNvbXBsZXRlZFwiKTtcclxuICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRpc2FibGVkXCIsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb3Jtc0xpc3Q7XHJcbiAgfVxyXG5cclxuICBAbG9nTWV0aG9kXHJcbiAgbWFya0Zvcm1JbkZvcm1zTGlzdEFzRGlzYWJsZWQoXHJcbiAgICBmb3Jtc0xpc3Q6IGFueVtdLFxyXG4gICAgZm9ybXNMaXN0Q29tcGxldGVkOiBzdHJpbmdbXVxyXG4gICk6IGFueVtdIHtcclxuICAgIGZvciAobGV0IGZvcm0gb2YgZm9ybXNMaXN0KSB7XHJcbiAgICAgIGlmIChmb3JtLnN0YXR1cyAhPT0gXCJjb21wbGV0ZWRcIikge1xyXG4gICAgICAgIGlmIChjaGVja09iamVjdEtleUV4aXN0cyhmb3JtLCBcImRlcGVuZGVudE9uXCIpKSB7XHJcbiAgICAgICAgICBjb25zdCBpc0RlcGVuZGVudCA9IGZvcm0uZGVwZW5kZW50T24uZXZlcnkoKHI6IHN0cmluZykgPT5cclxuICAgICAgICAgICAgZm9ybXNMaXN0Q29tcGxldGVkLmluY2x1ZGVzKHIpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgaWYgKGlzRGVwZW5kZW50KSB7XHJcbiAgICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwic3RhdHVzXCIsIFwiZWRpdGFibGVcIik7XHJcbiAgICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwiZGlzYWJsZWRcIiwgZmFsc2UpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJzdGF0dXNcIiwgXCJsb2NrZWRcIik7XHJcbiAgICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwiZGlzYWJsZWRcIiwgdHJ1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwiZGVwZW5kZW50T25cIiwgW10pO1xyXG4gICAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJzdGF0dXNcIiwgXCJlZGl0YWJsZVwiKTtcclxuICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwiZGlzYWJsZWRcIiwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb3Jtc0xpc3Q7XHJcbiAgfVxyXG5cclxuICBAbG9nTWV0aG9kXHJcbiAgYXNzaWduU2VxdWVuY2VOb1RvRm9ybShmb3Jtc0xpc3Q6IGFueVtdKTogYW55W10ge1xyXG4gICAgbGV0IHNlcXVlbmNlTm8gPSAxO1xyXG4gICAgZm9yIChsZXQgZm9ybSBvZiBmb3Jtc0xpc3QpIHtcclxuICAgICAgZm9ybS5zZXF1ZW5jZU5vID0gc2VxdWVuY2VObysrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb3Jtc0xpc3Q7XHJcbiAgfVxyXG5cclxuICBAbG9nTWV0aG9kXHJcbiAgZmlsdGVyQWxsRm9ybXNEYXRhKGFsbEZvcm1zRGF0YTogYW55LCBmb3Jtc0xpc3Q6IGFueVtdKTogYW55IHtcclxuICAgIGxldCBjdXJyZW50VXNlckZvcm1BbGxGb3Jtc0RhdGE6IGFueSA9IHt9O1xyXG5cclxuICAgIGZvciAobGV0IGZvcm0gb2YgZm9ybXNMaXN0KSB7XHJcbiAgICAgIGlmIChjaGVja09iamVjdEtleUV4aXN0cyhhbGxGb3Jtc0RhdGEsIGZvcm0ua2V5KSkge1xyXG4gICAgICAgIGN1cnJlbnRVc2VyRm9ybUFsbEZvcm1zRGF0YSA9IHtcclxuICAgICAgICAgIC4uLmN1cnJlbnRVc2VyRm9ybUFsbEZvcm1zRGF0YSxcclxuICAgICAgICAgIFtmb3JtLmtleV06IGFsbEZvcm1zRGF0YVtmb3JtLmtleV1cclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGN1cnJlbnRVc2VyRm9ybUFsbEZvcm1zRGF0YTtcclxuICB9XHJcblxyXG4gIEBsb2dNZXRob2RcclxuICB1cGRhdGVGb3Jtc0xpc3QoKSB7XHJcbiAgICBsZXQgZm9ybXNMaXN0OiBhbnlbXSA9IHRoaXMuZm9ybXNMaXN0O1xyXG4gICAgbGV0IGZvcm1zTGlzdENvbXBsZXRlZDogc3RyaW5nW107XHJcbiAgICBsZXQgYWN0aXZlRm9ybUNvbmZpZzogYW55O1xyXG5cclxuICAgIGZvcm1zTGlzdCA9IHRoaXMuYXNzaWduU2VxdWVuY2VOb1RvRm9ybShmb3Jtc0xpc3QpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQmVsb3cgY29kZSBpZGVudGlmaWVzIHRoZSBhbGxGb3Jtc0RhdGEgcmVxdWlyZWQgZm9yIHRoZSBjdXJyZW50IFVzZXIgRm9ybS5cclxuICAgICAqIFdoeT8gQmVjYXVzZSBhbGxGb3Jtc0RhdGEgd2lsbCBhY3R1YWxseSBjb250YWluIHRoZSB3aG9sZSBqb3VybmV5J3MgYWxsXHJcbiAgICAgKiBwb3NzaWJsZSBVc2VyIEZvcm0gc3RlcHMuIFNvLCBpdCBpcyBpbXBvcnRhbnQgdG8gc2V0IHRoZSBmb3JtIGRhdGEgd2hpY2hcclxuICAgICAqIHRoaXMgcGFydGljdWxhciBVc2VyIEZvcm0gb25seSBoYXMgdG8gTE9DQUwgTUVUSE9EIFZhcmlhYmxlLlxyXG4gICAgICovXHJcbiAgICBjb25zdCBjdXJyZW50VXNlckZvcm1BbGxGb3Jtc0RhdGEgPSB0aGlzLmZpbHRlckFsbEZvcm1zRGF0YShcclxuICAgICAgdGhpcy5hbGxGb3Jtc0RhdGEsXHJcbiAgICAgIGZvcm1zTGlzdFxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyhKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGZvcm1zTGlzdCkpKTtcclxuXHJcbiAgICBmb3Jtc0xpc3RDb21wbGV0ZWQgPSB0aGlzLmZpbmRDb21wbGV0ZWRGb3Jtc0xpc3QoXHJcbiAgICAgIGN1cnJlbnRVc2VyRm9ybUFsbEZvcm1zRGF0YVxyXG4gICAgKTtcclxuXHJcbiAgICBmb3Jtc0xpc3QgPSB0aGlzLm1hcmtGb3JtSW5Gb3Jtc0xpc3RBc0NvbXBsZXRlZChcclxuICAgICAgZm9ybXNMaXN0LFxyXG4gICAgICBmb3Jtc0xpc3RDb21wbGV0ZWRcclxuICAgICk7XHJcblxyXG4gICAgZm9ybXNMaXN0ID0gdGhpcy5tYXJrRm9ybUluRm9ybXNMaXN0QXNEaXNhYmxlZChcclxuICAgICAgZm9ybXNMaXN0LFxyXG4gICAgICBmb3Jtc0xpc3RDb21wbGV0ZWRcclxuICAgICk7XHJcblxyXG4gICAgaWYgKGZvcm1zTGlzdC5sZW5ndGggIT09IGZvcm1zTGlzdENvbXBsZXRlZC5sZW5ndGgpIHtcclxuICAgICAgYWN0aXZlRm9ybUNvbmZpZyA9IHRoaXMuZmluZEFjdGl2ZUZvcm1Db25maWcoZm9ybXNMaXN0KTtcclxuXHJcbiAgICAgIHRoaXMuc2V0QWN0aXZlRm9ybUNvbmZpZyhhY3RpdmVGb3JtQ29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNldEZvcm1zTGlzdChmb3Jtc0xpc3QpO1xyXG4gICAgdGhpcy5zZXRGb3Jtc0xpc3RDb21wbGV0ZWQoZm9ybXNMaXN0Q29tcGxldGVkKTtcclxuICB9XHJcbn1cclxuIl19
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { Injectable } from "@angular/core";
3
+ import { logMethod, checkObjectKeyExists, } from "kwikid-toolkit";
4
+ import { setValueToObject } from "./form-view/helpers/form-view.common.helper";
5
+ import * as i0 from "@angular/core";
6
+ export class KwikIDRendererService {
7
+ constructor() {
8
+ this.isMobileView = false;
9
+ this.allFormsData = {};
10
+ }
11
+ setIsMobileView(isMobileView) {
12
+ this.isMobileView = isMobileView;
13
+ }
14
+ setFormsList(formsList) {
15
+ this.formsList = formsList;
16
+ }
17
+ setFormsListCompleted(formsListCompleted) {
18
+ this.formsListCompleted = formsListCompleted;
19
+ }
20
+ setAllFormsData(allFormsData) {
21
+ this.allFormsData = allFormsData;
22
+ }
23
+ setActiveFormConfig(activeFormConfig) {
24
+ this.activeFormConfig = activeFormConfig;
25
+ }
26
+ setActiveFormFields(activeFormFields) {
27
+ this.activeFormFields = activeFormFields;
28
+ }
29
+ setActiveFormData(activeFormData) {
30
+ this.activeFormData = activeFormData;
31
+ }
32
+ fetchFormConfig(url) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ const response = yield fetch(url, { method: "GET" });
35
+ const data = yield response.json();
36
+ return data;
37
+ });
38
+ }
39
+ findActiveFormConfig(formsList) {
40
+ const activeFormConfig = formsList.find((form) => {
41
+ return form.status === "editable" && !form.disabled;
42
+ });
43
+ return activeFormConfig;
44
+ }
45
+ findCompletedFormsList(allFormsData) {
46
+ let formsListCompleted = [];
47
+ Object.keys(allFormsData).map((formKey) => {
48
+ formsListCompleted.push(formKey);
49
+ });
50
+ return formsListCompleted;
51
+ }
52
+ markFormInFormsListAsCompleted(formsList, formsListCompleted) {
53
+ for (let form of formsList) {
54
+ if (formsListCompleted.includes(form.key)) {
55
+ console.log(formsListCompleted.includes(form.key));
56
+ form = setValueToObject(form, "status", "completed");
57
+ form = setValueToObject(form, "disabled", false);
58
+ }
59
+ }
60
+ return formsList;
61
+ }
62
+ markFormInFormsListAsDisabled(formsList, formsListCompleted) {
63
+ for (let form of formsList) {
64
+ if (form.status !== "completed") {
65
+ if (checkObjectKeyExists(form, "dependentOn")) {
66
+ const isDependent = form.dependentOn.every((r) => formsListCompleted.includes(r));
67
+ if (isDependent) {
68
+ form = setValueToObject(form, "status", "editable");
69
+ form = setValueToObject(form, "disabled", false);
70
+ }
71
+ else {
72
+ form = setValueToObject(form, "status", "locked");
73
+ form = setValueToObject(form, "disabled", true);
74
+ }
75
+ }
76
+ else {
77
+ form = setValueToObject(form, "dependentOn", []);
78
+ form = setValueToObject(form, "status", "editable");
79
+ form = setValueToObject(form, "disabled", false);
80
+ }
81
+ }
82
+ }
83
+ return formsList;
84
+ }
85
+ assignSequenceNoToForm(formsList) {
86
+ let sequenceNo = 1;
87
+ for (let form of formsList) {
88
+ form.sequenceNo = sequenceNo++;
89
+ }
90
+ return formsList;
91
+ }
92
+ filterAllFormsData(allFormsData, formsList) {
93
+ let currentUserFormAllFormsData = {};
94
+ for (let form of formsList) {
95
+ if (checkObjectKeyExists(allFormsData, form.key)) {
96
+ currentUserFormAllFormsData = Object.assign(Object.assign({}, currentUserFormAllFormsData), { [form.key]: allFormsData[form.key] });
97
+ }
98
+ }
99
+ return currentUserFormAllFormsData;
100
+ }
101
+ updateFormsList() {
102
+ let formsList = this.formsList;
103
+ let formsListCompleted;
104
+ let activeFormConfig;
105
+ formsList = this.assignSequenceNoToForm(formsList);
106
+ /**
107
+ * Below code identifies the allFormsData required for the current User Form.
108
+ * Why? Because allFormsData will actually contain the whole journey's all
109
+ * possible User Form steps. So, it is important to set the form data which
110
+ * this particular User Form only has to LOCAL METHOD Variable.
111
+ */
112
+ const currentUserFormAllFormsData = this.filterAllFormsData(this.allFormsData, formsList);
113
+ console.log(JSON.parse(JSON.stringify(formsList)));
114
+ formsListCompleted = this.findCompletedFormsList(currentUserFormAllFormsData);
115
+ formsList = this.markFormInFormsListAsCompleted(formsList, formsListCompleted);
116
+ formsList = this.markFormInFormsListAsDisabled(formsList, formsListCompleted);
117
+ if (formsList.length !== formsListCompleted.length) {
118
+ activeFormConfig = this.findActiveFormConfig(formsList);
119
+ this.setActiveFormConfig(activeFormConfig);
120
+ }
121
+ this.setFormsList(formsList);
122
+ this.setFormsListCompleted(formsListCompleted);
123
+ }
124
+ }
125
+ /** @nocollapse */ KwikIDRendererService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDRendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
126
+ /** @nocollapse */ KwikIDRendererService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDRendererService, providedIn: "root" });
127
+ __decorate([
128
+ logMethod
129
+ ], KwikIDRendererService.prototype, "setFormsList", null);
130
+ __decorate([
131
+ logMethod
132
+ ], KwikIDRendererService.prototype, "setFormsListCompleted", null);
133
+ __decorate([
134
+ logMethod
135
+ ], KwikIDRendererService.prototype, "setAllFormsData", null);
136
+ __decorate([
137
+ logMethod
138
+ ], KwikIDRendererService.prototype, "setActiveFormConfig", null);
139
+ __decorate([
140
+ logMethod
141
+ ], KwikIDRendererService.prototype, "setActiveFormFields", null);
142
+ __decorate([
143
+ logMethod
144
+ ], KwikIDRendererService.prototype, "setActiveFormData", null);
145
+ __decorate([
146
+ logMethod
147
+ ], KwikIDRendererService.prototype, "findActiveFormConfig", null);
148
+ __decorate([
149
+ logMethod
150
+ ], KwikIDRendererService.prototype, "findCompletedFormsList", null);
151
+ __decorate([
152
+ logMethod
153
+ ], KwikIDRendererService.prototype, "markFormInFormsListAsCompleted", null);
154
+ __decorate([
155
+ logMethod
156
+ ], KwikIDRendererService.prototype, "markFormInFormsListAsDisabled", null);
157
+ __decorate([
158
+ logMethod
159
+ ], KwikIDRendererService.prototype, "assignSequenceNoToForm", null);
160
+ __decorate([
161
+ logMethod
162
+ ], KwikIDRendererService.prototype, "filterAllFormsData", null);
163
+ __decorate([
164
+ logMethod
165
+ ], KwikIDRendererService.prototype, "updateFormsList", null);
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDRendererService, decorators: [{
167
+ type: Injectable,
168
+ args: [{
169
+ providedIn: "root"
170
+ }]
171
+ }], ctorParameters: function () { return []; }, propDecorators: { setFormsList: [], setFormsListCompleted: [], setAllFormsData: [], setActiveFormConfig: [], setActiveFormFields: [], setActiveFormData: [], findActiveFormConfig: [], findCompletedFormsList: [], markFormInFormsListAsCompleted: [], markFormInFormsListAsDisabled: [], assignSequenceNoToForm: [], filterAllFormsData: [], updateFormsList: [] } });
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL3JlbmRlcmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxvQkFBb0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFLL0UsTUFBTSxPQUFPLHFCQUFxQjtJQTBDaEM7UUF6Q0EsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFpQnJCLGlCQUFZLEdBQVEsRUFBRSxDQUFDO0lBd0JSLENBQUM7SUF4Q2hCLGVBQWUsQ0FBQyxZQUFxQjtRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNuQyxDQUFDO0lBSUQsWUFBWSxDQUFDLFNBQWdCO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFJRCxxQkFBcUIsQ0FBQyxrQkFBeUI7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO0lBQy9DLENBQUM7SUFJRCxlQUFlLENBQUMsWUFBbUI7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUlELG1CQUFtQixDQUFDLGdCQUFxQjtRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDM0MsQ0FBQztJQUlELG1CQUFtQixDQUFDLGdCQUF1QjtRQUN6QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDM0MsQ0FBQztJQUlELGlCQUFpQixDQUFDLGNBQW1CO1FBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBQ3ZDLENBQUM7SUFJSyxlQUFlLENBQUMsR0FBVzs7WUFDL0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDckQsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0tBQUE7SUFHRCxvQkFBb0IsQ0FBQyxTQUFnQjtRQUNuQyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMvQyxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUdELHNCQUFzQixDQUFDLFlBQWlCO1FBQ3RDLElBQUksa0JBQWtCLEdBQWEsRUFBRSxDQUFDO1FBRXRDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBR0QsOEJBQThCLENBQzVCLFNBQWdCLEVBQ2hCLGtCQUE0QjtRQUU1QixLQUFLLElBQUksSUFBSSxJQUFJLFNBQVMsRUFBRTtZQUMxQixJQUFJLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUVuRCxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDckQsSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDbEQ7U0FDRjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFHRCw2QkFBNkIsQ0FDM0IsU0FBZ0IsRUFDaEIsa0JBQTRCO1FBRTVCLEtBQUssSUFBSSxJQUFJLElBQUksU0FBUyxFQUFFO1lBQzFCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxXQUFXLEVBQUU7Z0JBQy9CLElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxFQUFFO29CQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQ3ZELGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDL0IsQ0FBQztvQkFDRixJQUFJLFdBQVcsRUFBRTt3QkFDZixJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQzt3QkFDcEQsSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7cUJBQ2xEO3lCQUFNO3dCQUNMLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO3dCQUNsRCxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztxQkFDakQ7aUJBQ0Y7cUJBQU07b0JBQ0wsSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ2pELElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUNwRCxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDbEQ7YUFDRjtTQUNGO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUdELHNCQUFzQixDQUFDLFNBQWdCO1FBQ3JDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNuQixLQUFLLElBQUksSUFBSSxJQUFJLFNBQVMsRUFBRTtZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsRUFBRSxDQUFDO1NBQ2hDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUdELGtCQUFrQixDQUFDLFlBQWlCLEVBQUUsU0FBZ0I7UUFDcEQsSUFBSSwyQkFBMkIsR0FBUSxFQUFFLENBQUM7UUFFMUMsS0FBSyxJQUFJLElBQUksSUFBSSxTQUFTLEVBQUU7WUFDMUIsSUFBSSxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNoRCwyQkFBMkIsbUNBQ3RCLDJCQUEyQixLQUM5QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUNuQyxDQUFDO2FBQ0g7U0FDRjtRQUVELE9BQU8sMkJBQTJCLENBQUM7SUFDckMsQ0FBQztJQUdELGVBQWU7UUFDYixJQUFJLFNBQVMsR0FBVSxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3RDLElBQUksa0JBQTRCLENBQUM7UUFDakMsSUFBSSxnQkFBcUIsQ0FBQztRQUUxQixTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5EOzs7OztXQUtHO1FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQ3pELElBQUksQ0FBQyxZQUFZLEVBQ2pCLFNBQVMsQ0FDVixDQUFDO1FBRUYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5ELGtCQUFrQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FDOUMsMkJBQTJCLENBQzVCLENBQUM7UUFFRixTQUFTLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUM3QyxTQUFTLEVBQ1Qsa0JBQWtCLENBQ25CLENBQUM7UUFFRixTQUFTLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUM1QyxTQUFTLEVBQ1Qsa0JBQWtCLENBQ25CLENBQUM7UUFFRixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssa0JBQWtCLENBQUMsTUFBTSxFQUFFO1lBQ2xELGdCQUFnQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV4RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUM1QztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDakQsQ0FBQzs7c0lBeExVLHFCQUFxQjswSUFBckIscUJBQXFCLGNBRnBCLE1BQU07QUFVbEI7SUFEQyxTQUFTO3lEQUdUO0FBSUQ7SUFEQyxTQUFTO2tFQUdUO0FBSUQ7SUFEQyxTQUFTOzREQUdUO0FBSUQ7SUFEQyxTQUFTO2dFQUdUO0FBSUQ7SUFEQyxTQUFTO2dFQUdUO0FBSUQ7SUFEQyxTQUFTOzhEQUdUO0FBV0Q7SUFEQyxTQUFTO2lFQU1UO0FBR0Q7SUFEQyxTQUFTO21FQVNUO0FBR0Q7SUFEQyxTQUFTOzJFQWVUO0FBR0Q7SUFEQyxTQUFTOzBFQTJCVDtBQUdEO0lBREMsU0FBUzttRUFRVDtBQUdEO0lBREMsU0FBUzsrREFjVDtBQUdEO0lBREMsU0FBUzs0REEyQ1Q7NEZBeExVLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7MEVBU0MsWUFBWSxNQU1aLHFCQUFxQixNQU1yQixlQUFlLE1BTWYsbUJBQW1CLE1BTW5CLG1CQUFtQixNQU1uQixpQkFBaUIsTUFhakIsb0JBQW9CLE1BUXBCLHNCQUFzQixNQVd0Qiw4QkFBOEIsTUFpQjlCLDZCQUE2QixNQTZCN0Isc0JBQXNCLE1BVXRCLGtCQUFrQixNQWdCbEIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgbG9nTWV0aG9kLFxuICBjaGVja09iamVjdEtleUV4aXN0cyxcbn0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5pbXBvcnQgeyBzZXRWYWx1ZVRvT2JqZWN0IH0gZnJvbSBcIi4vZm9ybS12aWV3L2hlbHBlcnMvZm9ybS12aWV3LmNvbW1vbi5oZWxwZXJcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIlxufSlcbmV4cG9ydCBjbGFzcyBLd2lrSURSZW5kZXJlclNlcnZpY2Uge1xuICBpc01vYmlsZVZpZXcgPSBmYWxzZTtcbiAgc2V0SXNNb2JpbGVWaWV3KGlzTW9iaWxlVmlldzogYm9vbGVhbikge1xuICAgIHRoaXMuaXNNb2JpbGVWaWV3ID0gaXNNb2JpbGVWaWV3O1xuICB9XG5cbiAgZm9ybXNMaXN0OiBhbnlbXTtcbiAgQGxvZ01ldGhvZFxuICBzZXRGb3Jtc0xpc3QoZm9ybXNMaXN0OiBhbnlbXSkge1xuICAgIHRoaXMuZm9ybXNMaXN0ID0gZm9ybXNMaXN0O1xuICB9XG5cbiAgZm9ybXNMaXN0Q29tcGxldGVkOiBzdHJpbmdbXTtcbiAgQGxvZ01ldGhvZFxuICBzZXRGb3Jtc0xpc3RDb21wbGV0ZWQoZm9ybXNMaXN0Q29tcGxldGVkOiBhbnlbXSkge1xuICAgIHRoaXMuZm9ybXNMaXN0Q29tcGxldGVkID0gZm9ybXNMaXN0Q29tcGxldGVkO1xuICB9XG5cbiAgYWxsRm9ybXNEYXRhOiBhbnkgPSB7fTtcbiAgQGxvZ01ldGhvZFxuICBzZXRBbGxGb3Jtc0RhdGEoYWxsRm9ybXNEYXRhOiBhbnlbXSkge1xuICAgIHRoaXMuYWxsRm9ybXNEYXRhID0gYWxsRm9ybXNEYXRhO1xuICB9XG5cbiAgYWN0aXZlRm9ybUNvbmZpZzogYW55O1xuICBAbG9nTWV0aG9kXG4gIHNldEFjdGl2ZUZvcm1Db25maWcoYWN0aXZlRm9ybUNvbmZpZzogYW55KSB7XG4gICAgdGhpcy5hY3RpdmVGb3JtQ29uZmlnID0gYWN0aXZlRm9ybUNvbmZpZztcbiAgfVxuXG4gIGFjdGl2ZUZvcm1GaWVsZHM6IGFueVtdO1xuICBAbG9nTWV0aG9kXG4gIHNldEFjdGl2ZUZvcm1GaWVsZHMoYWN0aXZlRm9ybUZpZWxkczogYW55W10pIHtcbiAgICB0aGlzLmFjdGl2ZUZvcm1GaWVsZHMgPSBhY3RpdmVGb3JtRmllbGRzO1xuICB9XG5cbiAgYWN0aXZlRm9ybURhdGE6IGFueTtcbiAgQGxvZ01ldGhvZFxuICBzZXRBY3RpdmVGb3JtRGF0YShhY3RpdmVGb3JtRGF0YTogYW55KSB7XG4gICAgdGhpcy5hY3RpdmVGb3JtRGF0YSA9IGFjdGl2ZUZvcm1EYXRhO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIGFzeW5jIGZldGNoRm9ybUNvbmZpZyh1cmw6IHN0cmluZykge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7IG1ldGhvZDogXCJHRVRcIiB9KTtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBmaW5kQWN0aXZlRm9ybUNvbmZpZyhmb3Jtc0xpc3Q6IGFueVtdKTogYW55IHtcbiAgICBjb25zdCBhY3RpdmVGb3JtQ29uZmlnID0gZm9ybXNMaXN0LmZpbmQoKGZvcm0pID0+IHtcbiAgICAgIHJldHVybiBmb3JtLnN0YXR1cyA9PT0gXCJlZGl0YWJsZVwiICYmICFmb3JtLmRpc2FibGVkO1xuICAgIH0pO1xuICAgIHJldHVybiBhY3RpdmVGb3JtQ29uZmlnO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBmaW5kQ29tcGxldGVkRm9ybXNMaXN0KGFsbEZvcm1zRGF0YTogYW55KTogc3RyaW5nW10ge1xuICAgIGxldCBmb3Jtc0xpc3RDb21wbGV0ZWQ6IHN0cmluZ1tdID0gW107XG5cbiAgICBPYmplY3Qua2V5cyhhbGxGb3Jtc0RhdGEpLm1hcCgoZm9ybUtleSkgPT4ge1xuICAgICAgZm9ybXNMaXN0Q29tcGxldGVkLnB1c2goZm9ybUtleSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZm9ybXNMaXN0Q29tcGxldGVkO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBtYXJrRm9ybUluRm9ybXNMaXN0QXNDb21wbGV0ZWQoXG4gICAgZm9ybXNMaXN0OiBhbnlbXSxcbiAgICBmb3Jtc0xpc3RDb21wbGV0ZWQ6IHN0cmluZ1tdXG4gICk6IGFueVtdIHtcbiAgICBmb3IgKGxldCBmb3JtIG9mIGZvcm1zTGlzdCkge1xuICAgICAgaWYgKGZvcm1zTGlzdENvbXBsZXRlZC5pbmNsdWRlcyhmb3JtLmtleSkpIHtcbiAgICAgICAgY29uc29sZS5sb2coZm9ybXNMaXN0Q29tcGxldGVkLmluY2x1ZGVzKGZvcm0ua2V5KSk7XG5cbiAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJzdGF0dXNcIiwgXCJjb21wbGV0ZWRcIik7XG4gICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwiZGlzYWJsZWRcIiwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmb3Jtc0xpc3Q7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIG1hcmtGb3JtSW5Gb3Jtc0xpc3RBc0Rpc2FibGVkKFxuICAgIGZvcm1zTGlzdDogYW55W10sXG4gICAgZm9ybXNMaXN0Q29tcGxldGVkOiBzdHJpbmdbXVxuICApOiBhbnlbXSB7XG4gICAgZm9yIChsZXQgZm9ybSBvZiBmb3Jtc0xpc3QpIHtcbiAgICAgIGlmIChmb3JtLnN0YXR1cyAhPT0gXCJjb21wbGV0ZWRcIikge1xuICAgICAgICBpZiAoY2hlY2tPYmplY3RLZXlFeGlzdHMoZm9ybSwgXCJkZXBlbmRlbnRPblwiKSkge1xuICAgICAgICAgIGNvbnN0IGlzRGVwZW5kZW50ID0gZm9ybS5kZXBlbmRlbnRPbi5ldmVyeSgocjogc3RyaW5nKSA9PlxuICAgICAgICAgICAgZm9ybXNMaXN0Q29tcGxldGVkLmluY2x1ZGVzKHIpXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoaXNEZXBlbmRlbnQpIHtcbiAgICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwic3RhdHVzXCIsIFwiZWRpdGFibGVcIik7XG4gICAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRpc2FibGVkXCIsIGZhbHNlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJzdGF0dXNcIiwgXCJsb2NrZWRcIik7XG4gICAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRpc2FibGVkXCIsIHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRlcGVuZGVudE9uXCIsIFtdKTtcbiAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcInN0YXR1c1wiLCBcImVkaXRhYmxlXCIpO1xuICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwiZGlzYWJsZWRcIiwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvcm1zTGlzdDtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgYXNzaWduU2VxdWVuY2VOb1RvRm9ybShmb3Jtc0xpc3Q6IGFueVtdKTogYW55W10ge1xuICAgIGxldCBzZXF1ZW5jZU5vID0gMTtcbiAgICBmb3IgKGxldCBmb3JtIG9mIGZvcm1zTGlzdCkge1xuICAgICAgZm9ybS5zZXF1ZW5jZU5vID0gc2VxdWVuY2VObysrO1xuICAgIH1cblxuICAgIHJldHVybiBmb3Jtc0xpc3Q7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGZpbHRlckFsbEZvcm1zRGF0YShhbGxGb3Jtc0RhdGE6IGFueSwgZm9ybXNMaXN0OiBhbnlbXSk6IGFueSB7XG4gICAgbGV0IGN1cnJlbnRVc2VyRm9ybUFsbEZvcm1zRGF0YTogYW55ID0ge307XG5cbiAgICBmb3IgKGxldCBmb3JtIG9mIGZvcm1zTGlzdCkge1xuICAgICAgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGFsbEZvcm1zRGF0YSwgZm9ybS5rZXkpKSB7XG4gICAgICAgIGN1cnJlbnRVc2VyRm9ybUFsbEZvcm1zRGF0YSA9IHtcbiAgICAgICAgICAuLi5jdXJyZW50VXNlckZvcm1BbGxGb3Jtc0RhdGEsXG4gICAgICAgICAgW2Zvcm0ua2V5XTogYWxsRm9ybXNEYXRhW2Zvcm0ua2V5XVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50VXNlckZvcm1BbGxGb3Jtc0RhdGE7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIHVwZGF0ZUZvcm1zTGlzdCgpIHtcbiAgICBsZXQgZm9ybXNMaXN0OiBhbnlbXSA9IHRoaXMuZm9ybXNMaXN0O1xuICAgIGxldCBmb3Jtc0xpc3RDb21wbGV0ZWQ6IHN0cmluZ1tdO1xuICAgIGxldCBhY3RpdmVGb3JtQ29uZmlnOiBhbnk7XG5cbiAgICBmb3Jtc0xpc3QgPSB0aGlzLmFzc2lnblNlcXVlbmNlTm9Ub0Zvcm0oZm9ybXNMaXN0KTtcblxuICAgIC8qKlxuICAgICAqIEJlbG93IGNvZGUgaWRlbnRpZmllcyB0aGUgYWxsRm9ybXNEYXRhIHJlcXVpcmVkIGZvciB0aGUgY3VycmVudCBVc2VyIEZvcm0uXG4gICAgICogV2h5PyBCZWNhdXNlIGFsbEZvcm1zRGF0YSB3aWxsIGFjdHVhbGx5IGNvbnRhaW4gdGhlIHdob2xlIGpvdXJuZXkncyBhbGxcbiAgICAgKiBwb3NzaWJsZSBVc2VyIEZvcm0gc3RlcHMuIFNvLCBpdCBpcyBpbXBvcnRhbnQgdG8gc2V0IHRoZSBmb3JtIGRhdGEgd2hpY2hcbiAgICAgKiB0aGlzIHBhcnRpY3VsYXIgVXNlciBGb3JtIG9ubHkgaGFzIHRvIExPQ0FMIE1FVEhPRCBWYXJpYWJsZS5cbiAgICAgKi9cbiAgICBjb25zdCBjdXJyZW50VXNlckZvcm1BbGxGb3Jtc0RhdGEgPSB0aGlzLmZpbHRlckFsbEZvcm1zRGF0YShcbiAgICAgIHRoaXMuYWxsRm9ybXNEYXRhLFxuICAgICAgZm9ybXNMaXN0XG4gICAgKTtcblxuICAgIGNvbnNvbGUubG9nKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZm9ybXNMaXN0KSkpO1xuXG4gICAgZm9ybXNMaXN0Q29tcGxldGVkID0gdGhpcy5maW5kQ29tcGxldGVkRm9ybXNMaXN0KFxuICAgICAgY3VycmVudFVzZXJGb3JtQWxsRm9ybXNEYXRhXG4gICAgKTtcblxuICAgIGZvcm1zTGlzdCA9IHRoaXMubWFya0Zvcm1JbkZvcm1zTGlzdEFzQ29tcGxldGVkKFxuICAgICAgZm9ybXNMaXN0LFxuICAgICAgZm9ybXNMaXN0Q29tcGxldGVkXG4gICAgKTtcblxuICAgIGZvcm1zTGlzdCA9IHRoaXMubWFya0Zvcm1JbkZvcm1zTGlzdEFzRGlzYWJsZWQoXG4gICAgICBmb3Jtc0xpc3QsXG4gICAgICBmb3Jtc0xpc3RDb21wbGV0ZWRcbiAgICApO1xuXG4gICAgaWYgKGZvcm1zTGlzdC5sZW5ndGggIT09IGZvcm1zTGlzdENvbXBsZXRlZC5sZW5ndGgpIHtcbiAgICAgIGFjdGl2ZUZvcm1Db25maWcgPSB0aGlzLmZpbmRBY3RpdmVGb3JtQ29uZmlnKGZvcm1zTGlzdCk7XG5cbiAgICAgIHRoaXMuc2V0QWN0aXZlRm9ybUNvbmZpZyhhY3RpdmVGb3JtQ29uZmlnKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldEZvcm1zTGlzdChmb3Jtc0xpc3QpO1xuICAgIHRoaXMuc2V0Rm9ybXNMaXN0Q29tcGxldGVkKGZvcm1zTGlzdENvbXBsZXRlZCk7XG4gIH1cbn1cbiJdfQ==