{"version":3,"file":"app.767a378a55fb537d6a25.js","mappings":"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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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WACA;WACA;WACA,8BAA8B,yDAAyD;WACvF;;;;;WCJA;WACA;WACA;WACA,8BAA8B,yDAAyD;WACvF;;;;;WAJA;WACA;WACA;WACA,8BAA8B,yDAAyD;WACvF;;;;;WCJA;;;;;WCAA;WACA;WACA;WACA;WACA,uBAAuB,4BAA4B;WACnD;WACA;WACA;WACA,iBAAiB,oBAAoB;WACrC;WACA,mGAAmG,YAAY;WAC/G;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,mEAAmE,iCAAiC;WACpG;WACA;WACA;WACA;;;;;WCzCA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;;;;;WCJA;;;;;WCAA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,IAAI;WACJ;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA,gBAAgB,6BAA6B;WAC7C;WACA;WACA;WACA;WACA;WACA,gBAAgB,8BAA8B;WAC9C;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;;WAEA;WACA,kBAAkB;WAClB;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,GAAG;WACH;WACA;;WAEA;;;;;WAnEA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,IAAI;WACJ;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA,gBAAgB,6BAA6B;WAC7C;WACA;WACA;WACA;WACA;WACA,gBAAgB,8BAA8B;WAC9C;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;;WAEA;WACA,kBAAkB;WAClB;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,GAAG;WACH;WACA;;WAEA;;;;;WCnEA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA,iCAAiC;;WAEjC;WACA;WACA;WACA,KAAK;WACL,eAAe;WACf;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM;WACN;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;;;;;UErFA;UACA;UACA;UACA;UACA","sources":["webpack://login-app/./public/images/ACX-Virtual-Logo.png","webpack://login-app/./public/images/close.svg","webpack://login-app/./public/images/svg/agent-white.svg","webpack://login-app/./public/images/svg/agent.svg","webpack://login-app/./public/images/svg/cues.svg","webpack://login-app/./public/images/svg/logo-white.svg","webpack://login-app/./public/images/svg/logo.svg","webpack://login-app/./src/app/Pace/agent-login/pace-agent-login.component.html","webpack://login-app/./src/app/Pace/login/pace-login.component.html","webpack://login-app/./src/app/account/terms-conditions/terms-conditions.component.html","webpack://login-app/./src/app/agent-login/agent-login.component.html","webpack://login-app/./src/app/app.component.html","webpack://login-app/./src/app/authenticate-sso/authenticate-sso.component.html","webpack://login-app/./src/app/login/login.component.html","webpack://login-app/./src/app/messages/messages.component.html","webpack://login-app/./src/app/routing/routing.component.html","webpack://login-app/./src/app/shared/confirmation/confirmation.component.html","webpack://login-app/./src/app/shared/custom-loader/custom-loader.component.html","webpack://login-app/./src/app/shared/customer-tile/customer-tile.component.html","webpack://login-app/./src/app/shared/footer/footer.component.html","webpack://login-app/./src/app/shared/header-menu/header-menu.component.html","webpack://login-app/./src/app/shared/header/header.component.html","webpack://login-app/./src/app/shared/loader/loader.component.html","webpack://login-app/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://login-app/./public/css/desktop.css?0a64","webpack://login-app/./public/css/styles.css?c124","webpack://login-app/./src/app/Pace/agent-login/pace-agent-login-mobile.component.css?3620","webpack://login-app/./src/app/Pace/login/pace-login-mobile.component.css?0849","webpack://login-app/./src/app/agent-login/agent-login-mobile.component.css?b35c","webpack://login-app/./src/app/authenticate-sso/authenticate-sso.component.css","webpack://login-app/./src/app/login/login-mobile.component.css?6212","webpack://login-app/./src/app/messages/messages.mobile.component.css?fcea","webpack://login-app/./src/app/shared/confirmation/confirmation.component.css?d7d0","webpack://login-app/./src/app/shared/custom-loader/custom-loader.component.css?8057","webpack://login-app/./src/app/shared/customer-tile/customer-tile-mobile.component.css?89af","webpack://login-app/./src/app/shared/footer/footer-mobile.component.css?4246","webpack://login-app/./src/app/shared/header-menu/header-menu-desktop.component.css?bf6c","webpack://login-app/./src/app/shared/header-menu/header-menu-mobile.component.css?8ca6","webpack://login-app/./src/app/shared/header/header-desktop.component.css?5690","webpack://login-app/./src/app/shared/header/header-mobile.component.css?d084","webpack://login-app/./src/app/shared/loader/loader.component.css?f694","webpack://login-app/./src/app/Pace/agent-login/pace-agent-login.component.ts","webpack://login-app/./src/app/Pace/login/pace-login.component.ts","webpack://login-app/./src/app/agent-login/agent-login.component.ts","webpack://login-app/./src/app/authenticate-sso/authenticate-sso.component.ts","webpack://login-app/./src/app/core/models/loader-state.model.ts","webpack://login-app/./src/app/core/models/storage-type.model.ts","webpack://login-app/./src/app/core/models/storage.model.ts","webpack://login-app/./src/app/core/models/user-role.model.ts","webpack://login-app/./src/app/core/services/account.service.ts","webpack://login-app/./src/app/core/services/app-error-handler.service.ts","webpack://login-app/./src/app/core/services/authentication-app.service.ts","webpack://login-app/./src/app/core/services/customer-environment.service.ts","webpack://login-app/./src/app/core/services/customer.service.ts","webpack://login-app/./src/app/core/services/environment.service.ts","webpack://login-app/./src/app/core/services/header.service.ts","webpack://login-app/./src/app/core/services/message.service.ts","webpack://login-app/./src/app/core/services/storage.service.ts","webpack://login-app/./src/app/login/login.component.ts","webpack://login-app/./src/app/routing/routing.component.ts","webpack://login-app/./src/app/shared/home/home.component.ts","webpack://login-app/./src/app/shared/header/header.component.ts","webpack://login-app/./src/app/shared/header-menu/header-menu.component.ts","webpack://login-app/./src/app/shared/animations/fade-in-out.animation.ts","webpack://login-app/./src/app/shared/loader/loader.component.ts","webpack://login-app/./src/app/shared/footer/footer.component.ts","webpack://login-app/./src/app/shared/customer-tile/customer-tile.component.ts","webpack://login-app/./src/app/shared/customer-tile/sort-default-environment.pipe.ts","webpack://login-app/./src/app/shared/customer-tile/customer-license-expire-status.pipe.ts","webpack://login-app/./src/app/shared/confirmation/confirmation.component.ts","webpack://login-app/./src/app/shared/custom-loader/custom-loader.component.ts","webpack://login-app/./src/app/shared/shared.module.ts","webpack://login-app/./src/app/env/EnvService.ts","webpack://login-app/./src/app/app.component.ts","webpack://login-app/./src/app/core/services/authentication-guard.service.ts","webpack://login-app/./src/app/core/services/customer-switch-resolver.service.ts","webpack://login-app/./src/app/app-routing.module.ts","webpack://login-app/./src/app/core/core.module.ts","webpack://login-app/./src/app/messages/messages.component.ts","webpack://login-app/./src/app/account/terms-conditions/terms-conditions.component.ts","webpack://login-app/./src/app/account/account-routing.module.ts","webpack://login-app/./src/app/account/account.module.ts","webpack://login-app/./src/app/env/EnvServiceFactory.ts","webpack://login-app/./src/app/app.module.ts","webpack://login-app/./src/main.ts","webpack://login-app/webpack/bootstrap","webpack://login-app/webpack/runtime/chunk loaded","webpack://login-app/webpack/runtime/define property getters","webpack://login-app/webpack/runtime/ensure chunk","webpack://login-app/webpack/runtime/get javascript chunk filename","webpack://login-app/webpack/runtime/get mini-css chunk filename","webpack://login-app/webpack/runtime/hasOwnProperty shorthand","webpack://login-app/webpack/runtime/load script","webpack://login-app/webpack/runtime/make namespace object","webpack://login-app/webpack/runtime/node module decorator","webpack://login-app/webpack/runtime/publicPath","webpack://login-app/webpack/runtime/css loading","webpack://login-app/webpack/runtime/jsonp chunk loading","webpack://login-app/webpack/before-startup","webpack://login-app/webpack/startup","webpack://login-app/webpack/after-startup"],"sourcesContent":["export default __webpack_public_path__ + \"fonts/ACX-Virtual-Logo.61a2a32c264ec390c64be80e9bcc3786.png\";","export default __webpack_public_path__ + \"fonts/close.a3128cddd92a2394ef4878553d17f902.svg\";","export default __webpack_public_path__ + \"fonts/agent-white.9545ced38199dd7f09c16947c20bf16d.svg\";","export default __webpack_public_path__ + \"fonts/agent.93a4bbab3b5d78abf8445bfe566b4aec.svg\";","export default __webpack_public_path__ + \"fonts/cues.3324226eade4ba18146cb11fd1d8151d.svg\";","export default __webpack_public_path__ + \"fonts/logo-white.5c5b3c6b237853be59a6f9c24b90db25.svg\";","export default __webpack_public_path__ + \"fonts/logo.b6042eebfe422d647662025e10892917.svg\";","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"../../../../public/images/close.svg\");\nvar ___HTML_LOADER_IMPORT_1___ = require(\"../../../../public/images/svg/agent.svg\");\nvar ___HTML_LOADER_IMPORT_2___ = require(\"../../../../public/images/svg/cues.svg\");\nvar ___HTML_LOADER_IMPORT_3___ = require(\"../../../../public/images/svg/logo.svg\");\nvar ___HTML_LOADER_IMPORT_4___ = require(\"../../../../public/images/ACX-Virtual-Logo.png\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar ___HTML_LOADER_REPLACEMENT_2___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_2___);\nvar ___HTML_LOADER_REPLACEMENT_3___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_3___);\nvar ___HTML_LOADER_REPLACEMENT_4___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_4___);\nvar code = \"

{{errorMessage}}

Settings cleared successfully!

An email with your password has been sent to the email address associated with your account.


Enter your username below and we will email you the password.


Agent web application opened in a new tab. You can close this tab.

\";\n// Exports\nmodule.exports = code;","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"../../../../public/images/svg/agent.svg\");\nvar ___HTML_LOADER_IMPORT_1___ = require(\"../../../../public/images/svg/cues.svg\");\nvar ___HTML_LOADER_IMPORT_2___ = require(\"../../../../public/images/svg/logo.svg\");\nvar ___HTML_LOADER_IMPORT_3___ = require(\"../../../../public/images/ACX-Virtual-Logo.png\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar ___HTML_LOADER_REPLACEMENT_2___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_2___);\nvar ___HTML_LOADER_REPLACEMENT_3___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_3___);\nvar code = \"

{{errorMessage}}

History cleared successfully!

An email with your password has been sent to the email address.

{{forgotPasswordErrorMessage}}


Please enter a username

Please enter a password

Remember Me

Enter your email address below and we will email you the password.


\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
Accept
Decline
\";\n// Exports\nmodule.exports = code;","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"../../../public/images/close.svg\");\nvar ___HTML_LOADER_IMPORT_1___ = require(\"../../../public/images/svg/agent-white.svg\");\nvar ___HTML_LOADER_IMPORT_2___ = require(\"../../../public/images/svg/cues.svg\");\nvar ___HTML_LOADER_IMPORT_3___ = require(\"../../../public/images/svg/logo-white.svg\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar ___HTML_LOADER_REPLACEMENT_2___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_2___);\nvar ___HTML_LOADER_REPLACEMENT_3___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_3___);\nvar code = \"

{{errorMessage}}

Settings cleared successfully!

An email with your password has been sent to the email address associated with your account.


  • {{'FORGOTPASSWORDFORM.INSTRUCTIONS'|translate}}


    {{'LOGINFORM.AGENTAPPOPEN' | translate}}

    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \" \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\";\n// Exports\nmodule.exports = code;","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"../../../public/images/svg/agent.svg\");\nvar ___HTML_LOADER_IMPORT_1___ = require(\"../../../public/images/svg/cues.svg\");\nvar ___HTML_LOADER_IMPORT_2___ = require(\"../../../public/images/svg/logo.svg\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar ___HTML_LOADER_REPLACEMENT_2___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_2___);\nvar code = \"

    {{errorMessage}}

    {{'LOGINFORM.HISTORYCLEARED'|translate}}

    {{'LOGINFORM.EMAILPASSWORD'|translate}}

    {{forgotPasswordErrorMessage}}


    {{'LOGINFORM.VALIDUSERNAME'|translate}}

    {{'LOGINFORM.VALIDPASSWORD'|translate}}

    {{'LOGINFORM.REMEMBERME'|translate}}

  • {{'FORGOTPASSWORDFORM.INSTRUCTIONS'|translate}}


    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"

    {{isSuccess? messageStatus.success: messageStatus.error}}

    {{errorMessage}}

    {{'BUTTONS.OK' | translate}}
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \" \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"

    Confirm

    {{actionName}} {{actionProperty}}?

    No
    Yes
    \";\n// Exports\nmodule.exports = code;","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"../../../../public/images/svg/agent.svg\");\nvar ___HTML_LOADER_IMPORT_1___ = require(\"../../../../public/images/svg/cues.svg\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar code = \"
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    {{item.DisplayName}}
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    Refresh

    {{previousPageTitle}}

    {{headerTitle}}  

    {{customerName}}  

    \";\n// Exports\nmodule.exports = code;","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"../../../../public/images/svg/agent.svg\");\nvar ___HTML_LOADER_IMPORT_1___ = require(\"../../../../public/images/svg/cues.svg\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar code = \"
    \";\n// Exports\nmodule.exports = code;","var map = {\n\t\"./af\": 2786,\n\t\"./af.js\": 2786,\n\t\"./ar\": 867,\n\t\"./ar-dz\": 4130,\n\t\"./ar-dz.js\": 4130,\n\t\"./ar-kw\": 6737,\n\t\"./ar-kw.js\": 6737,\n\t\"./ar-ly\": 6440,\n\t\"./ar-ly.js\": 6440,\n\t\"./ar-ma\": 7702,\n\t\"./ar-ma.js\": 7702,\n\t\"./ar-sa\": 6040,\n\t\"./ar-sa.js\": 6040,\n\t\"./ar-tn\": 7100,\n\t\"./ar-tn.js\": 7100,\n\t\"./ar.js\": 867,\n\t\"./az\": 1083,\n\t\"./az.js\": 1083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 8338,\n\t\"./bg.js\": 8338,\n\t\"./bm\": 7438,\n\t\"./bm.js\": 7438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 6225,\n\t\"./bn-bd.js\": 6225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 1560,\n\t\"./bo.js\": 1560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 622,\n\t\"./bs.js\": 622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 877,\n\t\"./cv.js\": 877,\n\t\"./cy\": 7373,\n\t\"./cy.js\": 7373,\n\t\"./da\": 4780,\n\t\"./da.js\": 4780,\n\t\"./de\": 9740,\n\t\"./de-at\": 217,\n\t\"./de-at.js\": 217,\n\t\"./de-ch\": 894,\n\t\"./de-ch.js\": 894,\n\t\"./de.js\": 9740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 837,\n\t\"./el.js\": 837,\n\t\"./en-au\": 8348,\n\t\"./en-au.js\": 8348,\n\t\"./en-ca\": 7925,\n\t\"./en-ca.js\": 7925,\n\t\"./en-gb\": 2243,\n\t\"./en-gb.js\": 2243,\n\t\"./en-ie\": 6436,\n\t\"./en-ie.js\": 6436,\n\t\"./en-il\": 7207,\n\t\"./en-il.js\": 7207,\n\t\"./en-in\": 4175,\n\t\"./en-in.js\": 4175,\n\t\"./en-nz\": 6319,\n\t\"./en-nz.js\": 6319,\n\t\"./en-sg\": 1662,\n\t\"./en-sg.js\": 1662,\n\t\"./eo\": 2915,\n\t\"./eo.js\": 2915,\n\t\"./es\": 5655,\n\t\"./es-do\": 5251,\n\t\"./es-do.js\": 5251,\n\t\"./es-mx\": 6112,\n\t\"./es-mx.js\": 6112,\n\t\"./es-us\": 1146,\n\t\"./es-us.js\": 1146,\n\t\"./es.js\": 5655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 7763,\n\t\"./eu.js\": 7763,\n\t\"./fa\": 6959,\n\t\"./fa.js\": 6959,\n\t\"./fi\": 1897,\n\t\"./fi.js\": 1897,\n\t\"./fil\": 2549,\n\t\"./fil.js\": 2549,\n\t\"./fo\": 4694,\n\t\"./fo.js\": 4694,\n\t\"./fr\": 4470,\n\t\"./fr-ca\": 3049,\n\t\"./fr-ca.js\": 3049,\n\t\"./fr-ch\": 2330,\n\t\"./fr-ch.js\": 2330,\n\t\"./fr.js\": 4470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 7563,\n\t\"./ga.js\": 7563,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 8794,\n\t\"./gl.js\": 8794,\n\t\"./gom-deva\": 7884,\n\t\"./gom-deva.js\": 7884,\n\t\"./gom-latn\": 3168,\n\t\"./gom-latn.js\": 3168,\n\t\"./gu\": 5349,\n\t\"./gu.js\": 5349,\n\t\"./he\": 4206,\n\t\"./he.js\": 4206,\n\t\"./hi\": 94,\n\t\"./hi.js\": 94,\n\t\"./hr\": 316,\n\t\"./hr.js\": 316,\n\t\"./hu\": 2138,\n\t\"./hu.js\": 2138,\n\t\"./hy-am\": 1423,\n\t\"./hy-am.js\": 1423,\n\t\"./id\": 9218,\n\t\"./id.js\": 9218,\n\t\"./is\": 135,\n\t\"./is.js\": 135,\n\t\"./it\": 626,\n\t\"./it-ch\": 150,\n\t\"./it-ch.js\": 150,\n\t\"./it.js\": 626,\n\t\"./ja\": 9183,\n\t\"./ja.js\": 9183,\n\t\"./jv\": 4286,\n\t\"./jv.js\": 4286,\n\t\"./ka\": 2105,\n\t\"./ka.js\": 2105,\n\t\"./kk\": 7772,\n\t\"./kk.js\": 7772,\n\t\"./km\": 8758,\n\t\"./km.js\": 8758,\n\t\"./kn\": 9282,\n\t\"./kn.js\": 9282,\n\t\"./ko\": 3730,\n\t\"./ko.js\": 3730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 3291,\n\t\"./ky.js\": 3291,\n\t\"./lb\": 6841,\n\t\"./lb.js\": 6841,\n\t\"./lo\": 5466,\n\t\"./lo.js\": 5466,\n\t\"./lt\": 7010,\n\t\"./lt.js\": 7010,\n\t\"./lv\": 7595,\n\t\"./lv.js\": 7595,\n\t\"./me\": 9861,\n\t\"./me.js\": 9861,\n\t\"./mi\": 5493,\n\t\"./mi.js\": 5493,\n\t\"./mk\": 5966,\n\t\"./mk.js\": 5966,\n\t\"./ml\": 7341,\n\t\"./ml.js\": 7341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 370,\n\t\"./mr.js\": 370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 1237,\n\t\"./ms-my.js\": 1237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 2126,\n\t\"./mt.js\": 2126,\n\t\"./my\": 6165,\n\t\"./my.js\": 6165,\n\t\"./nb\": 4924,\n\t\"./nb.js\": 4924,\n\t\"./ne\": 6744,\n\t\"./ne.js\": 6744,\n\t\"./nl\": 3901,\n\t\"./nl-be\": 9814,\n\t\"./nl-be.js\": 9814,\n\t\"./nl.js\": 3901,\n\t\"./nn\": 3877,\n\t\"./nn.js\": 3877,\n\t\"./oc-lnc\": 2135,\n\t\"./oc-lnc.js\": 2135,\n\t\"./pa-in\": 5858,\n\t\"./pa-in.js\": 5858,\n\t\"./pl\": 4495,\n\t\"./pl.js\": 4495,\n\t\"./pt\": 9520,\n\t\"./pt-br\": 7971,\n\t\"./pt-br.js\": 7971,\n\t\"./pt.js\": 9520,\n\t\"./ro\": 6459,\n\t\"./ro.js\": 6459,\n\t\"./ru\": 1793,\n\t\"./ru.js\": 1793,\n\t\"./sd\": 950,\n\t\"./sd.js\": 950,\n\t\"./se\": 7930,\n\t\"./se.js\": 7930,\n\t\"./si\": 124,\n\t\"./si.js\": 124,\n\t\"./sk\": 4249,\n\t\"./sk.js\": 4249,\n\t\"./sl\": 4985,\n\t\"./sl.js\": 4985,\n\t\"./sq\": 1104,\n\t\"./sq.js\": 1104,\n\t\"./sr\": 9131,\n\t\"./sr-cyrl\": 9915,\n\t\"./sr-cyrl.js\": 9915,\n\t\"./sr.js\": 9131,\n\t\"./ss\": 5893,\n\t\"./ss.js\": 5893,\n\t\"./sv\": 8760,\n\t\"./sv.js\": 8760,\n\t\"./sw\": 1172,\n\t\"./sw.js\": 1172,\n\t\"./ta\": 7333,\n\t\"./ta.js\": 7333,\n\t\"./te\": 3110,\n\t\"./te.js\": 3110,\n\t\"./tet\": 2095,\n\t\"./tet.js\": 2095,\n\t\"./tg\": 7321,\n\t\"./tg.js\": 7321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 9005,\n\t\"./tk.js\": 9005,\n\t\"./tl-ph\": 5768,\n\t\"./tl-ph.js\": 5768,\n\t\"./tlh\": 9444,\n\t\"./tlh.js\": 9444,\n\t\"./tr\": 2397,\n\t\"./tr.js\": 2397,\n\t\"./tzl\": 8254,\n\t\"./tzl.js\": 8254,\n\t\"./tzm\": 1106,\n\t\"./tzm-latn\": 699,\n\t\"./tzm-latn.js\": 699,\n\t\"./tzm.js\": 1106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 7691,\n\t\"./uk.js\": 7691,\n\t\"./ur\": 3795,\n\t\"./ur.js\": 3795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 4126,\n\t\"./uz-latn.js\": 4126,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 5666,\n\t\"./vi.js\": 5666,\n\t\"./x-pseudo\": 4378,\n\t\"./x-pseudo.js\": 4378,\n\t\"./yo\": 5805,\n\t\"./yo.js\": 5805,\n\t\"./zh-cn\": 3839,\n\t\"./zh-cn.js\": 3839,\n\t\"./zh-hk\": 5726,\n\t\"./zh-hk.js\": 5726,\n\t\"./zh-mo\": 9807,\n\t\"./zh-mo.js\": 9807,\n\t\"./zh-tw\": 4152,\n\t\"./zh-tw.js\": 4152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6700;","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","module.exports = \"// extracted by mini-css-extract-plugin\\nexport {};\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\n\r\nimport { AgentUser } from \"../../core/models/agent-user.model\";\r\nimport { AccountService } from \"../../core/services/account.service\";\r\nimport { CustomerService } from \"../../core/services/customer.service\";\r\nimport { StorageService } from \"../../core/services/storage.service\";\r\nimport { HeaderService } from \"../../core/services/header.service\";\r\nimport { LoaderState } from \"../../core/models/loader-state.model\";\r\nimport { AuthenticationAppService } from \"../../core/services/authentication-app.service\";\r\n\r\n@Component({\r\n selector: \"ngn-pace-agent-login\",\r\n template: require('./pace-agent-login.component.html'),\r\n styles: [require('./pace-agent-login-mobile.component.css')]\r\n})\r\nexport class PaceAgentLoginComponent implements OnInit {\r\n\r\n private isLoginRequested: boolean;\r\n private errorMessage: string = \"\";\r\n private customerId: number;\r\n private environmentId: number;\r\n\r\n isCueFitAuthAgent: boolean;\r\n isResetSlideDown: boolean;\r\n isSystemMessageSlideDown: boolean;\r\n isAuthenticating: boolean;\r\n isErrorSlideUp: boolean;\r\n isHistorySlideDown: boolean;\r\n isForgotPassword: boolean;\r\n systemMessage: string = \"\";\r\n systemVersion: string = \"\";\r\n user: FormGroup;\r\n isWebApplication: boolean = true;\r\n isWindowOpened: boolean = false;\r\n forgotPasswordForm: FormGroup;\r\n email: string;\r\n isRemember: boolean;\r\n\r\n constructor(\r\n private storageService: StorageService,\r\n private formBuilder: FormBuilder,\r\n private accountService: AccountService,\r\n private customerService: CustomerService,\r\n private headerService: HeaderService,\r\n private authenticationAppService: AuthenticationAppService\r\n ) {\r\n this.isCueFitAuthAgent = false;\r\n };\r\n\r\n ngOnInit() {\r\n this.init();\r\n }\r\n\r\n init() {\r\n if (window[\"cefCustomObject\"]) {\r\n const size = {\r\n width: 830,\r\n height: 452\r\n }\r\n window[\"cefCustomObject\"].call(\"resize\", size);\r\n this.isWebApplication = false;\r\n }\r\n let location = document.location ? document.location : window.location;\r\n let url = location.href;\r\n this.customerService.getQueryString(url);\r\n let keyValue = this.customerService.getQueryStringParameters();\r\n this.customerId = keyValue && keyValue.customerid ? keyValue.customerid : 91;\r\n this.environmentId = keyValue && keyValue.environmentid ? keyValue.environmentid : 0;\r\n this.systemVersion = \"\";\r\n this.systemMessage = \"\";\r\n this.isSystemMessageSlideDown = true;\r\n if (keyValue && keyValue.username && keyValue.username !== \"\" && window && window[\"cefCustomObject\"]) {\r\n let agent: AgentUser = {\r\n UserLogin: keyValue.username,\r\n UserPass: \"\",\r\n CustomerId: this.customerId,\r\n EnvironmentId: this.environmentId\r\n };\r\n this.authenticateAgent(agent);\r\n } else {\r\n this.accountService.isCueFitAuthentication(this.customerId, this.environmentId)\r\n .subscribe((isCueFitAuth: boolean) => {\r\n this.isCueFitAuthAgent = isCueFitAuth;\r\n }, (err) => {\r\n this.errorMessage = \"Error in finding customer authentication type.\"\r\n this.isErrorSlideUp = false;\r\n })\r\n let loginInfo = this.storageService.LoginInfo;\r\n let user = null;\r\n if (loginInfo && loginInfo !== \"\") {\r\n user = JSON.parse(loginInfo);\r\n }\r\n let isRemember = this.storageService.IsRememberMe;\r\n this.user = this.formBuilder.group({\r\n email: [user ? user.UserLogin : \"\", [Validators.required]],\r\n password: [user ? user.UserPass : \"\", [Validators.required]]\r\n });\r\n this.isRemember = isRemember ? true : false;\r\n this.forgotPasswordForm = this.formBuilder.group({\r\n email: [\"\", [Validators.required]]\r\n });\r\n this.clearAllCachedData();\r\n this.headerService.setCuefitLoaderState(LoaderState[LoaderState.hide]);\r\n }\r\n }\r\n\r\n private clearAllCachedData(): void {\r\n this.customerService.clearUserToken();\r\n // this.customerService.clearCustomerLicense();\r\n this.customerService.clearCustomerList();\r\n }\r\n\r\n onSubmit({ value, valid }: { value: any, valid: boolean }) {\r\n\r\n if (valid && !this.isLoginRequested) {\r\n this.isLoginRequested = true;\r\n this.showLogoLoading(true);\r\n let user: AgentUser = {\r\n UserLogin: value.email,\r\n UserPass: value.password,\r\n CustomerId: this.customerId,\r\n EnvironmentId: this.environmentId\r\n };\r\n value.isRemember = this.isRemember;\r\n this.authenticateAgent(user, value.isRemember);\r\n }\r\n }\r\n onRequestPassword() {\r\n if (this.forgotPasswordForm.valid) {\r\n // console.log(\"Request password\");\r\n this.accountService.forgotPasswordForAgent(this.customerId, this.environmentId, this.forgotPasswordForm.value.email)\r\n .subscribe(() => {\r\n this.errorMessage = \"\";\r\n this.isErrorSlideUp = true;\r\n this.isResetSlideDown = true;\r\n }, (err) => {\r\n this.errorMessage = \"Error executing forgot password for agent.\"\r\n // this.errorMessage = `Your account is not set up with an email address.\r\n // Please contact your system administrator to obtain or reset your password.`;\r\n this.isErrorSlideUp = false;\r\n });\r\n }\r\n }\r\n\r\n authenticateAgent(agent: AgentUser, isRemember?: boolean) {\r\n this.accountService.authenticateAgent(agent)\r\n .subscribe((agentToken: any) => {\r\n this.isLoginRequested = false;\r\n if (agentToken) {\r\n this.isErrorSlideUp = true;\r\n this.isHistorySlideDown = false;\r\n this.storageService.IsRememberMe = isRemember;\r\n if (isRemember) {\r\n this.storageService.LoginInfo = JSON.stringify(agent);\r\n } else {\r\n this.storageService.LoginInfo = null;\r\n }\r\n if (window[\"cefCustomObject\"]) {\r\n let locale: string = this.storageService.Locale ? this.storageService.Locale : \"en-us\";\r\n if (this.authenticationAppService.DebugCoreApiBaseUrl) {\r\n agentToken.Env.ApiUrl = this.authenticationAppService.DebugCoreApiBaseUrl;\r\n }\r\n if (this.authenticationAppService.DebugCoreAppBaseUrl) {\r\n agentToken.Env.AppUrl = this.authenticationAppService.DebugCoreAppBaseUrl;\r\n }\r\n agentToken.Env.AppUrl = agentToken.Env.AppUrl.concat(`?&locale=${locale}`);\r\n window[\"cefCustomObject\"].call(\"onLoginSuccess\", agentToken);\r\n } else {\r\n let userToken = this.getEncodedUserToken(agentToken);\r\n let apiUrl: string;\r\n let appUrl: string;\r\n let locale: string = this.storageService.Locale ? this.storageService.Locale : \"en-us\";\r\n if (this.authenticationAppService.DebugCoreApiBaseUrl) {\r\n apiUrl = this.authenticationAppService.DebugCoreApiBaseUrl;\r\n } else {\r\n apiUrl = agentToken.Env.ApiUrl;\r\n }\r\n if (this.authenticationAppService.DebugCoreAppBaseUrl) {\r\n appUrl = this.authenticationAppService.DebugCoreAppBaseUrl;\r\n } else {\r\n appUrl = agentToken.Env.AppUrl;\r\n }\r\n appUrl = appUrl.concat(`?usertoken=${userToken}&customerid=${agentToken.CustomerId}&locale=${locale}&apiUrl=${encodeURIComponent(apiUrl)}&method=agent-web`);\r\n // window.location.href = appUrl;\r\n window.open(appUrl, \"_blank\", \"width=600, height=521,status=no,location=no,toolbar=no,menubar=no,scrollbars=no,resizable=yes\");\r\n setTimeout(() => {\r\n this.headerService.setCuefitLoaderState(LoaderState[LoaderState.hide]);\r\n this.isWindowOpened = true;\r\n }, 100);\r\n }\r\n }\r\n }, (err) => {\r\n this.isLoginRequested = false;\r\n let errorMessage = \"Invalid username / password please try again.\";\r\n if (!this.user) {\r\n errorMessage = `We are unable to grant you access to this service. Please try again.\r\n\r\n\r\n If this issue persists, please contact your NGNInsights system administrator for assistance.`;\r\n this.headerService.setCuefitLoaderState(LoaderState[LoaderState.hide]);\r\n }\r\n this.handleError(errorMessage);\r\n });\r\n }\r\n\r\n /** Click function for remember me checkbox */\r\n onIsRemember() {\r\n this.isRemember = !this.isRemember;\r\n }\r\n\r\n /**\r\n * Method called on click of Clear login info\r\n */\r\n onClearSettings() {\r\n // slide up the error message if present\r\n if (this.errorMessage.length) {\r\n this.isErrorSlideUp = true;\r\n }\r\n this.storageService.LoginInfo = null;\r\n if (window[\"cefCustomObject\"]) {\r\n window[\"cefCustomObject\"].call(\"onClearSettings\", \"ClearSettings\");\r\n }\r\n // slide down the history message\r\n setTimeout(() => {\r\n this.isHistorySlideDown = true;\r\n }, 1000);\r\n }\r\n\r\n /**\r\n * Encode the user token\r\n * @return {string} user token\r\n */\r\n getEncodedUserToken(userToken: any) {\r\n\r\n let token = userToken ? userToken.Token : undefined;\r\n\r\n if (token !== undefined) {\r\n token = encodeURIComponent(token);\r\n }\r\n\r\n return token;\r\n }\r\n\r\n handleError(errorMessage: string) {\r\n this.errorMessage = errorMessage;\r\n this.isErrorSlideUp = false;\r\n this.isHistorySlideDown = false;\r\n this.showLogoLoading(false);\r\n }\r\n\r\n // isEmail(control: FormControl): { [s: string]: boolean } {\r\n // const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\n // if (!control.value.match(emailRegex)) {\r\n // return { noEmail: true };\r\n // }\r\n // }\r\n\r\n onForgotPasswordCancel() {\r\n this.isForgotPassword = false;\r\n this.resetMessages();\r\n }\r\n\r\n onForgotPassword() {\r\n this.isForgotPassword = true;\r\n this.resetMessages();\r\n this.email = this.user.value.email;\r\n this.forgotPasswordForm.controls[\"email\"].setValue(this.email);\r\n }\r\n\r\n\r\n showLogoLoading(value: boolean) {\r\n this.isAuthenticating = value;\r\n }\r\n\r\n resetMessages() {\r\n this.isHistorySlideDown = false;\r\n this.isErrorSlideUp = true;\r\n this.isResetSlideDown = false;\r\n this.errorMessage = \"\";\r\n }\r\n\r\n onClose(event: MouseEvent) {\r\n if (window[\"cefCustomObject\"]) {\r\n window[\"cefCustomObject\"].call(\"onClose\", (event && event.shiftKey) ? \"ClearCache\" : \"Close\");\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { FormBuilder, FormGroup, FormControl, Validators } from \"@angular/forms\";\r\nimport { Subscription, Observable } from \"rxjs\";\r\nimport { UserToken } from \"../../core/models/user-token.model\";\r\nimport { User } from \"../../core/models/user.model\";\r\nimport { AccountService } from \"../../core/services/account.service\";\r\n\r\nimport { flatMap } from \"rxjs/operators\"\r\nimport { CustomerService } from \"../../core/services/customer.service\";\r\nimport { UserRole } from \"../../core/models/user-role.model\";\r\nimport { StorageType } from \"../../core/models/storage-type.model\";\r\nimport { Storage } from \"../../core/models/storage.model\";\r\nimport { StorageService } from \"../../core/services/storage.service\";\r\nimport { Customer } from \"../../core/models/customer.model\";\r\nimport { HeaderService } from \"../../core/services/header.service\";\r\nimport { LoaderState } from \"../../core/models/loader-state.model\";\r\n\r\n\r\n@Component({\r\n selector: \"ngn-pace-login\",\r\n template: require('./pace-login.component.html'),\r\n styles: [require('./pace-login-mobile.component.css')]\r\n})\r\nexport class PaceLoginComponent implements OnInit, OnDestroy {\r\n\r\n private isLoginRequested: boolean;\r\n private errorMessage: string = \"\";\r\n private email: string;\r\n\r\n isResetSlideDown: boolean;\r\n isNoneExistingUser: boolean;\r\n isSystemMessageSlideDown: boolean;\r\n isAuthenticating: boolean;\r\n isErrorSlideUp: boolean;\r\n isHistorySlideDown: boolean;\r\n isForgotPassword: boolean;\r\n systemMessage: string = \"\";\r\n systemVersion: string = \"\";\r\n user: FormGroup;\r\n forgotPasswordForm: FormGroup;\r\n forgotPasswordErrorMessage: string;\r\n isRemember: boolean;\r\n constructor(\r\n private storageService: StorageService,\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private accountService: AccountService,\r\n private customerService: CustomerService,\r\n private headerService: HeaderService\r\n ) {\r\n this.forgotPasswordErrorMessage = \"Error executing forgot password.\";\r\n };\r\n\r\n ngOnInit() {\r\n this.systemVersion = \"\";\r\n this.systemMessage = \"\";\r\n this.isSystemMessageSlideDown = true;\r\n let isRemember = this.storageService.IsRememberMe;\r\n this.user = this.formBuilder.group({\r\n email: [isRemember ? this.storageService.UserEmail : \"\", Validators.compose([\r\n Validators.required,\r\n this.isEmail\r\n ])],\r\n password: [\"\", [Validators.required]]\r\n });\r\n this.isRemember = isRemember ? true : false;\r\n this.forgotPasswordForm = this.formBuilder.group({\r\n email: [\"\", Validators.compose([\r\n Validators.required,\r\n this.isEmail\r\n ])]\r\n });\r\n // this.isLoginRequested = false;\r\n this.clearAllCachedData();\r\n this.headerService.setCuefitLoaderState(LoaderState[LoaderState.hide]);\r\n }\r\n\r\n private clearAllCachedData(): void {\r\n this.customerService.clearUserToken();\r\n // this.customerService.clearCustomerLicense();\r\n this.customerService.clearCustomerList();\r\n }\r\n\r\n onIsRemember() {\r\n this.isRemember = !this.isRemember;\r\n }\r\n\r\n onSubmit({ value, valid }: { value: any, valid: boolean }) {\r\n\r\n if (valid && !this.isLoginRequested) {\r\n this.customerService.IsPaceLogin = true;\r\n this.isLoginRequested = true;\r\n this.showLogoLoading(true);\r\n let user: User = {\r\n UserLogin: value.email,\r\n UserPass: value.password\r\n };\r\n value.isRemember = this.isRemember;\r\n this.accountService.authenticate(user)\r\n .pipe(flatMap((userToken: UserToken) => {\r\n if (userToken) {\r\n this.storageService.set(Storage.UserToken, userToken, StorageType.Session);\r\n this.storageService.UserEmail = user.UserLogin.trim();\r\n this.storageService.IsRememberMe = value.isRemember;\r\n return this.customerService.getCustomerList();\r\n }\r\n }))\r\n .subscribe((customerList) => {\r\n this.isLoginRequested = false;\r\n if (customerList && customerList.length) {\r\n let redirectUrl: string = this.accountService.getRedirectUrl();\r\n if (redirectUrl !== undefined) {\r\n this.router.navigateByUrl(redirectUrl);\r\n this.accountService.setRedirectUrl(undefined);\r\n } else {\r\n let customerId: number = this.accountService.getLastCustomerId();\r\n let index = customerList.findIndex((customer: Customer) => customer.Id === customerId);\r\n if (index === -1) {\r\n customerId = customerList[0].Id;\r\n }\r\n if (this.accountService.getUserRole().toString() !== UserRole[UserRole.SuperAdmin]) {\r\n this.router.navigate([\"/list\", customerId]);\r\n } else {\r\n this.router.navigate([\"/customer\", \"list\"]);\r\n }\r\n }\r\n } else {\r\n this.accountService.clearUserToken();\r\n let errorMessage = \"You do not have access to any customers.\";\r\n this.handleError(errorMessage);\r\n }\r\n }, (err) => {\r\n this.isLoginRequested = false;\r\n let errorMessage = \"Invalid username / password please try again.\";\r\n this.handleError(errorMessage);\r\n });\r\n }\r\n }\r\n\r\n handleError(errorMessage: string) {\r\n this.errorMessage = errorMessage;\r\n this.isErrorSlideUp = false;\r\n this.isHistorySlideDown = false;\r\n this.showLogoLoading(false);\r\n }\r\n\r\n /**\r\n * Method called on click of Clear History\r\n */\r\n onClearHistory(): void {\r\n // slide up the error message if present\r\n if (this.errorMessage.length) {\r\n this.isErrorSlideUp = true;\r\n }\r\n this.storageService.clear();\r\n // slide down the history message\r\n setTimeout(() => {\r\n this.isHistorySlideDown = true;\r\n }, 1500);\r\n }\r\n\r\n isEmail(control: FormControl): { [s: string]: boolean } {\r\n const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\n if (control.value && !control.value.match(emailRegex)) {\r\n return { noEmail: true };\r\n }\r\n }\r\n\r\n onForgotPassword() {\r\n this.isForgotPassword = true;\r\n this.resetMessages()\r\n this.email = this.user.value.email;\r\n this.forgotPasswordForm.controls[\"email\"].setValue(this.email);\r\n }\r\n\r\n onForgotPasswordCancel() {\r\n this.isForgotPassword = false;\r\n this.resetMessages();\r\n }\r\n\r\n onRequestPassword() {\r\n if (this.forgotPasswordForm.valid) {\r\n this.showLogoLoading(true);\r\n let email = this.forgotPasswordForm.value.email;\r\n this.accountService.forgotpassword(email).subscribe(() => {\r\n this.showLogoLoading(false);\r\n this.isNoneExistingUser = false;\r\n this.isResetSlideDown = true;\r\n }, (err) => {\r\n console.log(err);\r\n this.showLogoLoading(false);\r\n this.isNoneExistingUser = true;\r\n });\r\n }\r\n }\r\n\r\n showLogoLoading(value: boolean) {\r\n this.isAuthenticating = value;\r\n }\r\n\r\n resetMessages() {\r\n this.isHistorySlideDown = false;\r\n this.isErrorSlideUp = true;\r\n this.isResetSlideDown = false;\r\n this.isNoneExistingUser = false;\r\n }\r\n\r\n ngOnDestroy() {\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Location } from \"@angular/common\";\r\nimport { AgentUser } from \"../core/models/agent-user.model\";\r\nimport { AccountService } from \"../core/services/account.service\";\r\nimport { CustomerService } from \"../core/services/customer.service\";\r\nimport { StorageService } from \"../core/services/storage.service\";\r\nimport { HeaderService } from \"../core/services/header.service\";\r\nimport { LoaderState } from \"../core/models/loader-state.model\";\r\nimport { AuthenticationAppService } from \"../core/services/authentication-app.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\nimport { AuthenticationType } from \"../core/models/authentication-type.model\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"vc-login-form\",\r\n template: require('./agent-login.component.html'),\r\n styles: [require('./agent-login-mobile.component.css')],\r\n})\r\nexport class AgentLoginComponent implements OnInit {\r\n private isLoginRequested: boolean;\r\n private errorMessage: string = \"\";\r\n private customerId: number;\r\n private environmentId: number;\r\n\r\n isCueFitAuthAgent: boolean;\r\n isResetSlideDown: boolean;\r\n isSystemMessageSlideDown: boolean;\r\n isAuthenticating: boolean;\r\n isErrorSlideUp: boolean;\r\n isHistorySlideDown: boolean;\r\n isForgotPassword: boolean;\r\n systemMessage: string = \"\";\r\n systemVersion: string = \"\";\r\n user: FormGroup;\r\n isWebApplication: boolean = true;\r\n isWindowOpened: boolean = false;\r\n forgotPasswordForm: FormGroup;\r\n email: string;\r\n isRemember: boolean;\r\n locale: string;\r\n hasLoginWindow: boolean = true;\r\n\r\n constructor(\r\n private storageService: StorageService,\r\n private formBuilder: FormBuilder,\r\n private accountService: AccountService,\r\n private customerService: CustomerService,\r\n private headerService: HeaderService,\r\n private translateService: TranslateService,\r\n private authenticationAppService: AuthenticationAppService,\r\n private location: Location,\r\n private route: Router\r\n ) {\r\n this.isCueFitAuthAgent = false;\r\n // this.location = location;\r\n // this.location.subscribe((event: PopStateEvent): void => {\r\n // if (event.type === \"hashchange\") {\r\n // console.log(event);\r\n // }\r\n // });\r\n }\r\n\r\n ngOnInit() {\r\n let storageLocale: string = this.storageService.Locale;\r\n this.locale =\r\n storageLocale && storageLocale !== \"\"\r\n ? storageLocale\r\n : this.getLocaleFromBrowseLang();\r\n this.translateService.use(this.locale);\r\n this.init();\r\n }\r\n\r\n init() {\r\n if (window[\"cefCustomObject\"]) {\r\n const size = {\r\n width: 830,\r\n height: 452,\r\n };\r\n window[\"cefCustomObject\"].call(\"resize\", size);\r\n this.isWebApplication = false;\r\n }\r\n let location = document.location ? document.location : window.location;\r\n let url = location.href;\r\n this.customerService.getQueryString(url);\r\n let keyValue = this.customerService.getQueryStringParameters();\r\n this.customerId = keyValue && keyValue.customerid ? keyValue.customerid : 0;\r\n this.environmentId =\r\n keyValue && keyValue.environmentid ? keyValue.environmentid : 0;\r\n this.systemVersion = \"\";\r\n this.systemMessage = \"\";\r\n this.isSystemMessageSlideDown = true;\r\n if (\r\n keyValue &&\r\n keyValue.username &&\r\n keyValue.username !== \"\" &&\r\n window &&\r\n window[\"cefCustomObject\"]\r\n ) {\r\n let agent: AgentUser = {\r\n UserLogin: keyValue.username,\r\n UserPass: \"\",\r\n CustomerId: this.customerId,\r\n EnvironmentId: this.environmentId,\r\n };\r\n this.authenticateAgent(agent);\r\n } else {\r\n // For Genesys Login by Login component redirect\r\n if (this.route.url.includes(\"agent/oauth2/\")) {\r\n let agent: AgentUser = {\r\n UserLogin: \"\",\r\n UserPass: this.getParameterByName(\"access_token\"),\r\n CustomerId: 108,\r\n EnvironmentId: 0,\r\n };\r\n this.authenticateAgent(agent, false);\r\n } else {\r\n this.accountService\r\n .isCueFitAuthentication(this.customerId, this.environmentId)\r\n .subscribe(\r\n (data: AuthenticationType) => {\r\n this.isCueFitAuthAgent = data.IsCueFitAuthentication;\r\n if (\"Genesys\" === data.ContactCenter) {\r\n this.hasLoginWindow = false;\r\n this.getOAuthToken(\r\n this.customerId,\r\n data.AgentClientId,\r\n data.Environment\r\n );\r\n }\r\n },\r\n (err) => {\r\n this.errorMessage = this.translateService.instant(\r\n \"LOGINFORM.AUTHTYPERR\"\r\n );\r\n this.isErrorSlideUp = false;\r\n }\r\n );\r\n }\r\n let loginInfo = this.storageService.LoginInfo;\r\n let user = null;\r\n if (loginInfo && loginInfo !== \"\") {\r\n user = JSON.parse(loginInfo);\r\n }\r\n let isRemember = this.storageService.IsRememberMe;\r\n this.user = this.formBuilder.group({\r\n email: [user ? user.UserLogin : \"\", [Validators.required]],\r\n password: [user ? user.UserPass : \"\", [Validators.required]],\r\n });\r\n this.isRemember = isRemember ? true : false;\r\n this.forgotPasswordForm = this.formBuilder.group({\r\n email: [\"\", [Validators.required]],\r\n });\r\n this.clearAllCachedData();\r\n this.headerService.setCuefitLoaderState(LoaderState[LoaderState.hide]);\r\n }\r\n }\r\n\r\n getParameterByName(name: string) {\r\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\r\n let regex = new RegExp(\"[\\\\#&]\" + name + \"=([^&#]*)\"),\r\n results = regex.exec(location.hash);\r\n return results === null\r\n ? \"\"\r\n : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\r\n }\r\n\r\n private clearAllCachedData(): void {\r\n this.customerService.clearUserToken();\r\n // this.customerService.clearCustomerLicense();\r\n this.customerService.clearCustomerList();\r\n }\r\n\r\n onSubmit({ value, valid }: { value: any; valid: boolean }) {\r\n if (valid && !this.isLoginRequested) {\r\n this.isLoginRequested = true;\r\n this.showLogoLoading(true);\r\n let user: AgentUser = {\r\n UserLogin: value.email.trim(),\r\n UserPass: value.password,\r\n CustomerId: this.customerId,\r\n EnvironmentId: this.environmentId,\r\n };\r\n value.isRemember = this.isRemember;\r\n this.authenticateAgent(user, value.isRemember);\r\n }\r\n }\r\n onRequestPassword() {\r\n if (this.forgotPasswordForm.valid) {\r\n // console.log(\"Request password\");\r\n this.accountService\r\n .forgotPasswordForAgent(\r\n this.customerId,\r\n this.environmentId,\r\n this.forgotPasswordForm.value.email\r\n )\r\n .subscribe(\r\n () => {\r\n this.errorMessage = \"\";\r\n this.isErrorSlideUp = true;\r\n this.isResetSlideDown = true;\r\n },\r\n (err) => {\r\n this.errorMessage = this.translateService.instant(\r\n \"LOGINFORM.FORGOTPASSWORDERR\"\r\n );\r\n // this.errorMessage = `Your account is not set up with an email address.\r\n // Please contact your system administrator to obtain or reset your password.`;\r\n this.isErrorSlideUp = false;\r\n }\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Method to authenticate the agent credentials.\r\n * @param agent - an object which contains agent details.\r\n * @param isRemember\r\n */\r\n authenticateAgent(agent: AgentUser, isRemember?: boolean) {\r\n this.accountService.authenticateAgent(agent).subscribe(\r\n (agentToken: any) => {\r\n console.log(agentToken);\r\n this.isLoginRequested = false;\r\n if (agentToken) {\r\n this.isErrorSlideUp = true;\r\n this.isHistorySlideDown = false;\r\n this.storageService.IsRememberMe = isRemember;\r\n if (isRemember) {\r\n this.storageService.LoginInfo = JSON.stringify(agent);\r\n } else {\r\n this.storageService.LoginInfo = null;\r\n }\r\n if (window[\"cefCustomObject\"]) {\r\n let locale: string = this.storageService.Locale\r\n ? this.storageService.Locale\r\n : \"en-us\";\r\n if (this.authenticationAppService.DebugCoreApiBaseUrl) {\r\n agentToken.Env.ApiUrl = this.authenticationAppService.DebugCoreApiBaseUrl;\r\n }\r\n if (this.authenticationAppService.DebugCoreAppBaseUrl) {\r\n agentToken.Env.AppUrl = this.authenticationAppService.DebugCoreAppBaseUrl;\r\n }\r\n agentToken.Env.AppUrl = agentToken.Env.AppUrl.concat(\r\n `?&locale=${locale}`\r\n );\r\n agentToken.hasLoginWindow = this.hasLoginWindow;\r\n window[\"cefCustomObject\"].call(\"onLoginSuccess\", agentToken);\r\n } else {\r\n let userToken = this.getEncodedUserToken(agentToken);\r\n let apiUrl: string;\r\n let appUrl: string;\r\n let locale: string = this.storageService.Locale\r\n ? this.storageService.Locale\r\n : \"en-us\";\r\n if (this.authenticationAppService.DebugCoreApiBaseUrl) {\r\n apiUrl = this.authenticationAppService.DebugCoreApiBaseUrl;\r\n } else {\r\n apiUrl = agentToken.Env.ApiUrl;\r\n }\r\n if (this.authenticationAppService.DebugCoreAppBaseUrl) {\r\n appUrl = this.authenticationAppService.DebugCoreAppBaseUrl;\r\n } else {\r\n appUrl = agentToken.Env.AppUrl;\r\n }\r\n appUrl = appUrl.concat(\r\n `?usertoken=${userToken}&customerid=${\r\n agentToken.CustomerId\r\n }&locale=${locale}&apiUrl=${encodeURIComponent(\r\n apiUrl\r\n )}&method=agent-web`\r\n );\r\n // window.location.href = appUrl;\r\n let currentWidth =\r\n window.screen && window.screen.availWidth\r\n ? window.screen.availWidth\r\n : window.outerWidth;\r\n let currentHeight =\r\n window.screen && window.screen.availHeight\r\n ? window.screen.availHeight\r\n : window.outerHeight;\r\n window.open(\r\n appUrl,\r\n \"_blank\",\r\n \"width =\" +\r\n currentWidth +\r\n \",height=\" +\r\n currentHeight +\r\n \",status=no,location=no,toolbar=no,menubar=no,scrollbars=no,resizable=yes\"\r\n );\r\n setTimeout(() => {\r\n this.headerService.setCuefitLoaderState(\r\n LoaderState[LoaderState.hide]\r\n );\r\n this.isWindowOpened = true;\r\n }, 100);\r\n }\r\n }\r\n },\r\n (err) => {\r\n this.isLoginRequested = false;\r\n let errorMessage = this.translateService.instant(\r\n \"LOGINFORM.INVALIDCRED\"\r\n );\r\n if (!this.user) {\r\n errorMessage = this.translateService.instant(\r\n \"LOGINFORM.UNABLEGRANTACCESS\"\r\n );\r\n this.headerService.setCuefitLoaderState(\r\n LoaderState[LoaderState.hide]\r\n );\r\n }\r\n this.handleError(errorMessage);\r\n }\r\n );\r\n }\r\n\r\n /** Click function for remember me checkbox */\r\n onIsRemember() {\r\n this.isRemember = !this.isRemember;\r\n }\r\n\r\n /**\r\n * Method called on click of Clear login info\r\n */\r\n onClearSettings() {\r\n // slide up the error message if present\r\n if (this.errorMessage.length) {\r\n this.isErrorSlideUp = true;\r\n }\r\n this.storageService.LoginInfo = null;\r\n if (window[\"cefCustomObject\"]) {\r\n window[\"cefCustomObject\"].call(\"onClearSettings\", \"ClearSettings\");\r\n }\r\n // slide down the history message\r\n setTimeout(() => {\r\n this.isHistorySlideDown = true;\r\n }, 1000);\r\n }\r\n\r\n /**\r\n * Encode the user token\r\n * @return {string} user token\r\n */\r\n getEncodedUserToken(userToken: any) {\r\n let token = userToken ? userToken.Token : undefined;\r\n\r\n if (token !== undefined) {\r\n token = encodeURIComponent(token);\r\n }\r\n\r\n return token;\r\n }\r\n\r\n handleError(errorMessage: string) {\r\n this.errorMessage = errorMessage;\r\n this.isErrorSlideUp = false;\r\n this.isHistorySlideDown = false;\r\n this.showLogoLoading(false);\r\n }\r\n\r\n // isEmail(control: FormControl): { [s: string]: boolean } {\r\n // const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\n // if (!control.value.match(emailRegex)) {\r\n // return { noEmail: true };\r\n // }\r\n // }\r\n\r\n onForgotPasswordCancel() {\r\n this.isForgotPassword = false;\r\n this.resetMessages();\r\n }\r\n\r\n onForgotPassword() {\r\n this.isForgotPassword = true;\r\n this.resetMessages();\r\n this.email = this.user.value.email;\r\n this.forgotPasswordForm.controls[\"email\"].setValue(this.email);\r\n }\r\n\r\n showLogoLoading(value: boolean) {\r\n this.isAuthenticating = value;\r\n }\r\n\r\n resetMessages() {\r\n this.isHistorySlideDown = false;\r\n this.isErrorSlideUp = true;\r\n this.isResetSlideDown = false;\r\n this.errorMessage = \"\";\r\n }\r\n\r\n onClose(event: MouseEvent) {\r\n if (window[\"cefCustomObject\"]) {\r\n window[\"cefCustomObject\"].call(\r\n \"onClose\",\r\n event && event.shiftKey ? \"ClearCache\" : \"Close\"\r\n );\r\n }\r\n }\r\n\r\n onSwitchLocale(value: string) {\r\n this.translateService.use(value);\r\n this.locale = value;\r\n this.storageService.Locale = value;\r\n }\r\n\r\n getSelectedStyle(value: string): object {\r\n return { opacity: this.locale === value ? 1 : 0.5 };\r\n }\r\n\r\n getLocaleFromBrowseLang(): string {\r\n let browserLang: string = navigator.language.toLowerCase();\r\n switch (browserLang) {\r\n case \"pt-br\":\r\n break;\r\n case \"es\":\r\n browserLang = \"es-es\";\r\n break;\r\n default:\r\n browserLang = \"en-us\";\r\n break;\r\n }\r\n\r\n return browserLang.toLowerCase();\r\n }\r\n\r\n getOAuthToken(customerId: number, clientId: string, environment: string) {\r\n // let redirect_uri = `http://localhost:8889/agent/oauth2/callback?customerId=${this.customerId}`;\r\n let redirect_uri = `https://login.ngninsights.com/agent/oauth2/callback?customerId=${this.customerId}`;\r\n\r\n let apiUrl = `${environment}/oauth/authorize?response_type=token&client_id=${clientId}&redirect_uri=${redirect_uri}`;\r\n // this.location.go(apiUrl);\r\n window.location.replace(apiUrl);\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Subscription, of } from \"rxjs\";\r\nimport { HeaderService } from \"../core/services/header.service\";\r\nimport { AccountService } from \"../core/services/account.service\";\r\nimport { MessageService } from \"../core/services/message.service\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\nimport { UserToken } from \"../core/models/user-token.model\";\r\nimport { CustomerService } from \"../core/services/customer.service\";\r\n\r\n@Component({\r\n selector: \"authenticate-sso\",\r\n template: require('./authenticate-sso.component.html'),\r\n styles: [require('./authenticate-sso.component.css')]\r\n})\r\nexport class AuthenticateSsoComponent implements OnInit, OnDestroy {\r\n\r\n private authenticationSubscription: Subscription;\r\n private routerSubscription: Subscription;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private headerService: HeaderService,\r\n private accountService: AccountService,\r\n private customerService: CustomerService,\r\n private messageService: MessageService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.init();\r\n }\r\n\r\n init() {\r\n let customerId: number;\r\n let environmentId: number;\r\n this.routerSubscription = this.route.paramMap.subscribe((params) => {\r\n customerId = +params.get(\"customerId\");\r\n environmentId = +params.get(\"environmentId\");\r\n });\r\n let location = document.location ? document.location : window.location;\r\n let url = location.href;\r\n let ssoToken: string = this.getSSOToken(url);\r\n if (ssoToken && ssoToken.length > 0) {\r\n this.authenticationSubscription = this.accountService.authenticateSso(ssoToken, customerId, environmentId)\r\n .pipe(map((userToken: UserToken) => {\r\n return this.customerService.switchEnvironment(userToken.Env, userToken.LastCustomerId);\r\n }), catchError((err: any) => {\r\n // redirect to login page\r\n this.router.navigate([\"/login\"]);\r\n return of(false);\r\n })).subscribe();\r\n } else {\r\n this.router.navigate([\"/login\"]);\r\n }\r\n }\r\n\r\n getSSOToken(url: string): string {\r\n let keysValues = url.split(/[\\?&]+/);\r\n let ssoToken: string = \"\";\r\n keysValues.map((keyValue) => {\r\n let keyValue1 = keyValue.split(\"=\");\r\n if (keyValue1[0].toLowerCase() === \"ssotoken\") {\r\n ssoToken = keyValue1[1];\r\n }\r\n });\r\n return ssoToken;\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n if (this.routerSubscription) {\r\n this.routerSubscription.unsubscribe();\r\n }\r\n if (this.authenticationSubscription) {\r\n this.authenticationSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","\r\n/**\r\n * cuefit loader states\r\n * @enum {LoaderState}\r\n */\r\nexport enum LoaderState {\r\n show,\r\n hide\r\n}\r\n","export enum StorageType {\r\n Session,\r\n Local\r\n}\r\n","\r\nexport enum Storage {\r\n UserToken,\r\n CustomerId,\r\n ProjectId,\r\n View,\r\n PresetId,\r\n ApiUrl,\r\n Environment\r\n}\r\n","export enum UserRole {\r\n SuperAdmin,\r\n SystemAdmin,\r\n Builder,\r\n Explorer,\r\n Viewer\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport {\r\n HttpClient,\r\n HttpHeaders,\r\n HttpParams,\r\n HttpResponse,\r\n} from \"@angular/common/http\";\r\n\r\nimport { Observable, throwError } from \"rxjs\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\n\r\nimport { AuthenticationAppService } from \"./authentication-app.service\";\r\nimport { UserToken } from \"../models/user-token.model\";\r\nimport { User } from \"../models/user.model\";\r\nimport { UserRole } from \"../models/user-role.model\";\r\nimport { AgentUser } from \"../models/agent-user.model\";\r\nimport { AuthenticationType } from \"../models/authentication-type.model\";\r\n\r\n@Injectable()\r\nexport class AccountService {\r\n private userToken: UserToken;\r\n private userEmail: string;\r\n private isRefreshAllowed: boolean;\r\n private redirectUrl: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router,\r\n private authenticationAppService: AuthenticationAppService // private storageService: StorageService\r\n ) {}\r\n\r\n authenticate(user: User) {\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}account/supervisor`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\" });\r\n let options = { headers: headers };\r\n\r\n return this.http.post(apiUrl, JSON.stringify(user), options).pipe(\r\n map((data: any) => {\r\n this.userToken = data;\r\n return this.userToken;\r\n }),\r\n catchError((error: any): any => {\r\n let errMessage: string = error.statusText || \"Server Error\";\r\n if (error.status !== undefined && error.status === 401) {\r\n this.clearUserToken();\r\n // return null;\r\n }\r\n return throwError(() => new Error(errMessage))\r\n })\r\n );\r\n }\r\n\r\n authenticateAgent(user: AgentUser) {\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}account/agent`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${this.authenticationAppService.ApiKey}` });\r\n let options = { headers: headers };\r\n\r\n return this.http.post(apiUrl, JSON.stringify(user), options).pipe(\r\n map((data: any) => {\r\n // this.userToken = data;\r\n return data;\r\n }),\r\n catchError((error: any): any => {\r\n let errMessage: string = error.statusText || \"Server Error\";\r\n if (error.status !== undefined && error.status === 401) {\r\n this.clearUserToken();\r\n // return null;\r\n }\r\n return throwError(() => new Error(errMessage))\r\n })\r\n );\r\n }\r\n\r\n authenticateSso(\r\n ssoToken: string,\r\n customerId: number,\r\n environmentId: number\r\n ): Observable {\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}account/supervisor/sso/${customerId}/${environmentId}`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${ssoToken}` });\r\n let options = { headers: headers };\r\n\r\n return this.http.post(apiUrl, \"\", options).pipe(\r\n map((data: any) => {\r\n this.userToken = data;\r\n return data;\r\n }),\r\n catchError((error: any): any => {\r\n let errMessage: string = error.statusText || \"Server Error\";\r\n if (error.status !== undefined && error.status === 401) {\r\n this.clearUserToken();\r\n // return null;\r\n }\r\n return throwError(() => new Error(errMessage))\r\n })\r\n );\r\n }\r\n\r\n logout() {\r\n if (this.userToken) {\r\n let userToken = this.getEncodedUserToken();\r\n console.log(userToken);\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}account/supervisor/logout`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n\r\n let logoutObservable = this.http.post(apiUrl, null, options).pipe(\r\n map(() => {\r\n this.clearUserToken();\r\n }),\r\n catchError((error: Response) => {\r\n let errMessage: string = error.statusText || \"Server Error\";\r\n if (error.status !== undefined && error.status === 401) {\r\n this.clearUserToken();\r\n this.router.navigate([\"/login\"]);\r\n return null;\r\n }\r\n return throwError(() => new Error(errMessage))\r\n })\r\n );\r\n // logoutObservable.share();\r\n return logoutObservable;\r\n }\r\n }\r\n\r\n forgotpassword(email: string) {\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}account/forgotpassword?userLogin=${encodeURIComponent(email)}`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\" });\r\n let options = { headers: headers };\r\n let forgotPasswordObservable = this.http.get(apiUrl, options).pipe(\r\n catchError((error: Response) => {\r\n let errMessage: string = error.statusText || \"Server Error\";\r\n if (error.status !== undefined && error.status === 401) {\r\n this.clearUserToken();\r\n this.router.navigate([\"/login\"]);\r\n }\r\n return throwError(errMessage);\r\n })\r\n );\r\n\r\n return forgotPasswordObservable;\r\n }\r\n\r\n acceptTerms() {\r\n let userToken = this.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}account/accept`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n return this.http.post(apiUrl, null, options).pipe(\r\n map((response: Response) => response),\r\n catchError((error) => {\r\n let errMessage: string = error.statusText || \"Server Error\";\r\n if (error.status !== undefined && error.status === 401) {\r\n this.clearUserToken();\r\n this.router.navigate([\"/login\"]);\r\n }\r\n return throwError(errMessage);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Encode the user token\r\n * @return {string} user token\r\n */\r\n getEncodedUserToken() {\r\n let userToken = this.userToken ? this.userToken : null; // this.storageService.get(Storage.UserToken, StorageType.Session);\r\n let token = userToken ? userToken.Token : undefined;\r\n\r\n // if (token !== undefined) {\r\n // token = encodeURIComponent(token);\r\n // }\r\n\r\n return token;\r\n }\r\n\r\n setTermsAccepted() {\r\n this.userToken.AcceptedTerms = true;\r\n }\r\n\r\n /**\r\n * Set user name from UserToken\r\n * @return {string}\r\n */\r\n getUserName(): string {\r\n return this.userToken ? this.userToken.Name : null;\r\n }\r\n\r\n /**\r\n * Set user role from UserToken\r\n * @return {UserRole}\r\n */\r\n getUserRole(): UserRole {\r\n return this.userToken.UserRole;\r\n }\r\n\r\n /**\r\n * Set UserToken\r\n * @param {any} token\r\n * @return {void}\r\n */\r\n setUserToken(token: any): void {\r\n if (token) {\r\n this.userToken = token;\r\n }\r\n }\r\n\r\n clearUserToken() {\r\n this.userToken = null;\r\n // this.storageService.set(Storage.UserToken, undefined, StorageType.Session);\r\n }\r\n\r\n setRedirectUrl(path: string) {\r\n this.redirectUrl = path;\r\n }\r\n\r\n getRedirectUrl() {\r\n return this.redirectUrl;\r\n }\r\n\r\n /**\r\n * Get user environmentId from UserToken\r\n * @return {UserRole}\r\n */\r\n getLastEnvironmentId(): number {\r\n return this.userToken && this.userToken.LastEnvironmentId;\r\n }\r\n\r\n /**\r\n * Get user environmentId from UserToken\r\n * @return {UserRole}\r\n */\r\n getLastCustomerId(): number {\r\n return this.userToken && this.userToken.LastCustomerId;\r\n }\r\n\r\n isCueFitAuthentication(customerId: number, environmentId: number = 0) {\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}account/${customerId}/iscuefitauth?environmentId=${environmentId}`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\" });\r\n let options = { headers: headers, observe: \"response\" as \"body\" };\r\n\r\n return this.http.post(apiUrl, null, options).pipe(\r\n map((response: HttpResponse) => {\r\n let authType: AuthenticationType = {\r\n IsCueFitAuthentication: response.body,\r\n AgentClientId: response.headers.get(\"AgentClientId\"),\r\n Environment: response.headers.get(\"Environment\"),\r\n ContactCenter: response.headers.get(\"ContactCenter\"),\r\n };\r\n return authType;\r\n }),\r\n catchError((error: any): any => {\r\n let errMessage: string = error.statusText || \"Server Error\";\r\n return throwError(() => new Error(errMessage))\r\n })\r\n );\r\n }\r\n\r\n forgotPasswordForAgent(\r\n customerId: number,\r\n environmentId: number = 0,\r\n agentUsername: string = \"\"\r\n ) {\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}account/${customerId}/forgotpassword?environmentId=${environmentId}&agentUsername=${encodeURIComponent(agentUsername)}`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\" });\r\n let options = { headers: headers };\r\n\r\n return this.http.get(apiUrl, options).pipe(\r\n catchError((error: any): any => {\r\n let errMessage: string = error.statusText || \"Server Error\";\r\n return throwError(() => new Error(errMessage))\r\n })\r\n );\r\n }\r\n\r\n getOAuthToken(envUrl: string, queryParams: HttpParams) {\r\n let apiUrl = `${envUrl}/oauth/authorize`;\r\n // let headers = new HttpHeaders({ \"Content-Type\": \"application/json\" });\r\n // let options = {\r\n // headers: headers,\r\n // params: queryParams,\r\n // observe: \"response\" as \"body\",\r\n // };\r\n let options = {\r\n // headers: headers,\r\n params: queryParams,\r\n };\r\n // return this.http.get(apiUrl, options).subscribe(\r\n // (data) => console.log(data),\r\n // (err) => console.log(err)\r\n // );\r\n return this.http.get(apiUrl, options).pipe(\r\n catchError((error: any): any => {\r\n let errMessage: string = error.statusText || \"Server Error\";\r\n return throwError(() => new Error(errMessage))\r\n })\r\n );\r\n }\r\n}\r\n\r\n/**\r\n getSsoToken() {\r\n return encodeURIComponent(this.userToken.SsoToken);\r\n }\r\n\r\n getCustomerTimeZone() {\r\n return this.userToken.TimeZone;\r\n }\r\n\r\n setRefreshAllowed(flag: boolean) {\r\n this.isRefreshAllowed = flag;\r\n }\r\n\r\n getRefreshAllowed() {\r\n return this.isRefreshAllowed;\r\n }\r\n\r\n setUserLocale(locale: string) {\r\n this.userToken.Locale = locale;\r\n }\r\n\r\n getUserLocale(): string {\r\n return this.userToken.Locale;\r\n }\r\n getUserLogin() {\r\n return this.userToken ? this.userToken.UserLogin : null;\r\n }\r\n\r\n hasTermsAccepted() {\r\n let userToken = this.userToken ?\r\n this.userToken : null // this.storageService.get(Storage.UserToken, StorageType.Session);\r\n\r\n if (userToken && userToken.AcceptedTerms) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n // getUserEmail(): string {\r\n // return this.storageService.UserEmail;\r\n // }\r\n // resetPassword(userId: number): Observable {\r\n // let resetResponse: boolean = false;\r\n // let userToken = this.getEncodedUserToken();\r\n // let apiUrl = `${this.uthenticationAppService.ApiBaseUrl}/api/user/${userId}/resetpassword?api_key=${this.uthenticationAppService.ApiKey}&userToken=${userToken}`;\r\n // let headers = new Headers({ \"Content-Type\": \"application/json\" });\r\n // let options = new RequestOptions({ headers: headers });\r\n // let resetPasswordObservable = this.http.get(apiUrl, options)\r\n // .map(() => resetResponse = true)\r\n // .catch((error: Response) => {\r\n\r\n // let errMessage: string = error.statusText || \"Server Error\";\r\n // if ((error.status !== undefined) && (error.status === 401)) {\r\n // this.clearUserToken();\r\n // this.router.navigate([\"/login\"]);\r\n // return null;\r\n // }\r\n // return Observable.throw({ status: error.status, message: errMessage });\r\n // });\r\n\r\n // return resetPasswordObservable;\r\n // }\r\n */\r\n","import { ErrorHandler, Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n// import { Response } from \"@angular/http\";\r\n\r\n\r\nimport { AccountService } from \"./account.service\";\r\nimport { Observable } from \"rxjs/internal/Observable\";\r\nimport { of } from \"rxjs/internal/observable/of\";\r\nimport { throwError } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class AppErrorHandler extends ErrorHandler {\r\n\r\n constructor(\r\n private router: Router,\r\n private accountService: AccountService\r\n ) {\r\n super();\r\n }\r\n\r\n handleError(error: any) {\r\n\r\n // delegate to the default handler\r\n super.handleError(error);\r\n }\r\n\r\n handleHttpError(error: { status: number, statusText: string, message: string }) {\r\n let errMessage: string = error.status !== 0 ? error.statusText || error.message || \"Server Error\" : error.statusText || error.message || \"Connection Failed. Please try again\";\r\n if ((error.status !== undefined) && (error.status === 401)) {\r\n this.accountService.clearUserToken();\r\n this.router.navigate([\"/login\"]);\r\n // return null;\r\n }\r\n return throwError({ status: error.status, message: errMessage });\r\n }\r\n\r\n handleErrorMessage(error: { status: number, message: string }) {\r\n return of(error.message || \"Server Error\");\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class AuthenticationAppService {\r\n private paceAuthAppUrl: string;\r\n private apiBaseUrl: string;\r\n private debugAuthApiBaseUrl: string;\r\n private debugCoreAppBaseUrl: string;\r\n private debugCoreApiBaseUrl: string;\r\n private debugPaceAuthAppUrl: string;\r\n private apiKey: string;\r\n\r\n constructor() {\r\n this.apiKey = \"3%2B340wqNDF%2B4v2CL5qjWge6Lc2uVvMBhZ8hiWXzLuLcIrJr%2F8isYCN0dQ%2FC%2F1tU3uzaD55mMU9P5xcb86kWshoUttLgvlPomPoqmCWEVwz47K6RFJXkRENmvb5cftInK8YbACJtGvlKpRzHj6EawWzBmXLBS4jk6\";\r\n }\r\n\r\n set ApiBaseUrl(value: string) {\r\n this.apiBaseUrl = value;\r\n }\r\n\r\n get ApiBaseUrl(): string {\r\n let returnPath: string;\r\n if (this.debugAuthApiBaseUrl) {\r\n returnPath = this.debugAuthApiBaseUrl;\r\n } else {\r\n returnPath = this.apiBaseUrl;\r\n }\r\n return returnPath;\r\n }\r\n\r\n set PaceAuthAppUrl(value: string) {\r\n this.paceAuthAppUrl = value;\r\n }\r\n\r\n get PaceAuthAppUrl(): string {\r\n let returnPath: string;\r\n if (this.debugPaceAuthAppUrl) {\r\n returnPath = this.debugPaceAuthAppUrl;\r\n } else {\r\n returnPath = this.paceAuthAppUrl;\r\n }\r\n return returnPath;\r\n }\r\n\r\n set DebugPaceAuthAppUrl(value: string) {\r\n this.debugPaceAuthAppUrl = value;\r\n }\r\n\r\n get DebugPaceAuthAppUrl(): string {\r\n return this.debugPaceAuthAppUrl;\r\n }\r\n\r\n set DebugAuthApiBaseUrl(value: string) {\r\n this.debugAuthApiBaseUrl = value;\r\n }\r\n\r\n get DebugAuthApiBaseUrl(): string {\r\n return this.debugAuthApiBaseUrl;\r\n }\r\n\r\n set DebugCoreAppBaseUrl(value: string) {\r\n this.debugCoreAppBaseUrl = value;\r\n }\r\n\r\n get DebugCoreAppBaseUrl(): string {\r\n return this.debugCoreAppBaseUrl;\r\n }\r\n\r\n set DebugCoreApiBaseUrl(value: string) {\r\n this.debugCoreApiBaseUrl = value;\r\n }\r\n\r\n get DebugCoreApiBaseUrl(): string {\r\n return this.debugCoreApiBaseUrl;\r\n }\r\n\r\n get ApiKey(): string {\r\n return this.apiKey;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { AccountService } from \"./account.service\";\r\nimport { AuthenticationAppService } from \"./authentication-app.service\";\r\nimport { License } from \"../models/license.model\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpHeaders, HttpClient } from \"@angular/common/http\";\r\nimport { map, catchError, timeout } from \"rxjs/operators\";\r\nimport { CustomerService } from \"./customer.service\";\r\nimport { AppErrorHandler } from \"./app-error-handler.service\";\r\nimport { CustomerEnv } from \"../models/customer-env.model\";\r\n\r\n@Injectable()\r\nexport class CustomerEnvironmentService {\r\n\r\n\r\n constructor(\r\n private accountService: AccountService,\r\n private authenticationAppService: AuthenticationAppService,\r\n private http: HttpClient,\r\n private customerService: CustomerService,\r\n private errorHandler: AppErrorHandler\r\n ) { }\r\n\r\n\r\n save(environment: CustomerEnv, customerId: number): Observable {\r\n\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/customer/${customerId}/environment`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n\r\n return this.http.post(apiUrl, JSON.stringify(environment), options)\r\n .pipe(map((response: Response) => {\r\n // this.customerService.updateCustomerEnvironments(environment, customerId)\r\n return response;\r\n })\r\n , catchError((error) => this.errorHandler.handleHttpError(error)))\r\n }\r\n\r\n delete(customerId: number, environmentId: number): Observable {\r\n\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/customer/${customerId}/environment?environmentId=${environmentId}`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n\r\n return this.http.delete(apiUrl, options)\r\n .pipe(catchError((error) => this.errorHandler.handleHttpError(error)))\r\n }\r\n\r\n createDataStore(customerId: number, environmentId: number) {\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/customer/${customerId}/environment/${environmentId}/datastore`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n\r\n\r\n return this.http.post(apiUrl, null, options)\r\n .pipe(\r\n // timeout(180000),\r\n map((response: Response) => response),\r\n catchError((error) => this.errorHandler.handleHttpError(error)));\r\n }\r\n\r\n verifyDataStore(customerId: number, environmentId: number) {\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/customer/${customerId}/environment/${environmentId}/datastore/verify`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n\r\n\r\n return this.http.post(apiUrl, null, options)\r\n .pipe(\r\n map((response: CustomerEnv) => response),\r\n catchError((error) => this.errorHandler.handleHttpError(error)));\r\n }\r\n\r\n\r\n updateCustomerLicense(customerId: number, environmentId: number, license: License) {\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/customer/${customerId}/environment/${environmentId}/license`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n let licenseObservable = this.http.post(apiUrl, JSON.stringify(license), options)\r\n .pipe(catchError((error) => this.errorHandler.handleHttpError(error)))\r\n\r\n return licenseObservable;\r\n }\r\n\r\n\r\n generateCustomerApiKey(customerId: number, environmentId: number): Observable {\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/customer/${customerId}/environment/${environmentId}/apitoken`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n let apiKeyObservable = this.http.post(apiUrl, null, options)\r\n .pipe(map((response: string) => response)\r\n , catchError((error) => this.errorHandler.handleHttpError(error)));\r\n\r\n return apiKeyObservable;\r\n }\r\n\r\n removeCustomerApiKey(customerId: number, environmentId: number): Observable {\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/customer/${customerId}/environment/${environmentId}/apitoken`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n let apiKeyObservable = this.http.delete(apiUrl, options)\r\n .pipe(map((response: Response) => true)\r\n , catchError((error) => this.errorHandler.handleHttpError(error)));\r\n\r\n return apiKeyObservable;\r\n }\r\n\r\n setDefaultEnvironment(customerId: number, environmentId: number): Observable {\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/customer/${customerId}/environment/${environmentId}/default`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n let defaultObservable = this.http.post(apiUrl, null, options)\r\n .pipe(map((response: string) => response)\r\n , catchError((error) => this.errorHandler.handleHttpError(error)));\r\n\r\n return defaultObservable;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpHeaders, HttpClient } from \"@angular/common/http\";\r\n\r\nimport { Observable, ReplaySubject, of, throwError, Subject } from \"rxjs\";\r\nimport { map, catchError, timeout } from \"rxjs/operators\";\r\n\r\nimport { AccountService } from \"./account.service\";\r\nimport { AuthenticationAppService } from \"./authentication-app.service\";\r\nimport { Customer } from \"../models/customer.model\";\r\nimport { UserToken } from \"../models/user-token.model\";\r\nimport { AppErrorHandler } from \"./app-error-handler.service\";\r\nimport { CustomerEnv } from \"../models/customer-env.model\";\r\nimport { StorageService } from \"./storage.service\";\r\nimport { HeaderService } from \"./header.service\";\r\nimport { LoaderState } from \"../models/loader-state.model\";\r\nimport { License } from \"../models/license.model\";\r\n\r\n@Injectable()\r\nexport class CustomerService {\r\n private keyValues: any;\r\n private ssoToken: string;\r\n private customerList: Customer[];\r\n private customerListObservable: Observable;\r\n private userToken: UserToken;\r\n private currentCustomer: Customer;\r\n private environmentSubject: Subject = new Subject();\r\n private isPaceLogin: boolean;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private errorHandler: AppErrorHandler,\r\n private accountService: AccountService,\r\n private authenticationAppService: AuthenticationAppService,\r\n private storageService: StorageService,\r\n private headerService: HeaderService\r\n ) { }\r\n\r\n getCustomerList() {\r\n if (this.customerList && this.customerList.length > 0) {\r\n this.customerListObservable = of(this.customerList);\r\n } else {\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}customer/list`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n\r\n this.customerListObservable = this.http.get(apiUrl, options)\r\n .pipe(map((response: Customer[]) => {\r\n this.customerList = response;\r\n this.currentCustomer = response[0];\r\n return response;\r\n }),\r\n catchError((error: any): any => this.errorHandler.handleHttpError(error)));\r\n }\r\n return this.customerListObservable\r\n }\r\n\r\n switchCustomer(customerId: any, environmentId: number) {\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}customer/switch/${customerId}/${environmentId}`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n\r\n return this.http.post(apiUrl, null, options)\r\n .pipe(map((response: UserToken) => {\r\n // this.clearCustomerSettingsObservable();\r\n this.accountService.setUserToken(response);\r\n this.setCurrentCustomer(customerId);\r\n this.userToken = response;\r\n this.switchEnvironment(response.Env);\r\n this.setEnvironments(response);\r\n return this.userToken;\r\n }),\r\n catchError((error: any): any => this.errorHandler.handleHttpError(error)));\r\n }\r\n\r\n switchEnvironment(value: CustomerEnv, LastCustomerId?: number) {\r\n if (value) {\r\n let userEmail = this.storageService.UserEmail;\r\n let apiUrl: string;\r\n let environmentId: number = value.EnvironmentId;\r\n let customerId: number = LastCustomerId ? LastCustomerId : this.getCurrentCustomer().Id;\r\n let appUrl: string;\r\n let loginUrl: string = this.preparePaceLoginUrl();\r\n let spotlightUrl: string = this.keyValues ? this.prepareSpotlightUrl() : \"\";\r\n let locale: string = this.storageService.Locale ? this.storageService.Locale : \"en-us\";\r\n if (this.authenticationAppService.DebugCoreApiBaseUrl) {\r\n apiUrl = this.authenticationAppService.DebugCoreApiBaseUrl;\r\n } else {\r\n apiUrl = value.ApiUrl;\r\n }\r\n if (this.authenticationAppService.DebugCoreAppBaseUrl) {\r\n appUrl = this.authenticationAppService.DebugCoreAppBaseUrl;\r\n } else {\r\n appUrl = value.AppUrl;\r\n }\r\n appUrl = appUrl.concat(`?userToken=${this.accountService.getEncodedUserToken()}&apiUrl=${encodeURIComponent(apiUrl)}&customerId=${customerId}&environmentId=${environmentId}&locale=${locale}&userEmail=${encodeURIComponent(userEmail)}${spotlightUrl}${loginUrl}`);\r\n window.location.href = appUrl;\r\n // console.log(value);\r\n } else {\r\n this.headerService.setCuefitLoaderState(LoaderState[LoaderState.hide]);\r\n }\r\n }\r\n\r\n setCurrentCustomer(customerId: number) {\r\n let customer: Customer = this.customerList.find(c => c.Id === customerId);\r\n // this.headerService.setCustomerName(customer.CustomerName);\r\n this.currentCustomer = customer;\r\n // this.customerSubject.next(customer);\r\n }\r\n\r\n setEnvironments(userToken: UserToken) {\r\n if (userToken && userToken.Env) {\r\n this.environmentSubject.next(userToken.Env);\r\n }\r\n }\r\n\r\n getEnvironments(): Observable {\r\n return this.environmentSubject.asObservable();\r\n }\r\n\r\n\r\n getCurrentCustomer(): Customer {\r\n return this.currentCustomer;\r\n }\r\n\r\n clearCustomerList(): void {\r\n if (this.customerList || this.customerListObservable) {\r\n this.customerList = null;\r\n this.customerListObservable = null;\r\n }\r\n }\r\n\r\n clearUserToken() {\r\n if (this.userToken) {\r\n this.userToken = null;\r\n }\r\n }\r\n\r\n getQueryString(url: string, key?: string) {\r\n let keysValues = url.split(/[\\?&]+/);\r\n let keyValueArray: any = {};\r\n keysValues.forEach((keyValue) => {\r\n let keyValue1 = keyValue.split(\"=\");\r\n if (keyValue1[0].toLowerCase() === \"ssotoken\") {\r\n this.ssoToken = keyValue1[1];\r\n } else {\r\n keyValueArray[keyValue1[0].toLowerCase()] = decodeURIComponent(keyValue1[1]);\r\n }\r\n })\r\n // url = decodeURIComponent(url);\r\n // let keysValues1 = url.split(/[\\?&]+/);\r\n\r\n // keysValues1.forEach((keyValue) => {\r\n // let keyValue1 = keyValue.split(\"=\");\r\n // if (keyValue1[0].toLowerCase() !== \"ssotoken\") {\r\n // keyValueArray[keyValue1[0].toLowerCase()] = keyValue1[1];\r\n // }\r\n // })\r\n // if (url.indexOf(\"GiveBadge?\") !== -1) {\r\n // keyValueArray[\"method\"] = \"giveBadge\";\r\n // } else if (url.indexOf(\"RaiseHand?\") !== -1) {\r\n // keyValueArray[\"method\"] = \"raiseHand\";\r\n // }\r\n this.setQueryStringValues(keyValueArray);\r\n }\r\n\r\n setQueryStringValues(keyvalues: any) {\r\n this.keyValues = keyvalues;\r\n }\r\n\r\n prepareSpotlightUrl() {\r\n let spotlightUrl: string = \"\";\r\n for (let key in this.keyValues) {\r\n if (key !== \"customerid\" && key !== \"environmentid\") {\r\n spotlightUrl += (\"&\" + key + \"=\" + this.keyValues[key]);\r\n }\r\n }\r\n return spotlightUrl;\r\n }\r\n\r\n set IsPaceLogin(value: boolean) {\r\n this.isPaceLogin = value;\r\n }\r\n\r\n preparePaceLoginUrl() {\r\n let loginUrl: string = \"\";\r\n if (this.isPaceLogin) {\r\n loginUrl = \"&authurl=\" + encodeURIComponent(this.authenticationAppService.PaceAuthAppUrl);\r\n }\r\n return loginUrl;\r\n }\r\n\r\n getQueryStringParameters() {\r\n return this.keyValues;\r\n }\r\n\r\n getSsoToken() {\r\n return this.ssoToken ? this.ssoToken : null;\r\n }\r\n\r\n create(customer: Customer) {\r\n // return console.log(\"Function yet to be defined\");\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/customer`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n let apiKeyObservable = this.http.post(apiUrl, JSON.stringify(customer), options)\r\n .pipe(\r\n // timeout(180000),\r\n map((response: Customer) => {\r\n if (!this.customerList) {\r\n this.customerList = [];\r\n }\r\n this.customerList.push(response)\r\n return response;\r\n }),\r\n catchError((error) => this.errorHandler.handleHttpError(error))\r\n )\r\n\r\n\r\n return apiKeyObservable;\r\n }\r\n\r\n update(customer: Customer) {\r\n // return console.log(\"Function yet to be defined\");\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/customer`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n let apiKeyObservable = this.http.put(apiUrl, JSON.stringify(customer), options)\r\n .pipe(\r\n timeout(180000),\r\n map((response: Customer) => {\r\n return response;\r\n }),\r\n catchError((error) => this.errorHandler.handleHttpError(error))\r\n )\r\n\r\n\r\n return apiKeyObservable;\r\n }\r\n\r\n delete(customerId: number) {\r\n // return console.log(\"Function yet to be defined\");\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/customer/${customerId}`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n let apiKeyObservable = this.http.delete(apiUrl, options)\r\n .pipe(\r\n timeout(180000),\r\n map((response: Response) => {\r\n if (this.customerList) {\r\n let index = this.customerList.findIndex(c => c.Id === customerId);\r\n if (index !== -1) {\r\n this.customerList.splice(index, 1);\r\n }\r\n }\r\n return this.customerList;\r\n }),\r\n catchError((error) => this.errorHandler.handleHttpError(error))\r\n )\r\n\r\n\r\n return apiKeyObservable;\r\n }\r\n clearCache(customerId: number) {\r\n // return console.log(\"Function yet to be defined\");\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/customer/${customerId}/clearcache`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n\r\n return this.http.get(apiUrl, options)\r\n .pipe(\r\n map((response: Response) => response),\r\n catchError((error) => this.errorHandler.handleHttpError(error))\r\n )\r\n }\r\n\r\n getCustomerObservable(customerId: number): Observable {\r\n let customer: Customer = this.customerList.find(c => c.Id === customerId);\r\n return of(customer);\r\n }\r\n\r\n getCustomer(customerId: number): Customer {\r\n let customer: Customer = this.customerList.find(c => c.Id === customerId);\r\n return customer;\r\n }\r\n\r\n getEnvironmentApiToken(customerId: number, envId: number) {\r\n let apiToken: string;\r\n if (this.customerList) {\r\n let customer = this.customerList.find((value: Customer) => value.Id === customerId);\r\n if (customer.Environments) {\r\n let env = customer.Environments.find((value: CustomerEnv) => value.EnvironmentId === envId);\r\n apiToken = env && env.ApiToken ? env.ApiToken : null;\r\n }\r\n }\r\n return of(apiToken);\r\n }\r\n\r\n getCurrentCustomerList() {\r\n return this.customerList;\r\n }\r\n\r\n}\r\n\r\n/**\r\n\r\n // clearCache(customerId: number) {\r\n // let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/api/customer/${customerId}/clearcache?api_key=${this.authenticationAppService.ApiKey}&userToken=${this.accountService.getEncodedUserToken()}`;\r\n\r\n // let headers = new HttpHeaders({ \"Content-Type\": \"application/json\" });\r\n // let options = new RequestOptions({ headers: headers });\r\n\r\n // return this.http.get(apiUrl, options)\r\n // .map((response: Response) => response.json())\r\n // .catch((error) => this.errorHandler.handleHttpError(error));\r\n // }\r\n */\r\n","import { Injectable } from \"@angular/core\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppErrorHandler } from \"./app-error-handler.service\";\r\nimport { AuthenticationAppService } from \"./authentication-app.service\";\r\nimport { of } from \"rxjs\";\r\nimport { AccountService } from \"./account.service\";\r\nimport { Env } from \"../models/env.model\";\r\n\r\n@Injectable()\r\nexport class EnvironmentService {\r\n\r\n private environmentListObservable: any\r\n private environmentList: Env[]\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private errorHandler: AppErrorHandler,\r\n private authenticationAppService: AuthenticationAppService,\r\n private accountService: AccountService\r\n ) { }\r\n\r\n getList() {\r\n if (this.environmentList && this.environmentList.length > 0) {\r\n this.environmentListObservable = of(this.environmentList);\r\n } else {\r\n let userToken = this.accountService.getEncodedUserToken();\r\n let apiUrl = `${this.authenticationAppService.ApiBaseUrl}/environment/list`;\r\n let headers = new HttpHeaders({ \"Content-Type\": \"application/json\", 'Authorization': `Bearer ${userToken}` });\r\n let options = { headers: headers };\r\n\r\n this.environmentListObservable = this.http.get(apiUrl, options)\r\n .pipe(map((response: Env[]) => {\r\n this.environmentList = response;\r\n return response;\r\n }),\r\n catchError((error: any): any => this.errorHandler.handleHttpError(error)));\r\n }\r\n return this.environmentListObservable\r\n }\r\n}\r\n","import { Injectable, EventEmitter } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs/internal/BehaviorSubject\";\r\nimport { ReplaySubject } from \"rxjs/internal/ReplaySubject\";\r\nimport { Subject } from \"rxjs/internal/Subject\";\r\nimport { Observable } from \"rxjs/internal/Observable\";\r\nimport { UserToken } from \"../models/user-token.model\";\r\n\r\n\r\n\r\n@Injectable()\r\nexport class HeaderService {\r\n\r\n /*private*/\r\n private isShowHiddenProjects: boolean;\r\n private showHiddenSubject = new BehaviorSubject(false);\r\n private rollupPreiviewSubject = new ReplaySubject(1);\r\n private projectList: any[];\r\n private projectListSubject = new Subject();\r\n private customerId: number;\r\n private customerIdSubject = new Subject();\r\n private customerNameSubject = new Subject();\r\n private lastUpadtedSubject = new Subject();\r\n private loadedPresetSubject = new Subject();\r\n // private isDisableOverlay: boolean;\r\n // private isDisableOverlaySubject = new Subject();\r\n private headerParamsSubject = new Subject();\r\n private cuefitLoaderStateSubject = new Subject();\r\n private pageRequestStateSubject = new Subject();\r\n private bodyOverflowStateSubject = new Subject();\r\n private isShowFilter: boolean = false;\r\n private isShowFilterSubject = new Subject();\r\n private connectLoaderStateSubject = new Subject();\r\n private previousPageTitle: string;\r\n private backButtonSelect = new Subject();\r\n private projectIdSubject = new Subject();\r\n private alertParamsSubject = new Subject();\r\n private switchCustomerSource = new Subject();\r\n private rollupPreviewSwitch = new BehaviorSubject(false);\r\n private showRegisterUserPopup = new BehaviorSubject(false);\r\n private showSystemAdvisementPopup = new Subject();\r\n\r\n switchCustomer$ = this.switchCustomerSource.asObservable();\r\n isShowHeaderMenu: EventEmitter = new EventEmitter();\r\n onBackButtonSelect = this.backButtonSelect.asObservable();\r\n\r\n\r\n customerSwitch(customerInfo: { routePath: (string | number)[], customerId: number, customerName: string, userToken: UserToken }) {\r\n this.switchCustomerSource.next(customerInfo);\r\n }\r\n\r\n setBackButtonSelect() {\r\n this.backButtonSelect.next(true);\r\n\r\n }\r\n\r\n /**\r\n * Setting boolean value for Show hidden projects flag\r\n * @param {boolean} isShowHidden\r\n * @return {void}\r\n */\r\n setShowHiddenItems(isShowHidden: boolean): void {\r\n this.isShowHiddenProjects = isShowHidden;\r\n this.showHiddenSubject.next(this.isShowHiddenProjects);\r\n }\r\n\r\n /**\r\n * Getting Show hidden projects flag as Observable\r\n */\r\n getShowHiddenItems() {\r\n return this.showHiddenSubject.asObservable();\r\n }\r\n\r\n setRollupPreiviewSubject(isShow: boolean): void {\r\n this.rollupPreiviewSubject.next(isShow);\r\n }\r\n\r\n getRollupPreviewSubject(): any {\r\n return this.rollupPreiviewSubject.asObservable();\r\n }\r\n\r\n setRegisterUserPopup(isShow: boolean): void {\r\n this.showRegisterUserPopup.next(isShow);\r\n }\r\n\r\n getRegisterUserPopup() {\r\n return this.showRegisterUserPopup.asObservable();\r\n }\r\n\r\n setSystemAdvisementPopup(isShow: boolean): void {\r\n this.showSystemAdvisementPopup.next(isShow);\r\n }\r\n\r\n getSystemAdvisementPopup() {\r\n return this.showSystemAdvisementPopup.asObservable();\r\n }\r\n\r\n getRollupPreviewSwitchStatus(): Observable {\r\n return this.rollupPreviewSwitch.asObservable();\r\n }\r\n\r\n setRollupPreviewSwitch(isShow: boolean) {\r\n this.rollupPreviewSwitch.next(isShow);\r\n }\r\n\r\n setPreviousPageTitle(value: string) {\r\n this.previousPageTitle = value;\r\n }\r\n\r\n /**\r\n * Setting customer id\r\n * @param {number} customerId\r\n * @return {void}\r\n */\r\n setCustomerId(customerId: number): void {\r\n this.customerId = customerId;\r\n this.customerIdSubject.next(this.customerId);\r\n }\r\n\r\n getCustomerId(): Observable {\r\n return this.customerIdSubject.asObservable();\r\n }\r\n\r\n /**\r\n * Setting customer name\r\n * @param {string} customerName\r\n * @return {void}\r\n */\r\n setCustomerName(customerName: string): void {\r\n this.customerNameSubject.next(customerName);\r\n }\r\n\r\n /**\r\n * Getting customer name as Observable\r\n */\r\n getCustomerName(): Observable {\r\n return this.customerNameSubject.asObservable();\r\n }\r\n\r\n /**\r\n * Method to set the Header params specific to each page\r\n * @param {Header} paramsObj\r\n */\r\n setHeaderParams(paramsObj: any) {\r\n this.headerParamsSubject.next(paramsObj);\r\n }\r\n\r\n /**\r\n * Method to get the Header params\r\n */\r\n getHeaderParams() {\r\n return this.headerParamsSubject.asObservable();\r\n }\r\n\r\n /**\r\n * Method to set the Header params specific to each page\r\n * @param {Header} paramsObj\r\n */\r\n setAlertParams(paramsObj: any) {\r\n this.alertParamsSubject.next(paramsObj);\r\n }\r\n\r\n /**\r\n * Method to get the Header params\r\n */\r\n getAlertParams() {\r\n return this.alertParamsSubject.asObservable();\r\n }\r\n\r\n /**\r\n * set the state of cuefit loader\r\n * @param {string} value - state value\r\n */\r\n setCuefitLoaderState(value: string): void {\r\n if (value) {\r\n this.cuefitLoaderStateSubject.next(value);\r\n }\r\n };\r\n\r\n /**\r\n * get the state of cuefit loader\r\n * @return {Observable} state value\r\n */\r\n getCuefitLoaderState(): Observable {\r\n return this.cuefitLoaderStateSubject.asObservable();\r\n }\r\n\r\n /**\r\n * set state of body overflow\r\n * @param {boolean} value show or hide overflow\r\n */\r\n setBodyOverflowState(value: boolean): void {\r\n this.bodyOverflowStateSubject.next(value);\r\n }\r\n\r\n /**\r\n * get state of body overflow\r\n * @return {Observable} show or hide overflow\r\n */\r\n getBodyOverflowState(): Observable {\r\n return this.bodyOverflowStateSubject.asObservable();\r\n }\r\n\r\n /**\r\n * set the state of visualcue loader\r\n * @param {string} value - state value\r\n */\r\n setConnectLoaderState(value: string): void {\r\n if (value) {\r\n this.connectLoaderStateSubject.next(value);\r\n }\r\n };\r\n\r\n /**\r\n * get the state of visualcue loader\r\n * @return {Observable} state value\r\n */\r\n getConnectLoaderState(): Observable {\r\n return this.connectLoaderStateSubject.asObservable();\r\n }\r\n}\r\n\r\n/**\r\n\r\n setFilterStatus(isShowFilter: boolean) {\r\n this.isShowFilter = isShowFilter;\r\n this.isShowFilterSubject.next(this.isShowFilter);\r\n }\r\n\r\n getFilterStatus() {\r\n return this.isShowFilterSubject.asObservable();\r\n }\r\n setPageRequestState(value: boolean): void {\r\n this.pageRequestStateSubject.next(value);\r\n }\r\n\r\n getPageRequestState(): Observable {\r\n return this.pageRequestStateSubject.asObservable();\r\n }\r\n\r\n // setDisableOverlay(isDisableOverlay: boolean): void {\r\n // this.isDisableOverlay = isDisableOverlay;\r\n // this.isDisableOverlaySubject.next(this.isDisableOverlay);\r\n // }\r\n // getDisableOverlay(): Observable {\r\n // return this.isDisableOverlaySubject.asObservable();\r\n // }\r\n setLoadedPresetName(loadedPresetName: string): void {\r\n this.loadedPresetSubject.next(loadedPresetName);\r\n }\r\n\r\n getLoadedPresetName(): Observable {\r\n return this.loadedPresetSubject.asObservable();\r\n }\r\n\r\n setLastUpdated(value: string): void {\r\n this.lastUpadtedSubject.next(value);\r\n }\r\n\r\n getLastUpdated(): Observable {\r\n return this.lastUpadtedSubject.asObservable();\r\n }\r\n\r\n getProjectList() {\r\n return this.projectListSubject.asObservable();\r\n }\r\n setProjectList(projectList: any[]): void {\r\n this.projectList = projectList;\r\n this.projectListSubject.next(this.projectList);\r\n }\r\n\r\n getPreviousPageTitle() {\r\n return this.previousPageTitle;\r\n }\r\n setProjectId(projectId: number) {\r\n this.projectIdSubject.next(projectId);\r\n }\r\n\r\n getProjectId(): Observable {\r\n return this.projectIdSubject.asObservable();\r\n }\r\n */\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable, Subject } from \"rxjs\";\r\n\r\n\r\n@Injectable()\r\nexport class MessageService {\r\n\r\n private messageDisplayStatusSubject = new Subject();\r\n private isSuccess: boolean;\r\n\r\n set IsSuccess(value: boolean) {\r\n this.isSuccess = value;\r\n }\r\n\r\n get IsSuccess() {\r\n return this.isSuccess;\r\n }\r\n\r\n /**\r\n * set message display status\r\n * @param {string} value - message status value\r\n */\r\n setMessageDisplayStatus(value: string, isSuccess?: boolean): void {\r\n if (value) {\r\n this.isSuccess = isSuccess;\r\n this.messageDisplayStatusSubject.next(value);\r\n }\r\n };\r\n\r\n /**\r\n * get the state of visualcue loader\r\n * @return {Observable} state value\r\n */\r\n getMessageDisplayStatus(): Observable {\r\n return this.messageDisplayStatusSubject.asObservable();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { StorageType } from \"../models/storage-type.model\";\r\nimport{ Storage } from \"../models/storage.model\"\r\n\r\n@Injectable()\r\nexport class StorageService {\r\n\r\n /** application storage name */\r\n private storageKey: string = \"vcapp30\";\r\n\r\n constructor() { }\r\n\r\n /**\r\n * save the storage items in localStorage/sessionStorage\r\n * @param {Object} content object to store\r\n */\r\n private store(content: Object, storageType: StorageType): void {\r\n if (storageType === StorageType.Local) {\r\n localStorage.setItem(this.storageKey, JSON.stringify(content));\r\n } else {\r\n sessionStorage.setItem(this.storageKey, JSON.stringify(content));\r\n }\r\n }\r\n\r\n /**\r\n * retrieve the storage items from localStorage\r\n * @return {string} storage items\r\n */\r\n private retrieve(storageType: StorageType): string {\r\n let item: string;\r\n\r\n if (storageType === StorageType.Local) {\r\n item = localStorage.getItem(this.storageKey);\r\n } else {\r\n item = sessionStorage.getItem(this.storageKey);\r\n }\r\n\r\n return item;\r\n }\r\n\r\n /**\r\n * set the value in localStorage with the key specified\r\n * @param {string} key name of the key\r\n * @param {any} value value to save in localstorage\r\n * @param {StorageType} storageType storage type to save value. By default localStorage\r\n */\r\n public set(key: Storage, value: any, storageType?: StorageType): void {\r\n if (key !== undefined) {\r\n\r\n if (storageType === undefined) {\r\n storageType = StorageType.Local;\r\n }\r\n\r\n let storage = JSON.parse(this.retrieve(storageType));\r\n\r\n if (storage === null) {\r\n storage = {};\r\n }\r\n\r\n storage[key] = value;\r\n this.store(storage, storageType);\r\n }\r\n }\r\n\r\n /**\r\n * get the value from localstorage\r\n * @param {string} key name of key to retrieve\r\n * @param {StorageType} storageType storage type. By default localStorage\r\n * @return {any} value\r\n */\r\n public get(key: Storage, storageType?: StorageType): any {\r\n let value: any;\r\n\r\n if (storageType === undefined) {\r\n storageType = StorageType.Local;\r\n }\r\n\r\n let storage = JSON.parse(this.retrieve(storageType));\r\n\r\n if (storage && storage[key]) {\r\n value = storage[key];\r\n }\r\n\r\n return value;\r\n }\r\n\r\n /** clear the localstorage */\r\n public clear(): void {\r\n localStorage.clear();\r\n sessionStorage.clear();\r\n }\r\n\r\n set Locale(locale: string) {\r\n let storage = JSON.parse(this.retrieve(StorageType.Local));\r\n if (storage === null) {\r\n storage = {};\r\n }\r\n storage.locale = locale;\r\n this.store(storage, StorageType.Local);\r\n\r\n }\r\n\r\n get Locale() {\r\n let locale: string;\r\n let storage = JSON.parse(this.retrieve(StorageType.Local));\r\n if (storage !== null) {\r\n locale = storage.locale;\r\n }\r\n return locale;\r\n }\r\n\r\n set IsRememberMe(flag: boolean) {\r\n let storage = JSON.parse(this.retrieve(StorageType.Local));\r\n if (storage === null) {\r\n storage = {};\r\n }\r\n storage.isRememberMe = flag;\r\n this.store(storage, StorageType.Local);\r\n }\r\n\r\n get IsRememberMe() {\r\n let rememberMe: boolean;\r\n let storage = JSON.parse(this.retrieve(StorageType.Local));\r\n if (storage !== null) {\r\n rememberMe = storage.isRememberMe;\r\n }\r\n return rememberMe;\r\n }\r\n\r\n set LoginInfo(loginInfo: any) {\r\n let storage = JSON.parse(this.retrieve(StorageType.Local));\r\n if (storage === null) {\r\n storage = {};\r\n }\r\n storage.loginInfo = loginInfo;\r\n this.store(storage, StorageType.Local);\r\n }\r\n\r\n get LoginInfo() {\r\n\r\n let loginInfo: any;\r\n let storage = JSON.parse(this.retrieve(StorageType.Local));\r\n if (storage !== null) {\r\n loginInfo = storage.loginInfo;\r\n }\r\n return loginInfo;\r\n }\r\n\r\n set UserEmail(email: string) {\r\n let storage = JSON.parse(this.retrieve(StorageType.Local));\r\n\r\n if (storage === null) {\r\n storage = {};\r\n }\r\n\r\n storage.currentUserEmail = email;\r\n if (storage[email] === undefined) {\r\n storage[email] = {};\r\n }\r\n\r\n this.store(storage, StorageType.Local);\r\n }\r\n\r\n get UserEmail(): string {\r\n let userEmail: string;\r\n let storage = JSON.parse(this.retrieve(StorageType.Local));\r\n\r\n if (storage !== null) {\r\n userEmail = storage.currentUserEmail;\r\n }\r\n\r\n return userEmail;\r\n }\r\n\r\n set CustomerId(id: number) {\r\n let storage = JSON.parse(this.retrieve(StorageType.Local));\r\n\r\n if (storage !== null) {\r\n const email = storage.currentUserEmail;\r\n\r\n if (storage[email] !== undefined) {\r\n storage[email].currentCustomerId = id;\r\n if (storage[email][id] === undefined) {\r\n storage[email][id] = {};\r\n }\r\n }\r\n\r\n this.store(storage, StorageType.Local);\r\n }\r\n }\r\n\r\n get CustomerId(): number {\r\n let customerId: number;\r\n let storage = JSON.parse(this.retrieve(StorageType.Local));\r\n\r\n if (storage !== null) {\r\n const email = storage.currentUserEmail;\r\n if (storage[email] !== undefined) {\r\n customerId = storage[email].currentCustomerId;\r\n }\r\n }\r\n\r\n return customerId;\r\n }\r\n\r\n}\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { FormBuilder, FormGroup, FormControl, Validators } from \"@angular/forms\";\r\nimport { Subscription, Observable, of } from \"rxjs\";\r\nimport { UserToken } from \"../core/models/user-token.model\";\r\nimport { User } from \"../core/models/user.model\";\r\nimport { AccountService } from \"../core/services/account.service\";\r\n\r\nimport { flatMap } from \"rxjs/operators\"\r\nimport { CustomerService } from \"../core/services/customer.service\";\r\nimport { UserRole } from \"../core/models/user-role.model\";\r\nimport { StorageType } from \"../core/models/storage-type.model\";\r\nimport { Storage } from \"../core/models/storage.model\";\r\nimport { StorageService } from \"../core/services/storage.service\";\r\nimport { Customer } from \"../core/models/customer.model\";\r\nimport { HeaderService } from \"../core/services/header.service\";\r\nimport { LoaderState } from \"../core/models/loader-state.model\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"cf-login-form\",\r\n template: require('./login.component.html'),\r\n styles: [require('./login-mobile.component.css')]\r\n})\r\nexport class LoginComponent implements OnInit, OnDestroy {\r\n\r\n private isLoginRequested: boolean;\r\n private errorMessage: string = \"\";\r\n private email: string;\r\n private systemAdvisementSubscription: Subscription;\r\n private systemVersionSubscription: Subscription;\r\n\r\n isResetSlideDown: boolean;\r\n isNoneExistingUser: boolean;\r\n isSystemMessageSlideDown: boolean;\r\n isAuthenticating: boolean;\r\n isErrorSlideUp: boolean;\r\n isHistorySlideDown: boolean;\r\n isForgotPassword: boolean;\r\n systemMessage: string = \"\";\r\n systemVersion: string = \"\";\r\n user: FormGroup;\r\n forgotPasswordForm: FormGroup;\r\n forgotPasswordErrorMessage: string;\r\n isRemember: boolean;\r\n locale: string;\r\n\r\n constructor(\r\n private storageService: StorageService,\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private accountService: AccountService,\r\n private customerService: CustomerService,\r\n private translateService: TranslateService,\r\n private headerService: HeaderService\r\n ) {\r\n this.forgotPasswordErrorMessage = translateService.instant(\"LOGINFORM.FORGOTPASSWORDERR\");\r\n };\r\n\r\n ngOnInit() {\r\n let storageLocale: string = this.storageService.Locale;\r\n this.locale = (storageLocale && storageLocale !== \"\") ? storageLocale : this.getLocaleFromBrowseLang();\r\n this.translateService.use(this.locale);\r\n this.systemVersion = \"\";\r\n this.systemMessage = \"\";\r\n this.isSystemMessageSlideDown = true;\r\n let isRemember = this.storageService.IsRememberMe;\r\n this.user = this.formBuilder.group({\r\n email: [isRemember ? this.storageService.UserEmail : \"\", Validators.compose([\r\n Validators.required,\r\n this.isEmail\r\n ])],\r\n password: [\"\", [Validators.required]]\r\n });\r\n this.isRemember = isRemember ? true : false;\r\n this.forgotPasswordForm = this.formBuilder.group({\r\n email: [\"\", Validators.compose([\r\n Validators.required,\r\n this.isEmail\r\n ])]\r\n });\r\n // this.isLoginRequested = false;\r\n this.clearAllCachedData();\r\n this.headerService.setCuefitLoaderState(LoaderState[LoaderState.hide]);\r\n }\r\n\r\n private clearAllCachedData(): void {\r\n this.customerService.clearUserToken();\r\n // this.customerService.clearCustomerLicense();\r\n this.customerService.clearCustomerList();\r\n }\r\n\r\n onIsRemember() {\r\n this.isRemember = !this.isRemember;\r\n }\r\n\r\n onSubmit({ value, valid }: { value: any, valid: boolean }) {\r\n\r\n if (valid && !this.isLoginRequested) {\r\n this.customerService.IsPaceLogin = false;\r\n this.isLoginRequested = true;\r\n this.showLogoLoading(true);\r\n let user: User = {\r\n UserLogin: value.email,\r\n UserPass: value.password\r\n };\r\n value.isRemember = this.isRemember;\r\n this.accountService.authenticate(user)\r\n .pipe(flatMap((userToken: UserToken) => {\r\n if (userToken) {\r\n this.storageService.set(Storage.UserToken, userToken, StorageType.Session);\r\n this.storageService.UserEmail = user.UserLogin.trim();\r\n this.storageService.IsRememberMe = value.isRemember;\r\n return this.customerService.getCustomerList();\r\n }\r\n }))\r\n .subscribe((customerList) => {\r\n this.isLoginRequested = false;\r\n if (customerList && customerList.length) {\r\n let redirectUrl: string = this.accountService.getRedirectUrl();\r\n if (redirectUrl !== undefined) {\r\n this.router.navigateByUrl(redirectUrl);\r\n this.accountService.setRedirectUrl(undefined);\r\n } else {\r\n let customerId: number = this.accountService.getLastCustomerId();\r\n let index = customerList.findIndex((customer: Customer) => customer.Id === customerId);\r\n if (index === -1) {\r\n customerId = customerList[0].Id;\r\n }\r\n if (this.accountService.getUserRole().toString() !== UserRole[UserRole.SuperAdmin]) {\r\n this.router.navigate([\"/list\", customerId]);\r\n } else {\r\n this.router.navigate([\"/customer\", \"list\"]);\r\n }\r\n }\r\n } else if (this.accountService.getUserRole().toString() === UserRole[UserRole.SuperAdmin]) {\r\n this.router.navigate([\"/customer\", \"list\"]);\r\n } else {\r\n this.accountService.clearUserToken();\r\n let errorMessage = this.translateService.instant(\"LOGINFORM.NOACCESS\");\r\n this.handleError(errorMessage);\r\n }\r\n }, (err) => {\r\n this.isLoginRequested = false;\r\n let errorMessage = this.translateService.instant(\"LOGINFORM.INVALIDCRED\");\r\n this.handleError(errorMessage);\r\n });\r\n }\r\n }\r\n\r\n handleError(errorMessage: string) {\r\n this.errorMessage = errorMessage;\r\n this.isErrorSlideUp = false;\r\n this.isHistorySlideDown = false;\r\n this.showLogoLoading(false);\r\n }\r\n\r\n /**\r\n * Method called on click of Clear History\r\n */\r\n onClearHistory(): void {\r\n // slide up the error message if present\r\n if (this.errorMessage.length) {\r\n this.isErrorSlideUp = true;\r\n }\r\n this.storageService.clear();\r\n // slide down the history message\r\n setTimeout(() => {\r\n this.isHistorySlideDown = true;\r\n }, 1500);\r\n }\r\n\r\n isEmail(control: FormControl): { [s: string]: boolean } {\r\n const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\n if (control.value && !control.value.match(emailRegex)) {\r\n return { noEmail: true };\r\n }\r\n }\r\n\r\n onForgotPassword() {\r\n this.isForgotPassword = true;\r\n this.resetMessages()\r\n this.email = this.user.value.email;\r\n this.forgotPasswordForm.controls[\"email\"].setValue(this.email);\r\n }\r\n\r\n onForgotPasswordCancel() {\r\n this.isForgotPassword = false;\r\n this.resetMessages();\r\n }\r\n\r\n onRequestPassword() {\r\n if (this.forgotPasswordForm.valid) {\r\n this.showLogoLoading(true);\r\n let email = this.forgotPasswordForm.value.email;\r\n this.accountService.forgotpassword(email).subscribe(() => {\r\n this.showLogoLoading(false);\r\n this.isNoneExistingUser = false;\r\n this.isResetSlideDown = true;\r\n }, (err) => {\r\n console.log(err);\r\n this.showLogoLoading(false);\r\n this.isNoneExistingUser = true;\r\n });\r\n }\r\n }\r\n\r\n showLogoLoading(value: boolean) {\r\n this.isAuthenticating = value;\r\n }\r\n\r\n resetMessages() {\r\n this.isHistorySlideDown = false;\r\n this.isErrorSlideUp = true;\r\n this.isResetSlideDown = false;\r\n this.isNoneExistingUser = false;\r\n }\r\n\r\n onSwitchLocale(value: string) {\r\n this.translateService.use(value);\r\n this.locale = value;\r\n this.storageService.Locale = value;\r\n }\r\n\r\n getSelectedStyle(value: string): object {\r\n return { \"opacity\": this.locale === value ? 1 : 0.5 };\r\n }\r\n\r\n getLocaleFromBrowseLang(): string {\r\n let browserLang: string = navigator.language.toLowerCase();\r\n switch (browserLang) {\r\n case \"pt-br\":\r\n break;\r\n case \"es\":\r\n browserLang = \"es-es\";\r\n break;\r\n default:\r\n browserLang = \"en-us\";\r\n break;\r\n }\r\n\r\n return browserLang.toLowerCase();\r\n }\r\n\r\n ngOnDestroy() {\r\n // this.systemAdvisementSubscription.unsubscribe();\r\n // this.systemVersionSubscription.unsubscribe();\r\n }\r\n}\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"routing\",\r\n template: require('./routing.component.html')\r\n})\r\nexport class RoutingComponent {\r\n\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\nimport { LoaderState } from \"../../core/models/loader-state.model\";\r\nimport { HeaderService } from \"../../core/services/header.service\";\r\n\r\n// \r\n\r\n@Component({\r\n template: `\r\n `\r\n})\r\nexport class HomeComponent implements OnInit {\r\n constructor(\r\n private headerService: HeaderService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.headerService.setCuefitLoaderState(LoaderState[LoaderState.show]);\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport {trigger, state, style, transition, animate } from \"@angular/animations\"\r\n\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport { HeaderService } from \"../../core/services/header.service\";\r\nimport { CustomerService } from \"../../core/services/customer.service\";\r\nimport { AccountService } from \"../../core/services/account.service\";\r\nimport { MessageService } from \"../../core/services/message.service\";\r\nimport { UserRole } from \"../../core/models/user-role.model\";\r\nimport { LoaderState } from \"../../core/models/loader-state.model\";\r\n\r\n@Component({\r\n selector: \"vc-header\",\r\n template: require('./header.component.html'),\r\n styles: [require('./header-mobile.component.css'), require('./header-desktop.component.css')],\r\n host: {\r\n \"(document:click)\": \"hideHeaderDropdownOverlay()\",\r\n },\r\n animations: [\r\n trigger(\"overlayChanged\", [\r\n state(\"shown\", style({ opacity: 1, display: \"block\" })),\r\n state(\"hidden\", style({ opacity: 0, display: \"none\" })),\r\n transition(\"* => *\", animate(\".25s\"))\r\n ])\r\n ]\r\n})\r\nexport class HeaderComponent implements OnInit, OnDestroy {\r\n\r\n private overlayState: string = \"hidden\";\r\n\r\n /* private */\r\n private customerId: number;\r\n private customerIdSubscription: Subscription;\r\n private presetNameSubscription: Subscription;\r\n private headerParamSubscription: Subscription;\r\n private alertParamSubscription: Subscription;\r\n private registerUserPopupSubscription: Subscription;\r\n private filterDisplaySubscription: Subscription;\r\n private pageRequestSubscription: Subscription;\r\n private systemAdvisementPopupSubscription: Subscription;\r\n private systemAdvisementSubscription: Subscription;\r\n private updateSystemAdvisementSubscription: Subscription;\r\n private customerNameSubscription: Subscription;\r\n private lastUpdatedSubscription: Subscription;\r\n // private suspendResumeSubscription: Subscription;\r\n private switchLogoSubscription: Subscription;\r\n\r\n private projectId: number = 0;\r\n private systemAdvisementMessage: string = \"\";\r\n\r\n /* public */\r\n currentPage: string;\r\n isBackEnabled: boolean = false;\r\n currentModule: string;\r\n showAlertBox: boolean = false;\r\n showAlertBoxContent: boolean = false;\r\n isShowFilter: boolean = false;\r\n headerTitle: string;\r\n previousPageTitle: string;\r\n customerName: string;\r\n isHeaderMenuActive: boolean = false;\r\n isPageRequest: boolean;\r\n disableHomeButton: boolean = false;\r\n hideLogo: boolean = false;\r\n resetCursorOnLogo: boolean = false;\r\n isNonRealTimeProject: boolean = false;\r\n openRegisterUserPopup: boolean = false;\r\n openSystemAdvisementPopup: boolean = false;\r\n unreadNotificationCount: number = 0;\r\n isSuperAdmin: boolean = false;\r\n systemMessage: string = \"\";\r\n isSystemMessageAvailable: boolean = false;\r\n showProjectList: boolean = false;\r\n presetName: string;\r\n lastUpdated: string;\r\n islastUpdated: boolean = false;\r\n isSuspendedAutoRefresh: boolean;\r\n isHideCustomerDropdown: boolean = false;\r\n\r\n constructor(\r\n private headerService: HeaderService,\r\n private customerService: CustomerService,\r\n private accountService: AccountService,\r\n private messageService: MessageService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isSuperAdmin = (this.accountService.getUserRole().toString().toLowerCase() === UserRole[UserRole.SuperAdmin].toLowerCase());\r\n this.headerParamSubscription = this.headerService.getHeaderParams()\r\n .subscribe((headerParams: any) => { // (headerParams: Header)\r\n if (headerParams) {\r\n if (headerParams.isBackEnabled !== undefined) {\r\n this.isBackEnabled = headerParams.isBackEnabled;\r\n }\r\n\r\n if (headerParams.headerTitle !== undefined) {\r\n this.headerTitle = headerParams.headerTitle;\r\n }\r\n\r\n if (headerParams.pageName !== undefined) {\r\n this.currentPage = headerParams.pageName;\r\n }\r\n\r\n if (headerParams.module !== undefined) {\r\n this.currentModule = headerParams.module;\r\n }\r\n\r\n if (headerParams.hideLogo !== undefined) {\r\n this.hideLogo = headerParams.hideLogo;\r\n }\r\n if (headerParams.resetCursorOnLogo !== undefined) {\r\n this.resetCursorOnLogo = headerParams.resetCursorOnLogo;\r\n }\r\n }\r\n });\r\n\r\n\r\n this.customerNameSubscription = this.headerService.getCustomerName()\r\n .subscribe((customerName: string) => {\r\n this.customerName = customerName;\r\n });\r\n }\r\n /**\r\n * Method to toggle the class 'open'\r\n * @return {void}\r\n */\r\n toggleHeaderMenuClass(event: any): void {\r\n if (event) {\r\n event.stopPropagation();\r\n }\r\n\r\n this.isHeaderMenuActive = !this.isHeaderMenuActive;\r\n let overflowState: boolean = (this.currentPage === \"view\") ? true : this.isHeaderMenuActive;\r\n if (this.isHeaderMenuActive) {\r\n this.isHideCustomerDropdown = false;\r\n }\r\n\r\n this.headerService.setBodyOverflowState(overflowState);\r\n // this.headerService.setDisableOverlay(this.isHeaderMenuActive);\r\n this.toggleOverlay();\r\n }\r\n\r\n toggleOverlay(): void {\r\n this.overlayState = \"shown\" === this.overlayState ? \"hidden\" : \"shown\";\r\n }\r\n\r\n /**\r\n * Method to toggle the class 'open' for alert\r\n * @return {void}\r\n */\r\n toggleAlertBox(event: any): void {\r\n if (event) {\r\n event.stopPropagation();\r\n }\r\n\r\n if (this.unreadNotificationCount === 0) { return; }\r\n\r\n this.showAlertBoxContent = !this.showAlertBoxContent;\r\n\r\n let overflowState: boolean = (this.currentPage === \"view\") ? true : this.showAlertBox;\r\n\r\n this.headerService.setBodyOverflowState(overflowState);\r\n this.toggleOverlay();\r\n }\r\n\r\n /**\r\n * Method passed to toggleHambugerBtn event listener.\r\n * Triggers on click of close in Header Hamburger Menu\r\n * @return {void}\r\n */\r\n onToggleHambugerBtn(event?: any): void {\r\n if (event) { event.stopPropagation(); };\r\n this.toggleHeaderMenuClass(null);\r\n }\r\n\r\n /**\r\n * Method to navigate back\r\n *@return {void}\r\n */\r\n onNavigationBack(event?: any): void {\r\n if (event) { event.stopPropagation(); };\r\n if (this.currentModule === \"datasource\") {\r\n this.headerService.setConnectLoaderState(LoaderState[LoaderState.show]);\r\n } else {\r\n this.headerService.setCuefitLoaderState(LoaderState[LoaderState.show]);\r\n }\r\n this.headerService.setBackButtonSelect();\r\n }\r\n\r\n\r\n hideHeaderDropdownOverlay(): void {\r\n if ((this.isHeaderMenuActive || this.showAlertBoxContent) && !this.openRegisterUserPopup) {\r\n let overflowState: boolean = (this.currentPage === \"view\") ? true : false;\r\n this.headerService.setBodyOverflowState(overflowState);\r\n this.isHeaderMenuActive = false;\r\n this.showAlertBoxContent = false;\r\n this.isHideCustomerDropdown = true;\r\n this.toggleOverlay();\r\n }\r\n }\r\n\r\n onNotificationsCount(event: number) {\r\n this.unreadNotificationCount = event;\r\n }\r\n\r\n ngOnDestroy() {\r\n // dispose the resources held by the subscriptions.\r\n if (this.updateSystemAdvisementSubscription) {\r\n this.updateSystemAdvisementSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, EventEmitter, Output, Input, OnDestroy, SimpleChanges, OnChanges } from \"@angular/core\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\nimport { Subscription } from \"rxjs\";\r\nimport { AuthenticationAppService } from \"../../core/services/authentication-app.service\";\r\nimport { CustomerService } from \"../../core/services/customer.service\";\r\nimport { AccountService } from \"../../core/services/account.service\";\r\nimport { UserToken } from \"../../core/models/user-token.model\";\r\nimport { LoaderState } from \"../../core/models/loader-state.model\";\r\nimport { MessageService } from \"../../core/services/message.service\";\r\nimport { HeaderService } from \"../../core/services/header.service\";\r\n\r\n@Component({\r\n selector: \"vc-header-menu\",\r\n styles: [require('./header-menu-mobile.component.css'), require('./header-menu-desktop.component.css')],\r\n template: require('./header-menu.component.html')\r\n})\r\nexport class HeaderMenuComponent implements OnInit, OnDestroy, OnChanges {\r\n\r\n /** private */\r\n @Input() isHideCustomerDropdown: boolean = false;\r\n @Input() isShowHeaderMenu: boolean = false;\r\n @Input() isSuperAdmin: boolean = false;\r\n @Input() isSystemMessageAvailable: boolean = false;\r\n @Output() toggleHambugerBtn = new EventEmitter();\r\n @Output() toggleShowHidden = new EventEmitter();\r\n @Output() updateProjectList = new EventEmitter();\r\n @Output() customerName = new EventEmitter();\r\n\r\n /** public */\r\n customerDropDownCls: string = \"close\";\r\n isShowHiddenProjects: boolean = false;\r\n customerList: any;\r\n lastSelectedCustomerId: number;\r\n lastSelectedEnvironmentId: number;\r\n userName: string;\r\n userRole: string;\r\n hiddenItemsTitle: string = \"Show\";\r\n isPageSpecificMenu: boolean = true;\r\n pageName: string = \"list\";\r\n isUserManagementAvailable: boolean = false;\r\n hideHeaderMenuItems: boolean = false;\r\n showHideSwitch: boolean = true;\r\n rollupPreviewSwitch: boolean;\r\n openRegisterUserPopup: boolean = false;\r\n currentCustomerName: string;\r\n\r\n /** private fields */\r\n\r\n private isLegendView: boolean;\r\n private tileId: number;\r\n private imgSrc: any;\r\n private headerParamSubscription: Subscription;\r\n private customerSwitch: Subscription;\r\n private customerListSubscription: Subscription;\r\n private switchCustomerSubscription: Subscription;\r\n private logoutSubscription: Subscription;\r\n private rollupPreviewSwitchSubscription: Subscription;\r\n private registerUserPopupSubscription: Subscription;\r\n\r\n constructor(\r\n private customerService: CustomerService,\r\n private accountService: AccountService,\r\n private headerService: HeaderService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private authenticationAppService: AuthenticationAppService,\r\n private messageService: MessageService\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n this.showHideSwitch = true;\r\n this.activatedRoute.firstChild.params\r\n .subscribe((param) => {\r\n this.lastSelectedCustomerId = +param[\"id\"];\r\n });\r\n\r\n if (!this.lastSelectedCustomerId) {\r\n this.imgSrc = \"../../../../public/images/profilephoto.jpg\";\r\n }\r\n\r\n this.activatedRoute.data\r\n .subscribe((data: { userToken: UserToken | string }) => {\r\n if (typeof data.userToken === \"string\") {\r\n this.messageService.setMessageDisplayStatus(data.userToken);\r\n } else if (data.userToken) {\r\n let customerName: string = this.customerService.getCurrentCustomer().CustomerName;\r\n this.setCustomerData(this.lastSelectedCustomerId, customerName, data.userToken);\r\n }\r\n });\r\n\r\n this.headerParamSubscription = this.headerService.getHeaderParams().subscribe((headerParamsObject: any) => {\r\n if (headerParamsObject) {\r\n this.pageName = headerParamsObject[Object.keys(headerParamsObject)[2]];\r\n this.isLegendView = headerParamsObject[Object.keys(headerParamsObject)[0]];\r\n this.hideHeaderMenuItems = headerParamsObject[\"emptyCustomers\"] ? true : false;\r\n }\r\n });\r\n\r\n this.customerSwitch = this.headerService.switchCustomer$\r\n .subscribe((data: { routePath: (string | number)[], customerId: number, customerName: string, userToken: UserToken }) => {\r\n this.userName = this.accountService.getUserName();\r\n this.setCustomerData(data.customerId, data.customerName, data.userToken);\r\n this.router.navigate(data.routePath);\r\n });\r\n\r\n this.rollupPreviewSwitchSubscription = this.headerService.getRollupPreviewSwitchStatus().subscribe((isShow: boolean) => {\r\n this.rollupPreviewSwitch = isShow;\r\n });\r\n\r\n this.userName = this.accountService.getUserName();\r\n this.loadCustomerList();\r\n this.registerUserPopupSubscription = this.headerService.getRegisterUserPopup().subscribe((isShow: boolean) => {\r\n this.openRegisterUserPopup = isShow;\r\n });\r\n this.currentCustomerName = this.customerService.getCurrentCustomer().CustomerName;\r\n this.lastSelectedEnvironmentId = this.accountService.getLastEnvironmentId();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes) {\r\n if (changes.isHideCustomerDropdown && changes.isHideCustomerDropdown.currentValue) {\r\n this.customerDropDownCls = \"close\";\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Load the list of customers and switch to a customer\r\n */\r\n loadCustomerList(): void {\r\n\r\n this.customerListSubscription = this.customerService.getCustomerList()\r\n .subscribe((customerList: any) => {\r\n if (customerList && customerList.length) {\r\n this.customerList = customerList;\r\n this.customerName.emit(customerList[0].CustomerName);\r\n }\r\n }, (errorStats: { status: number, message: string }) => {\r\n if (errorStats.message !== undefined) {\r\n this.messageService.setMessageDisplayStatus(errorStats.message);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Switch to the supplied customer\r\n * @param {number} customerId - Id of customer to switch\r\n * @param {string} customerName CustomerName to switch\r\n */\r\n switchCustomer(customerId: number, customerName: string, environmentId: number): void {\r\n if (!this.lastSelectedCustomerId || !((this.lastSelectedCustomerId === customerId) && (this.lastSelectedEnvironmentId === environmentId))) {\r\n // this.projectService.clearProjectListobservable();\r\n // this.customerService.clearUserToken();\r\n // this.projectSettingsService.clearSettingsObservable();\r\n if (this.switchCustomerSubscription) {\r\n this.switchCustomerSubscription.unsubscribe();\r\n }\r\n this.switchCustomerSubscription = this.customerService.switchCustomer(customerId, environmentId)\r\n .subscribe((userToken: UserToken) => {\r\n if (userToken) {\r\n this.currentCustomerName = customerName;\r\n this.lastSelectedEnvironmentId = environmentId;\r\n this.setCustomerData(customerId, customerName, userToken);\r\n this.router.navigate([\"/list\", customerId]);\r\n }\r\n }, (errorStats: { status: number, message: string }) => {\r\n if (errorStats.message !== undefined) {\r\n this.messageService.setMessageDisplayStatus(errorStats.message);\r\n }\r\n });\r\n this.onToggleHambugerBtn();\r\n }\r\n }\r\n\r\n /**\r\n * initialize customer data after customer switch\r\n * @param {number} customerId - Id of customer\r\n * @param {UserToken} userToken - Token with user data\r\n */\r\n setCustomerData(customerId: number, customerName: string, userToken: UserToken): void {\r\n this.headerService.setCustomerId(customerId);\r\n this.headerService.setCustomerName(customerName);\r\n this.imgSrc = `../../../../public/images/profilephoto.jpeg`\r\n this.userRole = customerId ? this.accountService.getUserRole().toString() : \"\";\r\n this.lastSelectedCustomerId = customerId;\r\n }\r\n\r\n /**\r\n * Select customer\r\n * @param {$event} event - mouse event\r\n * @param {number} customerId - Id of customer\r\n */\r\n onCustomerSelection(event: any, customer: any, environmentId: number): void {\r\n event.stopPropagation();\r\n this.showHideSwitch = true;\r\n // this.headerService.setRollupPreiviewSubject(false);\r\n this.switchCustomer(customer.Id, customer.CustomerName, environmentId);\r\n }\r\n\r\n onRollupPreviewClick(event: Event): boolean {\r\n event.stopImmediatePropagation();\r\n this.showHideSwitch = !this.showHideSwitch;\r\n this.headerService.setRollupPreiviewSubject(!this.showHideSwitch);\r\n this.onToggleHambugerBtn();\r\n return false;\r\n }\r\n\r\n /**\r\n * Method called on click of Header menu close button\r\n * @return {void}\r\n */\r\n onToggleHambugerBtn(): void {\r\n this.customerDropDownCls = \"close\";\r\n this.toggleHambugerBtn.emit(null);\r\n }\r\n\r\n onCloseRegisterUserPopup(event: any): void {\r\n this.openRegisterUserPopup = event;\r\n this.onToggleHambugerBtn();\r\n }\r\n\r\n /**\r\n * Method called on click of Customer Dropdown on Header menu\r\n * @return {void} description\r\n */\r\n onToggleCustomerDropDown(event: any): void {\r\n if (event) {\r\n event.stopPropagation();\r\n }\r\n this.customerDropDownCls = this.customerDropDownCls === \"close\" ? \"open\" : \"close\";\r\n }\r\n\r\n onRegisterUserClick(event: any) {\r\n if (event) {\r\n event.stopPropagation();\r\n }\r\n this.headerService.setRegisterUserPopup(true);\r\n }\r\n\r\n onSystemAdvisementClick(event: any) {\r\n if (event) {\r\n event.stopPropagation();\r\n }\r\n this.headerService.setSystemAdvisementPopup(true);\r\n }\r\n /**\r\n * Method called on click of 'Show Hidden Items' on Header menu\r\n * @return {void} description\r\n */\r\n onShowHiddenProjects(): void {\r\n this.isShowHiddenProjects = !this.isShowHiddenProjects;\r\n // toggle between 'Show Hidden Items' and 'Hide Hidden Items' title on header menu\r\n this.hiddenItemsTitle = this.isShowHiddenProjects ? \"Hide\" : \"Show\";\r\n this.headerService.setShowHiddenItems(this.isShowHiddenProjects);\r\n this.onToggleHambugerBtn();\r\n }\r\n\r\n /**\r\n * Methed called on click of legend menu item\r\n * @return {void} description\r\n */\r\n onLegendMenuSelect(): void {\r\n // this.headerService.setPreviousPageTitle(this.projectSettingsService.getProjectTitle());\r\n // this.tileId = this.projectSettingsService.getTile().Id;\r\n // this.onToggleHambugerBtn();\r\n // this.router.navigate([\"/projects\", this.lastSelectedCustomerId, \"legend\", this.tileId]);\r\n }\r\n\r\n /**\r\n * Methed called on click of Logout\r\n * @return {void}\r\n */\r\n onLogout(): void {\r\n if (this.logoutSubscription) {\r\n this.logoutSubscription.unsubscribe();\r\n }\r\n this.logoutSubscription = this.accountService.logout()\r\n .subscribe(() => {\r\n this.router.navigate([\"/login\"]);\r\n }, (errorStats: { status: number, message: string }) => {\r\n if (errorStats.message !== undefined) {\r\n this.messageService.setMessageDisplayStatus(errorStats.message);\r\n }\r\n });\r\n }\r\n\r\n onHome(): void {\r\n let customerId: number = this.customerService.getCurrentCustomer().Id;\r\n this.router.navigate([\"/list\", customerId]);\r\n }\r\n\r\n onClickUsers(type: string) {\r\n this.router.navigate([\"/users\", this.lastSelectedCustomerId, type]);\r\n }\r\n\r\n onClickCustomers(type: string) {\r\n this.router.navigate([\"/customers\", this.lastSelectedCustomerId, type]);\r\n }\r\n\r\n\r\n onClickGroupManagement() {\r\n this.router.navigate([\"/groups\", this.lastSelectedCustomerId, \"list\"]);\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n if (this.switchCustomerSubscription) {\r\n this.switchCustomerSubscription.unsubscribe();\r\n }\r\n if (this.logoutSubscription) {\r\n this.logoutSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { transition, animate, style, state, trigger } from \"@angular/animations\";\r\n\r\nexport const fadeInOut =\r\n trigger(\"fadeInOut\", [\r\n state(\"show\", style({ opacity: 1 })),\r\n state(\"hide\", style({ opacity: 0, display: \"none\" })),\r\n transition(\"* => *\", animate(\".25s\"))\r\n ]);\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\n\r\nimport { Subscription } from \"rxjs\";\r\nimport { HeaderService } from \"../../core/services/header.service\";\r\nimport { LoaderState } from \"../../core/models/loader-state.model\";\r\nimport { fadeInOut } from \"../animations/fade-in-out.animation\";\r\n\r\n@Component({\r\n selector: \"vc-loader\",\r\n template: require('./loader.component.html'),\r\n styles: [require('./loader.component.css')],\r\n animations: [fadeInOut]\r\n})\r\nexport class LoaderComponent implements OnInit, OnDestroy {\r\n private cuefitLoaderSubscription: Subscription;\r\n loaderState: string;\r\n\r\n constructor(\r\n private headerService: HeaderService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.setLoaderState(LoaderState[LoaderState.show]);\r\n this.cuefitLoaderSubscription = this.headerService.getCuefitLoaderState()\r\n .subscribe((loaderState: string) => {\r\n if (loaderState === LoaderState[LoaderState.hide]) {\r\n setTimeout(() => {\r\n this.setLoaderState(loaderState);\r\n }, 1500);\r\n } else {\r\n this.setLoaderState(loaderState);\r\n }\r\n });\r\n }\r\n\r\n setLoaderState(loaderState: string): void {\r\n this.loaderState = loaderState;\r\n }\r\n ngOnDestroy() {\r\n this.cuefitLoaderSubscription.unsubscribe();\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, ElementRef } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cc-footer\",\r\n template: require('./footer.component.html'),\r\n styles: [require('./footer-mobile.component.css')]\r\n})\r\n\r\nexport class FooterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnDestroy, Input, SimpleChanges, EventEmitter, Output } from \"@angular/core\";\r\n\r\nimport { CustomerEnv } from \"../../core/models/customer-env.model\";\r\nimport { StorageService } from \"../../core/services/storage.service\";\r\nimport { AccountService } from \"../../core/services/account.service\";\r\nimport { LoaderState } from \"../../core/models/loader-state.model\";\r\nimport { HeaderService } from \"../../core/services/header.service\";\r\nimport { AuthenticationAppService } from \"../../core/services/authentication-app.service\";\r\n\r\n@Component({\r\n selector: \"vc-customer-tile\",\r\n template: require('./customer-tile.component.html'),\r\n styles: [require('./customer-tile-mobile.component.css')]\r\n})\r\nexport class CustomerTileComponent implements OnDestroy {\r\n @Input() item: any; // Customer | CustomerEnv;\r\n @Input() isEnv: boolean = false;\r\n\r\n @Output() defaultEnvId: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n private storageService: StorageService,\r\n private accountService: AccountService,\r\n private headerService: HeaderService,\r\n private authenticationAppService: AuthenticationAppService\r\n ) { }\r\n\r\n onSelectDefaultEnvironment(event: Event, item: CustomerEnv) {\r\n if (!item.IsProduction) {\r\n if (event) {\r\n event.stopPropagation();\r\n }\r\n this.defaultEnvId.next(item.EnvironmentId);\r\n }\r\n }\r\n onRedirectToEnv(event: Event, item: CustomerEnv) {\r\n if (event) {\r\n event.stopPropagation();\r\n }\r\n this.switchEnvironment(item);\r\n }\r\n\r\n\r\n switchEnvironment(value: CustomerEnv) {\r\n if (value) {\r\n let userEmail = this.storageService.UserEmail;\r\n let appUrl: string;\r\n let apiUrl: string;\r\n let locale: string = this.storageService.Locale ? this.storageService.Locale : \"en-us\";\r\n if (this.authenticationAppService.DebugCoreApiBaseUrl) {\r\n apiUrl = this.authenticationAppService.DebugCoreApiBaseUrl;\r\n } else {\r\n apiUrl = value.ApiUrl;\r\n }\r\n if (this.authenticationAppService.DebugCoreAppBaseUrl) {\r\n appUrl = this.authenticationAppService.DebugCoreAppBaseUrl;\r\n } else {\r\n appUrl = value.AppUrl;\r\n }\r\n appUrl = appUrl.concat(`?userToken=${this.accountService.getEncodedUserToken()}&apiUrl=${encodeURIComponent(apiUrl)}&customerId=${this.item.Id}&environmentId=${value.EnvironmentId}&locale=${locale}&userEmail=${encodeURIComponent(userEmail)}`)\r\n window.location.href = appUrl;\r\n } else {\r\n this.headerService.setCuefitLoaderState(LoaderState[LoaderState.hide]);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n // dispose the resources held by the subscriptions.\r\n }\r\n}\r\n","import { Pipe } from \"@angular/core\";\r\nimport { CustomerEnv } from \"../../core/models/customer-env.model\";\r\n\r\n@Pipe({\r\n name: \"sortDefaultEnvironment\"\r\n})\r\nexport class SortDefaultEnvironmentPipe {\r\n transform(environments: CustomerEnv[]) {\r\n if (environments) {\r\n let sortedEnvs = environments.sort((env1: CustomerEnv, env2: CustomerEnv) => {\r\n if (env1.IsProduction < env2.IsProduction) {\r\n return 1;\r\n } else if (env1.IsProduction > env2.IsProduction) {\r\n return -1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n return sortedEnvs;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\nimport * as moment from \"moment\";\r\nimport { CustomerEnv } from \"../../core/models/customer-env.model\";\r\n\r\n@Pipe({\r\n name: \"customerLicenseExpireStatus\"\r\n})\r\n\r\nexport class CustomerLicenseExpireStatusPipe implements PipeTransform {\r\n\r\n transform(customer: any, isEnv: boolean = false): string {\r\n let environment: CustomerEnv;\r\n if (customer) {\r\n if (!isEnv) {\r\n /** used for customer-list component */\r\n if (customer.Environments && customer.Environments.length === 1) {\r\n /**enters when there is only one environment is available\r\n * if the customer has only one environment use the ExpiryDate of that environment's license\r\n */\r\n environment = customer.Environments[0];\r\n } else if (customer.Environments && customer.Environments.length > 1) {\r\n /**Enters when there are more than one environment*/\r\n /**check for the default environment (IsProduction) and if found use the ExpiryDate of the default environment's license */\r\n let eIndex = customer.Environments.findIndex((env: CustomerEnv) => env.IsProduction === true);\r\n if (eIndex !== -1) {\r\n environment = customer.Environments[eIndex];\r\n } else {\r\n /**if a default environment is not set then determine the lowest ExpiryData of all the environments and use that */\r\n let remainingDays: number;\r\n customer.Environments.map((cEnvironment: CustomerEnv) => {\r\n if (cEnvironment.License) {\r\n if (remainingDays === undefined) {\r\n environment = cEnvironment;\r\n remainingDays = (moment(cEnvironment.License.ExpiryDate).utc().diff(moment().utc(), \"days\"));\r\n } else {\r\n let currentRemainingDays = (moment(cEnvironment.License.ExpiryDate).utc().diff(moment().utc(), \"days\"));\r\n if (currentRemainingDays < remainingDays) {\r\n environment = cEnvironment;\r\n remainingDays = currentRemainingDays;\r\n }\r\n }\r\n }\r\n })\r\n\r\n }\r\n }\r\n } else {\r\n /** used for customer-profile component */\r\n environment = customer;\r\n }\r\n let license = environment && environment.License;\r\n if (license) {\r\n /**calculating the date to expire and assign appropriate color */\r\n let daysToExpire = (moment(license.ExpiryDate).utc().diff(moment().utc(), \"days\"));\r\n if (daysToExpire < 0) {\r\n return \"licence-red\";\r\n } else if (daysToExpire <= 30) {\r\n return \"licence-yellow\";\r\n }\r\n return \"\";\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnInit } from \"@angular/core\";\r\n\r\n\r\n@Component({\r\n selector: \"vc-confirmation\",\r\n template: require('./confirmation.component.html'),\r\n styles: [require('./confirmation.component.css')]\r\n})\r\nexport class ConfirmationComponent implements OnInit {\r\n\r\n @Input() actionName: string;\r\n @Input() actionProperty: string;\r\n @Input() isActive: boolean;\r\n @Output() onConfirmOk: EventEmitter = new EventEmitter();\r\n @Output() onConfirmCancel: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n onOk(event: Event) {\r\n if (event) {\r\n event.stopImmediatePropagation()\r\n }\r\n this.isActive = false;\r\n this.onConfirmOk.emit();\r\n }\r\n\r\n onCancel(event: Event) {\r\n if (event) {\r\n event.stopImmediatePropagation()\r\n }\r\n this.isActive = false;\r\n this.onConfirmCancel.emit();\r\n }\r\n\r\n onContainerClick(event?: any) {\r\n if (event) { event.stopPropagation(); }\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy, Input } from \"@angular/core\";\r\n\r\nimport \"../../../../public/css/styles.css\";\r\nimport { fadeInOut } from \"../animations/fade-in-out.animation\";\r\n\r\n@Component({\r\n selector: \"cf-custom-loader\",\r\n template: require('./custom-loader.component.html'),\r\n styles: [require('./custom-loader.component.css')],\r\n animations: [fadeInOut]\r\n})\r\nexport class CustomLoaderComponent implements OnInit, OnDestroy {\r\n @Input() loaderState: string = \"hide\";\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n ngOnDestroy() {\r\n\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { HeaderComponent } from \"./header/header.component\";\r\nimport { HeaderMenuComponent } from \"./header-menu/header-menu.component\";\r\n// import { CoreModule } from \"../core/core.module\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\n// import { BrowserModule } from \"@angular/platform-browser\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { LoginComponent } from \"../login/login.component\";\r\nimport { LoaderComponent } from \"./loader/loader.component\";\r\nimport { FooterComponent } from \"./footer/footer.component\";\r\nimport { AgentLoginComponent } from \"../agent-login/agent-login.component\";\r\nimport { RoutingComponent } from \"../routing/routing.component\";\r\nimport { AuthenticateSsoComponent } from \"../authenticate-sso/authenticate-sso.component\";\r\nimport { CustomerTileComponent } from \"./customer-tile/customer-tile.component\";\r\nimport { SortDefaultEnvironmentPipe } from \"./customer-tile/sort-default-environment.pipe\";\r\nimport { CustomerLicenseExpireStatusPipe } from \"./customer-tile/customer-license-expire-status.pipe\";\r\nimport { ConfirmationComponent } from \"./confirmation/confirmation.component\";\r\nimport { CustomLoaderComponent } from \"./custom-loader/custom-loader.component\";\r\nimport { PaceLoginComponent } from \"../Pace/login/pace-login.component\";\r\nimport { PaceAgentLoginComponent } from \"../Pace/agent-login/pace-agent-login.component\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\n\r\n@NgModule({\r\n imports: [\r\n // CoreModule,\r\n // BrowserModule,\r\n CommonModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n FormsModule,\r\n RouterModule,\r\n TranslateModule,\r\n ],\r\n exports: [\r\n LoaderComponent,\r\n FooterComponent,\r\n CustomerTileComponent,\r\n SortDefaultEnvironmentPipe,\r\n CustomerLicenseExpireStatusPipe,\r\n ConfirmationComponent,\r\n CustomLoaderComponent,\r\n ],\r\n declarations: [\r\n HomeComponent,\r\n RoutingComponent,\r\n HeaderComponent,\r\n HeaderMenuComponent,\r\n LoaderComponent,\r\n LoginComponent,\r\n FooterComponent,\r\n AgentLoginComponent,\r\n AuthenticateSsoComponent,\r\n CustomerTileComponent,\r\n SortDefaultEnvironmentPipe,\r\n CustomerLicenseExpireStatusPipe,\r\n ConfirmationComponent,\r\n CustomLoaderComponent,\r\n PaceLoginComponent,\r\n PaceAgentLoginComponent,\r\n ],\r\n providers: [SortDefaultEnvironmentPipe, CustomerLicenseExpireStatusPipe],\r\n})\r\nexport class SharedModule {}\r\n","export class EnvService {\r\n\r\n // The values that are defined here are the default values that can\r\n // be overridden by env.js\r\n\r\n // authentication app url for pace\r\n public paceAuthenticationAppUrl: string;\r\n\r\n // authentication app url\r\n public authenticationAppUrl: string;\r\n\r\n // authentication api url\r\n public authenticationApiUrl: string;\r\n\r\n // debug authentication app url for pace\r\n public debugPaceAuthAppUrl: string;\r\n\r\n // debug authentication api url\r\n public debugAuthApiUrl: string;\r\n\r\n // debug core app url\r\n public debugCoreAppUrl: string;\r\n\r\n // debug core api url\r\n public debugCoreApiUrl: string;\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\nimport \"../../public/css/styles.css\";\r\nimport \"../../public/css/desktop.css\";\r\nimport { CustomerService } from \"./core/services/customer.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AccountService } from \"./core/services/account.service\";\r\nimport { UserToken } from \"./core/models/user-token.model\";\r\nimport { EnvService } from \"./env/EnvService\";\r\nimport { AuthenticationAppService } from \"./core/services/authentication-app.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { StorageService } from \"./core/services/storage.service\";\r\n\r\n@Component({\r\n selector: \"body\",\r\n template: require('./app.component.html')\r\n})\r\nexport class AppComponent implements OnInit {\r\n constructor(\r\n private customerService: CustomerService,\r\n private router: Router,\r\n private accountService: AccountService,\r\n private authenticationAppService: AuthenticationAppService,\r\n private translateService: TranslateService,\r\n private envService: EnvService,\r\n private storageService: StorageService\r\n ) {\r\n this.translateService.addLangs([\"en-us\", \"es-es\", \"pt-br\"]);\r\n // this language will be used as a fallback when a translation isn't found in the current language\r\n this.translateService.setDefaultLang(\"en-us\");\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initializeEnvironmentVariables();\r\n this.setLocale();\r\n this.redirect();\r\n }\r\n\r\n initializeEnvironmentVariables() {\r\n if (this.envService.paceAuthenticationAppUrl) {\r\n this.authenticationAppService.PaceAuthAppUrl = this.envService.paceAuthenticationAppUrl;\r\n }\r\n if (this.envService.debugPaceAuthAppUrl) {\r\n this.authenticationAppService.DebugPaceAuthAppUrl = this.envService.debugPaceAuthAppUrl;\r\n }\r\n if (this.envService.authenticationApiUrl) {\r\n this.authenticationAppService.ApiBaseUrl = this.envService.authenticationApiUrl;\r\n }\r\n if (this.envService.debugAuthApiUrl) {\r\n this.authenticationAppService.DebugAuthApiBaseUrl = this.envService.debugAuthApiUrl;\r\n }\r\n if (this.envService.debugCoreAppUrl) {\r\n this.authenticationAppService.DebugCoreAppBaseUrl = this.envService.debugCoreAppUrl;\r\n }\r\n if (this.envService.debugCoreApiUrl) {\r\n this.authenticationAppService.DebugCoreApiBaseUrl = this.envService.debugCoreApiUrl;\r\n }\r\n // console.log(\"Api URL\");\r\n // console.log(this.authenticationAppService.ApiBaseUrl);\r\n // console.log(\"Debug Auth Api URL\");\r\n // console.log(this.authenticationAppService.DebugAuthApiBaseUrl);\r\n // console.log(\"Debug Core App URL\");\r\n // console.log(this.authenticationAppService.DebugCoreAppBaseUrl);\r\n // console.log(\"Debug Core Api URL\");\r\n // console.log(this.authenticationAppService.DebugCoreApiBaseUrl);\r\n }\r\n\r\n redirect() {\r\n let location = document.location ? document.location : window.location;\r\n let url = location.href;\r\n if (location.href.indexOf(\"method=\") !== -1) {\r\n this.customerService.getQueryString(url);\r\n let queryStringValues = this.customerService.getQueryStringParameters();\r\n if (queryStringValues.method === \"customer-management\") {\r\n let userToken: Partial = {};\r\n userToken.Token = queryStringValues.usertoken;\r\n userToken.Name = queryStringValues.username;\r\n userToken.UserRole = queryStringValues.userrole;\r\n this.accountService.setUserToken(userToken);\r\n this.router.navigate([\"/customer\", \"list\"]);\r\n } else {\r\n this.router.navigate([queryStringValues.method]);\r\n }\r\n }\r\n }\r\n\r\n setLocale() {\r\n let location = document.location ? document.location : window.location;\r\n let url = location.href;\r\n if (location.href.indexOf(\"locale=\") !== -1) {\r\n this.customerService.getQueryString(url);\r\n let params = this.customerService.getQueryStringParameters();\r\n if (params.locale) {\r\n this.storageService.Locale = params.locale;\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from \"@angular/router\";\r\n\r\nimport { Observable, of } from \"rxjs\";\r\n\r\nimport { AccountService } from \"./account.service\";\r\nimport { UserToken } from \"../models/user-token.model\";\r\nimport { CustomerService } from \"./customer.service\";\r\nimport { map, catchError } from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class AuthenticationGuard implements CanActivate {\r\n\r\n constructor(\r\n private router: Router,\r\n private accountService: AccountService,\r\n private customerService: CustomerService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean {\r\n\r\n let enableRedirect: boolean = false;\r\n if (route.firstChild && route.firstChild.firstChild && route.firstChild.firstChild.data) {\r\n enableRedirect = route.firstChild.firstChild.data.enableRedirect;\r\n }\r\n\r\n const ssoToken = this.customerService.getSsoToken();\r\n\r\n if (ssoToken && ssoToken.length) {\r\n let queryStringValues = this.customerService.getQueryStringParameters();\r\n let environmentId = queryStringValues ? queryStringValues.environmentid : -1;\r\n let customerId: number = queryStringValues ? queryStringValues.customerid : 0;\r\n return this.accountService.authenticateSso(ssoToken, +customerId, +environmentId)\r\n .pipe(map((userToken: UserToken) => {\r\n this.customerService.switchEnvironment(userToken.Env, userToken.LastCustomerId);\r\n return true;\r\n }), catchError((err: any) => {\r\n // redirect to login page\r\n // this.router.navigate([\"/login\"]);\r\n return of(false);\r\n }));\r\n } else {\r\n if (this.accountService.getEncodedUserToken()) {\r\n return true;\r\n } else if (enableRedirect) {\r\n this.accountService.setRedirectUrl(state.url);\r\n }\r\n // }\r\n\r\n // redirect to login page\r\n this.router.navigate([\"/login\"]);\r\n // abort current navigation\r\n return false;\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Resolve, ActivatedRouteSnapshot } from \"@angular/router\";\r\n\r\nimport { Observable, of } from \"rxjs\";\r\nimport { flatMap, catchError } from \"rxjs/operators\"\r\n\r\nimport { CustomerService } from \"./customer.service\";\r\nimport { UserToken } from \"../models/user-token.model\";\r\nimport { Customer } from \"../models/customer.model\";\r\nimport { AppErrorHandler } from \"./app-error-handler.service\";\r\nimport { AccountService } from \"./account.service\";\r\nimport { CustomerEnv } from \"../models/customer-env.model\";\r\n\r\n@Injectable()\r\nexport class CustomerSwitchResolver implements Resolve {\r\n\r\n constructor(\r\n private customerService: CustomerService,\r\n private errorHandler: AppErrorHandler,\r\n private accountService: AccountService\r\n ) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot): Observable | UserToken {\r\n let customerId = +route.firstChild.params[\"id\"];\r\n\r\n return this.customerService.getCustomerList()\r\n .pipe(flatMap((list) => {\r\n if (list) {\r\n const hasCustomer = list.find((customer: Customer) => (customer.Id === customerId));\r\n if (hasCustomer) {\r\n let environmentId: number = 0\r\n environmentId = this.accountService.getLastEnvironmentId();\r\n if (!environmentId || (hasCustomer && hasCustomer.Environments\r\n && hasCustomer.Environments.findIndex((env: CustomerEnv) => (env.EnvironmentId === environmentId)) === -1)) {\r\n environmentId = hasCustomer.Environments && hasCustomer.Environments[0].EnvironmentId\r\n }\r\n return this.customerService.switchCustomer(customerId, environmentId);\r\n } else {\r\n return of(null);\r\n }\r\n }\r\n }),\r\n catchError(this.errorHandler.handleErrorMessage));\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { LoginComponent } from \"./login/login.component\";\r\nimport { HomeComponent } from \"./shared/home/home.component\";\r\nimport { AuthenticationGuard } from \"./core/services/authentication-guard.service\";\r\nimport { CustomerSwitchResolver } from \"./core/services/customer-switch-resolver.service\";\r\nimport { AgentLoginComponent } from \"./agent-login/agent-login.component\";\r\nimport { RoutingComponent } from \"./routing/routing.component\";\r\nimport { AuthenticateSsoComponent } from \"./authenticate-sso/authenticate-sso.component\";\r\nimport { PaceLoginComponent } from \"./Pace/login/pace-login.component\";\r\nimport { PaceAgentLoginComponent } from \"./Pace/agent-login/pace-agent-login.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n redirectTo: \"login\",\r\n pathMatch: \"full\",\r\n },\r\n {\r\n path: \"login\",\r\n component: LoginComponent,\r\n },\r\n {\r\n path: \"authenticate/:customerId/:environmentId\",\r\n component: AuthenticateSsoComponent,\r\n },\r\n {\r\n path: \"agent\",\r\n component: AgentLoginComponent,\r\n },\r\n {\r\n path: \"agent/oauth2/callback\",\r\n component: AgentLoginComponent,\r\n },\r\n {\r\n path: \"pace\",\r\n component: PaceLoginComponent,\r\n },\r\n {\r\n path: \"pace/agent\",\r\n component: PaceAgentLoginComponent,\r\n },\r\n {\r\n path: \"giveBadge\",\r\n component: RoutingComponent,\r\n canActivate: [AuthenticationGuard],\r\n },\r\n {\r\n path: \"raiseHand\",\r\n component: RoutingComponent,\r\n canActivate: [AuthenticationGuard],\r\n },\r\n {\r\n path: \"achievements\",\r\n component: RoutingComponent,\r\n canActivate: [AuthenticationGuard],\r\n },\r\n {\r\n path: \"\",\r\n component: HomeComponent,\r\n canActivate: [AuthenticationGuard],\r\n resolve: {\r\n userToken: CustomerSwitchResolver,\r\n },\r\n children: [\r\n {\r\n path: \"list/:id\",\r\n loadChildren: () => import('./environment-list/environment-list.module').then(m => m.EnvironmentListModule)\r\n },\r\n {\r\n path: \"customer\",\r\n loadChildren: () => import('./customer/customer.module').then(m => m.CustomerModule)\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [],\r\n declarations: [],\r\n})\r\nexport class AppRoutiongModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { AuthenticationAppService } from \"./services/authentication-app.service\";\r\nimport { AccountService } from \"./services/account.service\";\r\nimport { CustomerService } from \"./services/customer.service\";\r\nimport { MessageService } from \"./services/message.service\";\r\nimport { HeaderService } from \"./services/header.service\";\r\nimport { AuthenticationGuard } from \"./services/authentication-guard.service\";\r\nimport { CustomerSwitchResolver } from \"./services/customer-switch-resolver.service\";\r\nimport { AppErrorHandler } from \"./services/app-error-handler.service\";\r\nimport { StorageService } from \"./services/storage.service\";\r\nimport { EnvironmentService } from \"./services/environment.service\";\r\nimport { CustomerEnvironmentService } from \"./services/customer-environment.service\";\r\n\r\n\r\n@NgModule({\r\n providers: [\r\n AuthenticationAppService,\r\n AccountService,\r\n StorageService,\r\n AppErrorHandler,\r\n CustomerService,\r\n MessageService,\r\n HeaderService,\r\n AuthenticationGuard,\r\n CustomerSwitchResolver,\r\n EnvironmentService,\r\n CustomerEnvironmentService\r\n ],\r\n})\r\nexport class CoreModule { }\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\nimport { MessageService } from \"../core/services/message.service\";\r\n\r\n\r\n@Component({\r\n selector: \"app-message\",\r\n template: require('./messages.component.html'),\r\n styles: [require('./messages.mobile.component.css')]\r\n})\r\n\r\nexport class MessageComponent implements OnInit {\r\n messages: string[];\r\n isShowMessage: boolean;\r\n isSuccess: boolean = false;\r\n messageStatus = { error: \"Error\", success: \"Success\" }\r\n constructor(\r\n private messageService: MessageService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.messages = []\r\n this.messageService.getMessageDisplayStatus().subscribe((text) => {\r\n this.isSuccess = this.messageService.IsSuccess;\r\n this.messages.push(text);\r\n this.isShowMessage = true;\r\n });\r\n }\r\n onOkClick() {\r\n this.isShowMessage = false;\r\n this.messages = [];\r\n\r\n }\r\n\r\n onContainerClick() {\r\n event.stopPropagation();\r\n }\r\n}\r\n","import { Component, ViewChild, ElementRef } from \"@angular/core\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { StorageService } from \"../../core/services/storage.service\";\r\nimport { CustomerService } from \"../../core/services/customer.service\";\r\nimport { AccountService } from \"../../core/services/account.service\";\r\nimport { HeaderService } from \"../../core/services/header.service\";\r\nimport { MessageService } from \"../../core/services/message.service\";\r\nimport { LoaderState } from \"../../core/models/loader-state.model\";\r\nimport { Customer } from \"../../core/models/customer.model\";\r\nimport { UserRole } from \"../../core/models/user-role.model\";\r\n\r\n\r\n\r\n@Component({\r\n selector: \"vc-terms-conditions\",\r\n template: require('./terms-conditions.component.html')\r\n})\r\nexport class TermsAndConditionsComponent {\r\n\r\n termsAndConditionsUrl: string;\r\n\r\n footerOffset: number = 60;\r\n iFrameHeight: number;\r\n customerListSubscription: Subscription;\r\n @ViewChild(\"iFrameEL\", {static: false}) iFrameEL: ElementRef;\r\n\r\n constructor(private sanitizer: DomSanitizer,\r\n private router: Router,\r\n private storageService: StorageService,\r\n private customerService: CustomerService,\r\n private accountService: AccountService,\r\n private headerService: HeaderService,\r\n private messageService: MessageService\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n this.setPageViewDimensions();\r\n this.headerService.setCuefitLoaderState(LoaderState[LoaderState.show]);\r\n let url = \"https://visualcue.com/terms-conditions/\";\r\n this.termsAndConditionsUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n this.checkWhetherIframeLoaded();\r\n }\r\n\r\n checkWhetherIframeLoaded() {\r\n this.iFrameEL.nativeElement.onload = () => {\r\n this.headerService.setCuefitLoaderState(LoaderState[LoaderState.hide]);\r\n }\r\n }\r\n\r\n setPageViewDimensions() {\r\n let windowHeight = \"innerHeight\" in window ? window.innerHeight\r\n : document.documentElement.offsetHeight;\r\n this.iFrameHeight = windowHeight - this.footerOffset;\r\n }\r\n\r\n onAccept() {\r\n this.accountService.acceptTerms().subscribe(() => {\r\n this.accountService.setTermsAccepted();\r\n this.getCustomerList();\r\n }, (errorStats: { status: number, message: string }) => {\r\n if (errorStats.message !== undefined) {\r\n this.messageService.setMessageDisplayStatus(errorStats.message);\r\n }\r\n });\r\n }\r\n\r\n onDecline() {\r\n this.router.navigate([\"/login\"]);\r\n }\r\n\r\n getCustomerList() {\r\n this.customerListSubscription = this.customerService.getCustomerList().subscribe((customerList: Customer[]) => {\r\n if (customerList && customerList.length) {\r\n let redirectUrl: string = this.accountService.getRedirectUrl();\r\n if (redirectUrl !== undefined) {\r\n this.router.navigateByUrl(redirectUrl);\r\n this.accountService.setRedirectUrl(undefined);\r\n } else {\r\n let customerId: number = this.storageService.CustomerId;\r\n if (customerId === undefined) {\r\n customerId = customerList[0].Id;\r\n this.storageService.CustomerId = customerId;\r\n }\r\n // if (this.accountService.getUserRole().toString() !== UserRole[UserRole.SuperAdmin]) {\r\n this.router.navigate([\"/list\", customerId]);\r\n // } else {\r\n // this.router.navigate([\"/customer\", \"list\"]);\r\n // }\r\n }\r\n }\r\n // else if (this.accountService.getUserRole() === UserRole[UserRole.SuperAdmin]) {\r\n // this.router.navigate([\"/customer\", \"list\"]);\r\n // }\r\n }, (errorStats: { status: number, message: string }) => {\r\n if (errorStats.message !== undefined) {\r\n this.messageService.setMessageDisplayStatus(errorStats.message);\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\n\r\nimport { TermsAndConditionsComponent } from \"./terms-conditions/terms-conditions.component\";\r\n\r\nconst loginRoutes: Routes = [\r\n {\r\n path: \"terms-conditions\",\r\n component: TermsAndConditionsComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(loginRoutes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class AccountRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\n\r\nimport { AccountRoutingModule } from \"./account-routing.module\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { TermsAndConditionsComponent } from \"./terms-conditions/terms-conditions.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n AccountRoutingModule,\r\n SharedModule\r\n ],\r\n declarations: [\r\n TermsAndConditionsComponent\r\n ]\r\n})\r\nexport class AccountModule { }\r\n","import { EnvService } from \"./EnvService\";\r\n\r\nexport const EnvServiceFactory = () => {\r\n // Create env\r\n const env = new EnvService();\r\n\r\n // Read environment variables from browser window\r\n const browserWindow = window || {};\r\n const browserWindowEnv = browserWindow[\"__env\"] || {};\r\n\r\n // Assign environment variables from browser window to env\r\n // In the current implementation, properties from env.js overwrite defaults from the EnvService.\r\n // If needed, a deep merge can be performed here to merge properties instead of overwriting them.\r\n for (const key in browserWindowEnv) {\r\n if (browserWindowEnv.hasOwnProperty(key)) {\r\n env[key] = window[\"__env\"][key];\r\n }\r\n }\r\n\r\n return env;\r\n};\r\n\r\nexport const EnvServiceProvider = {\r\n provide: EnvService,\r\n useFactory: EnvServiceFactory,\r\n deps: [],\r\n};\r\n","import { NgModule } from \"@angular/core\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { HttpClient, HttpClientModule } from \"@angular/common/http\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\n\r\nimport { AppComponent } from \"./app.component\";\r\nimport { AppRoutiongModule } from \"./app-routing.module\";\r\nimport { CoreModule } from \"./core/core.module\";\r\nimport { SharedModule } from \"./shared/shared.module\";\r\nimport { MessageComponent } from \"./messages/messages.component\";\r\nimport { AccountModule } from \"./account/account.module\";\r\nimport { EnvServiceProvider } from \"./env/EnvServiceFactory\";\r\nimport { TranslateHttpLoader } from \"@ngx-translate/http-loader\";\r\nimport { TranslateLoader, TranslateModule } from \"@ngx-translate/core\";\r\n\r\nexport function HttpLoaderFactory(httpClient: HttpClient) {\r\n return new TranslateHttpLoader(httpClient, \"\", `.json?v=${process.env.CONFIG[\"CREATEDTIME\"]}`);\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n CoreModule,\r\n BrowserModule,\r\n CommonModule,\r\n ReactiveFormsModule,\r\n AppRoutiongModule,\r\n RouterModule,\r\n HttpClientModule,\r\n SharedModule,\r\n BrowserAnimationsModule,\r\n AccountModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n })\r\n ],\r\n declarations: [\r\n AppComponent,\r\n MessageComponent,\r\n ],\r\n exports: [FormsModule],\r\n providers: [EnvServiceProvider],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { platformBrowserDynamic } from \"@angular/platform-browser-dynamic\";\r\nimport { enableProdMode } from \"@angular/core\";\r\nimport { AppModule } from \"./app/app.module\";\r\n\r\nif (process.env.CONFIG[\"ENV\"] === \"production\" || process.env.CONFIG[\"ENV\"] === \"development\" || process.env.CONFIG[\"ENV\"] === \"staging\") {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .then(success => console.log(`Bootstrap success`))\r\n .catch(err => console.error(err));\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"43\":\"b74f03db07d8c36c2bb4\",\"475\":\"082f23377efb850f1474\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"43\":\"ff7af39beea91ffba708\",\"475\":\"e61d5b0f2e39cba0e892\"}[chunkId] + \".css\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"login-app:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","var createStylesheet = (chunkId, fullhref, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"43\":1,\"475\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunklogin_app\"] = self[\"webpackChunklogin_app\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [472], () => (__webpack_require__(1107)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":[],"sourceRoot":""}