{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app.component.html","./src/app/core/components/dhhs-logo/dhhs-logo.component.html","./src/app/core/components/disclaimer/disclaimer.component.html","./src/app/core/components/footer/footer.component.html","./src/app/core/components/header/header.component.html","./src/app/core/components/menubar/menubar.component.html","./src/app/core/components/native-app-store-info/native-app-store-info.component.html","./src/app/core/components/page-header/page-header.component.html","./src/app/core/components/page-not-found/page-not-found.component.html","./src/app/core/components/right-menu/right-menu.component.html","./src/app/core/components/session-spectator/session-spectator.component.html","./src/app/core/components/site-under-maintanance/site-under-maintanance.component.html","./src/app/shared/components/change-email/change-email.component.html","./src/app/shared/components/change-password/change-password.component.html","./src/app/shared/components/collapsible/collapsible.component.html","./src/app/shared/components/confirm-toast/confirm-toast.component.html","./src/app/shared/components/dropdown/dropdown.component.html","./src/app/shared/components/focusable-text/focusable-text.component.html","./src/app/shared/components/form-button/form-button.component.html","./src/app/shared/components/form-dialog/form-dialog.component.html","./src/app/shared/components/global-message/global-message.component.html","./src/app/shared/components/grid/grid.component.html","./src/app/shared/components/info-banner/info-banner.component.html","./src/app/shared/components/input-group/input-group.component.html","./src/app/shared/components/progress/progress.component.html","./src/app/shared/components/scrollable-grid-adapter/scrollable-grid-adapter.component.html","./src/app/shared/components/switcher/switcher.component.html","./src/app/shared/components/tab-menu/tab-menu.component.html","./src/app/shared/components/update-profile/update-profile.component.html","./src/app/shared/components/user-info/user-info.component.html","./node_modules/tslib/tslib.es6.js","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/core/components/dhhs-logo/dhhs-logo.component.ts","./src/app/core/components/disclaimer/disclaimer.component.ts","./src/app/core/components/footer/footer.component.ts","./src/app/core/components/header/header.component.ts","./src/app/core/components/menubar/menu.service.ts","./src/app/core/components/menubar/menubar.component.ts","./src/app/core/components/native-app-store-info/native-app-store-info.component.ts","./src/app/core/components/page-header/page-header.component.ts","./src/app/core/components/page-not-found/page-not-found.component.ts","./src/app/core/components/right-menu/right-menu.component.ts","./src/app/core/components/session-spectator/session-spectator.component.ts","./src/app/core/components/site-under-maintanance/site-under-maintanance.component.ts","./src/app/core/core.module.ts","./src/app/core/data/models/associated-cases.out.model.ts","./src/app/core/data/models/banner-info.model.ts","./src/app/core/data/models/base-service.out.model.ts","./src/app/core/data/models/case.ts","./src/app/core/data/models/extend-session.in.model.ts","./src/app/core/data/models/extend-session.out.model.ts","./src/app/core/data/models/status.model.ts","./src/app/core/data/models/user.model.ts","./src/app/core/data/repositories/core.repository.ts","./src/app/core/data/usecases/extend-session.usecase.ts","./src/app/core/data/usecases/use-case.ts","./src/app/core/decorators/breakpoint-observer.decorator.ts","./src/app/core/decorators/module-observer.decorator.ts","./src/app/core/decorators/router-events-observer.decorator.ts","./src/app/core/decorators/rxjs-unsubscribe.decorator.ts","./src/app/core/decorators/session-observer.decorator.ts","./src/app/core/dependencies/accessibility-key-shortcuts.dependency.ts","./src/app/core/dependencies/platform.dependency.ts","./src/app/core/directives/os-gateway.directive.ts","./src/app/core/guards/auth.guard.ts","./src/app/core/guards/dashboard.guard.ts","./src/app/core/guards/session.guard.ts","./src/app/core/guards/unreachable.guard.ts","./src/app/core/key-shortcuts/accessibility-key-event-observer.service.ts","./src/app/core/key-shortcuts/base/global-key-event-spectator.service.ts","./src/app/core/key-shortcuts/base/hard-key.enum.ts","./src/app/core/key-shortcuts/base/key-shortcut.model.ts","./src/app/core/key-shortcuts/form-key-event-observer.service.ts","./src/app/core/key-shortcuts/global-key-event-handler.service.ts","./src/app/core/prototypes/activated-route.prototype.ts","./src/app/core/prototypes/global.prototype.ts","./src/app/core/prototypes/index.ts","./src/app/core/providers/global-message-handler.provider.ts","./src/app/core/services/app-form-response-handler.service.ts","./src/app/core/services/app-http-request-handler.service.ts","./src/app/core/services/app-http-response-handler.service.ts","./src/app/core/services/app-messsage-handler.service.ts","./src/app/core/services/app-preloading-strategy.service.ts","./src/app/core/services/app-routes.service.ts","./src/app/core/services/breakpoint-builder.service.ts","./src/app/core/services/breakpoint-watcher.service.ts","./src/app/core/services/cookie-manager.service.ts","./src/app/core/services/header-menu-listener.service.ts","./src/app/core/services/module-manager.service.ts","./src/app/core/services/screen-manager.service.ts","./src/app/core/services/session-manager.service.ts","./src/app/core/services/user-info-mapper.service.ts","./src/app/core/store/local.store.ts","./src/app/core/store/session.store.ts","./src/app/core/utils/app-base-href.initializer.ts","./src/app/core/utils/app-config.initializer.ts","./src/app/core/utils/app.injector.ts","./src/app/core/utils/global.ts","./src/app/core/utils/session-restore.error.ts","./src/app/core/validators/email.validator.ts","./src/app/http/error/http-form-response.error.ts","./src/app/http/error/http-response.error.ts","./src/app/http/http.module.ts","./src/app/http/interceptors/index.ts","./src/app/http/interceptors/loader.interceptor.ts","./src/app/http/interceptors/logger.interceptor.ts","./src/app/http/interceptors/refresh-token.interceptor.ts","./src/app/http/interceptors/request.interceptor.ts","./src/app/http/interceptors/response.interceptor.ts","./src/app/http/interceptors/retry.interceptor.ts","./src/app/http/interceptors/timeout.interceptor.ts","./src/app/http/services/default-http-logger.service.ts","./src/app/http/services/http-logger.dependency.ts","./src/app/http/services/js-object-json-mapper.service.ts","./src/app/http/services/json-mapper.dependency.ts","./src/app/http/services/loader.service.ts","./src/app/http/services/request-handler.dependency.ts","./src/app/http/services/response-handler.dependency.ts","./src/app/http/services/rest-client.service.ts","./src/app/modules/authentication/data/mappers/login.mapper.ts","./src/app/modules/authentication/data/models/end-session.out.model.ts","./src/app/modules/authentication/data/models/registration-with-case.out.model.ts","./src/app/modules/authentication/data/models/registration.out.model.ts","./src/app/modules/authentication/data/models/update-email.in.model.ts","./src/app/modules/authentication/data/models/update-email.out.model.ts","./src/app/modules/authentication/data/models/update-password.in.model.ts","./src/app/modules/authentication/data/models/update-password.out.model.ts","./src/app/modules/authentication/data/models/validate-member-out.model.ts","./src/app/modules/authentication/data/models/validate-userid-out.model.ts","./src/app/modules/authentication/data/repositories/login.repository.ts","./src/app/modules/authentication/data/usecases/update-email.usecase.ts","./src/app/modules/authentication/data/usecases/update-password.usecase.ts","./src/app/modules/schematic/guards/schematic.guard.ts","./src/app/reactive-form/directives/root-form-manager/root-form-manager.directive.ts","./src/app/reactive-form/errors/form-response.error.ts","./src/app/reactive-form/errors/form-validation.error.ts","./src/app/reactive-form/form-root.module.ts","./src/app/reactive-form/services/form-response-handler.dependency.ts","./src/app/shared/components/base-form.component.ts","./src/app/shared/components/base-responsive.component.ts","./src/app/shared/components/change-email/change-email.component.ts","./src/app/shared/components/change-password/change-password.component.ts","./src/app/shared/components/collapsible/collapsible.component.ts","./src/app/shared/components/confirm-toast/confirm-toast.component.ts","./src/app/shared/components/dropdown/dropdown.component.ts","./src/app/shared/components/focusable-text/focusable-text.component.ts","./src/app/shared/components/form-button/form-button.component.ts","./src/app/shared/components/form-dialog/form-dialog.component.ts","./src/app/shared/components/global-message/global-message.component.ts","./src/app/shared/components/grid/grid.component.ts","./src/app/shared/components/info-banner/info-banner.component.ts","./src/app/shared/components/input-group/input-group.component.ts","./src/app/shared/components/progress/progress.component.ts","./src/app/shared/components/scrollable-grid-adapter/scrollable-grid-adapter.component.ts","./src/app/shared/components/switcher/switcher.component.ts","./src/app/shared/components/tab-menu/tab-menu.component.ts","./src/app/shared/components/update-profile/update-profile.component.ts","./src/app/shared/components/user-info/user-info.component.ts","./src/app/shared/directives/abs-structural.directive.ts","./src/app/shared/directives/content-template.directive.ts","./src/app/shared/directives/date-input-scanner.directive.ts","./src/app/shared/directives/error-renderer.directive.ts","./src/app/shared/directives/if-not-route.directive.ts","./src/app/shared/directives/if-not-session.directive.ts","./src/app/shared/directives/if-session.directive.ts","./src/app/shared/directives/if-user.directive.ts","./src/app/shared/directives/input-keyfilter-scanner.directive.ts","./src/app/shared/directives/input-mask-scanner.directive.ts","./src/app/shared/directives/native-form-controller.directive.ts","./src/app/shared/directives/password-scanner.directive.ts","./src/app/shared/directives/scrollabe-grid-manager.directive.ts","./src/app/shared/models/popup-message.model.ts","./src/app/shared/pipes/phone.pipe.ts","./src/app/shared/pipes/ssn.pipe.ts","./src/app/shared/pipes/zipcode.pipe.ts","./src/app/shared/shared.module.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","export default \"\\n\\n\\n\\n\\n\\n
\\n \\n
\\n\\n\\n\\n\\n\\n\\n\"","export default \"\\n\\n
\\n

DHHS-DSER

\\n\\n
\\n Information Systems - Customer Portal\\n
\\n
\\n\\n
\\n\\n
\\n Maine - Customer Portal Website\\n
\\n\"","export default \"

\\n Please note DSER reserves the right to restrict user access on the Customer\\n Portal Website if services are abused. Restricted sections will be grayed out\\n and cannot be accessed through any navigation links.\\n

\\n\"","export default \"
\\n \\n
\\n\"","export default \"
\\n
\\n \\n \\n \\n\\n
\\n \\n {{\\n _caseCreationActive\\n ? \\\"Go to Dashboard\\\"\\n : \\\"Go to Application for Child Support Services\\\"\\n }}\\n \\n\\n \\n
\\n
\\n\\n
\\n \\n\\n
\\n {{\\n _today | date: \\\"EEEE, MMMM d, y\\\"\\n }}\\n
\\n
\\n\\n \\n
\\n\\n\\n\"","export default \"\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","export default \"\\n

\\n {{ config.Message }}\\n

\\n\\n \\n \\n\\n \\n \\n\\n\"","export default \"\\n

\\n {{ _pageTitle }}\\n

\\n\\n
\\n \\n
\\n\\n \\n \\n \\n\\n\"","export default \"
\\n
\\n
Oops...
\\n
404
\\n
PAGE NOT FOUND
\\n
\\n\"","export default \"
\\n
    \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n
\\n
\\n\\n\\n \\n\\n\\n\\n \\n\\n\\n\\n \\n\\n\"","export default \"\\n
\\n
\\n

\\n Your Session will Expire in {{ _secondsRemaining }} seconds and You will\\n be redirected to Login Page. Please click OK to extend your session.\\n Time: {{ _time | date: \\\"hh:mm:ss a\\\" }}\\n

\\n
\\n\\n
\\n \\n
\\n
\\n\\n\"","export default \"
\\n
\\n \\n
\\n
UNDER
\\n
MAINTENANCE
\\n
We will back shortly
\\n
\\n\"","export default \"
\\n \\n
\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n
\\n \\n
\\n\"","export default \"
\\n \\n
\\n
\\n \\n Passwords are case sensitive\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n Click here\\n for Password Rules\\n
\\n\\n
\\n \\n
\\n
\\n \\n
\\n\\n\\n
\\n
    \\n
  • ** Your password cannot contain your username.
  • \\n
  • \\n ** Your password cannot contain a reversed version of your username\\n
  • \\n
  • ** Your password must be at least 8 characters long.
  • \\n
  • ** Your password cannot be more than 16 characters long.
  • \\n
  • \\n ** Your password must be entered a second time, exactly as the first\\n time, to prevent any errors.\\n
  • \\n
\\n
\\n\\n\"","export default \"\\n \\n\\n\\n\\n \\n\\n\"","export default \"\\n \\n
\\n
\\n \\n
\\n\\n
\\n \\n
\\n
\\n
\\n\\n\"","export default \"
\\n
\\n {{ label\\n }}*\\n\\n \\n \\n {{ item.label }}\\n \\n \\n {{\\n option.label\\n }}\\n \\n \\n
\\n
\\n\"","export default \"\\n \\n {{ value }}\\n\\n\"","export default \"
\\n \\n
\\n\\n
\\n \\n
\\n\"","export default \"\\n \\n\\n
\\n \\n
\\n\\n\"","export default \"\\n\"","export default \"\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n

\\n {{ emptyMessage }}\\n

\\n \\n \\n
\\n\\n\\n\\n \\n {{\\n col.header\\n }}\\n\\n \\n \\n\\n\\n\\n {{ col.header }}\\n\\n\\n\\n \\n \\n\\n \\n\\n \\n\\n {{ value }}\\n \\n \\n\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\n \\n {{ label }}\\n *\\n\\n
\\n \\n \\n \\n\\n \\n\\n \\n\\n \\n \\n \\n
\\n
\\n\\n\\n\\n \\n\\n \\n \\n\\n\"","export default \"\\n \\n\"","export default \"
\\n \\n
\\n\\n\\n \\n\\n \\n\\n\"","export default \"
\\n \\n
\\n\\n
\\n \\n \\n
\\n\\n\\n\\n\"","export default \"\\n \\n
\\n \\n
\\n
\\n
\\n\\n\\n \\n\\n\\n\\n \\n \\n
\\n
\\n {{ item.label }}\\n
\\n\\n \\n
\\n \\n
\\n \\n
\\n
\\n \\n
\\n\"","export default \"\\n \\n
\\n \\n
\\n
\\n\\n \\n
\\n
\\n\\n\"","export default \"
\\n
\\n \\n
\\n\\n
\\n {{ _userName }}
{{\\n _today | date: \\\"EEEE, MMMM d, y\\\"\\n }}\\n
\\n\\n \\n
\\n\\n\\n \\n\\n\"","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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 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) : new P(function (resolve) { resolve(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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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\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\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 __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\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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = 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","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { PageNotFoundComponent } from './core/components/page-not-found/page-not-found.component';\nimport { SessionGuard } from './core/guards/session.guard';\nimport { AuthGuard } from './core/guards/auth.guard';\nimport {\n AppPreloadingStrategy,\n PreloadCheckpoint,\n} from './core/services/app-preloading-strategy.service';\nimport { SchematicGuard } from './modules/schematic/guards/schematic.guard';\nimport { DashboardGuard } from './core/guards/dashboard.guard';\nimport { SiteUnderMaintananceComponent } from './core/components/site-under-maintanance/site-under-maintanance.component';\nimport { UnreachableGuard } from './core/guards/unreachable.guard';\n\nconst DISCLAIMER = `Please note DSER reserves the right to restrict user access on the Customer Portal Website\nif services are abused. Restricted sections will be grayed out and cannot be accessed through any navigation links.\nIf you have questions or concerns regarding your site access,\nplease contact DSER Customer Service at 1-800-371-7179 or 207-624-7830 or email Case.Review@maine.gov`;\n\nconst routes: Routes = [\n {\n path: 'auth',\n canLoad: [AuthGuard],\n loadChildren: () =>\n import('./modules/authentication/authentication.module').then(\n (mod) => mod.AuthenticationModule\n ),\n },\n {\n path: 'case-creation',\n canActivate: [SessionGuard],\n loadChildren: () =>\n import('./modules/case-creation/case-creation.module').then(\n (mod) => mod.CaseCreationModule\n ),\n },\n {\n path: 'dashboard',\n canActivate: [SessionGuard, DashboardGuard],\n loadChildren: () =>\n import('./modules/dashboard/dashboard.module').then(\n (mod) => mod.DashboardModule\n ),\n data: {\n preloadCheckpointName: PreloadCheckpoint.DASHBOARD,\n disclaimer: DISCLAIMER,\n },\n },\n {\n path: 'others',\n loadChildren: () =>\n import('./modules/misc/misc.module').then((mod) => mod.MiscModule),\n data: {\n preload: true,\n },\n },\n {\n path: 'accessibility',\n canLoad: [SchematicGuard],\n loadChildren: () =>\n import('./modules/schematic/schematic.module').then(\n (mod) => mod.SchematicModule\n ),\n },\n {\n path: 'maintanance',\n canActivate: [UnreachableGuard],\n component: SiteUnderMaintananceComponent,\n data: {\n page: 404,\n },\n },\n {\n path: '',\n redirectTo: 'auth',\n pathMatch: 'full',\n },\n {\n path: '**',\n component: PageNotFoundComponent,\n data: {\n page: 404,\n },\n },\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(routes, {\n preloadingStrategy: AppPreloadingStrategy,\n scrollPositionRestoration: 'enabled',\n useHash: false,\n }),\n ],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { Component, Self, ViewChild } from '@angular/core';\nimport { BaseResponsiveComponent } from './shared/components/base-responsive.component';\nimport { LoaderService } from './http/services/loader.service';\nimport { Subscription } from 'rxjs';\nimport { delay } from 'rxjs/operators';\nimport { GlobalKeyEventHandler } from './core/key-shortcuts/global-key-event-handler.service';\nimport { GlobalKeyEventSpectator } from './core/key-shortcuts/base/global-key-event-spectator.service';\nimport { ObserveRouterEvents } from './core/decorators/router-events-observer.decorator';\nimport {\n Event as RouterEvent,\n RouteConfigLoadStart,\n RouteConfigLoadEnd,\n} from '@angular/router';\nimport { SessionSpectatorComponent } from './core/components/session-spectator/session-spectator.component';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n viewProviders: [GlobalKeyEventSpectator, GlobalKeyEventHandler],\n})\nexport class AppComponent extends BaseResponsiveComponent {\n _dataLoader = false;\n _moduleLoader = false;\n\n @ViewChild(SessionSpectatorComponent, { static: false })\n _spectator: SessionSpectatorComponent;\n\n private _loaderSubscription: Subscription;\n\n constructor(\n private _loaderService: LoaderService,\n @Self() private _eventHandler: GlobalKeyEventHandler\n ) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._eventHandler.registerEvents();\n\n this._loaderSubscription = this._loaderService.onStateChanges$\n .pipe(delay(0))\n .subscribe((visible) => {\n this._spectator.reset();\n this._dataLoader = visible;\n });\n }\n\n @ObserveRouterEvents([RouteConfigLoadStart, RouteConfigLoadEnd])\n _onRouterEvents(event: RouterEvent): void {\n this._moduleLoader = event instanceof RouteConfigLoadStart;\n }\n\n ngOnDestroy(): void {\n this._eventHandler.unregisterEvents();\n }\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule, Injector, APP_INITIALIZER } from '@angular/core';\nimport { CurrencyPipe } from '@angular/common';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport './core/prototypes/index';\n\n// NV-KIDS modules\nimport { NVCommonModule } from '@nvkids/common';\nimport { HttpServiceModule } from '@nvkids/http';\nimport { PrimeNgModule } from '@nvkids/primeng';\nimport { StorageModule, StorageMedium } from '@nvkids/storage';\nimport { UibaseModule } from '@nvkids/uibase';\nimport { CustomComponentModule } from '@nvkids/custom-component';\nimport { ValidationModule } from '@nvkids/validation';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { appInjector } from './core/utils/app.injector';\nimport { CoreModule } from './core/core.module';\nimport { HttpModule } from './http/http.module';\nimport { SharedModule } from './shared/shared.module';\nimport { DeviceDetectorModule } from 'ngx-device-detector';\nimport { appConfigLoader } from './core/utils/app-config.initializer';\nimport { baseHrefVerifier } from './core/utils/app-base-href.initializer';\n\n@NgModule({\n declarations: [AppComponent],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n AppRoutingModule,\n CoreModule,\n HttpModule,\n SharedModule,\n NVCommonModule,\n PrimeNgModule,\n UibaseModule,\n HttpServiceModule.forRoot({\n apiUrl: '',\n serviceRetryLimit: 0,\n timeToReconnect: 0,\n service2Cache: null,\n }),\n StorageModule.forRoot({\n applicationName: '',\n storageMedium: StorageMedium.localStorage,\n }),\n CustomComponentModule,\n ValidationModule,\n DeviceDetectorModule.forRoot(),\n ],\n providers: [\n {\n provide: APP_INITIALIZER,\n useValue: baseHrefVerifier,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n useValue: appConfigLoader,\n multi: true,\n },\n\n CurrencyPipe,\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {\n constructor(injector: Injector) {\n appInjector(injector);\n }\n}\n","import {Component, ChangeDetectionStrategy} from '@angular/core';\n\n@Component({\n selector: 'app-dhhs-logo',\n templateUrl: './dhhs-logo.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DhhsLogoComponent {}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'app-disclaimer',\n templateUrl: './disclaimer.component.html',\n})\nexport class DisclaimerComponent {}\n","import {Component, ChangeDetectionStrategy} from '@angular/core';\nimport {MenuItem} from 'primeng/api';\nimport {AppRoutes} from '../../services/app-routes.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FooterComponent {\n _menus: MenuItem[];\n\n constructor(private _routes: AppRoutes) {\n this._initMenus();\n }\n\n private _initMenus(): void {\n const {ACCESSIBILITY, SITEMAP} = this._routes.absolute.schematics();\n\n this._menus = [\n {\n label: 'Accessibility',\n routerLink: ACCESSIBILITY,\n },\n {\n label: 'Site Map',\n routerLink: SITEMAP,\n },\n ];\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { BaseResponsiveComponent } from 'src/app/shared/components/base-responsive.component';\nimport {\n HeaderMenuListener,\n HeaderMenu,\n} from '../../services/header-menu-listener.service';\nimport { NavigationEnd } from '@angular/router';\nimport { ObserveRouterEvents } from '../../decorators/router-events-observer.decorator';\nimport { AppRoutes } from '../../services/app-routes.service';\nimport { ObserveModule } from '../../decorators/module-observer.decorator';\nimport { Module } from '../../services/module-manager.service';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeaderComponent extends BaseResponsiveComponent {\n _today = new Date();\n _isMiscRoute: boolean;\n _caseCreationActive: boolean;\n\n constructor(\n changeDecRef: ChangeDetectorRef,\n private _menuLister: HeaderMenuListener,\n private _routes: AppRoutes\n ) {\n super(changeDecRef);\n this._isMiscRoute =\n this._routes.isMiscellaneousRouteActive() ||\n this._routes.isAccessibilityRouteActive();\n }\n\n _onMenuClick(): void {\n this._menuLister.emitMenuEvent(HeaderMenu.NAVIGATION_MENU);\n }\n\n _onApplicationClick(): void {\n if (this._caseCreationActive) this._routes.openDashboard();\n else this._routes.openCaseCreation();\n }\n\n @ObserveRouterEvents([NavigationEnd])\n private _onRouteEvent(): void {\n if (this.isSmallScreen)\n this._isMiscRoute =\n this._routes.isMiscellaneousRouteActive() ||\n this._routes.isAccessibilityRouteActive();\n }\n\n @ObserveModule()\n private _onModuleChanges(module: Module): void {\n this._caseCreationActive = module === Module.CASE_CREATION;\n this.changeDecRef.markForCheck();\n }\n\n get routes(): AppRoutes {\n return this._routes;\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { MenuItem } from '@nvkids/common';\r\nimport { loadUrlOnNewWindow } from '../../utils/global';\r\nimport { SessionManager } from '../../services/session-manager.service';\r\nimport { AppRoutes } from '../../services/app-routes.service';\r\nimport { ScreenManager, Screen } from '../../services/screen-manager.service';\r\nimport {\r\n HeaderMenuListener,\r\n HeaderMenu,\r\n} from '../../services/header-menu-listener.service';\r\nimport { ModuleManager, Module } from '../../services/module-manager.service';\r\n\r\n@Injectable()\r\nexport class MenuService {\r\n private _menuBuilder: HeaderMenuBuilder;\r\n private _menus: MenuItem[];\r\n private _store = {};\r\n\r\n constructor(\r\n private _sessionManager: SessionManager,\r\n private _screenManager: ScreenManager,\r\n private _moduleManager: ModuleManager,\r\n routes: AppRoutes,\r\n headerMenu: HeaderMenuListener\r\n ) {\r\n this._menuBuilder = new HeaderMenuBuilder(routes, headerMenu);\r\n this._buildStore();\r\n }\r\n\r\n getMenu(small: boolean): MenuItem[] {\r\n const { activeModule } = this._moduleManager;\r\n\r\n const {\r\n routeHistory: { current: currScreen },\r\n } = this._screenManager;\r\n\r\n if (this._sessionManager.hasActiveSession) {\r\n if (this._sessionManager.user.existing) {\r\n const shouldRenderCaseCreationMenu =\r\n activeModule === Module.CASE_CREATION;\r\n if (shouldRenderCaseCreationMenu)\r\n this._menus = this._store[\r\n small ? 'dashboardCaseCreationSmall' : 'caseCreation'\r\n ];\r\n else this._menus = this._store[small ? 'dashboardSmall' : 'dashboard'];\r\n } else {\r\n if (this._sessionManager.user.newish)\r\n this._menus = this._store[\r\n small ? 'caseCreationSmall' : 'caseCreation'\r\n ];\r\n }\r\n } else {\r\n if (currScreen === Screen.MISCELLANEOUS)\r\n this._menus = this._store['misc'];\r\n else this._menus = this._store['primary'];\r\n }\r\n return this._menus;\r\n }\r\n\r\n private _buildStore(): void {\r\n const primary = this._menuBuilder.glossary().fcs().faq().mmc().b();\r\n\r\n const misc = this._menuBuilder\r\n .glossary()\r\n .fcs()\r\n .faq()\r\n .mmc()\r\n .print()\r\n .login()\r\n .b();\r\n\r\n const caseCreation = this._menuBuilder\r\n .home('caseCreation')\r\n .glossary()\r\n .fcs()\r\n .faq()\r\n .mmc()\r\n .file()\r\n .print()\r\n .b();\r\n\r\n const caseCreationSmall = this._menuBuilder\r\n .home('caseCreation')\r\n .disclaimer()\r\n .glossary()\r\n .fcs()\r\n .faq()\r\n .mmc()\r\n .file()\r\n .print()\r\n .b();\r\n\r\n const dashboard = this._menuBuilder\r\n .home('dashboard')\r\n .glossary()\r\n .fcs()\r\n .faq()\r\n .mmc()\r\n .print()\r\n .b();\r\n\r\n const dashboardSmall = this._menuBuilder\r\n .caseCreationForm()\r\n .home('dashboard')\r\n .disclaimer()\r\n .glossary()\r\n .fcs()\r\n .faq()\r\n .mmc()\r\n .print()\r\n .b();\r\n\r\n const dashboardCaseCreationSmall = this._menuBuilder\r\n .dashboard()\r\n .home('caseCreation')\r\n .disclaimer()\r\n .glossary()\r\n .fcs()\r\n .faq()\r\n .mmc()\r\n .file()\r\n .print()\r\n .b();\r\n\r\n this._store['primary'] = primary;\r\n this._store['misc'] = misc;\r\n this._store['caseCreation'] = caseCreation;\r\n this._store['caseCreationSmall'] = caseCreationSmall;\r\n this._store['dashboard'] = dashboard;\r\n this._store['dashboardSmall'] = dashboardSmall;\r\n this._store['dashboardCaseCreationSmall'] = dashboardCaseCreationSmall;\r\n }\r\n\r\n get menus(): MenuItem[] {\r\n return this._menus;\r\n }\r\n}\r\n\r\nexport class HeaderMenuBuilder {\r\n private _menus: MenuItem[] = [];\r\n\r\n constructor(\r\n private _routes: AppRoutes,\r\n private _headerMenu: HeaderMenuListener\r\n ) {}\r\n\r\n caseCreationForm(): HeaderMenuBuilder {\r\n this._menus.push({\r\n label: 'Go to Application for Child Support Services',\r\n routerLink: this._routes.absolute.caseCreation().HOME,\r\n });\r\n return this;\r\n }\r\n\r\n dashboard(): HeaderMenuBuilder {\r\n this._menus.push({\r\n label: 'Go to Dashboard',\r\n routerLink: this._routes.absolute.dashboard().ROOT,\r\n });\r\n return this;\r\n }\r\n\r\n home(type: 'caseCreation' | 'dashboard'): HeaderMenuBuilder {\r\n let path = '';\r\n if (type === 'caseCreation')\r\n path = this._routes.absolute.caseCreation().HOME;\r\n else path = this._routes.absolute.dashboard().HOME;\r\n\r\n this._menus.push({\r\n label: 'Home',\r\n routerLink: path,\r\n command: this._headerMenu.emitMenuEvent.bind(\r\n this._headerMenu,\r\n HeaderMenu.HOME\r\n ),\r\n routerLinkActiveOptions: { exact: 'true' },\r\n });\r\n return this;\r\n }\r\n\r\n disclaimer(): HeaderMenuBuilder {\r\n this._menus.push({\r\n label: 'Disclaimer',\r\n });\r\n return this;\r\n }\r\n\r\n print(): HeaderMenuBuilder {\r\n this._menus.push({\r\n label: 'Print',\r\n command: () => {\r\n window.print();\r\n },\r\n });\r\n return this;\r\n }\r\n\r\n file(): HeaderMenuBuilder {\r\n this._menus.push({\r\n label: 'File Upload',\r\n command: this._headerMenu.emitMenuEvent.bind(\r\n this._headerMenu,\r\n HeaderMenu.FILE_UPLOAD\r\n ),\r\n routerLink: this._routes.absolute.caseCreation().FILE_UPLOAD,\r\n });\r\n return this;\r\n }\r\n\r\n login(): HeaderMenuBuilder {\r\n this._menus.push({\r\n label: 'Login',\r\n routerLink: this._routes.absolute.auth().ROOT,\r\n });\r\n return this;\r\n }\r\n\r\n glossary(): HeaderMenuBuilder {\r\n this._menus.push({\r\n label: 'Glossary',\r\n routerLink: this._routes.absolute.misc().GLOSSARY,\r\n routerLinkActiveOptions: { exact: 'true' },\r\n });\r\n return this;\r\n }\r\n\r\n fcs(): HeaderMenuBuilder {\r\n this._menus.push({\r\n label: 'Federal Child Support',\r\n command: loadUrlOnNewWindow.bind(null, 'https://www.acf.hhs.gov/css'),\r\n });\r\n return this;\r\n }\r\n\r\n faq(): HeaderMenuBuilder {\r\n this._menus.push({\r\n label: 'FAQs',\r\n routerLink: this._routes.absolute.misc().FAQ,\r\n routerLinkActiveOptions: { exact: 'true' },\r\n });\r\n return this;\r\n }\r\n\r\n /**\r\n * @todo Remove\r\n */\r\n contact(): HeaderMenuBuilder {\r\n this._menus.push({\r\n label: 'Contact Us',\r\n routerLink: this._routes.absolute.misc().CONTACT,\r\n routerLinkActiveOptions: { exact: 'true' },\r\n });\r\n return this;\r\n }\r\n\r\n mmc(): HeaderMenuBuilder {\r\n this._menus.push({\r\n label: 'My Maine Connection',\r\n command: loadUrlOnNewWindow.bind(\r\n null,\r\n 'https://www1.maine.gov/benefits/account/login.html'\r\n ),\r\n });\r\n return this;\r\n }\r\n\r\n b(): MenuItem[] {\r\n const menus = this._menus;\r\n this._menus = [];\r\n return menus;\r\n }\r\n}\r\n","import {\n Component,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Self,\n} from '@angular/core';\nimport { MenuItem } from 'primeng/api';\nimport { BaseResponsiveComponent } from '../../../shared/components/base-responsive.component';\nimport { SessionManager } from '../../services/session-manager.service';\nimport { Subscription, merge } from 'rxjs';\nimport { MenuService } from './menu.service';\nimport { ScreenManager } from '../../services/screen-manager.service';\nimport { ModuleManager } from '../../services/module-manager.service';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'app-menubar',\n templateUrl: './menubar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n viewProviders: [MenuService],\n})\nexport class MenubarComponent extends BaseResponsiveComponent {\n _menus: MenuItem[];\n _showDisclaimer: boolean;\n\n private _subscribtion: Subscription;\n\n constructor(\n changeDecRef: ChangeDetectorRef,\n private _sessionManager: SessionManager,\n private _screenManager: ScreenManager,\n private _moduleManager: ModuleManager,\n @Self() private _menuService: MenuService\n ) {\n super(changeDecRef);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._menus = this._menuService.getMenu(false);\n\n const screen$ = this._screenManager.screenChanges.pipe(\n filter(() => !this._sessionManager.hasActiveSession)\n );\n\n const module$ = this._moduleManager.moduleChanges.pipe(\n filter(() => this._sessionManager.hasActiveSession)\n );\n\n this._subscribtion = merge(screen$, module$).subscribe(\n this._updateMenu.bind(this)\n );\n }\n\n protected onBreakpointChanges(): void {\n this._updateMenu();\n }\n\n private _updateMenu(): void {\n this._menus = this._menuService.getMenu(this.isSmallScreen);\n this.changeDecRef.markForCheck();\n }\n\n get menus(): MenuItem[] {\n if (this._menus) {\n const disclaimer = this._menus.find((m) => m.label === 'Disclaimer');\n if (disclaimer)\n disclaimer.command = () => {\n this._showDisclaimer = true;\n };\n }\n return this._menus;\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { loadUrlOnNewWindow } from '../../utils/global';\nimport { MobileConfig } from '../../directives/os-gateway.directive';\n\n@Component({\n selector: 'app-native-app-store-info',\n templateUrl: './native-app-store-info.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NativeAppStoreInfoComponent implements OnInit {\n _visible = false;\n @Input() config: MobileConfig;\n @Input() skipCallback: Function;\n\n ngOnInit(): void {\n this._visible = true;\n }\n\n _onSkip(): void {\n this._visible = false;\n this.skipCallback();\n }\n\n _onDownload(): void {\n loadUrlOnNewWindow(this.config.StoreLink);\n }\n\n}\n","import {\n Component,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { BaseResponsiveComponent } from '../../../shared/components/base-responsive.component';\nimport { ObserveRouterEvents } from '../../decorators/router-events-observer.decorator';\nimport { NavigationEnd, ActivatedRoute } from '@angular/router';\nimport { ObserveSession } from '../../decorators/session-observer.decorator';\nimport { AppRoutes } from '../../services/app-routes.service';\n\n@Component({\n selector: 'app-page-header',\n templateUrl: './page-header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PageHeaderComponent extends BaseResponsiveComponent {\n _pageTitle: string;\n _canExpand: boolean;\n _hasActiveSession: boolean;\n\n constructor(\n changeDecRef: ChangeDetectorRef,\n private _route: ActivatedRoute,\n private _routes: AppRoutes\n ) {\n super(changeDecRef);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._pageTitle = this._parsePageTitle(this._route);\n this._checkRoute();\n }\n\n @ObserveSession()\n private _onSessionChanges({ isInitialized }): void {\n this._hasActiveSession = isInitialized;\n this.changeDecRef.markForCheck();\n }\n\n @ObserveRouterEvents([NavigationEnd])\n private _onRouteChanges(): void {\n this._checkRoute();\n this._pageTitle = this._parsePageTitle(this._route);\n this.changeDecRef.markForCheck();\n }\n\n private _parsePageTitle(\n activatedRoute: ActivatedRoute,\n prevTitle: string = ''\n ): string {\n const title = activatedRoute.snapshot.data['title'];\n const firstChild = activatedRoute.firstChild;\n if (firstChild) return this._parsePageTitle(firstChild, title || prevTitle);\n else return title || prevTitle;\n }\n\n private _checkRoute(): void {\n this._canExpand =\n this._routes.router.url === '/' ||\n this._routes.isMiscellaneousRouteActive() ||\n this._routes.isAccessibilityRouteActive() ||\n this._routes.isActive(this._routes.absolute.caseCreation().ROOT) ||\n this._route.isArbitrary();\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'app-page-not-found',\n templateUrl: './page-not-found.component.html',\n})\nexport class PageNotFoundComponent {}\n","import {\n Component,\n ChangeDetectorRef,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { BaseResponsiveComponent } from '../../../shared/components/base-responsive.component';\nimport { AppRoutes } from '../../services/app-routes.service';\n\n@Component({\n selector: 'app-right-menu',\n templateUrl: './right-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RightMenuComponent extends BaseResponsiveComponent {\n constructor(changeDecRef: ChangeDetectorRef, private _routes: AppRoutes) {\n super(changeDecRef);\n }\n\n get routes(): AppRoutes {\n return this._routes;\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Self,\n OnInit,\n OnDestroy,\n HostListener,\n} from '@angular/core';\nimport { timer, Subscription, interval } from 'rxjs';\nimport { ExtendSessionUsecase } from '../../data/usecases/extend-session.usecase';\nimport { RxJsUnsubscribe } from '../../decorators/rxjs-unsubscribe.decorator';\nimport { ObserveSession } from '../../decorators/session-observer.decorator';\nimport { switchMap, tap, map, last, take, delay } from 'rxjs/operators';\nimport {\n SessionManager,\n SessionTerminationMessage,\n} from '../../services/session-manager.service';\nimport { ExtendSessionIn } from '../../data/models/extend-session.in.model';\nimport { VOID_FUNCTION, diffMinutes } from '../../utils/global';\nimport { CookieManager } from '../../services/cookie-manager.service';\n\n@Component({\n selector: 'app-session-spectator',\n templateUrl: './session-spectator.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n viewProviders: [ExtendSessionUsecase],\n})\n@RxJsUnsubscribe\nexport class SessionSpectatorComponent implements OnInit, OnDestroy {\n _showDialog: boolean;\n _secondsRemaining: number;\n _time: string;\n _timerStartTime: Date;\n\n private _spectateSubscription: Subscription;\n private _cookieSubscription: Subscription;\n private _extendSubscription: Subscription;\n\n constructor(\n private _changeDecRef: ChangeDetectorRef,\n private _sessionManager: SessionManager,\n @Self() private _sessionUsecase: ExtendSessionUsecase,\n private _cookie: CookieManager\n ) {}\n\n ngOnInit() {}\n\n reset(): void {\n if (!this._sessionManager.hasActiveSession) return;\n\n this._showDialog = false;\n if (this._spectateSubscription && !this._spectateSubscription.closed)\n this._spectateSubscription.unsubscribe();\n this._startSpectating();\n }\n\n _onOkPress(): void {\n this._showDialog = false;\n this._spectateSubscription.unsubscribe();\n this._extendSessionOnServer();\n this._updateSessionCookie();\n }\n\n @HostListener('window:beforeunload')\n _onWindowClose(): void {\n if (!this._sessionManager.hasActiveSession) return;\n this._updateSessionCookieByStarttime();\n }\n\n @ObserveSession()\n private _onSessionChanges({ isInitialized }): void {\n if (isInitialized) {\n this._startSpectating();\n this._startCookieUpdate();\n } else {\n this._stopSpectating();\n this._stopCookieUpdate();\n }\n }\n\n private _startSpectating(): void {\n this._timerStartTime = new Date();\n\n let secondsRemaining = 121;\n this._spectateSubscription = timer(\n SessionManager.SESSION_TIMEOUT,\n SessionManager.SESSION_TIMEOUT\n )\n .pipe(\n switchMap(() => interval(1000)),\n map(() => secondsRemaining--),\n take(120),\n tap(() => {\n this._secondsRemaining = secondsRemaining;\n if (secondsRemaining === 120) {\n this._time = new Date().toString();\n this._showDialog = true;\n }\n this._changeDecRef.markForCheck();\n }),\n last(),\n tap(() => {\n this._showDialog = false;\n this._changeDecRef.markForCheck();\n }),\n delay(0)\n )\n .subscribe(this._terminateSession.bind(this));\n }\n\n private _startCookieUpdate(): void {\n this._cookieSubscription = timer(\n SessionManager.SESSION_TIMEOUT,\n SessionManager.SESSION_TIMEOUT\n ).subscribe(() => {\n this._updateSessionCookie();\n });\n }\n\n private _terminateSession(): void {\n this._showDialog = false;\n this._timerStartTime = null;\n this._sessionManager.terminate(SessionTerminationMessage.EXPIRED);\n }\n\n private _extendSessionOnServer(): void {\n this._extendSubscription = this._sessionUsecase\n .execute(new ExtendSessionIn())\n .subscribe(VOID_FUNCTION, VOID_FUNCTION);\n }\n\n private _stopSpectating(): void {\n this._showDialog = false;\n if (this._spectateSubscription) this._spectateSubscription.unsubscribe();\n }\n\n private _stopCookieUpdate(): void {\n if (this._cookieSubscription) this._cookieSubscription.unsubscribe();\n }\n\n private _updateSessionCookie(minutes = 17): void {\n this._cookie.write(\n SessionManager.SESSION_COOKIE_NAME,\n this._sessionManager.user.userId,\n {\n 'max-age': minutes * 60,\n }\n );\n }\n\n private _updateSessionCookieByStarttime(): void {\n if (!this._timerStartTime) return;\n const terminationTime = new Date(\n this._timerStartTime.getTime() + 17 * 60000\n );\n this._updateSessionCookie(diffMinutes(terminationTime));\n }\n\n ngOnDestroy() {}\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-site-under-maintanance',\n templateUrl: './site-under-maintanance.component.html',\n})\nexport class SiteUnderMaintananceComponent {\n static ACCESS_KEY = 'Core.Components.SiteUnderMaintanance';\n}\n","import { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { MenuModule } from 'primeng/menu';\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\nimport { ButtonModule } from 'primeng/button';\n\nimport { throwIfModuleImported } from './utils/global';\nimport { BreakpointWatcher } from './services/breakpoint-watcher.service';\nimport { BreakpointBuilder } from './services/breakpoint-builder.service';\nimport { SessionManager } from './services/session-manager.service';\nimport { HeaderComponent } from './components/header/header.component';\nimport { PageHeaderComponent } from './components/page-header/page-header.component';\nimport { MenubarComponent } from './components/menubar/menubar.component';\nimport { DhhsLogoComponent } from './components/dhhs-logo/dhhs-logo.component';\nimport { RightMenuComponent } from './components/right-menu/right-menu.component';\nimport { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { HeaderMenuListener } from './services/header-menu-listener.service';\nimport { ErrorRendererDirective } from '../shared/directives/error-renderer.directive';\nimport { FooterComponent } from './components/footer/footer.component';\nimport { HTTP_RESPONSE_HANDLER } from '../http/services/response-handler.dependency';\nimport { AppHttpResponseHandler } from './services/app-http-response-handler.service';\nimport { HTTP_REQUEST_HANDLER } from '../http/services/request-handler.dependency';\nimport { AppHttpRequestHandler } from './services/app-http-request-handler.service';\nimport { FORM_RESPONSE_HANDLER } from '../reactive-form/services/form-response-handler.dependency';\nimport { AppFormResponseHandler } from './services/app-form-response-handler.service';\nimport { DisclaimerComponent } from './components/disclaimer/disclaimer.component';\nimport { DialogModule } from 'primeng/dialog';\nimport { UserInfoMapper } from './services/user-info-mapper.service';\nimport { AppMessageHandler } from './services/app-messsage-handler.service';\nimport { AccessibilityKeyEventObserver } from './key-shortcuts/accessibility-key-event-observer.service';\nimport { AppRoutes } from './services/app-routes.service';\nimport { ScreenManager } from './services/screen-manager.service';\nimport { LOCAL_STORE, LocalStore } from './store/local.store';\nimport { SESSION_STORE, SessionStore } from './store/session.store';\nimport { ModuleManager } from './services/module-manager.service';\nimport { FormKeyEventObserver } from './key-shortcuts/form-key-event-observer.service';\nimport { SiteUnderMaintananceComponent } from './components/site-under-maintanance/site-under-maintanance.component';\nimport { SessionSpectatorComponent } from './components/session-spectator/session-spectator.component';\nimport { CoreRepository } from './data/repositories/core.repository';\nimport { CustomComponentModule } from '@nvkids/custom-component';\nimport { HTTP_TIMEOUT } from '../http/interceptors/timeout.interceptor';\nimport { OsGatewayDirective } from './directives/os-gateway.directive';\nimport { CookieManager } from './services/cookie-manager.service';\nimport { NativeAppStoreInfoComponent } from './components/native-app-store-info/native-app-store-info.component';\n\n@NgModule({\n declarations: [\n HeaderComponent,\n PageHeaderComponent,\n MenubarComponent,\n DhhsLogoComponent,\n RightMenuComponent,\n PageNotFoundComponent,\n FooterComponent,\n DisclaimerComponent,\n SiteUnderMaintananceComponent,\n SessionSpectatorComponent,\n OsGatewayDirective,\n NativeAppStoreInfoComponent,\n ],\n imports: [\n CommonModule,\n BrowserAnimationsModule,\n MenuModule,\n OverlayPanelModule,\n ButtonModule,\n DialogModule,\n SharedModule,\n CustomComponentModule,\n ],\n providers: [\n BreakpointBuilder,\n BreakpointWatcher,\n SessionManager,\n ScreenManager,\n ModuleManager,\n HeaderMenuListener,\n UserInfoMapper,\n AppRoutes,\n AppMessageHandler,\n AccessibilityKeyEventObserver,\n FormKeyEventObserver,\n CoreRepository,\n CookieManager,\n { provide: HTTP_REQUEST_HANDLER, useClass: AppHttpRequestHandler },\n { provide: HTTP_RESPONSE_HANDLER, useClass: AppHttpResponseHandler },\n { provide: HTTP_TIMEOUT, useValue: 45000 },\n {\n provide: FORM_RESPONSE_HANDLER,\n useClass: AppFormResponseHandler,\n deps: [AppMessageHandler],\n },\n { provide: LOCAL_STORE, useClass: LocalStore },\n { provide: SESSION_STORE, useClass: SessionStore },\n ],\n exports: [\n HeaderComponent,\n ErrorRendererDirective,\n FooterComponent,\n SessionSpectatorComponent,\n OsGatewayDirective,\n NativeAppStoreInfoComponent,\n ],\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() module: CoreModule) {\n throwIfModuleImported(module, 'CoreModule');\n }\n}\n","import {JsonObject, JsonProperty} from 'json2typescript';\r\nimport {Case} from './case';\r\nimport {BaseServiceOut} from 'src/app/core/data/models/base-service.out.model';\r\n\r\n@JsonObject('AssociatedCasesOut')\r\nexport class AssociatedCasesOut extends BaseServiceOut {\r\n @JsonProperty('RecordsList', [Case])\r\n cases: Case[] = undefined;\r\n}\r\n","import {JsonObject, JsonProperty} from 'json2typescript';\r\nimport {BaseServiceOut} from './base-service.out.model';\r\n\r\n@JsonObject('BannerInfo')\r\nexport class BannerInfo extends BaseServiceOut {\r\n @JsonProperty('NotificationID', Number)\r\n notificationId: number = undefined;\r\n\r\n @JsonProperty('NotificationMessage', String)\r\n notificationMessage: string = undefined;\r\n}\r\n","import { JsonProperty, JsonObject } from 'json2typescript';\r\nimport { Status } from './status.model';\r\n\r\nexport function withBaseServiceOut(base: any) {\r\n class MixinClass extends base {\r\n @JsonProperty('StatusList', [Status])\r\n statusList: Status[] = undefined;\r\n\r\n @JsonProperty('ChildNumb', Number)\r\n childNumb: number = undefined;\r\n\r\n @JsonProperty('IamUserID', String)\r\n iamUserID?: string = undefined;\r\n\r\n @JsonProperty('LogonUser', String)\r\n logonUser?: string = undefined;\r\n }\r\n return MixinClass;\r\n}\r\n\r\n@JsonObject('BaseServiceOut')\r\nexport class BaseServiceOut {\r\n @JsonProperty('StatusList', [Status])\r\n statusList: Status[] = undefined;\r\n\r\n @JsonProperty('ChildNumb', Number)\r\n childNumb: number = undefined;\r\n\r\n @JsonProperty('IamUserID', String)\r\n iamUserID?: string = undefined;\r\n\r\n @JsonProperty('LogonUser', String)\r\n logonUser?: string = undefined;\r\n\r\n get userId(): string {\r\n return this.iamUserID || this.logonUser;\r\n }\r\n}\r\n","import {JsonObject, JsonProperty} from 'json2typescript';\r\n\r\n@JsonObject('Case')\r\nexport class Case {\r\n @JsonProperty('CaseIdno', String)\r\n caseIdno: string = undefined;\r\n}\r\n","import { JsonObject, JsonProperty } from 'json2typescript';\r\n\r\n@JsonObject(ExtendSessionIn)\r\nexport class ExtendSessionIn {\r\n @JsonProperty('LogonUser')\r\n logonUser: string = undefined;\r\n}\r\n","import { JsonObject, JsonProperty } from 'json2typescript';\r\nimport { BaseServiceOut } from './base-service.out.model';\r\n\r\n@JsonObject('ExtendSessionOut')\r\nexport class ExtendSessionOut extends BaseServiceOut {\r\n @JsonProperty('ReturnValue', String)\r\n date: string = undefined;\r\n}\r\n","import {JsonObject, JsonProperty} from 'json2typescript';\r\n\r\n@JsonObject('Status')\r\nexport class Status {\r\n @JsonProperty('Code', String)\r\n code: string = undefined;\r\n\r\n @JsonProperty('Description', String)\r\n description: string = undefined;\r\n\r\n @JsonProperty('RelatedField', String)\r\n relatedField: string = undefined;\r\n\r\n @JsonProperty('Row', Number)\r\n row: number = undefined;\r\n}\r\n","import { JsonObject, JsonProperty } from 'json2typescript';\r\nimport { BaseServiceOut } from './base-service.out.model';\r\n\r\nexport enum UserType {\r\n ADMIN,\r\n NEWISH,\r\n EXISTING,\r\n}\r\n\r\n@JsonObject('User')\r\nexport class User extends BaseServiceOut {\r\n kind: UserType;\r\n\r\n @JsonProperty('MemberMciIdno', String)\r\n memberMciIdno: string = undefined;\r\n\r\n @JsonProperty('CaseIdno', String)\r\n _caseIdno: string = undefined;\r\n\r\n @JsonProperty('LastName', String)\r\n lastName: string = undefined;\r\n\r\n @JsonProperty('FirstName', String)\r\n firstName: string = undefined;\r\n\r\n @JsonProperty('PinText', String)\r\n pinText: string = undefined;\r\n\r\n @JsonProperty('StatusCode', String)\r\n statusCode: string = undefined;\r\n\r\n @JsonProperty('ReasonCode', String)\r\n reasonCode: string = undefined;\r\n\r\n @JsonProperty('PinActivatedIndc', String)\r\n pinActivatedIndc: string = undefined;\r\n\r\n @JsonProperty('Ind_Cseme', String)\r\n indCseme: string = undefined;\r\n\r\n @JsonProperty('LastLoginDttm', String)\r\n lastLoginDttm: string = undefined;\r\n\r\n @JsonProperty('AuthenticationTicket', String)\r\n authenticationTicket: string = undefined;\r\n\r\n @JsonProperty('ModeCode', String)\r\n modeCode: string = undefined;\r\n\r\n @JsonProperty('CaseRelationshipCode', String)\r\n caseRelationshipCode: string = undefined;\r\n\r\n @JsonProperty('FullDisplayName', String)\r\n fullDisplayName: string = undefined;\r\n\r\n @JsonProperty('ResetPwdInd', String)\r\n resetPwdInd: string = undefined;\r\n\r\n @JsonProperty('UserType', String)\r\n _userType: string = undefined;\r\n\r\n _cases: string[] = [];\r\n\r\n set userType(value: string) {\r\n this._userType = value;\r\n if (value === 'A') this.kind = UserType.ADMIN;\r\n else if (value === 'N') this.kind = UserType.NEWISH;\r\n else this.kind = UserType.EXISTING;\r\n }\r\n\r\n get userType(): string {\r\n return this._userType;\r\n }\r\n\r\n set caseIdno(id: string) {\r\n this._caseIdno = id;\r\n if (id) this.cases = [id];\r\n }\r\n\r\n get caseIdno(): string {\r\n return this._caseIdno;\r\n }\r\n\r\n set cases(cases: string[]) {\r\n this._cases = cases;\r\n }\r\n\r\n get cases(): string[] {\r\n return this._cases;\r\n }\r\n\r\n get admin(): boolean {\r\n return this.kind === UserType.ADMIN;\r\n }\r\n\r\n get newish(): boolean {\r\n return this.kind === UserType.NEWISH;\r\n }\r\n\r\n get existing(): boolean {\r\n return this.kind === UserType.EXISTING;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { RestClient } from 'src/app/http/services/rest-client.service';\r\nimport { BannerInfo } from '../models/banner-info.model';\r\nimport { ExtendSessionOut } from '../models/extend-session.out.model';\r\nimport { ExtendSessionIn } from '../models/extend-session.in.model';\r\nimport { UserInfoMapper } from '../../services/user-info-mapper.service';\r\nimport { disableErrorMessageFor } from '../../utils/global';\r\nimport { BaseServiceIn } from '../models/base-service.in.model';\r\nimport { AssociatedCasesOut } from '../models/associated-cases.out.model';\r\n\r\n@Injectable()\r\nexport class CoreRepository {\r\n static ASSOCIATED_CASES = 'DynamicList/GetAssociatedCases';\r\n static BANNER = 'Authentication/GetBannerInfo';\r\n static SYSTEM_DATE = 'Anonymous/GetSystemDate';\r\n\r\n constructor(\r\n private _restClient: RestClient,\r\n private _userInfoMapper: UserInfoMapper\r\n ) {}\r\n\r\n getAssociatedCases(params: BaseServiceIn): Observable {\r\n return this._restClient.post(\r\n CoreRepository.ASSOCIATED_CASES,\r\n this._userInfoMapper.mapFrom(params),\r\n AssociatedCasesOut\r\n );\r\n }\r\n\r\n getBannerInfo(): Observable {\r\n disableErrorMessageFor(CoreRepository.BANNER);\r\n return this._restClient.post(\r\n CoreRepository.BANNER,\r\n null,\r\n BannerInfo\r\n );\r\n }\r\n\r\n extendSession(param: ExtendSessionIn): Observable {\r\n return this._restClient.post(\r\n CoreRepository.SYSTEM_DATE,\r\n this._userInfoMapper.mapFrom(param),\r\n ExtendSessionOut\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UseCase } from './use-case';\r\nimport { ExtendSessionIn } from '../models/extend-session.in.model';\r\nimport { ExtendSessionOut } from '../models/extend-session.out.model';\r\nimport { CoreRepository } from '../repositories/core.repository';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class ExtendSessionUsecase implements UseCase {\r\n constructor(private _repo: CoreRepository) {}\r\n\r\n execute(params: ExtendSessionIn): Observable {\r\n return this._repo.extendSession(params);\r\n }\r\n}\r\n","import {Observable} from 'rxjs';\r\nimport {InjectionToken, Type} from '@angular/core';\r\n\r\nexport interface UseCase {\r\n types?: [Type, Type];\r\n execute(params: IN): Observable;\r\n}\r\n\r\nexport const USE_CASE_FORM = new InjectionToken(\r\n 'Application Use Case Token For Form'\r\n);\r\n\r\nexport const USE_CASE_GRID = new InjectionToken(\r\n 'Application Use Case Token For Grid'\r\n);\r\n","import {appInjector} from '../utils/app.injector';\r\nimport {BreakpointWatcher} from '../services/breakpoint-watcher.service';\r\n\r\nexport function ObserveBreakpoints(breakpoints?: string[]): MethodDecorator {\r\n return (\r\n target: any,\r\n propertyKey: string,\r\n descriptor: PropertyDescriptor\r\n ): void => {\r\n const onInit = target.ngOnInit;\r\n\r\n const ngOnInit = function() {\r\n const breakpointWatcher = appInjector().get(BreakpointWatcher);\r\n const watcherFn = descriptor.value;\r\n\r\n const breakpointSubscription = breakpointWatcher\r\n .watch(breakpoints || breakpointWatcher.breakpointBuilder.default().b())\r\n .subscribe(bps => {\r\n watcherFn.call(this, {\r\n breakpoints: bps,\r\n watcher: breakpointWatcher,\r\n });\r\n });\r\n\r\n Object.defineProperty(this, '_breakpointSubscription$', {\r\n value: breakpointSubscription,\r\n writable: false,\r\n enumerable: true,\r\n configurable: false,\r\n });\r\n\r\n if (onInit) onInit.apply(this);\r\n };\r\n\r\n Object.defineProperty(target, 'ngOnInit', {\r\n value: ngOnInit,\r\n writable: true,\r\n enumerable: false,\r\n configurable: true,\r\n });\r\n };\r\n}\r\n","import { appInjector } from '../utils/app.injector';\r\nimport { ModuleManager } from '../services/module-manager.service';\r\n\r\nexport function ObserveModule(): MethodDecorator {\r\n return (\r\n target: any,\r\n propertyKey: string,\r\n descriptor: PropertyDescriptor\r\n ): void => {\r\n const onInit = target.ngOnInit;\r\n\r\n const ngOnInit = function () {\r\n const moduleManager = appInjector().get(ModuleManager);\r\n\r\n const fn = descriptor.value;\r\n\r\n const moduleSubscription = moduleManager.moduleChanges.subscribe(\r\n fn.bind(this)\r\n );\r\n\r\n Object.defineProperty(this, '_moduleChangesSubscription$', {\r\n value: moduleSubscription,\r\n writable: false,\r\n enumerable: true,\r\n configurable: false,\r\n });\r\n\r\n if (onInit) onInit.apply(this);\r\n };\r\n\r\n Object.defineProperty(target, 'ngOnInit', {\r\n value: ngOnInit,\r\n writable: true,\r\n enumerable: false,\r\n configurable: true,\r\n });\r\n };\r\n}\r\n","import { appInjector } from '../utils/app.injector';\r\nimport { Router, Event } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Type } from '@angular/core';\r\n\r\nexport function ObserveRouterEvents(events?: Type[]): MethodDecorator {\r\n return (\r\n target: any,\r\n propertyKey: string,\r\n descriptor: PropertyDescriptor\r\n ): void => {\r\n const onInit = target.ngOnInit;\r\n\r\n const ngOnInit = function () {\r\n const router = appInjector().get(Router);\r\n\r\n const fn = target[propertyKey];\r\n\r\n const routerEventsSubscription = router.events\r\n .pipe(\r\n filter((e) => (events ? events.some((_e) => e instanceof _e) : true))\r\n )\r\n .subscribe(fn.bind(this));\r\n\r\n Object.defineProperty(this, '_routerEventsSubscription$', {\r\n value: routerEventsSubscription,\r\n writable: false,\r\n enumerable: true,\r\n configurable: false,\r\n });\r\n\r\n if (onInit) onInit.apply(this);\r\n };\r\n\r\n Object.defineProperty(target, 'ngOnInit', {\r\n value: ngOnInit,\r\n writable: true,\r\n enumerable: false,\r\n configurable: true,\r\n });\r\n };\r\n}\r\n","import { Subscription } from 'rxjs';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nexport function RxJsUnsubscribe(constructor): void {\r\n const onDestroy = constructor.prototype.ngOnDestroy;\r\n\r\n const ngOnDestroy = function() {\r\n for (const prop in this) {\r\n const property = this[prop];\r\n if (property instanceof EventEmitter) continue;\r\n else if (property instanceof Subscription && !property.closed) {\r\n if (environment.environmentName === 'DEV')\r\n console.log('Unsubscribing from ', prop);\r\n property.unsubscribe();\r\n } else if (Array.isArray(property) && property.length) {\r\n if (!(property[0] instanceof Subscription)) continue;\r\n property.forEach((_property) => {\r\n if (_property instanceof Subscription && !_property.closed) {\r\n if (environment.environmentName === 'DEV')\r\n console.log('Unsubscribing from ', prop);\r\n _property.unsubscribe();\r\n }\r\n });\r\n }\r\n }\r\n if (onDestroy) onDestroy.apply(this);\r\n };\r\n\r\n Object.defineProperty(constructor.prototype, 'ngOnDestroy', {\r\n value: ngOnDestroy,\r\n writable: true,\r\n enumerable: false,\r\n configurable: true,\r\n });\r\n}\r\n","import {appInjector} from '../utils/app.injector';\r\nimport {SessionManager} from '../services/session-manager.service';\r\n\r\nexport function ObserveSession(): MethodDecorator {\r\n return (\r\n target: any,\r\n propertyKey: string,\r\n descriptor: PropertyDescriptor\r\n ): void => {\r\n const onInit = target.ngOnInit;\r\n\r\n const ngOnInit = function() {\r\n const sessionManager = appInjector().get(SessionManager);\r\n\r\n const fn = descriptor.value;\r\n\r\n const sessionSubscription = sessionManager.sessionChanges.subscribe(\r\n ({isInitialized, user}) => {\r\n fn.call(this, {isInitialized, user, sessionManager});\r\n }\r\n );\r\n\r\n Object.defineProperty(this, '_sessionChangesSubscription$', {\r\n value: sessionSubscription,\r\n writable: false,\r\n enumerable: true,\r\n configurable: false,\r\n });\r\n\r\n if (onInit) onInit.apply(this);\r\n };\r\n\r\n Object.defineProperty(target, 'ngOnInit', {\r\n value: ngOnInit,\r\n writable: true,\r\n enumerable: false,\r\n configurable: true,\r\n });\r\n };\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { KeyShortcut } from '../key-shortcuts/base/key-shortcut.model';\r\nimport { HardKey } from '../key-shortcuts/base/hard-key.enum';\r\n\r\nconst appShortcuts: KeyShortcut[] = [\r\n KeyShortcut.of([HardKey.ALT, HardKey.ZERO], 'Accessibility'),\r\n KeyShortcut.of([HardKey.ALT, HardKey.ONE], 'Home Page'),\r\n KeyShortcut.of([HardKey.ALT, HardKey.FIVE], 'FAQ'),\r\n // KeyShortcut.of([HardKey.ALT, HardKey.EIGHT], 'Contact Us'),\r\n KeyShortcut.of([HardKey.ALT, HardKey.G], 'Glossary'),\r\n KeyShortcut.of([HardKey.ALT, HardKey.L], 'Login and Logout'),\r\n KeyShortcut.of([HardKey.ALT, HardKey.N], 'Next Page'),\r\n KeyShortcut.of([HardKey.ALT, HardKey.P], 'Previous Page'),\r\n KeyShortcut.of([HardKey.ALT, HardKey.R], 'Clear'),\r\n KeyShortcut.of(\r\n [HardKey.ALT, HardKey.S],\r\n 'Submit, Save, View, Send, Add, Submit Payment'\r\n ),\r\n KeyShortcut.of([HardKey.ALT, HardKey.U], 'File Upload'),\r\n];\r\n\r\nconst dashboardShortcuts: KeyShortcut[] = [\r\n KeyShortcut.of([HardKey.ALT, HardKey.ZERO], 'Accessibility'),\r\n KeyShortcut.of([HardKey.ALT, HardKey.ONE], 'Home Page'),\r\n KeyShortcut.of(\r\n [HardKey.ALT, HardKey.A],\r\n 'Go to Application for Child Support Services'\r\n ),\r\n KeyShortcut.of([HardKey.ALT, HardKey.M], 'My Information'),\r\n KeyShortcut.of([HardKey.ALT, HardKey.P], 'Payments'),\r\n KeyShortcut.of(\r\n [HardKey.ALT, HardKey.Q],\r\n 'Navigate to home page (Alt + 1) and then Press Alt + Q to navigate to first case.'\r\n ),\r\n KeyShortcut.of(\r\n [HardKey.ALT, HardKey.TWO],\r\n 'Skip to Main Content (the Navigation Bar Skip Link)'\r\n ),\r\n KeyShortcut.of([HardKey.ALT, HardKey.FIVE], 'FAQ'),\r\n // KeyShortcut.of([HardKey.ALT, HardKey.EIGHT], 'Contact Us'),\r\n KeyShortcut.of([HardKey.ALT, HardKey.B], 'Back'),\r\n KeyShortcut.of([HardKey.ALT, HardKey.G], 'Glossary'),\r\n KeyShortcut.of([HardKey.ALT, HardKey.L], 'Login and Logout'),\r\n KeyShortcut.of([HardKey.ALT, HardKey.R], 'Clear'),\r\n KeyShortcut.of(\r\n [HardKey.ALT, HardKey.S],\r\n 'Submit, Save, View, Send, Add, Submit Payment'\r\n ),\r\n];\r\n\r\nexport interface AccessibilityKeyShortcuts {\r\n application: KeyShortcut[];\r\n dashboard: KeyShortcut[];\r\n}\r\n\r\nexport const ACCESSIBILITY_KEYS_SHORTCUTS = new InjectionToken<\r\n AccessibilityKeyShortcuts\r\n>('Accessibility Key Shortcuts', {\r\n providedIn: 'root',\r\n factory: () => {\r\n return {\r\n application: appShortcuts,\r\n dashboard: dashboardShortcuts,\r\n };\r\n },\r\n});\r\n","import { InjectionToken, inject } from '@angular/core';\r\nimport { DomHandler } from 'primeng/api';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\nexport enum NativeAppUserAgentName {\r\n ANDROID = 'CPORTAL_NATIVE_ANDROID_APP',\r\n IOS = 'CPORTAL_NATIVE_IOS_APP',\r\n}\r\n\r\nexport type Platform = {\r\n userAgent: string;\r\n isAndroid: boolean;\r\n isIOS: boolean;\r\n isNativeApp: boolean;\r\n isMobile: () => boolean;\r\n isTablet: () => boolean;\r\n};\r\n\r\nexport const PLATFORM = new InjectionToken('Platform Information', {\r\n providedIn: 'root',\r\n factory: () => {\r\n const detector = inject(DeviceDetectorService);\r\n const userAgent = DomHandler.getUserAgent();\r\n return {\r\n userAgent,\r\n isAndroid: DomHandler.isAndroid(),\r\n isIOS: DomHandler.isIOS(),\r\n isNativeApp:\r\n userAgent === NativeAppUserAgentName.ANDROID ||\r\n userAgent === NativeAppUserAgentName.IOS,\r\n isMobile: detector.isMobile.bind(detector),\r\n isTablet: detector.isTablet.bind(detector),\r\n };\r\n },\r\n});\r\n","import {\n Directive,\n OnInit,\n ViewContainerRef,\n Inject,\n TemplateRef,\n} from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { SESSION_STORE, SessionStore } from '../store/session.store';\nimport { Store } from '../store/store.dependancy';\nimport { TemplateContext } from '../../shared/context/template.context';\nimport { PLATFORM, Platform } from '../dependencies/platform.dependency';\n\nexport type MobileConfig = {\n Name: string;\n Message: string;\n StoreLink: string;\n Enable: boolean;\n WebAccess: boolean;\n};\n\nclass OsGatewayContext implements TemplateContext {\n $implicit: MobileConfig;\n skipFn: () => void;\n}\n\n@Directive({\n selector: '[osGateway]',\n})\nexport class OsGatewayDirective implements OnInit {\n constructor(\n private _viewContainer: ViewContainerRef,\n private _templateRef: TemplateRef,\n @Inject(SESSION_STORE) private _sessionStore: Store,\n @Inject(PLATFORM) private _platform: Platform\n ) {}\n\n ngOnInit(): void {\n const { isAndroid, isIOS, isNativeApp } = this._platform;\n if (isNativeApp || !(isAndroid || isIOS)) return;\n\n const skipped = Boolean(\n this._sessionStore.get(SessionStore.NATIVE_APP_DOWNLOAD_STATUS)\n );\n if (!skipped) this._updateView(isAndroid);\n }\n\n private _updateView(android: boolean) {\n try {\n const { Android, iOS } = environment.NativeApplication;\n const config = (android ? Android : iOS) as MobileConfig;\n if (!config.Enable) return;\n\n this._viewContainer.clear();\n this._viewContainer.createEmbeddedView(this._templateRef, {\n $implicit: config,\n skipFn: () => {\n this._sessionStore.set(\n SessionStore.NATIVE_APP_DOWNLOAD_STATUS,\n 'skip'\n );\n this._viewContainer.clear();\n },\n });\n } catch (error) {}\n }\n}\n","import {Injectable} from '@angular/core';\nimport {\n CanLoad,\n Route,\n UrlSegment,\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n UrlTree,\n CanActivate,\n} from '@angular/router';\nimport {Observable} from 'rxjs';\nimport {SessionManager} from '../services/session-manager.service';\n\nimport {AppRoutes} from '../services/app-routes.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanLoad, CanActivate {\n constructor(\n private _sessionManager: SessionManager,\n private _routes: AppRoutes\n ) {}\n\n canLoad(\n route: Route,\n segments: UrlSegment[]\n ): Observable | Promise | boolean {\n return this._canNavigate();\n }\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ):\n | boolean\n | UrlTree\n | Observable\n | Promise {\n return this._canNavigate();\n }\n\n private _canNavigate(): boolean {\n if (!this._sessionManager.hasActiveSession) return true;\n\n const user = this._sessionManager.user;\n if (user.newish) this._routes.openCaseCreation();\n else this._routes.openDashboard();\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n UrlTree,\n} from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { SessionManager } from 'src/app/core/services/session-manager.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DashboardGuard implements CanActivate {\n constructor(private _sessionManager: SessionManager) {}\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ):\n | Observable\n | Promise\n | boolean\n | UrlTree {\n return this._sessionManager.user.existing;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n UrlTree,\n CanActivate,\n} from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { SessionManager } from '../services/session-manager.service';\nimport { AppRoutes } from '../services/app-routes.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SessionGuard implements CanActivate {\n constructor(\n private _sessionManager: SessionManager,\n private _routes: AppRoutes\n ) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ):\n | boolean\n | UrlTree\n | Observable\n | Promise {\n return this.canNavigate();\n }\n\n canNavigate(): boolean | UrlTree {\n if (this._sessionManager.hasActiveSession) return true;\n return this._routes.router.parseUrl(this._routes.absolute.auth().ROOT);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n UrlTree,\n CanActivate,\n} from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { SessionManager } from '../services/session-manager.service';\nimport { AppRoutes } from '../services/app-routes.service';\nimport { SiteUnderMaintananceComponent } from '../components/site-under-maintanance/site-under-maintanance.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UnreachableGuard implements CanActivate {\n constructor(\n private _sessionManager: SessionManager,\n private _routes: AppRoutes\n ) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ):\n | boolean\n | UrlTree\n | Observable\n | Promise {\n const authRoute = this._routes.router.parseUrl(\n this._routes.absolute.auth().ROOT\n );\n\n if (this._sessionManager.hasActiveSession) return authRoute;\n\n const navState = this._routes.router.getCurrentNavigation().extras.state;\n return navState && navState['accessKey']\n ? navState['accessKey'] === SiteUnderMaintananceComponent.ACCESS_KEY\n : authRoute;\n }\n}\n","import {Injectable} from '@angular/core';\r\nimport {Subject, Observable} from 'rxjs';\r\nimport {KeyShortcut} from './base/key-shortcut.model';\r\nimport {filter, map} from 'rxjs/operators';\r\n\r\nexport enum AccessibilityAction {\r\n ACCESSIBILITY = 'Accessibility',\r\n HOME = 'Home Page',\r\n MY_INFORMATION = 'My Information',\r\n PAYMENTS = 'Payments',\r\n CASES = 'Navigate to home page (Alt + 1) and then Press Alt + Q to navigate to first case.',\r\n FAQ = 'FAQ',\r\n CONTACT = 'Contact Us',\r\n GLOSSARY = 'Glossary',\r\n LOGIN_LOGOUT = 'Login and Logout',\r\n MAIN_CONTENT = 'Skip to Main Content (the Navigation Bar Skip Link)',\r\n BACK = 'Back',\r\n CONTINUE = 'Continue',\r\n CLEAR = 'Clear',\r\n SAVE = 'Submit, Save, View, Send, Add, Submit Payment',\r\n NEXT = 'Next Page',\r\n PREVIOUS = 'Previous Page',\r\n FILE_UPLOAD = 'File Upload',\r\n}\r\n\r\n@Injectable()\r\nexport class AccessibilityKeyEventObserver {\r\n private _keyEventSubject = new Subject();\r\n private _accessibilityKeyEvent$ = this._keyEventSubject.asObservable();\r\n\r\n emitShortcutEvent(shortcut: KeyShortcut): void {\r\n this._keyEventSubject.next(shortcut);\r\n }\r\n\r\n observe(actions: AccessibilityAction[]): Observable {\r\n const _actions = actions.map(act => act.toString());\r\n return this._accessibilityKeyEvent$.pipe(\r\n filter(({desc}) => _actions.includes(desc)),\r\n map(({desc}) => _actions.find(act => act === desc) as AccessibilityAction)\r\n );\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {EventManager} from '@angular/platform-browser';\r\nimport {KeyShortcut} from './key-shortcut.model';\r\nimport {Observable, Observer} from 'rxjs';\r\nimport {HardKey} from './hard-key.enum';\r\n\r\n@Injectable()\r\nexport class GlobalKeyEventSpectator {\r\n constructor(private _eventManager: EventManager) {}\r\n\r\n observeOn(\r\n target: 'document' | 'window' | 'body',\r\n action: 'keydown' | 'keypress' | 'keyup'\r\n ): Function {\r\n return (...shortcut: KeyShortcut[]): Observable => {\r\n return new KeyEventObservable(this._eventManager, {\r\n target,\r\n action,\r\n shortcut,\r\n });\r\n };\r\n }\r\n}\r\n\r\ntype Options = {\r\n target: 'document' | 'window' | 'body';\r\n action: 'keydown' | 'keypress' | 'keyup';\r\n shortcut: KeyShortcut[];\r\n};\r\n\r\nclass KeyEventObservable extends Observable {\r\n private _observer: Observer;\r\n\r\n constructor(manager: EventManager, options: Options) {\r\n super(observer => {\r\n this._observer = observer;\r\n\r\n const {target, action, shortcut: shortcuts} = options;\r\n\r\n const disposers = shortcuts.map(shortcut => {\r\n const eventName = `${action}.${mapKeys(shortcut.key)}`;\r\n\r\n return manager.addGlobalEventListener(target, eventName, event => {\r\n this._handler(event, shortcut);\r\n });\r\n });\r\n\r\n return this._dispose(disposers);\r\n\r\n function mapKeys(key: HardKey | HardKey[]): string {\r\n if (!Array.isArray(key)) return key;\r\n return key.join('.');\r\n }\r\n });\r\n }\r\n\r\n private _handler(event: Event, shortcut: KeyShortcut) {\r\n event.preventDefault();\r\n this._observer.next(shortcut);\r\n }\r\n\r\n private _dispose(disposers: Function[]) {\r\n return () => {\r\n for (const dispose of disposers) dispose();\r\n };\r\n }\r\n}\r\n","export enum HardKey {\r\n ALT = 'alt',\r\n ZERO = '0',\r\n ONE = '1',\r\n TWO = '2',\r\n THREE = '3',\r\n FOUR = '4',\r\n FIVE = '5',\r\n SIX = '6',\r\n SEVEN = '7',\r\n EIGHT = '8',\r\n NINE = '9',\r\n A = 'A',\r\n B = 'B',\r\n C = 'C',\r\n D = 'D',\r\n E = 'E',\r\n F = 'F',\r\n G = 'G',\r\n H = 'H',\r\n I = 'I',\r\n J = 'J',\r\n K = 'K',\r\n L = 'L',\r\n M = 'M',\r\n N = 'N',\r\n O = 'O',\r\n P = 'P',\r\n Q = 'Q',\r\n R = 'R',\r\n S = 'S',\r\n T = 'T',\r\n U = 'U',\r\n V = 'V',\r\n W = 'W',\r\n X = 'X',\r\n Y = 'Y',\r\n Z = 'Z',\r\n}\r\n","import {HardKey} from './hard-key.enum';\r\n\r\nexport class KeyShortcut {\r\n key: HardKey | HardKey[];\r\n desc: string;\r\n\r\n static of(key: HardKey | HardKey[], desc: string): KeyShortcut {\r\n const shortcut = new KeyShortcut();\r\n shortcut.desc = desc;\r\n shortcut.key = key;\r\n return shortcut;\r\n }\r\n\r\n toString(): string {\r\n return this.desc;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport {\r\n AccessibilityAction,\r\n AccessibilityKeyEventObserver,\r\n} from './accessibility-key-event-observer.service';\r\n\r\n@Injectable()\r\nexport class FormKeyEventObserver {\r\n private _subscriberCount = 0;\r\n\r\n constructor(private _keyObserver: AccessibilityKeyEventObserver) {}\r\n\r\n observe(\r\n actions: Array\r\n ): Observable {\r\n return new Observable((observer) => {\r\n ++this._subscriberCount;\r\n const thisSubscriberIndex = this._subscriberCount;\r\n\r\n const subscription = this._keyObserver\r\n .observe(actions)\r\n .pipe(filter(() => thisSubscriberIndex === this._subscriberCount))\r\n .subscribe(observer);\r\n\r\n return () => {\r\n subscription.unsubscribe();\r\n --this._subscriberCount;\r\n };\r\n });\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { GlobalKeyEventSpectator } from './base/global-key-event-spectator.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { KeyShortcut } from './base/key-shortcut.model';\r\nimport { HardKey } from './base/hard-key.enum';\r\nimport {\r\n ACCESSIBILITY_KEYS_SHORTCUTS,\r\n AccessibilityKeyShortcuts,\r\n} from '../dependencies/accessibility-key-shortcuts.dependency';\r\nimport { AccessibilityKeyEventObserver } from './accessibility-key-event-observer.service';\r\nimport { SessionManager } from '../services/session-manager.service';\r\nimport { tap, filter } from 'rxjs/operators';\r\nimport { AppRoutes } from '../services/app-routes.service';\r\nimport { ModuleManager, Module } from '../services/module-manager.service';\r\n\r\n@Injectable()\r\nexport class GlobalKeyEventHandler {\r\n private _shortcuts: KeyShortcut[];\r\n private _routesMap = {};\r\n private _eventSubscription: Subscription;\r\n\r\n constructor(\r\n private _eventObserver: GlobalKeyEventSpectator,\r\n @Inject(ACCESSIBILITY_KEYS_SHORTCUTS)\r\n { application, dashboard }: AccessibilityKeyShortcuts,\r\n private _keyObserver: AccessibilityKeyEventObserver,\r\n private _routes: AppRoutes,\r\n private _sessionManager: SessionManager,\r\n private _moduleManager: ModuleManager\r\n ) {\r\n this._shortcuts = this._manipulateShourcuts(application, dashboard);\r\n this._assembleRoutes(_routes);\r\n }\r\n\r\n registerEvents(): void {\r\n const sessionActions = [\r\n HardKey.ZERO,\r\n HardKey.ONE,\r\n HardKey.TWO,\r\n HardKey.A,\r\n HardKey.M,\r\n HardKey.N,\r\n HardKey.P,\r\n HardKey.Q,\r\n HardKey.U,\r\n ];\r\n\r\n this._eventSubscription = this._eventObserver\r\n .observeOn(\r\n 'document',\r\n 'keydown'\r\n )(...this._shortcuts)\r\n .pipe(\r\n filter(({ key: [, rearKey] }) => {\r\n if (!sessionActions.includes(rearKey)) return true;\r\n return this._sessionManager.hasActiveSession;\r\n }),\r\n tap((shortcut: KeyShortcut) => {\r\n this._keyObserver.emitShortcutEvent(shortcut);\r\n })\r\n )\r\n .subscribe(this._onKeydown.bind(this));\r\n }\r\n\r\n unregisterEvents(): void {\r\n this._eventSubscription.unsubscribe();\r\n }\r\n\r\n get shortcuts(): KeyShortcut[] {\r\n return this._shortcuts;\r\n }\r\n\r\n private _onKeydown({ key: [, rearKey] }): void {\r\n const module = this._moduleManager.activeModule;\r\n const path = this._routesMap[rearKey];\r\n\r\n switch (rearKey) {\r\n case HardKey.A:\r\n if (this._sessionManager.user.existing && module === Module.DASHBOARD)\r\n this._routes.openCaseCreation();\r\n break;\r\n case HardKey.B:\r\n this._routes.goBack();\r\n break;\r\n case HardKey.L:\r\n const isLoginRoute = this._routes.isActive(\r\n this._routes.absolute.auth().LOGIN,\r\n true\r\n );\r\n if (isLoginRoute) break;\r\n try {\r\n this._sessionManager.terminate();\r\n } catch (error) {\r\n this._routes.openLogin();\r\n }\r\n break;\r\n case HardKey.M:\r\n if (this._sessionManager.user.existing)\r\n this._routes.openMyInformation();\r\n break;\r\n case HardKey.P:\r\n if (this._sessionManager.user.existing && module === Module.DASHBOARD)\r\n this._routes.openPayments();\r\n break;\r\n case HardKey.U:\r\n const authorizedForFile =\r\n this._sessionManager.user.newish ||\r\n (module === Module.CASE_CREATION &&\r\n this._sessionManager.user.existing);\r\n if (authorizedForFile) this._routes.openFileUpload();\r\n break;\r\n case HardKey.ONE:\r\n if (this._sessionManager.user.existing)\r\n if (module === Module.CASE_CREATION) this._routes.openCaseCreation();\r\n else this._routes.openDashboard();\r\n else if (this._sessionManager.user.newish)\r\n this._routes.openCaseCreation();\r\n break;\r\n default:\r\n if (path) this._routes.open([path]);\r\n }\r\n }\r\n\r\n private _manipulateShourcuts(...arrays): KeyShortcut[] {\r\n let joinedArr = [];\r\n arrays.forEach((arr) => {\r\n joinedArr = [...joinedArr, ...arr];\r\n });\r\n const keyShourtcuts: KeyShortcut[] = joinedArr.reduce((acc, current) => {\r\n const item = acc.find(({ desc }) => desc === current.desc);\r\n if (!item) return acc.concat([current]);\r\n else return acc;\r\n }, []);\r\n return keyShourtcuts;\r\n }\r\n\r\n private _assembleRoutes(routes: AppRoutes): void {\r\n const { FAQ, GLOSSARY } = routes.absolute.misc();\r\n\r\n this._routesMap[HardKey.ZERO] = routes.absolute.schematics().ACCESSIBILITY;\r\n this._routesMap[HardKey.FIVE] = FAQ;\r\n // this._routesMap[HardKey.EIGHT] = CONTACT;\r\n this._routesMap[HardKey.G] = GLOSSARY;\r\n }\r\n}\r\n","import {ActivatedRoute} from '@angular/router';\r\n\r\ndeclare module '@angular/router' {\r\n interface ActivatedRoute {\r\n lastChild: () => ActivatedRoute | null;\r\n isArbitrary: () => boolean;\r\n }\r\n}\r\n\r\nObject.defineProperties(ActivatedRoute.prototype, {\r\n lastChild: {\r\n value: lastChild,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n isArbitrary: {\r\n value: isArbitrary,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n});\r\n\r\nfunction lastChild(): ActivatedRoute | null {\r\n if (!this.firstChild) return null;\r\n return deepestChildRoute(this);\r\n}\r\n\r\nfunction deepestChildRoute(activatedRoute: ActivatedRoute): ActivatedRoute {\r\n const firstChild = activatedRoute.firstChild;\r\n if (firstChild) return deepestChildRoute(firstChild);\r\n else return activatedRoute;\r\n}\r\n\r\nfunction isArbitrary(): boolean {\r\n const _lastChild = this.lastChild();\r\n const pageNotFound = _lastChild\r\n ? _lastChild.snapshot.data['page']\r\n : this.snapshot.data['page'];\r\n return pageNotFound === 404;\r\n}\r\n","import { appInjector } from '../utils/app.injector';\r\nimport { AppMessageHandler } from '../services/app-messsage-handler.service';\r\nimport { Type } from '@angular/core';\r\n\r\nexport {};\r\n\r\ndeclare global {\r\n interface Object {\r\n shallowCopy: () => {};\r\n deepCopy: () => {};\r\n copycat: (obj: {}) => void;\r\n toIterable: () => {};\r\n asInstanceOf: (type: Type) => {};\r\n hashcode: () => number;\r\n }\r\n\r\n interface String {\r\n success: (timeout?: number) => void;\r\n info: (timeout?: number) => void;\r\n hashcode: () => number;\r\n capitalize: () => string;\r\n }\r\n\r\n interface Error {\r\n show?: (timeout?: number) => void;\r\n }\r\n\r\n interface Function {\r\n queue: (thisArg: any, ...argArray: any[]) => void;\r\n }\r\n}\r\n\r\nObject.defineProperties(Object.prototype, {\r\n shallowCopy: {\r\n value: shallowCopy,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n deepCopy: {\r\n value: deepCopy,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n copycat: {\r\n value: copycat,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n toIterable: {\r\n value: toIterable,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n asInstanceOf: {\r\n value: asInstanceOf,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n hashcode: {\r\n value: objHashcode,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n});\r\n\r\nObject.defineProperties(String.prototype, {\r\n success: {\r\n value: success,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n info: {\r\n value: info,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n hashcode: {\r\n value: hashcode,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n capitalize: {\r\n value: capitalize,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n});\r\n\r\nObject.defineProperties(Error.prototype, {\r\n show: {\r\n value: showError,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n});\r\n\r\nObject.defineProperties(Function.prototype, {\r\n queue: {\r\n value: putOnEventQueue,\r\n writable: false,\r\n configurable: false,\r\n enumerable: false,\r\n },\r\n});\r\n\r\n// Object Prototype Functions\r\nfunction shallowCopy(): any {\r\n const cloneObj: any = new (this.constructor)();\r\n for (const key in this) cloneObj[key] = this[key];\r\n return cloneObj;\r\n}\r\n\r\nfunction deepCopy(): any {\r\n return deepcpy(this);\r\n}\r\n\r\nfunction deepcpy(obj: {}): any {\r\n const cloneObj: any = new (obj.constructor as any)();\r\n for (const key in obj) {\r\n const value = obj[key];\r\n if (typeof value === 'object') cloneObj[key] = deepcpy(value);\r\n else cloneObj[key] = value;\r\n }\r\n return cloneObj;\r\n}\r\n\r\nfunction copycat(obj: {}): void {\r\n for (const key in obj) if (this.hasOwnProperty(key)) this[key] = obj[key];\r\n}\r\n\r\nfunction toIterable(): any {\r\n const crrObject = this;\r\n const keys = Object.keys(crrObject);\r\n crrObject[Symbol.iterator] = function*() {\r\n for (const key of keys) yield crrObject[key];\r\n };\r\n return crrObject;\r\n}\r\n\r\nexport function asInstanceOf(type: Type): {} {\r\n const obj: any = new (type as any)();\r\n Object.assign(obj, this);\r\n return obj;\r\n}\r\n\r\nfunction objHashcode(): number {\r\n const prime = 31;\r\n let hash = 1;\r\n for (const key in this) {\r\n const value = this[key];\r\n let _hash = 0;\r\n if (value === undefined || value === null) _hash = 0;\r\n else if (value === false) _hash = 1237;\r\n else if (value === true) _hash = 1231;\r\n else if (typeof value === 'string' || typeof value === 'object')\r\n _hash = value.hashcode();\r\n else if (typeof value === 'number')\r\n if (isFinite(value)) {\r\n const isInt = value % 1 === 0;\r\n _hash = isInt ? value | 0 : Math.fround(value);\r\n } else _hash = 0;\r\n hash = (Math.imul(prime, hash) + _hash) | 0;\r\n }\r\n return hash;\r\n}\r\n\r\n// String Prototype Functions\r\nfunction success(timeout?: number): void {\r\n if (!this) return;\r\n const messageHandler = appInjector().get(AppMessageHandler);\r\n messageHandler.emitSuccess(this, timeout);\r\n}\r\n\r\nfunction info(timeout?: number): void {\r\n if (!this) return;\r\n const messageHandler = appInjector().get(AppMessageHandler);\r\n messageHandler.emitInfo(this, timeout);\r\n}\r\n\r\nfunction hashcode(): number {\r\n let hash = 0;\r\n for (let i = 0; i < this.length; i++)\r\n hash = (Math.imul(31, hash) + this.charCodeAt(i)) | 0;\r\n return hash;\r\n}\r\n\r\nfunction capitalize(): string {\r\n return `${this.charAt(0).toUpperCase()}${this.slice(1)}`;\r\n}\r\n\r\n// Error Prototype Functions\r\nfunction showError(timeout?: number): void {\r\n if (!this) return;\r\n const messageHandler = appInjector().get(AppMessageHandler);\r\n messageHandler.emitError(this, timeout);\r\n}\r\n\r\n// Function Prototype Functions\r\nfunction putOnEventQueue(thisArg: any, ...argArray: any[]): void {\r\n setTimeout(this.bind(thisArg), 0, ...argArray);\r\n}\r\n","import * as global from './global.prototype';\r\nimport './activated-route.prototype';\r\n\r\nexport {global};\r\n","import {InjectionToken} from '@angular/core';\r\n\r\nexport interface GlobalMessageHandler {\r\n onMessage(data: {type: 'success' | 'info'; message: string}): void;\r\n onError(message: string): void;\r\n onClear(): void;\r\n}\r\n\r\nexport const GLOBAL_MESSAGE = new InjectionToken('Global Message Handler');\r\n","import { Injectable } from '@angular/core';\r\nimport { FormResponseHandler } from 'src/app/reactive-form/services/form-response-handler.dependency';\r\nimport { AppMessageHandler } from './app-messsage-handler.service';\r\nimport { FormResponseError } from 'src/app/reactive-form/errors/form-response.error';\r\nimport { HttpFormResponseError } from 'src/app/http/error/http-form-response.error';\r\nimport { BaseServiceOut } from '../data/models/base-service.out.model';\r\nimport * as formErrors from '../../../assets/res/form-errors.json';\r\n\r\n@Injectable()\r\nexport class AppFormResponseHandler implements FormResponseHandler {\r\n private _errors = formErrors.default;\r\n\r\n constructor(private _messageHandler: AppMessageHandler) {}\r\n\r\n onSubmitted(data: BaseServiceOut, extra?: any): void {\r\n const { message, timeout } = extra;\r\n if (data && data.statusList.length && message) {\r\n const { code } = data.statusList[0];\r\n if (code === 'S') this._messageHandler.emitSuccess(message, timeout);\r\n } else if (message) this._messageHandler.emitSuccess(message, timeout);\r\n }\r\n\r\n onFailed(error: Error): void {\r\n // if (error instanceof FormValidationError && error.data) {\r\n // const { controls } = error.data;\r\n // if (controls && controls.length === 1) {\r\n // const { error: err, label } = controls[0];\r\n // const errorKey = Object.keys(err)[0];\r\n // const code =\r\n // errorKey === 'required'\r\n // ? 'E0076'\r\n // : errorKey === 'error'\r\n // ? err[errorKey]\r\n // : 'E0085';\r\n // this._messageHandler.emitError(\r\n // new Error(`${label} - ${this._errors[code] || code}`)\r\n // );\r\n // }\r\n // } else\r\n if (\r\n error instanceof FormResponseError ||\r\n error instanceof HttpFormResponseError\r\n )\r\n this._messageHandler.emitError(error);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest } from '@angular/common/http';\r\nimport { HttpRequestHandler } from 'src/app/http/services/request-handler.dependency';\r\nimport { AppMessageHandler } from './app-messsage-handler.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { SessionManager } from './session-manager.service';\r\n\r\n@Injectable()\r\nexport class AppHttpRequestHandler implements HttpRequestHandler {\r\n constructor(\r\n private _messageHandler: AppMessageHandler,\r\n private _sessionManager: SessionManager\r\n ) {}\r\n\r\n handle(request: HttpRequest): HttpRequest {\r\n this._messageHandler.clear();\r\n\r\n let url = request.url;\r\n\r\n if (url.startsWith('assets')) return request;\r\n else if (!(url.startsWith('http://') || url.startsWith('https://')))\r\n url = `${environment.apiUrl}/${request.url}`;\r\n\r\n if (!this._sessionManager.hasActiveSession || url.endsWith('.aspx'))\r\n return request.clone({ url });\r\n\r\n return request.clone({\r\n url,\r\n setHeaders: {\r\n Authorization: `Bearer ${this._sessionManager.user.authenticationTicket}`,\r\n },\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpResponseHandler } from '../../http/services/response-handler.dependency';\r\nimport {\r\n HttpEvent,\r\n HttpResponse,\r\n HttpErrorResponse,\r\n} from '@angular/common/http';\r\nimport { HttpResponseError } from 'src/app/http/error/http-response.error';\r\nimport { AppMessageHandler } from './app-messsage-handler.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport {\r\n SessionManager,\r\n SessionTerminationMessage,\r\n} from './session-manager.service';\r\nimport { HttpFormResponseError } from 'src/app/http/error/http-form-response.error';\r\n\r\n@Injectable()\r\nexport class AppHttpResponseHandler implements HttpResponseHandler {\r\n errorMessages = {\r\n 401: 'Authorization Required',\r\n 404: 'No Resouces Found',\r\n 408: 'Request Timeout',\r\n 500: 'Server Error',\r\n };\r\n\r\n constructor(\r\n private _messageHandler: AppMessageHandler,\r\n private _sessionManager: SessionManager\r\n ) {}\r\n\r\n response(res: HttpEvent): HttpEvent {\r\n if (res instanceof HttpResponse) {\r\n if (res.ok) {\r\n if (res.url.includes('assets')) {\r\n this._removeApiInMessageHandler(res.url);\r\n return res;\r\n }\r\n\r\n if (typeof res.body !== 'object') {\r\n this._removeApiInMessageHandler(res.url);\r\n return res;\r\n }\r\n\r\n const statusList = res.body['StatusList'];\r\n\r\n if (statusList && !statusList.length) {\r\n this._removeApiInMessageHandler(res.url);\r\n throw new HttpResponseError('Invalid Response');\r\n }\r\n\r\n const { Code, Description } = statusList[0];\r\n\r\n if (Code === 'S') {\r\n this._removeApiInMessageHandler(res.url);\r\n return res;\r\n } else if (Code === 'E1900') {\r\n this._removeApiInMessageHandler(res.url);\r\n 'Activity added successfully'.success();\r\n return res;\r\n }\r\n\r\n if (environment.environmentName === 'DEV')\r\n console.log('Service Error', res.body);\r\n\r\n const hasFormFields = statusList.filter((_s) => _s['RelatedField']);\r\n if (!hasFormFields.length) {\r\n const error = new HttpResponseError(Description, statusList);\r\n if (Code === 'E0012' || Description === 'E0012')\r\n this._messageHandler.emitErrorWithKey(\r\n error,\r\n this._parseApiPath(res.url)\r\n );\r\n else {\r\n this._removeApiInMessageHandler(res.url);\r\n this._messageHandler.emitError(error);\r\n }\r\n throw error;\r\n } else {\r\n this._removeApiInMessageHandler(res.url);\r\n throw new HttpFormResponseError(Description, statusList);\r\n }\r\n }\r\n\r\n const { status, statusText, url } = res;\r\n const e = new HttpErrorResponse({\r\n status,\r\n statusText,\r\n url,\r\n });\r\n this.error(e);\r\n }\r\n }\r\n\r\n error(error: HttpErrorResponse): Error {\r\n if (environment.environmentName === 'DEV')\r\n console.log('Service Error', error);\r\n this._removeApiInMessageHandler(error.url);\r\n\r\n const err = new HttpResponseError(\r\n this.errorMessages[error.status]\r\n ? this.errorMessages[error.status]\r\n : 'Problem Occurred'\r\n );\r\n\r\n if (error.status === 401) {\r\n this._sessionManager.terminate(SessionTerminationMessage.UNAUTHORIZED);\r\n return;\r\n } else this._messageHandler.emitError(err);\r\n\r\n throw err;\r\n }\r\n\r\n private _removeApiInMessageHandler(url: string): void {\r\n this._messageHandler.removeKey(this._parseApiPath(url));\r\n }\r\n\r\n private _parseApiPath(url: string): string {\r\n return url.split(`${environment.apiUrl}/`)[1];\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MessageService } from '@nvkids/message';\r\nimport { MessageModel, UIMessageModel, FormError } from '@nvkids/common';\r\nimport { HttpResponseError } from 'src/app/http/error/http-response.error';\r\nimport * as formErrors from '../../../assets/res/form-errors.json';\r\nimport { Subject, Observable, Observer } from 'rxjs';\r\n\r\nexport type AppMessage = {\r\n type: 'success' | 'info';\r\n message: string;\r\n};\r\n\r\n@Injectable()\r\nexport class AppMessageHandler {\r\n private _errors = formErrors.default;\r\n private _disableErrorkeys = new Set();\r\n\r\n private _messageSubject = new Subject();\r\n private _message$ = this._messageSubject.asObservable();\r\n\r\n private _errorSubject = new Subject();\r\n private _error$ = this._errorSubject.asObservable();\r\n\r\n private _clearSubject = new Subject();\r\n private _clear$ = this._clearSubject.asObservable();\r\n\r\n private _messageTimerId: any = null;\r\n\r\n constructor(private _messageService: MessageService) {\r\n this._messageService.showError$.subscribe(this._onFormError.bind(this));\r\n }\r\n\r\n emitSuccess(message: string, timeout = 4000): void {\r\n this._emit({ type: 'success', message }, timeout);\r\n }\r\n\r\n emitInfo(message: string, timeout = 4000): void {\r\n this._emit({ type: 'info', message }, timeout);\r\n }\r\n\r\n emitError(error: Error, timeout?: number): void {\r\n clearTimeout(this._messageTimerId);\r\n\r\n if (error instanceof HttpResponseError && error.data) {\r\n const { Code, Description, RelatedField } = error.data[0];\r\n const text = Code === 'F' ? Description : Code;\r\n const message = this._errors[text] ? this._errors[text] : text;\r\n const subscriber = this._lastSubscriber(this._errorSubject);\r\n if (subscriber)\r\n subscriber.next(\r\n RelatedField ? `${RelatedField} - ${message}` : message\r\n );\r\n } else {\r\n const subscriber = this._lastSubscriber(this._errorSubject);\r\n if (subscriber) subscriber.next(error.message);\r\n }\r\n\r\n if (timeout)\r\n this._messageTimerId = setTimeout(() => {\r\n this.clear();\r\n }, timeout);\r\n }\r\n\r\n emitErrorWithKey(error: Error, key: string): void {\r\n if (!this._disableErrorkeys.has(key)) this.emitError(error);\r\n this.removeKey(key);\r\n return;\r\n }\r\n\r\n clear(): void {\r\n clearTimeout(this._messageTimerId);\r\n const subscriber = this._lastSubscriber(this._clearSubject);\r\n if (subscriber) subscriber.next(null);\r\n }\r\n\r\n disableErrorFor(key: string): void {\r\n this._disableErrorkeys.add(key);\r\n }\r\n\r\n removeKey(key: string): void {\r\n if (this._disableErrorkeys.has(key)) this._disableErrorkeys.delete(key);\r\n }\r\n\r\n get message$(): Observable {\r\n return this._message$;\r\n }\r\n\r\n get error$(): Observable {\r\n return this._error$;\r\n }\r\n\r\n get clear$(): Observable {\r\n return this._clear$;\r\n }\r\n\r\n private _emit(\r\n value: { type: string; message: string },\r\n timeout: number\r\n ): void {\r\n clearTimeout(this._messageTimerId);\r\n const subscriber = this._lastSubscriber(this._messageSubject);\r\n if (subscriber) subscriber.next(value);\r\n this._messageTimerId = setTimeout(() => {\r\n this.clear();\r\n }, timeout);\r\n }\r\n\r\n private _onFormError(message: MessageModel | any): void {\r\n if (!message || (Array.isArray(message) && message.length === 0)) return;\r\n\r\n let errorMsg = null;\r\n\r\n if (message instanceof UIMessageModel)\r\n if (message.formErrrors && message.formErrrors.length) {\r\n const { description, relatedField } = message.formErrrors[0];\r\n errorMsg = description || `${relatedField} - ${this._errors['E0076']}`;\r\n } else errorMsg = message.description;\r\n else if (message instanceof FormError) {\r\n const { code, relatedField } = message;\r\n const msg =\r\n code && typeof code === 'string'\r\n ? this._errors[code]\r\n : this._errors['E0085'];\r\n errorMsg = relatedField ? `${relatedField} - ${msg}` : msg;\r\n }\r\n\r\n this.emitError(new Error(errorMsg));\r\n }\r\n\r\n private _lastSubscriber(subject: Subject): Observer | null {\r\n if (subject.observers && subject.observers.length > 0)\r\n return subject.observers[subject.observers.length - 1];\r\n return null;\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {\r\n PreloadingStrategy,\r\n Route,\r\n Event,\r\n NavigationEnd,\r\n Router,\r\n ActivatedRoute,\r\n} from '@angular/router';\r\nimport {Observable, of} from 'rxjs';\r\n\r\nexport enum PreloadCheckpoint {\r\n AUTHENTICATION = 'authentication',\r\n APPLICATION = 'application',\r\n DASHBOARD = 'dashboard',\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AppPreloadingStrategy implements PreloadingStrategy {\r\n private _preloadCheckpoints = new Set();\r\n\r\n constructor(private _router: Router, private _route: ActivatedRoute) {\r\n this._router.events.subscribe(this._onNavigationEnd.bind(this));\r\n }\r\n\r\n preload(route: Route, load: () => Observable): Observable {\r\n if (\r\n route.data &&\r\n (route.data['preload'] ||\r\n this._preloadCheckpoints.has(route.data['preloadCheckpoint']))\r\n )\r\n return load();\r\n\r\n return of(null);\r\n }\r\n\r\n private _onNavigationEnd(event: Event): void {\r\n if (event instanceof NavigationEnd) this._parseCheckpointNames(this._route);\r\n }\r\n\r\n private _parseCheckpointNames(childRoute: ActivatedRoute): void {\r\n const preloadCheckpointName =\r\n childRoute.snapshot.data['preloadCheckpointName'];\r\n if (preloadCheckpointName)\r\n this._preloadCheckpoints.add(preloadCheckpointName);\r\n\r\n const firstChild = childRoute.firstChild;\r\n if (firstChild) return this._parseCheckpointNames(firstChild);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Router, NavigationExtras, UrlTree } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { Store } from '../store/store.dependancy';\r\nimport { SESSION_STORE, SessionStore } from '../store/session.store';\r\nimport { SiteUnderMaintananceComponent } from '../components/site-under-maintanance/site-under-maintanance.component';\r\n\r\ninterface Route {\r\n ROOT: string;\r\n}\r\n\r\ninterface Auth extends Route {\r\n LOGIN: string;\r\n REGISTRATION: string;\r\n}\r\n\r\ninterface CaseCreation extends Route {\r\n HOME: string;\r\n FILE_UPLOAD: string;\r\n}\r\n\r\ninterface MyInformation extends Route {\r\n ADDRESS: string;\r\n EMPLOYER: string;\r\n INFORMATION: string;\r\n INBOX: string;\r\n SENT_MESSAGES: string;\r\n RECEIVED_MESSAGES: string;\r\n NEW_MESSAGE: string;\r\n}\r\n\r\ninterface Payments extends Route {\r\n VIEW: string;\r\n REPORT: string;\r\n MAKE: string;\r\n MANAGE: string;\r\n AUTO: string;\r\n}\r\n\r\ninterface Case extends Route {\r\n DASHBOARD: string;\r\n SUMMARY: string;\r\n RECENT_ACTIVITIES: string;\r\n APPOINTMENTS: string;\r\n SUMMARY_DETAILS: string;\r\n ADDRESS: string;\r\n EMPLOYER: string;\r\n INFORMATION: string;\r\n}\r\n\r\ninterface Dashboard extends Route {\r\n HOME: string;\r\n myInformation: () => MyInformation;\r\n payments: () => Payments;\r\n case: (caseId: string) => Case;\r\n}\r\n\r\ninterface Misc {\r\n GLOSSARY: string;\r\n FAQ: string;\r\n CONTACT: string;\r\n}\r\n\r\ninterface Schematics {\r\n ACCESSIBILITY: string;\r\n SITEMAP: string;\r\n}\r\n\r\ninterface ModuleRoutes {\r\n auth: () => Auth;\r\n caseCreation: () => CaseCreation;\r\n dashboard: () => Dashboard;\r\n misc: () => Misc;\r\n schematics: () => Schematics;\r\n}\r\n\r\nclass AbsoluteRoute implements ModuleRoutes {\r\n private _auth: Auth = {\r\n ROOT: '/auth',\r\n LOGIN: '/auth/login',\r\n REGISTRATION: '/auth/registration',\r\n };\r\n\r\n private _caseCreation: CaseCreation = {\r\n ROOT: '/case-creation',\r\n HOME: '/case-creation/forms',\r\n FILE_UPLOAD: '/case-creation/file-upload',\r\n };\r\n\r\n private _dashboard: Dashboard = {\r\n ROOT: '/dashboard',\r\n HOME: '/dashboard/home',\r\n myInformation: (function () {\r\n const routes = {\r\n ROOT: '/dashboard/personal-information',\r\n ADDRESS: '/dashboard/personal-information/address',\r\n EMPLOYER: '/dashboard/personal-information/employer',\r\n INFORMATION: '/dashboard/personal-information/information',\r\n INBOX: '/dashboard/personal-information/inbox',\r\n NEW_MESSAGE: '/dashboard/personal-information/inbox/new',\r\n RECEIVED_MESSAGES: '/dashboard/personal-information/inbox/received',\r\n SENT_MESSAGES: '/dashboard/personal-information/inbox/sent',\r\n };\r\n return (): MyInformation => routes;\r\n })(),\r\n payments: (function () {\r\n const routes = {\r\n ROOT: '/dashboard/payments',\r\n VIEW: '/dashboard/payments/view',\r\n REPORT: '/dashboard/payments/reports',\r\n MAKE: '/dashboard/payments/make_payment',\r\n MANAGE: '/dashboard/payments/manage',\r\n AUTO: '/dashboard/payments/auto_payment',\r\n };\r\n return (): Payments => routes;\r\n })(),\r\n case(caseId: string): Case {\r\n return {\r\n ROOT: `/dashboard/cases/${caseId}`,\r\n DASHBOARD: `/dashboard/cases/${caseId}/case-dashboard`,\r\n SUMMARY: `/dashboard/cases/${caseId}/summary`,\r\n RECENT_ACTIVITIES: `/dashboard/cases/${caseId}/activities`,\r\n APPOINTMENTS: `/dashboard/cases/${caseId}/appointments`,\r\n SUMMARY_DETAILS: `/dashboard/cases/${caseId}/summary/details`,\r\n ADDRESS: `/dashboard/cases/${caseId}/summary/address`,\r\n EMPLOYER: `/dashboard/cases/${caseId}/summary/employer`,\r\n INFORMATION: `/dashboard/cases/${caseId}/summary/information`,\r\n };\r\n },\r\n };\r\n\r\n private _misc: Misc = {\r\n GLOSSARY: '/others/glossary',\r\n FAQ: '/others/faqs',\r\n CONTACT: '/others/contact',\r\n };\r\n\r\n private _schematics: Schematics = {\r\n ACCESSIBILITY: '/accessibility',\r\n SITEMAP: '/accessibility/sitemap',\r\n };\r\n\r\n auth(): Auth {\r\n return this._auth;\r\n }\r\n\r\n caseCreation(): CaseCreation {\r\n return this._caseCreation;\r\n }\r\n\r\n dashboard(): Dashboard {\r\n return this._dashboard;\r\n }\r\n\r\n misc(): Misc {\r\n return this._misc;\r\n }\r\n\r\n schematics(): Schematics {\r\n return this._schematics;\r\n }\r\n}\r\n\r\nclass RelativeRoute implements ModuleRoutes {\r\n private _auth: Auth = {\r\n ROOT: 'auth',\r\n LOGIN: 'login',\r\n REGISTRATION: 'registration',\r\n };\r\n\r\n private _caseCreation: CaseCreation = {\r\n ROOT: 'case-creation',\r\n HOME: 'forms',\r\n FILE_UPLOAD: 'file-upload',\r\n };\r\n\r\n private _dashboard: Dashboard = {\r\n ROOT: 'dashboard',\r\n HOME: 'home',\r\n myInformation: (function () {\r\n const routes = {\r\n ROOT: 'personal-information',\r\n ADDRESS: 'address',\r\n EMPLOYER: 'employer',\r\n INFORMATION: 'information',\r\n INBOX: 'inbox',\r\n RECEIVED_MESSAGES: 'inbox/received',\r\n SENT_MESSAGES: 'inbox/sent',\r\n NEW_MESSAGE: 'inbox/new',\r\n };\r\n return (): MyInformation => routes;\r\n })(),\r\n payments: (function () {\r\n const routes = {\r\n ROOT: 'payments',\r\n VIEW: 'view',\r\n REPORT: 'reports',\r\n MAKE: 'make_payment',\r\n MANAGE: 'manage',\r\n AUTO: 'auto_payment',\r\n };\r\n return (): Payments => routes;\r\n })(),\r\n case(caseId?: string): Case {\r\n return {\r\n ROOT: `cases/${caseId}`,\r\n DASHBOARD: `case-dashboard`,\r\n SUMMARY: `summary`,\r\n RECENT_ACTIVITIES: `activities`,\r\n APPOINTMENTS: `appointments`,\r\n SUMMARY_DETAILS: `summary/details`,\r\n ADDRESS: `address`,\r\n EMPLOYER: `employer`,\r\n INFORMATION: `summary/information`,\r\n };\r\n },\r\n };\r\n\r\n private _misc: Misc = {\r\n GLOSSARY: 'glossary',\r\n FAQ: 'faqs',\r\n CONTACT: 'contact',\r\n };\r\n\r\n private _schematics: Schematics = {\r\n ACCESSIBILITY: 'accessibility',\r\n SITEMAP: 'sitemap',\r\n };\r\n\r\n auth(): Auth {\r\n return this._auth;\r\n }\r\n\r\n caseCreation(): CaseCreation {\r\n return this._caseCreation;\r\n }\r\n\r\n dashboard(): Dashboard {\r\n return this._dashboard;\r\n }\r\n\r\n misc(): Misc {\r\n return this._misc;\r\n }\r\n\r\n schematics(): Schematics {\r\n return this._schematics;\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class AppRoutes {\r\n private _absoulteRoute = new AbsoluteRoute();\r\n private _relativeRoute = new RelativeRoute();\r\n\r\n constructor(\r\n private _router: Router,\r\n private _location: Location,\r\n @Inject(SESSION_STORE) private _sessionStore: Store\r\n ) {}\r\n\r\n async openLogin(state?: any): Promise {\r\n return this._router.navigateByUrl(this.absolute.auth().ROOT, { state });\r\n }\r\n\r\n async openUserInbox(): Promise {\r\n return this._router.navigateByUrl(\r\n this.absolute.dashboard().myInformation().INBOX\r\n );\r\n }\r\n\r\n async openCaseCreation(state?: any): Promise {\r\n if (state) this._sessionStore.set(SessionStore.CASE_CREATION_DATA, state);\r\n return this._router.navigate([this.absolute.caseCreation().ROOT], {\r\n state,\r\n });\r\n }\r\n\r\n async openFileUpload(): Promise {\r\n return this._router.navigate([this.absolute.caseCreation().FILE_UPLOAD]);\r\n }\r\n\r\n async openDashboard(): Promise {\r\n return this._router.navigate([this.absolute.dashboard().ROOT]);\r\n }\r\n\r\n async openMyInformation(): Promise {\r\n return this._router.navigate([\r\n this.absolute.dashboard().myInformation().ROOT,\r\n ]);\r\n }\r\n\r\n async openPayments(): Promise {\r\n return this._router.navigate([this.absolute.dashboard().payments().ROOT]);\r\n }\r\n\r\n async openCase(caseId: string): Promise {\r\n return this._router.navigate([this.absolute.dashboard().case(caseId).ROOT]);\r\n }\r\n\r\n async openSiteUnderMaintanance(): Promise {\r\n return this._router.navigateByUrl('maintanance', {\r\n state: { accessKey: SiteUnderMaintananceComponent.ACCESS_KEY },\r\n });\r\n }\r\n\r\n async open(commands: any[], extras?: NavigationExtras): Promise {\r\n return this.router.navigate(commands, extras);\r\n }\r\n\r\n async openUrl(\r\n url: string | UrlTree,\r\n extras?: NavigationExtras\r\n ): Promise {\r\n return this.router.navigateByUrl(url, extras);\r\n }\r\n\r\n isActive(url: string | UrlTree, exact = false): boolean {\r\n return this.router.isActive(url, exact);\r\n }\r\n\r\n isMiscellaneousRouteActive() {\r\n const { GLOSSARY, FAQ, CONTACT } = this.absolute.misc();\r\n const active =\r\n this.isActive(GLOSSARY) || this.isActive(FAQ) || this.isActive(CONTACT);\r\n return active;\r\n }\r\n\r\n isAccessibilityRouteActive() {\r\n const { ACCESSIBILITY, SITEMAP } = this.absolute.schematics();\r\n const active = this.isActive(ACCESSIBILITY) || this.isActive(SITEMAP);\r\n return active;\r\n }\r\n\r\n goBack(): void {\r\n this._location.back();\r\n }\r\n\r\n goForward(): void {\r\n this._location.forward();\r\n }\r\n\r\n get absolute(): ModuleRoutes {\r\n return this._absoulteRoute;\r\n }\r\n\r\n get relative(): ModuleRoutes {\r\n return this._relativeRoute;\r\n }\r\n\r\n get router(): Router {\r\n return this._router;\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\nimport {Breakpoints} from '@angular/cdk/layout';\n\n@Injectable()\nexport class BreakpointBuilder {\n private _breakpoints: string[] = [];\n\n default(): BreakpointBuilder {\n return new BreakpointBuilder()\n .xsmall()\n .small()\n .medium()\n .large()\n .xlarge();\n }\n\n xsmall(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.XSmall);\n return this;\n }\n\n small(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.Small);\n return this;\n }\n\n medium(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.Medium);\n return this;\n }\n\n large(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.Large);\n return this;\n }\n\n xlarge(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.XLarge);\n return this;\n }\n\n handset(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.Handset);\n return this;\n }\n\n tablet(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.Tablet);\n return this;\n }\n\n web(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.Web);\n return this;\n }\n\n handsetPort(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.HandsetPortrait);\n return this;\n }\n\n tabletPort(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.TabletPortrait);\n return this;\n }\n\n webPort(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.WebPortrait);\n return this;\n }\n\n handsetLand(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.HandsetLandscape);\n return this;\n }\n\n tabletLand(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.TabletLandscape);\n return this;\n }\n\n webLand(): BreakpointBuilder {\n this._breakpoints.push(Breakpoints.WebLandscape);\n return this;\n }\n\n maxWidth(width: string): BreakpointBuilder {\n this._breakpoints.push(`(max-width: ${width})`);\n return this;\n }\n\n minWidth(width: string): BreakpointBuilder {\n this._breakpoints.push(`(min-width: ${width})`);\n return this;\n }\n\n custom(breakpoint: string): BreakpointBuilder {\n this._breakpoints.push(breakpoint);\n return this;\n }\n\n b(): string[] {\n const bps = this._breakpoints;\n this._breakpoints = [];\n return bps;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {Observable} from 'rxjs';\nimport {BreakpointBuilder} from './breakpoint-builder.service';\nimport {map, tap} from 'rxjs/operators';\n\n@Injectable()\nexport class BreakpointWatcher {\n private activeBreakpoints: string[] = [];\n\n constructor(\n private _breakpointObs: BreakpointObserver,\n private _breakpointBuilder: BreakpointBuilder\n ) {}\n\n watch(breakpoints: string[]): Observable {\n return this._breakpointObs.observe(breakpoints).pipe(\n map(this.parseBreakpoints.bind(this)),\n tap((parsedBps: string[]) => {\n this.activeBreakpoints = parsedBps;\n })\n );\n }\n\n matches(...breakpoint: string[]): boolean {\n return breakpoint.some(bp => this.activeBreakpoints.includes(bp));\n }\n\n isSmall(): boolean {\n return this.matches(Breakpoints.Small, Breakpoints.XSmall);\n }\n\n isMedium(): boolean {\n return this.matches(Breakpoints.Medium);\n }\n\n isLarge(): boolean {\n return this.matches(Breakpoints.Large, Breakpoints.XLarge);\n }\n\n isDesktop(): boolean {\n return this.matches(\n Breakpoints.Medium,\n Breakpoints.Large,\n Breakpoints.XLarge\n );\n }\n\n isMobile(): boolean {\n return this.matches(Breakpoints.XSmall);\n }\n\n get breakpointObserver(): BreakpointObserver {\n return this._breakpointObs;\n }\n\n get breakpointBuilder(): BreakpointBuilder {\n return this._breakpointBuilder;\n }\n\n private parseBreakpoints({breakpoints}): string[] {\n return Object.keys(breakpoints).filter(bp => breakpoints[bp]);\n }\n}\n","import { Injectable, Inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class CookieManager {\r\n constructor(@Inject(DOCUMENT) private _document: Document) {}\r\n\r\n read(name: string): string {\r\n if (!name) return null;\r\n const matches = this._document.cookie.match(\r\n new RegExp(\r\n '(?:^|; )' +\r\n name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') +\r\n '=([^;]*)'\r\n )\r\n );\r\n return matches ? decodeURIComponent(matches[1]) : null;\r\n }\r\n\r\n write(name: string, value: string, options = {}): void {\r\n options = {\r\n path: '/',\r\n ...options,\r\n };\r\n\r\n if (options['expires'] instanceof Date)\r\n options['expires'] = (options['expires']).toUTCString();\r\n\r\n let updatedCookie = `${encodeURIComponent(name)}=${encodeURIComponent(\r\n value\r\n )}`;\r\n\r\n for (const optionKey in options) {\r\n updatedCookie = updatedCookie.concat('; ', optionKey);\r\n const optionValue = options[optionKey];\r\n if (optionValue !== true)\r\n updatedCookie = updatedCookie.concat('=', optionValue);\r\n }\r\n\r\n this._document.cookie = updatedCookie;\r\n }\r\n\r\n delete(name: string): void {\r\n this.write(name, '', {\r\n 'max-age': -1,\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\nexport enum HeaderMenu {\r\n NAVIGATION_MENU,\r\n HOME,\r\n GLOSSARY,\r\n FAQS,\r\n CONTACT_US,\r\n FILE_UPLOAD,\r\n DISCLAIMER,\r\n}\r\n\r\n@Injectable()\r\nexport class HeaderMenuListener {\r\n private menuSubject = new Subject();\r\n private menu$ = this.menuSubject.asObservable();\r\n\r\n emitMenuEvent(menu: HeaderMenu): void {\r\n this.menuSubject.next(menu);\r\n }\r\n\r\n onMenuEvent(): Observable {\r\n return this.menu$;\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { ScreenManager, Screen } from './screen-manager.service';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { SESSION_STORE, SessionStore } from '../store/session.store';\r\nimport { Store } from '../store/store.dependancy';\r\n\r\nexport enum Module {\r\n AUTHENTICATION = 1,\r\n CASE_CREATION = 2,\r\n DASHBOARD = 3,\r\n}\r\n\r\n@Injectable()\r\nexport class ModuleManager {\r\n private _moduleSubject: BehaviorSubject;\r\n private _moduleChanges$: Observable;\r\n private _activeModule: Module;\r\n private _appModules = {\r\n 1: Module.AUTHENTICATION,\r\n 2: Module.CASE_CREATION,\r\n 3: Module.DASHBOARD,\r\n };\r\n\r\n constructor(\r\n screenManager: ScreenManager,\r\n @Inject(SESSION_STORE) private _sessionStore: Store\r\n ) {\r\n this._updateModuleHistory();\r\n\r\n this._moduleSubject = new BehaviorSubject(this._activeModule);\r\n this._moduleChanges$ = this._moduleSubject.asObservable();\r\n\r\n screenManager.screenChanges.subscribe(this._onScreenChanges.bind(this));\r\n }\r\n\r\n private _onScreenChanges(screen: Screen): Module {\r\n if (\r\n !screen ||\r\n screen === Screen.MISCELLANEOUS ||\r\n screen === Screen.SCHEMATICS\r\n )\r\n return;\r\n this._activeModule = this._appModules[screen];\r\n if (this._activeModule) {\r\n this._moduleSubject.next(this._activeModule);\r\n this._storeModuleHistory();\r\n }\r\n }\r\n\r\n private _updateModuleHistory(): void {\r\n const module = this._sessionStore.get(SessionStore.MODULE_HISTORY);\r\n this._activeModule = module || Module.AUTHENTICATION;\r\n this._storeModuleHistory();\r\n }\r\n\r\n private _storeModuleHistory(): void {\r\n this._sessionStore.set(SessionStore.MODULE_HISTORY, this._activeModule);\r\n }\r\n\r\n get moduleChanges(): Observable {\r\n return this._moduleChanges$;\r\n }\r\n\r\n get activeModule(): Module {\r\n return this._activeModule;\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { NavigationEnd, Router, ActivatedRoute } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { SESSION_STORE, SessionStore } from '../store/session.store';\r\nimport { Store } from '../store/store.dependancy';\r\n\r\nexport enum Screen {\r\n AUTHENTICATION = 1,\r\n CASE_CREATION = 2,\r\n DASHBOARD = 3,\r\n MISCELLANEOUS = 5,\r\n SCHEMATICS = 6,\r\n PAGE_NOT_FOUND = 7,\r\n}\r\n\r\nexport type RouteHistory = {\r\n previous: Screen;\r\n current: Screen;\r\n};\r\n\r\n@Injectable()\r\nexport class ScreenManager {\r\n private _screenSubject: BehaviorSubject;\r\n private _screenChanges$: Observable;\r\n private _routeHistory: RouteHistory;\r\n private _appScreens = {\r\n auth: Screen.AUTHENTICATION,\r\n 'case-creation': Screen.CASE_CREATION,\r\n dashboard: Screen.DASHBOARD,\r\n others: Screen.MISCELLANEOUS,\r\n accessibility: Screen.SCHEMATICS,\r\n };\r\n\r\n constructor(\r\n router: Router,\r\n private _route: ActivatedRoute,\r\n @Inject(SESSION_STORE) private _sessionStore: Store\r\n ) {\r\n this._updateRouteHistory();\r\n\r\n this._screenSubject = new BehaviorSubject(this._routeHistory.current);\r\n this._screenChanges$ = this._screenSubject.asObservable();\r\n\r\n router.events\r\n .pipe(filter((event) => event instanceof NavigationEnd))\r\n .subscribe(this._configRoutHistory.bind(this));\r\n }\r\n\r\n private _configRoutHistory(): void {\r\n const name = this._parseScreen();\r\n const { previous, current } = this._routeHistory;\r\n if (name !== Screen.PAGE_NOT_FOUND && current !== name) {\r\n this._routeHistory = {\r\n previous: current || previous,\r\n current: name,\r\n };\r\n this._storeRouteHistory();\r\n this._screenSubject.next(name);\r\n }\r\n }\r\n\r\n private _updateRouteHistory(): void {\r\n const history = this._sessionStore.get(SessionStore.ROUTE_HISTORY);\r\n this._routeHistory = {\r\n previous: history ? history.previous : null,\r\n current: history ? history.current : null,\r\n };\r\n this._storeRouteHistory();\r\n }\r\n\r\n private _parseScreen(): Screen {\r\n const [{ path }] = this._route.firstChild.snapshot.url;\r\n return this._appScreens[path]\r\n ? this._appScreens[path]\r\n : Screen.PAGE_NOT_FOUND;\r\n }\r\n\r\n private _storeRouteHistory(): void {\r\n this._sessionStore.set(SessionStore.ROUTE_HISTORY, this._routeHistory);\r\n }\r\n\r\n get screenChanges(): Observable {\r\n return this._screenChanges$;\r\n }\r\n\r\n get routeHistory(): RouteHistory {\r\n return this._routeHistory;\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { Session } from '../utils/types';\r\nimport { User } from '../data/models/user.model';\r\nimport { AppRoutes } from './app-routes.service';\r\nimport { LOCAL_STORE, LocalStore } from '../store/local.store';\r\nimport { Store } from '../store/store.dependancy';\r\nimport { SESSION_STORE, SessionStore } from '../store/session.store';\r\nimport { CookieManager } from './cookie-manager.service';\r\nimport { SessionRestoreError } from '../utils/session-restore.error';\r\n\r\nexport enum SessionTerminationMessage {\r\n UNAUTHORIZED = 'Authorization Required',\r\n EXPIRED = 'User Session Expired',\r\n LOGGED_OUT = 'User Logged Out',\r\n}\r\n\r\n@Injectable()\r\nexport class SessionManager {\r\n /**\r\n * Time in milliseconds(15 minutes)\r\n */\r\n static SESSION_TIMEOUT = 15 * 60000;\r\n\r\n /**\r\n * Time in seconds(17 minutes)\r\n */\r\n static ABSOLUTE_SESSION_TIMEOUT = 17 * 60;\r\n\r\n /**\r\n * Client Sesion Cookie\r\n */\r\n static SESSION_COOKIE_NAME = 'CP_USER';\r\n\r\n private _sessionSubject: BehaviorSubject;\r\n private _sessionChanges$: Observable;\r\n\r\n constructor(\r\n private _routes: AppRoutes,\r\n @Inject(LOCAL_STORE) private _localStore: Store,\r\n @Inject(SESSION_STORE) private _sessionStore: Store,\r\n private _cookie: CookieManager\r\n ) {\r\n this._initializeSession();\r\n }\r\n\r\n commence(user: User): void {\r\n if (this._sessionSubject.value.isInitialized)\r\n throw new ReferenceError(\r\n 'Application already has an active session. Terminate ongoing session to initiate new one.'\r\n );\r\n\r\n this._localStore.set(LocalStore.SESSION_DATA, user);\r\n this._updateSessionCookie(user);\r\n this._sessionSubject.next({ isInitialized: true, user });\r\n this._navigate();\r\n }\r\n\r\n terminate(reason = SessionTerminationMessage.LOGGED_OUT): void {\r\n if (!this._sessionSubject.value.isInitialized)\r\n throw new ReferenceError('Application has no active session at all.');\r\n\r\n this._clearStorage();\r\n\r\n const userId = this.user.userId;\r\n this._sessionSubject.next({ isInitialized: false, user: null });\r\n this._routes.openLogin({\r\n data: { reason, userId },\r\n });\r\n }\r\n\r\n updateToken(token: string): void {\r\n if (!this.hasActiveSession)\r\n throw new TypeError('No session initiated yet to update a token');\r\n\r\n if (!token || token === this.user.authenticationTicket)\r\n throw new TypeError('Invalid token');\r\n\r\n this.user.authenticationTicket = token;\r\n this._localStore.set(LocalStore.SESSION_DATA, this.user);\r\n }\r\n\r\n private _initializeSession(): void {\r\n let user: User;\r\n\r\n try {\r\n const session = this._cookie.read(SessionManager.SESSION_COOKIE_NAME);\r\n const data = this._localStore.get(LocalStore.SESSION_DATA);\r\n user = session && data ? Object.assign(new User(), data) : null;\r\n } catch (error) {\r\n if (error instanceof SessionRestoreError) this._clearStorage();\r\n }\r\n\r\n this._sessionSubject = new BehaviorSubject({\r\n isInitialized: Boolean(user),\r\n user,\r\n });\r\n this._sessionChanges$ = this._sessionSubject.asObservable();\r\n this._updateSessionCookie(user);\r\n }\r\n\r\n private _clearStorage(): void {\r\n this._cookie.delete(SessionManager.SESSION_COOKIE_NAME);\r\n this._localStore.clear();\r\n\r\n const history = this._sessionStore.get(SessionStore.ROUTE_HISTORY);\r\n const nativeAppStatus = this._sessionStore.get(\r\n SessionStore.NATIVE_APP_DOWNLOAD_STATUS\r\n );\r\n this._sessionStore.clear();\r\n this._sessionStore.set(SessionStore.ROUTE_HISTORY, history);\r\n if (nativeAppStatus)\r\n this._sessionStore.set(\r\n SessionStore.NATIVE_APP_DOWNLOAD_STATUS,\r\n nativeAppStatus\r\n );\r\n }\r\n\r\n private _updateSessionCookie(user: User): void {\r\n if (!user) return;\r\n this._cookie.write(SessionManager.SESSION_COOKIE_NAME, user.userId, {\r\n 'max-age': SessionManager.ABSOLUTE_SESSION_TIMEOUT,\r\n });\r\n }\r\n\r\n get hasActiveSession(): boolean {\r\n return this._sessionSubject.value.isInitialized;\r\n }\r\n\r\n get user(): User | null {\r\n return this._sessionSubject.value.user;\r\n }\r\n\r\n get sessionChanges(): Observable {\r\n return this._sessionChanges$;\r\n }\r\n\r\n private _navigate(): void {\r\n if (this.user.newish) this._routes.openCaseCreation();\r\n else this._routes.openDashboard();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Mapper } from '../data/mappers/mapper';\r\nimport { SessionManager } from './session-manager.service';\r\nimport { BaseServiceOut } from '../data/models/base-service.out.model';\r\n\r\n@Injectable()\r\nexport class UserInfoMapper implements Mapper<{}, BaseServiceOut> {\r\n constructor(private _sessionManager: SessionManager) {}\r\n\r\n mapFrom(params: {}): {} {\r\n if (!this._sessionManager.hasActiveSession) return params;\r\n\r\n const {\r\n memberMciIdno,\r\n caseIdno,\r\n modeCode,\r\n statusCode,\r\n logonUser,\r\n iamUserID,\r\n } = this._sessionManager.user;\r\n const userParams = {\r\n memberMciIdno,\r\n caseIdno,\r\n modeCode,\r\n statusCode,\r\n iamUserID,\r\n signedOnUserID: logonUser || iamUserID,\r\n logonUser: logonUser || iamUserID,\r\n };\r\n _map(params);\r\n return params;\r\n\r\n function _map(input: {}) {\r\n for (const prop in input) {\r\n const value = input[prop];\r\n if (prop in userParams && (value === undefined || value === null))\r\n input[prop] = userParams[prop];\r\n else if (value && typeof value === 'object') _map(value);\r\n }\r\n }\r\n }\r\n\r\n mapTo(params: BaseServiceOut): {} {\r\n throw new Error('Method not implemented.');\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { Store } from './store.dependancy';\r\nimport { Buffer } from 'buffer';\r\nimport { SessionRestoreError } from '../utils/session-restore.error';\r\n\r\nexport class LocalStore implements Store {\r\n static SESSION_DATA = 'Core.LocalStore.Session_Data';\r\n\r\n get(key: string) {\r\n try {\r\n const value = localStorage.getItem(key);\r\n return value\r\n ? JSON.parse(Buffer.from(value, 'base64').toString('ascii'))\r\n : null;\r\n } catch (error) {\r\n if (key === LocalStore.SESSION_DATA) throw new SessionRestoreError();\r\n }\r\n return null;\r\n }\r\n\r\n set(key: string, value: any): void {\r\n localStorage.setItem(\r\n key,\r\n Buffer.from(JSON.stringify(value)).toString('base64')\r\n );\r\n }\r\n\r\n remove(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n\r\n clear(): void {\r\n localStorage.clear();\r\n }\r\n}\r\n\r\nexport const LOCAL_STORE = new InjectionToken(\r\n 'Browser Local Storage'\r\n);\r\n","import { InjectionToken } from '@angular/core';\r\nimport { Store } from './store.dependancy';\r\nimport { Buffer } from 'buffer';\r\n\r\nexport class SessionStore implements Store {\r\n static ROUTE_HISTORY = 'Core.SessionStore.Route_History';\r\n static MODULE_HISTORY = 'Core.SessionStore.Module_History';\r\n static CASE_CREATION_DATA = 'Core.SessionStore.Case_Creation_Data';\r\n static CASE_CREATION_PAGE = 'Core.SessionStore.Case_Creation_Page';\r\n static NATIVE_APP_DOWNLOAD_STATUS =\r\n 'Core.SessionStore.Native_App_Download_Status';\r\n\r\n get(key: string) {\r\n try {\r\n const value = sessionStorage.getItem(key);\r\n return value\r\n ? JSON.parse(Buffer.from(value, 'base64').toString('ascii'))\r\n : null;\r\n } catch (error) {}\r\n return null;\r\n }\r\n\r\n set(key: string, value: any): void {\r\n sessionStorage.setItem(\r\n key,\r\n Buffer.from(JSON.stringify(value)).toString('base64')\r\n );\r\n }\r\n\r\n remove(key: string): void {\r\n sessionStorage.removeItem(key);\r\n }\r\n\r\n clear(): void {\r\n sessionStorage.clear();\r\n }\r\n}\r\n\r\nexport const SESSION_STORE = new InjectionToken(\r\n 'Browser Session Storage'\r\n);\r\n","export function baseHrefVerifier() {\r\n const baseElements = document.getElementsByTagName('base');\r\n if (!baseElements.length) return;\r\n\r\n const baseUrl = baseElements.item(0).getAttribute('href');\r\n if (!baseUrl || baseUrl === '/') return;\r\n\r\n const url = window.location.href;\r\n\r\n if (url.includes(baseUrl)) return;\r\n\r\n window.location.replace(url.replace(new RegExp(baseUrl, 'ig'), baseUrl));\r\n}\r\n","import { environment } from 'src/environments/environment';\r\n\r\nexport async function appConfigLoader() {\r\n try {\r\n const xhr = new XMLHttpRequest();\r\n xhr.onload = function () {\r\n const config = JSON.parse(this.responseText);\r\n\r\n const { apiUrl, NativeApplication } = config;\r\n\r\n if (apiUrl) environment.apiUrl = apiUrl;\r\n\r\n if (NativeApplication) {\r\n const { Android, iOS } = NativeApplication;\r\n if (Android) {\r\n const { Message, StoreLink, Enable, WebAccess } = Android;\r\n if (Message) environment.NativeApplication.Android.Message = Message;\r\n if (StoreLink)\r\n environment.NativeApplication.Android.StoreLink = StoreLink;\r\n if (Enable !== undefined && Enable !== null)\r\n environment.NativeApplication.Android.Enable = Enable;\r\n if (WebAccess !== undefined && WebAccess !== null)\r\n environment.NativeApplication.Android.WebAccess = WebAccess;\r\n }\r\n\r\n if (iOS) {\r\n const { Message, StoreLink, Enable, WebAccess } = iOS;\r\n if (Message) environment.NativeApplication.iOS.Message = Message;\r\n if (StoreLink)\r\n environment.NativeApplication.iOS.StoreLink = StoreLink;\r\n if (Enable !== undefined && Enable !== null)\r\n environment.NativeApplication.iOS.Enable = Enable;\r\n if (WebAccess !== undefined && WebAccess !== null)\r\n environment.NativeApplication.iOS.WebAccess = WebAccess;\r\n }\r\n }\r\n };\r\n xhr.open('GET', './assets/application-config.json', false);\r\n xhr.send();\r\n } catch (error) {\r\n console.log('loadAppConfigError', error);\r\n }\r\n}\r\n","import {Injector} from '@angular/core';\r\n\r\nlet _rootInjector: Injector;\r\n\r\nexport function appInjector(rootInjector?: Injector): Injector {\r\n if (rootInjector) {\r\n if (_rootInjector)\r\n throw new Error('Root injector already has been initialized.');\r\n _rootInjector = rootInjector;\r\n }\r\n if (!_rootInjector) throw new Error('No Root injector has been initialized.');\r\n return _rootInjector;\r\n}\r\n","import { BaseFormComponent } from 'src/app/shared/components/base-form.component';\r\nimport { forwardRef, Type } from '@angular/core';\r\nimport {\r\n UseCase,\r\n USE_CASE_FORM,\r\n USE_CASE_GRID,\r\n} from '../data/usecases/use-case';\r\nimport { appInjector } from './app.injector';\r\nimport { AppMessageHandler } from '../services/app-messsage-handler.service';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport {\r\n GlobalMessageHandler,\r\n GLOBAL_MESSAGE,\r\n} from '../providers/global-message-handler.provider';\r\nimport { environment } from 'src/environments/environment';\r\nimport { formatDate } from '@angular/common';\r\nimport { PLATFORM } from '../dependencies/platform.dependency';\r\n\r\nexport const TIMEOUT_INFINITE = 60 * 60000;\r\n\r\nexport const VOID_FUNCTION = () => {};\r\n\r\nexport function throwIfModuleImported(moduleRef: any, moduleName: string) {\r\n if (moduleRef)\r\n throw new Error(\r\n `${moduleName} is already loaded. Import it in the AppModule only.`\r\n );\r\n}\r\n\r\nexport function loadUrlOnNewWindow(externalUrl: string): void {\r\n if (!externalUrl) return;\r\n window.open(externalUrl);\r\n}\r\n\r\nexport function provideBaseFormCmp(component: Type) {\r\n return {\r\n provide: BaseFormComponent,\r\n useExisting: forwardRef(() => component),\r\n };\r\n}\r\n\r\nexport function provideFormUsecase(usecase: Type>) {\r\n return {\r\n provide: USE_CASE_FORM,\r\n useClass: usecase,\r\n };\r\n}\r\n\r\nexport function provideGridUsecase(usecase: UseCase) {\r\n return {\r\n provide: USE_CASE_GRID,\r\n useClass: usecase,\r\n };\r\n}\r\n\r\nexport function provideNgValueAccessor(component: Type) {\r\n return {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => component),\r\n multi: true,\r\n };\r\n}\r\n\r\nexport function provideMessageHandler(component: Type) {\r\n return {\r\n provide: GLOBAL_MESSAGE,\r\n useExisting: forwardRef(() => component),\r\n };\r\n}\r\n\r\nexport function isObjectType(object: {}): boolean {\r\n if (\r\n object !== null &&\r\n typeof object === 'object' &&\r\n object.constructor === Object\r\n )\r\n return true;\r\n return false;\r\n}\r\n\r\nexport function disableErrorMessageFor(apiPath: string): void {\r\n const messageHandler = appInjector().get(AppMessageHandler);\r\n messageHandler.disableErrorFor(apiPath);\r\n}\r\n\r\nexport function getFormPrintUrl(fileName: string): string {\r\n const base = environment.apiUrl;\r\n const prefix = base.substr(0, base.indexOf('/api'));\r\n return !isNativeApp()\r\n ? `${prefix}/Controllers/FormPrint/${fileName}.aspx`\r\n : `${prefix}/Controllers/Mobile/FormPrint/${fileName}.aspx`;\r\n}\r\n\r\nexport function getDocumentUrl(fileName: string): string {\r\n const base = environment.apiUrl;\r\n return `${base.substr(\r\n 0,\r\n base.indexOf('/api')\r\n )}/Controllers/Common/${fileName}.aspx`;\r\n}\r\n\r\nexport function downloadDocumentUrl(fileName: string): string {\r\n const base = environment.apiUrl;\r\n const prefix = base.substr(0, base.indexOf('/api'));\r\n return !isNativeApp()\r\n ? `${prefix}/Controllers/FileGen/${fileName}.aspx`\r\n : `${prefix}/Controllers/Mobile/FileGen/${fileName}.aspx`;\r\n}\r\n\r\nexport function now(): string {\r\n return formatDate(new Date().toDateString(), 'MM/dd/yyy', 'en-us');\r\n}\r\n\r\nexport function readParentObject(instance): {} {\r\n return parent(instance);\r\n\r\n function parent(target) {\r\n const prototype = Object.getPrototypeOf(target);\r\n if (prototype === Object.prototype) return target;\r\n return parent(prototype);\r\n }\r\n}\r\n\r\nexport function readFormFieldProperties(formData: {}): [string, string][] {\r\n const body = readParentObject(formData);\r\n const mappingOptions = body['__jsonconvert__mapping__'];\r\n if (!mappingOptions) return Object.keys(formData).map((key) => [key, key]);\r\n\r\n return Object.values(\r\n mappingOptions\r\n ).map(({ classPropertyName, jsonPropertyName }) => [\r\n jsonPropertyName,\r\n classPropertyName,\r\n ]);\r\n}\r\n\r\nexport function diffMinutes(start: Date, end = new Date()): number {\r\n if (!start) throw new TypeError('start time is not defined');\r\n let diff = (start.getTime() - end.getTime()) / 1000;\r\n diff /= 60;\r\n return diff;\r\n}\r\n\r\nfunction isNativeApp(): boolean {\r\n return appInjector().get(PLATFORM).isNativeApp;\r\n}\r\n","export class SessionRestoreError extends Error {\r\n readonly name = 'SessionRestoreError';\r\n readonly message = 'Failed to restore application session';\r\n\r\n constructor() {\r\n super();\r\n this.stack = null;\r\n }\r\n}\r\n","import {CommonAddressValidator} from '@nvkids/validation';\r\nimport {AbstractControl, ValidatorFn} from '@angular/forms';\r\n\r\nexport class EmailValidator {\r\n static valid(allowEmpty = false, errorCode = 'E0085'): ValidatorFn {\r\n return function(control: AbstractControl): {[key: string]: any} | null {\r\n if (allowEmpty && !control.value) return null;\r\n const valid = CommonAddressValidator.emailValidator(control.value);\r\n return !valid ? {error: errorCode} : null;\r\n };\r\n }\r\n}\r\n","import { HttpResponseError } from './http-response.error';\r\n\r\nexport class HttpFormResponseError extends HttpResponseError {\r\n constructor(message: string, data?: any) {\r\n super(message, data);\r\n this.name = 'HttpFormResponseError';\r\n }\r\n}\r\n","export class HttpResponseError extends Error {\r\n name = 'HttpResponseError';\r\n readonly message: string;\r\n readonly data: any;\r\n\r\n constructor(message: string, data?: any) {\r\n super();\r\n this.message = message;\r\n this.data = data;\r\n this.stack = null;\r\n }\r\n}\r\n","import {NgModule, Optional, SkipSelf} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {httpInterceptors} from './interceptors';\nimport {HTTP_LOGGER} from './services/http-logger.dependency';\nimport {DefaultHttpLogger} from './services/default-http-logger.service';\nimport {throwIfModuleImported} from '../core/utils/global';\nimport {LoaderService} from './services/loader.service';\n\n@NgModule({\n imports: [CommonModule, HttpClientModule],\n providers: [\n LoaderService,\n ...httpInterceptors,\n {provide: HTTP_LOGGER, useClass: DefaultHttpLogger},\n ],\n})\nexport class HttpModule {\n constructor(@Optional() @SkipSelf() httpModule: HttpModule) {\n throwIfModuleImported(httpModule, 'HttpModule');\n }\n}\n","import {HTTP_INTERCEPTORS} from '@angular/common/http';\r\nimport {RequestInterceptor} from './request.interceptor';\r\nimport {ResponseInterceptor} from './response.interceptor';\r\nimport {LoggerInterceptor} from './logger.interceptor';\r\nimport {LoaderInterceptor} from './loader.interceptor';\r\nimport { RetryInterceptor } from './retry.interceptor';\r\nimport { TimeoutInterceptor } from './timeout.interceptor';\r\nimport { RefreshTokenInterceptor } from './refresh-token.interceptor';\r\n\r\nexport const httpInterceptors = [\r\n {provide: HTTP_INTERCEPTORS, multi: true, useClass: RequestInterceptor},\r\n {provide: HTTP_INTERCEPTORS, multi: true, useClass: LoaderInterceptor},\r\n {provide: HTTP_INTERCEPTORS, multi: true, useClass: LoggerInterceptor},\r\n {provide: HTTP_INTERCEPTORS, multi: true, useClass: ResponseInterceptor},\r\n {provide: HTTP_INTERCEPTORS, multi: true, useClass: RefreshTokenInterceptor},\r\n {provide: HTTP_INTERCEPTORS, multi: true, useClass: RetryInterceptor},\r\n {provide: HTTP_INTERCEPTORS, multi: true, useClass: TimeoutInterceptor},\r\n];\r\n","import {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n} from '@angular/common/http';\r\nimport {Observable} from 'rxjs';\r\nimport {finalize} from 'rxjs/operators';\r\nimport {LoaderService} from '../services/loader.service';\r\nimport {Injectable} from '@angular/core';\r\n\r\n@Injectable()\r\nexport class LoaderInterceptor implements HttpInterceptor {\r\n private _requests = new Set>();\r\n\r\n constructor(private _loaderService: LoaderService) {}\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n this._addRequest(req);\r\n return next.handle(req).pipe(\r\n finalize(() => {\r\n this.removeRequest(req);\r\n })\r\n );\r\n }\r\n\r\n private _addRequest(req: HttpRequest): void {\r\n this._requests.add(req);\r\n this._loaderService.show();\r\n }\r\n\r\n private removeRequest(req: HttpRequest): void {\r\n this._requests.delete(req);\r\n if (this._requests.size === 0) this._loaderService.hide();\r\n }\r\n}\r\n","import {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport {Observable, throwError} from 'rxjs';\r\nimport {tap, catchError} from 'rxjs/operators';\r\nimport {Inject, Injectable} from '@angular/core';\r\nimport {HTTP_LOGGER, HttpLogger} from '../services/http-logger.dependency';\r\nimport {environment} from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class LoggerInterceptor implements HttpInterceptor {\r\n constructor(\r\n @Inject(HTTP_LOGGER)\r\n private _logger: HttpLogger\r\n ) {}\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n if (environment.environmentName !== 'DEV') return next.handle(req);\r\n\r\n this._logger.onRequest(req);\r\n return next.handle(req).pipe(\r\n tap(event => {\r\n if (event instanceof HttpResponse) this._logger.onResponse(event);\r\n }),\r\n catchError(error => {\r\n this._logger.onError(error, req.url);\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n}\r\n","import {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { SessionManager } from 'src/app/core/services/session-manager.service';\r\n\r\n@Injectable()\r\nexport class RefreshTokenInterceptor implements HttpInterceptor {\r\n static HTTP_TOKEN_RESPONSE_HEADER = 'X-Auth-Token';\r\n\r\n constructor(private _sessionManager: SessionManager) {}\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n return next.handle(req).pipe(\r\n tap((event: HttpEvent) => {\r\n if (\r\n this._sessionManager.hasActiveSession &&\r\n event instanceof HttpResponse\r\n ) {\r\n const token = event.headers.get(\r\n RefreshTokenInterceptor.HTTP_TOKEN_RESPONSE_HEADER\r\n );\r\n if (token) this._sessionManager.updateToken(token);\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n} from '@angular/common/http';\r\nimport {Observable} from 'rxjs';\r\nimport {Optional, Inject, Injectable} from '@angular/core';\r\nimport {\r\n HTTP_REQUEST_HANDLER,\r\n HttpRequestHandler,\r\n} from '../services/request-handler.dependency';\r\n\r\n@Injectable()\r\nexport class RequestInterceptor implements HttpInterceptor {\r\n constructor(\r\n @Optional()\r\n @Inject(HTTP_REQUEST_HANDLER)\r\n private _requestHandler: HttpRequestHandler\r\n ) {}\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n return next.handle(\r\n this._requestHandler ? this._requestHandler.handle(req) : req\r\n );\r\n }\r\n}\r\n","import {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n} from '@angular/common/http';\r\nimport {Observable, throwError} from 'rxjs';\r\nimport {map, catchError} from 'rxjs/operators';\r\nimport {Inject, Optional, Injectable} from '@angular/core';\r\nimport {\r\n HTTP_RESPONSE_HANDLER,\r\n HttpResponseHandler,\r\n} from '../services/response-handler.dependency';\r\nimport {HttpResponseError} from '../error/http-response.error';\r\n\r\n@Injectable()\r\nexport class ResponseInterceptor implements HttpInterceptor {\r\n constructor(\r\n @Optional()\r\n @Inject(HTTP_RESPONSE_HANDLER)\r\n private _responseHandler: HttpResponseHandler\r\n ) {}\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n return next.handle(req).pipe(\r\n map((event: HttpEvent) =>\r\n this._responseHandler ? this._responseHandler.response(event) : event\r\n ),\r\n catchError(error => {\r\n if (!(error instanceof HttpResponseError) && this._responseHandler) {\r\n const err = this._responseHandler.error(error);\r\n return throwError(err);\r\n }\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n}\r\n","import {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { retryWhen, scan, delay, tap } from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class RetryInterceptor implements HttpInterceptor {\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n return next.handle(req).pipe(\r\n retryWhen((error$) =>\r\n error$.pipe(\r\n tap((error) => {\r\n if (error.status !== 0 && error.status < 500) throw error;\r\n }),\r\n delay(500),\r\n scan((times, error) => {\r\n if (times === 2) throw error;\r\n 'Network problem detected. Retrying...'.info();\r\n return times + 1;\r\n }, 0)\r\n )\r\n )\r\n );\r\n }\r\n}\r\n","import {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { timeout } from 'rxjs/operators';\r\nimport { Injectable, InjectionToken, Inject, Optional } from '@angular/core';\r\n\r\nexport const HTTP_TIMEOUT = new InjectionToken('Http Request Timeout');\r\n\r\n@Injectable()\r\nexport class TimeoutInterceptor implements HttpInterceptor {\r\n constructor(@Inject(HTTP_TIMEOUT) @Optional() private _timeout: number) {}\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n const time = req.headers.get('TimeOut') || this._timeout;\r\n return next.handle(req).pipe(timeout(+time || 30000));\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\nimport {HttpLogger} from './http-logger.dependency';\nimport {HttpRequest, HttpResponse} from '@angular/common/http';\n\n@Injectable()\nexport class DefaultHttpLogger implements HttpLogger {\n onRequest(req: HttpRequest): void {\n console.log('DefaultHttpLogger - Request dawns on', req.url);\n console.log(req.body);\n }\n\n onResponse(res: HttpResponse): void {\n console.log(`DefaultHttpLogger - Response for ${res.url}`, res.body);\n }\n\n onError(err: Error, url: string): void {\n console.error(\n `DefaultHttpLogger - Error occurred on ${url} : ${err.message}`\n );\n }\n}\n","import {InjectionToken} from '@angular/core';\r\nimport {HttpRequest, HttpResponse} from '@angular/common/http';\r\n\r\nexport interface HttpLogger {\r\n onRequest: (req: HttpRequest) => void;\r\n onResponse: (res: HttpResponse) => void;\r\n onError: (err: Error, url: string) => void;\r\n}\r\n\r\n/**\r\n * Provide dependency for HTTP_LOGGER token to log Rest API information.\r\n *\r\n * NOTE: The application will use DefaultHttpLogger if no dependency found.\r\n * DefaultHttpLogger uses console for logging information.\r\n */\r\nexport const HTTP_LOGGER = new InjectionToken('Http Logger');\r\n","import { Injectable, Type } from '@angular/core';\nimport { JsonConvert, OperationMode, ValueCheckingMode } from 'json2typescript';\nimport { JsonMapper } from './json-mapper.dependency';\n\n@Injectable()\nexport class JsObjectJsonMapper implements JsonMapper {\n private _jsonConvert: JsonConvert;\n\n constructor() {\n this._jsonConvert = new JsonConvert();\n this._jsonConvert.operationMode = OperationMode.ENABLE;\n this._jsonConvert.valueCheckingMode = ValueCheckingMode.ALLOW_NULL;\n }\n\n serialize(data: T): any {\n if (!data) return null;\n return data instanceof FormData ? data : this._jsonConvert.serialize(data);\n }\n\n deserialize(json: any, type: Type): T {\n return this._jsonConvert.deserialize(json, type) as T;\n }\n}\n","import {Type, InjectionToken} from '@angular/core';\r\nimport {HttpModule} from '../http.module';\r\nimport {JsObjectJsonMapper} from './js-object-json-mapper.service';\r\n\r\nexport interface JsonMapper {\r\n serialize: (data: T) => any;\r\n deserialize: (json: any, type: Type) => T;\r\n}\r\n\r\n/**\r\n * Provide dependency for JSON_MAPPER token to provide Serialization and Deserialization strategy.\r\n *\r\n * NOTE: The application will use JsObjectJsonMapper if no dependency found.\r\n * JsObjectJsonMapper uses json2typescript library to serialize and deserialize js objects.\r\n */\r\nexport const JSON_MAPPER = new InjectionToken(\r\n 'Json to Js and Js to Json Mapper',\r\n {\r\n providedIn: HttpModule,\r\n factory: (): JsonMapper => new JsObjectJsonMapper(),\r\n }\r\n);\r\n","import {Injectable} from '@angular/core';\r\nimport {Subject, Observable} from 'rxjs';\r\n\r\n@Injectable()\r\nexport class LoaderService {\r\n private _loaderSubject = new Subject();\r\n private _loader$ = this._loaderSubject.asObservable();\r\n\r\n show(): void {\r\n this._loaderSubject.next(true);\r\n }\r\n\r\n hide(): void {\r\n this._loaderSubject.next(false);\r\n }\r\n\r\n get onStateChanges$(): Observable {\r\n return this._loader$;\r\n }\r\n}\r\n","import {InjectionToken} from '@angular/core';\r\nimport {HttpRequest} from '@angular/common/http';\r\n\r\nexport interface HttpRequestHandler {\r\n handle: (request: HttpRequest) => HttpRequest;\r\n}\r\n\r\n/**\r\n * Provide dependency for HTTP_REQUEST_HANDLER token to intercept HttpReqest.\r\n *\r\n */\r\nexport const HTTP_REQUEST_HANDLER = new InjectionToken(\r\n 'Http Request Handler'\r\n);\r\n","import {InjectionToken} from '@angular/core';\r\nimport {HttpEvent, HttpErrorResponse} from '@angular/common/http';\r\n\r\nexport interface HttpResponseHandler {\r\n response: (res: HttpEvent) => HttpEvent;\r\n error: (error: HttpErrorResponse) => Error;\r\n}\r\n\r\n/**\r\n * Provide dependency for HTTP_RESPONSE_HANDLER token to intercept HttpResponse.\r\n *\r\n */\r\nexport const HTTP_RESPONSE_HANDLER = new InjectionToken(\r\n 'Http Response Handler'\r\n);\r\n","import {Injectable, Type, Inject} from '@angular/core';\nimport {HttpModule} from '../http.module';\nimport {\n HttpClient,\n HttpHeaders,\n HttpParams,\n HttpEvent,\n HttpResponse,\n} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {JsonMapper, JSON_MAPPER} from './json-mapper.dependency';\n\ninterface RestRequest {\n headers?: HttpHeaders | {[header: string]: string | string[]};\n observe?: 'body' | 'events' | 'response';\n params?: HttpParams | {[param: string]: string | string[]};\n reportProgress?: boolean;\n responseType: 'arraybuffer' | 'blob' | 'text' | 'json';\n withCredentials?: boolean;\n}\n\nexport interface RequestData extends RestRequest {\n body?: any;\n method: HttpMethod;\n}\n\nexport type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'UPDATE';\n\nexport type HttpReq = Omit;\n\n@Injectable({\n providedIn: HttpModule,\n})\nexport class RestClient {\n constructor(\n private _http: HttpClient,\n @Inject(JSON_MAPPER) private _jsonMapper: JsonMapper\n ) {}\n\n request(\n url: string,\n type?: Type,\n options?: RequestData\n ): Observable {\n const {method, observe, responseType} = options;\n return this._http\n .request(method, url, options)\n .pipe(\n map(\n response =>\n this.handleResponse(response, observe, type, responseType) as T\n )\n );\n }\n\n get(url: string, type?: Type, options?: HttpReq): Observable {\n return this._http\n .get(url, options)\n .pipe(\n map(response => this.handleResponse(response, 'body', type) as T)\n );\n }\n\n getHttpEvent(\n url: string,\n type?: Type,\n options?: HttpReq\n ): Observable> {\n return this._http\n .get>(url, options)\n .pipe(\n map(\n response =>\n this.handleResponse(response, 'events', type) as HttpEvent\n )\n );\n }\n\n getHttpResponse(\n url: string,\n type?: Type,\n options?: HttpReq\n ): Observable> {\n return this._http\n .get>(url, options)\n .pipe(\n map(\n response =>\n this.handleResponse(response, 'response', type) as HttpResponse<\n T\n >\n )\n );\n }\n\n post(\n url: string,\n body: any,\n type?: Type,\n options?: HttpReq\n ): Observable {\n return this._http\n .post(url, this._jsonMapper.serialize(body), options)\n .pipe(\n map(response => this.handleResponse(response, 'body', type) as T)\n );\n }\n\n postHttpEvent(\n url: string,\n body: any,\n type?: Type,\n options?: HttpReq\n ): Observable> {\n return this._http\n .post>(url, this._jsonMapper.serialize(body), options)\n .pipe(\n map(\n response =>\n this.handleResponse(response, 'events', type) as HttpEvent\n )\n );\n }\n\n postHttpResponse(\n url: string,\n body: string,\n type?: Type,\n options?: HttpReq\n ): Observable> {\n return this._http\n .post>(url, this._jsonMapper.serialize(body), options)\n .pipe(\n map(\n response =>\n this.handleResponse(response, 'response', type) as HttpResponse<\n T\n >\n )\n );\n }\n\n private handleResponse(\n response: any,\n observeOn: string,\n type?: Type,\n responseType: string = 'json'\n ): T | HttpResponse | HttpEvent {\n if (responseType !== 'json' || !type) return response;\n\n if (observeOn === 'body')\n // if (!type)\n // throw new TypeError('No type declaration found to deserialize.');\n return this._jsonMapper.deserialize(response, type);\n else if (response instanceof HttpResponse) {\n // if (!type)\n // throw new TypeError('No type declaration found to deserialize.');\n\n const res = response as HttpResponse;\n const data = this._jsonMapper.deserialize(response, type);\n return res.clone({body: data});\n }\n return response;\n }\n}\n","import { Mapper } from 'src/app/core/data/mappers/mapper';\r\nimport { Login } from '../models/login.model';\r\nimport { User } from 'src/app/core/data/models/user.model';\r\n\r\nexport class LoginMapper implements Mapper {\r\n mapFrom(params: Login) {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n mapTo(params: User): User {\r\n const { modeCode, indCseme } = params;\r\n if (modeCode === 'O' || modeCode === 'B')\r\n if (indCseme === 'N') params.userType = 'N';\r\n else params.userType = 'E';\r\n\r\n return params;\r\n }\r\n}\r\n","import {JsonObject, JsonProperty} from 'json2typescript';\r\nimport {BaseServiceOut} from 'src/app/core/data/models/base-service.out.model';\r\n\r\n@JsonObject('EndSessionOut')\r\nexport class EndSessionOut extends BaseServiceOut {\r\n @JsonProperty('ReturnValue', String)\r\n returnValue: string = undefined;\r\n}\r\n","import {JsonObject, JsonProperty, Any} from 'json2typescript';\r\nimport {BaseServiceOut} from 'src/app/core/data/models/base-service.out.model';\r\n\r\n@JsonObject('RegistrationWithCaseOut')\r\nexport class RegistrationWithCaseOut extends BaseServiceOut {\r\n @JsonProperty('ReturnValue', Any)\r\n value: any = undefined;\r\n}\r\n","import {JsonObject, JsonProperty} from 'json2typescript';\r\nimport {BaseServiceOut} from 'src/app/core/data/models/base-service.out.model';\r\n\r\n@JsonObject('RegistrationOut')\r\nexport class RegistrationOut extends BaseServiceOut {\r\n @JsonProperty('ContactEml', String)\r\n contactEml: string = undefined;\r\n\r\n @JsonProperty('PIN_TEXT', String)\r\n pinText: string = undefined;\r\n}\r\n","import {JsonObject, JsonProperty} from 'json2typescript';\r\n\r\n@JsonObject('UpdateEmailIn')\r\nexport class UpdateEmailIn {\r\n @JsonProperty('NewContactEml', String)\r\n newContactEml: string = undefined;\r\n\r\n @JsonProperty('ConfirmEml', String)\r\n confirmEml: string = undefined;\r\n\r\n @JsonProperty('SignedOnUserID', String)\r\n signedOnUserID: string = undefined;\r\n}\r\n","import {JsonObject, JsonProperty, Any} from 'json2typescript';\r\nimport {BaseServiceOut} from 'src/app/core/data/models/base-service.out.model';\r\n\r\n@JsonObject('UpdateEmailOut')\r\nexport class UpdateEmailOut extends BaseServiceOut {\r\n @JsonProperty('ReturnValue', Any)\r\n value: any = undefined;\r\n}\r\n","import {JsonObject, JsonProperty} from 'json2typescript';\r\n\r\n@JsonObject('UpdatePasswordIn')\r\nexport class UpdatePasswordIn {\r\n @JsonProperty('UserPasswordText', String)\r\n password: string = undefined;\r\n\r\n @JsonProperty('NewPasswordText', String)\r\n newPassword: string = undefined;\r\n\r\n @JsonProperty('ConfirmUserPasswordText', String)\r\n confirmPassword: string = undefined;\r\n\r\n @JsonProperty('SignedOnUserID', String)\r\n signedOnUserID: string = undefined;\r\n}\r\n","import { JsonObject, JsonProperty, Any } from 'json2typescript';\r\nimport { BaseServiceOut } from 'src/app/core/data/models/base-service.out.model';\r\n\r\n@JsonObject('UpdatePasswordOut')\r\nexport class UpdatePasswordOut extends BaseServiceOut {\r\n @JsonProperty('ReturnValue', Any, false)\r\n value: any = undefined;\r\n}\r\n","import {JsonObject, JsonProperty} from 'json2typescript';\r\nimport {BaseServiceOut} from 'src/app/core/data/models/base-service.out.model';\r\n\r\n@JsonObject('ValidateMemberOut')\r\nexport class ValidateMemberOut extends BaseServiceOut {\r\n @JsonProperty('LastName', String)\r\n lastName: string = undefined;\r\n\r\n @JsonProperty('FirstName', String)\r\n firstName: string = undefined;\r\n\r\n @JsonProperty('ContactEml', String)\r\n contactEml: string = undefined;\r\n}\r\n","import { JsonObject, JsonProperty } from 'json2typescript';\r\nimport { User } from 'src/app/core/data/models/user.model';\r\n\r\nexport enum UserIdType {\r\n INVALID,\r\n EXISTS,\r\n AVAILABLE,\r\n}\r\n\r\n@JsonObject('CheckLoginUserOut')\r\nexport class ValidateUserIdOut extends User {\r\n @JsonProperty('UserExists', String)\r\n userExists: string = undefined;\r\n\r\n get userIdType(): UserIdType {\r\n if (this.userExists === 'A') return UserIdType.INVALID;\r\n if (this.userExists === 'Y') return UserIdType.EXISTS;\r\n if (this.userExists === 'N') return UserIdType.AVAILABLE;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestClient } from 'src/app/http/services/rest-client.service';\r\nimport { Observable } from 'rxjs';\r\nimport { User } from 'src/app/core/data/models/user.model';\r\nimport { Login } from '../models/login.model';\r\nimport { map } from 'rxjs/operators';\r\nimport { RegistrationIn } from '../models/registration.in.model';\r\nimport { RegistrationOut } from '../models/registration.out.model';\r\nimport { UpdatePasswordIn } from '../models/update-password.in.model';\r\nimport { ValidateMemberIn } from '../models/validate-member-in.model';\r\nimport { ValidateMemberOut } from '../models/validate-member-out.model';\r\nimport { UpdatePasswordOut } from '../models/update-password.out.model';\r\nimport { UserInfoMapper } from 'src/app/core/services/user-info-mapper.service';\r\nimport { LoginMapper } from '../mappers/login.mapper';\r\nimport { UpdateEmailIn } from '../models/update-email.in.model';\r\nimport { UpdateEmailOut } from '../models/update-email.out.model';\r\nimport { ResetPasswordIn } from '../models/reset-password-in.model';\r\nimport { EndSessionIn } from '../models/end-session.in.model';\r\nimport { EndSessionOut } from '../models/end-session.out.model';\r\nimport { RegistrationWithCaseIn } from '../models/registration-with-case.in.model';\r\nimport { RegistrationWithCaseOut } from '../models/registration-with-case.out.model';\r\nimport { ValidateUserIdOut } from '../models/validate-userid-out.model';\r\nimport { ValidateUserIdIn } from '../models/validate-userid-in.model';\r\n\r\n@Injectable()\r\nexport class LoginRepository {\r\n static LOGIN = 'Authentication/GetLoginUserDetails';\r\n static REGISTRATION = 'Subscription/AddSubscriptionDetails';\r\n static REGISTRATION_WITH_CASE = 'Registration/AddRegistrationDetails';\r\n static UPDATE_PASSWORD = 'Authentication/UpdateUserPassword';\r\n static UPDATE_EMAIL = 'Authentication/UpdateUserProfile';\r\n static VALIDATE_MEMBER = 'Authentication/ValidateMember';\r\n static END_SESSION = 'Authentication/InsertAuditLogInfo';\r\n static VALIDATE_USER_ID = 'Authentication/CheckLoginUser';\r\n\r\n private _loginMapper = new LoginMapper();\r\n\r\n constructor(\r\n private _restClient: RestClient,\r\n private _userMapper: UserInfoMapper\r\n ) {}\r\n\r\n doLogin(param: Login): Observable {\r\n return this._restClient\r\n .post(LoginRepository.LOGIN, param, User)\r\n .pipe(map((user) => this._loginMapper.mapTo(user)));\r\n }\r\n\r\n registerWithCase(\r\n param: RegistrationWithCaseIn\r\n ): Observable {\r\n return this._restClient.post(\r\n LoginRepository.REGISTRATION_WITH_CASE,\r\n param,\r\n RegistrationWithCaseOut,\r\n { headers: { TimeOut: '180000' } }\r\n );\r\n }\r\n\r\n register(param: RegistrationIn): Observable {\r\n return this._restClient.post(\r\n LoginRepository.REGISTRATION,\r\n param,\r\n RegistrationOut,\r\n { headers: { TimeOut: '180000' } }\r\n );\r\n }\r\n\r\n updatePassword(param: UpdatePasswordIn): Observable {\r\n return this._restClient.post(\r\n LoginRepository.UPDATE_PASSWORD,\r\n this._userMapper.mapFrom(param),\r\n UpdatePasswordOut\r\n );\r\n }\r\n\r\n resetPassword(param: ResetPasswordIn): Observable {\r\n return this._restClient.post(\r\n LoginRepository.UPDATE_PASSWORD,\r\n param,\r\n UpdatePasswordOut\r\n );\r\n }\r\n\r\n updateEmail(param: UpdateEmailIn): Observable {\r\n return this._restClient.post(\r\n LoginRepository.UPDATE_EMAIL,\r\n this._userMapper.mapFrom(param),\r\n UpdateEmailOut\r\n );\r\n }\r\n\r\n validateMember(param: ValidateMemberIn): Observable {\r\n return this._restClient.post(\r\n LoginRepository.VALIDATE_MEMBER,\r\n param,\r\n ValidateMemberOut\r\n );\r\n }\r\n\r\n endSession(param: EndSessionIn): Observable {\r\n return this._restClient.post(\r\n LoginRepository.END_SESSION,\r\n param,\r\n EndSessionOut\r\n );\r\n }\r\n\r\n validateUserId(param: ValidateUserIdIn): Observable {\r\n return this._restClient.post(\r\n LoginRepository.VALIDATE_USER_ID,\r\n param,\r\n ValidateUserIdOut\r\n );\r\n }\r\n}\r\n","import { Injectable, Type } from '@angular/core';\r\nimport { UseCase } from 'src/app/core/data/usecases/use-case';\r\nimport { UpdateEmailIn } from '../models/update-email.in.model';\r\nimport { UpdateEmailOut } from '../models/update-email.out.model';\r\nimport { Observable } from 'rxjs';\r\nimport { LoginRepository } from '../repositories/login.repository';\r\n\r\n@Injectable()\r\nexport class UpdateEmailUsecase\r\n implements UseCase {\r\n types: [Type, Type] = [\r\n UpdateEmailIn,\r\n UpdateEmailOut,\r\n ];\r\n\r\n constructor(private _repo: LoginRepository) {}\r\n\r\n execute(params: UpdateEmailIn): Observable {\r\n return this._repo.updateEmail(params);\r\n }\r\n}\r\n","import {Injectable, Type} from '@angular/core';\r\nimport {UseCase} from 'src/app/core/data/usecases/use-case';\r\nimport {UpdatePasswordIn} from '../models/update-password.in.model';\r\nimport {Observable} from 'rxjs';\r\nimport {LoginRepository} from '../repositories/login.repository';\r\nimport {UpdatePasswordOut} from '../models/update-password.out.model';\r\nimport { tap } from 'rxjs/operators';\r\nimport { FormResponseError } from 'src/app/reactive-form/errors/form-response.error';\r\n\r\n@Injectable()\r\nexport class UpdatePasswordUsecase\r\n implements UseCase {\r\n types: [Type, Type] = [\r\n UpdatePasswordIn,\r\n UpdatePasswordOut,\r\n ];\r\n\r\n constructor(private _repo: LoginRepository) {}\r\n\r\n execute(params: UpdatePasswordIn): Observable {\r\n return this._repo.updatePassword(params).pipe(\r\n tap(({ value, statusList }) => {\r\n if (value === 'N')\r\n throw new FormResponseError('UserName or Password is Incorrect');\r\n })\r\n );\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanLoad,\r\n Route,\r\n UrlSegment,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n UrlTree,\r\n CanActivate,\r\n} from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { SessionGuard } from 'src/app/core/guards/session.guard';\r\nimport { SessionManager } from 'src/app/core/services/session-manager.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SchematicGuard implements CanLoad, CanActivate {\r\n constructor(\r\n private _sessionGuard: SessionGuard,\r\n private _sessionManager: SessionManager,\r\n ) {}\r\n\r\n canLoad(\r\n route: Route,\r\n segments: UrlSegment[]\r\n ): Observable | Promise | boolean {\r\n return this._sessionManager.hasActiveSession;\r\n }\r\n\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ):\r\n | boolean\r\n | UrlTree\r\n | Observable\r\n | Promise {\r\n return this._sessionGuard.canNavigate();\r\n }\r\n}\r\n","import {\n Directive,\n Inject,\n Optional,\n Self,\n OnInit,\n Input,\n OnDestroy,\n Output,\n EventEmitter,\n ElementRef,\n Renderer2,\n DoCheck,\n AfterViewInit,\n} from '@angular/core';\nimport {\n FormGroupDirective,\n ValidationErrors,\n FormControlName,\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil, finalize } from 'rxjs/operators';\nimport { BaseFormComponent } from 'src/app/shared/components/base-form.component';\nimport {\n FORM_RESPONSE_HANDLER,\n FormResponseHandler,\n} from '../../services/form-response-handler.dependency';\nimport { UseCase, USE_CASE_FORM } from 'src/app/core/data/usecases/use-case';\nimport {\n isObjectType,\n readFormFieldProperties,\n} from 'src/app/core/utils/global';\nimport { BaseServiceOut } from 'src/app/core/data/models/base-service.out.model';\nimport { AccessibilityAction } from 'src/app/core/key-shortcuts/accessibility-key-event-observer.service';\nimport { FormKeyEventObserver } from 'src/app/core/key-shortcuts/form-key-event-observer.service';\nimport { HttpFormResponseError } from 'src/app/http/error/http-form-response.error';\nimport { FormValidationError } from '../../errors/form-validation.error';\nimport { CustomInputComponent } from '@nvkids/custom-component';\nimport { InputMask } from 'primeng/inputmask';\n\ntype ValidationErr = {\n form: ValidationErrors | null;\n controls:\n | {\n name: string;\n label: string;\n error: ValidationErrors;\n }[]\n | null;\n};\n\n@Directive({\n selector: 'form[rootFormManager][formGroup]',\n exportAs: 'rootForm',\n host: {\n '(submit)': 'submit(null)',\n '(reset)': 'reset($event)',\n },\n})\nexport class RootFormManagerDirective\n implements OnInit, DoCheck, AfterViewInit, OnDestroy {\n @Input() successMessage?: string;\n\n @Input() messageTimeout = 5000;\n\n @Input() submitBy?: (body: any) => any;\n\n @Input() accessibilityHandler?: (action: AccessibilityAction) => boolean;\n\n @Input() accessibilityAction: 'all' | 'clear' | 'save' | 'none' = 'all';\n\n @Input('rootFormManager') browserDefault = false;\n\n @Input() dataKey?: string;\n\n @Input() submitOnInit = false;\n\n @Input() resetOnResponse = false;\n\n @Input() autoFocusErrorControl = true;\n\n @Output() response = new EventEmitter();\n\n @Output() error = new EventEmitter();\n\n @Output() validation = new EventEmitter();\n\n @Output() validationError = new EventEmitter();\n\n private _pendingBody: any;\n private _pendingJob: 'submit' | 'validation' = null;\n private _currentJob: 'submit' | 'validation' = null;\n private _formElem: HTMLFormElement;\n private _prevHashcode: number;\n // private _pristine: boolean;\n private _submitted: boolean;\n private _subscription$ = new Subject();\n\n constructor(\n @Self() private _formGroupDir: FormGroupDirective,\n @Optional()\n @Inject(FORM_RESPONSE_HANDLER)\n private _responseHandler: FormResponseHandler,\n elementRef: ElementRef,\n private _renderer: Renderer2,\n private _keyObserver: FormKeyEventObserver,\n @Optional()\n @Inject(USE_CASE_FORM)\n private _usecase: UseCase,\n private _baseFormComRef: BaseFormComponent\n ) {\n this._formElem = elementRef.nativeElement;\n // this._pristine = true;\n }\n\n ngOnInit(): void {\n this._updateHashcode();\n this._subscribeToStatusChanges();\n this._subscribeToKeyShortcut();\n }\n\n ngDoCheck(): void {\n // if (this._pristine !== this._formGroupDir.pristine) {\n // this._pristine = this._formGroupDir.pristine;\n // if (this._pristine) this._updateHashcode();\n // }\n }\n\n ngAfterViewInit(): void {\n if (this.submitOnInit) this.submit.queue(this);\n }\n\n submit(body?: any): void {\n if (this.submitted) return;\n\n this._pendingBody = body;\n this._pendingJob = null;\n this._currentJob = 'submit';\n this._manipulateForm();\n }\n\n validate(): void {\n this._pendingJob = null;\n this._currentJob = 'validation';\n this._manipulateForm();\n }\n\n reset(event?: Event): void {\n this._formGroupDir.resetForm(this._baseFormComRef.initialFormValue);\n this.notifyFormValueReset();\n if (event) event.preventDefault();\n }\n\n notifyFormValueReset(): void {\n this._updateHashcode();\n }\n\n focusErrorControl(): void {\n const { valid, directives } = this._formGroupDir;\n if (valid) return;\n\n const errorCtrl = directives.find(({ errors: err }) => err);\n if (errorCtrl) {\n const { valueAccessor } = errorCtrl;\n const focusFn = valueAccessor['focus'];\n if (focusFn && typeof focusFn === 'function') focusFn.call(valueAccessor);\n }\n }\n\n private _manipulateForm(): void {\n const valid = this._baseFormComRef.isValid;\n\n if (this._formGroupDir.pending) {\n this._pendingJob = this._currentJob;\n this._currentJob = null;\n return;\n }\n\n if (!valid) this._emitFormError();\n\n if (this._currentJob === 'validation') this.validation.emit(valid);\n else if (this._currentJob === 'submit' && valid) this._doSubmitForm();\n this._currentJob = null;\n\n if (this.autoFocusErrorControl) this.focusErrorControl();\n }\n\n private _subscribeToStatusChanges(): void {\n takeUntil(this._subscription$)(this._formGroupDir.statusChanges).subscribe(\n (status) => {\n if (this._pendingJob && status !== 'PENDING') {\n const valid = this._formGroupDir.valid;\n if (!valid) this._emitFormError();\n if (this._currentJob === 'validation') this.validation.emit(valid);\n else if (this._currentJob === 'submit' && valid) this._doSubmitForm();\n this._pendingJob = null;\n if (this.autoFocusErrorControl) this.focusErrorControl();\n }\n }\n );\n }\n\n private _subscribeToKeyShortcut(): void {\n let actions = null;\n if (this.accessibilityAction === 'all')\n actions = [AccessibilityAction.CLEAR, AccessibilityAction.SAVE];\n else if (this.accessibilityAction === 'save')\n actions = [AccessibilityAction.SAVE];\n else if (this.accessibilityAction === 'clear')\n actions = [AccessibilityAction.CLEAR];\n\n if (!actions) return;\n\n takeUntil(this._subscription$)(\n this._keyObserver.observe(actions)\n ).subscribe((action) => {\n if (this.accessibilityHandler) {\n if (this.accessibilityHandler.call(this._baseFormComRef, action))\n doAction.call(this, action);\n } else doAction.call(this, action);\n });\n\n function doAction(action) {\n if (action === AccessibilityAction.CLEAR) this.reset();\n else if (action === AccessibilityAction.SAVE) this.submit();\n }\n }\n\n private _doSubmitForm(): void {\n let body = this._pendingBody || this._formGroupDir.value;\n\n if (!this.browserDefault) {\n this._checkIfUsecasePresent();\n\n if (isObjectType(body)) {\n this._checkIfInputTypePresent();\n const [typeIn] = this._usecase.types;\n body = body.asInstanceOf(typeIn);\n }\n if (this.submitBy) body = this.submitBy.call(this._baseFormComRef, body);\n this._proceedManualSubmission(body);\n } else {\n if (this.submitBy) body = this.submitBy.call(this._baseFormComRef, body);\n this._proceedBrowserDefaultSubmission(body);\n }\n }\n\n private _proceedBrowserDefaultSubmission(body: any): void {\n const inputElem = this._renderer.createElement('input');\n this._renderer.setAttribute(inputElem, 'type', 'text');\n this._renderer.setAttribute(inputElem, 'name', this.dataKey);\n this._renderer.setAttribute(inputElem, 'id', this.dataKey);\n this._renderer.setAttribute(\n inputElem,\n 'value',\n typeof body === 'object' ? JSON.stringify(body) : body\n );\n\n const form = this._renderer.createElement('form');\n form.action = this._formElem.action;\n form.target = this._formElem.target;\n form.method = this._formElem.method;\n this._renderer.appendChild(form, inputElem);\n this._renderer.setStyle(form, 'display', 'none');\n this._renderer.appendChild(document.body, form);\n form.submit();\n this._renderer.removeChild(document.body, form);\n\n this._pendingBody = null;\n }\n\n private _proceedManualSubmission(body: {}): void {\n this._submitted = true;\n this._usecase\n .execute(body)\n .pipe(\n finalize(() => {\n this._pendingBody = null;\n this._submitted = false;\n }),\n takeUntil(this._subscription$)\n )\n .subscribe(\n (res) => {\n if (this.resetOnResponse) this.reset();\n else this.notifyFormValueReset();\n\n this.response.emit(res);\n if (this._responseHandler)\n this._responseHandler.onSubmitted(res, {\n message: this.successMessage,\n timeout: this.messageTimeout,\n });\n },\n (error) => {\n this.error.emit(error);\n\n if (this._responseHandler) this._responseHandler.onFailed(error);\n\n if (error instanceof HttpFormResponseError && error.data) {\n const errorControl = this._manipulateFormError(error, body)[0];\n\n if (errorControl) {\n const { valueAccessor } = errorControl;\n const focusFn = valueAccessor['focus'];\n if (\n valueAccessor instanceof CustomInputComponent &&\n valueAccessor.inputControl instanceof InputMask\n )\n (valueAccessor.inputControl.inputViewChild\n .nativeElement as HTMLElement).focus();\n else if (focusFn && typeof focusFn === 'function')\n focusFn.call(valueAccessor);\n }\n }\n }\n );\n }\n\n private _manipulateFormError(\n error: HttpFormResponseError,\n body: {}\n ): FormControlName[] {\n const formProperties = readFormFieldProperties(body);\n const controlDir = [];\n\n for (const status of error.data) {\n const property = formProperties.find(\n ([jsonPropertyName]) => jsonPropertyName === status['RelatedField']\n );\n\n if (property) {\n const [classPropertyName] = property;\n const formControl = this._formGroupDir.directives.find(\n ({ name }) => name === classPropertyName\n );\n if (formControl) {\n controlDir.push(formControl);\n formControl.control.markAsPristine();\n formControl.control.setErrors({\n code: status['Code'],\n });\n }\n }\n }\n return controlDir;\n }\n\n private _emitFormError(): void {\n const { errors, directives } = this._formGroupDir;\n\n const _errors = {\n form: errors,\n controls: directives\n .filter(({ errors: err }) => err)\n .map(({ errors: err, name, valueAccessor }) => ({\n error: err,\n label: valueAccessor['label'],\n name,\n })),\n };\n\n this.validationError.emit(_errors);\n this._responseHandler.onFailed(new FormValidationError(null, _errors));\n }\n\n private _checkIfUsecasePresent(): void {\n if (!this._usecase)\n throw new TypeError(\n 'Form submission cannot be proceeded without usecases'\n );\n }\n\n private _checkIfInputTypePresent(): void {\n if (!this._usecase.types)\n throw new ReferenceError(\n 'Form input class type not found. Specify your input types in usecase instance'\n );\n }\n\n private _updateHashcode(): void {\n this._prevHashcode = this._formGroupDir.value.hashcode();\n }\n\n ngOnDestroy(): void {\n this._subscription$.next();\n this._subscription$.unsubscribe();\n }\n\n get valueChanged(): boolean {\n const currHashcode = this._formGroupDir.value.hashcode();\n return this._prevHashcode !== currHashcode;\n }\n\n get submitted(): boolean {\n return this._submitted;\n }\n}\n","export class FormResponseError extends Error {\r\n readonly name = 'FormResponseError';\r\n readonly message: string;\r\n\r\n constructor(message: string) {\r\n super();\r\n this.message = message;\r\n this.stack = null;\r\n }\r\n}\r\n","export class FormValidationError extends Error {\r\n readonly name = 'FormValidationError';\r\n readonly message: string;\r\n readonly data: any;\r\n\r\n constructor(message: string, data: any) {\r\n super();\r\n this.message = message;\r\n this.stack = null;\r\n this.data = data;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {RootFormManagerDirective} from './directives/root-form-manager/root-form-manager.directive';\n\n@NgModule({\n declarations: [RootFormManagerDirective],\n imports: [CommonModule, ReactiveFormsModule],\n exports: [RootFormManagerDirective, ReactiveFormsModule],\n})\nexport class FormRootModule {}\n","import {InjectionToken} from '@angular/core';\r\n\r\nexport interface FormResponseHandler {\r\n onSubmitted(data: any, extra?: any): void;\r\n onFailed(error: Error, extra?: any): void;\r\n}\r\n\r\n/**\r\n * The token to provide form global error handler.\r\n */\r\nexport const FORM_RESPONSE_HANDLER = new InjectionToken(\r\n 'Form Response Handler'\r\n);\r\n","import { ScreenFormComponent } from '@nvkids/uibase';\r\nimport { ValidatorFn, AsyncValidatorFn } from '@angular/forms';\r\nimport { FormGroupSection, IScreenInfo } from '@nvkids/common';\r\n\r\nexport abstract class BaseFormComponent extends ScreenFormComponent {\r\n screenInfo: IScreenInfo = {\r\n label: '',\r\n routerLink: [],\r\n screenName: '',\r\n };\r\n\r\n // readonly dropdownDefault = [{ label: '--SELECT--', value: '' }];\r\n\r\n protected abstract getFormFields(): { [key: string]: any };\r\n\r\n onFormValueChange(data: any): void {\r\n // throw new Error('Method not implemented.');\r\n }\r\n\r\n onInitialize(): void {\r\n this.rootFormGroup = this.buildFormGroup(\r\n this.getFormFields(),\r\n FormGroupSection.bodySection,\r\n this.getFormValidation(),\r\n this.getFormAsyncValidation()\r\n );\r\n }\r\n\r\n onViewReady(): void {\r\n // throw new Error('Method not implemented.');\r\n }\r\n\r\n onDestroy(): void {\r\n // throw new Error('Method not implemented.');\r\n }\r\n\r\n protected getFormValidation(): ValidatorFn | ValidatorFn[] {\r\n return null;\r\n }\r\n\r\n protected getFormAsyncValidation(): AsyncValidatorFn | AsyncValidatorFn[] {\r\n return null;\r\n }\r\n\r\n get rgxAlphaNum(): string {\r\n return `alphanum`;\r\n }\r\n\r\n get rgxAlpha(): string {\r\n return `alpha`;\r\n }\r\n\r\n get rgxEmail(): string {\r\n return `email`;\r\n }\r\n\r\n get rgxNum(): string {\r\n return `num`;\r\n }\r\n\r\n get rgxPositiveDecimal(): string {\r\n return `pnum`;\r\n }\r\n\r\n get rgxAddress(): string {\r\n return `^[A-Za-z0-9# ]+$`;\r\n }\r\n\r\n get rgxBlockSpecial(): string {\r\n return `^[A-Za-z0-9]+$`;\r\n }\r\n\r\n get rgxName(): string {\r\n return `^[A-Za-z ]+$`;\r\n }\r\n\r\n get rgxAmount(): string {\r\n return `^[0-9.]+$`;\r\n }\r\n\r\n get rgxBlockSpecialForUserID(): string {\r\n return `^[A-Za-z0-9@.]+$`;\r\n }\r\n}\r\n","import { OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\nimport { BreakpointWatcher } from '../../core/services/breakpoint-watcher.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { BreakpointBuilder } from '../../core/services/breakpoint-builder.service';\r\nimport { appInjector } from '../../core/utils/app.injector';\r\nimport { RxJsUnsubscribe } from 'src/app/core/decorators/rxjs-unsubscribe.decorator';\r\n\r\n@RxJsUnsubscribe\r\nexport abstract class BaseResponsiveComponent implements OnInit, OnDestroy {\r\n protected readonly bpWatcher: BreakpointWatcher;\r\n isSmallScreen: boolean;\r\n isLargeScreen: boolean;\r\n\r\n private _bpSubscription: Subscription;\r\n\r\n constructor(protected readonly changeDecRef: ChangeDetectorRef = null) {\r\n this.bpWatcher = appInjector().get(BreakpointWatcher);\r\n }\r\n\r\n ngOnInit(): void {\r\n this._bpSubscription = this.bpWatcher\r\n .watch(this.getBreakpoints2ListenOn(this.bpWatcher.breakpointBuilder))\r\n .subscribe(this._onBpChanges.bind(this));\r\n }\r\n\r\n protected onBreakpointChanges(breakpoints: string[]): void {}\r\n\r\n protected getBreakpoints2ListenOn(builder: BreakpointBuilder): string[] {\r\n return builder.default().b();\r\n }\r\n\r\n private _onBpChanges(breakpoints): void {\r\n this.isSmallScreen = this.bpWatcher.isSmall();\r\n this.isLargeScreen = this.bpWatcher.isDesktop();\r\n this.onBreakpointChanges(breakpoints);\r\n if (this.changeDecRef) this.changeDecRef.markForCheck();\r\n }\r\n\r\n ngOnDestroy() {}\r\n}\r\n","import {Component, SkipSelf} from '@angular/core';\nimport {BaseFormComponent} from '../base-form.component';\nimport {\n provideBaseFormCmp,\n provideFormUsecase,\n} from 'src/app/core/utils/global';\nimport {UpdateEmailUsecase} from 'src/app/modules/authentication/data/usecases/update-email.usecase';\nimport {UpdateEmailIn} from 'src/app/modules/authentication/data/models/update-email.in.model';\nimport {EmailValidator} from 'src/app/core/validators/email.validator';\nimport {FormDialogComponent} from '../form-dialog/form-dialog.component';\nimport { UpdateEmailOut } from 'src/app/modules/authentication/data/models/update-email.out.model';\n\n@Component({\n selector: 'app-change-email',\n templateUrl: './change-email.component.html',\n viewProviders: [\n provideBaseFormCmp(ChangeEmailComponent),\n provideFormUsecase(UpdateEmailUsecase),\n ],\n})\nexport class ChangeEmailComponent extends BaseFormComponent {\n constructor(@SkipSelf() private _formDialogCmp: FormDialogComponent) {\n super();\n }\n\n _onCancel(): void {\n this._formDialogCmp.discardDialog();\n }\n\n _onResponse(out: UpdateEmailOut): void {\n if (out.statusList && out.statusList[0].code === 'E1900')\n 'Mail sending failed'.info();\n }\n\n protected getFormFields(): {[key: string]: any} {\n return {\n ...new UpdateEmailIn(),\n newContactEml: ['', EmailValidator.valid(false, 'E0076')],\n confirmEml: ['', EmailValidator.valid(false, 'E0076')],\n };\n }\n}\n","import {Component, SkipSelf, Input} from '@angular/core';\nimport {BaseFormComponent} from '../base-form.component';\nimport {\n provideBaseFormCmp,\n provideFormUsecase,\n} from 'src/app/core/utils/global';\nimport {UpdatePasswordUsecase} from 'src/app/modules/authentication/data/usecases/update-password.usecase';\nimport {UpdatePasswordIn} from 'src/app/modules/authentication/data/models/update-password.in.model';\nimport {FormDialogComponent} from '../form-dialog/form-dialog.component';\nimport { UpdatePasswordOut } from 'src/app/modules/authentication/data/models/update-password.out.model';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: './change-password.component.html',\n viewProviders: [\n provideBaseFormCmp(ChangePasswordComponent),\n provideFormUsecase(UpdatePasswordUsecase),\n ],\n})\nexport class ChangePasswordComponent extends BaseFormComponent {\n _rulesVisible = false;\n\n @Input() userId?: string;\n\n constructor(@SkipSelf() private _formDialogCmp: FormDialogComponent) {\n super();\n }\n\n _onCancel(): void {\n this._formDialogCmp.discardDialog();\n }\n\n _onResponse(out: UpdatePasswordOut): void {\n if (out.statusList && out.statusList[0].code === 'E1900')\n 'Mail sending failed'.info();\n }\n\n protected getFormFields(): {[key: string]: any} {\n const input = new UpdatePasswordIn();\n input.signedOnUserID = this.userId;\n return input;\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {Breakpoints} from '@angular/cdk/layout';\nimport {trigger, state, transition, animate, style} from '@angular/animations';\nimport {ObserveBreakpoints} from 'src/app/core/decorators/breakpoint-observer.decorator';\nimport {RxJsUnsubscribe} from 'src/app/core/decorators/rxjs-unsubscribe.decorator';\n\n@Component({\n selector: 'app-collapsible',\n templateUrl: './collapsible.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('openClose', [\n state(\n 'open',\n style({\n height: '*',\n })\n ),\n state(\n 'closed',\n style({\n height: '0',\n })\n ),\n transition('open => closed', [animate('0.3s')]),\n transition('closed => open', [animate('0.3s')]),\n ]),\n ],\n})\n@RxJsUnsubscribe\nexport class CollapsibleComponent implements OnInit, OnDestroy {\n @Input() icon: string;\n\n _isMobile: boolean;\n _expanded: boolean;\n\n constructor(private _changeDecRef: ChangeDetectorRef) {}\n\n ngOnInit() {}\n\n _toggle() {\n if (!this._expanded) window.scrollTo(0, 0);\n this._expanded = !this._expanded;\n }\n\n @ObserveBreakpoints()\n private _onBreakpointChanges({watcher}): void {\n this._isMobile = watcher.matches(Breakpoints.XSmall);\n this._expanded = !this._isMobile;\n this._changeDecRef.markForCheck();\n }\n\n ngOnDestroy() {}\n}\n","import { Component, Output, EventEmitter, Self, Input } from '@angular/core';\nimport { ConfirmationService } from 'primeng/api';\n\n@Component({\n selector: 'app-confirm-toast',\n templateUrl: './confirm-toast.component.html',\n providers: [ConfirmationService],\n})\nexport class ConfirmToastComponent {\n _visible: boolean;\n\n @Input()\n header = 'Update Warning';\n\n @Input()\n message: string;\n\n @Input()\n submitLabel = 'Submit';\n\n @Input()\n cancelLabel = 'Cancel';\n\n @Input() kind: 'all' | 'submit' | 'cancel' = 'all';\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Output()\n reject = new EventEmitter();\n\n @Output()\n confirm = new EventEmitter();\n\n constructor(@Self() private _messageService: ConfirmationService) {}\n\n _onReject(): void {\n this.visibleChange.emit(false);\n this.reject.emit();\n }\n\n _onConfirm(): void {\n this.visibleChange.emit(false);\n this.confirm.emit();\n }\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) this._create();\n }\n\n private _create(): void {\n this._messageService.confirm({\n message: this.message,\n reject: this._onReject.bind(this),\n accept: this._onConfirm.bind(this),\n });\n }\n}\n","import {\n Component,\n Input,\n EventEmitter,\n Output,\n ViewChild,\n Optional,\n} from '@angular/core';\nimport { provideNgValueAccessor } from 'src/app/core/utils/global';\nimport { FormControlBase } from '@nvkids/uibase';\nimport { Dropdown } from 'primeng/dropdown';\nimport { ControlContainer } from '@angular/forms';\n\n@Component({\n selector: 'app-dropdown',\n templateUrl: './dropdown.component.html',\n providers: [provideNgValueAccessor(DropdownComponent)],\n})\nexport class DropdownComponent extends FormControlBase {\n @Input() autofocus = false;\n\n @Input() editable = false;\n\n @Input() placeholder?: string;\n\n @Input() isNeedDefault = true;\n\n @Input() labelClass?: string;\n\n @Input() options: any[];\n\n @Output() onSelectionChange = new EventEmitter();\n\n @Output() onFocus = new EventEmitter();\n\n @Output() onBlur = new EventEmitter();\n\n @Output() onShow = new EventEmitter();\n\n @Output() onHide = new EventEmitter();\n\n @Output() onClick = new EventEmitter();\n\n @ViewChild('dropdown', { static: false })\n dropdown: Dropdown;\n\n _isExpanded = false;\n private _defaultOption = { label: '--SELECT--', value: '' };\n\n constructor(@Optional() private _controlContainer: ControlContainer) {\n super();\n }\n\n onInitialize(): void {\n if (this._controlContainer) {\n this.formControl = this._controlContainer.control.get(\n this.formControlName\n );\n if (\n this.formControl &&\n this.formControl.disabled !== this.isDisabledValue\n )\n if (this.isDisabled) this.formControl.disable({ emitEvent: false });\n else this.formControl.enable({ emitEvent: false });\n }\n\n if (this.isNeedDefault)\n this.options = [this._defaultOption, ...this.options];\n }\n\n onViewReady(): void {\n if (this.autofocus) this.focus();\n }\n\n writeValue(value: string) {\n if (this.formControl) this.formControl.markAsDirty();\n super.writeValue(value);\n this.updateModelDisplayValue();\n }\n\n focus(): void {\n if (this.dropdown) this.dropdown.focus();\n }\n\n _onKeyDown(event: Event): void {\n if (event['which'] === 113) {\n this.dropdown.show();\n this._isExpanded = true;\n }\n }\n\n _onLabelClick(event: Event): void {\n this.dropdown.focus();\n event.preventDefault();\n }\n\n _onFocus(event: Event): void {\n this.onFocus.emit(event);\n this.onTouched();\n }\n\n _onBlur(event: Event): void {\n this.onBlur.emit(event);\n }\n\n _onShow(event: Event): void {\n this.onShow.emit(event);\n this._isExpanded = true;\n }\n\n _onHide(event: Event): void {\n this.onHide.emit(event);\n this._isExpanded = false;\n }\n\n _onClick(event: Event): void {\n this.onTouched();\n this.onClick.emit(event);\n }\n\n updateModelDisplayValue(): void {\n if (this.formControl) this.formControl['displayValue'] = this.value;\n }\n\n change(event: Event): void {\n const value = event['value'];\n this.onChange(value === this._defaultOption.label ? '' : value);\n this.onSelectionChange.emit(event);\n }\n\n onDestroy() {}\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ViewChild,\n ElementRef,\n} from '@angular/core';\n\n@Component({\n selector: 'app-focusable-text',\n templateUrl: './focusable-text.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FocusableTextComponent {\n @ViewChild('containerRef', { static: false })\n _containerRef: ElementRef;\n\n @Input() label?: string;\n\n @Input() value: string;\n\n @Input() tabindex = 0;\n\n @Input() styleClass?: string;\n\n @Input() labelStyleClass?: string;\n\n @Input() valueStyleClass?: string;\n\n @Input() valueAsTitle = false;\n\n focus(): void {\n if (this._containerRef) this._containerRef.nativeElement.focus();\n }\n}\n","import {\n Component,\n Output,\n EventEmitter,\n Input,\n ChangeDetectionStrategy\n} from '@angular/core';\n\n@Component({\n selector: 'app-form-button',\n templateUrl: './form-button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormButtonComponent {\n @Input() submitLabel = 'Submit';\n\n @Input() clearLabel = 'Clear';\n\n @Input() submitType: 'button' | 'submit' = 'submit';\n\n @Input() clearType: 'button' | 'reset' = 'reset';\n\n @Output() submit = new EventEmitter();\n\n @Output()\n clear = new EventEmitter();\n}\n","import {Component, Input, Output, EventEmitter} from '@angular/core';\n\n@Component({\n selector: 'app-form-dialog',\n templateUrl: './form-dialog.component.html',\n})\nexport class FormDialogComponent {\n @Input() visible: boolean;\n\n @Input() header: string;\n\n @Input() styleClass?: string;\n\n @Output()\n visibleChange = new EventEmitter();\n\n constructor() {}\n\n discardDialog(): void {\n this.visible = false;\n this._onVisibleChange(false);\n }\n\n _onVisibleChange(visible: boolean): void {\n this.visibleChange.emit(visible);\n }\n}\n","import {\n Component,\n ViewChild,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { GlobalMessageHandler } from '../../../core/providers/global-message-handler.provider';\nimport { Messages } from 'primeng/messages';\nimport { PopupMessage } from '../../models/popup-message.model';\nimport { provideMessageHandler } from 'src/app/core/utils/global';\n\n@Component({\n selector: 'app-global-message',\n templateUrl: './global-message.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [provideMessageHandler(GlobalMessageComponent)],\n})\nexport class GlobalMessageComponent implements GlobalMessageHandler {\n @Input() styleClass?: string;\n\n @ViewChild(Messages, { static: false })\n _view: Messages;\n\n constructor(private _changeDecRef: ChangeDetectorRef) {}\n\n onMessage({ type, message }): void {\n if (!message) {\n this.onClear();\n return;\n }\n\n this._view.value = [\n type === 'success'\n ? PopupMessage.success('', message)\n : PopupMessage.info('', message),\n ];\n this._changeDecRef.markForCheck();\n }\n\n onError(message: string): void {\n if (!message) {\n this.onClear();\n return;\n }\n this._view.value = [PopupMessage.error('', message)];\n this._changeDecRef.markForCheck();\n }\n\n onClear(): void {\n this._view.value = [];\n this._changeDecRef.markForCheck();\n }\n}\n","import {\n Component,\n Input,\n ContentChildren,\n QueryList,\n TemplateRef,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ViewChild,\n Renderer2,\n AfterViewInit,\n} from '@angular/core';\nimport { ContentTemplateDirective } from '../../directives/content-template.directive';\nimport { TemplateContext } from '../../context/template.context';\nimport { EventValue } from '../../models/event-value.model';\nimport { GridPage, GridRow } from '../../models/grid.model';\nimport { LazyLoadEvent } from 'primeng/api';\nimport { Column } from '../../models/column.model';\nimport { Table } from 'primeng/table';\nimport { GridTemplateContext } from '../../context/grid-template.context';\n\ntype GridTemplateType =\n | 'all'\n | 'caption'\n | 'header'\n | 'footer'\n | string\n | string[];\n\n@Component({\n selector: 'app-grid',\n templateUrl: './grid.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GridComponent implements AfterViewInit {\n @Input()\n columns: Column[];\n\n @Input()\n data: D[];\n\n @Input()\n responsive = true;\n\n @Input()\n total: number;\n\n @Input()\n rows = 10;\n\n @Input()\n first = 0;\n\n @Input()\n scrollable = false;\n\n @Input()\n scrollHeight?: string;\n\n @Input()\n virtualScroll = false;\n\n @Input()\n virtualRowHeight = 28;\n\n @Input()\n paginator = false;\n\n @Input()\n lazy = false;\n\n @Input()\n lazyLoadOnInit = true;\n\n @Input()\n virtualScrollDelay = 250;\n\n @Input()\n emptyMessage = 'No Records Found';\n\n @Input()\n selectionMode: 'single' | 'multiple' | 'none' = 'none';\n\n @Input()\n selectionType: 'single' | 'double' = 'single';\n\n @Input()\n styleClass?: string;\n\n @Input()\n responsiveHeaderClass?: string;\n\n @Output()\n onPage = new EventEmitter();\n\n @Output()\n onLazyLoad = new EventEmitter();\n\n @Output()\n onRowSelect = new EventEmitter>>();\n\n @ContentChildren(ContentTemplateDirective)\n _templateList: QueryList<\n ContentTemplateDirective<\n GridTemplateType,\n TemplateContext | GridTemplateContext | void\n >\n >;\n\n @ViewChild('tableRef', { static: true })\n tableRef: Table;\n\n constructor(private _renderer: Renderer2) {}\n\n _itemTmpl?: TemplateRef>;\n _columnItemTmpl?: TemplateRef>;\n _columnTmpl: { [key: string]: TemplateRef> } = {};\n _bodyTmpl: { [key: string]: TemplateRef> } = {};\n _captionTmpl: TemplateRef;\n _headerTmpl?: TemplateRef>;\n _footerTmpl: TemplateRef>;\n\n ngAfterViewInit(): void {\n if (!this.tableRef.tableViewChild) return;\n const table = this.tableRef.tableViewChild.nativeElement as HTMLElement;\n const footer = table.getElementsByTagName('tfoot')[0];\n if (table && footer) this._renderer.appendChild(table, footer);\n }\n\n ngAfterContentInit(): void {\n this._templateList.forEach(({ type, template }) => {\n switch (type) {\n case 'all':\n this._itemTmpl = template as TemplateRef>;\n break;\n case '~all':\n this._columnItemTmpl = template as TemplateRef<\n TemplateContext\n >;\n break;\n case 'caption':\n this._captionTmpl = template as TemplateRef;\n break;\n case 'header':\n this._headerTmpl = template as TemplateRef>;\n break;\n case 'footer':\n this._footerTmpl = template as TemplateRef>;\n break;\n default:\n const _type = typeof type === 'string' ? [type] : type;\n _type.forEach((typ) => {\n if (typ.startsWith('~'))\n this._columnTmpl[typ.slice(1)] = template as TemplateRef<\n TemplateContext\n >;\n else\n this._bodyTmpl[typ] = template as TemplateRef<\n GridTemplateContext\n >;\n });\n }\n });\n }\n\n reset(): void {\n this.tableRef.reset();\n }\n\n _getResposiveHeaderClass(): {} {\n return {\n 'ui-column-title': true,\n [this.responsiveHeaderClass]: !!this.responsiveHeaderClass,\n };\n }\n\n _onRowSelect({ originalEvent, ...rest }): void {\n this.onRowSelect.emit({\n domEvent: originalEvent,\n value: { ...rest } as GridRow,\n });\n }\n\n _rowTrackBy(index: number, item: D): number {\n return index;\n }\n}\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'app-info-banner',\n templateUrl: './info-banner.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InfoBannerComponent {\n /**\n * Position of the icon. Feasible opions 'left' | 'right'.\n * Default is 'left\n */\n @Input() position: 'left' | 'right' = 'left';\n\n @Input() needIcon = true;\n\n _getContainerClass() {\n return {\n 'info-panel-type2 txt-small mt-10 mb-15': true,\n 'info-icon-remove': !this.needIcon,\n };\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n} from '@angular/core';\nimport { FormControlBase } from '@nvkids/uibase';\nimport { ControlContainer } from '@angular/forms';\nimport { EventValue } from '../../models/event-value.model';\nimport { provideNgValueAccessor } from 'src/app/core/utils/global';\nimport { NvkidsConstants } from '@nvkids/common';\n\ntype KeyFilter =\n | 'pint'\n | 'int'\n | 'pnum'\n | 'num'\n | 'hex'\n | 'email'\n | 'alpha'\n | 'alphanum';\n\n@Component({\n selector: 'app-input-group',\n templateUrl: './input-group.component.html',\n providers: [provideNgValueAccessor(InputGroupComponent)],\n})\nexport class InputGroupComponent extends FormControlBase {\n @Input() type: 'text' | 'email' | 'number' | 'password' | 'url' = 'text';\n\n @Input() icon?: string;\n\n @Input() iconPosition: 'left' | 'right' = 'left';\n\n @Input() placeholder = '';\n\n @Input() mandatoryIndicator = true;\n\n @Input() labelClass?: string;\n\n @Input() iconClass?: string;\n\n @Input() maxlength?: number;\n\n @Input() uppercase = false;\n\n @Output() onBlur = new EventEmitter();\n\n @Output() onChangeInput = new EventEmitter>();\n\n @Output() onIconClick = new EventEmitter>();\n\n @ViewChild('inputRef', { static: false })\n _inputRef: ElementRef;\n\n private _keyFilter?: KeyFilter | RegExp;\n\n constructor(private _controlContainer: ControlContainer) {\n super();\n }\n\n onInitialize(): void {\n if (this._controlContainer) {\n this.formControl = this._controlContainer.control.get(\n this.formControlName\n );\n if (\n this.formControl &&\n this.formControl.disabled !== this.isDisabledValue\n )\n if (this.isDisabled) this.formControl.disable({ emitEvent: false });\n else this.formControl.enable({ emitEvent: false });\n }\n }\n\n onViewReady(): void {\n if (this.autofocus) this._inputRef.nativeElement.focus();\n }\n\n focus(): void {\n if (this._inputRef) this._inputRef.nativeElement.focus();\n }\n\n _onChangeValue(originalEvent: Event): void {\n const value = originalEvent.target['value'];\n this.value = value;\n this.onChange(value);\n this.onChangeInput.emit({\n domEvent: originalEvent,\n value,\n });\n }\n\n _onControlFocus(event: Event): void {\n this.onTouched();\n }\n\n _onControlBlur(event: Event): void {\n // this.touched();\n if (\n (this.value &&\n this.value.toString() !== event.target['value'].toString()) ||\n (this.formControl &&\n this.formControl.value !== event.target['value'].toString())\n )\n if (this.type === 'password')\n this.onModelChange(this.checkAndGetDefaultModelValue());\n else this.onChange(this.checkAndGetDefaultModelValue());\n\n this.onBlur.emit(event);\n this.updateModelDisplayValue();\n }\n\n _onKeydown(event: KeyboardEvent) {\n if (event['which'] === NvkidsConstants.KEY_ENTER)\n this._onControlBlur(event);\n else if (\n event['which'] === NvkidsConstants.KEY_SPACE &&\n event.target['value'].length === 0\n ) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n _onIconPress(event: Event): void {\n this.onIconClick.emit({\n domEvent: event,\n value: this.value,\n });\n }\n\n _isEventEnabled(): boolean {\n return this.onIconClick.observers.length > 0;\n }\n\n _onLabelClick(event: Event) {\n this._inputRef.nativeElement.focus();\n event.stopPropagation();\n event.preventDefault();\n }\n\n _getIconClass(): {} {\n return {\n 'ui-inputgroup-addon': true,\n [this.iconClass]: !!this.iconClass,\n };\n }\n\n writeValue(value: string) {\n if (this.formControl) this.formControl.markAsDirty();\n super.writeValue(value);\n this.updateModelDisplayValue();\n }\n\n checkAndGetDefaultModelValue() {\n if (this.innerValue === '' && this.defaultValue !== undefined)\n return this.defaultValue;\n return this.uppercase ? this.innerValue.toUpperCase() : this.innerValue;\n }\n\n // onChange(value: any): void {\n // this.updateModelDisplayValue();\n // if (this.onModelChange) this.onModelChange(value);\n // this.hideError();\n // }\n\n updateModelDisplayValue() {\n if (this.formControl) this.formControl['displayValue'] = this.value;\n }\n\n onDestroy(): void {}\n\n @Input()\n set keyFilter(value: KeyFilter | RegExp) {\n this._keyFilter = /^^/.test(value as string) ? new RegExp(value) : value;\n }\n\n get keyFilter(): KeyFilter | RegExp {\n return this._keyFilter;\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'app-progress',\n templateUrl: './progress.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ProgressComponent {\n @Input()\n visible: boolean;\n\n @Output()\n visibleChange = new EventEmitter();\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ContentChild,\n ViewChild,\n} from '@angular/core';\nimport { BaseResponsiveComponent } from '../base-responsive.component';\nimport { GridComponent } from '../grid/grid.component';\nimport { BreakpointBuilder } from 'src/app/core/services/breakpoint-builder.service';\nimport { ScrollabeGridManagerDirective } from '../../directives/scrollabe-grid-manager.directive';\n\n@Component({\n selector: 'app-scrollable-grid-adapter',\n templateUrl: './scrollable-grid-adapter.component.html',\n})\nexport class ScrollableGridAdapterComponent extends BaseResponsiveComponent {\n _listview: boolean;\n _enableBack = true;\n\n @Input() visibleGrid = false;\n\n @Input() visibleGridBack = true;\n\n @Input() isGridOnly = false;\n\n @Output() back = new EventEmitter();\n\n @Output() layoutChange = new EventEmitter();\n\n @Output() visibleGridChange = new EventEmitter();\n\n @ContentChild(GridComponent, { static: false })\n grid: GridComponent;\n\n @ViewChild('scrollRef', { static: false })\n _scrollRef: ScrollabeGridManagerDirective;\n\n reset(): void {\n if (this._listview) this._scrollRef.resetScroll();\n }\n\n _onBack(): void {\n if (!this._enableBack) {\n this.reset();\n return;\n }\n if (!this.isGridOnly) {\n this.visibleGrid = false;\n this.visibleGridChange.emit(false);\n }\n this.back.emit();\n }\n\n _onGridScroll(scrollPos: number): void {\n this._enableBack = scrollPos === 0;\n }\n\n protected onBreakpointChanges(): void {\n const small = this.bpWatcher.matches('(max-width: 640px)');\n const isInitialChange = this._listview === undefined;\n this._listview = small;\n if (!isInitialChange) this.layoutChange.emit(small);\n }\n\n protected getBreakpoints2ListenOn(builder: BreakpointBuilder): string[] {\n return builder.maxWidth('640px').b();\n }\n\n get scrollable(): boolean {\n return this._listview;\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n AfterContentInit,\n TemplateRef,\n} from '@angular/core';\nimport {ContentTemplateDirective} from '../../directives/content-template.directive';\nimport {TemplateContext} from '../../context/template.context';\n\nexport type SwitchOption = {\n label: string;\n styleClass?: string;\n containerStyleClass?: string;\n selected?: boolean;\n};\n\n@Component({\n selector: 'app-switcher',\n templateUrl: './switcher.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SwitcherComponent implements AfterContentInit {\n @Input() options: SwitchOption[];\n\n @Input() value = 0;\n\n @Input() label: string;\n\n @Input() containerStyleClass?: string;\n\n @Input() labelContainerStyleClass?: string;\n\n @Input() labelStyleClass?: string;\n\n @Output() valueChange = new EventEmitter();\n\n @ContentChildren(ContentTemplateDirective)\n _templateList: QueryList<\n ContentTemplateDirective>\n >;\n\n _templates = new Map>>();\n\n ngAfterContentInit(): void {\n this._templateList.forEach(({type, template}) => {\n if (type < this.options.length) this._templates.set(type, template);\n });\n }\n\n _onChange(value: number): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n\n get template(): TemplateRef> {\n return this._templates.get(this.value);\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ViewChild,\n AfterViewInit,\n ChangeDetectorRef,\n ElementRef,\n} from '@angular/core';\nimport { MenuItem } from 'primeng/api';\nimport { ScrollPanel } from 'primeng/scrollpanel';\nimport { ObserveRouterEvents } from 'src/app/core/decorators/router-events-observer.decorator';\nimport { NavigationEnd } from '@angular/router';\nimport { TabMenu } from 'primeng/tabmenu';\n\nexport interface TabMenuItem extends MenuItem {\n tooltip: string;\n}\n\n@Component({\n selector: 'app-tab-menu',\n templateUrl: './tab-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabMenuComponent implements AfterViewInit {\n @Input() model: TabMenuItem[];\n\n @Input() activeItem?: TabMenuItem;\n\n @Input() styleClass?: string;\n\n @Input() containerStyleClass?: string;\n\n @Input() scrollStyleClass?: string;\n\n @ViewChild(ScrollPanel, { static: false })\n scrollPanel: ScrollPanel;\n\n @ViewChild(TabMenu, { static: false, read: ElementRef })\n tabMenu: ElementRef;\n\n private _scrollable = false;\n private _scrollTransparency: -1 | 0 | 1;\n\n constructor(private changeDetectionRef: ChangeDetectorRef) {}\n\n ngAfterViewInit(): void {\n this._focusActiveMenu.queue(this, 500);\n if (!this.scrollable) return;\n const scrollElem = this.scrollPanel.contentViewChild\n .nativeElement as HTMLElement;\n scrollElem.onscroll = this._onScroll.bind(this, scrollElem);\n }\n\n private _onScroll({\n scrollLeft,\n scrollWidth,\n offsetWidth,\n }: HTMLElement): void {\n const threshold = 50;\n const scrollTransparencyCache = this._scrollTransparency;\n if (scrollLeft < threshold) this._scrollTransparency = 1;\n else if (scrollLeft > scrollWidth - offsetWidth - threshold)\n this._scrollTransparency = -1;\n else this._scrollTransparency = 0;\n\n if (this._scrollTransparency !== scrollTransparencyCache)\n this.changeDetectionRef.markForCheck();\n }\n\n private _focusActiveMenu(): void {\n const tabElem = this.tabMenu.nativeElement as HTMLElement;\n const activeLiElem = tabElem\n .getElementsByClassName('ui-state-active')\n .item(0) as HTMLLIElement;\n const activeAElement = activeLiElem.children.item(0) as HTMLElement;\n activeAElement.focus();\n }\n\n getScrollStyleClass(): string {\n let style = this.scrollStyleClass || '';\n if (this._scrollTransparency === -1)\n style = style.concat(' ', 'gradient-left-bg');\n else if (this._scrollTransparency === 1)\n style = style.concat(' ', 'gradient-right-bg');\n else if (this._scrollTransparency === 0)\n style = style.concat(' ', 'gradient-bg');\n return style;\n }\n\n @ObserveRouterEvents([NavigationEnd])\n _routerEvent(): void {\n this._focusActiveMenu.queue(this, 500);\n }\n\n @Input()\n set scrollable(value: boolean) {\n this._scrollable = value;\n if (this._scrollable) this._scrollTransparency = 1;\n }\n\n get scrollable(): boolean {\n return this._scrollable;\n }\n}\n","import {Component} from '@angular/core';\nimport {SwitchOption} from '../switcher/switcher.component';\nimport {LoginRepository} from 'src/app/modules/authentication/data/repositories/login.repository';\n\n@Component({\n selector: 'app-update-profile',\n templateUrl: './update-profile.component.html',\n providers: [LoginRepository],\n})\nexport class UpdateProfileComponent {\n _options: SwitchOption[];\n\n constructor() {\n this._initOptions();\n }\n\n private _initOptions(): void {\n this._options = [\n {\n label: 'Password',\n containerStyleClass: 'pull-left',\n },\n {\n label: 'Email',\n containerStyleClass: 'pull-left ml-30',\n },\n ];\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { MenuItem } from 'primeng/api';\nimport { BaseResponsiveComponent } from '../base-responsive.component';\nimport { ObserveSession } from 'src/app/core/decorators/session-observer.decorator';\nimport { SessionManager } from 'src/app/core/services/session-manager.service';\n\n@Component({\n selector: 'app-user-info',\n templateUrl: './user-info.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class UserInfoComponent extends BaseResponsiveComponent {\n _menus: MenuItem[];\n _userName: string;\n _today = new Date();\n _passwordVisible = false;\n\n constructor(changeDecRef: ChangeDetectorRef) {\n super(changeDecRef);\n }\n\n @ObserveSession()\n private _sessionChanges({ isInitialized, user, sessionManager }): void {\n if (isInitialized) {\n this._userName = user.fullDisplayName;\n this._initMenus(sessionManager);\n } else {\n this._userName = null;\n this._menus = null;\n }\n this.changeDecRef.markForCheck();\n }\n\n private _initMenus(sessionManager: SessionManager): void {\n this._menus = [\n {\n label: 'Logout',\n command: () => sessionManager.terminate(),\n },\n ];\n\n this._menus.unshift({\n label: 'Change Password/Email id',\n command: () => (this._passwordVisible = true),\n });\n }\n}\n","import { OnInit, OnDestroy } from '@angular/core';\r\nimport { RxJsUnsubscribe } from 'src/app/core/decorators/rxjs-unsubscribe.decorator';\r\n\r\n@RxJsUnsubscribe\r\nexport class AbsStructuralDirective implements OnInit, OnDestroy {\r\n ngOnInit(): void {}\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","import {Directive, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[appContentTemplate]',\n})\nexport class ContentTemplateDirective {\n @Input('appContentTemplate')\n private _type: T;\n\n constructor(private _template: TemplateRef) {}\n\n get type() {\n return this._type;\n }\n\n get template(): TemplateRef {\n return this._template;\n }\n}\n","import {\n Directive,\n AfterViewInit,\n ElementRef,\n DoCheck,\n Inject,\n} from '@angular/core';\nimport { DateComponent } from '@nvkids/custom-component';\nimport { formatDate } from '@angular/common';\nimport {\n PLATFORM,\n Platform,\n} from 'src/app/core/dependencies/platform.dependency';\n\n@Directive({\n selector: 'lib-date-input',\n})\nexport class DateInputScannerDirective implements AfterViewInit, DoCheck {\n private _dateRegx = /^([1-9]|0[1-9]|1[012])[/.]([1-9]|0[1-9]|[12][0-9]|3[01])[/.]\\d{4}$/;\n private _readonly: boolean;\n\n constructor(\n private _dateInput: DateComponent,\n private _elementRef: ElementRef,\n @Inject(PLATFORM) private _platform: Platform\n ) {\n this._readonly = _dateInput.isReadOnly;\n }\n\n ngDoCheck(): void {\n if (this._readonly !== this._dateInput.isReadOnly) {\n this._readonly = this._dateInput.isReadOnly;\n if (!this._readonly) this._dateInput.onStatusChanged();\n }\n }\n\n ngAfterViewInit(): void {\n const calendar = this._dateInput.calendarControl;\n\n // handling popup in mobile\n const showDatePopup =\n this._platform.isMobile() || this._platform.isNativeApp;\n calendar.touchUI = showDatePopup;\n\n const input = calendar.inputfieldViewChild\n .nativeElement as HTMLInputElement;\n input.inputMode = 'numeric';\n input.onblur = (e) => {\n const raw = e.target['value'];\n if (this._dateRegx.test(raw)) {\n const value = formatDate(raw, 'MM/dd/yyyy', 'en-US');\n this._dateInput.formControl.setValue(value);\n }\n };\n\n const icon = (this._elementRef\n .nativeElement as HTMLElement).getElementsByClassName(\n 'ui-datepicker-trigger'\n )[0] as HTMLElement;\n if (icon) {\n if (showDatePopup) icon.onclick = (e) => (() => input.blur()).queue(this);\n\n // for tabbing in desktop\n icon.onkeydown = (e: KeyboardEvent) => {\n if (e.key === 'Tab') calendar.hideOverlay();\n };\n }\n }\n}\n","import {\n Directive,\n OnInit,\n Inject,\n Self,\n Host,\n OnDestroy,\n} from '@angular/core';\nimport { RxJsUnsubscribe } from '../../core/decorators/rxjs-unsubscribe.decorator';\nimport { Subscription } from 'rxjs';\nimport { AppMessageHandler } from '../../core/services/app-messsage-handler.service';\nimport { NavigationStart } from '@angular/router';\nimport { ObserveRouterEvents } from '../../core/decorators/router-events-observer.decorator';\nimport {\n GLOBAL_MESSAGE,\n GlobalMessageHandler,\n} from '../../core/providers/global-message-handler.provider';\n\n@Directive({\n selector: '[appErrorRenderer]',\n})\n@RxJsUnsubscribe\nexport class ErrorRendererDirective implements OnInit, OnDestroy {\n private _messageSuccessSubscription: Subscription;\n private _messageFailureSubscription: Subscription;\n private _messageClearSubscription: Subscription;\n\n constructor(\n private _messageseHandler: AppMessageHandler,\n @Self()\n @Host()\n @Inject(GLOBAL_MESSAGE)\n private _messageCmp: GlobalMessageHandler\n ) {}\n\n ngOnInit(): void {\n this._messageSuccessSubscription = this._messageseHandler.message$.subscribe(\n this._showMessage.bind(this)\n );\n\n this._messageFailureSubscription = this._messageseHandler.error$.subscribe(\n this._showError.bind(this)\n );\n\n this._messageClearSubscription = this._messageseHandler.clear$.subscribe(\n this._clear.bind(this)\n );\n }\n\n private _showMessage(data): void {\n this._messageCmp.onMessage(data);\n }\n\n private _showError(message: string): void {\n this._messageCmp.onError(message);\n }\n\n private _clear(): void {\n this._messageCmp.onClear();\n }\n\n @ObserveRouterEvents([NavigationStart])\n private _onRouterEvents() {\n this._clear();\n }\n\n ngOnDestroy() {}\n}\n","import {\n Directive,\n EmbeddedViewRef,\n ViewContainerRef,\n TemplateRef,\n Input,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { ObserveRouterEvents } from 'src/app/core/decorators/router-events-observer.decorator';\nimport { NavigationEnd } from '@angular/router';\nimport { AppRoutes } from 'src/app/core/services/app-routes.service';\nimport { AbsStructuralDirective } from './abs-structural.directive';\n\n@Directive({\n selector: '[appIfNotRoute]',\n})\nexport class IfNotRouteDirective extends AbsStructuralDirective {\n private _viewRef: EmbeddedViewRef = null;\n private _routesArr: string[] = [];\n\n constructor(\n private changeDecRef: ChangeDetectorRef,\n private _viewContainer: ViewContainerRef,\n private _templateRef: TemplateRef,\n private _routes: AppRoutes\n ) {\n super();\n }\n\n @Input()\n set appIfNotRoute(routes: string) {\n this._routesArr = routes.split(',');\n this._updateView();\n }\n\n @ObserveRouterEvents([NavigationEnd])\n private _onRouteEvents(): void {\n this._updateView();\n }\n\n private _updateView() {\n if (!this._isUrlMatchFound()) {\n if (!this._viewRef) {\n this._viewContainer.clear();\n if (this._templateRef) {\n this._viewRef = this._viewContainer.createEmbeddedView(\n this._templateRef\n );\n this.changeDecRef.markForCheck();\n }\n }\n } else if (this._viewRef) {\n this._viewContainer.clear();\n this._viewRef = null;\n }\n }\n\n private _isUrlMatchFound(): boolean {\n return this._routesArr.some((route) => this._routes.isActive(route));\n }\n}\n","import {\n Directive,\n ViewContainerRef,\n TemplateRef,\n EmbeddedViewRef,\n Input,\n} from '@angular/core';\nimport {SessionManager} from '../../core/services/session-manager.service';\nimport {ObserveSession} from 'src/app/core/decorators/session-observer.decorator';\nimport { AbsStructuralDirective } from './abs-structural.directive';\n\n@Directive({\n selector: '[appIfNotSession]',\n})\nexport class IfNotSessionDirective extends AbsStructuralDirective {\n private _viewRef: EmbeddedViewRef = null;\n private _condition: boolean = null;\n\n constructor(\n private _viewContainer: ViewContainerRef,\n private _templateRef: TemplateRef,\n private _sessionManager: SessionManager\n ) {\n super();\n }\n\n @Input()\n set appIfNotSession(condition: boolean) {\n this._condition = condition;\n this._updateView();\n }\n\n @ObserveSession()\n private _sessionChanges(): void {\n this._updateView();\n }\n\n private _updateView() {\n if (\n !this._sessionManager.hasActiveSession &&\n (this._condition || this._condition === null)\n ) {\n if (!this._viewRef) {\n this._viewContainer.clear();\n if (this._templateRef)\n this._viewRef = this._viewContainer.createEmbeddedView(\n this._templateRef\n );\n }\n } else if (this._viewRef) {\n this._viewContainer.clear();\n this._viewRef = null;\n }\n }\n}\n","import {\n Directive,\n ViewContainerRef,\n TemplateRef,\n EmbeddedViewRef,\n Input\n} from '@angular/core';\nimport { SessionManager } from '../../core/services/session-manager.service';\nimport { ObserveSession } from 'src/app/core/decorators/session-observer.decorator';\nimport { AbsStructuralDirective } from './abs-structural.directive';\n\n@Directive({\n selector: '[appIfSession]'\n})\nexport class IfSessionDirective extends AbsStructuralDirective {\n private _viewRef: EmbeddedViewRef = null;\n private _condition: boolean = null;\n\n constructor(\n private _viewContainer: ViewContainerRef,\n private _templateRef: TemplateRef,\n private _sessionManager: SessionManager\n ) {\n super();\n }\n\n @Input()\n set appIfSession(condition: boolean) {\n this._condition = condition;\n this._updateView();\n }\n\n @ObserveSession()\n private _sessionChanges(): void {\n this._updateView();\n }\n\n private _updateView() {\n if (\n this._sessionManager.hasActiveSession &&\n (this._condition || this._condition === null)\n ) {\n if (!this._viewRef) {\n this._viewContainer.clear();\n if (this._templateRef)\n this._viewRef = this._viewContainer.createEmbeddedView(\n this._templateRef\n );\n }\n } else if (this._viewRef) {\n this._viewContainer.clear();\n this._viewRef = null;\n }\n }\n}\n","import {\n Directive,\n ViewContainerRef,\n TemplateRef,\n EmbeddedViewRef,\n Input,\n} from '@angular/core';\nimport { SessionManager } from '../../core/services/session-manager.service';\nimport { ObserveSession } from 'src/app/core/decorators/session-observer.decorator';\nimport { AbsStructuralDirective } from './abs-structural.directive';\n\n@Directive({\n selector: '[appIfUser]',\n})\nexport class IfUserDirective extends AbsStructuralDirective {\n private _user: 'existing' | 'newish';\n private _viewRef: EmbeddedViewRef = null;\n\n constructor(\n private _viewContainer: ViewContainerRef,\n private _templateRef: TemplateRef,\n private _sessionManager: SessionManager\n ) {\n super();\n }\n\n @Input()\n set appIfUser(user: 'existing' | 'newish') {\n this._user = user;\n this._updateView();\n }\n\n @ObserveSession()\n private _sessionChanges(): void {\n this._updateView();\n }\n\n private _updateView() {\n if (this._sessionManager.hasActiveSession && this._canRender()) {\n if (!this._viewRef) {\n this._viewContainer.clear();\n if (this._templateRef)\n this._viewRef = this._viewContainer.createEmbeddedView(\n this._templateRef\n );\n }\n } else if (this._viewRef) {\n this._viewContainer.clear();\n this._viewRef = null;\n }\n }\n\n private _canRender(): boolean {\n const user = this._sessionManager.user;\n if (this._user === 'existing') return user.existing;\n else if (this._user === 'newish') return user.newish;\n }\n}\n","import { Directive, AfterViewInit } from '@angular/core';\r\nimport { CustomInputComponent } from '@nvkids/custom-component';\r\n\r\n@Directive({\r\n selector: 'lib-input[keyFilter]',\r\n})\r\nexport class InputKeyFilterScannerDirective implements AfterViewInit {\r\n constructor(private _libInput: CustomInputComponent) {}\r\n\r\n ngAfterViewInit(): void {\r\n const input = this._libInput.inputControl.nativeElement as HTMLInputElement;\r\n if (this._libInput.keyFilter === 'num') input.inputMode = 'numeric';\r\n }\r\n}\r\n","import { Directive, AfterViewInit } from '@angular/core';\nimport { CustomInputComponent } from '@nvkids/custom-component';\nimport { InputMask } from 'primeng/inputmask';\n\n@Directive({\n selector: 'lib-input[mask]',\n})\nexport class InputMaskScannerDirective implements AfterViewInit {\n constructor(private _libInput: CustomInputComponent) {}\n\n ngAfterViewInit(): void {\n const inputMask = this._libInput.inputControl as InputMask;\n const input = inputMask.inputViewChild.nativeElement as HTMLInputElement;\n input.inputMode = inputMask.mask === '(999)999-9999' ? 'tel' : 'numeric';\n }\n}\n","import { Directive, ElementRef, Inject, OnInit } from '@angular/core';\nimport {\n PLATFORM,\n Platform,\n} from 'src/app/core/dependencies/platform.dependency';\n\n@Directive({\n selector: 'form[rootFormManager=true]',\n})\nexport class NativeFormControllerDirective implements OnInit {\n constructor(\n private elementRef: ElementRef,\n @Inject(PLATFORM) private _platform: Platform\n ) {}\n\n ngOnInit(): void {\n const form = this.elementRef.nativeElement as HTMLFormElement;\n form.target = '_blank';\n form.method = this._platform.isNativeApp ? 'GET' : 'POST';\n }\n}\n","import { Directive } from '@angular/core';\r\nimport { CustomInputComponent } from '@nvkids/custom-component';\r\n\r\n@Directive({\r\n selector: 'lib-input[type=password]',\r\n})\r\nexport class PasswordScannerDirective {\r\n constructor(private _libInput: CustomInputComponent) {\r\n this._libInput.isUpperCase = false;\r\n }\r\n}\r\n","import {\n Directive,\n ElementRef,\n AfterViewChecked,\n Inject,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { ScrollableGridAdapterComponent } from '../components/scrollable-grid-adapter/scrollable-grid-adapter.component';\nimport { DOCUMENT } from '@angular/common';\n\ntype LayoutBounds = {\n scrollHeight: number;\n rowMaxHeight: number;\n};\n\n@Directive({\n selector: '[appScrollabeGridManager]',\n exportAs: 'scrollRef',\n})\nexport class ScrollabeGridManagerDirective implements AfterViewChecked {\n private _div: HTMLDivElement;\n private _layoutManupulator: LayoutManipulator;\n private _scrollListenerConfigured = false;\n\n @Output() scrollChange = new EventEmitter();\n\n constructor(\n element: ElementRef,\n private _gridAdapter: ScrollableGridAdapterComponent,\n @Inject(DOCUMENT) document: Document\n ) {\n this._layoutManupulator = new LayoutManipulator(\n element.nativeElement,\n document\n );\n this._div = element.nativeElement;\n }\n\n ngAfterViewChecked(): void {\n if (!this._scrollListenerConfigured) {\n const elem = this._layoutManupulator.getVirtualScrollContainer();\n if (elem) {\n elem.onscroll = this._onScroll.bind(this);\n this._scrollListenerConfigured = true;\n }\n }\n const { virtualScroll, data } = this._gridAdapter.grid;\n if (virtualScroll && data && data.length) {\n const bounds = this._layoutManupulator.calculate();\n if (!bounds) return;\n\n const { scrollHeight, rowMaxHeight } = bounds;\n this._gridAdapter.grid.tableRef.scrollHeight = `${scrollHeight}px`;\n if (rowMaxHeight > 0) {\n this._gridAdapter.grid.tableRef.virtualRowHeight = rowMaxHeight;\n const scrollView = this._div.getElementsByClassName(\n 'ui-table-virtual-scroller'\n );\n if (scrollView && scrollView.length)\n (scrollView.item(0) as HTMLDivElement).style.height =\n this._gridAdapter.grid.tableRef.totalRecords * rowMaxHeight + 'px';\n }\n }\n }\n\n resetScroll(): void {\n const elem = this._layoutManupulator.getVirtualScrollContainer();\n if (elem) elem.scrollTo(0, 0);\n }\n\n private _onScroll(): void {\n const scrollPos = this._layoutManupulator.getVirtualScrollContainer()\n .scrollTop;\n this.scrollChange.emit(scrollPos > 50 ? scrollPos : 0);\n }\n}\n\nclass LayoutManipulator {\n constructor(private _div: HTMLDivElement, private _document: Document) {}\n\n calculate(): LayoutBounds | null {\n if (this._isGridHidden()) return null;\n return {\n scrollHeight: this._calcGridHeight(),\n rowMaxHeight: this._calcRowMaxHeight(),\n };\n }\n\n getVirtualScrollContainer(): HTMLElement | null {\n const scroller = this._div.getElementsByClassName(\n 'ui-table-virtual-scroller'\n );\n if (scroller && scroller.length) return scroller.item(0).parentElement;\n return null;\n }\n\n private _calcRowMaxHeight(): number {\n const gridElement = this._div.getElementsByTagName('app-grid').item(0);\n const rowElements = gridElement.getElementsByTagName('tr');\n const maxRowHeight = Array.from(rowElements).reduce(\n (height, elem, index) => {\n if (index === 0) return height;\n return Math.max(height, getAbsoluteHeight(elem));\n },\n 0\n );\n return maxRowHeight;\n }\n\n private _calcGridHeight(): number {\n let viewportHeight = window.innerHeight;\n const dialogElem = document.body.getElementsByClassName('ui-dialog-scroll');\n if (dialogElem && dialogElem.length)\n viewportHeight =\n getAbsoluteHeight(dialogElem.item(0) as HTMLDivElement) -\n this._getDialogContentMargin();\n\n const headerHeight = this._getHeaderHeight();\n const tabMenuHeight = this._getTabMenuHeight();\n const childrenHeight = this._getChildrenHeight(this._div);\n const gridMargin = this._getGridMargin() + this._getGridCaption();\n const containerMargin =\n dialogElem && dialogElem.length ? 0 : this._getContainersMargin();\n const gridHeight =\n viewportHeight -\n headerHeight -\n tabMenuHeight -\n childrenHeight -\n gridMargin -\n containerMargin;\n return gridHeight;\n }\n\n private _getHeaderHeight(): number {\n const e = this._document.body.getElementsByTagName('app-header').item(0)\n .firstChild as HTMLElement;\n return getAbsoluteHeight(e);\n }\n\n private _getTabMenuHeight(): number {\n const tabElement = this._document.body.getElementsByTagName('p-tabmenu');\n if (tabElement.length) {\n const e = tabElement.item(0).firstChild as HTMLElement;\n return getAbsoluteHeight(e);\n }\n return 0;\n }\n\n private _getChildrenHeight(div: HTMLDivElement): number {\n let height = 0;\n const children = div.children;\n for (let i = 0; i < children.length - 1; i++) {\n const e = children.item(i) as HTMLElement;\n if (e.tagName === 'app-grid') continue;\n if (!e.hidden) {\n const isGridElem = e.getElementsByTagName('app-grid');\n if (isGridElem && isGridElem.length)\n height += this._getChildrenHeight(e as HTMLDivElement);\n else height += getAbsoluteHeight(e);\n }\n }\n return height;\n }\n\n private _getGridMargin(): number {\n const gridElement = this._div.getElementsByTagName('app-grid').item(0);\n return getM(gridElement);\n\n function getM(ele: Element, _margin = 0): number {\n const e = ele as HTMLElement;\n _margin += getAbsoluteMargin(e);\n if (e.parentElement && e.parentElement.id !== 'scrollabeGridContainer')\n return getM(e.parentElement, _margin);\n return _margin;\n }\n }\n\n private _getGridCaption(): number {\n const elem = this._div.getElementsByClassName('ui-table-caption');\n if (elem && elem.length)\n return getAbsoluteHeight(elem.item(0) as HTMLElement);\n return 0;\n }\n\n private _getContainersMargin(): number {\n return getM(this._div);\n function getM(ele: Element, _margin = 0): number {\n const e = ele as HTMLElement;\n _margin += getAbsoluteMargin(e);\n if (e.parentElement) return getM(e.parentElement, _margin);\n return _margin;\n }\n }\n\n private _getDialogContentMargin(): number {\n let value = 0;\n const titleElem = this._document.body\n .getElementsByClassName('ui-dialog-title')\n .item(0) as HTMLElement;\n value += getAbsoluteHeight(titleElem);\n\n const spaceElem = this._document.body\n .getElementsByClassName('spacer-dialog')\n .item(0) as HTMLElement;\n const { marginTop, borderTop, paddingTop } = window.getComputedStyle(\n spaceElem\n );\n const mt = parseFloat(marginTop) || 0;\n const bt = parseFloat(borderTop) || 0;\n const pt = parseFloat(paddingTop) || 0;\n value += mt + bt + pt;\n return value;\n }\n\n private _isGridHidden(): boolean {\n const gridElem = this._div.getElementsByTagName('app-grid');\n if (gridElem && gridElem.length) {\n const e = gridElem.item(0) as HTMLElement;\n return hidden(e);\n }\n return false;\n\n function hidden(e: HTMLElement): boolean {\n if (e.hidden) return true;\n else if (\n e.parentElement &&\n e.parentElement.id !== 'scrollabeGridContainer'\n )\n return hidden(e.parentElement);\n else return false;\n }\n }\n}\n\nfunction getAbsoluteHeight(e: HTMLElement): number {\n const { marginTop, marginBottom } = window.getComputedStyle(e);\n const mt = parseFloat(marginTop) || 0;\n const mb = parseFloat(marginBottom) || 0;\n return e.offsetHeight + mb + mt;\n}\n\nfunction getAbsoluteMargin(e: HTMLElement): number {\n const {\n marginTop,\n marginBottom,\n borderTop,\n borderBottom,\n paddingTop,\n paddingBottom,\n } = window.getComputedStyle(e);\n const mt = parseFloat(marginTop) || 0;\n const mb = parseFloat(marginBottom) || 0;\n const bt = parseFloat(borderTop) || 0;\n const bb = parseFloat(borderBottom) || 0;\n const pt = parseFloat(paddingTop) || 0;\n const pb = parseFloat(paddingBottom) || 0;\n return mt + mb + bt + bb + pt + pb;\n}\n","export class PopupMessage {\r\n key: string;\r\n severity: 'success' | 'info' | 'warn' | 'error' | 'multiple';\r\n summary: string;\r\n detail: string;\r\n\r\n constructor(summary: string, detail: string) {\r\n this.summary = summary;\r\n this.detail = detail;\r\n }\r\n\r\n static success(summary: string, detail: string): PopupMessage {\r\n const message = new PopupMessage(summary, detail);\r\n message.severity = 'success';\r\n message.key = 'S';\r\n return message;\r\n }\r\n\r\n static info(summary: string, detail: string): PopupMessage {\r\n const message = new PopupMessage(summary, detail);\r\n message.severity = 'info';\r\n message.key = 'I';\r\n return message;\r\n }\r\n\r\n static error(summary: string, detail: string): PopupMessage {\r\n const message = new PopupMessage(summary, detail);\r\n message.severity = 'error';\r\n message.key = 'E';\r\n return message;\r\n }\r\n\r\n static confirm(summary: string, detail: string): PopupMessage {\r\n const message = new PopupMessage(summary, detail);\r\n message.severity = 'warn';\r\n message.key = 'C';\r\n return message;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'phone' })\r\nexport class PhonePipe implements PipeTransform {\r\n transform(value: string): string {\r\n if (!value) return null;\r\n return `(${value.substr(0, 3)})-${value.substr(3, 3)}-${value.substr(\r\n 6,\r\n 4\r\n )}`;\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({name: 'ssn'})\r\nexport class SsnPipe implements PipeTransform {\r\n transform(value: string): string {\r\n if (!value) return null;\r\n\r\n if (value.length < 9) {\r\n const zeros = 9 - value.length;\r\n value = '0'.repeat(zeros).concat(value);\r\n }\r\n return `${value.substr(0, 3)}-${value.substr(3, 2)}-${value.substr(\r\n 5,\r\n value.length\r\n )}`;\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({name: 'zipcode'})\r\nexport class ZipcodePipe implements PipeTransform {\r\n transform(value: string): string {\r\n if (!value) return null;\r\n return `${value.substr(0, 5)}-${value.substr(5, 4)}`;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MenuModule } from 'primeng/menu';\nimport { InfoBannerComponent } from './components/info-banner/info-banner.component';\nimport { FormButtonComponent } from './components/form-button/form-button.component';\nimport { ButtonModule } from 'primeng/button';\nimport { IfSessionDirective } from './directives/if-session.directive';\nimport { IfNotSessionDirective } from './directives/if-not-session.directive';\nimport { CustomComponentModule } from '@nvkids/custom-component';\nimport { MessagesModule } from 'primeng/messages';\nimport { IfNotRouteDirective } from './directives/if-not-route.directive';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { InputGroupComponent } from './components/input-group/input-group.component';\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\nimport { ConfirmToastComponent } from './components/confirm-toast/confirm-toast.component';\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\nimport { DialogModule } from 'primeng/dialog';\nimport { ProgressComponent } from './components/progress/progress.component';\nimport { GridComponent } from './components/grid/grid.component';\nimport { TableModule } from 'primeng/table';\nimport { ContentTemplateDirective } from './directives/content-template.directive';\nimport { CollapsibleComponent } from './components/collapsible/collapsible.component';\nimport { FormsModule } from '@angular/forms';\nimport { SwitcherComponent } from './components/switcher/switcher.component';\nimport { FormRootModule } from '../reactive-form/form-root.module';\nimport { ErrorRendererDirective } from './directives/error-renderer.directive';\nimport { FormDialogComponent } from './components/form-dialog/form-dialog.component';\nimport { FocusableTextComponent } from './components/focusable-text/focusable-text.component';\nimport { GlobalMessageComponent } from './components/global-message/global-message.component';\nimport { UserInfoComponent } from './components/user-info/user-info.component';\nimport { UpdateProfileComponent } from './components/update-profile/update-profile.component';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { ChangeEmailComponent } from './components/change-email/change-email.component';\nimport { PhonePipe } from './pipes/phone.pipe';\nimport { SsnPipe } from './pipes/ssn.pipe';\nimport { ZipcodePipe } from './pipes/zipcode.pipe';\nimport { TabMenuComponent } from './components/tab-menu/tab-menu.component';\nimport { TabMenuModule } from 'primeng/tabmenu';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { ScrollPanelModule } from 'primeng/scrollpanel';\nimport { KeyFilterModule, DropdownModule } from '@nvkids/primeng';\nimport { IfUserDirective } from './directives/if-user.directive';\nimport { ScrollableGridAdapterComponent } from './components/scrollable-grid-adapter/scrollable-grid-adapter.component';\nimport { ScrollabeGridManagerDirective } from './directives/scrollabe-grid-manager.directive';\nimport { InputMaskScannerDirective } from './directives/input-mask-scanner.directive';\nimport { DateInputScannerDirective } from './directives/date-input-scanner.directive';\nimport { PasswordScannerDirective } from './directives/password-scanner.directive';\nimport { NativeFormControllerDirective } from './directives/native-form-controller.directive';\nimport { DropdownComponent } from './components/dropdown/dropdown.component';\nimport { InputKeyFilterScannerDirective } from './directives/input-keyfilter-scanner.directive';\n\n@NgModule({\n declarations: [\n InfoBannerComponent,\n FormButtonComponent,\n IfSessionDirective,\n IfNotSessionDirective,\n IfNotRouteDirective,\n IfUserDirective,\n InputGroupComponent,\n ConfirmToastComponent,\n ProgressComponent,\n GridComponent,\n ContentTemplateDirective,\n CollapsibleComponent,\n SwitcherComponent,\n ErrorRendererDirective,\n FormDialogComponent,\n FocusableTextComponent,\n GlobalMessageComponent,\n UserInfoComponent,\n UpdateProfileComponent,\n ChangePasswordComponent,\n ChangeEmailComponent,\n PhonePipe,\n ZipcodePipe,\n SsnPipe,\n TabMenuComponent,\n ScrollableGridAdapterComponent,\n ScrollabeGridManagerDirective,\n InputMaskScannerDirective,\n InputKeyFilterScannerDirective,\n DateInputScannerDirective,\n PasswordScannerDirective,\n NativeFormControllerDirective,\n DropdownComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n FormRootModule,\n MenuModule,\n ButtonModule,\n InputTextModule,\n DialogModule,\n ConfirmDialogModule,\n ProgressSpinnerModule,\n TableModule,\n TabMenuModule,\n TooltipModule,\n MessagesModule,\n KeyFilterModule,\n ScrollPanelModule,\n DropdownModule,\n CustomComponentModule,\n ],\n exports: [\n InfoBannerComponent,\n FormButtonComponent,\n IfSessionDirective,\n IfNotSessionDirective,\n IfNotRouteDirective,\n IfUserDirective,\n InputGroupComponent,\n ConfirmToastComponent,\n ProgressComponent,\n GridComponent,\n ContentTemplateDirective,\n CollapsibleComponent,\n SwitcherComponent,\n ErrorRendererDirective,\n FormDialogComponent,\n FocusableTextComponent,\n GlobalMessageComponent,\n UserInfoComponent,\n TabMenuComponent,\n ChangePasswordComponent,\n ScrollableGridAdapterComponent,\n InputMaskScannerDirective,\n InputKeyFilterScannerDirective,\n DateInputScannerDirective,\n PasswordScannerDirective,\n NativeFormControllerDirective,\n PhonePipe,\n ZipcodePipe,\n SsnPipe,\n DropdownComponent,\n ],\n})\nexport class SharedModule {}\n","export const environment = {\n production: false,\n environmentName: 'QA',\n // apiUrl: `https://gatewaytest.maine.gov/DHHS/CPortalNgWebApiQA/api`,\n // apiUrl: `https://w-b3vw-cseme.state.me.us/DHHS/CPortalNgWebApiQA/api`,\n // apiUrl: `http://dhhsct1altravic/DHHS/CPortalNgWebApiQA/api`,\n // apiUrl: `http://192.168.83.30/CPortalNgWebApiQA/api`,\n // apiUrl: `http://192.168.83.30/CPortalNgWebApi/api`,\n // apiUrl: `http://192.168.83.30/cportalwebserverfile/api`,\n // apiUrl: `http://m-cportal.protechsolutions.com/CPortalNgWebApi/api`,\n apiUrl: `http://som-ltsc-2fmjdg/DHHS/CPortalNgWebApiQA/api`,\n NativeApplication: {\n Android: {\n Message: 'Download App from GooglePlay',\n StoreLink: '',\n Enable: false,\n WebAccess: true,\n },\n iOS: {\n Message: 'Download App from AppStore',\n StoreLink: '',\n Enable: false,\n WebAccess: true,\n },\n },\n};\n","import {enableProdMode} from '@angular/core';\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\n\nimport {AppModule} from './app/app.module';\nimport {environment} from './environments/environment';\n\nif (environment.production) enableProdMode();\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":"webpack:///"}