vc-create-dashboard 2.5.7 → 2.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/bundles/create-dashboard.umd.js +101 -94
  2. package/bundles/create-dashboard.umd.js.map +1 -1
  3. package/create-dashboard.metadata.json +1 -1
  4. package/esm2015/lib/create-dashboard-container/categories/categories.component.js +1 -1
  5. package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.js +1 -1
  6. package/esm2015/lib/create-dashboard-container/create-dashboard.component.js +1 -1
  7. package/esm2015/lib/create-dashboard-container/directives/directives.module.js +1 -1
  8. package/esm2015/lib/create-dashboard-container/form-group/form-group.component.js +1 -1
  9. package/esm2015/lib/create-dashboard-container/frequency/frequency.component.js +1 -1
  10. package/esm2015/lib/create-dashboard-container/responsibility-center/responsibility-center.component.js +1 -1
  11. package/esm2015/lib/create-dashboard-container/risk-categories/risk-categories.component.js +1 -1
  12. package/esm2015/lib/create-dashboard-container/user-list/user-list.component.js +1 -1
  13. package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.js +1 -1
  14. package/esm2015/lib/ui-kit/dialog/dialog.component.js +1 -1
  15. package/esm2015/lib/ui-kit/floating-bar/floating-bar.component.js +1 -1
  16. package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.js +1 -1
  17. package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.js +1 -1
  18. package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.js +1 -1
  19. package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.js +1 -1
  20. package/esm2015/lib/ui-kit/no-data/no-data.component.js +1 -1
  21. package/esm2015/lib/ui-kit/pagination/pagination.component.js +1 -1
  22. package/esm2015/lib/ui-kit/popover/popover.component.js +1 -1
  23. package/esm2015/lib/ui-kit/select/cs-option/cs-option.component.js +1 -1
  24. package/esm2015/lib/ui-kit/select/cs-select/cs-select.component.js +1 -1
  25. package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.component.js +1 -1
  26. package/esm2015/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.js +1 -1
  27. package/esm2015/lib/ui-kit/v-loader/loader/loader.component.js +1 -1
  28. package/esm2015/lib/ui-kit/v-loader/loader-inline/loader-inline.component.js +1 -1
  29. package/fesm2015/create-dashboard.js +24 -24
  30. package/fesm2015/create-dashboard.js.map +1 -1
  31. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"create-dashboard.umd.js","sources":["../../../projects/create-dashboard/src/lib/create-dashboard.service.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/create-dashboard/src/lib/configurations.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/auth.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/create-dashboard.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/pagination.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/configure-widgets.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/pipes/text-count.pipe.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/create-dashboard.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/cs-select/cs-select.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/services/cs-select.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/cs-option/cs-option.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/safe-html.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/select.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/user-list/user-list.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/responsibility-center/responsibility-center.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/categories/categories.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/frequency/frequency.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/pagination/pagination.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/pagination/pagination.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-select/cs-select.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/tooltip/tooltip.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/tooltip/tooltip.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/pipes/pascal.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/click-outside.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/formgroup.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dashboard-footer/dashboard-footer.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/insertion.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog-ref.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog-config.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog-injector.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/form-group/form-group.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/floating-bar/floating-bar.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/floating-bar/floating-bar.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/pipes/filter.pipe.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/risk-categories/risk-categories.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/pipes/search.pipe.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/directives/scroll-in-view.directive.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/directives/directives.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/no-data/no-data.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/no-data/no-data.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/configure-widgets/configure-widgets.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/loader/loader.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/loader-inline/loader-inline.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/v-loader.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/smiley-dialog/smiley-dialog.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/smiley-dialog/smiley-dialog.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/create-dashboard.module.ts","../../../projects/create-dashboard/src/public-api.ts","../../../projects/create-dashboard/src/create-dashboard.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CreateDashboardService {\r\n constructor() {}\r\n}","/*! *****************************************************************************\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 || 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","export class Configurations {\r\n public envConfig: any;\r\n\r\n constructor() {\r\n this.envConfig = {};\r\n }\r\n\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { of, BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { map, shareReplay, catchError, delay} from 'rxjs/operators';\r\nimport { Configurations } from '../../configurations';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n public env !: any;\r\n\r\n constructor(private http: HttpClient, @Optional() config?: Configurations) { \r\n if (config) {\r\n this.env = config.envConfig;\r\n }\r\n }\r\n getAuthorizationToken() {\r\n if (localStorage.getItem('currentUser')) {\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser') || '{}');\r\n return currentUser.token;\r\n }\r\n }\r\n\r\n \r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, retry } from 'rxjs/operators';\r\nimport { Configurations } from '../../configurations';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CreateDashboardService {\r\n public env !: any;\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', token: this.authService.getAuthorizationToken() })\r\n };\r\n constructor(private http: HttpClient,\r\n private authService: AuthService, @Optional() config?: Configurations) {\r\n if (config) {\r\n this.env = config.envConfig;\r\n }\r\n }\r\n\r\n /*\r\n * Fetches the Organization Users List by making an API call\r\n */\r\n getOrganizationUsers(url?: any) {\r\n return this.http.get(this.env.organizationGet + 'organisationUsersList&paginationType=small' +\r\n (url.p ? '&p=' + url.p : '') + (url.type ? '&type=' + url.type : '') +\r\n (url.q ? '&q=' + url.q : ''), this.httpOptions).pipe(map((res: any) => {\r\n return res;\r\n }), retry(2), catchError(err => of(err)));\r\n }\r\n\r\n /**\r\n * Fetches the OrganizationUsers details of users List to set pagination details including number of\r\n * pages and records limit per page,\r\n * @param url contains info about type & search query\r\n */\r\n getOrganizationUsersCount(url?: any) {\r\n return this.http.get(this.env.organizationGet + 'organisationUsersCount&paginationType=small' +\r\n (url.type ? '&type=' + url.type : '') + (url.q ? '&q=' + url.q : ''), this.httpOptions).pipe(map(res => {\r\n return res;\r\n }), catchError(err => of(err)));\r\n }\r\n\r\n getCategoryList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any[]>(this.env.riskGet + 'category/list', { headers })\r\n .pipe(retry(2));\r\n }\r\n\r\n /**\r\n * Fetches all users by making an API call\r\n */\r\n getAllUsers() {\r\n return this.http.get(this.env.organizationGet + 'selectAllUsers&type=all', this.httpOptions).pipe(retry(2));\r\n }\r\n\r\n /**\r\n * Fetches responsibilityCentersList by making an API call\r\n */\r\n getResponsibilityCenterList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'responsibilityCenterTree', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getComplianceCategoriesList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'complianceCategory/CategoryListTree', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getComplianceCategoriesListFromGlobal() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'complianceCategory/CategoryListTree&program=1', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n submitDashboard(payload: any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.dashboard+'CreateDashboard', payload, { headers }).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n /**\r\n * Fetches the Dashboard details for data population to Edit the dashboard\r\n * @param id\r\n */\r\n fetchDashboard(id: any) {\r\n return this.http.get(this.env.dashboard + id + '?mode=edit', this.httpOptions).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n updateDashboard(id: any, payload: any) {\r\n return this.http.put(this.env.dashboard + 'UpdateDashboard/' + id, payload, this.httpOptions).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n getUserInformation() {\r\n return this.http.get(this.env.organizationGet + 'users&id=' + this._ID(), this.httpOptions).pipe(\r\n retry(2)\r\n );\r\n }\r\n _ID() {\r\n const helper = new JwtHelperService();\r\n const myRawToken = localStorage.getItem('currentUser') || '{}';\r\n const isExpired = helper?.isTokenExpired(myRawToken);\r\n if (isExpired === false) {\r\n const tokenInfo = helper?.decodeToken(myRawToken);\r\n return tokenInfo._id;\r\n }\r\n return '';\r\n }\r\n\r\n checkDuplicateDashboardName(payload: any) {\r\n return this.http.post(this.env.dashboard + 'DuplicateDashboard', payload, this.httpOptions).pipe(\r\n retry(2)\r\n );\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n/**\r\n * Service to implement pagination for users while creating an app\r\n */\r\nexport class PaginationService {\r\n currentPage = 1;\r\n searchValue = '';\r\n currentValues = new BehaviorSubject({});\r\n\r\n constructor() { }\r\n\r\n setCurrentState() {\r\n this.currentValues.next(true);\r\n }\r\n reset(){\r\n this.currentPage = 1;\r\n this.searchValue = '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SnackBarService {\r\n snackbarSubject = new Subject<any>();\r\n constructor() {}\r\n\r\n show(message: string, icon?: string) {\r\n this.snackbarSubject.next({\r\n show: true,\r\n message,\r\n icon,\r\n });\r\n }\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { widgetDataModel} from '../interfaces/widget-data-model'\r\nimport { HttpClient, HttpHeaders, JsonpClientBackend } from '@angular/common/http';\r\nimport { catchError, map, retry } from 'rxjs/operators';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { of } from 'rxjs';\r\nimport { AuthService } from './auth.service';\r\nimport { identifierModuleUrl } from '@angular/compiler';\r\nimport { Configurations } from '../../configurations';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigureWidgetsService {\r\n public env !: any;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private authService: AuthService,\r\n @Optional() config?: Configurations) { \r\n if (config) {\r\n this.env = config.envConfig;\r\n }}\r\n\r\n complianceWidgetsData = [\r\n {\r\n title: 'Overview',\r\n id: 'overview_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Responsibility Calendar',\r\n id: 'compliance_calendar_flag',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Responsibility Center Overview',\r\n id: 'responsibility_center_overview_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'My Responsibilities',\r\n id: 'my_responsibilities',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/my-responsibilities.png',\r\n tabOption: true,\r\n value: 0,\r\n },\r\n {\r\n title: 'Key Responsibilities',\r\n id: 'key_responsibilities',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/key-responsibilities.png',\r\n tabOption: true,\r\n value: 0,\r\n },\r\n {\r\n title: 'Trend Analysis',\r\n id: 'trend_analysis_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/trend-analysis.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Workroom Updates',\r\n id: 'workroom_alert_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/workroom-updates.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Recent Activities',\r\n id: 'recent_activity_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/recent-activities.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Exception Summary',\r\n id: 'exception_summary_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/exception-summary.png',\r\n value: 0,\r\n }\r\n ];\r\n\r\n\r\n\r\n riskWidgetsData = [\r\n {\r\n title: 'Risk Overview',\r\n id: 'risk_overview',\r\n description: 'description',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Appetite & Tolerance',\r\n id: 'risk_appetite_tolerance',\r\n description: 'description',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Ratings',\r\n id: 'risk_ratings',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risks Without Controls',\r\n id: 'risks_without_controls',\r\n description: 'Description',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\r\n value: 0,\r\n }, \r\n {\r\n title: 'Risks Exceeding Risk Tolerance',\r\n id: 'exceeds_risk_tolerance',\r\n description: 'description',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Inherent Risk Rating by Responsibility Centers ',\r\n id: 'inherent_risk_rating_by_responsibility_centers',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-RC.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Residual Risk Rating by Responsibility Centers ',\r\n id: 'residual_risk_rating_by_responsibility_centers',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-RC.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Category Overview',\r\n id: 'risk_category_overview',\r\n description: 'description',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-category-overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Heatmap',\r\n id: 'risk_heatmap',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-heatmap.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Inherent Risk Rating by Categories',\r\n id: 'inherent_risk_rating_by_categories',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-categories.png',\r\n value: 0,\r\n },\r\n \r\n {\r\n title: 'Residual Risk Rating by Categories',\r\n id: 'residual_risk_rating_by_categories',\r\n description: 'description',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-categories.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Inherent Risk Rating Trend by Responsibility Centers',\r\n id: 'inherent_risk_rating_trend_by_responsibility_centers',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-trend.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Residual Risk Rating Trend by Responsibility Centers',\r\n id: 'residual_risk_rating_trend_by_responsibility_centers',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-trend.png',\r\n value: 0,\r\n }, \r\n {\r\n title: 'Risk Rating Trend by Categories',\r\n id: 'risk_rating_trend_by_categories',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-trend.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Top 5 Risk Ratings',\r\n id: 'top_5_residual_risk_ratings',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/5-risk-ratings.png',\r\n value: 0,\r\n },\r\n ];\r\n auditWidgetsData = [];\r\n policyWidgetsData = [];\r\n\r\n\r\n // For dashboard view\r\n dashBoardWidgetUpdate(widGetJson: any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.put(this.env.OrganizationPut + 'dashboardWidgets', widGetJson).pipe(retry(2));\r\n }\r\n\r\n moduleType(identifier:string){\r\n if(JSON.stringify(this.complianceWidgetsData).includes(identifier)){\r\n return 'COMPLIANCE'\r\n }else if(JSON.stringify(this.riskWidgetsData).includes(identifier)){\r\n return 'RISK'\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PopoverService {\r\n stopScroll = false;\r\n positionX!: number;\r\n positionY!: number;\r\n popoverHeight: any;\r\n popoverWidth: any;\r\n elementPosition: any;\r\n elementDirection: any;\r\n constructor() {\r\n console.log(this.popoverHeight);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'textCount'\r\n})\r\nexport class TextCountPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n const span = document.createElement('span');\r\n span.innerHTML = value;\r\n console.log('span.innerHTML ==>',span.innerHTML,span.innerText.length)\r\n return span.textContent?.length || span.innerText.length;\r\n }\r\n\r\n}\r\n","import { ChangeDetectorRef, Component, EventEmitter, HostListener, Input, OnChanges, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { EditorConfig } from 'vcomply-editor';\r\nimport { DatePickerComponent, IDatePickerConfig } from 'ng2-date-picker';\r\nimport { CreateDashboardService } from './services/create-dashboard.service';\r\nimport { PaginationService } from './services/pagination.service';\r\nimport { UserListConfiguration } from './user-list/user-list.config';\r\nimport { CreateDashboardForm } from './create-dashboard-config';\r\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\r\nimport { ConfigureWidgetsService } from './services/configure-widgets.service';\r\nimport { findIndex } from 'rxjs/operators';\r\n\r\n\r\nimport * as dayjs from 'dayjs';\r\nimport * as customParseFormat from 'dayjs/plugin/customParseFormat';\r\nimport { PopoverService } from '../ui-kit/popover/popover.service';\r\nimport { TextCountPipe } from './pipes/text-count.pipe';\r\ndayjs.extend(customParseFormat);\r\n\r\n@Component({\r\n selector: 'app-create-dashboard',\r\n templateUrl: './create-dashboard.component.html',\r\n styleUrls: ['./create-dashboard.component.less'],\r\n providers: [TextCountPipe]\r\n})\r\nexport class CreateDashboardComponent implements OnInit, OnChanges {\r\n\r\n activeSelector = '';\r\n disabled = false;\r\n @Input() mode = 'CREATE';\r\n @Input() dashboardId = '';\r\n @Output() close = new EventEmitter();\r\n @Input() createdBy = 0;\r\n\r\n @ViewChild('fromDatePicker') fromDatePicker!: DatePickerComponent;\r\n @ViewChild('toDatePicker') toDatePicker!: DatePickerComponent;\r\n animation = true;\r\n @Input() configureWidget = false\r\n\r\n totalPages = 1;\r\n totalList = 1;\r\n usersList: any[] = [];\r\n vLoader = true;\r\n userListLoaded = false;\r\n rcListLoaded = false;\r\n complianceCategoriesListLoaded = false;\r\n riskCategoryListLoaded = false;\r\n hideToDate = false;\r\n listDetails: UserListConfiguration = {\r\n selectedUsersList: [],\r\n nonRemovableUsersList: [],\r\n displayElementKey: 'member_name',\r\n elementIdKey: 'member_id',\r\n tooltipKey: 'member_email',\r\n };\r\n dashboardDescription: EditorConfig = {\r\n placeholder: 'Description (Max limit: 250 characters)',\r\n mode: 'prime',\r\n id: 'description'\r\n }\r\n responsibilityCategoriesTree: any = {\r\n regulations: {\r\n list: [],\r\n selectedList: []\r\n },\r\n standards: {\r\n list: [],\r\n selectedList: []\r\n },\r\n internalControls: {\r\n list: [],\r\n selectedList: []\r\n },\r\n others: {\r\n list: [],\r\n selectedList: []\r\n }\r\n };\r\n allComplianceCategories: any[] = [];\r\n allRiskCategories: any[] = [];\r\n showRiskCategory = false;\r\n showCriteria = true;\r\n\r\n dashboardForm: CreateDashboardForm = {\r\n dashboardName: '',\r\n dashboardDescriptionText: '',\r\n selectedViewers: [],\r\n selectedFromDate: undefined,\r\n selectedToDate: undefined,\r\n selectedResponsibilityCenters: [],\r\n selectedResponsibilityCategories: [],\r\n selectedRiskCategories: [],\r\n displayCriteria: 'or',\r\n configureWidget: [],\r\n frequencyDetails: '',\r\n selectedFrequencyType: '',\r\n selectedFrequencies: [0],\r\n frequencyMessage: '',\r\n frequencyDate: 1\r\n }\r\n\r\n\r\n openConfigureWidgets = false;\r\n selectedWidgets: any = [];\r\n displayedWidgets: any = []\r\n\r\n\r\n responsibilityCentersList = [];\r\n datePickerOverlay = false;\r\n dayNames = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\r\n monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n quarters = ['January, April, July, October', 'February, May, August, November', 'March, June, September, December'];\r\n\r\n categoryListLoaded = false;\r\n showRiskWidgets = false;\r\n showComplianceWidgets = false;\r\n isManageRisk: boolean = false;\r\n\r\n riskCategoryList = {\r\n strategic: {\r\n list: [],\r\n selectedList: []\r\n },\r\n operational: {\r\n list: [],\r\n selectedList: []\r\n },\r\n compliance: {\r\n list: [],\r\n selectedList: []\r\n },\r\n others: {\r\n list: [],\r\n selectedList: []\r\n },\r\n };\r\n\r\n fromDatePickerConfig: IDatePickerConfig = {\r\n min: this.getCurrentDate()\r\n }\r\n\r\n toDatePickerConfig: IDatePickerConfig = {\r\n }\r\n\r\n isSmiley!: boolean;\r\n smileyMessage: string = '';\r\n\r\n constructor(\r\n private createDashboardService: CreateDashboardService,\r\n private paginationService: PaginationService,\r\n private cdr: ChangeDetectorRef,\r\n private snackBar: SnackBarService,\r\n public popoverService: PopoverService,\r\n private configureWidgetsService: ConfigureWidgetsService,\r\n private textCount: TextCountPipe\r\n ) { }\r\n\r\n ngOnChanges() {\r\n if (this.createdBy) {\r\n this.listDetails.nonRemovableUsersList.push(this.createdBy);\r\n }\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\r\n this.close.emit({ mode: 'discard' });\r\n this.isSmiley = false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.getOrganizationUsersCount('');\r\n this.getCategoryList();\r\n this.getRCList();\r\n this.getComplianceCategoryList();\r\n this.setFrequency(\"2~1~0~0\", 'import');\r\n this.checkWhetherAllListsLoaded();\r\n this.getUsersList('');\r\n this.createDashboardService.getUserInformation().subscribe((res: any) => {\r\n this.setPermission(res?.roleActions);\r\n const quickLink = res.quick_link;\r\n if (quickLink.risk) {\r\n this.showRiskCategory = true;\r\n } else {\r\n this.showRiskCategory = false;\r\n }\r\n }, error => { console.log(error) });\r\n\r\n }\r\n\r\n /**\r\n * Displays the listing pages the left side of policy form to set and edit the dropdown fields values\r\n * @param type holds name of particular list is to be displayed\r\n * @param event contains boolean value to display the list or not\r\n */\r\n activateSelector(type: any, event: boolean) {\r\n if (type == 'frequency' || this.activeSelector == 'frequency') {\r\n this.showCriteria = false;\r\n setTimeout(() => {\r\n this.showCriteria = true;\r\n }, 1);\r\n }\r\n this.activeSelector = event ? type : '';\r\n }\r\n\r\n openFromDatePicker() {\r\n this.fromDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n\r\n openToDatePicker() {\r\n this.toDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n closeFromDatePicker() {\r\n if (!this.dashboardForm.selectedFromDate) {\r\n this.dashboardForm.selectedToDate = undefined;\r\n this.hideToDate = true;\r\n setTimeout(() => {\r\n this.hideToDate = false;\r\n }, 20);\r\n this.fromDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n return\r\n }\r\n let minToDate = this.setToDate(this.dashboardForm.selectedFromDate)\r\n this.toDatePickerConfig = { min: minToDate };\r\n\r\n const fromDate = new Date(minToDate.split('-').reverse().join('-'));\r\n const toDate = new Date(this.dashboardForm.selectedToDate)\r\n const inValidDate = (fromDate >= toDate) ? true : false;\r\n if (inValidDate) {\r\n this.dashboardForm.selectedToDate = undefined;\r\n this.hideToDate = true;\r\n setTimeout(() => {\r\n this.hideToDate = false;\r\n }, 20);\r\n }\r\n this.fromDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n closeToDatePicker() {\r\n this.toDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n animateImage() {\r\n const circleImage = document.getElementsByClassName('image')\r\n }\r\n\r\n saveFrequency(eventValues: any) {\r\n this.dashboardForm.selectedFrequencyType = eventValues.frequencyType;\r\n this.dashboardForm.selectedFrequencies = eventValues.frequencies;\r\n this.dashboardForm.frequencyMessage = eventValues.frequencyString;\r\n this.dashboardForm.frequencyDate = eventValues.selectedDate;\r\n this.activateSelector('', false)\r\n }\r\n\r\n getCurrentDate() {\r\n let today = new Date();\r\n return today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear();\r\n }\r\n setToDate(data: string) {\r\n let today = new Date(data);\r\n return today.getDate() + 1 + '-' + (today.getMonth() + 1) + '-' + today.getFullYear();\r\n }\r\n getFromDate(data: string) {\r\n let today = new Date(data);\r\n return today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear();\r\n }\r\n configureDashboard() {\r\n let fieldsStatus = this.validateDashboard();\r\n if (fieldsStatus) {\r\n if (this.mode == 'CREATE') {\r\n this.vLoader = true;\r\n const payload = {\r\n dashboard_name: this.dashboardForm.dashboardName,\r\n dashboard_id: ''\r\n }\r\n this.createDashboardService.checkDuplicateDashboardName(payload).subscribe(res => {\r\n if (!res) {\r\n this.vLoader = false;\r\n this.showRiskWidgets = (this.isManageRisk && this.showRiskCategory && (this.dashboardForm.selectedRiskCategories.length > 0 || this.dashboardForm.selectedResponsibilityCenters.length > 0)) ? true : false;\r\n this.showComplianceWidgets = (this.dashboardForm.selectedResponsibilityCategories.length > 0 || this.dashboardForm.selectedResponsibilityCenters.length > 0) ? true : false;\r\n this.openConfigureWidgets = true;\r\n } else {\r\n this.vLoader = false;\r\n this.snackBar.show('A dashboard with this name already exists. Specify a different name for the dashboard.');\r\n return;\r\n }\r\n }, error => {\r\n console.error(error)\r\n this.vLoader = false;\r\n });\r\n } else if (this.mode == 'EDIT') {\r\n this.vLoader = true;\r\n const payload = {\r\n dashboard_name: this.dashboardForm.dashboardName,\r\n dashboard_id: this.dashboardId\r\n }\r\n this.createDashboardService.checkDuplicateDashboardName(payload).subscribe(res => {\r\n if (!res) {\r\n this.vLoader = false;\r\n this.showRiskWidgets = (this.isManageRisk && this.showRiskCategory && (this.dashboardForm.selectedRiskCategories.length > 0 || this.dashboardForm.selectedResponsibilityCenters.length > 0)) ? true : false;\r\n this.showComplianceWidgets = (this.dashboardForm.selectedResponsibilityCategories.length > 0 || this.dashboardForm.selectedResponsibilityCenters.length > 0) ? true : false;\r\n this.openConfigureWidgets = true;\r\n } else {\r\n this.vLoader = false;\r\n this.snackBar.show('A dashboard with this name already exists. Specify a different name for the dashboard.');\r\n return;\r\n }\r\n }, error => {\r\n this.vLoader = false;\r\n console.error(error)\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Fetches organization users count api to get total number of pages\r\n * @param Url contains prams\r\n */\r\n getOrganizationUsersCount(Url: any) {\r\n this.createDashboardService.getOrganizationUsersCount(Url).subscribe(res => {\r\n this.totalList = res.total_members;\r\n if (res.total_members && res.limit_per_page > 1) {\r\n this.totalPages = res.create_page;\r\n } else {\r\n this.totalPages = 1;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Get users list by making api call and pre selects all admins by adding to viewers\r\n * @param url contains query params for organization users api\r\n */\r\n getUsersList(url: any) {\r\n this.createDashboardService.getAllUsers().subscribe((res: any) => {\r\n\r\n this.usersList = res;\r\n this.userListLoaded = true;\r\n\r\n if (this.mode === 'EDIT') {\r\n this.vLoader = true;\r\n } else {\r\n this.dashboardForm.selectedViewers = this.setList(this.usersList, [this.createdBy], 'member_id');\r\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\r\n this.vLoader = false;\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n getComplianceCategoryList() {\r\n this.createDashboardService.getComplianceCategoriesListFromGlobal().subscribe((res: any) => {\r\n const data = res;\r\n this.allComplianceCategories = Object.assign(res)\r\n // cloneDeep(res);\r\n data.forEach((element: any) => {\r\n if (element && element.compliance_type == 0) {\r\n this.responsibilityCategoriesTree.others.list.push(element);\r\n }\r\n if (element && element.compliance_type == 1) {\r\n this.responsibilityCategoriesTree.regulations.list.push(element);\r\n }\r\n if (element && element.compliance_type == 2) {\r\n this.responsibilityCategoriesTree.standards.list.push(element);\r\n }\r\n if (element && element.compliance_type == 3) {\r\n this.responsibilityCategoriesTree.internalControls.list.push(element);\r\n }\r\n });\r\n this.complianceCategoriesListLoaded = true;\r\n }, (err: any) => {\r\n console.error(err);\r\n this.complianceCategoriesListLoaded = true;\r\n });\r\n }\r\n\r\n\r\n saveSelectedCategory(event: any) {\r\n console.log(\"event==>>>\", event);\r\n }\r\n\r\n getCategoryList() {\r\n this.createDashboardService.getCategoryList().subscribe((res: any) => {\r\n this.riskCategoryList.strategic.list = res.strategic_arr;\r\n this.riskCategoryList.operational.list = res.operational_arr;\r\n this.riskCategoryList.compliance.list = res.compliance_arr;\r\n this.riskCategoryList.others.list = res.others_arr;\r\n this.riskCategoryListLoaded = true;\r\n this.allRiskCategories = [...new Set(this.allRiskCategories.concat(res.strategic_arr, res.operational_arr, res.compliance_arr, res.others_arr))]\r\n\r\n }, err => {\r\n console.error(err);\r\n this.riskCategoryListLoaded = true;\r\n\r\n });\r\n }\r\n\r\n /**\r\n * It is to ensure whether all required lists on Policy from is loaded from the api call or not\r\n */\r\n checkWhetherAllListsLoaded() {\r\n if (this.rcListLoaded && this.complianceCategoriesListLoaded && this.riskCategoryListLoaded && this.userListLoaded) {\r\n if (this.mode === 'EDIT') {\r\n this.editDashboard();\r\n } else {\r\n this.vLoader = false;\r\n }\r\n } else {\r\n setTimeout(() => {\r\n this.checkWhetherAllListsLoaded();\r\n }, 300);\r\n }\r\n }\r\n\r\n setSelectedWidgets(data: any) {\r\n if (this.mode === 'CREATE') {\r\n const widgetsArray: any = []\r\n data.forEach((element: any) => {\r\n let obj: any = {}\r\n obj.module_name = element.module;\r\n obj._id = '';\r\n obj.widget_name = element.title\r\n obj.widget_code = element.id;\r\n obj.sub_widgets = [];\r\n obj.state = 'ACTIVE'\r\n if (element.subWidgets.length > 0) {\r\n element.subWidgets.forEach((subWidget: any) => {\r\n let subWidgetObject: any = {}\r\n subWidgetObject._id = '';\r\n subWidgetObject.widget_name = subWidget.title\r\n subWidgetObject.widget_code = subWidget.id;\r\n subWidgetObject.state = (subWidget.value) ? 'ACTIVE' : 'INACTIVE'\r\n obj.sub_widgets.push(Object.assign(subWidgetObject))\r\n });\r\n }\r\n widgetsArray.push(obj)\r\n });\r\n\r\n this.dashboardForm.configureWidget = widgetsArray;\r\n } else if (this.mode === 'EDIT') {\r\n const widgetsArray: any = []\r\n\r\n data.forEach((element: any) => {\r\n if (!JSON.stringify(this.dashboardForm.configureWidget).includes(element.id)) {\r\n let obj: any = {}\r\n obj.module_name = element.module;\r\n obj._id = '';\r\n obj.widget_name = element.title\r\n obj.widget_code = element.id;\r\n obj.sub_widgets = [];\r\n obj.state = 'ACTIVE'\r\n if (element.subWidgets.length > 0) {\r\n element.subWidgets.forEach((subWidget: any) => {\r\n let subWidgetObject: any = {}\r\n subWidgetObject._id = '';\r\n subWidgetObject.widget_name = subWidget.title\r\n subWidgetObject.widget_code = subWidget.id;\r\n subWidgetObject.state = (subWidget.value) ? 'ACTIVE' : 'INACTIVE'\r\n obj.sub_widgets.push(subWidgetObject)\r\n });\r\n }\r\n this.dashboardForm.configureWidget.push(obj)\r\n } else {\r\n const index = this.selectedWidgets.findIndex((ele: any) => ele.widget_code == element.id)\r\n if (index != -1) {\r\n this.selectedWidgets[index].state = 'ACTIVE'\r\n if (this.selectedWidgets[index].sub_widgets.length > 0) {\r\n this.selectedWidgets[index].sub_widgets.forEach((subWidgetData: any) => {\r\n const elementIndex = element.subWidgets.findIndex((ele: any) => ele.id == subWidgetData.widget_code)\r\n if (elementIndex != -1) {\r\n subWidgetData.state = (element.subWidgets[elementIndex].value) ? 'ACTIVE' : 'INACTIVE'\r\n }\r\n });\r\n }\r\n }\r\n\r\n }\r\n });\r\n this.dashboardForm.configureWidget.forEach((savedWidget: any) => {\r\n const index = data.findIndex((dataElement: any) => dataElement.id == savedWidget.widget_code)\r\n if (index == -1) {\r\n savedWidget.state = 'INACTIVE';\r\n if (savedWidget.sub_widgets.length > 0) {\r\n savedWidget.sub_widgets.forEach((saveSubWidget: any) => {\r\n saveSubWidget.state = 'INACTIVE'\r\n });\r\n }\r\n }\r\n });\r\n\r\n }\r\n this.selectedWidgets = data\r\n this.openConfigureWidgets = false;\r\n this.submitDashboard();\r\n\r\n }\r\n\r\n closeConfigureWidgets(event: boolean) {\r\n this.openConfigureWidgets = event;\r\n }\r\n\r\n /**\r\n * Filter list user's list based on pagination by making api call\r\n * @param event specifies a boolean value to call api\r\n */\r\n paginationFilter(event: any) {\r\n if (event) {\r\n this.getUsersList({\r\n p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\r\n type: 'all_except_executive',\r\n q: (!this.paginationService.searchValue) ? '' : this.paginationService.searchValue,\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n getRCList() {\r\n this.createDashboardService.getResponsibilityCenterList().subscribe((res: any) => {\r\n this.responsibilityCentersList = res;\r\n this.rcListLoaded = true;\r\n\r\n }, (err: any) => {\r\n console.error(err);\r\n this.rcListLoaded = true;\r\n });\r\n }\r\n\r\n saveSelectedList(type: string, selectedItems: any) {\r\n switch (type) {\r\n case 'rc':\r\n this.dashboardForm.selectedResponsibilityCenters = this.setList(this.responsibilityCentersList, selectedItems, 'item_id');\r\n if(this.dashboardForm.selectedResponsibilityCenters.length==0){\r\n if (this.dashboardForm.selectedResponsibilityCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='COMPLIANCE')\r\n } else if (this.dashboardForm.selectedRiskCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='RISK')\r\n }\r\n }\r\n break;\r\n case 'whoCanView':\r\n this.dashboardForm.selectedViewers = selectedItems\r\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\r\n break;\r\n case 'responsibilityCategories':\r\n this.dashboardForm.selectedResponsibilityCategories = selectedItems;\r\n if(this.dashboardForm.selectedResponsibilityCenters.length==0){\r\n if (this.dashboardForm.selectedResponsibilityCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='COMPLIANCE')\r\n } else if (this.dashboardForm.selectedRiskCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='RISK')\r\n }\r\n }\r\n break;\r\n case 'riskCategory':\r\n this.dashboardForm.selectedRiskCategories = selectedItems;\r\n if(this.dashboardForm.selectedResponsibilityCenters.length==0){\r\n if (this.dashboardForm.selectedResponsibilityCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='COMPLIANCE')\r\n } else if (this.dashboardForm.selectedRiskCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='RISK')\r\n }\r\n }\r\n break;\r\n }\r\n this.activateSelector('', false);\r\n }\r\n\r\n remove(type: any, event: any, removeIndex?: any) {\r\n switch (type) {\r\n case 'rc':\r\n const rcIndex = this.dashboardForm.selectedResponsibilityCenters.findIndex((rc: any) => rc.rc_id == event.rc_id);\r\n if (rcIndex !== -1) {\r\n const parentRc: any = this.dashboardForm.selectedResponsibilityCenters[rcIndex];\r\n this.dashboardForm.selectedResponsibilityCenters.splice(rcIndex, 1);\r\n\r\n if (parentRc?.item_child_ids?.length > 0) {\r\n parentRc.item_child_ids.forEach((childElement: any) => {\r\n const removeIndex = this.dashboardForm.selectedResponsibilityCenters.findIndex((removeElement: any) => removeElement.rc_id == childElement);\r\n this.dashboardForm.selectedResponsibilityCenters.splice(removeIndex, 1);\r\n });\r\n }\r\n }\r\n if(this.dashboardForm.selectedResponsibilityCenters.length==0){\r\n if (this.dashboardForm.selectedResponsibilityCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='COMPLIANCE')\r\n } else if (this.dashboardForm.selectedRiskCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='RISK')\r\n }\r\n }\r\n break;\r\n\r\n case 'whoCanView':\r\n const reviewerIndex = this.dashboardForm.selectedViewers.findIndex((viewer: any) => viewer.member_id == event.member_id);\r\n this.dashboardForm.selectedViewers.splice(reviewerIndex, 1);\r\n break;\r\n\r\n case 'responsibilityCategories':\r\n const CCcategoryIndex = this.dashboardForm.selectedResponsibilityCategories.findIndex((CCcategory: any) => CCcategory.category_id == event.category_id);\r\n this.dashboardForm.selectedResponsibilityCategories.splice(CCcategoryIndex, 1);\r\n if(this.dashboardForm.selectedResponsibilityCenters.length==0){\r\n if (this.dashboardForm.selectedResponsibilityCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='COMPLIANCE')\r\n } else if (this.dashboardForm.selectedRiskCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='RISK')\r\n }\r\n }\r\n break;\r\n\r\n case 'riskCategory':\r\n const riskCategoryIndex = this.dashboardForm.selectedRiskCategories.findIndex((riskCategory: any) => riskCategory.category_id == event.category_id);\r\n if (riskCategoryIndex !== -1) {\r\n const parent: any = this.dashboardForm.selectedRiskCategories[riskCategoryIndex];\r\n this.dashboardForm.selectedRiskCategories.splice(riskCategoryIndex, 1);\r\n if (parent?.child_cat_ids?.length > 0) {\r\n parent.child_cat_ids.forEach((childElement: any) => {\r\n const removeIndex = this.dashboardForm.selectedRiskCategories.findIndex((removeElement: any) => removeElement.category_id == childElement);\r\n this.dashboardForm.selectedRiskCategories.splice(removeIndex, 1);\r\n });\r\n }\r\n }\r\n this.dashboardForm.selectedRiskCategories.splice(riskCategoryIndex, 1);\r\n if(this.dashboardForm.selectedResponsibilityCenters.length==0){\r\n if (this.dashboardForm.selectedResponsibilityCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='COMPLIANCE')\r\n } else if (this.dashboardForm.selectedRiskCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='RISK')\r\n }\r\n }\r\n break;\r\n\r\n }\r\n }\r\n\r\n setList(list: any[], ids: any[], key: string) {\r\n const data: any = [];\r\n\r\n ids.forEach((element: any) => {\r\n const index = list.findIndex((listElement: any) => listElement[key] == element);\r\n if (index !== -1) {\r\n data.push(list[index]);\r\n }\r\n });\r\n return data;\r\n }\r\n submitted = false\r\n\r\n /**\r\n * Returns id's from a particular list elements\r\n * @param list actual selected list\r\n * @param key contains key to extract id from the list\r\n */\r\n returnIds(list: any[], key: string) {\r\n return list?.map(ele => { if (ele[key]) { return ele[key]; } });\r\n }\r\n\r\n /**\r\n * Validates the data submitted on create dashboard form\r\n */\r\n validateDashboard() {\r\n setTimeout(() => {\r\n this.submitted = true;\r\n\r\n }, 100);\r\n const event = this.dashboardForm.dashboardName;\r\n const re = /&nbsp;|<br>/g;\r\n this.dashboardForm.dashboardName = event.replace(re, '').trim();\r\n const description = this.dashboardForm.dashboardDescriptionText;\r\n this.dashboardForm.dashboardDescriptionText = description.replace(re, '').trim();\r\n if (!this.dashboardForm.dashboardName || this.dashboardForm.dashboardName.trim() == ''\r\n || (this.dashboardForm.dashboardName.length > 30)\r\n || (this.textCount.transform(this.dashboardForm?.dashboardDescriptionText) > 250)\r\n || (this.dashboardForm.selectedFromDate && (!this.dashboardForm.selectedToDate))\r\n || (this.dashboardForm.selectedResponsibilityCenters.length == 0 &&\r\n this.dashboardForm.selectedResponsibilityCategories.length == 0 &&\r\n this.dashboardForm.selectedRiskCategories.length == 0)) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n /**\r\n * Makes an api call to create a policy\r\n * @param dashboard contains dashboardForm data\r\n */\r\n submitDashboard() {\r\n\r\n this.submitted = false;\r\n const valid = this.validateDashboard();\r\n if (!valid) {\r\n return false;\r\n }\r\n this.vLoader = true;\r\n const dashboard = this.dashboardForm;\r\n const payload: any = {\r\n dashboard_name: dashboard.dashboardName,\r\n description: [\r\n {\r\n content: dashboard.dashboardDescriptionText,\r\n attachments: []\r\n }\r\n ],\r\n visible_to_users: this.returnIds(dashboard.selectedViewers, 'member_id'),\r\n responsibility_center: this.returnIds(dashboard.selectedResponsibilityCenters, 'item_id'),\r\n responsibility_category: this.returnIds(dashboard.selectedResponsibilityCategories, 'category_id'),\r\n risk_category: this.returnIds(dashboard.selectedRiskCategories, 'category_id'),\r\n display_criteria: (dashboard.displayCriteria === 'and') ? 'BOTH_RC_AND_CATEGORY' : 'RC_OR_CATEGORY',\r\n timeframe: {\r\n start_date: (dashboard.selectedFromDate) ? dayjs(dashboard.selectedFromDate).format('YYYY-MM-DD') : '',\r\n end_date: (dashboard.selectedToDate) ? dayjs(dashboard.selectedToDate).format('YYYY-MM-DD') : '',\r\n\r\n },\r\n email_summary: this.setFrequency('', 'export'), //setFormat\r\n widget_details: dashboard.configureWidget\r\n\r\n }\r\n if (this.mode == 'CREATE') {\r\n this.createDashboardService.submitDashboard(payload).subscribe((res: any) => {\r\n this.vLoader = false;\r\n // this.snackBar.show('The dashboard has been created.');\r\n this.isSmiley = true;\r\n this.smileyMessage = 'The dashboard has been created.'\r\n setTimeout(() => {\r\n this.isSmiley = false;\r\n this.close.emit({ mode: 'created', id: res._id });\r\n }, 3000);\r\n\r\n },\r\n err => {\r\n if (err.status === 409) {\r\n this.snackBar.show('A dashboard with this name already exists. Specify a different name for the dashboard.');\r\n this.vLoader = false;\r\n } else {\r\n console.error(err);\r\n this.vLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n\r\n\r\n }\r\n );\r\n }\r\n if (this.mode === 'EDIT') {\r\n payload.widget_update_flag = true\r\n this.createDashboardService.updateDashboard(this.dashboardId, payload).subscribe({\r\n next: (res: any) => {\r\n this.vLoader = false;\r\n // this.snackBar.show('The dashboard has been updated');\r\n this.isSmiley = true;\r\n this.smileyMessage = 'The dashboard has been updated';\r\n setTimeout(() => {\r\n this.isSmiley = false;\r\n this.close.emit({ mode: 'updated' });\r\n }, 3000);\r\n\r\n },\r\n error: (error: any) => {\r\n console.error(error);\r\n this.vLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n });\r\n\r\n\r\n }\r\n }\r\n\r\n editDashboard() {\r\n if (this.dashboardId) {\r\n this.createDashboardService.fetchDashboard(this.dashboardId).subscribe((res: any) => {\r\n const data = res;\r\n this.listDetails.nonRemovableUsersList = [res.created_by]\r\n this.populateDashboardForm(data);\r\n }, error => {\r\n console.error(error);\r\n });\r\n }\r\n }\r\n\r\n populateDashboardForm(data: any) {\r\n this.dashboardForm.dashboardName = data.dashboard_name,\r\n this.dashboardForm.dashboardDescriptionText = data.description[0].content,\r\n this.dashboardForm.selectedViewers = this.setList(this.usersList, data.visible_to_users, 'member_id');\r\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\r\n this.dashboardForm.selectedResponsibilityCenters = this.setList(this.responsibilityCentersList, data.responsibility_center, 'item_id');\r\n this.dashboardForm.selectedResponsibilityCategories = this.setList(this.allComplianceCategories, data.responsibility_category, 'category_id');\r\n this.dashboardForm.selectedRiskCategories = this.setList(this.allRiskCategories, data.risk_category, 'category_id');\r\n this.dashboardForm.displayCriteria = (data.display_criteria === \"BOTH_RC_AND_CATEGORY\") ? 'and' : 'or';\r\n this.dashboardForm.selectedFromDate = (data?.timeframe?.start_date) ? dayjs(data?.timeframe?.start_date)?.toDate() : undefined;\r\n this.dashboardForm.selectedToDate = (data?.timeframe?.end_date) ? dayjs(data?.timeframe?.end_date)?.toDate() : undefined;\r\n this.vLoader = false;\r\n this.dashboardForm.configureWidget = data.widget_details\r\n this.selectedWidgets = data.widget_details.length > 0 ? [...new Set(data.widget_details)] : [];\r\n this.displayedWidgets = data.all_widgets.length > 0 ? [...new Set(data.all_widgets)] : [];\r\n this.setFrequency(data?.email_summary, 'import');\r\n let minToDate = this.setToDate(data?.timeframe?.start_date);\r\n this.toDatePickerConfig = { min: minToDate };\r\n this.hideToDate = true;\r\n setTimeout(() => {\r\n this.hideToDate = false;\r\n }, 20);\r\n\r\n }\r\n\r\n setFrequency(event: any, mode: any) {\r\n if (mode === 'export') {\r\n switch (this.dashboardForm.selectedFrequencyType) {\r\n case 'weekly':\r\n const weeklyValueData = this.dashboardForm?.selectedFrequencies?.map((ele: any) => Number(ele) + 1);\r\n const weeklyValue = weeklyValueData?.join();\r\n return '2~' + weeklyValue + '~0~0'\r\n case 'monthly':\r\n const monthlyValueData = this.dashboardForm?.selectedFrequencies?.map((ele: any) => Number(ele) + 1);\r\n const monthlyValue = monthlyValueData?.join();\r\n return '3~' + this.dashboardForm?.frequencyDate + '~' + monthlyValue + '~0'\r\n case 'quarterly':\r\n const quarterlyValueData = Number(this.dashboardForm.selectedFrequencies) + 1;\r\n return '7~' + this.dashboardForm.frequencyDate + '~' + quarterlyValueData + '~0'\r\n\r\n }\r\n }\r\n if (mode === 'import') {\r\n const val = event.split('~')\r\n switch (val[0]) {\r\n case '2': {\r\n let stringVal = \"Every \";\r\n this.dashboardForm.selectedFrequencyType = 'weekly'\r\n this.dashboardForm.selectedFrequencies = val[1]?.split(',')?.map((element: any) => Number(element) - 1);\r\n this.dashboardForm.selectedFrequencies?.forEach((dayIndex: any, index: any) => {\r\n stringVal += index === 0 ? this.dayNames[dayIndex] : ', ' + this.dayNames[dayIndex];\r\n })\r\n this.dashboardForm.frequencyMessage = stringVal;\r\n }\r\n\r\n break\r\n case '3': {\r\n let stringVal = \"every \";\r\n this.dashboardForm.selectedFrequencyType = 'monthly'\r\n this.dashboardForm.frequencyDate = val[1]\r\n this.dashboardForm.selectedFrequencies = val[2]?.split(',')?.map((element: any) => Number(element) - 1);\r\n this.dashboardForm.selectedFrequencies.forEach((monthIndex: any, index: any) => {\r\n stringVal += index === 0 ? this.monthNames[monthIndex] : ', ' + this.monthNames[monthIndex];\r\n })\r\n let monthDateName;\r\n if (this.dashboardForm.frequencyDate == \"1\") {\r\n monthDateName = '1st'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"2\") {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"3\") {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.dashboardForm.frequencyDate + 'th'\r\n }\r\n this.dashboardForm.frequencyMessage = monthDateName + ' of ' + stringVal;\r\n }\r\n break\r\n case '7': {\r\n let stringVal = \"every \";\r\n this.dashboardForm.selectedFrequencyType = 'quarterly'\r\n this.dashboardForm.frequencyDate = val[1];\r\n this.dashboardForm.selectedFrequencies = Number(val[2].split(',')[0]) - 1;\r\n stringVal += this.quarters[this.dashboardForm.selectedFrequencies];\r\n let monthDateName;\r\n if (this.dashboardForm.frequencyDate == \"1\") {\r\n monthDateName = '1st'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"2\") {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"3\") {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.dashboardForm.frequencyDate + 'th'\r\n }\r\n this.dashboardForm.frequencyMessage = monthDateName + ' of ' + stringVal;\r\n }\r\n break\r\n\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n //your code to update the model\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setPermission(roleActions: any){\r\n let ifExistRisk = roleActions?.find((el:any)=> el.moduleName == \"risk\");\r\n ifExistRisk?.subModule?.forEach( (module: any) => {\r\n module?.permissions?.forEach( (permission: any) => {\r\n switch(permission?.code) {\r\n case 'RRMR': {\r\n if(permission?.defaultPermission==1 || permission?.enable==1) {\r\n this.isManageRisk = true;\r\n };\r\n break;\r\n }\r\n }\r\n })\r\n })\r\n }\r\n}\r\n","import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild, QueryList, ContentChildren } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { nanoid } from 'nanoid';\r\n// import { CsOptionComponent } from '../cs-option/cs-option.component';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'cs-select',\r\n templateUrl: './cs-select.component.html',\r\n styleUrls: ['./cs-select.component.less'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CsSelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CsSelectComponent implements OnInit {\r\n @Input() dropdownLabel!: string;\r\n @Input() dropdownSubLabel!: string;\r\n @Input() isRequired!: string;\r\n @Input() placeholder!: string;\r\n\r\n // @ContentChildren(CsOptionComponent) op !: QueryList<CsOptionComponent>;\r\n\r\n dropdownToggle!: boolean;\r\n positionReset!: boolean;\r\n getLeft!: number;\r\n getTop!: number;\r\n getWidth!: number;\r\n maxWidth!: number;\r\n\r\n valuePlaceholder!: string;\r\n private optionList!: ElementRef;\r\n\r\n @ViewChild('optionList') set content(content: ElementRef) {\r\n if (content) {\r\n // initially setter gets called with undefined\r\n this.optionList = content;\r\n }\r\n }\r\n name!: string;\r\n val!: string;\r\n showOptions!: boolean;\r\n constructor() {\r\n this.name = nanoid();\r\n this.valuePlaceholder = '';\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n set RadioVal(val: any) {\r\n if (val !== undefined && val !== null && this.val !== val) {\r\n this.val = val;\r\n console.log('VALUE', this.val);\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.RadioVal = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n openDropdown(event: any): void {\r\n this.dropdownToggle = true;\r\n setTimeout(() => {\r\n const dropdown = event.target.getBoundingClientRect();\r\n const selectOption = this.optionList.nativeElement.offsetHeight;\r\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\r\n this.getTop = dropdown.top - selectOption;\r\n } else {\r\n this.getTop = dropdown.top + dropdown.height;\r\n }\r\n this.getLeft = dropdown.left;\r\n this.getWidth = dropdown.width;\r\n this.maxWidth = dropdown.width * 1.25;\r\n this.showOptions = true;\r\n }, 10);\r\n }\r\n closeDropdown(): void {\r\n this.dropdownToggle = false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CsSelectService {\r\n color: any;\r\n constructor() {\r\n }\r\n}\r\n","import { Component, ElementRef, Input, OnInit, ViewChild, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CsSelectService } from '../../services/cs-select.service';\r\nimport { CsSelectComponent } from '../cs-select/cs-select.component';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'cs-option',\r\n templateUrl: './cs-option.component.html',\r\n styleUrls: ['./cs-option.component.less'],\r\n})\r\nexport class CsOptionComponent implements OnInit {\r\n @Input() value!: string;\r\n @ViewChild('options') option!: ElementRef;\r\n @Input() color!: any;\r\n constructor(public csSelect: CsSelectComponent, public colorSelector: CsSelectService) {\r\n this.value = '';\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n change(event: any): void {\r\n if (this.option) {\r\n setTimeout(() => {\r\n this.csSelect.valuePlaceholder = this.option.nativeElement.innerHTML;\r\n this.colorSelector.color = this.color;\r\n console.log(this.color);\r\n }, 1);\r\n }\r\n this.csSelect.writeValue(this.value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHtml'\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitizer:DomSanitizer){}\r\n transform(html: any) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CsSelectComponent } from './cs-select/cs-select.component';\r\nimport { CsOptionComponent } from './cs-option/cs-option.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SafeHtmlPipe } from './safe-html.pipe';\r\n\r\n@NgModule({\r\n declarations: [CsSelectComponent, CsOptionComponent, SafeHtmlPipe],\r\n imports: [FormsModule, CommonModule],\r\n exports: [CsSelectComponent, CsOptionComponent],\r\n})\r\nexport class SelectModule {}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { CreateDashboardService } from '../services/create-dashboard.service';\r\nimport { PaginationService } from '../services/pagination.service';\r\nimport { UserListConfiguration } from './user-list.config';\r\n\r\n@Component({\r\n selector: 'app-user-list',\r\n templateUrl: './user-list.component.html',\r\n styleUrls: ['./user-list.component.less']\r\n})\r\nexport class UserListComponent implements OnInit {\r\n @Output() closeUserList = new EventEmitter();\r\n @Output() saveSelectedUsers = new EventEmitter();\r\n @Input() selectionType = '';\r\n @Input() listDetails: UserListConfiguration = {\r\n displayElementKey: '',\r\n elementIdKey: '',\r\n tooltipKey: '',\r\n selectedUsersList: [],\r\n nonRemovableUsersList: []\r\n };\r\n\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList: [],\r\n displayElementKey: '',\r\n elementId: '',\r\n singularText: 'User selected',\r\n pluralText: 'Users selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n vLoader = false;\r\n\r\n @Input() totalPages = 1;\r\n @Input() limit = 1;\r\n @Input() totalList = 1;\r\n\r\n searchList = [];\r\n searchValue = '';\r\n searchFilter = '';\r\n selectedIds: any[] = [];\r\n selectedList: any[] = [];\r\n\r\n\r\n animation = true;\r\n constructor(\r\n private paginationService: PaginationService,\r\n private dashboardService: CreateDashboardService\r\n ) { }\r\n\r\n ngOnChanges() {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n if (this.listDetails.selectedUsersList.length > 0) {\r\n this.selectedList = [...new Set(this.listDetails.selectedUsersList)];\r\n const selectedData = [...new Set(this.listDetails.selectedUsersList)];\r\n this.footerDetails.selectedData = selectedData;\r\n this.footerDetails.nonRemovableList = this.listDetails.nonRemovableUsersList;\r\n this.selectedIds = selectedData.map((ele: any) => {\r\n if (ele[this.listDetails.elementIdKey]) { return ele[this.listDetails.elementIdKey]; }\r\n });\r\n\r\n }\r\n this.getUsersList({\r\n p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\r\n type: '',\r\n });\r\n this.footerDetails.displayElementKey = this.listDetails.displayElementKey;\r\n this.footerDetails.elementId = this.listDetails.elementIdKey;\r\n\r\n\r\n }\r\n\r\n cancelChanges() {\r\n\r\n }\r\n removeElement(event: any) {\r\n\r\n }\r\n submitChanges() {\r\n\r\n }\r\n selectAll(event: any) {\r\n if (event) {\r\n this.searchList.forEach(searchElement => {\r\n\r\n if (!this.selectedIds.includes(searchElement[this.listDetails.elementIdKey])) {\r\n this.selectedList.push(searchElement);\r\n this.selectedIds.push(searchElement[this.listDetails.elementIdKey]);\r\n this.footerDetails.selectedData = this.selectedList;\r\n }\r\n });\r\n\r\n } else {\r\n this.searchList.forEach(searchElement => {\r\n if (!this.listDetails.nonRemovableUsersList.includes(searchElement[this.listDetails.elementIdKey])) {\r\n const index = this.selectedList.findIndex(ele => ele[this.listDetails.elementIdKey] ===\r\n searchElement[this.listDetails.elementIdKey]);\r\n this.selectedList.splice(index, 1);\r\n const filteredList = [...this.selectedList];\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n const idIndex = this.selectedIds.findIndex(ele => ele === searchElement[this.listDetails.elementIdKey]);\r\n this.selectedIds.splice(idIndex, 1);\r\n }\r\n });\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Selects all admins and managers at once by making api call.\r\n * @param event consists boolean value to select of unselect.\r\n */\r\n selectAllUsers(event: any) {\r\n if (event) {\r\n this.vLoader = true;\r\n this.dashboardService.getAllUsers().subscribe((res: any) => {\r\n\r\n if(res.length>1){\r\n res.forEach((searchElement:any) => {\r\n \r\n if (!this.selectedIds.includes(searchElement[this.listDetails.elementIdKey])) {\r\n this.selectedList.push(searchElement);\r\n this.selectedIds.push(searchElement[this.listDetails.elementIdKey]);\r\n this.footerDetails.selectedData = this.selectedList;\r\n }\r\n });\r\n }\r\n this.vLoader = false;\r\n });\r\n\r\n } else {\r\n\r\n\r\n\r\n const selectedData = [...new Set(this.selectedList)];\r\n const index = selectedData.findIndex(ele => ele[this.listDetails.elementIdKey] === this.listDetails.nonRemovableUsersList[0]);\r\n if (index != -1) {\r\n const owner = Object.assign(selectedData[index]);\r\n\r\n this.selectedList = [];\r\n this.selectedIds = [];\r\n this.footerDetails.selectedData = [];\r\n\r\n this.selectedList.push(owner);\r\n this.selectedIds.push(owner.member_id);\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n } else {\r\n this.selectedList = [];\r\n this.selectedIds = [];\r\n this.footerDetails.selectedData = [];\r\n }\r\n }\r\n }\r\n\r\n/**\r\n * Selects checked item from the list.\r\n * In case of user's list calculates number of admins/manages to set visibility(either to all admins/ admins and managers)\r\n * @param data is the selected element\r\n */\r\nselectElement(data: any) {\r\n if (this.selectedIds.includes(data[this.listDetails.elementIdKey])) {\r\n if (!this.listDetails.nonRemovableUsersList.includes(data[this.listDetails.elementIdKey])) {\r\n const index = this.selectedList.findIndex(ele => ele[this.listDetails.elementIdKey] === data[this.listDetails.elementIdKey]);\r\n this.selectedList.splice(index, 1);\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n const idIndex = this.selectedIds.findIndex(ele => ele === data[this.listDetails.elementIdKey]);\r\n\r\n this.selectedIds.splice(idIndex, 1);\r\n }\r\n\r\n } else {\r\n this.selectedList.push(data);\r\n this.selectedIds.push(data[this.listDetails.elementIdKey]);\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n }\r\n}\r\n\r\n/**\r\n * It is used to set and search value incase of backend driven list to differentiate search list and original list\r\n */\r\nsetSearchValue() {\r\n this.paginationService.searchValue = this.searchValue;\r\n this.paginationFilter(true);\r\n\r\n}\r\n\r\n/**\r\n* it is used check select all condition incase of backend driven search\r\n*/\r\ncheckSelectAll() {\r\n if (this.searchList.length > 0) {\r\n const data: boolean = this.searchList.every(ele => this.selectedIds.includes(ele[this.listDetails.elementIdKey]));\r\n return data;\r\n } else {\r\n return false;\r\n\r\n }\r\n\r\n}\r\n/**\r\n * Filter list user's list based on pagination by making api call\r\n * @param event specifies a boolean value to call api\r\n */\r\npaginationFilter(event: any) {\r\n // this.paginationFilterEvent.emit(event);\r\n if (event) {\r\n this.vLoader = true;\r\n this.getUsersList({\r\n p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\r\n type: '',\r\n q: (!this.paginationService.searchValue) ? '' : this.paginationService.searchValue,\r\n });\r\n\r\n }\r\n}\r\n/**\r\n * Gets user's list by making api call\r\n * @param url contains userlist filter details\r\n */\r\ngetUsersList(url: any) {\r\n this.vLoader = true;\r\n\r\n this.dashboardService.getOrganizationUsers(url ? url : '').subscribe(res => {\r\n\r\n this.searchList = res;\r\n this.vLoader = false;\r\n\r\n\r\n });\r\n\r\n}\r\n/**\r\n * on click on next button from the list, it emits the selected list of elements to parent component.\r\n */\r\nonSubmit() {\r\n const data = [...new Set(this.selectedList)];\r\n this.saveSelectedUsers.emit(data);\r\n this.paginationService.reset();\r\n}\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\n\r\n@Component({\r\n selector: 'app-responsibility-center',\r\n templateUrl: './responsibility-center.component.html',\r\n styleUrls: ['./responsibility-center.component.less']\r\n})\r\nexport class ResponsibilityCenterComponent implements OnInit, OnChanges {\r\n @Output() saveSelectedList = new EventEmitter();\r\n @Output() closeRcList = new EventEmitter();\r\n @Input() responsibilityCentersList = [];\r\n @Input() selectedResponsibilityCenters = [];\r\n @Input() rcIdKey = '';\r\n @Input() radioSelection = false;\r\n\r\n\r\n selectedIds: any[] = [];\r\n animation = false;\r\n search = '';\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: 'item_name',\r\n elementId: 'item_id',\r\n singularText: 'Responsibility Center selected',\r\n pluralText: 'Responsibility Centers selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n constructor() { }\r\n\r\n ngOnChanges(): void {\r\n this.footerDetails.selectedData = this.selectedResponsibilityCenters;\r\n this.selectedIds = this.selectedResponsibilityCenters.map((ele: any) => { if (ele[this.rcIdKey]) { return ele[this.rcIdKey]; } });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n }\r\n\r\n selectRc(rc: any, mode: any) {\r\n if (this.radioSelection) {\r\n if (mode) {\r\n this.selectedIds = [];\r\n this.selectedIds.push(rc);\r\n }\r\n this.setList();\r\n } else {\r\n if (mode) {\r\n this.selectedIds.push(rc);\r\n const rcElement = this.responsibilityCentersList.findIndex((ele: any) => ele.item_id == rc);\r\n if (rcElement !== -1) {\r\n const parentRc: any = this.responsibilityCentersList[rcElement];\r\n if (parentRc?.item_child_ids?.length > 0) {\r\n parentRc.item_child_ids.forEach((childElement: any) => {\r\n if(!this.selectedIds.includes(childElement)){\r\n this.selectedIds.push(childElement);\r\n }\r\n });\r\n }\r\n }\r\n\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == rc);\r\n this.selectedIds.splice(index, 1);\r\n const rcElement = this.responsibilityCentersList.findIndex((ele: any) => ele.item_id == rc);\r\n if (rcElement !== -1) {\r\n const parentRc: any = this.responsibilityCentersList[rcElement];\r\n if (parentRc?.item_child_ids?.length > 0) {\r\n parentRc.item_child_ids.forEach((childElement: any) => {\r\n const removeIndex = this.selectedIds.findIndex((removeElement: any) => removeElement == childElement);\r\n this.selectedIds.splice(removeIndex, 1);\r\n });\r\n }\r\n }\r\n\r\n }\r\n this.setList();\r\n }\r\n\r\n\r\n }\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.rcIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any) {\r\n if (mode) {\r\n const list = [...this.responsibilityCentersList];\r\n this.selectedIds = [];\r\n list.forEach(element => {\r\n this.selectedIds.push(element[this.rcIdKey]);\r\n });\r\n } else {\r\n this.selectedIds = [];\r\n }\r\n this.setList();\r\n }\r\n\r\n\r\n setList() {\r\n const data: any = [];\r\n const rcList = [...new Set(this.responsibilityCentersList)]\r\n // cloneDeep(this.responsibilityCentersList);\r\n const selectedIds = [...new Set(this.selectedIds)]\r\n // cloneDeep(this.selectedIds);\r\n rcList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.rcIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedResponsibilityCenters = data;\r\n this.footerDetails.selectedData = this.selectedResponsibilityCenters;\r\n }\r\n\r\n checkSelectAll() {\r\n const data = this.responsibilityCentersList.every((rc: any) => this.selectedIds.includes(rc[this.rcIdKey]));\r\n return data;\r\n }\r\n\r\n save() {\r\n this.saveSelectedList.emit(this.selectedIds);\r\n }\r\n\r\n closeResponsibilityCenterList() {\r\n this.closeRcList.emit();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { CategoriesConfig } from './categories-config';\r\n\r\n@Component({\r\n selector: 'app-categories',\r\n templateUrl: './categories.component.html',\r\n styleUrls: ['./categories.component.less']\r\n})\r\nexport class CategoriesComponent implements OnInit {\r\n\r\n\r\n @Input() categoryList: CategoriesConfig = {\r\n regulations: {\r\n list: [],\r\n selectedList: []\r\n },\r\n standards: {\r\n list: [],\r\n selectedList: []\r\n },\r\n internalControls: {\r\n list: [],\r\n selectedList: []\r\n },\r\n others: {\r\n list: [],\r\n selectedList: []\r\n }\r\n };\r\n @Input() allCategories: any[] = [];\r\n\r\n @Input() categoryIdKey: any;\r\n @Input() selectedCategories: any[] = [];\r\n\r\n search = '';\r\n activeTab: \"standards\" | \"regulations\" | \"internalControls\" | \"others\"=\"regulations\";\r\n selectedIds: any[] = [];\r\n animation = false;\r\n blockWidth: any;\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: 'item_name',\r\n elementId: 'item_id',\r\n singularText: 'Program selected',\r\n pluralText: 'Programs selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n\r\n @Output() saveSelectedCategory = new EventEmitter();\r\n @Output() closeList = new EventEmitter();\r\n @Output() closeCategoriesList = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.selectedIds = [];\r\n if (this.selectedCategories) {\r\n this.selectedCategories.forEach(element => {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n });\r\n }\r\n this.setList()\r\n\r\n\r\n }\r\n\r\n selectCategory(mode: any, activeTab: any, category: any) {\r\n if (mode) {\r\n this.selectedIds.push(category[this.categoryIdKey]);\r\n const rcElement = this.allCategories.findIndex((ele: any) => ele.category_id == category[this.categoryIdKey]);\r\n if (rcElement !== -1) {\r\n const parentRc: any = this.allCategories[rcElement];\r\n if (parentRc?.child_cat_ids?.length > 0) {\r\n parentRc.child_cat_ids.forEach((childElement: any) => {\r\n if(!this.selectedIds.includes(childElement)){\r\n this.selectedIds.push(childElement);\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == category[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n const rcElement = this.allCategories.findIndex((ele: any) => ele.category_id == category[this.categoryIdKey]);\r\n if (rcElement !== -1) {\r\n const parentRc: any = this.allCategories[rcElement];\r\n if (parentRc?.child_cat_ids?.length > 0) {\r\n parentRc.child_cat_ids.forEach((childElement: any) => {\r\n const removeIndex = this.selectedIds.findIndex((removeElement: any) => removeElement == childElement);\r\n this.selectedIds.splice(removeIndex, 1);\r\n });\r\n }\r\n }\r\n }\r\n this.setList();\r\n\r\n }\r\n\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any, activeTab: \"standards\" | \"regulations\" | \"internalControls\" | \"others\") {\r\n\r\n if (mode) {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (!this.selectedIds.includes(element[this.categoryIdKey])) {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n }\r\n }); \r\n } else {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (this.selectedIds.includes(element[this.categoryIdKey])) {\r\n let idIndex = this.selectedIds.findIndex((id: any) => id == element[this.categoryIdKey]);\r\n this.selectedIds.splice(idIndex, 1);\r\n }\r\n });\r\n }\r\n this.setList();\r\n }\r\n\r\n setList() {\r\n const data: any = [];\r\n const categoryList = [...new Set(this.allCategories)] \r\n // cloneDeep(this.allCategories)\r\n const selectedIds =[...new Set(this.selectedIds)] \r\n // cloneDeep(this.selectedIds);\r\n this.categoryList.regulations.selectedList = [];\r\n this.categoryList.standards.selectedList = [];\r\n this.categoryList.internalControls.selectedList = [];\r\n this.categoryList.others.selectedList = [];\r\n\r\n categoryList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.categoryIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedCategories = data;\r\n this.footerDetails.selectedData = data;\r\n\r\n this.categoryList.regulations.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.regulations.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.standards.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.standards.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.internalControls.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.internalControls.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.others.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.others.selectedList.push(category)\r\n }\r\n });\r\n if (!this.activeTab) {\r\n this.setActiveTab();\r\n }\r\n }\r\n setActiveTab() {\r\n if (this.categoryList.regulations.selectedList.length > 0) {\r\n this.activeTab = 'regulations'\r\n } else if (this.categoryList.standards.selectedList.length > 0) {\r\n this.activeTab = 'standards'\r\n } else if (this.categoryList.internalControls.selectedList.length > 0) {\r\n this.activeTab = 'internalControls'\r\n } else if (this.categoryList.others.selectedList.length > 0) {\r\n this.activeTab = 'others'\r\n } else {\r\n this.activeTab = 'regulations'\r\n }\r\n }\r\n\r\n\r\n checkSelectAll(activeTab: \"standards\" | \"regulations\" | \"internalControls\" | \"others\") {\r\n const data = this.categoryList[activeTab].list.every((user: any) => this.selectedIds.includes(user[this.categoryIdKey]));\r\n return data;\r\n }\r\n\r\n save() {\r\n this.saveSelectedCategory.emit(this.selectedCategories);\r\n }\r\n\r\n close() {\r\n this.closeCategoriesList.emit();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { SnackBarService } from '../../ui-kit/snack-bar/snack-bar.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-frequency',\r\n templateUrl: './frequency.component.html',\r\n styleUrls: ['./frequency.component.less']\r\n})\r\nexport class FrequencyComponent implements OnInit,OnChanges {\r\n @Input() savedFrequencyTab: string | undefined;\r\n monthlyDate = 1;\r\n quarterlyDate = 1;\r\n @Input() savedFrequencies: any;\r\n @Input() selectedDate: any;\r\n frequencyTab = 'weekly';\r\n showFrequency = true;\r\n dayNames = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\r\n monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n quarters = ['January, April, July, October', 'February, May, August, November', 'March, June, September, December'];\r\n selectedDays: any[] = [0];\r\n selectedMonths: any[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n selectedQuarter = 0;\r\n @Output() closeFrequencyPopup = new EventEmitter<string>();\r\n @Output() saveFrequency = new EventEmitter<any>();\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: '',\r\n elementId: '',\r\n singularText: '',\r\n pluralText: '',\r\n showFrequency: true,\r\n frequencyText: 'You have selected a <strong>' + this.frequencyTab + '</strong> frequency.',\r\n isDisabled: false\r\n\r\n };\r\n showRadio = true;\r\n constructor(private snackBar:SnackBarService) { }\r\n ngOnChanges(){\r\n this.savedFrequencies = [...new Set(this.savedFrequencies)]\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.savedFrequencyTab) {\r\n this.changeTab(this.savedFrequencyTab);\r\n }\r\n if (this.selectedDate) {\r\n switch (this.savedFrequencyTab) {\r\n case 'weekly':\r\n this.selectedDays = [...new Set(this.savedFrequencies)]\r\n break;\r\n case 'monthly':\r\n this.monthlyDate = this.selectedDate;\r\n this.selectedMonths = [...new Set(this.savedFrequencies)]\r\n\r\n break;\r\n case 'quarterly':\r\n this.showRadio = false;\r\n setTimeout(() => {\r\n this.showRadio = true\r\n }, 100);\r\n this.quarterlyDate = this.selectedDate\r\n this.selectedQuarter = this.savedFrequencies;\r\n\r\n break;\r\n\r\n }\r\n }\r\n\r\n }\r\n closeFrequency() {\r\n this.closeFrequencyPopup.emit();\r\n }\r\n daySelectionChange(event: any, index: any) {\r\n if (event) { //checkbox was selected\r\n this.selectedDays.push(index);\r\n } else {\r\n let unselectedElementIndex = this.selectedDays.indexOf(index);\r\n this.selectedDays.splice(unselectedElementIndex, 1);\r\n }\r\n this.checkFrequencyValidity();\r\n }\r\n monthSelectionChange(event: any, index: any) {\r\n if (event) {\r\n this.selectedMonths.push(index);\r\n } else {\r\n let unselectedElementIndex = this.selectedMonths.indexOf(index);\r\n this.selectedMonths.splice(unselectedElementIndex, 1);\r\n }\r\n this.checkDateValidity(this.monthlyDate,'monthly')\r\n this.checkFrequencyValidity();\r\n }\r\n\r\n quarterSelectionChange(event: any, index: any) {\r\n this.selectedQuarter = index;\r\n this.checkDateValidity(this.quarterlyDate,'quarterly');\r\n this.checkFrequencyValidity();\r\n }\r\n\r\n changeTab(tabValue: string) {\r\n this.frequencyTab = tabValue;\r\n this.footerDetails.frequencyText = 'You have selected a <strong>' + this.frequencyTab + '</strong> frequency.';\r\n this.footerDetails.isDisabled = false;\r\n this.setToDefaultValues()\r\n if (this.frequencyTab === this.savedFrequencyTab) {\r\n switch (this.frequencyTab) {\r\n case 'weekly': {\r\n this.selectedDays = [...this.savedFrequencies];\r\n this.monthlyDate = 1;\r\n this.quarterlyDate = 1;\r\n break;\r\n }\r\n case 'monthly': {\r\n this.selectedMonths = [...this.savedFrequencies];\r\n this.monthlyDate = this.selectedDate;\r\n this.quarterlyDate = 1;\r\n this.checkDateValidity(this.monthlyDate,'monthly')\r\n break;\r\n }\r\n case 'quarterly': {\r\n this.selectedQuarter = this.savedFrequencies;\r\n this.quarterlyDate = this.selectedDate;\r\n this.monthlyDate = 1;\r\n this.checkDateValidity(this.quarterlyDate,'quarterly')\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n setToDefaultValues() {\r\n this.selectedDays = [0];\r\n this.selectedMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n this.selectedQuarter = 0;\r\n }\r\n\r\n submitFrequency() {\r\n let stringVal = \"Every \";\r\n let frequencies;\r\n let selectedDate = 1;\r\n switch (this.frequencyTab) {\r\n case 'weekly': {\r\n if (this.selectedDays.length > 0) {\r\n this.selectedDays.sort();\r\n frequencies = this.selectedDays;\r\n this.selectedDays.forEach((dayIndex, index) => {\r\n stringVal += index === 0 ? this.dayNames[dayIndex] : ', ' + this.dayNames[dayIndex];\r\n })\r\n } else {\r\n // nothing was selected\r\n this.closeFrequency();\r\n }\r\n break;\r\n }\r\n case 'monthly': {\r\n stringVal = \" of every \";\r\n if (this.selectedMonths.length > 0) {\r\n frequencies = this.selectedMonths;\r\n this.monthNames.forEach((monthNames: string, monthIndex: number) => {\r\n if (this.selectedMonths.includes(monthIndex)) {\r\n stringVal += monthIndex === 0 ? monthNames : ', ' + monthNames;\r\n\r\n }\r\n })\r\n let monthDateName;\r\n if (this.monthlyDate == 1) {\r\n monthDateName = '1st'\r\n }\r\n else if (this.monthlyDate == 2) {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.monthlyDate == 3) {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.monthlyDate + 'th'\r\n }\r\n stringVal = monthDateName + stringVal;\r\n selectedDate = this.monthlyDate;\r\n } else {\r\n // nothing was selected\r\n this.closeFrequency();\r\n }\r\n break;\r\n }\r\n case 'quarterly': {\r\n stringVal = \" of every \";\r\n\r\n if (this.selectedQuarter >= 0) {\r\n frequencies = this.selectedQuarter;\r\n stringVal += this.quarters[this.selectedQuarter];\r\n selectedDate = this.quarterlyDate;\r\n let monthDateName;\r\n if (this.quarterlyDate == 1) {\r\n monthDateName = '1st'\r\n }\r\n else if (this.quarterlyDate == 2) {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.quarterlyDate == 3) {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.quarterlyDate + 'th'\r\n }\r\n stringVal = monthDateName + stringVal;\r\n selectedDate = this.quarterlyDate;\r\n } else {\r\n // nothing was selected\r\n this.closeFrequency();\r\n }\r\n break;\r\n }\r\n }\r\n this.saveFrequency.emit({\r\n frequencyString: stringVal,\r\n frequencyType: this.frequencyTab,\r\n frequencies: frequencies,\r\n selectedDate\r\n })\r\n }\r\n \r\n checkDateValidity(date:number, type:string){\r\n if(date>31 || date<1){\r\n this.snackBar.show('Select valid date.');\r\n this.footerDetails.isDisabled = true;\r\n return\r\n }else{\r\n this.footerDetails.isDisabled = false;\r\n }\r\n const monthList=[{name:'January',maxDays:31,value:0},{name:'February',maxDays:28,value:1},{name:'March',maxDays:31,value:2},\r\n {name:'April',maxDays:30,value:3},{name:'May',maxDays:31,value:4},{name:'June',maxDays:30,value:5},\r\n {name:'July',maxDays:31,value:6},{name:'August',maxDays:31,value:7},{name:'September',maxDays:30,value:8},\r\n {name:'October',maxDays:31,value:9},{name:'November',maxDays:30,value:10},{name:'December',maxDays:31,value:11}]\r\n switch (type) {\r\n case 'monthly':\r\n if(this.selectedMonths.length==1){\r\n const index = monthList.findIndex((ele:any)=>ele.value==this.selectedMonths[0]);\r\n if(date<=monthList[index].maxDays){\r\n this.footerDetails.isDisabled = false;\r\n \r\n }else{\r\n this.snackBar.show('Select valid date.');\r\n this.footerDetails.isDisabled = true; \r\n }\r\n }else if(this.selectedMonths.length==0){\r\n this.footerDetails.isDisabled = true; \r\n }else{\r\n this.footerDetails.isDisabled = false;\r\n }\r\n\r\n break;\r\n default:\r\n this.footerDetails.isDisabled = false;\r\n return true;\r\n break;\r\n\r\n }\r\n\r\n}\r\n\r\ncheckFrequencyValidity(){\r\n switch (this.frequencyTab) {\r\n case 'weekly': {\r\n if (this.selectedDays.length > 0) {\r\n this.footerDetails.isDisabled = false;\r\n\r\n } else {\r\n this.footerDetails.isDisabled = true;\r\n }\r\n break;\r\n }\r\n case 'monthly': {\r\n \r\n if (this.selectedMonths.length > 0) {\r\n this.footerDetails.isDisabled = false;\r\n \r\n } else {\r\n this.footerDetails.isDisabled = true;\r\n }\r\n break;\r\n }\r\n case 'quarterly': {\r\n\r\n if (this.selectedQuarter >= 0){\r\n this.footerDetails.isDisabled = false;\r\n \r\n } else {\r\n this.footerDetails.isDisabled = true;\r\n }\r\n break;\r\n }\r\n } \r\n}\r\n\r\n}\r\n","import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';\r\nimport { PaginationService } from '../../create-dashboard-container/services/pagination.service';\r\n\r\n@Component({\r\n selector: 'app-pagination',\r\n templateUrl: './pagination.component.html',\r\n styleUrls: ['./pagination.component.less']\r\n})\r\n/**\r\n * Adds place holder for Pagination on the lists\r\n */\r\nexport class PaginationComponent implements OnInit, OnChanges {\r\n start = 1;\r\n totalCount!: number;\r\n paginationArray: any[] = [];\r\n currentPage!: number;\r\n @Input() totalPages = 1;\r\n @Input() limit = 1;\r\n @Input() totalList = 1;\r\n @Output() paginationFilter = new EventEmitter();\r\n\r\n constructor(private paginationService: PaginationService) {\r\n }\r\n ngOnChanges() {\r\n this.currentPage = Number(this.paginationService.currentPage);\r\n this.start = Number(this.paginationService.currentPage);\r\n this.rebuildPagination(this.currentPage, this.totalPages);\r\n }\r\n\r\n ngOnInit() {\r\n this.currentPage = Number(this.paginationService.currentPage);\r\n this.start = Number(this.paginationService.currentPage);\r\n this.rebuildPagination(this.currentPage, this.totalPages);\r\n this.paginationService.currentValues.subscribe(event => {\r\n if (event && (this.paginationService.currentPage !== this.currentPage)) {\r\n this.currentPage = this.paginationService.currentPage;\r\n }\r\n });\r\n }\r\n\r\n /* In this function we will recreate the pagination structure as per current page and\r\n total number of pages */\r\n\r\n rebuildPagination(currentPage: number, totalCount: number) {\r\n this.paginationArray = [];\r\n this.totalCount = totalCount;\r\n this.currentPage = currentPage;\r\n if (this.paginationService.currentPage !== this.currentPage) {\r\n this.paginationService.currentPage = this.currentPage;\r\n this.paginationFilter.emit(true);\r\n }\r\n\r\n // If there are only 6 pages or less in total, just display all pages without \"...\"\r\n if (totalCount <= 6) {\r\n for (let i = 1; i <= totalCount; i++) {\r\n this.paginationArray.push(i);\r\n }\r\n }\r\n // ELSE display with ...\r\n else {\r\n\r\n // Always print first page button\r\n this.paginationArray.push(1);\r\n\r\n // Print \"...\" if currentPage is > 3\r\n if (currentPage > 3) {\r\n // this.paginationArray.push(2);\r\n this.paginationArray.push('...');\r\n\r\n }\r\n // special case where last page is selected...\r\n // Without this special case, only 2 buttons would be shown after ... if you were on last page\r\n if (currentPage === totalCount) {\r\n this.paginationArray.push(currentPage - 2);\r\n }\r\n\r\n // Print previous number button if currentPage > 2\r\n if (currentPage > 2) {\r\n this.paginationArray.push(currentPage - 1);\r\n }\r\n\r\n // Print current page number button as long as it not the first or last page\r\n if (currentPage !== 1 && currentPage !== totalCount) {\r\n this.paginationArray.push(currentPage);\r\n\r\n }\r\n\r\n // print next page number button if currentPage < lastPage - 1\r\n if (currentPage < totalCount - 1) {\r\n this.paginationArray.push(currentPage + 1);\r\n\r\n }\r\n\r\n // special case where first page is selected...\r\n // Without this special case, only 2 buttons would be shown before ... if you were on first page\r\n if (currentPage === 1) {\r\n this.paginationArray.push(currentPage + 2);\r\n\r\n }\r\n\r\n // print \"...\" if currentPage is < lastPage -2\r\n if (currentPage < totalCount - 2) {\r\n this.paginationArray.push('...');\r\n\r\n // HTML += \"...\";\r\n }\r\n\r\n // Always print last page button if there is more than 1 page\r\n if (totalCount > 1) {\r\n this.paginationArray.push(totalCount);\r\n\r\n }\r\n }\r\n\r\n }\r\n/* In this function we will set current page according to the action performed on browser\r\n ex: prev next buttons clicks or selecting a particular page */\r\n\r\n changePage(prev: string, page: number, next: string) {\r\n if (prev) {\r\n if (this.start > 1) {\r\n this.start--;\r\n // We have changed the start page, total rebuild the pagination\r\n this.rebuildPagination(this.start, this.totalCount);\r\n }\r\n }\r\n if (next) {\r\n if (this.start < this.totalCount) {\r\n this.start++;\r\n this.rebuildPagination(this.start, this.totalCount);\r\n }\r\n }\r\n if (page) {\r\n this.start = page;\r\n this.rebuildPagination(this.start, this.totalCount);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PaginationComponent } from './pagination.component';\r\n\r\n@NgModule({\r\n declarations: [PaginationComponent],\r\n imports: [CommonModule],\r\n exports: [PaginationComponent],\r\n})\r\nexport class PaginationModule {}","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-checkbox',\r\n templateUrl: './cs-checkbox.component.html',\r\n styleUrls: ['./cs-checkbox.component.less'],\r\n})\r\nexport class CsCheckboxComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() ngValue: any;\r\n @Input() value: any;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n valueChanged() {\r\n this.ngValueChange.emit(this.ngValue);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-radio',\r\n templateUrl: './cs-radio.component.html',\r\n styleUrls: ['./cs-radio.component.less'],\r\n})\r\nexport class CsRadioComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() readonly!: boolean;\r\n @Input() name!: string;\r\n @Input() checked!: boolean;\r\n @Input() value: any;\r\n @Output() checkedEvent = new EventEmitter();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n changeState(evt: any) {\r\n this.checkedEvent.emit(evt);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-switch',\r\n templateUrl: './cs-switch.component.html',\r\n styleUrls: ['./cs-switch.component.less'],\r\n})\r\nexport class CsSwitchComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() ngValue: any;\r\n @Input() value: any;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n @Input() tooltipMessage: any;\r\n @Input() position: any;\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n // console.log(this.value);\r\n }\r\n valueChanged() {\r\n this.ngValueChange.emit(this.ngValue);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-radio-group',\r\n templateUrl: './cs-radio-group.component.html',\r\n styleUrls: ['./cs-radio-group.component.less'],\r\n})\r\nexport class CsRadioGroupComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-select',\r\n templateUrl: './cs-select.component.html',\r\n styleUrls: ['./cs-select.component.less'],\r\n})\r\nexport class CsSelectComponent implements OnChanges {\r\n @Input() dataList!: any[];\r\n @Input() dropdownLabel!: string;\r\n @Input() displayProperty!: string;\r\n @Input() selectedValue!: string;\r\n @Input() isRequired!: boolean;\r\n @Input() dropdownSubLabel!: string;\r\n @Input() disabled!: boolean;\r\n @ViewChild('option') option!: ElementRef;\r\n\r\n @Output() selectedData = new EventEmitter();\r\n @Output() selectedValueChange = new EventEmitter();\r\n @Input() placeholder: any;\r\n @Input() stylex: any;\r\n @Input() valueKey: any;\r\n @Input() multipleSelect: any;\r\n @Input() colorProperty!: string;\r\n\r\n @Input() colorSelected!: string;\r\n colorCode!: string;\r\n\r\n dropdownOption = false;\r\n positionReset!: boolean;\r\n getLeft!: number;\r\n getTop!: number;\r\n getWidth!: number;\r\n maxWidth!: number;\r\n activeDoropdown = false;\r\n\r\n private optionList!: ElementRef;\r\n\r\n @ViewChild('optionList') set content(content: ElementRef) {\r\n if (content) {\r\n // initially setter gets called with undefined\r\n this.optionList = content;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.selectedValue) {\r\n this.selectedValue = this.selectedValue || '--';\r\n }\r\n }\r\n\r\n openDropdown(event: any): void {\r\n this.dropdownOption = true;\r\n setTimeout(() => {\r\n const dropdown = event.target.getBoundingClientRect();\r\n const selectOption = this.optionList.nativeElement.offsetHeight;\r\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\r\n this.getTop = dropdown.top - selectOption;\r\n } else {\r\n this.getTop = dropdown.top + dropdown.height;\r\n }\r\n this.getLeft = dropdown.left;\r\n this.getWidth = dropdown.width;\r\n this.maxWidth = dropdown.width * 1.25;\r\n }, 10);\r\n setTimeout(() => {\r\n this.activeDoropdown = true;\r\n }, 100);\r\n }\r\n selectOption(selectedData: any) {\r\n if (typeof selectedData === 'object') {\r\n this.selectedValue = selectedData[this.displayProperty];\r\n this.colorSelected = selectedData[this.colorProperty];\r\n } else {\r\n this.selectedValue = selectedData;\r\n }\r\n this.selectedData.emit(selectedData);\r\n this.dropdownOption = false;\r\n }\r\n closeDropdown() {\r\n this.dropdownOption = false;\r\n }\r\n}\r\n","import { Directive, Input, ElementRef, HostListener, Renderer2, OnInit, AfterViewInit, ViewChild } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[arTooltip]',\r\n})\r\nexport class ToolTipDirective implements OnInit {\r\n @Input('arTooltip') tooltipTitle!: string;\r\n @Input() placement!: string;\r\n @Input() type: any;\r\n @Input() tooltipMandatory!: boolean;\r\n @Input() showTooltip = true;\r\n @Input() animate!: boolean;\r\n tooltip!: HTMLElement;\r\n offset = 8;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n ngOnInit() {}\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.hide();\r\n this.show();\r\n }\r\n @HostListener('mouseover') onMouseOver() {\r\n this.hide();\r\n this.show();\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.hide();\r\n }\r\n @HostListener('mouseout') onMouseOut() {\r\n this.hide();\r\n }\r\n @HostListener('click') onClick() {\r\n this.hide();\r\n }\r\n show() {\r\n if (!this.showTooltip) {\r\n return;\r\n }\r\n this.create();\r\n const element = this.el.nativeElement;\r\n if (this.tooltipMandatory === true) {\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n } else {\r\n if (element.scrollWidth * element.scrollHeight > element.offsetWidth * element.offsetHeight) {\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n }\r\n }\r\n }\r\n\r\n hide() {\r\n if (document.body.contains(this.tooltip)) {\r\n if (this.renderer) {\r\n this.renderer.removeChild(document.body, document.getElementById('tooltip'));\r\n }\r\n }\r\n }\r\n\r\n create() {\r\n this.tooltip = this.renderer.createElement('span');\r\n this.tooltip.setAttribute('id', 'tooltip');\r\n this.tooltip.innerHTML = this.tooltipTitle;\r\n this.renderer.appendChild(document.body, this.tooltip);\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip');\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-${this.placement}`);\r\n this.renderer.addClass(this.tooltip, `${this.type}`);\r\n if (this.animate) {\r\n this.renderer.addClass(this.tooltip, `animate-${this.placement}`);\r\n }\r\n }\r\n\r\n setPosition() {\r\n const hostPos = this.el.nativeElement.getBoundingClientRect();\r\n const tooltipPos = this.tooltip.getBoundingClientRect();\r\n const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n const w = window.innerWidth;\r\n const h = window.innerHeight;\r\n let top;\r\n let left;\r\n if (this.placement === 'top') {\r\n top = hostPos.top - tooltipPos.height - this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (this.placement === 'bottom') {\r\n if (hostPos.top + tooltipPos.height > h) {\r\n top = hostPos.top - tooltipPos.height;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom`);\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-top`);\r\n } else {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n }\r\n\r\n if (this.placement === 'left') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.left - tooltipPos.width - this.offset;\r\n }\r\n\r\n if (this.placement === 'right') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.right + this.offset;\r\n }\r\n if (this.placement === 'bottom-right') {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left - (tooltipPos.width - 28);\r\n }\r\n if (this.placement === 'bottom-left') {\r\n if (hostPos.top + tooltipPos.height > h - 30) {\r\n top = hostPos.top - tooltipPos.height;\r\n console.log('bottom left', hostPos.top - tooltipPos.height);\r\n left = hostPos.left;\r\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom-left`);\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-top-left`);\r\n } else {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left;\r\n }\r\n }\r\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\r\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ToolTipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n declarations: [ToolTipDirective],\r\n imports: [CommonModule],\r\n exports: [ToolTipDirective],\r\n})\r\nexport class TooltipModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'pascal',\r\n})\r\nexport class PascalPipe implements PipeTransform {\r\n transform(value: string, ...args: unknown[]): unknown {\r\n if (typeof value !== 'string') {\r\n return value;\r\n }\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'searchMultiSelect',\r\n})\r\nexport class SearchMultiSelectPipe implements PipeTransform {\r\n transform(value: any[], key: string, searchKey: string): any[] {\r\n if (searchKey && searchKey.length > 0) {\r\n searchKey = searchKey.toLowerCase();\r\n return value.filter((item) => {\r\n if (item[key].toLowerCase().includes(searchKey)) {\r\n return item;\r\n }\r\n });\r\n }\r\n return value;\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[clickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n constructor(private elementRef: ElementRef) {}\r\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostListener('document:click', ['$event.target']) onMouseEnter(targetElement: any) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.clickOutside.emit(null);\r\n }\r\n }\r\n}\r\n","import { FormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CsCheckboxComponent } from './cs-checkbox/cs-checkbox.component';\r\nimport { CsRadioComponent } from './cs-radio/cs-radio.component';\r\nimport { CsSwitchComponent } from './cs-switch/cs-switch.component';\r\nimport { CsRadioGroupComponent } from './cs-radio-group/cs-radio-group.component';\r\nimport { CsSelectComponent } from './cs-select/cs-select.component';\r\nimport { TooltipModule } from '../tooltip/tooltip.module';\r\nimport { PascalPipe } from './pipes/pascal.pipe';\r\nimport { SearchMultiSelectPipe } from './pipes/searchMultiSelect.pipe';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n CsCheckboxComponent,\r\n CsRadioComponent,\r\n CsSwitchComponent,\r\n CsRadioGroupComponent,\r\n CsSelectComponent,\r\n PascalPipe,\r\n SearchMultiSelectPipe,\r\n ClickOutsideDirective,\r\n ],\r\n imports: [CommonModule, FormsModule, TooltipModule],\r\n exports: [\r\n CsCheckboxComponent,\r\n CsRadioComponent,\r\n CsSwitchComponent,\r\n CsRadioGroupComponent,\r\n CsSelectComponent,\r\n SearchMultiSelectPipe,\r\n ],\r\n})\r\nexport class FormgroupModule {}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../dashboard-footer-config';\r\n\r\n@Component({\r\n selector: 'app-dashboard-footer',\r\n templateUrl: './dashboard-footer.component.html',\r\n styleUrls: ['./dashboard-footer.component.less']\r\n})\r\nexport class DashboardFooterComponent implements OnInit {\r\n @Output() cancelEvent = new EventEmitter();\r\n @Output() submitEvent = new EventEmitter();\r\n @Output() deleteEvent = new EventEmitter();\r\n @Input() footerDetails:DashboardFooterConfig={\r\n selectedData : [],\r\n nonRemovableList:[],\r\n displayElementKey: '',\r\n elementId: '',\r\n singularText: '',\r\n pluralText:'',\r\n showFrequency:false,\r\n frequencyText:'',\r\n isDisabled :false\r\n\r\n };\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n cancelFloatingBar() {\r\n this.cancelEvent.emit();\r\n }\r\n submitFloatingBar() {\r\n this.submitEvent.emit(this.footerDetails.selectedData);\r\n }\r\n\r\n deleteSelected(element: any) {\r\n this.deleteEvent.emit(element);\r\n }\r\n\r\n\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Component({\r\n selector: 'app-popover',\r\n templateUrl: './popover.component.html',\r\n styleUrls: ['./popover.component.less'],\r\n})\r\nexport class PopoverComponent implements OnInit {\r\n @Input() dontCloseonClick = false;\r\n popoverContainer = false;\r\n @ViewChild('popoverRatio') popoverRatio!: ElementRef;\r\n @ViewChild('popoverContent') popoverContent!: ElementRef;\r\n @Output() closedOnOverlay = new EventEmitter();\r\n constructor(public popoverService: PopoverService) {}\r\n showPopover = false;\r\n leftValue: any;\r\n topValue: any;\r\n popoverHeight: any;\r\n popoverWidth: any;\r\n positionX!: number;\r\n positionY!: number;\r\n ngOnInit(): void {}\r\n popover() {\r\n this.popoverContainer = false;\r\n this.popoverContainer = true;\r\n setTimeout(() => {\r\n this.getPosition();\r\n this.showPopover = true;\r\n this.popoverService.stopScroll = true;\r\n // document.body.style.overflow = 'hidden';\r\n }, 10);\r\n return false;\r\n }\r\n popoverEvent() {\r\n this.popoverContainer = false;\r\n this.popoverContainer = true;\r\n setTimeout(() => {\r\n // this.getPosition();\r\n this.positionX = this.popoverService.positionX;\r\n this.positionY = this.popoverService.positionY;\r\n this.showPopover = true;\r\n this.popoverService.stopScroll = true;\r\n\r\n }, 10);\r\n return false;\r\n }\r\n closePopover(top?: string) {\r\n if (!this.dontCloseonClick || top === 'top') {\r\n this.popoverContainer = false;\r\n this.showPopover = false;\r\n this.popoverService.stopScroll = false;\r\n // document.body.style.overflow = 'auto';\r\n }\r\n }\r\n\r\n close(){\r\n this.popoverContainer = false;\r\n this.showPopover = false;\r\n this.popoverService.stopScroll = false;\r\n }\r\n\r\n clickedPopover() {\r\n this.getPosition();\r\n }\r\n getPosition() {\r\n // setTimeout(() => {\r\n const elementPositionn = this.popoverService.elementPosition;\r\n this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;\r\n this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;\r\n if (this.popoverService.elementDirection === 'left') {\r\n this.leftValue = elementPositionn.left;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'right') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverWidth;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'top') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'bottom') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'self-position') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - 15;\r\n }\r\n if (this.popoverService.elementDirection === 'top-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n // this.topValue = elementPositionn.top - this.popoverHeight;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight) {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n this.positionX = this.leftValue;\r\n this.positionY = this.topValue;\r\n // }, 10);\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Directive({\r\n selector: '[appPopover]',\r\n})\r\nexport class PopoverDirective {\r\n dynamicComponent: any;\r\n @Input() refrence: any;\r\n @Input() placement!: string;\r\n leftValue: any;\r\n topValue: any;\r\n constructor(private elRef: ElementRef, private popoverService: PopoverService) {}\r\n @HostListener('click') click() {\r\n this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n this.popoverService.elementDirection = this.placement;\r\n // this.getPosition();\r\n }\r\n\r\n getPosition() {\r\n setTimeout(() => {\r\n // this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n const elementPositionn = this.elRef.nativeElement.getBoundingClientRect();\r\n if (this.placement === 'left') {\r\n this.leftValue = elementPositionn.left;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'right') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverService.popoverWidth;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'top') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n }\r\n }\r\n if (this.placement === 'bottom') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'self-position') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - 15;\r\n }\r\n if (this.placement === 'top-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n }\r\n if (this.placement === 'bottom-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top + this.popoverService.popoverHeight;\r\n }\r\n this.popoverService.positionX = this.leftValue;\r\n this.popoverService.positionY = this.topValue;\r\n }, 10);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverComponent } from './popover.component';\r\nimport { PopoverDirective } from './popover.directive';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@NgModule({\r\n declarations: [PopoverComponent, PopoverDirective],\r\n imports: [CommonModule],\r\n exports: [PopoverComponent, PopoverDirective],\r\n providers: [PopoverService],\r\n})\r\nexport class PopoverModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DashboardFooterComponent } from './dashboard-footer/dashboard-footer.component';\r\nimport { PopoverModule } from '../popover/popover.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n DashboardFooterComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PopoverModule\r\n ],\r\n exports:[\r\n DashboardFooterComponent\r\n ]\r\n})\r\nexport class DashboardFooterModule { }\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appInsertion]',\r\n})\r\nexport class InsertionDirective {\r\n constructor(public viewContainerRef: ViewContainerRef) {}\r\n}\r\n","import { Observable, Subject } from 'rxjs';\r\n\r\nexport class DialogRef {\r\n private readonly afterDialogClosed = new Subject<any>();\r\n afterClosed: Observable<any> = this.afterDialogClosed.asObservable();\r\n constructor() {}\r\n\r\n close(result?: any) {\r\n this.afterDialogClosed.next(result);\r\n document.body.style.overflow = 'auto';\r\n }\r\n}\r\n","export class DialogConfig<D = any> {\r\n data?: D;\r\n position?: any;\r\n background?: any;\r\n pointer?: any;\r\n}\r\n","import { Component, Type, ComponentFactoryResolver, ViewChild, OnDestroy, ComponentRef, AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { Subject } from 'rxjs';\r\nimport { DialogRef } from './dialog-ref';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { NavigationEnd, NavigationError, NavigationStart, Router, ROUTER_CONFIGURATION } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.css'],\r\n})\r\nexport class DialogComponent implements AfterViewInit, OnDestroy, OnInit {\r\n componentRef!: ComponentRef<any>;\r\n position: any;\r\n background: any;\r\n pointer: any;\r\n @ViewChild(InsertionDirective, { static: true })\r\n insertionPoint!: InsertionDirective;\r\n animation = true;\r\n\r\n private readonly onDialogClose = new Subject<any>();\r\n public onClose = this.onDialogClose.asObservable();\r\n\r\n childComponentType!: Type<any>;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private cd: ChangeDetectorRef,\r\n private dialogRef: DialogRef,\r\n public config: DialogConfig,\r\n private router: Router\r\n ) {\r\n // this.componentRef = this.componentRef;\r\n // this.animate = this.animate;\r\n // this.insertionPoint = this.insertionPoint;\r\n // this.childComponentType = this.childComponentType;\r\n }\r\n ngOnInit() {\r\n this.position = this.config.position;\r\n this.background = this.config.background;\r\n document.body.style.overflow = 'hidden';\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 200);\r\n this.routeAction();\r\n }\r\n\r\n routeAction() {\r\n this.router.events.subscribe((event: any) => {\r\n if (event instanceof NavigationStart) {\r\n // Show loading indicator\r\n }\r\n if (event instanceof NavigationEnd) {\r\n // Hide loading indicator\r\n this.dialogRef.close();\r\n }\r\n if (event instanceof NavigationError) {\r\n // Hide loading indicator\r\n // Present error to user\r\n }\r\n });\r\n }\r\n ngAfterViewInit() {\r\n this.loadChildComponent(this.childComponentType);\r\n this.cd.detectChanges();\r\n }\r\n\r\n onOverlayClicked(evt: MouseEvent) {\r\n // this.dialogRef.close();\r\n }\r\n\r\n onDialogClicked(evt: MouseEvent) {\r\n evt.stopPropagation();\r\n }\r\n\r\n loadChildComponent(componentType: Type<any>) {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n\r\n const viewContainerRef = this.insertionPoint.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n this.componentRef = viewContainerRef.createComponent(componentFactory);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.componentRef) {\r\n this.componentRef.destroy();\r\n }\r\n }\r\n\r\n close(data?: any) {\r\n this.onDialogClose.next(data);\r\n document.body.style.overflow = 'auto';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { DialogRef } from './dialog-ref';\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [DialogComponent, InsertionDirective],\r\n entryComponents: [DialogComponent],\r\n providers: [DialogRef],\r\n})\r\nexport class DialogModule {}\r\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\r\n\r\nexport class DialogInjector implements Injector {\r\n constructor(private parentDialogInjector: Injector, private dialogAdditionalTokens: WeakMap<any, any>) {}\r\n\r\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T, flags?: InjectFlags): T;\r\n // get(token: any, notFoundValue?: any){return; }\r\n get(token: any, notFoundValue?: any, flags?: any) {\r\n const value = this.dialogAdditionalTokens.get(token);\r\n if (value) {\r\n return value;\r\n }\r\n return this.parentDialogInjector.get<any>(token, notFoundValue);\r\n }\r\n}\r\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\r\nimport { DialogModule } from './dialog.module';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { DialogInjector } from './dialog-injector';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { DialogRef } from './dialog-ref';\r\n\r\n@Injectable({\r\n providedIn: DialogModule,\r\n})\r\nexport class DialogService {\r\n dialogComponentRef!: ComponentRef<DialogComponent>;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\r\n\r\n public open(componentType: Type<any>, config: DialogConfig) {\r\n const dialogRef = this.appendDialogComponentToBody(config);\r\n\r\n this.dialogComponentRef.instance.childComponentType = componentType;\r\n\r\n return dialogRef;\r\n }\r\n\r\n private appendDialogComponentToBody(config: DialogConfig) {\r\n const map = new WeakMap();\r\n map.set(DialogConfig, config);\r\n\r\n const dialogRef = new DialogRef();\r\n map.set(DialogRef, dialogRef);\r\n\r\n const sub = dialogRef.afterClosed.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n sub.unsubscribe();\r\n });\r\n\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\r\n const componentRef = componentFactory.create(new DialogInjector(this.injector, map));\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n\r\n this.dialogComponentRef = componentRef;\r\n\r\n this.dialogComponentRef.instance.onClose.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n });\r\n\r\n return dialogRef;\r\n }\r\n\r\n private removeDialogComponentFromBody() {\r\n this.appRef.detachView(this.dialogComponentRef.hostView);\r\n this.dialogComponentRef.destroy();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { DatePickerComponent, IDatePickerConfig } from 'ng2-date-picker';\r\nimport { DialogService } from '../../ui-kit/dialog/dialog.service';\r\nimport { EditorConfig } from 'vcomply-editor';\r\n// import { ConfigureWidgetsComponent } from '../../configure-widgets/configure-widgets/configure-widgets.component';\r\n\r\n@Component({\r\n selector: 'app-form-group',\r\n templateUrl: './form-group.component.html',\r\n styleUrls: ['./form-group.component.less']\r\n})\r\nexport class FormGroupComponent implements OnInit {\r\n @Output() openCategoryList = new EventEmitter<string>();\r\n @Output() openResponsibilityCenterList = new EventEmitter<string>();\r\n @Output() openWhoCanViewThis = new EventEmitter<string>();\r\n @Output() closeCreateDashboard = new EventEmitter<string>();\r\n @Output() openFrequency = new EventEmitter<string>();\r\n @Input() disabled!: boolean;\r\n\r\n @ViewChild('fromDatePicker') fromDatePicker!: DatePickerComponent;\r\n @ViewChild('toDatePicker') toDatePicker!: DatePickerComponent;\r\n datePickerOverlay = false;\r\n selectedFromDate!: any;\r\n selectedToDate!: any;\r\n dashboardName!: any;\r\n dashboardDescriptionText!: any;\r\n fieldEmptyErrorMessage: string = 'Enter a value for this input box.';\r\n fieldLimitExceededErrorMessage: string = 'You have exceeded the maximum character limit of XYZ characters.';\r\n dashboardNameNotUniqueErrorMessage: string = 'A dashboard with this name already exists. Specify a different name for the dashboard.';\r\n dashboardNameError! : string;\r\n dashboardDescriptionError! : string;\r\n displayCriteria! : string;\r\n\r\n constructor(private dialog: DialogService) { }\r\n \r\n dashboardDescription: EditorConfig = {\r\n placeholder: 'Description (Max limit: 250 characters)',\r\n mode: 'prime',\r\n id: 'description'\r\n }\r\n\r\n fromDatePickerConfig : IDatePickerConfig = {\r\n min: this.getCurrentDate()\r\n }\r\n\r\n toDatePickerConfig : IDatePickerConfig = {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openFromDatePicker() {\r\n this.fromDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n\r\n openToDatePicker() {\r\n this.toDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n\r\n closeFromDatePicker() {\r\n let minToDate = this.selectedFromDate.clone().add(1, 'days');\r\n this.toDatePickerConfig = {min : minToDate, minTime : minToDate};\r\n\r\n if(this.selectedToDate && minToDate.diff(this.selectedToDate) > 0) {\r\n this.selectedToDate = undefined;\r\n }\r\n\r\n this.fromDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n closeToDatePicker() {\r\n this.toDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n animateImage() {\r\n const circleImage = document.getElementsByClassName('image')\r\n console.log(circleImage);\r\n }\r\n\r\n selectWhoCanViewThis() {\r\n this.openWhoCanViewThis.emit();\r\n }\r\n\r\n selectResponsibilityCenter() {\r\n this.openResponsibilityCenterList.emit();\r\n }\r\n\r\n selectCategories() {\r\n this.openCategoryList.emit();\r\n }\r\n\r\n selectFrequency() {\r\n this.openFrequency.emit();\r\n }\r\n\r\n configureDashboard() {\r\n let fieldsStatus = this.verifyFields();\r\n // if(fieldsStatus) {\r\n // this.closeCreateDashboard.emit();\r\n // const ref = this.dialog.open(ConfigureWidgetsComponent, {\r\n // data: {},\r\n // position: 'CENTER',\r\n // pointer: 'none'\r\n // });\r\n // }\r\n }\r\n\r\n verifyFields() {\r\n let allFieldsValid = true;\r\n this.dashboardNameError = '';\r\n this.dashboardDescriptionError = '';\r\n \r\n if(this.dashboardName === null || this.dashboardName === undefined || this.dashboardName === '') {\r\n this.dashboardNameError = this.fieldEmptyErrorMessage;\r\n allFieldsValid = false;\r\n } else if(this.dashboardName.length > 30) {\r\n this.dashboardNameError = this.fieldLimitExceededErrorMessage.replace('XYZ', '30');\r\n allFieldsValid = false;\r\n } else if(this.dashboardDescriptionText === null || this.dashboardDescriptionText === undefined || this.dashboardDescriptionText === '') {\r\n this.dashboardDescriptionError = this.fieldEmptyErrorMessage;\r\n allFieldsValid = false;\r\n } else if(this.dashboardDescriptionText.length > 250) {\r\n this.dashboardDescriptionError = this.fieldLimitExceededErrorMessage.replace('XYZ', '250');\r\n allFieldsValid = false;\r\n }\r\n return allFieldsValid;\r\n }\r\n\r\n getCurrentDate(){\r\n let today = new Date();\r\n return today.getDate() + '-' + (today.getMonth()+1) + '-' + today.getFullYear();\r\n }\r\n\r\n displayCriteriaSelected(event: boolean, selection: string) {\r\n this.displayCriteria = selection;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { SnackBarService } from '../snack-bar/snack-bar.service';\r\n\r\n@Component({\r\n selector: 'floating-bar',\r\n templateUrl: './floating-bar.component.html',\r\n styleUrls: ['./floating-bar.component.less']\r\n})\r\nexport class FloatingBarComponent implements OnInit {\r\n @Output() cancelEvent = new EventEmitter<string>();\r\n @Output() submitEvent = new EventEmitter<string>();\r\n @Output() deleteEvent: EventEmitter<number> = new EventEmitter();\r\n @Input() text!: boolean;\r\n @Input() frequencyMessage: any;\r\n @Input() singleCategory: any;\r\n @Input() selectedData: any;\r\n\r\n constructor(private snackBar: SnackBarService\r\n ) {\r\n this.selectedData = [];\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n cancelFloatingBar() {\r\n this.cancelEvent.emit();\r\n }\r\n submitFloatingBar() {\r\n if (this.selectedData.length < 1) {\r\n this.snackBar.show('Select a widget.');\r\n return\r\n }\r\n this.submitEvent.emit(this.selectedData);\r\n }\r\n\r\n deleteSelected(index: number) {\r\n this.deleteEvent.emit(index);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FloatingBarComponent } from './floating-bar.component';\r\nimport { PopoverModule } from '../popover/popover.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n FloatingBarComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PopoverModule,\r\n ],\r\n exports: [\r\n FloatingBarComponent\r\n ]\r\n})\r\nexport class FloatingBarModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n\r\n transform(items: any[], searchText: string): any[] {\r\n if (!items) {\r\n return [];\r\n }\r\n if (!searchText) {\r\n return items;\r\n }\r\n searchText = searchText.toLowerCase();\r\n if(items?.length){\r\n return items.filter((it: any) => {\r\n return JSON.stringify(it).toLowerCase().includes(searchText);\r\n });\r\n }else{\r\n return [];\r\n }\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { RiskCategoriesConfig } from './risk-categories-config';\r\n\r\n@Component({\r\n selector: 'app-risk-categories',\r\n templateUrl: './risk-categories.component.html',\r\n styleUrls: ['./risk-categories.component.less']\r\n})\r\nexport class RiskCategoriesComponent implements OnInit {\r\n\r\n\r\n @Input() categoryList: RiskCategoriesConfig = {\r\n strategic: {\r\n list: [],\r\n selectedList: [],\r\n },\r\n operational: {\r\n list: [],\r\n selectedList: [],\r\n },\r\n compliance: {\r\n list: [],\r\n selectedList: [],\r\n },\r\n others: {\r\n list: [],\r\n selectedList: [],\r\n }\r\n }\r\n @Input() allCategories: any[] = [];\r\n\r\n @Input() categoryIdKey: any;\r\n @Input() selectedCategories: any[] = [];\r\n\r\n search = '';\r\n activeTab: \"strategic\" | \"operational\" | \"compliance\" | \"others\"=\"strategic\";\r\n selectedIds: any[] = [];\r\n animation = false;\r\n blockWidth: any;\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: 'category_name',\r\n elementId: 'category_id',\r\n singularText: 'Risk Category selected',\r\n pluralText: 'Risk Categories selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n\r\n @Output() saveSelectedCategory = new EventEmitter();\r\n @Output() closeList = new EventEmitter();\r\n @Output() closeCategoriesList = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.selectedIds = [];\r\n if (this.selectedCategories) {\r\n this.selectedCategories.forEach(element => {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n });\r\n }\r\n this.setList()\r\n \r\n }\r\n\r\n selectCategory(mode: any, activeTab: any, category: any) {\r\n if (mode) {\r\n this.selectedIds.push(category[this.categoryIdKey]);\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == category[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n }\r\n this.setList();\r\n\r\n }\r\n\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any, activeTab: string) {\r\n\r\n if (mode) {\r\n if (activeTab === \"strategic\" || activeTab === \"operational\" || activeTab === \"compliance\" || activeTab === \"others\") {\r\n const list = this.categoryList[activeTab].list;\r\n list.forEach(element => {\r\n if (!this.selectedIds.includes(element[this.categoryIdKey])) {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n }\r\n });\r\n }\r\n\r\n } else {\r\n if (activeTab === \"strategic\" || activeTab === \"operational\" || activeTab === \"compliance\" || activeTab === \"others\") {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (this.selectedIds.includes(element[this.categoryIdKey])) {\r\n let idIndex = this.selectedIds.findIndex((id: any) => id == element[this.categoryIdKey]);\r\n this.selectedIds.splice(idIndex, 1);\r\n }\r\n });\r\n }\r\n\r\n }\r\n this.setList();\r\n }\r\n\r\n setList() {\r\n const data: any = [];\r\n const categoryList = [...new Set(this.allCategories)] \r\n // cloneDeep(this.allCategories)\r\n const selectedIds =[...new Set(this.selectedIds)] \r\n // cloneDeep(this.selectedIds);\r\n this.categoryList.strategic.selectedList = [];\r\n this.categoryList.operational.selectedList = [];\r\n this.categoryList.compliance.selectedList = [];\r\n this.categoryList.others.selectedList = [];\r\n\r\n categoryList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.categoryIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedCategories = data;\r\n this.footerDetails.selectedData = data;\r\n\r\n this.categoryList.strategic.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.strategic.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.operational.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.operational.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.compliance.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.compliance.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.others.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.others.selectedList.push(category)\r\n }\r\n });\r\n if (!this.activeTab) {\r\n this.setActiveTab();\r\n }\r\n }\r\n setActiveTab() {\r\n if (this.categoryList.strategic.selectedList.length > 0) {\r\n this.activeTab = 'strategic'\r\n } else if (this.categoryList.operational.selectedList.length > 0) {\r\n this.activeTab = 'operational'\r\n } else if (this.categoryList.compliance.selectedList.length > 0) {\r\n this.activeTab = 'compliance'\r\n } else if (this.categoryList.others.selectedList.length > 0) {\r\n this.activeTab = 'others'\r\n } else {\r\n this.activeTab = 'strategic'\r\n }\r\n }\r\n\r\n\r\n checkSelectAll(activeTab: string) {\r\n if (activeTab === \"strategic\" || activeTab === \"operational\" || activeTab === \"compliance\" || activeTab === \"others\") {\r\n const data = this.categoryList[activeTab].list.every((user: any) => this.selectedIds.includes(user[this.categoryIdKey]));\r\n return data;\r\n }\r\n }\r\n\r\n save() {\r\n this.saveSelectedCategory.emit(this.selectedCategories);\r\n }\r\n\r\n close() {\r\n this.closeCategoriesList.emit();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search'\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n\r\n transform(value: any, args?: any): any {\r\n if (!value) {\r\n return null;\r\n }\r\n if (!args) {\r\n return value;\r\n }\r\n\r\n args = args.toLowerCase();\r\n\r\n return value.filter((item: any) => {\r\n return JSON.stringify(item).toLowerCase().includes(args);\r\n });\r\n }\r\n\r\n}\r\n","import { ConfigureWidgetsService } from '../../services/configure-widgets.service';\r\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { retry } from 'rxjs/operators';\r\nimport { widgetDataModel } from '../../interfaces/widget-data-model';\r\nimport { DialogRef } from '../../../ui-kit/dialog/dialog-ref';\r\nimport { widgetConfig } from './widget.interface';\r\nimport { SnackBarService } from '../../../ui-kit/snack-bar/snack-bar.service';\r\n\r\n@Component({\r\n selector: 'app-configure-widgets',\r\n templateUrl: './configure-widgets.component.html',\r\n styleUrls: ['./configure-widgets.component.less']\r\n})\r\nexport class ConfigureWidgetsComponent implements OnInit, OnChanges {\r\n\r\n @Output() widgetsDataModified: EventEmitter<any> = new EventEmitter();\r\n @Output() closeConfigureWidgets: EventEmitter<any> = new EventEmitter();\r\n checkboxStatus!: any;\r\n search: string = '';\r\n checkedArray: Array<{ index: number, status: number }> = [];\r\n selectedWidgets: Array<widgetDataModel> = [];\r\n\r\n module: \"COMPLIANCE\" | \"RISK\" = 'COMPLIANCE';\r\n @Input() selectedWidgetsData: any = [];\r\n @Input() displayedWidgets: any = [];\r\n @Input() showRisk = false;\r\n @Input() showCompliance = false;\r\n @Input() mode = 'CREATE'\r\n noDataText = 'You have not configured any widgets. Click on the <strong>Configure Widgets</strong> button to begin.';\r\n\r\n selectedWidgetIds: any = [];\r\n subResponsibilitiesSelected: boolean = false\r\n subKeyResponsibilitiesSelected: boolean = false\r\n showWidgets = true;\r\n complianceWidgetsDisplayCount = 9;\r\n riskWidgetsDisplayCount = 12;\r\n\r\n\r\n constructor(\r\n private dialog: DialogRef,\r\n public configureWidgetsService: ConfigureWidgetsService,\r\n private snackBar: SnackBarService) {\r\n\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.mode == 'EDIT') {\r\n this.setWidgetsVisibilityToFalse()\r\n this.riskWidgetsDisplayCount = 0;\r\n this.complianceWidgetsDisplayCount = 0;\r\n const finalData = [...new Set(this.displayedWidgets)];\r\n finalData.forEach((element: any, index: any) => {\r\n this.widgetsList.COMPLIANCE.forEach((ele: any) => {\r\n if (ele.id == element.widget_code) {\r\n ele.visibility = true;\r\n if (ele.subWidgets.length > 0) {\r\n const filterData: any = []\r\n element.sub_widgets.filter((subwidget: any) => {\r\n filterData.push(subwidget.widget_code);\r\n });\r\n ele.subWidgets.forEach((subElement: any, subIndex: number) => {\r\n if (filterData.includes(subElement.id)) {\r\n ele.subWidgets[subIndex].visibility = true;\r\n } else {\r\n ele.subWidgets[subIndex].visibility = false;\r\n }\r\n });\r\n }\r\n this.complianceWidgetsDisplayCount++\r\n }\r\n })\r\n this.widgetsList.RISK.forEach((ele: any) => {\r\n if (ele.id == element.widget_code) {\r\n ele.visibility = true;\r\n if (ele.subWidgets.length > 0) {\r\n const filterData: any = []\r\n element.sub_widgets.filter((subwidget: any) => {\r\n filterData.push(subwidget.widget_code);\r\n });\r\n ele.subWidgets.forEach((subElement: any, subIndex: number) => {\r\n if (filterData.includes(subElement.id)) {\r\n ele.subWidgets[subIndex].visibility = true;\r\n } else {\r\n ele.subWidgets[subIndex].visibility = false;\r\n }\r\n });\r\n\r\n }\r\n this.riskWidgetsDisplayCount++\r\n }\r\n })\r\n });\r\n }\r\n const data = [...new Set(this.selectedWidgetsData)];\r\n data.forEach((element: any, index: any) => {\r\n this.widgetsList.COMPLIANCE.forEach((ele: any) => {\r\n if (ele.id == element.widget_code && element.state == 'ACTIVE') {\r\n ele.value = true;\r\n if (ele.subWidgets.length > 0) {\r\n const filterData: any = []\r\n element.sub_widgets.filter((subwidget: any) => {\r\n if (subwidget.state == 'ACTIVE') {\r\n filterData.push(subwidget.widget_code);\r\n }\r\n });\r\n ele.subWidgets.forEach((subElement: any, subIndex: number) => {\r\n if (filterData.includes(subElement.id)) {\r\n ele.subWidgets[subIndex].value = true;\r\n } else {\r\n ele.subWidgets[subIndex].value = false;\r\n }\r\n });\r\n\r\n }\r\n this.selectedWidgets.push(ele);\r\n\r\n }\r\n })\r\n this.widgetsList.RISK.forEach((ele: any) => {\r\n if (ele.id == element.widget_code && element.state == 'ACTIVE') {\r\n ele.value = true;\r\n if (ele.subWidgets.length > 0) {\r\n const filterData: any = []\r\n element.sub_widgets.filter((subwidget: any) => {\r\n if (subwidget.state == 'ACTIVE') {\r\n filterData.push(subwidget.widget_code);\r\n }\r\n });\r\n ele.subWidgets.forEach((subElement: any, subIndex: number) => {\r\n if (filterData.includes(subElement.id)) {\r\n ele.subWidgets[subIndex].value = true;\r\n } else {\r\n ele.subWidgets[subIndex].value = false;\r\n }\r\n });\r\n\r\n }\r\n this.selectedWidgets.push(ele);\r\n\r\n }\r\n })\r\n\r\n });\r\n this.module = (this.showCompliance) ? 'COMPLIANCE' : 'RISK';\r\n this.setSelectedWidgets();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n\r\n widgetsList = {\r\n COMPLIANCE: [\r\n {\r\n title: 'Overview',\r\n id: 'overview',\r\n description: 'Overview shows the performance of responsibilities and Programs.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/overview.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Responsibility Calendar',\r\n id: 'compliance_calendar_flag',\r\n description: 'The Responsibility Calendar shows the due dates of responsibilities in a calendar format. The responsibilities are color coded to reflect the status of the responsibilities.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/responsibility-calender.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Responsibility Center Overview',\r\n id: 'responsibility_center_overview_flag',\r\n description: 'The Responsibility Center Overview shows the performance of responsibilities and Responsibility Centers.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/responsibility-center-overview.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Responsibilities',\r\n id: 'my_responsibilities',\r\n description: 'This widget shows the performance of the responsibilities that you are required to complete, the responsibilities that you are reviewing and the responsibilities that you are overseeing.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/my-responsibilities.png',\r\n tabOption: true,\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: [\r\n {\r\n title: 'My Responsibilities',\r\n id: 'my_responsibility_flag',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'I’m Reviewing',\r\n id: 'reviewer_responsibility_flag',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'I’m Overseeing',\r\n id: 'cc_responsibility_flag',\r\n value: false,\r\n visibility:true,\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Key Responsibilities',\r\n id: 'key_responsibilities',\r\n description: 'This widget shows the performance of key responsibilities that you are required to complete, that you are reviewing, that you are overseeing and that you have assigned to another person.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/key-responsibilities.png',\r\n tabOption: true,\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: [\r\n {\r\n title: 'Overview',\r\n id: 'key_responsibilities_overview_flag',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'My Responsibilities',\r\n id: 'key_my_responsibilities_flag',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'I’m Reviewing',\r\n id: 'key_i_am_reviewing_flag',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'I’m Overseeing',\r\n id: 'key_i_am_overseeing_flag',\r\n value: false,\r\n visibility:true,\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Trend Analysis',\r\n id: 'trend_analysis_flag',\r\n description: 'The Trend Analysis is a graphical representation of the performance of responsibilities over a period.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/trend-analysis.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Workroom Updates',\r\n id: 'workroom_alert_flag',\r\n description: 'The Responsibility Workroom shows updates from the Responsibility Workrooms. A Responsibility Workroom exists for all responsibilities.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/workroom-updates.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Recent Activities',\r\n id: 'recent_activity_flag',\r\n description: 'This is a chronological view of the recent updates of responsibilities.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/recent-activities.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Exception Summary',\r\n id: 'exception_summary_flag',\r\n description: 'Exceptions Summary show the number of responsibilities that are either not accepted, not completed or deleted.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/exception-summary.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n }\r\n ],\r\n RISK: [\r\n {\r\n title: 'Risk Overview',\r\n id: 'risk_overview',\r\n description: 'This widget shows the number and percentage of risks within each risk response strategy.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-overview.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Risk Metrics',\r\n id: 'risk_metrics',\r\n description: 'This widget shows the number of risks within each risk appetite, the number of risks that exceed the risk appetite, the number of risks that exceed the risk tolerance, the number of risks within each risk rating, and the number of risks that do not have any linked controls.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: [\r\n {\r\n title: 'Risk Appetite & Tolerance',\r\n id: 'risk_appetite_tolerance',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'Risk Ratings',\r\n id: 'risk_ratings',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'Risks Without Controls',\r\n id: 'risks_without_controls',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'Exceeds Risk Tolerance',\r\n id: 'exceeds_risk_tolerance',\r\n value: false,\r\n visibility:true,\r\n },\r\n ]\r\n },\r\n\r\n {\r\n title: 'Inherent Risk Rating by Responsibility Centers ',\r\n id: 'inherent_risk_rating_by_responsibility_centers',\r\n description: 'This widget shows the number of risks within each inherent risk rating, grouped according to the Responsibility Center exposed to the risk.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-RC.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Residual Risk Rating by Responsibility Centers ',\r\n id: 'residual_risk_rating_by_responsibility_centers',\r\n description: 'This widget shows the number of risks within each residual risk rating, grouped according to the Responsibility Center exposed to the risk.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-RC.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Risk Category Overview',\r\n id: 'risk_category_overview',\r\n description: 'This widgets shows the number of risks within each status, grouped according to the Risk Category the risk is assigned to.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-category-overview.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Risk Heatmap',\r\n id: 'risk_heatmap',\r\n description: 'The Risk Heatmap displays the risk matrix for any two risk factors.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-heatmap.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Inherent Risk Rating by Categories',\r\n id: 'inherent_risk_rating_by_categories',\r\n description: 'This widget shows the number of risks within each inherent risk rating, grouped according to the Risk Category that the risk is assigned to.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-categories.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n\r\n {\r\n title: 'Residual Risk Rating by Categories',\r\n id: 'residual_risk_rating_by_categories',\r\n description: 'This widget shows the number of risks within each residual risk rating, grouped according to the Risk Category that the risk is assigned to.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-categories.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Inherent Risk Rating Trend by Responsibility Centers',\r\n id: 'inherent_risk_rating_trend_by_responsibility_centers',\r\n description: 'This widget is a graphical representation of the number of risks within each inherent risk rating, grouped according to the Responsibility Center exposed to the risk.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-trend.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Residual Risk Rating Trend by Responsibility Centers',\r\n id: 'residual_risk_rating_trend_by_responsibility_centers',\r\n description: 'This widget is a graphical representation of the number of risks within each residual risk rating, grouped according to the Responsibility Center exposed to the risk.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-trend.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Risk Rating Trend by Categories',\r\n id: 'risk_rating_trend_by_categories',\r\n description: 'This widgets is a trend chart that shows the inherent and residual risk rating trend across the different Risk Categories.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-trend.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Top 5 Risk Ratings',\r\n id: 'top_5_residual_risk_ratings',\r\n description: 'This widgets shows ths top five risks with the highest risk rating.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/5-risk-ratings.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n }\r\n ]\r\n }\r\n\r\n selectWidget(event: any, module: 'COMPLIANCE' | 'RISK', widgetId: string, subWidgetId?: string) {\r\n const widgetIndex = this.widgetsList[module].findIndex((ele: any) => ele.id == widgetId);\r\n const isSubWidgetAddable = this.selectedWidgets.findIndex(( widget: any) => widget.id === widgetId )\r\n if (event) {\r\n if (this.selectedWidgets.length >= 10 && !(subWidgetId && isSubWidgetAddable >= 0)) {\r\n this.snackBar.show('You cannot add more than 10 widgets.');\r\n this.showWidgets = false;\r\n setTimeout(() => {\r\n this.widgetsList[module][widgetIndex].value = false;\r\n this.showWidgets = true;\r\n }, 10);\r\n return\r\n }\r\n this.widgetsList[module][widgetIndex].value = true;\r\n if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {\r\n if (!subWidgetId) {\r\n this.widgetsList[module][widgetIndex].subWidgets.forEach(ele => ele.value = true);\r\n } else {\r\n const subWidgetIndex = this.widgetsList[module][widgetIndex].subWidgets.findIndex((ele: any) => ele.id == subWidgetId);\r\n this.widgetsList[module][widgetIndex].subWidgets[subWidgetIndex].value = true;\r\n }\r\n }\r\n } else {\r\n if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {\r\n if (!subWidgetId) {\r\n this.widgetsList[module][widgetIndex].value = false;\r\n this.widgetsList[module][widgetIndex].subWidgets.forEach((ele: any) => ele.value = false);\r\n } else {\r\n const subWidgetIndex = this.widgetsList[module][widgetIndex].subWidgets.findIndex((ele: any) => ele.id == subWidgetId);\r\n this.widgetsList[module][widgetIndex].subWidgets[subWidgetIndex].value = false;\r\n\r\n const isAllWidgetsRemoved = this.widgetsList[module][widgetIndex].subWidgets.every((ele: any) => ele.value == false);\r\n if (isAllWidgetsRemoved) {\r\n this.widgetsList[module][widgetIndex].value = false;\r\n }\r\n }\r\n } else {\r\n this.widgetsList[module][widgetIndex].value = false;\r\n }\r\n }\r\n this.setSelectedWidgets();\r\n\r\n }\r\n setSelectedWidgets() {\r\n this.selectedWidgets = []\r\n this.widgetsList.COMPLIANCE.forEach((ele: any) => {\r\n if (ele.value) {\r\n this.selectedWidgets.push(ele)\r\n }\r\n })\r\n this.widgetsList.RISK.forEach((ele: any) => {\r\n if (ele.value) {\r\n this.selectedWidgets.push(ele)\r\n }\r\n })\r\n }\r\n\r\n removeWidget(widget: widgetConfig) {\r\n const widgetIndex = this.widgetsList[widget.module].findIndex((ele: any) => ele.id == widget.id);\r\n this.widgetsList[widget.module][widgetIndex].value = false;\r\n if (this.widgetsList[widget.module][widgetIndex].subWidgets.length > 0) {\r\n this.widgetsList[widget.module][widgetIndex].subWidgets.forEach((ele: any) => ele.value = false);\r\n }\r\n this.setSelectedWidgets()\r\n }\r\n\r\n onNextClick() {\r\n this.widgetsDataModified.emit(this.selectedWidgets);\r\n }\r\n\r\n closeConfigureDashboard() {\r\n this.selectedWidgets = [];\r\n this.dialog.close();\r\n this.closeConfigureWidgets.emit(false);\r\n }\r\n\r\n setWidgetsVisibilityToFalse(){\r\n this.widgetsList.COMPLIANCE.forEach((ele: any) => {\r\n ele.visibility = false;\r\n if (ele.subWidgets.length > 0) { \r\n ele.subWidgets.forEach((subElement: any) => { \r\n subElement.visibility = false;\r\n });\r\n }\r\n })\r\n this.widgetsList.RISK.forEach((ele: any) => {\r\n ele.visibility = false;\r\n if (ele.subWidgets.length > 0) {\r\n ele.subWidgets.forEach((subElement: any) => {\r\n subElement.visibility = false;\r\n });\r\n }\r\n })\r\n }\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, Input, OnInit, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appScrollInView]'\r\n})\r\nexport class ScrollInViewDirective implements OnChanges {\r\n@Input() appScrollInView = false;\r\n constructor(private el: ElementRef) {\r\n }\r\nngOnChanges(change:SimpleChanges){\r\n if(change?.appScrollInView && change?.appScrollInView?.currentValue === true){\r\n this.scroll();\r\n }\r\n}\r\n ngAfterViewInit() {\r\n // Otherwise Angular throws error: Expression has changed after it was checked.\r\n this.scroll();\r\n }\r\n\r\n scroll(){\r\n if(this.appScrollInView){\r\n window.setTimeout(() => {\r\n this.el.nativeElement.scrollIntoView({behavior: 'smooth', block: 'center'});\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ScrollInViewDirective } from './scroll-in-view.directive';\n\n\n\n@NgModule({\n declarations: [\n ScrollInViewDirective\n ],\n imports: [\n CommonModule\n ],\n exports:[\n ScrollInViewDirective\n ]\n})\nexport class DirectivesModule { }\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-no-data',\r\n templateUrl: './no-data.component.html',\r\n styleUrls: ['./no-data.component.less'],\r\n})\r\nexport class NoDataComponent implements OnInit {\r\n @Input() action!: any;\r\n @Input() noDataImage!: string;\r\n @Input() noDataText = '';\r\n @Input() noDataButton!: string | boolean;\r\n @Input() noDataSecButton!: string | boolean;\r\n @Input() altText!: string;\r\n @Output() buttonAction = new EventEmitter<object>();\r\n @Input() smallButton!: boolean;\r\n @Input() buttonIcon!: any;\r\n @Input() iconClass!: any;\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n\r\n actionEmitter(button: object) {\r\n this.buttonAction.emit(button);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NoDataComponent } from './no-data.component';\r\n\r\n@NgModule({\r\n declarations: [NoDataComponent],\r\n imports: [CommonModule],\r\n exports: [NoDataComponent],\r\n})\r\nexport class NoDataModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FloatingBarModule } from '../../ui-kit//floating-bar/floating-bar.module';\r\nimport { FormgroupModule } from '../../ui-kit/formgroup/formgroup.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SearchPipe } from '../pipes/search.pipe';\r\nimport { ConfigureWidgetsComponent } from './configure-widgets/configure-widgets.component';\r\nimport { DirectivesModule } from '../directives/directives.module';\r\nimport { NoDataModule } from '../../ui-kit/no-data/no-data.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ConfigureWidgetsComponent, SearchPipe\r\n ],\r\n imports: [\r\n CommonModule,\r\n FloatingBarModule,\r\n FormgroupModule,\r\n FormsModule,\r\n DirectivesModule,\r\n NoDataModule\r\n ],\r\n exports: [\r\n ConfigureWidgetsComponent\r\n ]\r\n})\r\nexport class ConfigureWidgetsModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.less'],\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader-inline',\r\n templateUrl: './loader-inline.component.html',\r\n styleUrls: ['./loader-inline.component.less'],\r\n})\r\nexport class LoaderInlineComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { LoaderInlineComponent } from './loader-inline/loader-inline.component';\r\n\r\n@NgModule({\r\n declarations: [LoaderComponent, LoaderInlineComponent],\r\n imports: [CommonModule],\r\n exports: [LoaderComponent, LoaderInlineComponent],\r\n})\r\nexport class VLoaderModule {}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport { SnackBarService } from '../snack-bar.service';\r\n\r\n@Component({\r\n selector: 'app-snack-bar',\r\n templateUrl: './snack-bar.component.html',\r\n styleUrls: ['./snack-bar.component.less'],\r\n})\r\nexport class SnackBarComponent implements OnInit {\r\n show = false;\r\n message: string = '--';\r\n icon: string = '&#xe914;';\r\n constructor(private snackbarService: SnackBarService) {}\r\n\r\n ngOnInit(): void {\r\n this.snackbarService.snackbarSubject.subscribe((state) => {\r\n if (state.icon) {\r\n this.icon = state.icon;\r\n } else {\r\n this.icon = '&#xe914;';\r\n }\r\n this.message = state.message;\r\n this.show = state.show;\r\n setTimeout(() => {\r\n this.show = false;\r\n }, 3000);\r\n });\r\n }\r\n close() {\r\n this.show = false;\r\n }\r\n ngOnDestroy() {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SnackBarComponent } from './snack-bar/snack-bar.component';\r\n\r\n@NgModule({\r\n declarations: [SnackBarComponent],\r\n imports: [CommonModule],\r\n exports: [SnackBarComponent],\r\n})\r\nexport class SnackBarModule {}\r\n","import { Component, Input, OnInit, EventEmitter, Output, HostListener } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-smiley-dialog',\r\n templateUrl: './smiley-dialog.component.html',\r\n styleUrls: ['./smiley-dialog.component.less'],\r\n})\r\nexport class SmileyDialogComponent implements OnInit {\r\n @Input() message!: string;\r\n @Input() autoClose!: boolean;\r\n @Input() actionButtons!: any[];\r\n @Output() action: EventEmitter<string> = new EventEmitter();\r\n @Output() closeSmiley: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostListener('window:keyup', ['$event']) handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n this.smileyCloseEmitter({});\r\n }\r\n }\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n if (this.autoClose) {\r\n setTimeout(() => {\r\n this.close();\r\n }, 8000);\r\n }\r\n }\r\n close() {\r\n this.closeSmiley.emit();\r\n }\r\n\r\n actionEmitter(event: any) {\r\n this.action.emit(event?.id);\r\n }\r\n\r\n smileyCloseEmitter(event: any) {\r\n this.closeSmiley.emit();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SmileyDialogComponent } from './smiley-dialog.component';\r\n\r\n@NgModule({\r\n declarations: [SmileyDialogComponent],\r\n imports: [CommonModule],\r\n\r\n exports: [SmileyDialogComponent],\r\n})\r\nexport class SmileyDialogModule {}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MarxEditorModule } from 'vcomply-editor';\r\nimport { DpDatePickerModule } from 'ng2-date-picker';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CreateDashboardComponent } from './create-dashboard.component';\r\nimport { SelectModule } from '../ui-kit/select/select.module';\r\nimport { UserListComponent } from './user-list/user-list.component';\r\nimport { ResponsibilityCenterComponent } from './responsibility-center/responsibility-center.component';\r\nimport { CategoriesComponent } from './categories/categories.component';\r\nimport { FrequencyComponent } from './frequency/frequency.component';\r\nimport { PaginationModule } from '../ui-kit/pagination/pagination.module';\r\nimport { FormgroupModule } from '../ui-kit/formgroup/formgroup.module';\r\nimport { DashboardFooterModule } from '../ui-kit/dashboard-footer/dashboard-footer.module';\r\nimport { FormGroupComponent } from './form-group/form-group.component';\r\nimport { TooltipModule } from '../ui-kit/tooltip/tooltip.module';\r\nimport { FloatingBarModule } from '../ui-kit/floating-bar/floating-bar.module';\r\nimport { DialogModule } from '../ui-kit/dialog/dialog.module';\r\nimport { Configurations } from '../configurations';\r\nimport { FilterPipe } from './pipes/filter.pipe';\r\nimport { RiskCategoriesComponent } from './risk-categories/risk-categories.component';\r\nimport { ConfigureWidgetsModule } from './configure-widgets/configure-widgets.module';\r\nimport { PopoverModule } from '../ui-kit/popover/popover.module';\r\nimport { VLoaderModule } from '../ui-kit/v-loader/v-loader.module';\r\nimport { SnackBarModule } from '../ui-kit/snack-bar/snack-bar.module';\r\nimport { NoDataModule } from '../ui-kit/no-data/no-data.module';\r\nimport { DirectivesModule } from './directives/directives.module';\r\nimport { SmileyDialogModule } from '../ui-kit/smiley-dialog/smiley-dialog.module';\r\nimport { TextCountPipe } from './pipes/text-count.pipe';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n CreateDashboardComponent,\r\n UserListComponent,\r\n FormGroupComponent,\r\n ResponsibilityCenterComponent,\r\n CategoriesComponent,\r\n RiskCategoriesComponent,\r\n FrequencyComponent,\r\n FilterPipe,\r\n TextCountPipe,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MarxEditorModule,\r\n FormgroupModule,\r\n DpDatePickerModule,\r\n FormsModule,\r\n TooltipModule,\r\n SelectModule,\r\n DashboardFooterModule,\r\n PaginationModule,\r\n FloatingBarModule,\r\n DialogModule,\r\n ConfigureWidgetsModule, \r\n PopoverModule,\r\n VLoaderModule,\r\n SnackBarModule,\r\n NoDataModule,\r\n DirectivesModule,\r\n SmileyDialogModule\r\n \r\n ],\r\n exports: [\r\n CreateDashboardComponent\r\n ]\r\n \r\n})\r\nexport class CreateDashboardModule { \r\n public static forRoot(environmentConfig: Configurations): ModuleWithProviders<CreateDashboardModule> {\r\n\r\n return {\r\n ngModule: CreateDashboardModule,\r\n providers: [\r\n { provide: Configurations, useValue: environmentConfig }\r\n ]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of create-dashboard\r\n */\r\n\r\n// export * from './lib/create-dashboard.service';\r\n// export * from './lib/create-dashboard.component';\r\n// export * from './lib/create-dashboard.module';\r\n\r\nexport * from './lib/create-dashboard.service';\r\nexport * from './lib/create-dashboard-container/create-dashboard.component';\r\nexport * from './lib/create-dashboard-container/create-dashboard.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {Configurations as ɵd} from './lib/configurations';\nexport {CategoriesComponent as ɵr} from './lib/create-dashboard-container/categories/categories.component';\nexport {ConfigureWidgetsModule as ɵbu} from './lib/create-dashboard-container/configure-widgets/configure-widgets.module';\nexport {ConfigureWidgetsComponent as ɵbv} from './lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component';\nexport {DirectivesModule as ɵbx} from './lib/create-dashboard-container/directives/directives.module';\nexport {ScrollInViewDirective as ɵby} from './lib/create-dashboard-container/directives/scroll-in-view.directive';\nexport {FormGroupComponent as ɵj} from './lib/create-dashboard-container/form-group/form-group.component';\nexport {FrequencyComponent as ɵt} from './lib/create-dashboard-container/frequency/frequency.component';\nexport {FilterPipe as ɵu} from './lib/create-dashboard-container/pipes/filter.pipe';\nexport {SearchPipe as ɵbw} from './lib/create-dashboard-container/pipes/search.pipe';\nexport {TextCountPipe as ɵa} from './lib/create-dashboard-container/pipes/text-count.pipe';\nexport {ResponsibilityCenterComponent as ɵq} from './lib/create-dashboard-container/responsibility-center/responsibility-center.component';\nexport {RiskCategoriesComponent as ɵs} from './lib/create-dashboard-container/risk-categories/risk-categories.component';\nexport {AuthService as ɵc} from './lib/create-dashboard-container/services/auth.service';\nexport {ConfigureWidgetsService as ɵh} from './lib/create-dashboard-container/services/configure-widgets.service';\nexport {CreateDashboardService as ɵb} from './lib/create-dashboard-container/services/create-dashboard.service';\nexport {PaginationService as ɵe} from './lib/create-dashboard-container/services/pagination.service';\nexport {UserListComponent as ɵi} from './lib/create-dashboard-container/user-list/user-list.component';\nexport {DashboardFooterModule as ɵbl} from './lib/ui-kit/dashboard-footer/dashboard-footer.module';\nexport {DashboardFooterComponent as ɵbm} from './lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component';\nexport {DialogConfig as ɵp} from './lib/ui-kit/dialog/dialog-config';\nexport {DialogRef as ɵo} from './lib/ui-kit/dialog/dialog-ref';\nexport {DialogComponent as ɵm} from './lib/ui-kit/dialog/dialog.component';\nexport {DialogModule as ɵl} from './lib/ui-kit/dialog/dialog.module';\nexport {DialogService as ɵk} from './lib/ui-kit/dialog/dialog.service';\nexport {InsertionDirective as ɵn} from './lib/ui-kit/dialog/insertion.directive';\nexport {FloatingBarComponent as ɵbt} from './lib/ui-kit/floating-bar/floating-bar.component';\nexport {FloatingBarModule as ɵbs} from './lib/ui-kit/floating-bar/floating-bar.module';\nexport {ClickOutsideDirective as ɵbd} from './lib/ui-kit/formgroup/click-outside.directive';\nexport {CsCheckboxComponent as ɵw} from './lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component';\nexport {CsRadioGroupComponent as ɵz} from './lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component';\nexport {CsRadioComponent as ɵx} from './lib/ui-kit/formgroup/cs-radio/cs-radio.component';\nexport {CsSelectComponent as ɵba} from './lib/ui-kit/formgroup/cs-select/cs-select.component';\nexport {CsSwitchComponent as ɵy} from './lib/ui-kit/formgroup/cs-switch/cs-switch.component';\nexport {FormgroupModule as ɵv} from './lib/ui-kit/formgroup/formgroup.module';\nexport {PascalPipe as ɵbb} from './lib/ui-kit/formgroup/pipes/pascal.pipe';\nexport {SearchMultiSelectPipe as ɵbc} from './lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe';\nexport {NoDataComponent as ɵca} from './lib/ui-kit/no-data/no-data.component';\nexport {NoDataModule as ɵbz} from './lib/ui-kit/no-data/no-data.module';\nexport {PaginationComponent as ɵbr} from './lib/ui-kit/pagination/pagination.component';\nexport {PaginationModule as ɵbq} from './lib/ui-kit/pagination/pagination.module';\nexport {PopoverComponent as ɵbo} from './lib/ui-kit/popover/popover.component';\nexport {PopoverDirective as ɵbp} from './lib/ui-kit/popover/popover.directive';\nexport {PopoverModule as ɵbn} from './lib/ui-kit/popover/popover.module';\nexport {PopoverService as ɵg} from './lib/ui-kit/popover/popover.service';\nexport {CsOptionComponent as ɵbi} from './lib/ui-kit/select/cs-option/cs-option.component';\nexport {CsSelectComponent as ɵbh} from './lib/ui-kit/select/cs-select/cs-select.component';\nexport {SafeHtmlPipe as ɵbk} from './lib/ui-kit/select/safe-html.pipe';\nexport {SelectModule as ɵbg} from './lib/ui-kit/select/select.module';\nexport {CsSelectService as ɵbj} from './lib/ui-kit/services/cs-select.service';\nexport {SmileyDialogComponent as ɵch} from './lib/ui-kit/smiley-dialog/smiley-dialog.component';\nexport {SmileyDialogModule as ɵcg} from './lib/ui-kit/smiley-dialog/smiley-dialog.module';\nexport {SnackBarModule as ɵce} from './lib/ui-kit/snack-bar/snack-bar.module';\nexport {SnackBarService as ɵf} from './lib/ui-kit/snack-bar/snack-bar.service';\nexport {SnackBarComponent as ɵcf} from './lib/ui-kit/snack-bar/snack-bar/snack-bar.component';\nexport {ToolTipDirective as ɵbf} from './lib/ui-kit/tooltip/tooltip.directive';\nexport {TooltipModule as ɵbe} from './lib/ui-kit/tooltip/tooltip.module';\nexport {LoaderInlineComponent as ɵcd} from './lib/ui-kit/v-loader/loader-inline/loader-inline.component';\nexport {LoaderComponent as ɵcc} from './lib/ui-kit/v-loader/loader/loader.component';\nexport {VLoaderModule as ɵcb} from './lib/ui-kit/v-loader/v-loader.module';"],"names":["Injectable","HttpClient","Optional","HttpHeaders","map","retry","catchError","of","JwtHelperService","BehaviorSubject","Subject","Pipe","dayjs","customParseFormat","EventEmitter","Component","ChangeDetectorRef","Input","Output","ViewChild","HostListener","nanoid","NG_VALUE_ACCESSOR","forwardRef","CsSelectComponent","DomSanitizer","NgModule","FormsModule","CommonModule","Directive","ElementRef","Renderer2","ViewContainerRef","NavigationStart","NavigationEnd","NavigationError","ComponentFactoryResolver","Router","ApplicationRef","Injector","MarxEditorModule","DpDatePickerModule"],"mappings":"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"}
1
+ {"version":3,"file":"create-dashboard.umd.js","sources":["../../../projects/create-dashboard/src/lib/create-dashboard.service.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/create-dashboard/src/lib/configurations.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/auth.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/create-dashboard.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/pagination.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/configure-widgets.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/pipes/text-count.pipe.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/create-dashboard.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/cs-select/cs-select.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/services/cs-select.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/cs-option/cs-option.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/safe-html.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/select.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/user-list/user-list.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/responsibility-center/responsibility-center.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/categories/categories.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/frequency/frequency.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/pagination/pagination.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/pagination/pagination.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-select/cs-select.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/tooltip/tooltip.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/tooltip/tooltip.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/pipes/pascal.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/click-outside.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/formgroup.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dashboard-footer/dashboard-footer.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/insertion.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog-ref.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog-config.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog-injector.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/form-group/form-group.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/floating-bar/floating-bar.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/floating-bar/floating-bar.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/pipes/filter.pipe.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/risk-categories/risk-categories.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/pipes/search.pipe.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/directives/scroll-in-view.directive.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/directives/directives.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/no-data/no-data.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/no-data/no-data.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/configure-widgets/configure-widgets.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/loader/loader.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/loader-inline/loader-inline.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/v-loader.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/smiley-dialog/smiley-dialog.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/smiley-dialog/smiley-dialog.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/create-dashboard.module.ts","../../../projects/create-dashboard/src/public-api.ts","../../../projects/create-dashboard/src/create-dashboard.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CreateDashboardService {\r\n constructor() {}\r\n}","/******************************************************************************\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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: 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\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export class Configurations {\r\n public envConfig: any;\r\n\r\n constructor() {\r\n this.envConfig = {};\r\n }\r\n\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { of, BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { map, shareReplay, catchError, delay} from 'rxjs/operators';\r\nimport { Configurations } from '../../configurations';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n public env !: any;\r\n\r\n constructor(private http: HttpClient, @Optional() config?: Configurations) { \r\n if (config) {\r\n this.env = config.envConfig;\r\n }\r\n }\r\n getAuthorizationToken() {\r\n if (localStorage.getItem('currentUser')) {\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser') || '{}');\r\n return currentUser.token;\r\n }\r\n }\r\n\r\n \r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, retry } from 'rxjs/operators';\r\nimport { Configurations } from '../../configurations';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CreateDashboardService {\r\n public env !: any;\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', token: this.authService.getAuthorizationToken() })\r\n };\r\n constructor(private http: HttpClient,\r\n private authService: AuthService, @Optional() config?: Configurations) {\r\n if (config) {\r\n this.env = config.envConfig;\r\n }\r\n }\r\n\r\n /*\r\n * Fetches the Organization Users List by making an API call\r\n */\r\n getOrganizationUsers(url?: any) {\r\n return this.http.get(this.env.organizationGet + 'organisationUsersList&paginationType=small' +\r\n (url.p ? '&p=' + url.p : '') + (url.type ? '&type=' + url.type : '') +\r\n (url.q ? '&q=' + url.q : ''), this.httpOptions).pipe(map((res: any) => {\r\n return res;\r\n }), retry(2), catchError(err => of(err)));\r\n }\r\n\r\n /**\r\n * Fetches the OrganizationUsers details of users List to set pagination details including number of\r\n * pages and records limit per page,\r\n * @param url contains info about type & search query\r\n */\r\n getOrganizationUsersCount(url?: any) {\r\n return this.http.get(this.env.organizationGet + 'organisationUsersCount&paginationType=small' +\r\n (url.type ? '&type=' + url.type : '') + (url.q ? '&q=' + url.q : ''), this.httpOptions).pipe(map(res => {\r\n return res;\r\n }), catchError(err => of(err)));\r\n }\r\n\r\n getCategoryList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any[]>(this.env.riskGet + 'category/list', { headers })\r\n .pipe(retry(2));\r\n }\r\n\r\n /**\r\n * Fetches all users by making an API call\r\n */\r\n getAllUsers() {\r\n return this.http.get(this.env.organizationGet + 'selectAllUsers&type=all', this.httpOptions).pipe(retry(2));\r\n }\r\n\r\n /**\r\n * Fetches responsibilityCentersList by making an API call\r\n */\r\n getResponsibilityCenterList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'responsibilityCenterTree', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getComplianceCategoriesList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'complianceCategory/CategoryListTree', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getComplianceCategoriesListFromGlobal() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'complianceCategory/CategoryListTree&program=1', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n submitDashboard(payload: any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.dashboard+'CreateDashboard', payload, { headers }).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n /**\r\n * Fetches the Dashboard details for data population to Edit the dashboard\r\n * @param id\r\n */\r\n fetchDashboard(id: any) {\r\n return this.http.get(this.env.dashboard + id + '?mode=edit', this.httpOptions).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n updateDashboard(id: any, payload: any) {\r\n return this.http.put(this.env.dashboard + 'UpdateDashboard/' + id, payload, this.httpOptions).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n getUserInformation() {\r\n return this.http.get(this.env.organizationGet + 'users&id=' + this._ID(), this.httpOptions).pipe(\r\n retry(2)\r\n );\r\n }\r\n _ID() {\r\n const helper = new JwtHelperService();\r\n const myRawToken = localStorage.getItem('currentUser') || '{}';\r\n const isExpired = helper?.isTokenExpired(myRawToken);\r\n if (isExpired === false) {\r\n const tokenInfo = helper?.decodeToken(myRawToken);\r\n return tokenInfo._id;\r\n }\r\n return '';\r\n }\r\n\r\n checkDuplicateDashboardName(payload: any) {\r\n return this.http.post(this.env.dashboard + 'DuplicateDashboard', payload, this.httpOptions).pipe(\r\n retry(2)\r\n );\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n/**\r\n * Service to implement pagination for users while creating an app\r\n */\r\nexport class PaginationService {\r\n currentPage = 1;\r\n searchValue = '';\r\n currentValues = new BehaviorSubject({});\r\n\r\n constructor() { }\r\n\r\n setCurrentState() {\r\n this.currentValues.next(true);\r\n }\r\n reset(){\r\n this.currentPage = 1;\r\n this.searchValue = '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SnackBarService {\r\n snackbarSubject = new Subject<any>();\r\n constructor() {}\r\n\r\n show(message: string, icon?: string) {\r\n this.snackbarSubject.next({\r\n show: true,\r\n message,\r\n icon,\r\n });\r\n }\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { widgetDataModel} from '../interfaces/widget-data-model'\r\nimport { HttpClient, HttpHeaders, JsonpClientBackend } from '@angular/common/http';\r\nimport { catchError, map, retry } from 'rxjs/operators';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { of } from 'rxjs';\r\nimport { AuthService } from './auth.service';\r\nimport { identifierModuleUrl } from '@angular/compiler';\r\nimport { Configurations } from '../../configurations';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigureWidgetsService {\r\n public env !: any;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private authService: AuthService,\r\n @Optional() config?: Configurations) { \r\n if (config) {\r\n this.env = config.envConfig;\r\n }}\r\n\r\n complianceWidgetsData = [\r\n {\r\n title: 'Overview',\r\n id: 'overview_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Responsibility Calendar',\r\n id: 'compliance_calendar_flag',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Responsibility Center Overview',\r\n id: 'responsibility_center_overview_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'My Responsibilities',\r\n id: 'my_responsibilities',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/my-responsibilities.png',\r\n tabOption: true,\r\n value: 0,\r\n },\r\n {\r\n title: 'Key Responsibilities',\r\n id: 'key_responsibilities',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/key-responsibilities.png',\r\n tabOption: true,\r\n value: 0,\r\n },\r\n {\r\n title: 'Trend Analysis',\r\n id: 'trend_analysis_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/trend-analysis.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Workroom Updates',\r\n id: 'workroom_alert_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/workroom-updates.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Recent Activities',\r\n id: 'recent_activity_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/recent-activities.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Exception Summary',\r\n id: 'exception_summary_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/exception-summary.png',\r\n value: 0,\r\n }\r\n ];\r\n\r\n\r\n\r\n riskWidgetsData = [\r\n {\r\n title: 'Risk Overview',\r\n id: 'risk_overview',\r\n description: 'description',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Appetite & Tolerance',\r\n id: 'risk_appetite_tolerance',\r\n description: 'description',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Ratings',\r\n id: 'risk_ratings',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risks Without Controls',\r\n id: 'risks_without_controls',\r\n description: 'Description',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\r\n value: 0,\r\n }, \r\n {\r\n title: 'Risks Exceeding Risk Tolerance',\r\n id: 'exceeds_risk_tolerance',\r\n description: 'description',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Inherent Risk Rating by Responsibility Centers ',\r\n id: 'inherent_risk_rating_by_responsibility_centers',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-RC.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Residual Risk Rating by Responsibility Centers ',\r\n id: 'residual_risk_rating_by_responsibility_centers',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-RC.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Category Overview',\r\n id: 'risk_category_overview',\r\n description: 'description',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-category-overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Heatmap',\r\n id: 'risk_heatmap',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-heatmap.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Inherent Risk Rating by Categories',\r\n id: 'inherent_risk_rating_by_categories',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-categories.png',\r\n value: 0,\r\n },\r\n \r\n {\r\n title: 'Residual Risk Rating by Categories',\r\n id: 'residual_risk_rating_by_categories',\r\n description: 'description',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-categories.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Inherent Risk Rating Trend by Responsibility Centers',\r\n id: 'inherent_risk_rating_trend_by_responsibility_centers',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-trend.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Residual Risk Rating Trend by Responsibility Centers',\r\n id: 'residual_risk_rating_trend_by_responsibility_centers',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-trend.png',\r\n value: 0,\r\n }, \r\n {\r\n title: 'Risk Rating Trend by Categories',\r\n id: 'risk_rating_trend_by_categories',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-trend.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Top 5 Risk Ratings',\r\n id: 'top_5_residual_risk_ratings',\r\n description: 'Description.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/5-risk-ratings.png',\r\n value: 0,\r\n },\r\n ];\r\n auditWidgetsData = [];\r\n policyWidgetsData = [];\r\n\r\n\r\n // For dashboard view\r\n dashBoardWidgetUpdate(widGetJson: any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.put(this.env.OrganizationPut + 'dashboardWidgets', widGetJson).pipe(retry(2));\r\n }\r\n\r\n moduleType(identifier:string){\r\n if(JSON.stringify(this.complianceWidgetsData).includes(identifier)){\r\n return 'COMPLIANCE'\r\n }else if(JSON.stringify(this.riskWidgetsData).includes(identifier)){\r\n return 'RISK'\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PopoverService {\r\n stopScroll = false;\r\n positionX!: number;\r\n positionY!: number;\r\n popoverHeight: any;\r\n popoverWidth: any;\r\n elementPosition: any;\r\n elementDirection: any;\r\n constructor() {\r\n console.log(this.popoverHeight);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'textCount'\r\n})\r\nexport class TextCountPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n const span = document.createElement('span');\r\n span.innerHTML = value;\r\n console.log('span.innerHTML ==>',span.innerHTML,span.innerText.length)\r\n return span.textContent?.length || span.innerText.length;\r\n }\r\n\r\n}\r\n","import { ChangeDetectorRef, Component, EventEmitter, HostListener, Input, OnChanges, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { EditorConfig } from 'vcomply-editor';\r\nimport { DatePickerComponent, IDatePickerConfig } from 'ng2-date-picker';\r\nimport { CreateDashboardService } from './services/create-dashboard.service';\r\nimport { PaginationService } from './services/pagination.service';\r\nimport { UserListConfiguration } from './user-list/user-list.config';\r\nimport { CreateDashboardForm } from './create-dashboard-config';\r\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\r\nimport { ConfigureWidgetsService } from './services/configure-widgets.service';\r\nimport { findIndex } from 'rxjs/operators';\r\n\r\n\r\nimport * as dayjs from 'dayjs';\r\nimport * as customParseFormat from 'dayjs/plugin/customParseFormat';\r\nimport { PopoverService } from '../ui-kit/popover/popover.service';\r\nimport { TextCountPipe } from './pipes/text-count.pipe';\r\ndayjs.extend(customParseFormat);\r\n\r\n@Component({\r\n selector: 'app-create-dashboard',\r\n templateUrl: './create-dashboard.component.html',\r\n styleUrls: ['./create-dashboard.component.less'],\r\n providers: [TextCountPipe]\r\n})\r\nexport class CreateDashboardComponent implements OnInit, OnChanges {\r\n\r\n activeSelector = '';\r\n disabled = false;\r\n @Input() mode = 'CREATE';\r\n @Input() dashboardId = '';\r\n @Output() close = new EventEmitter();\r\n @Input() createdBy = 0;\r\n\r\n @ViewChild('fromDatePicker') fromDatePicker!: DatePickerComponent;\r\n @ViewChild('toDatePicker') toDatePicker!: DatePickerComponent;\r\n animation = true;\r\n @Input() configureWidget = false\r\n\r\n totalPages = 1;\r\n totalList = 1;\r\n usersList: any[] = [];\r\n vLoader = true;\r\n userListLoaded = false;\r\n rcListLoaded = false;\r\n complianceCategoriesListLoaded = false;\r\n riskCategoryListLoaded = false;\r\n hideToDate = false;\r\n listDetails: UserListConfiguration = {\r\n selectedUsersList: [],\r\n nonRemovableUsersList: [],\r\n displayElementKey: 'member_name',\r\n elementIdKey: 'member_id',\r\n tooltipKey: 'member_email',\r\n };\r\n dashboardDescription: EditorConfig = {\r\n placeholder: 'Description (Max limit: 250 characters)',\r\n mode: 'prime',\r\n id: 'description'\r\n }\r\n responsibilityCategoriesTree: any = {\r\n regulations: {\r\n list: [],\r\n selectedList: []\r\n },\r\n standards: {\r\n list: [],\r\n selectedList: []\r\n },\r\n internalControls: {\r\n list: [],\r\n selectedList: []\r\n },\r\n others: {\r\n list: [],\r\n selectedList: []\r\n }\r\n };\r\n allComplianceCategories: any[] = [];\r\n allRiskCategories: any[] = [];\r\n showRiskCategory = false;\r\n showCriteria = true;\r\n\r\n dashboardForm: CreateDashboardForm = {\r\n dashboardName: '',\r\n dashboardDescriptionText: '',\r\n selectedViewers: [],\r\n selectedFromDate: undefined,\r\n selectedToDate: undefined,\r\n selectedResponsibilityCenters: [],\r\n selectedResponsibilityCategories: [],\r\n selectedRiskCategories: [],\r\n displayCriteria: 'or',\r\n configureWidget: [],\r\n frequencyDetails: '',\r\n selectedFrequencyType: '',\r\n selectedFrequencies: [0],\r\n frequencyMessage: '',\r\n frequencyDate: 1\r\n }\r\n\r\n\r\n openConfigureWidgets = false;\r\n selectedWidgets: any = [];\r\n displayedWidgets: any = []\r\n\r\n\r\n responsibilityCentersList = [];\r\n datePickerOverlay = false;\r\n dayNames = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\r\n monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n quarters = ['January, April, July, October', 'February, May, August, November', 'March, June, September, December'];\r\n\r\n categoryListLoaded = false;\r\n showRiskWidgets = false;\r\n showComplianceWidgets = false;\r\n isManageRisk: boolean = false;\r\n\r\n riskCategoryList = {\r\n strategic: {\r\n list: [],\r\n selectedList: []\r\n },\r\n operational: {\r\n list: [],\r\n selectedList: []\r\n },\r\n compliance: {\r\n list: [],\r\n selectedList: []\r\n },\r\n others: {\r\n list: [],\r\n selectedList: []\r\n },\r\n };\r\n\r\n fromDatePickerConfig: IDatePickerConfig = {\r\n min: this.getCurrentDate()\r\n }\r\n\r\n toDatePickerConfig: IDatePickerConfig = {\r\n }\r\n\r\n isSmiley!: boolean;\r\n smileyMessage: string = '';\r\n\r\n constructor(\r\n private createDashboardService: CreateDashboardService,\r\n private paginationService: PaginationService,\r\n private cdr: ChangeDetectorRef,\r\n private snackBar: SnackBarService,\r\n public popoverService: PopoverService,\r\n private configureWidgetsService: ConfigureWidgetsService,\r\n private textCount: TextCountPipe\r\n ) { }\r\n\r\n ngOnChanges() {\r\n if (this.createdBy) {\r\n this.listDetails.nonRemovableUsersList.push(this.createdBy);\r\n }\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\r\n this.close.emit({ mode: 'discard' });\r\n this.isSmiley = false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.getOrganizationUsersCount('');\r\n this.getCategoryList();\r\n this.getRCList();\r\n this.getComplianceCategoryList();\r\n this.setFrequency(\"2~1~0~0\", 'import');\r\n this.checkWhetherAllListsLoaded();\r\n this.getUsersList('');\r\n this.createDashboardService.getUserInformation().subscribe((res: any) => {\r\n this.setPermission(res?.roleActions);\r\n const quickLink = res.quick_link;\r\n if (quickLink.risk) {\r\n this.showRiskCategory = true;\r\n } else {\r\n this.showRiskCategory = false;\r\n }\r\n }, error => { console.log(error) });\r\n\r\n }\r\n\r\n /**\r\n * Displays the listing pages the left side of policy form to set and edit the dropdown fields values\r\n * @param type holds name of particular list is to be displayed\r\n * @param event contains boolean value to display the list or not\r\n */\r\n activateSelector(type: any, event: boolean) {\r\n if (type == 'frequency' || this.activeSelector == 'frequency') {\r\n this.showCriteria = false;\r\n setTimeout(() => {\r\n this.showCriteria = true;\r\n }, 1);\r\n }\r\n this.activeSelector = event ? type : '';\r\n }\r\n\r\n openFromDatePicker() {\r\n this.fromDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n\r\n openToDatePicker() {\r\n this.toDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n closeFromDatePicker() {\r\n if (!this.dashboardForm.selectedFromDate) {\r\n this.dashboardForm.selectedToDate = undefined;\r\n this.hideToDate = true;\r\n setTimeout(() => {\r\n this.hideToDate = false;\r\n }, 20);\r\n this.fromDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n return\r\n }\r\n let minToDate = this.setToDate(this.dashboardForm.selectedFromDate)\r\n this.toDatePickerConfig = { min: minToDate };\r\n\r\n const fromDate = new Date(minToDate.split('-').reverse().join('-'));\r\n const toDate = new Date(this.dashboardForm.selectedToDate)\r\n const inValidDate = (fromDate >= toDate) ? true : false;\r\n if (inValidDate) {\r\n this.dashboardForm.selectedToDate = undefined;\r\n this.hideToDate = true;\r\n setTimeout(() => {\r\n this.hideToDate = false;\r\n }, 20);\r\n }\r\n this.fromDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n closeToDatePicker() {\r\n this.toDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n animateImage() {\r\n const circleImage = document.getElementsByClassName('image')\r\n }\r\n\r\n saveFrequency(eventValues: any) {\r\n this.dashboardForm.selectedFrequencyType = eventValues.frequencyType;\r\n this.dashboardForm.selectedFrequencies = eventValues.frequencies;\r\n this.dashboardForm.frequencyMessage = eventValues.frequencyString;\r\n this.dashboardForm.frequencyDate = eventValues.selectedDate;\r\n this.activateSelector('', false)\r\n }\r\n\r\n getCurrentDate() {\r\n let today = new Date();\r\n return today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear();\r\n }\r\n setToDate(data: string) {\r\n let today = new Date(data);\r\n return today.getDate() + 1 + '-' + (today.getMonth() + 1) + '-' + today.getFullYear();\r\n }\r\n getFromDate(data: string) {\r\n let today = new Date(data);\r\n return today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear();\r\n }\r\n configureDashboard() {\r\n let fieldsStatus = this.validateDashboard();\r\n if (fieldsStatus) {\r\n if (this.mode == 'CREATE') {\r\n this.vLoader = true;\r\n const payload = {\r\n dashboard_name: this.dashboardForm.dashboardName,\r\n dashboard_id: ''\r\n }\r\n this.createDashboardService.checkDuplicateDashboardName(payload).subscribe(res => {\r\n if (!res) {\r\n this.vLoader = false;\r\n this.showRiskWidgets = (this.isManageRisk && this.showRiskCategory && (this.dashboardForm.selectedRiskCategories.length > 0 || this.dashboardForm.selectedResponsibilityCenters.length > 0)) ? true : false;\r\n this.showComplianceWidgets = (this.dashboardForm.selectedResponsibilityCategories.length > 0 || this.dashboardForm.selectedResponsibilityCenters.length > 0) ? true : false;\r\n this.openConfigureWidgets = true;\r\n } else {\r\n this.vLoader = false;\r\n this.snackBar.show('A dashboard with this name already exists. Specify a different name for the dashboard.');\r\n return;\r\n }\r\n }, error => {\r\n console.error(error)\r\n this.vLoader = false;\r\n });\r\n } else if (this.mode == 'EDIT') {\r\n this.vLoader = true;\r\n const payload = {\r\n dashboard_name: this.dashboardForm.dashboardName,\r\n dashboard_id: this.dashboardId\r\n }\r\n this.createDashboardService.checkDuplicateDashboardName(payload).subscribe(res => {\r\n if (!res) {\r\n this.vLoader = false;\r\n this.showRiskWidgets = (this.isManageRisk && this.showRiskCategory && (this.dashboardForm.selectedRiskCategories.length > 0 || this.dashboardForm.selectedResponsibilityCenters.length > 0)) ? true : false;\r\n this.showComplianceWidgets = (this.dashboardForm.selectedResponsibilityCategories.length > 0 || this.dashboardForm.selectedResponsibilityCenters.length > 0) ? true : false;\r\n this.openConfigureWidgets = true;\r\n } else {\r\n this.vLoader = false;\r\n this.snackBar.show('A dashboard with this name already exists. Specify a different name for the dashboard.');\r\n return;\r\n }\r\n }, error => {\r\n this.vLoader = false;\r\n console.error(error)\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Fetches organization users count api to get total number of pages\r\n * @param Url contains prams\r\n */\r\n getOrganizationUsersCount(Url: any) {\r\n this.createDashboardService.getOrganizationUsersCount(Url).subscribe(res => {\r\n this.totalList = res.total_members;\r\n if (res.total_members && res.limit_per_page > 1) {\r\n this.totalPages = res.create_page;\r\n } else {\r\n this.totalPages = 1;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Get users list by making api call and pre selects all admins by adding to viewers\r\n * @param url contains query params for organization users api\r\n */\r\n getUsersList(url: any) {\r\n this.createDashboardService.getAllUsers().subscribe((res: any) => {\r\n\r\n this.usersList = res;\r\n this.userListLoaded = true;\r\n\r\n if (this.mode === 'EDIT') {\r\n this.vLoader = true;\r\n } else {\r\n this.dashboardForm.selectedViewers = this.setList(this.usersList, [this.createdBy], 'member_id');\r\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\r\n this.vLoader = false;\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n getComplianceCategoryList() {\r\n this.createDashboardService.getComplianceCategoriesListFromGlobal().subscribe((res: any) => {\r\n const data = res;\r\n this.allComplianceCategories = Object.assign(res)\r\n // cloneDeep(res);\r\n data.forEach((element: any) => {\r\n if (element && element.compliance_type == 0) {\r\n this.responsibilityCategoriesTree.others.list.push(element);\r\n }\r\n if (element && element.compliance_type == 1) {\r\n this.responsibilityCategoriesTree.regulations.list.push(element);\r\n }\r\n if (element && element.compliance_type == 2) {\r\n this.responsibilityCategoriesTree.standards.list.push(element);\r\n }\r\n if (element && element.compliance_type == 3) {\r\n this.responsibilityCategoriesTree.internalControls.list.push(element);\r\n }\r\n });\r\n this.complianceCategoriesListLoaded = true;\r\n }, (err: any) => {\r\n console.error(err);\r\n this.complianceCategoriesListLoaded = true;\r\n });\r\n }\r\n\r\n\r\n saveSelectedCategory(event: any) {\r\n console.log(\"event==>>>\", event);\r\n }\r\n\r\n getCategoryList() {\r\n this.createDashboardService.getCategoryList().subscribe((res: any) => {\r\n this.riskCategoryList.strategic.list = res.strategic_arr;\r\n this.riskCategoryList.operational.list = res.operational_arr;\r\n this.riskCategoryList.compliance.list = res.compliance_arr;\r\n this.riskCategoryList.others.list = res.others_arr;\r\n this.riskCategoryListLoaded = true;\r\n this.allRiskCategories = [...new Set(this.allRiskCategories.concat(res.strategic_arr, res.operational_arr, res.compliance_arr, res.others_arr))]\r\n\r\n }, err => {\r\n console.error(err);\r\n this.riskCategoryListLoaded = true;\r\n\r\n });\r\n }\r\n\r\n /**\r\n * It is to ensure whether all required lists on Policy from is loaded from the api call or not\r\n */\r\n checkWhetherAllListsLoaded() {\r\n if (this.rcListLoaded && this.complianceCategoriesListLoaded && this.riskCategoryListLoaded && this.userListLoaded) {\r\n if (this.mode === 'EDIT') {\r\n this.editDashboard();\r\n } else {\r\n this.vLoader = false;\r\n }\r\n } else {\r\n setTimeout(() => {\r\n this.checkWhetherAllListsLoaded();\r\n }, 300);\r\n }\r\n }\r\n\r\n setSelectedWidgets(data: any) {\r\n if (this.mode === 'CREATE') {\r\n const widgetsArray: any = []\r\n data.forEach((element: any) => {\r\n let obj: any = {}\r\n obj.module_name = element.module;\r\n obj._id = '';\r\n obj.widget_name = element.title\r\n obj.widget_code = element.id;\r\n obj.sub_widgets = [];\r\n obj.state = 'ACTIVE'\r\n if (element.subWidgets.length > 0) {\r\n element.subWidgets.forEach((subWidget: any) => {\r\n let subWidgetObject: any = {}\r\n subWidgetObject._id = '';\r\n subWidgetObject.widget_name = subWidget.title\r\n subWidgetObject.widget_code = subWidget.id;\r\n subWidgetObject.state = (subWidget.value) ? 'ACTIVE' : 'INACTIVE'\r\n obj.sub_widgets.push(Object.assign(subWidgetObject))\r\n });\r\n }\r\n widgetsArray.push(obj)\r\n });\r\n\r\n this.dashboardForm.configureWidget = widgetsArray;\r\n } else if (this.mode === 'EDIT') {\r\n const widgetsArray: any = []\r\n\r\n data.forEach((element: any) => {\r\n if (!JSON.stringify(this.dashboardForm.configureWidget).includes(element.id)) {\r\n let obj: any = {}\r\n obj.module_name = element.module;\r\n obj._id = '';\r\n obj.widget_name = element.title\r\n obj.widget_code = element.id;\r\n obj.sub_widgets = [];\r\n obj.state = 'ACTIVE'\r\n if (element.subWidgets.length > 0) {\r\n element.subWidgets.forEach((subWidget: any) => {\r\n let subWidgetObject: any = {}\r\n subWidgetObject._id = '';\r\n subWidgetObject.widget_name = subWidget.title\r\n subWidgetObject.widget_code = subWidget.id;\r\n subWidgetObject.state = (subWidget.value) ? 'ACTIVE' : 'INACTIVE'\r\n obj.sub_widgets.push(subWidgetObject)\r\n });\r\n }\r\n this.dashboardForm.configureWidget.push(obj)\r\n } else {\r\n const index = this.selectedWidgets.findIndex((ele: any) => ele.widget_code == element.id)\r\n if (index != -1) {\r\n this.selectedWidgets[index].state = 'ACTIVE'\r\n if (this.selectedWidgets[index].sub_widgets.length > 0) {\r\n this.selectedWidgets[index].sub_widgets.forEach((subWidgetData: any) => {\r\n const elementIndex = element.subWidgets.findIndex((ele: any) => ele.id == subWidgetData.widget_code)\r\n if (elementIndex != -1) {\r\n subWidgetData.state = (element.subWidgets[elementIndex].value) ? 'ACTIVE' : 'INACTIVE'\r\n }\r\n });\r\n }\r\n }\r\n\r\n }\r\n });\r\n this.dashboardForm.configureWidget.forEach((savedWidget: any) => {\r\n const index = data.findIndex((dataElement: any) => dataElement.id == savedWidget.widget_code)\r\n if (index == -1) {\r\n savedWidget.state = 'INACTIVE';\r\n if (savedWidget.sub_widgets.length > 0) {\r\n savedWidget.sub_widgets.forEach((saveSubWidget: any) => {\r\n saveSubWidget.state = 'INACTIVE'\r\n });\r\n }\r\n }\r\n });\r\n\r\n }\r\n this.selectedWidgets = data\r\n this.openConfigureWidgets = false;\r\n this.submitDashboard();\r\n\r\n }\r\n\r\n closeConfigureWidgets(event: boolean) {\r\n this.openConfigureWidgets = event;\r\n }\r\n\r\n /**\r\n * Filter list user's list based on pagination by making api call\r\n * @param event specifies a boolean value to call api\r\n */\r\n paginationFilter(event: any) {\r\n if (event) {\r\n this.getUsersList({\r\n p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\r\n type: 'all_except_executive',\r\n q: (!this.paginationService.searchValue) ? '' : this.paginationService.searchValue,\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n getRCList() {\r\n this.createDashboardService.getResponsibilityCenterList().subscribe((res: any) => {\r\n this.responsibilityCentersList = res;\r\n this.rcListLoaded = true;\r\n\r\n }, (err: any) => {\r\n console.error(err);\r\n this.rcListLoaded = true;\r\n });\r\n }\r\n\r\n saveSelectedList(type: string, selectedItems: any) {\r\n switch (type) {\r\n case 'rc':\r\n this.dashboardForm.selectedResponsibilityCenters = this.setList(this.responsibilityCentersList, selectedItems, 'item_id');\r\n if(this.dashboardForm.selectedResponsibilityCenters.length==0){\r\n if (this.dashboardForm.selectedResponsibilityCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='COMPLIANCE')\r\n } else if (this.dashboardForm.selectedRiskCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='RISK')\r\n }\r\n }\r\n break;\r\n case 'whoCanView':\r\n this.dashboardForm.selectedViewers = selectedItems\r\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\r\n break;\r\n case 'responsibilityCategories':\r\n this.dashboardForm.selectedResponsibilityCategories = selectedItems;\r\n if(this.dashboardForm.selectedResponsibilityCenters.length==0){\r\n if (this.dashboardForm.selectedResponsibilityCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='COMPLIANCE')\r\n } else if (this.dashboardForm.selectedRiskCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='RISK')\r\n }\r\n }\r\n break;\r\n case 'riskCategory':\r\n this.dashboardForm.selectedRiskCategories = selectedItems;\r\n if(this.dashboardForm.selectedResponsibilityCenters.length==0){\r\n if (this.dashboardForm.selectedResponsibilityCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='COMPLIANCE')\r\n } else if (this.dashboardForm.selectedRiskCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='RISK')\r\n }\r\n }\r\n break;\r\n }\r\n this.activateSelector('', false);\r\n }\r\n\r\n remove(type: any, event: any, removeIndex?: any) {\r\n switch (type) {\r\n case 'rc':\r\n const rcIndex = this.dashboardForm.selectedResponsibilityCenters.findIndex((rc: any) => rc.rc_id == event.rc_id);\r\n if (rcIndex !== -1) {\r\n const parentRc: any = this.dashboardForm.selectedResponsibilityCenters[rcIndex];\r\n this.dashboardForm.selectedResponsibilityCenters.splice(rcIndex, 1);\r\n\r\n if (parentRc?.item_child_ids?.length > 0) {\r\n parentRc.item_child_ids.forEach((childElement: any) => {\r\n const removeIndex = this.dashboardForm.selectedResponsibilityCenters.findIndex((removeElement: any) => removeElement.rc_id == childElement);\r\n this.dashboardForm.selectedResponsibilityCenters.splice(removeIndex, 1);\r\n });\r\n }\r\n }\r\n if(this.dashboardForm.selectedResponsibilityCenters.length==0){\r\n if (this.dashboardForm.selectedResponsibilityCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='COMPLIANCE')\r\n } else if (this.dashboardForm.selectedRiskCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='RISK')\r\n }\r\n }\r\n break;\r\n\r\n case 'whoCanView':\r\n const reviewerIndex = this.dashboardForm.selectedViewers.findIndex((viewer: any) => viewer.member_id == event.member_id);\r\n this.dashboardForm.selectedViewers.splice(reviewerIndex, 1);\r\n break;\r\n\r\n case 'responsibilityCategories':\r\n const CCcategoryIndex = this.dashboardForm.selectedResponsibilityCategories.findIndex((CCcategory: any) => CCcategory.category_id == event.category_id);\r\n this.dashboardForm.selectedResponsibilityCategories.splice(CCcategoryIndex, 1);\r\n if(this.dashboardForm.selectedResponsibilityCenters.length==0){\r\n if (this.dashboardForm.selectedResponsibilityCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='COMPLIANCE')\r\n } else if (this.dashboardForm.selectedRiskCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='RISK')\r\n }\r\n }\r\n break;\r\n\r\n case 'riskCategory':\r\n const riskCategoryIndex = this.dashboardForm.selectedRiskCategories.findIndex((riskCategory: any) => riskCategory.category_id == event.category_id);\r\n if (riskCategoryIndex !== -1) {\r\n const parent: any = this.dashboardForm.selectedRiskCategories[riskCategoryIndex];\r\n this.dashboardForm.selectedRiskCategories.splice(riskCategoryIndex, 1);\r\n if (parent?.child_cat_ids?.length > 0) {\r\n parent.child_cat_ids.forEach((childElement: any) => {\r\n const removeIndex = this.dashboardForm.selectedRiskCategories.findIndex((removeElement: any) => removeElement.category_id == childElement);\r\n this.dashboardForm.selectedRiskCategories.splice(removeIndex, 1);\r\n });\r\n }\r\n }\r\n this.dashboardForm.selectedRiskCategories.splice(riskCategoryIndex, 1);\r\n if(this.dashboardForm.selectedResponsibilityCenters.length==0){\r\n if (this.dashboardForm.selectedResponsibilityCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='COMPLIANCE')\r\n } else if (this.dashboardForm.selectedRiskCategories.length==0){\r\n this.selectedWidgets = this.selectedWidgets.filter((element:any)=>element.module_name!='RISK')\r\n }\r\n }\r\n break;\r\n\r\n }\r\n }\r\n\r\n setList(list: any[], ids: any[], key: string) {\r\n const data: any = [];\r\n\r\n ids.forEach((element: any) => {\r\n const index = list.findIndex((listElement: any) => listElement[key] == element);\r\n if (index !== -1) {\r\n data.push(list[index]);\r\n }\r\n });\r\n return data;\r\n }\r\n submitted = false\r\n\r\n /**\r\n * Returns id's from a particular list elements\r\n * @param list actual selected list\r\n * @param key contains key to extract id from the list\r\n */\r\n returnIds(list: any[], key: string) {\r\n return list?.map(ele => { if (ele[key]) { return ele[key]; } });\r\n }\r\n\r\n /**\r\n * Validates the data submitted on create dashboard form\r\n */\r\n validateDashboard() {\r\n setTimeout(() => {\r\n this.submitted = true;\r\n\r\n }, 100);\r\n const event = this.dashboardForm.dashboardName;\r\n const re = /&nbsp;|<br>/g;\r\n this.dashboardForm.dashboardName = event.replace(re, '').trim();\r\n const description = this.dashboardForm.dashboardDescriptionText;\r\n this.dashboardForm.dashboardDescriptionText = description.replace(re, '').trim();\r\n if (!this.dashboardForm.dashboardName || this.dashboardForm.dashboardName.trim() == ''\r\n || (this.dashboardForm.dashboardName.length > 30)\r\n || (this.textCount.transform(this.dashboardForm?.dashboardDescriptionText) > 250)\r\n || (this.dashboardForm.selectedFromDate && (!this.dashboardForm.selectedToDate))\r\n || (this.dashboardForm.selectedResponsibilityCenters.length == 0 &&\r\n this.dashboardForm.selectedResponsibilityCategories.length == 0 &&\r\n this.dashboardForm.selectedRiskCategories.length == 0)) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n /**\r\n * Makes an api call to create a policy\r\n * @param dashboard contains dashboardForm data\r\n */\r\n submitDashboard() {\r\n\r\n this.submitted = false;\r\n const valid = this.validateDashboard();\r\n if (!valid) {\r\n return false;\r\n }\r\n this.vLoader = true;\r\n const dashboard = this.dashboardForm;\r\n const payload: any = {\r\n dashboard_name: dashboard.dashboardName,\r\n description: [\r\n {\r\n content: dashboard.dashboardDescriptionText,\r\n attachments: []\r\n }\r\n ],\r\n visible_to_users: this.returnIds(dashboard.selectedViewers, 'member_id'),\r\n responsibility_center: this.returnIds(dashboard.selectedResponsibilityCenters, 'item_id'),\r\n responsibility_category: this.returnIds(dashboard.selectedResponsibilityCategories, 'category_id'),\r\n risk_category: this.returnIds(dashboard.selectedRiskCategories, 'category_id'),\r\n display_criteria: (dashboard.displayCriteria === 'and') ? 'BOTH_RC_AND_CATEGORY' : 'RC_OR_CATEGORY',\r\n timeframe: {\r\n start_date: (dashboard.selectedFromDate) ? dayjs(dashboard.selectedFromDate).format('YYYY-MM-DD') : '',\r\n end_date: (dashboard.selectedToDate) ? dayjs(dashboard.selectedToDate).format('YYYY-MM-DD') : '',\r\n\r\n },\r\n email_summary: this.setFrequency('', 'export'), //setFormat\r\n widget_details: dashboard.configureWidget\r\n\r\n }\r\n if (this.mode == 'CREATE') {\r\n this.createDashboardService.submitDashboard(payload).subscribe((res: any) => {\r\n this.vLoader = false;\r\n // this.snackBar.show('The dashboard has been created.');\r\n this.isSmiley = true;\r\n this.smileyMessage = 'The dashboard has been created.'\r\n setTimeout(() => {\r\n this.isSmiley = false;\r\n this.close.emit({ mode: 'created', id: res._id });\r\n }, 3000);\r\n\r\n },\r\n err => {\r\n if (err.status === 409) {\r\n this.snackBar.show('A dashboard with this name already exists. Specify a different name for the dashboard.');\r\n this.vLoader = false;\r\n } else {\r\n console.error(err);\r\n this.vLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n\r\n\r\n }\r\n );\r\n }\r\n if (this.mode === 'EDIT') {\r\n payload.widget_update_flag = true\r\n this.createDashboardService.updateDashboard(this.dashboardId, payload).subscribe({\r\n next: (res: any) => {\r\n this.vLoader = false;\r\n // this.snackBar.show('The dashboard has been updated');\r\n this.isSmiley = true;\r\n this.smileyMessage = 'The dashboard has been updated';\r\n setTimeout(() => {\r\n this.isSmiley = false;\r\n this.close.emit({ mode: 'updated' });\r\n }, 3000);\r\n\r\n },\r\n error: (error: any) => {\r\n console.error(error);\r\n this.vLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n });\r\n\r\n\r\n }\r\n }\r\n\r\n editDashboard() {\r\n if (this.dashboardId) {\r\n this.createDashboardService.fetchDashboard(this.dashboardId).subscribe((res: any) => {\r\n const data = res;\r\n this.listDetails.nonRemovableUsersList = [res.created_by]\r\n this.populateDashboardForm(data);\r\n }, error => {\r\n console.error(error);\r\n });\r\n }\r\n }\r\n\r\n populateDashboardForm(data: any) {\r\n this.dashboardForm.dashboardName = data.dashboard_name,\r\n this.dashboardForm.dashboardDescriptionText = data.description[0].content,\r\n this.dashboardForm.selectedViewers = this.setList(this.usersList, data.visible_to_users, 'member_id');\r\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\r\n this.dashboardForm.selectedResponsibilityCenters = this.setList(this.responsibilityCentersList, data.responsibility_center, 'item_id');\r\n this.dashboardForm.selectedResponsibilityCategories = this.setList(this.allComplianceCategories, data.responsibility_category, 'category_id');\r\n this.dashboardForm.selectedRiskCategories = this.setList(this.allRiskCategories, data.risk_category, 'category_id');\r\n this.dashboardForm.displayCriteria = (data.display_criteria === \"BOTH_RC_AND_CATEGORY\") ? 'and' : 'or';\r\n this.dashboardForm.selectedFromDate = (data?.timeframe?.start_date) ? dayjs(data?.timeframe?.start_date)?.toDate() : undefined;\r\n this.dashboardForm.selectedToDate = (data?.timeframe?.end_date) ? dayjs(data?.timeframe?.end_date)?.toDate() : undefined;\r\n this.vLoader = false;\r\n this.dashboardForm.configureWidget = data.widget_details\r\n this.selectedWidgets = data.widget_details.length > 0 ? [...new Set(data.widget_details)] : [];\r\n this.displayedWidgets = data.all_widgets.length > 0 ? [...new Set(data.all_widgets)] : [];\r\n this.setFrequency(data?.email_summary, 'import');\r\n let minToDate = this.setToDate(data?.timeframe?.start_date);\r\n this.toDatePickerConfig = { min: minToDate };\r\n this.hideToDate = true;\r\n setTimeout(() => {\r\n this.hideToDate = false;\r\n }, 20);\r\n\r\n }\r\n\r\n setFrequency(event: any, mode: any) {\r\n if (mode === 'export') {\r\n switch (this.dashboardForm.selectedFrequencyType) {\r\n case 'weekly':\r\n const weeklyValueData = this.dashboardForm?.selectedFrequencies?.map((ele: any) => Number(ele) + 1);\r\n const weeklyValue = weeklyValueData?.join();\r\n return '2~' + weeklyValue + '~0~0'\r\n case 'monthly':\r\n const monthlyValueData = this.dashboardForm?.selectedFrequencies?.map((ele: any) => Number(ele) + 1);\r\n const monthlyValue = monthlyValueData?.join();\r\n return '3~' + this.dashboardForm?.frequencyDate + '~' + monthlyValue + '~0'\r\n case 'quarterly':\r\n const quarterlyValueData = Number(this.dashboardForm.selectedFrequencies) + 1;\r\n return '7~' + this.dashboardForm.frequencyDate + '~' + quarterlyValueData + '~0'\r\n\r\n }\r\n }\r\n if (mode === 'import') {\r\n const val = event.split('~')\r\n switch (val[0]) {\r\n case '2': {\r\n let stringVal = \"Every \";\r\n this.dashboardForm.selectedFrequencyType = 'weekly'\r\n this.dashboardForm.selectedFrequencies = val[1]?.split(',')?.map((element: any) => Number(element) - 1);\r\n this.dashboardForm.selectedFrequencies?.forEach((dayIndex: any, index: any) => {\r\n stringVal += index === 0 ? this.dayNames[dayIndex] : ', ' + this.dayNames[dayIndex];\r\n })\r\n this.dashboardForm.frequencyMessage = stringVal;\r\n }\r\n\r\n break\r\n case '3': {\r\n let stringVal = \"every \";\r\n this.dashboardForm.selectedFrequencyType = 'monthly'\r\n this.dashboardForm.frequencyDate = val[1]\r\n this.dashboardForm.selectedFrequencies = val[2]?.split(',')?.map((element: any) => Number(element) - 1);\r\n this.dashboardForm.selectedFrequencies.forEach((monthIndex: any, index: any) => {\r\n stringVal += index === 0 ? this.monthNames[monthIndex] : ', ' + this.monthNames[monthIndex];\r\n })\r\n let monthDateName;\r\n if (this.dashboardForm.frequencyDate == \"1\") {\r\n monthDateName = '1st'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"2\") {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"3\") {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.dashboardForm.frequencyDate + 'th'\r\n }\r\n this.dashboardForm.frequencyMessage = monthDateName + ' of ' + stringVal;\r\n }\r\n break\r\n case '7': {\r\n let stringVal = \"every \";\r\n this.dashboardForm.selectedFrequencyType = 'quarterly'\r\n this.dashboardForm.frequencyDate = val[1];\r\n this.dashboardForm.selectedFrequencies = Number(val[2].split(',')[0]) - 1;\r\n stringVal += this.quarters[this.dashboardForm.selectedFrequencies];\r\n let monthDateName;\r\n if (this.dashboardForm.frequencyDate == \"1\") {\r\n monthDateName = '1st'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"2\") {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"3\") {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.dashboardForm.frequencyDate + 'th'\r\n }\r\n this.dashboardForm.frequencyMessage = monthDateName + ' of ' + stringVal;\r\n }\r\n break\r\n\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n //your code to update the model\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setPermission(roleActions: any){\r\n let ifExistRisk = roleActions?.find((el:any)=> el.moduleName == \"risk\");\r\n ifExistRisk?.subModule?.forEach( (module: any) => {\r\n module?.permissions?.forEach( (permission: any) => {\r\n switch(permission?.code) {\r\n case 'RRMR': {\r\n if(permission?.defaultPermission==1 || permission?.enable==1) {\r\n this.isManageRisk = true;\r\n };\r\n break;\r\n }\r\n }\r\n })\r\n })\r\n }\r\n}\r\n","import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild, QueryList, ContentChildren } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { nanoid } from 'nanoid';\r\n// import { CsOptionComponent } from '../cs-option/cs-option.component';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'cs-select',\r\n templateUrl: './cs-select.component.html',\r\n styleUrls: ['./cs-select.component.less'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CsSelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CsSelectComponent implements OnInit {\r\n @Input() dropdownLabel!: string;\r\n @Input() dropdownSubLabel!: string;\r\n @Input() isRequired!: string;\r\n @Input() placeholder!: string;\r\n\r\n // @ContentChildren(CsOptionComponent) op !: QueryList<CsOptionComponent>;\r\n\r\n dropdownToggle!: boolean;\r\n positionReset!: boolean;\r\n getLeft!: number;\r\n getTop!: number;\r\n getWidth!: number;\r\n maxWidth!: number;\r\n\r\n valuePlaceholder!: string;\r\n private optionList!: ElementRef;\r\n\r\n @ViewChild('optionList') set content(content: ElementRef) {\r\n if (content) {\r\n // initially setter gets called with undefined\r\n this.optionList = content;\r\n }\r\n }\r\n name!: string;\r\n val!: string;\r\n showOptions!: boolean;\r\n constructor() {\r\n this.name = nanoid();\r\n this.valuePlaceholder = '';\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n set RadioVal(val: any) {\r\n if (val !== undefined && val !== null && this.val !== val) {\r\n this.val = val;\r\n console.log('VALUE', this.val);\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.RadioVal = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n openDropdown(event: any): void {\r\n this.dropdownToggle = true;\r\n setTimeout(() => {\r\n const dropdown = event.target.getBoundingClientRect();\r\n const selectOption = this.optionList.nativeElement.offsetHeight;\r\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\r\n this.getTop = dropdown.top - selectOption;\r\n } else {\r\n this.getTop = dropdown.top + dropdown.height;\r\n }\r\n this.getLeft = dropdown.left;\r\n this.getWidth = dropdown.width;\r\n this.maxWidth = dropdown.width * 1.25;\r\n this.showOptions = true;\r\n }, 10);\r\n }\r\n closeDropdown(): void {\r\n this.dropdownToggle = false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CsSelectService {\r\n color: any;\r\n constructor() {\r\n }\r\n}\r\n","import { Component, ElementRef, Input, OnInit, ViewChild, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CsSelectService } from '../../services/cs-select.service';\r\nimport { CsSelectComponent } from '../cs-select/cs-select.component';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'cs-option',\r\n templateUrl: './cs-option.component.html',\r\n styleUrls: ['./cs-option.component.less'],\r\n})\r\nexport class CsOptionComponent implements OnInit {\r\n @Input() value!: string;\r\n @ViewChild('options') option!: ElementRef;\r\n @Input() color!: any;\r\n constructor(public csSelect: CsSelectComponent, public colorSelector: CsSelectService) {\r\n this.value = '';\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n change(event: any): void {\r\n if (this.option) {\r\n setTimeout(() => {\r\n this.csSelect.valuePlaceholder = this.option.nativeElement.innerHTML;\r\n this.colorSelector.color = this.color;\r\n console.log(this.color);\r\n }, 1);\r\n }\r\n this.csSelect.writeValue(this.value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHtml'\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitizer:DomSanitizer){}\r\n transform(html: any) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CsSelectComponent } from './cs-select/cs-select.component';\r\nimport { CsOptionComponent } from './cs-option/cs-option.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SafeHtmlPipe } from './safe-html.pipe';\r\n\r\n@NgModule({\r\n declarations: [CsSelectComponent, CsOptionComponent, SafeHtmlPipe],\r\n imports: [FormsModule, CommonModule],\r\n exports: [CsSelectComponent, CsOptionComponent],\r\n})\r\nexport class SelectModule {}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { CreateDashboardService } from '../services/create-dashboard.service';\r\nimport { PaginationService } from '../services/pagination.service';\r\nimport { UserListConfiguration } from './user-list.config';\r\n\r\n@Component({\r\n selector: 'app-user-list',\r\n templateUrl: './user-list.component.html',\r\n styleUrls: ['./user-list.component.less']\r\n})\r\nexport class UserListComponent implements OnInit {\r\n @Output() closeUserList = new EventEmitter();\r\n @Output() saveSelectedUsers = new EventEmitter();\r\n @Input() selectionType = '';\r\n @Input() listDetails: UserListConfiguration = {\r\n displayElementKey: '',\r\n elementIdKey: '',\r\n tooltipKey: '',\r\n selectedUsersList: [],\r\n nonRemovableUsersList: []\r\n };\r\n\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList: [],\r\n displayElementKey: '',\r\n elementId: '',\r\n singularText: 'User selected',\r\n pluralText: 'Users selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n vLoader = false;\r\n\r\n @Input() totalPages = 1;\r\n @Input() limit = 1;\r\n @Input() totalList = 1;\r\n\r\n searchList = [];\r\n searchValue = '';\r\n searchFilter = '';\r\n selectedIds: any[] = [];\r\n selectedList: any[] = [];\r\n\r\n\r\n animation = true;\r\n constructor(\r\n private paginationService: PaginationService,\r\n private dashboardService: CreateDashboardService\r\n ) { }\r\n\r\n ngOnChanges() {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n if (this.listDetails.selectedUsersList.length > 0) {\r\n this.selectedList = [...new Set(this.listDetails.selectedUsersList)];\r\n const selectedData = [...new Set(this.listDetails.selectedUsersList)];\r\n this.footerDetails.selectedData = selectedData;\r\n this.footerDetails.nonRemovableList = this.listDetails.nonRemovableUsersList;\r\n this.selectedIds = selectedData.map((ele: any) => {\r\n if (ele[this.listDetails.elementIdKey]) { return ele[this.listDetails.elementIdKey]; }\r\n });\r\n\r\n }\r\n this.getUsersList({\r\n p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\r\n type: '',\r\n });\r\n this.footerDetails.displayElementKey = this.listDetails.displayElementKey;\r\n this.footerDetails.elementId = this.listDetails.elementIdKey;\r\n\r\n\r\n }\r\n\r\n cancelChanges() {\r\n\r\n }\r\n removeElement(event: any) {\r\n\r\n }\r\n submitChanges() {\r\n\r\n }\r\n selectAll(event: any) {\r\n if (event) {\r\n this.searchList.forEach(searchElement => {\r\n\r\n if (!this.selectedIds.includes(searchElement[this.listDetails.elementIdKey])) {\r\n this.selectedList.push(searchElement);\r\n this.selectedIds.push(searchElement[this.listDetails.elementIdKey]);\r\n this.footerDetails.selectedData = this.selectedList;\r\n }\r\n });\r\n\r\n } else {\r\n this.searchList.forEach(searchElement => {\r\n if (!this.listDetails.nonRemovableUsersList.includes(searchElement[this.listDetails.elementIdKey])) {\r\n const index = this.selectedList.findIndex(ele => ele[this.listDetails.elementIdKey] ===\r\n searchElement[this.listDetails.elementIdKey]);\r\n this.selectedList.splice(index, 1);\r\n const filteredList = [...this.selectedList];\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n const idIndex = this.selectedIds.findIndex(ele => ele === searchElement[this.listDetails.elementIdKey]);\r\n this.selectedIds.splice(idIndex, 1);\r\n }\r\n });\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Selects all admins and managers at once by making api call.\r\n * @param event consists boolean value to select of unselect.\r\n */\r\n selectAllUsers(event: any) {\r\n if (event) {\r\n this.vLoader = true;\r\n this.dashboardService.getAllUsers().subscribe((res: any) => {\r\n\r\n if(res.length>1){\r\n res.forEach((searchElement:any) => {\r\n \r\n if (!this.selectedIds.includes(searchElement[this.listDetails.elementIdKey])) {\r\n this.selectedList.push(searchElement);\r\n this.selectedIds.push(searchElement[this.listDetails.elementIdKey]);\r\n this.footerDetails.selectedData = this.selectedList;\r\n }\r\n });\r\n }\r\n this.vLoader = false;\r\n });\r\n\r\n } else {\r\n\r\n\r\n\r\n const selectedData = [...new Set(this.selectedList)];\r\n const index = selectedData.findIndex(ele => ele[this.listDetails.elementIdKey] === this.listDetails.nonRemovableUsersList[0]);\r\n if (index != -1) {\r\n const owner = Object.assign(selectedData[index]);\r\n\r\n this.selectedList = [];\r\n this.selectedIds = [];\r\n this.footerDetails.selectedData = [];\r\n\r\n this.selectedList.push(owner);\r\n this.selectedIds.push(owner.member_id);\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n } else {\r\n this.selectedList = [];\r\n this.selectedIds = [];\r\n this.footerDetails.selectedData = [];\r\n }\r\n }\r\n }\r\n\r\n/**\r\n * Selects checked item from the list.\r\n * In case of user's list calculates number of admins/manages to set visibility(either to all admins/ admins and managers)\r\n * @param data is the selected element\r\n */\r\nselectElement(data: any) {\r\n if (this.selectedIds.includes(data[this.listDetails.elementIdKey])) {\r\n if (!this.listDetails.nonRemovableUsersList.includes(data[this.listDetails.elementIdKey])) {\r\n const index = this.selectedList.findIndex(ele => ele[this.listDetails.elementIdKey] === data[this.listDetails.elementIdKey]);\r\n this.selectedList.splice(index, 1);\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n const idIndex = this.selectedIds.findIndex(ele => ele === data[this.listDetails.elementIdKey]);\r\n\r\n this.selectedIds.splice(idIndex, 1);\r\n }\r\n\r\n } else {\r\n this.selectedList.push(data);\r\n this.selectedIds.push(data[this.listDetails.elementIdKey]);\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n }\r\n}\r\n\r\n/**\r\n * It is used to set and search value incase of backend driven list to differentiate search list and original list\r\n */\r\nsetSearchValue() {\r\n this.paginationService.searchValue = this.searchValue;\r\n this.paginationFilter(true);\r\n\r\n}\r\n\r\n/**\r\n* it is used check select all condition incase of backend driven search\r\n*/\r\ncheckSelectAll() {\r\n if (this.searchList.length > 0) {\r\n const data: boolean = this.searchList.every(ele => this.selectedIds.includes(ele[this.listDetails.elementIdKey]));\r\n return data;\r\n } else {\r\n return false;\r\n\r\n }\r\n\r\n}\r\n/**\r\n * Filter list user's list based on pagination by making api call\r\n * @param event specifies a boolean value to call api\r\n */\r\npaginationFilter(event: any) {\r\n // this.paginationFilterEvent.emit(event);\r\n if (event) {\r\n this.vLoader = true;\r\n this.getUsersList({\r\n p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\r\n type: '',\r\n q: (!this.paginationService.searchValue) ? '' : this.paginationService.searchValue,\r\n });\r\n\r\n }\r\n}\r\n/**\r\n * Gets user's list by making api call\r\n * @param url contains userlist filter details\r\n */\r\ngetUsersList(url: any) {\r\n this.vLoader = true;\r\n\r\n this.dashboardService.getOrganizationUsers(url ? url : '').subscribe(res => {\r\n\r\n this.searchList = res;\r\n this.vLoader = false;\r\n\r\n\r\n });\r\n\r\n}\r\n/**\r\n * on click on next button from the list, it emits the selected list of elements to parent component.\r\n */\r\nonSubmit() {\r\n const data = [...new Set(this.selectedList)];\r\n this.saveSelectedUsers.emit(data);\r\n this.paginationService.reset();\r\n}\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\n\r\n@Component({\r\n selector: 'app-responsibility-center',\r\n templateUrl: './responsibility-center.component.html',\r\n styleUrls: ['./responsibility-center.component.less']\r\n})\r\nexport class ResponsibilityCenterComponent implements OnInit, OnChanges {\r\n @Output() saveSelectedList = new EventEmitter();\r\n @Output() closeRcList = new EventEmitter();\r\n @Input() responsibilityCentersList = [];\r\n @Input() selectedResponsibilityCenters = [];\r\n @Input() rcIdKey = '';\r\n @Input() radioSelection = false;\r\n\r\n\r\n selectedIds: any[] = [];\r\n animation = false;\r\n search = '';\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: 'item_name',\r\n elementId: 'item_id',\r\n singularText: 'Responsibility Center selected',\r\n pluralText: 'Responsibility Centers selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n constructor() { }\r\n\r\n ngOnChanges(): void {\r\n this.footerDetails.selectedData = this.selectedResponsibilityCenters;\r\n this.selectedIds = this.selectedResponsibilityCenters.map((ele: any) => { if (ele[this.rcIdKey]) { return ele[this.rcIdKey]; } });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n }\r\n\r\n selectRc(rc: any, mode: any) {\r\n if (this.radioSelection) {\r\n if (mode) {\r\n this.selectedIds = [];\r\n this.selectedIds.push(rc);\r\n }\r\n this.setList();\r\n } else {\r\n if (mode) {\r\n this.selectedIds.push(rc);\r\n const rcElement = this.responsibilityCentersList.findIndex((ele: any) => ele.item_id == rc);\r\n if (rcElement !== -1) {\r\n const parentRc: any = this.responsibilityCentersList[rcElement];\r\n if (parentRc?.item_child_ids?.length > 0) {\r\n parentRc.item_child_ids.forEach((childElement: any) => {\r\n if(!this.selectedIds.includes(childElement)){\r\n this.selectedIds.push(childElement);\r\n }\r\n });\r\n }\r\n }\r\n\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == rc);\r\n this.selectedIds.splice(index, 1);\r\n const rcElement = this.responsibilityCentersList.findIndex((ele: any) => ele.item_id == rc);\r\n if (rcElement !== -1) {\r\n const parentRc: any = this.responsibilityCentersList[rcElement];\r\n if (parentRc?.item_child_ids?.length > 0) {\r\n parentRc.item_child_ids.forEach((childElement: any) => {\r\n const removeIndex = this.selectedIds.findIndex((removeElement: any) => removeElement == childElement);\r\n this.selectedIds.splice(removeIndex, 1);\r\n });\r\n }\r\n }\r\n\r\n }\r\n this.setList();\r\n }\r\n\r\n\r\n }\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.rcIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any) {\r\n if (mode) {\r\n const list = [...this.responsibilityCentersList];\r\n this.selectedIds = [];\r\n list.forEach(element => {\r\n this.selectedIds.push(element[this.rcIdKey]);\r\n });\r\n } else {\r\n this.selectedIds = [];\r\n }\r\n this.setList();\r\n }\r\n\r\n\r\n setList() {\r\n const data: any = [];\r\n const rcList = [...new Set(this.responsibilityCentersList)]\r\n // cloneDeep(this.responsibilityCentersList);\r\n const selectedIds = [...new Set(this.selectedIds)]\r\n // cloneDeep(this.selectedIds);\r\n rcList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.rcIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedResponsibilityCenters = data;\r\n this.footerDetails.selectedData = this.selectedResponsibilityCenters;\r\n }\r\n\r\n checkSelectAll() {\r\n const data = this.responsibilityCentersList.every((rc: any) => this.selectedIds.includes(rc[this.rcIdKey]));\r\n return data;\r\n }\r\n\r\n save() {\r\n this.saveSelectedList.emit(this.selectedIds);\r\n }\r\n\r\n closeResponsibilityCenterList() {\r\n this.closeRcList.emit();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { CategoriesConfig } from './categories-config';\r\n\r\n@Component({\r\n selector: 'app-categories',\r\n templateUrl: './categories.component.html',\r\n styleUrls: ['./categories.component.less']\r\n})\r\nexport class CategoriesComponent implements OnInit {\r\n\r\n\r\n @Input() categoryList: CategoriesConfig = {\r\n regulations: {\r\n list: [],\r\n selectedList: []\r\n },\r\n standards: {\r\n list: [],\r\n selectedList: []\r\n },\r\n internalControls: {\r\n list: [],\r\n selectedList: []\r\n },\r\n others: {\r\n list: [],\r\n selectedList: []\r\n }\r\n };\r\n @Input() allCategories: any[] = [];\r\n\r\n @Input() categoryIdKey: any;\r\n @Input() selectedCategories: any[] = [];\r\n\r\n search = '';\r\n activeTab: \"standards\" | \"regulations\" | \"internalControls\" | \"others\"=\"regulations\";\r\n selectedIds: any[] = [];\r\n animation = false;\r\n blockWidth: any;\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: 'item_name',\r\n elementId: 'item_id',\r\n singularText: 'Program selected',\r\n pluralText: 'Programs selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n\r\n @Output() saveSelectedCategory = new EventEmitter();\r\n @Output() closeList = new EventEmitter();\r\n @Output() closeCategoriesList = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.selectedIds = [];\r\n if (this.selectedCategories) {\r\n this.selectedCategories.forEach(element => {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n });\r\n }\r\n this.setList()\r\n\r\n\r\n }\r\n\r\n selectCategory(mode: any, activeTab: any, category: any) {\r\n if (mode) {\r\n this.selectedIds.push(category[this.categoryIdKey]);\r\n const rcElement = this.allCategories.findIndex((ele: any) => ele.category_id == category[this.categoryIdKey]);\r\n if (rcElement !== -1) {\r\n const parentRc: any = this.allCategories[rcElement];\r\n if (parentRc?.child_cat_ids?.length > 0) {\r\n parentRc.child_cat_ids.forEach((childElement: any) => {\r\n if(!this.selectedIds.includes(childElement)){\r\n this.selectedIds.push(childElement);\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == category[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n const rcElement = this.allCategories.findIndex((ele: any) => ele.category_id == category[this.categoryIdKey]);\r\n if (rcElement !== -1) {\r\n const parentRc: any = this.allCategories[rcElement];\r\n if (parentRc?.child_cat_ids?.length > 0) {\r\n parentRc.child_cat_ids.forEach((childElement: any) => {\r\n const removeIndex = this.selectedIds.findIndex((removeElement: any) => removeElement == childElement);\r\n this.selectedIds.splice(removeIndex, 1);\r\n });\r\n }\r\n }\r\n }\r\n this.setList();\r\n\r\n }\r\n\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any, activeTab: \"standards\" | \"regulations\" | \"internalControls\" | \"others\") {\r\n\r\n if (mode) {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (!this.selectedIds.includes(element[this.categoryIdKey])) {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n }\r\n }); \r\n } else {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (this.selectedIds.includes(element[this.categoryIdKey])) {\r\n let idIndex = this.selectedIds.findIndex((id: any) => id == element[this.categoryIdKey]);\r\n this.selectedIds.splice(idIndex, 1);\r\n }\r\n });\r\n }\r\n this.setList();\r\n }\r\n\r\n setList() {\r\n const data: any = [];\r\n const categoryList = [...new Set(this.allCategories)] \r\n // cloneDeep(this.allCategories)\r\n const selectedIds =[...new Set(this.selectedIds)] \r\n // cloneDeep(this.selectedIds);\r\n this.categoryList.regulations.selectedList = [];\r\n this.categoryList.standards.selectedList = [];\r\n this.categoryList.internalControls.selectedList = [];\r\n this.categoryList.others.selectedList = [];\r\n\r\n categoryList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.categoryIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedCategories = data;\r\n this.footerDetails.selectedData = data;\r\n\r\n this.categoryList.regulations.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.regulations.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.standards.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.standards.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.internalControls.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.internalControls.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.others.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.others.selectedList.push(category)\r\n }\r\n });\r\n if (!this.activeTab) {\r\n this.setActiveTab();\r\n }\r\n }\r\n setActiveTab() {\r\n if (this.categoryList.regulations.selectedList.length > 0) {\r\n this.activeTab = 'regulations'\r\n } else if (this.categoryList.standards.selectedList.length > 0) {\r\n this.activeTab = 'standards'\r\n } else if (this.categoryList.internalControls.selectedList.length > 0) {\r\n this.activeTab = 'internalControls'\r\n } else if (this.categoryList.others.selectedList.length > 0) {\r\n this.activeTab = 'others'\r\n } else {\r\n this.activeTab = 'regulations'\r\n }\r\n }\r\n\r\n\r\n checkSelectAll(activeTab: \"standards\" | \"regulations\" | \"internalControls\" | \"others\") {\r\n const data = this.categoryList[activeTab].list.every((user: any) => this.selectedIds.includes(user[this.categoryIdKey]));\r\n return data;\r\n }\r\n\r\n save() {\r\n this.saveSelectedCategory.emit(this.selectedCategories);\r\n }\r\n\r\n close() {\r\n this.closeCategoriesList.emit();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { SnackBarService } from '../../ui-kit/snack-bar/snack-bar.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-frequency',\r\n templateUrl: './frequency.component.html',\r\n styleUrls: ['./frequency.component.less']\r\n})\r\nexport class FrequencyComponent implements OnInit,OnChanges {\r\n @Input() savedFrequencyTab: string | undefined;\r\n monthlyDate = 1;\r\n quarterlyDate = 1;\r\n @Input() savedFrequencies: any;\r\n @Input() selectedDate: any;\r\n frequencyTab = 'weekly';\r\n showFrequency = true;\r\n dayNames = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\r\n monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n quarters = ['January, April, July, October', 'February, May, August, November', 'March, June, September, December'];\r\n selectedDays: any[] = [0];\r\n selectedMonths: any[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n selectedQuarter = 0;\r\n @Output() closeFrequencyPopup = new EventEmitter<string>();\r\n @Output() saveFrequency = new EventEmitter<any>();\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: '',\r\n elementId: '',\r\n singularText: '',\r\n pluralText: '',\r\n showFrequency: true,\r\n frequencyText: 'You have selected a <strong>' + this.frequencyTab + '</strong> frequency.',\r\n isDisabled: false\r\n\r\n };\r\n showRadio = true;\r\n constructor(private snackBar:SnackBarService) { }\r\n ngOnChanges(){\r\n this.savedFrequencies = [...new Set(this.savedFrequencies)]\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.savedFrequencyTab) {\r\n this.changeTab(this.savedFrequencyTab);\r\n }\r\n if (this.selectedDate) {\r\n switch (this.savedFrequencyTab) {\r\n case 'weekly':\r\n this.selectedDays = [...new Set(this.savedFrequencies)]\r\n break;\r\n case 'monthly':\r\n this.monthlyDate = this.selectedDate;\r\n this.selectedMonths = [...new Set(this.savedFrequencies)]\r\n\r\n break;\r\n case 'quarterly':\r\n this.showRadio = false;\r\n setTimeout(() => {\r\n this.showRadio = true\r\n }, 100);\r\n this.quarterlyDate = this.selectedDate\r\n this.selectedQuarter = this.savedFrequencies;\r\n\r\n break;\r\n\r\n }\r\n }\r\n\r\n }\r\n closeFrequency() {\r\n this.closeFrequencyPopup.emit();\r\n }\r\n daySelectionChange(event: any, index: any) {\r\n if (event) { //checkbox was selected\r\n this.selectedDays.push(index);\r\n } else {\r\n let unselectedElementIndex = this.selectedDays.indexOf(index);\r\n this.selectedDays.splice(unselectedElementIndex, 1);\r\n }\r\n this.checkFrequencyValidity();\r\n }\r\n monthSelectionChange(event: any, index: any) {\r\n if (event) {\r\n this.selectedMonths.push(index);\r\n } else {\r\n let unselectedElementIndex = this.selectedMonths.indexOf(index);\r\n this.selectedMonths.splice(unselectedElementIndex, 1);\r\n }\r\n this.checkDateValidity(this.monthlyDate,'monthly')\r\n this.checkFrequencyValidity();\r\n }\r\n\r\n quarterSelectionChange(event: any, index: any) {\r\n this.selectedQuarter = index;\r\n this.checkDateValidity(this.quarterlyDate,'quarterly');\r\n this.checkFrequencyValidity();\r\n }\r\n\r\n changeTab(tabValue: string) {\r\n this.frequencyTab = tabValue;\r\n this.footerDetails.frequencyText = 'You have selected a <strong>' + this.frequencyTab + '</strong> frequency.';\r\n this.footerDetails.isDisabled = false;\r\n this.setToDefaultValues()\r\n if (this.frequencyTab === this.savedFrequencyTab) {\r\n switch (this.frequencyTab) {\r\n case 'weekly': {\r\n this.selectedDays = [...this.savedFrequencies];\r\n this.monthlyDate = 1;\r\n this.quarterlyDate = 1;\r\n break;\r\n }\r\n case 'monthly': {\r\n this.selectedMonths = [...this.savedFrequencies];\r\n this.monthlyDate = this.selectedDate;\r\n this.quarterlyDate = 1;\r\n this.checkDateValidity(this.monthlyDate,'monthly')\r\n break;\r\n }\r\n case 'quarterly': {\r\n this.selectedQuarter = this.savedFrequencies;\r\n this.quarterlyDate = this.selectedDate;\r\n this.monthlyDate = 1;\r\n this.checkDateValidity(this.quarterlyDate,'quarterly')\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n setToDefaultValues() {\r\n this.selectedDays = [0];\r\n this.selectedMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n this.selectedQuarter = 0;\r\n }\r\n\r\n submitFrequency() {\r\n let stringVal = \"Every \";\r\n let frequencies;\r\n let selectedDate = 1;\r\n switch (this.frequencyTab) {\r\n case 'weekly': {\r\n if (this.selectedDays.length > 0) {\r\n this.selectedDays.sort();\r\n frequencies = this.selectedDays;\r\n this.selectedDays.forEach((dayIndex, index) => {\r\n stringVal += index === 0 ? this.dayNames[dayIndex] : ', ' + this.dayNames[dayIndex];\r\n })\r\n } else {\r\n // nothing was selected\r\n this.closeFrequency();\r\n }\r\n break;\r\n }\r\n case 'monthly': {\r\n stringVal = \" of every \";\r\n if (this.selectedMonths.length > 0) {\r\n frequencies = this.selectedMonths;\r\n this.monthNames.forEach((monthNames: string, monthIndex: number) => {\r\n if (this.selectedMonths.includes(monthIndex)) {\r\n stringVal += monthIndex === 0 ? monthNames : ', ' + monthNames;\r\n\r\n }\r\n })\r\n let monthDateName;\r\n if (this.monthlyDate == 1) {\r\n monthDateName = '1st'\r\n }\r\n else if (this.monthlyDate == 2) {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.monthlyDate == 3) {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.monthlyDate + 'th'\r\n }\r\n stringVal = monthDateName + stringVal;\r\n selectedDate = this.monthlyDate;\r\n } else {\r\n // nothing was selected\r\n this.closeFrequency();\r\n }\r\n break;\r\n }\r\n case 'quarterly': {\r\n stringVal = \" of every \";\r\n\r\n if (this.selectedQuarter >= 0) {\r\n frequencies = this.selectedQuarter;\r\n stringVal += this.quarters[this.selectedQuarter];\r\n selectedDate = this.quarterlyDate;\r\n let monthDateName;\r\n if (this.quarterlyDate == 1) {\r\n monthDateName = '1st'\r\n }\r\n else if (this.quarterlyDate == 2) {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.quarterlyDate == 3) {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.quarterlyDate + 'th'\r\n }\r\n stringVal = monthDateName + stringVal;\r\n selectedDate = this.quarterlyDate;\r\n } else {\r\n // nothing was selected\r\n this.closeFrequency();\r\n }\r\n break;\r\n }\r\n }\r\n this.saveFrequency.emit({\r\n frequencyString: stringVal,\r\n frequencyType: this.frequencyTab,\r\n frequencies: frequencies,\r\n selectedDate\r\n })\r\n }\r\n \r\n checkDateValidity(date:number, type:string){\r\n if(date>31 || date<1){\r\n this.snackBar.show('Select valid date.');\r\n this.footerDetails.isDisabled = true;\r\n return\r\n }else{\r\n this.footerDetails.isDisabled = false;\r\n }\r\n const monthList=[{name:'January',maxDays:31,value:0},{name:'February',maxDays:28,value:1},{name:'March',maxDays:31,value:2},\r\n {name:'April',maxDays:30,value:3},{name:'May',maxDays:31,value:4},{name:'June',maxDays:30,value:5},\r\n {name:'July',maxDays:31,value:6},{name:'August',maxDays:31,value:7},{name:'September',maxDays:30,value:8},\r\n {name:'October',maxDays:31,value:9},{name:'November',maxDays:30,value:10},{name:'December',maxDays:31,value:11}]\r\n switch (type) {\r\n case 'monthly':\r\n if(this.selectedMonths.length==1){\r\n const index = monthList.findIndex((ele:any)=>ele.value==this.selectedMonths[0]);\r\n if(date<=monthList[index].maxDays){\r\n this.footerDetails.isDisabled = false;\r\n \r\n }else{\r\n this.snackBar.show('Select valid date.');\r\n this.footerDetails.isDisabled = true; \r\n }\r\n }else if(this.selectedMonths.length==0){\r\n this.footerDetails.isDisabled = true; \r\n }else{\r\n this.footerDetails.isDisabled = false;\r\n }\r\n\r\n break;\r\n default:\r\n this.footerDetails.isDisabled = false;\r\n return true;\r\n break;\r\n\r\n }\r\n\r\n}\r\n\r\ncheckFrequencyValidity(){\r\n switch (this.frequencyTab) {\r\n case 'weekly': {\r\n if (this.selectedDays.length > 0) {\r\n this.footerDetails.isDisabled = false;\r\n\r\n } else {\r\n this.footerDetails.isDisabled = true;\r\n }\r\n break;\r\n }\r\n case 'monthly': {\r\n \r\n if (this.selectedMonths.length > 0) {\r\n this.footerDetails.isDisabled = false;\r\n \r\n } else {\r\n this.footerDetails.isDisabled = true;\r\n }\r\n break;\r\n }\r\n case 'quarterly': {\r\n\r\n if (this.selectedQuarter >= 0){\r\n this.footerDetails.isDisabled = false;\r\n \r\n } else {\r\n this.footerDetails.isDisabled = true;\r\n }\r\n break;\r\n }\r\n } \r\n}\r\n\r\n}\r\n","import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';\r\nimport { PaginationService } from '../../create-dashboard-container/services/pagination.service';\r\n\r\n@Component({\r\n selector: 'app-pagination',\r\n templateUrl: './pagination.component.html',\r\n styleUrls: ['./pagination.component.less']\r\n})\r\n/**\r\n * Adds place holder for Pagination on the lists\r\n */\r\nexport class PaginationComponent implements OnInit, OnChanges {\r\n start = 1;\r\n totalCount!: number;\r\n paginationArray: any[] = [];\r\n currentPage!: number;\r\n @Input() totalPages = 1;\r\n @Input() limit = 1;\r\n @Input() totalList = 1;\r\n @Output() paginationFilter = new EventEmitter();\r\n\r\n constructor(private paginationService: PaginationService) {\r\n }\r\n ngOnChanges() {\r\n this.currentPage = Number(this.paginationService.currentPage);\r\n this.start = Number(this.paginationService.currentPage);\r\n this.rebuildPagination(this.currentPage, this.totalPages);\r\n }\r\n\r\n ngOnInit() {\r\n this.currentPage = Number(this.paginationService.currentPage);\r\n this.start = Number(this.paginationService.currentPage);\r\n this.rebuildPagination(this.currentPage, this.totalPages);\r\n this.paginationService.currentValues.subscribe(event => {\r\n if (event && (this.paginationService.currentPage !== this.currentPage)) {\r\n this.currentPage = this.paginationService.currentPage;\r\n }\r\n });\r\n }\r\n\r\n /* In this function we will recreate the pagination structure as per current page and\r\n total number of pages */\r\n\r\n rebuildPagination(currentPage: number, totalCount: number) {\r\n this.paginationArray = [];\r\n this.totalCount = totalCount;\r\n this.currentPage = currentPage;\r\n if (this.paginationService.currentPage !== this.currentPage) {\r\n this.paginationService.currentPage = this.currentPage;\r\n this.paginationFilter.emit(true);\r\n }\r\n\r\n // If there are only 6 pages or less in total, just display all pages without \"...\"\r\n if (totalCount <= 6) {\r\n for (let i = 1; i <= totalCount; i++) {\r\n this.paginationArray.push(i);\r\n }\r\n }\r\n // ELSE display with ...\r\n else {\r\n\r\n // Always print first page button\r\n this.paginationArray.push(1);\r\n\r\n // Print \"...\" if currentPage is > 3\r\n if (currentPage > 3) {\r\n // this.paginationArray.push(2);\r\n this.paginationArray.push('...');\r\n\r\n }\r\n // special case where last page is selected...\r\n // Without this special case, only 2 buttons would be shown after ... if you were on last page\r\n if (currentPage === totalCount) {\r\n this.paginationArray.push(currentPage - 2);\r\n }\r\n\r\n // Print previous number button if currentPage > 2\r\n if (currentPage > 2) {\r\n this.paginationArray.push(currentPage - 1);\r\n }\r\n\r\n // Print current page number button as long as it not the first or last page\r\n if (currentPage !== 1 && currentPage !== totalCount) {\r\n this.paginationArray.push(currentPage);\r\n\r\n }\r\n\r\n // print next page number button if currentPage < lastPage - 1\r\n if (currentPage < totalCount - 1) {\r\n this.paginationArray.push(currentPage + 1);\r\n\r\n }\r\n\r\n // special case where first page is selected...\r\n // Without this special case, only 2 buttons would be shown before ... if you were on first page\r\n if (currentPage === 1) {\r\n this.paginationArray.push(currentPage + 2);\r\n\r\n }\r\n\r\n // print \"...\" if currentPage is < lastPage -2\r\n if (currentPage < totalCount - 2) {\r\n this.paginationArray.push('...');\r\n\r\n // HTML += \"...\";\r\n }\r\n\r\n // Always print last page button if there is more than 1 page\r\n if (totalCount > 1) {\r\n this.paginationArray.push(totalCount);\r\n\r\n }\r\n }\r\n\r\n }\r\n/* In this function we will set current page according to the action performed on browser\r\n ex: prev next buttons clicks or selecting a particular page */\r\n\r\n changePage(prev: string, page: number, next: string) {\r\n if (prev) {\r\n if (this.start > 1) {\r\n this.start--;\r\n // We have changed the start page, total rebuild the pagination\r\n this.rebuildPagination(this.start, this.totalCount);\r\n }\r\n }\r\n if (next) {\r\n if (this.start < this.totalCount) {\r\n this.start++;\r\n this.rebuildPagination(this.start, this.totalCount);\r\n }\r\n }\r\n if (page) {\r\n this.start = page;\r\n this.rebuildPagination(this.start, this.totalCount);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PaginationComponent } from './pagination.component';\r\n\r\n@NgModule({\r\n declarations: [PaginationComponent],\r\n imports: [CommonModule],\r\n exports: [PaginationComponent],\r\n})\r\nexport class PaginationModule {}","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-checkbox',\r\n templateUrl: './cs-checkbox.component.html',\r\n styleUrls: ['./cs-checkbox.component.less'],\r\n})\r\nexport class CsCheckboxComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() ngValue: any;\r\n @Input() value: any;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n valueChanged() {\r\n this.ngValueChange.emit(this.ngValue);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-radio',\r\n templateUrl: './cs-radio.component.html',\r\n styleUrls: ['./cs-radio.component.less'],\r\n})\r\nexport class CsRadioComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() readonly!: boolean;\r\n @Input() name!: string;\r\n @Input() checked!: boolean;\r\n @Input() value: any;\r\n @Output() checkedEvent = new EventEmitter();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n changeState(evt: any) {\r\n this.checkedEvent.emit(evt);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-switch',\r\n templateUrl: './cs-switch.component.html',\r\n styleUrls: ['./cs-switch.component.less'],\r\n})\r\nexport class CsSwitchComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() ngValue: any;\r\n @Input() value: any;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n @Input() tooltipMessage: any;\r\n @Input() position: any;\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n // console.log(this.value);\r\n }\r\n valueChanged() {\r\n this.ngValueChange.emit(this.ngValue);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-radio-group',\r\n templateUrl: './cs-radio-group.component.html',\r\n styleUrls: ['./cs-radio-group.component.less'],\r\n})\r\nexport class CsRadioGroupComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-select',\r\n templateUrl: './cs-select.component.html',\r\n styleUrls: ['./cs-select.component.less'],\r\n})\r\nexport class CsSelectComponent implements OnChanges {\r\n @Input() dataList!: any[];\r\n @Input() dropdownLabel!: string;\r\n @Input() displayProperty!: string;\r\n @Input() selectedValue!: string;\r\n @Input() isRequired!: boolean;\r\n @Input() dropdownSubLabel!: string;\r\n @Input() disabled!: boolean;\r\n @ViewChild('option') option!: ElementRef;\r\n\r\n @Output() selectedData = new EventEmitter();\r\n @Output() selectedValueChange = new EventEmitter();\r\n @Input() placeholder: any;\r\n @Input() stylex: any;\r\n @Input() valueKey: any;\r\n @Input() multipleSelect: any;\r\n @Input() colorProperty!: string;\r\n\r\n @Input() colorSelected!: string;\r\n colorCode!: string;\r\n\r\n dropdownOption = false;\r\n positionReset!: boolean;\r\n getLeft!: number;\r\n getTop!: number;\r\n getWidth!: number;\r\n maxWidth!: number;\r\n activeDoropdown = false;\r\n\r\n private optionList!: ElementRef;\r\n\r\n @ViewChild('optionList') set content(content: ElementRef) {\r\n if (content) {\r\n // initially setter gets called with undefined\r\n this.optionList = content;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.selectedValue) {\r\n this.selectedValue = this.selectedValue || '--';\r\n }\r\n }\r\n\r\n openDropdown(event: any): void {\r\n this.dropdownOption = true;\r\n setTimeout(() => {\r\n const dropdown = event.target.getBoundingClientRect();\r\n const selectOption = this.optionList.nativeElement.offsetHeight;\r\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\r\n this.getTop = dropdown.top - selectOption;\r\n } else {\r\n this.getTop = dropdown.top + dropdown.height;\r\n }\r\n this.getLeft = dropdown.left;\r\n this.getWidth = dropdown.width;\r\n this.maxWidth = dropdown.width * 1.25;\r\n }, 10);\r\n setTimeout(() => {\r\n this.activeDoropdown = true;\r\n }, 100);\r\n }\r\n selectOption(selectedData: any) {\r\n if (typeof selectedData === 'object') {\r\n this.selectedValue = selectedData[this.displayProperty];\r\n this.colorSelected = selectedData[this.colorProperty];\r\n } else {\r\n this.selectedValue = selectedData;\r\n }\r\n this.selectedData.emit(selectedData);\r\n this.dropdownOption = false;\r\n }\r\n closeDropdown() {\r\n this.dropdownOption = false;\r\n }\r\n}\r\n","import { Directive, Input, ElementRef, HostListener, Renderer2, OnInit, AfterViewInit, ViewChild } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[arTooltip]',\r\n})\r\nexport class ToolTipDirective implements OnInit {\r\n @Input('arTooltip') tooltipTitle!: string;\r\n @Input() placement!: string;\r\n @Input() type: any;\r\n @Input() tooltipMandatory!: boolean;\r\n @Input() showTooltip = true;\r\n @Input() animate!: boolean;\r\n tooltip!: HTMLElement;\r\n offset = 8;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n ngOnInit() {}\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.hide();\r\n this.show();\r\n }\r\n @HostListener('mouseover') onMouseOver() {\r\n this.hide();\r\n this.show();\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.hide();\r\n }\r\n @HostListener('mouseout') onMouseOut() {\r\n this.hide();\r\n }\r\n @HostListener('click') onClick() {\r\n this.hide();\r\n }\r\n show() {\r\n if (!this.showTooltip) {\r\n return;\r\n }\r\n this.create();\r\n const element = this.el.nativeElement;\r\n if (this.tooltipMandatory === true) {\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n } else {\r\n if (element.scrollWidth * element.scrollHeight > element.offsetWidth * element.offsetHeight) {\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n }\r\n }\r\n }\r\n\r\n hide() {\r\n if (document.body.contains(this.tooltip)) {\r\n if (this.renderer) {\r\n this.renderer.removeChild(document.body, document.getElementById('tooltip'));\r\n }\r\n }\r\n }\r\n\r\n create() {\r\n this.tooltip = this.renderer.createElement('span');\r\n this.tooltip.setAttribute('id', 'tooltip');\r\n this.tooltip.innerHTML = this.tooltipTitle;\r\n this.renderer.appendChild(document.body, this.tooltip);\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip');\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-${this.placement}`);\r\n this.renderer.addClass(this.tooltip, `${this.type}`);\r\n if (this.animate) {\r\n this.renderer.addClass(this.tooltip, `animate-${this.placement}`);\r\n }\r\n }\r\n\r\n setPosition() {\r\n const hostPos = this.el.nativeElement.getBoundingClientRect();\r\n const tooltipPos = this.tooltip.getBoundingClientRect();\r\n const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n const w = window.innerWidth;\r\n const h = window.innerHeight;\r\n let top;\r\n let left;\r\n if (this.placement === 'top') {\r\n top = hostPos.top - tooltipPos.height - this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (this.placement === 'bottom') {\r\n if (hostPos.top + tooltipPos.height > h) {\r\n top = hostPos.top - tooltipPos.height;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom`);\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-top`);\r\n } else {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n }\r\n\r\n if (this.placement === 'left') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.left - tooltipPos.width - this.offset;\r\n }\r\n\r\n if (this.placement === 'right') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.right + this.offset;\r\n }\r\n if (this.placement === 'bottom-right') {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left - (tooltipPos.width - 28);\r\n }\r\n if (this.placement === 'bottom-left') {\r\n if (hostPos.top + tooltipPos.height > h - 30) {\r\n top = hostPos.top - tooltipPos.height;\r\n console.log('bottom left', hostPos.top - tooltipPos.height);\r\n left = hostPos.left;\r\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom-left`);\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-top-left`);\r\n } else {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left;\r\n }\r\n }\r\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\r\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ToolTipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n declarations: [ToolTipDirective],\r\n imports: [CommonModule],\r\n exports: [ToolTipDirective],\r\n})\r\nexport class TooltipModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'pascal',\r\n})\r\nexport class PascalPipe implements PipeTransform {\r\n transform(value: string, ...args: unknown[]): unknown {\r\n if (typeof value !== 'string') {\r\n return value;\r\n }\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'searchMultiSelect',\r\n})\r\nexport class SearchMultiSelectPipe implements PipeTransform {\r\n transform(value: any[], key: string, searchKey: string): any[] {\r\n if (searchKey && searchKey.length > 0) {\r\n searchKey = searchKey.toLowerCase();\r\n return value.filter((item) => {\r\n if (item[key].toLowerCase().includes(searchKey)) {\r\n return item;\r\n }\r\n });\r\n }\r\n return value;\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[clickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n constructor(private elementRef: ElementRef) {}\r\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostListener('document:click', ['$event.target']) onMouseEnter(targetElement: any) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.clickOutside.emit(null);\r\n }\r\n }\r\n}\r\n","import { FormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CsCheckboxComponent } from './cs-checkbox/cs-checkbox.component';\r\nimport { CsRadioComponent } from './cs-radio/cs-radio.component';\r\nimport { CsSwitchComponent } from './cs-switch/cs-switch.component';\r\nimport { CsRadioGroupComponent } from './cs-radio-group/cs-radio-group.component';\r\nimport { CsSelectComponent } from './cs-select/cs-select.component';\r\nimport { TooltipModule } from '../tooltip/tooltip.module';\r\nimport { PascalPipe } from './pipes/pascal.pipe';\r\nimport { SearchMultiSelectPipe } from './pipes/searchMultiSelect.pipe';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n CsCheckboxComponent,\r\n CsRadioComponent,\r\n CsSwitchComponent,\r\n CsRadioGroupComponent,\r\n CsSelectComponent,\r\n PascalPipe,\r\n SearchMultiSelectPipe,\r\n ClickOutsideDirective,\r\n ],\r\n imports: [CommonModule, FormsModule, TooltipModule],\r\n exports: [\r\n CsCheckboxComponent,\r\n CsRadioComponent,\r\n CsSwitchComponent,\r\n CsRadioGroupComponent,\r\n CsSelectComponent,\r\n SearchMultiSelectPipe,\r\n ],\r\n})\r\nexport class FormgroupModule {}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../dashboard-footer-config';\r\n\r\n@Component({\r\n selector: 'app-dashboard-footer',\r\n templateUrl: './dashboard-footer.component.html',\r\n styleUrls: ['./dashboard-footer.component.less']\r\n})\r\nexport class DashboardFooterComponent implements OnInit {\r\n @Output() cancelEvent = new EventEmitter();\r\n @Output() submitEvent = new EventEmitter();\r\n @Output() deleteEvent = new EventEmitter();\r\n @Input() footerDetails:DashboardFooterConfig={\r\n selectedData : [],\r\n nonRemovableList:[],\r\n displayElementKey: '',\r\n elementId: '',\r\n singularText: '',\r\n pluralText:'',\r\n showFrequency:false,\r\n frequencyText:'',\r\n isDisabled :false\r\n\r\n };\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n cancelFloatingBar() {\r\n this.cancelEvent.emit();\r\n }\r\n submitFloatingBar() {\r\n this.submitEvent.emit(this.footerDetails.selectedData);\r\n }\r\n\r\n deleteSelected(element: any) {\r\n this.deleteEvent.emit(element);\r\n }\r\n\r\n\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Component({\r\n selector: 'app-popover',\r\n templateUrl: './popover.component.html',\r\n styleUrls: ['./popover.component.less'],\r\n})\r\nexport class PopoverComponent implements OnInit {\r\n @Input() dontCloseonClick = false;\r\n popoverContainer = false;\r\n @ViewChild('popoverRatio') popoverRatio!: ElementRef;\r\n @ViewChild('popoverContent') popoverContent!: ElementRef;\r\n @Output() closedOnOverlay = new EventEmitter();\r\n constructor(public popoverService: PopoverService) {}\r\n showPopover = false;\r\n leftValue: any;\r\n topValue: any;\r\n popoverHeight: any;\r\n popoverWidth: any;\r\n positionX!: number;\r\n positionY!: number;\r\n ngOnInit(): void {}\r\n popover() {\r\n this.popoverContainer = false;\r\n this.popoverContainer = true;\r\n setTimeout(() => {\r\n this.getPosition();\r\n this.showPopover = true;\r\n this.popoverService.stopScroll = true;\r\n // document.body.style.overflow = 'hidden';\r\n }, 10);\r\n return false;\r\n }\r\n popoverEvent() {\r\n this.popoverContainer = false;\r\n this.popoverContainer = true;\r\n setTimeout(() => {\r\n // this.getPosition();\r\n this.positionX = this.popoverService.positionX;\r\n this.positionY = this.popoverService.positionY;\r\n this.showPopover = true;\r\n this.popoverService.stopScroll = true;\r\n\r\n }, 10);\r\n return false;\r\n }\r\n closePopover(top?: string) {\r\n if (!this.dontCloseonClick || top === 'top') {\r\n this.popoverContainer = false;\r\n this.showPopover = false;\r\n this.popoverService.stopScroll = false;\r\n // document.body.style.overflow = 'auto';\r\n }\r\n }\r\n\r\n close(){\r\n this.popoverContainer = false;\r\n this.showPopover = false;\r\n this.popoverService.stopScroll = false;\r\n }\r\n\r\n clickedPopover() {\r\n this.getPosition();\r\n }\r\n getPosition() {\r\n // setTimeout(() => {\r\n const elementPositionn = this.popoverService.elementPosition;\r\n this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;\r\n this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;\r\n if (this.popoverService.elementDirection === 'left') {\r\n this.leftValue = elementPositionn.left;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'right') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverWidth;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'top') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'bottom') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'self-position') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - 15;\r\n }\r\n if (this.popoverService.elementDirection === 'top-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n // this.topValue = elementPositionn.top - this.popoverHeight;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight) {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n this.positionX = this.leftValue;\r\n this.positionY = this.topValue;\r\n // }, 10);\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Directive({\r\n selector: '[appPopover]',\r\n})\r\nexport class PopoverDirective {\r\n dynamicComponent: any;\r\n @Input() refrence: any;\r\n @Input() placement!: string;\r\n leftValue: any;\r\n topValue: any;\r\n constructor(private elRef: ElementRef, private popoverService: PopoverService) {}\r\n @HostListener('click') click() {\r\n this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n this.popoverService.elementDirection = this.placement;\r\n // this.getPosition();\r\n }\r\n\r\n getPosition() {\r\n setTimeout(() => {\r\n // this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n const elementPositionn = this.elRef.nativeElement.getBoundingClientRect();\r\n if (this.placement === 'left') {\r\n this.leftValue = elementPositionn.left;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'right') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverService.popoverWidth;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'top') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n }\r\n }\r\n if (this.placement === 'bottom') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'self-position') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - 15;\r\n }\r\n if (this.placement === 'top-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n }\r\n if (this.placement === 'bottom-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top + this.popoverService.popoverHeight;\r\n }\r\n this.popoverService.positionX = this.leftValue;\r\n this.popoverService.positionY = this.topValue;\r\n }, 10);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverComponent } from './popover.component';\r\nimport { PopoverDirective } from './popover.directive';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@NgModule({\r\n declarations: [PopoverComponent, PopoverDirective],\r\n imports: [CommonModule],\r\n exports: [PopoverComponent, PopoverDirective],\r\n providers: [PopoverService],\r\n})\r\nexport class PopoverModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DashboardFooterComponent } from './dashboard-footer/dashboard-footer.component';\r\nimport { PopoverModule } from '../popover/popover.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n DashboardFooterComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PopoverModule\r\n ],\r\n exports:[\r\n DashboardFooterComponent\r\n ]\r\n})\r\nexport class DashboardFooterModule { }\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appInsertion]',\r\n})\r\nexport class InsertionDirective {\r\n constructor(public viewContainerRef: ViewContainerRef) {}\r\n}\r\n","import { Observable, Subject } from 'rxjs';\r\n\r\nexport class DialogRef {\r\n private readonly afterDialogClosed = new Subject<any>();\r\n afterClosed: Observable<any> = this.afterDialogClosed.asObservable();\r\n constructor() {}\r\n\r\n close(result?: any) {\r\n this.afterDialogClosed.next(result);\r\n document.body.style.overflow = 'auto';\r\n }\r\n}\r\n","export class DialogConfig<D = any> {\r\n data?: D;\r\n position?: any;\r\n background?: any;\r\n pointer?: any;\r\n}\r\n","import { Component, Type, ComponentFactoryResolver, ViewChild, OnDestroy, ComponentRef, AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { Subject } from 'rxjs';\r\nimport { DialogRef } from './dialog-ref';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { NavigationEnd, NavigationError, NavigationStart, Router, ROUTER_CONFIGURATION } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.css'],\r\n})\r\nexport class DialogComponent implements AfterViewInit, OnDestroy, OnInit {\r\n componentRef!: ComponentRef<any>;\r\n position: any;\r\n background: any;\r\n pointer: any;\r\n @ViewChild(InsertionDirective, { static: true })\r\n insertionPoint!: InsertionDirective;\r\n animation = true;\r\n\r\n private readonly onDialogClose = new Subject<any>();\r\n public onClose = this.onDialogClose.asObservable();\r\n\r\n childComponentType!: Type<any>;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private cd: ChangeDetectorRef,\r\n private dialogRef: DialogRef,\r\n public config: DialogConfig,\r\n private router: Router\r\n ) {\r\n // this.componentRef = this.componentRef;\r\n // this.animate = this.animate;\r\n // this.insertionPoint = this.insertionPoint;\r\n // this.childComponentType = this.childComponentType;\r\n }\r\n ngOnInit() {\r\n this.position = this.config.position;\r\n this.background = this.config.background;\r\n document.body.style.overflow = 'hidden';\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 200);\r\n this.routeAction();\r\n }\r\n\r\n routeAction() {\r\n this.router.events.subscribe((event: any) => {\r\n if (event instanceof NavigationStart) {\r\n // Show loading indicator\r\n }\r\n if (event instanceof NavigationEnd) {\r\n // Hide loading indicator\r\n this.dialogRef.close();\r\n }\r\n if (event instanceof NavigationError) {\r\n // Hide loading indicator\r\n // Present error to user\r\n }\r\n });\r\n }\r\n ngAfterViewInit() {\r\n this.loadChildComponent(this.childComponentType);\r\n this.cd.detectChanges();\r\n }\r\n\r\n onOverlayClicked(evt: MouseEvent) {\r\n // this.dialogRef.close();\r\n }\r\n\r\n onDialogClicked(evt: MouseEvent) {\r\n evt.stopPropagation();\r\n }\r\n\r\n loadChildComponent(componentType: Type<any>) {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n\r\n const viewContainerRef = this.insertionPoint.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n this.componentRef = viewContainerRef.createComponent(componentFactory);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.componentRef) {\r\n this.componentRef.destroy();\r\n }\r\n }\r\n\r\n close(data?: any) {\r\n this.onDialogClose.next(data);\r\n document.body.style.overflow = 'auto';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { DialogRef } from './dialog-ref';\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [DialogComponent, InsertionDirective],\r\n entryComponents: [DialogComponent],\r\n providers: [DialogRef],\r\n})\r\nexport class DialogModule {}\r\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\r\n\r\nexport class DialogInjector implements Injector {\r\n constructor(private parentDialogInjector: Injector, private dialogAdditionalTokens: WeakMap<any, any>) {}\r\n\r\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T, flags?: InjectFlags): T;\r\n // get(token: any, notFoundValue?: any){return; }\r\n get(token: any, notFoundValue?: any, flags?: any) {\r\n const value = this.dialogAdditionalTokens.get(token);\r\n if (value) {\r\n return value;\r\n }\r\n return this.parentDialogInjector.get<any>(token, notFoundValue);\r\n }\r\n}\r\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\r\nimport { DialogModule } from './dialog.module';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { DialogInjector } from './dialog-injector';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { DialogRef } from './dialog-ref';\r\n\r\n@Injectable({\r\n providedIn: DialogModule,\r\n})\r\nexport class DialogService {\r\n dialogComponentRef!: ComponentRef<DialogComponent>;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\r\n\r\n public open(componentType: Type<any>, config: DialogConfig) {\r\n const dialogRef = this.appendDialogComponentToBody(config);\r\n\r\n this.dialogComponentRef.instance.childComponentType = componentType;\r\n\r\n return dialogRef;\r\n }\r\n\r\n private appendDialogComponentToBody(config: DialogConfig) {\r\n const map = new WeakMap();\r\n map.set(DialogConfig, config);\r\n\r\n const dialogRef = new DialogRef();\r\n map.set(DialogRef, dialogRef);\r\n\r\n const sub = dialogRef.afterClosed.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n sub.unsubscribe();\r\n });\r\n\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\r\n const componentRef = componentFactory.create(new DialogInjector(this.injector, map));\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n\r\n this.dialogComponentRef = componentRef;\r\n\r\n this.dialogComponentRef.instance.onClose.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n });\r\n\r\n return dialogRef;\r\n }\r\n\r\n private removeDialogComponentFromBody() {\r\n this.appRef.detachView(this.dialogComponentRef.hostView);\r\n this.dialogComponentRef.destroy();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { DatePickerComponent, IDatePickerConfig } from 'ng2-date-picker';\r\nimport { DialogService } from '../../ui-kit/dialog/dialog.service';\r\nimport { EditorConfig } from 'vcomply-editor';\r\n// import { ConfigureWidgetsComponent } from '../../configure-widgets/configure-widgets/configure-widgets.component';\r\n\r\n@Component({\r\n selector: 'app-form-group',\r\n templateUrl: './form-group.component.html',\r\n styleUrls: ['./form-group.component.less']\r\n})\r\nexport class FormGroupComponent implements OnInit {\r\n @Output() openCategoryList = new EventEmitter<string>();\r\n @Output() openResponsibilityCenterList = new EventEmitter<string>();\r\n @Output() openWhoCanViewThis = new EventEmitter<string>();\r\n @Output() closeCreateDashboard = new EventEmitter<string>();\r\n @Output() openFrequency = new EventEmitter<string>();\r\n @Input() disabled!: boolean;\r\n\r\n @ViewChild('fromDatePicker') fromDatePicker!: DatePickerComponent;\r\n @ViewChild('toDatePicker') toDatePicker!: DatePickerComponent;\r\n datePickerOverlay = false;\r\n selectedFromDate!: any;\r\n selectedToDate!: any;\r\n dashboardName!: any;\r\n dashboardDescriptionText!: any;\r\n fieldEmptyErrorMessage: string = 'Enter a value for this input box.';\r\n fieldLimitExceededErrorMessage: string = 'You have exceeded the maximum character limit of XYZ characters.';\r\n dashboardNameNotUniqueErrorMessage: string = 'A dashboard with this name already exists. Specify a different name for the dashboard.';\r\n dashboardNameError! : string;\r\n dashboardDescriptionError! : string;\r\n displayCriteria! : string;\r\n\r\n constructor(private dialog: DialogService) { }\r\n \r\n dashboardDescription: EditorConfig = {\r\n placeholder: 'Description (Max limit: 250 characters)',\r\n mode: 'prime',\r\n id: 'description'\r\n }\r\n\r\n fromDatePickerConfig : IDatePickerConfig = {\r\n min: this.getCurrentDate()\r\n }\r\n\r\n toDatePickerConfig : IDatePickerConfig = {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openFromDatePicker() {\r\n this.fromDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n\r\n openToDatePicker() {\r\n this.toDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n\r\n closeFromDatePicker() {\r\n let minToDate = this.selectedFromDate.clone().add(1, 'days');\r\n this.toDatePickerConfig = {min : minToDate, minTime : minToDate};\r\n\r\n if(this.selectedToDate && minToDate.diff(this.selectedToDate) > 0) {\r\n this.selectedToDate = undefined;\r\n }\r\n\r\n this.fromDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n closeToDatePicker() {\r\n this.toDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n animateImage() {\r\n const circleImage = document.getElementsByClassName('image')\r\n console.log(circleImage);\r\n }\r\n\r\n selectWhoCanViewThis() {\r\n this.openWhoCanViewThis.emit();\r\n }\r\n\r\n selectResponsibilityCenter() {\r\n this.openResponsibilityCenterList.emit();\r\n }\r\n\r\n selectCategories() {\r\n this.openCategoryList.emit();\r\n }\r\n\r\n selectFrequency() {\r\n this.openFrequency.emit();\r\n }\r\n\r\n configureDashboard() {\r\n let fieldsStatus = this.verifyFields();\r\n // if(fieldsStatus) {\r\n // this.closeCreateDashboard.emit();\r\n // const ref = this.dialog.open(ConfigureWidgetsComponent, {\r\n // data: {},\r\n // position: 'CENTER',\r\n // pointer: 'none'\r\n // });\r\n // }\r\n }\r\n\r\n verifyFields() {\r\n let allFieldsValid = true;\r\n this.dashboardNameError = '';\r\n this.dashboardDescriptionError = '';\r\n \r\n if(this.dashboardName === null || this.dashboardName === undefined || this.dashboardName === '') {\r\n this.dashboardNameError = this.fieldEmptyErrorMessage;\r\n allFieldsValid = false;\r\n } else if(this.dashboardName.length > 30) {\r\n this.dashboardNameError = this.fieldLimitExceededErrorMessage.replace('XYZ', '30');\r\n allFieldsValid = false;\r\n } else if(this.dashboardDescriptionText === null || this.dashboardDescriptionText === undefined || this.dashboardDescriptionText === '') {\r\n this.dashboardDescriptionError = this.fieldEmptyErrorMessage;\r\n allFieldsValid = false;\r\n } else if(this.dashboardDescriptionText.length > 250) {\r\n this.dashboardDescriptionError = this.fieldLimitExceededErrorMessage.replace('XYZ', '250');\r\n allFieldsValid = false;\r\n }\r\n return allFieldsValid;\r\n }\r\n\r\n getCurrentDate(){\r\n let today = new Date();\r\n return today.getDate() + '-' + (today.getMonth()+1) + '-' + today.getFullYear();\r\n }\r\n\r\n displayCriteriaSelected(event: boolean, selection: string) {\r\n this.displayCriteria = selection;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { SnackBarService } from '../snack-bar/snack-bar.service';\r\n\r\n@Component({\r\n selector: 'floating-bar',\r\n templateUrl: './floating-bar.component.html',\r\n styleUrls: ['./floating-bar.component.less']\r\n})\r\nexport class FloatingBarComponent implements OnInit {\r\n @Output() cancelEvent = new EventEmitter<string>();\r\n @Output() submitEvent = new EventEmitter<string>();\r\n @Output() deleteEvent: EventEmitter<number> = new EventEmitter();\r\n @Input() text!: boolean;\r\n @Input() frequencyMessage: any;\r\n @Input() singleCategory: any;\r\n @Input() selectedData: any;\r\n\r\n constructor(private snackBar: SnackBarService\r\n ) {\r\n this.selectedData = [];\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n cancelFloatingBar() {\r\n this.cancelEvent.emit();\r\n }\r\n submitFloatingBar() {\r\n if (this.selectedData.length < 1) {\r\n this.snackBar.show('Select a widget.');\r\n return\r\n }\r\n this.submitEvent.emit(this.selectedData);\r\n }\r\n\r\n deleteSelected(index: number) {\r\n this.deleteEvent.emit(index);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FloatingBarComponent } from './floating-bar.component';\r\nimport { PopoverModule } from '../popover/popover.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n FloatingBarComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PopoverModule,\r\n ],\r\n exports: [\r\n FloatingBarComponent\r\n ]\r\n})\r\nexport class FloatingBarModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n\r\n transform(items: any[], searchText: string): any[] {\r\n if (!items) {\r\n return [];\r\n }\r\n if (!searchText) {\r\n return items;\r\n }\r\n searchText = searchText.toLowerCase();\r\n if(items?.length){\r\n return items.filter((it: any) => {\r\n return JSON.stringify(it).toLowerCase().includes(searchText);\r\n });\r\n }else{\r\n return [];\r\n }\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { RiskCategoriesConfig } from './risk-categories-config';\r\n\r\n@Component({\r\n selector: 'app-risk-categories',\r\n templateUrl: './risk-categories.component.html',\r\n styleUrls: ['./risk-categories.component.less']\r\n})\r\nexport class RiskCategoriesComponent implements OnInit {\r\n\r\n\r\n @Input() categoryList: RiskCategoriesConfig = {\r\n strategic: {\r\n list: [],\r\n selectedList: [],\r\n },\r\n operational: {\r\n list: [],\r\n selectedList: [],\r\n },\r\n compliance: {\r\n list: [],\r\n selectedList: [],\r\n },\r\n others: {\r\n list: [],\r\n selectedList: [],\r\n }\r\n }\r\n @Input() allCategories: any[] = [];\r\n\r\n @Input() categoryIdKey: any;\r\n @Input() selectedCategories: any[] = [];\r\n\r\n search = '';\r\n activeTab: \"strategic\" | \"operational\" | \"compliance\" | \"others\"=\"strategic\";\r\n selectedIds: any[] = [];\r\n animation = false;\r\n blockWidth: any;\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: 'category_name',\r\n elementId: 'category_id',\r\n singularText: 'Risk Category selected',\r\n pluralText: 'Risk Categories selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n\r\n @Output() saveSelectedCategory = new EventEmitter();\r\n @Output() closeList = new EventEmitter();\r\n @Output() closeCategoriesList = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.selectedIds = [];\r\n if (this.selectedCategories) {\r\n this.selectedCategories.forEach(element => {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n });\r\n }\r\n this.setList()\r\n \r\n }\r\n\r\n selectCategory(mode: any, activeTab: any, category: any) {\r\n if (mode) {\r\n this.selectedIds.push(category[this.categoryIdKey]);\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == category[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n }\r\n this.setList();\r\n\r\n }\r\n\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any, activeTab: string) {\r\n\r\n if (mode) {\r\n if (activeTab === \"strategic\" || activeTab === \"operational\" || activeTab === \"compliance\" || activeTab === \"others\") {\r\n const list = this.categoryList[activeTab].list;\r\n list.forEach(element => {\r\n if (!this.selectedIds.includes(element[this.categoryIdKey])) {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n }\r\n });\r\n }\r\n\r\n } else {\r\n if (activeTab === \"strategic\" || activeTab === \"operational\" || activeTab === \"compliance\" || activeTab === \"others\") {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (this.selectedIds.includes(element[this.categoryIdKey])) {\r\n let idIndex = this.selectedIds.findIndex((id: any) => id == element[this.categoryIdKey]);\r\n this.selectedIds.splice(idIndex, 1);\r\n }\r\n });\r\n }\r\n\r\n }\r\n this.setList();\r\n }\r\n\r\n setList() {\r\n const data: any = [];\r\n const categoryList = [...new Set(this.allCategories)] \r\n // cloneDeep(this.allCategories)\r\n const selectedIds =[...new Set(this.selectedIds)] \r\n // cloneDeep(this.selectedIds);\r\n this.categoryList.strategic.selectedList = [];\r\n this.categoryList.operational.selectedList = [];\r\n this.categoryList.compliance.selectedList = [];\r\n this.categoryList.others.selectedList = [];\r\n\r\n categoryList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.categoryIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedCategories = data;\r\n this.footerDetails.selectedData = data;\r\n\r\n this.categoryList.strategic.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.strategic.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.operational.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.operational.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.compliance.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.compliance.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.others.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.others.selectedList.push(category)\r\n }\r\n });\r\n if (!this.activeTab) {\r\n this.setActiveTab();\r\n }\r\n }\r\n setActiveTab() {\r\n if (this.categoryList.strategic.selectedList.length > 0) {\r\n this.activeTab = 'strategic'\r\n } else if (this.categoryList.operational.selectedList.length > 0) {\r\n this.activeTab = 'operational'\r\n } else if (this.categoryList.compliance.selectedList.length > 0) {\r\n this.activeTab = 'compliance'\r\n } else if (this.categoryList.others.selectedList.length > 0) {\r\n this.activeTab = 'others'\r\n } else {\r\n this.activeTab = 'strategic'\r\n }\r\n }\r\n\r\n\r\n checkSelectAll(activeTab: string) {\r\n if (activeTab === \"strategic\" || activeTab === \"operational\" || activeTab === \"compliance\" || activeTab === \"others\") {\r\n const data = this.categoryList[activeTab].list.every((user: any) => this.selectedIds.includes(user[this.categoryIdKey]));\r\n return data;\r\n }\r\n }\r\n\r\n save() {\r\n this.saveSelectedCategory.emit(this.selectedCategories);\r\n }\r\n\r\n close() {\r\n this.closeCategoriesList.emit();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search'\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n\r\n transform(value: any, args?: any): any {\r\n if (!value) {\r\n return null;\r\n }\r\n if (!args) {\r\n return value;\r\n }\r\n\r\n args = args.toLowerCase();\r\n\r\n return value.filter((item: any) => {\r\n return JSON.stringify(item).toLowerCase().includes(args);\r\n });\r\n }\r\n\r\n}\r\n","import { ConfigureWidgetsService } from '../../services/configure-widgets.service';\r\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { retry } from 'rxjs/operators';\r\nimport { widgetDataModel } from '../../interfaces/widget-data-model';\r\nimport { DialogRef } from '../../../ui-kit/dialog/dialog-ref';\r\nimport { widgetConfig } from './widget.interface';\r\nimport { SnackBarService } from '../../../ui-kit/snack-bar/snack-bar.service';\r\n\r\n@Component({\r\n selector: 'app-configure-widgets',\r\n templateUrl: './configure-widgets.component.html',\r\n styleUrls: ['./configure-widgets.component.less']\r\n})\r\nexport class ConfigureWidgetsComponent implements OnInit, OnChanges {\r\n\r\n @Output() widgetsDataModified: EventEmitter<any> = new EventEmitter();\r\n @Output() closeConfigureWidgets: EventEmitter<any> = new EventEmitter();\r\n checkboxStatus!: any;\r\n search: string = '';\r\n checkedArray: Array<{ index: number, status: number }> = [];\r\n selectedWidgets: Array<widgetDataModel> = [];\r\n\r\n module: \"COMPLIANCE\" | \"RISK\" = 'COMPLIANCE';\r\n @Input() selectedWidgetsData: any = [];\r\n @Input() displayedWidgets: any = [];\r\n @Input() showRisk = false;\r\n @Input() showCompliance = false;\r\n @Input() mode = 'CREATE'\r\n noDataText = 'You have not configured any widgets. Click on the <strong>Configure Widgets</strong> button to begin.';\r\n\r\n selectedWidgetIds: any = [];\r\n subResponsibilitiesSelected: boolean = false\r\n subKeyResponsibilitiesSelected: boolean = false\r\n showWidgets = true;\r\n complianceWidgetsDisplayCount = 9;\r\n riskWidgetsDisplayCount = 12;\r\n\r\n\r\n constructor(\r\n private dialog: DialogRef,\r\n public configureWidgetsService: ConfigureWidgetsService,\r\n private snackBar: SnackBarService) {\r\n\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.mode == 'EDIT') {\r\n this.setWidgetsVisibilityToFalse()\r\n this.riskWidgetsDisplayCount = 0;\r\n this.complianceWidgetsDisplayCount = 0;\r\n const finalData = [...new Set(this.displayedWidgets)];\r\n finalData.forEach((element: any, index: any) => {\r\n this.widgetsList.COMPLIANCE.forEach((ele: any) => {\r\n if (ele.id == element.widget_code) {\r\n ele.visibility = true;\r\n if (ele.subWidgets.length > 0) {\r\n const filterData: any = []\r\n element.sub_widgets.filter((subwidget: any) => {\r\n filterData.push(subwidget.widget_code);\r\n });\r\n ele.subWidgets.forEach((subElement: any, subIndex: number) => {\r\n if (filterData.includes(subElement.id)) {\r\n ele.subWidgets[subIndex].visibility = true;\r\n } else {\r\n ele.subWidgets[subIndex].visibility = false;\r\n }\r\n });\r\n }\r\n this.complianceWidgetsDisplayCount++\r\n }\r\n })\r\n this.widgetsList.RISK.forEach((ele: any) => {\r\n if (ele.id == element.widget_code) {\r\n ele.visibility = true;\r\n if (ele.subWidgets.length > 0) {\r\n const filterData: any = []\r\n element.sub_widgets.filter((subwidget: any) => {\r\n filterData.push(subwidget.widget_code);\r\n });\r\n ele.subWidgets.forEach((subElement: any, subIndex: number) => {\r\n if (filterData.includes(subElement.id)) {\r\n ele.subWidgets[subIndex].visibility = true;\r\n } else {\r\n ele.subWidgets[subIndex].visibility = false;\r\n }\r\n });\r\n\r\n }\r\n this.riskWidgetsDisplayCount++\r\n }\r\n })\r\n });\r\n }\r\n const data = [...new Set(this.selectedWidgetsData)];\r\n data.forEach((element: any, index: any) => {\r\n this.widgetsList.COMPLIANCE.forEach((ele: any) => {\r\n if (ele.id == element.widget_code && element.state == 'ACTIVE') {\r\n ele.value = true;\r\n if (ele.subWidgets.length > 0) {\r\n const filterData: any = []\r\n element.sub_widgets.filter((subwidget: any) => {\r\n if (subwidget.state == 'ACTIVE') {\r\n filterData.push(subwidget.widget_code);\r\n }\r\n });\r\n ele.subWidgets.forEach((subElement: any, subIndex: number) => {\r\n if (filterData.includes(subElement.id)) {\r\n ele.subWidgets[subIndex].value = true;\r\n } else {\r\n ele.subWidgets[subIndex].value = false;\r\n }\r\n });\r\n\r\n }\r\n this.selectedWidgets.push(ele);\r\n\r\n }\r\n })\r\n this.widgetsList.RISK.forEach((ele: any) => {\r\n if (ele.id == element.widget_code && element.state == 'ACTIVE') {\r\n ele.value = true;\r\n if (ele.subWidgets.length > 0) {\r\n const filterData: any = []\r\n element.sub_widgets.filter((subwidget: any) => {\r\n if (subwidget.state == 'ACTIVE') {\r\n filterData.push(subwidget.widget_code);\r\n }\r\n });\r\n ele.subWidgets.forEach((subElement: any, subIndex: number) => {\r\n if (filterData.includes(subElement.id)) {\r\n ele.subWidgets[subIndex].value = true;\r\n } else {\r\n ele.subWidgets[subIndex].value = false;\r\n }\r\n });\r\n\r\n }\r\n this.selectedWidgets.push(ele);\r\n\r\n }\r\n })\r\n\r\n });\r\n this.module = (this.showCompliance) ? 'COMPLIANCE' : 'RISK';\r\n this.setSelectedWidgets();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n\r\n widgetsList = {\r\n COMPLIANCE: [\r\n {\r\n title: 'Overview',\r\n id: 'overview',\r\n description: 'Overview shows the performance of responsibilities and Programs.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/overview.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Responsibility Calendar',\r\n id: 'compliance_calendar_flag',\r\n description: 'The Responsibility Calendar shows the due dates of responsibilities in a calendar format. The responsibilities are color coded to reflect the status of the responsibilities.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/responsibility-calender.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Responsibility Center Overview',\r\n id: 'responsibility_center_overview_flag',\r\n description: 'The Responsibility Center Overview shows the performance of responsibilities and Responsibility Centers.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/responsibility-center-overview.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Responsibilities',\r\n id: 'my_responsibilities',\r\n description: 'This widget shows the performance of the responsibilities that you are required to complete, the responsibilities that you are reviewing and the responsibilities that you are overseeing.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/my-responsibilities.png',\r\n tabOption: true,\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: [\r\n {\r\n title: 'My Responsibilities',\r\n id: 'my_responsibility_flag',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'I’m Reviewing',\r\n id: 'reviewer_responsibility_flag',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'I’m Overseeing',\r\n id: 'cc_responsibility_flag',\r\n value: false,\r\n visibility:true,\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Key Responsibilities',\r\n id: 'key_responsibilities',\r\n description: 'This widget shows the performance of key responsibilities that you are required to complete, that you are reviewing, that you are overseeing and that you have assigned to another person.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/key-responsibilities.png',\r\n tabOption: true,\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: [\r\n {\r\n title: 'Overview',\r\n id: 'key_responsibilities_overview_flag',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'My Responsibilities',\r\n id: 'key_my_responsibilities_flag',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'I’m Reviewing',\r\n id: 'key_i_am_reviewing_flag',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'I’m Overseeing',\r\n id: 'key_i_am_overseeing_flag',\r\n value: false,\r\n visibility:true,\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Trend Analysis',\r\n id: 'trend_analysis_flag',\r\n description: 'The Trend Analysis is a graphical representation of the performance of responsibilities over a period.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/trend-analysis.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Workroom Updates',\r\n id: 'workroom_alert_flag',\r\n description: 'The Responsibility Workroom shows updates from the Responsibility Workrooms. A Responsibility Workroom exists for all responsibilities.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/workroom-updates.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Recent Activities',\r\n id: 'recent_activity_flag',\r\n description: 'This is a chronological view of the recent updates of responsibilities.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/recent-activities.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Exception Summary',\r\n id: 'exception_summary_flag',\r\n description: 'Exceptions Summary show the number of responsibilities that are either not accepted, not completed or deleted.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/exception-summary.png',\r\n value: false,\r\n visibility:true,\r\n module: 'COMPLIANCE',\r\n subWidgets: []\r\n }\r\n ],\r\n RISK: [\r\n {\r\n title: 'Risk Overview',\r\n id: 'risk_overview',\r\n description: 'This widget shows the number and percentage of risks within each risk response strategy.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-overview.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Risk Metrics',\r\n id: 'risk_metrics',\r\n description: 'This widget shows the number of risks within each risk appetite, the number of risks that exceed the risk appetite, the number of risks that exceed the risk tolerance, the number of risks within each risk rating, and the number of risks that do not have any linked controls.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: [\r\n {\r\n title: 'Risk Appetite & Tolerance',\r\n id: 'risk_appetite_tolerance',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'Risk Ratings',\r\n id: 'risk_ratings',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'Risks Without Controls',\r\n id: 'risks_without_controls',\r\n value: false,\r\n visibility:true,\r\n },\r\n {\r\n title: 'Exceeds Risk Tolerance',\r\n id: 'exceeds_risk_tolerance',\r\n value: false,\r\n visibility:true,\r\n },\r\n ]\r\n },\r\n\r\n {\r\n title: 'Inherent Risk Rating by Responsibility Centers ',\r\n id: 'inherent_risk_rating_by_responsibility_centers',\r\n description: 'This widget shows the number of risks within each inherent risk rating, grouped according to the Responsibility Center exposed to the risk.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-RC.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Residual Risk Rating by Responsibility Centers ',\r\n id: 'residual_risk_rating_by_responsibility_centers',\r\n description: 'This widget shows the number of risks within each residual risk rating, grouped according to the Responsibility Center exposed to the risk.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-RC.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Risk Category Overview',\r\n id: 'risk_category_overview',\r\n description: 'This widgets shows the number of risks within each status, grouped according to the Risk Category the risk is assigned to.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-category-overview.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Risk Heatmap',\r\n id: 'risk_heatmap',\r\n description: 'The Risk Heatmap displays the risk matrix for any two risk factors.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-heatmap.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Inherent Risk Rating by Categories',\r\n id: 'inherent_risk_rating_by_categories',\r\n description: 'This widget shows the number of risks within each inherent risk rating, grouped according to the Risk Category that the risk is assigned to.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-categories.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n\r\n {\r\n title: 'Residual Risk Rating by Categories',\r\n id: 'residual_risk_rating_by_categories',\r\n description: 'This widget shows the number of risks within each residual risk rating, grouped according to the Risk Category that the risk is assigned to.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-categories.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Inherent Risk Rating Trend by Responsibility Centers',\r\n id: 'inherent_risk_rating_trend_by_responsibility_centers',\r\n description: 'This widget is a graphical representation of the number of risks within each inherent risk rating, grouped according to the Responsibility Center exposed to the risk.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-trend.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Residual Risk Rating Trend by Responsibility Centers',\r\n id: 'residual_risk_rating_trend_by_responsibility_centers',\r\n description: 'This widget is a graphical representation of the number of risks within each residual risk rating, grouped according to the Responsibility Center exposed to the risk.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-trend.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Risk Rating Trend by Categories',\r\n id: 'risk_rating_trend_by_categories',\r\n description: 'This widgets is a trend chart that shows the inherent and residual risk rating trend across the different Risk Categories.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-trend.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n },\r\n {\r\n title: 'Top 5 Risk Ratings',\r\n id: 'top_5_residual_risk_ratings',\r\n description: 'This widgets shows ths top five risks with the highest risk rating.',\r\n widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/5-risk-ratings.png',\r\n value: false,\r\n visibility:true,\r\n module: 'RISK',\r\n subWidgets: []\r\n }\r\n ]\r\n }\r\n\r\n selectWidget(event: any, module: 'COMPLIANCE' | 'RISK', widgetId: string, subWidgetId?: string) {\r\n const widgetIndex = this.widgetsList[module].findIndex((ele: any) => ele.id == widgetId);\r\n const isSubWidgetAddable = this.selectedWidgets.findIndex(( widget: any) => widget.id === widgetId )\r\n if (event) {\r\n if (this.selectedWidgets.length >= 10 && !(subWidgetId && isSubWidgetAddable >= 0)) {\r\n this.snackBar.show('You cannot add more than 10 widgets.');\r\n this.showWidgets = false;\r\n setTimeout(() => {\r\n this.widgetsList[module][widgetIndex].value = false;\r\n this.showWidgets = true;\r\n }, 10);\r\n return\r\n }\r\n this.widgetsList[module][widgetIndex].value = true;\r\n if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {\r\n if (!subWidgetId) {\r\n this.widgetsList[module][widgetIndex].subWidgets.forEach(ele => ele.value = true);\r\n } else {\r\n const subWidgetIndex = this.widgetsList[module][widgetIndex].subWidgets.findIndex((ele: any) => ele.id == subWidgetId);\r\n this.widgetsList[module][widgetIndex].subWidgets[subWidgetIndex].value = true;\r\n }\r\n }\r\n } else {\r\n if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {\r\n if (!subWidgetId) {\r\n this.widgetsList[module][widgetIndex].value = false;\r\n this.widgetsList[module][widgetIndex].subWidgets.forEach((ele: any) => ele.value = false);\r\n } else {\r\n const subWidgetIndex = this.widgetsList[module][widgetIndex].subWidgets.findIndex((ele: any) => ele.id == subWidgetId);\r\n this.widgetsList[module][widgetIndex].subWidgets[subWidgetIndex].value = false;\r\n\r\n const isAllWidgetsRemoved = this.widgetsList[module][widgetIndex].subWidgets.every((ele: any) => ele.value == false);\r\n if (isAllWidgetsRemoved) {\r\n this.widgetsList[module][widgetIndex].value = false;\r\n }\r\n }\r\n } else {\r\n this.widgetsList[module][widgetIndex].value = false;\r\n }\r\n }\r\n this.setSelectedWidgets();\r\n\r\n }\r\n setSelectedWidgets() {\r\n this.selectedWidgets = []\r\n this.widgetsList.COMPLIANCE.forEach((ele: any) => {\r\n if (ele.value) {\r\n this.selectedWidgets.push(ele)\r\n }\r\n })\r\n this.widgetsList.RISK.forEach((ele: any) => {\r\n if (ele.value) {\r\n this.selectedWidgets.push(ele)\r\n }\r\n })\r\n }\r\n\r\n removeWidget(widget: widgetConfig) {\r\n const widgetIndex = this.widgetsList[widget.module].findIndex((ele: any) => ele.id == widget.id);\r\n this.widgetsList[widget.module][widgetIndex].value = false;\r\n if (this.widgetsList[widget.module][widgetIndex].subWidgets.length > 0) {\r\n this.widgetsList[widget.module][widgetIndex].subWidgets.forEach((ele: any) => ele.value = false);\r\n }\r\n this.setSelectedWidgets()\r\n }\r\n\r\n onNextClick() {\r\n this.widgetsDataModified.emit(this.selectedWidgets);\r\n }\r\n\r\n closeConfigureDashboard() {\r\n this.selectedWidgets = [];\r\n this.dialog.close();\r\n this.closeConfigureWidgets.emit(false);\r\n }\r\n\r\n setWidgetsVisibilityToFalse(){\r\n this.widgetsList.COMPLIANCE.forEach((ele: any) => {\r\n ele.visibility = false;\r\n if (ele.subWidgets.length > 0) { \r\n ele.subWidgets.forEach((subElement: any) => { \r\n subElement.visibility = false;\r\n });\r\n }\r\n })\r\n this.widgetsList.RISK.forEach((ele: any) => {\r\n ele.visibility = false;\r\n if (ele.subWidgets.length > 0) {\r\n ele.subWidgets.forEach((subElement: any) => {\r\n subElement.visibility = false;\r\n });\r\n }\r\n })\r\n }\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, Input, OnInit, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appScrollInView]'\r\n})\r\nexport class ScrollInViewDirective implements OnChanges {\r\n@Input() appScrollInView = false;\r\n constructor(private el: ElementRef) {\r\n }\r\nngOnChanges(change:SimpleChanges){\r\n if(change?.appScrollInView && change?.appScrollInView?.currentValue === true){\r\n this.scroll();\r\n }\r\n}\r\n ngAfterViewInit() {\r\n // Otherwise Angular throws error: Expression has changed after it was checked.\r\n this.scroll();\r\n }\r\n\r\n scroll(){\r\n if(this.appScrollInView){\r\n window.setTimeout(() => {\r\n this.el.nativeElement.scrollIntoView({behavior: 'smooth', block: 'center'});\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ScrollInViewDirective } from './scroll-in-view.directive';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ScrollInViewDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports:[\r\n ScrollInViewDirective\r\n ]\r\n})\r\nexport class DirectivesModule { }\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-no-data',\r\n templateUrl: './no-data.component.html',\r\n styleUrls: ['./no-data.component.less'],\r\n})\r\nexport class NoDataComponent implements OnInit {\r\n @Input() action!: any;\r\n @Input() noDataImage!: string;\r\n @Input() noDataText = '';\r\n @Input() noDataButton!: string | boolean;\r\n @Input() noDataSecButton!: string | boolean;\r\n @Input() altText!: string;\r\n @Output() buttonAction = new EventEmitter<object>();\r\n @Input() smallButton!: boolean;\r\n @Input() buttonIcon!: any;\r\n @Input() iconClass!: any;\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n\r\n actionEmitter(button: object) {\r\n this.buttonAction.emit(button);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NoDataComponent } from './no-data.component';\r\n\r\n@NgModule({\r\n declarations: [NoDataComponent],\r\n imports: [CommonModule],\r\n exports: [NoDataComponent],\r\n})\r\nexport class NoDataModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FloatingBarModule } from '../../ui-kit//floating-bar/floating-bar.module';\r\nimport { FormgroupModule } from '../../ui-kit/formgroup/formgroup.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SearchPipe } from '../pipes/search.pipe';\r\nimport { ConfigureWidgetsComponent } from './configure-widgets/configure-widgets.component';\r\nimport { DirectivesModule } from '../directives/directives.module';\r\nimport { NoDataModule } from '../../ui-kit/no-data/no-data.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ConfigureWidgetsComponent, SearchPipe\r\n ],\r\n imports: [\r\n CommonModule,\r\n FloatingBarModule,\r\n FormgroupModule,\r\n FormsModule,\r\n DirectivesModule,\r\n NoDataModule\r\n ],\r\n exports: [\r\n ConfigureWidgetsComponent\r\n ]\r\n})\r\nexport class ConfigureWidgetsModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.less'],\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader-inline',\r\n templateUrl: './loader-inline.component.html',\r\n styleUrls: ['./loader-inline.component.less'],\r\n})\r\nexport class LoaderInlineComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { LoaderInlineComponent } from './loader-inline/loader-inline.component';\r\n\r\n@NgModule({\r\n declarations: [LoaderComponent, LoaderInlineComponent],\r\n imports: [CommonModule],\r\n exports: [LoaderComponent, LoaderInlineComponent],\r\n})\r\nexport class VLoaderModule {}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport { SnackBarService } from '../snack-bar.service';\r\n\r\n@Component({\r\n selector: 'app-snack-bar',\r\n templateUrl: './snack-bar.component.html',\r\n styleUrls: ['./snack-bar.component.less'],\r\n})\r\nexport class SnackBarComponent implements OnInit {\r\n show = false;\r\n message: string = '--';\r\n icon: string = '&#xe914;';\r\n constructor(private snackbarService: SnackBarService) {}\r\n\r\n ngOnInit(): void {\r\n this.snackbarService.snackbarSubject.subscribe((state) => {\r\n if (state.icon) {\r\n this.icon = state.icon;\r\n } else {\r\n this.icon = '&#xe914;';\r\n }\r\n this.message = state.message;\r\n this.show = state.show;\r\n setTimeout(() => {\r\n this.show = false;\r\n }, 3000);\r\n });\r\n }\r\n close() {\r\n this.show = false;\r\n }\r\n ngOnDestroy() {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SnackBarComponent } from './snack-bar/snack-bar.component';\r\n\r\n@NgModule({\r\n declarations: [SnackBarComponent],\r\n imports: [CommonModule],\r\n exports: [SnackBarComponent],\r\n})\r\nexport class SnackBarModule {}\r\n","import { Component, Input, OnInit, EventEmitter, Output, HostListener } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-smiley-dialog',\r\n templateUrl: './smiley-dialog.component.html',\r\n styleUrls: ['./smiley-dialog.component.less'],\r\n})\r\nexport class SmileyDialogComponent implements OnInit {\r\n @Input() message!: string;\r\n @Input() autoClose!: boolean;\r\n @Input() actionButtons!: any[];\r\n @Output() action: EventEmitter<string> = new EventEmitter();\r\n @Output() closeSmiley: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostListener('window:keyup', ['$event']) handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n this.smileyCloseEmitter({});\r\n }\r\n }\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n if (this.autoClose) {\r\n setTimeout(() => {\r\n this.close();\r\n }, 8000);\r\n }\r\n }\r\n close() {\r\n this.closeSmiley.emit();\r\n }\r\n\r\n actionEmitter(event: any) {\r\n this.action.emit(event?.id);\r\n }\r\n\r\n smileyCloseEmitter(event: any) {\r\n this.closeSmiley.emit();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SmileyDialogComponent } from './smiley-dialog.component';\r\n\r\n@NgModule({\r\n declarations: [SmileyDialogComponent],\r\n imports: [CommonModule],\r\n\r\n exports: [SmileyDialogComponent],\r\n})\r\nexport class SmileyDialogModule {}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MarxEditorModule } from 'vcomply-editor';\r\nimport { DpDatePickerModule } from 'ng2-date-picker';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CreateDashboardComponent } from './create-dashboard.component';\r\nimport { SelectModule } from '../ui-kit/select/select.module';\r\nimport { UserListComponent } from './user-list/user-list.component';\r\nimport { ResponsibilityCenterComponent } from './responsibility-center/responsibility-center.component';\r\nimport { CategoriesComponent } from './categories/categories.component';\r\nimport { FrequencyComponent } from './frequency/frequency.component';\r\nimport { PaginationModule } from '../ui-kit/pagination/pagination.module';\r\nimport { FormgroupModule } from '../ui-kit/formgroup/formgroup.module';\r\nimport { DashboardFooterModule } from '../ui-kit/dashboard-footer/dashboard-footer.module';\r\nimport { FormGroupComponent } from './form-group/form-group.component';\r\nimport { TooltipModule } from '../ui-kit/tooltip/tooltip.module';\r\nimport { FloatingBarModule } from '../ui-kit/floating-bar/floating-bar.module';\r\nimport { DialogModule } from '../ui-kit/dialog/dialog.module';\r\nimport { Configurations } from '../configurations';\r\nimport { FilterPipe } from './pipes/filter.pipe';\r\nimport { RiskCategoriesComponent } from './risk-categories/risk-categories.component';\r\nimport { ConfigureWidgetsModule } from './configure-widgets/configure-widgets.module';\r\nimport { PopoverModule } from '../ui-kit/popover/popover.module';\r\nimport { VLoaderModule } from '../ui-kit/v-loader/v-loader.module';\r\nimport { SnackBarModule } from '../ui-kit/snack-bar/snack-bar.module';\r\nimport { NoDataModule } from '../ui-kit/no-data/no-data.module';\r\nimport { DirectivesModule } from './directives/directives.module';\r\nimport { SmileyDialogModule } from '../ui-kit/smiley-dialog/smiley-dialog.module';\r\nimport { TextCountPipe } from './pipes/text-count.pipe';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n CreateDashboardComponent,\r\n UserListComponent,\r\n FormGroupComponent,\r\n ResponsibilityCenterComponent,\r\n CategoriesComponent,\r\n RiskCategoriesComponent,\r\n FrequencyComponent,\r\n FilterPipe,\r\n TextCountPipe,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MarxEditorModule,\r\n FormgroupModule,\r\n DpDatePickerModule,\r\n FormsModule,\r\n TooltipModule,\r\n SelectModule,\r\n DashboardFooterModule,\r\n PaginationModule,\r\n FloatingBarModule,\r\n DialogModule,\r\n ConfigureWidgetsModule, \r\n PopoverModule,\r\n VLoaderModule,\r\n SnackBarModule,\r\n NoDataModule,\r\n DirectivesModule,\r\n SmileyDialogModule\r\n \r\n ],\r\n exports: [\r\n CreateDashboardComponent\r\n ]\r\n \r\n})\r\nexport class CreateDashboardModule { \r\n public static forRoot(environmentConfig: Configurations): ModuleWithProviders<CreateDashboardModule> {\r\n\r\n return {\r\n ngModule: CreateDashboardModule,\r\n providers: [\r\n { provide: Configurations, useValue: environmentConfig }\r\n ]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of create-dashboard\r\n */\r\n\r\n// export * from './lib/create-dashboard.service';\r\n// export * from './lib/create-dashboard.component';\r\n// export * from './lib/create-dashboard.module';\r\n\r\nexport * from './lib/create-dashboard.service';\r\nexport * from './lib/create-dashboard-container/create-dashboard.component';\r\nexport * from './lib/create-dashboard-container/create-dashboard.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {Configurations as ɵd} from './lib/configurations';\nexport {CategoriesComponent as ɵr} from './lib/create-dashboard-container/categories/categories.component';\nexport {ConfigureWidgetsModule as ɵbu} from './lib/create-dashboard-container/configure-widgets/configure-widgets.module';\nexport {ConfigureWidgetsComponent as ɵbv} from './lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component';\nexport {DirectivesModule as ɵbx} from './lib/create-dashboard-container/directives/directives.module';\nexport {ScrollInViewDirective as ɵby} from './lib/create-dashboard-container/directives/scroll-in-view.directive';\nexport {FormGroupComponent as ɵj} from './lib/create-dashboard-container/form-group/form-group.component';\nexport {FrequencyComponent as ɵt} from './lib/create-dashboard-container/frequency/frequency.component';\nexport {FilterPipe as ɵu} from './lib/create-dashboard-container/pipes/filter.pipe';\nexport {SearchPipe as ɵbw} from './lib/create-dashboard-container/pipes/search.pipe';\nexport {TextCountPipe as ɵa} from './lib/create-dashboard-container/pipes/text-count.pipe';\nexport {ResponsibilityCenterComponent as ɵq} from './lib/create-dashboard-container/responsibility-center/responsibility-center.component';\nexport {RiskCategoriesComponent as ɵs} from './lib/create-dashboard-container/risk-categories/risk-categories.component';\nexport {AuthService as ɵc} from './lib/create-dashboard-container/services/auth.service';\nexport {ConfigureWidgetsService as ɵh} from './lib/create-dashboard-container/services/configure-widgets.service';\nexport {CreateDashboardService as ɵb} from './lib/create-dashboard-container/services/create-dashboard.service';\nexport {PaginationService as ɵe} from './lib/create-dashboard-container/services/pagination.service';\nexport {UserListComponent as ɵi} from './lib/create-dashboard-container/user-list/user-list.component';\nexport {DashboardFooterModule as ɵbl} from './lib/ui-kit/dashboard-footer/dashboard-footer.module';\nexport {DashboardFooterComponent as ɵbm} from './lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component';\nexport {DialogConfig as ɵp} from './lib/ui-kit/dialog/dialog-config';\nexport {DialogRef as ɵo} from './lib/ui-kit/dialog/dialog-ref';\nexport {DialogComponent as ɵm} from './lib/ui-kit/dialog/dialog.component';\nexport {DialogModule as ɵl} from './lib/ui-kit/dialog/dialog.module';\nexport {DialogService as ɵk} from './lib/ui-kit/dialog/dialog.service';\nexport {InsertionDirective as ɵn} from './lib/ui-kit/dialog/insertion.directive';\nexport {FloatingBarComponent as ɵbt} from './lib/ui-kit/floating-bar/floating-bar.component';\nexport {FloatingBarModule as ɵbs} from './lib/ui-kit/floating-bar/floating-bar.module';\nexport {ClickOutsideDirective as ɵbd} from './lib/ui-kit/formgroup/click-outside.directive';\nexport {CsCheckboxComponent as ɵw} from './lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component';\nexport {CsRadioGroupComponent as ɵz} from './lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component';\nexport {CsRadioComponent as ɵx} from './lib/ui-kit/formgroup/cs-radio/cs-radio.component';\nexport {CsSelectComponent as ɵba} from './lib/ui-kit/formgroup/cs-select/cs-select.component';\nexport {CsSwitchComponent as ɵy} from './lib/ui-kit/formgroup/cs-switch/cs-switch.component';\nexport {FormgroupModule as ɵv} from './lib/ui-kit/formgroup/formgroup.module';\nexport {PascalPipe as ɵbb} from './lib/ui-kit/formgroup/pipes/pascal.pipe';\nexport {SearchMultiSelectPipe as ɵbc} from './lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe';\nexport {NoDataComponent as ɵca} from './lib/ui-kit/no-data/no-data.component';\nexport {NoDataModule as ɵbz} from './lib/ui-kit/no-data/no-data.module';\nexport {PaginationComponent as ɵbr} from './lib/ui-kit/pagination/pagination.component';\nexport {PaginationModule as ɵbq} from './lib/ui-kit/pagination/pagination.module';\nexport {PopoverComponent as ɵbo} from './lib/ui-kit/popover/popover.component';\nexport {PopoverDirective as ɵbp} from './lib/ui-kit/popover/popover.directive';\nexport {PopoverModule as ɵbn} from './lib/ui-kit/popover/popover.module';\nexport {PopoverService as ɵg} from './lib/ui-kit/popover/popover.service';\nexport {CsOptionComponent as ɵbi} from './lib/ui-kit/select/cs-option/cs-option.component';\nexport {CsSelectComponent as ɵbh} from './lib/ui-kit/select/cs-select/cs-select.component';\nexport {SafeHtmlPipe as ɵbk} from './lib/ui-kit/select/safe-html.pipe';\nexport {SelectModule as ɵbg} from './lib/ui-kit/select/select.module';\nexport {CsSelectService as ɵbj} from './lib/ui-kit/services/cs-select.service';\nexport {SmileyDialogComponent as ɵch} from './lib/ui-kit/smiley-dialog/smiley-dialog.component';\nexport {SmileyDialogModule as ɵcg} from './lib/ui-kit/smiley-dialog/smiley-dialog.module';\nexport {SnackBarModule as ɵce} from './lib/ui-kit/snack-bar/snack-bar.module';\nexport {SnackBarService as ɵf} from './lib/ui-kit/snack-bar/snack-bar.service';\nexport {SnackBarComponent as ɵcf} from './lib/ui-kit/snack-bar/snack-bar/snack-bar.component';\nexport {ToolTipDirective as ɵbf} from './lib/ui-kit/tooltip/tooltip.directive';\nexport {TooltipModule as ɵbe} from './lib/ui-kit/tooltip/tooltip.module';\nexport {LoaderInlineComponent as ɵcd} from './lib/ui-kit/v-loader/loader-inline/loader-inline.component';\nexport {LoaderComponent as ɵcc} from './lib/ui-kit/v-loader/loader/loader.component';\nexport {VLoaderModule as ɵcb} from './lib/ui-kit/v-loader/v-loader.module';"],"names":["CreateDashboardService","Injectable","HttpClient","Optional","HttpHeaders","map","retry","catchError","of","JwtHelperService","BehaviorSubject","Subject","Pipe","dayjs","customParseFormat","EventEmitter","Component","ChangeDetectorRef","Input","Output","ViewChild","HostListener","CsSelectComponent","nanoid","NG_VALUE_ACCESSOR","forwardRef","DomSanitizer","NgModule","FormsModule","CommonModule","Directive","ElementRef","Renderer2","ViewContainerRef","NavigationStart","NavigationEnd","NavigationError","ComponentFactoryResolver","Router","ApplicationRef","Injector","MarxEditorModule","DpDatePickerModule"],"mappings":"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"}