{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/common/services/signal-r.service.ts","./src/app/core/cap-spinner/cap-spinner.component.ts","./src/app/core/cap-spinner/cap-spinner.component.html","./src/app/core/cap-spinner/services/cap-spinner-http-interceptor.service.ts","./src/app/core/cap-spinner/services/cap-spinner.service.ts","./src/app/core/core.module.ts","./src/app/core/services/cap-http-interceptor.service.ts","./src/app/core/services/cap-notification.service.ts","./src/app/domain/checkinRequest.ts","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/interceptor/jwt.interceptor.ts","./src/app/model/auth-config.ts","./src/app/modules/dashboard/shared/dashboard.service.ts","./src/app/modules/tutorial/tutorial.service.ts","./src/app/nav-menu/nav-menu.component.ts","./src/app/nav-menu/nav-menu.component.html","./src/app/services/common.service.ts","./src/app/services/security/auth.service.ts","./src/app/services/security/require-authentication-user-route-guard-service.service.ts","./src/app/settings-provider.service.ts","./src/app/unsupported-browser/unsupported-browser.component.ts","./src/app/unsupported-browser/unsupported-browser.component.html","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["/*\r\n * Author: Danny Ehlers\r\n * Date: 3/17/2019\r\n * Cap main component. Included idle logout process and global error handling.\r\n */\r\n\r\nimport { Component, ChangeDetectorRef, OnInit, AfterViewInit, AfterContentChecked, OnDestroy } from '@angular/core';\r\n//import { OpenIdConnectService } from './services/security/open-id-connect.service';\r\nimport { AuthService } from './services/security/auth.service';\r\nimport { CapNotificationService } from './core/services/cap-notification.service';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { Router } from '@angular/router';\r\nimport { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';\r\nimport { SettingsProviderService } from './settings-provider.service';\r\nimport { SignalRService } from './common/services/signal-r.service';\r\nimport { CapSpinnerService } from './core/cap-spinner/services/cap-spinner.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements OnInit, AfterContentChecked, OnDestroy {\r\n title = 'Conservatorship Accounting Portal';\r\n subscription: any;\r\n startTimeoutSubscription: any;\r\n\r\n idleState = 'Not started.';\r\n timedOut = false;\r\n lastPing?: Date = null;\r\n showIdleWarning: boolean = false;\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private capNotificationService: CapNotificationService,\r\n private confirmationService: ConfirmationService,\r\n private router: Router,\r\n //private capSpinnerService: CapSpinnerService,\r\n private idle: Idle,\r\n private settingsProviderService: SettingsProviderService,\r\n public signalRService: SignalRService,\r\n private cdref: ChangeDetectorRef) {\r\n this.router.events.subscribe(() => {\r\n switch (true) {\r\n case event instanceof ProgressEvent: {\r\n //this.capSpinnerService.spinnerShow();\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngAfterContentChecked() {\r\n this.cdref.detectChanges();\r\n };\r\n\r\n showConfirmPopup(): boolean {\r\n return !this.signalRService.hideDialog;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.signalRService.startConnection();\r\n this.signalRService.addDataListener();\r\n\r\n //DE (9/5/2018): Created a inactivity timeout process.\r\n this.startTimeoutSubscription = this.capNotificationService.startTimeoutActivated$.subscribe(\r\n capNotificationActivated => {\r\n console.log(this.settingsProviderService.configuration);\r\n // sets an idle timeout of 5 seconds, for testing purposes.\r\n this.idle.setIdle(+this.settingsProviderService.adminSettings.sessionTimeout);\r\n // sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out.\r\n\r\n this.idle.setTimeout(+this.settingsProviderService.adminSettings.sessionWarningTimeout);\r\n // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document\r\n this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n\r\n this.idle.onTimeout.subscribe(() => {\r\n this.authService.logout();\r\n });\r\n this.idle.onTimeoutWarning.subscribe((countdown) => {\r\n if (this.authService.currentAuthUser) {\r\n if (!this.showIdleWarning)\r\n this.idle.clearInterrupts();\r\n this.idleState = '
Do you want to continue your session?

For security reasons, your session will time out in ' + countdown + ' seconds unless you continue.';\r\n this.showIdleWarning = true;\r\n }\r\n });\r\n\r\n this.reset();\r\n });\r\n\r\n // DE (8/29/2018): The service below is used to display any http errors that occur\r\n // in the application. It allows the user to reload the page in an attempt to recover.\r\n this.subscription = this.capNotificationService.errorActivated$.subscribe(\r\n capNotificationActivated => {\r\n // DE (8/29/2018): Ensure messages being return from the controllers\r\n // are converted to generic system message. We don't want to provide\r\n // the user with real system errors that are unhandled in the controller.\r\n let errorStatus = capNotificationActivated.errorStatus;\r\n let errorMessage = capNotificationActivated.errorMessage;\r\n this.confirmationService.confirm({\r\n message: `A system error has occurred.

\r\n Error Status: ${ errorStatus}
\r\n Error Message: ${ errorMessage}

\r\n Do you want to try to reload the page?`,\r\n accept: () => {\r\n let currentUrl = this.router.url;\r\n //DE (8/29/2018): The hack below will force a full redirect. This will ensure ngOnInit will fire in calling components.\r\n this.router.navigateByUrl('/temporary').then(() => this.router.navigateByUrl(currentUrl));\r\n },\r\n reject: () => {\r\n //Do nothing. User clicked Cancel.\r\n }\r\n });\r\n ////bring error alert front by setting z-index more\r\n });\r\n\r\n }\r\n\r\n // ngOnInit() {\r\n // var path = window.location.pathname;\r\n // if (path != \"/signin-oidc\") {\r\n // if (!this.openIdConnectService.userAvailable) {\r\n // this.openIdConnectService.triggerSignIn();\r\n // }\r\n // }\r\n // }\r\n\r\n // signin(event): void {\r\n // debugger;\r\n // var path = window.location.pathname;\r\n // if (path != \"/signin-oidc\") {\r\n // if (!this.openIdConnectService.userAvailable) {\r\n // this.openIdConnectService.triggerSignIn();\r\n // }\r\n // }\r\n // event.preventDefault();\r\n // event.stopPropagation();\r\n // }\r\n\r\n reset() {\r\n this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n this.idle.watch();\r\n this.idleState = 'Started.';\r\n this.timedOut = false;\r\n this.showIdleWarning = false;\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n //Copied from CUP repo\r\n //Check if browser is eligible\r\n checkBrowserCompatibility() {\r\n //check if IE\r\n return !(window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HttpClientXsrfModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { AppComponent } from './app.component';\r\nimport { NavMenuComponent } from './nav-menu/nav-menu.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { RequireAuthenticationUserRouteGuardServiceService } from './services/security/require-authentication-user-route-guard-service.service';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { ModalBackdropComponent, ModalModule, TooltipModule } from 'ngx-bootstrap';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations'\r\nimport { CoreModule } from './core/core.module';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { NgIdleModule } from '@ng-idle/core'\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport {FileUploadModule} from 'primeng/fileupload';\r\nimport { SettingsProviderService } from './settings-provider.service';\r\nimport { APP_INITIALIZER } from '@angular/core';\r\nimport { CommonService } from './services/common.service';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { UnsupportedBrowserComponent } from './unsupported-browser/unsupported-browser.component';\r\nimport { AuthService } from './services/security/auth.service';\r\nimport { MsalBroadcastService, MsalGuard, MsalInterceptor, MsalRedirectComponent, MsalService } from '@azure/msal-angular';\r\nimport { JwtInterceptor } from './interceptor/jwt.interceptor';\r\n\r\n// (DE) 3/15/2019: Initialize environment variables.\r\nexport function init(settingsProvider: SettingsProviderService) {\r\n return () => {\r\n settingsProvider.loadAdminSetting();\r\n settingsProvider.loadHtmlTemplates();\r\n return settingsProvider.loadConfig();\r\n };\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NavMenuComponent,\r\n HomeComponent, \r\n UnsupportedBrowserComponent\r\n ],\r\n entryComponents: [\r\n ModalBackdropComponent \r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n FormsModule,\r\n ModalModule.forRoot(),\r\n TooltipModule,\r\n DialogModule,\r\n ConfirmDialogModule,\r\n RouterModule.forRoot([\r\n { path: '', component: HomeComponent, pathMatch: 'full' }, \r\n { path: 'dashboard', loadChildren: () => import('./modules/dashboard/dashboard.module').then(m => m.DashboardModule), runGuardsAndResolvers: 'always' },\r\n { path: 'account', loadChildren: () => import('./modules/account/account.module').then(m => m.AccountModule), runGuardsAndResolvers: 'always' },\r\n { path: 'tutorial', loadChildren: () => import('./modules/tutorial/tutorial.module').then(m => m.TutorialModule), runGuardsAndResolvers: 'always' },\r\n { path: 'help', loadChildren: () => import('./modules/help/help.module').then(m => m.HelpModule), runGuardsAndResolvers: 'always' }\r\n ], { onSameUrlNavigation: 'reload', relativeLinkResolution: 'legacy' }),\r\n BsDatepickerModule.forRoot(),\r\n BrowserAnimationsModule,\r\n ReactiveFormsModule,\r\n CoreModule,\r\n NgIdleModule.forRoot(),\r\n //NgIdleKeepaliveModule.forRoot(),\r\n SidebarModule,\r\n FileUploadModule,\r\n AccordionModule\r\n ],\r\n providers: [\r\n MsalInterceptor,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: JwtInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: init,\r\n deps: [SettingsProviderService],\r\n multi: true\r\n },\r\n SettingsProviderService,\r\n ConfirmationService,\r\n AuthService,\r\n RequireAuthenticationUserRouteGuardServiceService,\r\n CommonService,\r\n MsalGuard,\r\n MsalBroadcastService,\r\n MsalService\r\n ],\r\n bootstrap: [AppComponent, MsalRedirectComponent]\r\n})\r\nexport class AppModule { }\r\n\r\n\r\n\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport * as signalR from \"@aspnet/signalr\";\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { CheckinRequest } from '../../domain/checkinRequest';\r\nimport { DashboardService } from '../../modules/dashboard/shared/dashboard.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { BsModalService } from 'ngx-bootstrap';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SignalRService {\r\n baseUrl: string;\r\n constructor(private confirmationService: ConfirmationService, private dashboardService: DashboardService, private router: Router,\r\n private route: ActivatedRoute, @Inject('BASE_URL') baseUrl: string, private modalService: BsModalService) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n isResponded: boolean = false;\r\n hideDialog: boolean = false;\r\n private hubConnection: signalR.HubConnection\r\n\r\n public startConnection = () => {\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(this.baseUrl + 'statusHub')\r\n .build();\r\n\r\n this.hubConnection\r\n .start()\r\n .then(() => { console.log('Hub Connection started'); console.log(this.hubConnection); })\r\n .catch(err => console.log('Error while starting hub connection: ' + err))\r\n }\r\n\r\n public addDataListener = () => {\r\n this.hubConnection.on('TestSignal', (name, message) => {\r\n alert(name + \" : \" + message);\r\n });\r\n }\r\n\r\n public addUserMessageListener = (userId) => {\r\n console.log(\"Add user listener: \" + userId);\r\n this.hubConnection.on(userId, (type, info) => {\r\n if (type == \"CheckinResponse\") {\r\n this.isResponded = true;\r\n alert(info.message);\r\n }\r\n if (type == \"CheckinRequest\") {\r\n this.isResponded = false;\r\n this.hideDialog = false;\r\n console.log(info);\r\n //If user not responding in 30 sec checkin automatically\r\n setTimeout(() => {\r\n console.log(\"Response Timeout..\");\r\n if (!this.isResponded) {\r\n this.checkinResponse(info.requestId, false, true);\r\n }\r\n }, 25000);\r\n setTimeout(() => {\r\n this.confirmationService.confirm({\r\n message: info.message + \" Do you want to check in the accounting and grant the user access?\",\r\n header: \"Access Request\",\r\n key: \"signal\",\r\n accept: () => {\r\n this.isResponded = true;\r\n this.checkinResponse(info.requestId, true, true);\r\n },\r\n reject: () => {\r\n this.isResponded = true;\r\n this.checkinResponse(info.requestId, true, false);\r\n }\r\n });\r\n }, 30);\r\n }\r\n });\r\n }\r\n\r\n checkinResponse(id, isResponded, isAgreed, redirect = true) {\r\n var req = new CheckinRequest();\r\n req.id = id;\r\n req.isResponded = isResponded;\r\n req.isAgreed = isAgreed;\r\n\r\n this.dashboardService.sendCheckinResponse(req).subscribe(result => {\r\n if (isResponded)\r\n alert(result.message);\r\n if (isAgreed && redirect) {\r\n this.modalService.hide(1);\r\n this.router.navigateByUrl(\"/dashboard\", { skipLocationChange: false });\r\n }\r\n }, error => console.error(error));\r\n }\r\n\r\n public removeUserMessageListener = (userId) => {\r\n this.hubConnection.off(userId);\r\n }\r\n\r\n public sendToAll(name, message) {\r\n this.hubConnection.invoke(\"Send\", name, message).catch(function (err) {\r\n return console.error(err.toString());\r\n });\r\n }\r\n\r\n public send(name, message) {\r\n this.hubConnection.invoke(\"Send\", name, message).catch(function (err) {\r\n return console.error(err.toString());\r\n });\r\n }\r\n}\r\n","/*\r\n * Author: Danny Ehlers\r\n * Date: 8/16/2018\r\n * Custom spinner based of angular-epic-spinners.\r\n */\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { CapSpinnerService } from './services/cap-spinner.service';\r\n\r\n@Component({\r\n selector: 'app-cap-spinner',\r\n templateUrl: './cap-spinner.component.html',\r\n styleUrls: ['./cap-spinner.component.scss']\r\n})\r\nexport class CapSpinnerComponent {\r\n\r\n @Input() animationDuration;\r\n @Input() size;\r\n @Input() color;\r\n\r\n constructor(public capSpinnerService: CapSpinnerService) { }\r\n\r\n\r\n}\r\n","\r\n\r\n","/*\r\n * Author: Danny Ehlers\r\n * Date: 8/16/2018\r\n * Http Interceptor to start and stop the custom spinner on each request. Using this strategy,\r\n * a developer does not need to concern themselves with manually starting and stoping a spinner.\r\n */\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { CapSpinnerService } from './cap-spinner.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CapSpinnerHttpInterceptorService implements HttpInterceptor{\r\n\r\n constructor(private capSpinnerService: CapSpinnerService) { }\r\n\r\n //intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // this.capSpinnerService.spinnerShow();\r\n // return next.handle(request).finally(() => {\r\n // this.capSpinnerService.spinnerHide();\r\n // });\r\n //}\r\n count = 0;\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n this.capSpinnerService.spinnerShow();\r\n this.count++;\r\n return next.handle(request).pipe(\r\n finalize(() => {\r\n this.count--;\r\n if (this.count == 0)\r\n this.capSpinnerService.spinnerHide();\r\n }));\r\n }\r\n \r\n}\r\n","/*\r\n * Author: Danny Ehlers\r\n * Date: 8/16/2018\r\n * This service is used for starting and stopping the spinner.\r\n */\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CapSpinnerService {\r\n\r\n spinnerVisible: boolean = false;\r\n\r\n spinnerShow() {\r\n this.spinnerVisible = true;\r\n }\r\n\r\n spinnerHide() {\r\n this.spinnerVisible = false;\r\n }\r\n}\r\n","/*\r\n * Author: Danny Ehlers\r\n * Date: 8/16/2018\r\n * A custom module for a global spinner that can be imported into any Angular 5+ project.\r\n */\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AtomSpinnerModule, TrinityRingsSpinnerModule } from 'angular-epic-spinners'\r\nimport { CapSpinnerComponent } from './cap-spinner/cap-spinner.component';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { CapSpinnerHttpInterceptorService } from './cap-spinner/services/cap-spinner-http-interceptor.service';\r\nimport { CapHttpInterceptorService } from './services/cap-http-interceptor.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n AtomSpinnerModule\r\n ],\r\n declarations: [\r\n CapSpinnerComponent\r\n ],\r\n exports: [\r\n CapSpinnerComponent\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: CapSpinnerHttpInterceptorService,\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: CapHttpInterceptorService,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class CoreModule { }\r\n","/*\r\n * Author: Danny Ehlers\r\n * Date: Global error handling intercept. This will broadcast error to the app.component and\r\n * display a Retry Modal box.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpHandler, HttpRequest, HttpEvent, HttpErrorResponse, HttpResponse } from '@angular/common/http';\r\nimport { Observable, catchError, tap } from 'rxjs';\r\nimport { CapNotificationService } from './cap-notification.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CapHttpInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private capNotificationService: CapNotificationService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request)\r\n .pipe(\r\n tap(event => {\r\n if (event instanceof HttpResponse) {\r\n //console.log(\" all looks good\");\r\n // http response status code\r\n //console.log(event.status);\r\n }\r\n }, error => {\r\n //DE (8/29/2018): Send error status to the notification service. The app.component will receive the request.\r\n\r\n var errorMessage;\r\n if (error.error && error.error.message) {\r\n // Custom Message\r\n errorMessage = error.error.message;\r\n } else {\r\n // Default message\r\n errorMessage = error.message;\r\n }\r\n this.capNotificationService.broadcastErrorActivated({ errorStatus: error.status, errorMessage: errorMessage});\r\n // http response status code\r\n console.log(\"----response----\");\r\n console.error(\"status code:\");\r\n console.error(error.status);\r\n console.error(error.message);\r\n console.log(\"--- end of response---\");\r\n\r\n })\r\n )\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CapNotificationService {\r\n\r\n public errorActivatedSource = new Subject();\r\n public startIimeoutActivatedSource = new Subject();\r\n\r\n //Subscribe\r\n public errorActivated$ = this.errorActivatedSource.asObservable();\r\n public startTimeoutActivated$ = this.startIimeoutActivatedSource.asObservable();\r\n\r\n public broadcastErrorActivated(activated: any) {\r\n this.errorActivatedSource.next(activated);\r\n }\r\n\r\n public broadcastStartTimeoutActivated(activated: any) {\r\n this.startIimeoutActivatedSource.next(activated);\r\n }\r\n\r\n}\r\n","export class CheckinRequest {\r\n id: number;\r\n accountingId?: number;\r\n\r\n requestBy?: string;\r\n RequestTo?: string;\r\n RequestTime?: Date;\r\n\r\n isResponded?: boolean;\r\n isAgreed?: boolean;\r\n responseTime?: Date;\r\n}\r\n","/*\r\n * Author: Danny Ehlers\r\n * Date: 3/17/2019\r\n * Used for the login process.\r\n */\r\n\r\nimport { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\n//import { OpenIdConnectService } from '../services/security/open-id-connect.service';\r\nimport { SettingsProviderService } from '../settings-provider.service';\r\nimport { CapSpinnerService } from '../core/cap-spinner/services/cap-spinner.service';\r\nimport { TutorialService } from '../modules/tutorial/tutorial.service';\r\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap';\r\nimport { AuthService } from '../services/security/auth.service';\r\nimport { takeUntil } from 'rxjs';\r\nimport { Subject, switchMap, catchError, EMPTY, of } from 'rxjs';\r\nimport { AuthUser } from '../model/auth-user';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n})\r\nexport class HomeComponent implements OnInit {\r\n display: boolean = false;\r\n environmentName: string;\r\n version: string;\r\n announcements: any[] = [];\r\n Tutorials: any[];\r\n modalRef: BsModalRef;\r\n @ViewChild('template') templateRef: TemplateRef;\r\n modalConfig = {\r\n class: 'modal-lg modal-transparent'\r\n }\r\n\r\n videoUrl: SafeResourceUrl;\r\n thumbnailUrl: string = \"\";\r\n\r\n private destroy$: Subject = new Subject(); \r\n user: AuthUser;\r\n\r\n constructor(\r\n public authService: AuthService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private settingsProviderService: SettingsProviderService,\r\n private capSpinnerService: CapSpinnerService,\r\n private tutorialService: TutorialService,\r\n private sanitized: DomSanitizer,\r\n private modalService: BsModalService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.environmentName = this.settingsProviderService.configuration.envName;\r\n this.version = this.settingsProviderService.configuration.version;\r\n this.capSpinnerService.spinnerHide();\r\n this.settingsProviderService.getAnnouncements().subscribe(result => {\r\n if (result.isSuccess) {\r\n this.announcements = result.data;\r\n console.log(this.announcements);\r\n }\r\n }, error => console.error(error));\r\n \r\n this.tutorialService.getTutorials().subscribe(response => {\r\n this.Tutorials = response;\r\n\r\n if (this.Tutorials.length > 0) {\r\n var vUrl = this.Tutorials[0].link;\r\n this.videoUrl = this.sanitized.bypassSecurityTrustResourceUrl(vUrl);\r\n var code = vUrl.replace(\"https://www.youtube.com/embed/\", \"\");\r\n this.thumbnailUrl = \"https://img.youtube.com/vi/\" + code + \"/0.jpg\";\r\n }\r\n });\r\n\r\n this.authService.authUserObservable$\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n catchError((err) => {\r\n console.error(err);\r\n this.router.navigateByUrl(\r\n this.router.createUrlTree([\"../home\"], {\r\n relativeTo: this.route,\r\n })\r\n );\r\n return EMPTY;\r\n }),\r\n switchMap((b2cUser: AuthUser | undefined) => {\r\n return of(b2cUser) ?? EMPTY;\r\n }));\r\n \r\n if (this.authService.currentAuthUser) {\r\n this.authService.performSignIn().subscribe(\r\n result => {\r\n var r = result;\r\n }\r\n );\r\n this.redirect();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n login(event): void {\r\n const path = this.getPath();\r\n if (path !== '/signin-oidc') {\r\n this.authService.login();\r\n\r\n\r\n //this.authService.loginMsal().subscribe(\r\n // /*var t = this.httpClient.get('./api/Signin/PerformSignin');*/\r\n // () => {\r\n // // Success\r\n // console.log('Login successful');\r\n // },\r\n // (error) => {\r\n // // Handle error\r\n // console.error('Login error:', error);\r\n // }\r\n //); \r\n }\r\n //event.preventDefault();\r\n //event.stopPropagation();\r\n }\r\n\r\n redirect() {\r\n this.router.navigateByUrl(\r\n this.router.createUrlTree(['/dashboard'], { relativeTo: this.route })\r\n );\r\n }\r\n\r\n getPath(): string {\r\n return window.location.pathname;\r\n }\r\n\r\n scrollInvisiblity() {\r\n var c = this.announcements.length > 1 ? 'visible' : 'invisible';\r\n return c;\r\n }\r\n\r\n showDialog() {\r\n this.display = true;\r\n }\r\n\r\n openModal(template: TemplateRef) {\r\n this.modalRef = this.modalService.show(template, this.modalConfig);\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n \r\n
\r\n

Conservatorship Accounting Portal

\r\n
\r\n

Welcome to the Conservatorship Accounting Portal. Click on the button below to Sign-in or Register

\r\n Sign-in\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n
\r\n
\r\n
\r\n {{ann.title}}\r\n

{{ann.content}}

\r\n
\r\n
\r\n \r\n \r\n Previous\r\n \r\n \r\n \r\n Next\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Get Started

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

\r\n To learn more about the Conservatorship Accounting Portal, please view the following video\r\n

\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \"play\"\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Contact Us

\r\n

\r\n Please email ProbateCAP@occourts.org if you experience any issues accessing the portal\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
© 2024 Superior Court of Orange County {{this.version}}
\r\n
\r\n \r\n
\r\n","import {\r\n HttpEvent, HttpHandler, HttpInterceptor, HttpRequest\r\n} from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { MsalInterceptor } from '@azure/msal-angular';\r\nimport { Observable, switchMap, catchError } from 'rxjs';\r\nimport { AuthService } from '../services/security/auth.service';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n constructor(\r\n private msalInterceptor: MsalInterceptor,\r\n private authService: AuthService\r\n ) {\r\n\r\n\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n //if (this.authService.currentAuthUser) {\r\n // // get access token for registered user\r\n // return this.msalInterceptor.intercept(request, next);\r\n //} else {\r\n // // skip this interceptor since user has not authenticated.\r\n // return next.handle(request);\r\n //}\r\n\r\n return this.authService.accessToken().pipe(\r\n switchMap((token) => {\r\n if (token) {\r\n request = request.clone({ setHeaders: { Authorization: `Bearer ${token}` } });\r\n }\r\n return next.handle(request);\r\n }),\r\n catchError(err => { \r\n throw err;\r\n }));\r\n }\r\n}\r\n","export class AuthConfig {\r\n clientId!: string;\r\n signUpSignIn!: B2CPolicyConfig;\r\n editProfile!: B2CPolicyConfig;\r\n passwordReset!: B2CPolicyConfig;\r\n registration!: B2CPolicyConfig;\r\n authorityDomain!: string;\r\n scopes!: string[];\r\n redirectUri?: string;\r\n postLogoutRedirectUri?: string;\r\n redirectStartPage?: string;\r\n\r\n constructor(init?: Partial) {\r\n Object.assign(this, init);\r\n }\r\n}\r\n\r\nexport interface B2CPolicyConfig {\r\n authority: string,\r\n policyName: string\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Case } from '../../../domain/case';\r\nimport { V3Participant } from '../../../domain/v3Participant';\r\nimport { V3Case } from '../../../domain/v3Case';\r\nimport { Notification } from '../../../domain/notification';\r\nimport { AccountReport } from '../../../domain/accountReport';\r\nimport { AccountingPeriod } from '../../../domain/accountingPeriod';\r\nimport { CheckinRequest } from '../../../domain/checkinRequest';\r\nimport { EmailRequest } from '../../../domain/emailRequest';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DashboardService {\r\n\r\n baseUrl: string;\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n //TODO\r\n getUserCases(): Observable {\r\n return this.http.get(this.baseUrl + 'api/Case/Cases');\r\n }\r\n\r\n //get case by case number\r\n getCases(caseNumber): Observable {\r\n return this.http.get(this.baseUrl + 'api/Case/Find/' + caseNumber);\r\n }\r\n\r\n getCaseParticipants(caseNumber): Observable {\r\n return this.http.get(this.baseUrl + 'api/Case/Participants/' + caseNumber);\r\n }\r\n\r\n registerCase(caseNumber, personId, conservatorName, dob): Observable {\r\n return this.http.post(this.baseUrl + 'api/Case/Register/', {\r\n \"caseNumber\": caseNumber, \"personId\": personId, \"conservatorName\": conservatorName, \"conservateeDob\": dob\r\n });\r\n }\r\n\r\n getNotifications(): Observable {\r\n return this.http.get(this.baseUrl + 'api/notification/notifications');\r\n }\r\n\r\n getAccountReports(searchKey: string): Observable {\r\n return this.http.get(this.baseUrl + 'api/dashboardreport/reports/' + searchKey);\r\n }\r\n\r\n getAccountingPeriods(accountingId: number): Observable {\r\n return this.http.get(this.baseUrl + 'api/accounting/periods/' + accountingId);\r\n }\r\n\r\n getReportLink(accountingId: number): any {\r\n return this.http.get(this.baseUrl + 'api/accounting/ReportDocument/' + accountingId);\r\n }\r\n\r\n checkOut(accountingId: number): any {\r\n return this.http.post(this.baseUrl + 'api/accounting/checkout/' + accountingId, null);\r\n }\r\n\r\n getUpdatedData(accountingId: number): any {\r\n return this.http.post(this.baseUrl + 'api/case/getUpdatedData/' + accountingId, null);\r\n }\r\n \r\n askForCheckin(accountingId: number): any {\r\n return this.http.post(this.baseUrl + 'api/accounting/askForCheckin/' + accountingId, null);\r\n }\r\n\r\n sendCheckinResponse(req: CheckinRequest): any {\r\n return this.http.post(this.baseUrl + 'api/accounting/CheckinResponse/', req);\r\n }\r\n\r\n checkIn(): any {\r\n return this.http.post(this.baseUrl + 'api/accounting/checkIn/', null);\r\n }\r\n\r\n getDocument(path: string): any {\r\n return this.http.post(this.baseUrl + 'api/document/blob/', { path });\r\n }\r\n\r\n getHelpContents(): any {\r\n return this.http.get('./api/helpcontent/GetAllFAQs');\r\n }\r\n\r\n getTutorials(): any {\r\n return this.http.get('./api/dashboardcontent/GetAllTutorials');\r\n }\r\n\r\n getDashboardLinks(): any {\r\n return this.http.get('./api/dashboardcontent/GetAllDashboardLinks');\r\n }\r\n\r\n sendEmail(req: EmailRequest): any {\r\n var result = this.http.post(this.baseUrl + 'api/Communicator/SendEmail', req); \r\n return result;\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TutorialService {\r\n\r\n baseUrl: string;\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n getTutorials(): any {\r\n return this.http.get('./api/dashboardcontent/GetAllTutorials');\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n//import { OpenIdConnectService } from '../services/security/open-id-connect.service';\r\nimport { OnInit } from '@angular/core';\r\nimport { DashboardService } from '../modules/dashboard/shared/dashboard.service';\r\nimport { Router } from '@angular/router';\r\nimport { SettingsProviderService } from '../settings-provider.service';\r\nimport { Local } from 'protractor/built/driverProviders';\r\nimport { AuthService } from '../services/security/auth.service';\r\n\r\n@Component({\r\n selector: 'app-nav-menu',\r\n templateUrl: './nav-menu.component.html'\r\n})\r\nexport class NavMenuComponent implements OnInit {\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private dashboardService: DashboardService,\r\n private router: Router,\r\n private settingsProviderService: SettingsProviderService) { }\r\n isExpanded = false;\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n collapse() {\r\n this.isExpanded = false;\r\n }\r\n\r\n toggle() {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n\r\n login(event): void {\r\n const path = window.location.pathname;\r\n if (path !== '/signin-oidc') {\r\n if (!this.authService.currentAuthUser) {\r\n this.authService.login().subscribe( \r\n () => {\r\n // Success\r\n console.log('Login successful');\r\n },\r\n (error) => {\r\n // Handle error\r\n console.error('Login error:', error);\r\n }\r\n ); ;\r\n }\r\n }\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n logout(): void {\r\n this.authService.logout();\r\n }\r\n\r\n editProfile(event): void {\r\n\r\n\r\n this.authService.editProfile();\r\n }\r\n\r\n get userAvailable(): boolean {\r\n return this.authService.currentAuthUser != null;\r\n }\r\n\r\n get disallowNavigation(): boolean {\r\n return this.router.isActive(\"/tutorial\", true) || this.router.isActive(\"/help\", true) ;\r\n }\r\n\r\n get user(): string {\r\n return this.authService.currentAuthUser.name;\r\n }\r\n\r\n backToDashboard() {\r\n this.dashboardService.checkIn().subscribe(result => {\r\n if (result.isSuccess) {\r\n this.router.navigateByUrl(\"/dashboard\");\r\n }\r\n else {\r\n alert(result.message);\r\n }\r\n }, error => console.error(error));\r\n }\r\n}\r\n","\r\n\r\n\r\n

Hello, {{user}}

\r\n \r\n
\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonService {\r\n\r\n setDatePickerConfig(config) {\r\n config.containerClass = 'theme-dark-blue';\r\n config.showWeekNumbers = false;\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable, OnDestroy } from \"@angular/core\";\r\nimport { MsalBroadcastService, MsalGuardConfiguration, MsalService, MSAL_GUARD_CONFIG } from \"@azure/msal-angular\";\r\nimport {\r\n AccountInfo, AuthenticationResult, AuthError, BrowserAuthError, EventError, EventMessage,\r\n EventType, InteractionStatus, InteractionType, PopupRequest, RedirectRequest, SsoSilentRequest, SilentRequest\r\n} from \"@azure/msal-browser\";\r\nimport { IdTokenClaims, PromptValue } from '@azure/msal-common';\r\nimport { filter, Observable, Observer, Subject, takeUntil, of, switchMap, catchError } from \"rxjs\";\r\nimport { AuthConfig } from \"../../model/auth-config\";\r\nimport { AuthUser } from \"../../model/auth-user\";\r\n\r\ntype IdTokenClaimsWithPolicyId = IdTokenClaims & {\r\n acr?: string,\r\n tfp?: string\r\n};\r\n\r\ntype AppIdTokenClaims = IdTokenClaims & {\r\n family_name?: string,\r\n given_name?: string,\r\n extension_MobileNumber?: string\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService implements OnDestroy {\r\n\r\n private authUserSubject: Subject;\r\n private readonly destroying$ = new Subject();\r\n\r\n\r\n constructor(\r\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\r\n private msalService: MsalService,\r\n private broadcastService: MsalBroadcastService,\r\n private authConfig: AuthConfig,\r\n private httpClient: HttpClient,\r\n @Inject('BASE_URL') private baseURL: string\r\n ) {\r\n\r\n\r\n this.authUserSubject = new Subject();\r\n this.destroying$ = new Subject();\r\n\r\n this.msalService.instance.enableAccountStorageEvents();\r\n\r\n this.broadcastService.msalSubject$.pipe(\r\n filter(\r\n (msg: EventMessage) => msg.eventType ===\r\n EventType.ACCOUNT_ADDED\r\n || msg.eventType === EventType.ACCOUNT_REMOVED))\r\n .subscribe((result: EventMessage) => {\r\n this.refreshAuthUser();\r\n });\r\n\r\n this.broadcastService.msalSubject$.pipe(filter(\r\n (msg: EventMessage) => msg.eventType === EventType.LOGIN_SUCCESS\r\n || msg.eventType === EventType.ACQUIRE_TOKEN_SUCCESS\r\n || msg.eventType === EventType.SSO_SILENT_SUCCESS),\r\n takeUntil(this.destroying$))\r\n .subscribe((result: EventMessage) => {\r\n\r\n let payload = result.payload as AuthenticationResult;\r\n let idToken = payload.idTokenClaims as IdTokenClaimsWithPolicyId;\r\n\r\n if (this.hasEditProfilePolicyId(idToken)) {\r\n this.onEditProfileSuccess(idToken);\r\n\r\n }\r\n\r\n /**\r\n * Below we are checking if the user is returning from the reset password flow.\r\n * If so, we will ask the user to reauthenticate with their new password.\r\n */\r\n if (this.hasPasswordResetPolicyId(idToken)) {\r\n this.onPasswordReset();\r\n }\r\n });\r\n\r\n\r\n this.broadcastService.msalSubject$\r\n .pipe(\r\n filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_FAILURE || msg.eventType === EventType.ACQUIRE_TOKEN_FAILURE),\r\n takeUntil(this.destroying$)\r\n )\r\n .subscribe((result: EventMessage) => {\r\n // Learn more about AAD error codes at https://docs.microsoft.com/en-us/azure/active-directory/develop/reference-aadsts-error-codes\r\n if (this.hasForgotPasswordErrorCode(result.error)) {\r\n this.handleForgotPassword();\r\n };\r\n });\r\n\r\n\r\n this.broadcastService.inProgress$\r\n .pipe(filter(status => status === InteractionStatus.None),\r\n takeUntil(this.destroying$))\r\n .subscribe(_ => this.refreshAuthUser());\r\n }\r\n\r\n handleForgotPassword() {\r\n let resetPasswordFlowRequest: RedirectRequest | PopupRequest = {\r\n authority: this.authConfig.passwordReset.authority,\r\n scopes: [],\r\n };\r\n\r\n this.login(resetPasswordFlowRequest);\r\n }\r\n\r\n\r\n hasForgotPasswordErrorCode(error: EventError) {\r\n const ForgotPasswordCode = 'AADB2C90118';\r\n return error && error.message.indexOf(ForgotPasswordCode) > -1\r\n }\r\n\r\n hasPasswordResetPolicyId(idToken: IdTokenClaimsWithPolicyId) {\r\n return idToken.acr === this.authConfig.passwordReset.policyName || idToken.tfp === this.authConfig.passwordReset.policyName;\r\n }\r\n\r\n onPasswordReset() {\r\n let signUpSignInFlowRequest: RedirectRequest | PopupRequest = {\r\n authority: this.authConfig.signUpSignIn.authority,\r\n scopes: this.authConfig.scopes,\r\n prompt: PromptValue.LOGIN // force user to reauthenticate with their new password\r\n };\r\n\r\n this.login(signUpSignInFlowRequest);\r\n }\r\n\r\n\r\n onEditProfileSuccess(idToken: IdTokenClaimsWithPolicyId) {\r\n // retrieve the account from initial sing-in to the app\r\n const originalSignInAccount = this.msalService.instance.getAllAccounts()\r\n .find((account: AccountInfo) =>\r\n account.idTokenClaims?.sub === idToken.sub\r\n && ((account.idTokenClaims as IdTokenClaimsWithPolicyId).acr === this.authConfig.signUpSignIn.policyName\r\n || (account.idTokenClaims as IdTokenClaimsWithPolicyId).tfp === this.authConfig.signUpSignIn.policyName)\r\n );\r\n\r\n let signUpSignInFlowRequest: SsoSilentRequest = {\r\n authority: this.authConfig.signUpSignIn.authority,\r\n account: originalSignInAccount,\r\n };\r\n\r\n // silently login again with the signUpSignIn policy\r\n this.msalService.ssoSilent(signUpSignInFlowRequest);\r\n }\r\n\r\n onSignInSuccess(authenticationResult: AuthenticationResult) {\r\n this.msalService.instance.setActiveAccount(authenticationResult.account);\r\n this.refreshAuthUser();\r\n }\r\n\r\n hasEditProfilePolicyId(idToken: IdTokenClaimsWithPolicyId) {\r\n return idToken.acr === this.authConfig.editProfile.policyName || idToken.tfp === this.authConfig.editProfile.policyName;\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 get authUserObservable$(): Observable {\r\n return this.authUserSubject.asObservable();\r\n }\r\n\r\n get currentAuthUser(): AuthUser {\r\n return this.buildUser(this.getActiveAccount());\r\n }\r\n\r\n login(userFlowRequest?: RedirectRequest | PopupRequest): Observable {\r\n console.log('User Flow Request:', userFlowRequest);\r\n if (this.msalGuardConfig.authRequest) {\r\n let request: RedirectRequest = {\r\n ...this.msalGuardConfig.authRequest, ...userFlowRequest\r\n };\r\n\r\n request.redirectStartPage = this.authConfig.redirectStartPage;\r\n request.scopes = this.authConfig.scopes;\r\n\r\n return this.msalService\r\n .loginRedirect(request);\r\n } else {\r\n console.log('authRequest ' + this.msalGuardConfig.authRequest);\r\n\r\n return this.msalService.loginRedirect(userFlowRequest);\r\n }\r\n }\r\n\r\n performSignIn() {\r\n var t = this.httpClient.get(this.baseURL + 'api/Signin/PerformSignin')\r\n return t;\r\n }\r\n\r\n register() {\r\n let registrationFlowRequest: RedirectRequest = {\r\n authority: this.authConfig.registration.authority,\r\n scopes: []\r\n }\r\n this.login(registrationFlowRequest)\r\n }\r\n\r\n logout(): Observable {\r\n return this.msalService.logoutRedirect();\r\n }\r\n\r\n editProfile() {\r\n let editProfileFlowRequest: RedirectRequest = {\r\n authority: this.authConfig.editProfile.authority,\r\n scopes: [],\r\n //redirectStartPage: '/dashboard'\r\n }\r\n this.login(editProfileFlowRequest);\r\n }\r\n\r\n public accessToken(): Observable { \r\n\r\n const activeAccount = this.getActiveAccount();\r\n\r\n if (!activeAccount) {\r\n return of(null);\r\n }\r\n\r\n const tokenRequest: SilentRequest = {\r\n scopes: this.authConfig.scopes,\r\n account: activeAccount,\r\n };\r\n\r\n return this.msalService.acquireTokenSilent(tokenRequest).pipe(\r\n switchMap((authResult) => {\r\n if (authResult?.accessToken) {\r\n return of(authResult.accessToken);\r\n } else {\r\n return of(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n private buildUser(accountInfo: AccountInfo): AuthUser {\r\n if (accountInfo === null) return null;\r\n\r\n const claims = accountInfo.idTokenClaims as AppIdTokenClaims;\r\n return {\r\n firstName: claims.given_name,\r\n lastName: claims.family_name,\r\n name: accountInfo.name,\r\n id: claims.sub,\r\n email: accountInfo.username,\r\n mobileNumber: claims.extension_MobileNumber\r\n };\r\n }\r\n\r\n private refreshAuthUser() {\r\n /**\r\n * If no active account set but there are accounts signed in, sets first account to active account\r\n * To use active account set here, subscribe to inProgress$ first in your component\r\n * Note: Basic usage demonstrated. Your app may require more complicated account selection logic\r\n */\r\n const activeAccount = this.getActiveAccount();\r\n if (activeAccount) {\r\n this.msalService.instance.setActiveAccount(activeAccount);\r\n this.authUserSubject.next(this.buildUser(activeAccount));\r\n } else {\r\n this.authUserSubject.next(undefined);\r\n }\r\n }\r\n\r\n private getActiveAccount(): AccountInfo | null {\r\n let activeAccount = this.msalService.instance.getActiveAccount();\r\n let accts = this.msalService.instance.getAllAccounts();\r\n if (\r\n !activeAccount &&\r\n this.msalService.instance.getAllAccounts().length > 0\r\n ) {\r\n const accounts = this.msalService.instance.getAllAccounts();\r\n activeAccount = accounts[0];\r\n return activeAccount;\r\n }\r\n return activeAccount;\r\n }\r\n}\r\n","/*\r\n * Author: Danny Ehlers\r\n * Date: 8/15/2018\r\n * Route guard with Oath2 support.\r\n */\r\nimport { Injectable } from '@angular/core';\r\n//import { OpenIdConnectService } from './open-id-connect.service';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable()\r\nexport class RequireAuthenticationUserRouteGuardServiceService {\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private router: Router) { }\r\n\r\n canActivate() {\r\n \r\n\r\n //if (this.openIdConnectService.userAvailable) {\r\n // return true;\r\n // // DE (8/15/2018): The user account in the client gets lost if the user book marks the page and it loads.\r\n // // I added code to reload the user so it stays current.\r\n //} else if (!this.openIdConnectService.userAvailable && this.openIdConnectService.getAccessToken().length > 10) {\r\n // this.openIdConnectService.reloadUser();\r\n // return true;\r\n //} else {\r\n // this.openIdConnectService.triggerSignIn();\r\n // return false;\r\n //}\r\n }\r\n\r\n}\r\n","/*\r\n * Author: Danny Ehlers\r\n * Date: 3/15/2019\r\n * This was designed to be used with Azure DevOps. The values can be replaced using JSON variable substitution\r\n * during the release pipeline on Azure App Services Deployment.\r\n */\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Settings, AdminSettings, HtmlTemplate } from './domain/settings';\r\nimport { environment } from '../environments/environment';\r\nimport { ICodeLookup } from './domain/ICodeLookup';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SettingsProviderService {\r\n\r\n private config: Settings;\r\n baseUrl: string = \"\";\r\n private adminSetting: AdminSettings;\r\n private _dashboardLinks: ICodeLookup[] = [];\r\n\r\n private _htmlTemplates:HtmlTemplate[] =[];\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n public loadConfig(): Promise {\r\n\r\n return this.http\r\n .get('assets/client-config.json').pipe(settings => settings)\r\n .toPromise()\r\n .then(settings => {\r\n let clientConfig = settings as Settings;\r\n if (clientConfig.useCustomConfig) {\r\n this.config = settings as Settings;\r\n } else {\r\n this.config = environment as Settings;\r\n }\r\n sessionStorage.setItem('settings', JSON.stringify(this.config));\r\n });\r\n\r\n }\r\n\r\n\r\n public loadAdminSetting() {\r\n console.log(\"Getting admin settings\");\r\n return this.http\r\n .get(this.baseUrl + 'api/CodeLookup/AdminSetting/')\r\n .subscribe(result => {\r\n if (result.isSuccess) {\r\n this.adminSetting = result.data as AdminSettings;\r\n console.log(this.adminSetting);\r\n sessionStorage.setItem('adminSettings', JSON.stringify(this.adminSetting));\r\n } else {\r\n console.log(result.message);\r\n }\r\n }, error => console.error(error));\r\n\r\n }\r\n\r\n public loadDashboardLinks() {\r\n console.log(\"Getting dashboard links\");\r\n return this.http\r\n .get(this.baseUrl + 'api/CodeLookup/GetCodeLookups/8')\r\n .subscribe(result => {\r\n this._dashboardLinks = result as ICodeLookup[];\r\n console.log(this._dashboardLinks);\r\n sessionStorage.setItem('dashboardLinks', JSON.stringify(this._dashboardLinks));\r\n }, error => console.error(error));\r\n }\r\n\r\n public loadHtmlTemplates() {\r\n console.log(\"Getting Html Templates\");\r\n return this.http\r\n .get(this.baseUrl + 'api/CodeLookup/HtmlTemplates/')\r\n .subscribe(result => {\r\n if (result.isSuccess) {\r\n this._htmlTemplates = result.data as HtmlTemplate[];\r\n console.log(this._htmlTemplates);\r\n sessionStorage.setItem('htmlTemplates', JSON.stringify(this._htmlTemplates));\r\n } else {\r\n console.log(result.message);\r\n }\r\n }, error => console.error(error));\r\n\r\n }\r\n\r\n public getAnnouncements() {\r\n return this.http.get(this.baseUrl + 'api/CodeLookup/Announcements/');\r\n }\r\n\r\n public get adminSettings(): AdminSettings {\r\n if (!this.adminSetting) {\r\n try {\r\n var setting = JSON.parse(sessionStorage.adminSettings);\r\n return setting as AdminSettings;\r\n } catch (e) {\r\n return this.adminSetting;\r\n }\r\n }\r\n return this.adminSetting;\r\n }\r\n\r\n public get dashboardLinks(): ICodeLookup[] {\r\n if (!this._dashboardLinks) {\r\n try {\r\n var links = JSON.parse(sessionStorage.dashboardLinks);\r\n return links as ICodeLookup[];\r\n } catch (e) {\r\n return this._dashboardLinks;\r\n }\r\n }\r\n return this._dashboardLinks;\r\n }\r\n\r\n public get htmlTemplates(): HtmlTemplate[] { \r\n if (!this._htmlTemplates && this._htmlTemplates.length == 0) {\r\n try {\r\n var templates = JSON.parse(sessionStorage.htmlTemplates);\r\n this._htmlTemplates = templates;\r\n } catch (e) {\r\n console.error('issue loading html templates');\r\n }\r\n return this._htmlTemplates;\r\n }\r\n else\r\n {\r\n this.loadHtmlTemplates();\r\n }\r\n console.log('template ' + JSON.stringify(this._htmlTemplates));\r\n return this._htmlTemplates;\r\n }\r\n\r\n public get configuration(): Settings {\r\n if (!this.config) {\r\n try {\r\n var sessionConfig = JSON.parse(sessionStorage.settings);\r\n return sessionConfig as Settings;\r\n } catch (e) {\r\n return this.config;\r\n }\r\n\r\n }\r\n return this.config;\r\n }\r\n\r\n public static get configurationFromSession(): Settings {\r\n try {\r\n var sessionConfig = JSON.parse(sessionStorage.settings);\r\n return sessionConfig as Settings;\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-unsupported-browser',\r\n templateUrl: './unsupported-browser.component.html',\r\n styleUrls: ['./unsupported-browser.component.scss']\r\n})\r\nexport class UnsupportedBrowserComponent {\r\n\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Browser not supported

\r\n Please use Google Chrome or Mozilla Firefox to access the Conservatorship Accounting Portal.\r\n
\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n \"useCustomConfig\": true,\r\n \"production\": false,\r\n \"envName\": \"DevOps\",\r\n \"sessionTimout\": 300,\r\n \"warningTimout\": 30,\r\n \"version\": \"20201201.2\"\r\n};\r\n","\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\nimport { MsalGuardConfiguration, MsalInterceptorConfiguration, MSAL_GUARD_CONFIG, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG } from '@azure/msal-angular';\r\nimport { BrowserCacheLocation, InteractionType, PublicClientApplication } from '@azure/msal-browser';\r\nimport { LogLevel } from '@azure/msal-common';\r\nimport { AuthConfig } from './app/model/auth-config';\r\n\r\nconst isIE =\r\n window.navigator.userAgent.indexOf('MSIE') > -1 ||\r\n window.navigator.userAgent.indexOf('Trident/') > -1;\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nexport function MSALGuardConfigFactory(authConfig: AuthConfig): MsalGuardConfiguration {\r\n return {\r\n interactionType: InteractionType.Redirect,\r\n authRequest: {\r\n scopes: authConfig.scopes,\r\n },\r\n loginFailedRoute: './'\r\n }\r\n}\r\n\r\nexport function MsalInstanceFactory(authConfig: AuthConfig): PublicClientApplication {\r\n console.log('print authConfig');\r\n console.log(authConfig);\r\n return new PublicClientApplication({\r\n auth: {\r\n clientId: authConfig.clientId,\r\n authority: authConfig.signUpSignIn.authority,\r\n redirectUri: authConfig.redirectUri,\r\n postLogoutRedirectUri: authConfig.postLogoutRedirectUri,\r\n knownAuthorities: [authConfig.authorityDomain]\r\n },\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.LocalStorage,\r\n storeAuthStateInCookie: isIE\r\n },\r\n system: {\r\n allowNativeBroker: false, // Disables native brokering support\r\n loggerOptions: {\r\n loggerCallback: (logLevel, message) => {\r\n //console.log(message);\r\n },\r\n //logLevel: LogLevel.Error,\r\n piiLoggingEnabled: true,\r\n \r\n\r\n }\r\n }\r\n },\r\n )\r\n}\r\n\r\nexport function MSALInterceptorConfigFactory(\r\n authConfig: AuthConfig\r\n): MsalInterceptorConfiguration {\r\n const rootApiUrl = `${getBaseUrl()}api`\r\n const protectedResourceMap = new Map | null>();\r\n protectedResourceMap.set(rootApiUrl, authConfig.scopes);\r\n\r\n return {\r\n interactionType: InteractionType.Popup,\r\n protectedResourceMap,\r\n };\r\n}\r\n\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nfetch('./api/spaclientsettings/authentication')\r\n .then(response => response.json())\r\n .then(json => {\r\n console.log('spa client setting');\r\n console.log(json);\r\n const authConfig = new AuthConfig(json);\r\n authConfig.redirectUri = authConfig.redirectUri ?? getBaseUrl();\r\n authConfig.postLogoutRedirectUri = authConfig.postLogoutRedirectUri ?? getBaseUrl(); \r\n const providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] },\r\n { provide: AuthConfig, useValue: authConfig },\r\n {\r\n provide: MSAL_INSTANCE, useFactory: MsalInstanceFactory, deps: [AuthConfig]\r\n },\r\n { provide: MSAL_GUARD_CONFIG, useFactory: MSALGuardConfigFactory, deps: [AuthConfig] },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG, useFactory: MSALInterceptorConfigFactory, deps: [AuthConfig]\r\n }\r\n ]\r\n\r\n platformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n\r\n });\r\n"],"names":[],"sourceRoot":"webpack:///","x_google_ignoreList":[]}