kwikid-forms 0.1.15 → 0.1.16

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.
@@ -1 +1 @@
1
- {"version":3,"file":"kwikid-forms.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/kwikid-forms/src/lib/builder/builder.component.ts","../../../projects/kwikid-forms/src/lib/builder/builder.component.html","../../../projects/kwikid-forms/src/lib/renderer/form-view/definitions/form-view.actions.definition.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/definitions/form-view.apis.definition.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/definitions/form-view.commons.definition.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/definitions/form-view.fields.definition.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.fields.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.defaults.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.form-validations.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/form-view.service.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.apis.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/pipes/safe-html.pipe.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/form-view.component.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/form-view.component.html","../../../projects/kwikid-forms/src/lib/renderer/forms-list/forms-list.component.ts","../../../projects/kwikid-forms/src/lib/renderer/forms-list/forms-list.component.html","../../../projects/kwikid-forms/src/lib/renderer/renderer.actions.definitions.ts","../../../projects/kwikid-forms/src/lib/renderer/renderer.config-converter.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/renderer.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/renderer.component.ts","../../../projects/kwikid-forms/src/lib/renderer/renderer.component.html","../../../projects/kwikid-forms/src/lib/builder/builder.module.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/form-view.module.ts","../../../projects/kwikid-forms/src/lib/renderer/forms-list/forms-list.module.ts","../../../projects/kwikid-forms/src/lib/renderer/renderer.module.ts","../../../projects/kwikid-forms/src/lib/kwikid-forms.module.ts","../../../projects/kwikid-forms/src/public_api.ts","../../../projects/kwikid-forms/src/kwikid-forms.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { copyArrayItem, moveItemInArray } from \"@angular/cdk/drag-drop\";\nimport { Component, OnInit, VERSION } from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport {\n KwikUIButtonComponent,\n KwikUIInputComponent,\n KwikUIProgressSegmentedComponent\n} from \"kwikui\";\nimport { cloneDeep } from \"lodash\";\n\ntype IMenu = {\n title: string;\n id?: string;\n key?: string;\n temp?: string;\n component?: any;\n props?: any;\n};\n\n@Component({\n selector: \"kwikid-forms-builder\",\n templateUrl: \"./builder.component.html\",\n styleUrls: [\"./builder.component.scss\"]\n})\nexport class KwikIDFormsBuilderComponent implements OnInit {\n buttonComponent = {\n disabled: false,\n id: \"\",\n label: \"Button\",\n showLoader: false,\n styles: \"\",\n class: \"tui-space_right-3 tui-space_bottom-3\",\n type: \"button\",\n appearance: \"primary\",\n icon: \"\",\n iconRight: \"\",\n shape: null,\n size: \"m\"\n };\n\n progressSegmentedComponent = {\n colors: \"tui(--tui-primary)\",\n max: \"5\",\n size: \"m\",\n value: \"2\"\n };\n\n inputComponent = {\n case: \"default\",\n disabled: false,\n focus: false,\n id: \"id\",\n invalid: false,\n label: \"label\",\n placeholder: \"placeholder\",\n type: \"text\",\n validators: {\n required: true\n }\n };\n\n formGroup = new FormGroup({});\n\n constructor() {}\n\n ngOnInit() {\n for (let m of this.menu) {\n m.id = this.revisedRandId();\n }\n }\n\n revisedRandId() {\n return Math.random()\n .toString(36)\n .replace(/[^a-z]+/g, \"\");\n }\n\n handleOnChange(\n event: { target: { value: any } },\n id: string | number,\n key: string | number,\n idx: any\n ) {\n const _value = event.target.value;\n this.formGroup.controls[id][\"controls\"][key].patchValue(_value);\n }\n\n toggleShow(id: any) {\n console.log(id);\n }\n\n name = \"Angular \" + VERSION.major;\n menu: Array<IMenu> = [\n {\n title: \"button\",\n key: \"button\",\n component: KwikUIButtonComponent,\n props: this.buttonComponent\n },\n {\n title: \"progress-segmented\",\n key: \"progress_segmented\",\n component: KwikUIProgressSegmentedComponent,\n props: this.progressSegmentedComponent\n },\n {\n title: \"input\",\n key: \"input\",\n component: KwikUIInputComponent,\n props: this.inputComponent\n }\n ];\n table: Array<IMenu> = [];\n\n drop(event: any) {\n // let item = JSON.parse(JSON.stringify(event));\n if (event.previousContainer !== event.container) {\n console.log(\"copying\");\n\n // Clone the item that was dropped.\n let clone = cloneDeep(event.previousContainer.data[event.previousIndex]);\n clone.id = clone.key + \"__\" + this.revisedRandId();\n event.previousContainer.data[event.previousIndex] = clone;\n\n let newFormGroup = new FormGroup({});\n\n const props = clone.props;\n\n Object.keys(props).forEach((key) => {\n newFormGroup.addControl(\n key,\n new FormControl({ value: props[key], disabled: false })\n );\n });\n\n this.formGroup.addControl(clone.id, newFormGroup);\n\n copyArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n console.log(\"moving\");\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n if (event.previousContainer.data) {\n this.menu = this.menu.filter((f) => !f.temp);\n }\n }\n\n exited(event: any) {\n const currentIdx = event.container.data.findIndex(\n (f: { id: any }) => f.id === event.item.data.id\n );\n this.menu.splice(currentIdx + 1, 0, {\n ...event.item.data,\n temp: true\n });\n }\n\n entered() {\n this.menu = this.menu.filter((f) => !f.temp);\n }\n\n isNumber(val: any) {\n return typeof val;\n }\n\n removeElement(idx: number, id: string) {\n this.formGroup.removeControl(id);\n this.table.splice(idx, 1);\n }\n\n getJSON() {\n for (let t of this.table) {\n t.props = this.formGroup.getRawValue()[t.id];\n }\n console.log(this.table);\n }\n}\n","<!-- <div>{{ name }}</div>\n<p>Start editing to see some magic happen :)</p>\n\n<button (click)=\"getJSON()\">Get JSON</button>\n\n<div class=\"drap-copy\">\n <div>\n <ul\n class=\"menu\"\n cdkDropList\n #menuList=\"cdkDropList\"\n [cdkDropListData]=\"menu\"\n cdkDropListSortingDisabled\n [cdkDropListConnectedTo]=\"[tableList]\"\n (cdkDropListDropped)=\"drop($event)\"\n (cdkDropListExited)=\"exited($event)\"\n (cdkDropListEntered)=\"entered()\"\n >\n <li class=\"item\" *ngFor=\"let item of menu\" cdkDrag [cdkDragData]=\"item\">\n <div class=\"item\" *cdkDragPlaceholder>\n <a>{{ item.title }}</a>\n </div>\n <ng-container *ngComponentOutlet=\"item.component\"> </ng-container>\n </li>\n </ul>\n </div>\n\n <div\n class=\"table\"\n cdkDropList\n #tableList=\"cdkDropList\"\n [cdkDropListData]=\"table\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <div class=\"content\">\n <div>\n <div class=\"item\" *ngFor=\"let item of table; let idx = index\" cdkDrag>\n <ng-container *ngComponentOutlet=\"item.component\"> </ng-container>\n <div class=\"item-header\">\n <p>{{ idx }}--{{ item.title }}</p>\n <button (click)=\"removeElement(idx, item.id)\">Remove</button>\n </div>\n <div class=\"desc\">\n <div>id - {{ item.id }}</div>\n <div>key - {{ item.key }}</div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"formModal; context: item\"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-template #formModal let-component=\"component\" let-props=\"props\" let-id=\"id\">\n <div class=\"field_editor\">\n <div *ngFor=\"let i of props | keyvalue; let idx = index\">\n <div class=\"formModalInputGroup\">\n <label>{{ i.key }}</label>\n <input\n value=\"{{ i.value }}\"\n (keyup)=\"handleOnChange($event, id, i.key, idx)\"\n />\n </div>\n </div>\n </div>\n</ng-template> -->\n","import { TAction, TSourceKey } from \"kwikid-toolkit\";\nimport { TMessage } from \"./form-view.commons.definition\";\n\nexport enum EActionKey {\n SET_VALUE = \"SET_VALUE\",\n FIELD_MESSAGE_SHOW = \"FIELD_MESSAGE_SHOW\",\n FIELD_MESSAGES_HIDE = \"FIELD_MESSAGES_HIDE\",\n FIELD_ERROR_SHOW = \"FIELD_ERROR_SHOW\",\n FIELD_ERROR_HIDE = \"FIELD_ERROR_HIDE\",\n FIELD_SHOW = \"FIELD_SHOW\",\n FIELD_HIDE = \"FIELD_HIDE\",\n FIELD_ENABLE = \"FIELD_ENABLE\",\n FIELD_DISABLE = \"FIELD_DISABLE\",\n FIELD_RESET = \"FIELD_RESET\",\n HANDLE_CONNECTED_ELEMENTS = \"HANDLE_CONNECTED_ELEMENTS\",\n CUSTOM = \"CUSTOM\",\n FIELD_GROUP_SHOW = \"FIELD_GROUP_SHOW\",\n FIELD_GROUP_HIDE = \"FIELD_GROUP_HIDE\",\n FIELD_GROUP_ENABLE = \"FIELD_GROUP_ENABLE\",\n FIELD_GROUP_DISABLE = \"FIELD_GROUP_DISABLE\",\n SET_DROPDOWN_OPTIONS = \"SET_DROPDOWN_OPTIONS\"\n}\n\nexport type TActionKey =\n | EActionKey.SET_VALUE\n | EActionKey.FIELD_MESSAGE_SHOW\n | EActionKey.FIELD_MESSAGES_HIDE\n | EActionKey.FIELD_ERROR_SHOW\n | EActionKey.FIELD_ERROR_HIDE\n | EActionKey.FIELD_SHOW\n | EActionKey.FIELD_HIDE\n | EActionKey.FIELD_ENABLE\n | EActionKey.FIELD_DISABLE\n | EActionKey.FIELD_RESET\n | EActionKey.HANDLE_CONNECTED_ELEMENTS\n | EActionKey.CUSTOM\n | EActionKey.FIELD_GROUP_SHOW\n | EActionKey.FIELD_GROUP_HIDE\n | EActionKey.FIELD_GROUP_ENABLE\n | EActionKey.FIELD_GROUP_DISABLE;\n\nexport type TActionSetValue = TAction & {\n key: EActionKey.SET_VALUE;\n props: {\n value: {\n source: {\n key: TSourceKey;\n path?: string;\n value?: any;\n };\n destination: {\n key: TSourceKey;\n path?: string;\n value?: any;\n };\n };\n };\n};\n\nexport type TActionFieldMessageShow = TAction & {\n key: EActionKey.FIELD_MESSAGE_SHOW;\n props: {\n fieldKey: string;\n message: TMessage;\n };\n};\n\nexport type TActionFieldMessageHide = TAction & {\n key: EActionKey.FIELD_MESSAGES_HIDE;\n props: {\n fieldKey: string;\n message: TMessage;\n };\n};\n\nexport type TActionFieldErrorShow = TAction & {\n key: EActionKey.FIELD_ERROR_SHOW;\n props: {\n fieldKey: string;\n message: TMessage;\n };\n};\n\nexport type IFieldErrorHide = TAction & {\n key: EActionKey.FIELD_ERROR_HIDE;\n props: {\n fieldKey: string;\n message: TMessage;\n };\n};\n\nexport type TActionFieldShow = TAction & {\n key: EActionKey.FIELD_SHOW;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFieldHide = TAction & {\n key: EActionKey.FIELD_HIDE;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFieldEnable = TAction & {\n key: EActionKey.FIELD_ENABLE;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFieldDisable = TAction & {\n key: EActionKey.FIELD_DISABLE;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFieldReset = TAction & {\n key: EActionKey.FIELD_RESET;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionHandleConnectedElement = TAction & {\n key: EActionKey.HANDLE_CONNECTED_ELEMENTS;\n props: {\n fieldKey: string;\n };\n};\n","import { TSource, TValidation } from \"kwikid-toolkit\";\n\nexport enum EApiStatusType {\n DEFAULT = \"default\",\n LOADING = \"loading\",\n SUCCESS = \"success\",\n FAILED = \"failed\"\n}\n\nexport type TApiRequestBodyParam = {\n key: string;\n sources: Array<TSource>;\n value: any;\n};\n\nexport type TApiRequestBody = {\n value: any;\n params: Array<TApiRequestBodyParam>;\n validation: TValidation;\n};\n\nexport type TApiRequestHeaders = any;\n\nexport type TApiRequest = {\n url: string;\n headers?: TApiRequestHeaders;\n body: TApiRequestBody;\n};\n\nexport type TApiResponseBody = any;\n\nexport type TApiResponse = {\n is_valid: boolean;\n body: TApiResponseBody;\n validation: TValidation;\n};\n\nexport type TApiStatusType =\n | EApiStatusType.DEFAULT\n | EApiStatusType.LOADING\n | EApiStatusType.SUCCESS\n | EApiStatusType.FAILED;\n\nexport type TApiStatus = {\n value: TApiStatusType;\n labels: {\n default: EApiStatusType.DEFAULT;\n loading: EApiStatusType.LOADING;\n success: EApiStatusType.SUCCESS;\n failed: EApiStatusType.FAILED;\n };\n};\n\nexport type TApi = {\n request: TApiRequest;\n response: TApiResponse;\n status: TApiStatus;\n};\n","export enum EMessageType {\n DEFAULT = \"default\",\n ERROR = \"error\",\n SUCCESS = \"success\",\n WARNING = \"warning\"\n}\nexport type TMessageType =\n | EMessageType.DEFAULT\n | EMessageType.ERROR\n | EMessageType.SUCCESS\n | EMessageType.WARNING;\n\nexport type TMessage = {\n message: string;\n type: TMessageType;\n};\n","import { TAction, TRule, TSource, TValidation } from \"kwikid-toolkit\";\nimport { TApi } from \"./form-view.apis.definition\";\nimport { TMessage } from \"./form-view.commons.definition\";\nimport { TValidator } from \"./form-view.form-validations.definition\";\nimport { TTrigger } from \"./form-view.triggers.definition\";\n\nexport enum EFieldType {\n HTML = \"html\",\n TITLE = \"title\",\n TEXT = \"text\",\n CHECKBOX = \"checkbox\",\n NUMBER = \"number\",\n DATE = \"date\",\n PHONE = \"phone\",\n RADIO = \"radio\",\n DROPDOWN_WITH_SEARCH = \"dropdown-with-search\",\n API_CALL = \"api-call\",\n OTP = \"otp\",\n AADHAAR_NUMBER = \"aadhaar-number\"\n}\n\nexport type TFieldType =\n | EFieldType.HTML\n | EFieldType.TITLE\n | EFieldType.TEXT\n | EFieldType.CHECKBOX\n | EFieldType.NUMBER\n | EFieldType.DATE\n | EFieldType.PHONE\n | EFieldType.RADIO\n | EFieldType.DROPDOWN_WITH_SEARCH\n | EFieldType.API_CALL\n | EFieldType.OTP\n | EFieldType.AADHAAR_NUMBER;\n\nexport type TFieldDropdownWithSearchOption = {\n title: string;\n value: string;\n};\n\nexport type TFieldRadioOption = {\n label: string;\n disabled: boolean;\n};\n\nexport type TFieldDefaultValue = {\n is_found: boolean;\n value: any;\n sources: Array<TSource>;\n};\n\nexport type TFieldDefaultDropdownOptions = {\n triggers: TTrigger[];\n rules: TRule[];\n actions: TAction[];\n};\n\nexport type TFieldDefault = {\n value: TFieldDefaultValue;\n options: TFieldDefaultDropdownOptions;\n};\n\nexport type TFieldProperties = {\n // define the properties that are common to all fields\n};\n\nexport type TFieldTextProperties = TFieldProperties & {\n case: string;\n placeholder: string;\n readOnly: string;\n};\n\nexport type TFieldCheckboxProperties = TFieldProperties & {\n contentAlign: string;\n size: string;\n readOnly: string;\n};\n\nexport type TFieldNumberProperties = TFieldProperties & {\n min: number;\n max: number;\n prefix: number;\n postfix: number;\n precision: number;\n placeholder: string;\n decimal: string;\n readOnly: boolean;\n};\n\nexport type TFieldDateProperties = TFieldProperties & {\n placeholder: string;\n min: {\n year: number;\n month: number;\n day: number;\n };\n max: {\n year: number;\n month: number;\n day: number;\n };\n readOnly: boolean;\n};\n\nexport type TFieldPhoneProperties = TFieldProperties & {\n countryCode: string;\n phoneMaskAfterCountryCode: string;\n removeCountryCodeFromValue: boolean;\n placeholder: string;\n readOnly: boolean;\n};\n\nexport type TFieldRadioProperties = TFieldProperties & {\n size: string;\n orientation: string;\n readOnly: string;\n};\n\nexport type TFieldDropdownWithSearchProperties = TFieldProperties & {\n placeholder: string;\n readOnly: boolean;\n};\n\nexport type TFieldApiCallProperties = TFieldProperties & {};\n\nexport type TFieldOtpProperties = TFieldProperties & {\n placeholder: string;\n mask: string;\n};\n\nexport type TFieldAadhaarNumberProperties = TFieldProperties & {\n mask: string;\n readOnly: string;\n};\n\nexport type TField = {\n label: string;\n type: TFieldType;\n key: string;\n disabled: boolean;\n messages: Array<TMessage>;\n default: TFieldDefault;\n validators: TValidator;\n validation: TValidation;\n properties: TFieldProperties;\n options?: any[];\n};\n\nexport type TFieldTitle = {\n type: TFieldType;\n label: string;\n key: string;\n reset?: {\n fields: Array<{\n fieldKey: string;\n actions: Array<TAction>;\n }>;\n };\n};\n\nexport type TFieldText = TField & {\n properties: TFieldTextProperties;\n};\n\nexport type TFieldCheckbox = TField & {\n properties: TFieldCheckboxProperties;\n};\n\nexport type TFieldNumber = TField & {\n properties: TFieldNumberProperties;\n};\n\nexport type TFieldDate = TField & {\n properties: TFieldDateProperties;\n};\n\nexport type TFieldPhone = TField & {\n properties: TFieldPhoneProperties;\n};\n\nexport type TFieldRadio = TField & {\n options: Array<TFieldRadioOption>;\n properties: TFieldRadioProperties;\n};\n\nexport type TFieldDropdownWithSearch = TField & {\n options: Array<TFieldDropdownWithSearchOption>;\n properties: TFieldDropdownWithSearchProperties;\n};\n\nexport type TFieldApiCall = TField & {\n api: TApi;\n properties: TFieldApiCallProperties;\n};\n\nexport type TFieldOtp = TField & {\n properties: TFieldOtpProperties;\n};\n\nexport type TFieldAadhaarNumber = TField & {\n properties: TFieldAadhaarNumberProperties;\n};\n","import { TuiDay } from \"@taiga-ui/cdk\";\nimport { checkObjectKeyExists, isNotEmptyValue } from \"kwikid-toolkit\";\nimport {\n EFieldType,\n TField,\n TFieldPhone,\n TFieldType\n} from \"../definitions/form-view.fields.definition\";\n\nexport const getFormFieldByKey = (fields: any[], key: string) => {\n const field = fields.find((field) => {\n if (field.key === key) {\n return field;\n }\n });\n\n return field;\n};\n\nexport const getFormFieldIndexByKey = (fields: any[], key: string) => {\n let fieldIndex: number;\n\n fieldIndex = fields.findIndex((_: any) => {\n return key === _.key;\n });\n\n return fieldIndex;\n};\n\nexport const highlightFormFieldError = (field: any, error: any): any => {\n field.invalid = error;\n field.focus = error;\n\n return field;\n};\n\nexport const appendFormFieldMessage = (\n field: any,\n message: { type: string; message: string }\n): any => {\n const hasDuplicateMessage = (\n messages: { type: string; message: string }[],\n message: { type: string; message: string }\n ) => {\n return messages.some((fieldMessage: { type: string; message: string }) => {\n return (\n fieldMessage.type === message.type &&\n fieldMessage.message === message.message\n );\n });\n };\n\n field[\"messages\"] = [];\n\n if (checkObjectKeyExists(field, \"messages\")) {\n if (!hasDuplicateMessage(field[\"messages\"], message)) {\n field[\"messages\"].push({\n type: message.type,\n message: message.message\n });\n }\n } else {\n field[\"messages\"] = [{ type: message.type, message: message.message }];\n }\n\n return field;\n};\n\nexport const removeFormFieldMessage = (\n field: any,\n message: { type: string; message: string }\n): any => {\n field[\"messages\"] = field[\"messages\"].filter(function (fieldMessage) {\n return fieldMessage.type !== message.type;\n });\n\n return field;\n};\n\nexport function showFormFieldError(\n fields: any,\n errors: any,\n key: string,\n error: boolean\n) {\n const fieldIndex = fields.findIndex((field: any) => {\n return field.key === key;\n });\n\n const setErrorMessages = (field: any, errors: any) => {\n const getErrorMessage = (fieldLabel: string, errorType: string) => {\n let errorMessage: string = \"\";\n\n switch (errorType) {\n case \"required\":\n errorMessage = `${fieldLabel} is required!`;\n break;\n case \"email\":\n errorMessage = `${fieldLabel} has wrong email format!`;\n break;\n case \"min\":\n errorMessage = `${fieldLabel} has wrong value! Minimum value: ${field.validators.min}`;\n break;\n case \"minlength\":\n errorMessage = `${fieldLabel} has wrong length! Required minimum length: ${field.validators.minLength}`;\n break;\n case \"max\":\n errorMessage = `${fieldLabel} has wrong value! Maximum value: ${field.validators.maxLength}`;\n break;\n case \"maxlength\":\n errorMessage = `${fieldLabel} has wrong length! Required maximum length: ${field.validators.maxLength}`;\n break;\n case \"areEqual\":\n errorMessage = `${fieldLabel} must be equal!`;\n break;\n case \"pattern\":\n errorMessage = `${fieldLabel} is in incorrect format!`;\n break;\n default:\n errorMessage = `${fieldLabel}: ${errorType}`;\n break;\n }\n\n return errorMessage;\n };\n\n Object.keys(errors).forEach((error) => {\n field = appendFormFieldMessage(field, {\n type: \"error\",\n message: getErrorMessage(field.label, error)\n });\n });\n\n return field;\n };\n\n if (error) {\n fields[fieldIndex] = setErrorMessages(fields[fieldIndex], errors);\n } else {\n fields[fieldIndex][\"messages\"] = [];\n }\n\n fields[fieldIndex] = highlightFormFieldError(fields[fieldIndex], error);\n\n return fields;\n}\n\nexport const convertFormFieldTypeDateToKwikUIFormat = (\n date: string\n): TuiDay => {\n const splitDate = date.split(\"-\");\n const tuiDay = new TuiDay(\n Number(splitDate[2]), // Year\n Number(splitDate[1]) - 1, // Month, Why '-1' => Because Taiga-UI Required It, So...\n Number(splitDate[0]) // Day\n );\n\n return tuiDay;\n};\n\nexport const convertFormFieldTypeDateToStandardFormat = (\n date: TuiDay\n): string => {\n let formattedDate: string;\n let year = date.year;\n let month = date.month;\n let day = date.day;\n\n formattedDate = `${day.toString().padStart(2, \"0\")}-${(month + 1)\n .toString()\n .padStart(2, \"0\")}-${year}`;\n\n return formattedDate;\n};\n\nexport const convertFormFieldValueToStandardFormat = (\n field: TField,\n value: any\n) => {\n let convertedValue: any = value;\n\n if (isNotEmptyValue(value)) {\n switch (field.type) {\n case EFieldType.DATE:\n if (typeof value !== \"string\") {\n convertedValue = convertFormFieldTypeDateToStandardFormat(value);\n }\n break;\n case EFieldType.RADIO:\n convertedValue = value.label;\n case EFieldType.PHONE:\n let phoneField = field as TFieldPhone;\n if (phoneField.properties.removeCountryCodeFromValue) {\n convertedValue = value.replace(phoneField.properties.countryCode, \"\");\n }\n default:\n break;\n }\n }\n\n return convertedValue;\n};\n\nexport const convertFormFieldValueToKwikUIFormat = (\n field: TField,\n value: any\n) => {\n let convertedValue: any = value;\n\n if (isNotEmptyValue(value)) {\n switch (field.type) {\n case EFieldType.RADIO:\n if (!checkObjectKeyExists(value, \"label\")) {\n const radioField = field as any;\n const convertedLabelValue = radioField.options.find((item: any) => {\n return item.label === value;\n });\n convertedValue = convertedLabelValue;\n }\n break;\n case EFieldType.DATE:\n convertedValue = convertFormFieldTypeDateToKwikUIFormat(value);\n break;\n case EFieldType.TITLE:\n break;\n default:\n break;\n }\n } else {\n convertedValue = convertFormFieldEmptyValueToKwikUIFormat(field);\n }\n\n return convertedValue;\n};\n\nexport const convertFormFieldEmptyValueToKwikUIFormat = (\n field: TField\n): any => {\n const fieldType: TFieldType = field.type;\n let value: any;\n\n switch (fieldType) {\n case EFieldType.CHECKBOX:\n value = false;\n break;\n case EFieldType.NUMBER:\n value = null;\n break;\n case EFieldType.DATE:\n value = null;\n break;\n default:\n value = \"\";\n break;\n }\n\n return value;\n};\n","import {\n Action,\n Condition,\n isEmptyValue,\n logMethod,\n Rule,\n setValueToObjectPath,\n Source,\n TAction,\n TRule,\n TValidation\n} from \"kwikid-toolkit\";\nimport { TField } from \"../definitions/form-view.fields.definition\";\nimport { TTrigger } from \"../definitions/form-view.triggers.definition\";\nimport { convertFormFieldEmptyValueToKwikUIFormat } from \"./form-view.fields.helper\";\n\nexport class Defaults {\n private _allFormsData: any;\n private _field: TField;\n private _formFields: any[];\n private _formData: any;\n private _previousFormData: any;\n private _takeAction: Function;\n\n constructor(\n field: TField,\n formFields: any[],\n allFormsData: any,\n formData: any,\n previousFormData: any,\n takeAction: Function\n ) {\n this._field = field;\n this._formFields = formFields;\n this._allFormsData = allFormsData;\n this._formData = formData;\n this._previousFormData = previousFormData;\n this._takeAction = takeAction;\n }\n\n @logMethod\n async getFormFieldValue() {\n let defaultValue: any;\n\n const sources = this._field.default.value.sources;\n\n let sourceIndex = 0;\n for (let source of sources) {\n const sources = new Source({\n FIELD_CONFIG: this._field,\n FORM_FIELDS: this._formFields,\n FORM_DATA: this._formData,\n PREVIOUS_FORM_DATA: this._previousFormData,\n ALL_FORMS_DATA: this._allFormsData\n });\n const value = sources.getValueFromSource(source);\n\n // Set the Value of current source.\n this._field = setValueToObjectPath(\n this._field,\n `default.value.sources.[${sourceIndex}].value`,\n value\n );\n\n const validation: TValidation = (source as any).validation;\n\n const triggers: Array<TTrigger> = validation.triggers;\n const rules: Array<TRule> = validation.rules;\n const actions: Array<TAction> = validation.actions;\n\n const rulesMapping = new Rule(rules, {\n FIELD_CONFIG: this._field,\n FORM_FIELDS: this._formFields,\n FORM_DATA: this._formData,\n PREVIOUS_FORM_DATA: this._previousFormData,\n ALL_FORMS_DATA: this._allFormsData\n }).mapping();\n\n for (let action of actions) {\n const conditionEvaluation = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionEvaluation) {\n const actions = new Action(\n action,\n rulesMapping,\n {\n FIELD_CONFIG: this._field,\n FORM_FIELDS: this._formFields,\n FORM_DATA: this._formData,\n PREVIOUS_FORM_DATA: this._previousFormData,\n ALL_FORMS_DATA: this._allFormsData\n },\n this._takeAction\n );\n\n await actions.execute();\n }\n }\n\n sourceIndex++;\n }\n\n defaultValue = this._field.default.value.value;\n\n if (isEmptyValue(defaultValue)) {\n defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);\n }\n\n return defaultValue;\n }\n\n @logMethod\n async getFormFieldOptions() {\n const optionsConfig = this._field.default.options;\n\n const rules = optionsConfig.rules;\n const actions = optionsConfig.actions;\n\n const rulesMapping = new Rule(rules, {\n FIELD_CONFIG: this._field,\n FORM_FIELDS: this._formFields,\n FORM_DATA: this._formData,\n PREVIOUS_FORM_DATA: this._previousFormData,\n ALL_FORMS_DATA: this._allFormsData\n }).mapping();\n\n for (let action of actions) {\n const conditionEvaluation = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionEvaluation) {\n const actions = new Action(\n action,\n rulesMapping,\n {\n FIELD_CONFIG: this._field,\n FORM_FIELDS: this._formFields,\n FORM_DATA: this._formData,\n PREVIOUS_FORM_DATA: this._previousFormData,\n ALL_FORMS_DATA: this._allFormsData\n },\n this._takeAction\n );\n\n await actions.execute();\n }\n }\n }\n}\n","import {\n FormArray,\n FormGroup,\n ValidationErrors,\n Validators\n} from \"@angular/forms\";\nimport {\n checkObjectKeyExists,\n isNotEmptyValue,\n logMethod,\n PATTERNS\n} from \"kwikid-toolkit\";\n\nexport class FormValidation {\n constructor() {}\n\n @logMethod\n getFormFieldValidators(field: any) {\n let validators = [];\n\n if (\n checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"min\") &&\n isNotEmptyValue(field.validators.min)\n ) {\n validators.push(Validators.min(field.validators.min));\n }\n if (\n checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"max\") &&\n isNotEmptyValue(field.validators.max)\n ) {\n validators.push(Validators.max(field.validators.max));\n }\n if (\n (checkObjectKeyExists(field, \"required\") && field.required) ||\n (checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"required\") &&\n field.validators.required)\n ) {\n validators.push(Validators.required);\n }\n if (\n checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"minLength\") &&\n isNotEmptyValue(field.validators.minLength)\n ) {\n validators.push(Validators.minLength(field.validators.minLength));\n }\n if (\n checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"maxLength\") &&\n isNotEmptyValue(field.validators.maxLength)\n ) {\n validators.push(Validators.maxLength(field.validators.maxLength));\n }\n if (\n checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"pattern\") &&\n isNotEmptyValue(field.validators.pattern)\n ) {\n if (checkObjectKeyExists(field.validators.pattern, \"key\")) {\n if (field.validators.pattern.key === \"CUSTOM\") {\n validators.push(Validators.pattern(field.validators.pattern.pattern));\n } else {\n validators.push(\n Validators.pattern(PATTERNS[field.validators.pattern.key])\n );\n }\n }\n }\n\n return validators;\n }\n\n @logMethod\n getFormFieldsValidationErrors(\n formGroup: FormGroup\n ): { name: string; value: string }[] {\n let errors: { name: string; value: string }[] = [];\n\n for (const key in formGroup.controls) {\n const controlErrors: ValidationErrors = formGroup.controls[key].errors;\n if (controlErrors !== null && controlErrors !== undefined) {\n Object.keys(controlErrors).forEach((keyError) => {\n errors.push({\n name: keyError,\n value: controlErrors[keyError]\n });\n });\n }\n }\n\n return errors;\n }\n\n @logMethod\n getFormFieldsInvalidControls(formToInvestigate: FormGroup | FormArray) {\n var controls: any[] = [];\n\n let recursiveFunc = (form: FormGroup | FormArray) => {\n Object.keys(form.controls).forEach((field: any) => {\n const control = form.get(field);\n if (control.invalid) {\n controls.push({\n key: field,\n invalid: true\n });\n } else {\n controls.push({\n key: field,\n invalid: false\n });\n }\n if (control instanceof FormGroup) {\n recursiveFunc(control);\n } else if (control instanceof FormArray) {\n recursiveFunc(control);\n }\n });\n };\n\n recursiveFunc(formToInvestigate);\n\n return controls;\n }\n}\n","import { FormControl, FormGroup } from \"@angular/forms\";\nimport { checkObjectKeyExists, logMethod } from \"kwikid-toolkit\";\nimport { Defaults } from \"./helpers/form-view.defaults.helper\";\nimport { convertFormFieldValueToKwikUIFormat } from \"./helpers/form-view.fields.helper\";\nimport { FormValidation } from \"./helpers/form-view.form-validations.helper\";\n\nexport class KwikIDFormViewService {\n constructor() {}\n\n // 'init' stage of the form\n @logMethod\n async createFormGroup(\n fields: any,\n formData: any,\n previousFormData: any,\n allFormsData: any,\n takeAction: Function\n ) {\n let formGroup = new FormGroup({});\n\n for (let field of fields) {\n if (field.isFormElement) {\n const defaults = new Defaults(\n field,\n fields,\n allFormsData,\n formData,\n previousFormData,\n takeAction\n );\n let value = await defaults.getFormFieldValue();\n\n if (checkObjectKeyExists(field, \"default\")) {\n if (checkObjectKeyExists(field.default, \"options\")) {\n if (field.default.options.triggers.includes(\"ON_INIT\")) {\n await defaults.getFormFieldOptions();\n }\n }\n }\n\n value = convertFormFieldValueToKwikUIFormat(field, value);\n\n const validators = new FormValidation().getFormFieldValidators(field);\n\n formGroup.addControl(\n field.key,\n new FormControl(\n { value: value, disabled: field.disabled },\n { validators: validators }\n )\n );\n }\n }\n\n return formGroup;\n }\n}\n","import {\n Action,\n Condition,\n logMethod,\n Rule,\n setValueToObjectPath,\n Source,\n TAction,\n TRule,\n TSource,\n TValidation\n} from \"kwikid-toolkit\";\nimport { TApi, TApiRequest, TApiRequestBody, TApiRequestBodyParam, TApiResponse, TApiStatus } from \"../definitions/form-view.apis.definition\";\nimport { TFieldApiCall } from \"../definitions/form-view.fields.definition\";\nimport { TTrigger } from \"../definitions/form-view.triggers.definition\";\n\nexport class Apis {\n private _object: any;\n get object(): any {\n return this._object;\n }\n set object(value: any) {\n this._object = value;\n }\n\n private _takeAction: Function;\n\n private _api: TApi;\n private _request: TApiRequest;\n private _response: TApiResponse;\n private _status: TApiStatus;\n\n constructor(object: any, takeAction: any) {\n this._object = object;\n this._takeAction = takeAction;\n\n this._api = this._object.FIELD_CONFIG.api;\n this._request = this._object.FIELD_CONFIG.api.request;\n this._response = this._object.FIELD_CONFIG.api.response;\n this._status = this._object.FIELD_CONFIG.api.status;\n }\n\n @logMethod\n public async setRequestBody(): Promise<TFieldApiCall> {\n let params: Array<TApiRequestBodyParam> = this._request.body.params;\n\n let paramIndex = 0;\n for (let param of params) {\n let sources: Array<TSource> = param.sources;\n\n let sourceIndex = 0;\n for (let source of sources) {\n const sources = new Source(this._object);\n\n const value = sources.getValueFromSource(source);\n // Set the Value of current source.\n this._object.FIELD_CONFIG = setValueToObjectPath(\n this._object.FIELD_CONFIG,\n `api.request.body.params[${paramIndex}].sources[${sourceIndex}].value`,\n value\n );\n\n const validation: TValidation = (source as any).validation;\n\n const triggers: Array<TTrigger> = validation?.triggers ?? [];\n const rules: Array<TRule> = validation?.rules ?? [];\n const actions: Array<TAction> = (validation as any)?.actions ?? [];\n\n const rulesMapping = new Rule(rules, this._object).mapping();\n\n for (let action of actions) {\n const conditionEvaluation = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionEvaluation) {\n const actions = new Action(\n action,\n rulesMapping,\n this._object,\n this._takeAction\n );\n\n await actions.execute();\n }\n }\n\n sourceIndex++;\n }\n\n paramIndex++;\n }\n\n return this._object.FIELD_CONFIG;\n }\n\n @logMethod\n public async validateRequestBody(): Promise<TFieldApiCall> {\n const body: TApiRequestBody = this._request.body;\n\n const validation: TValidation = body.validation;\n\n const triggers: Array<TTrigger> = validation.triggers;\n const rules: Array<TRule> = validation.rules;\n const actions: Array<TAction> = (validation as any)?.actions;\n\n const rulesMapping = new Rule(rules, this._object).mapping();\n\n for (let action of actions) {\n const conditionSuccess = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionSuccess) {\n const actions = new Action(\n action,\n rulesMapping,\n this._object,\n this._takeAction\n );\n\n await actions.execute();\n }\n }\n\n return this._object.FIELD_CONFIG;\n }\n\n @logMethod\n public async validateResponse(): Promise<TFieldApiCall> {\n const validation: TValidation = this._response.validation;\n\n const triggers: Array<TTrigger> = validation.triggers;\n const rules: Array<TRule> = validation.rules;\n const actions: Array<TAction> = (validation as any).actions;\n\n const rulesMapping = new Rule(rules, this._object).mapping();\n\n for (let action of actions) {\n const conditionSuccess = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionSuccess) {\n const actions = new Action(\n action,\n rulesMapping,\n this._object,\n this._takeAction\n );\n\n await actions.execute();\n }\n }\n\n return this._object.FIELD_CONFIG;\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\n\n/**\n * Generated class for the SafeHtmlPipe pipe.\n *\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\n */\n@Pipe({\n name: \"safeHtml\"\n})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(html) {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { TuiAlertService } from \"@taiga-ui/core\";\nimport { TuiPushService } from \"@taiga-ui/kit\";\nimport {\n Action,\n checkObjectKeyExists,\n Condition,\n getObjectValueFromPath,\n isEmptyValue,\n isNotEmptyValue,\n isUndefined,\n logMethod,\n replaceString,\n Rule,\n Source,\n TAction,\n TValidation,\n Validation\n} from \"kwikid-toolkit\";\nimport { pairwise } from \"rxjs/operators\";\nimport { EActionKey } from \"./definitions/form-view.actions.definition\";\nimport { EApiStatusType } from \"./definitions/form-view.apis.definition\";\nimport {\n EMessageType,\n TMessage\n} from \"./definitions/form-view.commons.definition\";\nimport {\n TFieldApiCall,\n TFieldTitle\n} from \"./definitions/form-view.fields.definition\";\nimport { KwikIDFormViewService } from \"./form-view.service\";\nimport { Apis } from \"./helpers/form-view.apis.helper\";\nimport {\n appendFormFieldMessage,\n convertFormFieldEmptyValueToKwikUIFormat,\n convertFormFieldValueToStandardFormat,\n getFormFieldByKey,\n getFormFieldIndexByKey,\n highlightFormFieldError,\n removeFormFieldMessage,\n showFormFieldError\n} from \"./helpers/form-view.fields.helper\";\nimport { FormValidation } from \"./helpers/form-view.form-validations.helper\";\n\n@Component({\n selector: \"kwikid-form-view\",\n templateUrl: \"./form-view.component.html\",\n styleUrls: [\"./form-view.component.scss\"],\n providers: [KwikIDFormViewService]\n})\nexport class KwikIDFormViewComponent implements OnInit, AfterViewInit {\n @Input()\n formConfig: any;\n\n @Input()\n formData: any;\n\n @Input()\n apiCallResponse: any = {};\n\n @Input()\n isMobileView: boolean = false;\n\n @Input()\n allFormsData: any;\n\n @Input()\n formsList: any[];\n\n @Output()\n onClickViewForms: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickSaveForm: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickApiCall: EventEmitter<any> = new EventEmitter<any>();\n\n fieldGroups: any = {};\n formFields: any[] = [];\n previousFormData: any = {};\n\n loading: boolean = true;\n viewFormsButton = {\n disabled: false,\n showLoader: false\n };\n saveFormButton = {\n disabled: false,\n showLoader: false\n };\n\n formGroup: FormGroup = new FormGroup({});\n\n constructor(\n @Inject(TuiPushService) protected readonly push: TuiPushService,\n @Inject(TuiAlertService) protected readonly alert: TuiAlertService,\n private formViewService: KwikIDFormViewService\n ) {}\n\n @logMethod\n ngOnInit(): void {\n (async () => {\n this.formsList = this.formsList.filter((form) => {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n\n await this.initFormConfig(this.formConfig);\n\n this.loading = false;\n })();\n }\n\n @logMethod\n ngAfterViewInit(): void {}\n\n @logMethod\n ngOnChanges(changes: SimpleChanges): void {\n const verifyChange = (key: string) => {\n return checkObjectKeyExists(changes, key) && !changes[key].firstChange;\n };\n if (verifyChange(\"formData\")) {\n this.formData = {\n ...this.formData,\n ...changes.formData.currentValue\n };\n }\n if (verifyChange(\"apiCallResponse\")) {\n this.apiCallResponse = changes.apiCallResponse.currentValue;\n\n this.formData = {\n ...this.formData,\n [this.apiCallResponse.key]: this.apiCallResponse.response\n };\n\n this.formGroup.patchValue(\n {\n [this.apiCallResponse.key]: this.apiCallResponse.response\n },\n { emitEvent: false }\n );\n\n let field: TFieldApiCall = getFormFieldByKey(\n this.formFields,\n this.apiCallResponse.key\n );\n\n const apis = new Apis(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n field = await apis.validateResponse();\n })();\n }\n if (verifyChange(\"isMobileView\")) {\n this.isMobileView = changes.isMobileView.currentValue;\n }\n if (verifyChange(\"allFormsData\")) {\n this.allFormsData = changes.allFormsData.currentValue;\n }\n if (verifyChange(\"formsList\")) {\n this.formsList = changes.formsList.currentValue.filter((form) => {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n }\n if (verifyChange(\"formConfig\")) {\n this.formConfig = changes.formConfig.currentValue;\n\n (async () => {\n await this.initFormConfig(this.formConfig);\n })();\n }\n }\n\n @logMethod\n async initFormConfig(formConfig: any) {\n this.setFormFieldsFromFormConfig(formConfig);\n\n this.setFormFieldGroupsFromFormConfig(formConfig);\n\n this.setFormDataFromAllFormsData();\n\n this.formGroup = await this.formViewService.createFormGroup(\n this.formFields,\n this.formData,\n this.previousFormData,\n this.allFormsData,\n this.takeAction.bind(this)\n );\n\n for (let field of this.formFields) {\n if (field.isFormElement) {\n this.previousFormData = {\n ...this.previousFormData,\n [field.key]: this.formGroup.controls[field.key].value\n };\n\n this.formGroup.controls[field.key].valueChanges\n .pipe(pairwise())\n .subscribe(([previousValue, currentValue]) => {\n this.previousFormData = {\n ...this.previousFormData,\n [field.key]: convertFormFieldValueToStandardFormat(\n field,\n previousValue\n )\n };\n\n this.formData = {\n ...this.formData,\n [field.key]: convertFormFieldValueToStandardFormat(\n field,\n currentValue\n )\n };\n });\n }\n }\n\n for (let field of this.formFields) {\n if (field.isFormElement) {\n if (field.validation.triggers.includes(\"ON_INIT\")) {\n const validations = new Validation(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await validations.validate(field.validation);\n }\n\n if (checkObjectKeyExists(field, \"connectedElements\")) {\n this.handleConnectedElements(\n {\n key: field.key,\n value: this.formGroup.controls[field.key].value\n },\n \"ON_INIT\"\n );\n }\n }\n }\n }\n\n @logMethod\n setFormFieldsFromFormConfig(formConfig: any) {\n if (checkObjectKeyExists(formConfig, \"fields\")) {\n this.formFields = formConfig.fields;\n } else if (\n checkObjectKeyExists(formConfig, \"multiForm\") &&\n checkObjectKeyExists(formConfig.multiForm, \"fields\")\n ) {\n this.formFields = formConfig.multiForm.fields;\n }\n }\n\n @logMethod\n setFormFieldGroupsFromFormConfig(formConfig: any) {\n this.fieldGroups = formConfig.fieldGroups;\n }\n\n @logMethod\n setFormDataFromAllFormsData() {\n if (checkObjectKeyExists(this.allFormsData, this.formConfig.key)) {\n this.formData = this.allFormsData[this.formConfig.key];\n } else {\n this.formData = {};\n }\n }\n\n @logMethod\n async handleConnectedElementFieldGroupActions(\n childFieldGroupConfig: any,\n parentField: any\n ) {\n if (checkObjectKeyExists(childFieldGroupConfig, \"rules\")) {\n const rulesMapping = new Rule(childFieldGroupConfig.rules, {\n FIELD_CONFIG: parentField,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n }).mapping();\n\n for (let action of childFieldGroupConfig.actions) {\n const conditionSuccess = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionSuccess) {\n const actions = new Action(\n action,\n rulesMapping,\n {\n FIELD_CONFIG: parentField,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeActionOnFieldGroup.bind(this)\n );\n\n await actions.execute();\n }\n }\n }\n }\n\n @logMethod\n async handleConnectedElementFieldGroup(\n currentField: any,\n connectedFieldGroupConfig: any,\n eventType: string\n ) {\n if (checkObjectKeyExists(connectedFieldGroupConfig, \"triggers\")) {\n if (connectedFieldGroupConfig.triggers.includes(eventType)) {\n await this.handleConnectedElementFieldGroupActions(\n connectedFieldGroupConfig,\n currentField\n );\n }\n }\n }\n\n @logMethod\n async handleConnectedElementFieldActions(\n connectedFieldConfig: any,\n connectedField: any\n ) {\n if (checkObjectKeyExists(connectedFieldConfig, \"rules\")) {\n const rulesMapping = new Rule(connectedFieldConfig.rules, {\n FIELD_CONFIG: connectedField,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n }).mapping();\n\n for (let action of connectedFieldConfig.actions) {\n const conditionSuccess = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionSuccess) {\n const actions = new Action(\n action,\n rulesMapping,\n {\n FORM_FIELDS: this.formFields,\n FIELD_CONFIG: connectedField,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await actions.execute();\n }\n }\n }\n\n return connectedField;\n }\n\n @logMethod\n async handleConnectedElementFields(\n currentField: any,\n connectedFieldConfig: any,\n eventType: string,\n nested: string\n ) {\n let connectedField = getFormFieldByKey(\n this.formFields,\n connectedFieldConfig[\"key\"]\n );\n\n if (checkObjectKeyExists(connectedFieldConfig, \"triggers\")) {\n if (connectedFieldConfig.triggers.includes(eventType)) {\n connectedField = await this.handleConnectedElementFieldActions(\n connectedFieldConfig,\n connectedField\n );\n }\n }\n if (checkObjectKeyExists(connectedFieldConfig, \"handleNestedFields\")) {\n if (connectedFieldConfig.handleNestedFields) {\n this.handleConnectedElements(\n { key: connectedFieldConfig.key },\n eventType\n );\n }\n }\n return currentField;\n }\n\n @logMethod\n async handleConnectedElements(e: any, eventType: string) {\n let currentField = getFormFieldByKey(this.formFields, e.key);\n\n if (currentField !== undefined) {\n if (checkObjectKeyExists(currentField, \"connectedElements\")) {\n if (\n checkObjectKeyExists(\n currentField.connectedElements,\n \"connectedFieldGroups\"\n )\n ) {\n let connectedFieldGroups =\n currentField.connectedElements.connectedFieldGroups;\n for (let connectedFieldGroupConfig of connectedFieldGroups) {\n await this.handleConnectedElementFieldGroup(\n currentField,\n connectedFieldGroupConfig,\n eventType\n );\n }\n }\n if (\n checkObjectKeyExists(\n currentField.connectedElements,\n \"connectedFields\"\n )\n ) {\n let connectedFields = currentField.connectedElements.connectedFields;\n for (let connectedFieldConfig of connectedFields) {\n currentField = await this.handleConnectedElementFields(\n currentField,\n connectedFieldConfig,\n eventType,\n eventType\n );\n }\n }\n }\n } else {\n throw new Error(\n `Field for the given key ['${e.key}'] is not found with eventType: '${eventType}'.`\n );\n }\n }\n\n // DOM Event Handlers\n @logMethod\n handleGetKeyValue(e: any) {\n this.formGroup.patchValue(\n {\n [e.key]: e.value\n },\n { emitEvent: false }\n );\n\n const field = getFormFieldByKey(this.formFields, e.key);\n this.formData[e.key] = convertFormFieldValueToStandardFormat(\n field,\n e.value\n );\n\n if (\n field.isFormElement &&\n field.validation.triggers.includes(\"ON_CHANGE\")\n ) {\n const validations = new Validation(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n await validations.validate(field.validation);\n })();\n }\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"connectedElements\")\n ) {\n this.handleConnectedElements(\n {\n key: field.key,\n value: this.formGroup.controls[field.key].value\n },\n \"ON_CHANGE\"\n );\n }\n }\n\n @logMethod\n async handleOnClickResetFormFields(e: any, field: TFieldTitle) {\n for (let f of field.reset.fields) {\n for (let action of f.actions) {\n const resetField = getFormFieldByKey(\n this.formFields,\n action.props.fieldKey\n );\n const actions = new Action(\n action,\n {},\n {\n FIELD_CONFIG: resetField,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n await actions.execute();\n }\n }\n }\n\n @logMethod\n async handleOnClickApiCall(e: any) {\n let field: TFieldApiCall = getFormFieldByKey(this.formFields, e.key);\n\n if (field.type === \"api-call\") {\n // set button status to loading\n field[\"api\"][\"status\"][\"value\"] = EApiStatusType.LOADING;\n field[\"showLoader\"] = true;\n this.viewFormsButton[\"disabled\"] = true;\n this.viewFormsButton[\"showLoader\"] = true;\n this.saveFormButton[\"disabled\"] = true;\n this.saveFormButton[\"showLoader\"] = true;\n\n const apis = new Apis(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n field = await apis.setRequestBody();\n\n field = await apis.validateRequestBody();\n\n if (\n (\n field.api.request.body.validation as TValidation & {\n is_valid: boolean;\n }\n ).is_valid\n ) {\n // Call API Here\n this.onClickApiCall.emit({\n key: e.key,\n request: {\n mode: \"POST\",\n body: field.api.request.body.value,\n headers: {},\n url: field.api.request.url\n }\n });\n } else {\n // Request Body Validation Failed\n // Highlight Error in UI to User to Retry After Sometime.\n // Take Action based on Validation\n setTimeout(() => {\n field[\"api\"][\"status\"][\"value\"] = EApiStatusType.FAILED;\n field[\"showLoader\"] = false;\n }, 500);\n }\n\n this.viewFormsButton[\"disabled\"] = false;\n this.viewFormsButton[\"showLoader\"] = false;\n this.saveFormButton[\"disabled\"] = false;\n this.saveFormButton[\"showLoader\"] = false;\n }\n }\n\n @logMethod\n handleOnClickViewForms(e: any) {\n this.onClickViewForms.emit({\n clicked: true\n });\n }\n\n @logMethod\n async handleOnClickSaveForm(e: any) {\n let formData = this.formGroup.getRawValue();\n\n for (let field of this.formFields) {\n if (field.isFormElement) {\n if (field.hidden) {\n delete formData[field.key];\n } else {\n formData[field.key] = convertFormFieldValueToStandardFormat(\n field,\n formData[field.key]\n );\n }\n }\n }\n\n if (this.formGroup.invalid) {\n const controls = new FormValidation().getFormFieldsInvalidControls(\n this.formGroup\n );\n\n let firstFieldWithError: string = \"\";\n\n for (let control of controls) {\n if (control.invalid && isEmptyValue(firstFieldWithError)) {\n firstFieldWithError = control.key;\n }\n this.formFields = showFormFieldError(\n this.formFields,\n this.formGroup.controls[control.key].errors,\n control.key,\n control.invalid\n );\n }\n\n this.toggleErrorNotification(true);\n setTimeout(() => {\n this.toggleErrorNotification(false);\n }, 3000);\n\n return;\n }\n\n for (let field of this.formFields) {\n if (\n field.isFormElement &&\n field.validation.triggers.includes(\"ON_SAVE\")\n ) {\n const validations = new Validation(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await validations.validate(field.validation);\n\n if (!field.validation.is_valid) {\n this.toggleErrorNotification(true);\n setTimeout(() => {\n this.toggleErrorNotification(false);\n }, 3000);\n\n return;\n }\n }\n }\n\n Object.keys(formData).map((key) => {\n if (isEmptyValue(formData[key])) {\n formData[key] = \"\";\n }\n });\n\n this.onClickSaveForm.emit({ formConfig: this.formConfig, data: formData });\n }\n\n showErrorNotification: boolean = false;\n @logMethod\n toggleErrorNotification(show) {\n this.showErrorNotification = show;\n }\n\n // Component Helpers\n @logMethod\n fieldHide(fieldKey: string) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n this.formFields[fieldIndex][\"hidden\"] = true;\n this.formGroup.updateValueAndValidity();\n }\n\n @logMethod\n fieldGroupHide(fieldGroup: string) {\n for (let fieldKey of this.fieldGroups[fieldGroup]) {\n this.fieldHide(fieldKey);\n }\n }\n\n @logMethod\n fieldShow(fieldKey: string) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n this.formFields[fieldIndex][\"hidden\"] = false;\n this.formGroup.updateValueAndValidity();\n }\n\n @logMethod\n fieldGroupShow(fieldGroup: string) {\n for (let fieldKey of this.fieldGroups[fieldGroup]) {\n this.fieldShow(fieldKey);\n }\n }\n\n @logMethod\n fieldDisable(fieldKey: string) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n if (field.isFormElement) {\n this.formFields[fieldIndex][\"disabled\"] = true;\n\n if (isNotEmptyValue(this.formGroup.controls)) {\n this.formGroup.controls[field.key].disable({\n emitEvent: false\n });\n }\n this.formGroup.updateValueAndValidity();\n }\n }\n\n @logMethod\n fieldGroupDisable(fieldGroup: string) {\n for (let fieldKey of this.fieldGroups[fieldGroup]) {\n this.fieldDisable(fieldKey);\n }\n }\n\n @logMethod\n fieldEnable(fieldKey: string) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n if (field.isFormElement) {\n this.formFields[fieldIndex][\"disabled\"] = false;\n\n if (isNotEmptyValue(this.formGroup.controls)) {\n this.formGroup.controls[field.key].enable({\n emitEvent: false\n });\n }\n this.formGroup.updateValueAndValidity();\n }\n }\n\n @logMethod\n fieldGroupEnable(fieldGroup: string) {\n for (let fieldKey of this.fieldGroups[fieldGroup]) {\n this.fieldEnable(fieldKey);\n }\n }\n\n @logMethod\n fieldReset(fieldKey: string) {\n // Find the field and its index in the formFields array\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = getFormFieldIndexByKey(this.formFields, fieldKey);\n\n // Delete the field from the formData object\n delete this.formData[fieldKey];\n\n // Reset the value of the field in the formGroup\n this.formGroup.controls[field.key].reset(\n convertFormFieldEmptyValueToKwikUIFormat(field),\n {\n emitEvent: false\n }\n );\n\n // Reset the messages and errors for the field\n field = removeFormFieldMessage(field, {\n type: EMessageType.WARNING,\n message: \"\"\n });\n field = removeFormFieldMessage(field, {\n type: EMessageType.SUCCESS,\n message: \"\"\n });\n this.fieldErrorHide(fieldKey, {\n type: EMessageType.ERROR,\n message: \"\"\n });\n\n // Reset the value of the field in the formFields array\n switch (field.type) {\n case \"api-call\":\n const fieldApiCall = field as TFieldApiCall;\n fieldApiCall.api.status.value = EApiStatusType.DEFAULT;\n this.formFields[fieldIndex] = fieldApiCall;\n break;\n default:\n field.focus = false;\n field.invalid = false;\n this.formFields[fieldIndex] = field;\n break;\n }\n }\n\n @logMethod\n fieldErrorShow(fieldKey: string, message: TMessage) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n field = highlightFormFieldError(field, true);\n field = appendFormFieldMessage(field, message);\n\n this.formFields[fieldIndex] = field;\n }\n\n @logMethod\n fieldErrorHide(fieldKey: string, message: TMessage) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n field = highlightFormFieldError(field, false);\n field = removeFormFieldMessage(field, message);\n\n this.formFields[fieldIndex] = field;\n }\n\n @logMethod\n fieldMessageShow(fieldKey: string, message: TMessage) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n field = appendFormFieldMessage(field, message);\n\n this.formFields[fieldIndex] = field;\n }\n\n @logMethod\n fieldMessageHide(fieldKey: string, message: TMessage) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n field = removeFormFieldMessage(field, message);\n\n this.formFields[fieldIndex] = field;\n }\n\n @logMethod\n setObjectValue(field: any, path: string, value: any) {}\n\n @logMethod\n patchFieldControlValue(key: string, value: any) {\n this.formGroup.patchValue(\n {\n [key]: value\n },\n { emitEvent: false }\n );\n }\n\n @logMethod\n patchFormGroup(formData: any) {\n if (isUndefined(this.formGroup) || isUndefined(formData)) {\n throw new Error(`formGroup or formData is 'undefined'.`);\n } else {\n this.formGroup.patchValue(formData, { emitEvent: false });\n }\n }\n\n @logMethod\n isFieldValid(fieldKey: string) {\n return this.formGroup.controls[fieldKey].valid;\n }\n\n @logMethod\n isFieldEnabled(fieldKey: string) {\n return this.formGroup.controls[fieldKey].enabled;\n }\n\n @logMethod\n getFormGroupRawValues() {\n return this.formGroup.getRawValue();\n }\n\n @logMethod\n async takeActionOnFieldGroup(action: TAction, object: any) {\n switch (action.key) {\n case EActionKey.FIELD_GROUP_HIDE:\n this.fieldGroupHide(action.props.groupKey);\n break;\n case EActionKey.FIELD_GROUP_SHOW:\n this.fieldGroupShow(action.props.groupKey);\n break;\n case EActionKey.FIELD_GROUP_ENABLE:\n this.fieldGroupEnable(action.props.groupKey);\n break;\n case EActionKey.FIELD_GROUP_DISABLE:\n this.fieldGroupDisable(action.props.groupKey);\n break;\n default:\n break;\n }\n }\n\n @logMethod\n async takeAction(action: TAction, object: any) {\n switch (action.key) {\n case EActionKey.FIELD_HIDE:\n this.fieldHide(action.props.fieldKey);\n break;\n case EActionKey.FIELD_SHOW:\n this.fieldShow(action.props.fieldKey);\n break;\n case EActionKey.FIELD_DISABLE:\n this.fieldDisable(action.props.fieldKey);\n break;\n case EActionKey.FIELD_ENABLE:\n this.fieldEnable(action.props.fieldKey);\n break;\n case EActionKey.FIELD_RESET:\n this.fieldReset(action.props.fieldKey);\n break;\n case EActionKey.FIELD_ERROR_SHOW:\n this.fieldErrorShow(action.props.fieldKey, action.props.message);\n break;\n case EActionKey.FIELD_ERROR_HIDE:\n this.fieldErrorHide(action.props.fieldKey, action.props.message);\n break;\n case EActionKey.FIELD_MESSAGE_SHOW:\n this.fieldMessageShow(action.props.fieldKey, action.props.message);\n break;\n case EActionKey.FIELD_MESSAGES_HIDE:\n this.fieldMessageHide(action.props.fieldKey, action.props.message);\n break;\n case EActionKey.SET_VALUE:\n const setValue_Sources = new Source(object);\n\n const sourceValue = await setValue_Sources.getValueFromSource(\n action.props.value.source\n );\n setValue_Sources.setValueToSource(\n action.props.value.destination,\n sourceValue\n );\n\n object.FIELD_CONFIG = setValue_Sources.object.FIELD_CONFIG;\n this.formData = setValue_Sources.object.FORM_DATA;\n this.patchFormGroup(this.formData);\n this.allFormsData = setValue_Sources.object.ALL_FORMS_DATA;\n this.previousFormData = setValue_Sources.object.PREVIOUS_FORM_DATA;\n break;\n case EActionKey.SET_DROPDOWN_OPTIONS:\n const setDropdownValue_Sources = new Source(object);\n\n let dropdownValue = await setDropdownValue_Sources.getValueFromSource(\n action.props.value.source\n );\n if (checkObjectKeyExists(action.props, \"options\")) {\n if (checkObjectKeyExists(action.props.options, \"appendToPath\")) {\n let appendToPath =\n await setDropdownValue_Sources.getValueFromSource(\n action.props.options.appendToPath.source\n );\n if (isNotEmptyValue(appendToPath)) {\n const appendToPathStr = replaceString(\n appendToPath.match(\n `${action.props.options.appendToPath.filterSourceValue}`\n )[0],\n \"[^a-zA-Z0-9_]\",\n \"_\"\n );\n\n const optionsPath = `${action.props.options.path}${appendToPathStr}`;\n dropdownValue = getObjectValueFromPath(\n dropdownValue,\n optionsPath\n );\n }\n } else {\n dropdownValue = getObjectValueFromPath(\n dropdownValue,\n action.props.options.path\n );\n }\n }\n\n setDropdownValue_Sources.setValueToSource(\n action.props.value.destination,\n dropdownValue\n );\n\n object.FIELD_CONFIG = setDropdownValue_Sources.object.FIELD_CONFIG;\n this.formData = setDropdownValue_Sources.object.FORM_DATA;\n this.allFormsData = setDropdownValue_Sources.object.ALL_FORMS_DATA;\n this.previousFormData =\n setDropdownValue_Sources.object.PREVIOUS_FORM_DATA;\n break;\n case EActionKey.HANDLE_CONNECTED_ELEMENTS:\n this.handleConnectedElements(\n { key: action.props.fieldKey },\n \"ON_ACTION\"\n );\n break;\n case EActionKey.CUSTOM:\n break;\n default:\n break;\n }\n }\n}\n","<div\n class=\"kwikid-form-container\"\n *ngIf=\"!loading\"\n>\n <div id=\"uf-form-fields-header-container\">\n <div id=\"uf-form-fields-title\">\n {{ formConfig.title }}\n </div>\n <div id=\"uf-form-fields-steps\">\n Step {{ formConfig.sequenceNo }} of {{ formsList.length }}\n </div>\n <hr />\n </div>\n <form\n class=\"kwikid-form show\"\n [formGroup]=\"formGroup\"\n >\n <ng-container *ngFor=\"let field of formFields; let i = index\">\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | safeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n label=\"Reset\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [type]=\"'text'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox-block\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.properties?.placeholder\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size ?? 'l'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox-block\n ><kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-number\n [decimal]=\"field?.properties?.decimal\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix ?? ''\"\n [precision]=\"field?.properties?.precision\"\n [prefix]=\"field?.properties?.prefix ?? ''\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-number\n ><kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-date\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-date>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-phone\n [countryCode]=\"field?.properties?.countryCode\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [phoneMaskAfterCountryCode]=\"\n field?.properties?.phoneMaskAfterCountryCode\n \"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-phone>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-radio-list\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.options\"\n [label]=\"field?.label\"\n [orientation]=\"field?.properties?.orientation\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-radio-list>\n </label>\n <ng-template #labelTemplate>\n <p\n class=\"tui-space_bottom-2\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\"></span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Dropdown -->\n <ng-container *ngSwitchCase=\"'dropdown-with-search'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-select-combobox\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [options]=\"field.options\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-select-combobox>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- API Call -->\n <ng-container *ngSwitchCase=\"'api-call'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [showLoader]=\"field?.disabled === 'loading'\"\n shape=\"null\"\n size=\"m\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickApiCall($event)\"\n ></kwikui-button-api-call>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Mobile OTP -->\n <ng-container *ngSwitchCase=\"'otp'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-otp\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-otp>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Aadhaar Number -->\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-aadhaar\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-aadhaar>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </form>\n <div class=\"kwikid-form-buttons\">\n <kwikui-button\n *ngIf=\"isMobileView\"\n [disabled]=\"viewFormsButton.disabled\"\n id=\"\"\n label=\"View Forms\"\n [showLoader]=\"viewFormsButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"secondary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n [disabled]=\"saveFormButton.disabled\"\n id=\"\"\n label=\"Save\"\n [showLoader]=\"saveFormButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"loading\"\n>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n</div>\n<tui-push\n id=\"field-error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Missing/Incorrect Fields!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconCancel\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { checkObjectKeyExists, logMethod } from \"kwikid-toolkit\";\n\n@Component({\n selector: \"kwikid-forms-list\",\n templateUrl: \"./forms-list.component.html\",\n styleUrls: [\"./forms-list.component.scss\"]\n})\nexport class KwikIDFormsListComponent implements OnInit, OnChanges {\n @Input()\n showFormFields: any = {};\n\n @Input()\n userConfig: any = {};\n\n @Input()\n formsList: any[] = [];\n\n @Input()\n formsListCompleted: any[] = [];\n\n @Input()\n isMobileView: boolean = false;\n\n @Output()\n onClickSetActiveForm: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickHideFormsList: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickSubmitForms = new EventEmitter<any>();\n\n selectedForm: string = \"\";\n\n isAllFormsCompleted: boolean = true;\n\n constructor() {}\n\n ngOnInit(): void {\n this.formsList = this.formsList.filter((form) => {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);\n }\n\n @logMethod\n ngOnChanges(changes: SimpleChanges): void {\n const verifyChange = (key: string) => {\n return checkObjectKeyExists(changes, key) && !changes[key].firstChange;\n };\n if (verifyChange(\"showFormFields\")) {\n this.showFormFields = changes.showFormFields.currentValue;\n }\n if (verifyChange(\"formsList\")) {\n this.formsList = changes.formsList.currentValue.filter((form) => {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);\n }\n if (verifyChange(\"isMobileView\")) {\n this.isMobileView = changes.isMobileView.currentValue;\n }\n }\n\n checkIsAllFormsCompleted(formsList: any[]): boolean {\n let isAllFormsCompleted: boolean = true;\n\n for (let forms of formsList) {\n if (forms.status !== \"completed\") {\n isAllFormsCompleted = false;\n break;\n }\n }\n\n return isAllFormsCompleted;\n }\n\n handleOnClickSetActiveForm(selectedForm: string) {\n if (\n this.selectedForm !== selectedForm ||\n (this.isAllFormsCompleted && !this.showFormFields)\n ) {\n this.selectedForm = selectedForm;\n this.onClickSetActiveForm.emit(selectedForm);\n }\n }\n\n handleOnSubmitForms(e: any) {\n this.onClickSubmitForms.emit(e);\n }\n}\n","<div id=\"sidebar-container\">\n <div id=\"sidebar\">\n <div ngClass=\"kwikid-form-header\">\n <div id=\"uf-header\">\n <div id=\"uf-header-logo-container\">\n <img\n id=\"uf-header-logo\"\n src=\"{{ this.userConfig.theme.clientLogo }}\"\n [ngClass]=\"'large-icon'\"\n />\n </div>\n </div>\n <hr />\n </div>\n <div id=\"uf-progress\">\n <div id=\"uf-progress-steps\">\n {{ this.formsListCompleted.length }} / {{ this.formsList.length }} Steps\n Completed\n </div>\n <kwikui-progress-segmented\n [max]=\"this.formsList.length\"\n size=\"m\"\n [value]=\"this.formsListCompleted.length\"\n ></kwikui-progress-segmented>\n </div>\n <div id=\"uf-sections-container\">\n <div\n *ngFor=\"let form of formsList; let i = index\"\n [class]=\"'uf-section-item'\"\n [class.completed]=\"form.status === 'completed' && !form.disabled\"\n [class.edit]=\"form.status === 'editable' && !form.disabled\"\n [class.locked]=\"form.status === 'locked' && form.disabled\"\n (click)=\"\n form.status === 'locked' && form.disabled\n ? undefined\n : handleOnClickSetActiveForm(form.key)\n \"\n >\n <div class=\"uf-form-section-card-title\">\n {{ form.title }}\n </div>\n <div class=\"uf-form-section-card-action\">\n <div\n *ngIf=\"form.status === 'completed' && !form.disabled\"\n class=\"uf-form-section-card-action-img completed\"\n >\n <tui-svg src=\"tuiIconCheckLarge\"></tui-svg>\n </div>\n <div\n *ngIf=\"form.status !== 'completed' && !form.disabled\"\n class=\"uf-form-section-card-action-img edit\"\n >\n <tui-svg src=\"tuiIconEdit\"></tui-svg>\n </div>\n <div\n *ngIf=\"form.status !== 'completed' && form.disabled\"\n class=\"uf-form-section-card-action-img locked\"\n >\n <tui-svg src=\"tuiIconLock\"></tui-svg>\n </div>\n </div>\n </div>\n </div>\n <div id=\"submit-sidebar-btn-container\">\n <kwikui-button\n [disabled]=\"false\"\n id=\"\"\n label=\"Submit\"\n [showLoader]=\"false\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnSubmitForms($event)\"\n ></kwikui-button>\n </div>\n </div>\n</div>\n","import { TAction, TSourceKey } from \"kwikid-toolkit\";\n\nexport enum ERendererActionKey {\n SET_VALUE = \"SET_VALUE\",\n FORM_HIDE = \"FORM_HIDE\",\n FORM_SHOW = \"FORM_SHOW\",\n FORM_DISABLE = \"FORM_DISABLE\",\n FORM_ENABLE = \"FORM_ENABLE\"\n}\n\nexport type TActionKey =\n | ERendererActionKey.SET_VALUE\n | ERendererActionKey.FORM_HIDE\n | ERendererActionKey.FORM_SHOW\n | ERendererActionKey.FORM_DISABLE\n | ERendererActionKey.FORM_ENABLE;\n\nexport type TActionSetValue = TAction & {\n key: ERendererActionKey.SET_VALUE;\n props: {\n value: {\n source: {\n key: TSourceKey;\n path?: string;\n value?: any;\n };\n destination: {\n key: TSourceKey;\n path?: string;\n value?: any;\n };\n };\n };\n};\n\nexport type TActionFormShow = TAction & {\n key: ERendererActionKey.FORM_SHOW;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFormHide = TAction & {\n key: ERendererActionKey.FORM_HIDE;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFormEnable = TAction & {\n key: ERendererActionKey.FORM_ENABLE;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFormDisable = TAction & {\n key: ERendererActionKey.FORM_DISABLE;\n props: {\n fieldKey: string;\n };\n};\n","import { TuiDay } from \"@taiga-ui/cdk\";\nimport {\n checkObjectKeyExists,\n isEmptyValue,\n isNotEmptyValue, logMethod\n} from \"kwikid-toolkit\";\nimport { convertFormFieldTypeDateToKwikUIFormat } from \"./form-view/helpers/form-view.fields.helper\";\n\nexport class Converter {\n getFormFields = (formConfig: any): any[] => {\n let fields: any[];\n\n if (checkObjectKeyExists(formConfig, \"multiForm\")) {\n fields = formConfig.multiForm.fields;\n } else {\n fields = formConfig.fields;\n }\n\n return fields;\n };\n\n setMissingFieldKeyValue = (field: any, key: string, value: any): any => {\n if (!checkObjectKeyExists(field, key)) {\n field[key] = value;\n }\n return field;\n };\n\n setFieldKeyValue = (field: any, key: string, value: any): any => {\n field[key] = value;\n\n return field;\n };\n\n removeFieldKey = (field: any, key: string): any => {\n if (checkObjectKeyExists(field, key)) {\n delete field[key];\n }\n\n return field;\n };\n\n @logMethod\n convertFormConfig(formConfig: any): any {\n const updateOnFieldType = (field: any): any => {\n const formatFieldTypeHtml = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", false);\n\n return field;\n };\n const formatFieldTypeTitle = (field: any): any => {\n field = this.setFieldKeyValue(field, \"hidden\", false);\n field = this.setFieldKeyValue(field, \"isFormElement\", false);\n\n return field;\n };\n const formatFieldTypeText = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"case\",\n \"default\"\n );\n return field;\n };\n const formatFieldTypeCheckbox = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n return field;\n };\n const formatFieldTypeNumber = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n if (checkObjectKeyExists(field, \"key\")) {\n if (field.key === \"aadhaar_number\") {\n field = this.setFieldKeyValue(field, \"type\", \"aadhaar_number\");\n }\n if (field.key === \"contact_number\") {\n field = this.setFieldKeyValue(field, \"type\", \"phone\");\n }\n\n if (field.type === \"phone\" || field.type === \"number\") {\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"countryCode\",\n \"+91\"\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"phoneMaskAfterCountryCode\",\n \"####-######\"\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"removeCountryCodeFromValue\",\n true\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"decimal\",\n \"never\"\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"prefix\",\n \"\"\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"postfix\",\n \"\"\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"min\",\n -Infinity\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"max\",\n Infinity\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"precision\",\n 2\n );\n }\n }\n\n field = this.setFieldKeyValue(field, \"hidden\", false);\n\n return field;\n };\n const formatFieldTypeDate = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n if (checkObjectKeyExists(field, \"min\")) {\n const tuiDay = convertFormFieldTypeDateToKwikUIFormat(field[\"min\"]);\n field.properties = this.setFieldKeyValue(\n field.properties,\n \"min\",\n tuiDay\n );\n } else {\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"min\",\n new TuiDay(0, 0, 1)\n ); // Year - 0000, Month - 0 (0 Indexing), Day - 1\n }\n\n if (checkObjectKeyExists(field, \"max\")) {\n const tuiDay = convertFormFieldTypeDateToKwikUIFormat(field[\"max\"]);\n field.properties = this.setFieldKeyValue(\n field.properties,\n \"max\",\n tuiDay\n );\n } else {\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"max\",\n new TuiDay(\n new Date().getFullYear(), // Year - 9999\n new Date().getMonth(), // Month - 11 (0 Indexing)\n new Date().getDate() // Day - 31\n )\n );\n }\n\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"placeholder\",\n \"\"\n );\n\n field = this.setFieldKeyValue(field, \"hidden\", false);\n\n return field;\n };\n const formatFieldTypePhone = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n return field;\n };\n const formatFieldTypeRadio = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"size\",\n \"m\"\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"orientation\",\n \"vertical\"\n );\n field = this.setFieldKeyValue(field, \"hidden\", false);\n\n field.options = field.options.map((x: any): any => {\n if (typeof x === \"string\" || typeof x === \"number\") {\n return { label: x, disabled: false, description: \"\" };\n } else {\n if (\n checkObjectKeyExists(x, \"label\") &&\n checkObjectKeyExists(x, \"disabled\") &&\n checkObjectKeyExists(x, \"description\")\n ) {\n return x;\n }\n if (!checkObjectKeyExists(x, \"disabled\")) {\n x = { ...x, disabled: false };\n }\n if (!checkObjectKeyExists(x, \"description\")) {\n x = { ...x, description: false };\n }\n return x;\n }\n });\n\n return field;\n };\n const formatFieldTypeSearchText = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n if (checkObjectKeyExists(field, \"type\")) {\n if (field.type === \"search-text\") {\n field = this.setFieldKeyValue(\n field,\n \"type\",\n \"dropdown-with-search\"\n );\n }\n }\n\n return field;\n };\n const formatFieldTypeDropdownWithSearch = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n return field;\n };\n const formatFieldTypeApiCall = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n if (!checkObjectKeyExists(field.properties, \"shape\")) {\n field.properties = this.setFieldKeyValue(\n field.properties,\n \"shape\",\n null\n );\n }\n if (!checkObjectKeyExists(field, \"showLoader\")) {\n field = this.setFieldKeyValue(field, \"showLoader\", false);\n }\n if (!checkObjectKeyExists(field.properties, \"size\")) {\n field.properties = this.setFieldKeyValue(\n field.properties,\n \"size\",\n \"m\"\n );\n }\n if (!checkObjectKeyExists(field, \"api\")) {\n field = this.setFieldKeyValue(field, \"api\", {});\n\n field.api = this.setMissingFieldKeyValue(field.api, \"url\", \"\");\n field.api = this.setMissingFieldKeyValue(field.api, \"request\", \"\");\n field.api = this.setMissingFieldKeyValue(field.api, \"response\", \"\");\n field.api = this.setMissingFieldKeyValue(field.api, \"status\", \"\");\n\n field.api.status = this.setMissingFieldKeyValue(\n field.api.status,\n \"value\",\n \"default\"\n );\n field.api.status = this.setMissingFieldKeyValue(\n field.api.status,\n \"labels\",\n {\n default: \"Call API\",\n loading: \"Call API\",\n success: \"API Success\",\n failed: \"API Failed\"\n }\n );\n }\n return field;\n };\n const formatFieldTypeOtp = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"mask\",\n new Array(field.properties.otpLength).fill(\"#\").join(\" \")\n );\n field = this.setFieldKeyValue(field, \"hidden\", false);\n\n return field;\n };\n const formatFieldTypeAadhaarNumber = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n return field;\n };\n\n switch (field.type) {\n case \"html\":\n field = formatFieldTypeHtml(field);\n break;\n case \"title\":\n field = formatFieldTypeTitle(field);\n break;\n case \"text\":\n field = formatFieldTypeText(field);\n break;\n case \"checkbox\":\n field = formatFieldTypeCheckbox(field);\n break;\n case \"number\":\n field = formatFieldTypeNumber(field);\n break;\n case \"date\":\n field = formatFieldTypeDate(field);\n break;\n case \"phone\":\n field = formatFieldTypePhone(field);\n break;\n case \"radio\":\n field = formatFieldTypeRadio(field);\n break;\n case \"search-text\":\n field = formatFieldTypeSearchText(field);\n break;\n case \"dropdown-with-search\":\n field = formatFieldTypeDropdownWithSearch(field);\n break;\n case \"api-call\":\n field = formatFieldTypeApiCall(field);\n break;\n case \"otp\":\n field = formatFieldTypeOtp(field);\n break;\n case \"aadhaar-number\":\n field = formatFieldTypeAadhaarNumber(field);\n break;\n default:\n break;\n }\n\n return field;\n };\n\n const getConnectedElementKeyValueObject = (key: any): any => {\n const object = {\n key: key,\n conditions: { formula: \"\", rules: [] },\n actions: { success: [], failure: [] }\n };\n return object;\n };\n\n const formatFieldKeys = (field: any): any => {\n if (checkObjectKeyExists(field, \"connectedTo\")) {\n if (typeof field[\"connectedTo\"] === \"string\") {\n field[\"connectedElements\"] = [\n getConnectedElementKeyValueObject(field[\"connectedTo\"])\n ];\n } else {\n field[\"connectedTo\"] = field[\"connectedTo\"].map((key: string) => {\n return getConnectedElementKeyValueObject(key);\n });\n field[\"connectedElements\"] = field[\"connectedTo\"];\n }\n }\n this.removeFieldKey(field, \"connectedTo\");\n\n if (checkObjectKeyExists(field, \"connectedToParent\")) {\n if (typeof field[\"connectedToParent\"] === \"string\") {\n field[\"connectedParentFields\"] = [\n getConnectedElementKeyValueObject(field[\"connectedToParent\"])\n ];\n } else {\n field[\"connectedParentFields\"] = getConnectedElementKeyValueObject(\n field[\"connectedToParent\"]\n );\n }\n }\n this.removeFieldKey(field, \"connectedToParent\");\n\n this.removeFieldKey(field, \"sideEffect\");\n\n return field;\n };\n\n const getConnectedElementFieldMapping = (\n field: any,\n connectedFieldMapping: any\n ): any => {\n const getConnectedElementChildFieldMapping = (\n field: any,\n connectedFieldMapping: any\n ): any => {\n if (checkObjectKeyExists(field, \"connectedElements\")) {\n connectedFieldMapping[\"child\"][field.key] = field.connectedElements;\n } else if (\n checkObjectKeyExists(connectedFieldMapping[\"child\"], field.key)\n ) {\n field[\"connectedElements\"] =\n connectedFieldMapping[\"child\"][field.key];\n }\n\n return { field: field, connectedFieldMapping: connectedFieldMapping };\n };\n\n const getConnectedElementParentFieldMapping = (\n field: any,\n connectedFieldMapping: any\n ): any => {\n if (checkObjectKeyExists(connectedFieldMapping[\"child\"], field.key)) {\n for (let connectedParentKey of connectedFieldMapping[\"child\"][\n field.key\n ]) {\n if (\n checkObjectKeyExists(\n connectedFieldMapping[\"parent\"],\n connectedParentKey[\"key\"]\n )\n ) {\n connectedFieldMapping[\"parent\"][connectedParentKey[\"key\"]].push(\n field.key\n );\n } else {\n connectedFieldMapping[\"parent\"][connectedParentKey[\"key\"]] = [\n field.key\n ];\n }\n }\n }\n\n return { field: field, connectedFieldMapping: connectedFieldMapping };\n };\n\n const connectedChildFieldMapping = getConnectedElementChildFieldMapping(\n field,\n connectedFieldMapping\n );\n field = connectedChildFieldMapping[\"field\"];\n connectedFieldMapping =\n connectedChildFieldMapping[\"connectedFieldMapping\"];\n\n const connectedParentFieldMapping = getConnectedElementParentFieldMapping(\n field,\n connectedFieldMapping\n );\n field = connectedParentFieldMapping[\"field\"];\n connectedFieldMapping =\n connectedParentFieldMapping[\"connectedFieldMapping\"];\n\n return connectedFieldMapping;\n };\n\n const updateConnectedElementsKeyValue = (\n field: any,\n connectedFieldMapping: any\n ): any => {\n if (checkObjectKeyExists(connectedFieldMapping[\"child\"], field.key)) {\n field[\"connectedElements\"] = connectedFieldMapping[\"child\"][field.key];\n }\n\n if (checkObjectKeyExists(connectedFieldMapping[\"parent\"], field.key)) {\n field[\"connectedParentFields\"] =\n connectedFieldMapping[\"parent\"][field.key];\n }\n\n return field;\n };\n\n const updateFieldValidatorConfig = (field: any): any => {\n if (field.isFormElement) {\n const validators = checkObjectKeyExists(field, \"validators\")\n ? field.validators\n : {};\n\n field = this.setMissingFieldKeyValue(field, \"validators\", {});\n field = this.setFieldKeyValue(field, \"validators\", {\n ...field[\"validators\"],\n min: checkObjectKeyExists(validators, \"min\")\n ? isNotEmptyValue(validators.min)\n ? Number(validators.min)\n : null\n : checkObjectKeyExists(field, \"min\")\n ? Number(field.min)\n : null,\n max: checkObjectKeyExists(validators, \"max\")\n ? isNotEmptyValue(validators.max)\n ? Number(validators.max)\n : null\n : checkObjectKeyExists(field, \"max\")\n ? Number(field.max)\n : null,\n required: checkObjectKeyExists(validators, \"required\")\n ? Boolean(validators.required)\n : checkObjectKeyExists(field, \"required\")\n ? Boolean(field.required)\n : false,\n minLength: checkObjectKeyExists(validators, \"minLength\")\n ? isNotEmptyValue(validators.minLength)\n ? Number(validators.minLength)\n : null\n : checkObjectKeyExists(field, \"minLength\")\n ? Number(field.minLength)\n : null,\n maxLength: checkObjectKeyExists(validators, \"maxLength\")\n ? isNotEmptyValue(validators.maxLength)\n ? Number(validators.maxLength)\n : null\n : checkObjectKeyExists(field, \"length\")\n ? Number(field.length)\n : checkObjectKeyExists(field, \"maxLength\")\n ? Number(field.maxLength)\n : null,\n pattern: checkObjectKeyExists(validators, \"pattern\")\n ? isNotEmptyValue(validators.pattern)\n ? validators.pattern\n : undefined\n : checkObjectKeyExists(field, \"pattern\")\n ? { key: \"CUSTOM\", pattern: String(field.pattern) }\n : checkObjectKeyExists(field, \"regex\")\n ? { key: \"CUSTOM\", pattern: String(field.regex) }\n : undefined\n });\n\n delete field.min;\n delete field.max;\n delete field.required;\n delete field.minLength;\n delete field.length;\n delete field.maxLength;\n delete field.pattern;\n delete field.regex;\n\n switch (field.type) {\n case \"text\":\n delete field.validators.min;\n delete field.validators.max;\n break;\n default:\n break;\n }\n\n if (isEmptyValue(field.validators?.min)) {\n delete field.validators.min;\n }\n if (isEmptyValue(field.validators?.max)) {\n delete field.validators.min;\n }\n if (isEmptyValue(field.validators?.minLength)) {\n delete field.validators.minLength;\n }\n if (isEmptyValue(field.validators?.maxLength)) {\n delete field.validators.maxLength;\n }\n if (isEmptyValue(field.validators?.pattern)) {\n delete field.validators.pattern;\n }\n\n field.focus = false;\n field.invalid = false;\n }\n\n return field;\n };\n\n const updateFieldDefaultValueConfig = (field: any): any => {\n if (field.isFormElement) {\n if (checkObjectKeyExists(field, \"defaultValue\")) {\n return field;\n } else if (checkObjectKeyExists(field, \"default\")) {\n return field;\n } else {\n if (checkObjectKeyExists(field, \"defaultVal\")) {\n // Currently below line is commented because it caused issues in setting Default Value.\n // field[\"defaultValue\"] = field[\"defaultVal\"];\n // delete field[\"defaultVal\"];\n }\n\n // TODO: Condition for all_forms_data is not considered yet.\n if (field.autoPopulateFromSummaryData) {\n field[\"defaultValue\"] = {\n is_found: false,\n value: \"\",\n sources: [\n {\n source: \"summary_data\",\n summary_data: {\n path: `$.${field.key}`,\n validation: {\n rules: [\n {\n key: \"1\",\n type: \"is_not_empty\",\n is_not_empty: {\n value: true\n }\n }\n ],\n actions: [\n {\n type: \"set_default_value_found\",\n condition: \"1\",\n set_default_value_found: {\n value: true\n }\n },\n {\n type: \"enable_field\",\n condition: \"1 OR NOT(1)\",\n enable_field: { value: true }\n }\n ]\n }\n }\n }\n ]\n };\n } else if (checkObjectKeyExists(field, \"autofill\")) {\n if (checkObjectKeyExists(field.autofill, \"type\")) {\n if (field.autofill.type === \"storage\") {\n field[\"defaultValue\"] = {\n is_found: false,\n value: \"\",\n sources: [\n {\n source: \"browser_storage\",\n browser_storage: {\n path: `$.${field.key}`,\n validation: {\n rules: [\n {\n key: \"1\",\n type: \"is_not_empty\",\n is_not_empty: {\n value: true\n }\n }\n ],\n actions: [\n {\n type: \"set_default_value_found\",\n condition: \"1\",\n set_default_value_found: {\n value: true\n }\n },\n {\n type: \"enable_field\",\n condition: \"1 OR NOT(1)\",\n enable_field: { value: true }\n }\n ]\n }\n }\n }\n ]\n };\n } else if (field.autofill.type === \"config\") {\n field[\"defaultValue\"] = {\n is_found: false,\n value: \"\",\n sources: [\n {\n source: \"field_config\",\n field_config: {\n path: `$.${field.key}`,\n validation: {\n rules: [\n {\n key: \"1\",\n type: \"is_not_empty\",\n is_not_empty: {\n value: true\n }\n }\n ],\n actions: [\n {\n type: \"set_default_value_found\",\n condition: \"1\",\n set_default_value_found: {\n value: true\n }\n },\n {\n type: \"enable_field\",\n condition: \"1 OR NOT(1)\",\n enable_field: { value: true }\n }\n ]\n }\n }\n }\n ]\n };\n }\n }\n } else {\n field[\"defaultValue\"] = {\n is_found: false,\n value: \"\",\n sources: [\n {\n source: \"form_data\",\n form_data: {\n path: `$.${field.key}`,\n validation: {\n rules: [\n {\n key: \"1\",\n type: \"is_not_empty\",\n is_not_empty: {\n value: true\n }\n }\n ],\n actions: [\n {\n type: \"set_default_value_found\",\n condition: \"1\",\n set_default_value_found: {\n value: true\n }\n },\n {\n type: \"enable_field\",\n condition: \"1 OR NOT(1)\",\n enable_field: { value: true }\n }\n ]\n }\n }\n }\n ]\n };\n }\n }\n\n delete field[\"defaultVal\"];\n }\n\n return field;\n };\n\n const updateFieldMessages = (field: any): any => {\n if (field.isFormElement) {\n field = this.setMissingFieldKeyValue(field, \"messages\", []);\n }\n\n return field;\n };\n\n const updateFieldResetButton = (field: any): any => {\n if (field.isFormElement) {\n if (\n checkObjectKeyExists(field, \"action\") &&\n field.action === \"reset\" &&\n checkObjectKeyExists(field, \"fields\")\n ) {\n field = this.setFieldKeyValue(field, \"reset\", {\n fields: field.fields\n });\n }\n }\n\n return field;\n };\n\n const setFormFields = (formConfig: any, fields: any[]): any => {\n if (checkObjectKeyExists(formConfig, \"multiForm\")) {\n formConfig.multiForm[\"fields\"] = fields;\n } else {\n formConfig[\"fields\"] = fields;\n }\n\n return formConfig;\n };\n\n const setFormFieldGroups = (formConfig: any, groups: any): any => {\n formConfig[\"fieldGroups\"] = groups;\n\n return formConfig;\n };\n\n const updateFormFieldGroups = (fieldGroups: any, field: any): any => {\n if (checkObjectKeyExists(field, \"groupKey\")) {\n if (checkObjectKeyExists(fieldGroups, field.groupKey)) {\n fieldGroups[field.groupKey].push(field.key);\n } else {\n fieldGroups[field.groupKey] = [field.key];\n }\n }\n\n return fieldGroups;\n };\n\n let connectedFieldMapping: any = {\n parent: {},\n child: {}\n };\n\n let fields: any[] = this.getFormFields(formConfig);\n\n let fieldGroups: any = {};\n\n for (let field of fields) {\n field = updateOnFieldType(field);\n\n field = formatFieldKeys(field);\n\n // connectedFieldMapping = getConnectedElementFieldMapping(\n // field,\n // connectedFieldMapping\n // );\n // field = updateConnectedElementsKeyValue(field, connectedFieldMapping);\n fieldGroups = updateFormFieldGroups(fieldGroups, field);\n\n field = updateFieldDefaultValueConfig(field);\n\n field = updateFieldValidatorConfig(field);\n\n field = updateFieldResetButton(field);\n\n field = updateFieldMessages(field);\n }\n\n formConfig = setFormFieldGroups(formConfig, fieldGroups);\n\n formConfig = setFormFields(formConfig, fields);\n\n return formConfig;\n }\n}\n","export const getFormConfigByKey = (forms: any[], key: string) => {\n const form = forms.find((form) => {\n if (form.key === key) {\n return form;\n }\n });\n\n return form;\n};\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport {\n Action,\n checkObjectKeyExists,\n Condition,\n isNotEmptyValue,\n logMethod,\n Rule,\n setValueToObjectPath,\n Source,\n TAction,\n TRule,\n Validation\n} from \"kwikid-toolkit\";\nimport * as cloneDeep from \"lodash/cloneDeep\";\nimport { EActionKey } from \"./form-view/definitions/form-view.actions.definition\";\nimport { TTrigger } from \"./form-view/definitions/form-view.triggers.definition\";\nimport { ERendererActionKey } from \"./renderer.actions.definitions\";\nimport { Converter } from \"./renderer.config-converter.helper\";\nimport { getFormConfigByKey } from \"./renderer.helper\";\n\n@Component({\n selector: \"kwikid-forms-renderer\",\n templateUrl: \"./renderer.component.html\",\n styleUrls: [\"./renderer.component.scss\"],\n animations: [\n trigger(\"panelInOut\", [\n transition(\":enter\", [\n style({ transform: \"translateY(100%)\" }),\n animate(150)\n ]),\n transition(\":leave\", [\n animate(100, style({ transform: \"translateY(100%)\" }))\n ])\n ])\n ]\n})\nexport class KwikIDFormsRendererComponent implements OnInit, OnChanges {\n // The final value should be provided to service, so that it can be used in all components\n @HostListener(\"window:resize\", [\"$event\"])\n windowResizeWatcher() {\n if (this.hostElement.nativeElement.offsetWidth < 600) {\n if (this.showForm) {\n this.showFormSections = false;\n this.showFormFields = true;\n } else {\n this.showFormSections = true;\n this.showFormFields = false;\n }\n this.isMobileView = true;\n } else {\n if (this.showForm) {\n this.showFormSections = true;\n this.showFormFields = true;\n } else {\n this.showFormSections = true;\n this.showFormFields = false;\n }\n this.isMobileView = false;\n }\n }\n\n @Input()\n stepConfig: any;\n\n @Input()\n userConfig: any;\n\n @Input()\n formsData: any = {};\n\n @Input()\n apiCallResponse: any = {};\n\n @Output()\n onClickSubmit: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n getFormData: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickApiCall: EventEmitter<any> = new EventEmitter<any>();\n\n loading: boolean = false;\n loader: boolean = false;\n\n showErrorNotification: boolean = false;\n toggleErrorNotification(show) {\n this.showErrorNotification = show;\n }\n\n activeFormConfig: any;\n activeFormData: any;\n activeFormFields: any[];\n allFormsData: any = {};\n formsList: any[] = [];\n formsListCompleted: string[];\n isMobileView: boolean = false;\n\n // display forms and list conditionally\n showForm: boolean = false;\n showFormFields: boolean = true;\n showFormSections: boolean = true;\n\n constructor(\n private hostElement: ElementRef,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this.loader = true;\n this.loading = true;\n\n const formStepKey = this.stepConfig?.form?.key ?? undefined;\n\n if (\n formStepKey !== undefined &&\n checkObjectKeyExists(this.userConfig.userFormFields, formStepKey)\n ) {\n this.formsList = this.userConfig.userFormFields[formStepKey];\n } else if (Array.isArray(this.userConfig.userFormFields)) {\n this.formsList = this.userConfig.userFormFields;\n } else {\n throw new Error(\n `userFormFields doesn't have a form defined with key: ${formStepKey}`\n );\n }\n\n this.initializeForms();\n this.loader = false;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const verifyChange = (prop: string) => {\n return changes.hasOwnProperty(prop) && !changes[prop].firstChange;\n };\n if (verifyChange(\"userConfig\")) {\n this.userConfig = changes.userConfig.currentValue;\n this.loader = false;\n }\n if (verifyChange(\"formsData\")) {\n this.formsData = changes.formsData.currentValue;\n\n this.initializeForms();\n }\n if (verifyChange(\"apiCallResponse\")) {\n this.apiCallResponse = changes.apiCallResponse.currentValue;\n this.loader = false;\n }\n }\n\n async fetchFormConfig(url: string) {\n const response = await fetch(url, { method: \"GET\" });\n const data = await response.json();\n return data;\n }\n\n async initializeForms() {\n this.loader = true;\n\n this.allFormsData = this.formsData;\n\n await this.updateFormsList();\n\n this.handleResize(this.formsList);\n\n if (isNotEmptyValue(this.activeFormConfig)) {\n await this.handleOnClickSetActiveForm(this.activeFormConfig.key);\n } else {\n this.showForm = false;\n this.showFormFields = false;\n }\n\n this.loader = false;\n this.loading = false;\n }\n\n /**\n * NOTE: To be deprecated.\n * Why ? Will be directly assigned while executing 'chakra' for default form config.\n * @param formsList any[]\n * @param formsListCompleted string[]\n * @returns any[]\n */\n @logMethod\n assignSequenceNoToForm(formsList: any[]): any[] {\n let sequenceNo = 1;\n for (let form of formsList) {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n form.sequenceNo = sequenceNo++;\n } else {\n delete form[\"sequenceNo\"];\n }\n }\n }\n\n return formsList;\n }\n\n @logMethod\n findCompletedFormsList(allFormsData: any): string[] {\n let formsListCompleted: string[] = [];\n\n Object.keys(allFormsData).map((formKey) => {\n formsListCompleted.push(formKey);\n });\n\n return formsListCompleted;\n }\n\n /**\n * NOTE: To be deprecated. Why ? Will be replaced by 'chakra'.\n * @param formsList any[]\n * @param formsListCompleted string[]\n * @returns any[]\n */\n @logMethod\n markFormInFormsListAsCompleted(\n formsList: any[],\n formsListCompleted: string[]\n ): any[] {\n for (let form of formsList) {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n if (formsListCompleted.includes(form.key)) {\n form = setValueToObjectPath(form, \"status\", \"completed\");\n form = setValueToObjectPath(form, \"disabled\", false);\n }\n }\n }\n }\n\n return formsList;\n }\n\n /**\n * NOTE: To be deprecated. Why ? Will be replaced by 'chakra'.\n * @param formsList any[]\n * @param formsListCompleted string[]\n * @returns any[]\n */\n @logMethod\n markFormInFormsListAsDisabled(\n formsList: any[],\n formsListCompleted: string[]\n ): any[] {\n for (let form of formsList) {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n if (form.status !== \"completed\") {\n if (checkObjectKeyExists(form, \"dependentOn\")) {\n const isDependent = form.dependentOn.every((r: string) =>\n formsListCompleted.includes(r)\n );\n if (isDependent) {\n form = setValueToObjectPath(form, \"status\", \"editable\");\n form = setValueToObjectPath(form, \"disabled\", false);\n } else {\n form = setValueToObjectPath(form, \"status\", \"locked\");\n form = setValueToObjectPath(form, \"disabled\", true);\n }\n } else {\n form = setValueToObjectPath(form, \"dependentOn\", []);\n form = setValueToObjectPath(form, \"status\", \"editable\");\n form = setValueToObjectPath(form, \"disabled\", false);\n }\n }\n }\n }\n }\n\n return formsList;\n }\n\n @logMethod\n filterAllFormsData(allFormsData: any, formsList: any[]): any {\n let currentUserFormAllFormsData: any = {};\n\n for (let form of formsList) {\n if (checkObjectKeyExists(form, \"hidden\") && !form.hidden) {\n if (checkObjectKeyExists(allFormsData, form.key)) {\n currentUserFormAllFormsData = {\n ...currentUserFormAllFormsData,\n [form.key]: allFormsData[form.key]\n };\n }\n }\n }\n\n return currentUserFormAllFormsData;\n }\n\n @logMethod\n checkIfFormsStatusCompleted(\n formsList: any,\n formsListCompleted: string[]\n ): any {\n let allFormsCompleted: boolean = true;\n\n for (const form of formsList) {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n if (form.status !== \"completed\") {\n allFormsCompleted = false;\n break;\n }\n }\n }\n }\n\n return allFormsCompleted;\n }\n\n @logMethod\n findActiveFormConfig(formsList: any[]): any {\n const activeFormConfig = formsList.find((form) => {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form.status === \"editable\" && !form.disabled;\n }\n }\n });\n return activeFormConfig;\n }\n\n @logMethod\n async updateFormsList() {\n for (let form of this.formsList) {\n if (\n checkObjectKeyExists(form, \"default\") &&\n isNotEmptyValue(form.default)\n ) {\n const triggers: Array<TTrigger> = form.default.triggers;\n const rules: Array<TRule> = form.default.rules;\n const actions: Array<TAction> = form.default.actions;\n\n const rulesMapping = new Rule(rules, {\n USER_CONFIG: this.userConfig,\n FORMS_LIST: this.formsList,\n ALL_FORMS_DATA: this.allFormsData\n }).mapping();\n\n for (let action of actions) {\n const conditionEvaluation = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionEvaluation) {\n const actions = new Action(\n action,\n rulesMapping,\n {\n FORMS_LIST: this.formsList,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await actions.execute();\n }\n }\n } else {\n if (!checkObjectKeyExists(form, \"hidden\")) {\n form.hidden = false;\n }\n }\n }\n\n this.formsList = this.assignSequenceNoToForm(this.formsList);\n\n /**\n * Below code identifies the allFormsData required for the current User Form.\n * Why? Because allFormsData will actually contain the whole journey's all\n * possible User Form steps. So, it is important to set the form data which\n * this particular User Form only has to LOCAL METHOD Variable.\n */\n const currentUserFormAllFormsData = this.filterAllFormsData(\n this.allFormsData,\n this.formsList\n );\n\n this.formsListCompleted = this.findCompletedFormsList(\n currentUserFormAllFormsData\n );\n\n this.formsList = this.markFormInFormsListAsCompleted(\n this.formsList,\n this.formsListCompleted\n );\n\n this.formsList = this.markFormInFormsListAsDisabled(\n this.formsList,\n this.formsListCompleted\n );\n\n this.formsList = cloneDeep(this.formsList);\n\n this.activeFormConfig = this.findActiveFormConfig(this.formsList);\n }\n\n @logMethod\n formHide(formKey: string): void {\n let form = getFormConfigByKey(this.formsList, formKey);\n\n form = setValueToObjectPath(form, \"hidden\", true);\n }\n\n @logMethod\n formShow(formKey: string): void {\n let form = getFormConfigByKey(this.formsList, formKey);\n\n form = setValueToObjectPath(form, \"hidden\", false);\n }\n\n async takeAction(action: any, object: any) {\n switch (action.key) {\n case ERendererActionKey.FORM_HIDE:\n this.formHide(action.props.formKey);\n break;\n case ERendererActionKey.FORM_SHOW:\n this.formShow(action.props.formKey);\n break;\n case EActionKey.SET_VALUE:\n const sources = new Source({\n USER_CONFIG: this.userConfig,\n ALL_FORMS_DATA: this.formsData\n });\n\n const sourceValue = await sources.getValueFromSource(\n action.props.value.source\n );\n sources.setValueToSource(action.props.value.destination, sourceValue);\n\n this.userConfig = sources.object.USER_CONFIG;\n this.formsData = sources.object.ALL_FORMS_DATA;\n break;\n default:\n break;\n }\n }\n\n /**\n * Library Event Listeners\n */\n\n /**\n * FormList - Listens to event of opening the FormView of when any form is clicked in FormList\n * @param selectedForm string\n */\n @logMethod\n async handleOnClickSetActiveForm(selectedForm: string) {\n this.showForm = false;\n this.loader = true;\n\n const activeFormConfig = this.formsList.find((form) => {\n if (form.key === selectedForm) {\n return form;\n }\n });\n\n let formConfig = await this.fetchFormConfig(\n activeFormConfig.formContent.url\n );\n\n formConfig = new Converter().convertFormConfig(formConfig);\n\n const activeFormData = this.allFormsData[formConfig.key] ?? {};\n\n this.activeFormConfig = {\n ...activeFormConfig,\n ...formConfig\n };\n\n if (this.hostElement.nativeElement.offsetWidth < 600) {\n this.showFormSections = false;\n this.showFormFields = true;\n } else if (this.hostElement.nativeElement.offsetWidth >= 600) {\n this.showFormSections = true;\n this.showFormFields = true;\n }\n\n this.showForm = true;\n this.loader = false;\n }\n\n /**\n * FormView - Listens to event of executing an API call from within the FormView and emits (read as passes) the same event to the library consumer.\n * @param e any\n */\n handleOnClickApiCall(e: any) {\n this.loader = true;\n this.onClickApiCall.emit(e);\n }\n\n /**\n * FormView - Listens to event of getting the Active Form's Data when the Form is Saved and emits (read as passes) the same event to the library consumer.\n * @param e any\n */\n handleOnClickSaveForm(e: any) {\n this.loader = true;\n\n this.activeFormData = {};\n\n this.getFormData.emit({\n [this.activeFormConfig.key]: e[\"data\"]\n });\n }\n\n /**\n * FormView - Listens to event of showing the Forms List in Mobile View.\n * @param e any\n */\n handleOnClickViewForms(e: any) {\n this.showFormSections = true;\n this.showForm = false;\n this.showFormFields = false;\n }\n\n /**\n * FormList - Listens to event of submitting all the forms and moving out of the library and also handles the validation of all the forms.\n * @param e any\n */\n @logMethod\n async handleOnClickSubmitForms(e: any) {\n if (this.userConfig.userFormFieldsConfig.validation) {\n const validations = new Validation(\n {\n FORMS_LIST: this.formsList,\n ALL_FORMS_DATA: this.formsData\n },\n this.takeAction.bind(this)\n );\n\n await validations.validate(\n this.userConfig.userFormFieldsConfig.validation\n );\n\n if (this.userConfig.userFormFieldsConfig.status === \"completed\") {\n this.onClickSubmit.emit(e);\n } else {\n this.toggleErrorNotification(true);\n setTimeout(() => {\n this.toggleErrorNotification(false);\n }, 3000);\n }\n }\n }\n\n /**\n * Miscellaneous Methods\n */\n handleResize(formsList: any[]) {\n if (this.hostElement.nativeElement.offsetWidth < 600) {\n const isSingleForm = (formsList: any[]): boolean => {\n return formsList.length === 1;\n };\n if (!isSingleForm(formsList)) {\n this.showFormSections = true;\n this.showFormFields = false;\n this.showForm = false;\n } else {\n this.showFormSections = true;\n this.showFormFields = false;\n this.showForm = false;\n }\n this.isMobileView = true;\n } else {\n this.isMobileView = false;\n }\n }\n}\n","<div ngClass=\"kwikid-renderer\">\n <div\n ngClass=\"kwikid-layout-container\"\n *ngIf=\"!loading\"\n >\n <div\n ngClass=\"kwikid-sections-container\"\n *ngIf=\"showFormSections\"\n class=\"active\"\n [class.active]=\"showFormSections\"\n [class.mobile]=\"isMobileView\"\n >\n <kwikid-forms-list\n [showFormFields]=\"this.showFormFields\"\n [userConfig]=\"this.userConfig\"\n [formsList]=\"this.formsList\"\n [formsListCompleted]=\"this.formsListCompleted\"\n [isMobileView]=\"this.isMobileView\"\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\n ></kwikid-forms-list>\n </div>\n <div\n ngClass=\"kwikid-forms-container\"\n *ngIf=\"\n this.showForm &&\n this.showFormFields &&\n this.activeFormConfig !== undefined\n \"\n [class.active]=\"showFormFields\"\n [class.mobile]=\"isMobileView\"\n [@panelInOut]\n >\n <kwikid-form-view\n [formConfig]=\"this.activeFormConfig\"\n [formData]=\"this.activeFormData\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [formsList]=\"this.formsList\"\n [allFormsData]=\"this.allFormsData\"\n [isMobileView]=\"this.isMobileView\"\n (onClickApiCall)=\"this.handleOnClickApiCall($event)\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\n ></kwikid-form-view>\n </div>\n </div>\n</div>\n<div\n ngClass=\"kwikid-forms-renderer-loader\"\n *ngIf=\"loader\"\n>\n <span class=\"loader\"></span>\n</div>\n<tui-push\n id=\"error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Please complete the required Forms!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconCancel\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n","import { DragDropModule } from \"@angular/cdk/drag-drop\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsBuilderComponent } from \"./builder.component\";\n\n@NgModule({\n declarations: [KwikIDFormsBuilderComponent],\n imports: [CommonModule, FormsModule, ReactiveFormsModule, DragDropModule],\n providers: [],\n exports: [KwikIDFormsBuilderComponent]\n})\nexport class KwikIDFormBuilderModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { TuiLabelModule, TuiSvgModule } from \"@taiga-ui/core\";\nimport { TuiPushModule } from \"@taiga-ui/kit\";\nimport { KwikUIModule } from \"kwikui\";\nimport { KwikIDFormViewComponent } from \"./form-view.component\";\nimport { SafeHtmlPipe } from \"./pipes/safe-html.pipe\";\n\n@NgModule({\n declarations: [KwikIDFormViewComponent, SafeHtmlPipe],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TuiLabelModule,\n TuiPushModule,\n TuiSvgModule,\n KwikUIModule\n ],\n exports: [KwikIDFormViewComponent]\n})\nexport class KwikIDFormViewModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { TuiSvgModule } from \"@taiga-ui/core\";\nimport { KwikUIModule } from \"kwikui\";\nimport { KwikIDFormsListComponent } from \"./forms-list.component\";\n\n@NgModule({\n declarations: [KwikIDFormsListComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n TuiSvgModule\n ],\n exports: [KwikIDFormsListComponent]\n})\nexport class KwikIDFormsListModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { NgModule } from \"@angular/core\";\nimport { TuiLoaderModule, TuiSvgModule } from \"@taiga-ui/core\";\nimport { TuiPushModule } from \"@taiga-ui/kit\";\nimport { KwikUIModule } from \"kwikui\";\nimport { KwikIDFormViewModule } from \"./form-view/form-view.module\";\nimport { KwikIDFormsListModule } from \"./forms-list/forms-list.module\";\nimport { KwikIDFormsRendererComponent } from \"./renderer.component\";\n\n@NgModule({\n declarations: [KwikIDFormsRendererComponent],\n imports: [\n CommonModule,\n HttpClientModule,\n KwikIDFormViewModule,\n KwikIDFormsListModule,\n KwikUIModule,\n TuiLoaderModule,\n TuiPushModule,\n TuiSvgModule\n ],\n providers: [],\n exports: [KwikIDFormsRendererComponent]\n})\nexport class KwikIDFormRendererModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormBuilderModule } from \"./builder/builder.module\";\nimport { KwikIDFormRendererModule } from \"./renderer/renderer.module\";\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikIDFormBuilderModule,\n KwikIDFormRendererModule\n ],\n exports: [KwikIDFormBuilderModule, KwikIDFormRendererModule]\n})\nexport class KwikIDFormsModule {}\n","/*\n * Public API Surface of kwikid-forms\n */\n\n/* Builder Components */\nexport * from \"./lib/builder/builder.component\";\n\n/* Renderer Components */\nexport * from \"./lib/renderer/form-view/form-view.component\";\nexport * from \"./lib/renderer/forms-list/forms-list.component\";\nexport * from \"./lib/renderer/renderer.component\";\n\n/* KwikID Forms Component */\n\n/* All Modules in import order from bottom to top */\nexport * from \"./lib/builder/builder.module\";\nexport * from \"./lib/renderer/form-view/form-view.module\";\nexport * from \"./lib/renderer/forms-list/forms-list.module\";\nexport * from \"./lib/renderer/renderer.module\";\nexport * from \"./lib/kwikid-forms.module\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["FormGroup","VERSION","KwikUIButtonComponent","KwikUIProgressSegmentedComponent","KwikUIInputComponent","cloneDeep","FormControl","copyArrayItem","moveItemInArray","i0","Component","checkObjectKeyExists","TuiDay","isNotEmptyValue","Source","setValueToObjectPath","Rule","Condition","Action","isEmptyValue","logMethod","Validators","PATTERNS","FormArray","i1","Pipe","EventEmitter","pairwise","Validation","isUndefined","replaceString","getObjectValueFromPath","TuiPushService","TuiAlertService","i1.KwikIDFormViewService","i2","i3","i4","i5","i6","i7.SafeHtmlPipe","Inject","Input","Output","i1.KwikIDFormsListComponent","i2.KwikIDFormViewComponent","trigger","transition","style","animate","HostListener","CommonModule","FormsModule","ReactiveFormsModule","DragDropModule","NgModule","TuiLabelModule","TuiPushModule","TuiSvgModule","KwikUIModule","HttpClientModule","TuiLoaderModule"],"mappings":"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"}
1
+ {"version":3,"file":"kwikid-forms.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/kwikid-forms/src/lib/builder/builder.component.ts","../../../projects/kwikid-forms/src/lib/builder/builder.component.html","../../../projects/kwikid-forms/src/lib/renderer/form-view/definitions/form-view.actions.definition.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/definitions/form-view.apis.definition.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/definitions/form-view.commons.definition.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/definitions/form-view.fields.definition.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.fields.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.defaults.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.form-validations.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/form-view.service.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.apis.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/pipes/safe-html.pipe.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/form-view.component.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/form-view.component.html","../../../projects/kwikid-forms/src/lib/renderer/forms-list/forms-list.component.ts","../../../projects/kwikid-forms/src/lib/renderer/forms-list/forms-list.component.html","../../../projects/kwikid-forms/src/lib/renderer/renderer.actions.definitions.ts","../../../projects/kwikid-forms/src/lib/renderer/renderer.config-converter.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/renderer.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/renderer.component.ts","../../../projects/kwikid-forms/src/lib/renderer/renderer.component.html","../../../projects/kwikid-forms/src/lib/builder/builder.module.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/form-view.module.ts","../../../projects/kwikid-forms/src/lib/renderer/forms-list/forms-list.module.ts","../../../projects/kwikid-forms/src/lib/renderer/renderer.module.ts","../../../projects/kwikid-forms/src/lib/kwikid-forms.module.ts","../../../projects/kwikid-forms/src/public_api.ts","../../../projects/kwikid-forms/src/kwikid-forms.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { copyArrayItem, moveItemInArray } from \"@angular/cdk/drag-drop\";\nimport { Component, OnInit, VERSION } from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport {\n KwikUIButtonComponent,\n KwikUIInputComponent,\n KwikUIProgressSegmentedComponent\n} from \"kwikui\";\nimport { cloneDeep } from \"lodash\";\n\ntype IMenu = {\n title: string;\n id?: string;\n key?: string;\n temp?: string;\n component?: any;\n props?: any;\n};\n\n@Component({\n selector: \"kwikid-forms-builder\",\n templateUrl: \"./builder.component.html\",\n styleUrls: [\"./builder.component.scss\"]\n})\nexport class KwikIDFormsBuilderComponent implements OnInit {\n buttonComponent = {\n disabled: false,\n id: \"\",\n label: \"Button\",\n showLoader: false,\n styles: \"\",\n class: \"tui-space_right-3 tui-space_bottom-3\",\n type: \"button\",\n appearance: \"primary\",\n icon: \"\",\n iconRight: \"\",\n shape: null,\n size: \"m\"\n };\n\n progressSegmentedComponent = {\n colors: \"tui(--tui-primary)\",\n max: \"5\",\n size: \"m\",\n value: \"2\"\n };\n\n inputComponent = {\n case: \"default\",\n disabled: false,\n focus: false,\n id: \"id\",\n invalid: false,\n label: \"label\",\n placeholder: \"placeholder\",\n type: \"text\",\n validators: {\n required: true\n }\n };\n\n formGroup = new FormGroup({});\n\n constructor() {}\n\n ngOnInit() {\n for (let m of this.menu) {\n m.id = this.revisedRandId();\n }\n }\n\n revisedRandId() {\n return Math.random()\n .toString(36)\n .replace(/[^a-z]+/g, \"\");\n }\n\n handleOnChange(\n event: { target: { value: any } },\n id: string | number,\n key: string | number,\n idx: any\n ) {\n const _value = event.target.value;\n this.formGroup.controls[id][\"controls\"][key].patchValue(_value);\n }\n\n toggleShow(id: any) {\n console.log(id);\n }\n\n name = \"Angular \" + VERSION.major;\n menu: Array<IMenu> = [\n {\n title: \"button\",\n key: \"button\",\n component: KwikUIButtonComponent,\n props: this.buttonComponent\n },\n {\n title: \"progress-segmented\",\n key: \"progress_segmented\",\n component: KwikUIProgressSegmentedComponent,\n props: this.progressSegmentedComponent\n },\n {\n title: \"input\",\n key: \"input\",\n component: KwikUIInputComponent,\n props: this.inputComponent\n }\n ];\n table: Array<IMenu> = [];\n\n drop(event: any) {\n // let item = JSON.parse(JSON.stringify(event));\n if (event.previousContainer !== event.container) {\n console.log(\"copying\");\n\n // Clone the item that was dropped.\n let clone = cloneDeep(event.previousContainer.data[event.previousIndex]);\n clone.id = clone.key + \"__\" + this.revisedRandId();\n event.previousContainer.data[event.previousIndex] = clone;\n\n let newFormGroup = new FormGroup({});\n\n const props = clone.props;\n\n Object.keys(props).forEach((key) => {\n newFormGroup.addControl(\n key,\n new FormControl({ value: props[key], disabled: false })\n );\n });\n\n this.formGroup.addControl(clone.id, newFormGroup);\n\n copyArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n console.log(\"moving\");\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n if (event.previousContainer.data) {\n this.menu = this.menu.filter((f) => !f.temp);\n }\n }\n\n exited(event: any) {\n const currentIdx = event.container.data.findIndex(\n (f: { id: any }) => f.id === event.item.data.id\n );\n this.menu.splice(currentIdx + 1, 0, {\n ...event.item.data,\n temp: true\n });\n }\n\n entered() {\n this.menu = this.menu.filter((f) => !f.temp);\n }\n\n isNumber(val: any) {\n return typeof val;\n }\n\n removeElement(idx: number, id: string) {\n this.formGroup.removeControl(id);\n this.table.splice(idx, 1);\n }\n\n getJSON() {\n for (let t of this.table) {\n t.props = this.formGroup.getRawValue()[t.id];\n }\n console.log(this.table);\n }\n}\n","<!-- <div>{{ name }}</div>\n<p>Start editing to see some magic happen :)</p>\n\n<button (click)=\"getJSON()\">Get JSON</button>\n\n<div class=\"drap-copy\">\n <div>\n <ul\n class=\"menu\"\n cdkDropList\n #menuList=\"cdkDropList\"\n [cdkDropListData]=\"menu\"\n cdkDropListSortingDisabled\n [cdkDropListConnectedTo]=\"[tableList]\"\n (cdkDropListDropped)=\"drop($event)\"\n (cdkDropListExited)=\"exited($event)\"\n (cdkDropListEntered)=\"entered()\"\n >\n <li class=\"item\" *ngFor=\"let item of menu\" cdkDrag [cdkDragData]=\"item\">\n <div class=\"item\" *cdkDragPlaceholder>\n <a>{{ item.title }}</a>\n </div>\n <ng-container *ngComponentOutlet=\"item.component\"> </ng-container>\n </li>\n </ul>\n </div>\n\n <div\n class=\"table\"\n cdkDropList\n #tableList=\"cdkDropList\"\n [cdkDropListData]=\"table\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <div class=\"content\">\n <div>\n <div class=\"item\" *ngFor=\"let item of table; let idx = index\" cdkDrag>\n <ng-container *ngComponentOutlet=\"item.component\"> </ng-container>\n <div class=\"item-header\">\n <p>{{ idx }}--{{ item.title }}</p>\n <button (click)=\"removeElement(idx, item.id)\">Remove</button>\n </div>\n <div class=\"desc\">\n <div>id - {{ item.id }}</div>\n <div>key - {{ item.key }}</div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"formModal; context: item\"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-template #formModal let-component=\"component\" let-props=\"props\" let-id=\"id\">\n <div class=\"field_editor\">\n <div *ngFor=\"let i of props | keyvalue; let idx = index\">\n <div class=\"formModalInputGroup\">\n <label>{{ i.key }}</label>\n <input\n value=\"{{ i.value }}\"\n (keyup)=\"handleOnChange($event, id, i.key, idx)\"\n />\n </div>\n </div>\n </div>\n</ng-template> -->\n","import { TAction, TSourceKey } from \"kwikid-toolkit\";\nimport { TMessage } from \"./form-view.commons.definition\";\n\nexport enum EActionKey {\n SET_VALUE = \"SET_VALUE\",\n FIELD_MESSAGE_SHOW = \"FIELD_MESSAGE_SHOW\",\n FIELD_MESSAGES_HIDE = \"FIELD_MESSAGES_HIDE\",\n FIELD_ERROR_SHOW = \"FIELD_ERROR_SHOW\",\n FIELD_ERROR_HIDE = \"FIELD_ERROR_HIDE\",\n FIELD_SHOW = \"FIELD_SHOW\",\n FIELD_HIDE = \"FIELD_HIDE\",\n FIELD_ENABLE = \"FIELD_ENABLE\",\n FIELD_DISABLE = \"FIELD_DISABLE\",\n FIELD_RESET = \"FIELD_RESET\",\n HANDLE_CONNECTED_ELEMENTS = \"HANDLE_CONNECTED_ELEMENTS\",\n CUSTOM = \"CUSTOM\",\n FIELD_GROUP_SHOW = \"FIELD_GROUP_SHOW\",\n FIELD_GROUP_HIDE = \"FIELD_GROUP_HIDE\",\n FIELD_GROUP_ENABLE = \"FIELD_GROUP_ENABLE\",\n FIELD_GROUP_DISABLE = \"FIELD_GROUP_DISABLE\",\n SET_DROPDOWN_OPTIONS = \"SET_DROPDOWN_OPTIONS\"\n}\n\nexport type TActionKey =\n | EActionKey.SET_VALUE\n | EActionKey.FIELD_MESSAGE_SHOW\n | EActionKey.FIELD_MESSAGES_HIDE\n | EActionKey.FIELD_ERROR_SHOW\n | EActionKey.FIELD_ERROR_HIDE\n | EActionKey.FIELD_SHOW\n | EActionKey.FIELD_HIDE\n | EActionKey.FIELD_ENABLE\n | EActionKey.FIELD_DISABLE\n | EActionKey.FIELD_RESET\n | EActionKey.HANDLE_CONNECTED_ELEMENTS\n | EActionKey.CUSTOM\n | EActionKey.FIELD_GROUP_SHOW\n | EActionKey.FIELD_GROUP_HIDE\n | EActionKey.FIELD_GROUP_ENABLE\n | EActionKey.FIELD_GROUP_DISABLE;\n\nexport type TActionSetValue = TAction & {\n key: EActionKey.SET_VALUE;\n props: {\n value: {\n source: {\n key: TSourceKey;\n path?: string;\n value?: any;\n };\n destination: {\n key: TSourceKey;\n path?: string;\n value?: any;\n };\n };\n };\n};\n\nexport type TActionFieldMessageShow = TAction & {\n key: EActionKey.FIELD_MESSAGE_SHOW;\n props: {\n fieldKey: string;\n message: TMessage;\n };\n};\n\nexport type TActionFieldMessageHide = TAction & {\n key: EActionKey.FIELD_MESSAGES_HIDE;\n props: {\n fieldKey: string;\n message: TMessage;\n };\n};\n\nexport type TActionFieldErrorShow = TAction & {\n key: EActionKey.FIELD_ERROR_SHOW;\n props: {\n fieldKey: string;\n message: TMessage;\n };\n};\n\nexport type IFieldErrorHide = TAction & {\n key: EActionKey.FIELD_ERROR_HIDE;\n props: {\n fieldKey: string;\n message: TMessage;\n };\n};\n\nexport type TActionFieldShow = TAction & {\n key: EActionKey.FIELD_SHOW;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFieldHide = TAction & {\n key: EActionKey.FIELD_HIDE;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFieldEnable = TAction & {\n key: EActionKey.FIELD_ENABLE;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFieldDisable = TAction & {\n key: EActionKey.FIELD_DISABLE;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFieldReset = TAction & {\n key: EActionKey.FIELD_RESET;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionHandleConnectedElement = TAction & {\n key: EActionKey.HANDLE_CONNECTED_ELEMENTS;\n props: {\n fieldKey: string;\n };\n};\n","import { TSource, TValidation } from \"kwikid-toolkit\";\n\nexport enum EApiStatusType {\n DEFAULT = \"default\",\n LOADING = \"loading\",\n SUCCESS = \"success\",\n FAILED = \"failed\"\n}\n\nexport type TApiRequestBodyParam = {\n key: string;\n sources: Array<TSource>;\n value: any;\n};\n\nexport type TApiRequestBody = {\n value: any;\n params: Array<TApiRequestBodyParam>;\n validation: TValidation;\n};\n\nexport type TApiRequestHeadersParam = {\n key: string;\n sources: Array<TSource>;\n value: any;\n};\n\nexport type TApiRequestHeaders = {\n value: any;\n params: Array<any>;\n validation: TValidation;\n};\n\nexport type TApiRequest = {\n url: string;\n headers?: TApiRequestHeaders;\n body: TApiRequestBody;\n};\n\nexport type TApiResponseBody = any;\n\nexport type TApiResponse = {\n is_valid: boolean;\n body: TApiResponseBody;\n validation: TValidation;\n};\n\nexport type TApiStatusType =\n | EApiStatusType.DEFAULT\n | EApiStatusType.LOADING\n | EApiStatusType.SUCCESS\n | EApiStatusType.FAILED;\n\nexport type TApiStatus = {\n value: TApiStatusType;\n labels: {\n default: EApiStatusType.DEFAULT;\n loading: EApiStatusType.LOADING;\n success: EApiStatusType.SUCCESS;\n failed: EApiStatusType.FAILED;\n };\n};\n\nexport type TApi = {\n request: TApiRequest;\n response: TApiResponse;\n status: TApiStatus;\n};\n","export enum EMessageType {\n DEFAULT = \"default\",\n ERROR = \"error\",\n SUCCESS = \"success\",\n WARNING = \"warning\"\n}\nexport type TMessageType =\n | EMessageType.DEFAULT\n | EMessageType.ERROR\n | EMessageType.SUCCESS\n | EMessageType.WARNING;\n\nexport type TMessage = {\n message: string;\n type: TMessageType;\n};\n","import { TAction, TRule, TSource, TValidation } from \"kwikid-toolkit\";\nimport { TApi } from \"./form-view.apis.definition\";\nimport { TMessage } from \"./form-view.commons.definition\";\nimport { TValidator } from \"./form-view.form-validations.definition\";\nimport { TTrigger } from \"./form-view.triggers.definition\";\n\nexport enum EFieldType {\n HTML = \"html\",\n TITLE = \"title\",\n TEXT = \"text\",\n CHECKBOX = \"checkbox\",\n NUMBER = \"number\",\n DATE = \"date\",\n PHONE = \"phone\",\n RADIO = \"radio\",\n DROPDOWN_WITH_SEARCH = \"dropdown-with-search\",\n API_CALL = \"api-call\",\n OTP = \"otp\",\n AADHAAR_NUMBER = \"aadhaar-number\"\n}\n\nexport type TFieldType =\n | EFieldType.HTML\n | EFieldType.TITLE\n | EFieldType.TEXT\n | EFieldType.CHECKBOX\n | EFieldType.NUMBER\n | EFieldType.DATE\n | EFieldType.PHONE\n | EFieldType.RADIO\n | EFieldType.DROPDOWN_WITH_SEARCH\n | EFieldType.API_CALL\n | EFieldType.OTP\n | EFieldType.AADHAAR_NUMBER;\n\nexport type TFieldDropdownWithSearchOption = {\n title: string;\n value: string;\n};\n\nexport type TFieldRadioOption = {\n label: string;\n disabled: boolean;\n};\n\nexport type TFieldDefaultValue = {\n is_found: boolean;\n value: any;\n sources: Array<TSource>;\n};\n\nexport type TFieldDefaultDropdownOptions = {\n triggers: TTrigger[];\n rules: TRule[];\n actions: TAction[];\n};\n\nexport type TFieldDefault = {\n value: TFieldDefaultValue;\n options: TFieldDefaultDropdownOptions;\n};\n\nexport type TFieldProperties = {\n // define the properties that are common to all fields\n};\n\nexport type TFieldTextProperties = TFieldProperties & {\n case: string;\n placeholder: string;\n readOnly: string;\n};\n\nexport type TFieldCheckboxProperties = TFieldProperties & {\n contentAlign: string;\n size: string;\n readOnly: string;\n};\n\nexport type TFieldNumberProperties = TFieldProperties & {\n min: number;\n max: number;\n prefix: number;\n postfix: number;\n precision: number;\n placeholder: string;\n decimal: string;\n readOnly: boolean;\n};\n\nexport type TFieldDateProperties = TFieldProperties & {\n placeholder: string;\n min: {\n year: number;\n month: number;\n day: number;\n };\n max: {\n year: number;\n month: number;\n day: number;\n };\n readOnly: boolean;\n};\n\nexport type TFieldPhoneProperties = TFieldProperties & {\n countryCode: string;\n phoneMaskAfterCountryCode: string;\n removeCountryCodeFromValue: boolean;\n placeholder: string;\n readOnly: boolean;\n};\n\nexport type TFieldRadioProperties = TFieldProperties & {\n size: string;\n orientation: string;\n readOnly: string;\n};\n\nexport type TFieldDropdownWithSearchProperties = TFieldProperties & {\n placeholder: string;\n readOnly: boolean;\n};\n\nexport type TFieldApiCallProperties = TFieldProperties & {};\n\nexport type TFieldOtpProperties = TFieldProperties & {\n placeholder: string;\n mask: string;\n};\n\nexport type TFieldAadhaarNumberProperties = TFieldProperties & {\n mask: string;\n readOnly: string;\n};\n\nexport type TField = {\n label: string;\n type: TFieldType;\n key: string;\n disabled: boolean;\n messages: Array<TMessage>;\n default: TFieldDefault;\n validators: TValidator;\n validation: TValidation;\n properties: TFieldProperties;\n options?: any[];\n};\n\nexport type TFieldTitle = {\n type: TFieldType;\n label: string;\n key: string;\n reset?: {\n fields: Array<{\n fieldKey: string;\n actions: Array<TAction>;\n }>;\n };\n};\n\nexport type TFieldText = TField & {\n properties: TFieldTextProperties;\n};\n\nexport type TFieldCheckbox = TField & {\n properties: TFieldCheckboxProperties;\n};\n\nexport type TFieldNumber = TField & {\n properties: TFieldNumberProperties;\n};\n\nexport type TFieldDate = TField & {\n properties: TFieldDateProperties;\n};\n\nexport type TFieldPhone = TField & {\n properties: TFieldPhoneProperties;\n};\n\nexport type TFieldRadio = TField & {\n options: Array<TFieldRadioOption>;\n properties: TFieldRadioProperties;\n};\n\nexport type TFieldDropdownWithSearch = TField & {\n options: Array<TFieldDropdownWithSearchOption>;\n properties: TFieldDropdownWithSearchProperties;\n};\n\nexport type TFieldApiCall = TField & {\n api: TApi;\n properties: TFieldApiCallProperties;\n};\n\nexport type TFieldOtp = TField & {\n properties: TFieldOtpProperties;\n};\n\nexport type TFieldAadhaarNumber = TField & {\n properties: TFieldAadhaarNumberProperties;\n};\n","import { TuiDay } from \"@taiga-ui/cdk\";\nimport { checkObjectKeyExists, isNotEmptyValue } from \"kwikid-toolkit\";\nimport {\n EFieldType,\n TField,\n TFieldPhone,\n TFieldType\n} from \"../definitions/form-view.fields.definition\";\n\nexport const getFormFieldByKey = (fields: any[], key: string) => {\n const field = fields.find((field) => {\n if (field.key === key) {\n return field;\n }\n });\n\n return field;\n};\n\nexport const getFormFieldIndexByKey = (fields: any[], key: string) => {\n let fieldIndex: number;\n\n fieldIndex = fields.findIndex((_: any) => {\n return key === _.key;\n });\n\n return fieldIndex;\n};\n\nexport const highlightFormFieldError = (field: any, error: any): any => {\n field.invalid = error;\n field.focus = error;\n\n return field;\n};\n\nexport const appendFormFieldMessage = (\n field: any,\n message: { type: string; message: string }\n): any => {\n const hasDuplicateMessage = (\n messages: { type: string; message: string }[],\n message: { type: string; message: string }\n ) => {\n return messages.some((fieldMessage: { type: string; message: string }) => {\n return (\n fieldMessage.type === message.type &&\n fieldMessage.message === message.message\n );\n });\n };\n\n field[\"messages\"] = [];\n\n if (checkObjectKeyExists(field, \"messages\")) {\n if (!hasDuplicateMessage(field[\"messages\"], message)) {\n field[\"messages\"].push({\n type: message.type,\n message: message.message\n });\n }\n } else {\n field[\"messages\"] = [{ type: message.type, message: message.message }];\n }\n\n return field;\n};\n\nexport const removeFormFieldMessage = (\n field: any,\n message: { type: string; message: string }\n): any => {\n field[\"messages\"] = field[\"messages\"].filter(function (fieldMessage) {\n return fieldMessage.type !== message.type;\n });\n\n return field;\n};\n\nexport function showFormFieldError(\n fields: any,\n errors: any,\n key: string,\n error: boolean\n) {\n const fieldIndex = fields.findIndex((field: any) => {\n return field.key === key;\n });\n\n const setErrorMessages = (field: any, errors: any) => {\n const getErrorMessage = (fieldLabel: string, errorType: string) => {\n let errorMessage: string = \"\";\n\n switch (errorType) {\n case \"required\":\n errorMessage = `${fieldLabel} is required!`;\n break;\n case \"email\":\n errorMessage = `${fieldLabel} has wrong email format!`;\n break;\n case \"min\":\n errorMessage = `${fieldLabel} has wrong value! Minimum value: ${field.validators.min}`;\n break;\n case \"minlength\":\n errorMessage = `${fieldLabel} has wrong length! Required minimum length: ${field.validators.minLength}`;\n break;\n case \"max\":\n errorMessage = `${fieldLabel} has wrong value! Maximum value: ${field.validators.maxLength}`;\n break;\n case \"maxlength\":\n errorMessage = `${fieldLabel} has wrong length! Required maximum length: ${field.validators.maxLength}`;\n break;\n case \"areEqual\":\n errorMessage = `${fieldLabel} must be equal!`;\n break;\n case \"pattern\":\n errorMessage = `${fieldLabel} is in incorrect format!`;\n break;\n default:\n errorMessage = `${fieldLabel}: ${errorType}`;\n break;\n }\n\n return errorMessage;\n };\n\n Object.keys(errors).forEach((error) => {\n field = appendFormFieldMessage(field, {\n type: \"error\",\n message: getErrorMessage(field.label, error)\n });\n });\n\n return field;\n };\n\n if (error) {\n fields[fieldIndex] = setErrorMessages(fields[fieldIndex], errors);\n } else {\n fields[fieldIndex][\"messages\"] = [];\n }\n\n fields[fieldIndex] = highlightFormFieldError(fields[fieldIndex], error);\n\n return fields;\n}\n\nexport const convertFormFieldTypeDateToKwikUIFormat = (\n date: string\n): TuiDay => {\n const splitDate = date.split(\"-\");\n const tuiDay = new TuiDay(\n Number(splitDate[2]), // Year\n Number(splitDate[1]) - 1, // Month, Why '-1' => Because Taiga-UI Required It, So...\n Number(splitDate[0]) // Day\n );\n\n return tuiDay;\n};\n\nexport const convertFormFieldTypeDateToStandardFormat = (\n date: TuiDay\n): string => {\n let formattedDate: string;\n let year = date.year;\n let month = date.month;\n let day = date.day;\n\n formattedDate = `${day.toString().padStart(2, \"0\")}-${(month + 1)\n .toString()\n .padStart(2, \"0\")}-${year}`;\n\n return formattedDate;\n};\n\nexport const convertFormFieldValueToStandardFormat = (\n field: TField,\n value: any\n) => {\n let convertedValue: any = value;\n\n if (isNotEmptyValue(value)) {\n switch (field.type) {\n case EFieldType.DATE:\n if (typeof value !== \"string\") {\n convertedValue = convertFormFieldTypeDateToStandardFormat(value);\n }\n break;\n case EFieldType.RADIO:\n convertedValue = value.label;\n case EFieldType.PHONE:\n let phoneField = field as TFieldPhone;\n if (phoneField.properties.removeCountryCodeFromValue) {\n convertedValue = value.replace(phoneField.properties.countryCode, \"\");\n }\n default:\n break;\n }\n }\n\n return convertedValue;\n};\n\nexport const convertFormFieldValueToKwikUIFormat = (\n field: TField,\n value: any\n) => {\n let convertedValue: any = value;\n\n if (isNotEmptyValue(value)) {\n switch (field.type) {\n case EFieldType.RADIO:\n if (!checkObjectKeyExists(value, \"label\")) {\n const radioField = field as any;\n const convertedLabelValue = radioField.options.find((item: any) => {\n return item.label === value;\n });\n convertedValue = convertedLabelValue;\n }\n break;\n case EFieldType.DATE:\n convertedValue = convertFormFieldTypeDateToKwikUIFormat(value);\n break;\n case EFieldType.TITLE:\n break;\n default:\n break;\n }\n } else {\n convertedValue = convertFormFieldEmptyValueToKwikUIFormat(field);\n }\n\n return convertedValue;\n};\n\nexport const convertFormFieldEmptyValueToKwikUIFormat = (\n field: TField\n): any => {\n const fieldType: TFieldType = field.type;\n let value: any;\n\n switch (fieldType) {\n case EFieldType.CHECKBOX:\n value = false;\n break;\n case EFieldType.NUMBER:\n value = null;\n break;\n case EFieldType.DATE:\n value = null;\n break;\n default:\n value = \"\";\n break;\n }\n\n return value;\n};\n","import {\n Action,\n Condition,\n isEmptyValue,\n logMethod,\n Rule,\n setValueToObjectPath,\n Source,\n TAction,\n TRule,\n TValidation\n} from \"kwikid-toolkit\";\nimport { TField } from \"../definitions/form-view.fields.definition\";\nimport { TTrigger } from \"../definitions/form-view.triggers.definition\";\nimport { convertFormFieldEmptyValueToKwikUIFormat } from \"./form-view.fields.helper\";\n\nexport class Defaults {\n private _allFormsData: any;\n private _field: TField;\n private _formFields: any[];\n private _formData: any;\n private _previousFormData: any;\n private _takeAction: Function;\n\n constructor(\n field: TField,\n formFields: any[],\n allFormsData: any,\n formData: any,\n previousFormData: any,\n takeAction: Function\n ) {\n this._field = field;\n this._formFields = formFields;\n this._allFormsData = allFormsData;\n this._formData = formData;\n this._previousFormData = previousFormData;\n this._takeAction = takeAction;\n }\n\n @logMethod\n async getFormFieldValue() {\n let defaultValue: any;\n\n const sources = this._field.default.value.sources;\n\n let sourceIndex = 0;\n for (let source of sources) {\n const sources = new Source({\n FIELD_CONFIG: this._field,\n FORM_FIELDS: this._formFields,\n FORM_DATA: this._formData,\n PREVIOUS_FORM_DATA: this._previousFormData,\n ALL_FORMS_DATA: this._allFormsData\n });\n const value = sources.getValueFromSource(source);\n\n // Set the Value of current source.\n this._field = setValueToObjectPath(\n this._field,\n `default.value.sources.[${sourceIndex}].value`,\n value\n );\n\n const validation: TValidation = (source as any).validation;\n\n const triggers: Array<TTrigger> = validation.triggers;\n const rules: Array<TRule> = validation.rules;\n const actions: Array<TAction> = validation.actions;\n\n const rulesMapping = new Rule(rules, {\n FIELD_CONFIG: this._field,\n FORM_FIELDS: this._formFields,\n FORM_DATA: this._formData,\n PREVIOUS_FORM_DATA: this._previousFormData,\n ALL_FORMS_DATA: this._allFormsData\n }).mapping();\n\n for (let action of actions) {\n const conditionEvaluation = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionEvaluation) {\n const actions = new Action(\n action,\n rulesMapping,\n {\n FIELD_CONFIG: this._field,\n FORM_FIELDS: this._formFields,\n FORM_DATA: this._formData,\n PREVIOUS_FORM_DATA: this._previousFormData,\n ALL_FORMS_DATA: this._allFormsData\n },\n this._takeAction\n );\n\n await actions.execute();\n }\n }\n\n sourceIndex++;\n }\n\n defaultValue = this._field.default.value.value;\n\n if (isEmptyValue(defaultValue)) {\n defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);\n }\n\n return defaultValue;\n }\n\n @logMethod\n async getFormFieldOptions() {\n const optionsConfig = this._field.default.options;\n\n const rules = optionsConfig.rules;\n const actions = optionsConfig.actions;\n\n const rulesMapping = new Rule(rules, {\n FIELD_CONFIG: this._field,\n FORM_FIELDS: this._formFields,\n FORM_DATA: this._formData,\n PREVIOUS_FORM_DATA: this._previousFormData,\n ALL_FORMS_DATA: this._allFormsData\n }).mapping();\n\n for (let action of actions) {\n const conditionEvaluation = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionEvaluation) {\n const actions = new Action(\n action,\n rulesMapping,\n {\n FIELD_CONFIG: this._field,\n FORM_FIELDS: this._formFields,\n FORM_DATA: this._formData,\n PREVIOUS_FORM_DATA: this._previousFormData,\n ALL_FORMS_DATA: this._allFormsData\n },\n this._takeAction\n );\n\n await actions.execute();\n }\n }\n }\n}\n","import {\n FormArray,\n FormGroup,\n ValidationErrors,\n Validators\n} from \"@angular/forms\";\nimport {\n checkObjectKeyExists,\n isNotEmptyValue,\n logMethod,\n PATTERNS\n} from \"kwikid-toolkit\";\n\nexport class FormValidation {\n constructor() {}\n\n @logMethod\n getFormFieldValidators(field: any) {\n let validators = [];\n\n if (\n checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"min\") &&\n isNotEmptyValue(field.validators.min)\n ) {\n validators.push(Validators.min(field.validators.min));\n }\n if (\n checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"max\") &&\n isNotEmptyValue(field.validators.max)\n ) {\n validators.push(Validators.max(field.validators.max));\n }\n if (\n (checkObjectKeyExists(field, \"required\") && field.required) ||\n (checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"required\") &&\n field.validators.required)\n ) {\n validators.push(Validators.required);\n }\n if (\n checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"minLength\") &&\n isNotEmptyValue(field.validators.minLength)\n ) {\n validators.push(Validators.minLength(field.validators.minLength));\n }\n if (\n checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"maxLength\") &&\n isNotEmptyValue(field.validators.maxLength)\n ) {\n validators.push(Validators.maxLength(field.validators.maxLength));\n }\n if (\n checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"pattern\") &&\n isNotEmptyValue(field.validators.pattern)\n ) {\n if (checkObjectKeyExists(field.validators.pattern, \"key\")) {\n if (field.validators.pattern.key === \"CUSTOM\") {\n validators.push(Validators.pattern(field.validators.pattern.pattern));\n } else {\n validators.push(\n Validators.pattern(PATTERNS[field.validators.pattern.key])\n );\n }\n }\n }\n\n return validators;\n }\n\n @logMethod\n getFormFieldsValidationErrors(\n formGroup: FormGroup\n ): { name: string; value: string }[] {\n let errors: { name: string; value: string }[] = [];\n\n for (const key in formGroup.controls) {\n const controlErrors: ValidationErrors = formGroup.controls[key].errors;\n if (controlErrors !== null && controlErrors !== undefined) {\n Object.keys(controlErrors).forEach((keyError) => {\n errors.push({\n name: keyError,\n value: controlErrors[keyError]\n });\n });\n }\n }\n\n return errors;\n }\n\n @logMethod\n getFormFieldsInvalidControls(formToInvestigate: FormGroup | FormArray) {\n var controls: any[] = [];\n\n let recursiveFunc = (form: FormGroup | FormArray) => {\n Object.keys(form.controls).forEach((field: any) => {\n const control = form.get(field);\n if (control.invalid) {\n controls.push({\n key: field,\n invalid: true\n });\n } else {\n controls.push({\n key: field,\n invalid: false\n });\n }\n if (control instanceof FormGroup) {\n recursiveFunc(control);\n } else if (control instanceof FormArray) {\n recursiveFunc(control);\n }\n });\n };\n\n recursiveFunc(formToInvestigate);\n\n return controls;\n }\n}\n","import { FormControl, FormGroup } from \"@angular/forms\";\nimport { checkObjectKeyExists, logMethod } from \"kwikid-toolkit\";\nimport { Defaults } from \"./helpers/form-view.defaults.helper\";\nimport { convertFormFieldValueToKwikUIFormat } from \"./helpers/form-view.fields.helper\";\nimport { FormValidation } from \"./helpers/form-view.form-validations.helper\";\n\nexport class KwikIDFormViewService {\n constructor() {}\n\n // 'init' stage of the form\n @logMethod\n async createFormGroup(\n fields: any,\n formData: any,\n previousFormData: any,\n allFormsData: any,\n takeAction: Function\n ) {\n let formGroup = new FormGroup({});\n\n for (let field of fields) {\n if (field.isFormElement) {\n const defaults = new Defaults(\n field,\n fields,\n allFormsData,\n formData,\n previousFormData,\n takeAction\n );\n let value = await defaults.getFormFieldValue();\n\n if (checkObjectKeyExists(field, \"default\")) {\n if (checkObjectKeyExists(field.default, \"options\")) {\n if (field.default.options.triggers.includes(\"ON_INIT\")) {\n await defaults.getFormFieldOptions();\n }\n }\n }\n\n value = convertFormFieldValueToKwikUIFormat(field, value);\n\n const validators = new FormValidation().getFormFieldValidators(field);\n\n formGroup.addControl(\n field.key,\n new FormControl(\n { value: value, disabled: field.disabled },\n { validators: validators }\n )\n );\n }\n }\n\n return formGroup;\n }\n}\n","import {\n Action,\n checkObjectKeyExists,\n Condition,\n logMethod,\n Rule,\n setValueToObjectPath,\n Source,\n TAction,\n TRule,\n TSource,\n TValidation\n} from \"kwikid-toolkit\";\nimport {\n TApi,\n TApiRequest,\n TApiRequestBody,\n TApiRequestBodyParam,\n TApiRequestHeaders,\n TApiRequestHeadersParam,\n TApiResponse,\n TApiStatus\n} from \"../definitions/form-view.apis.definition\";\nimport { TFieldApiCall } from \"../definitions/form-view.fields.definition\";\nimport { TTrigger } from \"../definitions/form-view.triggers.definition\";\n\nexport class Apis {\n private _object: any;\n get object(): any {\n return this._object;\n }\n set object(value: any) {\n this._object = value;\n }\n\n private _takeAction: Function;\n\n private _api: TApi;\n private _request: TApiRequest;\n private _response: TApiResponse;\n private _status: TApiStatus;\n\n constructor(object: any, takeAction: any) {\n this._object = object;\n this._takeAction = takeAction;\n\n this._api = this._object.FIELD_CONFIG.api;\n this._request = this._object.FIELD_CONFIG.api.request;\n this._response = this._object.FIELD_CONFIG.api.response;\n this._status = this._object.FIELD_CONFIG.api.status;\n }\n\n @logMethod\n public async setRequestBody(): Promise<TFieldApiCall> {\n let params: Array<TApiRequestBodyParam> = this._request.body.params;\n\n let paramIndex = 0;\n for (let param of params) {\n let sources: Array<TSource> = param.sources;\n\n let sourceIndex = 0;\n for (let source of sources) {\n const sources = new Source(this._object);\n\n const value = sources.getValueFromSource(source);\n // Set the Value of current source.\n this._object.FIELD_CONFIG = setValueToObjectPath(\n this._object.FIELD_CONFIG,\n `api.request.body.params[${paramIndex}].sources[${sourceIndex}].value`,\n value\n );\n\n const validation: TValidation = (source as any).validation;\n\n const triggers: Array<TTrigger> = validation?.triggers ?? [];\n const rules: Array<TRule> = validation?.rules ?? [];\n const actions: Array<TAction> = (validation as any)?.actions ?? [];\n\n const rulesMapping = new Rule(rules, this._object).mapping();\n\n for (let action of actions) {\n const conditionEvaluation = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionEvaluation) {\n const actions = new Action(\n action,\n rulesMapping,\n this._object,\n this._takeAction\n );\n\n await actions.execute();\n }\n }\n\n sourceIndex++;\n }\n\n paramIndex++;\n }\n\n return this._object.FIELD_CONFIG;\n }\n\n @logMethod\n public async validateRequestBody(): Promise<TFieldApiCall> {\n const body: TApiRequestBody = this._request.body;\n\n const validation: TValidation = body.validation;\n\n const triggers: Array<TTrigger> = validation.triggers;\n const rules: Array<TRule> = validation.rules;\n const actions: Array<TAction> = (validation as any)?.actions;\n\n const rulesMapping = new Rule(rules, this._object).mapping();\n\n for (let action of actions) {\n const conditionSuccess = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionSuccess) {\n const actions = new Action(\n action,\n rulesMapping,\n this._object,\n this._takeAction\n );\n\n await actions.execute();\n }\n }\n\n return this._object.FIELD_CONFIG;\n }\n\n @logMethod\n public async setRequestHeaders(): Promise<TFieldApiCall> {\n if (checkObjectKeyExists(this._request, \"headers\")) {\n if (checkObjectKeyExists(this._request.headers, \"params\")) {\n let params: Array<TApiRequestHeadersParam> =\n this._request.headers.params;\n let paramIndex = 0;\n for (let param of params) {\n let sources: Array<TSource> = param.sources;\n\n let sourceIndex = 0;\n for (let source of sources) {\n const sources = new Source(this._object);\n\n const value = sources.getValueFromSource(source);\n // Set the Value of current source.\n this._object.FIELD_CONFIG = setValueToObjectPath(\n this._object.FIELD_CONFIG,\n `api.request.headers.params[${paramIndex}].sources[${sourceIndex}].value`,\n value\n );\n\n const validation: TValidation = (source as any).validation;\n\n const triggers: Array<TTrigger> = validation?.triggers ?? [];\n const rules: Array<TRule> = validation?.rules ?? [];\n const actions: Array<TAction> = (validation as any)?.actions ?? [];\n\n const rulesMapping = new Rule(rules, this._object).mapping();\n\n for (let action of actions) {\n const conditionEvaluation = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionEvaluation) {\n const actions = new Action(\n action,\n rulesMapping,\n this._object,\n this._takeAction\n );\n\n await actions.execute();\n }\n }\n\n sourceIndex++;\n }\n\n paramIndex++;\n }\n\n return this._object.FIELD_CONFIG;\n } else {\n return this._object.FIELD_CONFIG;\n }\n } else {\n return this._object.FIELD_CONFIG;\n }\n }\n\n @logMethod\n public async validateRequestHeaders(): Promise<TFieldApiCall> {\n const headers: TApiRequestHeaders = this._request.headers;\n\n const validation: TValidation = headers.validation;\n\n const triggers: Array<TTrigger> = validation.triggers;\n const rules: Array<TRule> = validation.rules;\n const actions: Array<TAction> = (validation as any)?.actions;\n\n const rulesMapping = new Rule(rules, this._object).mapping();\n\n for (let action of actions) {\n const conditionSuccess = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionSuccess) {\n const actions = new Action(\n action,\n rulesMapping,\n this._object,\n this._takeAction\n );\n\n await actions.execute();\n }\n }\n\n return this._object.FIELD_CONFIG;\n }\n\n @logMethod\n public async validateResponse(): Promise<TFieldApiCall> {\n const validation: TValidation = this._response.validation;\n\n const triggers: Array<TTrigger> = validation.triggers;\n const rules: Array<TRule> = validation.rules;\n const actions: Array<TAction> = (validation as any).actions;\n\n const rulesMapping = new Rule(rules, this._object).mapping();\n\n for (let action of actions) {\n const conditionSuccess = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionSuccess) {\n const actions = new Action(\n action,\n rulesMapping,\n this._object,\n this._takeAction\n );\n\n await actions.execute();\n }\n }\n\n return this._object.FIELD_CONFIG;\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\n\n/**\n * Generated class for the SafeHtmlPipe pipe.\n *\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\n */\n@Pipe({\n name: \"safeHtml\"\n})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(html) {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { TuiAlertService } from \"@taiga-ui/core\";\nimport { TuiPushService } from \"@taiga-ui/kit\";\nimport {\n Action,\n checkObjectKeyExists,\n Condition,\n getObjectValueFromPath,\n isEmptyValue,\n isNotEmptyValue,\n isUndefined,\n logMethod,\n replaceString,\n Rule,\n Source,\n TAction,\n TValidation,\n Validation\n} from \"kwikid-toolkit\";\nimport { pairwise } from \"rxjs/operators\";\nimport { EActionKey } from \"./definitions/form-view.actions.definition\";\nimport { EApiStatusType } from \"./definitions/form-view.apis.definition\";\nimport {\n EMessageType,\n TMessage\n} from \"./definitions/form-view.commons.definition\";\nimport {\n TFieldApiCall,\n TFieldTitle\n} from \"./definitions/form-view.fields.definition\";\nimport { KwikIDFormViewService } from \"./form-view.service\";\nimport { Apis } from \"./helpers/form-view.apis.helper\";\nimport {\n appendFormFieldMessage,\n convertFormFieldEmptyValueToKwikUIFormat,\n convertFormFieldValueToStandardFormat,\n getFormFieldByKey,\n getFormFieldIndexByKey,\n highlightFormFieldError,\n removeFormFieldMessage,\n showFormFieldError\n} from \"./helpers/form-view.fields.helper\";\nimport { FormValidation } from \"./helpers/form-view.form-validations.helper\";\n\n@Component({\n selector: \"kwikid-form-view\",\n templateUrl: \"./form-view.component.html\",\n styleUrls: [\"./form-view.component.scss\"],\n providers: [KwikIDFormViewService]\n})\nexport class KwikIDFormViewComponent implements OnInit, AfterViewInit {\n @Input()\n formConfig: any;\n\n @Input()\n formData: any;\n\n @Input()\n apiCallResponse: any = {};\n\n @Input()\n isMobileView: boolean = false;\n\n @Input()\n allFormsData: any;\n\n @Input()\n formsList: any[];\n\n @Output()\n onClickViewForms: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickSaveForm: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickApiCall: EventEmitter<any> = new EventEmitter<any>();\n\n fieldGroups: any = {};\n formFields: any[] = [];\n previousFormData: any = {};\n\n loading: boolean = true;\n viewFormsButton = {\n disabled: false,\n showLoader: false\n };\n saveFormButton = {\n disabled: false,\n showLoader: false\n };\n\n formGroup: FormGroup = new FormGroup({});\n\n constructor(\n @Inject(TuiPushService) protected readonly push: TuiPushService,\n @Inject(TuiAlertService) protected readonly alert: TuiAlertService,\n private formViewService: KwikIDFormViewService\n ) {}\n\n @logMethod\n ngOnInit(): void {\n (async () => {\n this.formsList = this.formsList.filter((form) => {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n\n await this.initFormConfig(this.formConfig);\n\n this.loading = false;\n })();\n }\n\n @logMethod\n ngAfterViewInit(): void {}\n\n @logMethod\n ngOnChanges(changes: SimpleChanges): void {\n const verifyChange = (key: string) => {\n return checkObjectKeyExists(changes, key) && !changes[key].firstChange;\n };\n if (verifyChange(\"formData\")) {\n this.formData = {\n ...this.formData,\n ...changes.formData.currentValue\n };\n }\n if (verifyChange(\"apiCallResponse\")) {\n this.apiCallResponse = changes.apiCallResponse.currentValue;\n\n this.formData = {\n ...this.formData,\n [this.apiCallResponse.key]: this.apiCallResponse.response\n };\n\n this.formGroup.patchValue(\n {\n [this.apiCallResponse.key]: this.apiCallResponse.response\n },\n { emitEvent: false }\n );\n\n let field: TFieldApiCall = getFormFieldByKey(\n this.formFields,\n this.apiCallResponse.key\n );\n\n const apis = new Apis(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n field = await apis.validateResponse();\n })();\n }\n if (verifyChange(\"isMobileView\")) {\n this.isMobileView = changes.isMobileView.currentValue;\n }\n if (verifyChange(\"allFormsData\")) {\n this.allFormsData = changes.allFormsData.currentValue;\n }\n if (verifyChange(\"formsList\")) {\n this.formsList = changes.formsList.currentValue.filter((form) => {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n }\n if (verifyChange(\"formConfig\")) {\n this.formConfig = changes.formConfig.currentValue;\n\n (async () => {\n await this.initFormConfig(this.formConfig);\n })();\n }\n }\n\n @logMethod\n async initFormConfig(formConfig: any) {\n this.setFormFieldsFromFormConfig(formConfig);\n\n this.setFormFieldGroupsFromFormConfig(formConfig);\n\n this.setFormDataFromAllFormsData();\n\n this.formGroup = await this.formViewService.createFormGroup(\n this.formFields,\n this.formData,\n this.previousFormData,\n this.allFormsData,\n this.takeAction.bind(this)\n );\n\n for (let field of this.formFields) {\n if (field.isFormElement) {\n this.previousFormData = {\n ...this.previousFormData,\n [field.key]: this.formGroup.controls[field.key].value\n };\n\n this.formGroup.controls[field.key].valueChanges\n .pipe(pairwise())\n .subscribe(([previousValue, currentValue]) => {\n this.previousFormData = {\n ...this.previousFormData,\n [field.key]: convertFormFieldValueToStandardFormat(\n field,\n previousValue\n )\n };\n\n this.formData = {\n ...this.formData,\n [field.key]: convertFormFieldValueToStandardFormat(\n field,\n currentValue\n )\n };\n });\n }\n }\n\n for (let field of this.formFields) {\n if (field.isFormElement) {\n if (field.validation.triggers.includes(\"ON_INIT\")) {\n const validations = new Validation(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await validations.validate(field.validation);\n }\n\n if (checkObjectKeyExists(field, \"connectedElements\")) {\n this.handleConnectedElements(\n {\n key: field.key,\n value: this.formGroup.controls[field.key].value\n },\n \"ON_INIT\"\n );\n }\n }\n }\n }\n\n @logMethod\n setFormFieldsFromFormConfig(formConfig: any) {\n if (checkObjectKeyExists(formConfig, \"fields\")) {\n this.formFields = formConfig.fields;\n } else if (\n checkObjectKeyExists(formConfig, \"multiForm\") &&\n checkObjectKeyExists(formConfig.multiForm, \"fields\")\n ) {\n this.formFields = formConfig.multiForm.fields;\n }\n }\n\n @logMethod\n setFormFieldGroupsFromFormConfig(formConfig: any) {\n this.fieldGroups = formConfig.fieldGroups;\n }\n\n @logMethod\n setFormDataFromAllFormsData() {\n if (checkObjectKeyExists(this.allFormsData, this.formConfig.key)) {\n this.formData = this.allFormsData[this.formConfig.key];\n } else {\n this.formData = {};\n }\n }\n\n @logMethod\n async handleConnectedElementFieldGroupActions(\n childFieldGroupConfig: any,\n parentField: any\n ) {\n if (checkObjectKeyExists(childFieldGroupConfig, \"rules\")) {\n const rulesMapping = new Rule(childFieldGroupConfig.rules, {\n FIELD_CONFIG: parentField,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n }).mapping();\n\n for (let action of childFieldGroupConfig.actions) {\n const conditionSuccess = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionSuccess) {\n const actions = new Action(\n action,\n rulesMapping,\n {\n FIELD_CONFIG: parentField,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeActionOnFieldGroup.bind(this)\n );\n\n await actions.execute();\n }\n }\n }\n }\n\n @logMethod\n async handleConnectedElementFieldGroup(\n currentField: any,\n connectedFieldGroupConfig: any,\n eventType: string\n ) {\n if (checkObjectKeyExists(connectedFieldGroupConfig, \"triggers\")) {\n if (connectedFieldGroupConfig.triggers.includes(eventType)) {\n await this.handleConnectedElementFieldGroupActions(\n connectedFieldGroupConfig,\n currentField\n );\n }\n }\n }\n\n @logMethod\n async handleConnectedElementFieldActions(\n connectedFieldConfig: any,\n connectedField: any\n ) {\n if (checkObjectKeyExists(connectedFieldConfig, \"rules\")) {\n const rulesMapping = new Rule(connectedFieldConfig.rules, {\n FIELD_CONFIG: connectedField,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n }).mapping();\n\n for (let action of connectedFieldConfig.actions) {\n const conditionSuccess = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionSuccess) {\n const actions = new Action(\n action,\n rulesMapping,\n {\n FORM_FIELDS: this.formFields,\n FIELD_CONFIG: connectedField,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await actions.execute();\n }\n }\n }\n\n return connectedField;\n }\n\n @logMethod\n async handleConnectedElementFields(\n currentField: any,\n connectedFieldConfig: any,\n eventType: string,\n nested: string\n ) {\n let connectedField = getFormFieldByKey(\n this.formFields,\n connectedFieldConfig[\"key\"]\n );\n\n if (checkObjectKeyExists(connectedFieldConfig, \"triggers\")) {\n if (connectedFieldConfig.triggers.includes(eventType)) {\n connectedField = await this.handleConnectedElementFieldActions(\n connectedFieldConfig,\n connectedField\n );\n }\n }\n if (checkObjectKeyExists(connectedFieldConfig, \"handleNestedFields\")) {\n if (connectedFieldConfig.handleNestedFields) {\n this.handleConnectedElements(\n { key: connectedFieldConfig.key },\n eventType\n );\n }\n }\n return currentField;\n }\n\n @logMethod\n async handleConnectedElements(e: any, eventType: string) {\n let currentField = getFormFieldByKey(this.formFields, e.key);\n\n if (currentField !== undefined) {\n if (checkObjectKeyExists(currentField, \"connectedElements\")) {\n if (\n checkObjectKeyExists(\n currentField.connectedElements,\n \"connectedFieldGroups\"\n )\n ) {\n let connectedFieldGroups =\n currentField.connectedElements.connectedFieldGroups;\n for (let connectedFieldGroupConfig of connectedFieldGroups) {\n await this.handleConnectedElementFieldGroup(\n currentField,\n connectedFieldGroupConfig,\n eventType\n );\n }\n }\n if (\n checkObjectKeyExists(\n currentField.connectedElements,\n \"connectedFields\"\n )\n ) {\n let connectedFields = currentField.connectedElements.connectedFields;\n for (let connectedFieldConfig of connectedFields) {\n currentField = await this.handleConnectedElementFields(\n currentField,\n connectedFieldConfig,\n eventType,\n eventType\n );\n }\n }\n }\n } else {\n throw new Error(\n `Field for the given key ['${e.key}'] is not found with eventType: '${eventType}'.`\n );\n }\n }\n\n // DOM Event Handlers\n @logMethod\n handleGetKeyValue(e: any) {\n this.formGroup.patchValue(\n {\n [e.key]: e.value\n },\n { emitEvent: false }\n );\n\n const field = getFormFieldByKey(this.formFields, e.key);\n this.formData[e.key] = convertFormFieldValueToStandardFormat(\n field,\n e.value\n );\n\n if (\n field.isFormElement &&\n field.validation.triggers.includes(\"ON_CHANGE\")\n ) {\n const validations = new Validation(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n await validations.validate(field.validation);\n })();\n }\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"connectedElements\")\n ) {\n this.handleConnectedElements(\n {\n key: field.key,\n value: this.formGroup.controls[field.key].value\n },\n \"ON_CHANGE\"\n );\n }\n }\n\n @logMethod\n async handleOnClickResetFormFields(e: any, field: TFieldTitle) {\n for (let f of field.reset.fields) {\n for (let action of f.actions) {\n const resetField = getFormFieldByKey(\n this.formFields,\n action.props.fieldKey\n );\n const actions = new Action(\n action,\n {},\n {\n FIELD_CONFIG: resetField,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n await actions.execute();\n }\n }\n }\n\n @logMethod\n async handleOnClickApiCall(e: any) {\n let field: TFieldApiCall = getFormFieldByKey(this.formFields, e.key);\n\n if (field.type === \"api-call\") {\n // set button status to loading\n field[\"api\"][\"status\"][\"value\"] = EApiStatusType.LOADING;\n field[\"showLoader\"] = true;\n this.viewFormsButton[\"disabled\"] = true;\n this.viewFormsButton[\"showLoader\"] = true;\n this.saveFormButton[\"disabled\"] = true;\n this.saveFormButton[\"showLoader\"] = true;\n\n const apis = new Apis(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n field = await apis.setRequestHeaders();\n\n field = await apis.validateRequestHeaders();\n\n field = await apis.setRequestBody();\n\n field = await apis.validateRequestBody();\n\n if (\n (\n field.api.request.body.validation as TValidation & {\n is_valid: boolean;\n }\n ).is_valid\n ) {\n // Call API Here\n this.onClickApiCall.emit({\n key: e.key,\n request: {\n mode: \"POST\",\n body: field.api.request.body.value,\n headers: field.api.request.headers.value ?? {},\n url: field.api.request.url\n }\n });\n } else {\n // Request Body Validation Failed\n // Highlight Error in UI to User to Retry After Sometime.\n // Take Action based on Validation\n setTimeout(() => {\n field[\"api\"][\"status\"][\"value\"] = EApiStatusType.FAILED;\n field[\"showLoader\"] = false;\n }, 500);\n }\n\n this.viewFormsButton[\"disabled\"] = false;\n this.viewFormsButton[\"showLoader\"] = false;\n this.saveFormButton[\"disabled\"] = false;\n this.saveFormButton[\"showLoader\"] = false;\n }\n }\n\n @logMethod\n handleOnClickViewForms(e: any) {\n this.onClickViewForms.emit({\n clicked: true\n });\n }\n\n @logMethod\n async handleOnClickSaveForm(e: any) {\n let formData = this.formGroup.getRawValue();\n\n for (let field of this.formFields) {\n if (field.isFormElement) {\n if (field.hidden) {\n delete formData[field.key];\n } else {\n formData[field.key] = convertFormFieldValueToStandardFormat(\n field,\n formData[field.key]\n );\n }\n }\n }\n\n if (this.formGroup.invalid) {\n const controls = new FormValidation().getFormFieldsInvalidControls(\n this.formGroup\n );\n\n let firstFieldWithError: string = \"\";\n\n for (let control of controls) {\n if (control.invalid && isEmptyValue(firstFieldWithError)) {\n firstFieldWithError = control.key;\n }\n this.formFields = showFormFieldError(\n this.formFields,\n this.formGroup.controls[control.key].errors,\n control.key,\n control.invalid\n );\n }\n\n this.toggleErrorNotification(true);\n setTimeout(() => {\n this.toggleErrorNotification(false);\n }, 3000);\n\n return;\n }\n\n for (let field of this.formFields) {\n if (\n field.isFormElement &&\n field.validation.triggers.includes(\"ON_SAVE\")\n ) {\n const validations = new Validation(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await validations.validate(field.validation);\n\n if (!field.validation.is_valid) {\n this.toggleErrorNotification(true);\n setTimeout(() => {\n this.toggleErrorNotification(false);\n }, 3000);\n\n return;\n }\n }\n }\n\n Object.keys(formData).map((key) => {\n if (isEmptyValue(formData[key])) {\n formData[key] = \"\";\n }\n });\n\n this.onClickSaveForm.emit({ formConfig: this.formConfig, data: formData });\n }\n\n showErrorNotification: boolean = false;\n @logMethod\n toggleErrorNotification(show) {\n this.showErrorNotification = show;\n }\n\n // Component Helpers\n @logMethod\n fieldHide(fieldKey: string) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n this.formFields[fieldIndex][\"hidden\"] = true;\n this.formGroup.updateValueAndValidity();\n }\n\n @logMethod\n fieldGroupHide(fieldGroup: string) {\n for (let fieldKey of this.fieldGroups[fieldGroup]) {\n this.fieldHide(fieldKey);\n }\n }\n\n @logMethod\n fieldShow(fieldKey: string) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n this.formFields[fieldIndex][\"hidden\"] = false;\n this.formGroup.updateValueAndValidity();\n }\n\n @logMethod\n fieldGroupShow(fieldGroup: string) {\n for (let fieldKey of this.fieldGroups[fieldGroup]) {\n this.fieldShow(fieldKey);\n }\n }\n\n @logMethod\n fieldDisable(fieldKey: string) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n if (field.isFormElement) {\n this.formFields[fieldIndex][\"disabled\"] = true;\n\n if (isNotEmptyValue(this.formGroup.controls)) {\n this.formGroup.controls[field.key].disable({\n emitEvent: false\n });\n }\n this.formGroup.updateValueAndValidity();\n }\n }\n\n @logMethod\n fieldGroupDisable(fieldGroup: string) {\n for (let fieldKey of this.fieldGroups[fieldGroup]) {\n this.fieldDisable(fieldKey);\n }\n }\n\n @logMethod\n fieldEnable(fieldKey: string) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n if (field.isFormElement) {\n this.formFields[fieldIndex][\"disabled\"] = false;\n\n if (isNotEmptyValue(this.formGroup.controls)) {\n this.formGroup.controls[field.key].enable({\n emitEvent: false\n });\n }\n this.formGroup.updateValueAndValidity();\n }\n }\n\n @logMethod\n fieldGroupEnable(fieldGroup: string) {\n for (let fieldKey of this.fieldGroups[fieldGroup]) {\n this.fieldEnable(fieldKey);\n }\n }\n\n @logMethod\n fieldReset(fieldKey: string) {\n // Find the field and its index in the formFields array\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = getFormFieldIndexByKey(this.formFields, fieldKey);\n\n // Delete the field from the formData object\n delete this.formData[fieldKey];\n\n // Reset the value of the field in the formGroup\n this.formGroup.controls[field.key].reset(\n convertFormFieldEmptyValueToKwikUIFormat(field),\n {\n emitEvent: false\n }\n );\n\n // Reset the messages and errors for the field\n field = removeFormFieldMessage(field, {\n type: EMessageType.WARNING,\n message: \"\"\n });\n field = removeFormFieldMessage(field, {\n type: EMessageType.SUCCESS,\n message: \"\"\n });\n this.fieldErrorHide(fieldKey, {\n type: EMessageType.ERROR,\n message: \"\"\n });\n\n // Reset the value of the field in the formFields array\n switch (field.type) {\n case \"api-call\":\n const fieldApiCall = field as TFieldApiCall;\n fieldApiCall.api.status.value = EApiStatusType.DEFAULT;\n this.formFields[fieldIndex] = fieldApiCall;\n break;\n default:\n field.focus = false;\n field.invalid = false;\n this.formFields[fieldIndex] = field;\n break;\n }\n }\n\n @logMethod\n fieldErrorShow(fieldKey: string, message: TMessage) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n field = highlightFormFieldError(field, true);\n field = appendFormFieldMessage(field, message);\n\n this.formFields[fieldIndex] = field;\n }\n\n @logMethod\n fieldErrorHide(fieldKey: string, message: TMessage) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n field = highlightFormFieldError(field, false);\n field = removeFormFieldMessage(field, message);\n\n this.formFields[fieldIndex] = field;\n }\n\n @logMethod\n fieldMessageShow(fieldKey: string, message: TMessage) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n field = appendFormFieldMessage(field, message);\n\n this.formFields[fieldIndex] = field;\n }\n\n @logMethod\n fieldMessageHide(fieldKey: string, message: TMessage) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n field = removeFormFieldMessage(field, message);\n\n this.formFields[fieldIndex] = field;\n }\n\n @logMethod\n setObjectValue(field: any, path: string, value: any) {}\n\n @logMethod\n patchFieldControlValue(key: string, value: any) {\n this.formGroup.patchValue(\n {\n [key]: value\n },\n { emitEvent: false }\n );\n }\n\n @logMethod\n patchFormGroup(formData: any) {\n if (isUndefined(this.formGroup) || isUndefined(formData)) {\n throw new Error(`formGroup or formData is 'undefined'.`);\n } else {\n this.formGroup.patchValue(formData, { emitEvent: false });\n }\n }\n\n @logMethod\n isFieldValid(fieldKey: string) {\n return this.formGroup.controls[fieldKey].valid;\n }\n\n @logMethod\n isFieldEnabled(fieldKey: string) {\n return this.formGroup.controls[fieldKey].enabled;\n }\n\n @logMethod\n getFormGroupRawValues() {\n return this.formGroup.getRawValue();\n }\n\n @logMethod\n async takeActionOnFieldGroup(action: TAction, object: any) {\n switch (action.key) {\n case EActionKey.FIELD_GROUP_HIDE:\n this.fieldGroupHide(action.props.groupKey);\n break;\n case EActionKey.FIELD_GROUP_SHOW:\n this.fieldGroupShow(action.props.groupKey);\n break;\n case EActionKey.FIELD_GROUP_ENABLE:\n this.fieldGroupEnable(action.props.groupKey);\n break;\n case EActionKey.FIELD_GROUP_DISABLE:\n this.fieldGroupDisable(action.props.groupKey);\n break;\n default:\n break;\n }\n }\n\n @logMethod\n async takeAction(action: TAction, object: any) {\n switch (action.key) {\n case EActionKey.FIELD_HIDE:\n this.fieldHide(action.props.fieldKey);\n break;\n case EActionKey.FIELD_SHOW:\n this.fieldShow(action.props.fieldKey);\n break;\n case EActionKey.FIELD_DISABLE:\n this.fieldDisable(action.props.fieldKey);\n break;\n case EActionKey.FIELD_ENABLE:\n this.fieldEnable(action.props.fieldKey);\n break;\n case EActionKey.FIELD_RESET:\n this.fieldReset(action.props.fieldKey);\n break;\n case EActionKey.FIELD_ERROR_SHOW:\n this.fieldErrorShow(action.props.fieldKey, action.props.message);\n break;\n case EActionKey.FIELD_ERROR_HIDE:\n this.fieldErrorHide(action.props.fieldKey, action.props.message);\n break;\n case EActionKey.FIELD_MESSAGE_SHOW:\n this.fieldMessageShow(action.props.fieldKey, action.props.message);\n break;\n case EActionKey.FIELD_MESSAGES_HIDE:\n this.fieldMessageHide(action.props.fieldKey, action.props.message);\n break;\n case EActionKey.SET_VALUE:\n const setValue_Sources = new Source(object);\n\n const sourceValue = await setValue_Sources.getValueFromSource(\n action.props.value.source\n );\n setValue_Sources.setValueToSource(\n action.props.value.destination,\n sourceValue\n );\n\n object.FIELD_CONFIG = setValue_Sources.object.FIELD_CONFIG;\n this.formData = setValue_Sources.object.FORM_DATA;\n this.patchFormGroup(this.formData);\n this.allFormsData = setValue_Sources.object.ALL_FORMS_DATA;\n this.previousFormData = setValue_Sources.object.PREVIOUS_FORM_DATA;\n break;\n case EActionKey.SET_DROPDOWN_OPTIONS:\n const setDropdownValue_Sources = new Source(object);\n\n let dropdownValue = await setDropdownValue_Sources.getValueFromSource(\n action.props.value.source\n );\n if (checkObjectKeyExists(action.props, \"options\")) {\n if (checkObjectKeyExists(action.props.options, \"appendToPath\")) {\n let appendToPath =\n await setDropdownValue_Sources.getValueFromSource(\n action.props.options.appendToPath.source\n );\n if (isNotEmptyValue(appendToPath)) {\n const appendToPathStr = replaceString(\n appendToPath.match(\n `${action.props.options.appendToPath.filterSourceValue}`\n )[0],\n \"[^a-zA-Z0-9_]\",\n \"_\"\n );\n\n const optionsPath = `${action.props.options.path}${appendToPathStr}`;\n dropdownValue = getObjectValueFromPath(\n dropdownValue,\n optionsPath\n );\n }\n } else {\n dropdownValue = getObjectValueFromPath(\n dropdownValue,\n action.props.options.path\n );\n }\n }\n\n setDropdownValue_Sources.setValueToSource(\n action.props.value.destination,\n dropdownValue\n );\n\n object.FIELD_CONFIG = setDropdownValue_Sources.object.FIELD_CONFIG;\n this.formData = setDropdownValue_Sources.object.FORM_DATA;\n this.allFormsData = setDropdownValue_Sources.object.ALL_FORMS_DATA;\n this.previousFormData =\n setDropdownValue_Sources.object.PREVIOUS_FORM_DATA;\n break;\n case EActionKey.HANDLE_CONNECTED_ELEMENTS:\n this.handleConnectedElements(\n { key: action.props.fieldKey },\n \"ON_ACTION\"\n );\n break;\n case EActionKey.CUSTOM:\n break;\n default:\n break;\n }\n }\n}\n","<div\n class=\"kwikid-form-container\"\n *ngIf=\"!loading\"\n>\n <div id=\"uf-form-fields-header-container\">\n <div id=\"uf-form-fields-title\">\n {{ formConfig.title }}\n </div>\n <div id=\"uf-form-fields-steps\">\n Step {{ formConfig.sequenceNo }} of {{ formsList.length }}\n </div>\n <hr />\n </div>\n <form\n class=\"kwikid-form show\"\n [formGroup]=\"formGroup\"\n >\n <ng-container *ngFor=\"let field of formFields; let i = index\">\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | safeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n label=\"Reset\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [type]=\"'text'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox-block\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.properties?.placeholder\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size ?? 'l'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox-block\n ><kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-number\n [decimal]=\"field?.properties?.decimal\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix ?? ''\"\n [precision]=\"field?.properties?.precision\"\n [prefix]=\"field?.properties?.prefix ?? ''\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-number\n ><kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-date\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-date>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-phone\n [countryCode]=\"field?.properties?.countryCode\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [phoneMaskAfterCountryCode]=\"\n field?.properties?.phoneMaskAfterCountryCode\n \"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-phone>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-radio-list\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.options\"\n [label]=\"field?.label\"\n [orientation]=\"field?.properties?.orientation\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-radio-list>\n </label>\n <ng-template #labelTemplate>\n <p\n class=\"tui-space_bottom-2\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\"></span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Dropdown -->\n <ng-container *ngSwitchCase=\"'dropdown-with-search'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-select-combobox\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field.label\"\n [options]=\"field.options\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-select-combobox>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- API Call -->\n <ng-container *ngSwitchCase=\"'api-call'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [showLoader]=\"field?.disabled === 'loading'\"\n shape=\"null\"\n size=\"m\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickApiCall($event)\"\n ></kwikui-button-api-call>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Mobile OTP -->\n <ng-container *ngSwitchCase=\"'otp'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-otp\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-otp>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Aadhaar Number -->\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-aadhaar\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-aadhaar>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </form>\n <div class=\"kwikid-form-buttons\">\n <kwikui-button\n *ngIf=\"isMobileView\"\n [disabled]=\"viewFormsButton.disabled\"\n id=\"\"\n label=\"View Forms\"\n [showLoader]=\"viewFormsButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"secondary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n [disabled]=\"saveFormButton.disabled\"\n id=\"\"\n label=\"Save\"\n [showLoader]=\"saveFormButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"loading\"\n>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"loading\"\n [class.tui-skeleton_rounded]=\"loading\"\n ></div>\n</div>\n<tui-push\n id=\"field-error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Missing/Incorrect Fields!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconCancel\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { checkObjectKeyExists, logMethod } from \"kwikid-toolkit\";\n\n@Component({\n selector: \"kwikid-forms-list\",\n templateUrl: \"./forms-list.component.html\",\n styleUrls: [\"./forms-list.component.scss\"]\n})\nexport class KwikIDFormsListComponent implements OnInit, OnChanges {\n @Input()\n showFormFields: any = {};\n\n @Input()\n userConfig: any = {};\n\n @Input()\n formsList: any[] = [];\n\n @Input()\n formsListCompleted: any[] = [];\n\n @Input()\n isMobileView: boolean = false;\n\n @Output()\n onClickSetActiveForm: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickHideFormsList: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickSubmitForms = new EventEmitter<any>();\n\n selectedForm: string = \"\";\n\n isAllFormsCompleted: boolean = true;\n\n constructor() {}\n\n ngOnInit(): void {\n this.formsList = this.formsList.filter((form) => {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);\n }\n\n @logMethod\n ngOnChanges(changes: SimpleChanges): void {\n const verifyChange = (key: string) => {\n return checkObjectKeyExists(changes, key) && !changes[key].firstChange;\n };\n if (verifyChange(\"showFormFields\")) {\n this.showFormFields = changes.showFormFields.currentValue;\n }\n if (verifyChange(\"formsList\")) {\n this.formsList = changes.formsList.currentValue.filter((form) => {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);\n }\n if (verifyChange(\"isMobileView\")) {\n this.isMobileView = changes.isMobileView.currentValue;\n }\n }\n\n checkIsAllFormsCompleted(formsList: any[]): boolean {\n let isAllFormsCompleted: boolean = true;\n\n for (let forms of formsList) {\n if (forms.status !== \"completed\") {\n isAllFormsCompleted = false;\n break;\n }\n }\n\n return isAllFormsCompleted;\n }\n\n handleOnClickSetActiveForm(selectedForm: string) {\n if (\n this.selectedForm !== selectedForm ||\n (this.isAllFormsCompleted && !this.showFormFields)\n ) {\n this.selectedForm = selectedForm;\n this.onClickSetActiveForm.emit(selectedForm);\n }\n }\n\n handleOnSubmitForms(e: any) {\n this.onClickSubmitForms.emit(e);\n }\n}\n","<div id=\"sidebar-container\">\n <div id=\"sidebar\">\n <div ngClass=\"kwikid-form-header\">\n <div id=\"uf-header\">\n <div id=\"uf-header-logo-container\">\n <img\n id=\"uf-header-logo\"\n src=\"{{ this.userConfig.theme.clientLogo }}\"\n [ngClass]=\"'large-icon'\"\n />\n </div>\n </div>\n <hr />\n </div>\n <div id=\"uf-progress\">\n <div id=\"uf-progress-steps\">\n {{ this.formsListCompleted.length }} / {{ this.formsList.length }} Steps\n Completed\n </div>\n <kwikui-progress-segmented\n [max]=\"this.formsList.length\"\n size=\"m\"\n [value]=\"this.formsListCompleted.length\"\n ></kwikui-progress-segmented>\n </div>\n <div id=\"uf-sections-container\">\n <div\n *ngFor=\"let form of formsList; let i = index\"\n [class]=\"'uf-section-item'\"\n [class.completed]=\"form.status === 'completed' && !form.disabled\"\n [class.edit]=\"form.status === 'editable' && !form.disabled\"\n [class.locked]=\"form.status === 'locked' && form.disabled\"\n (click)=\"\n form.status === 'locked' && form.disabled\n ? undefined\n : handleOnClickSetActiveForm(form.key)\n \"\n >\n <div class=\"uf-form-section-card-title\">\n {{ form.title }}\n </div>\n <div class=\"uf-form-section-card-action\">\n <div\n *ngIf=\"form.status === 'completed' && !form.disabled\"\n class=\"uf-form-section-card-action-img completed\"\n >\n <tui-svg src=\"tuiIconCheckLarge\"></tui-svg>\n </div>\n <div\n *ngIf=\"form.status !== 'completed' && !form.disabled\"\n class=\"uf-form-section-card-action-img edit\"\n >\n <tui-svg src=\"tuiIconEdit\"></tui-svg>\n </div>\n <div\n *ngIf=\"form.status !== 'completed' && form.disabled\"\n class=\"uf-form-section-card-action-img locked\"\n >\n <tui-svg src=\"tuiIconLock\"></tui-svg>\n </div>\n </div>\n </div>\n </div>\n <div id=\"submit-sidebar-btn-container\">\n <kwikui-button\n [disabled]=\"false\"\n id=\"\"\n label=\"Submit\"\n [showLoader]=\"false\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnSubmitForms($event)\"\n ></kwikui-button>\n </div>\n </div>\n</div>\n","import { TAction, TSourceKey } from \"kwikid-toolkit\";\n\nexport enum ERendererActionKey {\n SET_VALUE = \"SET_VALUE\",\n FORM_HIDE = \"FORM_HIDE\",\n FORM_SHOW = \"FORM_SHOW\",\n FORM_DISABLE = \"FORM_DISABLE\",\n FORM_ENABLE = \"FORM_ENABLE\"\n}\n\nexport type TActionKey =\n | ERendererActionKey.SET_VALUE\n | ERendererActionKey.FORM_HIDE\n | ERendererActionKey.FORM_SHOW\n | ERendererActionKey.FORM_DISABLE\n | ERendererActionKey.FORM_ENABLE;\n\nexport type TActionSetValue = TAction & {\n key: ERendererActionKey.SET_VALUE;\n props: {\n value: {\n source: {\n key: TSourceKey;\n path?: string;\n value?: any;\n };\n destination: {\n key: TSourceKey;\n path?: string;\n value?: any;\n };\n };\n };\n};\n\nexport type TActionFormShow = TAction & {\n key: ERendererActionKey.FORM_SHOW;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFormHide = TAction & {\n key: ERendererActionKey.FORM_HIDE;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFormEnable = TAction & {\n key: ERendererActionKey.FORM_ENABLE;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionFormDisable = TAction & {\n key: ERendererActionKey.FORM_DISABLE;\n props: {\n fieldKey: string;\n };\n};\n","import { TuiDay } from \"@taiga-ui/cdk\";\nimport {\n checkObjectKeyExists,\n isEmptyValue,\n isNotEmptyValue, logMethod\n} from \"kwikid-toolkit\";\nimport { convertFormFieldTypeDateToKwikUIFormat } from \"./form-view/helpers/form-view.fields.helper\";\n\nexport class Converter {\n getFormFields = (formConfig: any): any[] => {\n let fields: any[];\n\n if (checkObjectKeyExists(formConfig, \"multiForm\")) {\n fields = formConfig.multiForm.fields;\n } else {\n fields = formConfig.fields;\n }\n\n return fields;\n };\n\n setMissingFieldKeyValue = (field: any, key: string, value: any): any => {\n if (!checkObjectKeyExists(field, key)) {\n field[key] = value;\n }\n return field;\n };\n\n setFieldKeyValue = (field: any, key: string, value: any): any => {\n field[key] = value;\n\n return field;\n };\n\n removeFieldKey = (field: any, key: string): any => {\n if (checkObjectKeyExists(field, key)) {\n delete field[key];\n }\n\n return field;\n };\n\n @logMethod\n convertFormConfig(formConfig: any): any {\n const updateOnFieldType = (field: any): any => {\n const formatFieldTypeHtml = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", false);\n\n return field;\n };\n const formatFieldTypeTitle = (field: any): any => {\n field = this.setFieldKeyValue(field, \"hidden\", false);\n field = this.setFieldKeyValue(field, \"isFormElement\", false);\n\n return field;\n };\n const formatFieldTypeText = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"case\",\n \"default\"\n );\n return field;\n };\n const formatFieldTypeCheckbox = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n return field;\n };\n const formatFieldTypeNumber = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n if (checkObjectKeyExists(field, \"key\")) {\n if (field.key === \"aadhaar_number\") {\n field = this.setFieldKeyValue(field, \"type\", \"aadhaar_number\");\n }\n if (field.key === \"contact_number\") {\n field = this.setFieldKeyValue(field, \"type\", \"phone\");\n }\n\n if (field.type === \"phone\" || field.type === \"number\") {\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"countryCode\",\n \"+91\"\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"phoneMaskAfterCountryCode\",\n \"####-######\"\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"removeCountryCodeFromValue\",\n true\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"decimal\",\n \"never\"\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"prefix\",\n \"\"\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"postfix\",\n \"\"\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"min\",\n -Infinity\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"max\",\n Infinity\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"precision\",\n 2\n );\n }\n }\n\n field = this.setFieldKeyValue(field, \"hidden\", false);\n\n return field;\n };\n const formatFieldTypeDate = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n if (checkObjectKeyExists(field, \"min\")) {\n const tuiDay = convertFormFieldTypeDateToKwikUIFormat(field[\"min\"]);\n field.properties = this.setFieldKeyValue(\n field.properties,\n \"min\",\n tuiDay\n );\n } else {\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"min\",\n new TuiDay(0, 0, 1)\n ); // Year - 0000, Month - 0 (0 Indexing), Day - 1\n }\n\n if (checkObjectKeyExists(field, \"max\")) {\n const tuiDay = convertFormFieldTypeDateToKwikUIFormat(field[\"max\"]);\n field.properties = this.setFieldKeyValue(\n field.properties,\n \"max\",\n tuiDay\n );\n } else {\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"max\",\n new TuiDay(\n new Date().getFullYear(), // Year - 9999\n new Date().getMonth(), // Month - 11 (0 Indexing)\n new Date().getDate() // Day - 31\n )\n );\n }\n\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"placeholder\",\n \"\"\n );\n\n field = this.setFieldKeyValue(field, \"hidden\", false);\n\n return field;\n };\n const formatFieldTypePhone = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n return field;\n };\n const formatFieldTypeRadio = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"size\",\n \"m\"\n );\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"orientation\",\n \"vertical\"\n );\n field = this.setFieldKeyValue(field, \"hidden\", false);\n\n field.options = field.options.map((x: any): any => {\n if (typeof x === \"string\" || typeof x === \"number\") {\n return { label: x, disabled: false, description: \"\" };\n } else {\n if (\n checkObjectKeyExists(x, \"label\") &&\n checkObjectKeyExists(x, \"disabled\") &&\n checkObjectKeyExists(x, \"description\")\n ) {\n return x;\n }\n if (!checkObjectKeyExists(x, \"disabled\")) {\n x = { ...x, disabled: false };\n }\n if (!checkObjectKeyExists(x, \"description\")) {\n x = { ...x, description: false };\n }\n return x;\n }\n });\n\n return field;\n };\n const formatFieldTypeSearchText = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n if (checkObjectKeyExists(field, \"type\")) {\n if (field.type === \"search-text\") {\n field = this.setFieldKeyValue(\n field,\n \"type\",\n \"dropdown-with-search\"\n );\n }\n }\n\n return field;\n };\n const formatFieldTypeDropdownWithSearch = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n return field;\n };\n const formatFieldTypeApiCall = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n if (!checkObjectKeyExists(field.properties, \"shape\")) {\n field.properties = this.setFieldKeyValue(\n field.properties,\n \"shape\",\n null\n );\n }\n if (!checkObjectKeyExists(field, \"showLoader\")) {\n field = this.setFieldKeyValue(field, \"showLoader\", false);\n }\n if (!checkObjectKeyExists(field.properties, \"size\")) {\n field.properties = this.setFieldKeyValue(\n field.properties,\n \"size\",\n \"m\"\n );\n }\n if (!checkObjectKeyExists(field, \"api\")) {\n field = this.setFieldKeyValue(field, \"api\", {});\n\n field.api = this.setMissingFieldKeyValue(field.api, \"url\", \"\");\n field.api = this.setMissingFieldKeyValue(field.api, \"request\", \"\");\n field.api = this.setMissingFieldKeyValue(field.api, \"response\", \"\");\n field.api = this.setMissingFieldKeyValue(field.api, \"status\", \"\");\n\n field.api.status = this.setMissingFieldKeyValue(\n field.api.status,\n \"value\",\n \"default\"\n );\n field.api.status = this.setMissingFieldKeyValue(\n field.api.status,\n \"labels\",\n {\n default: \"Call API\",\n loading: \"Call API\",\n success: \"API Success\",\n failed: \"API Failed\"\n }\n );\n }\n return field;\n };\n const formatFieldTypeOtp = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n field.properties = this.setMissingFieldKeyValue(\n field.properties,\n \"mask\",\n new Array(field.properties.otpLength).fill(\"#\").join(\" \")\n );\n field = this.setFieldKeyValue(field, \"hidden\", false);\n\n return field;\n };\n const formatFieldTypeAadhaarNumber = (field: any): any => {\n field = this.setFieldKeyValue(field, \"isFormElement\", true);\n return field;\n };\n\n switch (field.type) {\n case \"html\":\n field = formatFieldTypeHtml(field);\n break;\n case \"title\":\n field = formatFieldTypeTitle(field);\n break;\n case \"text\":\n field = formatFieldTypeText(field);\n break;\n case \"checkbox\":\n field = formatFieldTypeCheckbox(field);\n break;\n case \"number\":\n field = formatFieldTypeNumber(field);\n break;\n case \"date\":\n field = formatFieldTypeDate(field);\n break;\n case \"phone\":\n field = formatFieldTypePhone(field);\n break;\n case \"radio\":\n field = formatFieldTypeRadio(field);\n break;\n case \"search-text\":\n field = formatFieldTypeSearchText(field);\n break;\n case \"dropdown-with-search\":\n field = formatFieldTypeDropdownWithSearch(field);\n break;\n case \"api-call\":\n field = formatFieldTypeApiCall(field);\n break;\n case \"otp\":\n field = formatFieldTypeOtp(field);\n break;\n case \"aadhaar-number\":\n field = formatFieldTypeAadhaarNumber(field);\n break;\n default:\n break;\n }\n\n return field;\n };\n\n const getConnectedElementKeyValueObject = (key: any): any => {\n const object = {\n key: key,\n conditions: { formula: \"\", rules: [] },\n actions: { success: [], failure: [] }\n };\n return object;\n };\n\n const formatFieldKeys = (field: any): any => {\n if (checkObjectKeyExists(field, \"connectedTo\")) {\n if (typeof field[\"connectedTo\"] === \"string\") {\n field[\"connectedElements\"] = [\n getConnectedElementKeyValueObject(field[\"connectedTo\"])\n ];\n } else {\n field[\"connectedTo\"] = field[\"connectedTo\"].map((key: string) => {\n return getConnectedElementKeyValueObject(key);\n });\n field[\"connectedElements\"] = field[\"connectedTo\"];\n }\n }\n this.removeFieldKey(field, \"connectedTo\");\n\n if (checkObjectKeyExists(field, \"connectedToParent\")) {\n if (typeof field[\"connectedToParent\"] === \"string\") {\n field[\"connectedParentFields\"] = [\n getConnectedElementKeyValueObject(field[\"connectedToParent\"])\n ];\n } else {\n field[\"connectedParentFields\"] = getConnectedElementKeyValueObject(\n field[\"connectedToParent\"]\n );\n }\n }\n this.removeFieldKey(field, \"connectedToParent\");\n\n this.removeFieldKey(field, \"sideEffect\");\n\n return field;\n };\n\n const getConnectedElementFieldMapping = (\n field: any,\n connectedFieldMapping: any\n ): any => {\n const getConnectedElementChildFieldMapping = (\n field: any,\n connectedFieldMapping: any\n ): any => {\n if (checkObjectKeyExists(field, \"connectedElements\")) {\n connectedFieldMapping[\"child\"][field.key] = field.connectedElements;\n } else if (\n checkObjectKeyExists(connectedFieldMapping[\"child\"], field.key)\n ) {\n field[\"connectedElements\"] =\n connectedFieldMapping[\"child\"][field.key];\n }\n\n return { field: field, connectedFieldMapping: connectedFieldMapping };\n };\n\n const getConnectedElementParentFieldMapping = (\n field: any,\n connectedFieldMapping: any\n ): any => {\n if (checkObjectKeyExists(connectedFieldMapping[\"child\"], field.key)) {\n for (let connectedParentKey of connectedFieldMapping[\"child\"][\n field.key\n ]) {\n if (\n checkObjectKeyExists(\n connectedFieldMapping[\"parent\"],\n connectedParentKey[\"key\"]\n )\n ) {\n connectedFieldMapping[\"parent\"][connectedParentKey[\"key\"]].push(\n field.key\n );\n } else {\n connectedFieldMapping[\"parent\"][connectedParentKey[\"key\"]] = [\n field.key\n ];\n }\n }\n }\n\n return { field: field, connectedFieldMapping: connectedFieldMapping };\n };\n\n const connectedChildFieldMapping = getConnectedElementChildFieldMapping(\n field,\n connectedFieldMapping\n );\n field = connectedChildFieldMapping[\"field\"];\n connectedFieldMapping =\n connectedChildFieldMapping[\"connectedFieldMapping\"];\n\n const connectedParentFieldMapping = getConnectedElementParentFieldMapping(\n field,\n connectedFieldMapping\n );\n field = connectedParentFieldMapping[\"field\"];\n connectedFieldMapping =\n connectedParentFieldMapping[\"connectedFieldMapping\"];\n\n return connectedFieldMapping;\n };\n\n const updateConnectedElementsKeyValue = (\n field: any,\n connectedFieldMapping: any\n ): any => {\n if (checkObjectKeyExists(connectedFieldMapping[\"child\"], field.key)) {\n field[\"connectedElements\"] = connectedFieldMapping[\"child\"][field.key];\n }\n\n if (checkObjectKeyExists(connectedFieldMapping[\"parent\"], field.key)) {\n field[\"connectedParentFields\"] =\n connectedFieldMapping[\"parent\"][field.key];\n }\n\n return field;\n };\n\n const updateFieldValidatorConfig = (field: any): any => {\n if (field.isFormElement) {\n const validators = checkObjectKeyExists(field, \"validators\")\n ? field.validators\n : {};\n\n field = this.setMissingFieldKeyValue(field, \"validators\", {});\n field = this.setFieldKeyValue(field, \"validators\", {\n ...field[\"validators\"],\n min: checkObjectKeyExists(validators, \"min\")\n ? isNotEmptyValue(validators.min)\n ? Number(validators.min)\n : null\n : checkObjectKeyExists(field, \"min\")\n ? Number(field.min)\n : null,\n max: checkObjectKeyExists(validators, \"max\")\n ? isNotEmptyValue(validators.max)\n ? Number(validators.max)\n : null\n : checkObjectKeyExists(field, \"max\")\n ? Number(field.max)\n : null,\n required: checkObjectKeyExists(validators, \"required\")\n ? Boolean(validators.required)\n : checkObjectKeyExists(field, \"required\")\n ? Boolean(field.required)\n : false,\n minLength: checkObjectKeyExists(validators, \"minLength\")\n ? isNotEmptyValue(validators.minLength)\n ? Number(validators.minLength)\n : null\n : checkObjectKeyExists(field, \"minLength\")\n ? Number(field.minLength)\n : null,\n maxLength: checkObjectKeyExists(validators, \"maxLength\")\n ? isNotEmptyValue(validators.maxLength)\n ? Number(validators.maxLength)\n : null\n : checkObjectKeyExists(field, \"length\")\n ? Number(field.length)\n : checkObjectKeyExists(field, \"maxLength\")\n ? Number(field.maxLength)\n : null,\n pattern: checkObjectKeyExists(validators, \"pattern\")\n ? isNotEmptyValue(validators.pattern)\n ? validators.pattern\n : undefined\n : checkObjectKeyExists(field, \"pattern\")\n ? { key: \"CUSTOM\", pattern: String(field.pattern) }\n : checkObjectKeyExists(field, \"regex\")\n ? { key: \"CUSTOM\", pattern: String(field.regex) }\n : undefined\n });\n\n delete field.min;\n delete field.max;\n delete field.required;\n delete field.minLength;\n delete field.length;\n delete field.maxLength;\n delete field.pattern;\n delete field.regex;\n\n switch (field.type) {\n case \"text\":\n delete field.validators.min;\n delete field.validators.max;\n break;\n default:\n break;\n }\n\n if (isEmptyValue(field.validators?.min)) {\n delete field.validators.min;\n }\n if (isEmptyValue(field.validators?.max)) {\n delete field.validators.min;\n }\n if (isEmptyValue(field.validators?.minLength)) {\n delete field.validators.minLength;\n }\n if (isEmptyValue(field.validators?.maxLength)) {\n delete field.validators.maxLength;\n }\n if (isEmptyValue(field.validators?.pattern)) {\n delete field.validators.pattern;\n }\n\n field.focus = false;\n field.invalid = false;\n }\n\n return field;\n };\n\n const updateFieldDefaultValueConfig = (field: any): any => {\n if (field.isFormElement) {\n if (checkObjectKeyExists(field, \"defaultValue\")) {\n return field;\n } else if (checkObjectKeyExists(field, \"default\")) {\n return field;\n } else {\n if (checkObjectKeyExists(field, \"defaultVal\")) {\n // Currently below line is commented because it caused issues in setting Default Value.\n // field[\"defaultValue\"] = field[\"defaultVal\"];\n // delete field[\"defaultVal\"];\n }\n\n // TODO: Condition for all_forms_data is not considered yet.\n if (field.autoPopulateFromSummaryData) {\n field[\"defaultValue\"] = {\n is_found: false,\n value: \"\",\n sources: [\n {\n source: \"summary_data\",\n summary_data: {\n path: `$.${field.key}`,\n validation: {\n rules: [\n {\n key: \"1\",\n type: \"is_not_empty\",\n is_not_empty: {\n value: true\n }\n }\n ],\n actions: [\n {\n type: \"set_default_value_found\",\n condition: \"1\",\n set_default_value_found: {\n value: true\n }\n },\n {\n type: \"enable_field\",\n condition: \"1 OR NOT(1)\",\n enable_field: { value: true }\n }\n ]\n }\n }\n }\n ]\n };\n } else if (checkObjectKeyExists(field, \"autofill\")) {\n if (checkObjectKeyExists(field.autofill, \"type\")) {\n if (field.autofill.type === \"storage\") {\n field[\"defaultValue\"] = {\n is_found: false,\n value: \"\",\n sources: [\n {\n source: \"browser_storage\",\n browser_storage: {\n path: `$.${field.key}`,\n validation: {\n rules: [\n {\n key: \"1\",\n type: \"is_not_empty\",\n is_not_empty: {\n value: true\n }\n }\n ],\n actions: [\n {\n type: \"set_default_value_found\",\n condition: \"1\",\n set_default_value_found: {\n value: true\n }\n },\n {\n type: \"enable_field\",\n condition: \"1 OR NOT(1)\",\n enable_field: { value: true }\n }\n ]\n }\n }\n }\n ]\n };\n } else if (field.autofill.type === \"config\") {\n field[\"defaultValue\"] = {\n is_found: false,\n value: \"\",\n sources: [\n {\n source: \"field_config\",\n field_config: {\n path: `$.${field.key}`,\n validation: {\n rules: [\n {\n key: \"1\",\n type: \"is_not_empty\",\n is_not_empty: {\n value: true\n }\n }\n ],\n actions: [\n {\n type: \"set_default_value_found\",\n condition: \"1\",\n set_default_value_found: {\n value: true\n }\n },\n {\n type: \"enable_field\",\n condition: \"1 OR NOT(1)\",\n enable_field: { value: true }\n }\n ]\n }\n }\n }\n ]\n };\n }\n }\n } else {\n field[\"defaultValue\"] = {\n is_found: false,\n value: \"\",\n sources: [\n {\n source: \"form_data\",\n form_data: {\n path: `$.${field.key}`,\n validation: {\n rules: [\n {\n key: \"1\",\n type: \"is_not_empty\",\n is_not_empty: {\n value: true\n }\n }\n ],\n actions: [\n {\n type: \"set_default_value_found\",\n condition: \"1\",\n set_default_value_found: {\n value: true\n }\n },\n {\n type: \"enable_field\",\n condition: \"1 OR NOT(1)\",\n enable_field: { value: true }\n }\n ]\n }\n }\n }\n ]\n };\n }\n }\n\n delete field[\"defaultVal\"];\n }\n\n return field;\n };\n\n const updateFieldMessages = (field: any): any => {\n if (field.isFormElement) {\n field = this.setMissingFieldKeyValue(field, \"messages\", []);\n }\n\n return field;\n };\n\n const updateFieldResetButton = (field: any): any => {\n if (field.isFormElement) {\n if (\n checkObjectKeyExists(field, \"action\") &&\n field.action === \"reset\" &&\n checkObjectKeyExists(field, \"fields\")\n ) {\n field = this.setFieldKeyValue(field, \"reset\", {\n fields: field.fields\n });\n }\n }\n\n return field;\n };\n\n const setFormFields = (formConfig: any, fields: any[]): any => {\n if (checkObjectKeyExists(formConfig, \"multiForm\")) {\n formConfig.multiForm[\"fields\"] = fields;\n } else {\n formConfig[\"fields\"] = fields;\n }\n\n return formConfig;\n };\n\n const setFormFieldGroups = (formConfig: any, groups: any): any => {\n formConfig[\"fieldGroups\"] = groups;\n\n return formConfig;\n };\n\n const updateFormFieldGroups = (fieldGroups: any, field: any): any => {\n if (checkObjectKeyExists(field, \"groupKey\")) {\n if (checkObjectKeyExists(fieldGroups, field.groupKey)) {\n fieldGroups[field.groupKey].push(field.key);\n } else {\n fieldGroups[field.groupKey] = [field.key];\n }\n }\n\n return fieldGroups;\n };\n\n let connectedFieldMapping: any = {\n parent: {},\n child: {}\n };\n\n let fields: any[] = this.getFormFields(formConfig);\n\n let fieldGroups: any = {};\n\n for (let field of fields) {\n field = updateOnFieldType(field);\n\n field = formatFieldKeys(field);\n\n // connectedFieldMapping = getConnectedElementFieldMapping(\n // field,\n // connectedFieldMapping\n // );\n // field = updateConnectedElementsKeyValue(field, connectedFieldMapping);\n fieldGroups = updateFormFieldGroups(fieldGroups, field);\n\n field = updateFieldDefaultValueConfig(field);\n\n field = updateFieldValidatorConfig(field);\n\n field = updateFieldResetButton(field);\n\n field = updateFieldMessages(field);\n }\n\n formConfig = setFormFieldGroups(formConfig, fieldGroups);\n\n formConfig = setFormFields(formConfig, fields);\n\n return formConfig;\n }\n}\n","export const getFormConfigByKey = (forms: any[], key: string) => {\n const form = forms.find((form) => {\n if (form.key === key) {\n return form;\n }\n });\n\n return form;\n};\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport {\n Action,\n checkObjectKeyExists,\n Condition,\n isNotEmptyValue,\n logMethod,\n Rule,\n setValueToObjectPath,\n Source,\n TAction,\n TRule,\n Validation\n} from \"kwikid-toolkit\";\nimport * as cloneDeep from \"lodash/cloneDeep\";\nimport { EActionKey } from \"./form-view/definitions/form-view.actions.definition\";\nimport { TTrigger } from \"./form-view/definitions/form-view.triggers.definition\";\nimport { ERendererActionKey } from \"./renderer.actions.definitions\";\nimport { Converter } from \"./renderer.config-converter.helper\";\nimport { getFormConfigByKey } from \"./renderer.helper\";\n\n@Component({\n selector: \"kwikid-forms-renderer\",\n templateUrl: \"./renderer.component.html\",\n styleUrls: [\"./renderer.component.scss\"],\n animations: [\n trigger(\"panelInOut\", [\n transition(\":enter\", [\n style({ transform: \"translateY(100%)\" }),\n animate(150)\n ]),\n transition(\":leave\", [\n animate(100, style({ transform: \"translateY(100%)\" }))\n ])\n ])\n ]\n})\nexport class KwikIDFormsRendererComponent implements OnInit, OnChanges {\n // The final value should be provided to service, so that it can be used in all components\n @HostListener(\"window:resize\", [\"$event\"])\n windowResizeWatcher() {\n if (this.hostElement.nativeElement.offsetWidth < 600) {\n if (this.showForm) {\n this.showFormSections = false;\n this.showFormFields = true;\n } else {\n this.showFormSections = true;\n this.showFormFields = false;\n }\n this.isMobileView = true;\n } else {\n if (this.showForm) {\n this.showFormSections = true;\n this.showFormFields = true;\n } else {\n this.showFormSections = true;\n this.showFormFields = false;\n }\n this.isMobileView = false;\n }\n }\n\n @Input()\n stepConfig: any;\n\n @Input()\n userConfig: any;\n\n @Input()\n formsData: any = {};\n\n @Input()\n apiCallResponse: any = {};\n\n @Output()\n onClickSubmit: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n getFormData: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickApiCall: EventEmitter<any> = new EventEmitter<any>();\n\n loading: boolean = false;\n loader: boolean = false;\n\n showErrorNotification: boolean = false;\n toggleErrorNotification(show) {\n this.showErrorNotification = show;\n }\n\n activeFormConfig: any;\n activeFormData: any;\n activeFormFields: any[];\n allFormsData: any = {};\n formsList: any[] = [];\n formsListCompleted: string[];\n isMobileView: boolean = false;\n\n // display forms and list conditionally\n showForm: boolean = false;\n showFormFields: boolean = true;\n showFormSections: boolean = true;\n\n constructor(\n private hostElement: ElementRef,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this.loader = true;\n this.loading = true;\n\n const formStepKey = this.stepConfig?.form?.key ?? undefined;\n\n if (\n formStepKey !== undefined &&\n checkObjectKeyExists(this.userConfig.userFormFields, formStepKey)\n ) {\n this.formsList = this.userConfig.userFormFields[formStepKey];\n } else if (Array.isArray(this.userConfig.userFormFields)) {\n this.formsList = this.userConfig.userFormFields;\n } else {\n throw new Error(\n `userFormFields doesn't have a form defined with key: ${formStepKey}`\n );\n }\n\n this.initializeForms();\n this.loader = false;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const verifyChange = (prop: string) => {\n return changes.hasOwnProperty(prop) && !changes[prop].firstChange;\n };\n if (verifyChange(\"userConfig\")) {\n this.userConfig = changes.userConfig.currentValue;\n this.loader = false;\n }\n if (verifyChange(\"formsData\")) {\n this.formsData = changes.formsData.currentValue;\n\n this.initializeForms();\n }\n if (verifyChange(\"apiCallResponse\")) {\n this.apiCallResponse = changes.apiCallResponse.currentValue;\n this.loader = false;\n }\n }\n\n async fetchFormConfig(url: string) {\n const response = await fetch(url, { method: \"GET\" });\n const data = await response.json();\n return data;\n }\n\n async initializeForms() {\n this.loader = true;\n\n this.allFormsData = this.formsData;\n\n await this.updateFormsList();\n\n this.handleResize(this.formsList);\n\n if (isNotEmptyValue(this.activeFormConfig)) {\n await this.handleOnClickSetActiveForm(this.activeFormConfig.key);\n } else {\n this.showForm = false;\n this.showFormFields = false;\n }\n\n this.loader = false;\n this.loading = false;\n }\n\n /**\n * NOTE: To be deprecated.\n * Why ? Will be directly assigned while executing 'chakra' for default form config.\n * @param formsList any[]\n * @param formsListCompleted string[]\n * @returns any[]\n */\n @logMethod\n assignSequenceNoToForm(formsList: any[]): any[] {\n let sequenceNo = 1;\n for (let form of formsList) {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n form.sequenceNo = sequenceNo++;\n } else {\n delete form[\"sequenceNo\"];\n }\n }\n }\n\n return formsList;\n }\n\n @logMethod\n findCompletedFormsList(allFormsData: any): string[] {\n let formsListCompleted: string[] = [];\n\n Object.keys(allFormsData).map((formKey) => {\n formsListCompleted.push(formKey);\n });\n\n return formsListCompleted;\n }\n\n /**\n * NOTE: To be deprecated. Why ? Will be replaced by 'chakra'.\n * @param formsList any[]\n * @param formsListCompleted string[]\n * @returns any[]\n */\n @logMethod\n markFormInFormsListAsCompleted(\n formsList: any[],\n formsListCompleted: string[]\n ): any[] {\n for (let form of formsList) {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n if (formsListCompleted.includes(form.key)) {\n form = setValueToObjectPath(form, \"status\", \"completed\");\n form = setValueToObjectPath(form, \"disabled\", false);\n }\n }\n }\n }\n\n return formsList;\n }\n\n /**\n * NOTE: To be deprecated. Why ? Will be replaced by 'chakra'.\n * @param formsList any[]\n * @param formsListCompleted string[]\n * @returns any[]\n */\n @logMethod\n markFormInFormsListAsDisabled(\n formsList: any[],\n formsListCompleted: string[]\n ): any[] {\n for (let form of formsList) {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n if (form.status !== \"completed\") {\n if (checkObjectKeyExists(form, \"dependentOn\")) {\n const isDependent = form.dependentOn.every((r: string) =>\n formsListCompleted.includes(r)\n );\n if (isDependent) {\n form = setValueToObjectPath(form, \"status\", \"editable\");\n form = setValueToObjectPath(form, \"disabled\", false);\n } else {\n form = setValueToObjectPath(form, \"status\", \"locked\");\n form = setValueToObjectPath(form, \"disabled\", true);\n }\n } else {\n form = setValueToObjectPath(form, \"dependentOn\", []);\n form = setValueToObjectPath(form, \"status\", \"editable\");\n form = setValueToObjectPath(form, \"disabled\", false);\n }\n }\n }\n }\n }\n\n return formsList;\n }\n\n @logMethod\n filterAllFormsData(allFormsData: any, formsList: any[]): any {\n let currentUserFormAllFormsData: any = {};\n\n for (let form of formsList) {\n if (checkObjectKeyExists(form, \"hidden\") && !form.hidden) {\n if (checkObjectKeyExists(allFormsData, form.key)) {\n currentUserFormAllFormsData = {\n ...currentUserFormAllFormsData,\n [form.key]: allFormsData[form.key]\n };\n }\n }\n }\n\n return currentUserFormAllFormsData;\n }\n\n @logMethod\n checkIfFormsStatusCompleted(\n formsList: any,\n formsListCompleted: string[]\n ): any {\n let allFormsCompleted: boolean = true;\n\n for (const form of formsList) {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n if (form.status !== \"completed\") {\n allFormsCompleted = false;\n break;\n }\n }\n }\n }\n\n return allFormsCompleted;\n }\n\n @logMethod\n findActiveFormConfig(formsList: any[]): any {\n const activeFormConfig = formsList.find((form) => {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form.status === \"editable\" && !form.disabled;\n }\n }\n });\n return activeFormConfig;\n }\n\n @logMethod\n async updateFormsList() {\n for (let form of this.formsList) {\n if (\n checkObjectKeyExists(form, \"default\") &&\n isNotEmptyValue(form.default)\n ) {\n const triggers: Array<TTrigger> = form.default.triggers;\n const rules: Array<TRule> = form.default.rules;\n const actions: Array<TAction> = form.default.actions;\n\n const rulesMapping = new Rule(rules, {\n USER_CONFIG: this.userConfig,\n FORMS_LIST: this.formsList,\n ALL_FORMS_DATA: this.allFormsData\n }).mapping();\n\n for (let action of actions) {\n const conditionEvaluation = new Condition(\n action.condition,\n rulesMapping\n ).evaluate();\n\n if (conditionEvaluation) {\n const actions = new Action(\n action,\n rulesMapping,\n {\n FORMS_LIST: this.formsList,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await actions.execute();\n }\n }\n } else {\n if (!checkObjectKeyExists(form, \"hidden\")) {\n form.hidden = false;\n }\n }\n }\n\n this.formsList = this.assignSequenceNoToForm(this.formsList);\n\n /**\n * Below code identifies the allFormsData required for the current User Form.\n * Why? Because allFormsData will actually contain the whole journey's all\n * possible User Form steps. So, it is important to set the form data which\n * this particular User Form only has to LOCAL METHOD Variable.\n */\n const currentUserFormAllFormsData = this.filterAllFormsData(\n this.allFormsData,\n this.formsList\n );\n\n this.formsListCompleted = this.findCompletedFormsList(\n currentUserFormAllFormsData\n );\n\n this.formsList = this.markFormInFormsListAsCompleted(\n this.formsList,\n this.formsListCompleted\n );\n\n this.formsList = this.markFormInFormsListAsDisabled(\n this.formsList,\n this.formsListCompleted\n );\n\n this.formsList = cloneDeep(this.formsList);\n\n this.activeFormConfig = this.findActiveFormConfig(this.formsList);\n }\n\n @logMethod\n formHide(formKey: string): void {\n let form = getFormConfigByKey(this.formsList, formKey);\n\n form = setValueToObjectPath(form, \"hidden\", true);\n }\n\n @logMethod\n formShow(formKey: string): void {\n let form = getFormConfigByKey(this.formsList, formKey);\n\n form = setValueToObjectPath(form, \"hidden\", false);\n }\n\n async takeAction(action: any, object: any) {\n switch (action.key) {\n case ERendererActionKey.FORM_HIDE:\n this.formHide(action.props.formKey);\n break;\n case ERendererActionKey.FORM_SHOW:\n this.formShow(action.props.formKey);\n break;\n case EActionKey.SET_VALUE:\n const sources = new Source({\n USER_CONFIG: this.userConfig,\n ALL_FORMS_DATA: this.formsData\n });\n\n const sourceValue = await sources.getValueFromSource(\n action.props.value.source\n );\n sources.setValueToSource(action.props.value.destination, sourceValue);\n\n this.userConfig = sources.object.USER_CONFIG;\n this.formsData = sources.object.ALL_FORMS_DATA;\n break;\n default:\n break;\n }\n }\n\n /**\n * Library Event Listeners\n */\n\n /**\n * FormList - Listens to event of opening the FormView of when any form is clicked in FormList\n * @param selectedForm string\n */\n @logMethod\n async handleOnClickSetActiveForm(selectedForm: string) {\n this.showForm = false;\n this.loader = true;\n\n const activeFormConfig = this.formsList.find((form) => {\n if (form.key === selectedForm) {\n return form;\n }\n });\n\n let formConfig = await this.fetchFormConfig(\n activeFormConfig.formContent.url\n );\n\n formConfig = new Converter().convertFormConfig(formConfig);\n\n const activeFormData = this.allFormsData[formConfig.key] ?? {};\n\n this.activeFormConfig = {\n ...activeFormConfig,\n ...formConfig\n };\n\n if (this.hostElement.nativeElement.offsetWidth < 600) {\n this.showFormSections = false;\n this.showFormFields = true;\n } else if (this.hostElement.nativeElement.offsetWidth >= 600) {\n this.showFormSections = true;\n this.showFormFields = true;\n }\n\n this.showForm = true;\n this.loader = false;\n }\n\n /**\n * FormView - Listens to event of executing an API call from within the FormView and emits (read as passes) the same event to the library consumer.\n * @param e any\n */\n handleOnClickApiCall(e: any) {\n this.loader = true;\n this.onClickApiCall.emit(e);\n }\n\n /**\n * FormView - Listens to event of getting the Active Form's Data when the Form is Saved and emits (read as passes) the same event to the library consumer.\n * @param e any\n */\n handleOnClickSaveForm(e: any) {\n this.loader = true;\n\n this.activeFormData = {};\n\n this.getFormData.emit({\n [this.activeFormConfig.key]: e[\"data\"]\n });\n }\n\n /**\n * FormView - Listens to event of showing the Forms List in Mobile View.\n * @param e any\n */\n handleOnClickViewForms(e: any) {\n this.showFormSections = true;\n this.showForm = false;\n this.showFormFields = false;\n }\n\n /**\n * FormList - Listens to event of submitting all the forms and moving out of the library and also handles the validation of all the forms.\n * @param e any\n */\n @logMethod\n async handleOnClickSubmitForms(e: any) {\n if (this.userConfig.userFormFieldsConfig.validation) {\n const validations = new Validation(\n {\n FORMS_LIST: this.formsList,\n ALL_FORMS_DATA: this.formsData\n },\n this.takeAction.bind(this)\n );\n\n await validations.validate(\n this.userConfig.userFormFieldsConfig.validation\n );\n\n if (this.userConfig.userFormFieldsConfig.status === \"completed\") {\n this.onClickSubmit.emit(e);\n } else {\n this.toggleErrorNotification(true);\n setTimeout(() => {\n this.toggleErrorNotification(false);\n }, 3000);\n }\n }\n }\n\n /**\n * Miscellaneous Methods\n */\n handleResize(formsList: any[]) {\n if (this.hostElement.nativeElement.offsetWidth < 600) {\n const isSingleForm = (formsList: any[]): boolean => {\n return formsList.length === 1;\n };\n if (!isSingleForm(formsList)) {\n this.showFormSections = true;\n this.showFormFields = false;\n this.showForm = false;\n } else {\n this.showFormSections = true;\n this.showFormFields = false;\n this.showForm = false;\n }\n this.isMobileView = true;\n } else {\n this.isMobileView = false;\n }\n }\n}\n","<div ngClass=\"kwikid-renderer\">\n <div\n ngClass=\"kwikid-layout-container\"\n *ngIf=\"!loading\"\n >\n <div\n ngClass=\"kwikid-sections-container\"\n *ngIf=\"showFormSections\"\n class=\"active\"\n [class.active]=\"showFormSections\"\n [class.mobile]=\"isMobileView\"\n >\n <kwikid-forms-list\n [showFormFields]=\"this.showFormFields\"\n [userConfig]=\"this.userConfig\"\n [formsList]=\"this.formsList\"\n [formsListCompleted]=\"this.formsListCompleted\"\n [isMobileView]=\"this.isMobileView\"\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\n ></kwikid-forms-list>\n </div>\n <div\n ngClass=\"kwikid-forms-container\"\n *ngIf=\"\n this.showForm &&\n this.showFormFields &&\n this.activeFormConfig !== undefined\n \"\n [class.active]=\"showFormFields\"\n [class.mobile]=\"isMobileView\"\n [@panelInOut]\n >\n <kwikid-form-view\n [formConfig]=\"this.activeFormConfig\"\n [formData]=\"this.activeFormData\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [formsList]=\"this.formsList\"\n [allFormsData]=\"this.allFormsData\"\n [isMobileView]=\"this.isMobileView\"\n (onClickApiCall)=\"this.handleOnClickApiCall($event)\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\n ></kwikid-form-view>\n </div>\n </div>\n</div>\n<div\n ngClass=\"kwikid-forms-renderer-loader\"\n *ngIf=\"loader\"\n>\n <span class=\"loader\"></span>\n</div>\n<tui-push\n id=\"error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Please complete the required Forms!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconCancel\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n","import { DragDropModule } from \"@angular/cdk/drag-drop\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsBuilderComponent } from \"./builder.component\";\n\n@NgModule({\n declarations: [KwikIDFormsBuilderComponent],\n imports: [CommonModule, FormsModule, ReactiveFormsModule, DragDropModule],\n providers: [],\n exports: [KwikIDFormsBuilderComponent]\n})\nexport class KwikIDFormBuilderModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { TuiLabelModule, TuiSvgModule } from \"@taiga-ui/core\";\nimport { TuiPushModule } from \"@taiga-ui/kit\";\nimport { KwikUIModule } from \"kwikui\";\nimport { KwikIDFormViewComponent } from \"./form-view.component\";\nimport { SafeHtmlPipe } from \"./pipes/safe-html.pipe\";\n\n@NgModule({\n declarations: [KwikIDFormViewComponent, SafeHtmlPipe],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TuiLabelModule,\n TuiPushModule,\n TuiSvgModule,\n KwikUIModule\n ],\n exports: [KwikIDFormViewComponent]\n})\nexport class KwikIDFormViewModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { TuiSvgModule } from \"@taiga-ui/core\";\nimport { KwikUIModule } from \"kwikui\";\nimport { KwikIDFormsListComponent } from \"./forms-list.component\";\n\n@NgModule({\n declarations: [KwikIDFormsListComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n TuiSvgModule\n ],\n exports: [KwikIDFormsListComponent]\n})\nexport class KwikIDFormsListModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { NgModule } from \"@angular/core\";\nimport { TuiLoaderModule, TuiSvgModule } from \"@taiga-ui/core\";\nimport { TuiPushModule } from \"@taiga-ui/kit\";\nimport { KwikUIModule } from \"kwikui\";\nimport { KwikIDFormViewModule } from \"./form-view/form-view.module\";\nimport { KwikIDFormsListModule } from \"./forms-list/forms-list.module\";\nimport { KwikIDFormsRendererComponent } from \"./renderer.component\";\n\n@NgModule({\n declarations: [KwikIDFormsRendererComponent],\n imports: [\n CommonModule,\n HttpClientModule,\n KwikIDFormViewModule,\n KwikIDFormsListModule,\n KwikUIModule,\n TuiLoaderModule,\n TuiPushModule,\n TuiSvgModule\n ],\n providers: [],\n exports: [KwikIDFormsRendererComponent]\n})\nexport class KwikIDFormRendererModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormBuilderModule } from \"./builder/builder.module\";\nimport { KwikIDFormRendererModule } from \"./renderer/renderer.module\";\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikIDFormBuilderModule,\n KwikIDFormRendererModule\n ],\n exports: [KwikIDFormBuilderModule, KwikIDFormRendererModule]\n})\nexport class KwikIDFormsModule {}\n","/*\n * Public API Surface of kwikid-forms\n */\n\n/* Builder Components */\nexport * from \"./lib/builder/builder.component\";\n\n/* Renderer Components */\nexport * from \"./lib/renderer/form-view/form-view.component\";\nexport * from \"./lib/renderer/forms-list/forms-list.component\";\nexport * from \"./lib/renderer/renderer.component\";\n\n/* KwikID Forms Component */\n\n/* All Modules in import order from bottom to top */\nexport * from \"./lib/builder/builder.module\";\nexport * from \"./lib/renderer/form-view/form-view.module\";\nexport * from \"./lib/renderer/forms-list/forms-list.module\";\nexport * from \"./lib/renderer/renderer.module\";\nexport * from \"./lib/kwikid-forms.module\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["FormGroup","VERSION","KwikUIButtonComponent","KwikUIProgressSegmentedComponent","KwikUIInputComponent","cloneDeep","FormControl","copyArrayItem","moveItemInArray","i0","Component","checkObjectKeyExists","TuiDay","isNotEmptyValue","Source","setValueToObjectPath","Rule","Condition","Action","isEmptyValue","logMethod","Validators","PATTERNS","FormArray","i1","Pipe","EventEmitter","pairwise","Validation","isUndefined","replaceString","getObjectValueFromPath","TuiPushService","TuiAlertService","i1.KwikIDFormViewService","i2","i3","i4","i5","i6","i7.SafeHtmlPipe","Inject","Input","Output","i1.KwikIDFormsListComponent","i2.KwikIDFormViewComponent","trigger","transition","style","animate","HostListener","CommonModule","FormsModule","ReactiveFormsModule","DragDropModule","NgModule","TuiLabelModule","TuiPushModule","TuiSvgModule","KwikUIModule","HttpClientModule","TuiLoaderModule"],"mappings":"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"}