{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/layouts/blank/blank.component.ts","./src/app/layouts/blank/blank.component.html","./src/app/layouts/full/full.component.ts","./src/app/layouts/full/full.component.html","./src/app/shared/breadcrumb/breadcrumb.component.ts","./src/app/shared/breadcrumb/breadcrumb.component.html","./src/app/shared/constant/constant-route.ts","./src/app/shared/constant/toastr-message-enum.ts","./src/app/shared/dynamic-table/dynamic-table.component.ts","./src/app/shared/dynamic-table/dynamic-table.component.html","./src/app/shared/header-navigation/navigation.component.ts","./src/app/shared/header-navigation/navigation.component.html","./src/app/shared/services/auth/auth.service.ts","./src/app/shared/services/common/commonservice.service.ts","./src/app/shared/services/common/genericAuth.service.ts","./src/app/shared/services/security/secureauth.service.ts","./src/app/shared/services/security/securitycheck.service.ts","./src/app/shared/services/session/sessioncheck.service.ts","./src/app/shared/services/versioning/version-check.service.ts","./src/app/shared/shared.module.ts","./src/app/shared/sidebar/sidebar.component.ts","./src/app/shared/sidebar/sidebar.component.html","./src/app/shared/spinner.component.ts","./src/environments/environment.ts","./src/main.ts","ignored|D:\\lis_demo\\node_modules\\crypto-js|crypto"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport FullComponent from './layouts/full/full.component';\r\nimport { BlankComponent } from './layouts/blank/blank.component';\r\n\r\nexport const AppRoutes: Routes = [\r\n {\r\n path: '',\r\n component: BlankComponent,\r\n children: [\r\n { path: '', redirectTo: 'authentication/login', pathMatch: 'full' },\r\n { path: '', redirectTo: 'authentication/blank', pathMatch: 'full' },\r\n {\r\n path: 'authentication',\r\n loadChildren:\r\n () => import('./authentication/authentication.module').then(m => m.AuthenticationModule)\r\n }\r\n ]\r\n },\r\n {\r\n path: '',\r\n component: FullComponent,\r\n children: [\r\n {\r\n path: '', redirectTo: 'main4/worklist', pathMatch: 'full'\r\n },\r\n {\r\n path: 'main4',\r\n loadChildren: () => import('./main/main4/main4.module').then(m => m.Main4Module)\r\n },\r\n {\r\n path: 'main1',\r\n loadChildren: () => import('./main/main1/main1.module').then(m => m.Main1Module)\r\n },\r\n {\r\n path: 'main2',\r\n loadChildren: () => import('./main/main2/main2.module').then(m => m.Main2Module)\r\n },\r\n {\r\n path: 'main3',\r\n loadChildren: () => import('./main/main3/main3.module').then(m => m.Main3Module)\r\n },\r\n {\r\n path: 'main5',\r\n loadChildren: () => import('./main/main5/main5.module').then(m => m.Main5Module)\r\n },\r\n {\r\n path: 'upload1',\r\n loadChildren: () => import('./upload/upload1/upload1.module').then(m => m.Upload1Module)\r\n },\r\n {\r\n path: 'upload2',\r\n loadChildren: () => import('./upload/upload2/upload2.module').then(m => m.Upload2Module)\r\n },\r\n {\r\n path: 'upload3',\r\n loadChildren: () => import('./upload/upload3/upload3.module').then(m => m.Upload3Module)\r\n },\r\n {\r\n path: 'upload4',\r\n loadChildren: () => import('./upload/upload4/upload4.module').then(m => m.Upload4Module)\r\n },\r\n {\r\n path: 'upload5',\r\n loadChildren: () => import('./upload/upload5/upload5.module').then(m => m.Upload5Module)\r\n },\r\n {\r\n path: 'upload6',\r\n loadChildren: () => import('./upload/upload6/upload6.module').then(m => m.Upload6Module)\r\n },\r\n {\r\n path: 'upload7',\r\n loadChildren: () => import('./upload/upload7/upload7.module').then(m => m.Upload7Module)\r\n },\r\n {\r\n path: 'upload8',\r\n loadChildren: () => import('./upload/upload8/upload8.module').then(m => m.Upload8Module)\r\n },\r\n {\r\n path: 'setUp1',\r\n loadChildren: () => import('./setUp/setUp1/setUp1.module').then(m => m.Setup1Module)\r\n },\r\n {\r\n path: 'setUp2',\r\n loadChildren: () => import('./setUp/setUp2/setUp2.module').then(m => m.SetUp2Module)\r\n },\r\n {\r\n path: 'setUp3',\r\n loadChildren: () => import('./setUp/setUp3/setUp3.module').then(m => m.SetUp3Module)\r\n },\r\n {\r\n path: 'setUp4',\r\n loadChildren: () => import('./setUp/setUp4/setUp4.module').then(m => m.SetUp4Module)\r\n },\r\n {\r\n path: 'setUp5',\r\n loadChildren: () => import('./setUp/setUp5/setUp5.module').then(m => m.SetUp5Module)\r\n },\r\n {\r\n path: 'bioBank',\r\n loadChildren: () => import('./bioBank/bioBank.module').then(m => m.BioBank)\r\n },\r\n {\r\n path: 'billing',\r\n loadChildren: () => import('./billing/billing.module').then(m => m.BillingModule)\r\n },\r\n {\r\n path: 'setUpAccession',\r\n loadChildren: () => import('./setUpAccession/setUp.module').then(m => m.SetupAccessionModule)\r\n },\r\n {\r\n path: 'printLabels',\r\n loadChildren: () => import('./printLabels/printLabels.module').then(m => m.PrePrintLabelsModule)\r\n },\r\n {\r\n path: 'EmrOrder',\r\n loadChildren: () => import('./emrOrders/emrOrder.module').then(m => m.EMRorderModule)\r\n },\r\n {\r\n path: 'autoReport',\r\n loadChildren: () => import('./autoReport/autoReport.module').then(m => m.AutoReportModule)\r\n },\r\n {\r\n path: 'autoDistribution',\r\n loadChildren: () => import('./autoDistribution/autoDistribution.module').then(m => m.AutoDistributionModule)\r\n },\r\n {\r\n path: 'remote',\r\n loadChildren: () => import('./remote/remote.module').then(m => m.RemoteModule)\r\n },\r\n\r\n {\r\n path: 'department',\r\n loadChildren: () => import('./department/department.module').then(m => m.DepartmentModule)\r\n },\r\n {\r\n path: 'search',\r\n loadChildren: () => import('./advancedSearch/advancedSearch.module').then(m => m.AdvancedSearchModule)\r\n },\r\n {\r\n path: 'document',\r\n loadChildren: () => import('./orderDocument/orderDocument.module').then(m => m.OrderDocumentModule)\r\n },\r\n {\r\n path: 'master1',\r\n loadChildren: () => import('./master/master1/master1.module').then(m => m.Master1Module)\r\n },\r\n {\r\n path: 'master2',\r\n loadChildren: () => import('./master/master2/master2.module').then(m => m.Master2Module)\r\n },\r\n {\r\n path: 'master3',\r\n loadChildren: () => import('./master/master3/master3.module').then(m => m.Master3Module)\r\n },\r\n {\r\n path: 'master4',\r\n loadChildren: () => import('./master/master4/master4.module').then(m => m.Master4Module)\r\n },\r\n {\r\n path: 'master5',\r\n loadChildren: () => import('./master/master5/master5.module').then(m => m.Master5Module)\r\n },\r\n {\r\n path: 'master6',\r\n loadChildren: () => import('./master/master6/master6.module').then(m => m.Master6Module)\r\n },\r\n {\r\n path: 'master7',\r\n loadChildren: () => import('./master/master7/master7.module').then(m => m.Master7Module),\r\n },\r\n {\r\n path: 'master8',\r\n loadChildren: () => import('./master/master8/master8.module').then(m => m.Master8Module)\r\n },\r\n {\r\n path: 'master9',\r\n loadChildren: () => import('./master/master9/master9.module').then(m => m.Master9Module)\r\n },\r\n {\r\n path: 'kitManagement',\r\n loadChildren: () => import('./kits/kits.module').then(m => m.KitModule)\r\n },\r\n {\r\n path: 'help',\r\n loadChildren: () => import('./help/help.module').then(m => m.HelpModule)\r\n },\r\n {\r\n path: 'security',\r\n loadChildren: () => import('./security/security.module').then(m => m.SecurityTabModule)\r\n },\r\n ]\r\n },\r\n {\r\n path: '**',\r\n redirectTo: '/authentication/404'\r\n }\r\n];\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(\r\n AppRoutes\r\n )\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\n\r\nexport class AppRouterModule { }","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n constructor(private router: Router) { }\r\n\r\n\r\n}\r\n","\r\n \r\n","import { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { CommonModule, LocationStrategy, HashLocationStrategy, } from \"@angular/common\";\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { AgmCoreModule } from '@agm/core';\r\nimport { AppRoutes } from \"./app-routing.module\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { SpinnerComponent } from \"./shared/spinner.component\";\r\nimport { SharedModule } from \"./shared/shared.module\";\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n SpinnerComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n SharedModule,\r\n RouterModule.forRoot(AppRoutes, {\r\n useHash: false,\r\n relativeLinkResolution: \"legacy\",\r\n }), \r\n AgmCoreModule.forRoot({ apiKey: 'AIzaSyBUb3jDWJQ28vDJhuQZxkC0NXr_zycm8D0' }),\r\n ],\r\n providers: [\r\n {\r\n provide: LocationStrategy,\r\n useClass: HashLocationStrategy,\r\n },\r\n ],\r\n bootstrap: [AppComponent],\r\n exports: [RouterModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n})\r\nexport class AppModule {\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-blank-layout',\r\n templateUrl: './blank.component.html',\r\n styleUrls: []\r\n})\r\nexport class BlankComponent {}\r\n","\r\n\r\n\r\n","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\ndeclare var $: any;\r\n\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nimport { CommonService } from 'src/app/shared/services/common/commonservice.service';\r\nimport { SessionCheck } from 'src/app/shared/services/session/sessioncheck.service';\r\n\r\n@Component({\r\n selector: 'app-full-layout',\r\n templateUrl: './full.component.html',\r\n styleUrls: ['./full.component.scss']\r\n})\r\nexport default class FullComponent implements OnInit {\r\n _url: string = ''\r\n public config: PerfectScrollbarConfigInterface = {};\r\n\r\n constructor(public router: Router, private _sessionCall: SessionCheck,\r\n public _commonService: CommonService\r\n ) {\r\n this._url = this._commonService.GetOrigin();\r\n }\r\n\r\n tabStatus = 'justified';\r\n\r\n public isCollapsed = false;\r\n\r\n public innerWidth: any;\r\n public defaultSidebar: any;\r\n public showSettings = false;\r\n public showMobileMenu = false;\r\n public leftValue = '0';\r\n navbarColor: any;\r\n color = this._url === 'https://sorrentostaging.hugenxlis.com/' ? 'skinSorrento' : 'skin1';\r\n options = {\r\n theme: 'light', // two possible values: light, dark\r\n dir: 'ltr', // two possible values: ltr, rtl\r\n layout: 'horizontal', // fixed value. shouldn't be changed.\r\n sidebartype: 'full', // four possible values: full, iconbar, overlay, mini-sidebar\r\n sidebarpos: 'absolute', // two possible values: fixed, absolute\r\n headerpos: 'absolute', // two possible values: fixed, absolute\r\n boxed: 'full', // two possible values: full, boxed\r\n navbarbg: this.color, // six possible values: skin(1/2/3/4/5/6)\r\n sidebarbg: 'skin6', // six possible values: skin(1/2/3/4/5/6)\r\n logobg: 'skin6', // six possible values: skin(1/2/3/4/5/6)\r\n };\r\n\r\n ngOnInit() {\r\n\r\n // this.color = this._url === 'https://sorrentostaging.hugenxlis.com/'? 'skinSorrento' : 'skin1';\r\n this.color = this._commonService.getColor('navbarColor', 'ColorName');\r\n this.navbarColor = this._commonService.getColor('navbarColor', 'ColorCode').toString();\r\n this.options = {\r\n theme: 'light', // two possible values: light, dark\r\n dir: 'ltr', // two possible values: ltr, rtl\r\n layout: 'horizontal', // fixed value. shouldn't be changed.\r\n sidebartype: 'full', // four possible values: full, iconbar, overlay, mini-sidebar\r\n sidebarpos: 'absolute', // two possible values: fixed, absolute\r\n headerpos: 'absolute', // two possible values: fixed, absolute\r\n boxed: 'full', // two possible values: full, boxed\r\n navbarbg: this.color, // six possible values: skin(1/2/3/4/5/6)\r\n sidebarbg: 'skin6', // six possible values: skin(1/2/3/4/5/6)\r\n logobg: 'skin6', // six possible values: skin(1/2/3/4/5/6)\r\n };\r\n if (this.router.url === '/') {\r\n this.router.navigate(['/dashboard/dashboard1']);\r\n }\r\n this.defaultSidebar = this.options.sidebartype;\r\n\r\n this.handleSidebar();\r\n this._commonService.showHideMobileMenu.subscribe(res => {\r\n if (res) {\r\n this.showMobileMenu = !this.showMobileMenu\r\n this.leftValue = '-250px'\r\n if (this.showMobileMenu) {\r\n this.leftValue = '-250px'\r\n } else {\r\n this.leftValue = '0'\r\n }\r\n }\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.handleSidebar();\r\n }\r\n\r\n handleSidebar() {\r\n this.innerWidth = window.innerWidth;\r\n if (this.innerWidth >= 992) {\r\n this.leftValue = '0'\r\n } else {\r\n this.leftValue = '-250px'\r\n }\r\n switch (this.defaultSidebar) {\r\n case 'full':\r\n if (this.innerWidth < 1170) {\r\n this.options.sidebartype = 'mini-sidebar';\r\n } else {\r\n this.options.sidebartype = this.defaultSidebar;\r\n }\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n blockHome(e) {\r\n e.preventDefault()\r\n }\r\n showMobileMenuBar() {\r\n if (this.innerWidth <= 992) {\r\n this.leftValue = '0'\r\n this.showMobileMenu = !this.showMobileMenu;\r\n\r\n if (this.showMobileMenu) {\r\n this.leftValue = '0'\r\n } else {\r\n this.leftValue = '-250px'\r\n }\r\n } else {\r\n this.leftValue = '0'\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Copyright © 2023 HUGENX. All rights reserved.\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\r\nimport { filter, map, mergeMap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-breadcrumb',\r\n templateUrl: './breadcrumb.component.html'\r\n})\r\nexport class BreadcrumbComponent implements OnInit {\r\n @Input() layout;\r\n pageInfo;\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private titleService: Title\r\n ) {\r\n this.router.events\r\n .pipe(filter(event => event instanceof NavigationEnd))\r\n .pipe(map(() => this.activatedRoute))\r\n .pipe(\r\n map(route => {\r\n while (route.firstChild) {\r\n route = route.firstChild;\r\n }\r\n return route;\r\n })\r\n )\r\n .pipe(filter(route => route.outlet === 'primary'))\r\n .pipe(mergeMap(route => route.data))\r\n .subscribe(event => {\r\n this.titleService.setTitle(event['title']);\r\n this.pageInfo = event;\r\n });\r\n }\r\n ngOnInit() {}\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n

{{pageInfo?.title}}

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class ConstantRoute {\r\n main1UrlPaths() {\r\n const paths = {\r\n //====main 1====\r\n accessioningRnd: \"/main1/accessioningRnd\",\r\n accessioning: \"/main1/accessioning\",\r\n clinicalStudyAccessions: \"/main1/clinicalStudyAccessions\",\r\n viewResult: \"/main1/viewResult\",\r\n csaWorklist: \"/main1/csaWorklist\",\r\n mainDashboard: \"/main1/mainDashboard\",\r\n //==============\r\n };\r\n return paths;\r\n }\r\n main2UrlPaths() {\r\n const paths = {\r\n //====main 2====\r\n accessioningRndPK: \"/main2/accessioningRndPK\",\r\n blankWorklist: \"/main2/blankWorklist\",\r\n //==============\r\n };\r\n return paths;\r\n }\r\n main3UrlPaths() {\r\n const paths = {\r\n //====main 3====\r\n rndPKWorklist: \"/main3/rndPKWorklist\",\r\n miniaccession: \"/main3/miniaccession\",\r\n editAccessionStudy: \"/main3/editAccessionStudy\",\r\n miniaccessionworklist: \"/main3/miniaccessionworklist\",\r\n //==============\r\n };\r\n return paths;\r\n }\r\n main4UrlPaths() {\r\n const paths = {\r\n //====main 4====\r\n worklist: \"/main4/worklist\",\r\n rndWorklist: \"/main4/rndWorklist\",\r\n newPatientList: \"main4/newPatientList\",\r\n viewPatientResult: \"/main4/viewPatientResult\",\r\n zymoWorklist: \"/main4/zymoWorklist\",\r\n //==============\r\n };\r\n return paths;\r\n }\r\n\r\n remoteUrlPaths() {\r\n const paths = {\r\n //====remote====\r\n remoteWorklist: \"/remote/remoteWorklist\",\r\n remoteOrder: \"/remote/remoteOrder\",\r\n //==============\r\n };\r\n return paths;\r\n }\r\n authenticationUrlPaths() {\r\n const paths = {\r\n //====authentication====\r\n lock: \"/authentication/lock\",\r\n login: \"/authentication/login\",\r\n legalPolicy: \"/authentication/legalPolicy\",\r\n remoteLogin: \"/authentication/remoteLogin\",\r\n //======================\r\n };\r\n return paths;\r\n }\r\n printLabelsUrlPaths() {\r\n const paths = {\r\n //====print labels====\r\n prePrintLabel: \"/printLabels/prePrintLabel\",\r\n singlePrintLabel: \"/printLabels/singlePrintLabel\",\r\n dummyLabels: \"/printLabels/dummyLabels\",\r\n //====================\r\n };\r\n return paths;\r\n }\r\n\r\n setup3UrlPaths() {\r\n const paths = {\r\n //====setup 3====\r\n materialList: \"setUp3/materialList\",\r\n addMaterial: \"/setUp3/addMaterial\",\r\n //===============\r\n };\r\n return paths;\r\n }\r\n billingUrlPaths() {\r\n const paths = {\r\n //====billing====\r\n editBillingDetails: \"/billing/editBillingDetails\",\r\n billingReview: \"/billing/billingReview\",\r\n billedList: \"/billing/billedList\",\r\n //===============\r\n };\r\n return paths;\r\n }\r\n\r\n KitManagementUrlPaths() {\r\n const paths = {\r\n //====kitMAnagement====\r\n kitAllotment: \"/kitManagement/kitAllotment\",\r\n //=====================\r\n };\r\n return paths;\r\n }\r\n dashboardUrlPaths() {\r\n const paths = {\r\n //====dashboard====\r\n dashboard1: \"/dashboard/dashboard1\",\r\n //=================\r\n };\r\n return paths;\r\n }\r\n documentUrlPaths() {\r\n const paths = {\r\n //====document====\r\n orderDocument: \"/document/orderDocument\",\r\n //================\r\n };\r\n return paths;\r\n }\r\n master2UrlPaths() {\r\n const paths = {\r\n //====master 2====\r\n dashBoard: \"/master2/dashBoard\",\r\n //================\r\n //====master 9====\r\n eventLogDetails: \"/master2/eventLogDetails\",\r\n //================\r\n };\r\n return paths;\r\n }\r\n sorrentoMasterUrlPaths() {\r\n const paths = {\r\n //====Sorrento Master====\r\n dashBoard: \"/sorrentoMaster/dashBoard\",\r\n //================\r\n };\r\n return paths;\r\n }\r\n bioBankUrlPaths() {\r\n const paths = {\r\n assignBox: \"/bioBank/specimenManagement/assignBox\",\r\n freezerData: \"/bioBank/freezerManagement/freezerData\",\r\n createfreezer: \"/bioBank/freezerManagement/createfreezer\",\r\n editSpecimen: \"/bioBank/specimenManagement/editSpecimen\",\r\n assignRack: \"/bioBank/specimenManagement/assignRack\",\r\n allSpecimens: \"/bioBank/specimenManagement/allSpecimens\",\r\n allSpecimensForCommercial: \"/bioBank/specimenManagement/allSpecimensForCommercial\",\r\n specimen: \"/bioBank/specimenManagement/specimen\",\r\n };\r\n return paths;\r\n }\r\n}\r\n","export enum ToastrEnum {\r\n //====charachter validation====\r\n onlyNumberErrorMessage = \"Only Numbers are allowed !\",\r\n specialCharacterNotAllowed = \"Special characters are not allowed !\",\r\n //=============================\r\n\r\n //====rack====\r\n rackAlreadyexists = \"Rack already exists.\",\r\n //============\r\n\r\n //====report====\r\n patientReportDownloadSuccessfully = \"Patient report downloaded successfully\",\r\n patientReportAddinResendQueue = \"Patient report added in resend queue successfully\",\r\n reportError = \"This Accession has no view report.\",\r\n pleaseEnterCorrectedReportComments = \"Please enter Corrected report comments\",\r\n reportIsAlreadySignedOff = \"This report is already signed off, please choose the reason for sign off again.\",\r\n reportSignedOffSuccessfully = \"Report Signed Off Successfully\",\r\n //============\r\n\r\n //====printing====\r\n printingComplete = \"Printing label complete\",\r\n //================\r\n\r\n //====Authorized====\r\n notAuthorizedToViewReport = \"You are not authorized to view report\",\r\n youAreNotAuthorized = \"You are not authorized\",\r\n notAuthorizedForThisPage = \"You are not authorized for this page\",\r\n //==================\r\n\r\n //====other====\r\n alreadyExists = \"Rack already exists\",\r\n recordFound = \"Record found.\",\r\n noRecord = \"No record found.\",\r\n noRecordFoundInRetrieveList = \"No record found in Retrieve list.\",\r\n recordNotFountSelectValidMonthAndYear = \"Record not found, Select valid month and year\",\r\n noRecordFoundInReturnList = \"No record found in Return list.\",\r\n somethingWrong = \"Oops something went Wrong !\",\r\n selectOpition = \"Please Select option !\",\r\n fillRequiredFields = \"Please enter all required fields.\",\r\n pleaseFillRequiredFields = \"Please Fill Required Fields\",\r\n selectAnySearch = \"Please select any search condition\",\r\n selectAllCheckBox = \"Please select all Check boxes\",\r\n wrongPasswordTryAgain = \"Wrong password, please try again.\",\r\n pleaseEnterUserNameAndPassword = \"Please enter username and password.\",\r\n emailSend = \"Email send Successfully\",\r\n emailScheduled = \"Email scheduled Successfully\",\r\n enterValidEmail = \"Please enter valid Email\",\r\n selectTest = \"Please Select Test\",\r\n uploadPdfAndImageFileOnly = \"Please upload PDF and image file only.\",\r\n enterCommentInCommentBox = \"Enter comment in comment box\",\r\n icdAlreadyExists = \"ICD already exists.\",\r\n somethingWrongTryAgainLater = \"Something went wrong, Please try again later.\",\r\n somethingWrongContactAdministrator = \"Something went wrong ! Please contact Administrator\",\r\n pleaseTryAgainLater = \"Please try again later.\",\r\n statusUpdatedSuccessfully = \"Status updated successfully\",\r\n uncompleteTheCaseToMakeAnyChanges = \"Uncomplete the case to make any changes.\",\r\n\r\n pleaseSelectClient = \"Please select client\",\r\n pleaseSelectPhysician = \"Please select physician.\",\r\n pleaseSelectClientAndPhysician = \"Please select client and physician.\",\r\n pleaseSelectComponent = \"Please select component\",\r\n rackNumberNotEmpty = \"Rack number should not be empty!\",\r\n\r\n enterLastName = \"Please enter last name\",\r\n enterFirstName = \"Please enter first name\",\r\n pleaseSelectFile = \"Please select file.\",\r\n pleaseSelectStudies = \"Please select Studies\",\r\n\r\n enterResultsInPositiveOrNotDetectedOnly = \"Please enter results in Positive or Not Detected only.\",\r\n resultUpdated = \"Results updated successfully .\",\r\n thisTestHasNoViewReport = \"This test has no view report.\",\r\n enterDeficiencyInDeficiencyBox = \"Enter Deficiency in deficiency box\",\r\n pleaseSelectDifferentTypeOfSignOff = \"Please select different report type to signoff\",\r\n\r\n imageUpload = \"Image uploaded successfully.\",\r\n deletedSuccessfully = \"Deleted successfully\",\r\n\r\n CannotDownloadMoreThen10Records = \"You can not download more then 10 records at a time.\",\r\n selectMaximum10Record = \"You can select maximum 10 records.\",\r\n informationSavedSuccessfully = \"Information saved successfully.\",\r\n\r\n enterValidClientName = \"Please enter valid client\",\r\n\r\n panelServiceAlreadyExist = \"Panel series Already exist\",\r\n\r\n pleaseSelectAtLeastOneTest = \"Please select atleast one test\",\r\n panelTestRequired = \"Panel test is required\",\r\n noRecordInExcel = \"No Record in the Excel\",\r\n enterValidInput = \"Enter valid input\",\r\n\r\n clientPhysicianAssigmentCompletedSuccessfully = \"Client physician assignment completed successfully\",\r\n componentReferenceRangeAssignmentCompelted = \"Component Reference Range assignment completed successfully.\",\r\n\r\n noRecordFoundWithTest = \"No record found with this Test\",\r\n worklistCleared = \"Worklist Cleared\",\r\n resultSavedSuccessfully = \"Result saved successfully\",\r\n noRecordSavedTryAgain = \"No record saved,please try again later\",\r\n noRecordSavedPleaseFillResult = \"No record saved,please fill the result\",\r\n recordDisabledSuccessfully = \"Record disabled successfully\",\r\n sampleDisabledSuccessfully = \"Sample disabled successfully\",\r\n userDisabledSuccessfully = \"User disabled successfully\",\r\n pleaseEnterUserName = \"Please enter User Name fields.\",\r\n userAlreadyExistsChooseDifferent = \"User already exists, Please choose different User Name\",\r\n\r\n pleaseEnterDocumentName = \"Please enter document name\",\r\n enterSequenceBetween1to100 = \"Please enter sequence between 1 to 100\",\r\n invalidFileExtension = \"Invalid File Extension, Please try again later.\",\r\n videoSizeLessThenOrEqualTo100mb = \"Video size must be less then or equal to 100 MB\",\r\n pleaseSelectDocument = \"Please Select Document\",\r\n pleaseSelectVideo = \"Please Select Video\",\r\n\r\n panelTestAssignmentCompletedSuccessfully = \"Panel Test assignment completed successfully\",\r\n wrongLogNumberEnter = \"Wrong lot number entered, please enter correct\",\r\n enterLotNumber = \"Enter lot number.\",\r\n\r\n selectCsvOrExcelFileOnly = \"Wrong format, please select csv or excel files only.\",\r\n selectCsvOrXlsxFileOnly = \"Wrong format, please select csv or xlsx file only\",\r\n noDataFoundOnFile = \"No Data Found in File !\",\r\n enterHowManyLabelToPrint = \"Please enter how many labels to print\",\r\n selectCSVfileOnly = \"Wrong format, please select csv file only.\",\r\n passwordChangedSuccessfully = \"You have successfully changed the password..!!!\",\r\n newAndConfirmPasswordSame = \"New and Confirm password should be same\",\r\n mailSend = \"mail sent successfully\",\r\n fileFormatNotCorrect = \"file format is not correct !\",\r\n serviceRequestCreated = \"Service request is created.\",\r\n selectAtleat1User = \"Please select atleast 1 user !\",\r\n selectOderingPhysician = \"Please Select Ordering Physician\",\r\n\r\n instrumentReadentAssignmentCompletedSuccessfully = \"Instrument Reagent assignment completed successfully.\",\r\n cannotEditExpiredReagent = \"Can not edit Expired Reagent !\",\r\n noRecordToDownload = \"No Record to download !\",\r\n recordInsertedSuccessfully = \"Record inserted successfully\",\r\n testAddedSuccessfully = \"Test added successfully!\",\r\n invalidFilePleaseSelectValidFile = \"Invalid File ! Please select valid File\",\r\n plateMapCannotBlank = \"Plate map can not be blank\",\r\n\r\n wrongCellTryAgainInRightCell = \"Wrong cell. Please try again in right cell.\",\r\n fileUploadProcessed = \"File upload processed.\",\r\n uploadingNotMathedWithStandardTemplate = \"The file you are uploading not matched with the standard template,Please correct the file and upload again.\",\r\n noResultFormatFound = \"No Result Format Found\",\r\n\r\n uploadPdfFileOnly = \"Please upload pdf only\",\r\n reportReleasedIssue = \"Report Released successfully\",\r\n allFilesUploadSuccessfully = \"All files uploaded Successfully\",\r\n validRecordNotFound = \"Valid records not found\",\r\n recordsCreatedSuccessfully = \"Records created successfully\",\r\n selectAnyTest = \"Please Select any Test\",\r\n selectAnyPhysician = \"Please Select any Physician\",\r\n recordUpdatedSuccessfully = \"Record updated Successfully\",\r\n pleaseSelectRetultType = \"Please Select Result Type\",\r\n noDataFoundPleaseCheckAgain = \"No Data found. Please check the again\",\r\n\r\n invalidValueInserted = \"Invaild value inserted\",\r\n pleaseSelectRole = \"pleaseSelectRole\",\r\n testComponentAssignmentCompletedSuccessfully = \"Test Component assignment completed successfully.\",\r\n\r\n pleaseSelectTopMenus = \"Please Select Topmenus\",\r\n pleaseSelectMenuName = \"Please Select Menu Name\",\r\n pleaseSelectUserFirst = \"Please select user first\",\r\n pleaseSelectUser = \"please select user\",\r\n enterBetween1to200 = \"Please enter between 1 to 200\",\r\n pleaseEnterVideoTitle = \"Please enter video title\",\r\n pleaseEnterVideoDescription = \"Please enter video description\",\r\n\r\n selectAtleastOneICD10Code = \"Please select atleast one ICD 10 code\",\r\n\r\n pleaseFillAnyField = \"Please Fill Any Field\",\r\n noRackAvailable = \"No Rack Available !\",\r\n\r\n noSiteAvailableForSelectedStudy = \"No Site Available for selected Study\",\r\n\r\n pleaseSelectPanelOrTestFirst = \"Please select Panel/Test first.\",\r\n\r\n vtmRackCreatedSuccessfully = \"VTM Rack is created successfully.\",\r\n\r\n pleaseEnterResult = \"Please enter result\",\r\n\r\n pleaseFillTheResultOfSelectedTest = \"Please fill the result of selected test\",\r\n\r\n testCodeAlreadyExist = \"Test Code already exist\",\r\n\r\n pleaseFillAllTheDetails = \"Please fill all the details\",\r\n\r\n pnNoteExist = \"PN number does not exist.\",\r\n\r\n areYouSureWantToContinueWithValidRecords = \"Are you sure want to continue with valid records?\",\r\n\r\n fileContainsInvalidData = \"File contains invalid data\",\r\n receiveDateIsInvalidPleaseChoosefromCalendar = \"Receive Date is Invalid! Please choose from Calendar\",\r\n uploadFileIsEmpty = \"Uploaded file is empty.\",\r\n emptyFiledetected = \"Empty file detected.\",\r\n fileHeaderNotMatched = \"File Header not matched.\",\r\n\r\n recievedDateIsAlreadyUpdated = \"Recieved date is already updated.\",\r\n testAlreadtAdded = \"Test already added\",\r\n //=============\r\n\r\n //====accession====\r\n accessionNotExist = \"Accession not Exist\",\r\n accessionBillingHold = \"Accession billing hold successfully.\",\r\n accessionBillinUnhold = \"Accession billing un-hold successfully.\",\r\n accessionSuccessfullyBackToBillingReview = \"Accession successfully back to billing review.\",\r\n accessionSuccessfullyBillied = \"Accession successfully billed.\",\r\n accessionUnholdSuccessfully = \"Accession unhold successfully.\",\r\n accessionHasNotViewReport = \"This Accession has not view report\",\r\n pleaseReviewAccession = \"Please Review the accession\",\r\n accessionReleasedSuccessfully = \"Accession released successfully.\",\r\n accessionRepetedSuccessfully = \"Accession repeated successfully\",\r\n incorrectAccessionNumber = \"Incorrect Accession number\",\r\n enterAccessionNumberMinimum7andMax9only = \"Enter accession number minimum 7 digit and max 9 only\",\r\n enterAccessionNumberMinimum8andMax9only = \"Enter accession number minimum 8 digit and max 9 only\",\r\n pleaseSelectAccession = \"Please select Accession\",\r\n wrongAccessionNumberNothingToUpdate = \"Wrong accession number. Nothing to update\",\r\n accessionResultAddedSuccessfully = \"Accession result added successfully\",\r\n plateMapCreatedSuccessfully = \"Plate map is created successfully.\",\r\n pleaseEnterCorrectAccession = \"Please enter correct accession\",\r\n cannotMoveAccession = \"Can't move accession \",\r\n standardControlAccessionCannotBeMoved = \"This is the Standard Control Accession, This can't be moved\",\r\n locationIsIncorrectPleaseScanOnDifferentLocation = \"The well location is incorrect, please scan on differnet location\",\r\n noAccessionFoundCheckAccessionNumbers = \"No Accession found. Please check the accession numbers\",\r\n noAccessionMathced = \"No Accession Matched !\",\r\n accessionAlreadyExist = \"Accession already exist\",\r\n uploadFileWithCorrectAccessionNumber = \"Please upload file with correct accession number\",\r\n deficiencyForThisAccessionIsStillPending = \"Deficiency for this accession is still pending. Please clear deficiency to Signoff\",\r\n accessionRangeSaveSuccessfully = \"Accession Range saved successfully\",\r\n rangeMustBeBetween1To46NumbersOnly = \"Range must be between 1 to 46 numbers only.\",\r\n //=============\r\n\r\n //====billing====\r\n billingInformationSave = \"Billing information saved successfully\",\r\n //===============\r\n\r\n //====date====\r\n invalidDob = \"Invalid DOB entered!\",\r\n collectionDateNotEmpty = \"Collection date should not be empty!\",\r\n invalidCollectionDate = \"Invalid collection date entered!\",\r\n orderDateNotEmpty = \"Order date should not be empty!\",\r\n invalidOrderDate = \"Invalid order date entered!\",\r\n receivedDateNotEmpty = \"Received date should not be empty!\",\r\n invalidReceivedDate = \"Invalid received date entered!\",\r\n expiryDateNotEmpty = \"Expiration date should not be empty!\",\r\n invalidExpiryDate = \"Invalid expiry date entered!\",\r\n expiryDateGreatherThenCollectionDate = \"Expiration Date should be greater than collection date\",\r\n enterCorrectDate = \"Please Add correct date..!\",\r\n receivedDateEqualOrGreatherThenCollectionDate = \"Received date will be equal or greater than Collection Date..!\",\r\n pleaseSelectStartDate = \"Please select start date\",\r\n pleaseSelectEndDate = \"Please select end date\",\r\n endDateGreatherThenStartDate = \"End Date should be greater than start date\",\r\n startDateLessThanEndDate = \"Start date should be less than end date.\",\r\n enterValidStartDate = \"Enter valid start date.\",\r\n enterValidEndDate = \"Enter valid end date.\",\r\n startDateEndDateNotEmpty = \"Start Date and End Date should not be empty\",\r\n endDateGreatherThanStartDate = \"End Date should be greater than Start Date\",\r\n cannotEnterFutureDob = \"You can not enter the future date in the DOB\",\r\n cannotEnterDateInTheFuture = \"You cannot enter a date in the future\",\r\n expirationdateGreatherThanTodayDate = \"Expiration date should be greater than today`s date.\",\r\n dateOfPurchaseIsnotValid = \"Date Of Purchase is not valid \",\r\n serviceDueDateIsnotValid = \"Service Due Date is not valid !\",\r\n dateOfLastServiceConductedIsNotValid = \"Date of last service conducted is not valid !\",\r\n\r\n pleaseEnterValidDate = \"Please enter valid dates\",\r\n pleaseSelectValidDate = \"Please select valid dates\",\r\n //============\r\n\r\n //barcode validation error messages\r\n pleaseEnterBarcode = \"Please enter barcode.\",\r\n startRangeBarcode = \"Barcode start range cannot be less than zero.\",\r\n endRangeBarcode = \"Barcode end range cannot be less than zero.\",\r\n endRangeLessThenStartRangeBarcode = \"End barcode range is less then start range.\",\r\n enterStartAndEndRangeBarcode = \"Please enter start and end range barcode.\",\r\n //==================================\r\n\r\n //====batch====\r\n batchCreatedSuccessfully = \"Batch created successfully\",\r\n batchProcessCompletedSuccessfully = \"Batch process completed successfully.\",\r\n selectBatchNo = \"Please select batch no\",\r\n batchInvalidNoRecordUpdated = \"Batch status is invalid, no record updated\",\r\n //=============\r\n\r\n //====freezer====\r\n fromFreezerTemperatureLessThenToFreezerTemperature = \"From Freezer temperature should be less then To Freezer temperature\",\r\n selectAnyShelf = \"Please select any shelf\",\r\n enterNumberOfRacks = \"Please enter number of racks\",\r\n selectAnyStudy = \"Please select any study\",\r\n selectSingleStudyInFile = \"Please Select Single Study in a File !\",\r\n\r\n maximumRackLimitIs50ForEachshelf = \"Maximum rack Limit is 50 for each Shelf\",\r\n //===============\r\n\r\n //====Specimen====\r\n specimenIsNotValid = \"Specimen is not Valid !\",\r\n somethingWentWrongOrSpecimenNotValid = \"something went wrong or specimen not valid !\",\r\n noSpecimenToAssign = \"No specimen to assign !\",\r\n pleaseSelectSpecimenType = \"Please select Specimen Type\",\r\n noSpecimenCreated = \"No Specimen Created !\",\r\n allSpecimenBelongToThisFileIsDisabled = \"All specimen belong to this file is disabled.\",\r\n specimenAndAccessionCreated = \"Specimen and Accessions created\",\r\n allSpecimenAndAccessionBelongToThisFileIsDisabled = \"All specimen and accessions belong to this file is disabled.\",\r\n pleaseEnterCorrectSpecimen = \"Please enter correct specimen\",\r\n //================\r\n}\r\n\r\nexport enum ToastrTitleEnum {\r\n notAuthorized = \"Not Authorized\",\r\n reportError = \"Report Error\",\r\n success = \"Success\",\r\n error = \"Error!\",\r\n commentNotAdded = \"Comment not added!\",\r\n enterValidDob = \"Please enter valid DOB\",\r\n enterValidCollectionDate = \"Please enter valid collection date\",\r\n enterValidOrderDate = \"Please enter valid order date\",\r\n enterValidReceivedDate = \"Please enter valid received date\",\r\n enterValidExpiryDate = \"Please enter valid expiry date\",\r\n expiryDateError = \"Expiry date error!\",\r\n caseAlreadySignedOffAndCompleted = \"This case has been already signed off and completed\",\r\n collectionDateError = \"Collection Date error!\",\r\n receivedDateError = \"Received Date error!\",\r\n orderDateError = \"Ordered Date error!\",\r\n expirationDateError = \"Expiration Date error!\",\r\n enterRackNo = \"Please enter Rack number\",\r\n endDateError = \"End date error!\",\r\n dateError = \"Date error\",\r\n singOffError = \"Sign off Error\",\r\n batchSingOffError = \"Batch sign off error\",\r\n resultAdded = \"Result added!\",\r\n seriesError = \"Series Error\",\r\n reviewedError = \"Reviewed Error\",\r\n reviewed = \"Reviewed\",\r\n workListError = \"Worklist error\",\r\n cleared = \"Cleared\",\r\n result = \"Result\",\r\n resultError = \"Result error\",\r\n enterValidDate = \"Enter valid date.\",\r\n selectValidDate = \"Please select valid dates.\",\r\n labelPrintingError = \"Label Printing error\",\r\n passwordChanged = \"Password Changed!\",\r\n statusUpdate = \"Status Update!\",\r\n accessionNumberError = \"Accession Number Error\",\r\n fileTypeError = \"File Type Error\",\r\n fileUpload = \"File Upload\",\r\n assay_015_ro_sti_6643 = \"ASSAY-015 RO STI-6643\",\r\n clinical = \"Clinical\",\r\n clinicalDRP = \"Clinical DRP\",\r\n\r\n freezerTemperatureError = \"Freezer Temperature Error\",\r\n\r\n validationError = \"Validation Error\",\r\n panelsIsRequired = \"Panels is required!\",\r\n OldPasswordMismatch = \"Old Password Mismatch\",\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n OnChanges,\r\n AfterViewInit\r\n} from \"@angular/core\";\r\nimport { MaterialListComponent } from \"src/app/setUp/setUp3/materialList/materialList.component\";\r\nimport { CommonService } from \"src/app/shared/services/common/commonservice.service\";\r\nimport { ToastrEnum } from \"../constant/toastr-message-enum\";\r\nimport { GenericAuthService } from \"../services/common/genericAuth.service\";\r\nimport { SessionCheck } from \"../services/session/sessioncheck.service\";\r\n\r\n@Component({\r\n selector: \"app-dynamic-table\",\r\n templateUrl: \"./dynamic-table.component.html\",\r\n styleUrls: [\"./dynamic-table.component.css\"],\r\n})\r\nexport class DynamicTableComponent implements OnInit, OnChanges {\r\n @ViewChild(DynamicTableComponent) table: DynamicTableComponent[];\r\n @Output() EditBtnClick = new EventEmitter();\r\n search: any = \"\";\r\n work: any = [];\r\n @Input() workList: any = [];\r\n @Input() columns: any = [];\r\n page = 1;\r\n pager: any = {};\r\n tableHeaderColor: any = \"rgb(53, 135, 216);\";\r\n tableActionColumn: any = ''\r\n searchBtnColor: any = \"btn-primary\";\r\n allDownloadBtnColor: any = 'btn-primary';\r\n downloadBtnColor: any = 'btn-info';\r\n @Input() procName: string = \"\";\r\n @Input() param: any = {};\r\n loggedType: string = '';\r\n downloadExcel: boolean = false;\r\n downloadAllExcel: boolean = false;\r\n searchVal: string;\r\n @Output() searchValueEmitter = new EventEmitter();\r\n constructor(public _commonService: CommonService, private _generic: GenericAuthService, private _sessionCall: SessionCheck) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.workList != undefined) {\r\n setTimeout(() => {\r\n this.workList = changes.workList.currentValue;\r\n this.work = changes.workList.currentValue;\r\n this.setPageNo(this.page, this.workList);\r\n }, 500);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loggedType = this._sessionCall.getLoginLoggedType();\r\n this.tableHeaderColor = this._commonService.getColor(\"tableHeader\", \"ColorCode\");\r\n this.tableActionColumn = this._commonService.getColor('tableActionColumn', 'ColorCode');\r\n this.searchBtnColor = this._commonService.getColor(\"searchButton\", \"ClassName\");\r\n setTimeout(() => {\r\n this.setPageNo(this.page, this.workList);\r\n }, 1000);\r\n this._commonService.downloadExcel.subscribe(res => {\r\n this.downloadExcel = res;\r\n this.downloadAllExcel = res;\r\n });\r\n }\r\n //-------------------Grid Serach----------------------------------------------\r\n searchExistingRecords(search: any) {\r\n this.searchVal= search;\r\n this.searchValueEmitter.emit(this.searchVal)\r\n if (search != \"\") {\r\n const list = this._commonService.searchExistingRecordsFromTable(\r\n search,\r\n this.workList\r\n );\r\n this.table = list;\r\n this.work = list;\r\n this.setPageNo(this.page, this.table);\r\n } \r\n else if (search == \"\") {\r\n this._commonService.getSpinnerShow();\r\n let param = {};\r\n if (this.param != undefined && this.param != null) {\r\n param = this.param;\r\n }\r\n param[\"UserID\"] = 0;\r\n param[\"Search\"] = this.search ? this.search : '';\r\n\r\n this._generic.postMethodWithToken(this.procName, param).subscribe({\r\n next(list) {\r\n fetchData(list);\r\n },\r\n });\r\n const fetchData = (list: any) => {\r\n this._commonService.getSpinnerHide();\r\n this.workList = list;\r\n this.work = list;\r\n this.setPageNo(this.page, this.workList);\r\n if (list.length == 0) {\r\n this._commonService.getWarningToaster(ToastrEnum.noRecord);\r\n }\r\n };\r\n } \r\n else {\r\n this.table = this.workList;\r\n this.setPageNo(this.page, this.table);\r\n }\r\n }\r\n setPageNo(page: number, listData: any) {\r\n this.page = page;\r\n this.pager = this._commonService.getPager(listData.length, page);\r\n if (page < 1 || page > this.pager.totalPages) {\r\n return;\r\n }\r\n if (isNaN(page)) {\r\n page = 1;\r\n }\r\n this.work = listData.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n searchDBRecords() {\r\n try {\r\n this._commonService.getSpinnerShow();\r\n let param = {};\r\n if (this.param != undefined && this.param != null) {\r\n param = this.param;\r\n }\r\n param[\"UserID\"] = 0;\r\n param[\"Search\"] = this.search ? this.search : '';\r\n\r\n this._generic.postMethodWithToken(this.procName, param).subscribe({\r\n next(list) {\r\n fetchData(list);\r\n },\r\n });\r\n const fetchData = (list: any) => {\r\n this._commonService.getSpinnerHide();\r\n this.workList = list;\r\n this.work = list;\r\n this.setPageNo(this.page, this.workList);\r\n if (list.length == 0) {\r\n this._commonService.getWarningToaster(ToastrEnum.noRecord);\r\n }\r\n };\r\n } catch (error) {\r\n this._commonService.getSpinnerHide();\r\n console.log(error);\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n {{item.title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n {{data[item.name]}}\r\n
\r\n
\r\n
0 and workList.length > 0\">\r\n \r\n \r\n
","import { AuthService } from './../services/auth/auth.service';\r\nimport { SessionCheck } from './../services/session/sessioncheck.service';\r\nimport { Component, AfterViewInit, EventEmitter, Output, OnInit } from '@angular/core';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nimport { CommonService } from '../services/common/commonservice.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-navigation',\r\n templateUrl: './navigation.component.html'\r\n})\r\nexport class NavigationComponent implements AfterViewInit, OnInit {\r\n @Output() toggleSidebar = new EventEmitter();\r\n serial: any = '';\r\n license: any = '';\r\n public config: PerfectScrollbarConfigInterface = {};\r\n userName: any = '';\r\n emailID: any = '';\r\n navbarColor: any = '';\r\n color: any = '';\r\n public showSearch = false;\r\n\r\n\r\n constructor(private _sessionCheck: SessionCheck, private _auth: AuthService, public _commonService: CommonService) { }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n ngOnInit() {\r\n this.getInfo();\r\n this.color = this._commonService.getColor('navbarColor', 'ColorName');\r\n this.navbarColor = this._commonService.getColor('navbarColor', 'ColorCode').toString();\r\n }\r\n\r\n getInfo() {\r\n this.userName = this._sessionCheck.getLoginUserName();\r\n this.serial = this._sessionCheck.getSessionStorage('license');\r\n this.license = this._sessionCheck.getSessionStorage('serial');\r\n this.emailID = this._sessionCheck.getSessionStorage('email');\r\n var loginType = this._sessionCheck.getLoginLoggedType();\r\n this._auth.validateSession(loginType);\r\n }\r\n\r\n logout() {\r\n this._sessionCheck.logout(this._sessionCheck.getLoginLoggedType());\r\n localStorage.clear();\r\n }\r\n\r\n open(content) {\r\n this.getInfo();\r\n setTimeout(() => {\r\n this._commonService.openPopupModal(content);\r\n })\r\n }\r\n toggleValue(event: any) {\r\n this._commonService.showHideMobileMenu.next(true)\r\n this.toggleSidebar.emit()\r\n\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n
Serial Number:
\r\n

{{serial}}

\r\n
\r\n
\r\n
Version:
\r\n

{{license}}

\r\n
\r\n
\r\n \r\n
\r\n
","import { CommonService } from './../common/commonservice.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GenericAuthService } from '../common/genericAuth.service';\r\nimport { SessionCheck } from '../session/sessioncheck.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { ConstantRoute } from '../../constant/constant-route';\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class AuthService {\r\n\t_host = '';\r\n\tuserID = 0;\r\n\ttoken = '';\r\n\tSystem_IP: any = '';\r\n\tValidate: any = '';\r\n\trouteChild: any;\r\n\troutemodule: any;\r\n\trouteurl: any;\r\n\tconstructor(\r\n\t\tprivate _auth: GenericAuthService,\r\n\t\tprivate _sessionCall: SessionCheck,\r\n\t\tprivate router: Router,\r\n\t\tprivate toastr: ToastrService,\r\n\t\tpublic _commonService: CommonService,\r\n\t\tprivate _Http: HttpClient,\r\n\t\tprivate _constantRoute: ConstantRoute\r\n\t) {\r\n\t\tthis.getIpCliente().subscribe((data) => {\r\n\t\t\tthis.System_IP = data;\r\n\t\t});\r\n\t}\r\n\r\n\t//Lock user check\r\n\tcheckUserLock(user, pwd): Observable {\r\n\t\ttry {\r\n\t\t\tconst param = {\r\n\t\t\t\tUserID: 0,\r\n\t\t\t\tUserName: user,\r\n\t\t\t\tPassword: pwd,\r\n\t\t\t};\r\n\t\t\treturn new Observable(observer => {\r\n\t\t\t\tthis._auth.postMethodWithToken('dbo.SP_AuthenticateUser', param)\r\n\t\t\t\t\t.subscribe((status) => {\r\n\t\t\t\t\t\tobserver.next(status);\r\n\t\t\t\t\t\tobserver.complete();\r\n\t\t\t\t\t})\r\n\t\t\t});\r\n\t\t} catch (error) {\r\n\t\t\tthis._commonService.handleError(error, this._sessionCall, this.toastr)\r\n\t\t}\r\n\t}\r\n\t// login method\r\n\tloginUser(username: any, password: any, type: any): void {\r\n\t\tvar params = {\r\n\t\t\tUserName: username,\r\n\t\t\tPassword: password,\r\n\t\t\tRole: '',\r\n\t\t\tUserID: 0\r\n\t\t};\r\n\t\tvar sp = this._sessionCall.getEncryptedDataSSN('dbo.SP_AuthenticateUser');\r\n\t\tsp = sp.replace(/[/]/g, 'sLash');\r\n\t\tsp = sp.replace(/[=]/g, 'equalTo');\r\n\t\tsp = sp.replace(/[+]/g, 'pLus');\r\n\t\tconst _spUrl = sp + '/other/auth';\r\n\t\tvar param = JSON.stringify(params)\r\n\t\tparam = this._sessionCall.getEncryptedSPValues(param);\r\n\t\tparam = param.replace(/[/]/g, 'sLash');\r\n\t\tparam = param.replace(/[=]/g, 'equalTo');\r\n\t\tparam = param.replace(/[+]/g, 'pLus');\r\n\t\tvar secureParam = {\r\n\t\t\tParam: param\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tthis._auth.postMethodWithoutToken(_spUrl, secureParam)\r\n\t\t\t\t.subscribe((response) => {\r\n\t\t\t\t\tconst header = response.headers;\r\n\t\t\t\t\tconst body = response.body;\r\n\t\t\t\t\tif (body.Access === 'UnAuthorized') {\r\n\t\t\t\t\t\tthis.loginLogDetailofUser(username, 0, 'Failed')\r\n\t\t\t\t\t\tthis.toastr.error('Incorrect username password.', 'Login Error');\r\n\t\t\t\t\t\tthis._commonService.getSpinnerHide();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (type == 1 && body.Role.toLowerCase() !== 'remote' || type == 0 && body.Role.toLowerCase() === 'remote') {\r\n\t\t\t\t\t\t\tthis.toastr.error('Incorrect username password.', 'Login Error');\r\n\t\t\t\t\t\t\tthis._commonService.getSpinnerHide();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tif (body.Access === 'Authorized') {\r\n\t\t\t\t\t\t\t\tconst tokenID = header.get('Token');\r\n\t\t\t\t\t\t\t\tif (tokenID !== null) {\r\n\t\t\t\t\t\t\t\t\tconst toArray = tokenID.split(':');\r\n\t\t\t\t\t\t\t\t\tthis.userID = toArray[1];\r\n\t\t\t\t\t\t\t\t\tthis.token = toArray[0];\r\n\t\t\t\t\t\t\t\t\tconst tokenExpiry = response.headers.get('TokenExpiry');\r\n\t\t\t\t\t\t\t\t\tif (this.token != null && this.userID != null && tokenExpiry != null) {\r\n\t\t\t\t\t\t\t\t\t\tthis._sessionCall.setSessionStorage('menuName', body.Menu);\r\n\t\t\t\t\t\t\t\t\t\tthis._sessionCall.setSessionStorage('colorData', body.colorData);\r\n\t\t\t\t\t\t\t\t\t\tthis._sessionCall.setSessionStorage('RoutePermission', body.RoutePermission);\r\n\t\t\t\t\t\t\t\t\t\tthis._sessionCall.setSessionStorage('userId', this.userID);\r\n\t\t\t\t\t\t\t\t\t\tthis._sessionCall.setSessionStorage('token', this.token);\r\n\t\t\t\t\t\t\t\t\t\tthis._sessionCall.setSessionStorage('UserFullName', body.Name);\r\n\t\t\t\t\t\t\t\t\t\tthis._sessionCall.setSessionStorage('UserName', body.UserName);\r\n\t\t\t\t\t\t\t\t\t\tthis._sessionCall.setSessionStorage('Role', body.Role);\r\n\t\t\t\t\t\t\t\t\t\tthis._sessionCall.setSessionStorage('email', body.EmailID);\r\n\t\t\t\t\t\t\t\t\t\tthis._sessionCall.setSessionStorage('IsSignOffZymo', body.IsSignOffZymo);\r\n\t\t\t\t\t\t\t\t\t\tthis._sessionCall.setSessionStorage('logout', '');\r\n\t\t\t\t\t\t\t\t\t\tthis.routeChild = body.childURL;\r\n\t\t\t\t\t\t\t\t\t\tthis.routemodule = body.ModuleName;\r\n\t\t\t\t\t\t\t\t\t\tthis.routeurl = this.routemodule + '/' + this.routeChild;\r\n\t\t\t\t\t\t\t\t\t\tthis.loginLogDetailofUser(username, 0, 'Success')\r\n\t\t\t\t\t\t\t\t\t\tif (type === 0 && body.Role.toUpperCase() !== 'MASTERADMIN') {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.toastr.success('Welcome to the Dashboard', 'Login Successful');\r\n\t\t\t\t\t\t\t\t\t\t\tthis.getLicenseDetail();\r\n\t\t\t\t\t\t\t\t\t\t\treturn (this.getUserRole(this.routemodule))\r\n\t\t\t\t\t\t\t\t\t\t} else if (type === 0 && body.Role.toUpperCase().toUpperCase() == 'MASTERADMIN') {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (this.router.navigate([this._constantRoute.master2UrlPaths().dashBoard]))\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tthis.getLicenseDetail();\r\n\t\t\t\t\t\t\t\t\t\tif (type === 1) {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.ipValidate(this.System_IP).subscribe((result) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.Validate = result;\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (this.Validate > 0) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.remoteLoginCheck();\r\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.toastr.error('Access denied.', 'Login Error');\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis._commonService.getSpinnerHide();\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tthis.toastr.error('Incorrect username password.', 'Login Error');\r\n\t\t\t\t\t\t\t\t\tthis._commonService.getSpinnerHide();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.toastr.error('Incorrect username password.', 'Login Error');\r\n\t\t\t\t\t\t\t\tthis._commonService.getSpinnerHide();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t} catch (error) {\r\n\t\t\tthis._commonService.getSpinnerHide();\r\n\t\t\tthis._commonService.handleError(error, this._sessionCall, this.toastr)\r\n\t\t}\r\n\t}\r\n\tgetUserRole = (router) => {\r\n\t\tswitch (router) {\r\n\t\t\tcase router: {\r\n\t\t\t\tthis.router.navigate([this.routeurl])\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tthis.router.navigate([this._constantRoute.main1UrlPaths().mainDashboard])\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t//Wrong user log detail save \r\n\tloginLogDetailofUser(user: any, userid: any, status: any) {\r\n\t\ttry {\r\n\r\n\t\t\tvar sBrowser, sUsrAg = navigator.userAgent;\r\n\r\n\t\t\t//The order matters here, and this may report false positives for unlisted browsers.\r\n\r\n\t\t\tif (sUsrAg.indexOf(\"Firefox\") > -1) {\r\n\t\t\t\tsBrowser = \"Mozilla Firefox\";\r\n\t\t\t\t//\"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0\"\r\n\t\t\t} else if (sUsrAg.indexOf(\"Opera\") > -1) {\r\n\t\t\t\tsBrowser = \"Opera\";\r\n\t\t\t} else if (sUsrAg.indexOf(\"Trident\") > -1) {\r\n\t\t\t\tsBrowser = \"Microsoft Internet Explorer\";\r\n\t\t\t\t//\"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Zoom 3.6.0; wbx 1.0.0; rv:11.0) like Gecko\"\r\n\t\t\t} else if (sUsrAg.indexOf(\"Edge\") > -1) {\r\n\t\t\t\tsBrowser = \"Microsoft Edge\";\r\n\t\t\t\t//\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299\"\r\n\t\t\t} else if (sUsrAg.indexOf(\"Chrome\") > -1) {\r\n\t\t\t\tsBrowser = \"Google Chrome or Chromium\";\r\n\t\t\t\t//\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/66.0.3359.181 Chrome/66.0.3359.181 Safari/537.36\"\r\n\t\t\t} else if (sUsrAg.indexOf(\"Safari\") > -1) {\r\n\t\t\t\tsBrowser = \"Apple Safari\";\r\n\t\t\t\t//\"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1 980x1306\"\r\n\t\t\t} else {\r\n\t\t\t\tsBrowser = \"unknown\";\r\n\t\t\t}\r\n\r\n\t\t\tconst param = {\r\n\t\t\t\t\"UserID\": userid ? userid : 0,\r\n\t\t\t\t\"UserName\": user,\r\n\t\t\t\t\"Browser\": sBrowser,\r\n\t\t\t\t\"System_IP\": this.System_IP,\r\n\t\t\t\t\"Status\": status,\r\n\t\t\t\t\"IsActive\": true,\r\n\t\t\t\t\"CreatedDate\": \"\",\r\n\t\t\t\t\"CreatedUserID\": userid ? userid : 0,\r\n\t\t\t\t\"ModifiedDate\": \"\",\r\n\t\t\t\t\"ModifiedUserID\": userid ? userid : 0\r\n\t\t\t};\r\n\t\t\treturn new Observable(observer => {\r\n\t\t\t\tthis._auth.postMethodWithTokenParam('dbo.SP_Create_LoginLogDetail/other/auth/check/function/change/common', param)\r\n\t\t\t\t\t.subscribe((list) => {\r\n\t\t\t\t\t\tobserver.next(list);\r\n\t\t\t\t\t\tobserver.complete();\r\n\t\t\t\t\t})\r\n\t\t\t});\r\n\t\t} catch (error) {\r\n\t\t\tthis._commonService.handleError(error, this._sessionCall, this.toastr)\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tipValidate(IP: any) {\r\n\r\n\t\tconst param = {\r\n\t\t\t\"IP\": IP,\r\n\t\t};\r\n\t\treturn new Observable(observer => {\r\n\t\t\tthis._auth.postMethodWithToken('dbo.getIPValidate', param)\r\n\t\t\t\t.subscribe((response) => {\r\n\t\t\t\t\tobserver.next(response[0].count);\r\n\t\t\t\t\tobserver.complete();\r\n\t\t\t\t})\r\n\t\t});\r\n\t}\r\n\r\n\tgetIpCliente(): Observable {\r\n\r\n\t\ttry {\r\n\t\t\treturn this._Http.get('https://api.ipify.org/?format=jsonp&callback=JSONP_CALLBACK', { responseType: 'text' }) // ...using post request '\r\n\t\t\t\t.pipe(map((res: any) => {\r\n\t\t\t\t\tlet ipVar = res;\r\n\t\t\t\t\tlet num = ipVar.indexOf(\":\");\r\n\t\t\t\t\tlet num2 = ipVar.indexOf(\"\\\"});\");\r\n\t\t\t\t\tipVar = ipVar.slice(num + 2, num2);\r\n\t\t\t\t\tconsole.log(ipVar);\r\n\t\t\t\t\treturn ipVar\r\n\t\t\t\t})); // ...and calling .json() on the response to return data\r\n\t\t} catch (error) {\r\n\r\n\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t//License details fetching\r\n\tgetLicenseDetail() {\r\n\t\ttry {\r\n\t\t\tconst param = {\r\n\t\t\t\tUserID: 0,\r\n\t\t\t};\r\n\t\t\tthis._auth.postMethodWithToken('dbo.SP_GetLicenseDetail', param)\r\n\t\t\t\t.subscribe((license) => {\r\n\t\t\t\t\tif (license.length > 0) {\r\n\t\t\t\t\t\tthis._sessionCall.setSessionStorage('license', license[0].SerialNo);\r\n\t\t\t\t\t\tthis._sessionCall.setSessionStorage('serial', license[0].VersionNo);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tthis._commonService.handleError(error, this._sessionCall, this.toastr)\r\n\t\t}\r\n\t}\r\n\tGetAllSubscriptionHours() {\r\n\t\ttry {\r\n\t\t\tconst param = {\r\n\t\t\t\tUserID: 0,\r\n\t\t\t};\r\n\t\t\tthis._auth.postMethodWithToken('dbo.sp_GetAllSubscriptionHours', param)\r\n\t\t\t\t.subscribe((hours) => {\r\n\t\t\t\t\tif (hours.length > 0) {\r\n\t\t\t\t\t\tlet daysRemain = hours[0].TimeRemaining;\r\n\t\t\t\t\t\tthis._sessionCall.setSessionStorage('timeRemaining', daysRemain);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tthis._commonService.handleError(error, this._sessionCall, this.toastr)\r\n\t\t}\r\n\t}\r\n\tvalidateSessionLogin() {\r\n\t\tthis._commonService.getSpinnerShow();\r\n\t\ttry {\r\n\t\t\tconst param = {\r\n\t\t\t\tUserID: 0,\r\n\t\t\t\tToken: this._sessionCall.getToken() ? this._sessionCall.getToken() : ''\r\n\t\t\t};\r\n\t\t\tthis._auth.postMethodWithToken('dbo.SP_ValidateToken_clientSide', param)\r\n\t\t\t\t.subscribe((session) => {\r\n\r\n\t\t\t\t\tthis._commonService.getSpinnerHide();\r\n\t\t\t\t\tif (session.length > 0) {\r\n\r\n\t\t\t\t\t\tvar access = session[0].Status;\r\n\t\t\t\t\t\tif (access == \"Access\") {\r\n\t\t\t\t\t\t\tvar loginType = this._sessionCall.getLoginLoggedType();\r\n\t\t\t\t\t\t\tif (loginType == 'Remote' || loginType == 'remote') {\r\n\t\t\t\t\t\t\t\tthis._sessionCall.logout(loginType);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.router.navigate([this._constantRoute.main1UrlPaths().mainDashboard]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.router.navigate([this._constantRoute.authenticationUrlPaths().login]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis._sessionCall.logout('Admin');\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tthis._commonService.getSpinnerHide();\r\n\t\t\tthis._commonService.handleError(error, this._sessionCall, this.toastr)\r\n\t\t}\r\n\t}\r\n\tvalidateSession(type) {\r\n\t\ttry {\r\n\t\t\ttype = this._sessionCall.getLoginLoggedType();\r\n\t\t\tconst param = {\r\n\t\t\t\tUserID: 0,\r\n\t\t\t\tToken: this._sessionCall.getToken()\r\n\t\t\t};\r\n\t\t\tthis._auth.postMethodWithToken('dbo.SP_ValidateToken_clientSide', param)\r\n\t\t\t\t.subscribe((session) => {\r\n\r\n\t\t\t\t\tif (session.length > 0) {\r\n\t\t\t\t\t\tvar access = session[0].Status;\r\n\t\t\t\t\t\tif (access == \"Access\") {\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis._sessionCall.logout(type);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis._sessionCall.logout(type);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tthis._commonService.handleError(error, this._sessionCall, this.toastr)\r\n\t\t}\r\n\t}\r\n\tAddEditUserPrivacyPolicy(userPrivacyPolicy): Observable {\r\n\t\ttry {\r\n\t\t\tconst param = {\r\n\t\t\t\t'UserID': 0,\r\n\t\t\t\t'UserPrivacyPolicyID': userPrivacyPolicy.userPrivacyPolicyID,\r\n\t\t\t\t'TermsOfUse': userPrivacyPolicy.acceptTerms,\r\n\t\t\t\t'PrivacyPolicy': userPrivacyPolicy.Policy,\r\n\t\t\t\t'AccessPortal': userPrivacyPolicy.Portal,\r\n\t\t\t};\r\n\t\t\treturn new Observable(observer => {\r\n\t\t\t\tthis._auth.postMethodWithToken('dbo.SP_Create_UserPrivacyPolicy', param)\r\n\t\t\t\t\t.subscribe((list) => {\r\n\t\t\t\t\t\tobserver.next(list);\r\n\t\t\t\t\t\tobserver.complete();\r\n\t\t\t\t\t});\r\n\t\t\t});\r\n\t\t} catch (error) {\r\n\t\t\tthis._commonService.handleError(error, this._sessionCall, this.toastr);\r\n\t\t}\r\n\t}\r\n\tgetUserPrivacyPolicyList(): Observable {\r\n\t\ttry {\r\n\t\t\tconst param = {\r\n\t\t\t\t\"UserID\": 0,\r\n\t\t\t};\r\n\t\t\treturn new Observable(observer => {\r\n\t\t\t\tthis._auth.postMethodWithToken('dbo.SP_getAllUserPrivacyPolicy', param)\r\n\t\t\t\t\t.subscribe((list) => {\r\n\t\t\t\t\t\tobserver.next(list[0]);\r\n\t\t\t\t\t\tobserver.complete();\r\n\t\t\t\t\t})\r\n\t\t\t});\r\n\t\t} catch (error) {\r\n\t\t\tthis._commonService.handleError(error, this._sessionCall, this.toastr)\r\n\t\t}\r\n\t}\r\n\tremoteLoginCheck() {\r\n\t\tthis.getUserPrivacyPolicyList().subscribe({\r\n\t\t\tnext(list) {\r\n\t\t\t\tif (list === undefined) {\r\n\t\t\t\t\tprivacyPolicy();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tfetchData(list);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t\tconst privacyPolicy = () => {\r\n\t\t\tthis._commonService.getSpinnerHide();\r\n\t\t\tthis.router.navigate([this._constantRoute.authenticationUrlPaths().legalPolicy]);\r\n\t\t};\r\n\t\tconst fetchData = (list: any) => {\r\n\t\t\tthis._commonService.getSpinnerHide();\r\n\t\t\tif (list.TermsOfUse && list.PrivacyPolicy && list.AccessPortal) {\r\n\t\t\t\tif (this.routemodule != null) {\r\n\t\t\t\t\tthis.router.navigate([this.routeurl]);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.router.navigate([this._constantRoute.main1UrlPaths().mainDashboard]);\r\n\t\t\t\t}\r\n\t\t\t\tthis.toastr.success('Welcome to the Dashboard', 'Login Successful');\r\n\t\t\t} else {\r\n\t\t\t\tthis.router.navigate([this._constantRoute.authenticationUrlPaths().legalPolicy]);\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n}\r\n\r\n","import { Injectable, OnDestroy, OnInit, TemplateRef } from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\nimport {\r\n BehaviorSubject,\r\n Observable,\r\n Subject,\r\n Subscription,\r\n throwError,\r\n} from \"rxjs\";\r\nimport { SessionCheck } from \"../session/sessioncheck.service\";\r\nimport { catchError, filter, map } from \"rxjs/operators\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport \"rxjs/add/observable/interval\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { FormControl, FormGroup } from \"@angular/forms\";\r\nimport { IdleSessionTimeout } from \"idle-session-timeout\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport * as _ from \"underscore\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class CommonService implements OnInit, OnDestroy {\r\n time: any;\r\n httpLink = \"\";\r\n _url = \"\";\r\n origin = window.location.origin + \"/\";\r\n previousUrl: any = \"\";\r\n userActivity: any;\r\n userInactive: Subject = new Subject();\r\n data = [];\r\n interval: any;\r\n globalListenFunc: Function;\r\n subscription: Subscription;\r\n _docLink = \"\";\r\n _newapiLink = \"\";\r\n session = new IdleSessionTimeout(900000);\r\n redirectionPage = new BehaviorSubject(false);\r\n downloadExcel = new BehaviorSubject(false);\r\n downloadAllExcel = new BehaviorSubject(false);\r\n isDataAvailable = new BehaviorSubject(false);\r\n billType = new BehaviorSubject(0);\r\n billErrorType = new BehaviorSubject(0);\r\n onHoldBillType = new BehaviorSubject(0);\r\n showHideMobileMenu = new BehaviorSubject(false);\r\n closeModal: any = TemplateRef;\r\n screenSize = new BehaviorSubject(window.innerWidth);\r\n pageMaxSize: any = \"2\";\r\n constructor(\r\n private _sessionCall: SessionCheck,\r\n private router: Router,\r\n private _Http: HttpClient,\r\n private _toastrService: ToastrService,\r\n private spinner: NgxSpinnerService,\r\n private modalService: NgbModal,\r\n ) {\r\n switch (this.origin) {\r\n case \"http://localhost:4200/\":\r\n // this.httpLink = \"http://108.181.193.152:7778/\";\r\n // this._newapiLink = \"https://localhost:7002/\";\r\n // this.httpLink = \"http://108.181.193.152:9967/\";\r\n // this.httpLink = \"http://localhost:8062/\";\r\n // this._newapiLink = \"http://108.181.193.152:9968/\";\r\n this.httpLink = \"https://api.limshugenx.com/\";\r\n this._newapiLink = \"https://report.limshugenx.com/\";\r\n this._docLink = \"https://sorrentostaginghelp.hugenxlis.com/\";\r\n break;\r\n\r\n case \"https://hugenxdemo.hugenxlis.com/\":\r\n this.httpLink = \"https://hugenxdemoapi.hugenxlis.com/\";\r\n this._newapiLink = \"https://hugenxdemoreportapi.hugenxlis.com/\";\r\n this._docLink = \"https://sorrentostaginghelp.hugenxlis.com/\";\r\n break;\r\n\r\n case \"http://108.181.193.152:9966/\":\r\n this.httpLink = \"http://108.181.193.152:9967/\";\r\n this._newapiLink = \"http://108.181.193.152:9968/\";\r\n this._docLink = \"https://sorrentostaginghelp.hugenxlis.com/\";\r\n break;\r\n case \"https://limshugenx.com\":\r\n this.httpLink = \"https://api.limshugenx.com/\";\r\n this._newapiLink = \"https://report.limshugenx.com/\";\r\n this._docLink = \"https://sorrentostaginghelp.hugenxlis.com/\";\r\n break;\r\n case \"https://limshugenx.com/\":\r\n this.httpLink = \"https://api.limshugenx.com/\";\r\n this._newapiLink = \"https://report.limshugenx.com/\";\r\n this._docLink = \"https://sorrentostaginghelp.hugenxlis.com/\";\r\n break;\r\n case \"http://108.181.193.152:7777/\":\r\n this.httpLink = \"http://108.181.193.152:9967/\";\r\n this._newapiLink = \"http://108.181.193.152:9968/\";\r\n break;\r\n }\r\n\r\n this.router.events\r\n .pipe(filter((event) => event instanceof NavigationEnd))\r\n .subscribe((event: NavigationEnd) => {\r\n const customEvent = {\r\n id: event.id,\r\n url: event.url,\r\n urlAfterRedirects: event.urlAfterRedirects,\r\n };\r\n if (this._sessionCall.getSessionStorage(\"loggEvent\")) {\r\n this.data = JSON.parse(\r\n this._sessionCall.getSessionStorage(\"loggEvent\")\r\n );\r\n this.data.push(customEvent);\r\n _sessionCall.setSessionStorage(\r\n \"loggEvent\",\r\n JSON.stringify(this.data)\r\n );\r\n } else {\r\n this.data.push(customEvent);\r\n this._sessionCall.setSessionStorage(\r\n \"loggEvent\",\r\n JSON.stringify(this.data)\r\n );\r\n }\r\n this.eventlogService();\r\n });\r\n }\r\n getColor(type: any, element: any) {\r\n var colorData =\r\n this._sessionCall.getSessionStorage(\"colorData\") != null ||\r\n this._sessionCall.getSessionStorage(\"colorData\") != \"undefined\"\r\n ? this._sessionCall.getSessionStorage(\"colorData\")\r\n : \"\";\r\n\r\n if (colorData != \"\" && colorData != \"undefined\" && colorData.length > 0) {\r\n return JSON.parse(colorData).filter((x) => x.CategoryName == type)[0][\r\n element\r\n ]\r\n ? JSON.parse(colorData).filter((x) => x.CategoryName == type)[0][\r\n element\r\n ]\r\n : \"\";\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n //Spinner service for dynamically use - Gaurav\r\n getSpinnerShow() {\r\n this.spinner.show();\r\n }\r\n getSpinnerHide() {\r\n this.spinner.hide();\r\n }\r\n\r\n //Toaster Service for dynamically use - Gaurav\r\n\r\n getSuccessToaster(title = \"\", body = \"\") {\r\n this._toastrService.success(title, body);\r\n }\r\n\r\n getWarningToaster(title = \"\", body = \"\") {\r\n this._toastrService.warning(title, body);\r\n }\r\n\r\n getErrorToaster(title = \"\", body = \"\") {\r\n this._toastrService.error(title, body);\r\n }\r\n\r\n //Modal Service for dunamically use - Gaurav\r\n\r\n openPopupModal(content) {\r\n return (this.closeModal = this.modalService.open(content, {\r\n windowClass: \"report_upload-class dark-modal\",\r\n backdrop: \"static\",\r\n }));\r\n }\r\n closeModel() {\r\n this.closeModal.close();\r\n }\r\n ModaldismissAll() {\r\n this.modalService.dismissAll();\r\n }\r\n\r\n docUrlSet(step) {\r\n return \"HelpDocs/\" + step + \"#toolbar=0\";\r\n }\r\n ngOnInit() { }\r\n ngOnDestroy() { }\r\n\r\n GetHost() {\r\n return this.httpLink;\r\n }\r\n\r\n GetOrigin() {\r\n return this.origin;\r\n }\r\n GetNewApiOrigin() {\r\n return this._newapiLink;\r\n }\r\n // error handling\r\n handleError(error, _sessionCall, _notification) {\r\n const _ = this;\r\n try {\r\n let errorMessage = \"\";\r\n const statusCode = error.status;\r\n if (this.data.length != 0) {\r\n this.insertEventLog(JSON.stringify(this.data)).subscribe();\r\n this._sessionCall.setSessionStorage(\r\n \"loggEvent\",\r\n JSON.stringify((this.data = []))\r\n );\r\n }\r\n if (statusCode === \"401\" || statusCode === 401) {\r\n _sessionCall.logout(this._sessionCall.getLoginLoggedType());\r\n } else {\r\n const err = error.error;\r\n if (err instanceof ErrorEvent) {\r\n // client-side error\r\n errorMessage = `Error: ${err.message}`;\r\n } else {\r\n // server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${err.Message}`;\r\n const statusCode = error.status;\r\n if (statusCode === \"401\" || statusCode === 401) {\r\n _sessionCall.logout(this._sessionCall.getLoginLoggedType());\r\n } else {\r\n _notification.error(err.ExceptionMessage, errorMessage);\r\n console.log(err.ExceptionMessage);\r\n console.log(errorMessage);\r\n }\r\n }\r\n return throwError(error);\r\n }\r\n } catch (error) {\r\n this.captureError(error);\r\n }\r\n }\r\n\r\n handleError_v2(error, _sessionCall, _notification) {\r\n const _ = this;\r\n try {\r\n let errorMessage = \"\";\r\n const statusCode = error.status;\r\n if (this.data.length != 0) {\r\n this.insertEventLog(JSON.stringify(this.data)).subscribe();\r\n this._sessionCall.setSessionStorage(\r\n \"loggEvent\",\r\n JSON.stringify((this.data = []))\r\n );\r\n }\r\n if (statusCode === \"401\" || statusCode === 401) {\r\n _sessionCall.logout(this._sessionCall.getLoginLoggedType());\r\n } else {\r\n const err = error.error;\r\n errorMessage = `Error: ${err}`;\r\n _notification.error(\"\", errorMessage);\r\n return throwError(error);\r\n }\r\n } catch (error) {\r\n this.captureError(error);\r\n }\r\n }\r\n captureError(error) {\r\n let record = {\r\n exception: error.stack ? error.stack : \"\",\r\n exceptionCode: error.status ? error.status : \"\",\r\n message: error.message ? error.message : \"\",\r\n url: this.router.url,\r\n };\r\n this.errorCapturer(record).subscribe((result) => {\r\n if (record.message != \"\") {\r\n this._toastrService.error(error.message);\r\n }\r\n });\r\n }\r\n eventlogService() {\r\n this.addEventToDatabase();\r\n }\r\n lockTheLISSite() {\r\n var __ = this;\r\n var lastUrl = window.location.hash.replace(\"#\", \"\");\r\n this._sessionCall.setSessionStorage(\"LastUrl\", lastUrl);\r\n\r\n this.session.reset();\r\n this.session.onTimeOut = () => {\r\n // here you can call your server to log out the user\r\n\r\n this.router.navigate([\"/authentication/lock\"]);\r\n };\r\n\r\n this.session.onTimeLeftChange = (timeLeft) => {\r\n // this will notify you each second about the time left before the timeout\r\n };\r\n\r\n this.session.start();\r\n }\r\n\r\n sessionReset() {\r\n this.session.reset();\r\n }\r\n sessionDispose() {\r\n this.session.dispose();\r\n }\r\n\r\n addEventToDatabase() {\r\n if (this._sessionCall.getToken()) {\r\n this.insertEventLog(JSON.stringify(this.data)).subscribe(() => {\r\n this.data = [];\r\n this._sessionCall.setSessionStorage(\r\n \"loggEvent\",\r\n JSON.stringify(this.data)\r\n );\r\n });\r\n }\r\n }\r\n insertEventLog(jsonData): Observable {\r\n try {\r\n const param = {\r\n UserID: 0,\r\n jsonData: jsonData,\r\n };\r\n return new Observable((observer) => {\r\n this.postMethodWithToken_v3(\r\n this.httpLink,\r\n \"dbo.SP_CreateEventLogJson\",\r\n param\r\n ).subscribe((list) => {\r\n observer.next(list);\r\n observer.complete();\r\n });\r\n });\r\n } catch (error) {\r\n this.captureError(error);\r\n }\r\n }\r\n postMethodWithToken_v3(_host: any, sp: any, param: any): Observable {\r\n try {\r\n let token = \"\";\r\n if (this._sessionCall.getToken()) {\r\n token = this._sessionCall.getToken();\r\n }\r\n if (this._sessionCall.getLoginUserID()) {\r\n param.UserID = this._sessionCall.getLoginUserID();\r\n }\r\n sp = this._sessionCall.getEncryptedSPValues(sp);\r\n sp = sp.replace(/[/]/g, \"sLash\");\r\n sp = sp.replace(/[=]/g, \"equalTo\");\r\n sp = sp.replace(/[+]/g, \"pLus\");\r\n param = JSON.stringify(param);\r\n param = this._sessionCall.getEncryptedSPValues(param);\r\n param = param.replace(/[/]/g, \"sLash\");\r\n param = param.replace(/[=]/g, \"equalTo\");\r\n param = param.replace(/[+]/g, \"pLus\");\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n Token: token,\r\n }),\r\n observe: \"response\" as \"response\",\r\n };\r\n const secureParam = {\r\n Param: param,\r\n };\r\n this._url = this.httpLink + sp + \"/json\";\r\n return this._Http.post(this._url, secureParam, httpOptions).pipe(\r\n map((data: any) => {\r\n if (data.status == 200) {\r\n return data.body.ResultSets[0];\r\n }\r\n }),\r\n catchError((error) => {\r\n this.spinner.hide();\r\n //please don't remove this console. If you use \"this.captureError(error)\" then it will throw error in loop.\r\n // console.log(error)\r\n return error;\r\n })\r\n );\r\n } catch (error) {\r\n this.spinner.hide();\r\n //please don't remove this console. If you use \"this.captureError(error)\" then it will throw error in loop.\r\n console.log(error);\r\n }\r\n }\r\n\r\n validateAllFormFields(formGroup: FormGroup) {\r\n // {1}\r\n Object.keys(formGroup.controls).forEach((field) => {\r\n // {2}\r\n const control = formGroup.get(field); // {3}\r\n if (control instanceof FormControl) {\r\n // {4}\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) {\r\n // {5}\r\n this.validateAllFormFields(control); // {6}\r\n }\r\n });\r\n }\r\n\r\n addEditUploadedWrongFile(record, accessionType): Observable {\r\n try {\r\n const param = {\r\n UserID: 0,\r\n Document: \"Document\",\r\n fileName: record.fileName,\r\n fileType: record.fileType,\r\n fileBase64: record.fileBase64,\r\n uploadUrl: record.uploadUrl,\r\n ErrorDesc: record.ErrorDesc,\r\n accessionType: accessionType,\r\n };\r\n return new Observable((observer) => {\r\n this.postMethodWithToken_v3(\r\n this.httpLink,\r\n \"dbo.SP_AddEditUploadedWrongFile\",\r\n param\r\n ).subscribe((list) => {\r\n observer.next(list);\r\n observer.complete();\r\n });\r\n });\r\n } catch (error) {\r\n this.captureError(error);\r\n }\r\n }\r\n\r\n addEditUploadedWrongFileCommon(record): Observable {\r\n try {\r\n const param = {\r\n UserID: 0,\r\n Document: \"Document\",\r\n fileName: record.fileName,\r\n fileType: record.fileType,\r\n fileBase64: record.fileBase64,\r\n uploadUrl: record.uploadUrl,\r\n ErrorDesc: record.ErrorDesc,\r\n menuType: record.menuType,\r\n };\r\n return new Observable((observer) => {\r\n this.postMethodWithToken_v3(\r\n this.httpLink,\r\n \"dbo.SP_AddEditUploadedWrongFileCommon\",\r\n param\r\n ).subscribe((list) => {\r\n observer.next(list);\r\n observer.complete();\r\n });\r\n });\r\n } catch (error) {\r\n this.captureError(error);\r\n }\r\n }\r\n\r\n errorCapturer(record): Observable {\r\n try {\r\n const param = {\r\n UserID: 0,\r\n exception: record.exception,\r\n exceptionCode: record.exceptionCode,\r\n message: record.message,\r\n url: record.url,\r\n };\r\n return new Observable((observer) => {\r\n this.postMethodWithToken_v3(\r\n this.httpLink,\r\n \"dbo.SP_addAngularException\",\r\n param\r\n ).subscribe((list) => {\r\n observer.next(list);\r\n observer.complete();\r\n });\r\n });\r\n } catch (error) {\r\n //please don't remove this console. If you use \"this.captureError(error)\" then it will throw error in loop.\r\n console.log(error);\r\n }\r\n }\r\n\r\n getPrintLabelSize(testID) {\r\n var smallLabel = [\r\n { TestID: 6, TestCode: \"1002\" },\r\n { TestID: 9, TestCode: \"1005\" },\r\n { TestID: 2, TestCode: \"1001\" },\r\n { TestID: 14, TestCode: \"1010\" },\r\n { TestID: 11, TestCode: \"1007\" },\r\n { TestID: 16, TestCode: \"1012\" },\r\n { TestID: 17, TestCode: \"1013\" },\r\n { TestID: 18, TestCode: \"1014\" },\r\n { TestID: 12, TestCode: \"1009\" },\r\n { TestID: 15, TestCode: \"1011\" },\r\n { TestID: 19, TestCode: \"1015\" },\r\n { TestID: 20, TestCode: \"1016\" },\r\n { TestID: 21, TestCode: \"1017\" },\r\n ];\r\n var largeLabel = [\r\n { TestID: 7, TestCode: \"1003\" },\r\n { TestID: 10, TestCode: \"1006\" },\r\n { TestID: 13, TestCode: \"1008\" },\r\n { TestID: 1, TestCode: \"1000\" },\r\n ];\r\n var labelSize = \"\";\r\n\r\n var checkLabelSmall = smallLabel.filter((m) => m.TestID === testID);\r\n var checkLabelLarge = largeLabel.filter((m) => m.TestID === testID);\r\n\r\n if (checkLabelSmall.length > 0) {\r\n labelSize = \"Small\";\r\n } else if (checkLabelLarge.length > 0) {\r\n labelSize = \"Large\";\r\n }\r\n return labelSize;\r\n }\r\n\r\n getPager(totalItems: number, currentPage: number = 1, pageSize: number = 10) {\r\n // calculate total pages\r\n const totalPages = Math.ceil(totalItems / pageSize);\r\n let startPage: number, endPage: number;\r\n if (totalPages <= 10) {\r\n // less than 10 total pages so show all\r\n startPage = 1;\r\n endPage = totalPages;\r\n } else {\r\n // more than 10 total pages so calculate start and end pages\r\n if (currentPage <= 6) {\r\n startPage = 1;\r\n endPage = 10;\r\n } else if (currentPage + 4 >= totalPages) {\r\n startPage = totalPages - 9;\r\n endPage = totalPages;\r\n } else {\r\n startPage = currentPage - 5;\r\n endPage = currentPage + 4;\r\n }\r\n }\r\n // calculate start and end item indexes\r\n const startIndex = (currentPage - 1) * pageSize;\r\n const endIndex = Math.min(startIndex + pageSize - 1, totalItems - 1);\r\n // create an array of pages to ng-repeat in the pager control\r\n const pages = _.range(startPage, endPage + 1);\r\n // return object with all pager properties required by the view\r\n return {\r\n totalItems: totalItems,\r\n currentPage: currentPage,\r\n pageSize: pageSize,\r\n totalPages: totalPages,\r\n startPage: startPage,\r\n endPage: endPage,\r\n startIndex: startIndex,\r\n endIndex: endIndex,\r\n pages: pages,\r\n };\r\n }\r\n searchExistingRecordsFromTable(val: any, workList: any) {\r\n var columnsName = Object.getOwnPropertyNames(workList[0]);\r\n const list = workList.filter(function (d) {\r\n var ColumnsData = \"\";\r\n columnsName.forEach((col) => {\r\n ColumnsData += \" \" + d[col];\r\n });\r\n return (\r\n ColumnsData.toLowerCase().indexOf(val.toLowerCase()) !== -1 || !val\r\n );\r\n });\r\n // Whenever the filter changes, always go back to the first page.\r\n return list;\r\n }\r\n getserverDateTime(): Observable {\r\n try {\r\n const param = {\r\n UserID: 0,\r\n };\r\n return new Observable((observer) => {\r\n this.postMethodWithToken_v3(this.httpLink, \"dbo.SP_GetserverDateTime\", param)\r\n .subscribe((list) => {\r\n observer.next(list);\r\n observer.complete();\r\n });\r\n });\r\n } catch (error) {\r\n this.captureError(error);\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"./commonservice.service\";\r\nimport { Observable, throwError } from \"rxjs\";\r\nimport { map, catchError } from \"rxjs/operators\";\r\nimport { HttpClient, HttpHeaders, HttpResponse } from \"@angular/common/http\";\r\nimport { SessionCheck } from \"../session/sessioncheck.service\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class GenericAuthService {\r\n _host: string = \"\";\r\n _newApilink: string = \"\";\r\n _url: string = \"\";\r\n prm: any = [];\r\n System_IP: any = \"\";\r\n\r\n constructor(\r\n public _commonService: CommonService,\r\n private _Http: HttpClient,\r\n private _sessionCall: SessionCheck,\r\n private _toaster: ToastrService,\r\n ) {\r\n this._host = this._commonService.GetHost();\r\n this._newApilink = this._commonService.GetNewApiOrigin();\r\n // this.getIP();\r\n }\r\n //new api call\r\n postMethodWithoutTokenNewApi(sp: any, param: any): Observable {\r\n\r\n try {\r\n // this._url = this._newApilink + sp;\r\n this._url =\r\n \"http://stlisreportapiqa.hugenxlis.mysaguna.com/ReportTemplate/GetTemplateFromEFCore?id=1\";\r\n let headers = new HttpHeaders();\r\n headers.append(\"Content-Type\", \"application/json\");\r\n return this._Http\r\n .post(this._url, { headers: headers, observe: \"response\" })\r\n .pipe(\r\n map((data: any) => {\r\n\r\n if (data.status == 200) {\r\n return data.json().ResultSets[0];\r\n }\r\n }),\r\n catchError((error) =>\r\n this._commonService.handleError(\r\n error,\r\n this._sessionCall,\r\n this._toaster\r\n )\r\n )\r\n );\r\n } catch (error) {\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n\r\n // call without token\r\n postMethodWithoutToken(sp: any, param: any): Observable {\r\n try {\r\n this._url = this._host + sp + \"/json\";\r\n let headers = new HttpHeaders();\r\n headers.append(\"Content-Type\", \"application/json\");\r\n return this._Http\r\n .post(this._url, param, { headers: headers, observe: \"response\" })\r\n .pipe(\r\n map((data: any) => {\r\n if (data.status == 200) {\r\n return data;\r\n }\r\n }),\r\n catchError((error) =>\r\n this._commonService.handleError(\r\n error,\r\n this._sessionCall,\r\n this._toaster\r\n )\r\n )\r\n );\r\n } catch (error) {\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n\r\n postEmailWithoutToken(param: any): Observable {\r\n try {\r\n this._url = this._host + \"SendMail\";\r\n let headers = new HttpHeaders();\r\n headers.append(\"Content-Type\", \"application/json\");\r\n return this._Http\r\n .post(this._url, param, { headers: headers, observe: \"response\" })\r\n .pipe(\r\n map((data: any) => {\r\n if (data.status == 200) {\r\n return data;\r\n }\r\n }),\r\n catchError((error) =>\r\n this._commonService.handleError(\r\n error,\r\n this._sessionCall,\r\n this._toaster\r\n )\r\n )\r\n );\r\n } catch (error) {\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n\r\n // call with token \r\n postPreSignedWURLithToken(sp: any, token: any, param: any): Observable {\r\n try {\r\n this._url = this._host + sp + '/presigned/filename/other/json';\r\n let headers = new HttpHeaders();\r\n headers.append('Token', token);\r\n headers.append('Content-Type', 'application/json');\r\n return this._Http.post(this._url, param, { headers: headers, observe: 'response' })\r\n .pipe(map((data: any) => {\r\n if (data.status == 200) {\r\n return data.json().ResultSets[0];\r\n }\r\n }), catchError((error) => this._commonService.handleError(error, this._sessionCall, this._toaster)))\r\n } catch (error) {\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n postPreSignedWURLithToken_v2(sp: any, token: any, param: any): Observable {\r\n try {\r\n this._url = \"http://localhost:8062/\" + sp;\r\n let headers = new HttpHeaders();\r\n headers.append('Token', token);\r\n headers.append('Content-Type', 'application/json');\r\n\r\n // sp = this._sessionCall.getEncryptedSPValues(sp);\r\n // sp = sp.replace(/[/]/g, 'sLash');\r\n // sp = sp.replace(/[=]/g, 'equalTo');\r\n // sp = sp.replace(/[+]/g, 'pLus');\r\n // param = JSON.stringify(param)\r\n // param = this._sessionCall.getEncryptedSPValues(param);\r\n // param = param.replace(/[/]/g, 'sLash');\r\n // param = param.replace(/[=]/g, 'equalTo');\r\n // param = param.replace(/[+]/g, 'pLus');\r\n const httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Token': token }),\r\n observe: 'response' as 'response'\r\n };\r\n return this._Http.post(this._url, param, httpOptions)\r\n .pipe(map((data: any) => {\r\n if (data.status == 200) {\r\n return data.body.ResultSets;\r\n }\r\n }), catchError((error) => {\r\n this._commonService.getSpinnerHide();;\r\n return this._commonService.handleError(error, this._sessionCall, this._toaster)\r\n }))\r\n } catch (error) {\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n // call with token \r\n postMethodWithToken(sp: any, param: any): Observable {\r\n try {\r\n var token = '';\r\n if (this._sessionCall.getToken()) {\r\n token = this._sessionCall.getToken();\r\n }\r\n if (this._sessionCall.getLoginUserID()) {\r\n param.UserID = this._sessionCall.getLoginUserID();\r\n }\r\n sp = this._sessionCall.getEncryptedSPValues(sp);\r\n sp = sp.replace(/[/]/g, 'sLash');\r\n sp = sp.replace(/[=]/g, 'equalTo');\r\n sp = sp.replace(/[+]/g, 'pLus');\r\n param = JSON.stringify(param)\r\n param = this._sessionCall.getEncryptedSPValues(param);\r\n param = param.replace(/[/]/g, 'sLash');\r\n param = param.replace(/[=]/g, 'equalTo');\r\n param = param.replace(/[+]/g, 'pLus');\r\n const httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Token': token }),\r\n observe: 'response' as 'response'\r\n };\r\n var secureParam = {\r\n Param: param\r\n }\r\n this._url = this._host + sp + '/json';\r\n return this._Http.post(this._url, secureParam, httpOptions)\r\n .pipe(map((data: any) => {\r\n if (data.status == 200) {\r\n return data.body.ResultSets[0];\r\n }\r\n }), catchError((error) => {\r\n this._commonService.getSpinnerHide();;\r\n return this._commonService.handleError(error, this._sessionCall, this._toaster)\r\n }))\r\n } catch (error) {\r\n this._commonService.getSpinnerHide();;\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n postMethodForClient(url: any, param: any): Observable {\r\n try {\r\n var token = '';\r\n if (this._sessionCall.getToken()) {\r\n token = this._sessionCall.getToken();\r\n }\r\n\r\n\r\n const httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Token': token }),\r\n observe: 'response' as 'response'\r\n };\r\n this._url = this._host + url;\r\n\r\n return this._Http.post(this._url, param, httpOptions)\r\n .pipe(map((data: any) => {\r\n if (data.status == 200) {\r\n return data.body;\r\n }\r\n }), catchError((error) => {\r\n this._commonService.getSpinnerHide();\r\n return this._commonService.handleError(error, this._sessionCall, this._toaster)\r\n }))\r\n } catch (error) {\r\n this._commonService.getSpinnerHide();;\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n postMethodWithToken_V2(sp: any, param: any): Observable {\r\n try {\r\n var token = '';\r\n if (this._sessionCall.getToken()) {\r\n token = this._sessionCall.getToken();\r\n }\r\n if (this._sessionCall.getLoginUserID()) {\r\n param.UserID = this._sessionCall.getLoginUserID();\r\n }\r\n sp = this._sessionCall.getEncryptedSPValues(sp);\r\n sp = sp.replace(/[/]/g, 'sLash');\r\n sp = sp.replace(/[=]/g, 'equalTo');\r\n sp = sp.replace(/[+]/g, 'pLus');\r\n param = JSON.stringify(param)\r\n param = this._sessionCall.getEncryptedSPValues(param);\r\n param = param.replace(/[/]/g, 'sLash');\r\n param = param.replace(/[=]/g, 'equalTo');\r\n param = param.replace(/[+]/g, 'pLus');\r\n const httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Token': token }),\r\n observe: 'response' as 'response'\r\n };\r\n var secureParam = {\r\n Param: param\r\n }\r\n this._url = this._host + sp + '/json';\r\n return this._Http.post(this._url, secureParam, httpOptions)\r\n .pipe(map((data: any) => {\r\n if (data.status == 200) {\r\n return data.body.ResultSets;\r\n }\r\n }), catchError((error) => {\r\n this._commonService.getSpinnerHide();;\r\n return this._commonService.handleError(error, this._sessionCall, this._toaster)\r\n }))\r\n } catch (error) {\r\n this._commonService.getSpinnerHide();;\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n postMethodWithTokenParam(sp: any, param: any): Observable {\r\n try {\r\n var token = '';\r\n if (this._sessionCall.getToken()) {\r\n token = this._sessionCall.getToken();\r\n }\r\n if (this._sessionCall.getLoginUserID()) {\r\n param.UserID = this._sessionCall.getLoginUserID();\r\n }\r\n\r\n const httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Token': token }),\r\n observe: 'response' as 'response'\r\n };\r\n\r\n this._url = this._host + sp + '/json';\r\n return this._Http.post(this._url, param, httpOptions)\r\n .pipe(map((data: any) => {\r\n if (data.status == 200) {\r\n return data.body.ResultSets[0];\r\n }\r\n }), catchError((error) => {\r\n this._commonService.getSpinnerHide();;\r\n return this._commonService.handleError(error, this._sessionCall, this._toaster)\r\n }))\r\n } catch (error) {\r\n this._commonService.getSpinnerHide();;\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n postMethodAllSpecimen(url: any, param: any): Observable {\r\n try {\r\n var token = '';\r\n if (this._sessionCall.getToken()) {\r\n token = this._sessionCall.getToken();\r\n }\r\n\r\n\r\n const httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Token': token }),\r\n observe: 'response' as 'response'\r\n };\r\n this._url = this._host + url;\r\n\r\n return this._Http.post(this._url, param, httpOptions)\r\n .pipe(map((data: any) => {\r\n if (data.status == 200) {\r\n return data.body.Table[0];\r\n }\r\n }), catchError((error) => {\r\n this._commonService.getSpinnerHide();;\r\n return this._commonService.handleError(error, this._sessionCall, this._toaster)\r\n }))\r\n } catch (error) {\r\n this._commonService.getSpinnerHide();;\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n postMethodForCustomrCall(sp: any, param: any): Observable {\r\n try {\r\n var token = '';\r\n if (this._sessionCall.getToken()) {\r\n token = this._sessionCall.getToken();\r\n }\r\n if (this._sessionCall.getLoginUserID()) {\r\n param.UserID = this._sessionCall.getLoginUserID();\r\n }\r\n const httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Token': token }),\r\n observe: 'response' as 'response'\r\n };\r\n this._url = this._host + sp;\r\n return this._Http.post(this._url, param, httpOptions)\r\n .pipe(\r\n map((response: any) => {\r\n return response.body;\r\n }),\r\n catchError((error) => {\r\n this._commonService.getSpinnerHide();;\r\n console.log(error);\r\n return this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n })\r\n )\r\n } catch (error) {\r\n this._commonService.getSpinnerHide();;\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n\r\n postMethodWithToken2D(sp: any, param: any): Observable {\r\n try {\r\n var token = '';\r\n if (this._sessionCall.getToken()) {\r\n token = this._sessionCall.getToken();\r\n }\r\n if (this._sessionCall.getLoginUserID()) {\r\n param.UserID = this._sessionCall.getLoginUserID();\r\n }\r\n\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n Token: token,\r\n }),\r\n observe: \"response\" as \"response\",\r\n };\r\n this._url = this._host + sp + \"/json\";\r\n return this._Http.post(this._url, param, httpOptions).pipe(\r\n map((data: any) => {\r\n if (data.status == 200) {\r\n return data.body.ResultSets;\r\n }\r\n }),\r\n catchError((error) => {\r\n this._commonService.getSpinnerHide();\r\n return this._commonService.handleError(\r\n error,\r\n this._sessionCall,\r\n this._toaster\r\n );\r\n })\r\n );\r\n } catch (error) {\r\n this._commonService.getSpinnerHide();\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n\r\n postMethodWithTokenBytePDF(sp: any, param: any): Observable {\r\n try {\r\n var token = '';\r\n if (this._sessionCall.getToken()) {\r\n token = this._sessionCall.getToken();\r\n }\r\n if (this._sessionCall.getLoginUserID()) {\r\n param.UserID = this._sessionCall.getLoginUserID();\r\n }\r\n const httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Token': token }),\r\n observe: 'response' as 'response'\r\n };\r\n this._url = this._host + sp;\r\n return this._Http.post(this._url, '', httpOptions)\r\n .pipe(\r\n map((response: any) => {\r\n return response.body.toString();\r\n }),\r\n catchError((error) => {\r\n this._commonService.getSpinnerHide();;\r\n console.log(error);\r\n return this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n })\r\n )\r\n } catch (error) {\r\n this._commonService.getSpinnerHide();;\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n postMethodWithTokenBytePDFCoreApi(sp: any, param: any): Observable {\r\n\r\n try {\r\n var token = '';\r\n if (this._sessionCall.getToken()) {\r\n token = this._sessionCall.getToken();\r\n }\r\n if (this._sessionCall.getLoginUserID()) {\r\n param.UserID = this._sessionCall.getLoginUserID();\r\n }\r\n const httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Token': token }),\r\n observe: 'response' as 'response'\r\n };\r\n const url = this._commonService.GetNewApiOrigin() + sp;\r\n return this._Http.post(url, '', httpOptions)\r\n .pipe(\r\n map((response: any) => {\r\n return response.body;\r\n }),\r\n catchError((error) => {\r\n this._commonService.getSpinnerHide();;\r\n console.log(error);\r\n return this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n })\r\n )\r\n } catch (error) {\r\n this._commonService.getSpinnerHide();;\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n\r\n postMethodWithTokenApiCall(sp: any, param: any): Observable {\r\n try {\r\n var token = \"\";\r\n if (this._sessionCall.getToken()) {\r\n token = this._sessionCall.getToken();\r\n }\r\n if (this._sessionCall.getLoginUserID()) {\r\n param.UserID = this._sessionCall.getLoginUserID();\r\n }\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n Token: token,\r\n }),\r\n observe: \"response\" as \"response\",\r\n };\r\n this._url = this._host + sp;\r\n return this._Http.post(this._url, \"\", httpOptions).pipe(\r\n map((response: any) => {\r\n return response;\r\n }),\r\n catchError((error) => {\r\n this._commonService.getSpinnerHide();\r\n console.log(error.error);\r\n return this._commonService.handleError_v2(\r\n error,\r\n this._sessionCall,\r\n this._toaster\r\n );\r\n })\r\n );\r\n } catch (error) {\r\n this._commonService.getSpinnerHide();\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n postMethodForFileSave(sp: any, param: any): Observable {\r\n try {\r\n var token = \"\";\r\n if (this._sessionCall.getToken()) {\r\n token = this._sessionCall.getToken();\r\n }\r\n if (this._sessionCall.getLoginUserID()) {\r\n param.UserID = this._sessionCall.getLoginUserID();\r\n }\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n Token: token,\r\n }),\r\n observe: \"response\" as \"response\",\r\n };\r\n this._url = this._host + sp;\r\n return this._Http.post(this._url, param, httpOptions).pipe(\r\n map((response: any) => {\r\n return response.body.toString();\r\n }),\r\n catchError((error) => {\r\n this._commonService.getSpinnerHide();\r\n console.log(error);\r\n return this._commonService.handleError(\r\n error,\r\n this._sessionCall,\r\n this._toaster\r\n );\r\n })\r\n );\r\n } catch (error) {\r\n this._commonService.getSpinnerHide();\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n\r\n postMethodWithTokenBytePDFNewAPI(sp: any, param: any): Observable {\r\n try {\r\n var token = \"\";\r\n if (this._sessionCall.getToken()) {\r\n token = this._sessionCall.getToken();\r\n }\r\n if (this._sessionCall.getLoginUserID()) {\r\n param.UserID = this._sessionCall.getLoginUserID();\r\n }\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n Token: token,\r\n }),\r\n observe: \"response\" as \"response\",\r\n };\r\n this._url = sp;\r\n return this._Http.post(this._url, \"\", httpOptions).pipe(\r\n map((response: any) => {\r\n return response.body.toString();\r\n }),\r\n catchError((error) => {\r\n this._commonService.getSpinnerHide();\r\n console.log(error);\r\n return this._commonService.handleError(\r\n error,\r\n this._sessionCall,\r\n this._toaster\r\n );\r\n })\r\n );\r\n } catch (error) {\r\n this._commonService.getSpinnerHide();\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n postCallWithoutTokenWithClientSecretKey(sp: any, param: any): Observable {\r\n try {\r\n this._url = this._host + sp;\r\n let secretKey: any = '19C2F4DF-FC97-4640-B3C3-308851708FD8';\r\n let headers = new HttpHeaders();\r\n headers = headers.set('Client-Secret-Key', secretKey).set('Content-Type', 'application/json');\r\n return this._Http.post(this._url, param, { headers: headers, observe: 'response' })\r\n .pipe(map((data: any) => {\r\n if (data.status == 200) {\r\n return data;\r\n }\r\n }), catchError((error) => this._commonService.handleError(error, this._sessionCall, this._toaster)))\r\n } catch (error) {\r\n this._commonService.handleError(error, this._sessionCall, this._toaster);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class SecureAuthService {\r\n\r\n constructor() { }\r\n\r\n // Set your keys of SecureAuth --------------------------------------------\r\n public getKey() {\r\n return \"7865412358945284\";\r\n }\r\n\r\n public getIV() {\r\n return \"7865412358945284\";\r\n }\r\n\r\n public getV() {\r\n return \"E6t187^D43%F\";\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SecureAuthService } from './secureauth.service';\r\n/// \r\n\r\nimport * as CryptoJS from 'crypto-js';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class SecurityCheck {\r\n\r\n constructor(public router: Router, protected _secureAuthService: SecureAuthService) {\r\n }\r\n\r\n\r\n Encrypt(data: string) {\r\n var e = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(data), CryptoJS.enc.Utf8.parse(this._secureAuthService.getKey()),\r\n {\r\n keySize: 128 / 8,\r\n iv: CryptoJS.enc.Utf8.parse(this._secureAuthService.getIV()),\r\n mode: CryptoJS.mode.CTR,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return e.toString();\r\n }\r\n Decrypt(data: string) {\r\n var d = CryptoJS.AES.decrypt(data, CryptoJS.enc.Utf8.parse(this._secureAuthService.getKey()), {\r\n keySize: 128 / 8,\r\n iv: CryptoJS.enc.Utf8.parse(this._secureAuthService.getIV()),\r\n mode: CryptoJS.mode.CTR,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return d.toString(CryptoJS.enc.Utf8);\r\n }\r\n\r\n EncryptSSN(data: string) {\r\n var e = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(data), CryptoJS.enc.Utf8.parse(this._secureAuthService.getKey()),\r\n {\r\n keySize: 128 / 8,\r\n iv: CryptoJS.enc.Utf8.parse(this._secureAuthService.getIV()),\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return e.toString();\r\n }\r\n EncryptPassword(data: string) {\r\n var e = CryptoJS.AES.encrypt(data, CryptoJS.SHA256(CryptoJS.enc.Utf8.parse(this._secureAuthService.getV())),\r\n {\r\n KeySize: 256 / 8,\r\n padding: CryptoJS.pad.Pkcs7,\r\n iv: CryptoJS.enc.Utf8.parse(this._secureAuthService.getV()),\r\n mode: CryptoJS.mode.CBC,\r\n }\r\n );\r\n return e.toString();\r\n }\r\n\r\n DecryptSSN(data: string) {\r\n var d = CryptoJS.AES.decrypt(data, CryptoJS.enc.Utf8.parse(this._secureAuthService.getKey()), {\r\n keySize: 128 / 8,\r\n iv: CryptoJS.enc.Utf8.parse(this._secureAuthService.getIV()),\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return d.toString(CryptoJS.enc.Utf8);\r\n }\r\n\r\n EncryptSPNames(data: string) {\r\n var e = CryptoJS.AES.encrypt(data, CryptoJS.SHA256(CryptoJS.enc.Utf8.parse(this._secureAuthService.getV())),\r\n {\r\n KeySize: 256 / 8,\r\n padding: CryptoJS.pad.Pkcs7,\r\n iv: CryptoJS.enc.Utf8.parse(this._secureAuthService.getV()),\r\n mode: CryptoJS.mode.CBC,\r\n }\r\n );\r\n return e.toString();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SecurityCheck } from '../security/securitycheck.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { VersionCheckService } from '../versioning/version-check.service';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { ConstantRoute } from '../../constant/constant-route';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class SessionCheck {\r\n constructor(public router: Router, protected _securityCheck: SecurityCheck,\r\n private toaster: ToastrService, private _versionCheckService: VersionCheckService,\r\n private _constantRoute: ConstantRoute\r\n ) { }\r\n\r\n getToken() {\r\n var name = 'token';\r\n this._versionCheckService.initVersionCheck(environment.versionCheckURL);\r\n return (sessionStorage.getItem(name) == null || sessionStorage.getItem(name) == '') ? '' : this._securityCheck.Decrypt(sessionStorage.getItem(name));\r\n }\r\n getLoginUserID() {\r\n var name = 'userId';\r\n this._versionCheckService.initVersionCheck(environment.versionCheckURL);\r\n return (sessionStorage.getItem(name) == null || sessionStorage.getItem(name) == '') ? '' : this._securityCheck.Decrypt(sessionStorage.getItem(name));\r\n }\r\n getLoginUserName() {\r\n var name = 'UserFullName';\r\n this._versionCheckService.initVersionCheck(environment.versionCheckURL);\r\n return (sessionStorage.getItem(name) == null || sessionStorage.getItem(name) == '') ? '' : this._securityCheck.Decrypt(sessionStorage.getItem(name));\r\n }\r\n getLoginUser() {\r\n var name = 'UserName';\r\n this._versionCheckService.initVersionCheck(environment.versionCheckURL);\r\n return (sessionStorage.getItem(name) == null || sessionStorage.getItem(name) == '') ? '' : this._securityCheck.Decrypt(sessionStorage.getItem(name));\r\n }\r\n getLoginLoggedType() {\r\n var name = 'Role';\r\n this._versionCheckService.initVersionCheck(environment.versionCheckURL);\r\n return (sessionStorage.getItem(name) == null || sessionStorage.getItem(name) == '') ? '' : this._securityCheck.Decrypt(sessionStorage.getItem(name));\r\n }\r\n session_Check(name: string) {\r\n\r\n (sessionStorage.getItem('userId') == null || sessionStorage.getItem('Role') == null || sessionStorage.getItem('token') == null || sessionStorage.getItem('name') == null || sessionStorage.getItem('email') == null) ?\r\n name == 'Admin' ? this.clearAllSession('Admin') : this.clearAllSession(name)\r\n :\r\n (this.getSessionStorage('Role') != name) ? name == 'Admin' ? this.clearAllSession('Admin') : this.clearAllSession(name) : '';\r\n }\r\n session_Check_by_Name(name: any) {\r\n return (sessionStorage.getItem(name) == null) ? false : true;\r\n }\r\n getSessionStorage(name: any) {\r\n\r\n this._versionCheckService.initVersionCheck(environment.versionCheckURL);\r\n return (sessionStorage.getItem(name) == null || sessionStorage.getItem(name) == '') ? '' : this._securityCheck.Decrypt(sessionStorage.getItem(name));\r\n }\r\n setSessionStorage(id: any, name: any) {\r\n sessionStorage.setItem(id, this._securityCheck.Encrypt(name));\r\n }\r\n getEncryptedData(data: any) {\r\n return this._securityCheck.Encrypt(data);\r\n }\r\n getDecryptedData(data) {\r\n return this._securityCheck.Decrypt(data);\r\n }\r\n clearSession(name: any) {\r\n sessionStorage.removeItem(name);\r\n }\r\n clearAllSession(name: any) {\r\n sessionStorage.clear();\r\n if (name == 'Admin' || name == 'admin') {\r\n this.router.navigate([this._constantRoute.authenticationUrlPaths().login])\r\n } else if (name == 'Remote' || name == 'remote') {\r\n this.router.navigate([this._constantRoute.authenticationUrlPaths().login])\r\n }\r\n }\r\n logout(loggedType: any) {\r\n\r\n if (loggedType == 'Remote' || loggedType == 'remote') {\r\n\r\n this.toaster.success('You are successfully logged out', 'Logout Successfully!');\r\n this.router.navigate([this._constantRoute.authenticationUrlPaths().remoteLogin]);\r\n } else if (loggedType == 'Admin' || loggedType == 'admin') {\r\n\r\n this.toaster.success('You are successfully logged out', 'Logout Successfully!');\r\n this.router.navigate([this._constantRoute.authenticationUrlPaths().login]);\r\n } else {\r\n\r\n this.router.navigate([this._constantRoute.authenticationUrlPaths().login]);\r\n }\r\n sessionStorage.clear();\r\n localStorage.clear();\r\n this.setSessionStorage('logout', 'Done');\r\n }\r\n logoutValidation() {\r\n sessionStorage.clear();\r\n this.router.navigate([this._constantRoute.authenticationUrlPaths().login]);\r\n }\r\n logoutRemote() {\r\n sessionStorage.clear();\r\n this.router.navigate([this._constantRoute.authenticationUrlPaths().remoteLogin]);\r\n }\r\n session_CheckWithQuery(name: string, query: string) {\r\n (sessionStorage.getItem('userId') == null || sessionStorage.getItem('Role') == null || sessionStorage.getItem('token') == null || sessionStorage.getItem('name') == null || sessionStorage.getItem('email') == null) ?\r\n name == 'Admin' ? this.clearAllSessionWithQuery('Admin', query) : this.clearAllSessionWithQuery('other', query)\r\n :\r\n (this.getSessionStorage('Role') != name) ? name == 'Admin' ? this.clearAllSessionWithQuery('Admin', query) : this.clearAllSessionWithQuery('other', query) : '';\r\n }\r\n clearAllSessionWithQuery(name: any, query: string) {\r\n sessionStorage.clear();\r\n if (name == 'Admin' || name == 'admin') {\r\n this.router.navigate([this._constantRoute.authenticationUrlPaths().login])\r\n } else if (name == 'Remote' || name == 'remote') {\r\n this.router.navigate([this._constantRoute.authenticationUrlPaths().remoteLogin])\r\n }\r\n }\r\n getEncryptedDataSSN(data: any) {\r\n return this._securityCheck.EncryptSSN(data);\r\n }\r\n getEncryptedDataPWD(data: any) {\r\n return this._securityCheck.EncryptPassword(data);\r\n }\r\n getDecryptedDataSSN(data: any) {\r\n return this._securityCheck.DecryptSSN(data);\r\n }\r\n\r\n getEncryptedSPValues(data: any) {\r\n return this._securityCheck.EncryptSSN(data);\r\n }\r\n getDecryptedSPValues(data: any) {\r\n return this._securityCheck.DecryptSSN(data);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { first } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class VersionCheckService {\r\n // this will be replaced by actual hash post-build.js\r\n private currentHash = '{{POST_BUILD_ENTERS_HASH_HERE}}';\r\n\r\n private currentVersion = '';\r\n constructor(private http: HttpClient) { }\r\n\r\n /**\r\n * Checks in every set frequency the version of frontend application\r\n * @param url\r\n * @param {number} frequency - in milliseconds, defaults to 30 minutes\r\n */\r\n public initVersionCheck(url) {\r\n this.checkVersion(url);\r\n }\r\n\r\n /**\r\n * Will do the call and check if the hash has changed or not\r\n * @param url\r\n */\r\n private async checkVersion(url) {\r\n\r\n // url='assets/version.json';\r\n // timestamp these requests to invalidate caches\r\n this.http.get(url + '?t=' + new Date().getTime()).pipe(first()).subscribe((response: any) => {\r\n const hash = response.hash;\r\n const vers = response.version;\r\n\r\n const hashChanged = this.hasHashChanged(this.currentHash, hash);\r\n const versChanged = this.hasVersionChanged(this.currentVersion, vers);\r\n // If new version, do something\r\n if (hashChanged || versChanged) {\r\n\r\n window.location.reload();\r\n } else {\r\n\r\n }\r\n // store the new hash so we wouldn't trigger versionChange again\r\n // only necessary in case you did not force refresh\r\n this.currentHash = hash;\r\n this.currentVersion = vers;\r\n });\r\n }\r\n /**\r\n * Checks if hash has changed.\r\n * This file has the JS hash, if it is a different one than in the version.json\r\n * we are dealing with version change\r\n * @param currentHash\r\n * @param newHash\r\n * @returns {boolean}\r\n */\r\n private hasHashChanged(currentHash, newHash) {\r\n if (!currentHash || currentHash === '{{POST_BUILD_ENTERS_HASH_HERE}}') {\r\n return false;\r\n }\r\n\r\n return currentHash !== newHash;\r\n }\r\n\r\n private hasVersionChanged(currentVersion, newVersion) {\r\n if (!currentVersion || currentVersion === '') {\r\n return false;\r\n }\r\n return currentVersion !== newVersion;\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { DynamicTableComponent } from './dynamic-table/dynamic-table.component';\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { NgbModule, NgbPaginationModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport FullComponent from \"../layouts/full/full.component\";\r\nimport { BlankComponent } from \"../layouts/blank/blank.component\";\r\nimport { NavigationComponent } from \"../shared/header-navigation/navigation.component\";\r\nimport { SidebarComponent } from \"../shared/sidebar/sidebar.component\";\r\nimport { BreadcrumbComponent } from \"../shared/breadcrumb/breadcrumb.component\";\r\nimport { PerfectScrollbarModule, PERFECT_SCROLLBAR_CONFIG, PerfectScrollbarConfigInterface } from \"ngx-perfect-scrollbar\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { CommonService } from './services/common/commonservice.service';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { TextMaskModule } from 'angular2-text-mask';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n FullComponent,\r\n BlankComponent,\r\n NavigationComponent,\r\n SidebarComponent,\r\n BreadcrumbComponent,\r\n DynamicTableComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgbModule, NgbPaginationModule,\r\n PerfectScrollbarModule,\r\n NgxSpinnerModule,\r\n TextMaskModule,\r\n NgMultiSelectDropDownModule,\r\n ToastrModule.forRoot(),\r\n ],\r\n exports: [\r\n FullComponent,\r\n BlankComponent,\r\n NavigationComponent,\r\n SidebarComponent,\r\n BreadcrumbComponent,\r\n DynamicTableComponent,\r\n NgbModule, NgbPaginationModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgxSpinnerModule,\r\n TextMaskModule,\r\n CommonModule,\r\n NgMultiSelectDropDownModule\r\n\r\n ],\r\n providers: [\r\n CommonService\r\n ],\r\n})\r\nexport class SharedModule { }\r\n","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { SessionCheck } from '../services/session/sessioncheck.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss']\r\n})\r\nexport class SidebarComponent implements OnInit {\r\n showMenu = '';\r\n showSubMenu = '';\r\n leftPadding = false;\r\n public sidebarnavItems: any[];\r\n\r\n constructor(\r\n private _sessionCall: SessionCheck\r\n ) { }\r\n\r\n // this is for the open close\r\n addExpandClass(element: any) {\r\n if (element === this.showMenu) {\r\n this.showMenu = '0';\r\n } else {\r\n this.showMenu = element;\r\n }\r\n }\r\n addActiveClass(element: any) {\r\n if (element === this.showSubMenu) {\r\n this.showSubMenu = '0';\r\n } else {\r\n this.showSubMenu = element;\r\n }\r\n }\r\n // End open close\r\n ngOnInit() {\r\n if (this._sessionCall.getSessionStorage('Role')) {\r\n var menus = this._sessionCall.getSessionStorage('menuName');\r\n let mainMenuTemp = JSON.stringify(menus);\r\n mainMenuTemp = mainMenuTemp.replace(/\\\\/g, '');\r\n mainMenuTemp = mainMenuTemp.replace(/\"\\[/g, '[');\r\n mainMenuTemp = mainMenuTemp.replace(/\\]\"/g, ']');\r\n menus = JSON.parse(mainMenuTemp);\r\n var loginType = this._sessionCall.getSessionStorage('Role');\r\n this.sidebarnavItems = menus;\r\n }\r\n }\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n if (window.innerWidth > 992) {\r\n this.leftPadding = true;\r\n } else {\r\n this.leftPadding = false;\r\n }\r\n }\r\n}\r\n","","import {\r\n Component,\r\n Input,\r\n OnDestroy,\r\n Inject,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {\r\n Router,\r\n NavigationStart,\r\n NavigationEnd,\r\n NavigationCancel,\r\n NavigationError\r\n} from '@angular/router';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-spinner',\r\n template: `
\r\n
\r\n
\r\n
\r\n
\r\n
`,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SpinnerComponent implements OnDestroy {\r\n public isSpinnerVisible = true;\r\n\r\n @Input() public backgroundColor = 'rgba(0, 115, 170, 0.69)';\r\n\r\n constructor(\r\n private router: Router,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {\r\n this.router.events.subscribe(\r\n event => {\r\n if (event instanceof NavigationStart) {\r\n this.isSpinnerVisible = true;\r\n } else if (\r\n event instanceof NavigationEnd ||\r\n event instanceof NavigationCancel ||\r\n event instanceof NavigationError\r\n ) {\r\n this.isSpinnerVisible = false;\r\n }\r\n },\r\n () => {\r\n this.isSpinnerVisible = false;\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.isSpinnerVisible = false;\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: true,\r\n versionCheckURL:'assets/version.json',\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","/* (ignored) */"],"names":["first","VersionCheckService","http","currentHash","currentVersion","constructor","initVersionCheck","url","checkVersion","get","Date","getTime","pipe","subscribe","response","hash","vers","version","hashChanged","hasHashChanged","versChanged","hasVersionChanged","window","location","reload","newHash","newVersion","i0","factory","providedIn"],"sourceRoot":"webpack:///"}