mis-crystal-design-system 4.0.28 → 4.0.29
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/action-list/mis-crystal-design-system-action-list.metadata.json +1 -1
- package/bundles/mis-crystal-design-system-action-list.umd.js +641 -495
- package/bundles/mis-crystal-design-system-action-list.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-action-list.umd.min.js +1 -15
- package/bundles/mis-crystal-design-system-action-list.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-analytics.umd.js +555 -409
- package/bundles/mis-crystal-design-system-analytics.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-analytics.umd.min.js +1 -15
- package/bundles/mis-crystal-design-system-analytics.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-checkbox.umd.js +1 -1
- package/bundles/mis-crystal-design-system-checkbox.umd.min.js +1 -1
- package/bundles/mis-crystal-design-system-checkbox.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.js +836 -690
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js +1 -15
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.js +889 -743
- package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.min.js +1 -15
- package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-dropdown.umd.js +648 -493
- package/bundles/mis-crystal-design-system-dropdown.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-dropdown.umd.min.js +1 -15
- package/bundles/mis-crystal-design-system-dropdown.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-dynamic-form.umd.js +869 -723
- package/bundles/mis-crystal-design-system-dynamic-form.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-dynamic-form.umd.min.js +1 -15
- package/bundles/mis-crystal-design-system-dynamic-form.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-input.umd.js +1 -1
- package/bundles/mis-crystal-design-system-input.umd.min.js +1 -1
- package/bundles/mis-crystal-design-system-input.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-loader.umd.js +1 -1
- package/bundles/mis-crystal-design-system-loader.umd.min.js +1 -1
- package/bundles/mis-crystal-design-system-loader.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js +756 -610
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js +1 -15
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.js +769 -623
- package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.min.js +1 -15
- package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-ske-loader.umd.js +1 -1
- package/bundles/mis-crystal-design-system-ske-loader.umd.min.js +1 -1
- package/bundles/mis-crystal-design-system-ske-loader.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-specificdatepicker.umd.js +1107 -961
- package/bundles/mis-crystal-design-system-specificdatepicker.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-specificdatepicker.umd.min.js +1 -15
- package/bundles/mis-crystal-design-system-specificdatepicker.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-table.umd.js +921 -775
- package/bundles/mis-crystal-design-system-table.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-table.umd.min.js +1 -15
- package/bundles/mis-crystal-design-system-table.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-timepicker.umd.js +813 -667
- package/bundles/mis-crystal-design-system-timepicker.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-timepicker.umd.min.js +1 -15
- package/bundles/mis-crystal-design-system-timepicker.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-virtual-scroll.umd.js +603 -457
- package/bundles/mis-crystal-design-system-virtual-scroll.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-virtual-scroll.umd.min.js +1 -15
- package/bundles/mis-crystal-design-system-virtual-scroll.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-widgets.umd.js +608 -462
- package/bundles/mis-crystal-design-system-widgets.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-widgets.umd.min.js +1 -15
- package/bundles/mis-crystal-design-system-widgets.umd.min.js.map +1 -1
- package/checkbox/mis-crystal-design-system-checkbox.metadata.json +1 -1
- package/datepicker_v2/mis-crystal-design-system-datepicker_v2.metadata.json +1 -1
- package/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.metadata.json +1 -1
- package/dropdown/dropdown.component.d.ts +8 -0
- package/dropdown/mis-crystal-design-system-dropdown.metadata.json +1 -1
- package/dynamic-form/mis-crystal-design-system-dynamic-form.metadata.json +1 -1
- package/esm2015/action-list/action-list.component.js +1 -1
- package/esm2015/checkbox/checkbox.component.js +1 -1
- package/esm2015/datepicker_v2/tz-dp-container/tz-dp-container.component.js +1 -1
- package/esm2015/daterangepicker_v2/tz-drp-container/tz-drp-container.component.js +1 -1
- package/esm2015/dropdown/dropdown.component.js +12 -3
- package/esm2015/dynamic-form/dynamic-form.component.js +1 -1
- package/esm2015/input/mis-input.component.js +1 -1
- package/esm2015/loader/loader.component.js +1 -1
- package/esm2015/multi-select-dropdown/multi-select-dropdown.component.js +1 -1
- package/esm2015/nested-multi-select-dropdown/nested-multi-select-dropdown.component.js +1 -1
- package/esm2015/ske-loader/ske-loader.component.js +1 -1
- package/esm2015/specificdatepicker/tz-sdp-container/tz-sdp-container.component.js +1 -1
- package/esm2015/table/table.component.js +1 -1
- package/fesm2015/mis-crystal-design-system-action-list.js +1 -1
- package/fesm2015/mis-crystal-design-system-checkbox.js +1 -1
- package/fesm2015/mis-crystal-design-system-datepicker_v2.js +1 -1
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.js +1 -1
- package/fesm2015/mis-crystal-design-system-dropdown.js +11 -2
- package/fesm2015/mis-crystal-design-system-dropdown.js.map +1 -1
- package/fesm2015/mis-crystal-design-system-dynamic-form.js +1 -1
- package/fesm2015/mis-crystal-design-system-input.js +1 -1
- package/fesm2015/mis-crystal-design-system-loader.js +1 -1
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js +1 -1
- package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.js +1 -1
- package/fesm2015/mis-crystal-design-system-ske-loader.js +1 -1
- package/fesm2015/mis-crystal-design-system-specificdatepicker.js +1 -1
- package/fesm2015/mis-crystal-design-system-table.js +1 -1
- package/input/mis-crystal-design-system-input.metadata.json +1 -1
- package/loader/mis-crystal-design-system-loader.metadata.json +1 -1
- package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.metadata.json +1 -1
- package/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.metadata.json +1 -1
- package/package.json +1 -1
- package/ske-loader/mis-crystal-design-system-ske-loader.metadata.json +1 -1
- package/specificdatepicker/mis-crystal-design-system-specificdatepicker.metadata.json +1 -1
- package/table/mis-crystal-design-system-table.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-dynamic-form.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/mis-components/dynamic-form/dynamic-form.component.ts","../../../projects/mis-components/dynamic-form/dynamic-form.module.ts","../../../projects/mis-components/dynamic-form/mis-crystal-design-system-dynamic-form.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Component, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { NsDynamicForm } from \"./dynamic-form.namespace\";\nimport { AbstractControl, FormArray, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from \"@angular/forms\";\n\nimport * as moment from \"moment\";\nimport \"moment-timezone\";\nimport { Subscription } from \"rxjs\";\n\n@Component({\n selector: \"mis-dynamic-form\",\n templateUrl: \"./dynamic-form.component.html\",\n styleUrls: [\"./dynamic-form.component.scss\"]\n})\nexport class DynamicFormComponent implements OnInit, OnDestroy {\n /**\n * formFields: Dynamic fields recieved from the API metadata to build a dynamic form\n * formValues: Holds the value of the dynamic form with \"key\" being dynamic field \"title\"\n * and value being the user input.\n */\n @Input() formFields: Array<NsDynamicForm.IDynamicField> = [];\n @Input() formValues: { [key: string]: any } = {};\n // Need to deprecate these inputs and use constants.\n @Input() activeBtnIconUrl = \"\";\n @Input() calendarIconUrl = \"\";\n /**\n * dynamicForm: Constructed using formFields and formValues(in case of edit)\n */\n dynamicForm: FormGroup;\n\n /**\n * formUpdated: Emits formValues Object whenever there is a change in the dynamic form.\n */\n @Output() formUpdated = new EventEmitter<{ [key: string]: any }>();\n /**\n * formValid: Emits boolean depending on validity of the form\n */\n @Output() formValid = new EventEmitter<boolean>();\n /**\n * formInitialized: Emits dynamic form API on form initilization\n */\n @Output() formInitialized = new EventEmitter<any>();\n\n dynamicFormAPI: NsDynamicForm.IDynamicFormAPI;\n valueChangesSubscription$: Subscription;\n\n constructor() {}\n\n ngOnInit(): void {\n // Building the form\n this.dynamicForm = this.generateDynamicForm(this.formFields, this.formValues);\n\n // Subscribing to form changes and emiting values.\n this.valueChangesSubscription$ = this.dynamicForm.valueChanges.subscribe(formValue => {\n this.onFormValueChanges();\n });\n\n //api to expose functions\n this.dynamicFormAPI = {\n defaultFormValues: () => {\n return this.generateDynamicFieldsValueObject(this.dynamicForm.value.dynamicFields);\n }\n };\n this.formInitialized.emit(this.dynamicFormAPI);\n this.formValid.emit(this.dynamicForm.valid);\n }\n ngOnDestroy(): void {\n this.valueChangesSubscription$?.unsubscribe();\n }\n onFormValueChanges(): void {\n let formValues = this.generateDynamicFieldsValueObject(this.dynamicForm.value.dynamicFields);\n this.formValid.emit(this.dynamicForm.valid);\n this.formUpdated.emit(formValues);\n console.log(formValues)\n }\n generateDynamicFieldsValueObject(formValues: Array<any>): { [key: string]: any } {\n let dynamicFieldsValue = {};\n formValues.forEach((fieldValue, index) => {\n let formattedValue = this.mapFormFieldToFormValue(this.formFields[index], fieldValue.value);\n if (fieldValue.subFields?.length > 0) {\n let formattedSubFieldsValues = {}\n fieldValue.subFields.forEach((subFieldValue, subIndex) => {\n let subFormField = this.formFields[index].subFields[subIndex]\n formattedSubFieldsValues[subFormField.configName] = this.mapFormFieldToFormValue(subFormField, subFieldValue)\n })\n dynamicFieldsValue[this.formFields[index].configName] = {\n value: formattedValue,\n subFields: formattedSubFieldsValues\n }\n }\n else {\n dynamicFieldsValue[this.formFields[index].configName] = formattedValue;\n }\n });\n return dynamicFieldsValue;\n }\n generateDynamicForm(\n formFields: Array<NsDynamicForm.IDynamicField>,\n formValues: { [key: string]: any }\n ): FormGroup {\n let formArray = new FormArray([])\n\n for (let field of formFields) {\n let fieldValue = formValues[field.configName]?.value ? formValues[field.configName].value : formValues[field.configName]\n let fieldControl = this.mapFormValueToFormField(field, fieldValue);\n let subFieldsControls = this.generateSubDynamicFields(formValues, field, fieldControl.value);\n formArray.push(new FormGroup({\n value: fieldControl,\n subFields: subFieldsControls\n }))\n } \n return new FormGroup({\n dynamicFields: formArray\n })\n }\n \n getDynamicFieldsControls(): FormArray {\n return this.dynamicForm.get(\"dynamicFields\") as FormArray;\n }\n updateSubDynamicFields(\n field: NsDynamicForm.IDynamicField,\n formGroup: FormGroup,\n value: any\n ): void {\n if (field.subFields?.length > 0) {\n let subFieldsControls = this.generateSubDynamicFields(this.formValues, field, value);\n formGroup.removeControl('subFields')\n formGroup.addControl('subFields', subFieldsControls)\n }\n }\n updateSelectedValueForSingleSelect(\n field: NsDynamicForm.IDynamicField,\n control: FormControl,\n formGroup: FormGroup,\n value: any\n ): void {\n if (control.value?.value !== value.value) {\n control.setValue(value);\n }\n else control.setValue('');\n this.updateSubDynamicFields(field, formGroup, value);\n control.markAsTouched();\n }\n updateSelectedValueForMultiSelect(\n field: NsDynamicForm.IDynamicField,\n control: FormControl,\n formGroup: FormGroup,\n values: Array<any>\n ): void {\n let selectedValues: Array<{ label: string; value: any }> = control.value;\n for (let value of values) {\n let itemIndex = selectedValues.findIndex(item => item.label === value.label);\n if (itemIndex > -1) {\n selectedValues.splice(itemIndex, 1);\n } else {\n selectedValues.push({ ...value });\n }\n }\n control.setValue(selectedValues);\n this.updateSubDynamicFields(field, formGroup, values);\n control.markAsTouched();\n }\n isCheckBoxSelected(value: string, selectedValues: Array<{ label: string; value: string }>): boolean {\n return selectedValues.findIndex(item => item.label === value) > -1;\n }\n\n findSelectedIndex(subfields, value) {\n const selectedIndex = subfields.findIndex(item => item.parentConfigValue === value);\n return selectedIndex !== -1 ? selectedIndex : 0;\n }\n\n matchParentConfig(subfields, value) {\n if (!subfields || subfields.length === 0) {\n return false;\n }\n return subfields.some(item => item.parentConfigValue === value);\n }\n\n generateSubDynamicFields(\n formValues: any,\n parentField: NsDynamicForm.IDynamicField,\n parentValue: Array<{ label: string, value: string | number }> | {label: string, value: string } | string | number | boolean\n ): FormArray {\n let controls = new FormArray([])\n let subFields = parentField.subFields\n let subFieldsValues = formValues[parentField.configName]?.subFields ? formValues[parentField.configName].subFields : {}\n if(!subFields) return controls;\n if (parentField.fieldType === 'singleSelect') {\n subFields = subFields.filter((subField) => subField.parentConfigValue === (<{label: string, value: string }>parentValue)?.value);\n }\n else if (parentField.fieldType === 'multiSelect') {\n let parentValues = new Set((<Array<{ label: string, value: string | number }>>parentValue).map((value) => value.value));\n subFields = subFields.filter((subField) => parentValues.has(subField.parentConfigValue));\n }\n\n if (subFields?.length > 0) {\n for (let subField of subFields) {\n controls.push(this.mapFormValueToFormField(subField, subFieldsValues[subField.configName]))\n }\n }\n return controls;\n }\n mapFormValueToFormField(formField: NsDynamicForm.IDynamicField, formValue: any): any {\n let validators = formField.validators ? [dynamicFieldValidator(formField.validators)]: []\n let control = new FormControl(null, validators);\n\n if (formField.fieldType === \"input\") {\n if (formField.fieldInputType === \"text\" || formField.fieldInputType === \"textarea\") control.setValue(formValue ? formValue : \"\");\n else if (formField.fieldInputType === \"number\") control.setValue(formValue ? formValue : 0);\n else if (formField.fieldInputType === \"date\") {\n if (formValue && typeof formValue === \"number\") {\n control.setValue(moment(formValue).tz(formField.fieldConfig.timezone).format(formField.fieldConfig.format));\n } else {\n control.setValue(moment().tz(formField.fieldConfig.timezone).format(formField.fieldConfig.format));\n }\n }\n } else if (formField.fieldType === \"singleSelect\") {\n const findSelectedValue = () => {\n let index = formField.itemsList.findIndex(item => item.value === formValue)\n return index >= 0 ? formField.itemsList[index]: \"\";\n }\n if (formField.fieldInputType === \"dropdown\") {\n if (!formValue) control.setValue(formField.itemsList[0]);\n else control.setValue(findSelectedValue())\n }\n else if (formField.fieldInputType === \"radio\") {\n control.setValue(findSelectedValue())\n }\n } else if (formField.fieldType === \"multiSelect\") {\n if (formValue && Array.isArray(formValue)) {\n let selectedValues = [];\n for (let value of formValue) {\n let index = formField.itemsList.findIndex(item => item.value === value);\n if (index > -1) selectedValues.push({ ...formField.itemsList[index] });\n }\n control.setValue(selectedValues);\n } else {\n control.setValue([]);\n }\n } else if (formField.fieldType === \"boolean\") {\n control.setValue(!!formValue);\n } else control.setValue(null);\n return control;\n }\n mapFormFieldToFormValue(formField: NsDynamicForm.IDynamicField, formValue: any): any {\n if (formField.fieldType === \"input\") {\n if (formField.fieldInputType === \"text\" || formField.fieldInputType === \"textarea\") return formValue;\n else if (formField.fieldInputType === \"number\") return +formValue;\n else if (formField.fieldInputType === \"date\") {\n return moment.tz(formValue, formField.fieldConfig.format, formField.fieldConfig.timezone).valueOf();\n }\n } else if (formField.fieldType === \"singleSelect\") {\n return formValue?.value ?? '';\n } else if (formField.fieldType === \"multiSelect\") {\n return formValue?.map(item => item.value);\n } else if (formField.fieldType === \"boolean\") {\n return formValue;\n } else return formValue;\n }\n}\n\nexport const dynamicFieldValidator = (validators: Array<NsDynamicForm.IDynamicFieldValidator>): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n let value = control.value\n if (Array.isArray(value)) {\n return null;\n }\n else if (typeof value === 'object') {\n value = value?.value ? value.value : ''\n }\n let errors = null\n\n validators.forEach((validator) => {\n let error = null\n let message = validator.message\n switch (validator.type) {\n case \"Required\":\n error = Validators.required(control)\n if(error) error = {Required: message}\n break;\n case \"MinLength\":\n error = Validators.minLength(+validator.value)(control)\n message = message.replace('${0}', error?.minlength.requiredLength)\n if(error) error = { MinLength: message }\n break;\n case \"MaxLength\":\n error = Validators.maxLength(+validator.value)(control)\n message = message.replace('${0}', error?.actualLength)\n if(error) error = { MaxLength: message }\n break;\n case \"Email\":\n error = Validators.email(control)\n if(error) error = {Email: message}\n break;\n case \"Custom\":\n error = Validators.pattern(`${validator.value}`)(control)\n if(error) error = {Custom: message}\n break;\n default:\n break;\n }\n if (error) errors = { ...errors, ...error }\n })\n return errors\n }\n}","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { ScrollingModule } from \"@angular/cdk-experimental/scrolling\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { DynamicFormComponent } from \"./dynamic-form.component\";\nimport { SwitchModule } from \"mis-crystal-design-system/switch\";\nimport { MultiSelectDropdownModule } from \"mis-crystal-design-system/multi-select-dropdown\";\nimport { DatepickerModuleV2 } from \"mis-crystal-design-system/datepicker_v2\";\n\n@NgModule({\n declarations: [DynamicFormComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n OverlayModule,\n ScrollingModule,\n DropdownModule,\n SwitchModule,\n MultiSelectDropdownModule,\n DatepickerModuleV2\n ],\n exports: [DynamicFormComponent]\n})\nexport class DynamicFormModule {\n static forRoot(): ModuleWithProviders<DynamicFormModule> {\n return { ngModule: DynamicFormModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["EventEmitter","FormArray","FormGroup","FormControl","moment","moment.tz","Component","Input","Output","Validators","NgModule","CommonModule","ReactiveFormsModule","FormsModule","OverlayModule","ScrollingModule","DropdownModule","SwitchModule","MultiSelectDropdownModule","DatepickerModuleV2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-dynamic-form.umd.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../projects/mis-components/dynamic-form/dynamic-form.component.ts","../../../projects/mis-components/dynamic-form/dynamic-form.module.ts","../../../projects/mis-components/dynamic-form/mis-crystal-design-system-dynamic-form.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 { Component, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { NsDynamicForm } from \"./dynamic-form.namespace\";\nimport { AbstractControl, FormArray, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from \"@angular/forms\";\n\nimport * as moment from \"moment\";\nimport \"moment-timezone\";\nimport { Subscription } from \"rxjs\";\n\n@Component({\n selector: \"mis-dynamic-form\",\n templateUrl: \"./dynamic-form.component.html\",\n styleUrls: [\"./dynamic-form.component.scss\"]\n})\nexport class DynamicFormComponent implements OnInit, OnDestroy {\n /**\n * formFields: Dynamic fields recieved from the API metadata to build a dynamic form\n * formValues: Holds the value of the dynamic form with \"key\" being dynamic field \"title\"\n * and value being the user input.\n */\n @Input() formFields: Array<NsDynamicForm.IDynamicField> = [];\n @Input() formValues: { [key: string]: any } = {};\n // Need to deprecate these inputs and use constants.\n @Input() activeBtnIconUrl = \"\";\n @Input() calendarIconUrl = \"\";\n /**\n * dynamicForm: Constructed using formFields and formValues(in case of edit)\n */\n dynamicForm: FormGroup;\n\n /**\n * formUpdated: Emits formValues Object whenever there is a change in the dynamic form.\n */\n @Output() formUpdated = new EventEmitter<{ [key: string]: any }>();\n /**\n * formValid: Emits boolean depending on validity of the form\n */\n @Output() formValid = new EventEmitter<boolean>();\n /**\n * formInitialized: Emits dynamic form API on form initilization\n */\n @Output() formInitialized = new EventEmitter<any>();\n\n dynamicFormAPI: NsDynamicForm.IDynamicFormAPI;\n valueChangesSubscription$: Subscription;\n\n constructor() {}\n\n ngOnInit(): void {\n // Building the form\n this.dynamicForm = this.generateDynamicForm(this.formFields, this.formValues);\n\n // Subscribing to form changes and emiting values.\n this.valueChangesSubscription$ = this.dynamicForm.valueChanges.subscribe(formValue => {\n this.onFormValueChanges();\n });\n\n //api to expose functions\n this.dynamicFormAPI = {\n defaultFormValues: () => {\n return this.generateDynamicFieldsValueObject(this.dynamicForm.value.dynamicFields);\n }\n };\n this.formInitialized.emit(this.dynamicFormAPI);\n this.formValid.emit(this.dynamicForm.valid);\n }\n ngOnDestroy(): void {\n this.valueChangesSubscription$?.unsubscribe();\n }\n onFormValueChanges(): void {\n let formValues = this.generateDynamicFieldsValueObject(this.dynamicForm.value.dynamicFields);\n this.formValid.emit(this.dynamicForm.valid);\n this.formUpdated.emit(formValues);\n console.log(formValues)\n }\n generateDynamicFieldsValueObject(formValues: Array<any>): { [key: string]: any } {\n let dynamicFieldsValue = {};\n formValues.forEach((fieldValue, index) => {\n let formattedValue = this.mapFormFieldToFormValue(this.formFields[index], fieldValue.value);\n if (fieldValue.subFields?.length > 0) {\n let formattedSubFieldsValues = {}\n fieldValue.subFields.forEach((subFieldValue, subIndex) => {\n let subFormField = this.formFields[index].subFields[subIndex]\n formattedSubFieldsValues[subFormField.configName] = this.mapFormFieldToFormValue(subFormField, subFieldValue)\n })\n dynamicFieldsValue[this.formFields[index].configName] = {\n value: formattedValue,\n subFields: formattedSubFieldsValues\n }\n }\n else {\n dynamicFieldsValue[this.formFields[index].configName] = formattedValue;\n }\n });\n return dynamicFieldsValue;\n }\n generateDynamicForm(\n formFields: Array<NsDynamicForm.IDynamicField>,\n formValues: { [key: string]: any }\n ): FormGroup {\n let formArray = new FormArray([])\n\n for (let field of formFields) {\n let fieldValue = formValues[field.configName]?.value ? formValues[field.configName].value : formValues[field.configName]\n let fieldControl = this.mapFormValueToFormField(field, fieldValue);\n let subFieldsControls = this.generateSubDynamicFields(formValues, field, fieldControl.value);\n formArray.push(new FormGroup({\n value: fieldControl,\n subFields: subFieldsControls\n }))\n } \n return new FormGroup({\n dynamicFields: formArray\n })\n }\n \n getDynamicFieldsControls(): FormArray {\n return this.dynamicForm.get(\"dynamicFields\") as FormArray;\n }\n updateSubDynamicFields(\n field: NsDynamicForm.IDynamicField,\n formGroup: FormGroup,\n value: any\n ): void {\n if (field.subFields?.length > 0) {\n let subFieldsControls = this.generateSubDynamicFields(this.formValues, field, value);\n formGroup.removeControl('subFields')\n formGroup.addControl('subFields', subFieldsControls)\n }\n }\n updateSelectedValueForSingleSelect(\n field: NsDynamicForm.IDynamicField,\n control: FormControl,\n formGroup: FormGroup,\n value: any\n ): void {\n if (control.value?.value !== value.value) {\n control.setValue(value);\n }\n else control.setValue('');\n this.updateSubDynamicFields(field, formGroup, value);\n control.markAsTouched();\n }\n updateSelectedValueForMultiSelect(\n field: NsDynamicForm.IDynamicField,\n control: FormControl,\n formGroup: FormGroup,\n values: Array<any>\n ): void {\n let selectedValues: Array<{ label: string; value: any }> = control.value;\n for (let value of values) {\n let itemIndex = selectedValues.findIndex(item => item.label === value.label);\n if (itemIndex > -1) {\n selectedValues.splice(itemIndex, 1);\n } else {\n selectedValues.push({ ...value });\n }\n }\n control.setValue(selectedValues);\n this.updateSubDynamicFields(field, formGroup, values);\n control.markAsTouched();\n }\n isCheckBoxSelected(value: string, selectedValues: Array<{ label: string; value: string }>): boolean {\n return selectedValues.findIndex(item => item.label === value) > -1;\n }\n\n findSelectedIndex(subfields, value) {\n const selectedIndex = subfields.findIndex(item => item.parentConfigValue === value);\n return selectedIndex !== -1 ? selectedIndex : 0;\n }\n\n matchParentConfig(subfields, value) {\n if (!subfields || subfields.length === 0) {\n return false;\n }\n return subfields.some(item => item.parentConfigValue === value);\n }\n\n generateSubDynamicFields(\n formValues: any,\n parentField: NsDynamicForm.IDynamicField,\n parentValue: Array<{ label: string, value: string | number }> | {label: string, value: string } | string | number | boolean\n ): FormArray {\n let controls = new FormArray([])\n let subFields = parentField.subFields\n let subFieldsValues = formValues[parentField.configName]?.subFields ? formValues[parentField.configName].subFields : {}\n if(!subFields) return controls;\n if (parentField.fieldType === 'singleSelect') {\n subFields = subFields.filter((subField) => subField.parentConfigValue === (<{label: string, value: string }>parentValue)?.value);\n }\n else if (parentField.fieldType === 'multiSelect') {\n let parentValues = new Set((<Array<{ label: string, value: string | number }>>parentValue).map((value) => value.value));\n subFields = subFields.filter((subField) => parentValues.has(subField.parentConfigValue));\n }\n\n if (subFields?.length > 0) {\n for (let subField of subFields) {\n controls.push(this.mapFormValueToFormField(subField, subFieldsValues[subField.configName]))\n }\n }\n return controls;\n }\n mapFormValueToFormField(formField: NsDynamicForm.IDynamicField, formValue: any): any {\n let validators = formField.validators ? [dynamicFieldValidator(formField.validators)]: []\n let control = new FormControl(null, validators);\n\n if (formField.fieldType === \"input\") {\n if (formField.fieldInputType === \"text\" || formField.fieldInputType === \"textarea\") control.setValue(formValue ? formValue : \"\");\n else if (formField.fieldInputType === \"number\") control.setValue(formValue ? formValue : 0);\n else if (formField.fieldInputType === \"date\") {\n if (formValue && typeof formValue === \"number\") {\n control.setValue(moment(formValue).tz(formField.fieldConfig.timezone).format(formField.fieldConfig.format));\n } else {\n control.setValue(moment().tz(formField.fieldConfig.timezone).format(formField.fieldConfig.format));\n }\n }\n } else if (formField.fieldType === \"singleSelect\") {\n const findSelectedValue = () => {\n let index = formField.itemsList.findIndex(item => item.value === formValue)\n return index >= 0 ? formField.itemsList[index]: \"\";\n }\n if (formField.fieldInputType === \"dropdown\") {\n if (!formValue) control.setValue(formField.itemsList[0]);\n else control.setValue(findSelectedValue())\n }\n else if (formField.fieldInputType === \"radio\") {\n control.setValue(findSelectedValue())\n }\n } else if (formField.fieldType === \"multiSelect\") {\n if (formValue && Array.isArray(formValue)) {\n let selectedValues = [];\n for (let value of formValue) {\n let index = formField.itemsList.findIndex(item => item.value === value);\n if (index > -1) selectedValues.push({ ...formField.itemsList[index] });\n }\n control.setValue(selectedValues);\n } else {\n control.setValue([]);\n }\n } else if (formField.fieldType === \"boolean\") {\n control.setValue(!!formValue);\n } else control.setValue(null);\n return control;\n }\n mapFormFieldToFormValue(formField: NsDynamicForm.IDynamicField, formValue: any): any {\n if (formField.fieldType === \"input\") {\n if (formField.fieldInputType === \"text\" || formField.fieldInputType === \"textarea\") return formValue;\n else if (formField.fieldInputType === \"number\") return +formValue;\n else if (formField.fieldInputType === \"date\") {\n return moment.tz(formValue, formField.fieldConfig.format, formField.fieldConfig.timezone).valueOf();\n }\n } else if (formField.fieldType === \"singleSelect\") {\n return formValue?.value ?? '';\n } else if (formField.fieldType === \"multiSelect\") {\n return formValue?.map(item => item.value);\n } else if (formField.fieldType === \"boolean\") {\n return formValue;\n } else return formValue;\n }\n}\n\nexport const dynamicFieldValidator = (validators: Array<NsDynamicForm.IDynamicFieldValidator>): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n let value = control.value\n if (Array.isArray(value)) {\n return null;\n }\n else if (typeof value === 'object') {\n value = value?.value ? value.value : ''\n }\n let errors = null\n\n validators.forEach((validator) => {\n let error = null\n let message = validator.message\n switch (validator.type) {\n case \"Required\":\n error = Validators.required(control)\n if(error) error = {Required: message}\n break;\n case \"MinLength\":\n error = Validators.minLength(+validator.value)(control)\n message = message.replace('${0}', error?.minlength.requiredLength)\n if(error) error = { MinLength: message }\n break;\n case \"MaxLength\":\n error = Validators.maxLength(+validator.value)(control)\n message = message.replace('${0}', error?.actualLength)\n if(error) error = { MaxLength: message }\n break;\n case \"Email\":\n error = Validators.email(control)\n if(error) error = {Email: message}\n break;\n case \"Custom\":\n error = Validators.pattern(`${validator.value}`)(control)\n if(error) error = {Custom: message}\n break;\n default:\n break;\n }\n if (error) errors = { ...errors, ...error }\n })\n return errors\n }\n}","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { ScrollingModule } from \"@angular/cdk-experimental/scrolling\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { DynamicFormComponent } from \"./dynamic-form.component\";\nimport { SwitchModule } from \"mis-crystal-design-system/switch\";\nimport { MultiSelectDropdownModule } from \"mis-crystal-design-system/multi-select-dropdown\";\nimport { DatepickerModuleV2 } from \"mis-crystal-design-system/datepicker_v2\";\n\n@NgModule({\n declarations: [DynamicFormComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n OverlayModule,\n ScrollingModule,\n DropdownModule,\n SwitchModule,\n MultiSelectDropdownModule,\n DatepickerModuleV2\n ],\n exports: [DynamicFormComponent]\n})\nexport class DynamicFormModule {\n static forRoot(): ModuleWithProviders<DynamicFormModule> {\n return { ngModule: DynamicFormModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["EventEmitter","FormArray","FormGroup","FormControl","moment","moment.tz","Component","Input","Output","Validators","NgModule","CommonModule","ReactiveFormsModule","FormsModule","OverlayModule","ScrollingModule","DropdownModule","SwitchModule","MultiSelectDropdownModule","DatepickerModuleV2"],"mappings":"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"}
|
|
@@ -1,16 +1,2 @@
|
|
|
1
|
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/common"),require("@angular/forms"),require("@angular/core"),require("@angular/cdk/overlay"),require("@angular/cdk-experimental/scrolling"),require("mis-crystal-design-system/dropdown"),require("moment"),require("moment-timezone"),require("mis-crystal-design-system/switch"),require("mis-crystal-design-system/multi-select-dropdown"),require("mis-crystal-design-system/datepicker_v2")):"function"==typeof define&&define.amd?define("mis-crystal-design-system/dynamic-form",["exports","@angular/common","@angular/forms","@angular/core","@angular/cdk/overlay","@angular/cdk-experimental/scrolling","mis-crystal-design-system/dropdown","moment","moment-timezone","mis-crystal-design-system/switch","mis-crystal-design-system/multi-select-dropdown","mis-crystal-design-system/datepicker_v2"],n):n(((e="undefined"!=typeof globalThis?globalThis:e||self)["mis-crystal-design-system"]=e["mis-crystal-design-system"]||{},e["mis-crystal-design-system"]["dynamic-form"]={}),e.ng.common,e.ng.forms,e.ng.core,e.ng.cdk.overlay,e.ng.cdkExperimental.scrolling,e["mis-crystal-design-system"].dropdown,e.moment,null,e["mis-crystal-design-system"].switch,e["mis-crystal-design-system"]["multi-select-dropdown"],e["mis-crystal-design-system"].datepicker_v2)}(this,(function(e,n,t,i,r,l,o,a,d,c,s,u){"use strict";function p(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var m=p(a);
|
|
2
|
-
/*! *****************************************************************************
|
|
3
|
-
Copyright (c) Microsoft Corporation.
|
|
4
|
-
|
|
5
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
purpose with or without fee is hereby granted.
|
|
7
|
-
|
|
8
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
9
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
10
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
11
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
12
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
-
***************************************************************************** */Object.create;function f(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}Object.create;var g=function(){function e(){this.formFields=[],this.formValues={},this.activeBtnIconUrl="",this.calendarIconUrl="",this.formUpdated=new i.EventEmitter,this.formValid=new i.EventEmitter,this.formInitialized=new i.EventEmitter}return e.prototype.ngOnInit=function(){var e=this;this.dynamicForm=this.generateDynamicForm(this.formFields,this.formValues),this.valueChangesSubscription$=this.dynamicForm.valueChanges.subscribe((function(n){e.onFormValueChanges()})),this.dynamicFormAPI={defaultFormValues:function(){return e.generateDynamicFieldsValueObject(e.dynamicForm.value.dynamicFields)}},this.formInitialized.emit(this.dynamicFormAPI),this.formValid.emit(this.dynamicForm.valid)},e.prototype.ngOnDestroy=function(){var e;null===(e=this.valueChangesSubscription$)||void 0===e||e.unsubscribe()},e.prototype.onFormValueChanges=function(){var e=this.generateDynamicFieldsValueObject(this.dynamicForm.value.dynamicFields);this.formValid.emit(this.dynamicForm.valid),this.formUpdated.emit(e),console.log(e)},e.prototype.generateDynamicFieldsValueObject=function(e){var n=this,t={};return e.forEach((function(e,i){var r,l=n.mapFormFieldToFormValue(n.formFields[i],e.value);if((null===(r=e.subFields)||void 0===r?void 0:r.length)>0){var o={};e.subFields.forEach((function(e,t){var r=n.formFields[i].subFields[t];o[r.configName]=n.mapFormFieldToFormValue(r,e)})),t[n.formFields[i].configName]={value:l,subFields:o}}else t[n.formFields[i].configName]=l})),t},e.prototype.generateDynamicForm=function(e,n){var i,r,l,o=new t.FormArray([]);try{for(var a=f(e),d=a.next();!d.done;d=a.next()){var c=d.value,s=(null===(l=n[c.configName])||void 0===l?void 0:l.value)?n[c.configName].value:n[c.configName],u=this.mapFormValueToFormField(c,s),p=this.generateSubDynamicFields(n,c,u.value);o.push(new t.FormGroup({value:u,subFields:p}))}}catch(e){i={error:e}}finally{try{d&&!d.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return new t.FormGroup({dynamicFields:o})},e.prototype.getDynamicFieldsControls=function(){return this.dynamicForm.get("dynamicFields")},e.prototype.updateSubDynamicFields=function(e,n,t){var i;if((null===(i=e.subFields)||void 0===i?void 0:i.length)>0){var r=this.generateSubDynamicFields(this.formValues,e,t);n.removeControl("subFields"),n.addControl("subFields",r)}},e.prototype.updateSelectedValueForSingleSelect=function(e,n,t,i){var r;(null===(r=n.value)||void 0===r?void 0:r.value)!==i.value?n.setValue(i):n.setValue(""),this.updateSubDynamicFields(e,t,i),n.markAsTouched()},e.prototype.updateSelectedValueForMultiSelect=function(e,n,t,i){var r,l,o=n.value,a=function(e){var n=o.findIndex((function(n){return n.label===e.label}));n>-1?o.splice(n,1):o.push(Object.assign({},e))};try{for(var d=f(i),c=d.next();!c.done;c=d.next()){a(c.value)}}catch(e){r={error:e}}finally{try{c&&!c.done&&(l=d.return)&&l.call(d)}finally{if(r)throw r.error}}n.setValue(o),this.updateSubDynamicFields(e,t,i),n.markAsTouched()},e.prototype.isCheckBoxSelected=function(e,n){return n.findIndex((function(n){return n.label===e}))>-1},e.prototype.findSelectedIndex=function(e,n){var t=e.findIndex((function(e){return e.parentConfigValue===n}));return-1!==t?t:0},e.prototype.matchParentConfig=function(e,n){return!(!e||0===e.length)&&e.some((function(e){return e.parentConfigValue===n}))},e.prototype.generateSubDynamicFields=function(e,n,i){var r,l,o,a=new t.FormArray([]),d=n.subFields,c=(null===(o=e[n.configName])||void 0===o?void 0:o.subFields)?e[n.configName].subFields:{};if(!d)return a;if("singleSelect"===n.fieldType)d=d.filter((function(e){var n;return e.parentConfigValue===(null===(n=i)||void 0===n?void 0:n.value)}));else if("multiSelect"===n.fieldType){var s=new Set(i.map((function(e){return e.value})));d=d.filter((function(e){return s.has(e.parentConfigValue)}))}if((null==d?void 0:d.length)>0)try{for(var u=f(d),p=u.next();!p.done;p=u.next()){var m=p.value;a.push(this.mapFormValueToFormField(m,c[m.configName]))}}catch(e){r={error:e}}finally{try{p&&!p.done&&(l=u.return)&&l.call(u)}finally{if(r)throw r.error}}return a},e.prototype.mapFormValueToFormField=function(e,n){var i,r,l=e.validators?[y(e.validators)]:[],o=new t.FormControl(null,l);if("input"===e.fieldType)"text"===e.fieldInputType||"textarea"===e.fieldInputType?o.setValue(n||""):"number"===e.fieldInputType?o.setValue(n||0):"date"===e.fieldInputType&&(n&&"number"==typeof n?o.setValue(m(n).tz(e.fieldConfig.timezone).format(e.fieldConfig.format)):o.setValue(m().tz(e.fieldConfig.timezone).format(e.fieldConfig.format)));else if("singleSelect"===e.fieldType){var a=function(){var t=e.itemsList.findIndex((function(e){return e.value===n}));return t>=0?e.itemsList[t]:""};"dropdown"===e.fieldInputType?n?o.setValue(a()):o.setValue(e.itemsList[0]):"radio"===e.fieldInputType&&o.setValue(a())}else if("multiSelect"===e.fieldType)if(n&&Array.isArray(n)){var d=[],c=function(n){var t=e.itemsList.findIndex((function(e){return e.value===n}));t>-1&&d.push(Object.assign({},e.itemsList[t]))};try{for(var s=f(n),u=s.next();!u.done;u=s.next()){c(u.value)}}catch(e){i={error:e}}finally{try{u&&!u.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}o.setValue(d)}else o.setValue([]);else"boolean"===e.fieldType?o.setValue(!!n):o.setValue(null);return o},e.prototype.mapFormFieldToFormValue=function(e,n){var t;return"input"!==e.fieldType?"singleSelect"===e.fieldType?null!==(t=null==n?void 0:n.value)&&void 0!==t?t:"":"multiSelect"===e.fieldType?null==n?void 0:n.map((function(e){return e.value})):(e.fieldType,n):"text"===e.fieldInputType||"textarea"===e.fieldInputType?n:"number"===e.fieldInputType?+n:"date"===e.fieldInputType?a.tz(n,e.fieldConfig.format,e.fieldConfig.timezone).valueOf():void 0},e}();g.decorators=[{type:i.Component,args:[{selector:"mis-dynamic-form",template:'<form [formGroup]="dynamicForm">\n <ng-container formArrayName="dynamicFields">\n <ng-container [formGroupName]="i" *ngFor="let fieldControl of getDynamicFieldsControls().controls; let i = index">\n <ng-container\n [ngTemplateOutlet]="dynamicField"\n [ngTemplateOutletContext]="{\n $implicit: formFields[i],\n formGroup: fieldControl,\n control: fieldControl.controls.value\n }"\n >\n </ng-container>\n <div class="sub-dynamic-form" *ngIf="fieldControl.value && (!!formFields[i]?.subFields && formFields[i]?.subFields?.length > 0 && matchParentConfig(formFields[i]?.subFields, fieldControl.controls.value.value.value))">\n <ng-container *ngFor="let subFieldControl of fieldControl.controls.subFields.controls;">\n <ng-container\n [ngTemplateOutlet]="dynamicField"\n [ngTemplateOutletContext]="{\n $implicit: formFields[i].subFields[findSelectedIndex(formFields[i]?.subFields, fieldControl.controls.value.value.value)],\n control: subFieldControl\n }">\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</form>\n\n\n<ng-template #dynamicField let-field let-control="control" let-formgroup="formGroup">\n\n \x3c!-- fieldType: \'input\' fieldInputType: \'text\' | \'number\' --\x3e\n <div class="dynamic-field multi-line-field-container"\n *ngIf="field.fieldType === \'input\' && (field.fieldInputType === \'text\' || field.fieldInputType === \'number\')">\n <p class="h7 field-title-sm">\n {{ field.title }}\n </p>\n <div style="flex-basis: 100%"></div>\n <input class="input-field ip-text" [type]="field.fieldInputType" [formControl]="control"\n (ngModelChange)="updateSubDynamicFields(field, formgroup, $event)" \n [ngStyle]="{\'border\': control.touched && control.errors ? \'1px solid #B00020\': \'\'}"\n [placeholder]="field.placeholderText ? field.placeholderText : \'Input Text\'" \n [min]="field.fieldInputType === \'number\' ? 0 : \'\' "/>\n <ng-container *ngIf="control.touched && control.errors"\n [ngTemplateOutlet]="dynamicFieldErrors" \n [ngTemplateOutletContext]="{ $implicit: control.errors }"\n >\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'input\' fieldInputType: \'textarea\' --\x3e\n <div class="dynamic-field multi-line-field-container"\n *ngIf="field.fieldType === \'input\' && field.fieldInputType === \'textarea\'">\n <p class="h7 field-title-sm">\n {{ field.title }}\n </p>\n <div style="flex-basis: 100%"></div>\n <textarea class="input-field ip-textarea" type="text"\n [ngStyle]="{\'border\': control.touched && control.errors ? \'1px solid #B00020\': \'\'}"\n [placeholder]="field.placeholderText ? field.placeholderText : \'Input Text\'" [formControl]="control" (ngModelChange)="updateSubDynamicFields(field, formgroup, $event)"></textarea>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'input\' fieldInputType: \'date\' --\x3e\n <div class="dynamic-field single-line-field-container"\n *ngIf="field.fieldType === \'input\' && field.fieldInputType === \'date\'">\n <p class="h6">\n {{ field.title }}\n </p>\n <div class="date-picker-container">\n <input class="date-picker" readonly misTzDp [dpConfig]="field.fieldConfig"\n (dateChange)="control.setValue($event)" [selectedDate]="control.value" [offsetY]="0"\n [value]="control.value" #dp />\n <img alt="data-picker" *ngIf="calendarIconUrl" class="date-picker-icon" [src]="calendarIconUrl"\n (click)="dp.click()" />\n </div>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'boolean\' fieldInputType: \'toggle\' --\x3e\n <div class="dynamic-field single-line-field-container"\n *ngIf="field.fieldType === \'boolean\' && field.fieldInputType === \'toggle\'">\n <p class="h6">\n {{ field.title }}\n </p>\n <mis-switch [control]="control" (valueChanged)="updateSubDynamicFields(field, formgroup, $event)"></mis-switch>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'singleSelect\' fieldInputType: \'dropdown\' --\x3e\n <div class="dynamic-field single-line-field-container"\n *ngIf="field.fieldType === \'singleSelect\' && field.fieldInputType === \'dropdown\'">\n <p class="h6">\n {{ field.title }}\n </p>\n <mis-dropdown [searchEnabled]="false" [width]="\'140px\'" [data]="field.itemsList" [selectedItem]="control.value"\n (onChange)="updateSelectedValueForSingleSelect(field, control, formgroup, $event);">\n </mis-dropdown>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'singleSelect\' fieldInputType: \'radio\' --\x3e\n <div class="dynamic-field multi-line-field-container"\n *ngIf="field.fieldType === \'singleSelect\' && field.fieldInputType === \'radio\'">\n <p class="h7 field-title-sm">\n {{ field.title }}\n </p>\n <div style="flex-basis: 100%"></div>\n <div id="checkboxes-container">\n <div class="radio-checkbox-common" *ngFor="let item of field.itemsList"\n [ngClass]="{ \'checkbox-active\': item.label === control.value?.label }"\n (click)="updateSelectedValueForSingleSelect(field, control, formgroup, item);">\n <img *ngIf="(item.label === control.value?.label) && activeBtnIconUrl" [src]="activeBtnIconUrl" alt="" />\n <p class="h6">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'multiSelect\' fieldInputType: \'checkbox\' --\x3e\n <div class="dynamic-field multi-line-field-container"\n *ngIf="field.fieldType === \'multiSelect\' && field.fieldInputType === \'checkbox\'">\n <p class="h7 field-title-sm">\n {{ field.title }}\n </p>\n <div style="flex-basis: 100%"></div>\n <div id="checkboxes-container">\n <div class="radio-checkbox-common" *ngFor="let item of field.itemsList"\n [ngClass]="{ \'checkbox-active\': isCheckBoxSelected(item.label, control.value) }"\n (click)="updateSelectedValueForMultiSelect(field, control, formgroup, [item])">\n <img *ngIf="isCheckBoxSelected(item.label, control.value) && activeBtnIconUrl" [src]="activeBtnIconUrl"\n alt="" />\n <p class="h6">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'multiSelect\' fieldInputType: \'dropdown\' --\x3e\n <div class="dynamic-field single-line-field-container"\n *ngIf="field.fieldType === \'multiSelect\' && field.fieldInputType === \'dropdown\'">\n <p class="h6">\n {{ field.title }}\n </p>\n <mis-multi-select-dropdown [width]="\'140px\'" [showSelectedCount]="true" [dropdownListWidth]="\'256px\'"\n [searchEnabled]="false" [hideApplyButton]="true" [data]="field.itemsList"\n [selectedItems]="control.value" (onChange)="updateSelectedValueForMultiSelect(field, control, formgroup, $event);"></mis-multi-select-dropdown>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n</ng-template>\n\n<ng-template #dynamicFieldErrors let-errors>\n <div id="error-messages-container">\n <ng-container *ngFor="let error of errors | keyvalue">\n <p class="h8">\n {{" • " + error.value}}\n </p>\n <div style="flex-basis: 100%; height: 0"></div>\n </ng-container>\n </div>\n</ng-template>',styles:["p{margin:0;cursor:default}::ng-deep .main-container{margin:0;max-width:100%}.sub-dynamic-form{padding-left:24px}.dynamic-field ::ng-deep .container{height:32px!important}.single-line-field-container{justify-content:space-between;align-items:center}.multi-line-field-container,.single-line-field-container{display:flex;padding:28px 16px;border-bottom:1px solid var(--grey-seperators)}.multi-line-field-container{justify-content:flex-start;align-items:flex-start;flex-wrap:wrap}.field-title-sm{margin-bottom:8px;cursor:default}.input-field{width:100%;background-color:var(--grey-bg-1);border:1px solid var(--grey-seperators);border-radius:6px}.ip-text{height:44px;padding:8px 12px}.ip-textarea{max-height:94px;padding:8px}input:focus{outline:none}input::-moz-placeholder{color:var(--grey-seperators)}input:-ms-input-placeholder{color:var(--grey-seperators)}input::placeholder{color:var(--grey-seperators)}textarea:focus{outline:none}.date-picker-container{position:relative;width:140px}.date-picker-container .date-picker{cursor:pointer;height:32px;width:100%;font-size:14px;border-radius:6px;padding:0 12px;border:1px solid var(--grey-seperators);inset:10px auto auto 80px;background-color:var(--text-white)}.date-picker-container .date-picker:hover{background-color:var(--grey-hover)}.date-picker-container .date-picker-icon{position:absolute;top:50%;right:12px;transform:translateY(-50%);cursor:pointer}form .dynamic-field:last-child{border-bottom:none!important}#checkboxes-container{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.radio-checkbox-common{display:flex;justify-content:center;align-items:center;cursor:pointer;margin-right:8px;margin-bottom:8px;background-color:var(--text-white);padding:12px 16px;border:1px solid var(--text-muted);border-radius:8px}.radio-checkbox-common p{color:var(--text-muted);cursor:pointer}.radio-checkbox-common img{margin-right:8px}.checkbox-active{background-color:var(--pmry-500)}.checkbox-active p{color:var(--text-white)}#error-messages-container{margin-top:4px;width:100%;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}#error-messages-container p{color:var(--sem-error)}"]}]}],g.ctorParameters=function(){return[]},g.propDecorators={formFields:[{type:i.Input}],formValues:[{type:i.Input}],activeBtnIconUrl:[{type:i.Input}],calendarIconUrl:[{type:i.Input}],formUpdated:[{type:i.Output}],formValid:[{type:i.Output}],formInitialized:[{type:i.Output}]};var y=function(e){return function(n){var i=n.value;if(Array.isArray(i))return null;"object"==typeof i&&(i=(null==i?void 0:i.value)?i.value:"");var r=null;return e.forEach((function(e){var i=null,l=e.message;switch(e.type){case"Required":(i=t.Validators.required(n))&&(i={Required:l});break;case"MinLength":i=t.Validators.minLength(+e.value)(n),l=l.replace("${0}",null==i?void 0:i.minlength.requiredLength),i&&(i={MinLength:l});break;case"MaxLength":i=t.Validators.maxLength(+e.value)(n),l=l.replace("${0}",null==i?void 0:i.actualLength),i&&(i={MaxLength:l});break;case"Email":(i=t.Validators.email(n))&&(i={Email:l});break;case"Custom":(i=t.Validators.pattern(""+e.value)(n))&&(i={Custom:l})}i&&(r=Object.assign(Object.assign({},r),i))})),r}},v=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[]}},e}();v.decorators=[{type:i.NgModule,args:[{declarations:[g],imports:[n.CommonModule,t.ReactiveFormsModule,t.FormsModule,r.OverlayModule,l.ScrollingModule,o.DropdownModule,c.SwitchModule,s.MultiSelectDropdownModule,u.DatepickerModuleV2],exports:[g]}]}],e.DynamicFormComponent=g,e.DynamicFormModule=v,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/common"),require("@angular/forms"),require("@angular/core"),require("@angular/cdk/overlay"),require("@angular/cdk-experimental/scrolling"),require("mis-crystal-design-system/dropdown"),require("moment"),require("moment-timezone"),require("mis-crystal-design-system/switch"),require("mis-crystal-design-system/multi-select-dropdown"),require("mis-crystal-design-system/datepicker_v2")):"function"==typeof define&&define.amd?define("mis-crystal-design-system/dynamic-form",["exports","@angular/common","@angular/forms","@angular/core","@angular/cdk/overlay","@angular/cdk-experimental/scrolling","mis-crystal-design-system/dropdown","moment","moment-timezone","mis-crystal-design-system/switch","mis-crystal-design-system/multi-select-dropdown","mis-crystal-design-system/datepicker_v2"],n):n(((e="undefined"!=typeof globalThis?globalThis:e||self)["mis-crystal-design-system"]=e["mis-crystal-design-system"]||{},e["mis-crystal-design-system"]["dynamic-form"]={}),e.ng.common,e.ng.forms,e.ng.core,e.ng.cdk.overlay,e.ng.cdkExperimental.scrolling,e["mis-crystal-design-system"].dropdown,e.moment,null,e["mis-crystal-design-system"].switch,e["mis-crystal-design-system"]["multi-select-dropdown"],e["mis-crystal-design-system"].datepicker_v2)}(this,(function(e,n,t,i,r,l,o,a,d,c,s,u){"use strict";function p(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var m=p(a);Object.create;function f(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}Object.create;"function"==typeof SuppressedError&&SuppressedError;var g=function(){function e(){this.formFields=[],this.formValues={},this.activeBtnIconUrl="",this.calendarIconUrl="",this.formUpdated=new i.EventEmitter,this.formValid=new i.EventEmitter,this.formInitialized=new i.EventEmitter}return e.prototype.ngOnInit=function(){var e=this;this.dynamicForm=this.generateDynamicForm(this.formFields,this.formValues),this.valueChangesSubscription$=this.dynamicForm.valueChanges.subscribe((function(n){e.onFormValueChanges()})),this.dynamicFormAPI={defaultFormValues:function(){return e.generateDynamicFieldsValueObject(e.dynamicForm.value.dynamicFields)}},this.formInitialized.emit(this.dynamicFormAPI),this.formValid.emit(this.dynamicForm.valid)},e.prototype.ngOnDestroy=function(){var e;null===(e=this.valueChangesSubscription$)||void 0===e||e.unsubscribe()},e.prototype.onFormValueChanges=function(){var e=this.generateDynamicFieldsValueObject(this.dynamicForm.value.dynamicFields);this.formValid.emit(this.dynamicForm.valid),this.formUpdated.emit(e),console.log(e)},e.prototype.generateDynamicFieldsValueObject=function(e){var n=this,t={};return e.forEach((function(e,i){var r,l=n.mapFormFieldToFormValue(n.formFields[i],e.value);if((null===(r=e.subFields)||void 0===r?void 0:r.length)>0){var o={};e.subFields.forEach((function(e,t){var r=n.formFields[i].subFields[t];o[r.configName]=n.mapFormFieldToFormValue(r,e)})),t[n.formFields[i].configName]={value:l,subFields:o}}else t[n.formFields[i].configName]=l})),t},e.prototype.generateDynamicForm=function(e,n){var i,r,l,o=new t.FormArray([]);try{for(var a=f(e),d=a.next();!d.done;d=a.next()){var c=d.value,s=(null===(l=n[c.configName])||void 0===l?void 0:l.value)?n[c.configName].value:n[c.configName],u=this.mapFormValueToFormField(c,s),p=this.generateSubDynamicFields(n,c,u.value);o.push(new t.FormGroup({value:u,subFields:p}))}}catch(e){i={error:e}}finally{try{d&&!d.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return new t.FormGroup({dynamicFields:o})},e.prototype.getDynamicFieldsControls=function(){return this.dynamicForm.get("dynamicFields")},e.prototype.updateSubDynamicFields=function(e,n,t){var i;if((null===(i=e.subFields)||void 0===i?void 0:i.length)>0){var r=this.generateSubDynamicFields(this.formValues,e,t);n.removeControl("subFields"),n.addControl("subFields",r)}},e.prototype.updateSelectedValueForSingleSelect=function(e,n,t,i){var r;(null===(r=n.value)||void 0===r?void 0:r.value)!==i.value?n.setValue(i):n.setValue(""),this.updateSubDynamicFields(e,t,i),n.markAsTouched()},e.prototype.updateSelectedValueForMultiSelect=function(e,n,t,i){var r,l,o=n.value,a=function(e){var n=o.findIndex((function(n){return n.label===e.label}));n>-1?o.splice(n,1):o.push(Object.assign({},e))};try{for(var d=f(i),c=d.next();!c.done;c=d.next()){a(c.value)}}catch(e){r={error:e}}finally{try{c&&!c.done&&(l=d.return)&&l.call(d)}finally{if(r)throw r.error}}n.setValue(o),this.updateSubDynamicFields(e,t,i),n.markAsTouched()},e.prototype.isCheckBoxSelected=function(e,n){return n.findIndex((function(n){return n.label===e}))>-1},e.prototype.findSelectedIndex=function(e,n){var t=e.findIndex((function(e){return e.parentConfigValue===n}));return-1!==t?t:0},e.prototype.matchParentConfig=function(e,n){return!(!e||0===e.length)&&e.some((function(e){return e.parentConfigValue===n}))},e.prototype.generateSubDynamicFields=function(e,n,i){var r,l,o,a=new t.FormArray([]),d=n.subFields,c=(null===(o=e[n.configName])||void 0===o?void 0:o.subFields)?e[n.configName].subFields:{};if(!d)return a;if("singleSelect"===n.fieldType)d=d.filter((function(e){var n;return e.parentConfigValue===(null===(n=i)||void 0===n?void 0:n.value)}));else if("multiSelect"===n.fieldType){var s=new Set(i.map((function(e){return e.value})));d=d.filter((function(e){return s.has(e.parentConfigValue)}))}if((null==d?void 0:d.length)>0)try{for(var u=f(d),p=u.next();!p.done;p=u.next()){var m=p.value;a.push(this.mapFormValueToFormField(m,c[m.configName]))}}catch(e){r={error:e}}finally{try{p&&!p.done&&(l=u.return)&&l.call(u)}finally{if(r)throw r.error}}return a},e.prototype.mapFormValueToFormField=function(e,n){var i,r,l=e.validators?[y(e.validators)]:[],o=new t.FormControl(null,l);if("input"===e.fieldType)"text"===e.fieldInputType||"textarea"===e.fieldInputType?o.setValue(n||""):"number"===e.fieldInputType?o.setValue(n||0):"date"===e.fieldInputType&&(n&&"number"==typeof n?o.setValue(m(n).tz(e.fieldConfig.timezone).format(e.fieldConfig.format)):o.setValue(m().tz(e.fieldConfig.timezone).format(e.fieldConfig.format)));else if("singleSelect"===e.fieldType){var a=function(){var t=e.itemsList.findIndex((function(e){return e.value===n}));return t>=0?e.itemsList[t]:""};"dropdown"===e.fieldInputType?n?o.setValue(a()):o.setValue(e.itemsList[0]):"radio"===e.fieldInputType&&o.setValue(a())}else if("multiSelect"===e.fieldType)if(n&&Array.isArray(n)){var d=[],c=function(n){var t=e.itemsList.findIndex((function(e){return e.value===n}));t>-1&&d.push(Object.assign({},e.itemsList[t]))};try{for(var s=f(n),u=s.next();!u.done;u=s.next()){c(u.value)}}catch(e){i={error:e}}finally{try{u&&!u.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}o.setValue(d)}else o.setValue([]);else"boolean"===e.fieldType?o.setValue(!!n):o.setValue(null);return o},e.prototype.mapFormFieldToFormValue=function(e,n){var t;return"input"!==e.fieldType?"singleSelect"===e.fieldType?null!==(t=null==n?void 0:n.value)&&void 0!==t?t:"":"multiSelect"===e.fieldType?null==n?void 0:n.map((function(e){return e.value})):(e.fieldType,n):"text"===e.fieldInputType||"textarea"===e.fieldInputType?n:"number"===e.fieldInputType?+n:"date"===e.fieldInputType?a.tz(n,e.fieldConfig.format,e.fieldConfig.timezone).valueOf():void 0},e}();g.decorators=[{type:i.Component,args:[{selector:"mis-dynamic-form",template:'<form [formGroup]="dynamicForm">\n <ng-container formArrayName="dynamicFields">\n <ng-container [formGroupName]="i" *ngFor="let fieldControl of getDynamicFieldsControls().controls; let i = index">\n <ng-container\n [ngTemplateOutlet]="dynamicField"\n [ngTemplateOutletContext]="{\n $implicit: formFields[i],\n formGroup: fieldControl,\n control: fieldControl.controls.value\n }"\n >\n </ng-container>\n <div class="sub-dynamic-form" *ngIf="fieldControl.value && (!!formFields[i]?.subFields && formFields[i]?.subFields?.length > 0 && matchParentConfig(formFields[i]?.subFields, fieldControl.controls.value.value.value))">\n <ng-container *ngFor="let subFieldControl of fieldControl.controls.subFields.controls;">\n <ng-container\n [ngTemplateOutlet]="dynamicField"\n [ngTemplateOutletContext]="{\n $implicit: formFields[i].subFields[findSelectedIndex(formFields[i]?.subFields, fieldControl.controls.value.value.value)],\n control: subFieldControl\n }">\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</form>\n\n\n<ng-template #dynamicField let-field let-control="control" let-formgroup="formGroup">\n\n \x3c!-- fieldType: \'input\' fieldInputType: \'text\' | \'number\' --\x3e\n <div class="dynamic-field multi-line-field-container"\n *ngIf="field.fieldType === \'input\' && (field.fieldInputType === \'text\' || field.fieldInputType === \'number\')">\n <p class="h7 field-title-sm">\n {{ field.title }}\n </p>\n <div style="flex-basis: 100%"></div>\n <input class="input-field ip-text" [type]="field.fieldInputType" [formControl]="control"\n (ngModelChange)="updateSubDynamicFields(field, formgroup, $event)" \n [ngStyle]="{\'border\': control.touched && control.errors ? \'1px solid #B00020\': \'\'}"\n [placeholder]="field.placeholderText ? field.placeholderText : \'Input Text\'" \n [min]="field.fieldInputType === \'number\' ? 0 : \'\' "/>\n <ng-container *ngIf="control.touched && control.errors"\n [ngTemplateOutlet]="dynamicFieldErrors" \n [ngTemplateOutletContext]="{ $implicit: control.errors }"\n >\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'input\' fieldInputType: \'textarea\' --\x3e\n <div class="dynamic-field multi-line-field-container"\n *ngIf="field.fieldType === \'input\' && field.fieldInputType === \'textarea\'">\n <p class="h7 field-title-sm">\n {{ field.title }}\n </p>\n <div style="flex-basis: 100%"></div>\n <textarea class="input-field ip-textarea" type="text"\n [ngStyle]="{\'border\': control.touched && control.errors ? \'1px solid #B00020\': \'\'}"\n [placeholder]="field.placeholderText ? field.placeholderText : \'Input Text\'" [formControl]="control" (ngModelChange)="updateSubDynamicFields(field, formgroup, $event)"></textarea>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'input\' fieldInputType: \'date\' --\x3e\n <div class="dynamic-field single-line-field-container"\n *ngIf="field.fieldType === \'input\' && field.fieldInputType === \'date\'">\n <p class="h6">\n {{ field.title }}\n </p>\n <div class="date-picker-container">\n <input class="date-picker" readonly misTzDp [dpConfig]="field.fieldConfig"\n (dateChange)="control.setValue($event)" [selectedDate]="control.value" [offsetY]="0"\n [value]="control.value" #dp />\n <img alt="data-picker" *ngIf="calendarIconUrl" class="date-picker-icon" [src]="calendarIconUrl"\n (click)="dp.click()" />\n </div>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'boolean\' fieldInputType: \'toggle\' --\x3e\n <div class="dynamic-field single-line-field-container"\n *ngIf="field.fieldType === \'boolean\' && field.fieldInputType === \'toggle\'">\n <p class="h6">\n {{ field.title }}\n </p>\n <mis-switch [control]="control" (valueChanged)="updateSubDynamicFields(field, formgroup, $event)"></mis-switch>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'singleSelect\' fieldInputType: \'dropdown\' --\x3e\n <div class="dynamic-field single-line-field-container"\n *ngIf="field.fieldType === \'singleSelect\' && field.fieldInputType === \'dropdown\'">\n <p class="h6">\n {{ field.title }}\n </p>\n <mis-dropdown [searchEnabled]="false" [width]="\'140px\'" [data]="field.itemsList" [selectedItem]="control.value"\n (onChange)="updateSelectedValueForSingleSelect(field, control, formgroup, $event);">\n </mis-dropdown>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'singleSelect\' fieldInputType: \'radio\' --\x3e\n <div class="dynamic-field multi-line-field-container"\n *ngIf="field.fieldType === \'singleSelect\' && field.fieldInputType === \'radio\'">\n <p class="h7 field-title-sm">\n {{ field.title }}\n </p>\n <div style="flex-basis: 100%"></div>\n <div id="checkboxes-container">\n <div class="radio-checkbox-common" *ngFor="let item of field.itemsList"\n [ngClass]="{ \'checkbox-active\': item.label === control.value?.label }"\n (click)="updateSelectedValueForSingleSelect(field, control, formgroup, item);">\n <img *ngIf="(item.label === control.value?.label) && activeBtnIconUrl" [src]="activeBtnIconUrl" alt="" />\n <p class="h6">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'multiSelect\' fieldInputType: \'checkbox\' --\x3e\n <div class="dynamic-field multi-line-field-container"\n *ngIf="field.fieldType === \'multiSelect\' && field.fieldInputType === \'checkbox\'">\n <p class="h7 field-title-sm">\n {{ field.title }}\n </p>\n <div style="flex-basis: 100%"></div>\n <div id="checkboxes-container">\n <div class="radio-checkbox-common" *ngFor="let item of field.itemsList"\n [ngClass]="{ \'checkbox-active\': isCheckBoxSelected(item.label, control.value) }"\n (click)="updateSelectedValueForMultiSelect(field, control, formgroup, [item])">\n <img *ngIf="isCheckBoxSelected(item.label, control.value) && activeBtnIconUrl" [src]="activeBtnIconUrl"\n alt="" />\n <p class="h6">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n \x3c!-- fieldType: \'multiSelect\' fieldInputType: \'dropdown\' --\x3e\n <div class="dynamic-field single-line-field-container"\n *ngIf="field.fieldType === \'multiSelect\' && field.fieldInputType === \'dropdown\'">\n <p class="h6">\n {{ field.title }}\n </p>\n <mis-multi-select-dropdown [width]="\'140px\'" [showSelectedCount]="true" [dropdownListWidth]="\'256px\'"\n [searchEnabled]="false" [hideApplyButton]="true" [data]="field.itemsList"\n [selectedItems]="control.value" (onChange)="updateSelectedValueForMultiSelect(field, control, formgroup, $event);"></mis-multi-select-dropdown>\n <ng-container *ngIf="control.touched && control.errors" [ngTemplateOutlet]="dynamicFieldErrors"\n [ngTemplateOutletContext]="{ $implicit: control.errors }">\n </ng-container>\n </div>\n\n</ng-template>\n\n<ng-template #dynamicFieldErrors let-errors>\n <div id="error-messages-container">\n <ng-container *ngFor="let error of errors | keyvalue">\n <p class="h8">\n {{" • " + error.value}}\n </p>\n <div style="flex-basis: 100%; height: 0"></div>\n </ng-container>\n </div>\n</ng-template>',styles:["p{margin:0;cursor:default}::ng-deep .main-container{margin:0;max-width:100%}.sub-dynamic-form{padding-left:24px}.dynamic-field ::ng-deep .container{height:32px!important}.single-line-field-container{justify-content:space-between;align-items:center}.multi-line-field-container,.single-line-field-container{display:flex;padding:28px 16px;border-bottom:1px solid var(--grey-seperators)}.multi-line-field-container{justify-content:flex-start;align-items:flex-start;flex-wrap:wrap}.field-title-sm{margin-bottom:8px;cursor:default}.input-field{width:100%;background-color:var(--grey-bg-1);border:1px solid var(--grey-seperators);border-radius:6px}.ip-text{height:44px;padding:8px 12px}.ip-textarea{max-height:94px;padding:8px}input:focus{outline:none}input::-moz-placeholder{color:var(--grey-seperators)}input::placeholder{color:var(--grey-seperators)}textarea:focus{outline:none}.date-picker-container{position:relative;width:140px}.date-picker-container .date-picker{cursor:pointer;height:32px;width:100%;font-size:14px;border-radius:6px;padding:0 12px;border:1px solid var(--grey-seperators);inset:10px auto auto 80px;background-color:var(--text-white)}.date-picker-container .date-picker:hover{background-color:var(--grey-hover)}.date-picker-container .date-picker-icon{position:absolute;top:50%;right:12px;transform:translateY(-50%);cursor:pointer}form .dynamic-field:last-child{border-bottom:none!important}#checkboxes-container{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.radio-checkbox-common{display:flex;justify-content:center;align-items:center;cursor:pointer;margin-right:8px;margin-bottom:8px;background-color:var(--text-white);padding:12px 16px;border:1px solid var(--text-muted);border-radius:8px}.radio-checkbox-common p{color:var(--text-muted);cursor:pointer}.radio-checkbox-common img{margin-right:8px}.checkbox-active{background-color:var(--pmry-500)}.checkbox-active p{color:var(--text-white)}#error-messages-container{margin-top:4px;width:100%;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}#error-messages-container p{color:var(--sem-error)}"]}]}],g.ctorParameters=function(){return[]},g.propDecorators={formFields:[{type:i.Input}],formValues:[{type:i.Input}],activeBtnIconUrl:[{type:i.Input}],calendarIconUrl:[{type:i.Input}],formUpdated:[{type:i.Output}],formValid:[{type:i.Output}],formInitialized:[{type:i.Output}]};var y=function(e){return function(n){var i=n.value;if(Array.isArray(i))return null;"object"==typeof i&&(i=(null==i?void 0:i.value)?i.value:"");var r=null;return e.forEach((function(e){var i=null,l=e.message;switch(e.type){case"Required":(i=t.Validators.required(n))&&(i={Required:l});break;case"MinLength":i=t.Validators.minLength(+e.value)(n),l=l.replace("${0}",null==i?void 0:i.minlength.requiredLength),i&&(i={MinLength:l});break;case"MaxLength":i=t.Validators.maxLength(+e.value)(n),l=l.replace("${0}",null==i?void 0:i.actualLength),i&&(i={MaxLength:l});break;case"Email":(i=t.Validators.email(n))&&(i={Email:l});break;case"Custom":(i=t.Validators.pattern(""+e.value)(n))&&(i={Custom:l})}i&&(r=Object.assign(Object.assign({},r),i))})),r}},v=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[]}},e}();v.decorators=[{type:i.NgModule,args:[{declarations:[g],imports:[n.CommonModule,t.ReactiveFormsModule,t.FormsModule,r.OverlayModule,l.ScrollingModule,o.DropdownModule,c.SwitchModule,s.MultiSelectDropdownModule,u.DatepickerModuleV2],exports:[g]}]}],e.DynamicFormComponent=g,e.DynamicFormModule=v,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
16
2
|
//# sourceMappingURL=mis-crystal-design-system-dynamic-form.umd.min.js.map
|