{"version":3,"file":"main.e5f5bb249b76078c.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/breadcrums/services/breadcrumb.service.ts","./src/app/company-Info/services/company-service.ts","./src/app/company-Info/services/companysettings-service.ts","./src/app/core/_constants/api.config.ts","./src/app/core/_constants/messages.constants.ts","./src/app/core/_models/session-user-info.model.ts","./src/app/core/_services/api/api.service.ts","./src/app/core/_services/azure-blob-storage.service.ts","./src/app/core/_services/confirm-dialog/confirm-dialog.service.ts","./src/app/core/_services/error-dialog/error-dialog.service.ts","./src/app/core/_services/error-handler/error-handler.service.ts","./src/app/core/_services/guards/auth.guard.ts","./src/app/core/_services/interceptors/api-interceptor.ts","./src/app/core/_services/interceptors/loader.interceptor.ts","./src/app/core/_services/loader-service/loader.service.ts","./src/app/core/_services/user-data/user-data.service.ts","./src/app/core/_services/usersetup-data/usersetup-data.service.ts","./src/app/core/core.module.ts","./src/app/power-bi-reports/power-bi-report.component.ts","./src/app/power-bi-reports/power-bi-report.component.html","./src/app/shared/_enums/enums.ts","./src/app/shared/_models/base-api.ts","./src/app/shared/components/confirm-dialog/confirm.component.ts","./src/app/shared/components/confirm-dialog/confirm.component.html","./src/app/shared/components/error-dialog/error-dialog.component.ts","./src/app/shared/components/error-dialog/error-dialog.component.html","./src/app/shared/components/message-dialog/message-dialog.component.ts","./src/app/shared/components/message-dialog/message-dialog.component.html","./src/app/shared/components/popup-container-component/popup-container-component.component.ts","./src/app/shared/components/popup-container-component/popup-container-component.component.html","./src/app/shared/components/route-change-confirmation/route-change-confirmation.component.ts","./src/app/shared/components/route-change-confirmation/route-change-confirmation.component.html","./src/app/shared/components/success-dialog/success-dialog.component.ts","./src/app/shared/components/success-dialog/success-dialog.component.html","./src/app/shared/shared-service.service.ts","./src/app/shell/services/common/common.service.ts","./src/app/shell/services/common/local-storage.service.ts","./src/environments/environment.prod.ts","./src/main.ts","ignored|C:\\Users\\Administrator\\source\\repos\\divtraxAI\\DiversityTrax2.0-PWA\\node_modules\\@azure\\storage-blob\\dist-esm\\storage-blob\\src|os"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { PowerBIReportComponent } from './power-bi-reports/power-bi-report.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'power-bi-report', component: PowerBIReportComponent },\r\n { path: '', loadChildren: () => import('./shell/shell.module').then(m => m.ShellModule) },\r\n { path: '**', redirectTo: '', pathMatch: 'full' }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router,\r\n} from '@angular/router';\r\nimport { MsalBroadcastService, MsalService } from '@azure/msal-angular';\r\nimport { EventMessage, EventType } from '@azure/msal-browser';\r\nimport { Guid } from 'guid-typescript';\r\nimport { Subject } from 'rxjs';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BreadcrumbService } from './breadcrums/services/breadcrumb.service';\r\nimport { errorMessageConstants } from './core/_constants/messages.constants';\r\nimport { ErrorDialogService } from './core/_services/error-dialog/error-dialog.service';\r\nimport { LoaderService } from './core/_services/loader-service/loader.service';\r\nimport { UserDataService } from './core/_services/user-data/user-data.service';\r\nimport { CommonService } from './shell/services/common/common.service';\r\nimport { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';\r\nimport { Keepalive } from '@ng-idle/keepalive';\r\nimport { ConfirmDialogService } from './core/_services/confirm-dialog/confirm-dialog.service';\r\n\r\n@Component({\r\n selector: 'dtrax-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AppComponent {\r\n loading$ = this._loader.loading$;\r\n showLoading = false;\r\n browserName = '';\r\n userIP: any = '';\r\n userId: any = '';\r\n title: any = '';\r\n messageConstants: any = errorMessageConstants;\r\n idleTime = 1800;\r\n timeoutSetting = 60;\r\n accessLevel: string | null = '';\r\n dashboardAccessLevel: string | null = '';\r\n menuItems: any = [];\r\n\r\n private readonly _destroying$ = new Subject();\r\n\r\n constructor(\r\n private userDataService: UserDataService,\r\n private errorService: ErrorDialogService,\r\n private msalService: MsalService,\r\n public _loader: LoaderService,\r\n private _userDataService: UserDataService,\r\n private authService: MsalService,\r\n private broadcastService: MsalBroadcastService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private breadcrumbService: BreadcrumbService,\r\n private commonService: CommonService,\r\n private idle: Idle,\r\n private keepalive: Keepalive,\r\n private confirmDialog: ConfirmDialogService\r\n ) {\r\n // MSAL initialization\r\n this.initMsal();\r\n this.router.events\r\n .pipe(filter((event) => event instanceof NavigationEnd))\r\n .subscribe(() => {\r\n // this.getSystemParametersValue();\r\n // setTimeout(() => {\r\n // this.sesstionTimeoutMethod(this.idle, this.keepalive);\r\n // }, 3000);\r\n const activatedRouteSnapshot: any = this.activatedRoute.snapshot;\r\n\r\n // Access the URL of the activated route snapshot\r\n const currentRoutePath = activatedRouteSnapshot['_routerState'].url;\r\n if (currentRoutePath.startsWith('/')) {\r\n let modifiedPath = currentRoutePath.slice(1);\r\n // supplier-network/events-requests?id=3\r\n const questionMarkIndex = modifiedPath.indexOf('?');\r\n // If a '?' is found, remove everything after it\r\n if (questionMarkIndex !== -1) {\r\n modifiedPath = modifiedPath.slice(0, questionMarkIndex);\r\n }\r\n this.breadcrumbService.setRoutePath(modifiedPath);\r\n // setTimeout(() => {\r\n this.getAccessLevelValue();\r\n this.getDashboardAccess();\r\n this.setCurrenctMenu();\r\n // }, 1000);\r\n localStorage.setItem('sidebarCollapsed', JSON.stringify(false));\r\n }\r\n });\r\n\r\n this.router.events.subscribe((event) => {\r\n switch (true) {\r\n case event instanceof NavigationStart: {\r\n this.showLoading = true;\r\n break;\r\n }\r\n case event instanceof NavigationEnd:\r\n case event instanceof NavigationCancel:\r\n case event instanceof NavigationError: {\r\n this.showLoading = false;\r\n setTimeout(function () {\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth',\r\n });\r\n }, 1);\r\n break;\r\n }\r\n default: {\r\n this.showLoading = false;\r\n break;\r\n }\r\n }\r\n });\r\n } // CONSTRUCTOR\r\n\r\n private initMsal(): void {\r\n this.msalService.initialize().subscribe({\r\n next: () => {\r\n // MSAL initialization successful, proceed with other operations\r\n this.setupSessionTimeout();\r\n this.LoginLogout();\r\n },\r\n error: (error) => {\r\n // Handle MSAL initialization error\r\n console.error('MSAL initialization error:', error);\r\n // You can implement error handling here, such as displaying a message to the user\r\n },\r\n });\r\n }\r\n\r\n getSystemParametersValue() {\r\n this.commonService.getSystemParameter().subscribe(\r\n (systemParameter: any | null) => {\r\n this.timeoutSetting = parseInt(\r\n systemParameter?.find((value: any) => value.key == 'Timeout').value\r\n );\r\n this.idleTime = parseInt(\r\n systemParameter?.find((value: any) => value.key == 'Idle').value\r\n );\r\n },\r\n (error) => {}\r\n );\r\n }\r\n\r\n setupSessionTimeout() {\r\n let accessToken = localStorage.getItem('accessToken');\r\n if (accessToken) {\r\n this.idle.setIdle(1800);\r\n this.idle.setTimeout(60);\r\n this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n\r\n this.idle.onTimeout\r\n .pipe(takeUntil(this._destroying$))\r\n .subscribe(async () => {\r\n if (this.authService.instance.getActiveAccount() != null) {\r\n // Check if user is logged in\r\n const confirmation = this.confirmDialog.confirmDialog({\r\n message:\r\n 'Your session will expire in 60 seconds. Do you want to stay logged in?',\r\n confirmCaption: 'Stay Logged In',\r\n cancelCaption: 'Logout',\r\n type: 'warning',\r\n });\r\n\r\n let countdown = 60;\r\n let timeout: any;\r\n\r\n timeout = setInterval(async () => {\r\n countdown--;\r\n if (countdown <= 0) {\r\n clearInterval(timeout);\r\n this.commonService.logOut(localStorage.getItem('email')).subscribe((res: any) => {\r\n if (res) {\r\n sessionStorage.clear();\r\n localStorage.clear();\r\n this.msalService.logoutRedirect();\r\n }\r\n });\r\n }\r\n }, 1000);\r\n\r\n confirmation\r\n .pipe(takeUntil(this._destroying$))\r\n .subscribe(async (confirmed) => {\r\n clearInterval(timeout);\r\n if (confirmed) {\r\n this.idle.watch();\r\n } else {\r\n this.commonService.logOut(localStorage.getItem('email')).subscribe((res: any) => {\r\n if (res) {\r\n sessionStorage.clear();\r\n localStorage.clear();\r\n this.msalService.logoutRedirect();\r\n }\r\n }); \r\n }\r\n });\r\n } else {\r\n // User is not logged in, no need to show logout popup\r\n this.commonService.logOut(localStorage.getItem('email')).subscribe((res: any) => {\r\n if (res) {\r\n sessionStorage.clear();\r\n localStorage.clear();\r\n this.msalService.logoutRedirect();\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.idle.watch();\r\n this.keepalive.interval(15);\r\n this.keepalive.onPing.subscribe(() => {});\r\n }\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n // this.sesstionTimeoutMethod(this.idle, this.keepalive);\r\n // await this.LoginLogout();\r\n this.getAccessLevelValue();\r\n this.getDashboardAccess();\r\n this.getSystemParametersValue();\r\n // this.setupSessionTimeout();\r\n }\r\n\r\n // log out on session time\r\n // getSystemParamDetails() {\r\n // this._commonService.getSystemParametersByKey('SessionTimeout').subscribe((result) => {\r\n // this.bnIdle.startWatching(result).subscribe((isTimeOut: boolean) => {\r\n // if (isTimeOut) {\r\n // this.browserName = this._commonService.detectBrowserName();\r\n // this.getSetUserDetails();\r\n // sessionStorage.clear();\r\n // localStorage.clear();\r\n // this.msalService.logoutRedirect();\r\n // this.bnIdle.stopTimer();\r\n // }\r\n // })\r\n // });\r\n // }\r\n\r\n getSetUserDetails() {\r\n this.userDataService.getuserObs().subscribe((result) => {\r\n if (result?.data != null) {\r\n this.userId = result?.data.userId;\r\n let obj = {\r\n id: Guid,\r\n userId: this.userId,\r\n email: result?.data.email,\r\n browser: this.browserName,\r\n activityType: 'Logout',\r\n iPAddress: this.userIP,\r\n };\r\n this.userDataService.AddLogonActivity(obj).subscribe(\r\n (response: any) => {\r\n if (response?.data != null) {\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.errorService.openDialog(\r\n this.messageConstants.Users[0]['errorUpdateLogon'],\r\n error.status\r\n );\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n // getIPAddress() {\r\n // this._commonService.getIPAddress().subscribe((res: any) => {\r\n // this.userIP = res;\r\n // }, (error: HttpErrorResponse) => {\r\n // this.errorService.openDialog(this.messageConstants.Admin[0]['errorFetchIPAddress'], error.status);\r\n // })\r\n // }\r\n\r\n async LoginLogout() {\r\n try {\r\n // await this.authService.initialize();\r\n this.broadcastService.msalSubject$\r\n .pipe(\r\n filter(\r\n (msg: EventMessage) =>\r\n msg.eventType === EventType.ACQUIRE_TOKEN_FAILURE\r\n ),\r\n takeUntil(this._destroying$)\r\n )\r\n .subscribe(async (result: EventMessage) => {\r\n this.commonService.logOut(localStorage.getItem('email')).subscribe((res: any) => {\r\n if (res) {\r\n sessionStorage.clear();\r\n localStorage.clear();\r\n this.msalService.logoutRedirect();\r\n }\r\n });\r\n });\r\n\r\n // TO HANDLE CANCEL CLICK IN AUTH PAGES\r\n this.broadcastService.msalSubject$\r\n .pipe(\r\n filter(\r\n (msg: EventMessage) => msg.eventType === EventType.LOGIN_FAILURE\r\n ),\r\n takeUntil(this._destroying$)\r\n )\r\n .subscribe(async (result: any) => {\r\n if (result != null) {\r\n if (result.error.toString().indexOf('AADB2C90118') > -1) {\r\n const url = `${environment.changePasswordAuthority}/oauth2/authorize?client_id=${environment.clientID}\r\n &redirect_uri=${environment.redirectURI}\r\n &response_type=id_token&scope=openid`;\r\n window.location.href = url;\r\n } else {\r\n this.authService.loginRedirect();\r\n }\r\n }\r\n });\r\n // TO GET BEARER TOKEN FOR HTTP INTERCEPTOR\r\n let users = this.authService.instance.getAllAccounts();\r\n\r\n if (users.length > 0) {\r\n this.authService.instance.setActiveAccount(users[0]);\r\n\r\n this.authService\r\n .acquireTokenSilent({ scopes: environment.b2cScopes })\r\n .subscribe((res) => {});\r\n } // IF\r\n\r\n // TO STORE BEARER TOKEN FOR HTTP INTERCEPTOR\r\n this.broadcastService.msalSubject$\r\n .pipe(\r\n filter(\r\n (msg: EventMessage) =>\r\n msg.eventType === EventType.LOGIN_SUCCESS ||\r\n msg.eventType === EventType.ACQUIRE_TOKEN_SUCCESS\r\n ),\r\n takeUntil(this._destroying$)\r\n )\r\n .subscribe(async (result: EventMessage) => {\r\n this._userDataService.tokenData = result.payload;\r\n sessionStorage.setItem(\r\n 'accessToken',\r\n this._userDataService.tokenData['accessToken']\r\n );\r\n localStorage.setItem(\r\n 'accessToken',\r\n this._userDataService.tokenData['accessToken']\r\n );\r\n // this._userDataService.getLoggedInUserDetails();\r\n // await this._userDataService.getLoggedInUserDetails();\r\n this.commonService.getUserDetails();\r\n });\r\n\r\n setTimeout(() => {\r\n if (sessionStorage.getItem('isUserLogged') == 'true') {\r\n //this.getIPAddress();\r\n //this.getSystemParamDetails();\r\n } // delaying 5 seconds so that all dashboard componets are loaded properly.\r\n }, 5000);\r\n } catch (error) {}\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._destroying$.next(undefined);\r\n this._destroying$.complete();\r\n }\r\n\r\n //To get AccessLevel value\r\n getAccessLevelValue() {\r\n this.commonService.getAccessLevel().subscribe(\r\n (accessLevel: string | null) => {\r\n if (accessLevel) {\r\n this.accessLevel = accessLevel;\r\n }\r\n },\r\n (error) => {}\r\n );\r\n }\r\n\r\n // get Dashboard access level for corporate CT1 if dashboard submenu is comming\r\n getDashboardAccess() {\r\n this.commonService.getDashboardAccess().subscribe(\r\n (dashboardAccessLevel: string | null) => {\r\n if (dashboardAccessLevel) {\r\n this.dashboardAccessLevel = dashboardAccessLevel;\r\n }\r\n },\r\n (error) => {}\r\n );\r\n }\r\n\r\n setCurrenctMenu = () => {\r\n const getMenus: any = localStorage.getItem('menuItems');\r\n this.menuItems = JSON.parse(getMenus);\r\n\r\n let t1Dashboard = this.menuItems?.find(\r\n (menuItems: any) => menuItems?.menU_NAME == 'T1 Dashboard'\r\n );\r\n let corporateDashboard = this.menuItems?.find(\r\n (menuItems: any) => menuItems?.menU_NAME == 'Corporate Dashboard'\r\n );\r\n if (this.breadcrumbService.getRoutePath() === 'dashboard') {\r\n if (\r\n this.accessLevel == 'CT1' &&\r\n this.dashboardAccessLevel == 'corporate-dashboard'\r\n ) {\r\n this.breadcrumbService.setRoutePath(corporateDashboard?.actioN_PATH);\r\n } else if (\r\n this.accessLevel == 'CT1' &&\r\n this.dashboardAccessLevel == 't1-dashboard'\r\n ) {\r\n this.breadcrumbService.setRoutePath(t1Dashboard?.actioN_PATH);\r\n }\r\n }\r\n\r\n let currentMenu = this.menuItems?.find(\r\n (menu: any) => menu?.actioN_PATH == this.breadcrumbService.getRoutePath()\r\n );\r\n\r\n if (\r\n this.accessLevel == 'CT1' &&\r\n this.dashboardAccessLevel == 'corporate-dashboard'\r\n ) {\r\n let activeMenuStringfy = localStorage.getItem('activeMenu');\r\n let activeMenu = activeMenuStringfy\r\n ? JSON.parse(activeMenuStringfy)\r\n : null;\r\n\r\n if (\r\n activeMenu?.actioN_PATH == 'dashboard' &&\r\n activeMenu?.menU_TYPE == 'T'\r\n ) {\r\n currentMenu = corporateDashboard;\r\n }\r\n }\r\n if (\r\n this.accessLevel == 'CT1' &&\r\n this.dashboardAccessLevel == 't1-dashboard'\r\n ) {\r\n let activeMenuStringfy = localStorage.getItem('activeMenu');\r\n let activeMenu = activeMenuStringfy\r\n ? JSON.parse(activeMenuStringfy)\r\n : null;\r\n if (\r\n activeMenu?.actioN_PATH == 'dashboard' &&\r\n activeMenu?.menU_TYPE == 'T'\r\n ) {\r\n currentMenu = t1Dashboard;\r\n }\r\n }\r\n if (currentMenu != undefined || currentMenu != null) {\r\n localStorage.setItem('activeMenu', JSON.stringify(currentMenu));\r\n }\r\n };\r\n} // EXPORT\r\n","
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
","import { NgModule } from '@angular/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { ServiceWorkerModule } from '@angular/service-worker';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { CoreModule } from './core/core.module';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { environment } from '../environments/environment';\r\nimport { ApiInterceptor } from 'src/app/core/_services/interceptors/api-interceptor';\r\nimport { CurrencyPipe } from '@angular/common';\r\n\r\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\n\r\nimport { ToastrModule, ToastrConfig } from 'ngx-toastr';\r\nimport { SwiperModule } from \"swiper/angular\";\r\n\r\nimport {\r\n MsalModule,\r\n MSAL_INSTANCE,\r\n MSAL_GUARD_CONFIG,\r\n MSAL_INTERCEPTOR_CONFIG,\r\n MsalBroadcastService,\r\n MsalGuard,\r\n MsalInterceptor,\r\n MsalInterceptorConfiguration,\r\n MsalGuardConfiguration,\r\n MsalService,\r\n\r\n} from '@azure/msal-angular';\r\n\r\nimport {\r\n LogLevel,\r\n IPublicClientApplication,\r\n PublicClientApplication,\r\n BrowserCacheLocation,\r\n InteractionType,\r\n} from '@azure/msal-browser';\r\nimport { DatePipe } from '@angular/common';\r\nimport { MobxAngularModule } from 'mobx-angular';\r\nimport { LocalStorageService } from './shell/services/common/local-storage.service';\r\nimport { sharedService } from './shared/shared-service.service';\r\n\r\nconst isIE =\r\n window.navigator.userAgent.indexOf('MSIE ') > -1 ||\r\n window.navigator.userAgent.indexOf('Trident/') > -1; // Remove this line to use Angular Universal\r\n\r\nexport function loggerCallback(logLevel: LogLevel, message: string) { }\r\n\r\nexport function MSALInstanceFactory(): IPublicClientApplication {\r\n return new PublicClientApplication({\r\n auth: {\r\n clientId: environment.clientID,\r\n authority: environment.authority,\r\n knownAuthorities: environment.knownAuthorities,\r\n redirectUri: environment.redirectURI,\r\n navigateToLoginRequestUrl: false,\r\n postLogoutRedirectUri: environment.logoutURI,\r\n },\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.LocalStorage,\r\n storeAuthStateInCookie: isIE, // set to true for IE 11. Remove this line to use Angular Universal\r\n },\r\n system: {\r\n allowNativeBroker: false,\r\n loggerOptions: {\r\n loggerCallback,\r\n logLevel: LogLevel.Info,\r\n piiLoggingEnabled: false,\r\n },\r\n },\r\n });\r\n}\r\n\r\nexport function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {\r\n const protectedResourceMap = new Map>();\r\n protectedResourceMap.set(environment.graphURL, environment.b2cScopes);\r\n\r\n return {\r\n interactionType: InteractionType.Redirect,\r\n protectedResourceMap,\r\n };\r\n}\r\n\r\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\r\n return {\r\n interactionType: InteractionType.Redirect,\r\n authRequest: {\r\n scopes: environment.b2cScopes,\r\n },\r\n loginFailedRoute: environment.loginFailedRoute,\r\n };\r\n}\r\n\r\nexport const toastrConfig: Partial = {\r\n positionClass: 'toast-top-center',\r\n // Other toastr options\r\n};\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [\r\n BrowserAnimationsModule,\r\n MatProgressSpinnerModule,\r\n BrowserModule,\r\n HttpClientModule,\r\n ToastrModule.forRoot(toastrConfig),\r\n ServiceWorkerModule.register('ngsw-worker.js', {\r\n enabled: environment.production,\r\n // Register the ServiceWorker as soon as the app is stable\r\n // or after 30 seconds (whichever comes first).\r\n registrationStrategy: 'registerWhenStable:30000',\r\n }),\r\n AppRoutingModule,\r\n MsalModule,\r\n CoreModule,\r\n MobxAngularModule,\r\n SwiperModule,\r\n //sesstion timeout module\r\n NgIdleKeepaliveModule.forRoot(),\r\n NgIdleModule.forRoot(),\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MsalInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ApiInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: MSAL_INSTANCE,\r\n useFactory: MSALInstanceFactory,\r\n },\r\n {\r\n provide: MSAL_GUARD_CONFIG,\r\n useFactory: MSALGuardConfigFactory,\r\n },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n useFactory: MSALInterceptorConfigFactory,\r\n },\r\n MsalService,\r\n MsalGuard,\r\n MsalBroadcastService,\r\n DatePipe,\r\n LocalStorageService,\r\n CurrencyPipe,\r\n sharedService,\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule { }\r\n","// breadcrumb.service.ts\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BreadcrumbService {\r\n private breadcrumbsSubject = new BehaviorSubject([]);\r\n breadcrumbs$ = this.breadcrumbsSubject.asObservable();\r\n\r\n private companyInfoSubject = new BehaviorSubject({});\r\n companyInfo$ = this.companyInfoSubject.asObservable();\r\n\r\n private roleNameSubject = new BehaviorSubject({});\r\n roleName$ = this.roleNameSubject.asObservable();\r\n\r\n private currentRoutePath: string = '';\r\n\r\n // click on breadcrum link to set clicked value\r\n private clickedDataSubject = new BehaviorSubject(null);\r\n clickedData$ = this.clickedDataSubject.asObservable();\r\n\r\n setRoutePath(routePath: string) {\r\n this.currentRoutePath = routePath;\r\n }\r\n\r\n getRoutePath() {\r\n return this.currentRoutePath;\r\n }\r\n\r\n setBreadcrumbs(breadcrumb: any) {\r\n this.breadcrumbsSubject.next(breadcrumb);\r\n }\r\n\r\n setCompanyInfo(companyInfo: any) {\r\n this.companyInfoSubject.next(companyInfo);\r\n }\r\n setRoleName(role: any) {\r\n this.roleNameSubject.next(role);\r\n }\r\n\r\n getBreadcrumbs() {\r\n return this.breadcrumbsSubject.getValue();\r\n }\r\n\r\n setClickedData(data: any) {\r\n this.clickedDataSubject.next(data);\r\n }\r\n\r\n getClickedData() {\r\n return this.clickedDataSubject.getValue();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { ApiService } from '../../core/_services/api/api.service';\r\nimport { BaseApi } from '../../shared/_models/base-api';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CompanyService extends BaseApi {\r\n constructor(private _apiService: ApiService) {\r\n super();\r\n }\r\n\r\n public getCompanyDataById(id: any): Observable {\r\n return this._apiService\r\n .get(`Company/${id}`)\r\n .pipe(map((response: any) => response));\r\n } // FN\r\n\r\n updateGenInfoData(data: any): Observable {\r\n return this._apiService.put(`Company/`, data);\r\n }\r\n\r\n saveContactInfoData(data: any): Observable {\r\n return this._apiService.post(`Contact/Multiple`, data);\r\n }\r\n\r\n saveAddressInfoData(data: any): Observable {\r\n return this._apiService.post(`CompanyLocation/Multiple`, data);\r\n }\r\n\r\n saveGeneralInfoData(data: any): Observable {\r\n return this._apiService.post(`Company/`, data);\r\n }\r\n\r\n saveUpdateGeneralInfoData(data: any): Observable {\r\n return this._apiService.post(`Company/Multiple`, data);\r\n }\r\n // FN\r\n\r\n public getCompanyLoactionsById(id: any): Observable {\r\n return this._apiService\r\n .get(`CompanyLocation/GetCompanyLocationByCO_ID${id}`)\r\n .pipe(map((response: any) => response));\r\n } // FN\r\n\r\n public getCompanyContactsById(id: any): Observable {\r\n return this._apiService\r\n .get(`Contact/GetCompanyContactsByCO_ID${id}`)\r\n .pipe(map((response: any) => response));\r\n } // FN\r\n\r\n public getDiversityTypeIdAndEthinicityId(id: any): Observable {\r\n return this._apiService\r\n .get(`Company/GetDiversityTypeIdAndEthinicityId?co_id=${id}`)\r\n .pipe(map((response: any) => response));\r\n } // FN\r\n\r\n saveEthnicityDiversityTypes(data: any): Observable {\r\n return this._apiService.post(`Company/AddCoDiversityTypes`, data);\r\n }\r\n getSystemParameterValues(): Observable {\r\n return this._apiService\r\n .get(`Company/GetSystemParameterValues`)\r\n .pipe(map((response: any) => response));\r\n }\r\n getSelectEthnicityType(): Observable {\r\n return this._apiService\r\n .get(`Company/selectEthnicityType`)\r\n .pipe(map((response: any) => response));\r\n }\r\n}\r\n"," 
import { Injectable } from '@angular/core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { ApiService } from '../../core/_services/api/api.service';\r\nimport { BaseApi } from '../../shared/_models/base-api';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CompanySettingServices extends BaseApi {\r\n constructor(private _apiService: ApiService) {\r\n super();\r\n }\r\n\r\n public generalTabInfo(id: any): Observable {\r\n return this._apiService\r\n .get(\r\n `CompanySettings/GetCompanySetup?co_id=${id}`\r\n )\r\n .pipe(map((response: any) => response));\r\n }\r\n public generalcurrency(): Observable {\r\n return this._apiService\r\n .get(`Currency`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public getTimeZone(): Observable {\r\n return this._apiService\r\n .get(`CompanySettings/GetAllTimeZone`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public saveGeneralInfo(reqObj: any): Observable {\r\n return this._apiService.post('CompanySettings/Multiple', reqObj);\r\n }\r\n public getPeriodDiff(): Observable {\r\n return this._apiService\r\n .get(`CompanySettings/GetAllreporting_period_frequency`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public getEvaluation(id: any): Observable {\r\n return this._apiService\r\n .get(`CompanySettings/GetAllEvaluationRanges${id}`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public saveEvaluationTab(reqObj: any): Observable {\r\n return this._apiService\r\n .post(`CompanySettings/EvaluationRangesMultiple`, reqObj)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public deleteEvaluationrec(id: any): Observable {\r\n return this._apiService\r\n .post(`CompanySettings/DeleteEvaluationRange`, id)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n // CompanySettings/GetAllreporting_period_frequency\r\n}\r\n\r\n","import { environment } from \"src/environments/environment\";\r\nexport class ApiConfig {\r\n public static API_ENDPOINT: string = environment.apiUrl;\r\n}","export const errorMessageConstants = {\r\n SendJoinEmail: [\r\n {\r\n errorSubmittingJoinForm:\r\n 'Error submitting user form. Please try again or contact Administrator.',\r\n joinFormSubmitted:\r\n 'Form has been submitted. A representative will get back to you shortly.',\r\n },\r\n ],\r\n common: [\r\n {\r\n apiFailMsg: 'Something went wrong. Please try again.',\r\n joinFormSubmitted:\r\n 'Form has been submitted. A representative will get back to you shortly.',\r\n },\r\n ],\r\n\r\n CompanyGenInfo: [\r\n {\r\n errorUpdateGenInfo: 'Error updating Company General Information',\r\n errorSaveGenInfo: 'Error saving Company General Information',\r\n errorSocialNetwork: 'Error deleting Social Network',\r\n errorRevenuDelete: 'Error deleting Revenue',\r\n errorEmployeeDelete: 'Error deleting Employee',\r\n errorCertificateDelete: 'Error deleting Certificate',\r\n },\r\n ],\r\n\r\n CategoryInfo: [\r\n {\r\n errorUpdateInfo: 'Error updating Category',\r\n errorSaveInfo: 'Error saving Category',\r\n },\r\n ],\r\n CategoryGoalsInfo: [\r\n {\r\n errorUpdateInfo: 'Error updating Category KPI',\r\n errorSaveInfo: 'Error saving Category KPI',\r\n goalExists: 'Category KPI already exists for the year - ',\r\n },\r\n ],\r\n ReportingPeriodsInfo: [\r\n {\r\n errorUpdateInfo: 'Error updating Reporting Period',\r\n errorSaveInfo: 'Error saving Reporting Period',\r\n reportingPeriodExists: 'Reporting Period already exists',\r\n deleteReportingPeriod: 'Error deleting Reporting Period',\r\n deleteReportingRequest: 'Error deleting Reporting Request',\r\n },\r\n ],\r\n ReportingPrime: [\r\n {\r\n userDetials: 'Error while fetching data',\r\n },\r\n ],\r\n UserInvite: [\r\n {\r\n updateList: 'Error updating User Invite',\r\n cancelInviteDeleteError: 'Error cancelling Invite',\r\n userExisting:\r\n 'Your are already part of diversityTrax. Please login to continue.',\r\n },\r\n ],\r\n\r\n Invitations: [\r\n {\r\n DataNotFound: 'Data not found',\r\n InvitationCancelled: 'User Invitation has been cancelled',\r\n NoUser: 'No User Invitatation request found',\r\n PleaseWait: 'Please wait...',\r\n LinkExpired: 'Link is expired',\r\n TokenExpired: 'The link is expired. Please contact Administrator.',\r\n TokenNotValid: 'The token is not valid. Please contact Administrator.',\r\n UserAlreadyRegistered: 'User is already registered',\r\n UserInviteSent: 'User Invitation has been sent by email',\r\n UserInviteCancelled: 'User Invitation has been cancelled',\r\n CancelConfirm: 'Are you sure you want to cancel this Invitation ',\r\n },\r\n ],\r\n\r\n PrimeReports: [\r\n {\r\n DataUpdatedSucessfully: 'has been updated.',\r\n DataVerifiedSucessfully: 'Supplier Report has been confirmed.',\r\n DataUnverifiedSucessfully: 'Supplier Report has been revoked.',\r\n MultiDataVerifiedSucessfully:\r\n 'Selected Suppliers Report has been confirmed.',\r\n ErrorUpdatingData: 'Error updating data',\r\n },\r\n ],\r\n Certificates: [\r\n {\r\n error: 'Error updating data',\r\n approvedSuccess: 'Certificate has been approved.',\r\n rejectSuccess: 'Certificate has been rejected.',\r\n errorSaveInfo: 'Error saving data',\r\n updateStatusSuccessInfo: 'Certificates has been updated.',\r\n errorValidateInfo: 'Error validating data',\r\n },\r\n ],\r\n TieBreakers: [\r\n {\r\n saveTieBreakers: 'Error saving data',\r\n updateTieBreakers: 'Error updating data',\r\n },\r\n ],\r\n T2Analytics: [\r\n {\r\n NoDatatoExport: 'There is no data to export',\r\n AgencyReportExportName: 'Agency Report',\r\n AggregateReportExportName: 'Aggregate Group Report',\r\n CategoryReportExportName: 'Category Report',\r\n DiversityTypeReportExportName: 'Diversity Type Report',\r\n EthnicityReportExportName: 'Ethnicity Report',\r\n GoalReportExportName: 'Goal Report',\r\n KPIReportExportName: 'KPI Report',\r\n PrimeReportExportName: 'Prime Report',\r\n },\r\n ],\r\n};\r\n\r\nexport const successMessageConstants = {\r\n TieBreakers: [\r\n {\r\n saveTieBreakersDetail: 'Tie Breakers has been saved.',\r\n updateTieBreakersDetail: 'Tie Breakers has been updated.',\r\n saveTieBreakersDiversityTypes: 'Diversity Types has been saved.',\r\n updateTieBreakersDiversityTypes: 'Diversity Types has been updated.',\r\n saveTieBreakersAgencies: 'Agencies has been saved.',\r\n updateTieBreakersAgencies: 'Agencies has been updated.',\r\n },\r\n ],\r\n};\r\n\r\nexport const dataConstants = {\r\n taxVerfication: {\r\n sliderText: {\r\n header: 'Welcome to our community',\r\n subHeader: 'Why Register DiversityTrax?',\r\n subHeaderContext:\r\n ' There are lot of benefits in registering your company as a supplier with DiversityTraX.You instantly unlock the possibility of catering to a multitude of businesses at the same time.Be found through our Network Database or take surveys posted by our Corporate Members.',\r\n howItsWorks: [\r\n {\r\n icon: '../../../../assets/images/silder2_1.svg',\r\n label: ['Register as a', 'Company'],\r\n },\r\n {\r\n icon: '../../../../assets/images/silder2_2.svg',\r\n label: [\r\n 'Complete your',\r\n 'profile and manage',\r\n 'contacts & certifications.',\r\n ],\r\n },\r\n {\r\n icon: '../../../../assets/images/silder2_3.svg',\r\n label: ['Manage your', 'suppliers,', 'invitations etc.'],\r\n },\r\n ],\r\n },\r\n texDetails: {\r\n header: 'Tax ID Verification',\r\n notes:\r\n 'Please provide the following details. (All fields are required unless noted)',\r\n taxDetails: 'Tax Details',\r\n companyName: 'Company',\r\n taxId: 'Tax id',\r\n validate: 'Validate',\r\n lookUp: 'Lookup',\r\n request: 'Request',\r\n next: 'Next',\r\n cancel: 'Cancel',\r\n retry: 'Retry',\r\n yesProceed: 'Yes, Proceed',\r\n noRetry: 'No, Retry',\r\n },\r\n },\r\n userRequests: {\r\n title: 'User Requests',\r\n firstName: 'First Name',\r\n lastName: 'Last Name',\r\n companyName: 'Company Name',\r\n receivedDate: 'Received',\r\n eventName: 'Event',\r\n role: 'Role',\r\n email: 'Email',\r\n phoneNumber: 'Phone',\r\n roleErrorMsg: 'Role is required',\r\n reject: 'Reject',\r\n accept: 'Accept',\r\n cancel: 'Cancel',\r\n save: 'Save',\r\n search: 'Search',\r\n notFound: 'Not Found',\r\n userAcceptMsg: 'User request has been Approved',\r\n userRejectMsg: 'User request has been Rejected',\r\n ok: 'OK',\r\n doYouWish: 'Do you wish to assign the role ?',\r\n },\r\n admin: {\r\n events: {\r\n title: 'Events',\r\n add: 'Add',\r\n new: 'New',\r\n name: 'Name',\r\n eventNameError: 'Event Name is required',\r\n displayName: 'Display As',\r\n displayNameError: 'Display as is required',\r\n state: 'State',\r\n notFound: 'Not Found',\r\n stateError: 'State is required',\r\n city: 'City',\r\n cityError: 'City name is required',\r\n start: 'Start',\r\n startDate: 'Start Date',\r\n startDateError: 'Start date is required',\r\n end: 'End',\r\n endDate: 'End Date',\r\n endDateError: 'End Date is required',\r\n acceptReqError: 'Accept Date should not be less than end date',\r\n description: 'Description',\r\n descriptionError: ' Content limited to 1000 characters. Remaining',\r\n optional: '(Optional)',\r\n generateQrCode: 'Generate QR Code',\r\n qrCode: 'QR Code',\r\n cancel: 'Cancel',\r\n save: 'Save',\r\n download: 'Download',\r\n delete: 'Delete',\r\n acceptReqUntil: 'Accept Requests Until',\r\n },\r\n company: {\r\n diversityCredit: {\r\n ownershipDiversity: 'Ownership Diversity',\r\n ownershipDiversityError: \"Please select Diverse if your company's ownership represents diversity else, select Non Diverse\",\r\n diverse: 'Diverse',\r\n nonDiverse: 'Non-Diverse',\r\n diversityDetails: 'Diversity Details',\r\n provideTheDetails: 'Provide the details of all diversity types that apply',\r\n add: 'Add',\r\n new: 'New',\r\n showAll: 'Show All',\r\n view: 'View',\r\n next: 'Next',\r\n previous: 'Previous',\r\n fileName: 'File Name :',\r\n diversityType: 'Diversity Type',\r\n agency: 'Agency',\r\n others: 'Others',\r\n number: 'Number',\r\n effectiveDate: 'Effective Date',\r\n expirationDate: 'Expiration Date',\r\n notes: 'Notes',\r\n notFound: 'Not Found',\r\n optional: '(Optional)',\r\n ifOthers: ' If Others',\r\n cancel: 'Cancel',\r\n save: 'Save',\r\n\r\n },\r\n diversityEthinicity: {\r\n diversityEthinicity: 'Diversity & Ethnicity',\r\n selectTheDiversity: 'Select the diversity types of the majority ownership, if none, choose Non-Diverse',\r\n cancel: 'Cancel',\r\n save: 'Save',\r\n diverse: 'Diverse',\r\n nonDiverse: 'Non-Diverse',\r\n diversityTypes: 'Diversity Types',\r\n ethnicity: 'Ethnicity',\r\n previous: 'Previous',\r\n next: 'Next'\r\n },\r\n generalInfo: {\r\n companyInfo: 'Company Information',\r\n pleaseProvide: 'Please provide your company details',\r\n cancel: 'Cancel',\r\n save: 'Save',\r\n legalName: \"Legal Name\",\r\n legalNameError: 'Legal Name is required',\r\n displayNameError: 'Display As is required',\r\n tradeName: 'Display As',\r\n optional: '(Optional)',\r\n leaglIndentifier: 'Legal Identifier'\r\n\r\n }\r\n },\r\n agencies: {\r\n tasks: {\r\n verificationTaskss: 'Verification Tasks',\r\n certificatesToVerify: 'Certificates to Verify',\r\n }\r\n }\r\n\r\n },\r\n notFound: 'Not Found',\r\n superAdmin: {\r\n naics: {\r\n naics: 'Naics',\r\n title: 'Title',\r\n code: 'Code',\r\n bussinessSector: 'Business sector',\r\n commodity: 'Commodity',\r\n status: 'Status',\r\n titleError: 'NAICS Title is required',\r\n codeError: 'NAICS Code is required',\r\n commodityError: 'NAICS Commodity is required',\r\n cancel: 'Cancel',\r\n save: 'Save',\r\n ok: 'Ok',\r\n delete: 'Delete',\r\n new: 'New',\r\n warningText: 'Something went wrong , please try again later',\r\n },\r\n ethnicity: {\r\n ethnicity: 'Ethnicity',\r\n newEthnicityType: 'New Ethnicity Type',\r\n title: 'Title',\r\n status: 'Status',\r\n titleError: 'Ethnicity Title is required',\r\n cancel: 'Cancel',\r\n save: 'Save',\r\n ok: 'Ok',\r\n delete: 'Delete',\r\n new: 'New',\r\n warningText: 'Something went wrong , please try again later',\r\n },\r\n continent: {\r\n continents: 'Continents',\r\n },\r\n categorie: {\r\n categorie: '',\r\n corporateCategory: 'Corporate Category'\r\n },\r\n taxType: {\r\n taxType: 'Tax Type',\r\n new: 'New',\r\n newTaxType: 'New Tax Type',\r\n name: 'Name',\r\n format: 'Tax Format',\r\n registration: 'Registration',\r\n success: 'Success',\r\n delete: 'Delete',\r\n taxTypeUpdate: 'Tax type has been updated',\r\n taxTypeDelete: 'Tax type has been deleted',\r\n titleError: 'Tax Type Name is required',\r\n formatError: 'Tax Type Format is required',\r\n cancel: 'Cancel',\r\n save: 'Save',\r\n ok:'Ok'\r\n }\r\n },\r\n jointForm: {\r\n welcomeToOurCommunity: ' Welcome to our community',\r\n whyRegisterDiversity: 'Why Register DiversityTrax?',\r\n benefitsText: 'There are lot of benefits in registering your company as a supplier with DiversityTraX. You instantly unlock the possibility of catering to a multitude of businesses at the same time. Be found through our Network Database or take surveys posted by our Corporate Members.',\r\n howItWorks: 'How it works',\r\n registerAsA: 'Register as a',\r\n company: 'Company',\r\n completeYour: 'Complete your',\r\n profileAndManage: 'profile and manage',\r\n contactsAndCertificates: 'contacts & certifications.',\r\n manageYour: 'Manage your',\r\n suppliers: 'suppliers,',\r\n invitationEtc: 'invitations etc.',\r\n alreadyJoined: 'Already Joined?',\r\n login: 'Login',\r\n registerRequest: 'Register Request',\r\n pleaseProvide: 'Please provide the following details.',\r\n allFields: ' (All fields are required unless noted)',\r\n companyInfo: 'Company Information',\r\n companyName: 'Company Name',\r\n companyNameError: 'Company Name is required',\r\n notFound: 'Not Found',\r\n countryRequired: 'Country is Required',\r\n state: 'State',\r\n stateRequired: 'State is Required',\r\n isYourBuss: 'Is your Business Diverse ?',\r\n yes: 'Yes',\r\n no: 'No',\r\n businessSector: 'Business Sector',\r\n yourInfo: 'Your Information',\r\n firstName: 'First Name',\r\n firstNameError: 'First Name is required',\r\n lastName: 'Last Name',\r\n lastNameError: 'Last Name is required',\r\n emailAddress: ' Email Address',\r\n emailAddressError: 'Email Address is required',\r\n validEmailError: 'Please enter a valid email address',\r\n phoneNum: 'Phone Number',\r\n phoneNumError: 'Phone Number is required',\r\n validPhoneNumError: 'Invalid phone number',\r\n referral: 'Referral',\r\n howDoYouAbout: 'How did you know about us (Optional)',\r\n byRegisterYou: 'By registering, you agree to our',\r\n termsOfUse: 'Terms of Use',\r\n aggrement: 'agreement.',\r\n submit: 'Submit',\r\n thankYou: 'Thank You!',\r\n yourSignUp: 'Your Sign-up request has been submitted.',\r\n ourTeamWill: 'Our team will contact you soon',\r\n ok: 'Ok'\r\n\r\n\r\n\r\n }\r\n};\r\nexport const report = {\r\n reportingPeroid: {\r\n primeReports: {\r\n general: 'General',\r\n diverseSuppliers: ' Diverse Suppliers',\r\n },\r\n },\r\n};\r\nexport const admin = {\r\n users: {\r\n users: {\r\n title: 'Users',\r\n firstName: 'First Name',\r\n lastName: 'Last Name',\r\n email: 'Email',\r\n phoneNumber: 'Phone',\r\n role: 'Role',\r\n status: 'Status',\r\n myCorporate: 'My Corporates',\r\n optional: '(Optional)',\r\n primary: 'Primary',\r\n firstNameError: ' First Name is required',\r\n lastNameError: ' Last Name is required',\r\n emailError: ' Email is required',\r\n phoneNumberError: 'Invalid phone number',\r\n notFound: 'Not Found',\r\n roleError: 'Role is required',\r\n inActive: 'Inactive',\r\n cancel: 'Cancel',\r\n save: 'Save',\r\n usersUpdated: 'User details have been updated.',\r\n ok: 'OK',\r\n allFieldsMandatory: 'All Fields are mandatory',\r\n primaryUnique: 'Primary should be one',\r\n },\r\n inviteUsers: {\r\n title: 'User Invitations',\r\n inviteUsers: 'Invite Users',\r\n firstName: 'First Name',\r\n lastName: 'Last Name',\r\n email: 'Email',\r\n company: 'Company Name',\r\n phoneNumber: 'Phone',\r\n firstNameError: ' First Name is required',\r\n lastNameError: ' Last Name is required',\r\n emailError: ' Email is required',\r\n phoneNumberError: 'Invalid phone number',\r\n invitationSent: 'Invitation already sent for this user',\r\n role: 'Role',\r\n roleError: 'Role is required',\r\n status: 'Status',\r\n notFound: 'Not Found',\r\n expiry: 'Expiry Date',\r\n expiryError: 'Expiry is required',\r\n cancelInvitation: 'Cancel Invitation',\r\n send: 'Send',\r\n cancel: 'Cancel',\r\n optional: '(Optional)',\r\n bulkImport: 'Bulk Import'\r\n },\r\n roles: {\r\n title: 'Roles',\r\n cancel: 'Cancel',\r\n save: 'Save',\r\n allFieldsNotify: '*All fields required unless noted',\r\n roleName: 'Role Name',\r\n optional: '(Optional)',\r\n roleDesc: 'Roles Description',\r\n sno: 'S.No',\r\n roleError: 'Role Name is required',\r\n roleErrorDuplicate: 'Role Name is a duplicate',\r\n add: 'Add',\r\n },\r\n },\r\n};\r\n\r\nexport const allSuppliers = {\r\n emailInformation: {\r\n cancel: 'Cancel',\r\n emailError: 'Please enter a valid email',\r\n cc: 'CC',\r\n add: 'Add',\r\n subText: 'Subject is required',\r\n useTemplate: 'Use Template',\r\n saveTemplate: 'Save as Template',\r\n back: 'Back',\r\n send: 'Send',\r\n discard: 'Discard',\r\n templateName: 'Name',\r\n templateNameError: 'Name is required',\r\n description: 'Description',\r\n optional: '(Optional)',\r\n subject: 'Subject',\r\n subjectError: 'Subject is required',\r\n save: 'Save',\r\n },\r\n};\r\n\r\nexport const companyInfo = {\r\n emailTemplates: {\r\n title: 'Email Templates',\r\n add: 'Add',\r\n new: 'New',\r\n templateName: 'Name',\r\n templateNameError: 'Name is required',\r\n description: 'Description',\r\n optional: '(Optional)',\r\n subject: 'Subject',\r\n subjectError: 'Subject is required',\r\n cancel: 'Cancel',\r\n save: 'Save',\r\n content: 'Content',\r\n delete: 'Delete',\r\n },\r\n\r\n};\r\n\r\nexport const legalInfo = {\r\n privacyPolicy: {\r\n title: 'Privacy Policy',\r\n onlinePrivacy: ' Online Privacy Notice',\r\n onlinePrivacyData:\r\n 'DiversityTraX has adopted this Privacy Notice in order to assure Users of our commitment and dedication to privacy. The following Privacy Notice applies to the Web site “http://portal.diversitytrax.com” (site). This Privacy Notice does not apply to information collected offline or via online sources other than http://portal.diversitytrax.com. We invite you to visit the site to search or browse without revealing personal information or registering with DiversityTrax, however, as we gather information about your usage or as you may choose to give DiversityTrax personal information via the site, DiversityTrax will let you know how we will use such information and provide you with an option to opt out. With this notice, your continued use of the site will indicate your agreement to this Privacy Notice.',\r\n registration: 'Registration',\r\n registrationData:\r\n 'Registration is not required to gain access to the site. However, there are sections of the site which do require a password to provide you with certain services, specific material and information.',\r\n useStatistic: 'Usage Statistics',\r\n useStatisticData:\r\n 'Whether you register or not, when you visit the site, some information such as your Internet Protocol (IP) address, Internet service provider, operating system, the service from which you arrived, the page you requested, the time and date of your visit, and potentially other site usage statistics will be collected automatically as part of the software processes of the Web page. This information itself does not personally identify you, but could potentially be linked with personal information that you provide DiversityTraX. These statistics allow DiversityTrax to analyze the effectiveness of its site, make improvements where needed and potentially to market DiversityTrax’s products and services to you. Generally, this information is kept as long as required to support the improvements of the site and could be shared with our advisors, agents or other third parties.',\r\n cookies: 'Cookies',\r\n cookiesData:\r\n 'A cookie is a string of information that a Web site saves on a visitor’s computer, and that the visitor’s browser provides to the Web site operator each time the visitor returns.',\r\n },\r\n termsUse: {\r\n title: 'Terms of Use',\r\n termsAccept:\r\n 'The following terms and conditions shall be deemed to have been accepted by the User on usage of the website diversitytrax.com.',\r\n youAreRequested:\r\n 'You are requested to read them carefully before you use the services of this Site.',\r\n termsList: {\r\n listValues: [\r\n {\r\n text: 'The term User shall refer to the user who is browsing the Site. The term Site refers to diversitytrax.com owned and monitored by DiversityTraX.',\r\n },\r\n {\r\n text: 'By using the Site, the User agrees to follow and be bound by the following terms and conditions and these terms and conditions may be revised or modified at any time by DiversityTraX without any notice to the User.',\r\n },\r\n {\r\n text: 'DiversityTraX may terminate User’s access to Site at any time for any reason. The provisions regarding to disclaimer of warranty, accuracy of information and indemnification shall survive such termination. DiversityTraX may monitor access to the Site.',\r\n },\r\n {\r\n text: 'The software, text, images, graphics, video, and audio used and/or appearing on this Site belong to DiversityTraX, its parent, affiliates and associates and are protected by applicable laws.All the rights including, copyrights and intellectual property rights, in the material presented on the Site which belongs to third parties(“Third Parties”), shall be governed by the terms and conditions as specified by such Third Parties in this behalf.User is advised and User agreed to peruse and abide by, such terms and conditions as specified by the Third Parties.No material from the Site shall be copied, modified, reproduced, republished, uploaded, transmitted, posted, or distributed in any form without prior written permission from DiversityTraX.All rights not expressly granted herein are reserved.Unauthorized use of the materials appearing on the Site may violate copyright, trademark and other applicable laws, and could result in criminal or civil penalties.',\r\n },\r\n {\r\n text: 'DiversityTraX does not make any warranties, express or implied, including, without limitation, those of merchantability and fitness for a particular purpose, with respect to any information, data, statements or products made available on the Site.',\r\n },\r\n {\r\n text: 'The site, and all content, materials, information, software, products and services provided on the Site, are provided on an “as is” and “as available” basis. DiversityTraX expressly disclaims all warranties of any kind, whether express or implied, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose and non-infringement.',\r\n },\r\n {\r\n text: 'DiversityTraX shall have no responsibility for any damage to User’s computer system and/ or loss of data that result from the download of any content, materials, and information from the Site.',\r\n },\r\n {\r\n text: 'DiversityTraX may change or discontinue any aspect of the Site at any time, including, its content and/ or features.DiversityTraX reserves the right to change the terms and conditions applicable to use of the Site.Such changes shall be effective immediately upon notice, which shall be placed on the Site.',\r\n },\r\n {\r\n text: 'In no event shall DiversityTraX be liable for damages of any kind, including without limitation, direct, incidental and/or consequential damages (including, but not limited to, damages for lost profits, business interruption and loss of programs or information) arising out of the use of or inability to use Site, or any information provided on the Site, or for any other reasons whatsoever.',\r\n },\r\n {\r\n text: 'User agrees to indemnify, defend and hold DiversityTraX harmless from and against any and all losses, expenses, damages and costs, including reasonable attorneys’ fees, arising out of or relating to any misuse by the User of the content and services provided on the Site.',\r\n },\r\n {\r\n text: 'The information contained in the Site has been obtained from sources believed to be reliable. DiversityTraX disclaims all warranties as to the accuracy, completeness or adequacy of such information.',\r\n },\r\n {\r\n text: 'DiversityTraX makes no warranty that: (a) the Site will meet User’s requirements; (b) the Site will be available on an uninterrupted, timely, secure, or error- free basis; (c) the results that may be obtained from the use of the Site or any services offered through the Site will be accurate or reliable.',\r\n },\r\n {\r\n text: 'The User’s right to privacy is of paramount importance to DiversityTraX. Any information provided by the User will not be shared with any third party.DiversityTraX reserves the right to use the information to provide the User a more personalized online experience.',\r\n },\r\n {\r\n text: 'The Site may provide links to third party’s web sites and access to content, products and services from third parties, including users, advertisers, affiliates and sponsors of the Site. The User agrees that DiversityTraX is not responsible for the availability of, and content provided on, third party web sites. The User is requested to peruse the policies posted by other web sites regarding privacy and other topics before use. DiversityTraX is not responsible for third party content accessible through the Site, including opinions, advice, statements and advertisements, and User shall bear all risks associated with the use of such content. DiversityTraX is not responsible for any loss or damage of any sort User may incur from dealing with any third party.',\r\n },\r\n ],\r\n },\r\n },\r\n};\r\n","export class SessionUserInfoModel\r\n{\r\n firstName?: string;\r\n middleName?: string;\r\n lastName?: string;\r\n personalEmail?: string;\r\n personalPhone?: number;\r\n membershipType?: string;\r\n membershipName?: string;\r\n membershipId?: string;\r\n companyId?: string;\r\n companyName?: string;\r\n\r\n public get displayName()\r\n {\r\n // if(this.companyName)\r\n // {\r\n // return `${this.companyName} (${this.firstName} ${this.middleName} ${this.lastName})`;\r\n // }\r\n // else\r\n if(this.firstName && this.lastName)\r\n {\r\n return `${this.firstName} ${this.middleName} ${this.lastName}`;\r\n }\r\n else if(this.personalEmail)\r\n {\r\n var part1 = this.personalEmail.split(\"@\")[0];\r\n return part1.replace(\"-\", \" \").replace(\"_\", \" \").replace(\".\", \" \");\r\n }\r\n else\r\n {\r\n return \"\";\r\n }\r\n }\r\n\r\n // getDisplayName()\r\n // {\r\n // if(this.companyName)\r\n // {\r\n // return `${this.companyName} (${this.firstName} ${this.middleName} ${this.lastName})`;\r\n // }\r\n // else if(this.firstName && this.lastName)\r\n // {\r\n // return `${this.firstName} ${this.middleName} ${this.lastName}`;\r\n // }\r\n // else if(this.personalEmail)\r\n // {\r\n // var part1 = this.personalEmail.split(\"@\")[0];\r\n // return part1.replace(\"-\", \" \").replace(\"_\", \" \").replace(\".\", \" \");\r\n // }\r\n // else\r\n // {\r\n // return \"\";\r\n // }\r\n // }\r\n\r\n} // EXPORT","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ApiConfig } from 'src/app/core/_constants/api.config';\r\n\r\n@Injectable()\r\nexport class ApiService {\r\n constructor(private http: HttpClient) { } // CONSTRUCTOR\r\n\r\n private defaultHeaders = new HttpHeaders({\r\n 'X-Frame-Options': 'SAMEORIGIN',\r\n 'X-Content-Type-Options': 'nosniff',\r\n 'Strict-Transport-Security': 'max-age=31536000',\r\n 'Content-Security-Policy': 'default-src \\'self\\'',\r\n 'Referrer-Policy': 'same-origin',\r\n 'Permissions-Policy': 'geolocation=(self)',\r\n 'Cross-Origin-Embedder-Policy': 'require-corp',\r\n 'Cross-Origin-Resource-Policy': 'same-origin',\r\n 'Cross-Origin-Opener-Policy': 'same-origin'\r\n });\r\n\r\n public get(urlPath: string, customHeaders?: HttpHeaders) {\r\n urlPath = ApiConfig.API_ENDPOINT + urlPath;\r\n const headers = customHeaders ? customHeaders : this.defaultHeaders;\r\n return this.http.get(urlPath, { headers });\r\n }\r\n\r\n public post(urlPath: string, data: any, customHeaders?: HttpHeaders) {\r\n urlPath = ApiConfig.API_ENDPOINT + urlPath;\r\n const headers = customHeaders ? customHeaders : this.defaultHeaders;\r\n return this.http.post(urlPath, data, { headers });\r\n }\r\n\r\n public patch(urlPath: string, data: any, customHeaders?: HttpHeaders) {\r\n urlPath = ApiConfig.API_ENDPOINT + urlPath;\r\n const headers = customHeaders ? customHeaders : this.defaultHeaders;\r\n return this.http.patch(urlPath, data, { headers });\r\n }\r\n\r\n public put(urlPath: string, data: any, customHeaders?: HttpHeaders) {\r\n urlPath = ApiConfig.API_ENDPOINT + urlPath;\r\n const headers = customHeaders ? customHeaders : this.defaultHeaders;\r\n return this.http.put(urlPath, data, { headers });\r\n }\r\n\r\n public delete(urlPath: string, customHeaders?: HttpHeaders) {\r\n urlPath = ApiConfig.API_ENDPOINT + urlPath;\r\n const headers = customHeaders ? customHeaders : this.defaultHeaders;\r\n return this.http.delete(urlPath, { headers });\r\n }\r\n} // EXPORT\r\n","import { Injectable } from '@angular/core';\r\nimport { BlobServiceClient, ContainerClient } from '@azure/storage-blob';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ApiService } from './api/api.service';\r\nimport { UserDataService } from './user-data/user-data.service';\r\n\r\n@Injectable()\r\nexport class AzureBlobStorageService {\r\n private storageAccount = environment['azureBlobStorageName'];\r\n private storageContainer: any;\r\n public sas = \"\";\r\n\r\n public isSASAvailable = false;\r\n\r\n constructor(\r\n private _apiService: ApiService,\r\n private _userDataService: UserDataService\r\n ) {\r\n //this._userDataService.setCompanyId().subscribe((res: any) => {\r\n // this.storageContainer = this._userDataService.getCompanyID();\r\n // this.storageContainer = this.storageContainer?.toLowerCase();\r\n // if (this.storageContainer) {\r\n // this._apiService.get('SASToken/' + this.storageContainer).subscribe((res: any) => {\r\n // this.sas = res.sas;\r\n // this.isSASAvailable = true;\r\n // })\r\n // }\r\n //})\r\n } // CONSTRUCTOR\r\n\r\n public async generateSasToken() {\r\n const sasObj: any = await this._apiService.get('SASToken/' + sessionStorage.getItem(\"secretKey\")).toPromise();\r\n this.sas = sasObj.sas;\r\n this.isSASAvailable = true;\r\n return sasObj;\r\n }\r\n\r\n // TO DO: CHECK VALIDITY OF TOKEN. IF NOT VALID THEN GET AGAIN.\r\n\r\n public async uploadFile(content: Blob, name: string, handler: () => void, firstTimeUser?: boolean) {\r\n if (firstTimeUser) {\r\n this.storageContainer = this._userDataService.getCompanyID();\r\n const response: any = await this._apiService.get('SASToken/' + this.storageContainer).toPromise();\r\n this.sas = response.sas;\r\n this.isSASAvailable = true;\r\n }\r\n this.uploadBlob(content, name, this.containerClient(), handler)\r\n } // FN\r\n\r\n public async listFiles(): Promise {\r\n await this.generateSasToken();\r\n return new Promise((resolve, reject) => {\r\n this._userDataService.setCompanyId().subscribe((res: any) => {\r\n this.storageContainer = this._userDataService.getCompanyID();\r\n this.storageContainer = this.storageContainer?.toLowerCase();\r\n this.listBlobs(this.containerClient()).then((res: any) => {\r\n resolve(res)\r\n }).catch(error => {\r\n reject(error);\r\n });\r\n })\r\n });\r\n // return this.listBlobs(this.containerClient())\r\n } // FN\r\n\r\n public downloadFile(name: string, handler: (blob: Blob) => void) {\r\n this.downloadBlob(name, this.containerClient(), handler)\r\n } // FN\r\n\r\n public deleteFile(name: string, handler: () => void) {\r\n this.deleteBlob(name, this.containerClient(), handler)\r\n } // FN\r\n\r\n private uploadBlob(content: Blob, name: string, client: ContainerClient, handler: () => void) {\r\n let blockBlobClient = client.getBlockBlobClient(name);\r\n blockBlobClient.uploadData(content, { blobHTTPHeaders: { blobContentType: content.type } })\r\n .then(() => handler())\r\n } // FN\r\n\r\n private async listBlobs(client: ContainerClient): Promise {\r\n let result: string[] = []\r\n let blobs = client.listBlobsFlat();\r\n for await (const blob of blobs) {\r\n result.push(blob.name)\r\n }\r\n return result;\r\n } // FN\r\n\r\n private downloadBlob(name: string, client: ContainerClient, handler: (blob: Blob) => void) {\r\n const blobClient = client.getBlobClient(name);\r\n blobClient.download().then((resp: any) => {\r\n resp.blobBody.then((blob: any) => {\r\n handler(blob)\r\n })\r\n })\r\n } // FN\r\n\r\n private deleteBlob(name: string, client: ContainerClient, handler: () => void) {\r\n client.deleteBlob(name).then(() => {\r\n handler()\r\n })\r\n } // FN\r\n\r\n private containerClient(): ContainerClient {\r\n return new BlobServiceClient(`https://${this.storageAccount}.blob.core.windows.net?${this.sas}`)\r\n .getContainerClient(this.storageContainer);\r\n // FN\r\n }\r\n\r\n} //EXPORT\r\n","import { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Observable } from 'rxjs';\r\nimport { ConfirmComponent } from '../../../shared/components/confirm-dialog/confirm.component';\r\nimport { MessageComponent } from '../../../shared/components/message-dialog/message-dialog.component';\r\nimport {\r\n ConfirmDialogModel,\r\n MessageDialogModel,\r\n successDialogModel,\r\n} from '../../_models/confirm-dialog.model';\r\nimport { SuccessDialogComponent } from 'src/app/shared/components/success-dialog/success-dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConfirmDialogService {\r\n constructor(private dialog: MatDialog) {}\r\n\r\n confirmDialog(data: ConfirmDialogModel): Observable {\r\n return this.dialog\r\n .open(ConfirmComponent, {\r\n data,\r\n width: '450px',\r\n disableClose: true,\r\n })\r\n .afterClosed();\r\n }\r\n\r\n messageDialog(data: MessageDialogModel): Observable {\r\n return this.dialog\r\n .open(MessageComponent, {\r\n data,\r\n width: '450px',\r\n disableClose: true,\r\n })\r\n .afterClosed();\r\n }\r\n\r\n successDialog(data: successDialogModel): Observable {\r\n return this.dialog\r\n .open(SuccessDialogComponent, {\r\n data,\r\n width: '450px',\r\n disableClose: true,\r\n })\r\n .afterClosed();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ErrorDialogComponent } from 'src/app/shared//components/error-dialog/error-dialog.component';\r\n\r\n@Injectable()\r\nexport class ErrorDialogService {\r\n private opened = false;\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n openDialog(message: string, status?: number): void {\r\n if (!this.opened) {\r\n this.opened = true;\r\n const dialogRef = this.dialog.open(ErrorDialogComponent, {\r\n data: { message, status },\r\n maxHeight: \"100%\",\r\n width: \"540px\",\r\n maxWidth: \"100%\",\r\n disableClose: false,\r\n hasBackdrop: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(() => { \r\n this.opened = false;\r\n });\r\n }\r\n }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { ErrorHandler, Injectable, NgZone } from '@angular/core';\r\n\r\nimport { ErrorDialogService } from '../error-dialog/error-dialog.service';\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n \r\n constructor ( \r\n // private router: Router,\r\n private _dialogService: ErrorDialogService,\r\n private zone: NgZone \r\n ) { }\r\n \r\n handleError(error: any) {\r\n let message: any;\r\n \r\n if (error instanceof HttpErrorResponse) {\r\n // Server Error\r\n message = this.getServerMessage(error);\r\n // stackTrace = errorService.getServerStack(error);\r\n // notifier.showError(message);\r\n } else {\r\n // Client Error\r\n message = this.getClientMessage(error);\r\n // stackTrace = errorService.getClientStack(error);\r\n // notifier.showError(message);\r\n } // IF-ELSE\r\n\r\n console.error(message);\r\n this.zone.run(() => {\r\n // setTimeout(() => this.router.navigate(['/error']));\r\n setTimeout(() => this._dialogService.openDialog(message));\r\n });\r\n\r\n } // FN HANDLE-ERROR\r\n\r\n getClientMessage (error: Error): string {\r\n if (!navigator.onLine) {\r\n return 'No Internet Connection';\r\n }\r\n\r\n return error.message ? error.message : error.toString();\r\n } // FN GET-CLIENT-MESSAGE\r\n\r\n getClientStack(error: Error): string {\r\n return error.stack!;\r\n } // FN GET-CLIENT-STACK\r\n\r\n getServerMessage(error: HttpErrorResponse): string { \r\n return error.message;\r\n } // FN GET-SERVER-MESSAGE\r\n\r\n getServerStack(error: HttpErrorResponse): string {\r\n // handle stack trace\r\n return 'stack';\r\n } // FN GET-SERVER-STACK\r\n\r\n} // EXPORT","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivateChild, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { UserDataService } from '../user-data/user-data.service';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivateChild {\r\n constructor (private _userDataService: UserDataService,\r\n private router: Router) {\r\n } // CONSTRUCTOR\r\n \r\n canActivateChild(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n\r\n if ( this._userDataService.isSetupComplete() ) {\r\n return true;\r\n } else {\r\n this.router.navigate(['/user-setup']);\r\n return false; \r\n }\r\n } // CAN-ACTIVATE-CHILD\r\n \r\n} // EXPORT\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class ApiInterceptor implements HttpInterceptor {\r\n constructor(\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n if (request.url.match(/sv=/)) {\r\n return next.handle(request);\r\n } else {\r\n let accessToken = sessionStorage.getItem('accessToken') ? sessionStorage.getItem('accessToken')\r\n : localStorage.getItem('accessToken'); \r\n //if (this._userDataService.tokenData && this._userDataService.tokenData['accessToken']) {\r\n if (accessToken) { \r\n request = request.clone({\r\n setHeaders: {\r\n 'X-Frame-Options': 'SAMEORIGIN',\r\n 'X-Content-Type-Options': 'nosniff',\r\n 'Strict-Transport-Security': 'max-age=31536000',\r\n 'Content-Security-Policy': 'default-src \\'self\\'',\r\n 'Referrer-Policy': 'same-origin',\r\n 'Permissions-Policy': 'geolocation=(self)',\r\n 'Cross-Origin-Embedder-Policy': 'require-corp',\r\n 'Cross-Origin-Resource-Policy': 'same-origin',\r\n 'Cross-Origin-Opener-Policy': 'same-origin',\r\n //Authorization: `Bearer ${this._userDataService.tokenData['accessToken']}`\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n });\r\n } // IF\r\n return next.handle(request);\r\n }\r\n } // INTERCEPT\r\n} // EXPORT\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { finalize } from \"rxjs/operators\";\r\nimport { LoaderService } from '../loader-service/loader.service';\r\n\r\n@Injectable()\r\nexport class LoaderInterceptor implements HttpInterceptor {\r\n constructor (\r\n public loaderService: LoaderService\r\n ) { }\r\n \r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this.loaderService.show();\r\n return next.handle(req).pipe(\r\n finalize(() => {\r\n setTimeout(() => this.loaderService.hide(), 1000);\r\n })\r\n );\r\n } // INTERCEPT\r\n} // EXPORT","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoaderService {\r\n private _loading = new BehaviorSubject(false);\r\n public readonly loading$ = this._loading.asObservable();\r\n\r\n constructor() {}\r\n\r\n show() {\r\n this._loading.next(true);\r\n }\r\n\r\n hide() {\r\n this._loading.next(false);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Input } from '@angular/core';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { BaseApi } from 'src/app/shared/_models/base-api';\r\nimport { environment } from 'src/environments/environment';\r\nimport { SessionUserInfoModel } from '../../_models/session-user-info.model';\r\nimport { ApiService } from '../api/api.service';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { invitationType } from '../../../shared/_enums/enums';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class UserDataService extends BaseApi {\r\n private user?: any;\r\n private userToken?: any;\r\n private companyID: any;\r\n private userRoleObs: BehaviorSubject = new BehaviorSubject(null);\r\n private userObs: BehaviorSubject = new BehaviorSubject(null);\r\n private userData: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n\r\n @Input()\r\n set tokenData(val) {\r\n this.userToken = val;\r\n }\r\n get tokenData() {\r\n return this.userToken;\r\n }\r\n\r\n constructor(\r\n private msalService: MsalService,\r\n private _apiService: ApiService,\r\n protected http: HttpClient,\r\n private router: Router\r\n ) {\r\n super();\r\n this.initUserObj();\r\n } // CONSTRUCTOR\r\n\r\n public getCompanyID() {\r\n this.initUserObj();\r\n // this.setCompanyId();\r\n return (this.companyID = sessionStorage.getItem('secretKey'));\r\n } // FN\r\n\r\n public setCompanyId(companyObj?: any) {\r\n if (companyObj) {\r\n this.companyID = companyObj['id'];\r\n return of();\r\n } else {\r\n let userInfo: any;\r\n this.getuserObs().subscribe((result) => (userInfo = result));\r\n\r\n if (userInfo?.data != null && userInfo?.data.companyId) {\r\n return this.http\r\n .get(\r\n environment['apiUrl'].concat(\r\n 'Companies/GetCompanyById/',\r\n userInfo?.data.companyId\r\n )\r\n )\r\n .pipe(\r\n tap(\r\n (res: any) => {\r\n if (res?.data) {\r\n this.companyID = res?.data.id;\r\n sessionStorage.setItem('secretKey', this.companyID);\r\n }\r\n },\r\n (error) => {\r\n }\r\n )\r\n );\r\n } else {\r\n return this.http\r\n .get(\r\n environment['apiUrl'].concat(\r\n 'Companies/GetCompanyByIdByEmail/',\r\n this.getUserEmail()\r\n )\r\n )\r\n .pipe(\r\n tap(\r\n (res: any) => {\r\n if (res.companyId) {\r\n this.companyID = res.companyId;\r\n sessionStorage.setItem('secretKey', res.companyId);\r\n }\r\n },\r\n (error) => {\r\n }\r\n )\r\n );\r\n }\r\n } // OUTER IF-ELSE\r\n } // FN\r\n\r\n private initUserObj() {\r\n this.user = this.msalService.instance.getAllAccounts();\r\n\r\n if (this.user.length > 0) {\r\n this.msalService.instance.setActiveAccount(this.user[0]);\r\n //this.initSessionUser();\r\n } // IF\r\n } // FN INIT-USER\r\n\r\n public getFullName() {\r\n const userData = this.user[0] ? this.user[0].idTokenClaims : null;\r\n if (userData && userData.given_name && userData.family_name) {\r\n return userData.given_name + ' ' + userData.family_name;\r\n } else {\r\n if (userData != undefined && userData != null) {\r\n if (\r\n userData['extension_Email'] != undefined &&\r\n userData['extension_Email'] != null\r\n ) {\r\n if (\r\n userData &&\r\n userData['extension_Email'] &&\r\n userData['extension_Email'][0]\r\n ) {\r\n let emailSplit = userData['extension_Email'].split('@');\r\n return emailSplit[0].replace('.', ' ');\r\n }\r\n } else {\r\n if (userData && userData['emails'] && userData['emails']) {\r\n let emailSplit = userData['emails'][0].split('@');\r\n return emailSplit[0].replace('.', ' ');\r\n //return userData['emails'][0];\r\n }\r\n } //\r\n }\r\n } //IF\r\n\r\n return '';\r\n } // FN GET-FULL-NAME\r\n\r\n public getUserPhoneNo() {\r\n var userData = this.getUserData();\r\n if (userData == null) return '';\r\n else if (userData.extension_CountryCode && userData.extension_PhoneNumber)\r\n return userData.extension_CountryCode + userData.extension_PhoneNumber;\r\n else return '';\r\n }\r\n\r\n public getUserMembershipType() {\r\n var userData = this.getUserData();\r\n if (userData != null) return userData.extension_MembershipType;\r\n else return '';\r\n }\r\n public getUserMembershipPrice() {\r\n var userData = this.getUserData();\r\n if (userData != null) return userData.extension_MembershipPrice;\r\n else return '';\r\n }\r\n\r\n // public getUserEmail() {\r\n // if (this.user && this.user.length > 0) {\r\n // const userData = (this.user[0]) ? this.user[0].idTokenClaims : null;\r\n // if (userData != undefined && userData != null) {\r\n // if (userData['extension_Email'] != undefined && userData['extension_Email'] != null) {\r\n // if (userData && userData['extension_Email'] && userData['extension_Email']) {\r\n // return userData['extension_Email'];\r\n // }\r\n // }\r\n // else {\r\n // if (userData && userData['emails'] && userData['emails']) {\r\n // return userData['emails'][0];\r\n // }\r\n // }\r\n // } else {\r\n // this.initUserObj();\r\n // const userData = (this.user[0]) ? this.user[0].idTokenClaims : null;\r\n // if (userData['extension_Email'] != undefined && userData['extension_Email'] != null) {\r\n // if (userData && userData['extension_Email'] && userData['extension_Email'][0]) {\r\n // return userData['extension_Email'][0];\r\n // }\r\n // }\r\n // else {\r\n // if (userData && userData['emails'] && userData['emails'][0]) {\r\n // return userData['emails'][0];\r\n // }\r\n // }\r\n // }\r\n // }\r\n // // IF\r\n // return '';\r\n // } // FN\r\n\r\n public getUserEmail() {\r\n this.user = this.msalService.instance.getAllAccounts();\r\n if (this.user && this.user.length > 0) {\r\n return this.user[0].username;\r\n }\r\n // IF\r\n return '';\r\n } // FN\r\n\r\n public getLoggedInUserDetails() {\r\n this.user = this.msalService.instance.getAllAccounts();\r\n if (this.user && this.user.length > 0) {\r\n this.http\r\n .get(\r\n environment['apiUrl'].concat(\r\n 'User/GetUserDeailsByEmail' + this.user[0].username\r\n )\r\n )\r\n .subscribe(\r\n (res: any) => {\r\n console.log('res', res);\r\n if (res['result']?.length > 0) {\r\n localStorage.setItem('firstName', res.result[0].firsT_NAME);\r\n localStorage.setItem('lastName', res.result[0].last_Name);\r\n localStorage.setItem('companyId', res.result[0].co_Id);\r\n localStorage.setItem('userId', res.result[0].id);\r\n localStorage.setItem('isSuperAdmin', res.result[0].is_Super_Admin);\r\n localStorage.setItem('userName', res.result[0].user_Name)\r\n localStorage.setItem(\r\n 'invitationTypeId',\r\n res.result[0]?.invitation_Type_Id\r\n );\r\n this.setUserDetails(res.result);\r\n }\r\n else if (this.getInvitationType() == invitationType.Event) {\r\n // this.router.navigate(['/legal-identity-verification']);\r\n }\r\n else {\r\n this.router.navigate(['users/account-not-found']);\r\n }\r\n },\r\n (error) => {\r\n }\r\n );\r\n }\r\n }\r\n\r\n\r\n // company Switch\r\n public getUserSwitchDetails(userName: any, co_Id: any, role_id: any) {\r\n // this.user = this.msalService.instance.getAllAccounts();\r\n this.http\r\n .get(\r\n environment['apiUrl'].concat(\r\n 'User/GetUserDeailsByEmail' + userName + '?co_id=' + co_Id + '&role_id' + role_id\r\n )\r\n )\r\n .subscribe(\r\n (res: any) => {\r\n if (res['result']?.length > 0) {\r\n localStorage.setItem('firstName', res.result[0].firsT_NAME);\r\n localStorage.setItem('lastName', res.result[0].last_Name);\r\n localStorage.setItem('companyId', res.result[0].co_Id);\r\n localStorage.setItem('userId', res.result[0].id);\r\n localStorage.setItem('isSuperAdmin', res.result[0].is_Super_Admin);\r\n localStorage.setItem('userName', res.result[0].user_Name)\r\n localStorage.setItem(\r\n 'invitationTypeId',\r\n res.result[0]?.invitation_Type_Id\r\n );\r\n this.setUserDetails(res.result);\r\n this.router.navigate(['dashboard']);\r\n setTimeout(function () {\r\n window.location.href = '/dashboard'\r\n }, 3000);\r\n\r\n } else if (this.getInvitationType() == invitationType.Event) {\r\n // this.router.navigate(['/legal-identity-verification']);\r\n }\r\n },\r\n (error) => {\r\n }\r\n );\r\n\r\n }\r\n\r\n public getUserData() {\r\n this.initUserObj();\r\n\r\n const userData = this.user[0] ? this.user[0].idTokenClaims : null;\r\n return userData;\r\n } // FN GET-USER-DATA\r\n\r\n public getCompanyName() {\r\n const userData = this.getUserData();\r\n const companyKey =\r\n Object.keys(userData).find((key) => /CompanyName/.test(key)) || 'CES';\r\n let companyName = userData[companyKey];\r\n // CONVERTED TO HYPHENATED STRING\r\n companyName = companyName.replace(/\\s+/g, '-').toLowerCase();\r\n\r\n return companyName;\r\n } // FN GET-COMPANY-NAME\r\n\r\n // public isSetupComplete(): Observable {\r\n public isSetupComplete(): boolean {\r\n const userData = this.getUserData();\r\n\r\n // TO DO: TEMPORARILY MADE COMPANY_ID TO DIRECT TO USERSETUP\r\n // USER SETUP NOT STARTED IF COMPANY ID CUSTOM ATTRIBUTE IS UNAVAILABLE\r\n if (Object.keys(userData).find((key) => /Company_ID/.test(key)))\r\n return true;\r\n else return false;\r\n } // FN IS-SETUP-COMPLETE\r\n\r\n itemName: any;\r\n setPopUpRecordName(name: string) {\r\n this.itemName = name;\r\n }\r\n\r\n getPopUpRecordName() {\r\n return this.itemName;\r\n }\r\n\r\n getuserRoleObs(): Observable {\r\n return this.userRoleObs.asObservable();\r\n }\r\n\r\n setuserRoleObs(data: any) {\r\n this.userRoleObs.next(data);\r\n }\r\n getSignInUserRole() {\r\n return this.http\r\n .get(\r\n environment['apiUrl'].concat(\r\n 'User/GetSigInUserRoleByEmail/',\r\n this.getUserEmail()\r\n )\r\n )\r\n .pipe(\r\n tap(\r\n (res: any) => { },\r\n (error) => {\r\n }\r\n )\r\n );\r\n }\r\n\r\n getMenuItemsByRole(roleId: string): Observable {\r\n return this.http\r\n .get(environment['apiUrl'].concat('User/GetMenuItemsByRole/', roleId))\r\n .pipe(\r\n tap(\r\n (res: any) => { },\r\n (error) => {\r\n }\r\n )\r\n );\r\n }\r\n\r\n getuserObs(): Observable {\r\n return this.userObs.asObservable();\r\n }\r\n\r\n setuserObs(data: any) {\r\n this.userObs.next(data);\r\n }\r\n\r\n setUserDetails(data: any) {\r\n this.userData.next(data);\r\n }\r\n\r\n getUserDetails(): Observable {\r\n return this.userData.asObservable();\r\n }\r\n\r\n getMyInfo() {\r\n return this.http\r\n .get(environment['apiUrl'].concat('User/GetMyInfo/', this.getUserEmail()))\r\n .pipe(\r\n tap(\r\n (res: any) => { },\r\n (error) => {\r\n }\r\n )\r\n );\r\n }\r\n\r\n getCompanyById(companyId: string) {\r\n return this.http\r\n .get(environment['apiUrl'].concat('Companies/GetCompanyById/', companyId))\r\n .pipe(\r\n tap(\r\n (res: any) => {\r\n if (res?.data) {\r\n this.companyID = res?.data.Id;\r\n sessionStorage.setItem('secretKey', this.companyID);\r\n }\r\n },\r\n (error) => {\r\n }\r\n )\r\n );\r\n }\r\n\r\n activateInvoiceForFreeMembership(\r\n memberEmail: string,\r\n membershipType: string\r\n ) {\r\n return this.http\r\n .get(\r\n environment['apiUrl'].concat(\r\n 'Payment/ActivateInvoiceForFreeMembership?MemberEmail=' +\r\n memberEmail +\r\n '&MembershipType=' +\r\n membershipType\r\n )\r\n )\r\n .pipe(\r\n tap(\r\n (result: any) => { },\r\n (error) => {\r\n }\r\n )\r\n );\r\n }\r\n\r\n getAspNetUserDetails() {\r\n return this.http\r\n .get(\r\n environment['apiUrl'].concat(\r\n 'User/GetAspNetUserDetails/',\r\n this.getUserEmail()\r\n )\r\n )\r\n .pipe(\r\n tap(\r\n (res: any) => { },\r\n (error) => {\r\n }\r\n )\r\n );\r\n }\r\n\r\n //getInvitationById(invitationId: any) {\r\n // return this.http\r\n // .get(\r\n // environment['apiUrl'].concat(\r\n // 'Invitation/GetUserInvitationById/',\r\n // invitationId\r\n // )\r\n // )\r\n // .pipe(\r\n // tap(\r\n // (res: any) => {},\r\n // (error) => {\r\n // }\r\n // )\r\n // );\r\n //}\r\n\r\n getPendingInvitations(companyId: any) {\r\n return this.http\r\n .get(\r\n environment['apiUrl'].concat(\r\n 'Invitation/GetPendingInvitations/',\r\n companyId\r\n )\r\n )\r\n .pipe(\r\n tap(\r\n (res: any) => { },\r\n (error) => {\r\n }\r\n )\r\n );\r\n }\r\n\r\n getMemberPersonalInfo(memberEmail?: string): SessionUserInfoModel {\r\n var userInfo = new SessionUserInfoModel();\r\n\r\n if (!memberEmail || memberEmail.length == 0) return userInfo;\r\n\r\n this.http\r\n .get(\r\n environment['apiUrl'].concat(\r\n `Profile/GetMemberPersonalInfo?MemberEmail=${memberEmail}`\r\n )\r\n )\r\n .subscribe((result: any) => {\r\n if (result.contactID == '00000000-0000-0000-0000-000000000000') {\r\n userInfo.personalEmail = memberEmail;\r\n } else {\r\n userInfo.firstName = result.firstName;\r\n userInfo.middleName = result.middleName;\r\n userInfo.lastName = result.lastName;\r\n userInfo.personalEmail = result.personalEmail;\r\n userInfo.personalPhone = result.personalPhone;\r\n userInfo.membershipType = result.membershipType;\r\n userInfo.membershipName = result.membershipName;\r\n userInfo.membershipId = result.nblid;\r\n userInfo.companyId = result.companyId;\r\n userInfo.companyName = result.companyName;\r\n }\r\n\r\n return userInfo;\r\n });\r\n\r\n return userInfo;\r\n }\r\n\r\n UpdateInvitation(obj: any): Observable {\r\n return this.http.post(\r\n this.getApiUrl(`Invitation/UpdateUserInvitation`),\r\n obj\r\n );\r\n }\r\n\r\n deleteUser(emailId: string) {\r\n return this._apiService.delete('User/DeleteUser/' + emailId);\r\n } // FN\r\n\r\n lockUser(obj: any): Observable {\r\n return this.http.post(this.getApiUrl(`Contacts/DisableUser`), obj);\r\n }\r\n\r\n deleteUserInvitation(Id: string) {\r\n return this._apiService.delete('Invitation/DeleteUserInvitation/' + Id);\r\n } // FN\r\n\r\n AddLogonActivity(requestObj: any): Observable {\r\n return this.http.post(this.getApiUrl(`User/AddLogonActivity`), requestObj);\r\n }\r\n\r\n getInvitationType(): any {\r\n return localStorage.getItem('invitationTypeId');\r\n }\r\n} // EXPORT\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n@Injectable()\r\nexport class UserSetupDataService {\r\n public naicsData: any = null;\r\n public countryData: any = null;\r\n public continentData: any = null;\r\n public stateData: any = null;\r\n\r\n //public generalInfoData: CompanyGeneralInfo;\r\n public servicesData: any = {\r\n bioData: { bio: '' },\r\n naicsData: [],\r\n tagsData: []\r\n };\r\n\r\n // NAME SHOULD MATCHE WITH ROUTE.CONSTANTS\r\n // tabsData = [\r\n // {name: 'general-info', value: ''},\r\n // {name: 'users-list', value: ''},\r\n // {name: 'services', value: ''},\r\n // {name: 'diversity', value: ''}\r\n // ] || null;\r\n\r\n private showNavbar = new BehaviorSubject(true);\r\n\r\n constructor () {\r\n //this.generalInfoData = new CompanyGeneralInfo();\r\n // this.getTabsData();\r\n } // CONSTRUCTOR\r\n\r\n // getTabsData () {\r\n // let browserData = localStorage.getItem('tabsData') || '';\r\n // // browserData = JSON.parse(browserData);\r\n \r\n // if ( !!browserData )\r\n // this.tabsData = JSON.parse(browserData);\r\n // else\r\n // localStorage.setItem('tabsData', JSON.stringify(this.tabsData));\r\n\r\n // return this.tabsData;\r\n // } // FN\r\n\r\n // enableNextTab (inpTab: string) {\r\n // let tabIndex = this.tabsData.findIndex(obj => obj.name === inpTab);\r\n\r\n // this.tabsData[tabIndex].value = 'completed';\r\n\r\n // if ( (tabIndex+1) < 4 )\r\n // this.tabsData[tabIndex+1].value = 'selectable';\r\n\r\n // localStorage.setItem('tabsData', JSON.stringify(this.tabsData)); \r\n // } // FN\r\n\r\n // disableTab ()\r\n\r\n setNavbarValue(inpValue: boolean) {\r\n return this.showNavbar.next(inpValue);\r\n } // FN\r\n\r\n getNavbarState() {\r\n return this.showNavbar.asObservable();\r\n } // FN\r\n\r\n} // EXPORT\r\n","import { ErrorHandler, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\n\r\nimport { AuthGuard } from './_services/guards/auth.guard';\r\n\r\nimport { UserDataService } from './_services/user-data/user-data.service';\r\nimport { ApiService } from './_services/api/api.service';\r\nimport { UserSetupDataService } from 'src/app/core/_services/usersetup-data/usersetup-data.service';\r\nimport { GlobalErrorHandler } from './_services/error-handler/error-handler.service';\r\nimport { LoaderInterceptor } from './_services/interceptors/loader.interceptor';\r\nimport { ErrorDialogService } from './_services/error-dialog/error-dialog.service';\r\nimport { AzureBlobStorageService } from 'src/app/core/_services/azure-blob-storage.service';\r\n\r\n// import { ServerErrorInterceptor } from './_services/interceptors/server-error.interceptor';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n MatDialogModule\r\n ],\r\n providers: [\r\n AuthGuard,\r\n UserDataService,\r\n ApiService,\r\n UserSetupDataService,\r\n ErrorDialogService,\r\n AzureBlobStorageService,\r\n { provide: ErrorHandler, useClass: GlobalErrorHandler },\r\n // { provide: HTTP_INTERCEPTORS, useClass: ServerErrorInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: LoaderInterceptor, multi: true }\r\n ],\r\n exports: []\r\n})\r\nexport class CoreModule { }","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport * as pbi from 'powerbi-client';\r\n\r\n@Component({\r\n selector: 'app-power-bi-report',\r\n templateUrl: './power-bi-report.component.html',\r\n styleUrls: ['./power-bi-report.component.scss']\r\n})\r\n\r\n\r\nexport class PowerBIReportComponent implements OnInit {\r\n report!: pbi.Report;\r\n selected = 'option2';\r\n\r\n screenHeight!: number;\r\n\r\n @ViewChild('reportContainer', { static: true })\r\n reportContainer!: ElementRef;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.screenHeight = (window.screen.height);\r\n this.showReport();\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n }, 10000);\r\n }\r\n\r\n showReport() {\r\n let accessToken = 'H4sIAAAAAAAEACWUx6q0aABE3-VuHTC3OvAvzOmzbWOrO3PO2WHefS7MvqDgUKf--fnEdzfG2c_fP2uu5lXuZC9Od8i6tmlAw5MIKmb6xiRH39nG7bLuSe8wwPJmW-vWtiuQw3Of4duOW11wLKh9pJbxrVi7AMnDmc57Bij9Vb6hcOI1JM6KB1PvmSrZ8HO-34agbeZ7JzYzxJHi07tqLVczNIfts3Z8mT-Y6kitfJfZHMuqu6uDDOjETwjIDL35gb51EWNCSE1PFqDJsFA8bkqlfBEEATILnQAv0WLy8mz5CYWyzAcYh7HeLPYpEQmjVPR9ztl1wieNdHDQCjzkvu2K7N13pGS2HZfZpupIFjr3YdTEal9Tk9NMi752BdYmnf0osU1egEuucOtJ69rjYU0PACeBhjMqJ-tMQSgBdc4Mj74x7VW_Dn3QrJRWxPMMOKOXPutMtnOJYufaIVW-p7BdGtq5KximSMBDClmIg_brNaetLWV6kRNxNpcrJhmDcLj_xZ4FuWk5Z5jZt6NAAmOjQ912LICdRqJqodlQEcI5Cq8gAMpqY7g-cSSOvnKeCeRKAFscvPKEDbfDqEMBrkkd56B1Kx1GGje3cYTpuZM250l-y4YP9YArGbTpNK0-hNRBj_mOKm8eVqhmywQ6RWHlmVIZp6WX0BXKEMpHoiM1_NGHwSMSjh4la_j4j0o08JYhXp9zz7uCnlgnjQvGndUOpdSIhN77FDpfYklVO-1sYxxivhussDfOwPcS8cIw8AIOd11gs6Oe5BT5snFptc8h9Lv30rMfx6kb7IvSLMRXZRmEtFeDNZub9AXD2zqWryC9OJtA8DF3X9zpvdpvsd4jtDwFYpn6lbquoa3jKCfymLGlYg0Tjg5u5HhjTp7MUKj1nbi4xxueBGqHgnymX7LkqI_D_J4hYcbxdpR__vz89cMv97SNen7_avZBnZNP12qSAsdu6hcrjOLjA6U8DGaM3cVP6ircXN3m1hAKhhoLcKqr-KVXk8Hc7U-1gYL9wnH_KoF7YTSeyfzF0Ts_RGdbQjWNDRlQYNlg7xpto1TsLFEUdEut4WfhlQhaDzojOocm61BBsv36QAiXPvBjwWnhSrWaiV3zlI_YhExeIPLbPpHV-pZQgvLfjhfnvXj7WLSK6TN8pBOcnOVNr-EiebsNlvbEn8NbF88NBdDLizdm9i5EPA_FWzb86mITXjYNlP_V06CV0GRRokAOFge4o9G2vONpnuI0-PK-UK7JC_Ha3VXhJ5G5rAV5IrmwA_8weTdELR1zjOJkLgKtz_8x31OVL6r_SzmI47vql4BeGULOeocUu4r8P-XU5RBv-5L_xvjIVNZA9_cyfCvFRqyPeDZEpV4hE88mtFOIxgoiiaCUts_aU28SXlk-MSi5N35knSWBhOVMbaDaqnkv6ZrNFf90QKpqWxWDudJRHC7ASGHppOKW4Izt_Z2ZnuAhIoBd8kvFRXEsgr-TGEdRHxNwbmy9-BZEvw8Q0f0Z-PXM0ExhEK1aml3E7ICDod3Y4LEaHgC7XMvHhZpHrFYU-a_YYS2-dcqN7ntL2GLhq8mfbHPL8Nf8LnMNlvrJJjF2Y8jumoMoyl0dD8sFbAdpxgfbH0oluZMtW04hICY3pWZoxbfikpgShOky1xf_W1D8jk7W25ZS9qDLwOOH4dKY1kOtXytjfzH_-x8OeABDWgYAAA==.eyJjbHVzdGVyVXJsIjoiaHR0cHM6Ly9XQUJJLUlORElBLUNFTlRSQUwtQS1QUklNQVJZLXJlZGlyZWN0LmFuYWx5c2lzLndpbmRvd3MubmV0IiwiZXhwIjoxNjk1MzYyODk5LCJhbGxvd0FjY2Vzc092ZXJQdWJsaWNJbnRlcm5ldCI6dHJ1ZX0=';\r\n let embedReportId = '59f0765c-74c0-4c50-aa4d-9a38228c4c6d';\r\n let embedUrl = 'https://app.powerbi.com/reportEmbed?reportId=59f0765c-74c0-4c50-aa4d-9a38228c4c6d&groupId=1c4ecf1e-1f02-4b04-a38c-067f7bb7a8a9&w=2&config=eyJjbHVzdGVyVXJsIjoiaHR0cHM6Ly9XQUJJLUlORElBLUNFTlRSQUwtQS1QUklNQVJZLXJlZGlyZWN0LmFuYWx5c2lzLndpbmRvd3MubmV0IiwiZW1iZWRGZWF0dXJlcyI6eyJtb2Rlcm5FbWJlZCI6dHJ1ZSwidXNhZ2VNZXRyaWNzVk5leHQiOnRydWUsImRpc2FibGVBbmd1bGFySlNCb290c3RyYXBSZGxFbWJlZCI6dHJ1ZX19';\r\n\r\n //let embedUrl = 'https://app.powerbi.com/reportEmbed';\r\n let settings: pbi.IEmbedSettings = {\r\n filterPaneEnabled: false,\r\n navContentPaneEnabled: false\r\n };\r\n\r\n const basicFilter: pbi.models.IBasicFilter = {\r\n $schema: \"http://powerbi.com/product/schema#basic\",\r\n target: {\r\n table: \"ReportingPeriod\",\r\n column: \"Name\"\r\n },\r\n operator: \"In\",\r\n values: ['Q1', 'Q2', 'Q3'],\r\n filterType: 1 // pbi.models.FilterType.BasicFilter\r\n }\r\n\r\n // Embed URL \r\n let config = {\r\n type: 'report',\r\n accessToken: accessToken,\r\n embedUrl: embedUrl,\r\n id: embedReportId,\r\n\r\n settings: settings,\r\n permissions: pbi.models.Permissions.All,\r\n tokenType: pbi.models.TokenType.Embed,\r\n //filters: [basicFilter],\r\n };\r\n\r\n let reportContainer = this.reportContainer.nativeElement;\r\n let powerbi = new pbi.service.Service(pbi.factories.hpmFactory, pbi.factories.wpmpFactory, pbi.factories.routerFactory);\r\n let report = powerbi.embed(reportContainer, config);\r\n report.off(\"loaded\");\r\n report.on(\"loaded\", () => {\r\n });\r\n report.on(\"error\", () => {\r\n });\r\n }\r\n}\r\n","
\r\n

Power BI Embed POC

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n","export enum roleNameEnum {\r\n Admin = 'Admin',\r\n Manager = 'Manager',\r\n ReadOnly = 'Read Only',\r\n Contact = 'Contact',\r\n SUPER_ADMIN = \"SUPER_ADMIN\",\r\n}\r\n\r\nexport enum statusesEnum {\r\n NotPosted = 1,\r\n Posted = 2,\r\n Failed = 3,\r\n GeneratingEmailContent = 4,\r\n DoNotRertyByProcessSendForVerification = 5,\r\n ErrorInGeneratingContent = 6,\r\n InvitationActive = 7,\r\n Inactive = 8,\r\n Pending = 9,\r\n Accepted = 10,\r\n Declined = 11,\r\n PendingVerification = 12,\r\n InitiatedVerification = 13,\r\n PendingManualVerification = 14,\r\n AutomatedVerified = 15,\r\n ManuallyVerified = 16,\r\n AutomatedRejected = 17,\r\n ManuallyRejected = 18,\r\n Opened = 19,\r\n InProgress = 20,\r\n Resolved = 21,\r\n ReOpened = 22,\r\n Deleted = 23,\r\n AccountConfirmationCode = 24,\r\n SMSSent = 25,\r\n Cancelled = 26,\r\n Active = 27,\r\n Expired = 28,\r\n CertificationNew = 29,\r\n Rejected = 30,\r\n Approved = 31,\r\n Matched = 32,\r\n NotMatched = 33,\r\n NotFound = 34,\r\n TaskCompleted = 35,\r\n CertificateDownloaded = 36,\r\n ReportPaymentNew = 37,\r\n Submitted = 38,\r\n}\r\n\r\nexport enum statusesRadioEnum {\r\n Active = 1,\r\n Inactive = 2,\r\n All = 3,\r\n}\r\n\r\nexport enum stausNameEnum {\r\n Active = 'Active',\r\n Expired = 'Expired',\r\n Verify = 'is_Verify',\r\n NotVerified = 'Not Verified',\r\n Current = 'Current',\r\n}\r\nexport enum stausImageStatusEnum {\r\n Active = 'true',\r\n Inactive = 'false',\r\n}\r\n\r\nexport enum reportingStatusEnum {\r\n YetToOpen = 'YetToOpen',\r\n OpenforReporting = 'OpenForReporting',\r\n ClosedForReporting = 'ClosedForReporting',\r\n Locked = 'Locked',\r\n}\r\n\r\nexport enum invitationType {\r\n Company = 1,\r\n User = 2,\r\n Event = 3,\r\n}\r\n\r\n\r\nexport enum ethnicityOwnershipType {\r\n ChooseEthnicity = 'Choose Ethnicity',\r\n}\r\nexport enum requestType {\r\n Supplier = 1,\r\n Event = 2,\r\n}\r\nexport enum exportExcelHeaderColors {\r\n IntialHeader = '85426F',\r\n ChildHeader = 'c77daf',\r\n IntialHeaderForeColor = 'FFFFFF',\r\n ChildHeaderForeColor = '000000',\r\n InitialColumnSize = '40',\r\n minimumExcelCellWidth = '20'\r\n}\r\n","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\nexport abstract class BaseApi {\r\n protected _client!: HttpClient;\r\n protected baseUrl: string = environment['apiUrl']\r\n protected HTTP_OPTIONS = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n };\r\n\r\n protected HTTP_OPTIONS_RETURN_STRING: object = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n }),\r\n responseType: 'text'\r\n };\r\n\r\n constructor() { }\r\n\r\n protected getApiUrl(apiFunction: string) {\r\n return this.baseUrl + apiFunction;\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ConfirmDialogModel } from '../../../core/_models/confirm-dialog.model';\r\n\r\n@Component({\r\n selector: 'app-confirm',\r\n templateUrl: './confirm.component.html',\r\n styleUrls: ['./confirm.component.scss'],\r\n})\r\nexport class ConfirmComponent implements OnInit {\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: ConfirmDialogModel) {}\r\n\r\n ngOnInit(): void {}\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.title}}
\r\n
\r\n \r\n
{{data.title}}
\r\n
\r\n\r\n
{{data.message}}
\r\n
{{data.message}}
\r\n\r\n \r\n \r\n
\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\n\r\n@Component({\r\n selector: 'dtrax-error-dialog',\r\n templateUrl: './error-dialog.component.html',\r\n styleUrls: ['./error-dialog.component.scss']\r\n})\r\nexport class ErrorDialogComponent {\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA)\r\n public data: { message: string; status?: number }\r\n ) {}\r\n\r\n}\r\n","

An error has occurred!

\r\n\r\n\t

\r\n\t\tStatus Code: {{data.status}}\r\n\t

\r\n\t

\r\n\t\tPlease contact admin or else try again later\r\n\t

\r\n\t

\r\n\t\t{{data.message}}\r\n\t

\r\n
\r\n\r\n\t\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ConfirmDialogModel } from '../../../core/_models/confirm-dialog.model';\r\n\r\n@Component({\r\n selector: 'app-message-dialog',\r\n templateUrl: './message-dialog.component.html',\r\n styleUrls: ['./message-dialog.component.scss'],\r\n})\r\nexport class MessageComponent implements OnInit {\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: ConfirmDialogModel) {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
\r\n

{{data.title}}

\r\n
\r\n\r\n
\r\n

{{data.message}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-popup-container-component',\r\n templateUrl: './popup-container-component.component.html',\r\n styleUrls: ['./popup-container-component.component.scss']\r\n})\r\nexport class PopupContainerComponentComponent {\r\n popupOverlay: boolean = true;\r\n @Input() popUpHeight: any\r\n @Output() closePopupDrawer = new EventEmitter()\r\n\r\n\r\n closePopup() {\r\n this.closePopupDrawer.emit()\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 { Component, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'dtrax-route-change-confirmation',\r\n templateUrl: './route-change-confirmation.component.html',\r\n styleUrls: ['./route-change-confirmation.component.scss']\r\n})\r\nexport class RouteChangeConfirmationComponent implements OnInit {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n closePopupDrawer() {\r\n\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n Are you sure you want to leave ?\r\n
\r\n
\r\n You are trying to leave the page, all changes will be discarded.
\r\n Do you want to proceed without saving?\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
","import { Component, Inject } from '@angular/core';\r\nimport { Injectable } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { successDialogModel } from 'src/app/core/_models/confirm-dialog.model';\r\n\r\n@Injectable()\r\n@Component({\r\n selector: 'app-success-dialog',\r\n templateUrl: './success-dialog.component.html',\r\n styleUrls: ['./success-dialog.component.scss']\r\n})\r\nexport class SuccessDialogComponent {\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: successDialogModel) { }\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
Warning!
\r\n
\r\n \r\n
Success!
\r\n
\r\n\r\n
{{data.message}}
\r\n\r\n \r\n
\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { AzureBlobStorageService } from \"../core/_services/azure-blob-storage.service\";\r\nimport { ErrorDialogService } from \"../core/_services/error-dialog/error-dialog.service\";\r\nimport { RouteChangeConfirmationComponent } from \"./components/route-change-confirmation/route-change-confirmation.component\";\r\n\r\n@Injectable()\r\nexport class sharedService {\r\n\r\n constructor(private blobService: AzureBlobStorageService,\r\n private http: HttpClient,\r\n private errorService: ErrorDialogService,\r\n private dialog: MatDialog\r\n ) {\r\n }\r\n\r\n openRouteConfirmation() {\r\n //return window.confirm(\"You have unsaved changes. Are you sure you want to leave the page ? Click OK to continue or Cancel to save the information below.\");\r\n const dialogRef = this.dialog.open(RouteChangeConfirmationComponent, {\r\n maxHeight: \"100%\",\r\n maxWidth: \"100%\",\r\n disableClose: true,\r\n hasBackdrop: true\r\n });\r\n const result = dialogRef.afterClosed().toPromise();\r\n return result;\r\n }\r\n\r\n async getBlobFiles(url: string): Promise {\r\n if (this.blobService.isSASAvailable) {\r\n return await this.http.get(url + '?' + this.blobService.sas, { responseType: 'blob' }).toPromise()\r\n } else {\r\n let sasToken;\r\n const res = await this.blobService.generateSasToken();\r\n sasToken = res.sas;\r\n if (sasToken) {\r\n return this.http.get(url + '?' + sasToken, { responseType: 'blob' }).toPromise();\r\n } else {\r\n console.error(\"Sas Token was not recieved\");\r\n this.errorService.openDialog(\"Something went wrong. Please try again later\");\r\n }\r\n }\r\n }\r\n}\r\n","import { CurrencyPipe, DatePipe, DecimalPipe } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, map, Observable, Subject, forkJoin } from 'rxjs';\r\nimport { ApiService } from '../../../core/_services/api/api.service';\r\nimport { UserDataService } from 'src/app/core/_services/user-data/user-data.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { CompanyService } from 'src/app/company-Info/services/company-service';\r\nimport { BreadcrumbService } from 'src/app/breadcrums/services/breadcrumb.service';\r\nimport { Router } from '@angular/router';\r\nimport { CompanySettingServices } from 'src/app/company-Info/services/companysettings-service';\r\nimport { sharedService } from 'src/app/shared/shared-service.service';\r\nimport { exportExcelHeaderColors, reportingStatusEnum } from 'src/app/shared/_enums/enums';\r\nimport { FilterOption } from 'src/app/shared/components/advance-filter/filter-option.model';\r\nimport { invitationType } from '../../../shared/_enums/enums';\r\nimport * as XLSX from 'xlsx';\r\nimport * as ExcelJS from 'exceljs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CommonService {\r\n private subjectName = new Subject(); //need to create a subject\r\n private fullName = new Subject();\r\n private topMenuSelectedValue = new Subject();\r\n private userId = new Subject();\r\n private companyId = new Subject();\r\n private menuId = new Subject();\r\n private roleId = new Subject();\r\n private isSuperAdmin = new Subject();\r\n private roleName = new Subject();\r\n private firstName = new Subject();\r\n private lastName = new Subject();\r\n private accessLevel = new Subject();\r\n private dashboardaccessLevel = new Subject();\r\n private systemParameter = new Subject();\r\n systemDateFormat: string = '';\r\n systemDateTimeFormat: string = '';\r\n private menusObject = new BehaviorSubject(null);\r\n userIP: any = '';\r\n userTimeZone: string = '';\r\n userResponse: any;\r\n selectedAgency: any;\r\n selectedCurrency: any = 'USD';\r\n defaultZeroCurrency: string = this.addCurrencyFormatting('0');\r\n\r\n constructor(\r\n protected http: HttpClient,\r\n public datePipe: DatePipe,\r\n private _apiService: ApiService,\r\n private _userService: UserDataService,\r\n private sanitizer: DomSanitizer,\r\n protected companyService: CompanyService,\r\n private breadcrumbService: BreadcrumbService,\r\n private router: Router,\r\n private companySettingServices: CompanySettingServices,\r\n private currencyPipe: CurrencyPipe,\r\n private sharedService: sharedService,\r\n //private decimalPipe: DecimalPipe\r\n ) { }\r\n\r\n private companyIdSubject = new BehaviorSubject(null);\r\n public companyId$ = this.companyIdSubject.asObservable();\r\n\r\n private userIdSubject = new BehaviorSubject(null);\r\n public userId$ = this.userIdSubject.asObservable();\r\n\r\n private accessLevelSubject = new BehaviorSubject(null);\r\n public accessLevel$ = this.accessLevelSubject.asObservable();\r\n\r\n private dashboardaccessLevelSubject = new BehaviorSubject(\r\n null\r\n );\r\n public dashboardaccessLevel$ =\r\n this.dashboardaccessLevelSubject.asObservable();\r\n\r\n private systemParameterSubject = new BehaviorSubject(null);\r\n public systemParameter$ = this.systemParameterSubject.asObservable();\r\n\r\n setCompanyId(companyId: string) {\r\n this.companyIdSubject.next(companyId);\r\n }\r\n setUserId(userId: string) {\r\n this.userIdSubject.next(userId);\r\n }\r\n setAccessLevel(accessLevel: string | null) {\r\n if (accessLevel) {\r\n localStorage.setItem('accessLevel', accessLevel);\r\n this.accessLevelSubject.next(accessLevel);\r\n }\r\n }\r\n setDashboardAccessLevel(dashboardAccessLevel: string | null) {\r\n localStorage.setItem(\r\n 'DashboardAccess',\r\n JSON.stringify(dashboardAccessLevel)\r\n );\r\n this.dashboardaccessLevelSubject.next(dashboardAccessLevel);\r\n }\r\n\r\n async getUserDetails() {\r\n let companyIdValue = localStorage.getItem('companyId');\r\n this.companyService.getSystemParameterValues().subscribe((res: any) => {\r\n if (res.success) {\r\n this.setSystemParameter(res['result']);\r\n this.systemParameter.next(res['result']);\r\n localStorage.setItem('systemParameter', JSON.stringify(res['result']));\r\n }\r\n });\r\n await this._userService.getLoggedInUserDetails();\r\n this.userResponse = this._userService\r\n .getUserDetails()\r\n .subscribe((data: any) => {\r\n if (data && data?.length > 0) {\r\n this.userId.next(data[0].id);\r\n this.menuId.next(data[0].menu_Id);\r\n this.roleId.next(data[0].role_Id);\r\n this.isSuperAdmin.next(data[0]?.is_Super_Admin)\r\n this.companyId.next(data[0].co_Id);\r\n this.roleName.next(data[0].role_Name);\r\n this.firstName.next(data[0].firsT_NAME);\r\n this.lastName.next(data[0].last_Name);\r\n this.accessLevel.next(data[0].accesS_LEVEL);\r\n this.setAccessLevel(data[0].accesS_LEVEL);\r\n localStorage.setItem('invitationTypeId', data[0]?.invitation_Type_Id);\r\n if (data[0].accesS_LEVEL == 'CT1' || data[0].accesS_LEVEL == 'C') {\r\n localStorage.setItem('DashboardAccess', 'corporate-dashboard');\r\n } else {\r\n localStorage.setItem('DashboardAccess', 't1-dashboard');\r\n }\r\n if (data[0]?.co_Id) {\r\n localStorage.setItem('companyId', data[0].co_Id);\r\n }\r\n localStorage.setItem('firstName', data[0].firsT_NAME);\r\n localStorage.setItem('lastName', data[0].last_Name);\r\n localStorage.setItem('invitation_id', data[0]?.invitation_Id);\r\n localStorage.setItem('invitation_ID', data[0]?.invitation_Id);\r\n if (data[0]?.role_Name) {\r\n localStorage.setItem('roleName', data[0].role_Name);\r\n }\r\n localStorage.setItem('email', data[0].email);\r\n localStorage.setItem('userId', data[0].id);\r\n if (data[0].company_Name) {\r\n localStorage.setItem('companyName', data[0].company_Name);\r\n }\r\n if (data[0]?.accesS_LEVEL) {\r\n localStorage.setItem('accessLevel', data[0].accesS_LEVEL);\r\n }\r\n if (data[0]?.is_Super_Admin) localStorage.setItem('isSuperAdmin', data[0]?.is_Super_Admin);\r\n\r\n localStorage.setItem('is_Company_Aggregate', data[0].is_Aggregate);\r\n if (data[0].accesS_LEVEL == 'CT1' || data[0].accesS_LEVEL == 'C') {\r\n this.setDashboardAccessLevel('corporate-dashboard');\r\n } else {\r\n this.setDashboardAccessLevel('t1-dashboard');\r\n }\r\n this.breadcrumbService.setRoleName(data[0].role_Name);\r\n let fullName = {\r\n firstName: data[0].firsT_NAME,\r\n lastName: data[0].last_Name,\r\n email: data[0].email,\r\n roleName: data[0].role_Name,\r\n };\r\n this.sendFullName(fullName);\r\n this.setCompanyId(data[0].co_Id);\r\n this.setUserId(data[0].id);\r\n if (data[0]?.co_Id !== null) {\r\n this.companyService\r\n .getCompanyDataById(data[0].co_Id)\r\n .subscribe((res: any) => {\r\n if (res.success) {\r\n localStorage.setItem(\r\n 'companyInfo',\r\n JSON.stringify(res['result'])\r\n );\r\n this.breadcrumbService.setCompanyInfo(res['result']);\r\n if (data[0]?.co_Id) {\r\n this.companySettingServices\r\n .generalTabInfo(data[0]?.co_Id)\r\n .subscribe((res: any) => {\r\n if (res.success) {\r\n localStorage.setItem(\r\n 'generalSettings',\r\n JSON.stringify(res['result'])\r\n );\r\n this.selectedCurrency = res[\r\n 'result'\r\n ]?.companySetUp?.find(\r\n (setting: any) =>\r\n setting.displaY_NAME === 'Currency'\r\n );\r\n this.selectedCurrency =\r\n this.selectedCurrency?.currencY_CODE;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n } else if (this.getInvitationType() == invitationType.Company) {\r\n this.router.navigate(['/companyInfo/company-info']);\r\n } else if (this.getInvitationType() == invitationType.Event) {\r\n //this.router.navigate(['/legal-identity-verification']);\r\n }\r\n }\r\n });\r\n }\r\n\r\n sendMenus(menusList: any) {\r\n this.menusObject.next(menusList);\r\n }\r\n\r\n getMenus() {\r\n return this.menusObject.asObservable();\r\n }\r\n\r\n getLoggedinUserCompanyId() {\r\n return this.companyId.asObservable();\r\n }\r\n\r\n getAccessLevel(): Observable {\r\n return this.accessLevel$.pipe(\r\n map((accessLevel: string | null) => {\r\n if (accessLevel !== null) {\r\n return accessLevel; // Return the value from BehaviorSubject\r\n } else {\r\n const localStorageValue = localStorage.getItem('accessLevel');\r\n if (localStorageValue) {\r\n this.setAccessLevel(localStorageValue); // Update the BehaviorSubject with localStorage value\r\n if (localStorageValue == 'CT1' || localStorageValue == 'C') {\r\n this.setDashboardAccessLevel('corporate-dashboard');\r\n } else {\r\n this.setDashboardAccessLevel('t1-dashboard');\r\n }\r\n return localStorageValue;\r\n } else {\r\n return null; // Return null or handle it as per your requirement\r\n }\r\n }\r\n })\r\n );\r\n }\r\n getDashboardAccess(): Observable {\r\n return this.dashboardaccessLevel$.pipe(\r\n map((accessLevel: string | null) => {\r\n if (accessLevel !== null) {\r\n return accessLevel; // Return the value from BehaviorSubject\r\n } else {\r\n const localStorageValue = localStorage.getItem('DashboardAccess');\r\n\r\n if (localStorageValue) {\r\n this.setDashboardAccessLevel(localStorageValue); // Update the BehaviorSubject with localStorage value\r\n return localStorageValue;\r\n } else {\r\n return null; // Return null or handle it as per your requirement\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n getLoggedinUserId() {\r\n return this.userId.asObservable();\r\n }\r\n\r\n getLoggedinUserMenuId() {\r\n return this.menuId.asObservable();\r\n }\r\n\r\n getLoggedinUserRoleId() {\r\n return this.roleId.asObservable();\r\n }\r\n\r\n getisSuperAdmin() {\r\n return this.isSuperAdmin.asObservable(); //\r\n }\r\n\r\n sendTopMenuSelectedValue(topMenuId: string) {\r\n this.topMenuSelectedValue.next(topMenuId);\r\n }\r\n\r\n getTopMenuSelectedValue() {\r\n return this.topMenuSelectedValue.asObservable();\r\n }\r\n\r\n sendCompanyName(companyName: string) {\r\n //the component that wants to update something, calls this fn\r\n this.subjectName.next({ companyName: companyName }); //next() will feed the value in Subject\r\n }\r\n\r\n getCompanyName(): Observable {\r\n //the receiver component calls this function\r\n return this.subjectName.asObservable(); //it returns as an observable to which the receiver funtion will subscribe\r\n }\r\n\r\n sendFullName(fullName: any) {\r\n this.fullName.next(fullName);\r\n }\r\n\r\n getFullName(): Observable {\r\n return this.fullName.asObservable();\r\n }\r\n\r\n public getMenusDataById(id: any): Observable {\r\n return this._apiService\r\n .get(`Menu/MenuById${id}`)\r\n .pipe(map((response: any) => response));\r\n } // FN\r\n\r\n // FN\r\n // getSystemParametersByKey(key: string): Observable {\r\n // //return this.http.get(this.getApiUrl(`User/GetSystemParametersbyKey/` + key));\r\n // }\r\n\r\n // getSystemDateFormat() {\r\n // this.getSystemParametersByKey('SystemDateFormat').subscribe((result) => {\r\n // this.systemDateFormat = result;\r\n // });\r\n // }\r\n\r\n // getSystemDateTimeFormat() {\r\n // this.getSystemParametersByKey('SystemDateTimeFormat').subscribe((result) => {\r\n // this.systemDateTimeFormat = result;\r\n // });\r\n // }\r\n\r\n changeDateFormat(paramDate: Date) {\r\n return this.datePipe.transform(paramDate, 'MM/dd/yyyy');\r\n }\r\n\r\n changeDateFormatMMMYYY(paramDate: Date) {\r\n return this.datePipe.transform(paramDate, 'MMM-yyyy');\r\n }\r\n\r\n changeDateTimeFormat(paramDateTime: Date) {\r\n return this.datePipe.transform(paramDateTime, 'MM/dd/yyyy hh:mm a');\r\n }\r\n\r\n changeDateTimeFormatForCalendar(paramDateTime: Date) {\r\n return this.datePipe.transform(paramDateTime, 'MM/dd/yyyy, HH:mm');\r\n }\r\n\r\n formatDateUTC(date: string) {\r\n const inputDate = new Date(date);\r\n inputDate.setMinutes(\r\n inputDate.getMinutes() - inputDate.getTimezoneOffset()\r\n );\r\n return inputDate.toISOString();\r\n }\r\n\r\n datePipeFormatDate(date: string) {\r\n return this.datePipe.transform(date, 'yyyy-MM-ddTHH:mm:ss.SSSZ');\r\n }\r\n\r\n // currany format\r\n addCurrencyFormatting(value: string, unSuffix?: boolean): string {\r\n let companySetUp: any = localStorage.getItem('generalSettings');\r\n const numericValue = parseFloat(value);\r\n\r\n if (isNaN(numericValue)) {\r\n return '';\r\n }\r\n\r\n if (numericValue === 0) {\r\n return '$ -';\r\n }\r\n\r\n if (companySetUp) {\r\n companySetUp = JSON.parse(companySetUp);\r\n this.selectedCurrency = companySetUp?.companySetUp?.find(\r\n (setting: any) => setting?.displaY_NAME === 'Currency'\r\n );\r\n this.selectedCurrency = this.selectedCurrency?.currencY_CODE;\r\n }\r\n\r\n const formattedValue =\r\n this.currencyPipe.transform(\r\n value,\r\n this.selectedCurrency,\r\n 'symbol',\r\n '1.2-2'\r\n ) ?? '';\r\n\r\n if (unSuffix) {\r\n // Remove the trailing '.00' if it exists\r\n return formattedValue?.replace(/\\.00$/, '');\r\n } else {\r\n return formattedValue;\r\n }\r\n }\r\n\r\n // Old format\r\n addCurrencyFormattingChange(value: string, unSuffix?: boolean): string {\r\n let companySetUp: any = localStorage.getItem('generalSettings');\r\n const numericValue = parseFloat(value);\r\n if (isNaN(numericValue)) {\r\n return '';\r\n }\r\n if (companySetUp) {\r\n companySetUp = JSON.parse(companySetUp);\r\n this.selectedCurrency = companySetUp?.companySetUp?.find(\r\n (setting: any) => setting?.displaY_NAME === 'Currency'\r\n );\r\n this.selectedCurrency = this.selectedCurrency?.currencY_CODE;\r\n }\r\n const formattedValue =\r\n this.currencyPipe.transform(\r\n value,\r\n this.selectedCurrency,\r\n 'symbol',\r\n '1.2-2'\r\n ) ?? '';\r\n if (unSuffix) {\r\n // Remove the trailing '.00' if it exists\r\n return formattedValue?.replace(/\\.00$/, '');\r\n } else {\r\n return formattedValue;\r\n }\r\n }\r\n\r\n getCurrencyCode() {\r\n let companySetUp: any = localStorage.getItem('generalSettings');\r\n if (companySetUp) {\r\n companySetUp = JSON.parse(companySetUp);\r\n this.selectedCurrency = companySetUp?.companySetUp?.find(\r\n (setting: any) => setting?.displaY_NAME === 'Currency'\r\n );\r\n this.selectedCurrency = this.selectedCurrency?.currencY_CODE;\r\n }\r\n return this.selectedCurrency;\r\n }\r\n\r\n addCurrencyFormattingShort(value: number, axis: boolean): string {\r\n let formattedValue: any;\r\n const toFixed = axis ? 0 : 1;\r\n if (Math.abs(value) >= 1.0e9) {\r\n formattedValue = `${(value / 1.0e9)?.toFixed(toFixed)}`;\r\n } else if (Math.abs(value) >= 1.0e6) {\r\n formattedValue = `${(value / 1.0e6)?.toFixed(toFixed)}`;\r\n } else if (Math.abs(value) >= 1.0e3) {\r\n formattedValue = `${(value / 1.0e3)?.toFixed(toFixed)}`;\r\n } else {\r\n formattedValue = value;\r\n }\r\n const currencyCode = this.getCurrencyCode();\r\n const currencySymbol = this.getCurrencySymbol(currencyCode);\r\n return `${formattedValue}`;\r\n }\r\n\r\n addCurrencyFormattingShortChart(value: number, isValue: boolean): string {\r\n let formattedValue: any;\r\n const toFixed = 0; // Always show integers for thousands\r\n if (isValue) {\r\n formattedValue = `${(value / 1.0e3)?.toFixed(toFixed)}`;\r\n return `${formattedValue}`;\r\n } else {\r\n if (Math.abs(value) >= 1.0e3) {\r\n formattedValue =\r\n (value / 1.0e3)?.toLocaleString(undefined, {\r\n maximumFractionDigits: toFixed,\r\n }) + 'K';\r\n } else {\r\n formattedValue = value;\r\n }\r\n //formattedValue = formattedValue?.toLocaleString();\r\n const currencyCode = this.getCurrencyCode();\r\n const currencySymbol = this.getCurrencySymbol(currencyCode);\r\n return `${currencySymbol}${formattedValue}`;\r\n }\r\n }\r\n\r\n getCurrencySymbol(currencyCode: string): string {\r\n const currencySymbols: { [key: string]: string } = {\r\n USD: '$',\r\n EUR: '€',\r\n };\r\n return currencySymbols[currencyCode] || '';\r\n }\r\n\r\n // removeCurrencyFormatting(value: string): string {\r\n // return value?.replace(/[^\\d.-]/g, '');\r\n // }\r\n removeCurrencyFormatting(value: string | number): string {\r\n if (value !== null && value !== undefined) {\r\n const stringValue = String(value);\r\n const retValue = stringValue?.replace(/[^\\d.-]/g, '');\r\n if (retValue != '-')\r\n return retValue;\r\n else\r\n return '0'\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n CompareDates(effectiveDateField: Date, expirationDateField: Date) {\r\n let effectiveDate = effectiveDateField;\r\n let expirationDate = expirationDateField;\r\n if (effectiveDate > expirationDate) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getAvialbleCount(avilablelen: any, selectedlen: any, type: any) {\r\n if (type === 'minus') {\r\n return avilablelen - selectedlen;\r\n } else {\r\n return avilablelen + selectedlen;\r\n }\r\n }\r\n\r\n isDateOutOfRange(date: Date, minDate: Date, maxDate: Date): boolean {\r\n return date < minDate || date > maxDate;\r\n }\r\n\r\n pdfURLSanitize(data: any) {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(\r\n data + `#toolbar=0&navpanes=0&scrollbar=0`\r\n );\r\n }\r\n\r\n // To change the date format\r\n\r\n detectBrowserName(): string {\r\n const agent = window.navigator.userAgent.toLowerCase();\r\n const browser =\r\n agent.indexOf('edge') > -1\r\n ? 'Edge'\r\n : agent.indexOf('edg') > -1\r\n ? 'Edge'\r\n : agent.indexOf('opr') > -1\r\n ? 'Opera'\r\n : agent.indexOf('chrome') > -1\r\n ? 'Chrome'\r\n : agent.indexOf('trident') > -1\r\n ? 'Internet Explorer'\r\n : agent.indexOf('firefox') > -1\r\n ? 'Firefox'\r\n : agent.indexOf('safari') > -1\r\n ? 'Safari'\r\n : 'other';\r\n\r\n return browser;\r\n }\r\n\r\n // getIPAddressOfUser() {\r\n // this.getIPAddress().subscribe((res: any) => {\r\n // return res.asObservable();\r\n // }, (error: HttpErrorResponse) => {\r\n // this.errorService.openDialog(this.messageConstants.GeneralInfo[0]['getCompanyTypes'], error.status);\r\n // })\r\n // }\r\n\r\n // getIPAddress(): Observable {\r\n // return this.http.get(this.getApiUrl(`User/GetIPAddress`));\r\n // }\r\n\r\n // Get Country wise Phone Number with isd code\r\n getPhoneNumber(number: any, isd: any) {\r\n if (isd != '' && isd !== null && isd !== undefined) {\r\n if (number !== undefined && number) {\r\n let phoneNumberValue;\r\n const PNF = require('google-libphonenumber').PhoneNumberFormat;\r\n const phoneUtil =\r\n require('google-libphonenumber').PhoneNumberUtil.getInstance();\r\n\r\n try {\r\n const phoneNumber = phoneUtil.parseAndKeepRawInput(number, isd);\r\n if (phoneUtil.isValidNumber(phoneNumber)) {\r\n phoneNumberValue =\r\n '+' + '' + phoneUtil.getCountryCodeForRegion(isd) + '-' + number;\r\n return phoneNumberValue;\r\n } else {\r\n return '';\r\n }\r\n } catch (error: any) { }\r\n }\r\n } else {\r\n return number;\r\n }\r\n return '';\r\n }\r\n\r\n public getStates(): Observable {\r\n return this._apiService.get(`State`).pipe(map((response: any) => response));\r\n } // FN\r\n\r\n public getCountries(): Observable {\r\n return this._apiService\r\n .get(`Countries`)\r\n .pipe(map((response: any) => response));\r\n } // FN\r\n\r\n public getContactTypes(): Observable {\r\n return this._apiService\r\n .get(`ContactType`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public getAllCurrencies(): Observable {\r\n return this._apiService\r\n .get(`Currency`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public getAllTierTypes(): Observable {\r\n return this._apiService\r\n .get(`TierType`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public getTaxTypes(): Observable {\r\n return this._apiService\r\n .get(`TaxType`)\r\n .pipe(map((response: any) => response));\r\n } //\r\n\r\n public getSocialNetworks(): Observable {\r\n return this._apiService\r\n .get(`SocialNetwork`)\r\n .pipe(map((response: any) => response));\r\n } //\r\n\r\n public getAllNAICS(): Observable {\r\n return this._apiService.get(`Naics`).pipe(map((response: any) => response));\r\n } //\r\n\r\n public getNAICSDetailsByCode(naicsCode: any): Observable {\r\n return this._apiService\r\n .get(`Naics/${naicsCode}`)\r\n .pipe(map((response: any) => response));\r\n } //\r\n\r\n public getAddressTypes(): Observable {\r\n return this._apiService\r\n .get(`AddressType`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public getDiversityTypes(): Observable {\r\n return this._apiService\r\n .get(`DiversityTypes`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public getCertifyingAgencies(): Observable {\r\n return this._apiService\r\n .get(`CertifyingAgencies`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public getEmployeeRanges(): Observable {\r\n return this._apiService\r\n .get(`EmployeeRanges`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public getAllEthnicities(): Observable {\r\n return this._apiService\r\n .get(`Ethnicities`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public getYearsByCompanyId(co_Id: any): Observable {\r\n return this._apiService\r\n .get(`ReportingPeriods/GetYearsByCompany?CompanyId=${co_Id}`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n // advance filtering service methods\r\n public advanceFiltersOptionsByModuleIdApi(\r\n moduleId: string,\r\n companyId?: string\r\n ): Observable {\r\n let co_id = companyId ? `&co_id=${companyId}` : '';\r\n return this._apiService\r\n .get(\r\n `AdvanceFilter/GetFilterOptionsByModuleID?moduleID=${moduleId}${co_id}`\r\n )\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public advanceFiltersFiledsApi(api_url: string): Observable {\r\n return this._apiService.get(api_url).pipe(map((response: any) => response));\r\n }\r\n\r\n public processFilterResponse(filterResponse: any[]): Observable {\r\n const requests: any = [];\r\n // Create a map to associate the API requests with their corresponding filter objects\r\n const requestMap: { [key: string]: Observable } = {};\r\n\r\n // Iterate through the filterResponse array\r\n filterResponse.forEach((filter: any) => {\r\n const apiUrl = filter.display_Field_Api_Url;\r\n\r\n // Check if apiUrl exists and field_Type_Name is 'Dropdown List'\r\n if (\r\n (apiUrl && filter.field_Type_Name === 'Dropdown List') ||\r\n filter.field_Type_Name === 'Multi Select'\r\n ) {\r\n filter.options = [];\r\n // Make an API request for each URL and store the Observable in the requestMap\r\n const request = this.advanceFiltersFiledsApi(apiUrl);\r\n requestMap[filter.advanceFilter_Id] = request;\r\n }\r\n });\r\n\r\n return forkJoin(requestMap).pipe(\r\n map((responses: any) => {\r\n // Iterate through the filterResponse array and update options based on the responses\r\n filterResponse.forEach((filter: any) => {\r\n const advanceFilterId = filter.advanceFilter_Id;\r\n if (advanceFilterId in responses) {\r\n const response = responses[advanceFilterId];\r\n if (response && response.result) {\r\n filter.options = response.result\r\n .map((option: any, index: number) => ({\r\n title: option.title\r\n ? option.title\r\n : option.certifyinG_AGENCY_NAME,\r\n value: option.value ? option.value : `${option.abbreviation}`,\r\n id: option.value ? option.value : `${option.abbreviation}`,\r\n }))\r\n .filter((option: any, index: number, self: any) => {\r\n const isDuplicate = self.some(\r\n (t: any, idx: any) =>\r\n (t.value === option.value || t.id === option.id) &&\r\n idx < index\r\n );\r\n return !isDuplicate;\r\n });\r\n }\r\n }\r\n });\r\n\r\n return filterResponse;\r\n })\r\n );\r\n }\r\n\r\n public savedAdvancedFilterList(payload: any): Observable {\r\n return this._apiService\r\n .get(\r\n `AdvanceFilter/GetSavedAdvanceFiltersByUser?User_Id=${payload.userId}&Module_Id=${payload.moduleId}&Co_Id=${payload.companyId}`\r\n )\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public saveAdvanceFilter(data: any): Observable {\r\n return this._apiService.post(\r\n `AdvanceFilter/SaveAdvanceFiltersByUser`,\r\n data\r\n );\r\n }\r\n\r\n // get sass toka\r\n public getSassToken(type: any): Observable {\r\n return this._apiService.get(`SASToken/${type}`);\r\n }\r\n\r\n public updateSharedPublicAdvanceFilter(\r\n payload: any,\r\n Is_Shared_Public: boolean\r\n ): Observable {\r\n return this._apiService.put(\r\n `AdvanceFilter/UpdateAdvanceFilterAsShared?Is_Shared_Public=${Is_Shared_Public}`,\r\n payload\r\n );\r\n }\r\n\r\n public deleteSavedAdvanceFilter(payload: any): Observable {\r\n return this._apiService.post(\r\n `AdvanceFilter/DeleteAdvanceFilterByUser`,\r\n payload\r\n );\r\n }\r\n\r\n public getSavedFilterDetail(data: any): Observable {\r\n return this._apiService.get(\r\n `AdvanceFilter/GetAdvanceFilterDetailsByFilterID?User_Filter_Id=${data.User_Filter_Id}`\r\n );\r\n }\r\n\r\n public getAdvanceFilterSearchedDetails(payload: any): Observable {\r\n // when user click saved advance filter details then call this api for rendar saved filter.\r\n return this._apiService.post(\r\n `AdvanceFilter/GetAdvanceFilterDetailsByFilterID`,\r\n payload\r\n );\r\n }\r\n\r\n public getAllDEI = (): Observable => {\r\n return this._apiService\r\n .get(`AdvanceFilter/GetDEIForSelection`)\r\n .pipe(map((response: any) => response));\r\n };\r\n public getAgenciesForSelectionOfDiversityTypes = (\r\n diversityTypes: any\r\n ): Observable => {\r\n let diversity = '';\r\n\r\n if (diversityTypes?.length > 0) {\r\n diversity = `?DiversityTypes=${diversityTypes}`;\r\n }\r\n\r\n return this._apiService\r\n .get(`AdvanceFilter/GetAgenciesForSelection${diversity}`)\r\n .pipe(map((response: any) => response));\r\n };\r\n\r\n // certifcate number validation\r\n\r\n getSelectedAgenciesForNumberValidation(agency: any) {\r\n this.selectedAgency = agency;\r\n }\r\n getValidationTestcase() {\r\n let validate = {\r\n min: '',\r\n max: '50',\r\n pattern: '^[a-zA-Z0-9]$',\r\n };\r\n\r\n if (this.selectedAgency?.abbreviation === 'CAMSC') {\r\n validate = {\r\n min: '4',\r\n max: '9',\r\n pattern: '^(?!0+$)[0-9]*$',\r\n };\r\n return validate;\r\n } else if (this.selectedAgency?.abbreviation === 'NGLCC') {\r\n validate = {\r\n min: '5',\r\n max: '7',\r\n pattern: '^(?!0+$)[0-9]*$',\r\n };\r\n return validate;\r\n } else if (this.selectedAgency?.abbreviation === 'NVBDC') {\r\n validate = {\r\n min: '5',\r\n max: '15',\r\n pattern: '^(?!0+$)[a-zA-Z0-9]*$',\r\n };\r\n return validate;\r\n } else if (this.selectedAgency?.abbreviation === 'WEBC') {\r\n validate = {\r\n min: '4',\r\n max: '10',\r\n pattern: '^(?!0+$)(CA)?[0-9]*$',\r\n };\r\n return validate;\r\n } else if (this.selectedAgency?.abbreviation === 'CGLCC') {\r\n validate = {\r\n min: '11',\r\n max: '11',\r\n pattern: '^[a-zA-Z]{5}(?!000000)[0-9]{6}$',\r\n };\r\n return validate;\r\n } else if (this.selectedAgency?.abbreviation === 'STATE') {\r\n validate = {\r\n min: '10',\r\n max: '15',\r\n pattern: '^(?!0+$)[A-Z0-9]{10,15}$',\r\n };\r\n return validate;\r\n } else if (this.selectedAgency?.abbreviation === 'SBA') {\r\n validate = {\r\n min: '4',\r\n max: '6',\r\n pattern: '^(?!0+$)[A-Z0-9]{4,6}$',\r\n };\r\n return validate;\r\n } else if (this.selectedAgency?.abbreviation === 'WBEC Metro NY') {\r\n validate = {\r\n min: '5',\r\n max: '10',\r\n pattern: '^(?!0+$)[A-Z0-9]{5,10}$',\r\n };\r\n return validate;\r\n } else if (\r\n this.selectedAgency?.abbreviation === 'WBEC Greater DMV' ||\r\n this.selectedAgency?.abbreviation === 'WBEC East' ||\r\n this.selectedAgency?.abbreviation === 'WBEC Florida' ||\r\n this.selectedAgency?.abbreviation === 'WBEC ORV' ||\r\n this.selectedAgency?.abbreviation === 'WBEC South' ||\r\n this.selectedAgency?.abbreviation === 'WBEC-Pacific' ||\r\n this.selectedAgency?.abbreviation === 'WBEC-West'\r\n ) {\r\n validate = {\r\n min: '4',\r\n max: '10',\r\n pattern: '^(?!0+$)[A-Z0-9]{4,10}$',\r\n };\r\n return validate;\r\n } else if (\r\n this.selectedAgency?.abbreviation === 'CRMSDC' ||\r\n this.selectedAgency?.abbreviation === 'CVMSDC' ||\r\n this.selectedAgency?.abbreviation === 'ChicagoMSDC' ||\r\n this.selectedAgency?.abbreviation === 'DFWMSDC' ||\r\n this.selectedAgency?.abbreviation === 'EMSDC' ||\r\n this.selectedAgency?.abbreviation === 'FSMSDC' ||\r\n this.selectedAgency?.abbreviation === 'GMSDC' ||\r\n this.selectedAgency?.abbreviation === 'GNEMSDC' ||\r\n this.selectedAgency?.abbreviation === 'HMSDC' ||\r\n this.selectedAgency?.abbreviation === 'MMSDC' ||\r\n this.selectedAgency?.abbreviation === 'MidStatesMSDC' ||\r\n this.selectedAgency?.abbreviation === 'MPMSDC' ||\r\n this.selectedAgency?.abbreviation === 'NMSDC-US' ||\r\n this.selectedAgency?.abbreviation === 'NYNJMSDC' ||\r\n this.selectedAgency?.abbreviation === 'NorthCentralMSDC' ||\r\n this.selectedAgency?.abbreviation === 'NWMMSDC' ||\r\n this.selectedAgency?.abbreviation === 'OhioMSDC' ||\r\n this.selectedAgency?.abbreviation === 'PSWMSDC' ||\r\n this.selectedAgency?.abbreviation === 'PRMSDC' ||\r\n this.selectedAgency?.abbreviation === 'SCMSDC' ||\r\n this.selectedAgency?.abbreviation === 'SRMSDC' ||\r\n this.selectedAgency?.abbreviation === 'SMSDC' ||\r\n this.selectedAgency?.abbreviation === 'TSMSDC' ||\r\n this.selectedAgency?.abbreviation === 'WRMSDC'\r\n ) {\r\n validate = {\r\n min: '6',\r\n max: '10',\r\n pattern:\r\n '/^(0(CR|CA|CH|DL|PT|FL|AT|GN|HS|MI|IN|MP|US|NY|WS|NW|CN|AZ|PR|SC|SR|AU|TN|WR)?[a-zA-Z0-9]{6,10}|CR|CA|CH|DL|PT|FL|AT|GN|HS|MI|IN|MP|US|NY|WS|NW|CN|AZ|PR|SC|SR|AU|TN|WR[a-zA-Z0-9]{0,8})$',\r\n };\r\n return validate;\r\n } else {\r\n return validate;\r\n }\r\n }\r\n\r\n getCertificateNumberMatch(value: string): string | null {\r\n const certificationTypes: any = {\r\n CAMSC: /^(?!0+$)[0-9]{4,9}$/,\r\n NGLCC: /^(?!0+$)[0-9]{5,7}$/,\r\n NVBDC: /^(?!0+$)[a-zA-Z0-9]{5,15}$/, // /^(?=.*[a-zA-Z])(?=.*\\d).\r\n // 'NMSDC-US': /^(?!0+$)[a-zA-Z0-9]{6,10}$/,\r\n // NMSDC:\r\n // /^(?!0+$)(0(CR[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|CR[a-zA-Z0-9]{5,})$/,\r\n 'NMSDC-US':\r\n /^(?!0+$)(0(US[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|US[0-9]{5})$/,\r\n CRMSDC: /^(?!0+$)(0(CR[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|CR[0-9]{5})$/, //^(?!0+$)(0(CR[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|CR[a-zA-Z0-9]{5,})$/,\r\n CVMSDC: /^(?!0+$)(0(CA[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|CA[0-9]{5})$/,\r\n ChicagoMSDC:\r\n /^(?!0+$)(0(CH[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|CH[0-9]{5})$/,\r\n DFWMSDC: /^(?!0+$)(0(DL[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|DL[0-9]{5})$/,\r\n EMSDC: /^(?!0+$)(0(PT[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|PT[0-9]{5})$/,\r\n FSMSDC: /^(?!0+$)(0(FL[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|FL[0-9]{5})$/,\r\n GMSDC: /^(?!0+$)(0(AT[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|AT[0-9]{5})$/,\r\n GNEMSDC: /^(?!0+$)(0(GN[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|GN[0-9]{5})$/,\r\n HMSDC: /^(?!0+$)(0(HS[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|HS[0-9]{5})$/,\r\n MMSDC: /^(?!0+$)(0(MI[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|MI[0-9]{5})$/,\r\n NYNJMSDC: /^(?!0+$)(0(NY[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|NY[0-9]{5})$/,\r\n NorthCentralMSDC:\r\n /^(?!0+$)(0(WS[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|WS[0-9]{5})$/,\r\n NWMMSDC: /^(?!0+$)(0(NW[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|NW[0-9]{5})$/,\r\n OhioMSDC: /^(?!0+$)(0(CN[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|CN[0-9]{5})$/,\r\n PSWMSDC: /^(?!0+$)(0(AZ[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|AZ[0-9]{5})$/,\r\n PRMSDC: /^(?!0+$)(0(PR[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|PR[0-9]{5})$/,\r\n SCMSDC: /^(?!0+$)(0(SC[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|SC[0-9]{5})$/,\r\n SRMSDC: /^(?!0+$)(0(SR[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|SR[0-9]{5})$/,\r\n SMSDC: /^(?!0+$)(0(AU[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|AU[0-9]{5})$/,\r\n TSMSDC: /^(?!0+$)(0(TN[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|TN[0-9]{5})$/,\r\n WRMSDC: /^(?!0+$)(0(WR[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|WR[0-9]{5})$/,\r\n MidStatesMSDC:\r\n /^(?!0+$)(0(IN[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|IN[0-9]{5})$/,\r\n MPMSDC: /^(?!0+$)(0(MP[a-zA-Z0-9]{5,}|[a-zA-Z0-9]{6,10})|MP[0-9]{5})$/,\r\n CGLCC: /^[a-zA-Z]{5}(?!000000)[0-9]{6}$/,\r\n STATE: /^(?!0+$)[a-zA-Z0-9]{10,15}$/,\r\n SBA: /^(?!0+$)[a-zA-Z0-9]{4,6}$/,\r\n // DIN: /^(?!0+$)[a-zA-Z0-9]{4,6}$/,\r\n 'WBEC Metro NY': /^(?!0+$)[a-zA-Z0-9]{5,10}$/,\r\n 'WBEC Greater DMV': /^(?!0+$)[a-zA-Z0-9]{4,10}$/,\r\n 'WBEC East': /^(?!0+$)[a-zA-Z0-9]{4,10}$/,\r\n 'WBEC Florida': /^(?!0+$)[a-zA-Z0-9]{4,10}$/,\r\n 'WBEC ORV': /^(?!0+$)[a-zA-Z0-9]{4,10}$/,\r\n 'WBEC South': /^(?!0+$)[a-zA-Z0-9]{4,10}$/,\r\n 'WBEC-Pacific': /^(?!0+$)[a-zA-Z0-9]{4,10}$/,\r\n 'WBEC-West': /^(?!0+$)[a-zA-Z0-9]{4,10}$/,\r\n\r\n // Add more certification types as needed\r\n };\r\n\r\n if (this.selectedAgency?.abbreviation) {\r\n const isAllZeros = /^0+$/.test(value);\r\n const isValidFormat =\r\n certificationTypes[this.selectedAgency?.abbreviation]?.test(value);\r\n\r\n if (isAllZeros) {\r\n return \"Number should not be all 0's.\";\r\n }\r\n\r\n let characterRange = '';\r\n if (this.selectedAgency?.abbreviation === 'CAMSC') {\r\n characterRange = 'Invalid format. Please enter 4-9 numeric characters.';\r\n } else if (this.selectedAgency?.abbreviation === 'NGLCC') {\r\n characterRange = 'Invalid format. Please enter 5-7 numeric characters.';\r\n } else if (this.selectedAgency?.abbreviation === 'NVBDC') {\r\n characterRange = 'Invalid format.Please enter 5-15 characters.';\r\n } else if (this.selectedAgency?.abbreviation === 'WEBC') {\r\n characterRange = 'Invalid format.Please enter 4-10 characters.';\r\n } else if (this.selectedAgency?.abbreviation === 'CGLCC') {\r\n characterRange =\r\n 'Invalid format.Please enter a 5-letter prefix followed by 6 numeric characters.';\r\n } else if (this.selectedAgency?.abbreviation === 'STATE') {\r\n characterRange = 'Invalid format. Please enter 10-15 characters.';\r\n } else if (this.selectedAgency?.abbreviation === 'SBA') {\r\n characterRange = 'Invalid format.Please enter 4-6 characters.';\r\n } else if (this.selectedAgency?.abbreviation === 'WBEC Metro NY') {\r\n characterRange = 'Invalid format.Please enter 5-10 characters.';\r\n } else if (\r\n this.selectedAgency?.abbreviation === 'WBEC Greater DMV' ||\r\n this.selectedAgency?.abbreviation === 'WBEC East' ||\r\n this.selectedAgency?.abbreviation === 'WBEC Florida' ||\r\n this.selectedAgency?.abbreviation === 'WBEC ORV' ||\r\n this.selectedAgency?.abbreviation === 'WBEC South' ||\r\n this.selectedAgency?.abbreviation === 'WBEC-Pacific' ||\r\n this.selectedAgency?.abbreviation === 'WBEC-West'\r\n ) {\r\n characterRange = 'Invalid format.Please enter 4-10 characters.';\r\n } else if (\r\n this.selectedAgency?.abbreviation === 'CRMSDC' ||\r\n this.selectedAgency?.abbreviation === 'CVMSDC' ||\r\n this.selectedAgency?.abbreviation === 'ChicagoMSDC' ||\r\n this.selectedAgency?.abbreviation === 'DFWMSDC' ||\r\n this.selectedAgency?.abbreviation === 'EMSDC' ||\r\n this.selectedAgency?.abbreviation === 'FSMSDC' ||\r\n this.selectedAgency?.abbreviation === 'GMSDC' ||\r\n this.selectedAgency?.abbreviation === 'GNEMSDC' ||\r\n this.selectedAgency?.abbreviation === 'HMSDC' ||\r\n this.selectedAgency?.abbreviation === 'MMSDC' ||\r\n this.selectedAgency?.abbreviation === 'MidStatesMSDC' ||\r\n this.selectedAgency?.abbreviation === 'MPMSDC' ||\r\n this.selectedAgency?.abbreviation === 'NMSDC-US' ||\r\n this.selectedAgency?.abbreviation === 'NYNJMSDC' ||\r\n this.selectedAgency?.abbreviation === 'NorthCentralMSDC' ||\r\n this.selectedAgency?.abbreviation === 'NWMMSDC' ||\r\n this.selectedAgency?.abbreviation === 'OhioMSDC' ||\r\n this.selectedAgency?.abbreviation === 'PSWMSDC' ||\r\n this.selectedAgency?.abbreviation === 'PRMSDC' ||\r\n this.selectedAgency?.abbreviation === 'SCMSDC' ||\r\n this.selectedAgency?.abbreviation === 'SRMSDC' ||\r\n this.selectedAgency?.abbreviation === 'SMSDC' ||\r\n this.selectedAgency?.abbreviation === 'TSMSDC' ||\r\n this.selectedAgency?.abbreviation === 'WRMSDC'\r\n ) {\r\n characterRange = 'Invalid format.Please enter 6-10 characters.';\r\n }\r\n\r\n return isValidFormat ? null : characterRange;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n findActiveReportingPeriod(data: any) {\r\n let openReport = data?.find(\r\n (item: any) =>\r\n item?.status_Key?.toLowerCase?.() !==\r\n reportingStatusEnum.YetToOpen.toLowerCase?.()\r\n );\r\n\r\n openReport = this.formateDateTimeActiveReportingPeriod(openReport);\r\n\r\n if (openReport) {\r\n return openReport;\r\n } else {\r\n // If \"Reporting Open\" is not found, find the report with reporting end date near today\r\n const nearestReport = this.findClosestRecord(data);\r\n return nearestReport;\r\n }\r\n }\r\n\r\n findClosestRecord(data: any) {\r\n const today = new Date();\r\n let nearestReport = data?.reduce((closest: any, current: any) => {\r\n const currentDate = today.getTime();\r\n const currentReportEndDate = new Date(\r\n current.reporting_End_Date\r\n ).getTime();\r\n const closestReportEndDate = new Date(\r\n closest.reporting_End_Date\r\n ).getTime();\r\n\r\n const timeDiffCurrent = Math.abs(currentReportEndDate - currentDate);\r\n const timeDiffClosest = Math.abs(closestReportEndDate - currentDate);\r\n\r\n return timeDiffCurrent < timeDiffClosest ? current : closest;\r\n });\r\n\r\n nearestReport = this.formateDateTimeActiveReportingPeriod(nearestReport);\r\n return nearestReport;\r\n }\r\n\r\n formateDateTimeActiveReportingPeriod(report: any) {\r\n if (report) {\r\n report.period_Start_Date = this.changeDateFormat(\r\n report?.period_Start_Date\r\n )!;\r\n report.period_End_Date = this.changeDateFormat(report?.period_End_Date)!;\r\n report.reporting_Start_Date = this.changeDateFormat(\r\n report.reporting_Start_Date\r\n )!;\r\n report.reporting_End_Date = this.changeDateFormat(\r\n report.reporting_End_Date\r\n )!;\r\n report.reporting_End_Date = this.changeDateFormat(\r\n report.reporting_End_Date\r\n )!;\r\n report.name = `${report.reporting_Period_Name} - ${report.reporting_Period_Year}`;\r\n report.statuS_NAME = report.statuS_NAME;\r\n report.status_Key = report.status_Key;\r\n return report;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n convertCurrencyValue(value: any) {\r\n if (value >= 1000000) {\r\n // Format as millions with one decimal place\r\n return `$${(value / 1000000).toFixed(0)}M`;\r\n } else if (value >= 1000) {\r\n // Format as thousands\r\n return `$${(value / 1000).toFixed(0)}K`;\r\n } else {\r\n // Display as is (less than 1000)\r\n return `$${value}`;\r\n }\r\n }\r\n\r\n corporateDashboardChartApi(co_id: number, rptId?: any): Observable {\r\n const url = rptId\r\n ? `DashBoard/getReportingPeriodDashBoard?co_id=${co_id}&rpt_Period_Id=${rptId}`\r\n : `DashBoard/getReportingPeriodDashBoard?co_id=${co_id}`;\r\n return this._apiService.get(url).pipe(map((response: any) => response));\r\n }\r\n\r\n getActionPathNames(accessType: any): Observable {\r\n return this._apiService\r\n .get(`Menu/GetAllActionsPath?accessType=${accessType}`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n //Before navigating to another screen checking details saved or not\r\n public canExit(\r\n componentForm: any,\r\n saveBtnClickFlag: boolean\r\n ): Promise {\r\n if (!saveBtnClickFlag) {\r\n if (componentForm) {\r\n return this.sharedService\r\n .openRouteConfirmation()\r\n .then((result: boolean) => {\r\n if (result) {\r\n return true; // Allow navigation\r\n } else {\r\n return false; // Block navigation\r\n }\r\n });\r\n } else {\r\n return Promise.resolve(true);\r\n }\r\n } else {\r\n return Promise.resolve(true);\r\n }\r\n }\r\n\r\n //To check conflicts for reporting period\r\n isReportingPeriodConflict(\r\n reportingList: any,\r\n newPeriodStartDate: any,\r\n newPeriodEndDate: any,\r\n newReportingStartDate: any,\r\n newReportingEndDate: any,\r\n newReportingPeriodName?: any,\r\n newReportingPeriodYear?: any,\r\n isUpdate?: boolean,\r\n reportingPeriodIdToUpdate?: any\r\n ) {\r\n const errorList = [];\r\n const newPeriod = {\r\n periodStart: new Date(newPeriodStartDate),\r\n periodEnd: new Date(newPeriodEndDate),\r\n reportingStart: new Date(newReportingStartDate),\r\n reportingEnd: new Date(newReportingEndDate),\r\n };\r\n\r\n const isNameConflicted = reportingList?.some((existingData: any) => {\r\n if (isUpdate && existingData.id === reportingPeriodIdToUpdate) {\r\n return false;\r\n }\r\n const normalizedNewName = newReportingPeriodName?.toLowerCase?.();\r\n const normalizedExistingName =\r\n existingData.reporting_Period_Name?.toLowerCase?.();\r\n const isNewYearEqual =\r\n existingData.reporting_Period_Year === newReportingPeriodYear;\r\n return normalizedNewName === normalizedExistingName && isNewYearEqual;\r\n });\r\n\r\n if (isNameConflicted) {\r\n errorList.push('\\nReporting period with the same name already exists.\\n');\r\n }\r\n const isConflicted = reportingList?.some((existingData: any) => {\r\n if (isUpdate && existingData.id === reportingPeriodIdToUpdate) {\r\n return false;\r\n }\r\n const existingPeriodStartDate = new Date(existingData.period_Start_Date);\r\n const existingPeriodEndDate = new Date(existingData.period_End_Date);\r\n const existingReportingStartDate = new Date(\r\n existingData.reporting_Start_Date\r\n );\r\n const existingReportingEndDate = new Date(\r\n existingData.reporting_End_Date\r\n );\r\n\r\n const periodConflict =\r\n newPeriod.periodStart <= existingPeriodEndDate &&\r\n newPeriod.periodEnd >= existingPeriodStartDate &&\r\n newReportingPeriodYear == existingData.reporting_Period_Year;\r\n\r\n // const reportingConflict =\r\n // newPeriod.reportingStart <= existingReportingEndDate &&\r\n // newPeriod.reportingEnd >= existingReportingStartDate &&\r\n // newReportingPeriodYear == existingData.reporting_Period_Year;\r\n\r\n const reportingDatesConflict =\r\n (!(newPeriod.reportingStart >= existingReportingStartDate) ||\r\n !(newPeriod.reportingEnd >= existingReportingEndDate)) &&\r\n newReportingPeriodYear == existingData.reporting_Period_Year &&\r\n !isUpdate;\r\n\r\n // const crossConflict = (\r\n // newPeriod.periodStart <= existingReportingEndDate && newPeriod.periodEnd >= existingReportingStartDate ||\r\n // newPeriod.reportingStart <= existingPeriodEndDate && newPeriod.reportingEnd >= existingPeriodStartDate\r\n // );\r\n // if (periodConflict) {\r\n // errorList.push(\r\n // '\\nConflict(s) identified in both period and reporting dates.\\n'\r\n // );\r\n // }\r\n // else\r\n if (periodConflict) {\r\n errorList.push('\\nConflict(s) identified in period dates.\\n');\r\n } else if (reportingDatesConflict) {\r\n errorList.push('\\nConflict(s) identified in reporting dates.\\n');\r\n }\r\n\r\n if (periodConflict || reportingDatesConflict) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n // if (isConflicted) {\r\n // errorList.push(\r\n // '\\nThe selected dates conflict with other Reporting Period.\\n'\r\n // );\r\n // }\r\n return errorList;\r\n }\r\n\r\n getQuickLinks(id: number): Observable {\r\n return this._apiService\r\n .get(`QuickLinks/GetQuickLinks?user_id=${id}`)\r\n .pipe(map((response: any) => response));\r\n }\r\n\r\n public saveQuickLinks(data: any): Observable {\r\n return this._apiService.post(`QuickLinks/AddQuickLink`, data);\r\n }\r\n\r\n public updateQuickLinks(data: any): Observable {\r\n return this._apiService.put(`QuickLinks/UpdateQuickLink`, data);\r\n }\r\n\r\n public deleteQuickLinks(id: any): Observable {\r\n return this._apiService.post(`QuickLinks/DeleteQuickLink?id=${id}`, id);\r\n }\r\n\r\n // Legal Identifier return max length\r\n\r\n getValidationLegalIdentifier(text: number) {\r\n let validate = {\r\n min: '',\r\n max: '20',\r\n validation: 'noSpecialChars',\r\n };\r\n\r\n if (text === 1) {\r\n validate = {\r\n min: '',\r\n max: '10',\r\n validation: 'Federal_Tax_ID',\r\n };\r\n return validate;\r\n } else if (text === 7) {\r\n validate = {\r\n min: '',\r\n max: '15',\r\n validation: 'noSpecialChars',\r\n };\r\n return validate;\r\n } else {\r\n return validate;\r\n }\r\n }\r\n setSystemParameter(systemParameter: any) {\r\n this.systemParameterSubject.next(systemParameter);\r\n }\r\n\r\n // getSystemParameter(): Observable {\r\n // return this.systemParameter.asObservable();\r\n // }\r\n\r\n getSystemParameter(): Observable {\r\n return this.systemParameter$.pipe(\r\n map((systemParameter: any | null) => {\r\n if (systemParameter !== null) {\r\n return systemParameter; // Return the value from BehaviorSubject\r\n } else {\r\n const localStorageValue = localStorage.getItem('systemParameter');\r\n if (localStorageValue) {\r\n this.setSystemParameter(JSON.parse(localStorageValue)); // Update the BehaviorSubject with localStorage value\r\n return JSON.parse(localStorageValue);\r\n } else {\r\n return null; // Return null or handle it as per your requirement\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n // advance filter to set or get Start Date and End Date\r\n checkStartEndDateSelected(filterData: FilterOption[]): boolean {\r\n const startDateFilter = this.getStartDateData(filterData);\r\n const endDateFilter = this.getEndDateData(filterData);\r\n\r\n return !!(\r\n startDateFilter &&\r\n endDateFilter &&\r\n ((startDateFilter?.value && !endDateFilter?.value) ||\r\n (!startDateFilter?.value && endDateFilter?.value))\r\n );\r\n }\r\n\r\n getStartDateData(data: FilterOption[]) {\r\n return data?.find((option) => option.field_Type_Name === 'Start Date');\r\n }\r\n getEndDateData(data: FilterOption[]) {\r\n return data?.find((option) => option.field_Type_Name === 'End Date');\r\n }\r\n\r\n // dataTable\r\n passwordValidation(value: any, element: any) {\r\n if (!value || value.length == 0) {\r\n return `${element} is required`;\r\n } else {\r\n if (value.length! < 6 || value.length > 15) {\r\n return 'Password must be between 6 and 15 characters';\r\n }\r\n return '';\r\n }\r\n }\r\n urlValidation(value: any, element: any, maxLength: number): string {\r\n let urlPattern =\r\n /^(https?:\\/\\/)(www\\.)?([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}(\\/[a-zA-Z0-9-._~:/?#[\\]@!$&'()*+,;=]*)?$/;\r\n if (!value || value.length === 0) {\r\n return `${element} is required`;\r\n } else if (typeof value === 'string') {\r\n if (value.length > Number(maxLength)) {\r\n return `${element} is less than ${maxLength} characters`;\r\n }\r\n if (!urlPattern.test(value)) {\r\n return 'Please enter a valid URL starting with http:// or https://';\r\n }\r\n return '';\r\n } else {\r\n return '';\r\n }\r\n }\r\n inputValidation(value: any, element: any, maxLength: number): string {\r\n if (!value || value.length === 0) {\r\n return `${element} is required`;\r\n } else if (typeof value === 'string') {\r\n if (value.length > Number(maxLength)) {\r\n return `${element} is less then of ${maxLength} characters`;\r\n }\r\n return '';\r\n } else {\r\n return '';\r\n }\r\n }\r\n isInvalidPassword(password: any, dataKey: any) {\r\n // Check if the password is a string and the validation fails\r\n let data = this.passwordValidation(password, dataKey);\r\n if (typeof data === 'string' && data.length > 0) {\r\n return true;\r\n }\r\n return false; // Return false if password is not a string\r\n }\r\n isInValidUrl(url: string, dataKey: any, dataType: any, maxLength: any) {\r\n // Check if the password is a string and the validation fails\r\n if (dataType == 'url') {\r\n let data = this.urlValidation(url, dataKey, Number(maxLength));\r\n if (typeof data === 'string' && data.length > 0) {\r\n return true;\r\n }\r\n }\r\n return false; // Return false if password is not a string\r\n }\r\n isInValidInput(value: any, dataKey: any, dataType: any, maxLength: any) {\r\n // Check if the password is a string and the validation fails\r\n if (dataType !== 'url') {\r\n let data = this.inputValidation(value, dataKey, Number(maxLength));\r\n if (typeof data === 'string' && data.length > 0) {\r\n return true;\r\n }\r\n }\r\n return false; // Return false if password is not a string\r\n }\r\n getAccessLevelFromLocalStorage(): any {\r\n return localStorage.getItem('accessLevel');\r\n }\r\n getDashboardAccessFromLocalStorage(): any {\r\n return localStorage.getItem('DashboardAccess');\r\n }\r\n\r\n getInvitationType(): any {\r\n return localStorage.getItem('invitationTypeId');\r\n }\r\n\r\n getBaseUrl(): string {\r\n const baseUrl = document.baseURI; // Retrieve the current base URL\r\n const index = baseUrl.indexOf('/', baseUrl.indexOf('//') + 2); // Find the index of the first \"/\" after the protocol\r\n return baseUrl.substring(0, index + 1); // Extract the base URL\r\n }\r\n\r\n // check tax id is existed or not in company Information\r\n public validateTaxId(\r\n taxType: string | number,\r\n taxNumber: string | number\r\n ): Observable {\r\n return this._apiService.get(\r\n `Company/validateCompanybyTaxID?tax_Type_Id=${taxType}&tax_Id=${taxNumber}`\r\n );\r\n }\r\n\r\n // create support tickets\r\n public createSupportTicket(data: any): Observable {\r\n //return this._apiService.post(`Email/EmailSendToOTRS`, data);\r\n return this._apiService.post(`Email/SendEmailToOTRS`, data);\r\n }\r\n\r\n public logOut(UserEmail: any): Observable {\r\n return this._apiService.get(`SessionService/LogOut${UserEmail}`);\r\n }\r\n\r\n // genrate dynamic color for chart\r\n generateDynamicColors(numColors: number, defaultColor?: any): string[] {\r\n let colorPalette = [];\r\n if (defaultColor?.length > 0) {\r\n colorPalette = defaultColor;\r\n } else {\r\n colorPalette = [\r\n '#8B4513', // Saddle Brown\r\n '#CD853F', // Peru\r\n '#FFB6C1', // Light Pink\r\n '#4682B4', // Steel Blue\r\n '#00CED1', // Dark Turquoise\r\n '#FF5733', // Dark orange\r\n '#8C1C62', // Dark pink\r\n '#7B6000', // Dark yellow\r\n '#3D195B', // Dark violet\r\n '#006D5B', // Dark teal\r\n ];\r\n }\r\n\r\n const colors = [];\r\n for (let i = 0; i < numColors; i++) {\r\n colors.push(colorPalette[i % colorPalette.length]); // Loop through the palette\r\n }\r\n return colors;\r\n }\r\n\r\n calculateWidth(dataKey: string, data: any[], type?: string) {\r\n const minWidth = 60; // Minimum width\r\n const characterWidth = 5; // Width per character (adjust as needed)\r\n const contentLength = this.calculateContentLength(dataKey, data);\r\n const calculatedWidth = 0 + (contentLength * characterWidth);\r\n return calculatedWidth; // Return width as string with 'px' suffix\r\n }\r\n\r\n calculateContentLength(dataKey: string, data: any[]): number {\r\n if (data && data?.length > 0) {\r\n const maxLength = Math.max(...data.map(item => item[dataKey]?.length || 0));\r\n return maxLength;\r\n }\r\n return 0;\r\n }\r\n\r\n calculateWidthHeader(content: string, columnName: string, array: any[]) {\r\n const minWidth = 90; // Minimum width\r\n if (array.length > 0) {\r\n const characterWidth = 5;\r\n const calculatedWidthContent = 0 + (content?.length * characterWidth);\r\n const columnWidth = this.calculateWidth(columnName, array)\r\n if (calculatedWidthContent >= columnWidth)\r\n return calculatedWidthContent;\r\n else\r\n return columnWidth;\r\n } else {\r\n const characterWidth = 5;\r\n const calculatedWidthContent = 0 + (content?.length * characterWidth);\r\n\r\n if (content == 'customer Directed') console.log(calculatedWidthContent);\r\n return minWidth + calculatedWidthContent\r\n }\r\n }\r\n\r\n createReportExportExcelName(selectedYear: number, selectedPeriodName: string, excelName: string, companyName: string) {\r\n return companyName + '_' + excelName + '_' + selectedYear + '-' + selectedPeriodName + '.xlsx';\r\n }\r\n\r\n generateReportName(reportName: string, selectedPeriodName: string, selectedYear: string) {\r\n if (selectedPeriodName == 'All') {\r\n return reportName + ' - ' + selectedYear;\r\n }\r\n else {\r\n return reportName + ' - ' + selectedPeriodName + '-' + selectedYear;\r\n }\r\n }\r\n\r\n isAmountField(value: any) {\r\n if (typeof value === 'number' || /^\\$?[0-9,.]+$/.test(value) || /^\\$\\s*-$/.test(value) || /^-\\$\\d+(\\.\\d{1,2})?$/.test(value) || /^-\\$\\d{1,3}(,\\d{3})*(\\.\\d{1,2})?$/.test(value)) {\r\n return true;\r\n\r\n }\r\n else\r\n return false;\r\n }\r\n\r\n private async getBase64ImageFromUrl(imageUrl: string): Promise {\r\n\r\n const response = await fetch(imageUrl);\r\n const blob = await response.blob();\r\n\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result as string);\r\n reader.onerror = reject;\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\n async generateHeaderforReportsExcel(worksheet: ExcelJS.Worksheet, selectedYear: number, selectedPeriodName: string, reportName: string) {\r\n\r\n const imageUrl = 'https://apiuistore.blob.core.windows.net/blob-anonymous/DivTrax2.0/DiversityLogoPNG.png'; // Update this with your image path or URL\r\n\r\n // Convert the image to base64\r\n const imageBase64 = await this.getBase64ImageFromUrl(imageUrl);\r\n\r\n // Add image to the worksheet\r\n const imageId = worksheet.workbook.addImage({\r\n base64: imageBase64.split(',')[1],\r\n extension: 'png',\r\n });\r\n\r\n worksheet.mergeCells('A1:A2');\r\n // worksheet.addImage(imageId, 'A1:A2');\r\n worksheet.addImage(imageId, {\r\n tl: { col: 0, row: 0 },\r\n ext: { width: 170, height: 45 } // Adjust size as needed\r\n });\r\n\r\n\r\n // Add the first header row with the Corporate name\r\n const corporateRow = worksheet.addRow(['Report : ' + reportName]);\r\n corporateRow.eachCell((cell: any) => {\r\n cell.font = { bold: true };\r\n cell.alignment = { horizontal: 'left' };\r\n });\r\n\r\n // Add the first header row with the author name\r\n const authorRow = worksheet.addRow(['Year : ' + selectedYear]);\r\n authorRow.eachCell((cell: any) => {\r\n cell.font = { bold: true };\r\n cell.alignment = { horizontal: 'left' };\r\n });\r\n\r\n // Add the second header row with the generated date\r\n const dateRow = worksheet.addRow(['Reporting Period : ' + selectedPeriodName]);\r\n dateRow.eachCell((cell: any) => {\r\n cell.font = { bold: true };\r\n cell.alignment = { horizontal: 'left' };\r\n });\r\n\r\n // Add an empty row for spacing\r\n worksheet.addRow([]);\r\n\r\n }\r\n\r\n\r\n async exportToExcel(\r\n data: any,\r\n worksheet: ExcelJS.Worksheet,\r\n headers: any\r\n ) {\r\n // Get unique keys\r\n var HeaderColor: string = exportExcelHeaderColors.IntialHeader;\r\n var HeaderForeColor: string = exportExcelHeaderColors.IntialHeaderForeColor;\r\n var InitialColumnSize: string = exportExcelHeaderColors.InitialColumnSize;\r\n var minimumExcelCellWidth: number = Number(exportExcelHeaderColors.minimumExcelCellWidth);\r\n\r\n if(headers.length == 6) {\r\n worksheet.mergeCells('B7:F7');\r\n }\r\n else if(headers.length == 5) {\r\n worksheet.mergeCells('B7:E7');\r\n }\r\n else if(headers.length == 4) {\r\n worksheet.mergeCells('B7:D7');\r\n }\r\n else if(headers.length == 3) {\r\n worksheet.mergeCells('B7:C7');\r\n }\r\n else {\r\n\r\n }\r\n\r\n const headerRow1 = worksheet.getCell('A7');\r\n headerRow1.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: HeaderColor },\r\n };\r\n \r\n const headerRow2 = worksheet.getCell('B7');\r\n headerRow2.value = 'Diversity Credit';\r\n headerRow2.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: HeaderColor },\r\n };\r\n headerRow2.font = { bold: true, color: { argb: HeaderForeColor } };\r\n headerRow2.alignment = { horizontal: 'center', vertical: 'middle' };\r\n headerRow2.border = { \r\n top: { style: 'thin' }, \r\n left: { style: 'thin' }, \r\n right: { style: 'thin' } \r\n };\r\n\r\n const headerRow = worksheet.addRow(headers);\r\n headerRow.eachCell((cell) => {\r\n cell.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: HeaderColor },\r\n };\r\n cell.font = { bold: true, color: { argb: HeaderForeColor } };\r\n cell.border = { \r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' },\r\n right: { style: 'thin' },\r\n top: { style: 'thin' }\r\n\r\n };\r\n });\r\n headers.forEach((header: any, index: any) => {\r\n worksheet.getColumn(index + 1).width = header.length + 25;\r\n worksheet.getColumn(index + 1).alignment = { horizontal: 'center' };\r\n });\r\n data.forEach((supplier: any) => {\r\n const rowValues = headers.map((header: any) => {\r\n const value = supplier[header];\r\n return value === undefined || value === '' ? this.defaultZeroCurrency : value;\r\n });\r\n const dataRow = worksheet.addRow(rowValues);\r\n // Align cells to the right for columns that contain numeric or float values\r\n dataRow.eachCell((cell, colNumber) => {\r\n const value: any = cell.value;\r\n if (this.isAmountField(value)) {\r\n const numericValue = Number(this.removeCurrencyFormatting(value));\r\n if (numericValue == 0) {\r\n cell.value = numericValue;\r\n cell.value = this.defaultZeroCurrency;\r\n cell.alignment = { horizontal: 'right' };\r\n }\r\n else {\r\n cell.value = numericValue;\r\n cell.numFmt = '$#,##0.00';\r\n cell.alignment = { horizontal: 'right' };\r\n }\r\n }\r\n else {\r\n cell.alignment = { horizontal: 'left' };\r\n }\r\n });\r\n });\r\n // empty row added\r\n worksheet.addRow('');\r\n // Check if subTitleInRow is true\r\n // Auto-adjust column widths based on content\r\n worksheet.columns.forEach((column: any, index) => {\r\n let maxWidth = 0;\r\n if (index == 0) {\r\n column.width = InitialColumnSize\r\n column.alignment = { horizontal: 'left' };\r\n }\r\n else {\r\n column.eachCell({ includeEmpty: true }, (cell: any) => {\r\n const cellTextLength = cell.value ? cell.value.toString().length : 10; // Default width for empty cells\r\n if (cellTextLength > maxWidth) {\r\n maxWidth = cellTextLength;\r\n }\r\n });\r\n column.width = maxWidth < minimumExcelCellWidth ? minimumExcelCellWidth : maxWidth;\r\n }\r\n });\r\n\r\n worksheet.mergeCells('A7:A8');\r\n worksheet.getCell('A8').alignment = { horizontal: 'center', vertical: 'middle' };\r\n worksheet.getCell('A8').value = headers[0];\r\n worksheet.getCell('A8').font = { bold: true, color: { argb: HeaderForeColor } };\r\n worksheet.getCell('A8').border = { \r\n bottom: { style: 'thin' }, \r\n left: { style: 'thin' }, \r\n top: { style: 'thin' } \r\n };\r\n\r\n // Find the cell with the text 'Total' in the first column of the last row\r\n let totalCell: any = null;\r\n for (let i = worksheet.rowCount; i >= 1; i--) {\r\n const cell = worksheet.getCell(`A${i}`);\r\n if (cell && cell.value === 'Total') {\r\n totalCell = cell;\r\n break;\r\n }\r\n }\r\n\r\n if (totalCell) {\r\n const totalRowNumber = totalCell._row.number; // Using _row to get the row object and then the number\r\n const totalRow = worksheet.getRow(totalRowNumber);\r\n\r\n totalRow.eachCell((cell) => {\r\n cell.font = { bold: true };\r\n\r\n const row = worksheet.getRow(totalRowNumber);\r\n row.eachCell({ includeEmpty: true }, (cell, colNumber) => {\r\n if (colNumber !== 1) { \r\n cell.border = {\r\n top: { style: 'thin' },\r\n bottom: { style: 'double' }\r\n };\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n // save exported data in excel file and download.\r\n saveExcelFile(buffer: any, fileName: string) {\r\n const data: Blob = new Blob([buffer], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8',\r\n });\r\n const url = window.URL.createObjectURL(data);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n a.download = fileName;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n\r\n // getFormattedDecimalNumber(value: string): string {\r\n // return this.decimalPipe.transform(value, '1.2-2') ?? '';\r\n // }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LocalStorageService {\r\n private storageSubject = new Subject();\r\n\r\n watchStorage(): Observable {\r\n return this.storageSubject.asObservable();\r\n }\r\n\r\n setItem(key: string, value: string): void {\r\n localStorage.setItem(key, value);\r\n this.storageSubject.next(value);\r\n }\r\n\r\n getItem(key: string): string | null {\r\n return localStorage.getItem(key);\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n\r\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\r\n\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n\r\n production: true,\r\n\r\n // AD B2C\r\n\r\n clientID: \"14950bcf-0c3d-4fdd-a482-ae04170d161f\", //for local development\r\n clientIDAPI: \"93d78d64-9ab8-48e8-821d-739b84350238\",\r\n\r\n authority: \"https://diversitytraxai.b2clogin.com/diversitytraxai.onmicrosoft.com/B2C_1_SUSI\",\r\n \r\n\r\n redirectURI: \"https://diversitytraxai.z13.web.core.windows.net/dashboard\",\r\n\r\n knownAuthorities: [\"diversitytraxai.b2clogin.com\"],\r\n\r\n logoutURI: \"https://diversitytraxai.z13.web.core.windows.net/dashboard\",\r\n\r\n loginFailedRoute: \"/\",\r\n\r\n b2cScopes: [\"https://diversitytraxai.onmicrosoft.com/2d243dd9-e025-41d3-b142-ff2b125fa445/user_impersonation\"],\r\n\r\n graphURL: \"https://graph.microsoft-ppe.com/v1.0/me\",\r\n\r\n graphScopes: [\"user.read\"],\r\n\r\n baseAppUrl: \"https://10000001.diversitytrax.ai/\",\r\n\r\n apiUrl: \"https://11000002.diversitytrax.ai/api/\",\r\n\r\n azureBlobStorageName: \"\",\r\n\r\n azureBlobStorageUrl: \"\",\r\n\r\n azureStorageContainer: \"\",\r\n\r\n signUpAuthority: \"https://diversitytraxai.b2clogin.com/diversitytraxai.onmicrosoft.com/B2C_1_DTraxAI-Email-SignUpOnly\",//SignUp Userflow\r\n \r\n changePasswordAuthority: \"https://diversitytraxai.b2clogin.com/diversitytraxai.onmicrosoft.com/B2C_1_PASSWORDCHANGE\",//Password change Userflow\r\n\r\n Signupflow: \"B2C_1_DTraxAI-Email-SignUpOnly\",\r\n \r\n baseURL: \"https://10000001.diversitytrax.ai\",\r\n\r\n templateBaseUrl: 'https://diversitytraxai.blob.core.windows.net/logos/DivTrax2.0/',\r\n\r\n logoImagePath: 'https://diversitytraxai.blob.core.windows.net/logos/DivTrax2.0/DiversityLogoPNG.png',\r\n\r\n // Power BI Report Settings for SIT Environments\r\n powerBIWorkSpaceId: \"8ea71459-3588-4308-be00-5f597246519d\",\r\n powerBIKPIReportId: \"41e66480-7eba-454d-ad4a-f5a71f18ba22\", // SIT\r\n powerBIGoalsReportId: \"9fd7b2d7-dd3a-45e4-9a3f-7febfc67dbfe\", //SIT\r\n powerBIEthnicityReportId: \"573c9f88-6ad4-4ae8-a535-76fdc9d2973f\",// SIT\r\n powerBIClassifciationReportId: \"ed40fa90-dbf8-41b3-b5a7-8bdf9e9db307\", // SIT\r\n powerBICertificationReportId: \"015add98-e108-490c-afa2-74981c0535d1\", // SIT\r\n powerBICategoryReportId: \"e1ab8cce-1770-4aa9-a96f-e2c7f8d9f6b5\", // SIT\r\n powerBIPrimeReportId: \"e3117f1a-cfed-4b39-a1bf-9084b37580ff\", // SIT\r\n powerBIAggregrateGroupReportId: '8397753c-8498-445c-b0c0-55d0eee3c359', // Staging\r\n powerBIAggregrateGroupEthnicityReportId: '505cdd3d-8260-44e6-9d0e-1cf7b0e68c57', // SIT\r\n powerBIAggregrateGroupCategoryReportId: 'b04ceba2-93ee-4fbd-8895-6e129ab52dd8', // SIT\r\n powerBIAggregrateGroupKPIReportId: '86d0bb55-2fd1-4973-b518-97c798a8eacc', // SIT\r\n powerBIAggregrateGroupPrimeReportId: '2204bd42-8d2c-47bf-bfea-63e41cb869ca', // SIT\r\n powerBIAggregrateGroupGoalReportId: 'd7dc08d6-c927-496c-b974-b796a9b08b17', // SIT\r\n\r\n };\r\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\n\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */"],"names":["RouterModule","PowerBIReportComponent","routes","path","component","loadChildren","then","m","ShellModule","redirectTo","pathMatch","AppRoutingModule","forRoot","imports","exports","NavigationCancel","NavigationEnd","NavigationError","NavigationStart","EventType","Guid","Subject","filter","takeUntil","environment","errorMessageConstants","DEFAULT_INTERRUPTSOURCES","i0","AppComponent","constructor","userDataService","errorService","msalService","_loader","_userDataService","authService","broadcastService","router","activatedRoute","breadcrumbService","commonService","idle","keepalive","confirmDialog","loading$","getMenus","localStorage","getItem","menuItems","JSON","parse","t1Dashboard","find","menU_NAME","corporateDashboard","getRoutePath","accessLevel","dashboardAccessLevel","setRoutePath","actioN_PATH","currentMenu","menu","activeMenuStringfy","activeMenu","menU_TYPE","undefined","setItem","stringify","initMsal","events","pipe","event","subscribe","activatedRouteSnapshot","snapshot","currentRoutePath","url","startsWith","modifiedPath","slice","questionMarkIndex","indexOf","getAccessLevelValue","getDashboardAccess","setCurrenctMenu","showLoading","setTimeout","window","scroll","top","left","behavior","initialize","next","setupSessionTimeout","LoginLogout","error","console","getSystemParametersValue","getSystemParameter","systemParameter","timeoutSetting","parseInt","value","key","idleTime","accessToken","setIdle","setInterrupts","onTimeout","_destroying$","instance","getActiveAccount","confirmation","message","confirmCaption","cancelCaption","type","countdown","timeout","setInterval","clearInterval","logOut","res","sessionStorage","clear","logoutRedirect","confirmed","watch","interval","onPing","ngOnInit","getSetUserDetails","getuserObs","result","data","userId","obj","id","email","browser","browserName","activityType","iPAddress","userIP","AddLogonActivity","response","openDialog","messageConstants","Users","status","msalSubject$","msg","eventType","ACQUIRE_TOKEN_FAILURE","LOGIN_FAILURE","toString","changePasswordAuthority","clientID","redirectURI","location","href","loginRedirect","users","getAllAccounts","length","setActiveAccount","acquireTokenSilent","scopes","b2cScopes","LOGIN_SUCCESS","ACQUIRE_TOKEN_SUCCESS","tokenData","payload","getUserDetails","ngOnDestroy","complete","getAccessLevel","selectors","decls","vars","consts","template","BrowserAnimationsModule","BrowserModule","HTTP_INTERCEPTORS","HttpClientModule","ServiceWorkerModule","MatProgressSpinnerModule","CoreModule","ApiInterceptor","CurrencyPipe","NgIdleKeepaliveModule","NgIdleModule","ToastrModule","SwiperModule","MsalModule","MSAL_INSTANCE","MSAL_GUARD_CONFIG","MSAL_INTERCEPTOR_CONFIG","MsalBroadcastService","MsalGuard","MsalInterceptor","MsalService","LogLevel","PublicClientApplication","BrowserCacheLocation","InteractionType","DatePipe","MobxAngularModule","LocalStorageService","sharedService","isIE","navigator","userAgent","loggerCallback","logLevel","MSALInstanceFactory","auth","clientId","authority","knownAuthorities","redirectUri","navigateToLoginRequestUrl","postLogoutRedirectUri","logoutURI","cache","cacheLocation","LocalStorage","storeAuthStateInCookie","system","allowNativeBroker","loggerOptions","Info","piiLoggingEnabled","MSALInterceptorConfigFactory","protectedResourceMap","Map","set","graphURL","interactionType","Redirect","MSALGuardConfigFactory","authRequest","loginFailedRoute","toastrConfig","positionClass","AppModule","bootstrap","provide","useClass","multi","useFactory","register","enabled","production","registrationStrategy","declarations","BehaviorSubject","BreadcrumbService","breadcrumbsSubject","asObservable","companyInfoSubject","roleNameSubject","clickedDataSubject","routePath","setBreadcrumbs","breadcrumb","setCompanyInfo","companyInfo","setRoleName","role","getBreadcrumbs","getValue","setClickedData","getClickedData","factory","providedIn","map","BaseApi","CompanyService","_apiService","getCompanyDataById","get","updateGenInfoData","put","saveContactInfoData","post","saveAddressInfoData","saveGeneralInfoData","saveUpdateGeneralInfoData","getCompanyLoactionsById","getCompanyContactsById","getDiversityTypeIdAndEthinicityId","saveEthnicityDiversityTypes","getSystemParameterValues","getSelectEthnicityType","CompanySettingServices","generalTabInfo","generalcurrency","getTimeZone","saveGeneralInfo","reqObj","getPeriodDiff","getEvaluation","saveEvaluationTab","deleteEvaluationrec","ApiConfig","apiUrl","SendJoinEmail","errorSubmittingJoinForm","joinFormSubmitted","common","apiFailMsg","CompanyGenInfo","errorUpdateGenInfo","errorSaveGenInfo","errorSocialNetwork","errorRevenuDelete","errorEmployeeDelete","errorCertificateDelete","CategoryInfo","errorUpdateInfo","errorSaveInfo","CategoryGoalsInfo","goalExists","ReportingPeriodsInfo","reportingPeriodExists","deleteReportingPeriod","deleteReportingRequest","ReportingPrime","userDetials","UserInvite","updateList","cancelInviteDeleteError","userExisting","Invitations","DataNotFound","InvitationCancelled","NoUser","PleaseWait","LinkExpired","TokenExpired","TokenNotValid","UserAlreadyRegistered","UserInviteSent","UserInviteCancelled","CancelConfirm","PrimeReports","DataUpdatedSucessfully","DataVerifiedSucessfully","DataUnverifiedSucessfully","MultiDataVerifiedSucessfully","ErrorUpdatingData","Certificates","approvedSuccess","rejectSuccess","updateStatusSuccessInfo","errorValidateInfo","TieBreakers","saveTieBreakers","updateTieBreakers","T2Analytics","NoDatatoExport","AgencyReportExportName","AggregateReportExportName","CategoryReportExportName","DiversityTypeReportExportName","EthnicityReportExportName","GoalReportExportName","KPIReportExportName","PrimeReportExportName","successMessageConstants","saveTieBreakersDetail","updateTieBreakersDetail","saveTieBreakersDiversityTypes","updateTieBreakersDiversityTypes","saveTieBreakersAgencies","updateTieBreakersAgencies","dataConstants","taxVerfication","sliderText","header","subHeader","subHeaderContext","howItsWorks","icon","label","texDetails","notes","taxDetails","companyName","taxId","validate","lookUp","request","cancel","retry","yesProceed","noRetry","userRequests","title","firstName","lastName","receivedDate","eventName","phoneNumber","roleErrorMsg","reject","accept","save","search","notFound","userAcceptMsg","userRejectMsg","ok","doYouWish","admin","add","new","name","eventNameError","displayName","displayNameError","state","stateError","city","cityError","start","startDate","startDateError","end","endDate","endDateError","acceptReqError","description","descriptionError","optional","generateQrCode","qrCode","download","delete","acceptReqUntil","company","diversityCredit","ownershipDiversity","ownershipDiversityError","diverse","nonDiverse","diversityDetails","provideTheDetails","showAll","view","previous","fileName","diversityType","agency","others","number","effectiveDate","expirationDate","ifOthers","diversityEthinicity","selectTheDiversity","diversityTypes","ethnicity","generalInfo","pleaseProvide","legalName","legalNameError","tradeName","leaglIndentifier","agencies","tasks","verificationTaskss","certificatesToVerify","superAdmin","naics","code","bussinessSector","commodity","titleError","codeError","commodityError","warningText","newEthnicityType","continent","continents","categorie","corporateCategory","taxType","newTaxType","format","registration","success","taxTypeUpdate","taxTypeDelete","formatError","jointForm","welcomeToOurCommunity","whyRegisterDiversity","benefitsText","howItWorks","registerAsA","completeYour","profileAndManage","contactsAndCertificates","manageYour","suppliers","invitationEtc","alreadyJoined","login","registerRequest","allFields","companyNameError","countryRequired","stateRequired","isYourBuss","yes","no","businessSector","yourInfo","firstNameError","lastNameError","emailAddress","emailAddressError","validEmailError","phoneNum","phoneNumError","validPhoneNumError","referral","howDoYouAbout","byRegisterYou","termsOfUse","aggrement","submit","thankYou","yourSignUp","ourTeamWill","report","reportingPeroid","primeReports","general","diverseSuppliers","myCorporate","primary","emailError","phoneNumberError","roleError","inActive","usersUpdated","allFieldsMandatory","primaryUnique","inviteUsers","invitationSent","expiry","expiryError","cancelInvitation","send","bulkImport","roles","allFieldsNotify","roleName","roleDesc","sno","roleErrorDuplicate","allSuppliers","emailInformation","cc","subText","useTemplate","saveTemplate","back","discard","templateName","templateNameError","subject","subjectError","emailTemplates","content","legalInfo","privacyPolicy","onlinePrivacy","onlinePrivacyData","registrationData","useStatistic","useStatisticData","cookies","cookiesData","termsUse","termsAccept","youAreRequested","termsList","listValues","text","SessionUserInfoModel","middleName","personalEmail","part1","split","replace","HttpHeaders","ApiService","http","urlPath","customHeaders","API_ENDPOINT","headers","defaultHeaders","patch","BlobServiceClient","AzureBlobStorageService","generateSasToken","sasObj","toPromise","sas","isSASAvailable","uploadFile","handler","firstTimeUser","storageContainer","getCompanyID","uploadBlob","containerClient","listFiles","Promise","resolve","setCompanyId","toLowerCase","listBlobs","catch","downloadFile","downloadBlob","deleteFile","deleteBlob","client","blockBlobClient","getBlockBlobClient","uploadData","blobHTTPHeaders","blobContentType","blobs","listBlobsFlat","blob","push","blobClient","getBlobClient","resp","blobBody","storageAccount","getContainerClient","ConfirmComponent","MessageComponent","SuccessDialogComponent","ConfirmDialogService","dialog","open","width","disableClose","afterClosed","messageDialog","successDialog","ErrorDialogComponent","ErrorDialogService","opened","dialogRef","maxHeight","maxWidth","hasBackdrop","HttpErrorResponse","GlobalErrorHandler","_dialogService","zone","handleError","getServerMessage","getClientMessage","run","onLine","getClientStack","stack","getServerStack","AuthGuard","canActivateChild","route","isSetupComplete","navigate","intercept","match","handle","clone","setHeaders","Authorization","finalize","LoaderInterceptor","loaderService","req","show","hide","LoaderService","_loading","of","tap","invitationType","UserDataService","val","userToken","initUserObj","companyID","companyObj","userInfo","companyId","concat","getUserEmail","user","getFullName","userData","idTokenClaims","given_name","family_name","emailSplit","getUserPhoneNo","getUserData","extension_CountryCode","extension_PhoneNumber","getUserMembershipType","extension_MembershipType","getUserMembershipPrice","extension_MembershipPrice","username","getLoggedInUserDetails","log","firsT_NAME","last_Name","co_Id","is_Super_Admin","user_Name","invitation_Type_Id","setUserDetails","getInvitationType","Event","getUserSwitchDetails","userName","role_id","getCompanyName","companyKey","Object","keys","test","setPopUpRecordName","itemName","getPopUpRecordName","getuserRoleObs","userRoleObs","setuserRoleObs","getSignInUserRole","getMenuItemsByRole","roleId","userObs","setuserObs","getMyInfo","getCompanyById","Id","activateInvoiceForFreeMembership","memberEmail","membershipType","getAspNetUserDetails","getPendingInvitations","getMemberPersonalInfo","contactID","personalPhone","membershipName","membershipId","nblid","UpdateInvitation","getApiUrl","deleteUser","emailId","lockUser","deleteUserInvitation","requestObj","UserSetupDataService","bioData","bio","naicsData","tagsData","setNavbarValue","inpValue","showNavbar","getNavbarState","ErrorHandler","CommonModule","MatDialogModule","pbi","screenHeight","screen","height","showReport","ngAfterViewInit","embedReportId","embedUrl","settings","filterPaneEnabled","navContentPaneEnabled","basicFilter","$schema","target","table","column","operator","values","filterType","config","permissions","models","Permissions","All","tokenType","TokenType","Embed","reportContainer","nativeElement","powerbi","service","Service","factories","hpmFactory","wpmpFactory","routerFactory","embed","off","on","viewQuery","roleNameEnum","statusesEnum","statusesRadioEnum","stausNameEnum","stausImageStatusEnum","reportingStatusEnum","ethnicityOwnershipType","requestType","exportExcelHeaderColors","Accept","responseType","apiFunction","baseUrl","MAT_DIALOG_DATA","EventEmitter","PopupContainerComponentComponent","closePopup","closePopupDrawer","emit","inputs","popUpHeight","outputs","ngContentSelectors","RouteChangeConfirmationComponent","ctx","blobService","openRouteConfirmation","getBlobFiles","sasToken","forkJoin","CommonService","datePipe","_userService","sanitizer","companyService","companySettingServices","currencyPipe","addCurrencyFormatting","companyIdSubject","userIdSubject","accessLevelSubject","dashboardaccessLevelSubject","systemParameterSubject","diversity","setUserId","setAccessLevel","setDashboardAccessLevel","companyIdValue","setSystemParameter","userResponse","menuId","menu_Id","role_Id","isSuperAdmin","role_Name","accesS_LEVEL","invitation_Id","company_Name","is_Aggregate","fullName","sendFullName","selectedCurrency","companySetUp","setting","displaY_NAME","currencY_CODE","Company","sendMenus","menusList","menusObject","getLoggedinUserCompanyId","accessLevel$","localStorageValue","dashboardaccessLevel$","getLoggedinUserId","getLoggedinUserMenuId","getLoggedinUserRoleId","getisSuperAdmin","sendTopMenuSelectedValue","topMenuId","topMenuSelectedValue","getTopMenuSelectedValue","sendCompanyName","subjectName","getMenusDataById","changeDateFormat","paramDate","transform","changeDateFormatMMMYYY","changeDateTimeFormat","paramDateTime","changeDateTimeFormatForCalendar","formatDateUTC","date","inputDate","Date","setMinutes","getMinutes","getTimezoneOffset","toISOString","datePipeFormatDate","unSuffix","numericValue","parseFloat","isNaN","formattedValue","addCurrencyFormattingChange","getCurrencyCode","addCurrencyFormattingShort","axis","toFixed","Math","abs","currencyCode","currencySymbol","getCurrencySymbol","addCurrencyFormattingShortChart","isValue","toLocaleString","maximumFractionDigits","currencySymbols","USD","EUR","removeCurrencyFormatting","stringValue","String","retValue","CompareDates","effectiveDateField","expirationDateField","getAvialbleCount","avilablelen","selectedlen","isDateOutOfRange","minDate","maxDate","pdfURLSanitize","bypassSecurityTrustResourceUrl","detectBrowserName","agent","getPhoneNumber","isd","phoneNumberValue","PNF","require","PhoneNumberFormat","phoneUtil","PhoneNumberUtil","getInstance","parseAndKeepRawInput","isValidNumber","getCountryCodeForRegion","getStates","getCountries","getContactTypes","getAllCurrencies","getAllTierTypes","getTaxTypes","getSocialNetworks","getAllNAICS","getNAICSDetailsByCode","naicsCode","getAddressTypes","getDiversityTypes","getCertifyingAgencies","getEmployeeRanges","getAllEthnicities","getYearsByCompanyId","advanceFiltersOptionsByModuleIdApi","moduleId","co_id","advanceFiltersFiledsApi","api_url","processFilterResponse","filterResponse","requests","requestMap","forEach","display_Field_Api_Url","field_Type_Name","options","advanceFilter_Id","responses","advanceFilterId","option","index","certifyinG_AGENCY_NAME","abbreviation","self","isDuplicate","some","t","idx","savedAdvancedFilterList","saveAdvanceFilter","getSassToken","updateSharedPublicAdvanceFilter","Is_Shared_Public","deleteSavedAdvanceFilter","getSavedFilterDetail","User_Filter_Id","getAdvanceFilterSearchedDetails","getSelectedAgenciesForNumberValidation","selectedAgency","getValidationTestcase","min","max","pattern","getCertificateNumberMatch","certificationTypes","CAMSC","NGLCC","NVBDC","CRMSDC","CVMSDC","ChicagoMSDC","DFWMSDC","EMSDC","FSMSDC","GMSDC","GNEMSDC","HMSDC","MMSDC","NYNJMSDC","NorthCentralMSDC","NWMMSDC","OhioMSDC","PSWMSDC","PRMSDC","SCMSDC","SRMSDC","SMSDC","TSMSDC","WRMSDC","MidStatesMSDC","MPMSDC","CGLCC","STATE","SBA","isAllZeros","isValidFormat","characterRange","findActiveReportingPeriod","openReport","item","status_Key","YetToOpen","formateDateTimeActiveReportingPeriod","nearestReport","findClosestRecord","today","reduce","closest","current","currentDate","getTime","currentReportEndDate","reporting_End_Date","closestReportEndDate","timeDiffCurrent","timeDiffClosest","period_Start_Date","period_End_Date","reporting_Start_Date","reporting_Period_Name","reporting_Period_Year","statuS_NAME","convertCurrencyValue","corporateDashboardChartApi","rptId","getActionPathNames","accessType","canExit","componentForm","saveBtnClickFlag","isReportingPeriodConflict","reportingList","newPeriodStartDate","newPeriodEndDate","newReportingStartDate","newReportingEndDate","newReportingPeriodName","newReportingPeriodYear","isUpdate","reportingPeriodIdToUpdate","errorList","newPeriod","periodStart","periodEnd","reportingStart","reportingEnd","isNameConflicted","existingData","normalizedNewName","normalizedExistingName","isNewYearEqual","isConflicted","existingPeriodStartDate","existingPeriodEndDate","existingReportingStartDate","existingReportingEndDate","periodConflict","reportingDatesConflict","getQuickLinks","saveQuickLinks","updateQuickLinks","deleteQuickLinks","getValidationLegalIdentifier","validation","systemParameter$","checkStartEndDateSelected","filterData","startDateFilter","getStartDateData","endDateFilter","getEndDateData","passwordValidation","element","urlValidation","maxLength","urlPattern","Number","inputValidation","isInvalidPassword","password","dataKey","isInValidUrl","dataType","isInValidInput","getAccessLevelFromLocalStorage","getDashboardAccessFromLocalStorage","getBaseUrl","document","baseURI","substring","validateTaxId","taxNumber","createSupportTicket","UserEmail","generateDynamicColors","numColors","defaultColor","colorPalette","colors","i","calculateWidth","minWidth","characterWidth","contentLength","calculateContentLength","calculatedWidth","calculateWidthHeader","columnName","array","calculatedWidthContent","columnWidth","createReportExportExcelName","selectedYear","selectedPeriodName","excelName","generateReportName","reportName","isAmountField","getBase64ImageFromUrl","imageUrl","fetch","reader","FileReader","onloadend","onerror","readAsDataURL","generateHeaderforReportsExcel","worksheet","imageBase64","imageId","workbook","addImage","base64","extension","mergeCells","tl","col","row","ext","corporateRow","addRow","eachCell","cell","font","bold","alignment","horizontal","authorRow","dateRow","exportToExcel","HeaderColor","IntialHeader","HeaderForeColor","IntialHeaderForeColor","InitialColumnSize","minimumExcelCellWidth","headerRow1","getCell","fill","fgColor","argb","headerRow2","color","vertical","border","style","right","headerRow","bottom","getColumn","supplier","rowValues","defaultZeroCurrency","dataRow","colNumber","numFmt","columns","includeEmpty","cellTextLength","totalCell","rowCount","totalRowNumber","_row","totalRow","getRow","saveExcelFile","buffer","Blob","URL","createObjectURL","a","createElement","click","revokeObjectURL","watchStorage","storageSubject","clientIDAPI","graphScopes","baseAppUrl","azureBlobStorageName","azureBlobStorageUrl","azureStorageContainer","signUpAuthority","Signupflow","baseURL","templateBaseUrl","logoImagePath","powerBIWorkSpaceId","powerBIKPIReportId","powerBIGoalsReportId","powerBIEthnicityReportId","powerBIClassifciationReportId","powerBICertificationReportId","powerBICategoryReportId","powerBIPrimeReportId","powerBIAggregrateGroupReportId","powerBIAggregrateGroupEthnicityReportId","powerBIAggregrateGroupCategoryReportId","powerBIAggregrateGroupKPIReportId","powerBIAggregrateGroupPrimeReportId","powerBIAggregrateGroupGoalReportId","__NgCli_bootstrap_1","bootstrapModule","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}