kwikid-forms 0.6.33 → 0.6.35
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.
- package/bundles/kwikid-forms.umd.js +527 -169
- package/bundles/kwikid-forms.umd.js.map +1 -1
- package/esm2015/lib/renderer/config-converter/config-converter.constants.js +11 -1
- package/esm2015/lib/renderer/config-converter/config-converter.js +36 -1
- package/esm2015/lib/renderer/form-view/definitions/form-view.actions.definition.js +5 -1
- package/esm2015/lib/renderer/form-view/definitions/form-view.apis.definition.js +1 -1
- package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +2 -1
- package/esm2015/lib/renderer/form-view/definitions/form-view.logs.definition.js +7 -2
- package/esm2015/lib/renderer/form-view/form-view.component.js +282 -22
- package/esm2015/lib/renderer/form-view/helpers/form-view.apis.helper.js +1 -1
- package/esm2015/lib/renderer/form-view/helpers/form-view.defaults.helper.js +1 -1
- package/esm2015/lib/renderer/form-view/helpers/form-view.fields.helper.js +2 -2
- package/fesm2015/kwikid-forms.js +338 -23
- package/fesm2015/kwikid-forms.js.map +1 -1
- package/lib/renderer/config-converter/config-converter.constants.d.ts +10 -0
- package/lib/renderer/form-view/definitions/form-view.actions.definition.d.ts +5 -1
- package/lib/renderer/form-view/definitions/form-view.apis.definition.d.ts +7 -7
- package/lib/renderer/form-view/definitions/form-view.fields.definition.d.ts +19 -4
- package/lib/renderer/form-view/definitions/form-view.logs.definition.d.ts +6 -1
- package/lib/renderer/form-view/form-view.component.d.ts +6 -0
- package/lib/renderer/form-view/helpers/form-view.apis.helper.d.ts +2 -2
- package/lib/renderer/form-view/helpers/form-view.fields.helper.d.ts +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kwikid-forms.umd.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../projects/kwikid-forms/src/lib/builder/builder.helper.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-list/builder-forms-list.component.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-list/builder-forms-list.component.html","../../../projects/kwikid-forms/src/lib/renderer/form-view/definitions/form-view.fields.definition.ts","../../../projects/kwikid-forms/src/lib/renderer/config-converter/config-converter.constants.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.fields.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/config-converter/config-converter.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/config-converter/config-converter.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder-form-editor.definitions.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder-form-editor.helper.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder.form-editor.constants.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder.form-editor.service.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder-form-editor.component.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder-form-editor.component.html","../../../projects/kwikid-forms/src/lib/builder/builder.component.ts","../../../projects/kwikid-forms/src/lib/builder/builder.component.html","../../../projects/kwikid-forms/src/lib/renderer/forms-list/forms-list.definitions.ts","../../../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.logs.definition.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/form-view.api.service.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/helpers/form-view.camera.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.logs.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.tasks.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/styles-sanitizer.pipe.ts","../../../projects/kwikid-forms/src/lib/common/pipes/timer-formatter.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/renderer.definitions.ts","../../../projects/kwikid-forms/src/lib/renderer/forms-list/forms-list.helper.ts","../../../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.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-form-editor/pipes/json-formatter.pipe.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder-form-editor.module.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-list/builder-forms-list.module.ts","../../../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":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\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); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\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; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\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);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\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\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\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\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import {\n checkObjectKeyExists,\n isEmptyValue,\n setValueToObjectPath\n} from \"kwikid-toolkit\";\n\nexport function convertFormListConfig(formsList: any[]): any[] {\n const convertFormListConfigTypeForm = (form: any) => {\n if (checkObjectKeyExists(form, \"formContent\")) {\n if (checkObjectKeyExists(form.formContent, \"url\")) {\n form = setValueToObjectPath(form, \"props.url\", form.formContent.url);\n delete form[\"formContent\"][\"url\"];\n }\n if (checkObjectKeyExists(form.formContent, \"path\")) {\n form = setValueToObjectPath(form, \"props.path\", form.formContent.path);\n delete form[\"formContent\"][\"path\"];\n }\n }\n if (isEmptyValue(form.formContent)) {\n delete form[\"formContent\"];\n }\n if (checkObjectKeyExists(form, \"title\")) {\n form = setValueToObjectPath(form, \"props.title\", form.title);\n delete form[\"title\"];\n }\n if (!checkObjectKeyExists(form, \"hidden\")) {\n form.hidden = false;\n }\n if (!checkObjectKeyExists(form, \"disabled\")) {\n form.disabled = false;\n }\n if (!checkObjectKeyExists(form, \"required\")) {\n form.required = true;\n }\n if (!checkObjectKeyExists(form, \"dependentOn\")) {\n form.dependentOn = [];\n }\n\n return form;\n };\n\n const convertFormListConfigTypeHtml = (form: any) => {\n if (form.type === \"html\") {\n form.type = \"HTML\";\n }\n\n if (checkObjectKeyExists(form, \"htmlContent\")) {\n if (!checkObjectKeyExists(form, \"props\")) {\n form.props = {\n htmlContent: form.htmlContent\n };\n }\n delete form[\"htmlContent\"];\n } else {\n if (!checkObjectKeyExists(form, \"props\")) {\n form.props = {\n htmlContent: \"\"\n };\n }\n }\n if (checkObjectKeyExists(form, \"title\")) {\n form = setValueToObjectPath(form, \"props.title\", form.title);\n delete form[\"title\"];\n }\n if (!checkObjectKeyExists(form, \"hidden\")) {\n form.hidden = false;\n }\n return form;\n };\n\n return formsList.map((form) => {\n if (!checkObjectKeyExists(form, \"type\")) {\n form.type = \"FORM\";\n }\n if (checkObjectKeyExists(form, \"type\")) {\n if (form.type === \"FORM\") {\n form = convertFormListConfigTypeForm(form);\n }\n\n if (form.type === \"HTML\" || form.type === \"html\") {\n form = convertFormListConfigTypeHtml(form);\n }\n }\n\n return form;\n });\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport {\n checkObjectKeyExists,\n getObjectDeepCopy,\n isEmptyValue,\n logMethod\n} from \"kwikid-toolkit\";\nimport { convertFormListConfig } from \"../builder.helper\";\nimport { KwikUILoaderService } from \"kwikui\";\n\n@Component({\n selector: \"kwikid-builder-forms-list\",\n templateUrl: \"./builder-forms-list.component.html\",\n styleUrls: [\"../shared.scss\", \"./builder-forms-list.component.scss\"]\n})\nexport class KwikIDBuilderFormsListComponent implements OnInit, OnChanges {\n @Input()\n activeFormConfig: any = {};\n\n @Input()\n formsList: any[] = [];\n\n @Output()\n onClickSetActiveForm: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n getFormsList: EventEmitter<any> = new EventEmitter<any>();\n\n selectedForm: string = \"\";\n setSelectedForm(selected_form: string): void {\n this.selectedForm = selected_form;\n }\n\n addForm: FormGroup = new FormGroup({\n key: new FormControl(\"\", Validators.required),\n title: new FormControl(\"\", Validators.required)\n });\n\n constructor() {}\n\n ngOnInit(): 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(\"activeFormConfig\")) {\n this.activeFormConfig = changes.activeFormConfig.currentValue;\n }\n if (verifyChange(\"formsList\")) {\n this.formsList = changes.formsList.currentValue;\n }\n }\n\n @logMethod\n handleOnClickSetActiveForm(selectedForm: string) {\n if (this.selectedForm !== selectedForm) {\n this.selectedForm = selectedForm;\n this.onClickSetActiveForm.emit(selectedForm);\n }\n }\n\n @logMethod\n handleOnClickAddForm() {\n if (this.addForm.invalid) {\n alert(\"Please fill all the fields\");\n return;\n } else {\n if (isEmptyValue(this.activeFormConfig)) {\n this.activeFormConfig = {\n key: this.addForm.value.key.toUpperCase(),\n title: this.addForm.value.title,\n type: \"FORM\"\n };\n }\n\n const newForm = {\n key: this.addForm.value.key.toUpperCase(),\n title: this.addForm.value.title,\n type: \"FORM\",\n fields: [],\n required: true\n };\n this.formsList.push(newForm);\n this.formsList = getObjectDeepCopy(convertFormListConfig(this.formsList));\n this.addForm.reset();\n\n this.getFormsList.emit({ formsList: this.formsList });\n }\n }\n}\n","<div class=\"container\">\n <form\n class=\"add-form-container\"\n [formGroup]=\"addForm\"\n >\n <input\n type=\"text\"\n formControlName=\"key\"\n placeholder=\"form key\"\n />\n <input\n type=\"text\"\n formControlName=\"title\"\n placeholder=\"form title\"\n />\n <kwikui-button\n size=\"s\"\n styles=\"width: 100%\"\n label=\"add form\"\n shape=\"rounded\"\n (click)=\"handleOnClickAddForm()\"\n ></kwikui-button>\n </form>\n <hr />\n <div class=\"forms-list\">\n <ng-container *ngIf=\"formsList.length > 0; else NoForms\">\n <ng-container *ngFor=\"let form of formsList\">\n <ng-container [ngSwitch]=\"form.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'HTML'\">\n <div [innerHtml]=\"form.props.htmlContent | kwikuiSafeHtml\"></div>\n </ng-container>\n <!-- Type FORM -->\n <ng-container *ngSwitchCase=\"'FORM'\">\n <ng-container\n [ngTemplateOutlet]=\"FORM_BUTTON\"\n [ngTemplateOutletContext]=\"{\n form: form,\n activeFormConfig: activeFormConfig\n }\"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template #NoForms>\n <div class=\"no-form\">\n <div class=\"no-fields disclaimer\">\n <div class=\"icon\"><h1>+</h1></div>\n <div><p>Please add a new form to start</p></div>\n </div>\n </div>\n </ng-template>\n </div>\n <ng-container *ngIf=\"formsList.length > 0\">\n <hr />\n <div>\n <b>Total Forms: {{ formsList.length }}</b>\n </div>\n </ng-container>\n</div>\n\n<ng-template\n #FORM_BUTTON\n let-form=\"form\"\n let-activeFormConfig=\"activeFormConfig\"\n>\n <div\n [class]=\"'uf-section-item'\"\n [class.active]=\"\n activeFormConfig !== undefined && form.key === activeFormConfig.key\n \"\n (click)=\"handleOnClickSetActiveForm(form.key)\"\n >\n <div class=\"uf-form-section-card-title\">\n {{ form.props.title }} <span *ngIf=\"form?.required\">*</span>\n </div>\n <div class=\"uf-form-section-card-status\">\n <div class=\"uf-form-section-card-status-img edit\">\n <tui-svg src=\"tuiIconEdit\"></tui-svg>\n </div>\n </div>\n </div>\n</ng-template>\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 BUTTON = \"button\",\n TEXTAREA = \"textarea\",\n CHECKBOX = \"checkbox\",\n NUMBER = \"number\",\n DATE = \"date\",\n TIME = \"time\",\n IMAGE = \"image\",\n PREVIEW_IMAGE = \"preview-image\",\n PHONE = \"phone\",\n RADIO = \"radio\",\n SELECT = \"select\",\n DROPDOWN_WITH_SEARCH = \"dropdown-with-search\",\n API_CALL = \"api-call\",\n API = \"api\",\n OTP = \"otp\",\n AADHAAR_NUMBER = \"aadhaar-number\",\n SLIDER = \"slider\",\n FILE = \"file\",\n PASSWORD = \"password\",\n EMAIL = \"email\",\n CAPTURE = \"capture\",\n RECORD = \"record\",\n STAR_RATING = \"star-rating\"\n}\n\nexport type TFieldType =\n | EFieldType.HTML\n | EFieldType.TITLE\n | EFieldType.BUTTON\n | EFieldType.TEXT\n | EFieldType.TEXTAREA\n | EFieldType.CHECKBOX\n | EFieldType.NUMBER\n | EFieldType.DATE\n | EFieldType.TIME\n | EFieldType.PREVIEW_IMAGE\n | EFieldType.PHONE\n | EFieldType.RADIO\n | EFieldType.DROPDOWN_WITH_SEARCH\n | EFieldType.SELECT\n | EFieldType.API\n | EFieldType.API_CALL\n | EFieldType.OTP\n | EFieldType.AADHAAR_NUMBER\n | EFieldType.SLIDER\n | EFieldType.FILE\n | EFieldType.PASSWORD\n | EFieldType.EMAIL\n | EFieldType.CAPTURE\n | EFieldType.RECORD\n | EFieldType.STAR_RATING;\n\nexport type TFieldSelectOption = {\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 TFieldDefaultApiValue = {\n triggers: TTrigger[];\n rules: TRule[];\n actions: TAction[];\n};\n\nexport type TFieldDefault = {\n value: TFieldDefaultValue;\n options: TFieldDefaultDropdownOptions;\n api: TFieldDefaultApiValue;\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 TFieldEmailProperties = TFieldProperties & {\n case: string;\n domains: Array<string>;\n placeholder: string;\n readOnly: string;\n};\n\nexport type TFieldPasswordProperties = TFieldProperties & {\n placeholder: string;\n hintContent: string;\n readOnly: string;\n};\n\nexport type TFieldTextareaProperties = TFieldProperties & {\n placeholder: string;\n readOnly: string;\n};\n\nexport type TFieldCheckboxProperties = TFieldProperties & {\n contentAlign: string;\n size: string;\n readOnly: string;\n placeholder: 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 TFieldPreviewImageProperties = TFieldProperties & {\n altText: string;\n html: {\n before: string;\n after: string;\n };\n imageType: string;\n loadingType: string;\n};\n\nexport type TFieldSliderProperties = TFieldProperties & {\n min: number;\n max: number;\n step: number;\n quantum: number;\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 TFieldSelectProperties = 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 TFieldCaptureProperties = TFieldProperties & {\n containerStyles: string;\n buttonText: string;\n icon: string;\n showMediaFiles: boolean;\n uploadFileToServer: boolean;\n isCroppedImage: boolean;\n isMaskedImage: boolean;\n watermarkDataSources: TSource[];\n cameraConfig: {\n header: {\n title: string;\n isBack: boolean;\n isExpand: boolean;\n isClose: boolean;\n };\n footer: {\n isUpload: boolean;\n isFlip: boolean;\n isSwitch: boolean;\n };\n others: {\n isWatermark: boolean;\n isWatermarkForImageUpload: boolean;\n isFrontCamera: boolean;\n flipHorizontal: boolean;\n mask: {\n shape: string;\n };\n preview: {\n show: boolean;\n header: {\n isBack: boolean;\n isClose: boolean;\n };\n };\n };\n };\n};\n\nexport type TFieldRecordProperties = TFieldProperties & {\n containerStyles: string;\n buttonText: string;\n icon: string;\n showMediaFiles: boolean;\n uploadFileToServer: boolean;\n cameraConfig: {\n header: {\n title: string;\n isBack: boolean;\n isExpand: boolean;\n isClose: boolean;\n };\n footer: {\n isUpload: boolean;\n isFlip: boolean;\n isSwitch: boolean;\n };\n others: {\n isFrontCamera: boolean;\n flipHorizontal: boolean;\n minRecordingTimeInSeconds: number;\n maxRecordingTimeInSeconds: number;\n preview: {\n show: boolean;\n header: {\n isBack: boolean;\n isClose: boolean;\n };\n };\n };\n };\n};\n\nexport type TFieldStarRatingProperties = TFieldProperties & {\n color: string;\n icon: string;\n iconMarked: string;\n min: number;\n max: number;\n placeholder: string;\n size: 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 api?: TApi;\n properties: TFieldProperties;\n options?: Array<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 properties?: {\n bypassResetConfirmation?: boolean;\n };\n};\n\nexport type TFieldText = TField & {\n properties: TFieldTextProperties;\n};\n\nexport type TFieldTextArea = TField & {\n properties: TFieldTextareaProperties;\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 TFieldEmail = TField & {\n properties: TFieldEmailProperties;\n};\n\nexport type TFieldSelect = TField & {\n options: Array<TFieldSelectOption>;\n properties: TFieldSelectProperties;\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\nexport type TFieldPreviewImage = TField & {\n properties: TFieldPreviewImageProperties;\n};\n\nexport type TFieldCapture = TField & {\n properties: TFieldCaptureProperties;\n};\n\nexport type TFieldStarRating = TField & {\n properties: TFieldStarRatingProperties;\n};\n","export const FIELD_PROPERTIES = {\n button: {\n appearance: \"primary\",\n class: \"\",\n containerStyles: \"\",\n icon: \"\",\n iconRight: \"\",\n loading: false,\n shape: null,\n size: \"m\",\n styles: \"margin: 0rem auto; width: 100%;\"\n },\n text: {\n case: \"default\",\n containerStyles: \"\",\n postfix: \"\",\n prefix: \"\"\n },\n email: {\n case: \"default\",\n containerStyles: \"\",\n postfix: \"\",\n prefix: \"\"\n },\n password: {\n containerStyles: \"\",\n hintContent: \"\",\n postfix: \"\",\n prefix: \"\"\n },\n \"aadhaar-number\": {\n containerStyles: \"\",\n mask: \"# # # # - # # # # - # # # #\"\n },\n number: {\n containerStyles: \"\",\n decimal: \"never\",\n max: Infinity,\n min: -Infinity,\n placeholder: \"\",\n postfix: \"\",\n precision: 2,\n prefix: \"\"\n },\n phone: {\n containerStyles: \"\",\n countryCode: \"+91\",\n phoneMaskAfterCountryCode: \"####-######\",\n placeholder: \"\",\n postfix: \"\",\n prefix: \"\",\n removeCountryCodeFromValue: true\n },\n html: {\n containerStyles: \"\"\n },\n checkbox: {\n containerStyles: \"\"\n },\n textarea: {\n containerStyles: \"\"\n },\n title: {\n containerStyles: \"\"\n },\n image: {\n after: \"\",\n altText: \"\",\n before: \"\",\n class: \"\",\n containerStyles: \"\",\n html: {},\n imageType: \"url\",\n loadingType: \"auto\",\n styles: \"\"\n },\n date: {\n containerStyles: \"\",\n maxCalculatedFromToday: {\n year: 0,\n month: 0,\n day: 0\n },\n minCalculatedFromToday: {\n year: new Date().getFullYear(),\n month: new Date().getMonth(),\n day: new Date().getDate()\n },\n placeholder: \"\",\n postfix: \"\",\n prefix: \"\"\n },\n time:{\n containerStyles: \"\",\n items: undefined,\n mode: \"HH:MM\",\n placeholder: \"\",\n postfix: \"\",\n prefix: \"\"\n },\n radio: {\n containerStyles: \"\",\n orientation: \"vertical\",\n size: \"m\"\n },\n slider: {\n containerStyles: \"\",\n max: 100,\n min: 0,\n postfix: \"\",\n prefix: \"\",\n quantum: 1,\n size: \"l\",\n steps: 0\n },\n api: {\n containerStyles: \"\",\n shape: null,\n size: \"m\"\n },\n otp: {\n containerStyles: \"\",\n mode: \"multiple\",\n otpLength: 4,\n placeholder: \"\",\n size: \"m\"\n },\n file: {\n accept: \"application/pdf\",\n containerStyles: \"\",\n label: \"drop a file or\",\n link: \"click to upload\",\n maxFileSize: 1000000,\n multiple: true,\n size: \"m\",\n uploadFileToServer: true\n },\n capture: {\n containerStyles: \"\",\n buttonText: \"Camera\",\n icon: \"tuiIconCameraLarge\",\n showMediaFiles: true,\n uploadFileToServer: false,\n isCroppedImage: false,\n isMaskedImage: false,\n watermarkDataSources: [],\n cameraConfig: {\n header: {\n title: \"Camera\",\n isBack: false,\n isExpand: true,\n isClose: true\n },\n footer: {\n isUpload: true,\n isFlip: false,\n isSwitch: true\n },\n others: {\n isFrontCamera: false,\n isWatermark: false,\n isWatermarkForImageUpload: false,\n flipHorizontal: false,\n mask: {\n shape: \"\"\n },\n preview: {\n show: false,\n header: {\n isBack: false,\n isClose: false\n }\n }\n }\n }\n },\n record: {\n containerStyles: \"\",\n buttonText: \"Record\",\n icon: \"tuiIconVideoLarge\",\n showMediaFiles: true,\n uploadFileToServer: false,\n cameraConfig: {\n header: {\n title: \"Record\",\n isBack: false,\n isExpand: true,\n isClose: true\n },\n footer: {\n isUpload: true,\n isFlip: false,\n isSwitch: true\n },\n others: {\n isFrontCamera: false,\n flipHorizontal: false,\n minRecordingTimeInSeconds: 0,\n maxRecordingTimeInSeconds: 30,\n preview: {\n show: false,\n header: {\n isBack: false,\n isClose: false\n }\n }\n }\n }\n },\n select: {\n containerStyles: \"\",\n searchable: true\n },\n \"dropdown-with-search\": {\n searchable: true,\n containerStyles: \"\"\n },\n \"star-rating\": {\n color: \"var(--tui-primary)\",\n containerStyles: \"\",\n icon: `<svg xml:space=\"preserve\" width=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" id=\"_x3C_Layer_x3E_\" height=\"48px\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"star_x2C__favorite\"><path id=\"XMLID_2_\" fill=\"transparent\" stroke-width=\"3\" stroke=\"var(--tui-rating-color)\" d=\"M 23.3 38.6 l -10.9 5.7 c -1.2 0.6 -2.5 -0.4 -2.3 -1.6 l 2.1 -12.1 c 0.1 -0.5 -0.1 -1 -0.4 -1.4 l -8.8 -8.6 c -0.9 -0.9 -0.4 -2.5 0.9 -2.6 l 12.2 -1.8 c 0.5 -0.1 1 -0.4 1.2 -0.8 l 5.5 -11 c 0.6 -1.2 2.2 -1.2 2.8 0 l 5.5 11 c 0.2 0.5 0.7 0.8 1.2 0.8 l 12.2 1.8 c 1.3 0.2 1.8 1.8 0.9 2.6 l -8.8 8.6 c -0.4 0.4 -0.5 0.9 -0.4 1.4 l 2.1 12.1 c 0.2 1.3 -1.1 2.2 -2.3 1.6 l -10.9 -5.7 C 24.3 38.4 23.7 38.4 23.3 38.6 z\"></path></g></svg>`,\n iconMarked: `<svg xml:space=\"preserve\" width=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" id=\"_x3C_Layer_x3E_\" height=\"48px\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"star_x2C__favorite\"><path id=\"XMLID_2_\" fill=\"var(--tui-rating-color)\" stroke=\"var(--tui-rating-color)\" stroke-width=\"3\" d=\"M 23.3 38.6 l -10.9 5.7 c -1.2 0.6 -2.5 -0.4 -2.3 -1.6 l 2.1 -12.1 c 0.1 -0.5 -0.1 -1 -0.4 -1.4 l -8.8 -8.6 c -0.9 -0.9 -0.4 -2.5 0.9 -2.6 l 12.2 -1.8 c 0.5 -0.1 1 -0.4 1.2 -0.8 l 5.5 -11 c 0.6 -1.2 2.2 -1.2 2.8 0 l 5.5 11 c 0.2 0.5 0.7 0.8 1.2 0.8 l 12.2 1.8 c 1.3 0.2 1.8 1.8 0.9 2.6 l -8.8 8.6 c -0.4 0.4 -0.5 0.9 -0.4 1.4 l 2.1 12.1 c 0.2 1.3 -1.1 2.2 -2.3 1.6 l -10.9 -5.7 C 24.3 38.4 23.7 38.4 23.3 38.6 z\"></path></g></svg>`,\n max: 10,\n min: 0,\n placeholder: \"\",\n size: \"m\"\n }\n};\n","import { TuiDay, TuiTime } from \"@taiga-ui/cdk\";\nimport {\n checkObjectKeyExists,\n isNotEmptyValue,\n isEmptyValue,\n isObject,\n setMissingKeyValue\n} 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 appendHtmlMessage = (\n field: any,\n message: { message: string }\n): any => {\n if (checkObjectKeyExists(field, \"html\")) {\n if (isNotEmptyValue(field.html)) {\n const html = field.html.replace(\"{{message}}\", message.message);\n field.html = html;\n }\n }\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 filterDuplicatesMediaFiles = (array: string[]): string[] => {\n const uniqueFiles = new Set<string>();\n\n return array.filter((mediaFile) => {\n if (!uniqueFiles.has(mediaFile)) {\n uniqueFiles.add(mediaFile);\n return true;\n }\n return false;\n });\n};\n\nexport const filterDuplicatesFiles = (array: any[]): any[] => {\n const uniqueFiles = new Set<string>();\n return array.filter((file) => {\n const fileKey = `${file.name}-${file.size}`;\n if (!uniqueFiles.has(fileKey)) {\n uniqueFiles.add(fileKey);\n return true;\n }\n return false;\n });\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 const setApiTimerMessage = (field, timer = undefined) => {\n if (checkObjectKeyExists(field, \"api\")) {\n field[\"api\"][\"timer\"] = timer;\n } else {\n setMissingKeyValue(field, \"api\", { timer: timer });\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 case \"onlyWhitespaces\":\n errorMessage = `${fieldLabel} can't contain only empty spaces!`;\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 convertFormFieldTypeTimeToKwikUIFormat = (\n time: string\n): TuiTime => {\n const timeParts = time.split(/[.:]/);\n let hours = 0,\n minutes = 0,\n seconds = 0,\n milliseconds = 0;\n\n if (timeParts.length >= 2) {\n hours = parseInt(timeParts[0]);\n minutes = parseInt(timeParts[1]);\n\n if (timeParts.length >= 3) {\n seconds = parseInt(timeParts[2]);\n if (timeParts.length === 4) {\n milliseconds = parseInt(timeParts[3]);\n }\n }\n }\n\n let tuiTime = new TuiTime(hours, minutes, seconds, milliseconds);\n return tuiTime;\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 convertFormFieldTypeTimeToStandardFormat = (\n time: TuiTime\n): string => {\n let formattedDate: string;\n let hour = time.hours;\n let minutes = time.minutes;\n let seconds = time.seconds;\n let milliseconds = time.ms;\n\n formattedDate = `${hour.toString().padStart(2, \"0\")}:${minutes\n .toString()\n .padStart(2, \"0\")}${\n seconds > 0 ? `:${seconds.toString().padStart(2, \"0\")}` : \"\"\n }${\n seconds > 0 && milliseconds > 0\n ? `:${milliseconds.toString().padStart(2, \"0\")}`\n : \"\"\n }`;\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.TIME:\n if (typeof value !== \"string\") {\n convertedValue = convertFormFieldTypeTimeToStandardFormat(value);\n }\n break;\n case EFieldType.RADIO:\n convertedValue = value.label;\n break;\n case EFieldType.SELECT:\n if (Array.isArray(field.options)) {\n field.options.find((item: any) => {\n if (isObject(item)) {\n if (item.title == value) {\n convertedValue = item.value;\n }\n }\n });\n }\n break;\n case EFieldType.PHONE:\n let phoneField = field as TFieldPhone;\n if (phoneField.properties.removeCountryCodeFromValue) {\n convertedValue = value\n .toString()\n .replace(phoneField.properties.countryCode, \"\");\n }\n break;\n case EFieldType.CAPTURE:\n if (Array.isArray(value) && isNotEmptyValue(value[0])) {\n convertedValue = value[0];\n } else if (\n typeof value !== \"string\" ||\n (typeof value === \"string\" && isEmptyValue(value))\n ) {\n convertedValue = \"\";\n }\n break;\n case EFieldType.RECORD:\n if (Array.isArray(value) && isNotEmptyValue(value[0])) {\n convertedValue = value[0];\n } else if (\n typeof value !== \"string\" ||\n (typeof value === \"string\" && isEmptyValue(value))\n ) {\n convertedValue = \"\";\n }\n break;\n default:\n break;\n }\n } else {\n convertedValue = \"\";\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.SELECT:\n if (Array.isArray(field.options)) {\n field.options.find((item: any) => {\n if (isObject(item)) {\n if (item.value == value) {\n convertedValue = item.title;\n }\n }\n });\n }\n break;\n case EFieldType.DATE:\n convertedValue = convertFormFieldTypeDateToKwikUIFormat(value);\n break;\n case EFieldType.TIME:\n convertedValue = convertFormFieldTypeTimeToKwikUIFormat(value);\n break;\n case EFieldType.FILE:\n convertedValue = value;\n break;\n case EFieldType.CAPTURE:\n if (typeof value === \"string\") {\n convertedValue = [value];\n } else if (!Array.isArray(value)) {\n convertedValue = [];\n } else {\n convertedValue = value;\n }\n break;\n case EFieldType.RECORD:\n if (typeof value === \"string\") {\n convertedValue = [value];\n } else if (!Array.isArray(value)) {\n convertedValue = [];\n } else {\n convertedValue = value;\n }\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 case EFieldType.FILE:\n value = [];\n break;\n case EFieldType.CAPTURE:\n value = [];\n break;\n case EFieldType.RECORD:\n value = [];\n break;\n case EFieldType.SELECT:\n value = null;\n break;\n case EFieldType.DROPDOWN_WITH_SEARCH:\n value = null;\n break;\n default:\n value = \"\";\n break;\n }\n\n return value;\n};\n","import { TuiDay } from \"@taiga-ui/cdk\";\nimport { checkObjectKeyExists, isObject } from \"kwikid-toolkit\";\nimport { convertFormFieldTypeDateToKwikUIFormat } from \"../form-view/helpers/form-view.fields.helper\";\n\nexport const getFormFields = (formConfig: any): any[] => {\n let fields: any[] = [];\n\n if (checkObjectKeyExists(formConfig, \"multiForm\")) {\n fields = formConfig.multiForm.fields;\n } else if (checkObjectKeyExists(formConfig, \"fields\")) {\n fields = formConfig.fields;\n }\n\n return fields;\n};\n\nexport const setMissingFieldKeyValue = (\n field: any,\n key: string,\n value: any\n): any => {\n if (!checkObjectKeyExists(field, key)) {\n field[key] = value;\n }\n return field;\n};\n\nexport const setFieldKeyValue = (field: any, key: string, value: any): any => {\n field[key] = value;\n\n return field;\n};\n\nexport const setFieldKeyHidden = (field: any): any => {\n return setMissingFieldKeyValue(field, \"hidden\", false);\n};\n\nexport const setFieldAsFormElement = (field: any, value: boolean): any => {\n return setFieldKeyValue(field, \"isFormElement\", value);\n};\n\nexport const getMinDate = (field: any): any => {\n if (checkObjectKeyExists(field, \"min\")) {\n return convertFormFieldTypeDateToKwikUIFormat(field[\"min\"]);\n } else {\n return new TuiDay(0, 0, 1); // Year - 0000, Month - 0 (0 Indexing), Day - 1\n }\n};\n\nexport const getMaxDate = (field: any): any => {\n if (checkObjectKeyExists(field, \"max\")) {\n return convertFormFieldTypeDateToKwikUIFormat(field[\"max\"]);\n } else {\n return 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\nexport const updateLanguage = (object: any, language: string) => {\n if (isObject(object)) {\n if (language && checkObjectKeyExists(object, language)) {\n object = object[language];\n } else {\n object = object[\"en\"];\n }\n }\n\n return object;\n};\n\nexport const getLanguage = () => {\n return (\n localStorage.getItem(\"lng\") ??\n localStorage.getItem(\"lang\") ??\n localStorage.getItem(\"Lang\") ??\n localStorage.getItem(\"language\") ??\n localStorage.getItem(\"currentLang\") ??\n localStorage.getItem(\"selectedLang\") ??\n \"en\"\n );\n};\n","import {\n checkObjectKeyExists,\n checkObjectPathExists,\n getObjectDeepCopy,\n isEmptyValue,\n isNotEmptyValue,\n isObject,\n logMethod,\n mergeObjects,\n setMissingKeyValue,\n setValueToObjectPath\n} from \"kwikid-toolkit\";\nimport {\n EFieldType,\n TField\n} from \"../form-view/definitions/form-view.fields.definition\";\nimport { FIELD_PROPERTIES } from \"./config-converter.constants\";\nimport {\n updateLanguage,\n getFormFields,\n getMaxDate,\n getMinDate,\n setFieldAsFormElement,\n setFieldKeyHidden,\n setFieldKeyValue,\n setMissingFieldKeyValue,\n getLanguage\n} from \"./config-converter.helper\";\n\nexport class Converter {\n @logMethod\n updateFormConfigMiscellaneous(formConfig: any, args: any): any {\n if (checkObjectKeyExists(args, \"formsListLength\")) {\n formConfig = setValueToObjectPath(\n formConfig,\n \"formsListLength\",\n args.formsListLength\n );\n }\n\n return formConfig;\n }\n\n @logMethod\n updateFormConfigFromUserConfig(formConfig: any, userConfig: any): any {\n if (isNotEmptyValue(userConfig)) {\n if (checkObjectKeyExists(userConfig, \"theme\")) {\n if (checkObjectKeyExists(userConfig.theme, \"clientLogo\")) {\n setValueToObjectPath(\n formConfig,\n \"properties.header.logo.src\",\n userConfig.theme.clientLogo\n );\n }\n }\n }\n\n return formConfig;\n }\n\n @logMethod\n updateFormConfigProperties(formConfig: any): any {\n const formViewProperties = {\n header: {\n logo: {\n src: \"\",\n alt: \"Logo\",\n hidden: false,\n styles: \"\"\n },\n backButton: {\n mode: \"TABBED\",\n bypassConfirmation: false,\n hidden: true\n },\n title: {\n hidden: false,\n label: formConfig?.title ?? formConfig?.props.title ?? \"Form\",\n styles: \"\"\n },\n steps: {\n hidden: false,\n styles: \"\"\n }\n },\n main: {\n styles: \"\"\n },\n footer: {\n viewFormsButton: {\n bypassConfirmation: false,\n hidden: false,\n label: \"View Forms\"\n },\n saveButton: {\n hidden: false,\n label: \"Save\"\n }\n },\n isUnsavedDataAlertEnabled: false\n };\n\n if (checkObjectKeyExists(formConfig, \"properties\")) {\n formConfig.properties = getObjectDeepCopy(\n mergeObjects(formViewProperties, formConfig.properties)\n );\n } else {\n formConfig.properties = formViewProperties;\n }\n\n const language = getLanguage();\n\n if (checkObjectPathExists(formConfig, \"properties.header.title.label\")) {\n formConfig.properties.header.title.label = updateLanguage(\n formConfig.properties.header.title.label,\n language\n );\n }\n\n if (\n checkObjectPathExists(\n formConfig,\n \"properties.footer.viewFormsButton.label\"\n )\n ) {\n formConfig.properties.footer.viewFormsButton.label = updateLanguage(\n formConfig.properties.footer.viewFormsButton.label,\n language\n );\n }\n\n if (\n checkObjectPathExists(formConfig, \"properties.footer.saveButton.label\")\n ) {\n formConfig.properties.footer.saveButton.label = updateLanguage(\n formConfig.properties.footer.saveButton.label,\n language\n );\n }\n\n return formConfig;\n }\n\n @logMethod\n convertFormConfig(formConfig: any): any {\n const formatOnFieldType = (field: any): any => {\n const updateFormFieldProperties = (field: any): any => {\n if (checkObjectKeyExists(FIELD_PROPERTIES, field.type)) {\n field.properties = mergeObjects(\n getObjectDeepCopy(FIELD_PROPERTIES[field.type]),\n field.properties\n );\n }\n\n return field;\n };\n\n const formatFieldTypeHtml = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, false);\n\n return field;\n };\n const formatFieldTypeTitle = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, false);\n\n return field;\n };\n const formatFieldTypeButton = (field: any): any => {\n field = setMissingFieldKeyValue(field, \"hidden\", false);\n field = setFieldAsFormElement(field, false);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeText = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypePassword = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeEmail = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeStarRating = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeTextarea = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n return field;\n };\n const formatFieldTypeCheckbox = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n return field;\n };\n const formatFieldTypeNumber = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n\n if (checkObjectKeyExists(field, \"key\")) {\n if (field.key === \"aadhaar_number\") {\n field = setFieldKeyValue(field, \"type\", \"aadhaar_number\");\n }\n if (field.key === \"contact_number\") {\n field = setFieldKeyValue(field, \"type\", \"phone\");\n }\n\n if (field.type === \"phone\" || field.type === \"number\") {\n field = updateFormFieldProperties(field);\n }\n }\n\n return field;\n };\n const formatFieldTypeImage = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeDate = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n\n field.properties = getObjectDeepCopy(\n mergeObjects(\n getObjectDeepCopy(FIELD_PROPERTIES[field.type]),\n {\n max: getMaxDate(field),\n min: getMinDate(field)\n },\n field.properties\n )\n );\n\n return field;\n };\n const formatFieldTypeTime = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypePhone = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeRadio = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\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 formatFieldTypeSlider = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeSelect = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeApi = (field: any): any => {\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n if (!checkObjectKeyExists(field, \"showLoader\")) {\n field = setFieldKeyValue(field, \"showLoader\", false);\n }\n\n if (!checkObjectKeyExists(field, \"api\")) {\n const fieldApiDefaults = {\n url: \"\",\n request: {},\n response: {},\n status: {\n value: \"default\",\n labels: {\n default: \"Call API\",\n loading: \"Call API\",\n retry: \"Retry API\",\n success: \"API Success\",\n failed: \"API Failed\"\n }\n }\n };\n field.api = getObjectDeepCopy(\n mergeObjects(fieldApiDefaults, fieldApiDefaults)\n );\n }\n if (\n !checkObjectKeyExists(field.api, \"request\") &&\n !checkObjectKeyExists(field.api, \"entrypoint\")\n ) {\n const apiEntrypoint = {\n triggers: [\"ON_API_CALL\"],\n rules: [],\n actions: [\n {\n id: \"1\",\n key: \"API_CALL\",\n condition: \"true\",\n props: {\n fieldKey: field.key,\n apiKey: field.api.endpoints[0].apiKey\n }\n }\n ]\n };\n field.entrypoint = getObjectDeepCopy(\n mergeObjects(apiEntrypoint, field.api)\n );\n }\n return field;\n };\n const formatFieldTypeOtp = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n\n field.properties = getObjectDeepCopy(\n mergeObjects(\n getObjectDeepCopy(FIELD_PROPERTIES[field.type]),\n {\n mask: new Array(field?.properties?.otpLength ?? 4)\n .fill(\"#\")\n .join(\" \")\n },\n field.properties\n )\n );\n\n return field;\n };\n const formatFieldTypeAadhaarNumber = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeFile = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeCapture = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeRecord = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n\n switch (field.type) {\n case EFieldType.HTML:\n field = formatFieldTypeHtml(field);\n break;\n case EFieldType.TITLE:\n field = formatFieldTypeTitle(field);\n break;\n case EFieldType.BUTTON:\n field = formatFieldTypeButton(field);\n break;\n case EFieldType.TEXT:\n field = formatFieldTypeText(field);\n break;\n case EFieldType.PASSWORD:\n field = formatFieldTypePassword(field);\n break;\n case EFieldType.EMAIL:\n field = formatFieldTypeEmail(field);\n break;\n case EFieldType.TEXTAREA:\n field = formatFieldTypeTextarea(field);\n break;\n case EFieldType.CHECKBOX:\n field = formatFieldTypeCheckbox(field);\n break;\n case EFieldType.NUMBER:\n field = formatFieldTypeNumber(field);\n break;\n case EFieldType.PREVIEW_IMAGE:\n field = setFieldKeyValue(field, \"type\", \"image\");\n field = formatFieldTypeImage(field);\n break;\n case EFieldType.IMAGE:\n field = formatFieldTypeImage(field);\n break;\n case EFieldType.DATE:\n field = formatFieldTypeDate(field);\n break;\n case EFieldType.TIME:\n field = formatFieldTypeTime(field);\n break;\n case EFieldType.PHONE:\n field = formatFieldTypePhone(field);\n break;\n case EFieldType.RADIO:\n field = formatFieldTypeRadio(field);\n break;\n case EFieldType.SLIDER:\n field = formatFieldTypeSlider(field);\n break;\n case \"search-text\":\n field = setFieldKeyValue(field, \"type\", \"select\");\n field = formatFieldTypeSelect(field);\n break;\n case EFieldType.DROPDOWN_WITH_SEARCH:\n field = setFieldKeyValue(field, \"type\", \"select\");\n field = formatFieldTypeSelect(field);\n break;\n case EFieldType.SELECT:\n field = formatFieldTypeSelect(field);\n break;\n case EFieldType.API_CALL:\n field = setFieldKeyValue(field, \"type\", \"api\");\n field = formatFieldTypeApi(field);\n break;\n case EFieldType.API:\n field = formatFieldTypeApi(field);\n break;\n case EFieldType.OTP:\n field = formatFieldTypeOtp(field);\n break;\n case EFieldType.AADHAAR_NUMBER:\n field = formatFieldTypeAadhaarNumber(field);\n break;\n case EFieldType.FILE:\n field = formatFieldTypeFile(field);\n break;\n case EFieldType.CAPTURE:\n field = formatFieldTypeCapture(field);\n break;\n case EFieldType.RECORD:\n field = formatFieldTypeRecord(field);\n break;\n case EFieldType.STAR_RATING:\n field = formatFieldTypeStarRating(field);\n break;\n default:\n break;\n }\n\n return field;\n };\n\n const updateFieldValidators = (field: any): any => {\n if (field.isFormElement) {\n const validators = checkObjectKeyExists(field, \"validators\")\n ? field.validators\n : {};\n\n field = setMissingFieldKeyValue(field, \"validators\", {});\n\n field = 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 EFieldType.TEXT:\n delete field.validators.min;\n delete field.validators.max;\n break;\n case EFieldType.CHECKBOX:\n delete field.validators.min;\n delete field.validators.max;\n break;\n case EFieldType.PREVIEW_IMAGE:\n delete field.validators.min;\n delete field.validators.max;\n delete field.validators.minLength;\n delete field.validators.maxLength;\n break;\n case EFieldType.FILE:\n delete field.validators.min;\n delete field.validators.max;\n delete field.validators.minLength;\n delete field.validators.maxLength;\n delete field.validators.pattern;\n break;\n case EFieldType.CAPTURE:\n delete field.validators.min;\n delete field.validators.max;\n delete field.validators.minLength;\n delete field.validators.maxLength;\n delete field.validators.pattern;\n break;\n case EFieldType.RECORD:\n delete field.validators.min;\n delete field.validators.max;\n delete field.validators.minLength;\n delete field.validators.maxLength;\n delete field.validators.pattern;\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 updateFieldDefaultValue = (field: any): any => {\n if (field.isFormElement) {\n if (checkObjectKeyExists(field, \"defaultValue\")) {\n return field;\n } else if (checkObjectPathExists(field, \"default.value.sources\")) {\n return field;\n } else if (!checkObjectPathExists(field, \"default.value.sources\")) {\n const defaultValue = {\n is_found: false,\n value: \"\",\n sources: [\n {\n key: \"OBJECT\",\n props: {\n object: {\n key: \"FORM_DATA\",\n path: `$.${field.key}`\n }\n },\n value: \"\",\n validation: {\n is_valid: false,\n triggers: [\"ON_INIT\"],\n rules: [],\n actions: [\n {\n id: \"1\",\n key: \"SET_FIELD_DEFAULT_VALUE\",\n condition: \"1\",\n props: {\n value: {\n source: {\n key: \"OBJECT\",\n props: {\n object: {\n key: \"FORM_DATA\",\n path: `$.${field.key}`\n }\n }\n }\n }\n }\n }\n ]\n }\n }\n ]\n };\n\n field = setValueToObjectPath(field, \"default.value\", defaultValue);\n return field;\n }\n\n delete field[\"defaultVal\"];\n delete field[\"defaultValue\"];\n }\n\n return field;\n };\n\n const updateFieldDisability = (field: any): any => {\n field = setMissingKeyValue(field, \"disabled\", false);\n\n return field;\n };\n\n const updateFieldMessages = (field: any): any => {\n if (field.isFormElement) {\n field = 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 = 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 const updateFieldLanguage = (field: TField, language: string): any => {\n if (checkObjectKeyExists(field, \"label\")) {\n field.label = updateLanguage(field.label, language);\n }\n\n if (checkObjectPathExists(field, \"properties.placeholder\")) {\n field.properties[\"placeholder\"] = updateLanguage(\n field.properties[\"placeholder\"],\n language\n );\n }\n\n if (checkObjectPathExists(field, \"properties.label\")) {\n field.properties[\"label\"] = updateLanguage(\n field.properties[\"label\"],\n language\n );\n }\n\n const updateApiStatus = (fieldApiStatus) => {\n for (const status in fieldApiStatus) {\n fieldApiStatus[status] = updateLanguage(\n fieldApiStatus[status],\n language\n );\n }\n return fieldApiStatus;\n };\n\n switch (field.type) {\n case EFieldType.HTML:\n field[\"html\"] = updateLanguage(field[\"html\"], language);\n break;\n case EFieldType.CAPTURE:\n field.properties[\"cameraConfig\"].header.title = updateLanguage(\n field.properties[\"cameraConfig\"].header.title,\n language\n );\n break;\n case EFieldType.RECORD:\n field.properties[\"cameraConfig\"].header.title = updateLanguage(\n field.properties[\"cameraConfig\"].header.title,\n language\n );\n break;\n case EFieldType.SELECT:\n field.options = field.options.map((option) => {\n if (isObject(option)) {\n if (checkObjectKeyExists(option, \"title\")) {\n option.title = updateLanguage(option.title, language);\n } else {\n option = updateLanguage(option, language);\n }\n }\n return option;\n });\n break;\n case EFieldType.DROPDOWN_WITH_SEARCH:\n field.options = field.options.map((option) => {\n if (isObject(option)) {\n if (checkObjectKeyExists(option, \"title\")) {\n option.title = updateLanguage(option.title, language);\n } else {\n option = updateLanguage(option, language);\n }\n }\n return option;\n });\n break;\n case EFieldType.RADIO:\n field.options = field.options.map((option) => {\n if (isObject(option)) {\n if (checkObjectKeyExists(option, \"label\")) {\n option.label = updateLanguage(option.label, language);\n } else {\n option = updateLanguage(option, language);\n }\n }\n return option;\n });\n break;\n case EFieldType.API_CALL:\n field[\"api\"][\"status\"][\"labels\"] = updateApiStatus(\n field[\"api\"][\"status\"][\"labels\"]\n );\n break;\n default:\n break;\n }\n\n return field;\n };\n\n let fields: any[] = getFormFields(formConfig);\n\n let fieldGroups: any = {};\n\n for (let field of fields) {\n field = updateFieldLanguage(field, getLanguage());\n\n field = formatOnFieldType(field);\n\n field = updateFieldDisability(field);\n\n fieldGroups = updateFormFieldGroups(fieldGroups, field);\n\n field = updateFieldDefaultValue(field);\n\n field = updateFieldValidators(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 enum EFormEditorType {\n FIELDS = \"FIELDS\",\n NON_FIELDS = \"NON_FIELDS\"\n}\n\nexport type TFormEditorType =\n | EFormEditorType.FIELDS\n | EFormEditorType.NON_FIELDS;\n","import _ from \"lodash\";\n\nexport const removeField = (fields: any[], fieldKey: string): any => {\n fields = fields.filter((row) => {\n if (row.key !== fieldKey) {\n return row;\n }\n });\n\n return fields;\n};\n\nexport const getFieldIndex = (fields: any[], identifier: any): number => {\n return fields.findIndex((row) => row.key === identifier);\n};\n\nexport const findModifiedKeys = (\n defaultJson: any,\n modifiedJson: any,\n currentPath = \"\"\n): any => {\n return _.reduce(\n modifiedJson,\n (result: any, value: any, key: string) => {\n const path = currentPath ? `${currentPath}.${key}` : key;\n const defaultValue = defaultJson[key];\n\n if (_.isObject(value) && _.isObject(defaultValue)) {\n const nestedResult = findModifiedKeys(defaultValue, value, path);\n if (!_.isEmpty(nestedResult)) {\n result[key] = nestedResult;\n }\n } else if (!_.isEqual(value, defaultValue)) {\n result[key] = value;\n }\n\n return result;\n },\n {}\n );\n};\n","export const TABLE_COLUMNS = [\n \"key\",\n \"label\",\n \"type\",\n \"disabled\",\n \"validators\",\n \"properties\",\n \"options\",\n \"delete\"\n];\n\nexport const OPTIONS = {\n type: [\n \"title\",\n \"text\",\n \"textarea\",\n \"checkbox\",\n \"number\",\n \"date\",\n \"phone\",\n \"radio\",\n \"radio-list\",\n \"dropdown-with-search\",\n \"select\",\n \"slider\",\n \"otp\",\n \"button\",\n \"api\",\n \"api-call\",\n \"aadhaar-number\",\n \"input-aadhaar\",\n \"image\",\n \"preview-image\",\n \"html\",\n \"file\",\n \"capture\"\n ],\n disabled: [true, false],\n properties: {\n button: {},\n text: {\n case: [\"default\", \"upper\", \"lower\"]\n },\n checkbox: {\n contentAlign: [\"left\", \"right\"],\n size: [\"m\", \"l\"],\n variant: [\"basic\", \"block\", \"labeled\"]\n },\n number: {\n decimal: [true, false]\n },\n phone: {\n removeCountryCodeFromValue: [true, false]\n },\n radio: {\n orientation: [\"horizontal\", \"vertical\"],\n size: [\"l\", \"m\"]\n },\n \"radio-list\": {\n orientation: [\"horizontal\", \"vertical\"],\n size: [\"l\", \"m\"]\n },\n slider: {\n size: [\"s\", \"m\", \"l\"]\n },\n otp: {\n size: [\"s\", \"m\", \"l\"],\n mode: [\"single\", \"multiple\"]\n },\n image: {\n imageType: [\"base64\", \"url\"],\n loadingType: [\"auto\", \"lazy\", \"eager\"]\n },\n \"preview-image\": {\n imageType: [\"base64\", \"url\"],\n loadingType: [\"auto\", \"lazy\", \"eager\"]\n },\n file: {},\n capture: {}\n },\n validators: {\n required: [true, false],\n pattern: {\n key: [\n \"IS_AADHAAR_NUMBER\",\n \"IS_BANK_ACCOUNT_NO\",\n \"IS_BANK_SWIFT_CODE\",\n \"IS_BIRTH_CERTIFICATE_NO\",\n \"IS_CHEQUE_NO\",\n \"IS_CIN\",\n \"IS_CREDIT_CARD_NO\",\n \"IS_CKYC_NO\",\n \"IS_DRIVING_LICENSE\",\n \"IS_GSTIN\",\n \"IS_IFSC_NO\",\n \"IS_MICR_CODE\",\n \"IS_MOBILE_NO\",\n \"IS_NEFT_OR_RTGS_NO\",\n \"IS_PAN_NUMBER\",\n \"IS_PASSPORT\",\n \"IS_PHONE_NO\",\n \"IS_PINCODE\",\n \"IS_PURCHASE_ORDER_NO\",\n \"IS_RATION_CARD_NO\",\n \"IS_SERVICE_TAX_NO\",\n \"IS_SOCIAL_SECURITY_NO\",\n \"IS_UPI_TRANSACTION_REFERENCE_NO\",\n \"IS_VAT_TIN_NO\",\n \"IS_VEHICLE_REGISTRATION_NO\",\n \"IS_VOTER_ID\",\n \"IS_ALPHA\",\n \"IS_ALPHANUMERIC\",\n \"IS_BOOLEAN\",\n \"IS_EMAIL\",\n \"IS_EMPTY\",\n \"IS_FALSE\",\n \"IS_HTML\",\n \"IS_INTEGER\",\n \"IS_JSON\",\n \"IS_LOWERCASE\",\n \"IS_NOT_EMPTY\",\n \"IS_NUMBER\",\n \"IS_TRUE\",\n \"IS_UPPERCASE\",\n \"CUSTOM\"\n ]\n }\n }\n};\n\nexport const FIELD_VALIDATORS_CONFIG = {\n required: false,\n minLength: 0,\n maxLength: 0,\n pattern: {\n key: \"CUSTOM\",\n pattern: \"\"\n },\n min: 0,\n max: 0\n};\n\nexport const FIELD_PROPERTIES_COMMON_CONFIG = {\n readOnly: false,\n placeholder: \"\"\n};\n\nexport const FIELD_PROPERTIES_CONFIG = {\n button: {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n title: {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n text: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n case: \"default\"\n },\n textarea: {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n checkbox: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n contentAlign: \"right\",\n size: \"l\",\n variant: \"labeled\"\n },\n number: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n decimal: false,\n min: -Infinity,\n max: Infinity,\n postfix: \"\",\n prefix: \"\",\n precision: 0\n },\n date: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n min: { month: 0, day: 0, year: 0 },\n max: { month: 0, day: 0, year: 0 },\n minCalculated: { month: 0, day: 0, year: 0 },\n maxCalculated: { month: 0, day: 0, year: 0 }\n },\n phone: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n countryCode: \"+91\",\n phoneMaskAfterCountryCode: \"\",\n removeCountryCodeFromValue: true\n },\n radio: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n orientation: \"vertical\",\n size: \"l\"\n },\n \"radio-list\": {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n orientation: \"vertical\",\n size: \"l\"\n },\n select: {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n slider: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n min: -Infinity,\n max: Infinity,\n quantum: 0,\n size: \"m\",\n steps: 1\n },\n otp: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n mask: \"\",\n size: \"m\",\n mode: \"multiple\",\n otpLength: 6\n },\n api: {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n \"api-call\": {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n \"aadhaar-number\": {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n \"input-aadhaar\": {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n image: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n altText: \"\",\n html: { before: \"\", after: \"\" },\n imageType: \"url\",\n loadingType: \"auto\",\n styles: \"\",\n class: \"\"\n },\n \"preview-image\": {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n altText: \"\",\n html: { before: \"\", after: \"\" },\n imageType: \"url\",\n loadingType: \"auto\",\n styles: \"\",\n class: \"\"\n },\n html: {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n file: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n accept: \"application/pdf\",\n containerStyles: \"\",\n label: \"drop a file or\",\n link: \"click to upload\",\n maxFileSize: 1000000,\n multiple: true,\n size: \"m\",\n uploadFileToServer: true\n },\n capture: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n containerStyles: \"\",\n buttonText: \"Camera\",\n icon: \"tuiIconCameraLarge\",\n showMediaFiles: true,\n uploadFileToServer: false,\n isCroppedImage: false,\n isMaskedImage: false,\n cameraConfig: {\n header: {\n title: \"Camera\",\n isBack: false,\n isExpand: true,\n isClose: true\n },\n footer: {\n isUpload: true,\n isFlip: false,\n isSwitch: true\n },\n others: {\n isFrontCamera: false,\n flipHorizontal: false,\n mask: {\n shape: \"\"\n },\n preview: {\n show: false,\n header: {\n isBack: false,\n isClose: false\n }\n }\n }\n }\n }\n};\n\nexport const FIELD_COMMON_CONFIG = {\n key: \"\",\n label: \"\",\n disabled: false,\n validators: {\n ...FIELD_VALIDATORS_CONFIG\n }\n};\n\nexport const FIELD_CONFIG = {\n title: {\n ...FIELD_COMMON_CONFIG,\n type: \"title\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.title\n }\n },\n text: {\n ...FIELD_COMMON_CONFIG,\n type: \"text\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.text\n }\n },\n button: {\n ...FIELD_COMMON_CONFIG,\n type: \"button\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.button\n }\n },\n textarea: {\n ...FIELD_COMMON_CONFIG,\n type: \"textarea\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.textarea\n }\n },\n checkbox: {\n ...FIELD_COMMON_CONFIG,\n type: \"checkbox\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.checkbox\n }\n },\n number: {\n ...FIELD_COMMON_CONFIG,\n type: \"number\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.number\n }\n },\n date: {\n ...FIELD_COMMON_CONFIG,\n type: \"date\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.date\n }\n },\n phone: {\n ...FIELD_COMMON_CONFIG,\n type: \"phone\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.phone\n }\n },\n radio: {\n ...FIELD_COMMON_CONFIG,\n type: \"radio\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"radio\"]\n },\n options: []\n },\n \"radio-list\": {\n ...FIELD_COMMON_CONFIG,\n type: \"radio-list\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"radio-list\"]\n },\n options: []\n },\n select: {\n ...FIELD_COMMON_CONFIG,\n type: \"select\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"select\"]\n },\n options: []\n },\n slider: {\n ...FIELD_COMMON_CONFIG,\n type: \"slider\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.slider\n }\n },\n otp: {\n ...FIELD_COMMON_CONFIG,\n type: \"otp\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.otp\n }\n },\n api: {\n ...FIELD_COMMON_CONFIG,\n type: \"api\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"api\"]\n }\n },\n \"api-call\": {\n ...FIELD_COMMON_CONFIG,\n type: \"api-call\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"api-call\"]\n }\n },\n \"aadhaar-number\": {\n ...FIELD_COMMON_CONFIG,\n type: \"aadhaar-number\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"aadhaar-number\"]\n }\n },\n \"input-aadhaar\": {\n ...FIELD_COMMON_CONFIG,\n type: \"input-aadhaar\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"input-aadhaar\"]\n }\n },\n image: {\n ...FIELD_COMMON_CONFIG,\n type: \"image\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"image\"]\n }\n },\n \"preview-image\": {\n ...FIELD_COMMON_CONFIG,\n type: \"preview-image\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"preview-image\"]\n }\n },\n html: {\n ...FIELD_COMMON_CONFIG,\n type: \"html\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.html\n },\n html: {\n before: \"\",\n after: \"\"\n }\n },\n file: {\n ...FIELD_COMMON_CONFIG,\n type: \"file\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.file\n }\n },\n capture: {\n ...FIELD_COMMON_CONFIG,\n type: \"capture\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.capture\n }\n }\n};\n\nexport const NOFIELD_CONFIG = {\n required: true,\n type: \"FORM\",\n props: {\n url: \"\",\n title: \"\"\n },\n hidden: false,\n disabled: false,\n dependentOn: [],\n title: \"\",\n properties: {\n header: {\n logo: { src: \"\", alt: \"Logo\", hidden: false },\n backButton: { mode: \"TABBED\", bypassConfirmation: false, hidden: true },\n title: { hidden: false, label: \"\" },\n steps: { hidden: false }\n },\n footer: {\n viewFormsButton: {\n bypassConfirmation: false,\n hidden: false,\n label: \"Back\"\n },\n saveButton: { hidden: false, label: \"Save\" }\n },\n isUnsavedDataAlertEnabled: false\n },\n fieldGroups: {}\n};\n","import { FormControl, FormGroup } from \"@angular/forms\";\nimport { logMethod } from \"kwikid-toolkit\";\n\nexport class KwikIDFormBuilderFormEditorService {\n constructor() {}\n\n @logMethod\n createNestedFormGroup(object: any[]): FormGroup {\n const formGroup = {};\n\n for (let index in object) {\n formGroup[index] = new FormControl(object[index]);\n }\n\n return new FormGroup(formGroup);\n }\n\n @logMethod\n downloadJSON(object: any) {\n const DATA = JSON.stringify(object); // Convert object to JSON string\n const type = \"application/json\";\n const FILE_NAME = `${object.key}.json`;\n\n const blob = new Blob([DATA], { type });\n const url = window.URL.createObjectURL(blob);\n const link = document.createElement(\"a\");\n link.download = FILE_NAME;\n link.href = url;\n link.click();\n window.URL.revokeObjectURL(url);\n }\n\n @logMethod\n copyToClipboard(text: any) {\n if (typeof text === \"string\") {\n navigator.clipboard.writeText(text);\n } else {\n navigator.clipboard.writeText(JSON.stringify(text));\n }\n }\n}\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport {\n checkObjectKeyExists,\n getObjectDeepCopy,\n getObjectValueFromPath,\n logMethod,\n mergeObjects,\n setValueToObjectPath\n} from \"kwikid-toolkit\";\nimport { KwikUILoaderService } from \"kwikui\";\nimport _ from \"lodash\";\nimport { Converter } from \"../../renderer/config-converter/config-converter\";\nimport {\n EFormEditorType,\n TFormEditorType\n} from \"./builder-form-editor.definitions\";\nimport {\n findModifiedKeys,\n getFieldIndex,\n removeField\n} from \"./builder-form-editor.helper\";\nimport {\n FIELD_CONFIG,\n FIELD_PROPERTIES_CONFIG,\n FIELD_VALIDATORS_CONFIG,\n NOFIELD_CONFIG,\n OPTIONS,\n TABLE_COLUMNS\n} from \"./builder.form-editor.constants\";\nimport { KwikIDFormBuilderFormEditorService } from \"./builder.form-editor.service\";\n\n@Component({\n selector: \"kwikid-builder-form-editor\",\n templateUrl: \"./builder-form-editor.component.html\",\n styleUrls: [\"../shared.scss\", \"./builder-form-editor.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\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 KwikIDBuilderFormEditorComponent implements OnInit, OnChanges {\n /**\n * Components Inputs\n */\n @Input()\n activeFormConfig: any = {};\n\n /**\n * Component Outputs (Event Emitters)\n */\n @Output()\n onClickSaveActiveFormConfig: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * Component Variables\n */\n // Field Editor Variables\n rows: any[] = [];\n columns: any[] = TABLE_COLUMNS;\n activeFieldConfigEditing: any = {};\n showFieldConfigValidatorsConfigEditor: boolean = false;\n activeFieldConfigValidatorsConfig: any = {};\n showFieldConfigPropertiesConfigEditor: boolean = false;\n activeFieldConfigPropertiesConfig: any = {};\n showFieldConfigOptionsConfigEditor: boolean = false;\n activeFieldConfigOptionsConfig: any = [];\n\n // General Editor Variables\n editorTypeOptions: any[] = [\n { key: \"FIELDS\", label: \"fields\" },\n { key: \"NON_FIELDS\", label: \"other config\" }\n ];\n activeEditorType: TFormEditorType = EFormEditorType.FIELDS;\n activeFormConfig_Fields: any[] = [];\n activeFormConfig_NoFields: any = {};\n showConfigPreview: boolean = false;\n\n // Forms\n formGroup: FormGroup = new FormGroup({});\n\n // Form Saved State\n savedConfig: boolean = false;\n markSaved(): void {\n this.savedConfig = true;\n }\n markUnsaved(): void {\n this.savedConfig = false;\n }\n\n // Dialog\n dialogOpen: boolean = false;\n showDialog(): void {\n this.dialogOpen = true;\n }\n hideDialog(): void {\n this.dialogOpen = false;\n }\n dialogError: boolean = false;\n showDialogError(): void {\n this.dialogError = true;\n }\n hideDialogError(): void {\n this.dialogError = false;\n }\n\n constructor(\n public loaderService: KwikUILoaderService,\n public kwikidBuilderFormEditorService: KwikIDFormBuilderFormEditorService\n ) {}\n\n /**\n * Angular Lifecycle Methods\n */\n @logMethod\n ngOnInit(): 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(\"activeFormConfig\")) {\n let formConfig = new Converter().convertFormConfig(\n changes.activeFormConfig.currentValue\n );\n formConfig = new Converter().updateFormConfigProperties(formConfig);\n this.activeFormConfig = formConfig;\n\n this.initFormEditor(this.activeFormConfig);\n }\n }\n\n @logMethod\n initFormEditor(activeFormConfig: any): void {\n this.toggleLoader(true);\n\n this.activeFormConfig_Fields = getObjectDeepCopy(activeFormConfig.fields);\n this.activeFormConfig_NoFields = getObjectDeepCopy(activeFormConfig);\n delete this.activeFormConfig_NoFields.fields;\n\n this.rows = this.activeFormConfig_Fields.map((field: any) => {\n return {\n key: field.key,\n label: field.label,\n type: field.type,\n disabled: field.disabled,\n validators: { ...FIELD_VALIDATORS_CONFIG, ...field.validators },\n properties: {\n ...FIELD_PROPERTIES_CONFIG[field.type],\n ...field.properties\n },\n options: field?.options ?? []\n };\n });\n\n this.formGroup = this.kwikidBuilderFormEditorService.createNestedFormGroup(\n this.rows\n );\n\n this.toggleLoader(false);\n }\n\n /**\n * General Editor Common Methods\n */\n @logMethod\n handleOnClickChangeActiveEditor(editorType: string) {\n this.activeEditorType = editorType as TFormEditorType;\n }\n\n @logMethod\n handleOnClickSaveActiveFormConfig() {\n this.convertToMinifiedJson();\n\n this.markSaved();\n\n this.onClickSaveActiveFormConfig.emit(\n getObjectDeepCopy(this.activeFormConfig)\n );\n }\n\n /**\n * Fields Editor Related Methods\n */\n /**\n * Methods to handle addition of new field\n */\n @logMethod\n handleOnClickAddField() {\n this.markUnsaved();\n this.toggleLoader(true);\n\n const newIndex = this.rows.length;\n const fieldConfig = getObjectDeepCopy(\n mergeObjects(FIELD_CONFIG.text, {\n key: String(newIndex)\n })\n );\n\n this.rows[newIndex] = fieldConfig;\n\n const formControl = new FormControl(fieldConfig);\n\n this.formGroup.addControl(String(newIndex), formControl);\n\n this.toggleLoader(false);\n }\n\n /**\n * Methods to handle editing of field key-values\n */\n @logMethod\n handleOnClickEditValidators(e: any) {\n const fieldConfig = this.formGroup.getRawValue()[e.index];\n\n const fieldConfigValidators = fieldConfig[\"validators\"];\n\n this.activeFieldConfigValidatorsConfig = mergeObjects(\n FIELD_VALIDATORS_CONFIG,\n fieldConfigValidators\n );\n\n this.showFieldConfigValidatorsConfigEditor = true;\n this.activeFieldConfigEditing = fieldConfig;\n }\n\n @logMethod\n handleOnClickEditProperties(e: any) {\n const fieldConfig = this.formGroup.getRawValue()[e.index];\n\n const fieldConfigProperties = fieldConfig[\"properties\"];\n\n this.activeFieldConfigPropertiesConfig = mergeObjects(\n FIELD_PROPERTIES_CONFIG[e.type],\n fieldConfigProperties\n );\n\n this.showFieldConfigPropertiesConfigEditor = true;\n this.activeFieldConfigEditing = fieldConfig;\n }\n\n @logMethod\n handleOnClickEditOptions(e: any) {\n const fieldConfig = this.formGroup.getRawValue()[e.index];\n\n const fieldConfigOptions = fieldConfig[\"options\"];\n\n this.activeFieldConfigOptionsConfig = mergeObjects([], fieldConfigOptions);\n\n this.showFieldConfigOptionsConfigEditor = true;\n this.activeFieldConfigEditing = fieldConfig;\n }\n\n /**\n * Methods to handle change in input values for Fields Keys\n */\n @logMethod\n handleOnInput(e: any) {\n this.markUnsaved();\n\n const fieldConfig = this.formGroup.getRawValue()[e.index];\n const finalPath = e.path !== \"\" ? `${e.path}.${e.key}` : e.key;\n\n if (finalPath.includes(\"disabled\")) {\n e.value.new = Boolean(e.value.new);\n }\n\n let newFieldConfig = setValueToObjectPath(\n getObjectDeepCopy(fieldConfig),\n finalPath,\n e.value.new\n );\n\n if (finalPath.includes(\"type\")) {\n this.toggleLoader(true);\n\n newFieldConfig = setValueToObjectPath(\n newFieldConfig,\n \"validators\",\n FIELD_VALIDATORS_CONFIG\n );\n\n newFieldConfig = setValueToObjectPath(\n newFieldConfig,\n \"properties\",\n FIELD_PROPERTIES_CONFIG[newFieldConfig.type]\n );\n\n this.toggleLoader(false);\n }\n\n this.rows = this.rows.map((row) => {\n if (row.key === fieldConfig.key) {\n return getObjectDeepCopy(newFieldConfig);\n }\n return getObjectDeepCopy(row);\n });\n\n this.formGroup.controls[e.index].setValue(newFieldConfig, {\n emitEvent: false\n });\n }\n\n @logMethod\n handleOnInputFieldConfigValidatorsConfig(e: any) {\n this.markUnsaved();\n\n try {\n this.hideDialogError();\n\n const validatorConfig = JSON.parse(e);\n\n const rowIndex = getFieldIndex(\n this.rows,\n this.activeFieldConfigEditing.key\n );\n if (rowIndex !== -1) {\n this.rows[rowIndex].validators = validatorConfig;\n }\n\n this.activeFieldConfigEditing = mergeObjects(\n this.activeFieldConfigEditing,\n { validators: validatorConfig }\n );\n\n this.formGroup.controls[rowIndex].setValue(\n this.activeFieldConfigEditing,\n {\n emitEvent: false\n }\n );\n } catch (err) {\n this.showDialogError();\n }\n }\n\n @logMethod\n handleOnInputFieldConfigPropertiesConfig(e: any) {\n this.markUnsaved();\n\n try {\n this.hideDialogError();\n\n const propertiesConfig = JSON.parse(e);\n\n const rowIndex = getFieldIndex(\n this.rows,\n this.activeFieldConfigEditing.key\n );\n if (rowIndex !== -1) {\n this.rows[rowIndex].properties = propertiesConfig;\n }\n\n this.activeFieldConfigEditing = mergeObjects(\n this.activeFieldConfigEditing,\n { properties: propertiesConfig }\n );\n\n this.formGroup.controls[rowIndex].setValue(\n this.activeFieldConfigEditing,\n {\n emitEvent: false\n }\n );\n } catch (err) {\n this.showDialogError();\n }\n }\n\n @logMethod\n handleOnInputFieldConfigOptionsConfig(e: any) {\n this.markUnsaved();\n\n try {\n this.hideDialogError();\n\n const optionsConfig = JSON.parse(e);\n\n const rowIndex = getFieldIndex(\n this.rows,\n this.activeFieldConfigEditing.key\n );\n if (rowIndex !== -1) {\n this.rows[rowIndex].options = optionsConfig;\n }\n\n this.activeFieldConfigEditing = mergeObjects(\n this.activeFieldConfigEditing,\n { options: optionsConfig }\n );\n\n this.formGroup.controls[rowIndex].setValue(\n this.activeFieldConfigEditing,\n {\n emitEvent: false\n }\n );\n } catch (err) {\n this.showDialogError();\n }\n }\n\n /**\n * Methods to handle deletion of field\n */\n @logMethod\n handleOnClickDeleteField(e: any) {\n this.markUnsaved();\n\n this.rows = removeField(this.rows, e.key);\n\n this.formGroup = this.kwikidBuilderFormEditorService.createNestedFormGroup(\n this.rows\n );\n\n this.formGroup.updateValueAndValidity();\n }\n\n /**\n * Non Fields Editor Related Methods\n */\n @logMethod\n handleOnClickSaveActiveFormConfig_NoFields(e: any) {\n this.activeFormConfig_NoFields = JSON.parse(e);\n }\n\n /**\n * Other Component Methods\n */\n @logMethod\n handleOnClickPreview() {\n this.showDialog();\n }\n\n @logMethod\n toggleLoader(loader) {\n if (loader) {\n this.loaderService.show({\n fullscreen: true,\n loaderText: \"Please wait\"\n });\n } else {\n this.loaderService.hide();\n }\n }\n\n @logMethod\n closeJSONPopup() {\n this.hideDialog();\n this.showFieldConfigValidatorsConfigEditor = false;\n this.showFieldConfigPropertiesConfigEditor = false;\n this.showFieldConfigOptionsConfigEditor = false;\n }\n\n /**\n * Other Helper Methods\n */\n @logMethod\n copyToClipboard() {\n this.kwikidBuilderFormEditorService.copyToClipboard(this.activeFormConfig);\n }\n\n @logMethod\n convertToMinifiedJson() {\n const fields = [];\n\n for (let field of Object.values(\n getObjectDeepCopy(this.formGroup.getRawValue())\n )) {\n fields.push(\n setValueToObjectPath(\n findModifiedKeys(FIELD_CONFIG[field[\"type\"]], field, \"\"),\n \"type\",\n field[\"type\"]\n )\n );\n }\n\n const activeFormConfig_NoFields_Minified = findModifiedKeys(\n NOFIELD_CONFIG,\n getObjectDeepCopy(this.activeFormConfig_NoFields),\n \"\"\n );\n\n this.activeFormConfig = mergeObjects(\n {},\n activeFormConfig_NoFields_Minified,\n {\n fields: fields\n }\n );\n }\n\n @logMethod\n convertToCompleteJson() {\n let formConfig = new Converter().convertFormConfig(\n getObjectDeepCopy(this.activeFormConfig)\n );\n formConfig = new Converter().updateFormConfigProperties(formConfig);\n this.activeFormConfig = formConfig;\n }\n\n @logMethod\n downloadJSON() {\n this.kwikidBuilderFormEditorService.downloadJSON(this.activeFormConfig);\n }\n\n /**\n * Misc Methods\n */\n getOptions(index, value, key, path) {\n if (path.includes(\"properties\")) {\n const fieldType = this.rows[index].type;\n\n const finalPath = `${path}['${fieldType}'].${key}`;\n\n return getObjectValueFromPath(OPTIONS, finalPath);\n } else {\n const finalPath = path !== \"\" ? `${path}.${key}` : key;\n\n return getObjectValueFromPath(OPTIONS, finalPath);\n }\n }\n memoizedGetOptions = _.memoize(this.getOptions);\n\n isOptions(index, value, key, path) {\n if (path.includes(\"properties\")) {\n const fieldType = this.rows[index].type;\n\n const finalPath = `${path}['${fieldType}'].${key}`;\n\n return Array.isArray(getObjectValueFromPath(OPTIONS, finalPath));\n } else {\n const finalPath = path !== \"\" ? `${path}.${key}` : key;\n\n return Array.isArray(getObjectValueFromPath(OPTIONS, finalPath));\n }\n }\n\n isBoolean(value: any): boolean {\n return typeof value === \"boolean\";\n }\n\n isString(value: any): boolean {\n return typeof value === \"string\";\n }\n\n isNumber(value: any): boolean {\n return typeof value === \"number\";\n }\n\n isObject(value: any): boolean {\n return typeof value === \"object\" && value !== null;\n }\n\n /**\n * Angular Specific Methods\n */\n trackByFn(index: number, item: any): any {\n const key = item?.key || \"\";\n const value = item?.value || \"\";\n\n if (typeof item === \"string\") {\n return `${String(index)}_${item}_${new Date().getTime()}`;\n } else {\n return `${String(index)}_${key}_${value}_${new Date().getTime()}`;\n }\n }\n}\n","<!-- Component Loader -->\n<kwikui-loader></kwikui-loader>\n\n<!-- Component Main View -->\n<div class=\"container\">\n <ng-container *ngIf=\"activeFormConfig; else noFormSelectedTemplate\">\n <header>\n <div>\n Editing Config of Form: <b>{{ activeFormConfig.props.title }}</b>\n </div>\n <div class=\"header-form-editor-btns\">\n <button (click)=\"handleOnClickPreview()\">preview</button>\n <div>Editor Type:</div>\n <select (change)=\"handleOnClickChangeActiveEditor($event.target.value)\">\n <option\n *ngFor=\"let option of editorTypeOptions\"\n [value]=\"option.key\"\n [selected]=\"option.key === activeEditorType\"\n >\n {{ option.label }}\n </option>\n </select>\n </div>\n </header>\n <main>\n <div\n class=\"form-config-fields\"\n *ngIf=\"activeEditorType == 'FIELDS'; else nonFieldsEditorTemplate\"\n >\n <ng-container *ngIf=\"rows.length <= 0\">\n <div class=\"no-fields disclaimer\">\n <div><p>Please add field to get started</p></div>\n <div class=\"icon\"><h1>+</h1></div>\n <button (click)=\"handleOnClickAddField()\">add field</button>\n </div>\n </ng-container>\n <table>\n <thead>\n <tr>\n <th *ngFor=\"let column of columns\">\n {{ column }}\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container\n *ngFor=\"let row of rows; let i = index; trackBy: trackByFn\"\n >\n <tr>\n <ng-container *ngFor=\"let column of columns; let j = index\">\n <td>\n <div [class]=\"column\">\n <ng-container\n *ngIf=\"\n column !== 'delete' &&\n column !== 'validators' &&\n column !== 'properties' &&\n column !== 'type' &&\n column !== 'disabled' &&\n column !== 'options'\n \"\n [ngTemplateOutlet]=\"getFieldTemplate\"\n [ngTemplateOutletContext]=\"{\n index: i,\n fieldValue: row[column],\n fieldKey: column,\n parentPath: ''\n }\"\n ></ng-container>\n <ng-container *ngIf=\"column === 'type'\">\n <ng-container\n [ngTemplateOutlet]=\"optionFieldTemplate\"\n [ngTemplateOutletContext]=\"{\n index: i,\n key: column,\n value: row[column],\n path: '',\n options: memoizedGetOptions(\n i,\n row[column],\n column,\n ''\n )\n }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"column === 'disabled'\">\n <ng-container\n [ngTemplateOutlet]=\"booleanFieldTemplate\"\n [ngTemplateOutletContext]=\"{\n index: i,\n key: column,\n value: row[column],\n path: '',\n options: memoizedGetOptions(\n i,\n row[column],\n column,\n ''\n )\n }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"column === 'delete'\">\n <button\n (click)=\"\n handleOnClickDeleteField({\n index: i,\n key: row['key']\n })\n \"\n [disabled]=\"rows.length === 1\"\n >\n delete\n </button>\n </ng-container>\n <ng-container *ngIf=\"column === 'validators'\">\n <button\n (click)=\"\n handleOnClickEditValidators({\n index: i,\n key: row['key'],\n type: row['type']\n })\n \"\n >\n edit\n </button>\n </ng-container>\n <ng-container *ngIf=\"column === 'properties'\">\n <button\n (click)=\"\n handleOnClickEditProperties({\n index: i,\n key: row['key'],\n type: row['type']\n })\n \"\n >\n edit\n </button>\n </ng-container>\n <ng-container\n *ngIf=\"row['type'] === 'radio' && column === 'options'\"\n >\n <button\n (click)=\"\n handleOnClickEditOptions({\n index: i,\n key: row['key'],\n type: row['type']\n })\n \"\n >\n add\n </button>\n </ng-container>\n <ng-container\n *ngIf=\"row['type'] === 'select' && column === 'options'\"\n >\n <button\n (click)=\"\n handleOnClickEditOptions({\n index: i,\n key: row['key'],\n type: row['type']\n })\n \"\n >\n add\n </button>\n </ng-container>\n </div>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n </table>\n <div class=\"add-field-btn-container\"> </div>\n </div>\n <ng-template #nonFieldsEditorTemplate>\n <div class=\"form-config-no-fields\">\n <div\n class=\"json-editor\"\n contenteditable=\"true\"\n (keyup)=\"\n handleOnClickSaveActiveFormConfig_NoFields(\n $event.target.innerHTML\n )\n \"\n >\n {{ activeFormConfig_NoFields | json }}\n </div>\n </div>\n </ng-template>\n </main>\n <footer>\n <button\n *ngIf=\"rows.length > 0\"\n (click)=\"handleOnClickAddField()\"\n >\n add field\n </button>\n <button\n (click)=\"handleOnClickSaveActiveFormConfig()\"\n [class.secondary]=\"!savedConfig\"\n >\n {{ savedConfig ? \"saved\" : \"unsaved\" }}\n </button>\n </footer>\n </ng-container>\n <ng-template #noFormSelectedTemplate>\n <div class=\"no-form-selected disclaimer\">\n <div class=\"icon\"><h1>➦</h1></div>\n <div><p>Please select a form to edit it's fields</p></div>\n </div>\n </ng-template>\n</div>\n\n<!-- Component Dialog -->\n<div\n class=\"modal\"\n [class.error]=\"dialogError === true\"\n *ngIf=\"\n dialogOpen ||\n showFieldConfigValidatorsConfigEditor ||\n showFieldConfigPropertiesConfigEditor ||\n showFieldConfigOptionsConfigEditor\n \"\n [@panelInOut]\n>\n <div class=\"modal-box\">\n <div\n class=\"modal-content\"\n *ngIf=\"dialogOpen\"\n >\n <div class=\"modal-heading\">\n <div class=\"modal-title\">\n {{ activeFormConfig.props.title }}'s Config Preview\n </div>\n <div class=\"modal-actions\">\n <button (click)=\"convertToMinifiedJson()\">minify</button>\n <button (click)=\"convertToCompleteJson()\">full</button>\n <button (click)=\"downloadJSON()\">download</button>\n <button (click)=\"copyToClipboard()\">copy</button>\n <button (click)=\"closeJSONPopup()\">close</button>\n </div>\n </div>\n <div class=\"modal-body\">\n <div class=\"json-editor\">\n <code>{{ activeFormConfig | json }}</code>\n </div>\n </div>\n </div>\n <div\n class=\"modal-content\"\n *ngIf=\"showFieldConfigValidatorsConfigEditor\"\n >\n <div class=\"modal-heading\">\n <div class=\"modal-title\">\n {{ activeFormConfig.props.title }}'s Validator Config Editor\n </div>\n <div class=\"modal-actions\">\n <button (click)=\"closeJSONPopup()\">close</button>\n </div>\n </div>\n <div class=\"modal-body\">\n <div\n class=\"json-editor\"\n contenteditable=\"true\"\n (keyup)=\"\n handleOnInputFieldConfigValidatorsConfig($event.target.innerHTML)\n \"\n >\n {{ this.activeFieldConfigValidatorsConfig | json }}\n </div>\n </div>\n </div>\n <div\n class=\"modal-content\"\n *ngIf=\"showFieldConfigPropertiesConfigEditor\"\n >\n <div class=\"modal-heading\">\n <div class=\"modal-title\">\n {{ activeFormConfig.props.title }}'s Properties Config Editor\n </div>\n <div class=\"modal-actions\">\n <button (click)=\"closeJSONPopup()\">close</button>\n </div>\n </div>\n <div class=\"modal-body\">\n <div\n class=\"json-editor\"\n contenteditable=\"true\"\n (keyup)=\"\n handleOnInputFieldConfigPropertiesConfig($event.target.innerHTML)\n \"\n >\n {{ this.activeFieldConfigPropertiesConfig | json }}\n </div>\n </div>\n </div>\n <div\n class=\"modal-content\"\n *ngIf=\"showFieldConfigOptionsConfigEditor\"\n >\n <div class=\"modal-heading\">\n <div class=\"modal-title\">\n {{ activeFormConfig.props.title }}'s Options Config Editor\n </div>\n <div class=\"modal-actions\">\n <button (click)=\"closeJSONPopup()\">close</button>\n </div>\n </div>\n <div class=\"modal-body\">\n <div\n class=\"json-editor\"\n contenteditable=\"true\"\n (keyup)=\"\n handleOnInputFieldConfigOptionsConfig($event.target.innerHTML)\n \"\n >\n {{ this.activeFieldConfigOptionsConfig | json }}\n </div>\n </div>\n </div>\n </div>\n</div>\n<!-- END -->\n\n<!-- Template for rendering different field types -->\n<!-- General Field Template -->\n<ng-template\n #getFieldTemplate\n let-index=\"index\"\n let-value=\"fieldValue\"\n let-key=\"fieldKey\"\n let-path=\"parentPath\"\n>\n <div>\n <ng-container\n [ngTemplateOutlet]=\"\n isObject(value) ? objectFieldTemplate : notObjectFieldTemplate\n \"\n [ngTemplateOutletContext]=\"{\n index: index,\n fieldValue: value,\n fieldKey: key,\n parentPath: path\n }\"\n >\n </ng-container>\n </div>\n</ng-template>\n\n<!-- Object Type Field Template -->\n<ng-template\n #objectFieldTemplate\n let-index=\"index\"\n let-value=\"fieldValue\"\n let-key=\"fieldKey\"\n let-path=\"parentPath\"\n>\n <ng-container *ngFor=\"let item of value | keyvalue\">\n <ng-container\n [ngTemplateOutlet]=\"getFieldTemplate\"\n [ngTemplateOutletContext]=\"{\n index: index,\n fieldValue: item.value,\n fieldKey: item.key,\n parentPath: path === '' ? key : path + '.' + key\n }\"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<!-- Non Object Type Field Template -->\n<ng-template\n #notObjectFieldTemplate\n let-index=\"index\"\n let-value=\"fieldValue\"\n let-key=\"fieldKey\"\n let-path=\"parentPath\"\n>\n <div>\n <ng-container *ngIf=\"isOptions(index, value, key, path)\">\n <ng-container\n [ngTemplateOutlet]=\"optionFieldTemplate\"\n [ngTemplateOutletContext]=\"{\n index: index,\n key: key,\n value: value,\n path: path,\n options: memoizedGetOptions(index, value, key, path)\n }\"\n ></ng-container>\n </ng-container>\n <ng-container\n *ngIf=\"!isOptions(index, value, key, path) && isString(value)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n textFieldTemplate;\n context: { index: index, key: key, value: value, path: path }\n \"\n ></ng-container>\n </ng-container>\n <ng-container\n *ngIf=\"!isOptions(index, value, key, path) && isNumber(value)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n numberFieldTemplate;\n context: { index: index, key: key, value: value, path: path }\n \"\n ></ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<!-- Non Object Type Field :: Options Field Template -->\n<ng-template\n #optionFieldTemplate\n let-index=\"index\"\n let-key=\"key\"\n let-value=\"value\"\n let-path=\"path\"\n let-options=\"options\"\n>\n <div class=\"field-container options\">\n <select\n (change)=\"handleOnInput({ index, key, value: { previous: value, new: $event.target.value }, path })\"\n >\n <option\n *ngFor=\"let option of options\"\n [value]=\"option\"\n [selected]=\"option === value\"\n >{{ option }}</option\n >\n </select>\n </div>\n</ng-template>\n\n<!-- Non Object Type Field :: Boolean Field Template -->\n<ng-template\n #booleanFieldTemplate\n let-index=\"index\"\n let-key=\"key\"\n let-value=\"value\"\n let-path=\"path\"\n>\n <div class=\"field-container checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"value\"\n (change)=\"handleOnInput({ index, key, value: { previous: value, new: $event.target.checked }, path })\"\n />\n </div>\n</ng-template>\n\n<!-- Non Object Type Field :: Text Field Template -->\n<ng-template\n #textFieldTemplate\n let-index=\"index\"\n let-key=\"key\"\n let-value=\"value\"\n let-path=\"path\"\n>\n <div class=\"field-container text\">\n <input\n placeholder=\"Enter {{ key }}\"\n type=\"text\"\n [value]=\"value\"\n (blur)=\"handleOnInput({ index, key, value: { previous: value, new: $event.target.value }, path })\"\n />\n </div>\n</ng-template>\n\n<!-- Non Object Type Field :: Number Field Template -->\n<ng-template\n #numberFieldTemplate\n let-index=\"index\"\n let-key=\"key\"\n let-value=\"value\"\n let-path=\"path\"\n>\n <div class=\"field-container number\">\n <input\n placeholder=\"Enter {{ key }}\"\n type=\"number\"\n [value]=\"value\"\n (blur)=\"handleOnInput({ index, key, value: { previous: value, new: $event.target.value }, path })\"\n />\n </div>\n</ng-template>\n<!-- END -->\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport {\n checkObjectKeyExists,\n getObjectDeepCopy,\n getObjectFromLocalStorage,\n isNotEmptyValue,\n logMethod\n} from \"kwikid-toolkit\";\nimport { convertFormListConfig } from \"./builder.helper\";\nimport { KwikUILoaderService } from \"kwikui\";\n\n@Component({\n selector: \"kwikid-forms-builder\",\n templateUrl: \"./builder.component.html\",\n styleUrls: [\"./shared.scss\", \"./builder.component.scss\"]\n})\nexport class KwikIDFormsBuilderComponent implements OnInit {\n @Input()\n userConfig: any = {};\n\n formsList = [];\n\n activeFormConfig: any = undefined;\n\n constructor(public loaderService: KwikUILoaderService) {}\n\n ngOnInit() {\n const formStepKey = localStorage.getItem(\"formKey\");\n\n if (\n isNotEmptyValue(formStepKey) &&\n checkObjectKeyExists(this.userConfig.userFormFields, formStepKey)\n ) {\n this.formsList = convertFormListConfig(\n this.userConfig.userFormFields[formStepKey]\n );\n } else if (Array.isArray(this.userConfig.userFormFields)) {\n this.formsList = convertFormListConfig(this.userConfig.userFormFields);\n } else {\n throw new Error(\n `userFormFields doesn't have a form defined with key: ${formStepKey}`\n );\n }\n }\n\n @logMethod\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 /**\n * Forms List Listeners\n */\n @logMethod\n handleGetFormsList(e: any) {\n this.formsList = e.formsList;\n }\n\n @logMethod\n async handleOnClickSetActiveForm(selectedFormKey: string) {\n this.toggleLoader(true);\n\n const activeFormConfig = this.formsList.find((form) => {\n if (form.key === selectedFormKey) {\n return form;\n }\n });\n\n let formConfig: any = undefined;\n\n if (getObjectFromLocalStorage(activeFormConfig.key)) {\n formConfig = getObjectFromLocalStorage(activeFormConfig.key);\n } else {\n if (checkObjectKeyExists(activeFormConfig, \"props\")) {\n if (checkObjectKeyExists(activeFormConfig[\"props\"], \"url\")) {\n const formConfigFromUrl = await this.fetchFormConfig(\n activeFormConfig[\"props\"].url\n );\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromUrl\n };\n } else if (\n checkObjectKeyExists(activeFormConfig[\"props\"], \"path\") &&\n checkObjectKeyExists(this.userConfig, \"backend\") &&\n checkObjectKeyExists(this.userConfig.backend, \"CONFIG_BASE_URL\")\n ) {\n const url = `${this.userConfig?.backend?.CONFIG_BASE_URL}${activeFormConfig[\"props\"].path}`;\n const formConfigFromPath = await this.fetchFormConfig(url);\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromPath\n };\n } else {\n if (checkObjectKeyExists(activeFormConfig, \"fields\")) {\n formConfig = activeFormConfig;\n } else {\n console.error(\n \"No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!\"\n );\n }\n }\n } else if (checkObjectKeyExists(activeFormConfig, \"formContent\")) {\n if (checkObjectKeyExists(activeFormConfig.formContent, \"url\")) {\n const formConfigFromUrl = await this.fetchFormConfig(\n activeFormConfig.formContent.url\n );\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromUrl\n };\n } else if (\n checkObjectKeyExists(activeFormConfig.formContent, \"path\") &&\n checkObjectKeyExists(this.userConfig, \"backend\") &&\n checkObjectKeyExists(this.userConfig.backend, \"CONFIG_BASE_URL\")\n ) {\n const url = `${this.userConfig?.backend?.CONFIG_BASE_URL}${activeFormConfig[\"props\"].path}`;\n const formConfigFromPath = await this.fetchFormConfig(url);\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromPath\n };\n } else {\n if (checkObjectKeyExists(activeFormConfig, \"fields\")) {\n formConfig = activeFormConfig;\n } else {\n console.error(\n \"No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!\"\n );\n }\n }\n } else {\n if (checkObjectKeyExists(activeFormConfig, \"fields\")) {\n formConfig = activeFormConfig;\n } else {\n console.error(\n \"No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!\"\n );\n }\n }\n }\n\n this.activeFormConfig = {\n ...activeFormConfig,\n ...formConfig\n };\n\n this.toggleLoader(false);\n }\n\n /**\n * Form Editor Listeners\n */\n @logMethod\n handleOnClickSaveActiveFormConfig(activeFormConfig: any) {\n this.activeFormConfig = activeFormConfig;\n\n this.formsList = this.formsList.map((form: any) => {\n if (form.key === activeFormConfig.key) {\n return activeFormConfig;\n }\n return form;\n });\n }\n\n @logMethod\n toggleLoader(loader) {\n if (loader) {\n this.loaderService.show({\n fullscreen: true,\n loaderText: \"Please wait\"\n });\n } else {\n this.loaderService.hide();\n }\n }\n}\n","<div class=\"container\">\n <kwikid-builder-forms-list\n [activeFormConfig]=\"this.activeFormConfig\"\n [formsList]=\"this.formsList\"\n (getFormsList)=\"this.handleGetFormsList($event)\"\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\n ></kwikid-builder-forms-list>\n <kwikid-builder-form-editor\n [activeFormConfig]=\"activeFormConfig\"\n (onClickSaveActiveFormConfig)=\"\n this.handleOnClickSaveActiveFormConfig($event)\n \"\n ></kwikid-builder-form-editor>\n</div>\n\n<kwikui-loader\n></kwikui-loader>\n","export enum EFormsListStatus {\n COMPLETED = \"completed\",\n EDITABLE = \"editable\",\n LOCKED = \"locked\"\n}\n\nexport type TFormsListStatus =\n | EFormsListStatus.COMPLETED\n | EFormsListStatus.EDITABLE\n | EFormsListStatus.LOCKED;\n\nexport enum ELogEventType {\n FORM__FORM_OPEN_BUTTON_CLICK = \"FORM__FORM_OPEN_BUTTON_CLICK\",\n FORM__LIST_LOAD_SUCCESS = \"FORM__LIST_LOAD_SUCCESS\",\n FORM__STEP_CONFIG_LOAD_SUCCESS = \"FORM__STEP_CONFIG_LOAD_SUCCESS\"\n}\n","import { TAction, TSource } from \"kwikid-toolkit\";\nimport { TMessage } from \"./form-view.commons.definition\";\n\nexport enum EActionKey {\n SET_VALUE = \"SET_VALUE\",\n SET_FIELD_DEFAULT_VALUE = \"SET_FIELD_DEFAULT_VALUE\",\n SET_API_STATUS = \"SET_API_STATUS\",\n SET_API_HEADER_VALUE = \"SET_API_HEADER_VALUE\",\n SET_API_HEADER_VALIDITY = \"SET_API_HEADER_VALIDITY\",\n SET_API_BODY_VALUE = \"SET_API_BODY_VALUE\",\n SET_API_BODY_VALIDITY = \"SET_API_BODY_VALIDITY\",\n FIELD_API_TIMER_MESSAGE_SHOW = \"FIELD_API_TIMER_MESSAGE_SHOW\",\n FIELD_API_TIMER_MESSAGE_HIDE = \"FIELD_API_TIMER_MESSAGE_HIDE\",\n SET_FIELD_VALIDITY = \"SET_FIELD_VALIDITY\",\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 API_CALL = \"API_CALL\",\n API_CALL_MULTIPLE = \"API_CALL_MULTIPLE\",\n API_CALL_MULTIPLE_END = \"API_CALL_MULTIPLE_END\",\n TASK_API_CALL = \"TASK_API_CALL\",\n TASK_API_CALL_MULTIPLE = \"TASK_API_CALL_MULTIPLE\",\n TASK_API_CALL_MULTIPLE_END = \"TASK_API_CALL_MULTIPLE_END\",\n PREVIEW_DIALOG_SHOW = \"PREVIEW_DIALOG_SHOW\",\n PREVIEW_ERROR_SHOW = \"PREVIEW_ERROR_SHOW\",\n POPUP_FORM_SHOW = \"POPUP_FORM_SHOW\",\n STOP_WAITING = \"STOP_WAITING\",\n NOTIFICATION_ERROR_SHOW = \"NOTIFICATION_ERROR_SHOW\",\n NOTIFICATION_ERROR_HIDE = \"NOTIFICATION_ERROR_HIDE\",\n DIALOG_SHOW = \"DIALOG_SHOW\",\n DIALOG_HIDE = \"DIALOG_HIDE\",\n RESUME_TASK_EXECUTION = \"RESUME_TASK_EXECUTION\",\n STOP_TASK_EXECUTION = \"STOP_TASK_EXECUTION\",\n REDIRECT_TO_URL = \"REDIRECT_TO_URL\",\n SAVE_FORM = \"SAVE_FORM\",\n ALERT_SHOW = \"ALERT_SHOW\",\n SET_HTML = \"SET_HTML\"\n}\n\nexport type TActionKey =\n | EActionKey.SET_VALUE\n | EActionKey.SET_FIELD_DEFAULT_VALUE\n | EActionKey.SET_API_STATUS\n | EActionKey.SET_API_HEADER_VALUE\n | EActionKey.SET_API_HEADER_VALIDITY\n | EActionKey.SET_API_BODY_VALUE\n | EActionKey.SET_API_BODY_VALIDITY\n | EActionKey.SET_FIELD_VALIDITY\n | EActionKey.FIELD_API_TIMER_MESSAGE_SHOW\n | EActionKey.FIELD_API_TIMER_MESSAGE_HIDE\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 | EActionKey.API_CALL\n | EActionKey.API_CALL_MULTIPLE\n | EActionKey.API_CALL_MULTIPLE_END\n | EActionKey.TASK_API_CALL\n | EActionKey.TASK_API_CALL_MULTIPLE\n | EActionKey.TASK_API_CALL_MULTIPLE_END\n | EActionKey.SET_DROPDOWN_OPTIONS\n | EActionKey.PREVIEW_DIALOG_SHOW\n | EActionKey.POPUP_FORM_SHOW\n | EActionKey.STOP_WAITING\n | EActionKey.NOTIFICATION_ERROR_SHOW\n | EActionKey.NOTIFICATION_ERROR_HIDE\n | EActionKey.DIALOG_SHOW\n | EActionKey.DIALOG_HIDE\n | EActionKey.RESUME_TASK_EXECUTION\n | EActionKey.STOP_TASK_EXECUTION\n | EActionKey.REDIRECT_TO_URL\n | EActionKey.SAVE_FORM\n | EActionKey.ALERT_SHOW\n | EActionKey.SET_HTML;\n\nexport type TActionSetValue = TAction & {\n key: EActionKey.SET_VALUE;\n props: {\n value: {\n source: TSource;\n destination: TSource;\n };\n };\n};\n\nexport type TActionSetFieldDefaultValue = TAction & {\n key: EActionKey.SET_FIELD_DEFAULT_VALUE;\n props: {\n fieldKey: string;\n source: TSource;\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\nexport type TActionApiCall = TAction & {\n key: EActionKey.API_CALL;\n props: {\n fieldKey: string;\n apiKey: string;\n };\n};\n\nexport type TActionApiCallsDone = TAction & {\n key: EActionKey.API_CALL;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionPreviewDialogShow = TAction & {\n key: EActionKey.PREVIEW_DIALOG_SHOW;\n props: {\n html?: {\n before?: string;\n after?: string;\n };\n iframe?: {\n src: string;\n title?: string;\n };\n };\n};\n\nexport type TActionSetHtml = TAction & {\n key: EActionKey.SET_HTML;\n props: {\n fieldKey: string;\n message: TMessage;\n };\n};\n","import { TAction, TRule, TSource, TValidation } from \"kwikid-toolkit\";\nimport { TTrigger } from \"./form-view.triggers.definition\";\n\nexport enum EApiStatusType {\n DEFAULT = \"default\",\n LOADING = \"loading\",\n RETRY = \"retry\",\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 = TValidation & {\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 = TValidation & {\n value: any;\n params: Array<any>;\n validation: TValidation;\n};\n\nexport type TApiTimer = {\n maxTime: number;\n messageWithTimerPlaceholder: string;\n timerChangeType: string;\n timeFormat: string;\n timerStep: number;\n};\n\nexport type TApiRequest = {\n url: string | any;\n method?: string;\n headers?: TApiRequestHeaders;\n body: TApiRequestBody;\n};\n\nexport type TApiResponseBody = any;\n\nexport type TApiResponse = TValidation & {\n is_valid: boolean;\n body: TApiResponseBody;\n validation: TValidation;\n value?: any;\n};\n\nexport type TApiStatusType =\n | EApiStatusType.DEFAULT\n | EApiStatusType.LOADING\n | EApiStatusType.RETRY\n | EApiStatusType.SUCCESS\n | EApiStatusType.FAILED;\n\nexport type TApiStatus = {\n value: TApiStatusType;\n labels: {\n default: EApiStatusType.DEFAULT;\n loading: EApiStatusType.LOADING;\n retry: EApiStatusType.RETRY;\n success: EApiStatusType.SUCCESS;\n failed: EApiStatusType.FAILED;\n };\n};\n\nexport type TApiEntryPoint = {\n triggers: Array<TTrigger>;\n rules: Array<TRule>;\n actions: Array<TAction>;\n};\n\nexport type TApiEndpoint = {\n apiKey: string;\n request: TApiRequest;\n response: TApiResponse;\n};\n\nexport type TApi = {\n request?: TApiRequest;\n response?: TApiResponse;\n entrypoint: TApiEntryPoint;\n endpoints: Array<TApiEndpoint>;\n status: TApiStatus;\n timer?: TApiTimer;\n};\n\nexport enum EApiRequestUrlType {\n MOCK = \"MOCK\",\n CALCULATED = \"CALCULATED\"\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\nexport enum EFormViewGoBackMode {\n DIRECT = \"DIRECT\",\n TABBED = \"TABBED\"\n}\n\nexport type TFormViewGoBackMode =\n | EFormViewGoBackMode.DIRECT\n | EFormViewGoBackMode.TABBED;\n","export enum ELogEventType {\n FORM__ACTION_EXECUTE = \"FORM__ACTION_EXECUTE\",\n FORM__ACTION_EXECUTE_GROUP = \"FORM__ACTION_EXECUTE_GROUP\",\n FORM__ALERT_ERROR = \"FORM__ALERT_ERROR\",\n FORM__ALERT_HIDE = \"FORM__ALERT_HIDE\",\n FORM__ALERT_SHOW = \"FORM__ALERT_SHOW\",\n FORM__API_BUTTON_CLICK = \"FORM__API_BUTTON_CLICK\",\n FORM__API_REQUEST = \"FORM__API_REQUEST\",\n FORM__API_REQUEST_INVALID = \"FORM__API_REQUEST_INVALID\",\n FORM__API_REQUEST_UPLOAD_FILE = \"FORM__API_REQUEST_UPLOAD_FILE\",\n FORM__API_REQUEST_UPLOAD_IMAGE = \"FORM__API_REQUEST_UPLOAD_IMAGE\",\n FORM__API_REQUEST_UPLOAD_VIDEO = \"FORM__API_REQUEST_UPLOAD_VIDEO\",\n FORM__API_RESPONSE = \"FORM__API_RESPONSE\",\n FORM__API_RESPONSE_UPLOAD_FILE = \"FORM__API_RESPONSE_UPLOAD_FILE\",\n FORM__API_RESPONSE_UPLOAD_IMAGE = \"FORM__API_RESPONSE_UPLOAD_IMAGE\",\n FORM__API_RESPONSE_UPLOAD_VIDEO = \"FORM__API_RESPONSE_UPLOAD_VIDEO\",\n FORM__CAMERA_BACK_BUTTON_CLICK = \"FORM__CAMERA_BACK_BUTTON_CLICK\",\n FORM__CAMERA_CLOSE_BUTTON_CLICK = \"FORM__CAMERA_CLOSE_BUTTON_CLICK\",\n FORM__CAMERA_SAVE_BUTTON_CLICK = \"FORM__CAMERA_SAVE_BUTTON_CLICK\",\n FORM__CONFIG_LOAD_SUCCESS = \"FORM__CONFIG_LOAD_SUCCESS\",\n FORM__DIALOG_ERROR = \"FORM__DIALOG_ERROR\",\n FORM__DIALOG_HIDE = \"FORM__DIALOG_HIDE\",\n FORM__DIALOG_SHOW = \"FORM__DIALOG_SHOW\",\n FORM__FIELD_API_TIMER_MESSAGE_SHOW = \"FORM__FIELD_API_TIMER_MESSAGE_SHOW\",\n FORM__FIELD_API_TIMER_MESSAGE_HIDE = \"FORM__FIELD_API_TIMER_MESSAGE_HIDE\",\n FORM__FIELD_BUTTON_CLICK = \"FORM__FIELD_BUTTON_CLICK\",\n FORM__FIELD_CAMERA_BUTTON_CLICK = \"FORM__FIELD_CAMERA_BUTTON_CLICK\",\n FORM__FIELD_DISABLE = \"FORM__FIELD_DISABLE\",\n FORM__FIELD_ENABLE = \"FORM__FIELD_ENABLE\",\n FORM__FIELD_ERROR_HIDE = \"FORM__FIELD_ERROR_HIDE\",\n FORM__FIELD_ERROR_SHOW = \"FORM__FIELD_ERROR_SHOW\",\n FORM__FIELD_FILE_ADD = \"FORM__FIELD_FILE_ADD\",\n FORM__FIELD_FILE_REMOVE = \"FORM__FIELD_FILE_REMOVE\",\n FORM__FIELD_HIDE = \"FORM__FIELD_HIDE\",\n FORM__FIELD_MEDIA_FILE_REMOVE = \"FORM__FIELD_MEDIA_FILE_REMOVE\",\n FORM__FIELD_MESSAGE_HIDE = \"FORM__FIELD_MESSAGE_HIDE\",\n FORM__FIELD_MESSAGE_SHOW = \"FORM__FIELD_MESSAGE_SHOW\",\n FORM__FIELD_RESET = \"FORM__FIELD_RESET\",\n FORM__FIELD_RESET_BUTTON_CLICK = \"FORM__FIELD_RESET_BUTTON_CLICK\",\n FORM__FIELD_SHOW = \"FORM__FIELD_SHOW\",\n FORM__PREVIEW_ERROR = \"FORM__PREVIEW_ERROR\",\n FORM__PREVIEW_HIDE = \"FORM__PREVIEW_HIDE\",\n FORM__PREVIEW_SHOW = \"FORM__PREVIEW_SHOW\",\n FORM__REDIRECT_URL = \"FORM__REDIRECT_URL\",\n FORM__SAVE_AUTO = \"FORM__SAVE_AUTO\",\n FORM__SAVE_BUTTON_CLICK = \"FORM__SAVE_BUTTON_CLICK\",\n FORM__TASK_POST = \"FORM__TASK_POST\",\n FORM__TASK_PRE = \"FORM__TASK_PRE\",\n FORM__VIEW_BUTTON_CLICK = \"FORM__VIEW_BUTTON_CLICK\"\n}\n","import axios from \"axios\";\nimport {\n decryptWithAES,\n encryptWithAES,\n isNotEmptyValue,\n logMethod\n} from \"kwikid-toolkit\";\nimport { Observable } from \"rxjs\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nexport class KwikIDFormViewApiService {\n private bytecode = [0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38];\n\n constructor() {}\n\n // Function to derive logic from data\n @logMethod\n dataDerivativeLogic(data) {\n if (isNotEmptyValue(data)) {\n const dataString = JSON.stringify(data);\n const charCounts = {};\n const targetCharacters = [\"a\", \"i\", \"p\", \"t\"];\n\n // Count occurrences of target characters in the data string\n for (const char of dataString) {\n if (targetCharacters.includes(char)) {\n charCounts[char] = (charCounts[char] || 0) + 1;\n }\n }\n\n // Construct the output string based on the character counts\n const outputString = targetCharacters\n .map((char) => char + (charCounts[char] || 0))\n .join(\"\");\n return outputString;\n } else {\n return undefined;\n }\n }\n\n // Function to preprocess header data\n @logMethod\n preProcessHeader(headerData: any, isVerifySignature: boolean): any {\n if (!headerData) headerData = {};\n if (!headerData.headers) headerData[\"headers\"] = {};\n\n // Generate a unique identifier if signature verification is required\n if (isVerifySignature) {\n headerData[\"headers\"][\"xrid\"] = uuidv4();\n }\n\n // Retrieve session ID from local storage and add it to headers\n let session_id = localStorage.getItem(\"session_id\");\n if (session_id) headerData[\"headers\"][\"ses\"] = session_id;\n\n return headerData;\n }\n\n // Function to verify the signature\n @logMethod\n verifySignature(data, header, url, isVerifySignature) {\n return new Promise((resolve, reject) => {\n // Log the function call for verification\n console.log(\"Verify Signature: Function Called For\", url, header);\n\n // Check if the signature is disabled\n if (!isVerifySignature) {\n console.log(\"Verify Signature: Authentication Disabled\");\n resolve(true);\n }\n\n // Check if data is invalid\n else if (!data) {\n console.log(\"Verify Signature: Data Not Available\");\n resolve(true);\n }\n\n // Check if the signature is missing in headers when authentication is not skipped\n else if (isVerifySignature && header && !header?.sig) {\n console.log(\n \"Verify Signature Failure: Signature Not Present in Headers\"\n );\n reject(false);\n }\n\n // Verify the signature when public key and header with signature are present and authentication is not skipped\n else if (isVerifySignature && header && header?.sig) {\n console.log(\"Verify Signature: Signature Present in Headers\");\n\n // Extract the signature and decode it\n let signature = header.sig.split(\".\")[0];\n let rawSignature = atob(signature);\n\n // Split the decoded signature to get the parts\n signature = rawSignature.split(\".\")[0];\n let exp = rawSignature.split(\".\")[1] + \"000\"; // Expiration time in milliseconds\n let iat = rawSignature.split(\".\")[2] + \"000\"; // Issued at time in milliseconds\n\n // Check if the signature is valid\n if (signature) {\n // Check if the current time is before the expiration time\n const dateValue = new Date().valueOf();\n let dateCheck = dateValue < parseInt(exp);\n\n // Check if the signature matches the data\n let res = signature === data;\n console.log(\"Verify Signature: Matching\", signature, data);\n console.log(\n \"Verify Signature: Time\",\n dateValue,\n parseInt(exp),\n parseInt(exp) - dateValue\n );\n\n console.log(\n \"Verify Signature: Date\",\n new Date(dateValue),\n new Date(parseInt(exp))\n );\n\n console.log(\n \"Verify Signature: Signature Converted to Required Format\"\n );\n\n // Resolve the promise if the signature is valid and the date check passes\n if (res && dateCheck) {\n console.log(\"Verify Signature Success\");\n resolve(res);\n } else {\n // Reject the promise if the signature is invalid or the date check fails\n console.log(\"Verify Signature Failure: Signature did not match\");\n reject(res);\n }\n } else {\n // Reject the promise if the signature is not in the required format\n console.log(\n \"Verify Signature Failure: Signature Not Converted to Required Format\"\n );\n reject(false);\n }\n } else {\n // Resolve the promise if the signature is missing in headers\n console.log(\n \"Verify Signature Failure: Signature Not Present in Headers\"\n );\n resolve(true);\n }\n });\n }\n\n // Function to perform POST request\n @logMethod\n post(\n url,\n body,\n headerData,\n isEncrypt = false,\n isDecrypt = false,\n isVerifySignature = false,\n isSkipHeaderAlteration = false\n ) {\n let preProcessedHeader = headerData;\n\n // Preprocess header data unless instructed to skip\n if (!isSkipHeaderAlteration) {\n preProcessedHeader = this.preProcessHeader(headerData, isVerifySignature);\n } else {\n preProcessedHeader[\"observe\"] = \"response\";\n }\n\n // Encrypt body if required\n if (isEncrypt) {\n body = encryptWithAES(JSON.stringify(body));\n }\n\n return new Observable((subscriber) => {\n axios.post(url, body, headerData).then(\n async (res) => {\n let data = res[\"data\"];\n\n // Decrypt response if required\n if (data && isDecrypt) {\n const encryptedResponse = data;\n const decryptedResponse = await decryptWithAES(encryptedResponse);\n data = JSON.parse(decryptedResponse);\n console.log(\"Decrypted Response\", data);\n res.data = data;\n }\n\n // Verify signature and handle response\n this.verifySignature(\n this.dataDerivativeLogic(data),\n res?.headers,\n url,\n isVerifySignature\n )\n .then((verification) => {\n subscriber.next(res);\n subscriber.complete();\n })\n .catch((err) => {\n subscriber.error(err?.response);\n });\n },\n async (err) => {\n let data = err?.response?.data;\n\n // Decrypt error response if required\n if (data && isDecrypt) {\n const encryptedResponse = data;\n const decryptedResponse = await decryptWithAES(encryptedResponse);\n data = JSON.parse(decryptedResponse);\n console.log(\"Decrypted Response\", data);\n err.response.data = data;\n }\n\n // Verify signature and handle response\n this.verifySignature(\n this.dataDerivativeLogic(data),\n err?.response?.headers,\n url,\n isVerifySignature\n )\n .then((verification) => {\n subscriber.error(err?.response);\n })\n .catch((err) => {\n subscriber.error(err?.response);\n });\n }\n );\n });\n }\n\n // Function to perform GET request\n @logMethod\n get(\n url,\n headerData = undefined,\n isDecrypt = false,\n isVerifySignature = false,\n isSkipHeaderAlteration = false\n ) {\n let preProcessedHeader = headerData;\n\n // Preprocess header data unless instructed to skip\n if (!isSkipHeaderAlteration) {\n preProcessedHeader = this.preProcessHeader(headerData, isVerifySignature);\n } else {\n preProcessedHeader[\"observe\"] = \"response\";\n }\n\n return new Observable((subscriber) => {\n axios.get(url, preProcessedHeader).then(\n async (res: any) => {\n let data = res[\"data\"];\n\n // Decrypt response if required\n if (isDecrypt) {\n const encryptedResponse = data;\n const decryptedResponse = await decryptWithAES(encryptedResponse);\n data = JSON.parse(decryptedResponse);\n console.log(\"Decrypted Response\", data);\n res.data = data;\n }\n\n // Verify signature and handle response\n this.verifySignature(\n this.dataDerivativeLogic(data),\n res?.headers,\n url,\n isVerifySignature\n )\n .then((verification) => {\n subscriber.next(res);\n subscriber.complete();\n })\n .catch((err) => {\n subscriber.error(err?.response);\n });\n },\n async (err) => {\n let data = err?.response?.data;\n\n // Decrypt error response if required\n if (data && isDecrypt) {\n const encryptedResponse = data;\n const decryptedResponse = await decryptWithAES(encryptedResponse);\n data = JSON.parse(decryptedResponse);\n console.log(\"Decrypted Response\", data);\n err.response.data = data;\n }\n\n // Verify signature and handle response\n this.verifySignature(\n this.dataDerivativeLogic(data),\n err?.response?.headers,\n url,\n isVerifySignature\n )\n .then((verification) => {\n subscriber.error(err?.response);\n })\n .catch((err) => {\n subscriber.error(err?.response);\n });\n }\n );\n });\n }\n\n // Function to execute API call based on method type\n executeApiCall(\n url,\n method,\n body,\n headers,\n isEncrypt,\n isDecrypt,\n isVerifySignature\n ) {\n return new Promise((resolve) => {\n if (method == \"GET\") {\n this.get(\n url,\n { headers: headers },\n isDecrypt,\n isVerifySignature\n ).subscribe(\n (res: any) => {\n resolve(res);\n },\n (err) => {\n resolve(err);\n }\n );\n } else {\n this.post(\n url,\n body,\n { headers: headers },\n isEncrypt,\n isDecrypt,\n isVerifySignature\n ).subscribe(\n (res: any) => {\n resolve(res);\n },\n (err) => {\n resolve(err);\n }\n );\n }\n });\n }\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 getFormFieldApiValue() {\n const apiConfig = this._field.default.api;\n\n const rules = apiConfig.rules;\n const actions = apiConfig.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 @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 AbstractControl,\n FormArray,\n FormGroup,\n ValidationErrors,\n ValidatorFn,\n Validators\n} from \"@angular/forms\";\nimport {\n PATTERNS,\n checkObjectKeyExists,\n hasWhitespacesOnly,\n isNotEmptyValue,\n logMethod\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(NoWhitespacesValidator());\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 if (\n checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"whitespace\")\n ) {\n validators.push(NoWhitespacesValidator());\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\nexport function NoWhitespacesValidator(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value;\n\n if (!value || typeof value !== \"string\") {\n return null;\n }\n\n return hasWhitespacesOnly(value) ? { onlyWhitespaces: true } : null;\n };\n}\n","import { FormControl, FormGroup } from \"@angular/forms\";\nimport {\n checkObjectKeyExists,\n getObjectDeepCopy,\n logMethod\n} 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\";\nimport { EFieldType } from \"./definitions/form-view.fields.definition\";\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 = \"\";\n if (checkObjectKeyExists(field, \"default\")) {\n if (checkObjectKeyExists(field.default, \"value\")) {\n value = await defaults.getFormFieldValue();\n }\n }\n\n if (checkObjectKeyExists(field, \"default\")) {\n if (checkObjectKeyExists(field.default, \"api\")) {\n await defaults.getFormFieldApiValue();\n }\n }\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 checkObjectPathExists,\n Condition,\n getObjectDeepCopy,\n logMethod,\n Rule,\n setValueToObjectPath,\n Source,\n TAction,\n TRule,\n TSource,\n TValidation\n} from \"kwikid-toolkit\";\nimport {\n EApiRequestUrlType,\n TApiRequest,\n TApiRequestBody,\n TApiRequestBodyParam,\n TApiRequestHeaders,\n TApiRequestHeadersParam,\n TApiResponse\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 _request: TApiRequest;\n private _response: TApiResponse;\n\n constructor(object: any, takeAction: any) {\n this._object = object;\n this._takeAction = takeAction;\n\n this._request = this._object.API_CONFIG.request;\n this._response = this._object.API_CONFIG.response;\n }\n\n @logMethod\n public async setUrl(): Promise<TFieldApiCall> {\n if (\n this._request.url.hasOwnProperty(\"type\") &&\n this._request.url.type === EApiRequestUrlType.CALCULATED\n ) {\n const source = new Source(this._object);\n const url = await source.getValueFromSource(\n this._request.url.props.value.source\n );\n this._request.url = setValueToObjectPath(this._request.url, \"value\", url);\n } else if (typeof this._request.url === \"string\") {\n this._request.url = setValueToObjectPath({}, \"value\", this._request.url);\n }\n\n return this._object.API_CONFIG;\n }\n\n @logMethod\n public async setRequestBody(): Promise<TFieldApiCall> {\n if (checkObjectKeyExists(this._request, \"body\")) {\n if (checkObjectKeyExists(this._request.body, \"params\")) {\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.API_CONFIG = setValueToObjectPath(\n this._object.API_CONFIG,\n `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.API_CONFIG;\n } else if (\n checkObjectKeyExists(this._request.body, \"rules\") &&\n checkObjectKeyExists(this._request.body, \"actions\")\n ) {\n const triggers: Array<TTrigger> = this._request.body?.triggers ?? [];\n const rules: Array<TRule> = this._request.body?.rules ?? [];\n const actions: Array<TAction> =\n (this._request.body 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 return this._object.API_CONFIG;\n } else {\n return this._object.API_CONFIG;\n }\n } else {\n return this._object.API_CONFIG;\n }\n }\n\n @logMethod\n public async validateRequestBody(): Promise<TFieldApiCall> {\n if (checkObjectKeyExists(this._request, \"body\")) {\n if (checkObjectKeyExists(this._request.body, \"validation\")) {\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.API_CONFIG;\n } else if (\n checkObjectPathExists(this._request.body, \"rules\") &&\n checkObjectPathExists(this._request.body, \"actions\")\n ) {\n const triggers: Array<TTrigger> = this._request.body?.triggers ?? [];\n const rules: Array<TRule> = this._request.body?.rules ?? [];\n const actions: Array<TAction> =\n (this._request.body 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.API_CONFIG;\n } else {\n this._object = setValueToObjectPath(\n this._object,\n \"API_CONFIG.request.validation.body.is_valid\",\n true\n );\n\n return this._object.API_CONFIG;\n }\n } else {\n this._object = setValueToObjectPath(\n this._object,\n \"API_CONFIG.request.validation.body.is_valid\",\n true\n );\n\n return this._object.API_CONFIG;\n }\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.API_CONFIG = setValueToObjectPath(\n this._object.API_CONFIG,\n `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.API_CONFIG;\n } else if (\n checkObjectKeyExists(this._request.headers, \"rules\") &&\n checkObjectKeyExists(this._request.headers, \"actions\")\n ) {\n const triggers: Array<TTrigger> = this._request.headers?.triggers ?? [];\n const rules: Array<TRule> = this._request.headers?.rules ?? [];\n const actions: Array<TAction> =\n (this._request.headers 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 return this._object.API_CONFIG;\n } else {\n return this._object.API_CONFIG;\n }\n } else {\n return this._object.API_CONFIG;\n }\n }\n\n @logMethod\n public async validateRequestHeaders(): Promise<TFieldApiCall> {\n const headers: TApiRequestHeaders = this._request.headers;\n if (checkObjectKeyExists(this._request, \"headers\")) {\n if (checkObjectKeyExists(this._request.headers, \"validation\")) {\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 return this._object.API_CONFIG;\n } else if (\n checkObjectPathExists(this._request.headers, \"rules\") &&\n checkObjectPathExists(this._request.headers, \"actions\")\n ) {\n const triggers: Array<TTrigger> = headers?.triggers ?? [];\n const rules: Array<TRule> = headers?.rules ?? [];\n const actions: Array<TAction> = (headers 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.API_CONFIG;\n } else {\n this._object = setValueToObjectPath(\n this._object,\n \"API_CONFIG.request.validation.headers.is_valid\",\n true\n );\n\n return this._object.API_CONFIG;\n }\n } else {\n this._object = setValueToObjectPath(\n this._object,\n \"API_CONFIG.request.validation.headers.is_valid\",\n true\n );\n\n return this._object.API_CONFIG;\n }\n }\n\n @logMethod\n public async validateResponse(): Promise<TFieldApiCall> {\n if (checkObjectKeyExists(this._response, \"validation\")) {\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 } else if (\n checkObjectKeyExists(this._response, \"rules\") &&\n checkObjectKeyExists(this._response, \"actions\")\n ) {\n const triggers: Array<TTrigger> = this._response?.triggers ?? [];\n const rules: Array<TRule> = this._response?.rules ?? [];\n const actions: Array<TAction> = (this._response 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.API_CONFIG;\n }\n\n @logMethod\n public async callNextApi(validation: TValidation): Promise<any> {\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}\n","import { checkObjectKeyExists, logMethod, Source } from \"kwikid-toolkit\";\nimport {\n TField,\n TFieldCapture\n} from \"../definitions/form-view.fields.definition\";\n\nexport class CameraHelper {\n private _allFormsData: any;\n private _field: TField;\n private _formFields: any[];\n private _formData: any;\n private _previousFormData: any;\n private cameraData: any = {};\n\n constructor(\n field: TFieldCapture,\n formFields: any[],\n allFormsData: any,\n formData: any,\n previousFormData: any\n ) {\n this._field = field;\n this._formFields = formFields;\n this._allFormsData = allFormsData;\n this._formData = formData;\n this._previousFormData = previousFormData;\n }\n\n @logMethod\n async getCameraWatermarkData(): Promise<any> {\n const sources = this._field.properties[\"watermarkDataSources\"];\n\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 = await sources.getValueFromSource(source);\n\n if (checkObjectKeyExists(source, \"id\")) {\n this.cameraData[source.id] = value;\n }\n }\n\n return this.cameraData;\n }\n}\n","import { isNotEmptyValue } from \"kwikid-toolkit\";\nimport { ELogEventType } from \"../definitions/form-view.logs.definition\";\n\nexport function formatEventLogs(\n eventType: ELogEventType,\n stepConfig: any,\n formConfig: any,\n extras: any\n) {\n const logLabel = [\n eventType,\n stepConfig?.form?.key ?? stepConfig?.key ?? \"_\",\n formConfig?.key ?? \"_\",\n extras?.field_key ?? \"_\"\n ]\n .filter((item) => isNotEmptyValue(item))\n .join(\" | \");\n\n return {\n type: eventType,\n label: `${logLabel}`,\n timestamp: new Date().getTime(),\n data: {\n step_key: stepConfig?.form?.key ?? stepConfig?.key,\n step_title: stepConfig?.props?.label ?? stepConfig?.label,\n form_key: formConfig?.key,\n form_title: formConfig?.props?.title ?? formConfig?.title,\n ...extras\n }\n };\n}\n","import {\n Action,\n Condition,\n logMethod,\n Rule\n} from \"kwikid-toolkit\";\n\nexport class Tasks {\n private _object: any;\n private _task: any;\n private _takeAction: Function;\n\n constructor(task: any, object: any, takeAction: Function) {\n this._task = task;\n this._object = object;\n this._takeAction = takeAction;\n }\n\n @logMethod\n async execute() {\n const triggers = this._task.triggers;\n const rules = this._task.rules;\n const actions = this._task.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}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { DomSanitizer, SafeStyle } from \"@angular/platform-browser\";\n\n@Pipe({\n name: \"styleSanitizer\"\n})\nexport class StyleSanitizerPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(style: string): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(style);\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({\n name: \"formatTimer\"\n})\nexport class TimerPipe implements PipeTransform {\n transform(value: number): string {\n const minutes: number = Math.floor(value / 60);\n const seconds: number = value % 60;\n\n return `${this.pad(minutes)}:${this.pad(seconds)}`;\n }\n\n private pad(value: number): string {\n return value < 10 ? `0${value}` : `${value}`;\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { TuiPreviewDialogService } from \"@taiga-ui/addon-preview\";\nimport {\n TuiAlertService,\n TuiDialogContext,\n TuiDialogService,\n TuiNotification\n} from \"@taiga-ui/core\";\nimport { TuiPushService } from \"@taiga-ui/kit\";\nimport { KwikIDCameraRecordService } from \"kwikid-camera\";\nimport {\n Action,\n Condition,\n ESourceKey,\n Rule,\n Source,\n TAction,\n TValidation,\n Validation,\n checkObjectKeyExists,\n getObjectDeepCopy,\n getObjectValueFromPath,\n isEmptyString,\n isEmptyValue,\n isNotEmptyValue,\n isNull,\n isUndefined,\n logMethod,\n mergeObjects,\n mergeObjectsDeep,\n replaceString,\n setValueToObjectPath\n} from \"kwikid-toolkit\";\nimport { KwikUILoaderService } from \"kwikui\";\nimport { pairwise } from \"rxjs/operators\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { Converter } from \"../config-converter/config-converter\";\nimport { FIELD_PROPERTIES } from \"../config-converter/config-converter.constants\";\nimport {\n getLanguage,\n updateLanguage\n} from \"../config-converter/config-converter.helper\";\nimport { EFormsListStatus } from \"../forms-list/forms-list.definitions\";\nimport { EActionKey } from \"./definitions/form-view.actions.definition\";\nimport {\n EApiRequestUrlType,\n EApiStatusType,\n TApi,\n TApiEndpoint,\n TApiTimer\n} from \"./definitions/form-view.apis.definition\";\nimport {\n EMessageType,\n TFormViewGoBackMode,\n TMessage\n} from \"./definitions/form-view.commons.definition\";\nimport {\n EFieldType,\n TFieldApiCall,\n TFieldTitle\n} from \"./definitions/form-view.fields.definition\";\nimport { ELogEventType } from \"./definitions/form-view.logs.definition\";\nimport { KwikIDFormViewApiService } from \"./form-view.api.service\";\nimport { KwikIDFormViewService } from \"./form-view.service\";\nimport { Apis } from \"./helpers/form-view.apis.helper\";\nimport { CameraHelper } from \"./helpers/form-view.camera.helper\";\nimport {\n appendFormFieldMessage,\n appendHtmlMessage,\n convertFormFieldEmptyValueToKwikUIFormat,\n convertFormFieldValueToKwikUIFormat,\n convertFormFieldValueToStandardFormat,\n filterDuplicatesFiles,\n filterDuplicatesMediaFiles,\n getFormFieldByKey,\n getFormFieldIndexByKey,\n highlightFormFieldError,\n removeFormFieldMessage,\n setApiTimerMessage,\n showFormFieldError\n} from \"./helpers/form-view.fields.helper\";\nimport { FormValidation } from \"./helpers/form-view.form-validations.helper\";\nimport { formatEventLogs } from \"./helpers/form-view.logs.helper\";\nimport { Tasks } from \"./helpers/form-view.tasks.helper\";\n\n@Component({\n selector: \"kwikid-form-view\",\n templateUrl: \"./form-view.component.html\",\n styleUrls: [\"./form-view.component.scss\", \"../shared.scss\"],\n providers: [KwikIDFormViewService, KwikIDFormViewApiService]\n})\nexport class KwikIDFormViewComponent\n implements OnInit, AfterViewInit, OnChanges, OnDestroy\n{\n @ViewChild(\"dialog\") readonly dialog: TemplateRef<TuiDialogContext<void>>;\n @ViewChild(\"preview\") readonly preview: TemplateRef<TuiDialogContext<void>>;\n\n @Input() allFormsData: any;\n @Input() apiCallResponse: any;\n @Input() buttonClickResponse: any;\n @Input() formConfig: any;\n @Input() formData: any;\n @Input() isMobileView: boolean = false;\n @Input() popupFormCallback: any = undefined;\n @Input() userConfig: any;\n @Input() stepConfig: any;\n\n @Output() getLogs: EventEmitter<any> = new EventEmitter<any>();\n @Output() getUnsavedDataState: EventEmitter<any> = new EventEmitter<any>();\n @Output() onActionShowPopupForm: EventEmitter<any> = new EventEmitter<any>();\n @Output() onClickApiCall: EventEmitter<any> = new EventEmitter<any>();\n @Output() onClickFormFieldButton: EventEmitter<any> = new EventEmitter<any>();\n @Output() onClickGoBack: EventEmitter<any> = new EventEmitter<any>();\n @Output() onClickSaveForm: EventEmitter<any> = new EventEmitter<any>();\n @Output() onClickViewForms: EventEmitter<any> = new EventEmitter<any>();\n\n fieldGroups: any = {};\n formFields: any[] = [];\n previousFormData: any = {};\n\n isShowCamera: boolean = false;\n isShowCameraFullscreen: boolean = false;\n cameraFieldKey: string = \"\";\n cameraData: any = undefined;\n cameraType: \"CAPTURE\" | \"RECORD\" = undefined;\n cameraImage: string = \"\";\n cameraVideo: string = \"\";\n cameraConfig: any = undefined;\n cameraRecordingTime: number = 0;\n cameraRecordingTimerSubcription: any = undefined;\n cameraRecordingState: string = \"NONE\";\n cameraRecordingStateSubcription: any = undefined;\n\n @logMethod\n resetCamera(): void {\n this.isShowCamera = false;\n this.isShowCameraFullscreen = false;\n this.cameraFieldKey = \"\";\n this.cameraData = undefined;\n this.cameraType = undefined;\n this.cameraImage = \"\";\n this.cameraVideo = \"\";\n this.cameraConfig = undefined;\n this.cameraRecordingTime = 0;\n this.cameraRecordingState = \"NONE\";\n }\n\n previewProperties: any = {\n html: {\n before: \"\",\n beforeStyles: \"\",\n after: \"\",\n afterStyles: \"\"\n },\n iframe: {\n src: \"\",\n title: \"\"\n },\n type: \"dialog\",\n size: \"auto\",\n popupFormKey: \"\",\n title: \"\",\n unavailable: false\n };\n\n loading: boolean = true;\n apiLoading: boolean = false;\n backButton = {\n disabled: false,\n showLoader: false\n };\n viewFormsButton = {\n disabled: false,\n showLoader: false\n };\n saveFormButton = {\n disabled: false,\n showLoader: false\n };\n\n files: any = {};\n mediaFiles: any = {};\n\n stopTaskExecution: boolean = false;\n waitingForChanges: boolean = false;\n popupFormConfig: any = undefined;\n popupFormData: any = {};\n taskData: any = {};\n\n previewDialogRef: any;\n\n formGroup: FormGroup = new FormGroup({});\n\n constructor(\n private cd: ChangeDetectorRef,\n private formViewService: KwikIDFormViewService,\n private formViewApiService: KwikIDFormViewApiService,\n @Inject(TuiPushService)\n protected readonly push: TuiPushService,\n @Inject(TuiAlertService)\n protected readonly alertService: TuiAlertService,\n @Inject(TuiPreviewDialogService)\n private readonly previewDialogService: TuiPreviewDialogService,\n @Inject(TuiDialogService)\n private readonly dialogService: TuiDialogService,\n public loaderService: KwikUILoaderService,\n private cameraRecordService: KwikIDCameraRecordService,\n private ref: ChangeDetectorRef\n ) {}\n\n @logMethod\n ngOnInit(): void {\n (async () => {\n const res = await this.initFormConfig(this.formConfig);\n\n if (res) {\n this.loading = false;\n\n this.cameraRecordingTimerSubcription = this.cameraRecordService\n .getTimerUpdate()\n .subscribe((time: number) => {\n this.cameraRecordingTime = time;\n this.ref.detectChanges();\n });\n this.cameraRecordingStateSubcription = this.cameraRecordService\n .getRecordingState()\n .subscribe((state: string) => {\n this.cameraRecordingState = state;\n this.ref.detectChanges();\n });\n }\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(\"userConfig\")) {\n this.userConfig = changes.userConfig.currentValue;\n }\n if (verifyChange(\"stepConfig\")) {\n this.stepConfig = changes.stepConfig.currentValue;\n }\n if (verifyChange(\"formData\")) {\n if (\n checkObjectKeyExists(changes.formData.currentValue, \"data\") &&\n checkObjectKeyExists(changes.formData.currentValue, \"extendedData\")\n ) {\n this.formData = {\n ...this.formData,\n ...changes.formData.currentValue[\"data\"]\n };\n } else {\n this.formData = {\n ...this.formData,\n ...changes.formData.currentValue\n };\n }\n }\n if (verifyChange(\"popupFormCallback\")) {\n if (isNotEmptyValue(changes.popupFormCallback.currentValue)) {\n const popupFormData =\n checkObjectKeyExists(\n changes.popupFormCallback.currentValue.popupFormData,\n \"data\"\n ) &&\n checkObjectKeyExists(\n changes.popupFormCallback.currentValue.popupFormData,\n \"extendedData\"\n )\n ? changes.popupFormCallback.currentValue.popupFormData[\"data\"]\n : changes.popupFormCallback.currentValue.popupFormData;\n\n const popupFormConfig =\n changes.popupFormCallback.currentValue.popupFormConfig;\n\n this.popupFormData = mergeObjects(this.popupFormData, {\n [popupFormConfig.key]: popupFormData\n });\n\n this.formData = mergeObjects(this.formData, this.popupFormData);\n\n if (\n checkObjectKeyExists(\n changes.popupFormCallback.currentValue,\n \"stopTaskExecution\"\n )\n ) {\n this.stopTaskExecution =\n changes.popupFormCallback.currentValue.stopTaskExecution;\n } else {\n this.stopTaskExecution = false;\n }\n }\n\n this.waitingForChanges = false;\n }\n if (verifyChange(\"isMobileView\")) {\n this.isMobileView = changes.isMobileView.currentValue;\n }\n if (verifyChange(\"apiCallResponse\")) {\n this.apiCallResponse = changes.apiCallResponse.currentValue;\n\n let field = getFormFieldByKey(this.formFields, this.apiCallResponse.key);\n\n const response = this.apiCallResponse?.response;\n\n switch (field.type) {\n case EFieldType.FILE:\n if (response) {\n const updatedFile = getObjectDeepCopy({\n id: uuidv4(),\n ...response\n });\n\n this.triggerLogs(ELogEventType.FORM__API_RESPONSE_UPLOAD_FILE, {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"FILE_UPLOAD_API_SUCCESS\",\n response: response\n });\n\n this.updateFiles(updatedFile, \"NORMAL\", this.apiCallResponse.key);\n } else {\n const updatedFile = getObjectDeepCopy({\n id: uuidv4(),\n ...this.apiCallResponse?.payload?.metadata\n });\n\n this.triggerLogs(ELogEventType.FORM__API_RESPONSE_UPLOAD_FILE, {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"FILE_UPLOAD_API_ERROR\"\n });\n\n this.updateFiles(updatedFile, \"ERROR\", this.apiCallResponse.key);\n }\n\n this.hideApiLoader();\n break;\n case EFieldType.CAPTURE:\n if (response) {\n this.resetCamera();\n\n const image = response?.image_url;\n\n this.formData[field.key] = getObjectDeepCopy([image]);\n this.mediaFiles[field.key] = getObjectDeepCopy([image]);\n this.formGroup.controls[field.key].patchValue(\n getObjectDeepCopy([image]),\n {\n emitEvent: false,\n onlySelf: false\n }\n );\n this.formGroup.patchValue(\n {\n [field.key]: getObjectDeepCopy([image])\n },\n { emitEvent: false }\n );\n this.formGroup.controls[field.key].updateValueAndValidity({\n emitEvent: false\n });\n this.formGroup.updateValueAndValidity({\n emitEvent: false\n });\n\n this.getUnsavedDataState.emit(true);\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\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 TASK_DATA: this.taskData,\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 this.triggerLogs(ELogEventType.FORM__API_RESPONSE_UPLOAD_IMAGE, {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"IMAGE_UPLOAD_API_SUCCESS\",\n response: response\n });\n } else {\n this.triggerLogs(ELogEventType.FORM__API_RESPONSE_UPLOAD_IMAGE, {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"IMAGE_UPLOAD_API_ERROR\"\n });\n\n console.error(\"File Upload for Image Failed\");\n }\n this.hideApiLoader();\n break;\n case EFieldType.RECORD:\n if (response) {\n this.resetCamera();\n\n const video = response?.video_url;\n\n this.formData[field.key] = getObjectDeepCopy([video]);\n this.mediaFiles[field.key] = getObjectDeepCopy([video]);\n this.formGroup.controls[field.key].patchValue(\n getObjectDeepCopy([video]),\n {\n emitEvent: false,\n onlySelf: false\n }\n );\n this.formGroup.patchValue(\n {\n [field.key]: getObjectDeepCopy([video])\n },\n { emitEvent: false }\n );\n this.formGroup.controls[field.key].updateValueAndValidity({\n emitEvent: false\n });\n this.formGroup.updateValueAndValidity({\n emitEvent: false\n });\n\n this.getUnsavedDataState.emit(true);\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\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 TASK_DATA: this.taskData,\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 this.triggerLogs(ELogEventType.FORM__API_RESPONSE_UPLOAD_VIDEO, {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"VIDEO_UPLOAD_API_SUCCESS\",\n response: response\n });\n } else {\n this.triggerLogs(ELogEventType.FORM__API_RESPONSE_UPLOAD_VIDEO, {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"VIDEO_UPLOAD_API_ERROR\"\n });\n\n console.error(\"File Upload for Video Failed\");\n }\n this.hideApiLoader();\n break;\n default:\n break;\n }\n }\n if (verifyChange(\"buttonClickResponse\")) {\n this.buttonClickResponse = changes.buttonClickResponse.currentValue;\n\n if (checkObjectKeyExists(this.buttonClickResponse, \"key\")) {\n let field = getFormFieldByKey(\n this.formFields,\n this.buttonClickResponse?.key\n );\n\n if (checkObjectKeyExists(this.buttonClickResponse, \"default\")) {\n field.default = getObjectDeepCopy(this.buttonClickResponse.default);\n delete this.buttonClickResponse[\"default\"];\n }\n if (checkObjectKeyExists(this.buttonClickResponse, \"messages\")) {\n field.messages = getObjectDeepCopy(this.buttonClickResponse.messages);\n delete this.buttonClickResponse[\"messages\"];\n }\n if (checkObjectKeyExists(this.buttonClickResponse, \"validation\")) {\n field.validation = getObjectDeepCopy(\n this.buttonClickResponse.validation\n );\n delete this.buttonClickResponse[\"validation\"];\n }\n\n field = getObjectDeepCopy(\n mergeObjects(field, this.buttonClickResponse)\n );\n\n if (checkObjectKeyExists(field, \"validation\")) {\n if (\n checkObjectKeyExists(field.validation, \"triggers\") &&\n field.validation.triggers.includes(\"ON_RESPONSE\")\n ) {\n const validations = new Validation(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\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 }\n }\n if (verifyChange(\"allFormsData\")) {\n this.allFormsData = changes.allFormsData.currentValue;\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 ngOnDestroy(): void {\n if (this.cameraRecordingTimerSubcription) {\n this.cameraRecordingTimerSubcription.unsubscribe();\n }\n if (this.cameraRecordingStateSubcription) {\n this.cameraRecordingStateSubcription.unsubscribe();\n }\n }\n\n @logMethod\n triggerLogs(eventType: ELogEventType, logs: any) {\n this.getLogs.emit(\n formatEventLogs(\n eventType,\n this.stepConfig,\n this.formConfig,\n getObjectDeepCopy(logs)\n )\n );\n }\n\n @logMethod\n async initFormConfig(formConfig: any) {\n formConfig = new Converter().convertFormConfig(formConfig);\n\n formConfig = new Converter().updateFormConfigProperties(formConfig);\n\n this.setFormFieldsFromFormConfig(formConfig);\n\n this.setFormFieldGroupsFromFormConfig(formConfig);\n\n this.setFormDataFromAllFormsData();\n\n this.formConfig = formConfig;\n\n this.triggerLogs(ELogEventType.FORM__CONFIG_LOAD_SUCCESS, {\n ...(formConfig.sequenceNo && {\n form_sequence_no: formConfig.sequenceNo\n }),\n ...(formConfig.status && { form_status: formConfig.status })\n });\n\n /**\n * PRE Form Tasks\n * 1. API Calls.\n * 2. Alter Data Structure.\n * 3. Alter Form Config.\n */\n if (\n checkObjectKeyExists(this.formConfig, \"tasks\") &&\n checkObjectKeyExists(this.formConfig.tasks, \"pre\")\n ) {\n this.triggerLogs(ELogEventType.FORM__TASK_PRE, {});\n\n for (let preTask of this.formConfig.tasks.pre) {\n const task = new Tasks(\n preTask,\n {\n FORM_CONFIG: this.formConfig,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n this.stopTaskExecution = false;\n if (checkObjectKeyExists(preTask, \"wait\")) {\n this.waitingForChanges = preTask.wait;\n } else {\n this.waitingForChanges = false;\n }\n\n await task.execute();\n\n // Wait for ngOnChanges to be called before continuing to the next task\n await new Promise<void>((resolve) => {\n const intervalId = setInterval(() => {\n if (!this.waitingForChanges) {\n clearInterval(intervalId);\n resolve();\n }\n }, 10);\n });\n\n if (this.stopTaskExecution) {\n break;\n }\n }\n\n this.formData = mergeObjects(this.formData, this.popupFormData);\n }\n\n if (this.stopTaskExecution) {\n return false;\n }\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 /**\n * For some reason if their a field of type 'IMAGE' then\n * formData is adding a 'undefined' key with last image's value from the array.\n * Below piece of code is to remove that redundent value from formData.\n */\n if (checkObjectKeyExists(this.formData, \"undefined\")) {\n delete this.formData[\"undefined\"];\n }\n\n for (let field of this.formFields) {\n if (field.isFormElement) {\n this.previousFormData = {\n ...this.previousFormData,\n [field.key]: convertFormFieldValueToStandardFormat(\n field,\n this.formGroup.controls[field.key].value\n )\n };\n\n this.formData = {\n ...this.formData,\n [field.key]: convertFormFieldValueToStandardFormat(\n field,\n this.formGroup.controls[field.key].value\n )\n };\n\n if (field.type === EFieldType.FILE) {\n this.files[field.key] = this.formGroup.controls[field.key].value;\n }\n if (field.type === EFieldType.CAPTURE) {\n this.resetCamera();\n this.mediaFiles[field.key] = this.formGroup.controls[field.key].value;\n }\n if (field.type === EFieldType.RECORD) {\n this.resetCamera();\n this.mediaFiles[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 if (field.type === EFieldType.FILE) {\n this.files[field.key] = currentValue;\n }\n if (field.type === EFieldType.CAPTURE) {\n this.resetCamera();\n this.mediaFiles[field.key] = currentValue;\n }\n if (field.type === EFieldType.RECORD) {\n this.resetCamera();\n this.mediaFiles[field.key] = currentValue;\n }\n });\n }\n }\n\n for (let field of this.formFields) {\n if (field.isFormElement) {\n if (checkObjectKeyExists(field, \"validation\")) {\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 TASK_DATA: this.taskData,\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\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 return true;\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 const formData = this.allFormsData[this.formConfig.key];\n\n if (\n checkObjectKeyExists(formData, \"data\") &&\n checkObjectKeyExists(formData, \"extendedData\")\n ) {\n this.formData = {\n ...this.formData,\n ...formData[\"data\"]\n };\n } else {\n this.formData = {\n ...this.formData,\n ...formData\n };\n }\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 TASK_DATA: this.taskData,\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 TASK_DATA: this.taskData,\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 TASK_DATA: this.taskData,\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 TASK_DATA: this.taskData,\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 @logMethod\n handleRemovedFile(e: any) {\n this.showApiLoader();\n\n if (this.formGroup[\"controls\"][e.key].enabled) {\n this.files[e.key] = e.files;\n\n this.formData[e.key] = filterDuplicatesFiles(this.files[e.key]);\n\n this.formGroup.patchValue(\n {\n [e.key]: this.formData[e.key]\n },\n { emitEvent: false }\n );\n }\n\n this.triggerLogs(ELogEventType.FORM__FIELD_FILE_REMOVE, {\n field_key: e.key,\n ...(e.file?.name ?? { file_name: e.file?.name }),\n ...(e.file?.size ?? { file_size: e.file?.size }),\n ...(e.file?.type ?? { file_type: e.file?.type })\n });\n\n this.hideApiLoader();\n }\n\n @logMethod\n async handleGetKeyValueFile(e: any) {\n this.showApiLoader();\n\n const field = getFormFieldByKey(this.formFields, e.key);\n\n let values = Array.isArray(e.value) ? e.value : [e.value];\n\n if (\n checkObjectKeyExists(field, \"properties\") &&\n checkObjectKeyExists(field.properties, \"uploadFileToServer\") &&\n field.properties.uploadFileToServer\n ) {\n for (const value of values) {\n await this.uploadFile(field, value);\n }\n } else {\n for (const value of values) {\n this.updateFiles(value, \"LOADING\", e.key);\n\n this.triggerLogs(ELogEventType.FORM__FIELD_FILE_ADD, {\n field_key: e.key,\n ...(e.file?.name ?? { file_name: e.file?.name }),\n ...(e.file?.size ?? { file_size: e.file?.size }),\n ...(e.file?.type ?? { file_type: e.file?.type })\n });\n\n const updatedFile = getObjectDeepCopy(\n await new Promise((resolve) => {\n setTimeout(() => {\n resolve({\n id: uuidv4(),\n name: value.name,\n type: value.type,\n size: value.size,\n lastModified: value.lastModified,\n webkitRelativePath: value.webkitRelativePath\n });\n }, 300); // 1000 ms = 1 sec\n })\n );\n\n this.updateFiles(updatedFile, \"NORMAL\", e.key);\n }\n\n this.hideApiLoader();\n }\n }\n\n /** Methods for Camera related fields like 'CAPTURE' or 'RECORD' */\n @logMethod\n handleOnClickGetRemovedMediaFile(e: any) {\n this.showApiLoader();\n\n if (this.formGroup[\"controls\"][e.key].enabled) {\n this.resetCamera();\n\n this.mediaFiles[e.key] = e.mediaFiles;\n\n this.formData[e.key] = filterDuplicatesMediaFiles(this.mediaFiles[e.key]);\n\n this.formGroup.patchValue(\n {\n [e.key]: this.formData[e.key]\n },\n { emitEvent: false }\n );\n\n this.triggerLogs(ELogEventType.FORM__FIELD_MEDIA_FILE_REMOVE, {\n field_key: e.key,\n ...(e.file?.name ?? { file_name: e.file?.name }),\n ...(e.file?.size ?? { file_size: e.file?.size }),\n ...(e.file?.type ?? { file_type: e.file?.type })\n });\n }\n\n this.hideApiLoader();\n }\n\n @logMethod\n async handleOnClickInputCamera(e: any, field: any) {\n this.loaderService.show({\n loaderText: \"Loading Camera...\",\n fullscreen: true\n });\n\n const fieldKey = field.key;\n const fieldcameraConfig = field?.properties?.cameraConfig ?? {};\n\n this.cameraType = field?.type.toUpperCase() || \"\";\n this.cameraFieldKey = fieldKey;\n\n this.triggerLogs(ELogEventType.FORM__FIELD_CAMERA_BUTTON_CLICK, {\n field_key: field.key,\n field_type: field.type,\n camera_type: this.cameraType\n });\n\n switch (this.cameraType) {\n case \"CAPTURE\":\n this.cameraConfig = mergeObjectsDeep([\n FIELD_PROPERTIES.capture.cameraConfig,\n fieldcameraConfig\n ]);\n\n if (\n this.cameraConfig?.others?.isWatermark ||\n this.cameraConfig?.others?.isWatermarkForImageUpload\n ) {\n const cameraHelper = new CameraHelper(\n field,\n this.formFields,\n this.allFormsData,\n this.formData,\n this.previousFormData\n );\n\n this.cameraData = {\n watermark: await cameraHelper.getCameraWatermarkData()\n };\n } else {\n this.cameraData = undefined;\n }\n break;\n case \"RECORD\":\n this.cameraConfig = mergeObjectsDeep([\n FIELD_PROPERTIES.record.cameraConfig,\n fieldcameraConfig\n ]);\n break;\n default:\n this.resetCamera();\n break;\n }\n\n /**\n * Config and other data is set now, so we can show the camera.\n */\n this.isShowCamera = true;\n\n this.loaderService.hide();\n }\n\n /** KwikID Camera Methods */\n /** CameraType = CAPTURE */\n @logMethod\n async setCameraMedia(media: string): Promise<void> {\n const field = getFormFieldByKey(this.formFields, this.cameraFieldKey);\n\n if (\n checkObjectKeyExists(field, \"properties\") &&\n checkObjectKeyExists(field.properties, \"uploadFileToServer\") &&\n field.properties.uploadFileToServer\n ) {\n await this.uploadFile(field, media);\n } else {\n this.resetCamera();\n\n this.formData[field.key] = getObjectDeepCopy([media]);\n this.mediaFiles[field.key] = getObjectDeepCopy([media]);\n this.formGroup.controls[field.key].patchValue(\n getObjectDeepCopy([media]),\n {\n emitEvent: false,\n onlySelf: false\n }\n );\n this.formGroup.patchValue(\n {\n [field.key]: getObjectDeepCopy([media])\n },\n { emitEvent: false }\n );\n this.formGroup.controls[field.key].updateValueAndValidity({\n emitEvent: false\n });\n this.formGroup.updateValueAndValidity({\n emitEvent: false\n });\n\n this.getUnsavedDataState.emit(true);\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\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 TASK_DATA: this.taskData,\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 this.triggerLogs(ELogEventType.FORM__FIELD_FILE_ADD, {\n field_key: field.key,\n field_type: field.type\n });\n }\n }\n\n /** Camera Common Methods */\n @logMethod\n handleGetCameraMedia(e: any, cameraType: \"CAPTURE\" | \"RECORD\") {\n switch (cameraType) {\n case \"CAPTURE\":\n this.showApiLoader();\n\n this.cameraImage = \"\";\n\n setTimeout(() => {\n /**\n * Priority of Image to Set for Config Based\n * 1. Masked\n * 2. Cropped\n * 3. Original\n *\n * If no masked or cropped image is available then directly set Original Image\n */\n const field = getFormFieldByKey(this.formFields, this.cameraFieldKey);\n\n const image = field.properties?.isMaskedImage\n ? e?.maskedImage ?? e?.originalImage\n : field.properties?.isCroppedImage\n ? e?.croppedImage ?? e?.originalImage\n : e?.originalImage;\n\n const isShowImagePreview = this.cameraConfig?.others?.preview?.show;\n\n if (isShowImagePreview) {\n this.cameraImage = image;\n } else {\n this.setCameraMedia(image);\n }\n\n this.hideApiLoader();\n }, 500); // Delay is added due to issus with KwikID Camera not being able to handle to fast processing.\n break;\n case \"RECORD\":\n this.showApiLoader();\n\n this.cameraVideo = \"\";\n\n setTimeout(() => {\n /**\n * Priority of Image to Set for Config Based\n * 1. Original\n */\n const field = getFormFieldByKey(this.formFields, this.cameraFieldKey);\n\n const video = e?.originalVideo;\n\n const isShowVideoPreview = this.cameraConfig?.others?.preview?.show;\n\n if (isShowVideoPreview) {\n this.cameraVideo = video;\n } else {\n this.setCameraMedia(video);\n }\n\n this.hideApiLoader();\n }, 500); // Delay is added due to issus with KwikID Camera not being able to handle to fast processing.\n break;\n default:\n break;\n }\n }\n\n @logMethod\n handleOnClickSaveCameraMedia(e: any, cameraType: \"CAPTURE\" | \"RECORD\") {\n this.showApiLoader();\n\n const field = getFormFieldByKey(this.formFields, this.cameraFieldKey);\n\n this.triggerLogs(ELogEventType.FORM__CAMERA_SAVE_BUTTON_CLICK, {\n field_key: field.key,\n field_type: field.type,\n camera_type: cameraType\n });\n\n switch (cameraType) {\n case \"CAPTURE\":\n this.cameraImage = \"\";\n\n setTimeout(() => {\n const image = e?.originalImage;\n\n this.setCameraMedia(image);\n\n this.hideApiLoader();\n }, 500);\n break;\n case \"RECORD\":\n this.cameraVideo = \"\";\n\n setTimeout(() => {\n const video = e?.originalVideo;\n\n this.setCameraMedia(video);\n\n this.hideApiLoader();\n }, 500);\n break;\n }\n }\n\n @logMethod\n handleOnClickCameraBack(e: any): void {\n const field = getFormFieldByKey(this.formFields, this.cameraFieldKey);\n\n this.triggerLogs(ELogEventType.FORM__CAMERA_BACK_BUTTON_CLICK, {\n field_key: field.key,\n field_type: field.type\n });\n\n this.resetCamera();\n }\n\n @logMethod\n handleOnClickCameraClose(e: any): void {\n const field = getFormFieldByKey(this.formFields, this.cameraFieldKey);\n\n this.triggerLogs(ELogEventType.FORM__CAMERA_CLOSE_BUTTON_CLICK, {\n field_key: field.key,\n field_type: field.type\n });\n\n this.resetCamera();\n }\n\n /**\n * This method is used to update the files array with the new file and it's state and response from the api of uploading the file.\n */\n @logMethod\n updateFiles(file: any, state: string, key: string) {\n const fileWithState = mergeObjects(file as any, { state: state });\n\n const field = getFormFieldByKey(this.formFields, key);\n\n if (field.properties?.multiple) {\n // If field.properties?.multiple is true, it means multiple files are allowed for this field.\n // Update the existing files array for the specific key with the new file.\n const updatedFiles = [\n ...this.files[key].filter(\n (f) => f.name !== fileWithState.name || f.size !== fileWithState.size\n ),\n fileWithState\n ];\n\n // Apply the filterDuplicatesFiles function to ensure uniqueness in the updatedFiles array.\n this.files[key] = filterDuplicatesFiles(updatedFiles);\n } else {\n // If field.properties?.multiple is false, only one file is allowed for this field.\n // Replace the existing files array for the specific key with an array containing the new file.\n this.files[key] = [fileWithState];\n }\n\n // Update the formData and formGroup controls for the specific key with the normalFiles array.\n const normalFiles = this.files[key].filter((file) => {\n return file.state === \"NORMAL\";\n });\n\n this.formData[key] = normalFiles;\n this.formGroup.controls[key].patchValue(normalFiles, {\n emitEvent: false,\n onlySelf: false\n });\n this.formGroup.patchValue(\n {\n [key]: normalFiles\n },\n { emitEvent: false }\n );\n\n this.getUnsavedDataState.emit(true);\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\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 TASK_DATA: this.taskData,\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 /**\n * This is a api upload mocking method. Set's to loading at first at point when API is called and then changes the status to random status after 2 seconds of delay showing a mocked response from API.\n */\n @logMethod\n async uploadFile(field: any, file: any) {\n switch (field.type) {\n case EFieldType.FILE:\n this.updateFiles(file, \"LOADING\", field.key);\n\n this.triggerLogs(ELogEventType.FORM__API_REQUEST_UPLOAD_FILE, {\n field_key: field.key,\n field_type: field.type,\n request: getObjectDeepCopy({\n name: file.name,\n type: file.type,\n size: file.size,\n lastModified: file.lastModified,\n webkitRelativePath: file.webkitRelativePath\n })\n });\n\n // Actual API Call\n try {\n this.onClickApiCall.emit({\n key: field.key,\n type: field.type,\n payload: {\n file: file,\n metadata: {\n name: file.name,\n type: file.type,\n size: file.size,\n lastModified: file.lastModified,\n webkitRelativePath: file.webkitRelativePath\n }\n }\n });\n } catch (err) {\n this.updateFiles(file, \"ERROR\", field.key);\n }\n break;\n case EFieldType.CAPTURE:\n // Actual API Call\n\n this.triggerLogs(ELogEventType.FORM__API_REQUEST_UPLOAD_IMAGE, {\n field_key: field.key,\n field_type: field.type,\n request: {\n image: file\n }\n });\n\n try {\n this.onClickApiCall.emit({\n key: field.key,\n type: field.type,\n payload: {\n image: file\n }\n });\n } catch (err) {\n console.log(\"Failed to upload image to server!\");\n }\n break;\n case EFieldType.RECORD:\n // Actual API Call\n\n this.triggerLogs(ELogEventType.FORM__API_REQUEST_UPLOAD_VIDEO, {\n field_key: field.key,\n field_type: field.type,\n request: {\n video: file\n }\n });\n\n try {\n this.onClickApiCall.emit({\n key: field.key,\n type: field.type,\n payload: {\n video: file\n }\n });\n } catch (err) {\n console.log(\"Failed to upload video to server!\");\n }\n break;\n }\n }\n\n @logMethod\n handleOnClickFormFieldButton(field: any): void {\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 const extendedFormData = this.formFields.reduce((result, field, index) => {\n if (field.isFormElement && !field.hidden) {\n const fieldData = {\n [field.key]: {\n key: field.key,\n label: field.label,\n value: isEmptyValue(formData[field.key]) ? \"\" : formData[field.key],\n type: field.type,\n index: index\n }\n };\n result[field.key] = fieldData[field.key];\n }\n return result;\n }, {});\n\n this.triggerLogs(ELogEventType.FORM__FIELD_BUTTON_CLICK, {\n field_key: field.key,\n field_type: field.type,\n field_label: field.label\n });\n\n this.onClickFormFieldButton.emit({\n config: field,\n data: mergeObjects(this.formData, this.popupFormData, this.taskData),\n extendedData: extendedFormData\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 this.getUnsavedDataState.emit(true);\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\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 TASK_DATA: this.taskData,\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 this.triggerLogs(ELogEventType.FORM__FIELD_RESET_BUTTON_CLICK, {\n field_key: field.key\n });\n\n const resetFormFields = async () => {\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 TASK_DATA: this.taskData,\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 const BYPASS_RESET_CONFIRM = field?.properties?.bypassResetConfirmation;\n\n if (!BYPASS_RESET_CONFIRM) {\n const CONFIRM_RESET = window.confirm(\n \"This action will reset all the fields. Do you still want to continue?\"\n );\n\n if (CONFIRM_RESET) {\n resetFormFields();\n }\n } else {\n resetFormFields();\n }\n }\n\n @logMethod\n async handleFieldApiCall(field: TFieldApiCall, api: any) {\n api = await this.executeApiCall(api, {\n FIELD_CONFIG: field,\n API_CONFIG: api,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n });\n\n if (this.isValidRequestHeadersAndBody(api)) {\n if (checkObjectKeyExists(field.api, \"request\")) {\n this.formData = {\n ...this.formData,\n [field.key]: api.response.value\n };\n\n this.formGroup.patchValue(\n {\n [field.key]: api.response.value\n },\n { emitEvent: false }\n );\n }\n\n const apis = new Apis(\n {\n FIELD_CONFIG: field,\n API_CONFIG: api,\n API_RESPONSE: api.response,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n api = await apis.validateResponse();\n } else {\n setTimeout(() => {\n field[\"api\"][\"status\"][\"value\"] = EApiStatusType.FAILED;\n field[\"showLoader\"] = false;\n }, 500);\n }\n\n return { field: field, api: api };\n }\n\n @logMethod\n async handleApiCall(api: any) {\n api = await this.executeApiCall(api, {\n FORM_CONFIG: this.formConfig,\n API_CONFIG: api,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n });\n\n const apis = new Apis(\n {\n FORM_CONFIG: this.formConfig,\n API_CONFIG: api,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n if (this.isValidRequestHeadersAndBody(api)) {\n api = await apis.validateResponse();\n }\n\n return { api: api };\n }\n\n @logMethod\n async executeApiCall(api: any, object: any): Promise<any> {\n const apis = new Apis(object, this.takeAction.bind(this));\n\n api = await apis.setUrl();\n api = await apis.setRequestHeaders();\n api = await apis.validateRequestHeaders();\n api = await apis.setRequestBody();\n api = await apis.validateRequestBody();\n\n let apiCallResponse: any = {};\n let apiCallResponseStatusCode;\n\n if (this.isValidRequestHeadersAndBody(api)) {\n if (\n api.request.url.hasOwnProperty(\"type\") &&\n api.request.url.type === EApiRequestUrlType.MOCK\n ) {\n apiCallResponse = await new Promise((resolve) => {\n setTimeout(() => {\n resolve(api.request.url.props.mockedData);\n }, 1000); // 1000 ms = 1 sec\n });\n apiCallResponseStatusCode = api.request.url.props?.statusCode ?? 200; // Default Status Code for Mocked APIs\n } else {\n const url: string = api.request.url.value;\n const method: string = api.request?.method ?? \"POST\";\n const headers: any = {\n \"Content-Type\": \"application/json\",\n ...(api.request?.headers?.value || {})\n };\n\n if (method === \"GET\") {\n // Trigger logs for API request with the method and API key\n this.triggerLogs(ELogEventType.FORM__API_REQUEST, {\n form_api_method: method,\n form_api_key: api?.apiKey ?? \"\"\n });\n\n try {\n // Check if the response needs to be decrypted\n const isDecryptResponse: boolean = api?.response?.isSecure ?? false;\n // Check if the response signature needs to be verified\n const isVerifySignature: boolean =\n api?.response?.isVerifySignature ?? false;\n\n // Execute the API call for GET method\n const executedApiCall: any =\n await this.formViewApiService.executeApiCall(\n url,\n \"GET\",\n {}, // No request body for GET method\n headers,\n false, // isEncryptRequestBody is not applicable for GET method\n isDecryptResponse,\n isVerifySignature\n );\n apiCallResponse = executedApiCall.data;\n apiCallResponseStatusCode = executedApiCall.status;\n } catch {\n // Handle any errors\n apiCallResponse = {};\n apiCallResponseStatusCode = 500; // Internal Server Error\n }\n } else {\n // Extract the request body from the API configuration\n let body: any = api?.request?.body?.value ?? {};\n\n // Check if the request body needs to be encrypted\n const isEncryptRequestBody: boolean =\n api?.request?.body?.isSecure ?? false;\n // Check if the response needs to be decrypted\n const isDecryptResponse: boolean = api?.response?.isSecure ?? false;\n // Check if the response signature needs to be verified\n const isVerifySignature: boolean =\n api?.response?.isVerifySignature ?? false;\n\n // Trigger logs for API request with the method and API key\n this.triggerLogs(ELogEventType.FORM__API_REQUEST, {\n form_api_method: method,\n form_api_key: api?.apiKey ?? \"\",\n form_api_request_encrypted: isEncryptRequestBody,\n ...(!isEncryptRequestBody && {\n form_api_request_body: body\n })\n });\n\n try {\n // Execute the API call for POST method\n const executedApiCall: any =\n await this.formViewApiService.executeApiCall(\n url,\n \"POST\",\n body,\n headers,\n isEncryptRequestBody,\n isDecryptResponse,\n isVerifySignature\n );\n apiCallResponse = executedApiCall.data;\n apiCallResponseStatusCode = executedApiCall.status;\n } catch {\n // Handle any errors\n apiCallResponse = {};\n apiCallResponseStatusCode = 500; // Internal Server Error\n }\n }\n }\n\n api.response = setValueToObjectPath(\n api.response,\n \"value\",\n apiCallResponse\n );\n\n api.response = setValueToObjectPath(\n api.response,\n \"status\",\n apiCallResponseStatusCode\n );\n\n this.triggerLogs(ELogEventType.FORM__API_RESPONSE, {\n form_api_key: api?.apiKey ?? \"\",\n form_api_response_encrypted: api?.response?.isSecure ?? false,\n ...((!api?.response?.isSecure ?? false) && {\n form_api_response_body: apiCallResponse ?? {}\n }),\n form_api_status_code: apiCallResponseStatusCode\n });\n } else {\n this.triggerLogs(ELogEventType.FORM__API_REQUEST_INVALID, {\n form_api_key: api?.apiKey ?? \"\",\n form_api_request_encrypted: api?.request?.body?.isSecure ?? false,\n ...((!api?.request?.body?.isSecure ?? false) && {\n form_api_request_body: api?.request?.body?.value ?? {}\n })\n });\n }\n\n return api;\n }\n\n @logMethod\n isValidRequestHeadersAndBody(api: TApi) {\n const bodyValidation =\n (api.request.body?.validation as TValidation & {\n is_valid: boolean;\n }) ||\n (api.request.body as any & {\n is_valid: boolean;\n });\n const headersValidation =\n (api.request.headers?.validation as TValidation & {\n is_valid: boolean;\n }) ||\n (api.request.headers as any & {\n is_valid: boolean;\n });\n\n if (!bodyValidation && !headersValidation) {\n return false;\n }\n\n return (\n (bodyValidation?.is_valid || false) &&\n (headersValidation?.is_valid || false)\n );\n }\n\n showApiLoader() {\n this.loaderService.show({\n fullscreen: true,\n loaderText: \"Please wait\"\n });\n this.viewFormsButton[\"disabled\"] = true;\n this.viewFormsButton[\"showLoader\"] = true;\n this.saveFormButton[\"disabled\"] = true;\n this.saveFormButton[\"showLoader\"] = true;\n }\n\n hideApiLoader() {\n this.loaderService.hide();\n this.viewFormsButton[\"disabled\"] = false;\n this.viewFormsButton[\"showLoader\"] = false;\n this.saveFormButton[\"disabled\"] = false;\n this.saveFormButton[\"showLoader\"] = false;\n }\n\n @logMethod\n async handleOnClickApiCall(e: any) {\n let field: TFieldApiCall = getFormFieldByKey(this.formFields, e.key);\n\n if (field.type === EFieldType.API) {\n this.triggerLogs(ELogEventType.FORM__API_BUTTON_CLICK, {\n field_key: field.key,\n field_type: field.type\n });\n\n // set button status to loading\n field[\"api\"][\"status\"][\"value\"] = EApiStatusType.LOADING;\n field[\"showLoader\"] = true;\n\n this.showApiLoader();\n\n // Determine API Call time\n\n if (checkObjectKeyExists(field.api, \"request\")) {\n await this.handleFieldApiCall(field, field.api);\n } else {\n const apis = new Apis(\n {\n FIELD_CONFIG: field,\n API_CONFIG: {},\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await apis.callNextApi(field.api.entrypoint);\n }\n\n this.hideApiLoader();\n }\n }\n\n /**\n * Method to optimize the DOM update by Angular for using *ngFor on large no. of items.\n * @param index number\n * @param item fieldConfig\n * @returns string\n */\n getUniqueIdentifier(index: number, item: any): string {\n return item.key;\n }\n\n @logMethod\n handleOnClickGoBack(e: any, mode: TFormViewGoBackMode) {\n if (this.formConfig.status === EFormsListStatus.COMPLETED) {\n this.onClickGoBack.emit({\n clicked: true,\n mode: mode\n });\n } else if (\n this.formConfig.properties.header.backButton.bypassConfirmation ||\n window.confirm(\"Your data will be lost if you leave this page! Continue?\")\n ) {\n this.onClickGoBack.emit({\n clicked: true,\n mode: mode\n });\n }\n }\n\n @logMethod\n handleOnClickViewForms(e: any) {\n if (this.formConfig.status === EFormsListStatus.COMPLETED) {\n this.onClickViewForms.emit({\n clicked: true\n });\n } else if (\n this.formConfig.properties.footer.viewFormsButton.bypassConfirmation ||\n window.confirm(\"Your data will be lost if you leave this page! Continue?\")\n ) {\n this.triggerLogs(ELogEventType.FORM__VIEW_BUTTON_CLICK, {});\n\n this.onClickViewForms.emit({\n clicked: true\n });\n }\n }\n\n @logMethod\n async handleOnClickSaveForm(e: any) {\n if (e) {\n this.triggerLogs(ELogEventType.FORM__SAVE_BUTTON_CLICK, {});\n } else {\n this.triggerLogs(ELogEventType.FORM__SAVE_AUTO, {});\n }\n\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) {\n const field = getFormFieldByKey(this.formFields, control.key);\n this.triggerLogs(ELogEventType.FORM__FIELD_ERROR_SHOW, {\n field_key: control.key,\n field_type: field.type,\n field_error_types: this.formGroup.controls[control.key].errors\n });\n\n if (isEmptyValue(firstFieldWithError)) {\n firstFieldWithError = control.key;\n }\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 if (isNotEmptyValue(firstFieldWithError)) {\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.hidden &&\n checkObjectKeyExists(field, \"validation\") &&\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 TASK_DATA: this.taskData,\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 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 const extendedFormData = this.formFields.reduce((result, field, index) => {\n if (field.isFormElement && !field.hidden) {\n const fieldData = {\n [field.key]: {\n key: field.key,\n label: field.label,\n value: isEmptyValue(formData[field.key]) ? \"\" : formData[field.key],\n type: field.type,\n index: index\n }\n };\n result[field.key] = fieldData[field.key];\n }\n return result;\n }, {});\n\n Object.keys(formData).map((key) => {\n if (isEmptyValue(formData[key])) {\n formData[key] = \"\";\n }\n });\n\n /**\n * POST Tasks\n * 1. API Calls.\n * 2. Alter Data Structure.\n * 3. Trigger an Internal Popup Form.\n * 4. URL Redirection or new opening of URL in external tab.\n */\n if (\n checkObjectKeyExists(this.formConfig, \"tasks\") &&\n checkObjectKeyExists(this.formConfig.tasks, \"post\")\n ) {\n this.triggerLogs(ELogEventType.FORM__TASK_POST, {});\n\n for (let postTask of this.formConfig.tasks.post) {\n const task = new Tasks(\n postTask,\n {\n FORM_CONFIG: this.formConfig,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n this.stopTaskExecution = false;\n if (checkObjectKeyExists(postTask, \"wait\")) {\n this.waitingForChanges = postTask.wait;\n } else {\n this.waitingForChanges = false;\n }\n\n await task.execute();\n\n // Wait for ngOnChanges to be called before continuing to the next task\n await new Promise<void>((resolve) => {\n const intervalId = setInterval(() => {\n if (!this.waitingForChanges) {\n clearInterval(intervalId);\n resolve();\n }\n }, 10);\n });\n\n if (this.stopTaskExecution) {\n break;\n }\n }\n\n if (this.stopTaskExecution || this.waitingForChanges) {\n this.stopTaskExecution = false;\n return;\n }\n\n this.onClickSaveForm.emit({\n formConfig: this.formConfig,\n data: mergeObjects(\n this.allFormsData[this.formConfig.key],\n formData,\n this.popupFormData,\n this.taskData\n ),\n extendedData: extendedFormData\n });\n } else {\n this.getUnsavedDataState.emit(false);\n this.onClickSaveForm.emit({\n formConfig: this.formConfig,\n data: mergeObjects(formData, this.popupFormData, this.taskData),\n extendedData: extendedFormData\n });\n }\n }\n\n @logMethod\n async handleOnApiTimerStop(e: any) {\n this.fieldApiTimerMessageHide(e.key);\n }\n\n showErrorNotification: boolean = false;\n @logMethod\n toggleErrorNotification(show: boolean): void {\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 this.triggerLogs(ELogEventType.FORM__FIELD_HIDE, {\n field_key: fieldKey,\n field_type: field.type\n });\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 this.triggerLogs(ELogEventType.FORM__FIELD_SHOW, {\n field_key: fieldKey,\n field_type: field.type\n });\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 } else if (field.type === EFieldType.BUTTON) {\n this.formFields[fieldIndex][\"disabled\"] = true;\n }\n\n this.triggerLogs(ELogEventType.FORM__FIELD_DISABLE, {\n field_key: fieldKey,\n field_type: field.type\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 } else if (field.type === EFieldType.BUTTON) {\n this.formFields[fieldIndex][\"disabled\"] = false;\n }\n\n this.triggerLogs(ELogEventType.FORM__FIELD_ENABLE, {\n field_key: fieldKey,\n field_type: field.type\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 // Reset the value of the field in the formGroup\n const resetValue = convertFormFieldEmptyValueToKwikUIFormat(field);\n\n this.formData[fieldKey] = resetValue;\n\n this.formGroup.controls[field.key].reset(resetValue, {\n emitEvent: false,\n onlySelf: true\n });\n\n this.formGroup.patchValue(\n {\n [field.key]: resetValue\n },\n { emitEvent: false }\n );\n\n this.formGroup.controls[field.key].updateValueAndValidity({\n emitEvent: true\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 EFieldType.API:\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 this.triggerLogs(ELogEventType.FORM__FIELD_RESET, {\n field_key: fieldKey,\n field_type: field.type\n });\n }\n\n @logMethod\n setHtml(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 = appendHtmlMessage(field, message);\n\n this.formFields[fieldIndex] = field;\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 this.triggerLogs(ELogEventType.FORM__FIELD_ERROR_SHOW, {\n field_key: fieldKey,\n field_type: field.type,\n field_error_message: message\n });\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 this.triggerLogs(ELogEventType.FORM__FIELD_ERROR_HIDE, {\n field_key: fieldKey,\n field_type: field.type,\n field_error_message: message\n });\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 this.triggerLogs(ELogEventType.FORM__FIELD_MESSAGE_SHOW, {\n field_key: fieldKey,\n field_type: field.type,\n field_message: message\n });\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 this.triggerLogs(ELogEventType.FORM__FIELD_MESSAGE_HIDE, {\n field_key: fieldKey,\n field_type: field.type,\n field_message: message\n });\n }\n\n async fieldApiTimerMessageShow(\n fieldKey: string,\n timer: TApiTimer\n ): Promise<void> {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n field = setApiTimerMessage(field, timer);\n\n this.formFields[fieldIndex] = field;\n this.cd.detectChanges();\n\n this.triggerLogs(ELogEventType.FORM__FIELD_API_TIMER_MESSAGE_SHOW, {\n field_key: fieldKey,\n field_type: field.type,\n field_timer: timer\n });\n }\n\n async fieldApiTimerMessageHide(fieldKey: string): Promise<void> {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n field = setApiTimerMessage(field, undefined);\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\n field.validation.triggers.includes(\"ON_API_TIMER_STOP\")\n ) {\n const validations = new Validation(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\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 (checkObjectKeyExists(field, \"connectedElements\")) {\n this.handleConnectedElements(\n {\n key: field.key,\n value: this.formGroup.controls[field.key].value\n },\n \"ON_API_TIMER_STOP\"\n );\n }\n\n this.formFields[fieldIndex] = field;\n this.cd.detectChanges();\n\n this.triggerLogs(ELogEventType.FORM__FIELD_API_TIMER_MESSAGE_HIDE, {\n field_key: fieldKey,\n field_type: field.type\n });\n }\n\n @logMethod\n async setValue(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = await source.getValueFromSource(\n action.props.value.source\n );\n source.setValueToSource(action.props.value.destination, sourceValue);\n\n object.FIELD_CONFIG = source.object.FIELD_CONFIG;\n\n this.formData = source.object.FORM_DATA;\n this.patchFormGroup(this.formData);\n this.allFormsData = source.object.ALL_FORMS_DATA;\n this.previousFormData = source.object.PREVIOUS_FORM_DATA;\n }\n\n @logMethod\n async setFieldDefaultValue(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = await source.getValueFromSource(\n action.props.value.source\n );\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"FIELD_CONFIG\",\n path: \"default.value.value\"\n }\n }\n },\n sourceValue\n );\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"FORM_DATA\",\n path: String(action.props.fieldKey)\n }\n }\n },\n sourceValue\n );\n\n object.FIELD_CONFIG = source.object.FIELD_CONFIG;\n this.formData = source.object.FORM_DATA;\n this.patchFormGroup(this.formData);\n this.allFormsData = source.object.ALL_FORMS_DATA;\n this.previousFormData = source.object.PREVIOUS_FORM_DATA;\n }\n\n @logMethod\n async setApiStatus(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = action.props.status;\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"FIELD_CONFIG\",\n path: \"api.status.value\"\n }\n }\n },\n sourceValue\n );\n\n object.FIELD_CONFIG = source.object.FIELD_CONFIG;\n }\n\n @logMethod\n async setApiHeaderValue(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = await source.getValueFromSource(action.props.source);\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"API_CONFIG\",\n path: `request.headers.value.${action.props.key}`\n }\n }\n },\n sourceValue\n );\n\n object.API_CONFIG = source.object.API_CONFIG;\n }\n\n @logMethod\n async setApiHeaderValidity(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = action.props.valid;\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"API_CONFIG\",\n path: \"request.headers.is_valid\"\n }\n }\n },\n sourceValue\n );\n\n object.API_CONFIG = source.object.API_CONFIG;\n }\n\n @logMethod\n async setApiBodyValue(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = await source.getValueFromSource(action.props.source);\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"API_CONFIG\",\n path: `request.body.value.${action.props.key}`\n }\n }\n },\n sourceValue\n );\n\n object.API_CONFIG = source.object.API_CONFIG;\n }\n\n @logMethod\n async setApiBodyValidity(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = action.props.valid;\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"API_CONFIG\",\n path: \"request.body.is_valid\"\n }\n }\n },\n sourceValue\n );\n\n object.API_CONFIG = source.object.API_CONFIG;\n }\n\n @logMethod\n async setFieldValidity(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = action.props.valid;\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"FIELD_CONFIG\",\n path: \"validation.is_valid\"\n }\n }\n },\n sourceValue\n );\n\n object.API_CONFIG = source.object.API_CONFIG;\n }\n\n @logMethod\n async setDropdownOptions(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n let sourceValue = await source.getValueFromSource(\n action.props.value.source\n );\n if (checkObjectKeyExists(action.props, \"options\")) {\n if (checkObjectKeyExists(action.props.options, \"appendToPath\")) {\n let appendToPath = await source.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 sourceValue = getObjectValueFromPath(sourceValue, optionsPath);\n }\n } else {\n sourceValue = getObjectValueFromPath(\n sourceValue,\n action.props.options.path\n );\n }\n }\n source.setValueToSource(action.props.value.destination, sourceValue);\n\n object.FIELD_CONFIG = source.object.FIELD_CONFIG;\n this.formData = source.object.FORM_DATA;\n this.allFormsData = source.object.ALL_FORMS_DATA;\n this.previousFormData = source.object.PREVIOUS_FORM_DATA;\n }\n\n @logMethod\n async apiCall(action: TAction, object: any): Promise<TApi> {\n let apiConfig = this.formConfig.apis[action.props.formApiKey];\n\n const response = await this.handleApiCall(apiConfig);\n\n apiConfig = response.api;\n\n this.formConfig = setValueToObjectPath(\n this.formConfig,\n `apis.${action.props.formApiKey}`,\n apiConfig\n );\n\n this.formData = mergeObjects(this.formData, {\n [action.props.formApiKey]: apiConfig.response.value\n });\n\n return apiConfig;\n }\n\n @logMethod\n async fieldApiCall(action: TAction, object: any): Promise<void> {\n this.showApiLoader();\n\n const apiConfig = await this.apiCall(action, object);\n\n this.hideApiLoader();\n }\n\n @logMethod\n async fieldMultipleApiCalls(action: TAction, object: any): Promise<void> {\n const entrypointApiKey = action.props.apiKey;\n let field = getFormFieldByKey(this.formFields, action.props.fieldKey);\n const endpoints = field.api.endpoints;\n const nextApiIndex = endpoints.findIndex(\n (api: TApiEndpoint) => api.apiKey == entrypointApiKey\n );\n const apiConfig = endpoints[nextApiIndex];\n\n const response = await this.handleFieldApiCall(field, apiConfig);\n\n field = response.field;\n field.api.endpoints[nextApiIndex] = response.api;\n }\n\n @logMethod\n async fieldMultipleApiCallsEnd(action: TAction, object: any): Promise<void> {\n const field = getFormFieldByKey(this.formFields, action.props.fieldKey);\n let multipleApiCallResponses = {};\n field.api.endpoints.map((api: TApiEndpoint) => {\n if (checkObjectKeyExists(api.response, \"value\"))\n multipleApiCallResponses = setValueToObjectPath(\n multipleApiCallResponses,\n `${api.apiKey}`,\n api.response.value\n );\n });\n this.formData = {\n ...this.formData,\n [field.key]: multipleApiCallResponses\n };\n this.patchFormGroup(this.formData);\n }\n\n @logMethod\n async taskApiCall(action: TAction, object: any): Promise<void> {\n this.showApiLoader();\n\n const apiConfig = await this.apiCall(action, object);\n\n this.taskData = mergeObjects(this.taskData, {\n [action.props.formApiKey]: apiConfig.response.value\n });\n\n this.waitingForChanges = false;\n\n this.hideApiLoader();\n }\n\n @logMethod\n async taskMultipleApiCalls(action: TAction, object: any): Promise<void> {\n this.showApiLoader();\n\n let multipleApiConfig = this.formConfig.apis[action.props.formApiKey];\n\n if (checkObjectKeyExists(action.props, \"apiKey\")) {\n const entrypointApiKey = action.props.apiKey;\n const endpoints = multipleApiConfig.endpoints;\n const nextApiIndex = endpoints.findIndex(\n (api: TApiEndpoint) => api.apiKey == entrypointApiKey\n );\n const apiConfig = endpoints[nextApiIndex];\n\n const response = await this.handleApiCall(apiConfig);\n\n multipleApiConfig.endpoints[nextApiIndex] = response.api;\n\n this.formConfig = setValueToObjectPath(\n this.formConfig,\n `apis.${action.props.formApiKey}`,\n multipleApiConfig\n );\n\n this.hideApiLoader();\n } else {\n const apis = new Apis(\n {\n FORM_CONFIG: this.formConfig,\n API_CONFIG: multipleApiConfig,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await apis.callNextApi(multipleApiConfig.entrypoint);\n }\n }\n\n @logMethod\n async taskMultipleApiCallsEnd(action: TAction, object: any): Promise<void> {\n const multipleApiConfig = this.formConfig.apis[action.props.formApiKey];\n\n let multipleApiCallResponses = {};\n multipleApiConfig.endpoints.map((api: TApiEndpoint) => {\n if (checkObjectKeyExists(api.response, \"value\"))\n multipleApiCallResponses = setValueToObjectPath(\n multipleApiCallResponses,\n `${api.apiKey}`,\n api.response.value\n );\n });\n this.taskData = {\n ...this.taskData,\n [action.props.formApiKey]: multipleApiCallResponses\n };\n\n this.waitingForChanges = false;\n\n this.hideApiLoader();\n }\n\n dialogRef: any = undefined;\n @logMethod\n dialogShow(options: any) {\n this.triggerLogs(ELogEventType.FORM__DIALOG_SHOW, {});\n\n this.dialogRef = this.dialogService\n .open(options?.html, {\n closeable: true,\n dismissible: true,\n label: options?.label,\n size: options?.size ?? \"s\",\n data: { button: options?.button }\n })\n .subscribe({\n error: () => {\n this.triggerLogs(ELogEventType.FORM__DIALOG_ERROR, {});\n },\n complete: () => {\n this.triggerLogs(ELogEventType.FORM__DIALOG_HIDE, {});\n }\n });\n }\n\n @logMethod\n dialogHide() {\n if (this.dialogRef) {\n this.dialogRef.complete();\n }\n }\n\n @logMethod\n redirectToUrl(action: TAction) {\n if (checkObjectKeyExists(action.props, \"url\")) {\n if (checkObjectKeyExists(action.props.url, \"url\")) {\n let timeout = 2000;\n if (\n checkObjectKeyExists(action.props.url, \"timeout\") &&\n typeof action.props.url.timeout == \"number\"\n ) {\n timeout = action.props.url.timeout;\n }\n\n this.triggerLogs(ELogEventType.FORM__REDIRECT_URL, {\n timeout: timeout,\n redirect_url: action.props.url\n });\n\n setTimeout(() => {\n if (checkObjectKeyExists(action.props.url, \"target\")) {\n window.open(action.props.url.url, action.props.url.target);\n } else {\n window.location.replace(action.props.url.url);\n }\n }, timeout);\n }\n }\n }\n\n @logMethod\n patchFieldControlValue(key: string, value: any) {\n this.formGroup.controls[key].patchValue(value, { emitEvent: false });\n }\n\n @logMethod\n setFieldControlValue(key: string, value: any) {\n this.formGroup.controls[key].setValue(value, { emitEvent: false });\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 let formDataInKwikUIFormat = {};\n for (let fieldKey in formData) {\n const field = getFormFieldByKey(this.formFields, fieldKey);\n if (!isUndefined(field) && !isNull(field)) {\n formDataInKwikUIFormat[fieldKey] =\n convertFormFieldValueToKwikUIFormat(field, formData[fieldKey]);\n }\n }\n this.formGroup.patchValue(formDataInKwikUIFormat, { 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 showPreview(previewProperties: any): void {\n this.previewProperties = mergeObjects(\n this.previewProperties,\n previewProperties\n );\n\n if (\n isEmptyValue(this.previewProperties.iframe.src) &&\n isEmptyValue(this.previewProperties.html.before) &&\n isEmptyValue(this.previewProperties.html.after)\n ) {\n this.previewProperties.unavailable = true;\n } else {\n this.previewProperties.unavailable = false;\n }\n\n const resetPreviewProperties = () => {\n this.previewProperties = {\n html: {\n before: \"\",\n beforeStyles: \"\",\n after: \"\",\n afterStyles: \"\"\n },\n iframe: {\n src: \"\",\n title: \"\"\n },\n type: \"dialog\",\n popupFormKey: \"\",\n title: \"\",\n size: \"auto\",\n unavailable: false\n };\n };\n\n const showDialog = () => {\n this.triggerLogs(ELogEventType.FORM__DIALOG_SHOW, {});\n\n this.previewDialogRef = this.dialogService\n .open(this.dialog, {\n closeable: true,\n dismissible: true,\n size: this.previewProperties?.size || \"auto\",\n required: true\n })\n .subscribe({\n next: (data) => {\n this.previewDialogRef.complete();\n },\n error: () => {\n this.triggerLogs(ELogEventType.FORM__DIALOG_ERROR, {});\n\n resetPreviewProperties();\n },\n complete: () => {\n this.triggerLogs(ELogEventType.FORM__DIALOG_HIDE, {});\n\n resetPreviewProperties();\n }\n });\n };\n\n const showPreview = () => {\n this.triggerLogs(ELogEventType.FORM__PREVIEW_SHOW, {});\n\n this.previewDialogRef = this.previewDialogService\n .open(this.preview || \"\")\n .subscribe({\n error: () => {\n this.triggerLogs(ELogEventType.FORM__PREVIEW_ERROR, {});\n\n resetPreviewProperties();\n },\n complete: () => {\n this.triggerLogs(ELogEventType.FORM__PREVIEW_HIDE, {});\n\n resetPreviewProperties();\n }\n });\n };\n\n switch (this.previewProperties.type) {\n case \"dialog\":\n showDialog();\n break;\n case \"popup\":\n showPreview();\n break;\n default:\n showDialog();\n break;\n }\n }\n\n @logMethod\n showErrorPreview(previewProperties: any): void {\n this.showPreview({\n html: {\n after: `<div style=\\\"padding-bottom:0.25rem;padding-top: 0.25rem;position: absolute;margin-top: calc(50vh);font-size: 1.4rem;background: white;padding: 2rem;border-radius: 1rem;box-shadow: 0px 0px 10px -3px black;overflow: auto;height: fit-content;max-height: 90vh; width: 70vw; margin-left: calc(15vw); line-height: 2rem;\\\">Error: ${previewProperties.message.message}</div>`\n },\n type: \"popup\"\n });\n }\n\n @logMethod\n showPopupForm(\n popupFormKey: string,\n popupType: \"DIALOG\" | \"POPUP\" = \"DIALOG\"\n ): void {\n const popupFormConfig = this.formConfig.popupForms[popupFormKey];\n\n this.onActionShowPopupForm.emit({\n activeFormData: mergeObjects(this.formData, this.taskData),\n popupFormConfig: popupFormConfig,\n popupType: popupType\n });\n }\n\n @logMethod\n alertShow(type: TuiNotification, message: string): void {\n this.triggerLogs(ELogEventType.FORM__ALERT_SHOW, {\n alert_message: message,\n alert_type: type\n });\n\n this.alertService\n .open(`${message}`, {\n status:\n type === \"error\"\n ? TuiNotification.Error\n : type === \"warning\"\n ? TuiNotification.Warning\n : type === \"success\"\n ? TuiNotification.Success\n : TuiNotification.Info\n })\n .subscribe({\n error: () => {\n this.triggerLogs(ELogEventType.FORM__ALERT_ERROR, {});\n },\n complete: () => {\n this.triggerLogs(ELogEventType.FORM__ALERT_HIDE, {});\n }\n });\n }\n\n @logMethod\n async takeActionOnFieldGroup(action: TAction, object: any) {\n /**\n * This below code is currently commented because not all actions need to be logged at backend.\n * Will look later into where only specific actions needs to be logged or all.\n * Currently logs are sent from withing the action's specific methods.\n * Code -\n this.triggerLogs(ELogEventType.FORM__ACTION_EXECUTE_GROUP, {\n action_key: action.key,\n ...(action.id && { action_id: action.id }),\n ...(action.props.groupKey && { action_id: action.props.groupKey })\n });\n */\n\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 /**\n * This below code is currently commented because not all actions need to be logged at backend.\n * Will look later into where only specific actions needs to be logged or all.\n * Currently logs are sent from withing the action's specific methods.\n * Code -\n this.triggerLogs(ELogEventType.FORM__ACTION_EXECUTE, {\n action_key: action.key,\n ...(action.id && { action_id: action.id })\n });\n */\n\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 if (checkObjectKeyExists(action.props.message, \"source\")) {\n const fieldErrorShow_Source = new Source(object);\n\n let fieldErrorShowSourceValue =\n await fieldErrorShow_Source.getValueFromSource(\n action.props.message.source\n );\n\n if (\n typeof fieldErrorShowSourceValue == \"string\" ||\n typeof fieldErrorShowSourceValue == \"number\"\n ) {\n fieldErrorShowSourceValue = String(fieldErrorShowSourceValue);\n } else {\n fieldErrorShowSourceValue = \"\";\n }\n\n action = setValueToObjectPath(\n action,\n \"props.message.message\",\n fieldErrorShowSourceValue\n );\n }\n action.props.message.message = updateLanguage(\n action.props.message.message,\n getLanguage()\n );\n this.fieldErrorShow(action.props.fieldKey, action.props.message);\n break;\n case EActionKey.FIELD_ERROR_HIDE:\n if (checkObjectKeyExists(action.props.message, \"source\")) {\n const fieldErrorHide_Source = new Source(object);\n\n let fieldErrorHideSourceValue =\n await fieldErrorHide_Source.getValueFromSource(\n action.props.message.source\n );\n\n if (\n typeof fieldErrorHideSourceValue == \"string\" ||\n typeof fieldErrorHideSourceValue == \"number\"\n ) {\n fieldErrorHideSourceValue = String(fieldErrorHideSourceValue);\n } else {\n fieldErrorHideSourceValue = \"\";\n }\n\n action = setValueToObjectPath(\n action,\n \"props.message.message\",\n fieldErrorHideSourceValue\n );\n }\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.FIELD_API_TIMER_MESSAGE_SHOW:\n await this.fieldApiTimerMessageShow(\n action.props.fieldKey,\n action.props.timer\n );\n break;\n case EActionKey.FIELD_API_TIMER_MESSAGE_HIDE:\n await this.fieldApiTimerMessageHide(action.props.fieldKey);\n break;\n case EActionKey.SET_VALUE:\n await this.setValue(action, object);\n break;\n case EActionKey.SET_FIELD_DEFAULT_VALUE:\n await this.setFieldDefaultValue(action, object);\n break;\n case EActionKey.SET_API_STATUS:\n await this.setApiStatus(action, object);\n break;\n case EActionKey.SET_API_HEADER_VALUE:\n await this.setApiHeaderValue(action, object);\n break;\n case EActionKey.SET_API_HEADER_VALIDITY:\n await this.setApiHeaderValidity(action, object);\n break;\n case EActionKey.SET_API_BODY_VALUE:\n await this.setApiBodyValue(action, object);\n break;\n case EActionKey.SET_API_BODY_VALIDITY:\n await this.setApiBodyValidity(action, object);\n break;\n case EActionKey.SET_DROPDOWN_OPTIONS:\n await this.setDropdownOptions(action, object);\n break;\n case EActionKey.SET_FIELD_VALIDITY:\n await this.setFieldValidity(action, object);\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.API_CALL:\n await this.fieldApiCall(action, object);\n break;\n case EActionKey.API_CALL_MULTIPLE:\n await this.fieldMultipleApiCalls(action, object);\n break;\n case EActionKey.API_CALL_MULTIPLE_END:\n await this.fieldMultipleApiCallsEnd(action, object);\n break;\n case EActionKey.TASK_API_CALL:\n await this.taskApiCall(action, object);\n break;\n case EActionKey.TASK_API_CALL_MULTIPLE:\n await this.taskMultipleApiCalls(action, object);\n break;\n case EActionKey.TASK_API_CALL_MULTIPLE_END:\n await this.taskMultipleApiCallsEnd(action, object);\n break;\n case EActionKey.REDIRECT_TO_URL:\n if (checkObjectKeyExists(action.props.url, \"source\")) {\n const redirectToUrl_Source = new Source(object);\n\n let redirectToUrlSourceValue =\n await redirectToUrl_Source.getValueFromSource(\n action.props.url.source\n );\n\n if (isEmptyString(redirectToUrlSourceValue)) {\n redirectToUrlSourceValue = \"\";\n }\n\n action = setValueToObjectPath(\n action,\n \"props.url.url\",\n redirectToUrlSourceValue\n );\n }\n this.redirectToUrl(action);\n case EActionKey.PREVIEW_DIALOG_SHOW:\n this.showPreview(action.props);\n break;\n case EActionKey.PREVIEW_ERROR_SHOW:\n if (checkObjectKeyExists(action.props.message, \"source\")) {\n const previewErrorShow_Source = new Source(object);\n\n let previewErrorShowSourceValue =\n await previewErrorShow_Source.getValueFromSource(\n action.props.message.source\n );\n\n if (\n typeof previewErrorShowSourceValue == \"string\" ||\n typeof previewErrorShowSourceValue == \"number\"\n ) {\n previewErrorShowSourceValue = String(previewErrorShowSourceValue);\n } else {\n previewErrorShowSourceValue = \"\";\n }\n\n action = setValueToObjectPath(\n action,\n \"props.message.message\",\n previewErrorShowSourceValue\n );\n }\n this.showErrorPreview(action.props);\n break;\n case EActionKey.POPUP_FORM_SHOW:\n this.showPopupForm(\n action.props.popupFormKey,\n action.props?.popupType ?? \"DIALOG\"\n );\n break;\n case EActionKey.STOP_WAITING:\n this.waitingForChanges = false;\n break;\n case EActionKey.NOTIFICATION_ERROR_SHOW:\n this.toggleErrorNotification(true);\n break;\n case EActionKey.NOTIFICATION_ERROR_HIDE:\n this.toggleErrorNotification(false);\n break;\n case EActionKey.RESUME_TASK_EXECUTION:\n this.stopTaskExecution = false;\n break;\n case EActionKey.STOP_TASK_EXECUTION:\n this.stopTaskExecution = true;\n break;\n case EActionKey.DIALOG_SHOW:\n this.dialogShow({\n html: action.props?.html,\n label: action.props?.label,\n size: action.props?.size,\n button: action.props?.button\n });\n break;\n case EActionKey.DIALOG_HIDE:\n this.dialogHide();\n break;\n case EActionKey.SAVE_FORM:\n this.handleOnClickSaveForm(undefined);\n break;\n case EActionKey.ALERT_SHOW:\n this.alertShow(action.props.type, action.props.message);\n break;\n case EActionKey.SET_HTML:\n if (checkObjectKeyExists(action.props.message, \"source\")) {\n const fieldHtmlMessage_Source = new Source(object);\n\n let fieldHtmlMessageSourceValue =\n await fieldHtmlMessage_Source.getValueFromSource(\n action.props.message.source\n );\n\n if (\n typeof fieldHtmlMessageSourceValue == \"string\" ||\n typeof fieldHtmlMessageSourceValue == \"number\"\n ) {\n fieldHtmlMessageSourceValue = String(fieldHtmlMessageSourceValue);\n } else {\n fieldHtmlMessageSourceValue = \"\";\n }\n\n action = setValueToObjectPath(\n action,\n \"props.message.message\",\n fieldHtmlMessageSourceValue\n );\n }\n action.props.message.message = updateLanguage(\n action.props.message.message,\n getLanguage()\n );\n this.setHtml(action.props.fieldKey, action.props.message);\n break;\n default:\n break;\n }\n }\n}\n","<div\n class=\"kwikid-form-container\"\n *ngIf=\"!loading\"\n>\n <div\n id=\"uf-form-fields-header-container\"\n *ngIf=\"\n !formConfig.properties?.header?.title?.hidden ||\n !formConfig.properties?.header?.logo?.hidden ||\n !formConfig.properties?.header?.steps?.hidden ||\n !formConfig.properties?.header?.backButton?.hidden\n \"\n >\n <img\n id=\"uf-header-logo\"\n *ngIf=\"!formConfig.properties?.header?.logo?.hidden && isMobileView\"\n [src]=\"formConfig.properties?.header?.logo?.src\"\n [alt]=\"formConfig.properties?.header?.logo?.alt\"\n [style]=\"\n formConfig.properties?.header?.logo?.styles ?? '' | styleSanitizer\n \"\n />\n <div id=\"uf-form-fields-header-main\">\n <div id=\"uf-form-fields-header-left\">\n <kwikui-button\n *ngIf=\"\n !formConfig.properties?.header.backButton.hidden && isMobileView\n \"\n [disabled]=\"backButton.disabled\"\n [showLoader]=\"backButton.showLoader\"\n appearance=\"mono\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n (onClick)=\"\n handleOnClickGoBack(\n $event,\n formConfig.properties?.header.backButton.mode\n )\n \"\n ></kwikui-button>\n </div>\n <div id=\"uf-form-fields-header-right\">\n <div\n id=\"uf-form-fields-title\"\n *ngIf=\"!formConfig.properties?.header.title.hidden\"\n >{{ formConfig.properties?.header.title.label }}</div\n >\n <div\n id=\"uf-form-fields-steps\"\n *ngIf=\"!formConfig.properties?.header.steps.hidden\"\n >\n Step {{ formConfig.sequenceNo }} of {{ formConfig.formsListLength }}\n </div>\n </div>\n </div>\n <hr\n *ngIf=\"\n !formConfig.properties?.header.title.hidden ||\n !formConfig.properties?.header.steps.hidden ||\n !formConfig.properties?.header.backButton.hidden\n \"\n />\n </div>\n <form\n class=\"kwikid-form show\"\n [style]=\"formConfig.properties?.main?.styles ?? '' | styleSanitizer\"\n [formGroup]=\"formGroup\"\n >\n <ng-container\n *ngFor=\"\n let field of formFields;\n let i = index;\n trackBy: getUniqueIdentifier\n \"\n >\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | kwikuiSafeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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]=\"field?.properties?.resetButtonLabel ?? 'Reset'\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Button -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button\n [appearance]=\"field?.properties?.appearance ?? 'primary'\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [icon]=\"field?.properties?.icon\"\n [iconRight]=\"field?.properties?.iconRight\"\n [id]=\"field?.key\"\n [label]=\"field?.label\"\n [shape]=\"field?.properties?.shape\"\n [showLoader]=\"field?.properties?.loading ?? false\"\n [size]=\"field?.properties?.size\"\n [styles]=\"field?.properties?.styles\"\n [type]=\"'button'\"\n (onClick)=\"handleOnClickFormFieldButton(field)\"\n ></kwikui-button>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\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 <!-- Email -->\n <ng-container *ngSwitchCase=\"'email'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-email\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [domains]=\"field?.properties?.domains\"\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 [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-email>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Password -->\n <ng-container *ngSwitchCase=\"'password'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-password\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [hintContent]=\"field?.properties?.hintContent\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-password>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Textarea -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-textarea\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 [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-textarea>\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox\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 [variant]=\"field?.properties?.variant ?? 'block'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox>\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [maxCalculatedFromToday]=\"\n field?.properties?.maxCalculatedFromToday\n \"\n [min]=\"field?.properties?.min\"\n [minCalculatedFromToday]=\"\n field?.properties?.minCalculatedFromToday\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\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 Time -->\n <ng-container *ngSwitchCase=\"'time'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-time\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?.properties?.items\"\n [label]=\"field?.label\"\n [mode]=\"field?.properties?.mode\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-time>\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-input-radio\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-input-radio>\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=\"'select'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-select\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 [searchable]=\"field?.properties?.searchable\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-select>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Slider -->\n <ng-container *ngSwitchCase=\"'slider'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-slider\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 [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [quantum]=\"field?.properties?.quantum\"\n [size]=\"field?.properties?.size\"\n [steps]=\"field?.properties?.steps\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-slider>\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'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [apiTimer]=\"field?.api?.timer\"\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 [size]=\"field?.properties?.size\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickApiCall($event)\"\n (onApiTimerStop)=\"handleOnApiTimerStop($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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [mode]=\"field?.properties?.mode\"\n [otpLength]=\"field?.properties?.otpLength\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [mask]=\"field?.properties?.mask\"\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 <!-- Preview Image -->\n <ng-container *ngSwitchCase=\"'image'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-image\n [altText]=\"field?.properties?.altText\"\n [class]=\"field?.properties?.class\"\n [html]=\"field?.properties?.html\"\n [id]=\"field.key\"\n [imageSrc]=\"field?.default?.value?.value ?? ''\"\n [imageType]=\"field?.properties?.imageType\"\n [loadingType]=\"field?.properties?.loadingType\"\n [styles]=\"field?.properties?.styles\"\n ></kwikui-image>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- File Upload -->\n <ng-container *ngSwitchCase=\"'file'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-input-files\n [accept]=\"field?.properties?.accept\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [files]=\"files[field.key]\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field?.key\"\n [label]=\"field?.properties?.label\"\n [link]=\"field?.properties?.link\"\n [maxFileSize]=\"field?.properties?.maxFileSize\"\n [multiple]=\"field?.properties?.multiple\"\n [setFileTypesToForm]=\"['NORMAL']\"\n [styles]=\"field?.properties?.styles\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValueFile($event)\"\n (getRemovedFile)=\"handleRemovedFile($event)\"\n ></kwikui-input-files>\n </label>\n <ng-template #labelTemplate>\n <p\n style=\"padding: 0px 0.25rem; margin-bottom: 0.25rem\"\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 <!-- Camera Capture -->\n <ng-container *ngSwitchCase=\"'capture'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\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 </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"mediaFiles[field.key]\"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'capture'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Camera Record -->\n <ng-container *ngSwitchCase=\"'record'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\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 </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"mediaFiles[field.key]\"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'record'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Star Rating -->\n <ng-container *ngSwitchCase=\"'star-rating'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-star-rating\n [color]=\"field?.properties?.color\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [iconMarked]=\"field?.properties?.iconMarked\"\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 [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-star-rating>\n </label>\n <ng-template #labelTemplate>\n <p>\n <b\n >{{ field?.properties?.placeholder }}\n <span *ngIf=\"field.validators?.required\">*</span></b\n >\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 </ng-container>\n </ng-container>\n </form>\n <div\n class=\"kwikid-form-buttons\"\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden ||\n !formConfig.properties.footer.saveButton.hidden\n \"\n >\n <kwikui-button\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden && isMobileView\n \"\n [appearance]=\"'secondary'\"\n [disabled]=\"viewFormsButton.disabled\"\n [label]=\"formConfig.properties.footer.viewFormsButton.label\"\n [showLoader]=\"viewFormsButton.showLoader\"\n [styles]=\"'width: 100%'\"\n (onClick)=\"handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"!formConfig.properties.footer.saveButton.hidden\"\n [disabled]=\"saveFormButton.disabled\"\n [label]=\"formConfig.properties.footer.saveButton.label\"\n [showLoader]=\"saveFormButton.showLoader\"\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 *ngFor=\"let item of [].constructor(7); let i = index\"\n class=\"large-wrapper tui-skeleton tui-skeleton_rounded\"\n >\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\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=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n\n<ng-template\n #dialog\n let-dialog\n>\n <div class=\"preview-container\">\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n\n<div\n id=\"kwikid-camera-container\"\n *ngIf=\"isShowCamera\"\n>\n <div\n id=\"kwikid-camera-wrapper\"\n [class.fullscreen]=\"isShowCameraFullscreen\"\n >\n <kwikid-camera\n [type]=\"cameraType\"\n [data]=\"cameraData\"\n [image]=\"cameraImage\"\n [video]=\"cameraVideo\"\n [config]=\"cameraConfig\"\n (getImage)=\"handleGetCameraMedia($event, 'CAPTURE')\"\n (getVideo)=\"handleGetCameraMedia($event, 'RECORD')\"\n (onClickBack)=\"handleOnClickCameraBack($event)\"\n (onClickClose)=\"handleOnClickCameraClose($event)\"\n (onClickSave)=\"handleOnClickSaveCameraMedia($event, cameraType)\"\n >\n <ng-container\n *ngIf=\"cameraType === 'CAPTURE'\"\n slot=\"capture-header\"\n >\n <div class=\"capture-header-container\">\n <div class=\"capture-header-left\"> </div>\n <div class=\"capture-header-center\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"capture-header-right\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen ? 'tuiIconMinimize2' : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isClose\"\n id=\"kwikid-camera-header-close-button\"\n appearance=\"whiteblock\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"cameraType === 'RECORD'\"\n slot=\"record-header\"\n >\n <div class=\"record-header-container\">\n <div class=\"record-header-row row-1\">\n <div class=\"record-header-left\">\n <kwikui-button\n *ngIf=\"\n cameraConfig?.header?.isBack && cameraRecordingState == 'NONE'\n \"\n appearance=\"whiteblock\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-center\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-right\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen\n ? 'tuiIconMinimize2'\n : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n </div>\n </div>\n <div class=\"record-header-row row-2\">\n <div\n id=\"blinking-dot-container\"\n [class.recording]=\"cameraRecordingState == 'RECORDING'\"\n [class.paused]=\"cameraRecordingState == 'PAUSED'\"\n [class.recorded]=\"\n cameraRecordingState == 'NONE' ||\n cameraRecordingState === 'RECORDED'\n \"\n >\n <div\n *ngIf=\"cameraRecordingState == 'RECORDING'\"\n class=\"dot recording blink\"\n >\n </div>\n <div\n *ngIf=\"cameraRecordingState === 'PAUSED'\"\n class=\"dot paused\"\n >\n </div>\n <div\n *ngIf=\"\n cameraRecordingState == 'NONE' ||\n cameraRecordingState === 'RECORDED'\n \"\n class=\"dot recorded\"\n >\n </div>\n <div>\n {{ cameraRecordingTime | formatTimer }}\n <ng-container\n *ngIf=\"cameraConfig?.others?.maxRecordingTimeInSeconds\"\n >\n /\n {{\n cameraConfig?.others?.maxRecordingTimeInSeconds\n | formatTimer\n }}\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </kwikid-camera>\n </div>\n</div>\n","export enum EFormType {\n FORM = \"FORM\",\n HTML = \"HTML\"\n}\n\nexport type TActionKey = EFormType.FORM | EFormType.HTML;\n\nexport enum ELogEventType {\n FORM__ACTION_EXECUTE = \"FORM__ACTION_EXECUTE\",\n FORM__FORM_OPEN_AUTO = \"FORM__FORM_OPEN_AUTO\",\n FORM__FORM_OPEN_BUTTON_CLICK = \"FORM__FORM_OPEN_BUTTON_CLICK\",\n FORM__SUBMIT_FORM_BUTTON_CLICK = \"FORM__SUBMIT_FORM_BUTTON_CLICK\",\n FORM__SUBMIT_FORM_BUTTON_CLICK_INVALID = \"FORM__SUBMIT_FORM_BUTTON_CLICK_INVALID\",\n FORM__STEP_CONFIG_LOAD_SUCCESS = \"FORM__STEP_CONFIG_LOAD_SUCCESS\"\n}\n","import { isNotEmptyValue } from \"kwikid-toolkit\";\nimport { ELogEventType } from \"./forms-list.definitions\";\n\nexport function formatEventLogs(\n eventType: ELogEventType,\n stepConfig: any,\n extras: any\n) {\n const logLabel = [\n eventType,\n stepConfig?.form?.key ?? stepConfig?.key ?? \"_\",\n extras?.form_key ?? \"_\",\n extras?.field_key ?? \"_\"\n ]\n .filter((item) => isNotEmptyValue(item))\n .join(\" | \");\n\n return {\n type: eventType,\n label: `${logLabel}`,\n timestamp: new Date().getTime(),\n data: {\n step_key: stepConfig?.form?.key ?? stepConfig?.key ?? \"_\",\n step_title: stepConfig?.props?.label ?? stepConfig?.label,\n ...extras\n }\n };\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport {\n checkObjectKeyExists,\n checkObjectPathExists,\n getObjectDeepCopy,\n isNull,\n isUndefined,\n logMethod,\n mergeObjects,\n setValueToObjectPath\n} from \"kwikid-toolkit\";\nimport {\n getLanguage,\n updateLanguage\n} from \"../config-converter/config-converter.helper\";\nimport { EFormType } from \"../renderer.definitions\";\nimport { ELogEventType } from \"./forms-list.definitions\";\nimport { formatEventLogs } from \"./forms-list.helper\";\n\n@Component({\n selector: \"kwikid-forms-list\",\n templateUrl: \"./forms-list.component.html\",\n styleUrls: [\"./forms-list.component.scss\", \"../shared.scss\"]\n})\nexport class KwikIDFormsListComponent implements OnInit, OnChanges {\n @Input()\n showFormFields: any = {};\n\n @Input()\n userConfig: any = {};\n\n @Input()\n stepConfig: any = {};\n\n @Input()\n activeFormConfig: any = {};\n\n @Input()\n formsList: any[] = [];\n\n @Input()\n formsListCompleted: any[] = [];\n\n @Input()\n isMobileView: boolean = false;\n\n @Input()\n isUnsavedData: boolean = false;\n\n @Output()\n getLogs: EventEmitter<any> = new EventEmitter<any>();\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 setSelectedForm(selected_form: string): void {\n this.selectedForm = selected_form;\n }\n\n formsListLength: number = 0;\n\n isAllFormsCompleted: boolean = true;\n\n loading: boolean = false;\n\n constructor() {}\n\n ngOnInit(): void {\n this.loading = true;\n\n this.setSelectedForm(this.activeFormConfig?.key ?? \"\");\n\n this.stepConfig = this.formatStepConfig(this.stepConfig);\n\n this.triggerLogs(ELogEventType.FORM__STEP_CONFIG_LOAD_SUCCESS, {});\n\n this.formsList = this.filterHiddenForms(this.formsList);\n this.formsList = this.setFormTitles(this.formsList);\n this.formsListLength = this.findFormsListLength(this.formsList);\n this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);\n\n this.triggerLogs(ELogEventType.FORM__LIST_LOAD_SUCCESS, {});\n\n this.loading = false;\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(\"stepConfig\")) {\n this.stepConfig = changes.stepConfig.currentValue;\n }\n if (verifyChange(\"isUnsavedData\")) {\n this.isUnsavedData = changes.isUnsavedData.currentValue;\n }\n if (verifyChange(\"formsList\")) {\n this.formsList = this.filterHiddenForms(this.formsList);\n this.formsList = this.setFormTitles(this.formsList);\n this.formsListLength = this.findFormsListLength(this.formsList);\n this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);\n }\n if (verifyChange(\"isMobileView\")) {\n this.isMobileView = changes.isMobileView.currentValue;\n\n if (!this.isMobileView) {\n this.setSelectedForm(\"\");\n }\n }\n if (verifyChange(\"activeFormConfig\")) {\n this.activeFormConfig = changes.activeFormConfig.currentValue;\n\n this.setSelectedForm(this.activeFormConfig?.key ?? \"\");\n }\n }\n\n @logMethod\n triggerLogs(eventType: ELogEventType, logs: any) {\n this.getLogs.emit(formatEventLogs(eventType, this.stepConfig, logs));\n }\n\n @logMethod\n formatStepConfig(stepConfig: any): any {\n let stepConfigProperties = {\n formListProperties: {\n footer: {\n submitFormButton: {\n hidden: false,\n label: \"Submit\"\n }\n }\n }\n };\n\n if (isNull(stepConfig) || isUndefined(stepConfig)) {\n stepConfig = setValueToObjectPath({}, \"props\", stepConfigProperties);\n } else {\n if (checkObjectKeyExists(stepConfig, \"props\")) {\n stepConfigProperties = mergeObjects(\n stepConfigProperties,\n stepConfig.props\n );\n\n stepConfig = setValueToObjectPath(\n stepConfig,\n \"props\",\n stepConfigProperties\n );\n } else {\n stepConfig = setValueToObjectPath(\n stepConfig,\n \"props\",\n stepConfigProperties\n );\n }\n }\n\n stepConfig.props.formListProperties.footer.submitFormButton.label =\n updateLanguage(\n stepConfig.props.formListProperties.footer.submitFormButton.label,\n getLanguage()\n );\n\n return stepConfig;\n }\n\n @logMethod\n filterHiddenForms(formsList: any[]): any[] {\n return formsList.filter((form) => {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n }\n\n setFormTitles(formsList: any[]): any[] {\n return formsList.filter((form) => {\n if (checkObjectPathExists(form, \"props.title\")) {\n form.props.title = updateLanguage(form.props.title, getLanguage());\n return form;\n }\n });\n }\n\n @logMethod\n findFormsListLength(formsList: any[]): number {\n const _formsList = formsList.filter((form) => {\n if (checkObjectKeyExists(form, \"type\")) {\n if (form.type !== EFormType.HTML) {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n }\n } else if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n\n return _formsList.length;\n }\n\n @logMethod\n checkIsAllFormsCompleted(formsList: any[]): boolean {\n let isAllFormsCompleted: boolean = true;\n\n for (let form of formsList) {\n if (checkObjectKeyExists(form, \"type\")) {\n if (form.type !== EFormType.HTML) {\n if (form.status !== \"completed\") {\n isAllFormsCompleted = false;\n break;\n }\n }\n }\n }\n\n return isAllFormsCompleted;\n }\n\n @logMethod\n handleOnClickSetActiveForm(selectedForm: string) {\n if (\n this.isMobileView ||\n (!this.isMobileView && this.selectedForm !== selectedForm) ||\n (this.isAllFormsCompleted && !this.showFormFields)\n ) {\n if (\n this.activeFormConfig?.properties?.isUnsavedDataAlertEnabled &&\n this.isUnsavedData &&\n !window.confirm(\"You have unsaved data. Proceed?\")\n ) {\n return;\n }\n this.triggerLogs(ELogEventType.FORM__FORM_OPEN_BUTTON_CLICK, {\n form_key: selectedForm,\n form_label:\n this.activeFormConfig?.title ?? this.activeFormConfig?.props?.title\n });\n\n this.selectedForm = selectedForm;\n this.onClickSetActiveForm.emit(selectedForm);\n }\n }\n\n @logMethod\n handleOnSubmitForms(e: any) {\n /**\n * POST ACTIONS\n * 1. API Calls.\n * 2. Preview of all filled data.\n * 3. URL Redirection or new opening of URL in external tab.\n */\n\n this.onClickSubmitForms.emit(e);\n }\n}\n","<div\n id=\"sidebar-container\"\n *ngIf=\"!loading\"\n>\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.formsListLength }} Steps\n Completed\n </div>\n <kwikui-progress-segmented\n [max]=\"this.formsListLength\"\n size=\"m\"\n [value]=\"this.formsListCompleted.length\"\n ></kwikui-progress-segmented>\n </div>\n <div id=\"uf-sections-container\">\n <ng-container *ngFor=\"let form of formsList; let i = index\">\n <ng-container [ngSwitch]=\"form.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'HTML'\">\n <div [innerHtml]=\"form.props.htmlContent | kwikuiSafeHtml\"></div>\n </ng-container>\n <!-- Type FORM -->\n <ng-container *ngSwitchCase=\"'FORM'\">\n <ng-container\n [ngTemplateOutlet]=\"FORM_BUTTON\"\n [ngTemplateOutletContext]=\"{\n form: form,\n activeFormConfig: activeFormConfig\n }\"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n <div id=\"submit-sidebar-btn-container\">\n <kwikui-button\n *ngIf=\"\n !stepConfig.props.formListProperties.footer.submitFormButton.hidden\n \"\n label=\"{{\n stepConfig.props.formListProperties.footer.submitFormButton.label\n }}\"\n type=\"submit\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnSubmitForms($event)\"\n ></kwikui-button>\n </div>\n </div>\n</div>\n\n<ng-template\n #FORM_BUTTON\n let-form=\"form\"\n let-activeFormConfig=\"activeFormConfig\"\n>\n <div\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 [class.active]=\"\n activeFormConfig !== undefined && form.key === activeFormConfig.key\n \"\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.props.title }} <span *ngIf=\"form?.required\">*</span>\n </div>\n <div class=\"uf-form-section-card-status\">\n <div\n *ngIf=\"form.status === 'completed' && !form.disabled\"\n class=\"uf-form-section-card-status-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-status-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-status-img locked\"\n >\n <tui-svg src=\"tuiIconLock\"></tui-svg>\n </div>\n </div>\n </div>\n</ng-template>\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 { isNotEmptyValue } from \"kwikid-toolkit\";\nimport { ELogEventType } from \"./renderer.definitions\";\n\nexport 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\nexport function formatEventLogs(\n eventType: ELogEventType,\n stepConfig: any,\n extras: any\n) {\n const logLabel = [\n eventType,\n stepConfig?.form?.key ?? stepConfig?.key ?? \"_\",\n extras?.form_key ?? \"_\",\n extras?.field_key ?? \"_\"\n ]\n .filter((item) => isNotEmptyValue(item))\n .join(\" | \");\n\n return {\n type: eventType,\n label: `${logLabel}`,\n timestamp: new Date().getTime(),\n data: {\n step_key: stepConfig?.key,\n step_title: stepConfig?.props?.title ?? stepConfig?.title,\n ...extras\n }\n };\n}\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from \"@angular/core\";\nimport { TuiPreviewDialogService } from \"@taiga-ui/addon-preview\";\nimport { TuiDialogContext, TuiDialogService } from \"@taiga-ui/core\";\nimport {\n Action,\n Condition,\n Rule,\n Source,\n TAction,\n TRule,\n checkObjectKeyExists,\n getObjectDeepCopy,\n isEmptyValue,\n isNotEmptyValue,\n logMethod,\n mergeObjects,\n setValueToObjectPath\n} from \"kwikid-toolkit\";\nimport { KwikUILoaderService } from \"kwikui\";\nimport { Converter } from \"./config-converter/config-converter\";\nimport { EActionKey } from \"./form-view/definitions/form-view.actions.definition\";\nimport { EFormViewGoBackMode } from \"./form-view/definitions/form-view.commons.definition\";\nimport { TTrigger } from \"./form-view/definitions/form-view.triggers.definition\";\nimport { EFormsListStatus } from \"./forms-list/forms-list.definitions\";\nimport { ERendererActionKey } from \"./renderer.actions.definitions\";\nimport { EFormType, ELogEventType } from \"./renderer.definitions\";\nimport { formatEventLogs, getFormConfigByKey } from \"./renderer.helper\";\n\n@Component({\n selector: \"kwikid-forms-renderer\",\n templateUrl: \"./renderer.component.html\",\n styleUrls: [\"./renderer.component.scss\", \"./shared.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 @ViewChild(\"preview\")\n readonly preview: TemplateRef<TuiDialogContext<void>>;\n private previewDialogRef: any;\n\n @Input()\n stepConfig: any;\n\n @Input()\n userConfig: any;\n\n @Input()\n formsData: any = {};\n\n @Input()\n activeFormData: any = {};\n\n @Input()\n apiCallResponse: any = {};\n\n @Input()\n buttonClickResponse: 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 @Output()\n getLogs: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickFormFieldButton: EventEmitter<any> = new EventEmitter<any>();\n\n loading: boolean = false;\n\n showErrorNotification: boolean = false;\n toggleErrorNotification(show) {\n this.showErrorNotification = show;\n }\n\n activePopupFormData: any = {};\n popupFormCallback: any = {};\n activeFormConfig: any;\n activeFormFields: any[];\n allFormsData: any = {};\n allFormsSubmitted: boolean = false;\n formsList: any[] = [];\n formsListCompleted: string[];\n isMobileView: boolean = false;\n previewProperties: any = {\n html: {\n before: \"\",\n after: \"\"\n },\n iframe: {\n src: \"\",\n title: \"\"\n },\n popupFormKey: \"\",\n title: \"\",\n unavailable: false\n };\n popupFormConfig: any = {};\n\n // display forms and list conditionally\n showForm: boolean = false;\n showFormFields: boolean = true;\n showFormSections: boolean = true;\n isUnsavedData: boolean = false;\n\n constructor(\n private hostElement: ElementRef,\n private cdr: ChangeDetectorRef,\n @Inject(TuiPreviewDialogService)\n private readonly previewDialogService: TuiPreviewDialogService,\n public loaderService: KwikUILoaderService,\n @Inject(TuiDialogService) private readonly dialogs: TuiDialogService\n ) {}\n\n ngOnInit() {\n this.toggleLoader(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(\"ON_INIT\");\n this.toggleLoader(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.toggleLoader(false);\n }\n if (verifyChange(\"stepConfig\")) {\n this.stepConfig = changes.stepConfig.currentValue;\n this.toggleLoader(false);\n }\n if (verifyChange(\"formsData\")) {\n this.formsData = changes.formsData.currentValue;\n\n this.initializeForms(\"ON_CHANGE\");\n }\n if (verifyChange(\"apiCallResponse\")) {\n this.apiCallResponse = changes.apiCallResponse.currentValue;\n this.toggleLoader(false);\n }\n if (verifyChange(\"buttonClickResponse\")) {\n this.buttonClickResponse = changes.buttonClickResponse.currentValue;\n this.toggleLoader(false);\n }\n }\n\n @logMethod\n triggerLogs(eventType: ELogEventType, logs: any) {\n this.getLogs.emit(formatEventLogs(eventType, this.stepConfig, logs));\n }\n\n @logMethod\n toggleLoader(loader) {\n if (loader) {\n this.loaderService.show({\n fullscreen: true,\n loaderText: \"Please wait\"\n });\n } else {\n this.loaderService.hide();\n }\n }\n\n @logMethod\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(eventType: string) {\n this.toggleLoader(true);\n\n this.allFormsData = this.formsData;\n\n await this.updateFormsList();\n\n if (\n eventType === \"ON_CHANGE\" &&\n this.findFormsListLength(this.formsList) === 1\n ) {\n this.handleOnClickSubmitForms(null);\n } else {\n this.handleResize(this.formsList);\n\n if (isNotEmptyValue(this.activeFormConfig)) {\n if (checkObjectKeyExists(this.activeFormConfig, \"type\")) {\n if (this.activeFormConfig.type !== EFormType.HTML) {\n await this.handleOnClickSetActiveForm(\n this.activeFormConfig.key,\n undefined\n );\n }\n } else {\n await this.handleOnClickSetActiveForm(\n this.activeFormConfig.key,\n undefined\n );\n }\n } else {\n this.showForm = false;\n this.showFormFields = false;\n }\n\n this.loading = false;\n this.toggleLoader(false);\n }\n }\n\n @logMethod\n convertFormListConfig(formsList: any[]): any[] {\n const convertFormListConfigTypeForm = (form: any) => {\n if (checkObjectKeyExists(form, \"formContent\")) {\n if (checkObjectKeyExists(form.formContent, \"url\")) {\n form = setValueToObjectPath(form, \"props.url\", form.formContent.url);\n delete form[\"formContent\"][\"url\"];\n }\n if (checkObjectKeyExists(form.formContent, \"path\")) {\n form = setValueToObjectPath(\n form,\n \"props.path\",\n form.formContent.path\n );\n delete form[\"formContent\"][\"path\"];\n }\n }\n if (isEmptyValue(form.formContent)) {\n delete form[\"formContent\"];\n }\n if (checkObjectKeyExists(form, \"title\")) {\n form = setValueToObjectPath(form, \"props.title\", form.title);\n delete form[\"title\"];\n }\n if (!checkObjectKeyExists(form, \"hidden\")) {\n form.hidden = false;\n }\n if (!checkObjectKeyExists(form, \"disabled\")) {\n form.disabled = false;\n }\n if (!checkObjectKeyExists(form, \"required\")) {\n form.required = true;\n }\n if (!checkObjectKeyExists(form, \"dependentOn\")) {\n form.dependentOn = [];\n }\n\n return form;\n };\n\n const convertFormListConfigTypeHtml = (form: any) => {\n if (form.type === \"html\") {\n form.type = EFormType.HTML;\n }\n\n if (checkObjectKeyExists(form, \"htmlContent\")) {\n if (!checkObjectKeyExists(form, \"props\")) {\n form.props = {\n htmlContent: form.htmlContent\n };\n }\n delete form[\"htmlContent\"];\n } else {\n if (!checkObjectKeyExists(form, \"props\")) {\n form.props = {\n htmlContent: \"\"\n };\n }\n }\n if (checkObjectKeyExists(form, \"title\")) {\n form = setValueToObjectPath(form, \"props.title\", form.title);\n delete form[\"title\"];\n }\n if (!checkObjectKeyExists(form, \"hidden\")) {\n form.hidden = false;\n }\n return form;\n };\n\n return formsList.map((form) => {\n if (!checkObjectKeyExists(form, \"type\")) {\n form.type = \"FORM\";\n }\n if (checkObjectKeyExists(form, \"type\")) {\n if (form.type === EFormType.FORM) {\n form = convertFormListConfigTypeForm(form);\n }\n\n if (form.type === EFormType.HTML || form.type === \"html\") {\n form = convertFormListConfigTypeHtml(form);\n }\n }\n\n return form;\n });\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 && form.type !== EFormType.HTML) {\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 && form.type !== EFormType.HTML) {\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 && form.type !== EFormType.HTML) {\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 (\n checkObjectKeyExists(form, \"hidden\") &&\n !form.hidden &&\n form.type !== EFormType.HTML\n ) {\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 && form.type !== EFormType.HTML) {\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 && form.type !== EFormType.HTML) {\n return form.status === \"editable\" && !form.disabled;\n }\n }\n });\n return activeFormConfig;\n }\n\n @logMethod\n async updateFormsList() {\n this.formsList = this.convertFormListConfig(this.formsList);\n\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 = getObjectDeepCopy(this.formsList);\n\n this.activeFormConfig = this.findActiveFormConfig(this.formsList);\n }\n\n @logMethod\n showPreview(previewProperties: any): void {\n this.previewProperties = mergeObjects(\n this.previewProperties,\n previewProperties\n );\n\n if (\n isEmptyValue(this.previewProperties.iframe.src) &&\n isEmptyValue(this.previewProperties.html.before) &&\n isEmptyValue(this.previewProperties.html.after) &&\n isEmptyValue(this.previewProperties.popupFormKey)\n ) {\n this.previewProperties.unavailable = true;\n } else {\n if (isNotEmptyValue(this.previewProperties.popupFormKey)) {\n if (checkObjectKeyExists(this.activeFormConfig, \"popupForms\")) {\n this.popupFormConfig =\n this.activeFormConfig.popupForms[\n this.previewProperties.popupFormKey\n ];\n } else {\n this.popupFormConfig = undefined;\n }\n }\n\n this.previewProperties.unavailable = false;\n }\n\n this.previewDialogService.open(this.preview || \"\").subscribe();\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 /**\n * This below code is currently commented because not all actions need to be logged at backend.\n * Will look later into where only specific actions needs to be logged or all.\n * Currently logs are sent from withing the action's specific methods.\n * Code -\n this.triggerLogs(ELogEventType.FORM__ACTION_EXECUTE, {\n action_key: action.key,\n ...(action.id && { action_id: action.id })\n });\n */\n\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 @logMethod\n findFormsListLength(formsList: any[]): number {\n const _formsList = formsList.filter((form) => {\n if (checkObjectKeyExists(form, \"type\")) {\n if (form.type !== EFormType.HTML) {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n }\n } else if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n\n return _formsList.length;\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, triggerType: any) {\n this.showForm = false;\n this.toggleLoader(true);\n this.isUnsavedData = false;\n\n let activeFormConfig = this.formsList.find((form) => {\n if (form.key === selectedForm) {\n return form;\n }\n });\n\n activeFormConfig = new Converter().updateFormConfigProperties(\n activeFormConfig\n );\n\n let formConfig: any = undefined;\n\n if (checkObjectKeyExists(activeFormConfig, \"props\")) {\n if (checkObjectKeyExists(activeFormConfig.props, \"url\")) {\n const formConfigFromUrl = await this.fetchFormConfig(\n activeFormConfig.props.url\n );\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromUrl\n };\n } else if (\n checkObjectKeyExists(activeFormConfig.props, \"path\") &&\n checkObjectKeyExists(this.userConfig, \"backend\") &&\n checkObjectKeyExists(this.userConfig.backend, \"CONFIG_BASE_URL\")\n ) {\n const url = `${this.userConfig?.backend?.CONFIG_BASE_URL}${activeFormConfig.props.path}`;\n const formConfigFromPath = await this.fetchFormConfig(url);\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromPath\n };\n } else {\n if (\n checkObjectKeyExists(activeFormConfig, \"type\") &&\n activeFormConfig.type === EFormType.FORM\n ) {\n if (checkObjectKeyExists(activeFormConfig, \"fields\")) {\n formConfig = activeFormConfig;\n } else {\n console.error(\n \"No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!\"\n );\n }\n } else {\n console.error(\n `No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!`\n );\n }\n }\n } else {\n if (checkObjectKeyExists(activeFormConfig.formContent, \"url\")) {\n const formConfigFromUrl = await this.fetchFormConfig(\n activeFormConfig.formContent.url\n );\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromUrl\n };\n } else if (\n checkObjectKeyExists(activeFormConfig.formContent, \"path\") &&\n checkObjectKeyExists(this.userConfig, \"backend\") &&\n checkObjectKeyExists(this.userConfig.backend, \"CONFIG_BASE_URL\")\n ) {\n const url = `${this.userConfig?.backend?.CONFIG_BASE_URL}${activeFormConfig.props.path}`;\n const formConfigFromPath = await this.fetchFormConfig(url);\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromPath\n };\n } else {\n if (checkObjectKeyExists(activeFormConfig, \"fields\")) {\n formConfig = activeFormConfig;\n } else {\n console.error(\n \"No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!\"\n );\n }\n }\n }\n\n formConfig = new Converter().updateFormConfigFromUserConfig(\n formConfig,\n this.userConfig\n );\n\n formConfig = new Converter().updateFormConfigMiscellaneous(formConfig, {\n formsListLength: this.findFormsListLength(this.formsList)\n });\n\n this.activeFormConfig = mergeObjects(activeFormConfig, formConfig);\n\n switch (triggerType) {\n case \"BUTTON_CLICK\":\n this.triggerLogs(ELogEventType.FORM__FORM_OPEN_BUTTON_CLICK, {\n form_key: this.activeFormConfig.key,\n form_title:\n this.activeFormConfig?.title ?? this.activeFormConfig?.props?.title\n });\n break;\n default:\n this.triggerLogs(ELogEventType.FORM__FORM_OPEN_AUTO, {\n form_key: this.activeFormConfig.key,\n form_title:\n this.activeFormConfig?.title ?? this.activeFormConfig?.props?.title\n });\n break;\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.toggleLoader(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 @logMethod\n handleGetUnsavedState(e: any) {\n this.isUnsavedData = e;\n }\n\n handleOnClickApiCall(e: any) {\n this.onClickApiCall.emit(e);\n }\n\n @logMethod\n handleOnClickFormFieldButton(e: any) {\n this.onClickFormFieldButton.emit(e);\n }\n\n @logMethod\n handleOnActionShowPopupForm(e: any, content: any) {\n if (\n checkObjectKeyExists(e, \"activeFormData\") &&\n checkObjectKeyExists(e, \"popupFormConfig\")\n ) {\n const popupFormData = { [this.activeFormConfig.key]: e.activeFormData };\n this.activePopupFormData = mergeObjects(this.allFormsData, popupFormData);\n\n this.popupFormConfig = e.popupFormConfig;\n const popupType = e?.popupType ?? \"DIALOG\";\n\n switch (popupType) {\n case \"DIALOG\":\n this.previewDialogRef = this.dialogs\n .open(content, {\n closeable: true,\n dismissible: false,\n size: \"s\",\n required: true\n })\n .subscribe({\n next: (data) => {\n this.popupFormCallback = {\n popupFormData: data[\"data\"],\n popupFormConfig: data[\"formConfig\"],\n activeFormConfig: this.activeFormConfig\n };\n this.activePopupFormData = {};\n this.popupFormConfig = {};\n this.previewDialogRef.complete();\n },\n error: () => {\n this.popupFormCallback = {\n popupFormData: {},\n popupFormConfig: this.popupFormConfig,\n activeFormConfig: this.activeFormConfig,\n stopTaskExecution: true\n };\n this.activePopupFormData = {};\n this.popupFormConfig = {};\n\n console.info(\"Dialog error\");\n },\n complete: () => {\n console.info(\"Dialog closed\");\n }\n });\n break;\n case \"POPUP\":\n this.previewDialogRef = this.previewDialogService\n .open(this.preview || \"\")\n .subscribe({\n next: (data) => {\n this.popupFormCallback = {\n popupFormData: data[\"data\"],\n popupFormConfig: data[\"formConfig\"],\n activeFormConfig: this.activeFormConfig\n };\n this.activePopupFormData = {};\n this.popupFormConfig = {};\n this.previewDialogRef.complete();\n },\n error: () => {\n this.popupFormCallback = {\n popupFormData: {},\n popupFormConfig: this.popupFormConfig,\n activeFormConfig: this.activeFormConfig,\n stopTaskExecution: true\n };\n this.activePopupFormData = {};\n this.popupFormConfig = {};\n\n console.info(\"Preview error\");\n },\n complete: () => {\n console.info(\"Preview closed\");\n }\n });\n break;\n default:\n break;\n }\n }\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 @logMethod\n handleOnClickSaveForm(\n e: any,\n eventType: \"FORM\" | \"POPUP_FORM\",\n context: undefined\n ) {\n switch (eventType) {\n case \"FORM\":\n this.isUnsavedData = false;\n this.toggleLoader(true);\n\n this.getFormData.emit({\n [this.activeFormConfig.key]: {\n formConfig: e[\"formConfig\"],\n data: e[\"data\"],\n extendedData: e[\"extendedData\"]\n }\n });\n break;\n case \"POPUP_FORM\":\n this.previewDialogRef.next(e);\n break;\n default:\n break;\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 * Handles the event of going back to the previous form directly or by tabbing, without showing the form list in mobile view.\n *\n * Prerequisite: The current form can never be locked; it should either be in an editable or completed state.\n *\n * Logic:\n * 1. For DIRECT mode, find the config of the previous form starting from the first form, such that the previous form is editable and its sequence number is one less than the current active form's sequence number.\n * If no previous form is found or all forms have been completed, show the form list.\n * 2. For TABBED mode, find the config of the previous form in the list, such that the previous form's sequence number is less than the current active form's sequence number and the form is editable.\n * If no previous form is found, show the form list.\n *\n * @param {Object} e - The event object containing the mode to go back in.\n * @param {string} e.mode - The mode of going back: DIRECT or TABBED.\n * @returns {void}\n */\n @logMethod\n handleOnClickGoBack(e: any) {\n switch (e.mode) {\n case EFormViewGoBackMode.DIRECT:\n if (this.activeFormConfig.sequenceNo === 1) {\n this.showFormSections = true;\n this.showForm = false;\n this.showFormFields = false;\n return;\n } else {\n if (\n this.checkIfFormsStatusCompleted(\n this.formsList,\n this.formsListCompleted\n )\n ) {\n this.showFormSections = true;\n this.showForm = false;\n this.showFormFields = false;\n return;\n } else {\n const previousFormConfigDirect = this.formsList.find((form) => {\n if (\n form.sequenceNo === this.activeFormConfig.sequenceNo - 1 &&\n form.status !== EFormsListStatus.LOCKED\n ) {\n return form;\n }\n });\n\n if (previousFormConfigDirect) {\n this.handleOnClickSetActiveForm(\n previousFormConfigDirect.key,\n undefined\n );\n }\n }\n }\n\n break;\n case EFormViewGoBackMode.TABBED:\n const previousFormConfig = this.formsList.find((form) => {\n if (\n form.sequenceNo < this.activeFormConfig.sequenceNo &&\n form.status === EFormsListStatus.EDITABLE\n ) {\n return form;\n }\n });\n\n if (previousFormConfig) {\n this.handleOnClickSetActiveForm(previousFormConfig.key, undefined);\n } else {\n this.showFormSections = true;\n this.showForm = false;\n this.showFormFields = false;\n }\n break;\n default:\n break;\n }\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 const formsList: any[] = JSON.parse(JSON.stringify(this.formsList));\n\n let firstFormWithError: string = \"\";\n for (let form of formsList) {\n if (\n !form.hidden &&\n form.type !== EFormType.HTML &&\n form.required &&\n form.status !== EFormsListStatus.COMPLETED\n ) {\n this.triggerLogs(ELogEventType.FORM__SUBMIT_FORM_BUTTON_CLICK_INVALID, {\n form_key: form.key,\n form_title: form?.title ?? form?.props?.title,\n form_status: form.status\n });\n\n if (isEmptyValue(firstFormWithError)) {\n firstFormWithError = form.key;\n }\n }\n }\n\n if (isNotEmptyValue(firstFormWithError)) {\n this.toggleErrorNotification(true);\n setTimeout(() => {\n this.toggleErrorNotification(false);\n }, 3000);\n return;\n }\n\n this.onClickSubmit.emit(e);\n }\n\n @logMethod\n handleGetLogs(event: any) {\n this.getLogs.emit(event);\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 [activeFormConfig]=\"this.activeFormConfig\"\n [userConfig]=\"this.userConfig\"\n [formsList]=\"this.formsList\"\n [stepConfig]=\"this.stepConfig\"\n [isUnsavedData]=\"this.isUnsavedData\"\n [formsListCompleted]=\"this.formsListCompleted\"\n [isMobileView]=\"this.isMobileView\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSetActiveForm)=\"\n this.handleOnClickSetActiveForm($event, 'BUTTON_CLICK')\n \"\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 *ngIf=\"this.activeFormConfig.type === 'FORM'\"\n [formConfig]=\"this.activeFormConfig\"\n [allFormsData]=\"this.allFormsData\"\n [isMobileView]=\"this.isMobileView\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [popupFormCallback]=\"this.popupFormCallback\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getUnsavedDataState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onActionShowPopupForm)=\"\n this.handleOnActionShowPopupForm($event, content)\n \"\n (onClickGoBack)=\"this.handleOnClickGoBack($event)\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\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=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n *ngIf=\"popupFormConfig\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n<ng-template\n #content\n let-context\n>\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', context)\n \"\n ></kwikid-form-view>\n </div>\n</ng-template>\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({\n name: \"jsonFormat\"\n})\nexport class JsonFormatPipe implements PipeTransform {\n transform(value: any): string {\n if (!value) return \"\";\n\n // Trim spaces from start and end, then JSON.stringify with indentation for formatting\n return JSON.stringify(value, null, 2).trim();\n }\n}\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 { KwikIDBuilderFormEditorComponent } from \"./builder-form-editor.component\";\nimport { KwikIDFormBuilderFormEditorService } from \"./builder.form-editor.service\";\nimport { JsonFormatPipe } from \"./pipes/json-formatter.pipe\";\n\n@NgModule({\n declarations: [KwikIDBuilderFormEditorComponent, JsonFormatPipe],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n TuiSvgModule\n ],\n exports: [KwikIDBuilderFormEditorComponent],\n providers: [KwikIDFormBuilderFormEditorService]\n})\nexport class KwikIDBuilderFormEditorModule {}\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, KwikUIPipeModule } from \"kwikui\";\nimport { KwikIDBuilderFormsListComponent } from \"./builder-forms-list.component\";\n\n@NgModule({\n declarations: [KwikIDBuilderFormsListComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIPipeModule,\n KwikUIModule,\n TuiSvgModule\n ],\n exports: [KwikIDBuilderFormsListComponent]\n})\nexport class KwikIDBuilderFormsListModule {}\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 { KwikUIModule } from \"kwikui\";\nimport { KwikIDBuilderFormEditorModule } from \"./builder-form-editor/builder-form-editor.module\";\nimport { KwikIDBuilderFormsListModule } from \"./builder-form-list/builder-forms-list.module\";\nimport { KwikIDFormsBuilderComponent } from \"./builder.component\";\n\n@NgModule({\n declarations: [KwikIDFormsBuilderComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n KwikIDBuilderFormsListModule,\n KwikIDBuilderFormEditorModule,\n KwikUIModule\n ],\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 {\n TuiPreviewActionModule,\n TuiPreviewModule\n} from \"@taiga-ui/addon-preview\";\nimport {\n TuiButtonModule,\n TuiDialogModule,\n TuiLabelModule,\n TuiSvgModule\n} from \"@taiga-ui/core\";\nimport { TuiPushModule } from \"@taiga-ui/kit\";\nimport { KwikIDCameraModule, KwikUIInputCameraModule } from \"kwikid-camera\";\nimport { KwikUIInputEmailModule, KwikUIModule, KwikUIPipeModule } from \"kwikui\";\nimport { TimerPipe } from \"../../common/pipes/timer-formatter.pipe\";\nimport { KwikIDFormViewComponent } from \"./form-view.component\";\nimport { StyleSanitizerPipe } from \"./helpers/styles-sanitizer.pipe\";\n\n@NgModule({\n declarations: [KwikIDFormViewComponent, StyleSanitizerPipe, TimerPipe],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TuiLabelModule,\n TuiPushModule,\n TuiSvgModule,\n TuiPreviewModule,\n TuiButtonModule,\n TuiPreviewActionModule,\n TuiDialogModule,\n KwikUIPipeModule,\n KwikUIModule,\n KwikIDCameraModule,\n KwikUIInputCameraModule,\n KwikUIInputEmailModule\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, KwikUIPipeModule } from \"kwikui\";\nimport { KwikIDFormsListComponent } from \"./forms-list.component\";\n\n@NgModule({\n declarations: [KwikIDFormsListComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIPipeModule,\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 {\n TuiPreviewActionModule,\n TuiPreviewModule\n} from \"@taiga-ui/addon-preview\";\nimport { TuiButtonModule, 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 TuiPreviewActionModule,\n TuiPreviewModule,\n TuiButtonModule,\n TuiPreviewActionModule,\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: [KwikIDFormRendererModule, KwikIDFormBuilderModule]\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":["checkObjectKeyExists","setValueToObjectPath","isEmptyValue","EventEmitter","FormGroup","FormControl","Validators","getObjectDeepCopy","i0","i1","i2","i3","i4","logMethod","Component","Input","Output","isNotEmptyValue","setMissingKeyValue","TuiDay","TuiTime","isObject","mergeObjects","checkObjectPathExists","_","getObjectValueFromPath","i2.KwikIDFormBuilderFormEditorService","trigger","transition","style","animate","ChangeDetectionStrategy","getObjectFromLocalStorage","i2.KwikIDBuilderFormsListComponent","i3.KwikIDBuilderFormEditorComponent","ELogEventType","uuidv4","encryptWithAES","Observable","axios","decryptWithAES","Source","Rule","Condition","Action","PATTERNS","FormArray","hasWhitespacesOnly","formatEventLogs","Pipe","Validation","pairwise","mergeObjectsDeep","ESourceKey","replaceString","isUndefined","isNull","TuiNotification","isEmptyString","TuiPushService","TuiAlertService","TuiPreviewDialogService","TuiDialogService","i5","i6","i7","i8","i9","i10.StyleSanitizerPipe","i11.TimerPipe","Inject","ViewChild","i2.KwikIDFormsListComponent","i3.KwikIDFormViewComponent","HostListener","CommonModule","FormsModule","ReactiveFormsModule","KwikUIModule","TuiSvgModule","NgModule","KwikUIPipeModule","DragDropModule","TuiLabelModule","TuiPushModule","TuiPreviewModule","TuiButtonModule","TuiPreviewActionModule","TuiDialogModule","KwikIDCameraModule","KwikUIInputCameraModule","KwikUIInputEmailModule","HttpClientModule","TuiLoaderModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kwikid-forms.umd.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../projects/kwikid-forms/src/lib/builder/builder.helper.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-list/builder-forms-list.component.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-list/builder-forms-list.component.html","../../../projects/kwikid-forms/src/lib/renderer/form-view/definitions/form-view.fields.definition.ts","../../../projects/kwikid-forms/src/lib/renderer/config-converter/config-converter.constants.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.fields.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/config-converter/config-converter.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/config-converter/config-converter.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder-form-editor.definitions.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder-form-editor.helper.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder.form-editor.constants.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder.form-editor.service.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder-form-editor.component.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder-form-editor.component.html","../../../projects/kwikid-forms/src/lib/builder/builder.component.ts","../../../projects/kwikid-forms/src/lib/builder/builder.component.html","../../../projects/kwikid-forms/src/lib/renderer/forms-list/forms-list.definitions.ts","../../../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.logs.definition.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/form-view.api.service.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/helpers/form-view.camera.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.logs.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/form-view.tasks.helper.ts","../../../projects/kwikid-forms/src/lib/renderer/form-view/helpers/styles-sanitizer.pipe.ts","../../../projects/kwikid-forms/src/lib/common/pipes/timer-formatter.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/renderer.definitions.ts","../../../projects/kwikid-forms/src/lib/renderer/forms-list/forms-list.helper.ts","../../../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.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-form-editor/pipes/json-formatter.pipe.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-editor/builder-form-editor.module.ts","../../../projects/kwikid-forms/src/lib/builder/builder-form-list/builder-forms-list.module.ts","../../../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":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\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); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\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; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\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);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\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\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\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\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import {\n checkObjectKeyExists,\n isEmptyValue,\n setValueToObjectPath\n} from \"kwikid-toolkit\";\n\nexport function convertFormListConfig(formsList: any[]): any[] {\n const convertFormListConfigTypeForm = (form: any) => {\n if (checkObjectKeyExists(form, \"formContent\")) {\n if (checkObjectKeyExists(form.formContent, \"url\")) {\n form = setValueToObjectPath(form, \"props.url\", form.formContent.url);\n delete form[\"formContent\"][\"url\"];\n }\n if (checkObjectKeyExists(form.formContent, \"path\")) {\n form = setValueToObjectPath(form, \"props.path\", form.formContent.path);\n delete form[\"formContent\"][\"path\"];\n }\n }\n if (isEmptyValue(form.formContent)) {\n delete form[\"formContent\"];\n }\n if (checkObjectKeyExists(form, \"title\")) {\n form = setValueToObjectPath(form, \"props.title\", form.title);\n delete form[\"title\"];\n }\n if (!checkObjectKeyExists(form, \"hidden\")) {\n form.hidden = false;\n }\n if (!checkObjectKeyExists(form, \"disabled\")) {\n form.disabled = false;\n }\n if (!checkObjectKeyExists(form, \"required\")) {\n form.required = true;\n }\n if (!checkObjectKeyExists(form, \"dependentOn\")) {\n form.dependentOn = [];\n }\n\n return form;\n };\n\n const convertFormListConfigTypeHtml = (form: any) => {\n if (form.type === \"html\") {\n form.type = \"HTML\";\n }\n\n if (checkObjectKeyExists(form, \"htmlContent\")) {\n if (!checkObjectKeyExists(form, \"props\")) {\n form.props = {\n htmlContent: form.htmlContent\n };\n }\n delete form[\"htmlContent\"];\n } else {\n if (!checkObjectKeyExists(form, \"props\")) {\n form.props = {\n htmlContent: \"\"\n };\n }\n }\n if (checkObjectKeyExists(form, \"title\")) {\n form = setValueToObjectPath(form, \"props.title\", form.title);\n delete form[\"title\"];\n }\n if (!checkObjectKeyExists(form, \"hidden\")) {\n form.hidden = false;\n }\n return form;\n };\n\n return formsList.map((form) => {\n if (!checkObjectKeyExists(form, \"type\")) {\n form.type = \"FORM\";\n }\n if (checkObjectKeyExists(form, \"type\")) {\n if (form.type === \"FORM\") {\n form = convertFormListConfigTypeForm(form);\n }\n\n if (form.type === \"HTML\" || form.type === \"html\") {\n form = convertFormListConfigTypeHtml(form);\n }\n }\n\n return form;\n });\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport {\n checkObjectKeyExists,\n getObjectDeepCopy,\n isEmptyValue,\n logMethod\n} from \"kwikid-toolkit\";\nimport { convertFormListConfig } from \"../builder.helper\";\nimport { KwikUILoaderService } from \"kwikui\";\n\n@Component({\n selector: \"kwikid-builder-forms-list\",\n templateUrl: \"./builder-forms-list.component.html\",\n styleUrls: [\"../shared.scss\", \"./builder-forms-list.component.scss\"]\n})\nexport class KwikIDBuilderFormsListComponent implements OnInit, OnChanges {\n @Input()\n activeFormConfig: any = {};\n\n @Input()\n formsList: any[] = [];\n\n @Output()\n onClickSetActiveForm: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n getFormsList: EventEmitter<any> = new EventEmitter<any>();\n\n selectedForm: string = \"\";\n setSelectedForm(selected_form: string): void {\n this.selectedForm = selected_form;\n }\n\n addForm: FormGroup = new FormGroup({\n key: new FormControl(\"\", Validators.required),\n title: new FormControl(\"\", Validators.required)\n });\n\n constructor() {}\n\n ngOnInit(): 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(\"activeFormConfig\")) {\n this.activeFormConfig = changes.activeFormConfig.currentValue;\n }\n if (verifyChange(\"formsList\")) {\n this.formsList = changes.formsList.currentValue;\n }\n }\n\n @logMethod\n handleOnClickSetActiveForm(selectedForm: string) {\n if (this.selectedForm !== selectedForm) {\n this.selectedForm = selectedForm;\n this.onClickSetActiveForm.emit(selectedForm);\n }\n }\n\n @logMethod\n handleOnClickAddForm() {\n if (this.addForm.invalid) {\n alert(\"Please fill all the fields\");\n return;\n } else {\n if (isEmptyValue(this.activeFormConfig)) {\n this.activeFormConfig = {\n key: this.addForm.value.key.toUpperCase(),\n title: this.addForm.value.title,\n type: \"FORM\"\n };\n }\n\n const newForm = {\n key: this.addForm.value.key.toUpperCase(),\n title: this.addForm.value.title,\n type: \"FORM\",\n fields: [],\n required: true\n };\n this.formsList.push(newForm);\n this.formsList = getObjectDeepCopy(convertFormListConfig(this.formsList));\n this.addForm.reset();\n\n this.getFormsList.emit({ formsList: this.formsList });\n }\n }\n}\n","<div class=\"container\">\n <form\n class=\"add-form-container\"\n [formGroup]=\"addForm\"\n >\n <input\n type=\"text\"\n formControlName=\"key\"\n placeholder=\"form key\"\n />\n <input\n type=\"text\"\n formControlName=\"title\"\n placeholder=\"form title\"\n />\n <kwikui-button\n size=\"s\"\n styles=\"width: 100%\"\n label=\"add form\"\n shape=\"rounded\"\n (click)=\"handleOnClickAddForm()\"\n ></kwikui-button>\n </form>\n <hr />\n <div class=\"forms-list\">\n <ng-container *ngIf=\"formsList.length > 0; else NoForms\">\n <ng-container *ngFor=\"let form of formsList\">\n <ng-container [ngSwitch]=\"form.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'HTML'\">\n <div [innerHtml]=\"form.props.htmlContent | kwikuiSafeHtml\"></div>\n </ng-container>\n <!-- Type FORM -->\n <ng-container *ngSwitchCase=\"'FORM'\">\n <ng-container\n [ngTemplateOutlet]=\"FORM_BUTTON\"\n [ngTemplateOutletContext]=\"{\n form: form,\n activeFormConfig: activeFormConfig\n }\"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template #NoForms>\n <div class=\"no-form\">\n <div class=\"no-fields disclaimer\">\n <div class=\"icon\"><h1>+</h1></div>\n <div><p>Please add a new form to start</p></div>\n </div>\n </div>\n </ng-template>\n </div>\n <ng-container *ngIf=\"formsList.length > 0\">\n <hr />\n <div>\n <b>Total Forms: {{ formsList.length }}</b>\n </div>\n </ng-container>\n</div>\n\n<ng-template\n #FORM_BUTTON\n let-form=\"form\"\n let-activeFormConfig=\"activeFormConfig\"\n>\n <div\n [class]=\"'uf-section-item'\"\n [class.active]=\"\n activeFormConfig !== undefined && form.key === activeFormConfig.key\n \"\n (click)=\"handleOnClickSetActiveForm(form.key)\"\n >\n <div class=\"uf-form-section-card-title\">\n {{ form.props.title }} <span *ngIf=\"form?.required\">*</span>\n </div>\n <div class=\"uf-form-section-card-status\">\n <div class=\"uf-form-section-card-status-img edit\">\n <tui-svg src=\"tuiIconEdit\"></tui-svg>\n </div>\n </div>\n </div>\n</ng-template>\n","import { TAction, TRule, TSource, TEngine } 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 BUTTON = \"button\",\n TEXTAREA = \"textarea\",\n CHECKBOX = \"checkbox\",\n NUMBER = \"number\",\n DATE = \"date\",\n TIME = \"time\",\n IMAGE = \"image\",\n PREVIEW_IMAGE = \"preview-image\",\n PHONE = \"phone\",\n RADIO = \"radio\",\n SELECT = \"select\",\n DROPDOWN_WITH_SEARCH = \"dropdown-with-search\",\n API_CALL = \"api-call\",\n API = \"api\",\n OTP = \"otp\",\n AADHAAR_NUMBER = \"aadhaar-number\",\n SLIDER = \"slider\",\n FILE = \"file\",\n PASSWORD = \"password\",\n EMAIL = \"email\",\n CAPTURE = \"capture\",\n RECORD = \"record\",\n STAR_RATING = \"star-rating\",\n LIVE_LOCATION = \"live-location\"\n}\n\nexport type TFieldType =\n | EFieldType.HTML\n | EFieldType.TITLE\n | EFieldType.BUTTON\n | EFieldType.TEXT\n | EFieldType.TEXTAREA\n | EFieldType.CHECKBOX\n | EFieldType.NUMBER\n | EFieldType.DATE\n | EFieldType.TIME\n | EFieldType.PREVIEW_IMAGE\n | EFieldType.PHONE\n | EFieldType.RADIO\n | EFieldType.DROPDOWN_WITH_SEARCH\n | EFieldType.SELECT\n | EFieldType.API\n | EFieldType.API_CALL\n | EFieldType.OTP\n | EFieldType.AADHAAR_NUMBER\n | EFieldType.SLIDER\n | EFieldType.FILE\n | EFieldType.PASSWORD\n | EFieldType.EMAIL\n | EFieldType.CAPTURE\n | EFieldType.RECORD\n | EFieldType.STAR_RATING\n | EFieldType.LIVE_LOCATION;\n\nexport type TFieldSelectOption = {\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 TFieldDefaultApiValue = {\n triggers: TTrigger[];\n rules: TRule[];\n actions: TAction[];\n};\n\nexport type TFieldDefault = {\n value: TFieldDefaultValue;\n options: TFieldDefaultDropdownOptions;\n api: TFieldDefaultApiValue;\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 TFieldEmailProperties = TFieldProperties & {\n case: string;\n domains: Array<string>;\n placeholder: string;\n readOnly: string;\n};\n\nexport type TFieldPasswordProperties = TFieldProperties & {\n placeholder: string;\n hintContent: string;\n readOnly: string;\n};\n\nexport type TFieldTextareaProperties = TFieldProperties & {\n placeholder: string;\n readOnly: string;\n};\n\nexport type TFieldCheckboxProperties = TFieldProperties & {\n contentAlign: string;\n size: string;\n readOnly: string;\n placeholder: 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 TFieldPreviewImageProperties = TFieldProperties & {\n altText: string;\n html: {\n before: string;\n after: string;\n };\n imageType: string;\n loadingType: string;\n};\n\nexport type TFieldSliderProperties = TFieldProperties & {\n min: number;\n max: number;\n step: number;\n quantum: number;\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 TFieldSelectProperties = 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 TFieldCaptureProperties = TFieldProperties & {\n containerStyles: string;\n buttonText: string;\n icon: string;\n showMediaFiles: boolean;\n uploadFileToServer: boolean;\n isCroppedImage: boolean;\n isMaskedImage: boolean;\n watermarkDataSources: TSource[];\n cameraConfig: {\n header: {\n title: string;\n isBack: boolean;\n isExpand: boolean;\n isClose: boolean;\n };\n footer: {\n isUpload: boolean;\n isFlip: boolean;\n isSwitch: boolean;\n };\n others: {\n isWatermark: boolean;\n isWatermarkForImageUpload: boolean;\n isFrontCamera: boolean;\n flipHorizontal: boolean;\n mask: {\n shape: string;\n };\n preview: {\n show: boolean;\n header: {\n isBack: boolean;\n isClose: boolean;\n };\n };\n };\n };\n};\n\nexport type TFieldRecordProperties = TFieldProperties & {\n containerStyles: string;\n buttonText: string;\n icon: string;\n showMediaFiles: boolean;\n uploadFileToServer: boolean;\n cameraConfig: {\n header: {\n title: string;\n isBack: boolean;\n isExpand: boolean;\n isClose: boolean;\n };\n footer: {\n isUpload: boolean;\n isFlip: boolean;\n isSwitch: boolean;\n };\n others: {\n isFrontCamera: boolean;\n flipHorizontal: boolean;\n minRecordingTimeInSeconds: number;\n maxRecordingTimeInSeconds: number;\n preview: {\n show: boolean;\n header: {\n isBack: boolean;\n isClose: boolean;\n };\n };\n };\n };\n};\n\nexport type TFieldStarRatingProperties = TFieldProperties & {\n color: string;\n icon: string;\n iconMarked: string;\n min: number;\n max: number;\n placeholder: string;\n size: string;\n};\n\nexport type TFieldLiveLocationProperties = TFieldProperties & {\n isGetLocationFromLatLong: boolean;\n isShowLatLongCaptureTimestamp: boolean;\n color: string;\n containerStyles: string;\n placeholder: string;\n size: string;\n styles: string;\n shape: 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: TEngine;\n api?: TApi;\n properties: TFieldProperties;\n options?: Array<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 properties?: {\n bypassResetConfirmation?: boolean;\n };\n};\n\nexport type TFieldText = TField & {\n properties: TFieldTextProperties;\n};\n\nexport type TFieldTextArea = TField & {\n properties: TFieldTextareaProperties;\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 TFieldEmail = TField & {\n properties: TFieldEmailProperties;\n};\n\nexport type TFieldSelect = TField & {\n options: Array<TFieldSelectOption>;\n properties: TFieldSelectProperties;\n};\n\nexport type TFieldApiCall = TField & {\n api: TApi;\n properties: TFieldApiCallProperties;\n};\n\nexport type TFieldLiveLocation = TField & {\n api: TApi;\n properties: TFieldLiveLocationProperties;\n};\n\nexport type TFieldOtp = TField & {\n properties: TFieldOtpProperties;\n};\n\nexport type TFieldAadhaarNumber = TField & {\n properties: TFieldAadhaarNumberProperties;\n};\n\nexport type TFieldPreviewImage = TField & {\n properties: TFieldPreviewImageProperties;\n};\n\nexport type TFieldCapture = TField & {\n properties: TFieldCaptureProperties;\n};\n\nexport type TFieldStarRating = TField & {\n properties: TFieldStarRatingProperties;\n};\n","export const FIELD_PROPERTIES = {\n button: {\n appearance: \"primary\",\n class: \"\",\n containerStyles: \"\",\n icon: \"\",\n iconRight: \"\",\n loading: false,\n shape: null,\n size: \"m\",\n styles: \"margin: 0rem auto; width: 100%;\"\n },\n text: {\n case: \"default\",\n containerStyles: \"\",\n postfix: \"\",\n prefix: \"\"\n },\n email: {\n case: \"default\",\n containerStyles: \"\",\n postfix: \"\",\n prefix: \"\"\n },\n password: {\n containerStyles: \"\",\n hintContent: \"\",\n postfix: \"\",\n prefix: \"\"\n },\n \"aadhaar-number\": {\n containerStyles: \"\",\n mask: \"# # # # - # # # # - # # # #\"\n },\n number: {\n containerStyles: \"\",\n decimal: \"never\",\n max: Infinity,\n min: -Infinity,\n placeholder: \"\",\n postfix: \"\",\n precision: 2,\n prefix: \"\"\n },\n phone: {\n containerStyles: \"\",\n countryCode: \"+91\",\n phoneMaskAfterCountryCode: \"####-######\",\n placeholder: \"\",\n postfix: \"\",\n prefix: \"\",\n removeCountryCodeFromValue: true\n },\n html: {\n containerStyles: \"\"\n },\n checkbox: {\n containerStyles: \"\"\n },\n textarea: {\n containerStyles: \"\"\n },\n title: {\n containerStyles: \"\"\n },\n image: {\n after: \"\",\n altText: \"\",\n before: \"\",\n class: \"\",\n containerStyles: \"\",\n html: {},\n imageType: \"url\",\n loadingType: \"auto\",\n styles: \"\"\n },\n date: {\n containerStyles: \"\",\n maxCalculatedFromToday: {\n year: 0,\n month: 0,\n day: 0\n },\n minCalculatedFromToday: {\n year: new Date().getFullYear(),\n month: new Date().getMonth(),\n day: new Date().getDate()\n },\n placeholder: \"\",\n postfix: \"\",\n prefix: \"\"\n },\n time: {\n containerStyles: \"\",\n items: undefined,\n mode: \"HH:MM\",\n placeholder: \"\",\n postfix: \"\",\n prefix: \"\"\n },\n radio: {\n containerStyles: \"\",\n orientation: \"vertical\",\n size: \"m\"\n },\n slider: {\n containerStyles: \"\",\n max: 100,\n min: 0,\n postfix: \"\",\n prefix: \"\",\n quantum: 1,\n size: \"l\",\n steps: 0\n },\n api: {\n containerStyles: \"\",\n shape: null,\n size: \"m\"\n },\n otp: {\n containerStyles: \"\",\n mode: \"multiple\",\n otpLength: 4,\n placeholder: \"\",\n size: \"m\"\n },\n file: {\n accept: \"application/pdf\",\n containerStyles: \"\",\n label: \"drop a file or\",\n link: \"click to upload\",\n maxFileSize: 1000000,\n multiple: true,\n size: \"m\",\n uploadFileToServer: true\n },\n capture: {\n containerStyles: \"\",\n buttonText: \"Camera\",\n icon: \"tuiIconCameraLarge\",\n showMediaFiles: true,\n uploadFileToServer: false,\n isCroppedImage: false,\n isMaskedImage: false,\n watermarkDataSources: [],\n cameraConfig: {\n header: {\n title: \"Camera\",\n isBack: false,\n isExpand: true,\n isClose: true\n },\n footer: {\n isUpload: true,\n isFlip: false,\n isSwitch: true\n },\n others: {\n isFrontCamera: false,\n isWatermark: false,\n isWatermarkForImageUpload: false,\n flipHorizontal: false,\n mask: {\n shape: \"\"\n },\n preview: {\n show: false,\n header: {\n isBack: false,\n isClose: false\n }\n }\n }\n }\n },\n record: {\n containerStyles: \"\",\n buttonText: \"Record\",\n icon: \"tuiIconVideoLarge\",\n showMediaFiles: true,\n uploadFileToServer: false,\n cameraConfig: {\n header: {\n title: \"Record\",\n isBack: false,\n isExpand: true,\n isClose: true\n },\n footer: {\n isUpload: true,\n isFlip: false,\n isSwitch: true\n },\n others: {\n isFrontCamera: false,\n flipHorizontal: false,\n minRecordingTimeInSeconds: 0,\n maxRecordingTimeInSeconds: 30,\n preview: {\n show: false,\n header: {\n isBack: false,\n isClose: false\n }\n }\n }\n }\n },\n select: {\n containerStyles: \"\",\n searchable: true\n },\n \"dropdown-with-search\": {\n searchable: true,\n containerStyles: \"\"\n },\n \"star-rating\": {\n color: \"var(--tui-primary)\",\n containerStyles: \"\",\n icon: `<svg xml:space=\"preserve\" width=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" id=\"_x3C_Layer_x3E_\" height=\"48px\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"star_x2C__favorite\"><path id=\"XMLID_2_\" fill=\"transparent\" stroke-width=\"3\" stroke=\"var(--tui-rating-color)\" d=\"M 23.3 38.6 l -10.9 5.7 c -1.2 0.6 -2.5 -0.4 -2.3 -1.6 l 2.1 -12.1 c 0.1 -0.5 -0.1 -1 -0.4 -1.4 l -8.8 -8.6 c -0.9 -0.9 -0.4 -2.5 0.9 -2.6 l 12.2 -1.8 c 0.5 -0.1 1 -0.4 1.2 -0.8 l 5.5 -11 c 0.6 -1.2 2.2 -1.2 2.8 0 l 5.5 11 c 0.2 0.5 0.7 0.8 1.2 0.8 l 12.2 1.8 c 1.3 0.2 1.8 1.8 0.9 2.6 l -8.8 8.6 c -0.4 0.4 -0.5 0.9 -0.4 1.4 l 2.1 12.1 c 0.2 1.3 -1.1 2.2 -2.3 1.6 l -10.9 -5.7 C 24.3 38.4 23.7 38.4 23.3 38.6 z\"></path></g></svg>`,\n iconMarked: `<svg xml:space=\"preserve\" width=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" id=\"_x3C_Layer_x3E_\" height=\"48px\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"star_x2C__favorite\"><path id=\"XMLID_2_\" fill=\"var(--tui-rating-color)\" stroke=\"var(--tui-rating-color)\" stroke-width=\"3\" d=\"M 23.3 38.6 l -10.9 5.7 c -1.2 0.6 -2.5 -0.4 -2.3 -1.6 l 2.1 -12.1 c 0.1 -0.5 -0.1 -1 -0.4 -1.4 l -8.8 -8.6 c -0.9 -0.9 -0.4 -2.5 0.9 -2.6 l 12.2 -1.8 c 0.5 -0.1 1 -0.4 1.2 -0.8 l 5.5 -11 c 0.6 -1.2 2.2 -1.2 2.8 0 l 5.5 11 c 0.2 0.5 0.7 0.8 1.2 0.8 l 12.2 1.8 c 1.3 0.2 1.8 1.8 0.9 2.6 l -8.8 8.6 c -0.4 0.4 -0.5 0.9 -0.4 1.4 l 2.1 12.1 c 0.2 1.3 -1.1 2.2 -2.3 1.6 l -10.9 -5.7 C 24.3 38.4 23.7 38.4 23.3 38.6 z\"></path></g></svg>`,\n max: 10,\n min: 0,\n placeholder: \"\",\n size: \"m\"\n },\n \"live-location\": {\n isGetLocationFromLatLong: true,\n isShowLatLongCaptureTimestamp: true,\n color: \"var(--tui-primary)\",\n containerStyles: \"\",\n placeholder: \"\",\n size: \"m\",\n styles: \"\",\n shape: \"curved\"\n }\n};\n","import { TuiDay, TuiTime } from \"@taiga-ui/cdk\";\nimport {\n checkObjectKeyExists,\n isNotEmptyValue,\n isEmptyValue,\n isObject,\n setMissingKeyValue\n} 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 appendHtmlMessage = (\n field: any,\n message: { message: string }\n): any => {\n if (checkObjectKeyExists(field, \"html\")) {\n if (isNotEmptyValue(field.html)) {\n const html = field.html.replace(\"{{message}}\", message.message);\n field.html = html;\n }\n }\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 filterDuplicatesMediaFiles = (array: string[]): string[] => {\n const uniqueFiles = new Set<string>();\n\n return array.filter((mediaFile) => {\n if (!uniqueFiles.has(mediaFile)) {\n uniqueFiles.add(mediaFile);\n return true;\n }\n return false;\n });\n};\n\nexport const filterDuplicatesFiles = (array: any[]): any[] => {\n const uniqueFiles = new Set<string>();\n return array.filter((file) => {\n const fileKey = `${file.name}-${file.size}`;\n if (!uniqueFiles.has(fileKey)) {\n uniqueFiles.add(fileKey);\n return true;\n }\n return false;\n });\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 const setApiTimerMessage = (field, timer = {}) => {\n if (checkObjectKeyExists(field, \"api\")) {\n field[\"api\"][\"timer\"] = timer;\n } else {\n setMissingKeyValue(field, \"api\", { timer: timer });\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 case \"onlyWhitespaces\":\n errorMessage = `${fieldLabel} can't contain only empty spaces!`;\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 convertFormFieldTypeTimeToKwikUIFormat = (\n time: string\n): TuiTime => {\n const timeParts = time.split(/[.:]/);\n let hours = 0,\n minutes = 0,\n seconds = 0,\n milliseconds = 0;\n\n if (timeParts.length >= 2) {\n hours = parseInt(timeParts[0]);\n minutes = parseInt(timeParts[1]);\n\n if (timeParts.length >= 3) {\n seconds = parseInt(timeParts[2]);\n if (timeParts.length === 4) {\n milliseconds = parseInt(timeParts[3]);\n }\n }\n }\n\n let tuiTime = new TuiTime(hours, minutes, seconds, milliseconds);\n return tuiTime;\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 convertFormFieldTypeTimeToStandardFormat = (\n time: TuiTime\n): string => {\n let formattedDate: string;\n let hour = time.hours;\n let minutes = time.minutes;\n let seconds = time.seconds;\n let milliseconds = time.ms;\n\n formattedDate = `${hour.toString().padStart(2, \"0\")}:${minutes\n .toString()\n .padStart(2, \"0\")}${\n seconds > 0 ? `:${seconds.toString().padStart(2, \"0\")}` : \"\"\n }${\n seconds > 0 && milliseconds > 0\n ? `:${milliseconds.toString().padStart(2, \"0\")}`\n : \"\"\n }`;\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.TIME:\n if (typeof value !== \"string\") {\n convertedValue = convertFormFieldTypeTimeToStandardFormat(value);\n }\n break;\n case EFieldType.RADIO:\n convertedValue = value.label;\n break;\n case EFieldType.SELECT:\n if (Array.isArray(field.options)) {\n field.options.find((item: any) => {\n if (isObject(item)) {\n if (item.title == value) {\n convertedValue = item.value;\n }\n }\n });\n }\n break;\n case EFieldType.PHONE:\n let phoneField = field as TFieldPhone;\n if (phoneField.properties.removeCountryCodeFromValue) {\n convertedValue = value\n .toString()\n .replace(phoneField.properties.countryCode, \"\");\n }\n break;\n case EFieldType.CAPTURE:\n if (Array.isArray(value) && isNotEmptyValue(value[0])) {\n convertedValue = value[0];\n } else if (\n typeof value !== \"string\" ||\n (typeof value === \"string\" && isEmptyValue(value))\n ) {\n convertedValue = \"\";\n }\n break;\n case EFieldType.RECORD:\n if (Array.isArray(value) && isNotEmptyValue(value[0])) {\n convertedValue = value[0];\n } else if (\n typeof value !== \"string\" ||\n (typeof value === \"string\" && isEmptyValue(value))\n ) {\n convertedValue = \"\";\n }\n break;\n default:\n break;\n }\n } else {\n convertedValue = \"\";\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.SELECT:\n if (Array.isArray(field.options)) {\n field.options.find((item: any) => {\n if (isObject(item)) {\n if (item.value == value) {\n convertedValue = item.title;\n }\n }\n });\n }\n break;\n case EFieldType.DATE:\n convertedValue = convertFormFieldTypeDateToKwikUIFormat(value);\n break;\n case EFieldType.TIME:\n convertedValue = convertFormFieldTypeTimeToKwikUIFormat(value);\n break;\n case EFieldType.FILE:\n convertedValue = value;\n break;\n case EFieldType.CAPTURE:\n if (typeof value === \"string\") {\n convertedValue = [value];\n } else if (!Array.isArray(value)) {\n convertedValue = [];\n } else {\n convertedValue = value;\n }\n break;\n case EFieldType.RECORD:\n if (typeof value === \"string\") {\n convertedValue = [value];\n } else if (!Array.isArray(value)) {\n convertedValue = [];\n } else {\n convertedValue = value;\n }\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 case EFieldType.FILE:\n value = [];\n break;\n case EFieldType.CAPTURE:\n value = [];\n break;\n case EFieldType.RECORD:\n value = [];\n break;\n case EFieldType.SELECT:\n value = null;\n break;\n case EFieldType.DROPDOWN_WITH_SEARCH:\n value = null;\n break;\n default:\n value = \"\";\n break;\n }\n\n return value;\n};\n","import { TuiDay } from \"@taiga-ui/cdk\";\nimport { checkObjectKeyExists, isObject } from \"kwikid-toolkit\";\nimport { convertFormFieldTypeDateToKwikUIFormat } from \"../form-view/helpers/form-view.fields.helper\";\n\nexport const getFormFields = (formConfig: any): any[] => {\n let fields: any[] = [];\n\n if (checkObjectKeyExists(formConfig, \"multiForm\")) {\n fields = formConfig.multiForm.fields;\n } else if (checkObjectKeyExists(formConfig, \"fields\")) {\n fields = formConfig.fields;\n }\n\n return fields;\n};\n\nexport const setMissingFieldKeyValue = (\n field: any,\n key: string,\n value: any\n): any => {\n if (!checkObjectKeyExists(field, key)) {\n field[key] = value;\n }\n return field;\n};\n\nexport const setFieldKeyValue = (field: any, key: string, value: any): any => {\n field[key] = value;\n\n return field;\n};\n\nexport const setFieldKeyHidden = (field: any): any => {\n return setMissingFieldKeyValue(field, \"hidden\", false);\n};\n\nexport const setFieldAsFormElement = (field: any, value: boolean): any => {\n return setFieldKeyValue(field, \"isFormElement\", value);\n};\n\nexport const getMinDate = (field: any): any => {\n if (checkObjectKeyExists(field, \"min\")) {\n return convertFormFieldTypeDateToKwikUIFormat(field[\"min\"]);\n } else {\n return new TuiDay(0, 0, 1); // Year - 0000, Month - 0 (0 Indexing), Day - 1\n }\n};\n\nexport const getMaxDate = (field: any): any => {\n if (checkObjectKeyExists(field, \"max\")) {\n return convertFormFieldTypeDateToKwikUIFormat(field[\"max\"]);\n } else {\n return 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\nexport const updateLanguage = (object: any, language: string) => {\n if (isObject(object)) {\n if (language && checkObjectKeyExists(object, language)) {\n object = object[language];\n } else {\n object = object[\"en\"];\n }\n }\n\n return object;\n};\n\nexport const getLanguage = () => {\n return (\n localStorage.getItem(\"lng\") ??\n localStorage.getItem(\"lang\") ??\n localStorage.getItem(\"Lang\") ??\n localStorage.getItem(\"language\") ??\n localStorage.getItem(\"currentLang\") ??\n localStorage.getItem(\"selectedLang\") ??\n \"en\"\n );\n};\n","import {\n checkObjectKeyExists,\n checkObjectPathExists,\n getObjectDeepCopy,\n isEmptyValue,\n isNotEmptyValue,\n isObject,\n logMethod,\n mergeObjects,\n setMissingKeyValue,\n setValueToObjectPath\n} from \"kwikid-toolkit\";\nimport {\n EFieldType,\n TField\n} from \"../form-view/definitions/form-view.fields.definition\";\nimport { FIELD_PROPERTIES } from \"./config-converter.constants\";\nimport {\n updateLanguage,\n getFormFields,\n getMaxDate,\n getMinDate,\n setFieldAsFormElement,\n setFieldKeyHidden,\n setFieldKeyValue,\n setMissingFieldKeyValue,\n getLanguage\n} from \"./config-converter.helper\";\n\nexport class Converter {\n @logMethod\n updateFormConfigMiscellaneous(formConfig: any, args: any): any {\n if (checkObjectKeyExists(args, \"formsListLength\")) {\n formConfig = setValueToObjectPath(\n formConfig,\n \"formsListLength\",\n args.formsListLength\n );\n }\n\n return formConfig;\n }\n\n @logMethod\n updateFormConfigFromUserConfig(formConfig: any, userConfig: any): any {\n if (isNotEmptyValue(userConfig)) {\n if (checkObjectKeyExists(userConfig, \"theme\")) {\n if (checkObjectKeyExists(userConfig.theme, \"clientLogo\")) {\n setValueToObjectPath(\n formConfig,\n \"properties.header.logo.src\",\n userConfig.theme.clientLogo\n );\n }\n }\n }\n\n return formConfig;\n }\n\n @logMethod\n updateFormConfigProperties(formConfig: any): any {\n const formViewProperties = {\n header: {\n logo: {\n src: \"\",\n alt: \"Logo\",\n hidden: false,\n styles: \"\"\n },\n backButton: {\n mode: \"TABBED\",\n bypassConfirmation: false,\n hidden: true\n },\n title: {\n hidden: false,\n label: formConfig?.title ?? formConfig?.props.title ?? \"Form\",\n styles: \"\"\n },\n steps: {\n hidden: false,\n styles: \"\"\n }\n },\n main: {\n styles: \"\"\n },\n footer: {\n viewFormsButton: {\n bypassConfirmation: false,\n hidden: false,\n label: \"View Forms\"\n },\n saveButton: {\n hidden: false,\n label: \"Save\"\n }\n },\n isUnsavedDataAlertEnabled: false\n };\n\n if (checkObjectKeyExists(formConfig, \"properties\")) {\n formConfig.properties = getObjectDeepCopy(\n mergeObjects(formViewProperties, formConfig.properties)\n );\n } else {\n formConfig.properties = formViewProperties;\n }\n\n const language = getLanguage();\n\n if (checkObjectPathExists(formConfig, \"properties.header.title.label\")) {\n formConfig.properties.header.title.label = updateLanguage(\n formConfig.properties.header.title.label,\n language\n );\n }\n\n if (\n checkObjectPathExists(\n formConfig,\n \"properties.footer.viewFormsButton.label\"\n )\n ) {\n formConfig.properties.footer.viewFormsButton.label = updateLanguage(\n formConfig.properties.footer.viewFormsButton.label,\n language\n );\n }\n\n if (\n checkObjectPathExists(formConfig, \"properties.footer.saveButton.label\")\n ) {\n formConfig.properties.footer.saveButton.label = updateLanguage(\n formConfig.properties.footer.saveButton.label,\n language\n );\n }\n\n return formConfig;\n }\n\n @logMethod\n convertFormConfig(formConfig: any): any {\n const formatOnFieldType = (field: any): any => {\n const updateFormFieldProperties = (field: any): any => {\n if (checkObjectKeyExists(FIELD_PROPERTIES, field.type)) {\n field.properties = mergeObjects(\n getObjectDeepCopy(FIELD_PROPERTIES[field.type]),\n field.properties\n );\n }\n\n return field;\n };\n\n const formatFieldTypeHtml = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, false);\n\n return field;\n };\n const formatFieldTypeTitle = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, false);\n\n return field;\n };\n const formatFieldTypeButton = (field: any): any => {\n field = setMissingFieldKeyValue(field, \"hidden\", false);\n field = setFieldAsFormElement(field, false);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeText = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypePassword = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeEmail = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeStarRating = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeTextarea = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n return field;\n };\n const formatFieldTypeCheckbox = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n return field;\n };\n const formatFieldTypeNumber = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n\n if (checkObjectKeyExists(field, \"key\")) {\n if (field.key === \"aadhaar_number\") {\n field = setFieldKeyValue(field, \"type\", \"aadhaar_number\");\n }\n if (field.key === \"contact_number\") {\n field = setFieldKeyValue(field, \"type\", \"phone\");\n }\n\n if (field.type === \"phone\" || field.type === \"number\") {\n field = updateFormFieldProperties(field);\n }\n }\n\n return field;\n };\n const formatFieldTypeImage = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeDate = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n\n field.properties = getObjectDeepCopy(\n mergeObjects(\n getObjectDeepCopy(FIELD_PROPERTIES[field.type]),\n {\n max: getMaxDate(field),\n min: getMinDate(field)\n },\n field.properties\n )\n );\n\n return field;\n };\n const formatFieldTypeTime = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypePhone = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeRadio = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\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 formatFieldTypeSlider = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeSelect = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeApi = (field: any): any => {\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n if (!checkObjectKeyExists(field, \"showLoader\")) {\n field = setFieldKeyValue(field, \"showLoader\", false);\n }\n\n if (!checkObjectKeyExists(field, \"api\")) {\n const fieldApiDefaults = {\n url: \"\",\n request: {},\n response: {},\n status: {\n value: \"default\",\n labels: {\n default: \"Call API\",\n loading: \"Call API\",\n retry: \"Retry API\",\n success: \"API Success\",\n failed: \"API Failed\"\n }\n }\n };\n field.api = getObjectDeepCopy(\n mergeObjects(fieldApiDefaults, fieldApiDefaults)\n );\n }\n if (\n !checkObjectKeyExists(field.api, \"request\") &&\n !checkObjectKeyExists(field.api, \"entrypoint\")\n ) {\n const apiEntrypoint = {\n triggers: [\"ON_API_CALL\"],\n rules: [],\n actions: [\n {\n id: \"1\",\n key: \"API_CALL\",\n condition: \"true\",\n props: {\n fieldKey: field.key,\n apiKey: field.api.endpoints[0].apiKey\n }\n }\n ]\n };\n field.entrypoint = getObjectDeepCopy(\n mergeObjects(apiEntrypoint, field.api)\n );\n }\n return field;\n };\n const formatFieldTypeLiveLocation = (field: any): any => {\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n if (!checkObjectKeyExists(field, \"showLoader\")) {\n field = setFieldKeyValue(field, \"showLoader\", false);\n }\n\n if (!checkObjectKeyExists(field, \"api\")) {\n const fieldApiDefaults = {\n url: \"\",\n request: {},\n response: {},\n status: {\n value: \"default\",\n labels: {\n default: \"Get Live Location\",\n loading: \"Getting Live Location\",\n retry: \"Get Live Location\",\n success: \"Live Location\",\n failed: \"Live Location\"\n }\n }\n };\n field.api = getObjectDeepCopy(\n mergeObjects(fieldApiDefaults, fieldApiDefaults)\n );\n }\n\n return field;\n };\n const formatFieldTypeOtp = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n\n field.properties = getObjectDeepCopy(\n mergeObjects(\n getObjectDeepCopy(FIELD_PROPERTIES[field.type]),\n {\n mask: new Array(field?.properties?.otpLength ?? 4)\n .fill(\"#\")\n .join(\" \")\n },\n field.properties\n )\n );\n\n return field;\n };\n const formatFieldTypeAadhaarNumber = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeFile = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeCapture = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n const formatFieldTypeRecord = (field: any): any => {\n field = setFieldKeyHidden(field);\n field = setFieldAsFormElement(field, true);\n field = updateFormFieldProperties(field);\n\n return field;\n };\n\n switch (field.type) {\n case EFieldType.HTML:\n field = formatFieldTypeHtml(field);\n break;\n case EFieldType.TITLE:\n field = formatFieldTypeTitle(field);\n break;\n case EFieldType.BUTTON:\n field = formatFieldTypeButton(field);\n break;\n case EFieldType.TEXT:\n field = formatFieldTypeText(field);\n break;\n case EFieldType.PASSWORD:\n field = formatFieldTypePassword(field);\n break;\n case EFieldType.EMAIL:\n field = formatFieldTypeEmail(field);\n break;\n case EFieldType.TEXTAREA:\n field = formatFieldTypeTextarea(field);\n break;\n case EFieldType.CHECKBOX:\n field = formatFieldTypeCheckbox(field);\n break;\n case EFieldType.NUMBER:\n field = formatFieldTypeNumber(field);\n break;\n case EFieldType.PREVIEW_IMAGE:\n field = setFieldKeyValue(field, \"type\", \"image\");\n field = formatFieldTypeImage(field);\n break;\n case EFieldType.IMAGE:\n field = formatFieldTypeImage(field);\n break;\n case EFieldType.DATE:\n field = formatFieldTypeDate(field);\n break;\n case EFieldType.TIME:\n field = formatFieldTypeTime(field);\n break;\n case EFieldType.PHONE:\n field = formatFieldTypePhone(field);\n break;\n case EFieldType.RADIO:\n field = formatFieldTypeRadio(field);\n break;\n case EFieldType.SLIDER:\n field = formatFieldTypeSlider(field);\n break;\n case \"search-text\":\n field = setFieldKeyValue(field, \"type\", \"select\");\n field = formatFieldTypeSelect(field);\n break;\n case EFieldType.DROPDOWN_WITH_SEARCH:\n field = setFieldKeyValue(field, \"type\", \"select\");\n field = formatFieldTypeSelect(field);\n break;\n case EFieldType.SELECT:\n field = formatFieldTypeSelect(field);\n break;\n case EFieldType.API_CALL:\n field = setFieldKeyValue(field, \"type\", \"api\");\n field = formatFieldTypeApi(field);\n break;\n case EFieldType.LIVE_LOCATION:\n field = formatFieldTypeLiveLocation(field);\n break;\n case EFieldType.API:\n field = formatFieldTypeApi(field);\n case EFieldType.LIVE_LOCATION:\n field = formatFieldTypeLiveLocation(field);\n break;\n break;\n case EFieldType.OTP:\n field = formatFieldTypeOtp(field);\n break;\n case EFieldType.AADHAAR_NUMBER:\n field = formatFieldTypeAadhaarNumber(field);\n break;\n case EFieldType.FILE:\n field = formatFieldTypeFile(field);\n break;\n case EFieldType.CAPTURE:\n field = formatFieldTypeCapture(field);\n break;\n case EFieldType.RECORD:\n field = formatFieldTypeRecord(field);\n break;\n case EFieldType.STAR_RATING:\n field = formatFieldTypeStarRating(field);\n break;\n default:\n break;\n }\n\n return field;\n };\n\n const updateFieldValidators = (field: any): any => {\n if (field.isFormElement) {\n const validators = checkObjectKeyExists(field, \"validators\")\n ? field.validators\n : {};\n\n field = setMissingFieldKeyValue(field, \"validators\", {});\n\n field = 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 EFieldType.TEXT:\n delete field.validators.min;\n delete field.validators.max;\n break;\n case EFieldType.CHECKBOX:\n delete field.validators.min;\n delete field.validators.max;\n break;\n case EFieldType.PREVIEW_IMAGE:\n delete field.validators.min;\n delete field.validators.max;\n delete field.validators.minLength;\n delete field.validators.maxLength;\n break;\n case EFieldType.FILE:\n delete field.validators.min;\n delete field.validators.max;\n delete field.validators.minLength;\n delete field.validators.maxLength;\n delete field.validators.pattern;\n break;\n case EFieldType.CAPTURE:\n delete field.validators.min;\n delete field.validators.max;\n delete field.validators.minLength;\n delete field.validators.maxLength;\n delete field.validators.pattern;\n break;\n case EFieldType.RECORD:\n delete field.validators.min;\n delete field.validators.max;\n delete field.validators.minLength;\n delete field.validators.maxLength;\n delete field.validators.pattern;\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 updateFieldDefaultValue = (field: any): any => {\n if (field.isFormElement) {\n if (checkObjectKeyExists(field, \"defaultValue\")) {\n return field;\n } else if (checkObjectPathExists(field, \"default.value.sources\")) {\n return field;\n } else if (!checkObjectPathExists(field, \"default.value.sources\")) {\n const defaultValue = {\n is_found: false,\n value: \"\",\n sources: [\n {\n key: \"OBJECT\",\n props: {\n object: {\n key: \"FORM_DATA\",\n path: `$.${field.key}`\n }\n },\n value: \"\",\n validation: {\n is_valid: false,\n triggers: [\"ON_INIT\"],\n rules: [],\n actions: [\n {\n id: \"1\",\n key: \"SET_FIELD_DEFAULT_VALUE\",\n condition: \"1\",\n props: {\n value: {\n source: {\n key: \"OBJECT\",\n props: {\n object: {\n key: \"FORM_DATA\",\n path: `$.${field.key}`\n }\n }\n }\n }\n }\n }\n ]\n }\n }\n ]\n };\n\n field = setValueToObjectPath(field, \"default.value\", defaultValue);\n return field;\n }\n\n delete field[\"defaultVal\"];\n delete field[\"defaultValue\"];\n }\n\n return field;\n };\n\n const updateFieldDisability = (field: any): any => {\n field = setMissingKeyValue(field, \"disabled\", false);\n\n return field;\n };\n\n const updateFieldMessages = (field: any): any => {\n if (field.isFormElement) {\n field = 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 = 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 const updateFieldLanguage = (field: TField, language: string): any => {\n if (checkObjectKeyExists(field, \"label\")) {\n field.label = updateLanguage(field.label, language);\n }\n\n if (checkObjectPathExists(field, \"properties.placeholder\")) {\n field.properties[\"placeholder\"] = updateLanguage(\n field.properties[\"placeholder\"],\n language\n );\n }\n\n if (checkObjectPathExists(field, \"properties.label\")) {\n field.properties[\"label\"] = updateLanguage(\n field.properties[\"label\"],\n language\n );\n }\n\n const updateApiStatus = (fieldApiStatus) => {\n for (const status in fieldApiStatus) {\n fieldApiStatus[status] = updateLanguage(\n fieldApiStatus[status],\n language\n );\n }\n return fieldApiStatus;\n };\n\n switch (field.type) {\n case EFieldType.HTML:\n field[\"html\"] = updateLanguage(field[\"html\"], language);\n break;\n case EFieldType.CAPTURE:\n field.properties[\"cameraConfig\"].header.title = updateLanguage(\n field.properties[\"cameraConfig\"].header.title,\n language\n );\n break;\n case EFieldType.RECORD:\n field.properties[\"cameraConfig\"].header.title = updateLanguage(\n field.properties[\"cameraConfig\"].header.title,\n language\n );\n break;\n case EFieldType.SELECT:\n field.options = field.options.map((option) => {\n if (isObject(option)) {\n if (checkObjectKeyExists(option, \"title\")) {\n option.title = updateLanguage(option.title, language);\n } else {\n option = updateLanguage(option, language);\n }\n }\n return option;\n });\n break;\n case EFieldType.DROPDOWN_WITH_SEARCH:\n field.options = field.options.map((option) => {\n if (isObject(option)) {\n if (checkObjectKeyExists(option, \"title\")) {\n option.title = updateLanguage(option.title, language);\n } else {\n option = updateLanguage(option, language);\n }\n }\n return option;\n });\n break;\n case EFieldType.RADIO:\n field.options = field.options.map((option) => {\n if (isObject(option)) {\n if (checkObjectKeyExists(option, \"label\")) {\n option.label = updateLanguage(option.label, language);\n } else {\n option = updateLanguage(option, language);\n }\n }\n return option;\n });\n break;\n case EFieldType.API_CALL:\n field[\"api\"][\"status\"][\"labels\"] = updateApiStatus(\n field[\"api\"][\"status\"][\"labels\"]\n );\n break;\n case EFieldType.LIVE_LOCATION:\n field[\"api\"][\"status\"][\"labels\"] = updateApiStatus(\n field[\"api\"][\"status\"][\"labels\"]\n );\n break;\n default:\n break;\n }\n\n return field;\n };\n\n let fields: any[] = getFormFields(formConfig);\n\n let fieldGroups: any = {};\n\n for (let field of fields) {\n field = updateFieldLanguage(field, getLanguage());\n\n field = formatOnFieldType(field);\n\n field = updateFieldDisability(field);\n\n fieldGroups = updateFormFieldGroups(fieldGroups, field);\n\n field = updateFieldDefaultValue(field);\n\n field = updateFieldValidators(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 enum EFormEditorType {\n FIELDS = \"FIELDS\",\n NON_FIELDS = \"NON_FIELDS\"\n}\n\nexport type TFormEditorType =\n | EFormEditorType.FIELDS\n | EFormEditorType.NON_FIELDS;\n","import _ from \"lodash\";\n\nexport const removeField = (fields: any[], fieldKey: string): any => {\n fields = fields.filter((row) => {\n if (row.key !== fieldKey) {\n return row;\n }\n });\n\n return fields;\n};\n\nexport const getFieldIndex = (fields: any[], identifier: any): number => {\n return fields.findIndex((row) => row.key === identifier);\n};\n\nexport const findModifiedKeys = (\n defaultJson: any,\n modifiedJson: any,\n currentPath = \"\"\n): any => {\n return _.reduce(\n modifiedJson,\n (result: any, value: any, key: string) => {\n const path = currentPath ? `${currentPath}.${key}` : key;\n const defaultValue = defaultJson[key];\n\n if (_.isObject(value) && _.isObject(defaultValue)) {\n const nestedResult = findModifiedKeys(defaultValue, value, path);\n if (!_.isEmpty(nestedResult)) {\n result[key] = nestedResult;\n }\n } else if (!_.isEqual(value, defaultValue)) {\n result[key] = value;\n }\n\n return result;\n },\n {}\n );\n};\n","export const TABLE_COLUMNS = [\n \"key\",\n \"label\",\n \"type\",\n \"disabled\",\n \"validators\",\n \"properties\",\n \"options\",\n \"delete\"\n];\n\nexport const OPTIONS = {\n type: [\n \"title\",\n \"text\",\n \"textarea\",\n \"checkbox\",\n \"number\",\n \"date\",\n \"phone\",\n \"radio\",\n \"radio-list\",\n \"dropdown-with-search\",\n \"select\",\n \"slider\",\n \"otp\",\n \"button\",\n \"api\",\n \"api-call\",\n \"aadhaar-number\",\n \"input-aadhaar\",\n \"image\",\n \"preview-image\",\n \"html\",\n \"file\",\n \"capture\"\n ],\n disabled: [true, false],\n properties: {\n button: {},\n text: {\n case: [\"default\", \"upper\", \"lower\"]\n },\n checkbox: {\n contentAlign: [\"left\", \"right\"],\n size: [\"m\", \"l\"],\n variant: [\"basic\", \"block\", \"labeled\"]\n },\n number: {\n decimal: [true, false]\n },\n phone: {\n removeCountryCodeFromValue: [true, false]\n },\n radio: {\n orientation: [\"horizontal\", \"vertical\"],\n size: [\"l\", \"m\"]\n },\n \"radio-list\": {\n orientation: [\"horizontal\", \"vertical\"],\n size: [\"l\", \"m\"]\n },\n slider: {\n size: [\"s\", \"m\", \"l\"]\n },\n otp: {\n size: [\"s\", \"m\", \"l\"],\n mode: [\"single\", \"multiple\"]\n },\n image: {\n imageType: [\"base64\", \"url\"],\n loadingType: [\"auto\", \"lazy\", \"eager\"]\n },\n \"preview-image\": {\n imageType: [\"base64\", \"url\"],\n loadingType: [\"auto\", \"lazy\", \"eager\"]\n },\n file: {},\n capture: {}\n },\n validators: {\n required: [true, false],\n pattern: {\n key: [\n \"IS_AADHAAR_NUMBER\",\n \"IS_BANK_ACCOUNT_NO\",\n \"IS_BANK_SWIFT_CODE\",\n \"IS_BIRTH_CERTIFICATE_NO\",\n \"IS_CHEQUE_NO\",\n \"IS_CIN\",\n \"IS_CREDIT_CARD_NO\",\n \"IS_CKYC_NO\",\n \"IS_DRIVING_LICENSE\",\n \"IS_GSTIN\",\n \"IS_IFSC_NO\",\n \"IS_MICR_CODE\",\n \"IS_MOBILE_NO\",\n \"IS_NEFT_OR_RTGS_NO\",\n \"IS_PAN_NUMBER\",\n \"IS_PASSPORT\",\n \"IS_PHONE_NO\",\n \"IS_PINCODE\",\n \"IS_PURCHASE_ORDER_NO\",\n \"IS_RATION_CARD_NO\",\n \"IS_SERVICE_TAX_NO\",\n \"IS_SOCIAL_SECURITY_NO\",\n \"IS_UPI_TRANSACTION_REFERENCE_NO\",\n \"IS_VAT_TIN_NO\",\n \"IS_VEHICLE_REGISTRATION_NO\",\n \"IS_VOTER_ID\",\n \"IS_ALPHA\",\n \"IS_ALPHANUMERIC\",\n \"IS_BOOLEAN\",\n \"IS_EMAIL\",\n \"IS_EMPTY\",\n \"IS_FALSE\",\n \"IS_HTML\",\n \"IS_INTEGER\",\n \"IS_JSON\",\n \"IS_LOWERCASE\",\n \"IS_NOT_EMPTY\",\n \"IS_NUMBER\",\n \"IS_TRUE\",\n \"IS_UPPERCASE\",\n \"CUSTOM\"\n ]\n }\n }\n};\n\nexport const FIELD_VALIDATORS_CONFIG = {\n required: false,\n minLength: 0,\n maxLength: 0,\n pattern: {\n key: \"CUSTOM\",\n pattern: \"\"\n },\n min: 0,\n max: 0\n};\n\nexport const FIELD_PROPERTIES_COMMON_CONFIG = {\n readOnly: false,\n placeholder: \"\"\n};\n\nexport const FIELD_PROPERTIES_CONFIG = {\n button: {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n title: {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n text: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n case: \"default\"\n },\n textarea: {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n checkbox: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n contentAlign: \"right\",\n size: \"l\",\n variant: \"labeled\"\n },\n number: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n decimal: false,\n min: -Infinity,\n max: Infinity,\n postfix: \"\",\n prefix: \"\",\n precision: 0\n },\n date: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n min: { month: 0, day: 0, year: 0 },\n max: { month: 0, day: 0, year: 0 },\n minCalculated: { month: 0, day: 0, year: 0 },\n maxCalculated: { month: 0, day: 0, year: 0 }\n },\n phone: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n countryCode: \"+91\",\n phoneMaskAfterCountryCode: \"\",\n removeCountryCodeFromValue: true\n },\n radio: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n orientation: \"vertical\",\n size: \"l\"\n },\n \"radio-list\": {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n orientation: \"vertical\",\n size: \"l\"\n },\n select: {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n slider: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n min: -Infinity,\n max: Infinity,\n quantum: 0,\n size: \"m\",\n steps: 1\n },\n otp: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n mask: \"\",\n size: \"m\",\n mode: \"multiple\",\n otpLength: 6\n },\n api: {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n \"api-call\": {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n \"aadhaar-number\": {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n \"input-aadhaar\": {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n image: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n altText: \"\",\n html: { before: \"\", after: \"\" },\n imageType: \"url\",\n loadingType: \"auto\",\n styles: \"\",\n class: \"\"\n },\n \"preview-image\": {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n altText: \"\",\n html: { before: \"\", after: \"\" },\n imageType: \"url\",\n loadingType: \"auto\",\n styles: \"\",\n class: \"\"\n },\n html: {\n ...FIELD_PROPERTIES_COMMON_CONFIG\n },\n file: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n accept: \"application/pdf\",\n containerStyles: \"\",\n label: \"drop a file or\",\n link: \"click to upload\",\n maxFileSize: 1000000,\n multiple: true,\n size: \"m\",\n uploadFileToServer: true\n },\n capture: {\n ...FIELD_PROPERTIES_COMMON_CONFIG,\n containerStyles: \"\",\n buttonText: \"Camera\",\n icon: \"tuiIconCameraLarge\",\n showMediaFiles: true,\n uploadFileToServer: false,\n isCroppedImage: false,\n isMaskedImage: false,\n cameraConfig: {\n header: {\n title: \"Camera\",\n isBack: false,\n isExpand: true,\n isClose: true\n },\n footer: {\n isUpload: true,\n isFlip: false,\n isSwitch: true\n },\n others: {\n isFrontCamera: false,\n flipHorizontal: false,\n mask: {\n shape: \"\"\n },\n preview: {\n show: false,\n header: {\n isBack: false,\n isClose: false\n }\n }\n }\n }\n }\n};\n\nexport const FIELD_COMMON_CONFIG = {\n key: \"\",\n label: \"\",\n disabled: false,\n validators: {\n ...FIELD_VALIDATORS_CONFIG\n }\n};\n\nexport const FIELD_CONFIG = {\n title: {\n ...FIELD_COMMON_CONFIG,\n type: \"title\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.title\n }\n },\n text: {\n ...FIELD_COMMON_CONFIG,\n type: \"text\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.text\n }\n },\n button: {\n ...FIELD_COMMON_CONFIG,\n type: \"button\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.button\n }\n },\n textarea: {\n ...FIELD_COMMON_CONFIG,\n type: \"textarea\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.textarea\n }\n },\n checkbox: {\n ...FIELD_COMMON_CONFIG,\n type: \"checkbox\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.checkbox\n }\n },\n number: {\n ...FIELD_COMMON_CONFIG,\n type: \"number\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.number\n }\n },\n date: {\n ...FIELD_COMMON_CONFIG,\n type: \"date\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.date\n }\n },\n phone: {\n ...FIELD_COMMON_CONFIG,\n type: \"phone\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.phone\n }\n },\n radio: {\n ...FIELD_COMMON_CONFIG,\n type: \"radio\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"radio\"]\n },\n options: []\n },\n \"radio-list\": {\n ...FIELD_COMMON_CONFIG,\n type: \"radio-list\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"radio-list\"]\n },\n options: []\n },\n select: {\n ...FIELD_COMMON_CONFIG,\n type: \"select\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"select\"]\n },\n options: []\n },\n slider: {\n ...FIELD_COMMON_CONFIG,\n type: \"slider\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.slider\n }\n },\n otp: {\n ...FIELD_COMMON_CONFIG,\n type: \"otp\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.otp\n }\n },\n api: {\n ...FIELD_COMMON_CONFIG,\n type: \"api\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"api\"]\n }\n },\n \"api-call\": {\n ...FIELD_COMMON_CONFIG,\n type: \"api-call\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"api-call\"]\n }\n },\n \"aadhaar-number\": {\n ...FIELD_COMMON_CONFIG,\n type: \"aadhaar-number\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"aadhaar-number\"]\n }\n },\n \"input-aadhaar\": {\n ...FIELD_COMMON_CONFIG,\n type: \"input-aadhaar\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"input-aadhaar\"]\n }\n },\n image: {\n ...FIELD_COMMON_CONFIG,\n type: \"image\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"image\"]\n }\n },\n \"preview-image\": {\n ...FIELD_COMMON_CONFIG,\n type: \"preview-image\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG[\"preview-image\"]\n }\n },\n html: {\n ...FIELD_COMMON_CONFIG,\n type: \"html\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.html\n },\n html: {\n before: \"\",\n after: \"\"\n }\n },\n file: {\n ...FIELD_COMMON_CONFIG,\n type: \"file\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.file\n }\n },\n capture: {\n ...FIELD_COMMON_CONFIG,\n type: \"capture\",\n properties: {\n ...FIELD_PROPERTIES_CONFIG.capture\n }\n }\n};\n\nexport const NOFIELD_CONFIG = {\n required: true,\n type: \"FORM\",\n props: {\n url: \"\",\n title: \"\"\n },\n hidden: false,\n disabled: false,\n dependentOn: [],\n title: \"\",\n properties: {\n header: {\n logo: { src: \"\", alt: \"Logo\", hidden: false },\n backButton: { mode: \"TABBED\", bypassConfirmation: false, hidden: true },\n title: { hidden: false, label: \"\" },\n steps: { hidden: false }\n },\n footer: {\n viewFormsButton: {\n bypassConfirmation: false,\n hidden: false,\n label: \"Back\"\n },\n saveButton: { hidden: false, label: \"Save\" }\n },\n isUnsavedDataAlertEnabled: false\n },\n fieldGroups: {}\n};\n","import { FormControl, FormGroup } from \"@angular/forms\";\nimport { logMethod } from \"kwikid-toolkit\";\n\nexport class KwikIDFormBuilderFormEditorService {\n constructor() {}\n\n @logMethod\n createNestedFormGroup(object: any[]): FormGroup {\n const formGroup = {};\n\n for (let index in object) {\n formGroup[index] = new FormControl(object[index]);\n }\n\n return new FormGroup(formGroup);\n }\n\n @logMethod\n downloadJSON(object: any) {\n const DATA = JSON.stringify(object); // Convert object to JSON string\n const type = \"application/json\";\n const FILE_NAME = `${object.key}.json`;\n\n const blob = new Blob([DATA], { type });\n const url = window.URL.createObjectURL(blob);\n const link = document.createElement(\"a\");\n link.download = FILE_NAME;\n link.href = url;\n link.click();\n window.URL.revokeObjectURL(url);\n }\n\n @logMethod\n copyToClipboard(text: any) {\n if (typeof text === \"string\") {\n navigator.clipboard.writeText(text);\n } else {\n navigator.clipboard.writeText(JSON.stringify(text));\n }\n }\n}\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport {\n checkObjectKeyExists,\n getObjectDeepCopy,\n getObjectValueFromPath,\n logMethod,\n mergeObjects,\n setValueToObjectPath\n} from \"kwikid-toolkit\";\nimport { KwikUILoaderService } from \"kwikui\";\nimport _ from \"lodash\";\nimport { Converter } from \"../../renderer/config-converter/config-converter\";\nimport {\n EFormEditorType,\n TFormEditorType\n} from \"./builder-form-editor.definitions\";\nimport {\n findModifiedKeys,\n getFieldIndex,\n removeField\n} from \"./builder-form-editor.helper\";\nimport {\n FIELD_CONFIG,\n FIELD_PROPERTIES_CONFIG,\n FIELD_VALIDATORS_CONFIG,\n NOFIELD_CONFIG,\n OPTIONS,\n TABLE_COLUMNS\n} from \"./builder.form-editor.constants\";\nimport { KwikIDFormBuilderFormEditorService } from \"./builder.form-editor.service\";\n\n@Component({\n selector: \"kwikid-builder-form-editor\",\n templateUrl: \"./builder-form-editor.component.html\",\n styleUrls: [\"../shared.scss\", \"./builder-form-editor.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\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 KwikIDBuilderFormEditorComponent implements OnInit, OnChanges {\n /**\n * Components Inputs\n */\n @Input()\n activeFormConfig: any = {};\n\n /**\n * Component Outputs (Event Emitters)\n */\n @Output()\n onClickSaveActiveFormConfig: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * Component Variables\n */\n // Field Editor Variables\n rows: any[] = [];\n columns: any[] = TABLE_COLUMNS;\n activeFieldConfigEditing: any = {};\n showFieldConfigValidatorsConfigEditor: boolean = false;\n activeFieldConfigValidatorsConfig: any = {};\n showFieldConfigPropertiesConfigEditor: boolean = false;\n activeFieldConfigPropertiesConfig: any = {};\n showFieldConfigOptionsConfigEditor: boolean = false;\n activeFieldConfigOptionsConfig: any = [];\n\n // General Editor Variables\n editorTypeOptions: any[] = [\n { key: \"FIELDS\", label: \"fields\" },\n { key: \"NON_FIELDS\", label: \"other config\" }\n ];\n activeEditorType: TFormEditorType = EFormEditorType.FIELDS;\n activeFormConfig_Fields: any[] = [];\n activeFormConfig_NoFields: any = {};\n showConfigPreview: boolean = false;\n\n // Forms\n formGroup: FormGroup = new FormGroup({});\n\n // Form Saved State\n savedConfig: boolean = false;\n markSaved(): void {\n this.savedConfig = true;\n }\n markUnsaved(): void {\n this.savedConfig = false;\n }\n\n // Dialog\n dialogOpen: boolean = false;\n showDialog(): void {\n this.dialogOpen = true;\n }\n hideDialog(): void {\n this.dialogOpen = false;\n }\n dialogError: boolean = false;\n showDialogError(): void {\n this.dialogError = true;\n }\n hideDialogError(): void {\n this.dialogError = false;\n }\n\n constructor(\n public loaderService: KwikUILoaderService,\n public kwikidBuilderFormEditorService: KwikIDFormBuilderFormEditorService\n ) {}\n\n /**\n * Angular Lifecycle Methods\n */\n @logMethod\n ngOnInit(): 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(\"activeFormConfig\")) {\n let formConfig = new Converter().convertFormConfig(\n changes.activeFormConfig.currentValue\n );\n formConfig = new Converter().updateFormConfigProperties(formConfig);\n this.activeFormConfig = formConfig;\n\n this.initFormEditor(this.activeFormConfig);\n }\n }\n\n @logMethod\n initFormEditor(activeFormConfig: any): void {\n this.toggleLoader(true);\n\n this.activeFormConfig_Fields = getObjectDeepCopy(activeFormConfig.fields);\n this.activeFormConfig_NoFields = getObjectDeepCopy(activeFormConfig);\n delete this.activeFormConfig_NoFields.fields;\n\n this.rows = this.activeFormConfig_Fields.map((field: any) => {\n return {\n key: field.key,\n label: field.label,\n type: field.type,\n disabled: field.disabled,\n validators: { ...FIELD_VALIDATORS_CONFIG, ...field.validators },\n properties: {\n ...FIELD_PROPERTIES_CONFIG[field.type],\n ...field.properties\n },\n options: field?.options ?? []\n };\n });\n\n this.formGroup = this.kwikidBuilderFormEditorService.createNestedFormGroup(\n this.rows\n );\n\n this.toggleLoader(false);\n }\n\n /**\n * General Editor Common Methods\n */\n @logMethod\n handleOnClickChangeActiveEditor(editorType: string) {\n this.activeEditorType = editorType as TFormEditorType;\n }\n\n @logMethod\n handleOnClickSaveActiveFormConfig() {\n this.convertToMinifiedJson();\n\n this.markSaved();\n\n this.onClickSaveActiveFormConfig.emit(\n getObjectDeepCopy(this.activeFormConfig)\n );\n }\n\n /**\n * Fields Editor Related Methods\n */\n /**\n * Methods to handle addition of new field\n */\n @logMethod\n handleOnClickAddField() {\n this.markUnsaved();\n this.toggleLoader(true);\n\n const newIndex = this.rows.length;\n const fieldConfig = getObjectDeepCopy(\n mergeObjects(FIELD_CONFIG.text, {\n key: String(newIndex)\n })\n );\n\n this.rows[newIndex] = fieldConfig;\n\n const formControl = new FormControl(fieldConfig);\n\n this.formGroup.addControl(String(newIndex), formControl);\n\n this.toggleLoader(false);\n }\n\n /**\n * Methods to handle editing of field key-values\n */\n @logMethod\n handleOnClickEditValidators(e: any) {\n const fieldConfig = this.formGroup.getRawValue()[e.index];\n\n const fieldConfigValidators = fieldConfig[\"validators\"];\n\n this.activeFieldConfigValidatorsConfig = mergeObjects(\n FIELD_VALIDATORS_CONFIG,\n fieldConfigValidators\n );\n\n this.showFieldConfigValidatorsConfigEditor = true;\n this.activeFieldConfigEditing = fieldConfig;\n }\n\n @logMethod\n handleOnClickEditProperties(e: any) {\n const fieldConfig = this.formGroup.getRawValue()[e.index];\n\n const fieldConfigProperties = fieldConfig[\"properties\"];\n\n this.activeFieldConfigPropertiesConfig = mergeObjects(\n FIELD_PROPERTIES_CONFIG[e.type],\n fieldConfigProperties\n );\n\n this.showFieldConfigPropertiesConfigEditor = true;\n this.activeFieldConfigEditing = fieldConfig;\n }\n\n @logMethod\n handleOnClickEditOptions(e: any) {\n const fieldConfig = this.formGroup.getRawValue()[e.index];\n\n const fieldConfigOptions = fieldConfig[\"options\"];\n\n this.activeFieldConfigOptionsConfig = mergeObjects([], fieldConfigOptions);\n\n this.showFieldConfigOptionsConfigEditor = true;\n this.activeFieldConfigEditing = fieldConfig;\n }\n\n /**\n * Methods to handle change in input values for Fields Keys\n */\n @logMethod\n handleOnInput(e: any) {\n this.markUnsaved();\n\n const fieldConfig = this.formGroup.getRawValue()[e.index];\n const finalPath = e.path !== \"\" ? `${e.path}.${e.key}` : e.key;\n\n if (finalPath.includes(\"disabled\")) {\n e.value.new = Boolean(e.value.new);\n }\n\n let newFieldConfig = setValueToObjectPath(\n getObjectDeepCopy(fieldConfig),\n finalPath,\n e.value.new\n );\n\n if (finalPath.includes(\"type\")) {\n this.toggleLoader(true);\n\n newFieldConfig = setValueToObjectPath(\n newFieldConfig,\n \"validators\",\n FIELD_VALIDATORS_CONFIG\n );\n\n newFieldConfig = setValueToObjectPath(\n newFieldConfig,\n \"properties\",\n FIELD_PROPERTIES_CONFIG[newFieldConfig.type]\n );\n\n this.toggleLoader(false);\n }\n\n this.rows = this.rows.map((row) => {\n if (row.key === fieldConfig.key) {\n return getObjectDeepCopy(newFieldConfig);\n }\n return getObjectDeepCopy(row);\n });\n\n this.formGroup.controls[e.index].setValue(newFieldConfig, {\n emitEvent: false\n });\n }\n\n @logMethod\n handleOnInputFieldConfigValidatorsConfig(e: any) {\n this.markUnsaved();\n\n try {\n this.hideDialogError();\n\n const validatorConfig = JSON.parse(e);\n\n const rowIndex = getFieldIndex(\n this.rows,\n this.activeFieldConfigEditing.key\n );\n if (rowIndex !== -1) {\n this.rows[rowIndex].validators = validatorConfig;\n }\n\n this.activeFieldConfigEditing = mergeObjects(\n this.activeFieldConfigEditing,\n { validators: validatorConfig }\n );\n\n this.formGroup.controls[rowIndex].setValue(\n this.activeFieldConfigEditing,\n {\n emitEvent: false\n }\n );\n } catch (err) {\n this.showDialogError();\n }\n }\n\n @logMethod\n handleOnInputFieldConfigPropertiesConfig(e: any) {\n this.markUnsaved();\n\n try {\n this.hideDialogError();\n\n const propertiesConfig = JSON.parse(e);\n\n const rowIndex = getFieldIndex(\n this.rows,\n this.activeFieldConfigEditing.key\n );\n if (rowIndex !== -1) {\n this.rows[rowIndex].properties = propertiesConfig;\n }\n\n this.activeFieldConfigEditing = mergeObjects(\n this.activeFieldConfigEditing,\n { properties: propertiesConfig }\n );\n\n this.formGroup.controls[rowIndex].setValue(\n this.activeFieldConfigEditing,\n {\n emitEvent: false\n }\n );\n } catch (err) {\n this.showDialogError();\n }\n }\n\n @logMethod\n handleOnInputFieldConfigOptionsConfig(e: any) {\n this.markUnsaved();\n\n try {\n this.hideDialogError();\n\n const optionsConfig = JSON.parse(e);\n\n const rowIndex = getFieldIndex(\n this.rows,\n this.activeFieldConfigEditing.key\n );\n if (rowIndex !== -1) {\n this.rows[rowIndex].options = optionsConfig;\n }\n\n this.activeFieldConfigEditing = mergeObjects(\n this.activeFieldConfigEditing,\n { options: optionsConfig }\n );\n\n this.formGroup.controls[rowIndex].setValue(\n this.activeFieldConfigEditing,\n {\n emitEvent: false\n }\n );\n } catch (err) {\n this.showDialogError();\n }\n }\n\n /**\n * Methods to handle deletion of field\n */\n @logMethod\n handleOnClickDeleteField(e: any) {\n this.markUnsaved();\n\n this.rows = removeField(this.rows, e.key);\n\n this.formGroup = this.kwikidBuilderFormEditorService.createNestedFormGroup(\n this.rows\n );\n\n this.formGroup.updateValueAndValidity();\n }\n\n /**\n * Non Fields Editor Related Methods\n */\n @logMethod\n handleOnClickSaveActiveFormConfig_NoFields(e: any) {\n this.activeFormConfig_NoFields = JSON.parse(e);\n }\n\n /**\n * Other Component Methods\n */\n @logMethod\n handleOnClickPreview() {\n this.showDialog();\n }\n\n @logMethod\n toggleLoader(loader) {\n if (loader) {\n this.loaderService.show({\n fullscreen: true,\n loaderText: \"Please wait\"\n });\n } else {\n this.loaderService.hide();\n }\n }\n\n @logMethod\n closeJSONPopup() {\n this.hideDialog();\n this.showFieldConfigValidatorsConfigEditor = false;\n this.showFieldConfigPropertiesConfigEditor = false;\n this.showFieldConfigOptionsConfigEditor = false;\n }\n\n /**\n * Other Helper Methods\n */\n @logMethod\n copyToClipboard() {\n this.kwikidBuilderFormEditorService.copyToClipboard(this.activeFormConfig);\n }\n\n @logMethod\n convertToMinifiedJson() {\n const fields = [];\n\n for (let field of Object.values(\n getObjectDeepCopy(this.formGroup.getRawValue())\n )) {\n fields.push(\n setValueToObjectPath(\n findModifiedKeys(FIELD_CONFIG[field[\"type\"]], field, \"\"),\n \"type\",\n field[\"type\"]\n )\n );\n }\n\n const activeFormConfig_NoFields_Minified = findModifiedKeys(\n NOFIELD_CONFIG,\n getObjectDeepCopy(this.activeFormConfig_NoFields),\n \"\"\n );\n\n this.activeFormConfig = mergeObjects(\n {},\n activeFormConfig_NoFields_Minified,\n {\n fields: fields\n }\n );\n }\n\n @logMethod\n convertToCompleteJson() {\n let formConfig = new Converter().convertFormConfig(\n getObjectDeepCopy(this.activeFormConfig)\n );\n formConfig = new Converter().updateFormConfigProperties(formConfig);\n this.activeFormConfig = formConfig;\n }\n\n @logMethod\n downloadJSON() {\n this.kwikidBuilderFormEditorService.downloadJSON(this.activeFormConfig);\n }\n\n /**\n * Misc Methods\n */\n getOptions(index, value, key, path) {\n if (path.includes(\"properties\")) {\n const fieldType = this.rows[index].type;\n\n const finalPath = `${path}['${fieldType}'].${key}`;\n\n return getObjectValueFromPath(OPTIONS, finalPath);\n } else {\n const finalPath = path !== \"\" ? `${path}.${key}` : key;\n\n return getObjectValueFromPath(OPTIONS, finalPath);\n }\n }\n memoizedGetOptions = _.memoize(this.getOptions);\n\n isOptions(index, value, key, path) {\n if (path.includes(\"properties\")) {\n const fieldType = this.rows[index].type;\n\n const finalPath = `${path}['${fieldType}'].${key}`;\n\n return Array.isArray(getObjectValueFromPath(OPTIONS, finalPath));\n } else {\n const finalPath = path !== \"\" ? `${path}.${key}` : key;\n\n return Array.isArray(getObjectValueFromPath(OPTIONS, finalPath));\n }\n }\n\n isBoolean(value: any): boolean {\n return typeof value === \"boolean\";\n }\n\n isString(value: any): boolean {\n return typeof value === \"string\";\n }\n\n isNumber(value: any): boolean {\n return typeof value === \"number\";\n }\n\n isObject(value: any): boolean {\n return typeof value === \"object\" && value !== null;\n }\n\n /**\n * Angular Specific Methods\n */\n trackByFn(index: number, item: any): any {\n const key = item?.key || \"\";\n const value = item?.value || \"\";\n\n if (typeof item === \"string\") {\n return `${String(index)}_${item}_${new Date().getTime()}`;\n } else {\n return `${String(index)}_${key}_${value}_${new Date().getTime()}`;\n }\n }\n}\n","<!-- Component Loader -->\n<kwikui-loader></kwikui-loader>\n\n<!-- Component Main View -->\n<div class=\"container\">\n <ng-container *ngIf=\"activeFormConfig; else noFormSelectedTemplate\">\n <header>\n <div>\n Editing Config of Form: <b>{{ activeFormConfig.props.title }}</b>\n </div>\n <div class=\"header-form-editor-btns\">\n <button (click)=\"handleOnClickPreview()\">preview</button>\n <div>Editor Type:</div>\n <select (change)=\"handleOnClickChangeActiveEditor($event.target.value)\">\n <option\n *ngFor=\"let option of editorTypeOptions\"\n [value]=\"option.key\"\n [selected]=\"option.key === activeEditorType\"\n >\n {{ option.label }}\n </option>\n </select>\n </div>\n </header>\n <main>\n <div\n class=\"form-config-fields\"\n *ngIf=\"activeEditorType == 'FIELDS'; else nonFieldsEditorTemplate\"\n >\n <ng-container *ngIf=\"rows.length <= 0\">\n <div class=\"no-fields disclaimer\">\n <div><p>Please add field to get started</p></div>\n <div class=\"icon\"><h1>+</h1></div>\n <button (click)=\"handleOnClickAddField()\">add field</button>\n </div>\n </ng-container>\n <table>\n <thead>\n <tr>\n <th *ngFor=\"let column of columns\">\n {{ column }}\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container\n *ngFor=\"let row of rows; let i = index; trackBy: trackByFn\"\n >\n <tr>\n <ng-container *ngFor=\"let column of columns; let j = index\">\n <td>\n <div [class]=\"column\">\n <ng-container\n *ngIf=\"\n column !== 'delete' &&\n column !== 'validators' &&\n column !== 'properties' &&\n column !== 'type' &&\n column !== 'disabled' &&\n column !== 'options'\n \"\n [ngTemplateOutlet]=\"getFieldTemplate\"\n [ngTemplateOutletContext]=\"{\n index: i,\n fieldValue: row[column],\n fieldKey: column,\n parentPath: ''\n }\"\n ></ng-container>\n <ng-container *ngIf=\"column === 'type'\">\n <ng-container\n [ngTemplateOutlet]=\"optionFieldTemplate\"\n [ngTemplateOutletContext]=\"{\n index: i,\n key: column,\n value: row[column],\n path: '',\n options: memoizedGetOptions(\n i,\n row[column],\n column,\n ''\n )\n }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"column === 'disabled'\">\n <ng-container\n [ngTemplateOutlet]=\"booleanFieldTemplate\"\n [ngTemplateOutletContext]=\"{\n index: i,\n key: column,\n value: row[column],\n path: '',\n options: memoizedGetOptions(\n i,\n row[column],\n column,\n ''\n )\n }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"column === 'delete'\">\n <button\n (click)=\"\n handleOnClickDeleteField({\n index: i,\n key: row['key']\n })\n \"\n [disabled]=\"rows.length === 1\"\n >\n delete\n </button>\n </ng-container>\n <ng-container *ngIf=\"column === 'validators'\">\n <button\n (click)=\"\n handleOnClickEditValidators({\n index: i,\n key: row['key'],\n type: row['type']\n })\n \"\n >\n edit\n </button>\n </ng-container>\n <ng-container *ngIf=\"column === 'properties'\">\n <button\n (click)=\"\n handleOnClickEditProperties({\n index: i,\n key: row['key'],\n type: row['type']\n })\n \"\n >\n edit\n </button>\n </ng-container>\n <ng-container\n *ngIf=\"row['type'] === 'radio' && column === 'options'\"\n >\n <button\n (click)=\"\n handleOnClickEditOptions({\n index: i,\n key: row['key'],\n type: row['type']\n })\n \"\n >\n add\n </button>\n </ng-container>\n <ng-container\n *ngIf=\"row['type'] === 'select' && column === 'options'\"\n >\n <button\n (click)=\"\n handleOnClickEditOptions({\n index: i,\n key: row['key'],\n type: row['type']\n })\n \"\n >\n add\n </button>\n </ng-container>\n </div>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n </table>\n <div class=\"add-field-btn-container\"> </div>\n </div>\n <ng-template #nonFieldsEditorTemplate>\n <div class=\"form-config-no-fields\">\n <div\n class=\"json-editor\"\n contenteditable=\"true\"\n (keyup)=\"\n handleOnClickSaveActiveFormConfig_NoFields(\n $event.target.innerHTML\n )\n \"\n >\n {{ activeFormConfig_NoFields | json }}\n </div>\n </div>\n </ng-template>\n </main>\n <footer>\n <button\n *ngIf=\"rows.length > 0\"\n (click)=\"handleOnClickAddField()\"\n >\n add field\n </button>\n <button\n (click)=\"handleOnClickSaveActiveFormConfig()\"\n [class.secondary]=\"!savedConfig\"\n >\n {{ savedConfig ? \"saved\" : \"unsaved\" }}\n </button>\n </footer>\n </ng-container>\n <ng-template #noFormSelectedTemplate>\n <div class=\"no-form-selected disclaimer\">\n <div class=\"icon\"><h1>➦</h1></div>\n <div><p>Please select a form to edit it's fields</p></div>\n </div>\n </ng-template>\n</div>\n\n<!-- Component Dialog -->\n<div\n class=\"modal\"\n [class.error]=\"dialogError === true\"\n *ngIf=\"\n dialogOpen ||\n showFieldConfigValidatorsConfigEditor ||\n showFieldConfigPropertiesConfigEditor ||\n showFieldConfigOptionsConfigEditor\n \"\n [@panelInOut]\n>\n <div class=\"modal-box\">\n <div\n class=\"modal-content\"\n *ngIf=\"dialogOpen\"\n >\n <div class=\"modal-heading\">\n <div class=\"modal-title\">\n {{ activeFormConfig.props.title }}'s Config Preview\n </div>\n <div class=\"modal-actions\">\n <button (click)=\"convertToMinifiedJson()\">minify</button>\n <button (click)=\"convertToCompleteJson()\">full</button>\n <button (click)=\"downloadJSON()\">download</button>\n <button (click)=\"copyToClipboard()\">copy</button>\n <button (click)=\"closeJSONPopup()\">close</button>\n </div>\n </div>\n <div class=\"modal-body\">\n <div class=\"json-editor\">\n <code>{{ activeFormConfig | json }}</code>\n </div>\n </div>\n </div>\n <div\n class=\"modal-content\"\n *ngIf=\"showFieldConfigValidatorsConfigEditor\"\n >\n <div class=\"modal-heading\">\n <div class=\"modal-title\">\n {{ activeFormConfig.props.title }}'s Validator Config Editor\n </div>\n <div class=\"modal-actions\">\n <button (click)=\"closeJSONPopup()\">close</button>\n </div>\n </div>\n <div class=\"modal-body\">\n <div\n class=\"json-editor\"\n contenteditable=\"true\"\n (keyup)=\"\n handleOnInputFieldConfigValidatorsConfig($event.target.innerHTML)\n \"\n >\n {{ this.activeFieldConfigValidatorsConfig | json }}\n </div>\n </div>\n </div>\n <div\n class=\"modal-content\"\n *ngIf=\"showFieldConfigPropertiesConfigEditor\"\n >\n <div class=\"modal-heading\">\n <div class=\"modal-title\">\n {{ activeFormConfig.props.title }}'s Properties Config Editor\n </div>\n <div class=\"modal-actions\">\n <button (click)=\"closeJSONPopup()\">close</button>\n </div>\n </div>\n <div class=\"modal-body\">\n <div\n class=\"json-editor\"\n contenteditable=\"true\"\n (keyup)=\"\n handleOnInputFieldConfigPropertiesConfig($event.target.innerHTML)\n \"\n >\n {{ this.activeFieldConfigPropertiesConfig | json }}\n </div>\n </div>\n </div>\n <div\n class=\"modal-content\"\n *ngIf=\"showFieldConfigOptionsConfigEditor\"\n >\n <div class=\"modal-heading\">\n <div class=\"modal-title\">\n {{ activeFormConfig.props.title }}'s Options Config Editor\n </div>\n <div class=\"modal-actions\">\n <button (click)=\"closeJSONPopup()\">close</button>\n </div>\n </div>\n <div class=\"modal-body\">\n <div\n class=\"json-editor\"\n contenteditable=\"true\"\n (keyup)=\"\n handleOnInputFieldConfigOptionsConfig($event.target.innerHTML)\n \"\n >\n {{ this.activeFieldConfigOptionsConfig | json }}\n </div>\n </div>\n </div>\n </div>\n</div>\n<!-- END -->\n\n<!-- Template for rendering different field types -->\n<!-- General Field Template -->\n<ng-template\n #getFieldTemplate\n let-index=\"index\"\n let-value=\"fieldValue\"\n let-key=\"fieldKey\"\n let-path=\"parentPath\"\n>\n <div>\n <ng-container\n [ngTemplateOutlet]=\"\n isObject(value) ? objectFieldTemplate : notObjectFieldTemplate\n \"\n [ngTemplateOutletContext]=\"{\n index: index,\n fieldValue: value,\n fieldKey: key,\n parentPath: path\n }\"\n >\n </ng-container>\n </div>\n</ng-template>\n\n<!-- Object Type Field Template -->\n<ng-template\n #objectFieldTemplate\n let-index=\"index\"\n let-value=\"fieldValue\"\n let-key=\"fieldKey\"\n let-path=\"parentPath\"\n>\n <ng-container *ngFor=\"let item of value | keyvalue\">\n <ng-container\n [ngTemplateOutlet]=\"getFieldTemplate\"\n [ngTemplateOutletContext]=\"{\n index: index,\n fieldValue: item.value,\n fieldKey: item.key,\n parentPath: path === '' ? key : path + '.' + key\n }\"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<!-- Non Object Type Field Template -->\n<ng-template\n #notObjectFieldTemplate\n let-index=\"index\"\n let-value=\"fieldValue\"\n let-key=\"fieldKey\"\n let-path=\"parentPath\"\n>\n <div>\n <ng-container *ngIf=\"isOptions(index, value, key, path)\">\n <ng-container\n [ngTemplateOutlet]=\"optionFieldTemplate\"\n [ngTemplateOutletContext]=\"{\n index: index,\n key: key,\n value: value,\n path: path,\n options: memoizedGetOptions(index, value, key, path)\n }\"\n ></ng-container>\n </ng-container>\n <ng-container\n *ngIf=\"!isOptions(index, value, key, path) && isString(value)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n textFieldTemplate;\n context: { index: index, key: key, value: value, path: path }\n \"\n ></ng-container>\n </ng-container>\n <ng-container\n *ngIf=\"!isOptions(index, value, key, path) && isNumber(value)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n numberFieldTemplate;\n context: { index: index, key: key, value: value, path: path }\n \"\n ></ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<!-- Non Object Type Field :: Options Field Template -->\n<ng-template\n #optionFieldTemplate\n let-index=\"index\"\n let-key=\"key\"\n let-value=\"value\"\n let-path=\"path\"\n let-options=\"options\"\n>\n <div class=\"field-container options\">\n <select\n (change)=\"handleOnInput({ index, key, value: { previous: value, new: $event.target.value }, path })\"\n >\n <option\n *ngFor=\"let option of options\"\n [value]=\"option\"\n [selected]=\"option === value\"\n >{{ option }}</option\n >\n </select>\n </div>\n</ng-template>\n\n<!-- Non Object Type Field :: Boolean Field Template -->\n<ng-template\n #booleanFieldTemplate\n let-index=\"index\"\n let-key=\"key\"\n let-value=\"value\"\n let-path=\"path\"\n>\n <div class=\"field-container checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"value\"\n (change)=\"handleOnInput({ index, key, value: { previous: value, new: $event.target.checked }, path })\"\n />\n </div>\n</ng-template>\n\n<!-- Non Object Type Field :: Text Field Template -->\n<ng-template\n #textFieldTemplate\n let-index=\"index\"\n let-key=\"key\"\n let-value=\"value\"\n let-path=\"path\"\n>\n <div class=\"field-container text\">\n <input\n placeholder=\"Enter {{ key }}\"\n type=\"text\"\n [value]=\"value\"\n (blur)=\"handleOnInput({ index, key, value: { previous: value, new: $event.target.value }, path })\"\n />\n </div>\n</ng-template>\n\n<!-- Non Object Type Field :: Number Field Template -->\n<ng-template\n #numberFieldTemplate\n let-index=\"index\"\n let-key=\"key\"\n let-value=\"value\"\n let-path=\"path\"\n>\n <div class=\"field-container number\">\n <input\n placeholder=\"Enter {{ key }}\"\n type=\"number\"\n [value]=\"value\"\n (blur)=\"handleOnInput({ index, key, value: { previous: value, new: $event.target.value }, path })\"\n />\n </div>\n</ng-template>\n<!-- END -->\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport {\n checkObjectKeyExists,\n getObjectDeepCopy,\n getObjectFromLocalStorage,\n isNotEmptyValue,\n logMethod\n} from \"kwikid-toolkit\";\nimport { convertFormListConfig } from \"./builder.helper\";\nimport { KwikUILoaderService } from \"kwikui\";\n\n@Component({\n selector: \"kwikid-forms-builder\",\n templateUrl: \"./builder.component.html\",\n styleUrls: [\"./shared.scss\", \"./builder.component.scss\"]\n})\nexport class KwikIDFormsBuilderComponent implements OnInit {\n @Input()\n userConfig: any = {};\n\n formsList = [];\n\n activeFormConfig: any = undefined;\n\n constructor(public loaderService: KwikUILoaderService) {}\n\n ngOnInit() {\n const formStepKey = localStorage.getItem(\"formKey\");\n\n if (\n isNotEmptyValue(formStepKey) &&\n checkObjectKeyExists(this.userConfig.userFormFields, formStepKey)\n ) {\n this.formsList = convertFormListConfig(\n this.userConfig.userFormFields[formStepKey]\n );\n } else if (Array.isArray(this.userConfig.userFormFields)) {\n this.formsList = convertFormListConfig(this.userConfig.userFormFields);\n } else {\n throw new Error(\n `userFormFields doesn't have a form defined with key: ${formStepKey}`\n );\n }\n }\n\n @logMethod\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 /**\n * Forms List Listeners\n */\n @logMethod\n handleGetFormsList(e: any) {\n this.formsList = e.formsList;\n }\n\n @logMethod\n async handleOnClickSetActiveForm(selectedFormKey: string) {\n this.toggleLoader(true);\n\n const activeFormConfig = this.formsList.find((form) => {\n if (form.key === selectedFormKey) {\n return form;\n }\n });\n\n let formConfig: any = undefined;\n\n if (getObjectFromLocalStorage(activeFormConfig.key)) {\n formConfig = getObjectFromLocalStorage(activeFormConfig.key);\n } else {\n if (checkObjectKeyExists(activeFormConfig, \"props\")) {\n if (checkObjectKeyExists(activeFormConfig[\"props\"], \"url\")) {\n const formConfigFromUrl = await this.fetchFormConfig(\n activeFormConfig[\"props\"].url\n );\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromUrl\n };\n } else if (\n checkObjectKeyExists(activeFormConfig[\"props\"], \"path\") &&\n checkObjectKeyExists(this.userConfig, \"backend\") &&\n checkObjectKeyExists(this.userConfig.backend, \"CONFIG_BASE_URL\")\n ) {\n const url = `${this.userConfig?.backend?.CONFIG_BASE_URL}${activeFormConfig[\"props\"].path}`;\n const formConfigFromPath = await this.fetchFormConfig(url);\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromPath\n };\n } else {\n if (checkObjectKeyExists(activeFormConfig, \"fields\")) {\n formConfig = activeFormConfig;\n } else {\n console.error(\n \"No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!\"\n );\n }\n }\n } else if (checkObjectKeyExists(activeFormConfig, \"formContent\")) {\n if (checkObjectKeyExists(activeFormConfig.formContent, \"url\")) {\n const formConfigFromUrl = await this.fetchFormConfig(\n activeFormConfig.formContent.url\n );\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromUrl\n };\n } else if (\n checkObjectKeyExists(activeFormConfig.formContent, \"path\") &&\n checkObjectKeyExists(this.userConfig, \"backend\") &&\n checkObjectKeyExists(this.userConfig.backend, \"CONFIG_BASE_URL\")\n ) {\n const url = `${this.userConfig?.backend?.CONFIG_BASE_URL}${activeFormConfig[\"props\"].path}`;\n const formConfigFromPath = await this.fetchFormConfig(url);\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromPath\n };\n } else {\n if (checkObjectKeyExists(activeFormConfig, \"fields\")) {\n formConfig = activeFormConfig;\n } else {\n console.error(\n \"No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!\"\n );\n }\n }\n } else {\n if (checkObjectKeyExists(activeFormConfig, \"fields\")) {\n formConfig = activeFormConfig;\n } else {\n console.error(\n \"No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!\"\n );\n }\n }\n }\n\n this.activeFormConfig = {\n ...activeFormConfig,\n ...formConfig\n };\n\n this.toggleLoader(false);\n }\n\n /**\n * Form Editor Listeners\n */\n @logMethod\n handleOnClickSaveActiveFormConfig(activeFormConfig: any) {\n this.activeFormConfig = activeFormConfig;\n\n this.formsList = this.formsList.map((form: any) => {\n if (form.key === activeFormConfig.key) {\n return activeFormConfig;\n }\n return form;\n });\n }\n\n @logMethod\n toggleLoader(loader) {\n if (loader) {\n this.loaderService.show({\n fullscreen: true,\n loaderText: \"Please wait\"\n });\n } else {\n this.loaderService.hide();\n }\n }\n}\n","<div class=\"container\">\n <kwikid-builder-forms-list\n [activeFormConfig]=\"this.activeFormConfig\"\n [formsList]=\"this.formsList\"\n (getFormsList)=\"this.handleGetFormsList($event)\"\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\n ></kwikid-builder-forms-list>\n <kwikid-builder-form-editor\n [activeFormConfig]=\"activeFormConfig\"\n (onClickSaveActiveFormConfig)=\"\n this.handleOnClickSaveActiveFormConfig($event)\n \"\n ></kwikid-builder-form-editor>\n</div>\n\n<kwikui-loader\n></kwikui-loader>\n","export enum EFormsListStatus {\n COMPLETED = \"completed\",\n EDITABLE = \"editable\",\n LOCKED = \"locked\"\n}\n\nexport type TFormsListStatus =\n | EFormsListStatus.COMPLETED\n | EFormsListStatus.EDITABLE\n | EFormsListStatus.LOCKED;\n\nexport enum ELogEventType {\n FORM__FORM_OPEN_BUTTON_CLICK = \"FORM__FORM_OPEN_BUTTON_CLICK\",\n FORM__LIST_LOAD_SUCCESS = \"FORM__LIST_LOAD_SUCCESS\",\n FORM__STEP_CONFIG_LOAD_SUCCESS = \"FORM__STEP_CONFIG_LOAD_SUCCESS\"\n}\n","import { TAction, TSource } from \"kwikid-toolkit\";\nimport { TMessage } from \"./form-view.commons.definition\";\n\nexport enum EActionKey {\n SET_VALUE = \"SET_VALUE\",\n SET_FIELD_DEFAULT_VALUE = \"SET_FIELD_DEFAULT_VALUE\",\n SET_API_STATUS = \"SET_API_STATUS\",\n SET_API_HEADER_VALUE = \"SET_API_HEADER_VALUE\",\n SET_API_HEADER_VALIDITY = \"SET_API_HEADER_VALIDITY\",\n SET_API_BODY_VALUE = \"SET_API_BODY_VALUE\",\n SET_API_BODY_VALIDITY = \"SET_API_BODY_VALIDITY\",\n FIELD_API_TIMER_MESSAGE_SHOW = \"FIELD_API_TIMER_MESSAGE_SHOW\",\n FIELD_API_TIMER_MESSAGE_HIDE = \"FIELD_API_TIMER_MESSAGE_HIDE\",\n SET_FIELD_VALIDITY = \"SET_FIELD_VALIDITY\",\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 FIELD_GROUP_SHOW_API_LOADER = \"FIELD_GROUP_SHOW_API_LOADER\",\n FIELD_GROUP_HIDE_API_LOADER = \"FIELD_GROUP_HIDE_API_LOADER\",\n FIELD_SHOW_API_LOADER = \"FIELD_SHOW_API_LOADER\",\n FIELD_HIDE_API_LOADER = \"FIELD_HIDE_API_LOADER\",\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 API_CALL = \"API_CALL\",\n API_CALL_MULTIPLE = \"API_CALL_MULTIPLE\",\n API_CALL_MULTIPLE_END = \"API_CALL_MULTIPLE_END\",\n TASK_API_CALL = \"TASK_API_CALL\",\n TASK_API_CALL_MULTIPLE = \"TASK_API_CALL_MULTIPLE\",\n TASK_API_CALL_MULTIPLE_END = \"TASK_API_CALL_MULTIPLE_END\",\n PREVIEW_DIALOG_SHOW = \"PREVIEW_DIALOG_SHOW\",\n PREVIEW_ERROR_SHOW = \"PREVIEW_ERROR_SHOW\",\n POPUP_FORM_SHOW = \"POPUP_FORM_SHOW\",\n STOP_WAITING = \"STOP_WAITING\",\n NOTIFICATION_ERROR_SHOW = \"NOTIFICATION_ERROR_SHOW\",\n NOTIFICATION_ERROR_HIDE = \"NOTIFICATION_ERROR_HIDE\",\n DIALOG_SHOW = \"DIALOG_SHOW\",\n DIALOG_HIDE = \"DIALOG_HIDE\",\n RESUME_TASK_EXECUTION = \"RESUME_TASK_EXECUTION\",\n STOP_TASK_EXECUTION = \"STOP_TASK_EXECUTION\",\n REDIRECT_TO_URL = \"REDIRECT_TO_URL\",\n SAVE_FORM = \"SAVE_FORM\",\n ALERT_SHOW = \"ALERT_SHOW\",\n SET_HTML = \"SET_HTML\"\n}\n\nexport type TActionKey =\n | EActionKey.SET_VALUE\n | EActionKey.SET_FIELD_DEFAULT_VALUE\n | EActionKey.SET_API_STATUS\n | EActionKey.SET_API_HEADER_VALUE\n | EActionKey.SET_API_HEADER_VALIDITY\n | EActionKey.SET_API_BODY_VALUE\n | EActionKey.SET_API_BODY_VALIDITY\n | EActionKey.SET_FIELD_VALIDITY\n | EActionKey.FIELD_API_TIMER_MESSAGE_SHOW\n | EActionKey.FIELD_API_TIMER_MESSAGE_HIDE\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.FIELD_GROUP_SHOW_API_LOADER\n | EActionKey.FIELD_GROUP_HIDE_API_LOADER\n | EActionKey.FIELD_SHOW_API_LOADER\n | EActionKey.FIELD_HIDE_API_LOADER\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 | EActionKey.API_CALL\n | EActionKey.API_CALL_MULTIPLE\n | EActionKey.API_CALL_MULTIPLE_END\n | EActionKey.TASK_API_CALL\n | EActionKey.TASK_API_CALL_MULTIPLE\n | EActionKey.TASK_API_CALL_MULTIPLE_END\n | EActionKey.SET_DROPDOWN_OPTIONS\n | EActionKey.PREVIEW_DIALOG_SHOW\n | EActionKey.POPUP_FORM_SHOW\n | EActionKey.STOP_WAITING\n | EActionKey.NOTIFICATION_ERROR_SHOW\n | EActionKey.NOTIFICATION_ERROR_HIDE\n | EActionKey.DIALOG_SHOW\n | EActionKey.DIALOG_HIDE\n | EActionKey.RESUME_TASK_EXECUTION\n | EActionKey.STOP_TASK_EXECUTION\n | EActionKey.REDIRECT_TO_URL\n | EActionKey.SAVE_FORM\n | EActionKey.ALERT_SHOW\n | EActionKey.SET_HTML;\n\nexport type TActionSetValue = TAction & {\n key: EActionKey.SET_VALUE;\n props: {\n value: {\n source: TSource;\n destination: TSource;\n };\n };\n};\n\nexport type TActionSetFieldDefaultValue = TAction & {\n key: EActionKey.SET_FIELD_DEFAULT_VALUE;\n props: {\n fieldKey: string;\n source: TSource;\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\nexport type TActionApiCall = TAction & {\n key: EActionKey.API_CALL;\n props: {\n fieldKey: string;\n apiKey: string;\n };\n};\n\nexport type TActionApiCallsDone = TAction & {\n key: EActionKey.API_CALL;\n props: {\n fieldKey: string;\n };\n};\n\nexport type TActionPreviewDialogShow = TAction & {\n key: EActionKey.PREVIEW_DIALOG_SHOW;\n props: {\n html?: {\n before?: string;\n after?: string;\n };\n iframe?: {\n src: string;\n title?: string;\n };\n };\n};\n\nexport type TActionSetHtml = TAction & {\n key: EActionKey.SET_HTML;\n props: {\n fieldKey: string;\n message: TMessage;\n };\n};\n","import { TAction, TRule, TSource, TEngine } from \"kwikid-toolkit\";\nimport { TTrigger } from \"./form-view.triggers.definition\";\n\nexport enum EApiStatusType {\n DEFAULT = \"default\",\n LOADING = \"loading\",\n RETRY = \"retry\",\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 = TEngine & {\n value: any;\n params: Array<TApiRequestBodyParam>;\n validation: TEngine;\n};\n\nexport type TApiRequestHeadersParam = {\n key: string;\n sources: Array<TSource>;\n value: any;\n};\n\nexport type TApiRequestHeaders = TEngine & {\n value: any;\n params: Array<any>;\n validation: TEngine;\n};\n\nexport type TApiTimer = {\n maxTime: number;\n messageWithTimerPlaceholder: string;\n timerChangeType: string;\n timeFormat: string;\n timerStep: number;\n};\n\nexport type TApiRequest = {\n url: string | any;\n method?: string;\n headers?: TApiRequestHeaders;\n body: TApiRequestBody;\n};\n\nexport type TApiResponseBody = any;\n\nexport type TApiResponse = TEngine & {\n is_valid: boolean;\n body: TApiResponseBody;\n validation: TEngine;\n value?: any;\n};\n\nexport type TApiStatusType =\n | EApiStatusType.DEFAULT\n | EApiStatusType.LOADING\n | EApiStatusType.RETRY\n | EApiStatusType.SUCCESS\n | EApiStatusType.FAILED;\n\nexport type TApiStatus = {\n value: TApiStatusType;\n labels: {\n default: EApiStatusType.DEFAULT;\n loading: EApiStatusType.LOADING;\n retry: EApiStatusType.RETRY;\n success: EApiStatusType.SUCCESS;\n failed: EApiStatusType.FAILED;\n };\n};\n\nexport type TApiEntryPoint = {\n triggers: Array<TTrigger>;\n rules: Array<TRule>;\n actions: Array<TAction>;\n};\n\nexport type TApiEndpoint = {\n apiKey: string;\n request: TApiRequest;\n response: TApiResponse;\n};\n\nexport type TApi = {\n request?: TApiRequest;\n response?: TApiResponse;\n entrypoint: TApiEntryPoint;\n endpoints: Array<TApiEndpoint>;\n status: TApiStatus;\n timer?: TApiTimer;\n};\n\nexport enum EApiRequestUrlType {\n MOCK = \"MOCK\",\n CALCULATED = \"CALCULATED\"\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\nexport enum EFormViewGoBackMode {\n DIRECT = \"DIRECT\",\n TABBED = \"TABBED\"\n}\n\nexport type TFormViewGoBackMode =\n | EFormViewGoBackMode.DIRECT\n | EFormViewGoBackMode.TABBED;\n","export enum ELogEventType {\n FORM__ACTION_EXECUTE = \"FORM__ACTION_EXECUTE\",\n FORM__ACTION_EXECUTE_GROUP = \"FORM__ACTION_EXECUTE_GROUP\",\n FORM__ALERT_ERROR = \"FORM__ALERT_ERROR\",\n FORM__ALERT_HIDE = \"FORM__ALERT_HIDE\",\n FORM__ALERT_SHOW = \"FORM__ALERT_SHOW\",\n FORM__API_BUTTON_CLICK = \"FORM__API_BUTTON_CLICK\",\n FORM__API_REQUEST = \"FORM__API_REQUEST\",\n FORM__API_REQUEST_INVALID = \"FORM__API_REQUEST_INVALID\",\n FORM__API_REQUEST_REVERSE_LAT_LONG = \"FORM__API_REQUEST_REVERSE_LAT_LONG\",\n FORM__API_REQUEST_UPLOAD_FILE = \"FORM__API_REQUEST_UPLOAD_FILE\",\n FORM__API_REQUEST_UPLOAD_IMAGE = \"FORM__API_REQUEST_UPLOAD_IMAGE\",\n FORM__API_REQUEST_UPLOAD_VIDEO = \"FORM__API_REQUEST_UPLOAD_VIDEO\",\n FORM__API_RESPONSE = \"FORM__API_RESPONSE\",\n FORM__API_RESPONSE_REVERSE_LAT_LONG = \"FORM__API_RESPONSE_REVERSE_LAT_LONG\",\n FORM__API_RESPONSE_UPLOAD_FILE = \"FORM__API_RESPONSE_UPLOAD_FILE\",\n FORM__API_RESPONSE_UPLOAD_IMAGE = \"FORM__API_RESPONSE_UPLOAD_IMAGE\",\n FORM__API_RESPONSE_UPLOAD_VIDEO = \"FORM__API_RESPONSE_UPLOAD_VIDEO\",\n FORM__CAMERA_BACK_BUTTON_CLICK = \"FORM__CAMERA_BACK_BUTTON_CLICK\",\n FORM__CAMERA_CLOSE_BUTTON_CLICK = \"FORM__CAMERA_CLOSE_BUTTON_CLICK\",\n FORM__CAMERA_SAVE_BUTTON_CLICK = \"FORM__CAMERA_SAVE_BUTTON_CLICK\",\n FORM__CONFIG_LOAD_SUCCESS = \"FORM__CONFIG_LOAD_SUCCESS\",\n FORM__DIALOG_ERROR = \"FORM__DIALOG_ERROR\",\n FORM__DIALOG_HIDE = \"FORM__DIALOG_HIDE\",\n FORM__DIALOG_SHOW = \"FORM__DIALOG_SHOW\",\n FORM__FIELD_API_TIMER_MESSAGE_HIDE = \"FORM__FIELD_API_TIMER_MESSAGE_HIDE\",\n FORM__FIELD_API_TIMER_MESSAGE_SHOW = \"FORM__FIELD_API_TIMER_MESSAGE_SHOW\",\n FORM__FIELD_BUTTON_CLICK = \"FORM__FIELD_BUTTON_CLICK\",\n FORM__FIELD_CAMERA_BUTTON_CLICK = \"FORM__FIELD_CAMERA_BUTTON_CLICK\",\n FORM__FIELD_DISABLE = \"FORM__FIELD_DISABLE\",\n FORM__FIELD_ENABLE = \"FORM__FIELD_ENABLE\",\n FORM__FIELD_ERROR_HIDE = \"FORM__FIELD_ERROR_HIDE\",\n FORM__FIELD_ERROR_SHOW = \"FORM__FIELD_ERROR_SHOW\",\n FORM__FIELD_FILE_ADD = \"FORM__FIELD_FILE_ADD\",\n FORM__FIELD_FILE_REMOVE = \"FORM__FIELD_FILE_REMOVE\",\n FORM__FIELD_HIDE = \"FORM__FIELD_HIDE\",\n FORM__FIELD_MEDIA_FILE_REMOVE = \"FORM__FIELD_MEDIA_FILE_REMOVE\",\n FORM__FIELD_MESSAGE_HIDE = \"FORM__FIELD_MESSAGE_HIDE\",\n FORM__FIELD_MESSAGE_SHOW = \"FORM__FIELD_MESSAGE_SHOW\",\n FORM__FIELD_RESET = \"FORM__FIELD_RESET\",\n FORM__FIELD_RESET_BUTTON_CLICK = \"FORM__FIELD_RESET_BUTTON_CLICK\",\n FORM__FIELD_SHOW = \"FORM__FIELD_SHOW\",\n FORM__LIVE_LOCATION_BUTTON_CLICK = \"FORM__LIVE_LOCATION_BUTTON_CLICK\",\n FORM__LIVE_LOCATION_PERMISSION_ERROR = \"FORM__LIVE_LOCATION_PERMISSION_ERROR\",\n FORM__LIVE_LOCATION_PERMISSION_SUCCESS = \"FORM__LIVE_LOCATION_PERMISSION_SUCCESS\",\n FORM__PREVIEW_ERROR = \"FORM__PREVIEW_ERROR\",\n FORM__PREVIEW_HIDE = \"FORM__PREVIEW_HIDE\",\n FORM__PREVIEW_SHOW = \"FORM__PREVIEW_SHOW\",\n FORM__REDIRECT_URL = \"FORM__REDIRECT_URL\",\n FORM__SAVE_AUTO = \"FORM__SAVE_AUTO\",\n FORM__SAVE_BUTTON_CLICK = \"FORM__SAVE_BUTTON_CLICK\",\n FORM__TASK_POST = \"FORM__TASK_POST\",\n FORM__TASK_PRE = \"FORM__TASK_PRE\",\n FORM__VIEW_BUTTON_CLICK = \"FORM__VIEW_BUTTON_CLICK\"\n}\n","import axios from \"axios\";\nimport {\n decryptWithAES,\n encryptWithAES,\n isNotEmptyValue,\n logMethod\n} from \"kwikid-toolkit\";\nimport { Observable } from \"rxjs\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nexport class KwikIDFormViewApiService {\n private bytecode = [0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38];\n\n constructor() {}\n\n // Function to derive logic from data\n @logMethod\n dataDerivativeLogic(data) {\n if (isNotEmptyValue(data)) {\n const dataString = JSON.stringify(data);\n const charCounts = {};\n const targetCharacters = [\"a\", \"i\", \"p\", \"t\"];\n\n // Count occurrences of target characters in the data string\n for (const char of dataString) {\n if (targetCharacters.includes(char)) {\n charCounts[char] = (charCounts[char] || 0) + 1;\n }\n }\n\n // Construct the output string based on the character counts\n const outputString = targetCharacters\n .map((char) => char + (charCounts[char] || 0))\n .join(\"\");\n return outputString;\n } else {\n return undefined;\n }\n }\n\n // Function to preprocess header data\n @logMethod\n preProcessHeader(headerData: any, isVerifySignature: boolean): any {\n if (!headerData) headerData = {};\n if (!headerData.headers) headerData[\"headers\"] = {};\n\n // Generate a unique identifier if signature verification is required\n if (isVerifySignature) {\n headerData[\"headers\"][\"xrid\"] = uuidv4();\n }\n\n // Retrieve session ID from local storage and add it to headers\n let session_id = localStorage.getItem(\"session_id\");\n if (session_id) headerData[\"headers\"][\"ses\"] = session_id;\n\n return headerData;\n }\n\n // Function to verify the signature\n @logMethod\n verifySignature(data, header, url, isVerifySignature) {\n return new Promise((resolve, reject) => {\n // Log the function call for verification\n console.log(\"Verify Signature: Function Called For\", url, header);\n\n // Check if the signature is disabled\n if (!isVerifySignature) {\n console.log(\"Verify Signature: Authentication Disabled\");\n resolve(true);\n }\n\n // Check if data is invalid\n else if (!data) {\n console.log(\"Verify Signature: Data Not Available\");\n resolve(true);\n }\n\n // Check if the signature is missing in headers when authentication is not skipped\n else if (isVerifySignature && header && !header?.sig) {\n console.log(\n \"Verify Signature Failure: Signature Not Present in Headers\"\n );\n reject(false);\n }\n\n // Verify the signature when public key and header with signature are present and authentication is not skipped\n else if (isVerifySignature && header && header?.sig) {\n console.log(\"Verify Signature: Signature Present in Headers\");\n\n // Extract the signature and decode it\n let signature = header.sig.split(\".\")[0];\n let rawSignature = atob(signature);\n\n // Split the decoded signature to get the parts\n signature = rawSignature.split(\".\")[0];\n let exp = rawSignature.split(\".\")[1] + \"000\"; // Expiration time in milliseconds\n let iat = rawSignature.split(\".\")[2] + \"000\"; // Issued at time in milliseconds\n\n // Check if the signature is valid\n if (signature) {\n // Check if the current time is before the expiration time\n const dateValue = new Date().valueOf();\n let dateCheck = dateValue < parseInt(exp);\n\n // Check if the signature matches the data\n let res = signature === data;\n console.log(\"Verify Signature: Matching\", signature, data);\n console.log(\n \"Verify Signature: Time\",\n dateValue,\n parseInt(exp),\n parseInt(exp) - dateValue\n );\n\n console.log(\n \"Verify Signature: Date\",\n new Date(dateValue),\n new Date(parseInt(exp))\n );\n\n console.log(\n \"Verify Signature: Signature Converted to Required Format\"\n );\n\n // Resolve the promise if the signature is valid and the date check passes\n if (res && dateCheck) {\n console.log(\"Verify Signature Success\");\n resolve(res);\n } else {\n // Reject the promise if the signature is invalid or the date check fails\n console.log(\"Verify Signature Failure: Signature did not match\");\n reject(res);\n }\n } else {\n // Reject the promise if the signature is not in the required format\n console.log(\n \"Verify Signature Failure: Signature Not Converted to Required Format\"\n );\n reject(false);\n }\n } else {\n // Resolve the promise if the signature is missing in headers\n console.log(\n \"Verify Signature Failure: Signature Not Present in Headers\"\n );\n resolve(true);\n }\n });\n }\n\n // Function to perform POST request\n @logMethod\n post(\n url,\n body,\n headerData,\n isEncrypt = false,\n isDecrypt = false,\n isVerifySignature = false,\n isSkipHeaderAlteration = false\n ) {\n let preProcessedHeader = headerData;\n\n // Preprocess header data unless instructed to skip\n if (!isSkipHeaderAlteration) {\n preProcessedHeader = this.preProcessHeader(headerData, isVerifySignature);\n } else {\n preProcessedHeader[\"observe\"] = \"response\";\n }\n\n // Encrypt body if required\n if (isEncrypt) {\n body = encryptWithAES(JSON.stringify(body));\n }\n\n return new Observable((subscriber) => {\n axios.post(url, body, headerData).then(\n async (res) => {\n let data = res[\"data\"];\n\n // Decrypt response if required\n if (data && isDecrypt) {\n const encryptedResponse = data;\n const decryptedResponse = await decryptWithAES(encryptedResponse);\n data = JSON.parse(decryptedResponse);\n console.log(\"Decrypted Response\", data);\n res.data = data;\n }\n\n // Verify signature and handle response\n this.verifySignature(\n this.dataDerivativeLogic(data),\n res?.headers,\n url,\n isVerifySignature\n )\n .then((verification) => {\n subscriber.next(res);\n subscriber.complete();\n })\n .catch((err) => {\n subscriber.error(err?.response);\n });\n },\n async (err) => {\n let data = err?.response?.data;\n\n // Decrypt error response if required\n if (data && isDecrypt) {\n const encryptedResponse = data;\n const decryptedResponse = await decryptWithAES(encryptedResponse);\n data = JSON.parse(decryptedResponse);\n console.log(\"Decrypted Response\", data);\n err.response.data = data;\n }\n\n // Verify signature and handle response\n this.verifySignature(\n this.dataDerivativeLogic(data),\n err?.response?.headers,\n url,\n isVerifySignature\n )\n .then((verification) => {\n subscriber.error(err?.response);\n })\n .catch((err) => {\n subscriber.error(err?.response);\n });\n }\n );\n });\n }\n\n // Function to perform GET request\n @logMethod\n get(\n url,\n headerData = undefined,\n isDecrypt = false,\n isVerifySignature = false,\n isSkipHeaderAlteration = false\n ) {\n let preProcessedHeader = headerData;\n\n // Preprocess header data unless instructed to skip\n if (!isSkipHeaderAlteration) {\n preProcessedHeader = this.preProcessHeader(headerData, isVerifySignature);\n } else {\n preProcessedHeader[\"observe\"] = \"response\";\n }\n\n return new Observable((subscriber) => {\n axios.get(url, preProcessedHeader).then(\n async (res: any) => {\n let data = res[\"data\"];\n\n // Decrypt response if required\n if (isDecrypt) {\n const encryptedResponse = data;\n const decryptedResponse = await decryptWithAES(encryptedResponse);\n data = JSON.parse(decryptedResponse);\n console.log(\"Decrypted Response\", data);\n res.data = data;\n }\n\n // Verify signature and handle response\n this.verifySignature(\n this.dataDerivativeLogic(data),\n res?.headers,\n url,\n isVerifySignature\n )\n .then((verification) => {\n subscriber.next(res);\n subscriber.complete();\n })\n .catch((err) => {\n subscriber.error(err?.response);\n });\n },\n async (err) => {\n let data = err?.response?.data;\n\n // Decrypt error response if required\n if (data && isDecrypt) {\n const encryptedResponse = data;\n const decryptedResponse = await decryptWithAES(encryptedResponse);\n data = JSON.parse(decryptedResponse);\n console.log(\"Decrypted Response\", data);\n err.response.data = data;\n }\n\n // Verify signature and handle response\n this.verifySignature(\n this.dataDerivativeLogic(data),\n err?.response?.headers,\n url,\n isVerifySignature\n )\n .then((verification) => {\n subscriber.error(err?.response);\n })\n .catch((err) => {\n subscriber.error(err?.response);\n });\n }\n );\n });\n }\n\n // Function to execute API call based on method type\n executeApiCall(\n url,\n method,\n body,\n headers,\n isEncrypt,\n isDecrypt,\n isVerifySignature\n ) {\n return new Promise((resolve) => {\n if (method == \"GET\") {\n this.get(\n url,\n { headers: headers },\n isDecrypt,\n isVerifySignature\n ).subscribe(\n (res: any) => {\n resolve(res);\n },\n (err) => {\n resolve(err);\n }\n );\n } else {\n this.post(\n url,\n body,\n { headers: headers },\n isEncrypt,\n isDecrypt,\n isVerifySignature\n ).subscribe(\n (res: any) => {\n resolve(res);\n },\n (err) => {\n resolve(err);\n }\n );\n }\n });\n }\n}\n","import {\n Action,\n Condition,\n isEmptyValue,\n logMethod,\n Rule,\n setValueToObjectPath,\n Source,\n TAction,\n TRule,\n TEngine\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: TEngine = (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 getFormFieldApiValue() {\n const apiConfig = this._field.default.api;\n\n const rules = apiConfig.rules;\n const actions = apiConfig.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 @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 AbstractControl,\n FormArray,\n FormGroup,\n ValidationErrors,\n ValidatorFn,\n Validators\n} from \"@angular/forms\";\nimport {\n PATTERNS,\n checkObjectKeyExists,\n hasWhitespacesOnly,\n isNotEmptyValue,\n logMethod\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(NoWhitespacesValidator());\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 if (\n checkObjectKeyExists(field, \"validators\") &&\n checkObjectKeyExists(field.validators, \"whitespace\")\n ) {\n validators.push(NoWhitespacesValidator());\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\nexport function NoWhitespacesValidator(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value;\n\n if (!value || typeof value !== \"string\") {\n return null;\n }\n\n return hasWhitespacesOnly(value) ? { onlyWhitespaces: true } : null;\n };\n}\n","import { FormControl, FormGroup } from \"@angular/forms\";\nimport {\n checkObjectKeyExists,\n getObjectDeepCopy,\n logMethod\n} 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\";\nimport { EFieldType } from \"./definitions/form-view.fields.definition\";\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 = \"\";\n if (checkObjectKeyExists(field, \"default\")) {\n if (checkObjectKeyExists(field.default, \"value\")) {\n value = await defaults.getFormFieldValue();\n }\n }\n\n if (checkObjectKeyExists(field, \"default\")) {\n if (checkObjectKeyExists(field.default, \"api\")) {\n await defaults.getFormFieldApiValue();\n }\n }\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 checkObjectPathExists,\n Condition,\n getObjectDeepCopy,\n logMethod,\n Rule,\n setValueToObjectPath,\n Source,\n TAction,\n TRule,\n TSource,\n TEngine\n} from \"kwikid-toolkit\";\nimport {\n EApiRequestUrlType,\n TApiRequest,\n TApiRequestBody,\n TApiRequestBodyParam,\n TApiRequestHeaders,\n TApiRequestHeadersParam,\n TApiResponse\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 _request: TApiRequest;\n private _response: TApiResponse;\n\n constructor(object: any, takeAction: any) {\n this._object = object;\n this._takeAction = takeAction;\n\n this._request = this._object.API_CONFIG.request;\n this._response = this._object.API_CONFIG.response;\n }\n\n @logMethod\n public async setUrl(): Promise<TFieldApiCall> {\n if (\n this._request.url.hasOwnProperty(\"type\") &&\n this._request.url.type === EApiRequestUrlType.CALCULATED\n ) {\n const source = new Source(this._object);\n const url = await source.getValueFromSource(\n this._request.url.props.value.source\n );\n this._request.url = setValueToObjectPath(this._request.url, \"value\", url);\n } else if (typeof this._request.url === \"string\") {\n this._request.url = setValueToObjectPath({}, \"value\", this._request.url);\n }\n\n return this._object.API_CONFIG;\n }\n\n @logMethod\n public async setRequestBody(): Promise<TFieldApiCall> {\n if (checkObjectKeyExists(this._request, \"body\")) {\n if (checkObjectKeyExists(this._request.body, \"params\")) {\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.API_CONFIG = setValueToObjectPath(\n this._object.API_CONFIG,\n `request.body.params[${paramIndex}].sources[${sourceIndex}].value`,\n value\n );\n\n const validation: TEngine = (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.API_CONFIG;\n } else if (\n checkObjectKeyExists(this._request.body, \"rules\") &&\n checkObjectKeyExists(this._request.body, \"actions\")\n ) {\n const triggers: Array<TTrigger> = this._request.body?.triggers ?? [];\n const rules: Array<TRule> = this._request.body?.rules ?? [];\n const actions: Array<TAction> =\n (this._request.body 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 return this._object.API_CONFIG;\n } else {\n return this._object.API_CONFIG;\n }\n } else {\n return this._object.API_CONFIG;\n }\n }\n\n @logMethod\n public async validateRequestBody(): Promise<TFieldApiCall> {\n if (checkObjectKeyExists(this._request, \"body\")) {\n if (checkObjectKeyExists(this._request.body, \"validation\")) {\n const body: TApiRequestBody = this._request.body;\n\n const validation: TEngine = 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.API_CONFIG;\n } else if (\n checkObjectPathExists(this._request.body, \"rules\") &&\n checkObjectPathExists(this._request.body, \"actions\")\n ) {\n const triggers: Array<TTrigger> = this._request.body?.triggers ?? [];\n const rules: Array<TRule> = this._request.body?.rules ?? [];\n const actions: Array<TAction> =\n (this._request.body 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.API_CONFIG;\n } else {\n this._object = setValueToObjectPath(\n this._object,\n \"API_CONFIG.request.validation.body.is_valid\",\n true\n );\n\n return this._object.API_CONFIG;\n }\n } else {\n this._object = setValueToObjectPath(\n this._object,\n \"API_CONFIG.request.validation.body.is_valid\",\n true\n );\n\n return this._object.API_CONFIG;\n }\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.API_CONFIG = setValueToObjectPath(\n this._object.API_CONFIG,\n `request.headers.params[${paramIndex}].sources[${sourceIndex}].value`,\n value\n );\n\n const validation: TEngine = (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.API_CONFIG;\n } else if (\n checkObjectKeyExists(this._request.headers, \"rules\") &&\n checkObjectKeyExists(this._request.headers, \"actions\")\n ) {\n const triggers: Array<TTrigger> = this._request.headers?.triggers ?? [];\n const rules: Array<TRule> = this._request.headers?.rules ?? [];\n const actions: Array<TAction> =\n (this._request.headers 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 return this._object.API_CONFIG;\n } else {\n return this._object.API_CONFIG;\n }\n } else {\n return this._object.API_CONFIG;\n }\n }\n\n @logMethod\n public async validateRequestHeaders(): Promise<TFieldApiCall> {\n const headers: TApiRequestHeaders = this._request.headers;\n if (checkObjectKeyExists(this._request, \"headers\")) {\n if (checkObjectKeyExists(this._request.headers, \"validation\")) {\n const validation: TEngine = 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 return this._object.API_CONFIG;\n } else if (\n checkObjectPathExists(this._request.headers, \"rules\") &&\n checkObjectPathExists(this._request.headers, \"actions\")\n ) {\n const triggers: Array<TTrigger> = headers?.triggers ?? [];\n const rules: Array<TRule> = headers?.rules ?? [];\n const actions: Array<TAction> = (headers 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.API_CONFIG;\n } else {\n this._object = setValueToObjectPath(\n this._object,\n \"API_CONFIG.request.validation.headers.is_valid\",\n true\n );\n\n return this._object.API_CONFIG;\n }\n } else {\n this._object = setValueToObjectPath(\n this._object,\n \"API_CONFIG.request.validation.headers.is_valid\",\n true\n );\n\n return this._object.API_CONFIG;\n }\n }\n\n @logMethod\n public async validateResponse(): Promise<TFieldApiCall> {\n if (checkObjectKeyExists(this._response, \"validation\")) {\n const validation: TEngine = 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 } else if (\n checkObjectKeyExists(this._response, \"rules\") &&\n checkObjectKeyExists(this._response, \"actions\")\n ) {\n const triggers: Array<TTrigger> = this._response?.triggers ?? [];\n const rules: Array<TRule> = this._response?.rules ?? [];\n const actions: Array<TAction> = (this._response 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.API_CONFIG;\n }\n\n @logMethod\n public async callNextApi(validation: TEngine): Promise<any> {\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}\n","import { checkObjectKeyExists, logMethod, Source } from \"kwikid-toolkit\";\nimport {\n TField,\n TFieldCapture\n} from \"../definitions/form-view.fields.definition\";\n\nexport class CameraHelper {\n private _allFormsData: any;\n private _field: TField;\n private _formFields: any[];\n private _formData: any;\n private _previousFormData: any;\n private cameraData: any = {};\n\n constructor(\n field: TFieldCapture,\n formFields: any[],\n allFormsData: any,\n formData: any,\n previousFormData: any\n ) {\n this._field = field;\n this._formFields = formFields;\n this._allFormsData = allFormsData;\n this._formData = formData;\n this._previousFormData = previousFormData;\n }\n\n @logMethod\n async getCameraWatermarkData(): Promise<any> {\n const sources = this._field.properties[\"watermarkDataSources\"];\n\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 = await sources.getValueFromSource(source);\n\n if (checkObjectKeyExists(source, \"id\")) {\n this.cameraData[source.id] = value;\n }\n }\n\n return this.cameraData;\n }\n}\n","import { isNotEmptyValue } from \"kwikid-toolkit\";\nimport { ELogEventType } from \"../definitions/form-view.logs.definition\";\n\nexport function formatEventLogs(\n eventType: ELogEventType,\n stepConfig: any,\n formConfig: any,\n extras: any\n) {\n const logLabel = [\n eventType,\n stepConfig?.form?.key ?? stepConfig?.key ?? \"_\",\n formConfig?.key ?? \"_\",\n extras?.field_key ?? \"_\"\n ]\n .filter((item) => isNotEmptyValue(item))\n .join(\" | \");\n\n return {\n type: eventType,\n label: `${logLabel}`,\n timestamp: new Date().getTime(),\n data: {\n step_key: stepConfig?.form?.key ?? stepConfig?.key,\n step_title: stepConfig?.props?.label ?? stepConfig?.label,\n form_key: formConfig?.key,\n form_title: formConfig?.props?.title ?? formConfig?.title,\n ...extras\n }\n };\n}\n","import {\n Action,\n Condition,\n logMethod,\n Rule\n} from \"kwikid-toolkit\";\n\nexport class Tasks {\n private _object: any;\n private _task: any;\n private _takeAction: Function;\n\n constructor(task: any, object: any, takeAction: Function) {\n this._task = task;\n this._object = object;\n this._takeAction = takeAction;\n }\n\n @logMethod\n async execute() {\n const triggers = this._task.triggers;\n const rules = this._task.rules;\n const actions = this._task.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}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { DomSanitizer, SafeStyle } from \"@angular/platform-browser\";\n\n@Pipe({\n name: \"styleSanitizer\"\n})\nexport class StyleSanitizerPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(style: string): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(style);\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({\n name: \"formatTimer\"\n})\nexport class TimerPipe implements PipeTransform {\n transform(value: number): string {\n const minutes: number = Math.floor(value / 60);\n const seconds: number = value % 60;\n\n return `${this.pad(minutes)}:${this.pad(seconds)}`;\n }\n\n private pad(value: number): string {\n return value < 10 ? `0${value}` : `${value}`;\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { TuiPreviewDialogService } from \"@taiga-ui/addon-preview\";\nimport {\n TuiAlertService,\n TuiDialogContext,\n TuiDialogService,\n TuiNotification\n} from \"@taiga-ui/core\";\nimport { TuiPushService } from \"@taiga-ui/kit\";\nimport { KwikIDCameraRecordService } from \"kwikid-camera\";\nimport {\n Action,\n Condition,\n ESourceKey,\n Rule,\n Source,\n TAction,\n TEngine,\n RuleEngine,\n checkObjectKeyExists,\n getObjectDeepCopy,\n getObjectValueFromPath,\n isEmptyString,\n isEmptyValue,\n isNotEmptyValue,\n isNull,\n isUndefined,\n logMethod,\n mergeObjects,\n mergeObjectsDeep,\n replaceString,\n setValueToObjectPath\n} from \"kwikid-toolkit\";\nimport { KwikUILoaderService } from \"kwikui\";\nimport { pairwise } from \"rxjs/operators\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { Converter } from \"../config-converter/config-converter\";\nimport { FIELD_PROPERTIES } from \"../config-converter/config-converter.constants\";\nimport {\n getLanguage,\n updateLanguage\n} from \"../config-converter/config-converter.helper\";\nimport { EFormsListStatus } from \"../forms-list/forms-list.definitions\";\nimport { EActionKey } from \"./definitions/form-view.actions.definition\";\nimport {\n EApiRequestUrlType,\n EApiStatusType,\n TApi,\n TApiEndpoint,\n TApiTimer\n} from \"./definitions/form-view.apis.definition\";\nimport {\n EMessageType,\n TFormViewGoBackMode,\n TMessage\n} from \"./definitions/form-view.commons.definition\";\nimport {\n EFieldType,\n TFieldApiCall,\n TFieldLiveLocation,\n TFieldTitle\n} from \"./definitions/form-view.fields.definition\";\nimport { ELogEventType } from \"./definitions/form-view.logs.definition\";\nimport { KwikIDFormViewApiService } from \"./form-view.api.service\";\nimport { KwikIDFormViewService } from \"./form-view.service\";\nimport { Apis } from \"./helpers/form-view.apis.helper\";\nimport { CameraHelper } from \"./helpers/form-view.camera.helper\";\nimport {\n appendFormFieldMessage,\n appendHtmlMessage,\n convertFormFieldEmptyValueToKwikUIFormat,\n convertFormFieldValueToKwikUIFormat,\n convertFormFieldValueToStandardFormat,\n filterDuplicatesFiles,\n filterDuplicatesMediaFiles,\n getFormFieldByKey,\n getFormFieldIndexByKey,\n highlightFormFieldError,\n removeFormFieldMessage,\n setApiTimerMessage,\n showFormFieldError\n} from \"./helpers/form-view.fields.helper\";\nimport { FormValidation } from \"./helpers/form-view.form-validations.helper\";\nimport { formatEventLogs } from \"./helpers/form-view.logs.helper\";\nimport { Tasks } from \"./helpers/form-view.tasks.helper\";\n\n@Component({\n selector: \"kwikid-form-view\",\n templateUrl: \"./form-view.component.html\",\n styleUrls: [\"./form-view.component.scss\", \"../shared.scss\"],\n providers: [KwikIDFormViewService, KwikIDFormViewApiService]\n})\nexport class KwikIDFormViewComponent\n implements OnInit, AfterViewInit, OnChanges, OnDestroy\n{\n @ViewChild(\"dialog\") readonly dialog: TemplateRef<TuiDialogContext<void>>;\n @ViewChild(\"preview\") readonly preview: TemplateRef<TuiDialogContext<void>>;\n\n @Input() allFormsData: any;\n @Input() apiCallResponse: any;\n @Input() buttonClickResponse: any;\n @Input() formConfig: any;\n @Input() formData: any;\n @Input() isMobileView: boolean = false;\n @Input() popupFormCallback: any = undefined;\n @Input() userConfig: any;\n @Input() stepConfig: any;\n\n @Output() getLogs: EventEmitter<any> = new EventEmitter<any>();\n @Output() getUnsavedDataState: EventEmitter<any> = new EventEmitter<any>();\n @Output() onActionShowPopupForm: EventEmitter<any> = new EventEmitter<any>();\n @Output() onClickApiCall: EventEmitter<any> = new EventEmitter<any>();\n @Output() onClickFormFieldButton: EventEmitter<any> = new EventEmitter<any>();\n @Output() onClickGoBack: EventEmitter<any> = new EventEmitter<any>();\n @Output() onClickSaveForm: EventEmitter<any> = new EventEmitter<any>();\n @Output() onClickViewForms: EventEmitter<any> = new EventEmitter<any>();\n\n fieldGroups: any = {};\n formFields: any[] = [];\n previousFormData: any = {};\n\n isShowCamera: boolean = false;\n isShowCameraFullscreen: boolean = false;\n cameraFieldKey: string = \"\";\n cameraData: any = undefined;\n cameraType: \"CAPTURE\" | \"RECORD\" = undefined;\n cameraImage: string = \"\";\n cameraVideo: string = \"\";\n cameraConfig: any = undefined;\n cameraRecordingTime: number = 0;\n cameraRecordingTimerSubcription: any = undefined;\n cameraRecordingState: string = \"NONE\";\n cameraRecordingStateSubcription: any = undefined;\n\n @logMethod\n resetCamera(): void {\n this.isShowCamera = false;\n this.isShowCameraFullscreen = false;\n this.cameraFieldKey = \"\";\n this.cameraData = undefined;\n this.cameraType = undefined;\n this.cameraImage = \"\";\n this.cameraVideo = \"\";\n this.cameraConfig = undefined;\n this.cameraRecordingTime = 0;\n this.cameraRecordingState = \"NONE\";\n }\n\n previewProperties: any = {\n html: {\n before: \"\",\n beforeStyles: \"\",\n after: \"\",\n afterStyles: \"\"\n },\n iframe: {\n src: \"\",\n title: \"\"\n },\n type: \"dialog\",\n size: \"auto\",\n popupFormKey: \"\",\n title: \"\",\n unavailable: false\n };\n\n loading: boolean = true;\n apiLoading: boolean = false;\n backButton = {\n disabled: false,\n showLoader: false\n };\n viewFormsButton = {\n disabled: false,\n showLoader: false\n };\n saveFormButton = {\n disabled: false,\n showLoader: false\n };\n\n files: any = {};\n mediaFiles: any = {};\n\n stopTaskExecution: boolean = false;\n waitingForChanges: boolean = false;\n popupFormConfig: any = undefined;\n popupFormData: any = {};\n taskData: any = {};\n\n previewDialogRef: any;\n\n formGroup: FormGroup = new FormGroup({});\n\n constructor(\n private cd: ChangeDetectorRef,\n private formViewService: KwikIDFormViewService,\n private formViewApiService: KwikIDFormViewApiService,\n @Inject(TuiPushService)\n protected readonly push: TuiPushService,\n @Inject(TuiAlertService)\n protected readonly alertService: TuiAlertService,\n @Inject(TuiPreviewDialogService)\n private readonly previewDialogService: TuiPreviewDialogService,\n @Inject(TuiDialogService)\n private readonly dialogService: TuiDialogService,\n public loaderService: KwikUILoaderService,\n private cameraRecordService: KwikIDCameraRecordService,\n private ref: ChangeDetectorRef\n ) {}\n\n @logMethod\n ngOnInit(): void {\n (async () => {\n const res = await this.initFormConfig(this.formConfig);\n\n if (res) {\n this.loading = false;\n\n this.cameraRecordingTimerSubcription = this.cameraRecordService\n .getTimerUpdate()\n .subscribe((time: number) => {\n this.cameraRecordingTime = time;\n this.ref.detectChanges();\n });\n this.cameraRecordingStateSubcription = this.cameraRecordService\n .getRecordingState()\n .subscribe((state: string) => {\n this.cameraRecordingState = state;\n this.ref.detectChanges();\n });\n }\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(\"userConfig\")) {\n this.userConfig = changes.userConfig.currentValue;\n }\n if (verifyChange(\"stepConfig\")) {\n this.stepConfig = changes.stepConfig.currentValue;\n }\n if (verifyChange(\"formData\")) {\n if (\n checkObjectKeyExists(changes.formData.currentValue, \"data\") &&\n checkObjectKeyExists(changes.formData.currentValue, \"extendedData\")\n ) {\n this.formData = {\n ...this.formData,\n ...changes.formData.currentValue[\"data\"]\n };\n } else {\n this.formData = {\n ...this.formData,\n ...changes.formData.currentValue\n };\n }\n }\n if (verifyChange(\"popupFormCallback\")) {\n if (isNotEmptyValue(changes.popupFormCallback.currentValue)) {\n const popupFormData =\n checkObjectKeyExists(\n changes.popupFormCallback.currentValue.popupFormData,\n \"data\"\n ) &&\n checkObjectKeyExists(\n changes.popupFormCallback.currentValue.popupFormData,\n \"extendedData\"\n )\n ? changes.popupFormCallback.currentValue.popupFormData[\"data\"]\n : changes.popupFormCallback.currentValue.popupFormData;\n\n const popupFormConfig =\n changes.popupFormCallback.currentValue.popupFormConfig;\n\n this.popupFormData = mergeObjects(this.popupFormData, {\n [popupFormConfig.key]: popupFormData\n });\n\n this.formData = mergeObjects(this.formData, this.popupFormData);\n\n if (\n checkObjectKeyExists(\n changes.popupFormCallback.currentValue,\n \"stopTaskExecution\"\n )\n ) {\n this.stopTaskExecution =\n changes.popupFormCallback.currentValue.stopTaskExecution;\n } else {\n this.stopTaskExecution = false;\n }\n }\n\n this.waitingForChanges = false;\n }\n if (verifyChange(\"isMobileView\")) {\n this.isMobileView = changes.isMobileView.currentValue;\n }\n if (verifyChange(\"apiCallResponse\")) {\n this.apiCallResponse = changes.apiCallResponse.currentValue;\n\n let field = getFormFieldByKey(this.formFields, this.apiCallResponse.key);\n\n const response = this.apiCallResponse?.response;\n\n switch (field.type) {\n case EFieldType.FILE:\n if (response) {\n const updatedFile = getObjectDeepCopy({\n id: uuidv4(),\n ...response\n });\n\n this.triggerLogs(ELogEventType.FORM__API_RESPONSE_UPLOAD_FILE, {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"FILE_UPLOAD_API_SUCCESS\",\n response: response\n });\n\n this.updateFiles(updatedFile, \"NORMAL\", this.apiCallResponse.key);\n } else {\n const updatedFile = getObjectDeepCopy({\n id: uuidv4(),\n ...this.apiCallResponse?.payload?.metadata\n });\n\n this.triggerLogs(ELogEventType.FORM__API_RESPONSE_UPLOAD_FILE, {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"FILE_UPLOAD_API_ERROR\"\n });\n\n this.updateFiles(updatedFile, \"ERROR\", this.apiCallResponse.key);\n }\n\n this.hideApiLoader();\n break;\n case EFieldType.CAPTURE:\n if (response) {\n this.resetCamera();\n\n const image = response?.image_url;\n\n this.formData[field.key] = getObjectDeepCopy([image]);\n this.mediaFiles[field.key] = getObjectDeepCopy([image]);\n this.formGroup.controls[field.key].patchValue(\n getObjectDeepCopy([image]),\n {\n emitEvent: false,\n onlySelf: false\n }\n );\n this.formGroup.patchValue(\n {\n [field.key]: getObjectDeepCopy([image])\n },\n { emitEvent: false }\n );\n this.formGroup.controls[field.key].updateValueAndValidity({\n emitEvent: false\n });\n this.formGroup.updateValueAndValidity({\n emitEvent: false\n });\n\n this.getUnsavedDataState.emit(true);\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\n field.validation.triggers.includes(\"ON_CHANGE\")\n ) {\n const ruleEngine = new RuleEngine(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n await ruleEngine.run(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 this.triggerLogs(ELogEventType.FORM__API_RESPONSE_UPLOAD_IMAGE, {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"IMAGE_UPLOAD_API_SUCCESS\",\n response: response\n });\n } else {\n this.triggerLogs(ELogEventType.FORM__API_RESPONSE_UPLOAD_IMAGE, {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"IMAGE_UPLOAD_API_ERROR\"\n });\n\n console.error(\"File Upload for Image Failed\");\n }\n this.hideApiLoader();\n break;\n case EFieldType.RECORD:\n if (response) {\n this.resetCamera();\n\n const video = response?.video_url;\n\n this.formData[field.key] = getObjectDeepCopy([video]);\n this.mediaFiles[field.key] = getObjectDeepCopy([video]);\n this.formGroup.controls[field.key].patchValue(\n getObjectDeepCopy([video]),\n {\n emitEvent: false,\n onlySelf: false\n }\n );\n this.formGroup.patchValue(\n {\n [field.key]: getObjectDeepCopy([video])\n },\n { emitEvent: false }\n );\n this.formGroup.controls[field.key].updateValueAndValidity({\n emitEvent: false\n });\n this.formGroup.updateValueAndValidity({\n emitEvent: false\n });\n\n this.getUnsavedDataState.emit(true);\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\n field.validation.triggers.includes(\"ON_CHANGE\")\n ) {\n const ruleEngine = new RuleEngine(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n await ruleEngine.run(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 this.triggerLogs(ELogEventType.FORM__API_RESPONSE_UPLOAD_VIDEO, {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"VIDEO_UPLOAD_API_SUCCESS\",\n response: response\n });\n } else {\n this.triggerLogs(ELogEventType.FORM__API_RESPONSE_UPLOAD_VIDEO, {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"VIDEO_UPLOAD_API_ERROR\"\n });\n\n console.error(\"File Upload for Video Failed\");\n }\n this.hideApiLoader();\n break;\n case EFieldType.LIVE_LOCATION:\n if (response) {\n this.formData[field.key] = getObjectDeepCopy(response);\n this.mediaFiles[field.key] = getObjectDeepCopy(response);\n this.formGroup.controls[field.key].patchValue(\n getObjectDeepCopy(response),\n {\n emitEvent: false,\n onlySelf: false\n }\n );\n this.formGroup.patchValue(\n {\n [field.key]: getObjectDeepCopy(response)\n },\n { emitEvent: false }\n );\n this.formGroup.controls[field.key].updateValueAndValidity({\n emitEvent: false\n });\n this.formGroup.updateValueAndValidity({\n emitEvent: false\n });\n\n this.getUnsavedDataState.emit(true);\n\n const apis = new Apis(\n {\n FIELD_CONFIG: field,\n API_CONFIG: field.api,\n API_RESPONSE: response,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n const api = await apis.validateResponse();\n field.api = api;\n })();\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\n field.validation.triggers.includes(\"ON_CHANGE\")\n ) {\n const ruleEngine = new RuleEngine(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n await ruleEngine.run(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 this.hideApiLoader();\n\n this.triggerLogs(\n ELogEventType.FORM__API_RESPONSE_REVERSE_LAT_LONG,\n {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"REVERSE_LAT_LONG_API_SUCCESS\",\n response: response\n }\n );\n } else {\n this.triggerLogs(\n ELogEventType.FORM__API_RESPONSE_REVERSE_LAT_LONG,\n {\n api_key: this.apiCallResponse.key,\n field_key: this.apiCallResponse.key,\n response_type: \"REVERSE_LAT_LONG_API_ERROR\"\n }\n );\n\n const apis = new Apis(\n {\n FIELD_CONFIG: field,\n API_CONFIG: field.api,\n API_RESPONSE: {},\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n const api = await apis.validateResponse();\n field.api = api;\n })();\n\n console.error(\"Reverse Location for LatLong Failed\");\n }\n\n this.hideApiLoader();\n break;\n default:\n break;\n }\n }\n if (verifyChange(\"buttonClickResponse\")) {\n this.buttonClickResponse = changes.buttonClickResponse.currentValue;\n\n if (checkObjectKeyExists(this.buttonClickResponse, \"key\")) {\n let field = getFormFieldByKey(\n this.formFields,\n this.buttonClickResponse?.key\n );\n\n if (checkObjectKeyExists(this.buttonClickResponse, \"default\")) {\n field.default = getObjectDeepCopy(this.buttonClickResponse.default);\n delete this.buttonClickResponse[\"default\"];\n }\n if (checkObjectKeyExists(this.buttonClickResponse, \"messages\")) {\n field.messages = getObjectDeepCopy(this.buttonClickResponse.messages);\n delete this.buttonClickResponse[\"messages\"];\n }\n if (checkObjectKeyExists(this.buttonClickResponse, \"validation\")) {\n field.validation = getObjectDeepCopy(\n this.buttonClickResponse.validation\n );\n delete this.buttonClickResponse[\"validation\"];\n }\n\n field = getObjectDeepCopy(\n mergeObjects(field, this.buttonClickResponse)\n );\n\n if (checkObjectKeyExists(field, \"validation\")) {\n if (\n checkObjectKeyExists(field.validation, \"triggers\") &&\n field.validation.triggers.includes(\"ON_RESPONSE\")\n ) {\n const ruleEngine = new RuleEngine(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n await ruleEngine.run(field.validation);\n })();\n }\n }\n }\n }\n if (verifyChange(\"allFormsData\")) {\n this.allFormsData = changes.allFormsData.currentValue;\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 ngOnDestroy(): void {\n if (this.cameraRecordingTimerSubcription) {\n this.cameraRecordingTimerSubcription.unsubscribe();\n }\n if (this.cameraRecordingStateSubcription) {\n this.cameraRecordingStateSubcription.unsubscribe();\n }\n }\n\n @logMethod\n triggerLogs(eventType: ELogEventType, logs: any) {\n this.getLogs.emit(\n formatEventLogs(\n eventType,\n this.stepConfig,\n this.formConfig,\n getObjectDeepCopy(logs)\n )\n );\n }\n\n @logMethod\n async initFormConfig(formConfig: any) {\n formConfig = new Converter().convertFormConfig(formConfig);\n\n formConfig = new Converter().updateFormConfigProperties(formConfig);\n\n this.setFormFieldsFromFormConfig(formConfig);\n\n this.setFormFieldGroupsFromFormConfig(formConfig);\n\n this.setFormDataFromAllFormsData();\n\n this.formConfig = formConfig;\n\n this.triggerLogs(ELogEventType.FORM__CONFIG_LOAD_SUCCESS, {\n ...(formConfig.sequenceNo && {\n form_sequence_no: formConfig.sequenceNo\n }),\n ...(formConfig.status && { form_status: formConfig.status })\n });\n\n /**\n * PRE Form Tasks\n * 1. API Calls.\n * 2. Alter Data Structure.\n * 3. Alter Form Config.\n */\n if (\n checkObjectKeyExists(this.formConfig, \"tasks\") &&\n checkObjectKeyExists(this.formConfig.tasks, \"pre\")\n ) {\n this.triggerLogs(ELogEventType.FORM__TASK_PRE, {});\n\n for (let preTask of this.formConfig.tasks.pre) {\n const task = new Tasks(\n preTask,\n {\n FORM_CONFIG: this.formConfig,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n this.stopTaskExecution = false;\n if (checkObjectKeyExists(preTask, \"wait\")) {\n this.waitingForChanges = preTask.wait;\n } else {\n this.waitingForChanges = false;\n }\n\n await task.execute();\n\n // Wait for ngOnChanges to be called before continuing to the next task\n await new Promise<void>((resolve) => {\n const intervalId = setInterval(() => {\n if (!this.waitingForChanges) {\n clearInterval(intervalId);\n resolve();\n }\n }, 10);\n });\n\n if (this.stopTaskExecution) {\n break;\n }\n }\n\n this.formData = mergeObjects(this.formData, this.popupFormData);\n }\n\n if (this.stopTaskExecution) {\n return false;\n }\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 /**\n * For some reason if their a field of type 'IMAGE' then\n * formData is adding a 'undefined' key with last image's value from the array.\n * Below piece of code is to remove that redundent value from formData.\n */\n if (checkObjectKeyExists(this.formData, \"undefined\")) {\n delete this.formData[\"undefined\"];\n }\n\n for (let field of this.formFields) {\n if (field.isFormElement) {\n this.previousFormData = {\n ...this.previousFormData,\n [field.key]: convertFormFieldValueToStandardFormat(\n field,\n this.formGroup.controls[field.key].value\n )\n };\n\n this.formData = {\n ...this.formData,\n [field.key]: convertFormFieldValueToStandardFormat(\n field,\n this.formGroup.controls[field.key].value\n )\n };\n\n if (field.type === EFieldType.FILE) {\n this.files[field.key] = this.formGroup.controls[field.key].value;\n }\n if (field.type === EFieldType.CAPTURE) {\n this.resetCamera();\n this.mediaFiles[field.key] = this.formGroup.controls[field.key].value;\n }\n if (field.type === EFieldType.RECORD) {\n this.resetCamera();\n this.mediaFiles[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 if (field.type === EFieldType.FILE) {\n this.files[field.key] = currentValue;\n }\n if (field.type === EFieldType.CAPTURE) {\n this.resetCamera();\n this.mediaFiles[field.key] = currentValue;\n }\n if (field.type === EFieldType.RECORD) {\n this.resetCamera();\n this.mediaFiles[field.key] = currentValue;\n }\n });\n }\n }\n\n for (let field of this.formFields) {\n if (field.isFormElement) {\n if (checkObjectKeyExists(field, \"validation\")) {\n if (field.validation.triggers.includes(\"ON_INIT\")) {\n const ruleEngine = new RuleEngine(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await ruleEngine.run(field.validation);\n }\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 return true;\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 const formData = this.allFormsData[this.formConfig.key];\n\n if (\n checkObjectKeyExists(formData, \"data\") &&\n checkObjectKeyExists(formData, \"extendedData\")\n ) {\n this.formData = {\n ...this.formData,\n ...formData[\"data\"]\n };\n } else {\n this.formData = {\n ...this.formData,\n ...formData\n };\n }\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 TASK_DATA: this.taskData,\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 TASK_DATA: this.taskData,\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 TASK_DATA: this.taskData,\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 TASK_DATA: this.taskData,\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 @logMethod\n handleRemovedFile(e: any) {\n this.showApiLoader();\n\n if (this.formGroup[\"controls\"][e.key].enabled) {\n this.files[e.key] = e.files;\n\n this.formData[e.key] = filterDuplicatesFiles(this.files[e.key]);\n\n this.formGroup.patchValue(\n {\n [e.key]: this.formData[e.key]\n },\n { emitEvent: false }\n );\n }\n\n this.triggerLogs(ELogEventType.FORM__FIELD_FILE_REMOVE, {\n field_key: e.key,\n ...(e.file?.name ?? { file_name: e.file?.name }),\n ...(e.file?.size ?? { file_size: e.file?.size }),\n ...(e.file?.type ?? { file_type: e.file?.type })\n });\n\n this.hideApiLoader();\n }\n\n @logMethod\n async handleGetKeyValueFile(e: any) {\n this.showApiLoader();\n\n const field = getFormFieldByKey(this.formFields, e.key);\n\n let values = Array.isArray(e.value) ? e.value : [e.value];\n\n if (\n checkObjectKeyExists(field, \"properties\") &&\n checkObjectKeyExists(field.properties, \"uploadFileToServer\") &&\n field.properties.uploadFileToServer\n ) {\n for (const value of values) {\n await this.uploadFile(field, value);\n }\n } else {\n for (const value of values) {\n this.updateFiles(value, \"LOADING\", e.key);\n\n this.triggerLogs(ELogEventType.FORM__FIELD_FILE_ADD, {\n field_key: e.key,\n ...(e.file?.name ?? { file_name: e.file?.name }),\n ...(e.file?.size ?? { file_size: e.file?.size }),\n ...(e.file?.type ?? { file_type: e.file?.type })\n });\n\n const updatedFile = getObjectDeepCopy(\n await new Promise((resolve) => {\n setTimeout(() => {\n resolve({\n id: uuidv4(),\n name: value.name,\n type: value.type,\n size: value.size,\n lastModified: value.lastModified,\n webkitRelativePath: value.webkitRelativePath\n });\n }, 300); // 1000 ms = 1 sec\n })\n );\n\n this.updateFiles(updatedFile, \"NORMAL\", e.key);\n }\n\n this.hideApiLoader();\n }\n }\n\n /** Methods for Camera related fields like 'CAPTURE' or 'RECORD' */\n @logMethod\n handleOnClickGetRemovedMediaFile(e: any) {\n this.showApiLoader();\n\n if (this.formGroup[\"controls\"][e.key].enabled) {\n this.resetCamera();\n\n this.mediaFiles[e.key] = e.mediaFiles;\n\n this.formData[e.key] = filterDuplicatesMediaFiles(this.mediaFiles[e.key]);\n\n this.formGroup.patchValue(\n {\n [e.key]: this.formData[e.key]\n },\n { emitEvent: false }\n );\n\n this.triggerLogs(ELogEventType.FORM__FIELD_MEDIA_FILE_REMOVE, {\n field_key: e.key,\n ...(e.file?.name ?? { file_name: e.file?.name }),\n ...(e.file?.size ?? { file_size: e.file?.size }),\n ...(e.file?.type ?? { file_type: e.file?.type })\n });\n }\n\n this.hideApiLoader();\n }\n\n @logMethod\n async handleOnClickInputCamera(e: any, field: any) {\n this.loaderService.show({\n loaderText: \"Loading Camera...\",\n fullscreen: true\n });\n\n const fieldKey = field.key;\n const fieldcameraConfig = field?.properties?.cameraConfig ?? {};\n\n this.cameraType = field?.type.toUpperCase() || \"\";\n this.cameraFieldKey = fieldKey;\n\n this.triggerLogs(ELogEventType.FORM__FIELD_CAMERA_BUTTON_CLICK, {\n field_key: field.key,\n field_type: field.type,\n camera_type: this.cameraType\n });\n\n switch (this.cameraType) {\n case \"CAPTURE\":\n this.cameraConfig = mergeObjectsDeep([\n FIELD_PROPERTIES.capture.cameraConfig,\n fieldcameraConfig\n ]);\n\n if (\n this.cameraConfig?.others?.isWatermark ||\n this.cameraConfig?.others?.isWatermarkForImageUpload\n ) {\n const cameraHelper = new CameraHelper(\n field,\n this.formFields,\n this.allFormsData,\n this.formData,\n this.previousFormData\n );\n\n this.cameraData = {\n watermark: await cameraHelper.getCameraWatermarkData()\n };\n } else {\n this.cameraData = undefined;\n }\n break;\n case \"RECORD\":\n this.cameraConfig = mergeObjectsDeep([\n FIELD_PROPERTIES.record.cameraConfig,\n fieldcameraConfig\n ]);\n break;\n default:\n this.resetCamera();\n break;\n }\n\n /**\n * Config and other data is set now, so we can show the camera.\n */\n this.isShowCamera = true;\n\n this.loaderService.hide();\n }\n\n /** KwikID Camera Methods */\n /** CameraType = CAPTURE */\n @logMethod\n async setCameraMedia(media: string): Promise<void> {\n const field = getFormFieldByKey(this.formFields, this.cameraFieldKey);\n\n if (\n checkObjectKeyExists(field, \"properties\") &&\n checkObjectKeyExists(field.properties, \"uploadFileToServer\") &&\n field.properties.uploadFileToServer\n ) {\n await this.uploadFile(field, media);\n } else {\n this.resetCamera();\n\n this.formData[field.key] = getObjectDeepCopy([media]);\n this.mediaFiles[field.key] = getObjectDeepCopy([media]);\n this.formGroup.controls[field.key].patchValue(\n getObjectDeepCopy([media]),\n {\n emitEvent: false,\n onlySelf: false\n }\n );\n this.formGroup.patchValue(\n {\n [field.key]: getObjectDeepCopy([media])\n },\n { emitEvent: false }\n );\n this.formGroup.controls[field.key].updateValueAndValidity({\n emitEvent: false\n });\n this.formGroup.updateValueAndValidity({\n emitEvent: false\n });\n\n this.getUnsavedDataState.emit(true);\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\n field.validation.triggers.includes(\"ON_CHANGE\")\n ) {\n const ruleEngine = new RuleEngine(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n await ruleEngine.run(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 this.triggerLogs(ELogEventType.FORM__FIELD_FILE_ADD, {\n field_key: field.key,\n field_type: field.type\n });\n }\n }\n\n /** Camera Common Methods */\n @logMethod\n handleGetCameraMedia(e: any, cameraType: \"CAPTURE\" | \"RECORD\") {\n switch (cameraType) {\n case \"CAPTURE\":\n this.showApiLoader();\n\n this.cameraImage = \"\";\n\n setTimeout(() => {\n /**\n * Priority of Image to Set for Config Based\n * 1. Masked\n * 2. Cropped\n * 3. Original\n *\n * If no masked or cropped image is available then directly set Original Image\n */\n const field = getFormFieldByKey(this.formFields, this.cameraFieldKey);\n\n const image = field.properties?.isMaskedImage\n ? e?.maskedImage ?? e?.originalImage\n : field.properties?.isCroppedImage\n ? e?.croppedImage ?? e?.originalImage\n : e?.originalImage;\n\n const isShowImagePreview = this.cameraConfig?.others?.preview?.show;\n\n if (isShowImagePreview) {\n this.cameraImage = image;\n } else {\n this.setCameraMedia(image);\n }\n\n this.hideApiLoader();\n }, 500); // Delay is added due to issus with KwikID Camera not being able to handle to fast processing.\n break;\n case \"RECORD\":\n this.showApiLoader();\n\n this.cameraVideo = \"\";\n\n setTimeout(() => {\n /**\n * Priority of Image to Set for Config Based\n * 1. Original\n */\n const field = getFormFieldByKey(this.formFields, this.cameraFieldKey);\n\n const video = e?.originalVideo;\n\n const isShowVideoPreview = this.cameraConfig?.others?.preview?.show;\n\n if (isShowVideoPreview) {\n this.cameraVideo = video;\n } else {\n this.setCameraMedia(video);\n }\n\n this.hideApiLoader();\n }, 500); // Delay is added due to issus with KwikID Camera not being able to handle to fast processing.\n break;\n default:\n break;\n }\n }\n\n @logMethod\n handleOnClickSaveCameraMedia(e: any, cameraType: \"CAPTURE\" | \"RECORD\") {\n this.showApiLoader();\n\n const field = getFormFieldByKey(this.formFields, this.cameraFieldKey);\n\n this.triggerLogs(ELogEventType.FORM__CAMERA_SAVE_BUTTON_CLICK, {\n field_key: field.key,\n field_type: field.type,\n camera_type: cameraType\n });\n\n switch (cameraType) {\n case \"CAPTURE\":\n this.cameraImage = \"\";\n\n setTimeout(() => {\n const image = e?.originalImage;\n\n this.setCameraMedia(image);\n\n this.hideApiLoader();\n }, 500);\n break;\n case \"RECORD\":\n this.cameraVideo = \"\";\n\n setTimeout(() => {\n const video = e?.originalVideo;\n\n this.setCameraMedia(video);\n\n this.hideApiLoader();\n }, 500);\n break;\n }\n }\n\n @logMethod\n handleOnClickCameraBack(e: any): void {\n const field = getFormFieldByKey(this.formFields, this.cameraFieldKey);\n\n this.triggerLogs(ELogEventType.FORM__CAMERA_BACK_BUTTON_CLICK, {\n field_key: field.key,\n field_type: field.type\n });\n\n this.resetCamera();\n }\n\n @logMethod\n handleOnClickCameraClose(e: any): void {\n const field = getFormFieldByKey(this.formFields, this.cameraFieldKey);\n\n this.triggerLogs(ELogEventType.FORM__CAMERA_CLOSE_BUTTON_CLICK, {\n field_key: field.key,\n field_type: field.type\n });\n\n this.resetCamera();\n }\n\n /**\n * This method is used to update the files array with the new file and it's state and response from the api of uploading the file.\n */\n @logMethod\n updateFiles(file: any, state: string, key: string) {\n const fileWithState = mergeObjects(file as any, { state: state });\n\n const field = getFormFieldByKey(this.formFields, key);\n\n if (field.properties?.multiple) {\n // If field.properties?.multiple is true, it means multiple files are allowed for this field.\n // Update the existing files array for the specific key with the new file.\n const updatedFiles = [\n ...this.files[key].filter(\n (f) => f.name !== fileWithState.name || f.size !== fileWithState.size\n ),\n fileWithState\n ];\n\n // Apply the filterDuplicatesFiles function to ensure uniqueness in the updatedFiles array.\n this.files[key] = filterDuplicatesFiles(updatedFiles);\n } else {\n // If field.properties?.multiple is false, only one file is allowed for this field.\n // Replace the existing files array for the specific key with an array containing the new file.\n this.files[key] = [fileWithState];\n }\n\n // Update the formData and formGroup controls for the specific key with the normalFiles array.\n const normalFiles = this.files[key].filter((file) => {\n return file.state === \"NORMAL\";\n });\n\n this.formData[key] = normalFiles;\n this.formGroup.controls[key].patchValue(normalFiles, {\n emitEvent: false,\n onlySelf: false\n });\n this.formGroup.patchValue(\n {\n [key]: normalFiles\n },\n { emitEvent: false }\n );\n\n this.getUnsavedDataState.emit(true);\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\n field.validation.triggers.includes(\"ON_CHANGE\")\n ) {\n const ruleEngine = new RuleEngine(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n await ruleEngine.run(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 /**\n * This is a api upload mocking method. Set's to loading at first at point when API is called and then changes the status to random status after 2 seconds of delay showing a mocked response from API.\n */\n @logMethod\n async uploadFile(field: any, file: any) {\n switch (field.type) {\n case EFieldType.FILE:\n this.updateFiles(file, \"LOADING\", field.key);\n\n this.triggerLogs(ELogEventType.FORM__API_REQUEST_UPLOAD_FILE, {\n field_key: field.key,\n field_type: field.type,\n request: getObjectDeepCopy({\n name: file.name,\n type: file.type,\n size: file.size,\n lastModified: file.lastModified,\n webkitRelativePath: file.webkitRelativePath\n })\n });\n\n // Actual API Call\n try {\n this.onClickApiCall.emit({\n key: field.key,\n type: field.type,\n payload: {\n file: file,\n metadata: {\n name: file.name,\n type: file.type,\n size: file.size,\n lastModified: file.lastModified,\n webkitRelativePath: file.webkitRelativePath\n }\n }\n });\n } catch (err) {\n this.updateFiles(file, \"ERROR\", field.key);\n }\n break;\n case EFieldType.CAPTURE:\n // Actual API Call\n\n this.triggerLogs(ELogEventType.FORM__API_REQUEST_UPLOAD_IMAGE, {\n field_key: field.key,\n field_type: field.type,\n request: {\n image: file\n }\n });\n\n try {\n this.onClickApiCall.emit({\n key: field.key,\n type: field.type,\n payload: {\n image: file\n }\n });\n } catch (err) {\n console.log(\"Failed to upload image to server!\");\n }\n break;\n case EFieldType.RECORD:\n // Actual API Call\n\n this.triggerLogs(ELogEventType.FORM__API_REQUEST_UPLOAD_VIDEO, {\n field_key: field.key,\n field_type: field.type,\n request: {\n video: file\n }\n });\n\n try {\n this.onClickApiCall.emit({\n key: field.key,\n type: field.type,\n payload: {\n video: file\n }\n });\n } catch (err) {\n console.log(\"Failed to upload video to server!\");\n }\n break;\n }\n }\n\n @logMethod\n handleOnClickFormFieldButton(field: any): void {\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 const extendedFormData = this.formFields.reduce((result, field, index) => {\n if (field.isFormElement && !field.hidden) {\n const fieldData = {\n [field.key]: {\n key: field.key,\n label: field.label,\n value: isEmptyValue(formData[field.key]) ? \"\" : formData[field.key],\n type: field.type,\n index: index\n }\n };\n result[field.key] = fieldData[field.key];\n }\n return result;\n }, {});\n\n this.triggerLogs(ELogEventType.FORM__FIELD_BUTTON_CLICK, {\n field_key: field.key,\n field_type: field.type,\n field_label: field.label\n });\n\n this.onClickFormFieldButton.emit({\n config: field,\n data: mergeObjects(this.formData, this.popupFormData, this.taskData),\n extendedData: extendedFormData\n });\n }\n\n @logMethod\n handleOnLocationPermission(e: any) {\n const field = getFormFieldByKey(this.formFields, e.key);\n const fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n // set button status to default\n field[\"api\"][\"status\"][\"value\"] = EApiStatusType.LOADING;\n field[\"showLoader\"] = true;\n this.formFields[fieldIndex] = field;\n this.showApiLoader();\n this.fieldShowApiLoader(field.key);\n\n if (!e.permission) {\n this.triggerLogs(ELogEventType.FORM__LIVE_LOCATION_PERMISSION_ERROR, {\n field_key: field.key,\n field_type: field.type\n });\n\n this.togglePermissionErrorNotification(true);\n setTimeout(() => {\n this.togglePermissionErrorNotification(false);\n }, 3000);\n } else {\n this.triggerLogs(ELogEventType.FORM__LIVE_LOCATION_PERMISSION_SUCCESS, {\n field_key: field.key,\n field_type: field.type\n });\n }\n\n setTimeout(() => {\n // set button status to default\n field[\"api\"][\"status\"][\"value\"] = EApiStatusType.DEFAULT;\n field[\"showLoader\"] = false;\n this.formFields[fieldIndex] = field;\n this.hideApiLoader();\n this.fieldHideApiLoader(field.key);\n }, 500);\n }\n\n @logMethod\n async handleOnClickLiveLocation(e: any) {\n const field = getFormFieldByKey(this.formFields, e.key);\n\n this.triggerLogs(ELogEventType.FORM__LIVE_LOCATION_BUTTON_CLICK, {\n field_key: field.key,\n field_type: field.type\n });\n\n // set button status to loading\n field[\"api\"][\"status\"][\"value\"] = EApiStatusType.LOADING;\n field[\"showLoader\"] = true;\n\n this.showApiLoader();\n\n this.formGroup.patchValue(\n {\n [e.key]: e.value\n },\n { emitEvent: false }\n );\n\n this.formData[e.key] = convertFormFieldValueToStandardFormat(\n field,\n e.value\n );\n\n this.getUnsavedDataState.emit(true);\n\n if (\n checkObjectKeyExists(field, \"properties\") &&\n checkObjectKeyExists(field.properties, \"isGetLocationFromLatLong\") &&\n field.properties.isGetLocationFromLatLong\n ) {\n this.onClickApiCall.emit({\n key: field.key,\n type: field.type,\n payload: {\n ...e.liveLocation\n }\n });\n } else {\n await new Promise((resolve) => {\n setTimeout(() => {\n resolve(true);\n }, 300); // 1000 ms = 1 sec\n });\n\n // set button status to success\n field[\"api\"][\"status\"][\"value\"] = EApiStatusType.SUCCESS;\n field[\"showLoader\"] = false;\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\n field.validation.triggers.includes(\"ON_CHANGE\")\n ) {\n const ruleEngine = new RuleEngine(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n await ruleEngine.run(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 this.hideApiLoader();\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 this.getUnsavedDataState.emit(true);\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\n field.validation.triggers.includes(\"ON_CHANGE\")\n ) {\n const ruleEngine = new RuleEngine(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n await ruleEngine.run(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 this.triggerLogs(ELogEventType.FORM__FIELD_RESET_BUTTON_CLICK, {\n field_key: field.key\n });\n\n const resetFormFields = async () => {\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 TASK_DATA: this.taskData,\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 const BYPASS_RESET_CONFIRM = field?.properties?.bypassResetConfirmation;\n\n if (!BYPASS_RESET_CONFIRM) {\n const CONFIRM_RESET = window.confirm(\n \"This action will reset all the fields. Do you still want to continue?\"\n );\n\n if (CONFIRM_RESET) {\n resetFormFields();\n }\n } else {\n resetFormFields();\n }\n }\n\n @logMethod\n async handleFieldApiCall(field: TFieldApiCall, api: any) {\n api = await this.executeApiCall(api, {\n FIELD_CONFIG: field,\n API_CONFIG: api,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n });\n\n if (this.isValidRequestHeadersAndBody(api)) {\n if (checkObjectKeyExists(field.api, \"request\")) {\n this.formData = {\n ...this.formData,\n [field.key]: api.response.value\n };\n\n this.formGroup.patchValue(\n {\n [field.key]: api.response.value\n },\n { emitEvent: false }\n );\n }\n\n const apis = new Apis(\n {\n FIELD_CONFIG: field,\n API_CONFIG: api,\n API_RESPONSE: api.response,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n api = await apis.validateResponse();\n } else {\n setTimeout(() => {\n field[\"api\"][\"status\"][\"value\"] = EApiStatusType.FAILED;\n field[\"showLoader\"] = false;\n }, 500);\n }\n\n return { field: field, api: api };\n }\n\n @logMethod\n async handleApiCall(api: any) {\n api = await this.executeApiCall(api, {\n FORM_CONFIG: this.formConfig,\n API_CONFIG: api,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n });\n\n const apis = new Apis(\n {\n FORM_CONFIG: this.formConfig,\n API_CONFIG: api,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n if (this.isValidRequestHeadersAndBody(api)) {\n api = await apis.validateResponse();\n }\n\n return { api: api };\n }\n\n @logMethod\n async executeApiCall(api: any, object: any): Promise<any> {\n const apis = new Apis(object, this.takeAction.bind(this));\n\n api = await apis.setUrl();\n api = await apis.setRequestHeaders();\n api = await apis.validateRequestHeaders();\n api = await apis.setRequestBody();\n api = await apis.validateRequestBody();\n\n let apiCallResponse: any = {};\n let apiCallResponseStatusCode;\n\n if (this.isValidRequestHeadersAndBody(api)) {\n if (\n api.request.url.hasOwnProperty(\"type\") &&\n api.request.url.type === EApiRequestUrlType.MOCK\n ) {\n apiCallResponse = await new Promise((resolve) => {\n setTimeout(() => {\n resolve(api.request.url.props.mockedData);\n }, 1000); // 1000 ms = 1 sec\n });\n apiCallResponseStatusCode = api.request.url.props?.statusCode ?? 200; // Default Status Code for Mocked APIs\n } else {\n const url: string = api.request.url.value;\n const method: string = api.request?.method ?? \"POST\";\n const headers: any = {\n \"Content-Type\": \"application/json\",\n ...(api.request?.headers?.value || {})\n };\n\n if (method === \"GET\") {\n // Trigger logs for API request with the method and API key\n this.triggerLogs(ELogEventType.FORM__API_REQUEST, {\n form_api_method: method,\n form_api_key: api?.apiKey ?? \"\"\n });\n\n try {\n // Check if the response needs to be decrypted\n const isDecryptResponse: boolean = api?.response?.isSecure ?? false;\n // Check if the response signature needs to be verified\n const isVerifySignature: boolean =\n api?.response?.isVerifySignature ?? false;\n\n // Execute the API call for GET method\n const executedApiCall: any =\n await this.formViewApiService.executeApiCall(\n url,\n \"GET\",\n {}, // No request body for GET method\n headers,\n false, // isEncryptRequestBody is not applicable for GET method\n isDecryptResponse,\n isVerifySignature\n );\n apiCallResponse = executedApiCall.data;\n apiCallResponseStatusCode = executedApiCall.status;\n } catch {\n // Handle any errors\n apiCallResponse = {};\n apiCallResponseStatusCode = 500; // Internal Server Error\n }\n } else {\n // Extract the request body from the API configuration\n let body: any = api?.request?.body?.value ?? {};\n\n // Check if the request body needs to be encrypted\n const isEncryptRequestBody: boolean =\n api?.request?.body?.isSecure ?? false;\n // Check if the response needs to be decrypted\n const isDecryptResponse: boolean = api?.response?.isSecure ?? false;\n // Check if the response signature needs to be verified\n const isVerifySignature: boolean =\n api?.response?.isVerifySignature ?? false;\n\n // Trigger logs for API request with the method and API key\n this.triggerLogs(ELogEventType.FORM__API_REQUEST, {\n form_api_method: method,\n form_api_key: api?.apiKey ?? \"\",\n form_api_request_encrypted: isEncryptRequestBody,\n ...(!isEncryptRequestBody && {\n form_api_request_body: body\n })\n });\n\n try {\n // Execute the API call for POST method\n const executedApiCall: any =\n await this.formViewApiService.executeApiCall(\n url,\n \"POST\",\n body,\n headers,\n isEncryptRequestBody,\n isDecryptResponse,\n isVerifySignature\n );\n apiCallResponse = executedApiCall.data;\n apiCallResponseStatusCode = executedApiCall.status;\n } catch {\n // Handle any errors\n apiCallResponse = {};\n apiCallResponseStatusCode = 500; // Internal Server Error\n }\n }\n }\n\n api.response = setValueToObjectPath(\n api.response,\n \"value\",\n apiCallResponse\n );\n\n api.response = setValueToObjectPath(\n api.response,\n \"status\",\n apiCallResponseStatusCode\n );\n\n this.triggerLogs(ELogEventType.FORM__API_RESPONSE, {\n form_api_key: api?.apiKey ?? \"\",\n form_api_response_encrypted: api?.response?.isSecure ?? false,\n ...((!api?.response?.isSecure ?? false) && {\n form_api_response_body: apiCallResponse ?? {}\n }),\n form_api_status_code: apiCallResponseStatusCode\n });\n } else {\n this.triggerLogs(ELogEventType.FORM__API_REQUEST_INVALID, {\n form_api_key: api?.apiKey ?? \"\",\n form_api_request_encrypted: api?.request?.body?.isSecure ?? false,\n ...((!api?.request?.body?.isSecure ?? false) && {\n form_api_request_body: api?.request?.body?.value ?? {}\n })\n });\n }\n\n return api;\n }\n\n @logMethod\n isValidRequestHeadersAndBody(api: TApi) {\n const bodyValidation =\n (api.request.body?.validation as TEngine & {\n is_valid: boolean;\n }) ||\n (api.request.body as any & {\n is_valid: boolean;\n });\n const headersValidation =\n (api.request.headers?.validation as TEngine & {\n is_valid: boolean;\n }) ||\n (api.request.headers as any & {\n is_valid: boolean;\n });\n\n if (!bodyValidation && !headersValidation) {\n return false;\n }\n\n return (\n (bodyValidation?.is_valid || false) &&\n (headersValidation?.is_valid || false)\n );\n }\n\n showApiLoader() {\n this.loaderService.show({\n fullscreen: true,\n loaderText: \"Please wait\"\n });\n this.viewFormsButton[\"disabled\"] = true;\n this.viewFormsButton[\"showLoader\"] = true;\n this.saveFormButton[\"disabled\"] = true;\n this.saveFormButton[\"showLoader\"] = true;\n }\n\n hideApiLoader() {\n this.loaderService.hide();\n this.viewFormsButton[\"disabled\"] = false;\n this.viewFormsButton[\"showLoader\"] = false;\n this.saveFormButton[\"disabled\"] = false;\n this.saveFormButton[\"showLoader\"] = false;\n }\n\n @logMethod\n async handleOnClickApiCall(e: any) {\n let field: TFieldApiCall = getFormFieldByKey(this.formFields, e.key);\n\n if (field.type === EFieldType.API) {\n this.triggerLogs(ELogEventType.FORM__API_BUTTON_CLICK, {\n field_key: field.key,\n field_type: field.type\n });\n\n // set button status to loading\n field[\"api\"][\"status\"][\"value\"] = EApiStatusType.LOADING;\n field[\"showLoader\"] = true;\n\n this.showApiLoader();\n\n // Determine API Call time\n\n if (checkObjectKeyExists(field.api, \"request\")) {\n await this.handleFieldApiCall(field, field.api);\n } else {\n const apis = new Apis(\n {\n FIELD_CONFIG: field,\n API_CONFIG: {},\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await apis.callNextApi(field.api.entrypoint);\n }\n\n this.hideApiLoader();\n }\n }\n\n /**\n * Method to optimize the DOM update by Angular for using *ngFor on large no. of items.\n * @param index number\n * @param item fieldConfig\n * @returns string\n */\n getUniqueIdentifier(index: number, item: any): string {\n return item.key;\n }\n\n @logMethod\n handleOnClickGoBack(e: any, mode: TFormViewGoBackMode) {\n if (this.formConfig.status === EFormsListStatus.COMPLETED) {\n this.onClickGoBack.emit({\n clicked: true,\n mode: mode\n });\n } else if (\n this.formConfig.properties.header.backButton.bypassConfirmation ||\n window.confirm(\"Your data will be lost if you leave this page! Continue?\")\n ) {\n this.onClickGoBack.emit({\n clicked: true,\n mode: mode\n });\n }\n }\n\n @logMethod\n handleOnClickViewForms(e: any) {\n if (this.formConfig.status === EFormsListStatus.COMPLETED) {\n this.onClickViewForms.emit({\n clicked: true\n });\n } else if (\n this.formConfig.properties.footer.viewFormsButton.bypassConfirmation ||\n window.confirm(\"Your data will be lost if you leave this page! Continue?\")\n ) {\n this.triggerLogs(ELogEventType.FORM__VIEW_BUTTON_CLICK, {});\n\n this.onClickViewForms.emit({\n clicked: true\n });\n }\n }\n\n @logMethod\n async handleOnClickSaveForm(e: any) {\n if (e) {\n this.triggerLogs(ELogEventType.FORM__SAVE_BUTTON_CLICK, {});\n } else {\n this.triggerLogs(ELogEventType.FORM__SAVE_AUTO, {});\n }\n\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) {\n const field = getFormFieldByKey(this.formFields, control.key);\n this.triggerLogs(ELogEventType.FORM__FIELD_ERROR_SHOW, {\n field_key: control.key,\n field_type: field.type,\n field_error_types: this.formGroup.controls[control.key].errors\n });\n\n if (isEmptyValue(firstFieldWithError)) {\n firstFieldWithError = control.key;\n }\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 if (isNotEmptyValue(firstFieldWithError)) {\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.hidden &&\n checkObjectKeyExists(field, \"validation\") &&\n field.validation.triggers.includes(\"ON_SAVE\")\n ) {\n const ruleEngine = new RuleEngine(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await ruleEngine.run(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 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 const extendedFormData = this.formFields.reduce((result, field, index) => {\n if (field.isFormElement && !field.hidden) {\n const fieldData = {\n [field.key]: {\n key: field.key,\n label: field.label,\n value: isEmptyValue(formData[field.key]) ? \"\" : formData[field.key],\n type: field.type,\n index: index\n }\n };\n result[field.key] = fieldData[field.key];\n }\n return result;\n }, {});\n\n Object.keys(formData).map((key) => {\n if (isEmptyValue(formData[key])) {\n formData[key] = \"\";\n }\n });\n\n /**\n * POST Tasks\n * 1. API Calls.\n * 2. Alter Data Structure.\n * 3. Trigger an Internal Popup Form.\n * 4. URL Redirection or new opening of URL in external tab.\n */\n if (\n checkObjectKeyExists(this.formConfig, \"tasks\") &&\n checkObjectKeyExists(this.formConfig.tasks, \"post\")\n ) {\n this.triggerLogs(ELogEventType.FORM__TASK_POST, {});\n\n for (let postTask of this.formConfig.tasks.post) {\n const task = new Tasks(\n postTask,\n {\n FORM_CONFIG: this.formConfig,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n this.stopTaskExecution = false;\n if (checkObjectKeyExists(postTask, \"wait\")) {\n this.waitingForChanges = postTask.wait;\n } else {\n this.waitingForChanges = false;\n }\n\n await task.execute();\n\n // Wait for ngOnChanges to be called before continuing to the next task\n await new Promise<void>((resolve) => {\n const intervalId = setInterval(() => {\n if (!this.waitingForChanges) {\n clearInterval(intervalId);\n resolve();\n }\n }, 10);\n });\n\n if (this.stopTaskExecution) {\n break;\n }\n }\n\n if (this.stopTaskExecution || this.waitingForChanges) {\n this.stopTaskExecution = false;\n return;\n }\n\n this.onClickSaveForm.emit({\n formConfig: this.formConfig,\n data: mergeObjects(\n this.allFormsData[this.formConfig.key],\n formData,\n this.popupFormData,\n this.taskData\n ),\n extendedData: extendedFormData\n });\n } else {\n this.getUnsavedDataState.emit(false);\n this.onClickSaveForm.emit({\n formConfig: this.formConfig,\n data: mergeObjects(formData, this.popupFormData, this.taskData),\n extendedData: extendedFormData\n });\n }\n }\n\n @logMethod\n async handleOnApiTimerStop(e: any) {\n this.fieldApiTimerMessageHide(e.key);\n }\n\n showErrorNotification: boolean = false;\n @logMethod\n toggleErrorNotification(show: boolean): void {\n this.showErrorNotification = show;\n }\n\n showPermissionErrorNotification: boolean = false;\n @logMethod\n togglePermissionErrorNotification(show: boolean): void {\n this.showPermissionErrorNotification = 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 this.triggerLogs(ELogEventType.FORM__FIELD_HIDE, {\n field_key: fieldKey,\n field_type: field.type\n });\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 this.triggerLogs(ELogEventType.FORM__FIELD_SHOW, {\n field_key: fieldKey,\n field_type: field.type\n });\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 } else if (field.type === EFieldType.BUTTON) {\n this.formFields[fieldIndex][\"disabled\"] = true;\n }\n\n this.triggerLogs(ELogEventType.FORM__FIELD_DISABLE, {\n field_key: fieldKey,\n field_type: field.type\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 } else if (field.type === EFieldType.BUTTON) {\n this.formFields[fieldIndex][\"disabled\"] = false;\n }\n\n this.triggerLogs(ELogEventType.FORM__FIELD_ENABLE, {\n field_key: fieldKey,\n field_type: field.type\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 // Reset the value of the field in the formGroup\n const resetValue = convertFormFieldEmptyValueToKwikUIFormat(field);\n\n this.formData[fieldKey] = resetValue;\n\n this.formGroup.controls[field.key].reset(resetValue, {\n emitEvent: false,\n onlySelf: true\n });\n\n this.formGroup.patchValue(\n {\n [field.key]: resetValue\n },\n { emitEvent: false }\n );\n\n this.formGroup.controls[field.key].updateValueAndValidity({\n emitEvent: true\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 EFieldType.API:\n const fieldApiCall = field as TFieldApiCall;\n fieldApiCall.api.status.value = EApiStatusType.DEFAULT;\n this.formFields[fieldIndex] = fieldApiCall;\n break;\n case EFieldType.LIVE_LOCATION:\n const fieldLiveLocation = field as TFieldLiveLocation;\n fieldLiveLocation.api.status.value = EApiStatusType.DEFAULT;\n this.formFields[fieldIndex] = fieldLiveLocation;\n break;\n default:\n field.focus = false;\n field.invalid = false;\n this.formFields[fieldIndex] = field;\n break;\n }\n\n this.triggerLogs(ELogEventType.FORM__FIELD_RESET, {\n field_key: fieldKey,\n field_type: field.type\n });\n }\n\n @logMethod\n fieldHideApiLoader(fieldKey: string) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n // Reset the value of the field in the formFields array\n switch (field.type) {\n case EFieldType.API:\n const fieldApiCall = field as TFieldApiCall;\n fieldApiCall.disabled = false;\n this.formFields[fieldIndex] = fieldApiCall;\n break;\n case EFieldType.LIVE_LOCATION:\n const fieldLiveLocation = field as TFieldLiveLocation;\n fieldLiveLocation.disabled = false;\n this.formFields[fieldIndex] = fieldLiveLocation;\n break;\n default:\n break;\n }\n }\n\n @logMethod\n fieldShowApiLoader(fieldKey: string) {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n // Reset the value of the field in the formFields array\n switch (field.type) {\n case EFieldType.API:\n const fieldApiCall = field as TFieldApiCall;\n fieldApiCall.disabled = true;\n this.formFields[fieldIndex] = fieldApiCall;\n break;\n case EFieldType.LIVE_LOCATION:\n const fieldLiveLocation = field as TFieldLiveLocation;\n fieldLiveLocation.disabled = true;\n this.formFields[fieldIndex] = fieldLiveLocation;\n break;\n default:\n break;\n }\n }\n\n @logMethod\n setHtml(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 = appendHtmlMessage(field, message);\n\n this.formFields[fieldIndex] = field;\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 this.triggerLogs(ELogEventType.FORM__FIELD_ERROR_SHOW, {\n field_key: fieldKey,\n field_type: field.type,\n field_error_message: message\n });\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 this.triggerLogs(ELogEventType.FORM__FIELD_ERROR_HIDE, {\n field_key: fieldKey,\n field_type: field.type,\n field_error_message: message\n });\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 this.triggerLogs(ELogEventType.FORM__FIELD_MESSAGE_SHOW, {\n field_key: fieldKey,\n field_type: field.type,\n field_message: message\n });\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 this.triggerLogs(ELogEventType.FORM__FIELD_MESSAGE_HIDE, {\n field_key: fieldKey,\n field_type: field.type,\n field_message: message\n });\n }\n\n async fieldApiTimerMessageShow(\n fieldKey: string,\n timer: TApiTimer\n ): Promise<void> {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n field = setApiTimerMessage(field, timer);\n\n this.formFields[fieldIndex] = field;\n this.cd.detectChanges();\n\n this.triggerLogs(ELogEventType.FORM__FIELD_API_TIMER_MESSAGE_SHOW, {\n field_key: fieldKey,\n field_type: field.type,\n field_timer: timer\n });\n }\n\n async fieldApiTimerMessageHide(fieldKey: string): Promise<void> {\n let field = getFormFieldByKey(this.formFields, fieldKey);\n let fieldIndex = this.formFields.findIndex((_: any) => {\n return field.key === _.key;\n });\n\n field = setApiTimerMessage(field, undefined);\n\n if (\n field.isFormElement &&\n checkObjectKeyExists(field, \"validation\") &&\n field.validation.triggers.includes(\"ON_API_TIMER_STOP\")\n ) {\n const ruleEngine = new RuleEngine(\n {\n FIELD_CONFIG: field,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n (async () => {\n await ruleEngine.run(field.validation);\n })();\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_API_TIMER_STOP\"\n );\n }\n\n this.formFields[fieldIndex] = field;\n this.cd.detectChanges();\n\n this.triggerLogs(ELogEventType.FORM__FIELD_API_TIMER_MESSAGE_HIDE, {\n field_key: fieldKey,\n field_type: field.type\n });\n }\n\n @logMethod\n async setValue(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = await source.getValueFromSource(\n action.props.value.source\n );\n source.setValueToSource(action.props.value.destination, sourceValue);\n\n object.FIELD_CONFIG = source.object.FIELD_CONFIG;\n\n this.formData = source.object.FORM_DATA;\n this.patchFormGroup(this.formData);\n this.allFormsData = source.object.ALL_FORMS_DATA;\n this.previousFormData = source.object.PREVIOUS_FORM_DATA;\n }\n\n @logMethod\n async setFieldDefaultValue(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = await source.getValueFromSource(\n action.props.value.source\n );\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"FIELD_CONFIG\",\n path: \"default.value.value\"\n }\n }\n },\n sourceValue\n );\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"FORM_DATA\",\n path: String(action.props.fieldKey)\n }\n }\n },\n sourceValue\n );\n\n object.FIELD_CONFIG = source.object.FIELD_CONFIG;\n this.formData = source.object.FORM_DATA;\n this.patchFormGroup(this.formData);\n this.allFormsData = source.object.ALL_FORMS_DATA;\n this.previousFormData = source.object.PREVIOUS_FORM_DATA;\n }\n\n @logMethod\n async setApiStatus(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = action.props.status;\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"FIELD_CONFIG\",\n path: \"api.status.value\"\n }\n }\n },\n sourceValue\n );\n\n object.FIELD_CONFIG = source.object.FIELD_CONFIG;\n }\n\n @logMethod\n async setApiHeaderValue(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = await source.getValueFromSource(action.props.source);\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"API_CONFIG\",\n path: `request.headers.value.${action.props.key}`\n }\n }\n },\n sourceValue\n );\n\n object.API_CONFIG = source.object.API_CONFIG;\n }\n\n @logMethod\n async setApiHeaderValidity(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = action.props.valid;\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"API_CONFIG\",\n path: \"request.headers.is_valid\"\n }\n }\n },\n sourceValue\n );\n\n object.API_CONFIG = source.object.API_CONFIG;\n }\n\n @logMethod\n async setApiBodyValue(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = await source.getValueFromSource(action.props.source);\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"API_CONFIG\",\n path: `request.body.value.${action.props.key}`\n }\n }\n },\n sourceValue\n );\n\n object.API_CONFIG = source.object.API_CONFIG;\n }\n\n @logMethod\n async setApiBodyValidity(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = action.props.valid;\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"API_CONFIG\",\n path: \"request.body.is_valid\"\n }\n }\n },\n sourceValue\n );\n\n object.API_CONFIG = source.object.API_CONFIG;\n }\n\n @logMethod\n async setFieldValidity(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n const sourceValue = action.props.valid;\n\n source.setValueToSource(\n {\n key: ESourceKey.OBJECT,\n props: {\n object: {\n key: \"FIELD_CONFIG\",\n path: \"validation.is_valid\"\n }\n }\n },\n sourceValue\n );\n\n object.API_CONFIG = source.object.API_CONFIG;\n }\n\n @logMethod\n async setDropdownOptions(action: TAction, object: any): Promise<void> {\n const source = new Source(object);\n\n let sourceValue = await source.getValueFromSource(\n action.props.value.source\n );\n if (checkObjectKeyExists(action.props, \"options\")) {\n if (checkObjectKeyExists(action.props.options, \"appendToPath\")) {\n let appendToPath = await source.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 sourceValue = getObjectValueFromPath(sourceValue, optionsPath);\n }\n } else {\n sourceValue = getObjectValueFromPath(\n sourceValue,\n action.props.options.path\n );\n }\n }\n source.setValueToSource(action.props.value.destination, sourceValue);\n\n object.FIELD_CONFIG = source.object.FIELD_CONFIG;\n this.formData = source.object.FORM_DATA;\n this.allFormsData = source.object.ALL_FORMS_DATA;\n this.previousFormData = source.object.PREVIOUS_FORM_DATA;\n }\n\n @logMethod\n async apiCall(action: TAction, object: any): Promise<TApi> {\n let apiConfig = this.formConfig.apis[action.props.formApiKey];\n\n const response = await this.handleApiCall(apiConfig);\n\n apiConfig = response.api;\n\n this.formConfig = setValueToObjectPath(\n this.formConfig,\n `apis.${action.props.formApiKey}`,\n apiConfig\n );\n\n this.formData = mergeObjects(this.formData, {\n [action.props.formApiKey]: apiConfig.response.value\n });\n\n return apiConfig;\n }\n\n @logMethod\n async fieldApiCall(action: TAction, object: any): Promise<void> {\n this.showApiLoader();\n\n const apiConfig = await this.apiCall(action, object);\n\n this.hideApiLoader();\n }\n\n @logMethod\n async fieldMultipleApiCalls(action: TAction, object: any): Promise<void> {\n const entrypointApiKey = action.props.apiKey;\n let field = getFormFieldByKey(this.formFields, action.props.fieldKey);\n const endpoints = field.api.endpoints;\n const nextApiIndex = endpoints.findIndex(\n (api: TApiEndpoint) => api.apiKey == entrypointApiKey\n );\n const apiConfig = endpoints[nextApiIndex];\n\n const response = await this.handleFieldApiCall(field, apiConfig);\n\n field = response.field;\n field.api.endpoints[nextApiIndex] = response.api;\n }\n\n @logMethod\n async fieldMultipleApiCallsEnd(action: TAction, object: any): Promise<void> {\n const field = getFormFieldByKey(this.formFields, action.props.fieldKey);\n let multipleApiCallResponses = {};\n field.api.endpoints.map((api: TApiEndpoint) => {\n if (checkObjectKeyExists(api.response, \"value\"))\n multipleApiCallResponses = setValueToObjectPath(\n multipleApiCallResponses,\n `${api.apiKey}`,\n api.response.value\n );\n });\n this.formData = {\n ...this.formData,\n [field.key]: multipleApiCallResponses\n };\n this.patchFormGroup(this.formData);\n }\n\n @logMethod\n async taskApiCall(action: TAction, object: any): Promise<void> {\n this.showApiLoader();\n\n const apiConfig = await this.apiCall(action, object);\n\n this.taskData = mergeObjects(this.taskData, {\n [action.props.formApiKey]: apiConfig.response.value\n });\n\n this.waitingForChanges = false;\n\n this.hideApiLoader();\n }\n\n @logMethod\n async taskMultipleApiCalls(action: TAction, object: any): Promise<void> {\n this.showApiLoader();\n\n let multipleApiConfig = this.formConfig.apis[action.props.formApiKey];\n\n if (checkObjectKeyExists(action.props, \"apiKey\")) {\n const entrypointApiKey = action.props.apiKey;\n const endpoints = multipleApiConfig.endpoints;\n const nextApiIndex = endpoints.findIndex(\n (api: TApiEndpoint) => api.apiKey == entrypointApiKey\n );\n const apiConfig = endpoints[nextApiIndex];\n\n const response = await this.handleApiCall(apiConfig);\n\n multipleApiConfig.endpoints[nextApiIndex] = response.api;\n\n this.formConfig = setValueToObjectPath(\n this.formConfig,\n `apis.${action.props.formApiKey}`,\n multipleApiConfig\n );\n\n this.hideApiLoader();\n } else {\n const apis = new Apis(\n {\n FORM_CONFIG: this.formConfig,\n API_CONFIG: multipleApiConfig,\n FORM_FIELDS: this.formFields,\n FORM_DATA: this.formData,\n TASK_DATA: this.taskData,\n PREVIOUS_FORM_DATA: this.previousFormData,\n ALL_FORMS_DATA: this.allFormsData\n },\n this.takeAction.bind(this)\n );\n\n await apis.callNextApi(multipleApiConfig.entrypoint);\n }\n }\n\n @logMethod\n async taskMultipleApiCallsEnd(action: TAction, object: any): Promise<void> {\n const multipleApiConfig = this.formConfig.apis[action.props.formApiKey];\n\n let multipleApiCallResponses = {};\n multipleApiConfig.endpoints.map((api: TApiEndpoint) => {\n if (checkObjectKeyExists(api.response, \"value\"))\n multipleApiCallResponses = setValueToObjectPath(\n multipleApiCallResponses,\n `${api.apiKey}`,\n api.response.value\n );\n });\n this.taskData = {\n ...this.taskData,\n [action.props.formApiKey]: multipleApiCallResponses\n };\n\n this.waitingForChanges = false;\n\n this.hideApiLoader();\n }\n\n dialogRef: any = undefined;\n @logMethod\n dialogShow(options: any) {\n this.triggerLogs(ELogEventType.FORM__DIALOG_SHOW, {});\n\n this.dialogRef = this.dialogService\n .open(options?.html, {\n closeable: true,\n dismissible: true,\n label: options?.label,\n size: options?.size ?? \"s\",\n data: { button: options?.button }\n })\n .subscribe({\n error: () => {\n this.triggerLogs(ELogEventType.FORM__DIALOG_ERROR, {});\n },\n complete: () => {\n this.triggerLogs(ELogEventType.FORM__DIALOG_HIDE, {});\n }\n });\n }\n\n @logMethod\n dialogHide() {\n if (this.dialogRef) {\n this.dialogRef.complete();\n }\n }\n\n @logMethod\n redirectToUrl(action: TAction) {\n if (checkObjectKeyExists(action.props, \"url\")) {\n if (checkObjectKeyExists(action.props.url, \"url\")) {\n let timeout = 2000;\n if (\n checkObjectKeyExists(action.props.url, \"timeout\") &&\n typeof action.props.url.timeout == \"number\"\n ) {\n timeout = action.props.url.timeout;\n }\n\n this.triggerLogs(ELogEventType.FORM__REDIRECT_URL, {\n timeout: timeout,\n redirect_url: action.props.url\n });\n\n setTimeout(() => {\n if (checkObjectKeyExists(action.props.url, \"target\")) {\n window.open(action.props.url.url, action.props.url.target);\n } else {\n window.location.replace(action.props.url.url);\n }\n }, timeout);\n }\n }\n }\n\n @logMethod\n patchFieldControlValue(key: string, value: any) {\n this.formGroup.controls[key].patchValue(value, { emitEvent: false });\n }\n\n @logMethod\n setFieldControlValue(key: string, value: any) {\n this.formGroup.controls[key].setValue(value, { emitEvent: false });\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 let formDataInKwikUIFormat = {};\n for (let fieldKey in formData) {\n const field = getFormFieldByKey(this.formFields, fieldKey);\n if (!isUndefined(field) && !isNull(field)) {\n formDataInKwikUIFormat[fieldKey] =\n convertFormFieldValueToKwikUIFormat(field, formData[fieldKey]);\n }\n }\n this.formGroup.patchValue(formDataInKwikUIFormat, { 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 showPreview(previewProperties: any): void {\n this.previewProperties = mergeObjects(\n this.previewProperties,\n previewProperties\n );\n\n if (\n isEmptyValue(this.previewProperties.iframe.src) &&\n isEmptyValue(this.previewProperties.html.before) &&\n isEmptyValue(this.previewProperties.html.after)\n ) {\n this.previewProperties.unavailable = true;\n } else {\n this.previewProperties.unavailable = false;\n }\n\n const resetPreviewProperties = () => {\n this.previewProperties = {\n html: {\n before: \"\",\n beforeStyles: \"\",\n after: \"\",\n afterStyles: \"\"\n },\n iframe: {\n src: \"\",\n title: \"\"\n },\n type: \"dialog\",\n popupFormKey: \"\",\n title: \"\",\n size: \"auto\",\n unavailable: false\n };\n };\n\n const showDialog = () => {\n this.triggerLogs(ELogEventType.FORM__DIALOG_SHOW, {});\n\n this.previewDialogRef = this.dialogService\n .open(this.dialog, {\n closeable: true,\n dismissible: true,\n size: this.previewProperties?.size || \"auto\",\n required: true\n })\n .subscribe({\n next: (data) => {\n this.previewDialogRef.complete();\n },\n error: () => {\n this.triggerLogs(ELogEventType.FORM__DIALOG_ERROR, {});\n\n resetPreviewProperties();\n },\n complete: () => {\n this.triggerLogs(ELogEventType.FORM__DIALOG_HIDE, {});\n\n resetPreviewProperties();\n }\n });\n };\n\n const showPreview = () => {\n this.triggerLogs(ELogEventType.FORM__PREVIEW_SHOW, {});\n\n this.previewDialogRef = this.previewDialogService\n .open(this.preview || \"\")\n .subscribe({\n error: () => {\n this.triggerLogs(ELogEventType.FORM__PREVIEW_ERROR, {});\n\n resetPreviewProperties();\n },\n complete: () => {\n this.triggerLogs(ELogEventType.FORM__PREVIEW_HIDE, {});\n\n resetPreviewProperties();\n }\n });\n };\n\n switch (this.previewProperties.type) {\n case \"dialog\":\n showDialog();\n break;\n case \"popup\":\n showPreview();\n break;\n default:\n showDialog();\n break;\n }\n }\n\n @logMethod\n showErrorPreview(previewProperties: any): void {\n this.showPreview({\n html: {\n after: `<div style=\\\"padding-bottom:0.25rem;padding-top: 0.25rem;position: absolute;margin-top: calc(50vh);font-size: 1.4rem;background: white;padding: 2rem;border-radius: 1rem;box-shadow: 0px 0px 10px -3px black;overflow: auto;height: fit-content;max-height: 90vh; width: 70vw; margin-left: calc(15vw); line-height: 2rem;\\\">Error: ${previewProperties.message.message}</div>`\n },\n type: \"popup\"\n });\n }\n\n @logMethod\n showPopupForm(\n popupFormKey: string,\n popupType: \"DIALOG\" | \"POPUP\" = \"DIALOG\"\n ): void {\n const popupFormConfig = this.formConfig.popupForms[popupFormKey];\n\n this.onActionShowPopupForm.emit({\n activeFormData: mergeObjects(this.formData, this.taskData),\n popupFormConfig: popupFormConfig,\n popupType: popupType\n });\n }\n\n @logMethod\n alertShow(type: TuiNotification, message: string): void {\n this.triggerLogs(ELogEventType.FORM__ALERT_SHOW, {\n alert_message: message,\n alert_type: type\n });\n\n this.alertService\n .open(`${message}`, {\n status:\n type === \"error\"\n ? TuiNotification.Error\n : type === \"warning\"\n ? TuiNotification.Warning\n : type === \"success\"\n ? TuiNotification.Success\n : TuiNotification.Info\n })\n .subscribe({\n error: () => {\n this.triggerLogs(ELogEventType.FORM__ALERT_ERROR, {});\n },\n complete: () => {\n this.triggerLogs(ELogEventType.FORM__ALERT_HIDE, {});\n }\n });\n }\n\n @logMethod\n async takeActionOnFieldGroup(action: TAction, object: any) {\n /**\n * This below code is currently commented because not all actions need to be logged at backend.\n * Will look later into where only specific actions needs to be logged or all.\n * Currently logs are sent from withing the action's specific methods.\n * Code -\n this.triggerLogs(ELogEventType.FORM__ACTION_EXECUTE_GROUP, {\n action_key: action.key,\n ...(action.id && { action_id: action.id }),\n ...(action.props.groupKey && { action_id: action.props.groupKey })\n });\n */\n\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 case EActionKey.FIELD_GROUP_SHOW_API_LOADER:\n this.fieldGroupDisable(action.props.groupKey);\n break;\n case EActionKey.FIELD_GROUP_HIDE_API_LOADER:\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 /**\n * This below code is currently commented because not all actions need to be logged at backend.\n * Will look later into where only specific actions needs to be logged or all.\n * Currently logs are sent from withing the action's specific methods.\n * Code -\n this.triggerLogs(ELogEventType.FORM__ACTION_EXECUTE, {\n action_key: action.key,\n ...(action.id && { action_id: action.id })\n });\n */\n\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_SHOW_API_LOADER:\n this.fieldEnable(action.props.fieldKey);\n break;\n case EActionKey.FIELD_HIDE_API_LOADER:\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 if (checkObjectKeyExists(action.props.message, \"source\")) {\n const fieldErrorShow_Source = new Source(object);\n\n let fieldErrorShowSourceValue =\n await fieldErrorShow_Source.getValueFromSource(\n action.props.message.source\n );\n\n if (\n typeof fieldErrorShowSourceValue == \"string\" ||\n typeof fieldErrorShowSourceValue == \"number\"\n ) {\n fieldErrorShowSourceValue = String(fieldErrorShowSourceValue);\n } else {\n fieldErrorShowSourceValue = \"\";\n }\n\n action = setValueToObjectPath(\n action,\n \"props.message.message\",\n fieldErrorShowSourceValue\n );\n }\n action.props.message.message = updateLanguage(\n action.props.message.message,\n getLanguage()\n );\n this.fieldErrorShow(action.props.fieldKey, action.props.message);\n break;\n case EActionKey.FIELD_ERROR_HIDE:\n if (checkObjectKeyExists(action.props.message, \"source\")) {\n const fieldErrorHide_Source = new Source(object);\n\n let fieldErrorHideSourceValue =\n await fieldErrorHide_Source.getValueFromSource(\n action.props.message.source\n );\n\n if (\n typeof fieldErrorHideSourceValue == \"string\" ||\n typeof fieldErrorHideSourceValue == \"number\"\n ) {\n fieldErrorHideSourceValue = String(fieldErrorHideSourceValue);\n } else {\n fieldErrorHideSourceValue = \"\";\n }\n\n action = setValueToObjectPath(\n action,\n \"props.message.message\",\n fieldErrorHideSourceValue\n );\n }\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.FIELD_API_TIMER_MESSAGE_SHOW:\n await this.fieldApiTimerMessageShow(\n action.props.fieldKey,\n action.props.timer\n );\n break;\n case EActionKey.FIELD_API_TIMER_MESSAGE_HIDE:\n await this.fieldApiTimerMessageHide(action.props.fieldKey);\n break;\n case EActionKey.SET_VALUE:\n await this.setValue(action, object);\n break;\n case EActionKey.SET_FIELD_DEFAULT_VALUE:\n await this.setFieldDefaultValue(action, object);\n break;\n case EActionKey.SET_API_STATUS:\n await this.setApiStatus(action, object);\n break;\n case EActionKey.SET_API_HEADER_VALUE:\n await this.setApiHeaderValue(action, object);\n break;\n case EActionKey.SET_API_HEADER_VALIDITY:\n await this.setApiHeaderValidity(action, object);\n break;\n case EActionKey.SET_API_BODY_VALUE:\n await this.setApiBodyValue(action, object);\n break;\n case EActionKey.SET_API_BODY_VALIDITY:\n await this.setApiBodyValidity(action, object);\n break;\n case EActionKey.SET_DROPDOWN_OPTIONS:\n await this.setDropdownOptions(action, object);\n break;\n case EActionKey.SET_FIELD_VALIDITY:\n await this.setFieldValidity(action, object);\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.API_CALL:\n await this.fieldApiCall(action, object);\n break;\n case EActionKey.API_CALL_MULTIPLE:\n await this.fieldMultipleApiCalls(action, object);\n break;\n case EActionKey.API_CALL_MULTIPLE_END:\n await this.fieldMultipleApiCallsEnd(action, object);\n break;\n case EActionKey.TASK_API_CALL:\n await this.taskApiCall(action, object);\n break;\n case EActionKey.TASK_API_CALL_MULTIPLE:\n await this.taskMultipleApiCalls(action, object);\n break;\n case EActionKey.TASK_API_CALL_MULTIPLE_END:\n await this.taskMultipleApiCallsEnd(action, object);\n break;\n case EActionKey.REDIRECT_TO_URL:\n if (checkObjectKeyExists(action.props.url, \"source\")) {\n const redirectToUrl_Source = new Source(object);\n\n let redirectToUrlSourceValue =\n await redirectToUrl_Source.getValueFromSource(\n action.props.url.source\n );\n\n if (isEmptyString(redirectToUrlSourceValue)) {\n redirectToUrlSourceValue = \"\";\n }\n\n action = setValueToObjectPath(\n action,\n \"props.url.url\",\n redirectToUrlSourceValue\n );\n }\n this.redirectToUrl(action);\n case EActionKey.PREVIEW_DIALOG_SHOW:\n this.showPreview(action.props);\n break;\n case EActionKey.PREVIEW_ERROR_SHOW:\n if (checkObjectKeyExists(action.props.message, \"source\")) {\n const previewErrorShow_Source = new Source(object);\n\n let previewErrorShowSourceValue =\n await previewErrorShow_Source.getValueFromSource(\n action.props.message.source\n );\n\n if (\n typeof previewErrorShowSourceValue == \"string\" ||\n typeof previewErrorShowSourceValue == \"number\"\n ) {\n previewErrorShowSourceValue = String(previewErrorShowSourceValue);\n } else {\n previewErrorShowSourceValue = \"\";\n }\n\n action = setValueToObjectPath(\n action,\n \"props.message.message\",\n previewErrorShowSourceValue\n );\n }\n this.showErrorPreview(action.props);\n break;\n case EActionKey.POPUP_FORM_SHOW:\n this.showPopupForm(\n action.props.popupFormKey,\n action.props?.popupType ?? \"DIALOG\"\n );\n break;\n case EActionKey.STOP_WAITING:\n this.waitingForChanges = false;\n break;\n case EActionKey.NOTIFICATION_ERROR_SHOW:\n this.toggleErrorNotification(true);\n break;\n case EActionKey.NOTIFICATION_ERROR_HIDE:\n this.toggleErrorNotification(false);\n break;\n case EActionKey.RESUME_TASK_EXECUTION:\n this.stopTaskExecution = false;\n break;\n case EActionKey.STOP_TASK_EXECUTION:\n this.stopTaskExecution = true;\n break;\n case EActionKey.DIALOG_SHOW:\n this.dialogShow({\n html: action.props?.html,\n label: action.props?.label,\n size: action.props?.size,\n button: action.props?.button\n });\n break;\n case EActionKey.DIALOG_HIDE:\n this.dialogHide();\n break;\n case EActionKey.SAVE_FORM:\n this.handleOnClickSaveForm(undefined);\n break;\n case EActionKey.ALERT_SHOW:\n this.alertShow(action.props.type, action.props.message);\n break;\n case EActionKey.SET_HTML:\n if (checkObjectKeyExists(action.props.message, \"source\")) {\n const fieldHtmlMessage_Source = new Source(object);\n\n let fieldHtmlMessageSourceValue =\n await fieldHtmlMessage_Source.getValueFromSource(\n action.props.message.source\n );\n\n if (\n typeof fieldHtmlMessageSourceValue == \"string\" ||\n typeof fieldHtmlMessageSourceValue == \"number\"\n ) {\n fieldHtmlMessageSourceValue = String(fieldHtmlMessageSourceValue);\n } else {\n fieldHtmlMessageSourceValue = \"\";\n }\n\n action = setValueToObjectPath(\n action,\n \"props.message.message\",\n fieldHtmlMessageSourceValue\n );\n }\n action.props.message.message = updateLanguage(\n action.props.message.message,\n getLanguage()\n );\n this.setHtml(action.props.fieldKey, action.props.message);\n break;\n default:\n break;\n }\n }\n}\n","<div\n class=\"kwikid-form-container\"\n *ngIf=\"!loading\"\n>\n <div\n id=\"uf-form-fields-header-container\"\n *ngIf=\"\n !formConfig.properties?.header?.title?.hidden ||\n !formConfig.properties?.header?.logo?.hidden ||\n !formConfig.properties?.header?.steps?.hidden ||\n !formConfig.properties?.header?.backButton?.hidden\n \"\n >\n <img\n id=\"uf-header-logo\"\n *ngIf=\"!formConfig.properties?.header?.logo?.hidden && isMobileView\"\n [src]=\"formConfig.properties?.header?.logo?.src\"\n [alt]=\"formConfig.properties?.header?.logo?.alt\"\n [style]=\"\n formConfig.properties?.header?.logo?.styles ?? '' | styleSanitizer\n \"\n />\n <div id=\"uf-form-fields-header-main\">\n <div id=\"uf-form-fields-header-left\">\n <kwikui-button\n *ngIf=\"\n !formConfig.properties?.header.backButton.hidden && isMobileView\n \"\n [disabled]=\"backButton.disabled\"\n [showLoader]=\"backButton.showLoader\"\n appearance=\"mono\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n (onClick)=\"\n handleOnClickGoBack(\n $event,\n formConfig.properties?.header.backButton.mode\n )\n \"\n ></kwikui-button>\n </div>\n <div id=\"uf-form-fields-header-right\">\n <div\n id=\"uf-form-fields-title\"\n *ngIf=\"!formConfig.properties?.header.title.hidden\"\n >{{ formConfig.properties?.header.title.label }}</div\n >\n <div\n id=\"uf-form-fields-steps\"\n *ngIf=\"!formConfig.properties?.header.steps.hidden\"\n >\n Step {{ formConfig.sequenceNo }} of {{ formConfig.formsListLength }}\n </div>\n </div>\n </div>\n <hr\n *ngIf=\"\n !formConfig.properties?.header.title.hidden ||\n !formConfig.properties?.header.steps.hidden ||\n !formConfig.properties?.header.backButton.hidden\n \"\n />\n </div>\n <form\n class=\"kwikid-form show\"\n [style]=\"formConfig.properties?.main?.styles ?? '' | styleSanitizer\"\n [formGroup]=\"formGroup\"\n >\n <ng-container\n *ngFor=\"\n let field of formFields;\n let i = index;\n trackBy: getUniqueIdentifier\n \"\n >\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | kwikuiSafeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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]=\"field?.properties?.resetButtonLabel ?? 'Reset'\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Button -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button\n [appearance]=\"field?.properties?.appearance ?? 'primary'\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [icon]=\"field?.properties?.icon\"\n [iconRight]=\"field?.properties?.iconRight\"\n [id]=\"field?.key\"\n [label]=\"field?.label\"\n [shape]=\"field?.properties?.shape\"\n [showLoader]=\"field?.properties?.loading ?? false\"\n [size]=\"field?.properties?.size\"\n [styles]=\"field?.properties?.styles\"\n [type]=\"'button'\"\n (onClick)=\"handleOnClickFormFieldButton(field)\"\n ></kwikui-button>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\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 <!-- Email -->\n <ng-container *ngSwitchCase=\"'email'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-email\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [domains]=\"field?.properties?.domains\"\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 [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-email>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Password -->\n <ng-container *ngSwitchCase=\"'password'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-password\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [hintContent]=\"field?.properties?.hintContent\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-password>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Textarea -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-textarea\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 [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-textarea>\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox\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 [variant]=\"field?.properties?.variant ?? 'block'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox>\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [maxCalculatedFromToday]=\"\n field?.properties?.maxCalculatedFromToday\n \"\n [min]=\"field?.properties?.min\"\n [minCalculatedFromToday]=\"\n field?.properties?.minCalculatedFromToday\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\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 Time -->\n <ng-container *ngSwitchCase=\"'time'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-time\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?.properties?.items\"\n [label]=\"field?.label\"\n [mode]=\"field?.properties?.mode\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-time>\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-input-radio\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-input-radio>\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=\"'select'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-select\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 [searchable]=\"field?.properties?.searchable\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-select>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Slider -->\n <ng-container *ngSwitchCase=\"'slider'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-slider\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 [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [quantum]=\"field?.properties?.quantum\"\n [size]=\"field?.properties?.size\"\n [steps]=\"field?.properties?.steps\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-slider>\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'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [apiTimer]=\"field?.api?.timer\"\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 [size]=\"field?.properties?.size\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickApiCall($event)\"\n (onApiTimerStop)=\"handleOnApiTimerStop($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 <!-- Live Location -->\n <ng-container *ngSwitchCase=\"'live-location'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-live-location\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [liveLocationStatus]=\"field?.api?.status?.value\"\n [shape]=\"field?.properties?.shape\"\n [isShowLatLongCaptureTimestamp]=\"\n field?.properties?.isShowLatLongCaptureTimestamp\n \"\n [showLoader]=\"field?.disabled\"\n [size]=\"field?.properties?.size\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickLiveLocation($event)\"\n (onLocationPermission)=\"handleOnLocationPermission($event)\"\n ></kwikui-button-live-location>\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [mode]=\"field?.properties?.mode\"\n [otpLength]=\"field?.properties?.otpLength\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\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 [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\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 [mask]=\"field?.properties?.mask\"\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 <!-- Preview Image -->\n <ng-container *ngSwitchCase=\"'image'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-image\n [altText]=\"field?.properties?.altText\"\n [class]=\"field?.properties?.class\"\n [html]=\"field?.properties?.html\"\n [id]=\"field.key\"\n [imageSrc]=\"field?.default?.value?.value ?? ''\"\n [imageType]=\"field?.properties?.imageType\"\n [loadingType]=\"field?.properties?.loadingType\"\n [styles]=\"field?.properties?.styles\"\n ></kwikui-image>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- File Upload -->\n <ng-container *ngSwitchCase=\"'file'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-input-files\n [accept]=\"field?.properties?.accept\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [files]=\"files[field.key]\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field?.key\"\n [label]=\"field?.properties?.label\"\n [link]=\"field?.properties?.link\"\n [maxFileSize]=\"field?.properties?.maxFileSize\"\n [multiple]=\"field?.properties?.multiple\"\n [setFileTypesToForm]=\"['NORMAL']\"\n [styles]=\"field?.properties?.styles\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValueFile($event)\"\n (getRemovedFile)=\"handleRemovedFile($event)\"\n ></kwikui-input-files>\n </label>\n <ng-template #labelTemplate>\n <p\n style=\"padding: 0px 0.25rem; margin-bottom: 0.25rem\"\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 <!-- Camera Capture -->\n <ng-container *ngSwitchCase=\"'capture'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\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 </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"mediaFiles[field.key]\"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'capture'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Camera Record -->\n <ng-container *ngSwitchCase=\"'record'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\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 </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"mediaFiles[field.key]\"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'record'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Star Rating -->\n <ng-container *ngSwitchCase=\"'star-rating'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-star-rating\n [color]=\"field?.properties?.color\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [iconMarked]=\"field?.properties?.iconMarked\"\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 [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-star-rating>\n </label>\n <ng-template #labelTemplate>\n <p>\n <b\n >{{ field?.properties?.placeholder }}\n <span *ngIf=\"field.validators?.required\">*</span></b\n >\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 </ng-container>\n </ng-container>\n </form>\n <div\n class=\"kwikid-form-buttons\"\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden ||\n !formConfig.properties.footer.saveButton.hidden\n \"\n >\n <kwikui-button\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden && isMobileView\n \"\n [appearance]=\"'secondary'\"\n [disabled]=\"viewFormsButton.disabled\"\n [label]=\"formConfig.properties.footer.viewFormsButton.label\"\n [showLoader]=\"viewFormsButton.showLoader\"\n [styles]=\"'width: 100%'\"\n (onClick)=\"handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"!formConfig.properties.footer.saveButton.hidden\"\n [disabled]=\"saveFormButton.disabled\"\n [label]=\"formConfig.properties.footer.saveButton.label\"\n [showLoader]=\"saveFormButton.showLoader\"\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 *ngFor=\"let item of [].constructor(7); let i = index\"\n class=\"large-wrapper tui-skeleton tui-skeleton_rounded\"\n >\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\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=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n\n<tui-push\n id=\"permission-error-notification\"\n *tuiPush=\"showPermissionErrorNotification\"\n heading=\"Please provide required permissions!\"\n type=\"Error\"\n (close)=\"togglePermissionErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n\n<ng-template\n #dialog\n let-dialog\n>\n <div class=\"preview-container\">\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n\n<div\n id=\"kwikid-camera-container\"\n *ngIf=\"isShowCamera\"\n>\n <div\n id=\"kwikid-camera-wrapper\"\n [class.fullscreen]=\"isShowCameraFullscreen\"\n >\n <kwikid-camera\n [type]=\"cameraType\"\n [data]=\"cameraData\"\n [image]=\"cameraImage\"\n [video]=\"cameraVideo\"\n [config]=\"cameraConfig\"\n (getImage)=\"handleGetCameraMedia($event, 'CAPTURE')\"\n (getVideo)=\"handleGetCameraMedia($event, 'RECORD')\"\n (onClickBack)=\"handleOnClickCameraBack($event)\"\n (onClickClose)=\"handleOnClickCameraClose($event)\"\n (onClickSave)=\"handleOnClickSaveCameraMedia($event, cameraType)\"\n >\n <ng-container\n *ngIf=\"cameraType === 'CAPTURE'\"\n slot=\"capture-header\"\n >\n <div class=\"capture-header-container\">\n <div class=\"capture-header-left\"> </div>\n <div class=\"capture-header-center\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"capture-header-right\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen ? 'tuiIconMinimize2' : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isClose\"\n id=\"kwikid-camera-header-close-button\"\n appearance=\"whiteblock\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"cameraType === 'RECORD'\"\n slot=\"record-header\"\n >\n <div class=\"record-header-container\">\n <div class=\"record-header-row row-1\">\n <div class=\"record-header-left\">\n <kwikui-button\n *ngIf=\"\n cameraConfig?.header?.isBack && cameraRecordingState == 'NONE'\n \"\n appearance=\"whiteblock\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-center\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-right\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen\n ? 'tuiIconMinimize2'\n : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n </div>\n </div>\n <div class=\"record-header-row row-2\">\n <div\n id=\"blinking-dot-container\"\n [class.recording]=\"cameraRecordingState == 'RECORDING'\"\n [class.paused]=\"cameraRecordingState == 'PAUSED'\"\n [class.recorded]=\"\n cameraRecordingState == 'NONE' ||\n cameraRecordingState === 'RECORDED'\n \"\n >\n <div\n *ngIf=\"cameraRecordingState == 'RECORDING'\"\n class=\"dot recording blink\"\n >\n </div>\n <div\n *ngIf=\"cameraRecordingState === 'PAUSED'\"\n class=\"dot paused\"\n >\n </div>\n <div\n *ngIf=\"\n cameraRecordingState == 'NONE' ||\n cameraRecordingState === 'RECORDED'\n \"\n class=\"dot recorded\"\n >\n </div>\n <div>\n {{ cameraRecordingTime | formatTimer }}\n <ng-container\n *ngIf=\"cameraConfig?.others?.maxRecordingTimeInSeconds\"\n >\n /\n {{\n cameraConfig?.others?.maxRecordingTimeInSeconds\n | formatTimer\n }}\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </kwikid-camera>\n </div>\n</div>\n","export enum EFormType {\n FORM = \"FORM\",\n HTML = \"HTML\"\n}\n\nexport type TActionKey = EFormType.FORM | EFormType.HTML;\n\nexport enum ELogEventType {\n FORM__ACTION_EXECUTE = \"FORM__ACTION_EXECUTE\",\n FORM__FORM_OPEN_AUTO = \"FORM__FORM_OPEN_AUTO\",\n FORM__FORM_OPEN_BUTTON_CLICK = \"FORM__FORM_OPEN_BUTTON_CLICK\",\n FORM__SUBMIT_FORM_BUTTON_CLICK = \"FORM__SUBMIT_FORM_BUTTON_CLICK\",\n FORM__SUBMIT_FORM_BUTTON_CLICK_INVALID = \"FORM__SUBMIT_FORM_BUTTON_CLICK_INVALID\",\n FORM__STEP_CONFIG_LOAD_SUCCESS = \"FORM__STEP_CONFIG_LOAD_SUCCESS\"\n}\n","import { isNotEmptyValue } from \"kwikid-toolkit\";\nimport { ELogEventType } from \"./forms-list.definitions\";\n\nexport function formatEventLogs(\n eventType: ELogEventType,\n stepConfig: any,\n extras: any\n) {\n const logLabel = [\n eventType,\n stepConfig?.form?.key ?? stepConfig?.key ?? \"_\",\n extras?.form_key ?? \"_\",\n extras?.field_key ?? \"_\"\n ]\n .filter((item) => isNotEmptyValue(item))\n .join(\" | \");\n\n return {\n type: eventType,\n label: `${logLabel}`,\n timestamp: new Date().getTime(),\n data: {\n step_key: stepConfig?.form?.key ?? stepConfig?.key ?? \"_\",\n step_title: stepConfig?.props?.label ?? stepConfig?.label,\n ...extras\n }\n };\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport {\n checkObjectKeyExists,\n checkObjectPathExists,\n getObjectDeepCopy,\n isNull,\n isUndefined,\n logMethod,\n mergeObjects,\n setValueToObjectPath\n} from \"kwikid-toolkit\";\nimport {\n getLanguage,\n updateLanguage\n} from \"../config-converter/config-converter.helper\";\nimport { EFormType } from \"../renderer.definitions\";\nimport { ELogEventType } from \"./forms-list.definitions\";\nimport { formatEventLogs } from \"./forms-list.helper\";\n\n@Component({\n selector: \"kwikid-forms-list\",\n templateUrl: \"./forms-list.component.html\",\n styleUrls: [\"./forms-list.component.scss\", \"../shared.scss\"]\n})\nexport class KwikIDFormsListComponent implements OnInit, OnChanges {\n @Input()\n showFormFields: any = {};\n\n @Input()\n userConfig: any = {};\n\n @Input()\n stepConfig: any = {};\n\n @Input()\n activeFormConfig: any = {};\n\n @Input()\n formsList: any[] = [];\n\n @Input()\n formsListCompleted: any[] = [];\n\n @Input()\n isMobileView: boolean = false;\n\n @Input()\n isUnsavedData: boolean = false;\n\n @Output()\n getLogs: EventEmitter<any> = new EventEmitter<any>();\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 setSelectedForm(selected_form: string): void {\n this.selectedForm = selected_form;\n }\n\n formsListLength: number = 0;\n\n isAllFormsCompleted: boolean = true;\n\n loading: boolean = false;\n\n constructor() {}\n\n ngOnInit(): void {\n this.loading = true;\n\n this.setSelectedForm(this.activeFormConfig?.key ?? \"\");\n\n this.stepConfig = this.formatStepConfig(this.stepConfig);\n\n this.triggerLogs(ELogEventType.FORM__STEP_CONFIG_LOAD_SUCCESS, {});\n\n this.formsList = this.filterHiddenForms(this.formsList);\n this.formsList = this.setFormTitles(this.formsList);\n this.formsListLength = this.findFormsListLength(this.formsList);\n this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);\n\n this.triggerLogs(ELogEventType.FORM__LIST_LOAD_SUCCESS, {});\n\n this.loading = false;\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(\"stepConfig\")) {\n this.stepConfig = changes.stepConfig.currentValue;\n }\n if (verifyChange(\"isUnsavedData\")) {\n this.isUnsavedData = changes.isUnsavedData.currentValue;\n }\n if (verifyChange(\"formsList\")) {\n this.formsList = this.filterHiddenForms(this.formsList);\n this.formsList = this.setFormTitles(this.formsList);\n this.formsListLength = this.findFormsListLength(this.formsList);\n this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);\n }\n if (verifyChange(\"isMobileView\")) {\n this.isMobileView = changes.isMobileView.currentValue;\n\n if (!this.isMobileView) {\n this.setSelectedForm(\"\");\n }\n }\n if (verifyChange(\"activeFormConfig\")) {\n this.activeFormConfig = changes.activeFormConfig.currentValue;\n\n this.setSelectedForm(this.activeFormConfig?.key ?? \"\");\n }\n }\n\n @logMethod\n triggerLogs(eventType: ELogEventType, logs: any) {\n this.getLogs.emit(formatEventLogs(eventType, this.stepConfig, logs));\n }\n\n @logMethod\n formatStepConfig(stepConfig: any): any {\n let stepConfigProperties = {\n formListProperties: {\n footer: {\n submitFormButton: {\n hidden: false,\n label: \"Submit\"\n }\n }\n }\n };\n\n if (isNull(stepConfig) || isUndefined(stepConfig)) {\n stepConfig = setValueToObjectPath({}, \"props\", stepConfigProperties);\n } else {\n if (checkObjectKeyExists(stepConfig, \"props\")) {\n stepConfigProperties = mergeObjects(\n stepConfigProperties,\n stepConfig.props\n );\n\n stepConfig = setValueToObjectPath(\n stepConfig,\n \"props\",\n stepConfigProperties\n );\n } else {\n stepConfig = setValueToObjectPath(\n stepConfig,\n \"props\",\n stepConfigProperties\n );\n }\n }\n\n stepConfig.props.formListProperties.footer.submitFormButton.label =\n updateLanguage(\n stepConfig.props.formListProperties.footer.submitFormButton.label,\n getLanguage()\n );\n\n return stepConfig;\n }\n\n @logMethod\n filterHiddenForms(formsList: any[]): any[] {\n return formsList.filter((form) => {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n }\n\n setFormTitles(formsList: any[]): any[] {\n return formsList.filter((form) => {\n if (checkObjectPathExists(form, \"props.title\")) {\n form.props.title = updateLanguage(form.props.title, getLanguage());\n return form;\n }\n });\n }\n\n @logMethod\n findFormsListLength(formsList: any[]): number {\n const _formsList = formsList.filter((form) => {\n if (checkObjectKeyExists(form, \"type\")) {\n if (form.type !== EFormType.HTML) {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n }\n } else if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n\n return _formsList.length;\n }\n\n @logMethod\n checkIsAllFormsCompleted(formsList: any[]): boolean {\n let isAllFormsCompleted: boolean = true;\n\n for (let form of formsList) {\n if (checkObjectKeyExists(form, \"type\")) {\n if (form.type !== EFormType.HTML) {\n if (form.status !== \"completed\") {\n isAllFormsCompleted = false;\n break;\n }\n }\n }\n }\n\n return isAllFormsCompleted;\n }\n\n @logMethod\n handleOnClickSetActiveForm(selectedForm: string) {\n if (\n this.isMobileView ||\n (!this.isMobileView && this.selectedForm !== selectedForm) ||\n (this.isAllFormsCompleted && !this.showFormFields)\n ) {\n if (\n this.activeFormConfig?.properties?.isUnsavedDataAlertEnabled &&\n this.isUnsavedData &&\n !window.confirm(\"You have unsaved data. Proceed?\")\n ) {\n return;\n }\n this.triggerLogs(ELogEventType.FORM__FORM_OPEN_BUTTON_CLICK, {\n form_key: selectedForm,\n form_label:\n this.activeFormConfig?.title ?? this.activeFormConfig?.props?.title\n });\n\n this.selectedForm = selectedForm;\n this.onClickSetActiveForm.emit(selectedForm);\n }\n }\n\n @logMethod\n handleOnSubmitForms(e: any) {\n /**\n * POST ACTIONS\n * 1. API Calls.\n * 2. Preview of all filled data.\n * 3. URL Redirection or new opening of URL in external tab.\n */\n\n this.onClickSubmitForms.emit(e);\n }\n}\n","<div\n id=\"sidebar-container\"\n *ngIf=\"!loading\"\n>\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.formsListLength }} Steps\n Completed\n </div>\n <kwikui-progress-segmented\n [max]=\"this.formsListLength\"\n size=\"m\"\n [value]=\"this.formsListCompleted.length\"\n ></kwikui-progress-segmented>\n </div>\n <div id=\"uf-sections-container\">\n <ng-container *ngFor=\"let form of formsList; let i = index\">\n <ng-container [ngSwitch]=\"form.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'HTML'\">\n <div [innerHtml]=\"form.props.htmlContent | kwikuiSafeHtml\"></div>\n </ng-container>\n <!-- Type FORM -->\n <ng-container *ngSwitchCase=\"'FORM'\">\n <ng-container\n [ngTemplateOutlet]=\"FORM_BUTTON\"\n [ngTemplateOutletContext]=\"{\n form: form,\n activeFormConfig: activeFormConfig\n }\"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n <div id=\"submit-sidebar-btn-container\">\n <kwikui-button\n *ngIf=\"\n !stepConfig.props.formListProperties.footer.submitFormButton.hidden\n \"\n label=\"{{\n stepConfig.props.formListProperties.footer.submitFormButton.label\n }}\"\n type=\"submit\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnSubmitForms($event)\"\n ></kwikui-button>\n </div>\n </div>\n</div>\n\n<ng-template\n #FORM_BUTTON\n let-form=\"form\"\n let-activeFormConfig=\"activeFormConfig\"\n>\n <div\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 [class.active]=\"\n activeFormConfig !== undefined && form.key === activeFormConfig.key\n \"\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.props.title }} <span *ngIf=\"form?.required\">*</span>\n </div>\n <div class=\"uf-form-section-card-status\">\n <div\n *ngIf=\"form.status === 'completed' && !form.disabled\"\n class=\"uf-form-section-card-status-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-status-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-status-img locked\"\n >\n <tui-svg src=\"tuiIconLock\"></tui-svg>\n </div>\n </div>\n </div>\n</ng-template>\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 { isNotEmptyValue } from \"kwikid-toolkit\";\nimport { ELogEventType } from \"./renderer.definitions\";\n\nexport 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\nexport function formatEventLogs(\n eventType: ELogEventType,\n stepConfig: any,\n extras: any\n) {\n const logLabel = [\n eventType,\n stepConfig?.form?.key ?? stepConfig?.key ?? \"_\",\n extras?.form_key ?? \"_\",\n extras?.field_key ?? \"_\"\n ]\n .filter((item) => isNotEmptyValue(item))\n .join(\" | \");\n\n return {\n type: eventType,\n label: `${logLabel}`,\n timestamp: new Date().getTime(),\n data: {\n step_key: stepConfig?.key,\n step_title: stepConfig?.props?.title ?? stepConfig?.title,\n ...extras\n }\n };\n}\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from \"@angular/core\";\nimport { TuiPreviewDialogService } from \"@taiga-ui/addon-preview\";\nimport { TuiDialogContext, TuiDialogService } from \"@taiga-ui/core\";\nimport {\n Action,\n Condition,\n Rule,\n Source,\n TAction,\n TRule,\n checkObjectKeyExists,\n getObjectDeepCopy,\n isEmptyValue,\n isNotEmptyValue,\n logMethod,\n mergeObjects,\n setValueToObjectPath\n} from \"kwikid-toolkit\";\nimport { KwikUILoaderService } from \"kwikui\";\nimport { Converter } from \"./config-converter/config-converter\";\nimport { EActionKey } from \"./form-view/definitions/form-view.actions.definition\";\nimport { EFormViewGoBackMode } from \"./form-view/definitions/form-view.commons.definition\";\nimport { TTrigger } from \"./form-view/definitions/form-view.triggers.definition\";\nimport { EFormsListStatus } from \"./forms-list/forms-list.definitions\";\nimport { ERendererActionKey } from \"./renderer.actions.definitions\";\nimport { EFormType, ELogEventType } from \"./renderer.definitions\";\nimport { formatEventLogs, getFormConfigByKey } from \"./renderer.helper\";\n\n@Component({\n selector: \"kwikid-forms-renderer\",\n templateUrl: \"./renderer.component.html\",\n styleUrls: [\"./renderer.component.scss\", \"./shared.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 @ViewChild(\"preview\")\n readonly preview: TemplateRef<TuiDialogContext<void>>;\n private previewDialogRef: any;\n\n @Input()\n stepConfig: any;\n\n @Input()\n userConfig: any;\n\n @Input()\n formsData: any = {};\n\n @Input()\n activeFormData: any = {};\n\n @Input()\n apiCallResponse: any = {};\n\n @Input()\n buttonClickResponse: 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 @Output()\n getLogs: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickFormFieldButton: EventEmitter<any> = new EventEmitter<any>();\n\n loading: boolean = false;\n\n showErrorNotification: boolean = false;\n toggleErrorNotification(show) {\n this.showErrorNotification = show;\n }\n\n activePopupFormData: any = {};\n popupFormCallback: any = {};\n activeFormConfig: any;\n activeFormFields: any[];\n allFormsData: any = {};\n allFormsSubmitted: boolean = false;\n formsList: any[] = [];\n formsListCompleted: string[];\n isMobileView: boolean = false;\n previewProperties: any = {\n html: {\n before: \"\",\n after: \"\"\n },\n iframe: {\n src: \"\",\n title: \"\"\n },\n popupFormKey: \"\",\n title: \"\",\n unavailable: false\n };\n popupFormConfig: any = {};\n\n // display forms and list conditionally\n showForm: boolean = false;\n showFormFields: boolean = true;\n showFormSections: boolean = true;\n isUnsavedData: boolean = false;\n\n constructor(\n private hostElement: ElementRef,\n private cdr: ChangeDetectorRef,\n @Inject(TuiPreviewDialogService)\n private readonly previewDialogService: TuiPreviewDialogService,\n public loaderService: KwikUILoaderService,\n @Inject(TuiDialogService) private readonly dialogs: TuiDialogService\n ) {}\n\n ngOnInit() {\n this.toggleLoader(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(\"ON_INIT\");\n this.toggleLoader(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.toggleLoader(false);\n }\n if (verifyChange(\"stepConfig\")) {\n this.stepConfig = changes.stepConfig.currentValue;\n this.toggleLoader(false);\n }\n if (verifyChange(\"formsData\")) {\n this.formsData = changes.formsData.currentValue;\n\n this.initializeForms(\"ON_CHANGE\");\n }\n if (verifyChange(\"apiCallResponse\")) {\n this.apiCallResponse = changes.apiCallResponse.currentValue;\n this.toggleLoader(false);\n }\n if (verifyChange(\"buttonClickResponse\")) {\n this.buttonClickResponse = changes.buttonClickResponse.currentValue;\n this.toggleLoader(false);\n }\n }\n\n @logMethod\n triggerLogs(eventType: ELogEventType, logs: any) {\n this.getLogs.emit(formatEventLogs(eventType, this.stepConfig, logs));\n }\n\n @logMethod\n toggleLoader(loader) {\n if (loader) {\n this.loaderService.show({\n fullscreen: true,\n loaderText: \"Please wait\"\n });\n } else {\n this.loaderService.hide();\n }\n }\n\n @logMethod\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(eventType: string) {\n this.toggleLoader(true);\n\n this.allFormsData = this.formsData;\n\n await this.updateFormsList();\n\n if (\n eventType === \"ON_CHANGE\" &&\n this.findFormsListLength(this.formsList) === 1\n ) {\n this.handleOnClickSubmitForms(null);\n } else {\n this.handleResize(this.formsList);\n\n if (isNotEmptyValue(this.activeFormConfig)) {\n if (checkObjectKeyExists(this.activeFormConfig, \"type\")) {\n if (this.activeFormConfig.type !== EFormType.HTML) {\n await this.handleOnClickSetActiveForm(\n this.activeFormConfig.key,\n undefined\n );\n }\n } else {\n await this.handleOnClickSetActiveForm(\n this.activeFormConfig.key,\n undefined\n );\n }\n } else {\n this.showForm = false;\n this.showFormFields = false;\n }\n\n this.loading = false;\n this.toggleLoader(false);\n }\n }\n\n @logMethod\n convertFormListConfig(formsList: any[]): any[] {\n const convertFormListConfigTypeForm = (form: any) => {\n if (checkObjectKeyExists(form, \"formContent\")) {\n if (checkObjectKeyExists(form.formContent, \"url\")) {\n form = setValueToObjectPath(form, \"props.url\", form.formContent.url);\n delete form[\"formContent\"][\"url\"];\n }\n if (checkObjectKeyExists(form.formContent, \"path\")) {\n form = setValueToObjectPath(\n form,\n \"props.path\",\n form.formContent.path\n );\n delete form[\"formContent\"][\"path\"];\n }\n }\n if (isEmptyValue(form.formContent)) {\n delete form[\"formContent\"];\n }\n if (checkObjectKeyExists(form, \"title\")) {\n form = setValueToObjectPath(form, \"props.title\", form.title);\n delete form[\"title\"];\n }\n if (!checkObjectKeyExists(form, \"hidden\")) {\n form.hidden = false;\n }\n if (!checkObjectKeyExists(form, \"disabled\")) {\n form.disabled = false;\n }\n if (!checkObjectKeyExists(form, \"required\")) {\n form.required = true;\n }\n if (!checkObjectKeyExists(form, \"dependentOn\")) {\n form.dependentOn = [];\n }\n\n return form;\n };\n\n const convertFormListConfigTypeHtml = (form: any) => {\n if (form.type === \"html\") {\n form.type = EFormType.HTML;\n }\n\n if (checkObjectKeyExists(form, \"htmlContent\")) {\n if (!checkObjectKeyExists(form, \"props\")) {\n form.props = {\n htmlContent: form.htmlContent\n };\n }\n delete form[\"htmlContent\"];\n } else {\n if (!checkObjectKeyExists(form, \"props\")) {\n form.props = {\n htmlContent: \"\"\n };\n }\n }\n if (checkObjectKeyExists(form, \"title\")) {\n form = setValueToObjectPath(form, \"props.title\", form.title);\n delete form[\"title\"];\n }\n if (!checkObjectKeyExists(form, \"hidden\")) {\n form.hidden = false;\n }\n return form;\n };\n\n return formsList.map((form) => {\n if (!checkObjectKeyExists(form, \"type\")) {\n form.type = \"FORM\";\n }\n if (checkObjectKeyExists(form, \"type\")) {\n if (form.type === EFormType.FORM) {\n form = convertFormListConfigTypeForm(form);\n }\n\n if (form.type === EFormType.HTML || form.type === \"html\") {\n form = convertFormListConfigTypeHtml(form);\n }\n }\n\n return form;\n });\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 && form.type !== EFormType.HTML) {\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 && form.type !== EFormType.HTML) {\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 && form.type !== EFormType.HTML) {\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 (\n checkObjectKeyExists(form, \"hidden\") &&\n !form.hidden &&\n form.type !== EFormType.HTML\n ) {\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 && form.type !== EFormType.HTML) {\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 && form.type !== EFormType.HTML) {\n return form.status === \"editable\" && !form.disabled;\n }\n }\n });\n return activeFormConfig;\n }\n\n @logMethod\n async updateFormsList() {\n this.formsList = this.convertFormListConfig(this.formsList);\n\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 = getObjectDeepCopy(this.formsList);\n\n this.activeFormConfig = this.findActiveFormConfig(this.formsList);\n }\n\n @logMethod\n showPreview(previewProperties: any): void {\n this.previewProperties = mergeObjects(\n this.previewProperties,\n previewProperties\n );\n\n if (\n isEmptyValue(this.previewProperties.iframe.src) &&\n isEmptyValue(this.previewProperties.html.before) &&\n isEmptyValue(this.previewProperties.html.after) &&\n isEmptyValue(this.previewProperties.popupFormKey)\n ) {\n this.previewProperties.unavailable = true;\n } else {\n if (isNotEmptyValue(this.previewProperties.popupFormKey)) {\n if (checkObjectKeyExists(this.activeFormConfig, \"popupForms\")) {\n this.popupFormConfig =\n this.activeFormConfig.popupForms[\n this.previewProperties.popupFormKey\n ];\n } else {\n this.popupFormConfig = undefined;\n }\n }\n\n this.previewProperties.unavailable = false;\n }\n\n this.previewDialogService.open(this.preview || \"\").subscribe();\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 /**\n * This below code is currently commented because not all actions need to be logged at backend.\n * Will look later into where only specific actions needs to be logged or all.\n * Currently logs are sent from withing the action's specific methods.\n * Code -\n this.triggerLogs(ELogEventType.FORM__ACTION_EXECUTE, {\n action_key: action.key,\n ...(action.id && { action_id: action.id })\n });\n */\n\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 @logMethod\n findFormsListLength(formsList: any[]): number {\n const _formsList = formsList.filter((form) => {\n if (checkObjectKeyExists(form, \"type\")) {\n if (form.type !== EFormType.HTML) {\n if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n }\n } else if (checkObjectKeyExists(form, \"hidden\")) {\n if (!form.hidden) {\n return form;\n }\n }\n });\n\n return _formsList.length;\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, triggerType: any) {\n this.showForm = false;\n this.toggleLoader(true);\n this.isUnsavedData = false;\n\n let activeFormConfig = this.formsList.find((form) => {\n if (form.key === selectedForm) {\n return form;\n }\n });\n\n activeFormConfig = new Converter().updateFormConfigProperties(\n activeFormConfig\n );\n\n let formConfig: any = undefined;\n\n if (checkObjectKeyExists(activeFormConfig, \"props\")) {\n if (checkObjectKeyExists(activeFormConfig.props, \"url\")) {\n const formConfigFromUrl = await this.fetchFormConfig(\n activeFormConfig.props.url\n );\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromUrl\n };\n } else if (\n checkObjectKeyExists(activeFormConfig.props, \"path\") &&\n checkObjectKeyExists(this.userConfig, \"backend\") &&\n checkObjectKeyExists(this.userConfig.backend, \"CONFIG_BASE_URL\")\n ) {\n const url = `${this.userConfig?.backend?.CONFIG_BASE_URL}${activeFormConfig.props.path}`;\n const formConfigFromPath = await this.fetchFormConfig(url);\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromPath\n };\n } else {\n if (\n checkObjectKeyExists(activeFormConfig, \"type\") &&\n activeFormConfig.type === EFormType.FORM\n ) {\n if (checkObjectKeyExists(activeFormConfig, \"fields\")) {\n formConfig = activeFormConfig;\n } else {\n console.error(\n \"No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!\"\n );\n }\n } else {\n console.error(\n `No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!`\n );\n }\n }\n } else {\n if (checkObjectKeyExists(activeFormConfig.formContent, \"url\")) {\n const formConfigFromUrl = await this.fetchFormConfig(\n activeFormConfig.formContent.url\n );\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromUrl\n };\n } else if (\n checkObjectKeyExists(activeFormConfig.formContent, \"path\") &&\n checkObjectKeyExists(this.userConfig, \"backend\") &&\n checkObjectKeyExists(this.userConfig.backend, \"CONFIG_BASE_URL\")\n ) {\n const url = `${this.userConfig?.backend?.CONFIG_BASE_URL}${activeFormConfig.props.path}`;\n const formConfigFromPath = await this.fetchFormConfig(url);\n formConfig = {\n ...activeFormConfig,\n ...formConfigFromPath\n };\n } else {\n if (checkObjectKeyExists(activeFormConfig, \"fields\")) {\n formConfig = activeFormConfig;\n } else {\n console.error(\n \"No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!\"\n );\n }\n }\n }\n\n formConfig = new Converter().updateFormConfigFromUserConfig(\n formConfig,\n this.userConfig\n );\n\n formConfig = new Converter().updateFormConfigMiscellaneous(formConfig, {\n formsListLength: this.findFormsListLength(this.formsList)\n });\n\n this.activeFormConfig = mergeObjects(activeFormConfig, formConfig);\n\n switch (triggerType) {\n case \"BUTTON_CLICK\":\n this.triggerLogs(ELogEventType.FORM__FORM_OPEN_BUTTON_CLICK, {\n form_key: this.activeFormConfig.key,\n form_title:\n this.activeFormConfig?.title ?? this.activeFormConfig?.props?.title\n });\n break;\n default:\n this.triggerLogs(ELogEventType.FORM__FORM_OPEN_AUTO, {\n form_key: this.activeFormConfig.key,\n form_title:\n this.activeFormConfig?.title ?? this.activeFormConfig?.props?.title\n });\n break;\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.toggleLoader(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 @logMethod\n handleGetUnsavedState(e: any) {\n this.isUnsavedData = e;\n }\n\n handleOnClickApiCall(e: any) {\n this.onClickApiCall.emit(e);\n }\n\n @logMethod\n handleOnClickFormFieldButton(e: any) {\n this.onClickFormFieldButton.emit(e);\n }\n\n @logMethod\n handleOnActionShowPopupForm(e: any, content: any) {\n if (\n checkObjectKeyExists(e, \"activeFormData\") &&\n checkObjectKeyExists(e, \"popupFormConfig\")\n ) {\n const popupFormData = { [this.activeFormConfig.key]: e.activeFormData };\n this.activePopupFormData = mergeObjects(this.allFormsData, popupFormData);\n\n this.popupFormConfig = e.popupFormConfig;\n const popupType = e?.popupType ?? \"DIALOG\";\n\n switch (popupType) {\n case \"DIALOG\":\n this.previewDialogRef = this.dialogs\n .open(content, {\n closeable: true,\n dismissible: false,\n size: \"s\",\n required: true\n })\n .subscribe({\n next: (data) => {\n this.popupFormCallback = {\n popupFormData: data[\"data\"],\n popupFormConfig: data[\"formConfig\"],\n activeFormConfig: this.activeFormConfig\n };\n this.activePopupFormData = {};\n this.popupFormConfig = {};\n this.previewDialogRef.complete();\n },\n error: () => {\n this.popupFormCallback = {\n popupFormData: {},\n popupFormConfig: this.popupFormConfig,\n activeFormConfig: this.activeFormConfig,\n stopTaskExecution: true\n };\n this.activePopupFormData = {};\n this.popupFormConfig = {};\n\n console.info(\"Dialog error\");\n },\n complete: () => {\n console.info(\"Dialog closed\");\n }\n });\n break;\n case \"POPUP\":\n this.previewDialogRef = this.previewDialogService\n .open(this.preview || \"\")\n .subscribe({\n next: (data) => {\n this.popupFormCallback = {\n popupFormData: data[\"data\"],\n popupFormConfig: data[\"formConfig\"],\n activeFormConfig: this.activeFormConfig\n };\n this.activePopupFormData = {};\n this.popupFormConfig = {};\n this.previewDialogRef.complete();\n },\n error: () => {\n this.popupFormCallback = {\n popupFormData: {},\n popupFormConfig: this.popupFormConfig,\n activeFormConfig: this.activeFormConfig,\n stopTaskExecution: true\n };\n this.activePopupFormData = {};\n this.popupFormConfig = {};\n\n console.info(\"Preview error\");\n },\n complete: () => {\n console.info(\"Preview closed\");\n }\n });\n break;\n default:\n break;\n }\n }\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 @logMethod\n handleOnClickSaveForm(\n e: any,\n eventType: \"FORM\" | \"POPUP_FORM\",\n context: undefined\n ) {\n switch (eventType) {\n case \"FORM\":\n this.isUnsavedData = false;\n this.toggleLoader(true);\n\n this.getFormData.emit({\n [this.activeFormConfig.key]: {\n formConfig: e[\"formConfig\"],\n data: e[\"data\"],\n extendedData: e[\"extendedData\"]\n }\n });\n break;\n case \"POPUP_FORM\":\n this.previewDialogRef.next(e);\n break;\n default:\n break;\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 * Handles the event of going back to the previous form directly or by tabbing, without showing the form list in mobile view.\n *\n * Prerequisite: The current form can never be locked; it should either be in an editable or completed state.\n *\n * Logic:\n * 1. For DIRECT mode, find the config of the previous form starting from the first form, such that the previous form is editable and its sequence number is one less than the current active form's sequence number.\n * If no previous form is found or all forms have been completed, show the form list.\n * 2. For TABBED mode, find the config of the previous form in the list, such that the previous form's sequence number is less than the current active form's sequence number and the form is editable.\n * If no previous form is found, show the form list.\n *\n * @param {Object} e - The event object containing the mode to go back in.\n * @param {string} e.mode - The mode of going back: DIRECT or TABBED.\n * @returns {void}\n */\n @logMethod\n handleOnClickGoBack(e: any) {\n switch (e.mode) {\n case EFormViewGoBackMode.DIRECT:\n if (this.activeFormConfig.sequenceNo === 1) {\n this.showFormSections = true;\n this.showForm = false;\n this.showFormFields = false;\n return;\n } else {\n if (\n this.checkIfFormsStatusCompleted(\n this.formsList,\n this.formsListCompleted\n )\n ) {\n this.showFormSections = true;\n this.showForm = false;\n this.showFormFields = false;\n return;\n } else {\n const previousFormConfigDirect = this.formsList.find((form) => {\n if (\n form.sequenceNo === this.activeFormConfig.sequenceNo - 1 &&\n form.status !== EFormsListStatus.LOCKED\n ) {\n return form;\n }\n });\n\n if (previousFormConfigDirect) {\n this.handleOnClickSetActiveForm(\n previousFormConfigDirect.key,\n undefined\n );\n }\n }\n }\n\n break;\n case EFormViewGoBackMode.TABBED:\n const previousFormConfig = this.formsList.find((form) => {\n if (\n form.sequenceNo < this.activeFormConfig.sequenceNo &&\n form.status === EFormsListStatus.EDITABLE\n ) {\n return form;\n }\n });\n\n if (previousFormConfig) {\n this.handleOnClickSetActiveForm(previousFormConfig.key, undefined);\n } else {\n this.showFormSections = true;\n this.showForm = false;\n this.showFormFields = false;\n }\n break;\n default:\n break;\n }\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 const formsList: any[] = JSON.parse(JSON.stringify(this.formsList));\n\n let firstFormWithError: string = \"\";\n for (let form of formsList) {\n if (\n !form.hidden &&\n form.type !== EFormType.HTML &&\n form.required &&\n form.status !== EFormsListStatus.COMPLETED\n ) {\n this.triggerLogs(ELogEventType.FORM__SUBMIT_FORM_BUTTON_CLICK_INVALID, {\n form_key: form.key,\n form_title: form?.title ?? form?.props?.title,\n form_status: form.status\n });\n\n if (isEmptyValue(firstFormWithError)) {\n firstFormWithError = form.key;\n }\n }\n }\n\n if (isNotEmptyValue(firstFormWithError)) {\n this.toggleErrorNotification(true);\n setTimeout(() => {\n this.toggleErrorNotification(false);\n }, 3000);\n return;\n }\n\n this.onClickSubmit.emit(e);\n }\n\n @logMethod\n handleGetLogs(event: any) {\n this.getLogs.emit(event);\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 [activeFormConfig]=\"this.activeFormConfig\"\n [userConfig]=\"this.userConfig\"\n [formsList]=\"this.formsList\"\n [stepConfig]=\"this.stepConfig\"\n [isUnsavedData]=\"this.isUnsavedData\"\n [formsListCompleted]=\"this.formsListCompleted\"\n [isMobileView]=\"this.isMobileView\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSetActiveForm)=\"\n this.handleOnClickSetActiveForm($event, 'BUTTON_CLICK')\n \"\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 *ngIf=\"this.activeFormConfig.type === 'FORM'\"\n [formConfig]=\"this.activeFormConfig\"\n [allFormsData]=\"this.allFormsData\"\n [isMobileView]=\"this.isMobileView\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [popupFormCallback]=\"this.popupFormCallback\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getUnsavedDataState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onActionShowPopupForm)=\"\n this.handleOnActionShowPopupForm($event, content)\n \"\n (onClickGoBack)=\"this.handleOnClickGoBack($event)\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\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=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n *ngIf=\"popupFormConfig\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n<ng-template\n #content\n let-context\n>\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', context)\n \"\n ></kwikid-form-view>\n </div>\n</ng-template>\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({\n name: \"jsonFormat\"\n})\nexport class JsonFormatPipe implements PipeTransform {\n transform(value: any): string {\n if (!value) return \"\";\n\n // Trim spaces from start and end, then JSON.stringify with indentation for formatting\n return JSON.stringify(value, null, 2).trim();\n }\n}\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 { KwikIDBuilderFormEditorComponent } from \"./builder-form-editor.component\";\nimport { KwikIDFormBuilderFormEditorService } from \"./builder.form-editor.service\";\nimport { JsonFormatPipe } from \"./pipes/json-formatter.pipe\";\n\n@NgModule({\n declarations: [KwikIDBuilderFormEditorComponent, JsonFormatPipe],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n TuiSvgModule\n ],\n exports: [KwikIDBuilderFormEditorComponent],\n providers: [KwikIDFormBuilderFormEditorService]\n})\nexport class KwikIDBuilderFormEditorModule {}\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, KwikUIPipeModule } from \"kwikui\";\nimport { KwikIDBuilderFormsListComponent } from \"./builder-forms-list.component\";\n\n@NgModule({\n declarations: [KwikIDBuilderFormsListComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIPipeModule,\n KwikUIModule,\n TuiSvgModule\n ],\n exports: [KwikIDBuilderFormsListComponent]\n})\nexport class KwikIDBuilderFormsListModule {}\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 { KwikUIModule } from \"kwikui\";\nimport { KwikIDBuilderFormEditorModule } from \"./builder-form-editor/builder-form-editor.module\";\nimport { KwikIDBuilderFormsListModule } from \"./builder-form-list/builder-forms-list.module\";\nimport { KwikIDFormsBuilderComponent } from \"./builder.component\";\n\n@NgModule({\n declarations: [KwikIDFormsBuilderComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n KwikIDBuilderFormsListModule,\n KwikIDBuilderFormEditorModule,\n KwikUIModule\n ],\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 {\n TuiPreviewActionModule,\n TuiPreviewModule\n} from \"@taiga-ui/addon-preview\";\nimport {\n TuiButtonModule,\n TuiDialogModule,\n TuiLabelModule,\n TuiSvgModule\n} from \"@taiga-ui/core\";\nimport { TuiPushModule } from \"@taiga-ui/kit\";\nimport { KwikIDCameraModule, KwikUIInputCameraModule } from \"kwikid-camera\";\nimport { KwikUIInputEmailModule, KwikUIModule, KwikUIPipeModule } from \"kwikui\";\nimport { TimerPipe } from \"../../common/pipes/timer-formatter.pipe\";\nimport { KwikIDFormViewComponent } from \"./form-view.component\";\nimport { StyleSanitizerPipe } from \"./helpers/styles-sanitizer.pipe\";\n\n@NgModule({\n declarations: [KwikIDFormViewComponent, StyleSanitizerPipe, TimerPipe],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TuiLabelModule,\n TuiPushModule,\n TuiSvgModule,\n TuiPreviewModule,\n TuiButtonModule,\n TuiPreviewActionModule,\n TuiDialogModule,\n KwikUIPipeModule,\n KwikUIModule,\n KwikIDCameraModule,\n KwikUIInputCameraModule,\n KwikUIInputEmailModule\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, KwikUIPipeModule } from \"kwikui\";\nimport { KwikIDFormsListComponent } from \"./forms-list.component\";\n\n@NgModule({\n declarations: [KwikIDFormsListComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIPipeModule,\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 {\n TuiPreviewActionModule,\n TuiPreviewModule\n} from \"@taiga-ui/addon-preview\";\nimport { TuiButtonModule, 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 TuiPreviewActionModule,\n TuiPreviewModule,\n TuiButtonModule,\n TuiPreviewActionModule,\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: [KwikIDFormRendererModule, KwikIDFormBuilderModule]\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":["checkObjectKeyExists","setValueToObjectPath","isEmptyValue","EventEmitter","FormGroup","FormControl","Validators","getObjectDeepCopy","i0","i1","i2","i3","i4","logMethod","Component","Input","Output","isNotEmptyValue","setMissingKeyValue","TuiDay","TuiTime","isObject","mergeObjects","checkObjectPathExists","_","getObjectValueFromPath","i2.KwikIDFormBuilderFormEditorService","trigger","transition","style","animate","ChangeDetectionStrategy","getObjectFromLocalStorage","i2.KwikIDBuilderFormsListComponent","i3.KwikIDBuilderFormEditorComponent","ELogEventType","uuidv4","encryptWithAES","Observable","axios","decryptWithAES","Source","Rule","Condition","Action","PATTERNS","FormArray","hasWhitespacesOnly","formatEventLogs","Pipe","RuleEngine","pairwise","mergeObjectsDeep","ESourceKey","replaceString","isUndefined","isNull","TuiNotification","isEmptyString","TuiPushService","TuiAlertService","TuiPreviewDialogService","TuiDialogService","i5","i6","i7","i8","i9","i10.StyleSanitizerPipe","i11.TimerPipe","Inject","ViewChild","i2.KwikIDFormsListComponent","i3.KwikIDFormViewComponent","HostListener","CommonModule","FormsModule","ReactiveFormsModule","KwikUIModule","TuiSvgModule","NgModule","KwikUIPipeModule","DragDropModule","TuiLabelModule","TuiPushModule","TuiPreviewModule","TuiButtonModule","TuiPreviewActionModule","TuiDialogModule","KwikIDCameraModule","KwikUIInputCameraModule","KwikUIInputEmailModule","HttpClientModule","TuiLoaderModule"],"mappings":"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"}
|