{"version":3,"file":"main.9e9f0470fcd5f6f9.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/app.preload-strategy.ts","./src/app/core/core.module.ts","./src/app/core/guards/active-user.guard.ts","./src/app/core/guards/auth-admin.guard.ts","./src/app/core/guards/form-editing.guard.ts","./src/app/core/interceptors/error-handler.interceptor.ts","./src/app/core/nav-menu/nav-menu.component.ts","./src/app/core/nav-menu/nav-menu.component.html","./src/app/core/org-quarter-selector/org-quarter-selector.component.ts","./src/app/core/org-quarter-selector/org-quarter-selector.component.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/pipes/form-status-pipe.ts","./src/app/pipes/minus-sign-to-parens.ts","./src/app/pipes/safe-html.pipe.ts","./src/app/pipes/yes-no.pipe.ts","./src/app/routes.ts","./src/app/services/dialog-message.service.ts","./src/app/services/loading-spinner.service.ts","./src/app/services/msal-helper.service.ts","./src/app/services/org-management.service.ts","./src/app/services/quarter-selector.service.ts","./src/app/services/sys-util.service.ts","./src/app/services/user.service.ts","./src/app/shared/directives/currency-formatter.directive.ts","./src/app/shared/directives/number-only.directive.ts","./src/app/shared/popup-dialog/popup-dialog.component.ts","./src/app/shared/popup-dialog/popup-dialog.component.html","./src/app/shared/progress-spinner/progress-spinner.component.ts","./src/app/shared/progress-spinner/progress-spinner.component.html","./src/app/shared/shared.module.ts","./src/app/types/enumerated-types/orgStatus.ts","./src/app/types/enumerated-types/roles.ts","./src/app/types/filing-obligation.type.ts","./src/app/types/user.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nconst routes: Routes = [];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { Subscription } from 'rxjs';\r\nimport { OrgQuarterSelectorComponent } from './core/org-quarter-selector/org-quarter-selector.component';\r\nimport { DialogMessageService } from './services/dialog-message.service';\r\nimport { LoadingSpinnerService } from './services/loading-spinner.service';\r\nimport { MsalHelperService } from './services/msal-helper.service';\r\nimport { OrgManagementService } from './services/org-management.service';\r\nimport { QuarterSelectorService } from './services/quarter-selector.service';\r\nimport { SysUtilService } from './services/sys-util.service';\r\nimport { UserService } from './services/user.service';\r\nimport { Organization } from './types/organization';\r\nimport { Quarter } from './types/quarter';\r\nimport { User } from './types/user';\r\nimport { Version } from './types/version';\r\n\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n @ViewChild('oqcontext') oqSelector: OrgQuarterSelectorComponent;\r\n user: User;\r\n title = 'FASB_138542';\r\n userName = 'Not Logged In';\r\n loginDisplay = false;\r\n loginValidated: boolean = null;\r\n selectedOrg: Organization;\r\n selectedQtr: Quarter;\r\n isLoading = false;\r\n versionData: Version = { version: '0.0.0.0-dev' };\r\n env = 'env';\r\n loadingSpinnerUpdator: Subscription;\r\n userUpdateSubscription: Subscription;\r\n\r\n public constructor(\r\n public readonly titleService: Title,\r\n public readonly msalHelper: MsalHelperService,\r\n private readonly authService: MsalService,\r\n public readonly selectorService: QuarterSelectorService,\r\n private readonly router: Router,\r\n private readonly messageService: DialogMessageService,\r\n private readonly userService: UserService,\r\n private readonly utilService: SysUtilService,\r\n private readonly loadingSpinnerService: LoadingSpinnerService,\r\n private readonly orgManagementService: OrgManagementService,\r\n private readonly changeDetectionRef: ChangeDetectorRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle('ASC 450');\r\n this.msalHelper.runAfterAuthenticated(() => {\r\n this.userService.currentUser.subscribe({\r\n next: user => {\r\n if (user != null) {\r\n this.user = user;\r\n this.loginValidated = user.active;\r\n }\r\n },\r\n error: err => this.loginValidated = false,\r\n complete: () => {\r\n // Anytime someone changes the selected org, render the users login name\r\n this.selectorService.selectedContextChange.subscribe({\r\n next: (value) => {\r\n // display a snackbar if the quarter or the organization is changed\r\n // quarter changes if organization changes due to their type relationship\r\n // display quarter snackbar before organization snackbar to prevent override\r\n if (this.selectedQtr !== value.qtr) {\r\n this.selectorService.displayOrgOrQtrChanged('Quarter was changed!', 1.5);\r\n }\r\n if (this.selectedOrg !== value.org) {\r\n this.selectorService.displayOrgOrQtrChanged('Organization was changed!', 1.5);\r\n }\r\n this.selectedQtr = value.qtr;\r\n this.selectedOrg = value.org;\r\n this.setLoginDisplay();\r\n },\r\n error: (err) => {\r\n this.messageService.openErrorMessage(err);\r\n this.isLoading = false;\r\n }\r\n });\r\n this.msalHelper.updateLastLogin().subscribe({\r\n next: () => console.log(\"success\")\r\n });\r\n this.userService.getVersion().subscribe({\r\n next: (value) => this.versionData = value\r\n });\r\n this.utilService.getEnv().subscribe({\r\n next: (value) => this.env = value.value\r\n });\r\n this.loadingSpinnerUpdator = this.loadingSpinnerService.getLoadingSpinnerUpdates().subscribe({\r\n next: (value) => {\r\n this.isLoading = value;\r\n this.changeDetectionRef.detectChanges();\r\n }\r\n });\r\n }\r\n });\r\n\r\n //// Anytime someone changes the route, render the users login name\r\n this.router.events.subscribe({\r\n next: (val) => this.setLoginDisplay(),\r\n error: (err) => {\r\n this.messageService.openErrorMessage(err);\r\n this.isLoading = false;\r\n }\r\n });\r\n });\r\n this.userUpdateSubscription = this.orgManagementService.getNewOrgSubscription().subscribe({\r\n next: () => {\r\n this.userService.getCurrentUser().subscribe({\r\n next: (result) => {\r\n this.user = result;\r\n this.oqSelector.organizations = result.organizations.sort(this.oqSelector.sortOrg);\r\n this.oqSelector.chooseSelectedOrg();\r\n },\r\n error: (err) => this.user = new User()\r\n }).add(() => this.loadingSpinnerService.disable());\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.loadingSpinnerUpdator.unsubscribe();\r\n this.userUpdateSubscription.unsubscribe();\r\n }\r\n\r\n setLoginDisplay() {\r\n this.loginDisplay = this.authService.instance.getAllAccounts().length > 0;\r\n if (this.loginDisplay) {\r\n this.userName = this.authService.instance.getActiveAccount().name;\r\n // Only add Role detail if it's main app, and there is a selected org. \r\n if (this.selectedOrg && !this.isAdmin() && !this.isTodo()) {\r\n this.userName += ` (${this.selectorService.getCurrentRoleAsTitle()})`;\r\n }\r\n }\r\n }\r\n\r\n logout() {\r\n this.authService.logout({\r\n postLogoutRedirectUri: null\r\n });\r\n }\r\n\r\n isAdmin(): boolean {\r\n return this.router.url.startsWith('/admin');\r\n }\r\n\r\n isTodo(): boolean {\r\n return this.router.url.startsWith('/todo');\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n

ASC 450

\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n {{titleService.getTitle()}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

App Version: {{versionData?.version}}

\r\n

Environment: {{env}}

\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

ASC 450

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{titleService.getTitle()}}\r\n
\r\n
\r\n

\r\n     If you are seeing this message, you do not currently have access to the ASC450 application. Please contact the ASC450 application administrator for access.\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule, Title } from '@angular/platform-browser';\r\nimport { RouterModule } from '@angular/router';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { FSABPreloadingStrategy } from './app.preload-strategy';\r\nimport { appRoutes } from './routes';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { CoreModule } from './core/core.module';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { BrowserCacheLocation, InteractionType, IPublicClientApplication, LogLevel, PublicClientApplication } from '@azure/msal-browser';\r\nimport { environment } from '../environments/environment';\r\nimport {\r\n MsalBroadcastService, MsalGuard, MsalGuardConfiguration, MsalInterceptor,\r\n MsalInterceptorConfiguration, MsalModule, MsalRedirectComponent, MsalService, MSAL_GUARD_CONFIG, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG\r\n} from '@azure/msal-angular';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { FAB_THEME_SETTING } from '@fabric/components/theme';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { ErrorHandlerInterceptor } from './core/interceptors/error-handler.interceptor';\r\n\r\nexport function loggerCallback(logLevel: LogLevel, message: string) {\r\n console.log(message);\r\n}\r\n\r\nexport function MSALInstanceFactory(): IPublicClientApplication {\r\n return new PublicClientApplication({\r\n auth: environment.auth,\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.LocalStorage,\r\n storeAuthStateInCookie: false, // set to true for IE 11\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback,\r\n logLevel: LogLevel.Warning,\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('/api/', [environment.auth.apiScope]);\r\n protectedResourceMap.set('https://graph.microsoft.com/', ['User.Read.All']);\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 };\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HomeComponent,\r\n ],\r\n imports: [\r\n SharedModule,\r\n CoreModule,\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n MsalModule,\r\n RouterModule.forRoot(appRoutes, {\r\n preloadingStrategy: FSABPreloadingStrategy,\r\n anchorScrolling: 'enabled',\r\n onSameUrlNavigation: 'reload', scrollPositionRestoration: 'enabled'\r\n}),\r\n ],\r\n providers: [\r\n FSABPreloadingStrategy,\r\n Title,\r\n { provide: 'ORIGIN_URL', useValue: location.origin },\r\n { provide: HTTP_INTERCEPTORS, useClass: MsalInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorHandlerInterceptor, multi: true },\r\n { provide: MSAL_INSTANCE, useFactory: MSALInstanceFactory },\r\n { provide: MSAL_GUARD_CONFIG, useFactory: MSALGuardConfigFactory },\r\n { provide: MSAL_INTERCEPTOR_CONFIG, useFactory: MSALInterceptorConfigFactory },\r\n MsalService,\r\n MsalGuard,\r\n MsalBroadcastService,\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'outline', floatLabel: 'always', subscriptSizing: 'dynamic' } },\r\n { provide: FAB_THEME_SETTING, useValue: 'light' },\r\n ],\r\n bootstrap: [AppComponent, MsalRedirectComponent]\r\n})\r\nexport class AppModule { }\r\n","import { PreloadingStrategy, Route } from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\n\r\nexport class FSABPreloadingStrategy implements PreloadingStrategy {\r\n preload(route: Route, load: Function): Observable {\r\n return route.data && route.data.preload ? load() : of(null);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NavMenuComponent } from './nav-menu/nav-menu.component';\r\nimport { OrgQuarterSelectorComponent } from './org-quarter-selector/org-quarter-selector.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { AuthAdminGuard } from './guards/auth-admin.guard';\r\nimport { FormEditingGuard } from './guards/form-editing.guard';\r\nimport { ActiveUserGuard } from './guards/active-user.guard';\r\n\r\n@NgModule({\r\n imports: [SharedModule, RouterModule, MatDialogModule, CommonModule],\r\n declarations: [NavMenuComponent, OrgQuarterSelectorComponent],\r\n providers: [AuthAdminGuard, FormEditingGuard, ActiveUserGuard],\r\n exports: [NavMenuComponent, OrgQuarterSelectorComponent]\r\n})\r\n\r\nexport class CoreModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { MsalGuard } from '@azure/msal-angular';\r\nimport { UserService } from '../../services/user.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActiveUserGuard {\r\n constructor(\r\n private readonly userService: UserService,\r\n private readonly router: Router,\r\n private readonly msalGuard: MsalGuard\r\n ) { }\r\n\r\n async canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Promise {\r\n //if the user does not have an org assignment, the user is forced back to the main page where they will be shown an error\r\n //if the user is an admin, they will have all org assignments by default, circumventing this intentionally.\r\n const msalResult = await this.msalGuard.canActivate(route, state).toPromise();\r\n if (msalResult === true) {\r\n const user = await this.userService.currentUser.toPromise();\r\n if (user.organizations.length === 0 || !user.active) {\r\n this.router.navigate(['/']);\r\n }\r\n return true;\r\n }\r\n else {\r\n return msalResult;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { MsalGuard } from '@azure/msal-angular';\r\nimport { UserService } from '../../services/user.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthAdminGuard {\r\n constructor(private readonly userService: UserService,\r\n private readonly router: Router,\r\n private readonly msalGuard: MsalGuard) { }\r\n\r\n async canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Promise {\r\n const msalResult = await this.msalGuard.canActivate(route, state).toPromise();\r\n if (msalResult === true) {\r\n const user = await this.userService.currentUser.toPromise();\r\n if (!user.admin) {\r\n this.router.navigate(['/']);\r\n }\r\n return user.admin;\r\n }\r\n else {\r\n return msalResult;\r\n }\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { DialogMessageService } from '../../services/dialog-message.service';\r\nimport { EditingState } from '../../types/util/editingState';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FormEditingGuard {\r\n\r\n constructor(private readonly messageService: DialogMessageService) { }\r\n\r\n canDeactivate(component: EditingState): Promise | boolean {\r\n if (component.canDeactivate()) {\r\n return true;\r\n }\r\n const dialogRef = this.messageService.confirmActions('Leave page and discard changes?');\r\n return dialogRef.afterClosed().toPromise().then(async (choice) => {\r\n if (choice === 'OK') {\r\n await component.discardChanges();\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpErrorResponse,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { tap } from \"rxjs/operators\";\r\nimport { Router } from '@angular/router';\r\nimport { UserService } from '../../services/user.service';\r\n\r\n@Injectable()\r\nexport class ErrorHandlerInterceptor implements HttpInterceptor {\r\n\r\n constructor(\r\n private readonly router: Router,\r\n private readonly userService: UserService \r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(\r\n tap(\r\n event => { },\r\n error => {\r\n if (error instanceof HttpErrorResponse) {\r\n // Add more if blocks for other error codes as needed\r\n if (error.status === 403) {\r\n this.userService.getCurrentUser().subscribe({\r\n complete: () => window.location.reload()\r\n });\r\n }\r\n if (error.status === 418) {\r\n //TODO: I'm a Teapot\r\n }\r\n }\r\n }\r\n ));\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { DialogMessageService } from '../../services/dialog-message.service';\r\nimport { MsalHelperService } from '../../services/msal-helper.service';\r\nimport { OrgManagementService } from '../../services/org-management.service';\r\nimport { UserService } from '../../services/user.service';\r\nimport { User } from '../../types/user';\r\n\r\n@Component({\r\n selector: 'nav-menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.scss']\r\n})\r\nexport class NavMenuComponent implements OnInit {\r\n @Input() user: User;\r\n\r\n constructor(\r\n private readonly router: Router,\r\n private readonly userService: UserService,\r\n private readonly msalHelper: MsalHelperService,\r\n private readonly messageService: DialogMessageService,\r\n private readonly orgManagementService: OrgManagementService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.msalHelper.runAfterAuthenticated(() => {\r\n this.userService.currentUser.subscribe({\r\n next: (response) => this.user = response,\r\n error: (error) => this.messageService.openErrorMessage(error)\r\n });\r\n });\r\n }\r\n\r\n isAdmin(): boolean {\r\n return this.router.url.startsWith('/admin');\r\n }\r\n\r\n isUserActive(): boolean {\r\n return this.user.organizations.length > 0;\r\n }\r\n}\r\n","\r\n \r\n ADMIN DASHBOARD\r\n CURRENCY RATES\r\n MANAGE COUNTRIES\r\n MANAGE REGIONS\r\n ORG MANAGEMENT\r\n QUARTER MANAGEMENT\r\n SIGNIFICANT TAX MANAGEMENT\r\n USER ACCESS MANAGEMENT\r\n ILM MANAGEMENT\r\n REPORTING\r\n ASC 450 APPLICATION\r\n \r\n\r\n \r\n DATA ENTRY STATUS\r\n VALIDATION & REVIEW\r\n FILING OBLIGATION\r\n GENERAL QUESTIONNAIRE\r\n TAX DASHBOARD\r\n TAX QUESTIONNAIRE\r\n LOSS CONTINGENCY DASHBOARD\r\n AGED ASSET DASHBOARD\r\n ADMIN DASHBOARD\r\n \r\n\r\n","import { Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { DialogMessageService } from '../../services/dialog-message.service';\r\nimport { MsalHelperService } from '../../services/msal-helper.service';\r\nimport { OrgManagementService } from '../../services/org-management.service';\r\nimport { QuarterSelectorService } from '../../services/quarter-selector.service';\r\nimport { UserService } from '../../services/user.service';\r\nimport { Organization } from '../../types/organization';\r\nimport { OQContext } from '../../types/organization-quarter-context';\r\nimport { Quarter } from '../../types/quarter';\r\nimport { User } from '../../types/user';\r\n\r\n@Component({\r\n selector: 'org-quarter-selector',\r\n templateUrl: './org-quarter-selector.component.html',\r\n styleUrls: ['./org-quarter-selector.component.scss']\r\n})\r\nexport class OrgQuarterSelectorComponent implements OnInit, OnDestroy {\r\n @Input() user: User;\r\n organizations: Organization[];\r\n quarters: Quarter[];\r\n selectedOQContext: OQContext = { org: null, qtr: null };\r\n newOrgSubscription: Subscription;\r\n @ViewChild('orgSelector') orgSelector: MatSelect;\r\n\r\n constructor(\r\n private readonly router: Router,\r\n private readonly userService: UserService,\r\n private readonly msalHelperService: MsalHelperService,\r\n private readonly quarterSelectorService: QuarterSelectorService,\r\n private readonly messageService: DialogMessageService,\r\n private readonly orgManager: OrgManagementService,\r\n private readonly route: ActivatedRoute,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.initializeOrgData();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.newOrgSubscription.unsubscribe();\r\n }\r\n\r\n initializeOrgData() {\r\n this.msalHelperService.runAfterAuthenticated(() => {\r\n this.userService.currentUser.subscribe({\r\n next: (result) => {\r\n this.user = result;\r\n this.organizations = result.organizations.sort(this.sortOrg);\r\n this.chooseSelectedOrg();\r\n this.route.queryParams.subscribe({\r\n next: (params) => {\r\n if (params.org) {\r\n this.setSelectedOrgById(parseInt(params.org));\r\n }\r\n }\r\n });\r\n },\r\n error: (err) => {\r\n this.messageService.openErrorMessage(err);\r\n }\r\n });\r\n });\r\n }\r\n\r\n selectedOrgChanged(org: Organization) {\r\n this.quarters = org.availableQuarters;\r\n this.selectedOQContext.org = org;\r\n localStorage.setItem('lastSelectedOrg', `${org.id}`);\r\n this.selectActiveQuarter(null);\r\n this.quarterSelectorService.setSelectedContext(this.selectedOQContext);\r\n }\r\n\r\n selectedQuarterChanged(quarter: Quarter) {\r\n this.selectActiveQuarter(quarter);\r\n }\r\n\r\n setSelectedOrgById(id: number) {\r\n for (const i of this.organizations) {\r\n if (i.id === id) {\r\n this.selectedOrgChanged(i);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n chooseSelectedOrg() {\r\n // If URI has org, use it\r\n // else if localstorage is set, use it\r\n // else use the first one\r\n const last = localStorage.getItem('lastSelectedOrg');\r\n if (last) {\r\n const selectedId = parseInt(last);\r\n for (const _org of this.organizations) {\r\n if (_org.id === selectedId) {\r\n this.selectedOQContext.org = _org;\r\n this.quarters = this.selectedOQContext.org.availableQuarters;\r\n this.selectActiveQuarter(null);\r\n this.quarterSelectorService.setSelectedContext(this.selectedOQContext);\r\n return;\r\n }\r\n }\r\n }\r\n this.selectedOQContext.org = this.organizations[0];\r\n this.quarters = this.selectedOQContext.org.availableQuarters;\r\n this.selectActiveQuarter(null);\r\n this.quarterSelectorService.setSelectedContext(this.selectedOQContext);\r\n }\r\n\r\n selectActiveQuarter(quarter: Quarter) {\r\n if (quarter == null) {\r\n for (const q of this.quarters) {\r\n if (q.status === 'Active') {\r\n this.selectedOQContext.qtr = q;\r\n return;\r\n }\r\n }\r\n }\r\n this.selectedOQContext.qtr = quarter;\r\n this.quarterSelectorService.setSelectedContext(this.selectedOQContext);\r\n }\r\n\r\n sortOrg(a: Organization, b: Organization) {\r\n if (a.orgCode < b.orgCode) {\r\n return -1;\r\n }\r\n else if (a.orgCode > b.orgCode) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n isAdminRoute(): boolean {\r\n return this.router.url.startsWith('/admin');\r\n }\r\n\r\n isUserActive(): boolean {\r\n return this.user.organizations.length > 0;\r\n }\r\n\r\n //when a user opens the org selector, this function will ensure their currently selected org is visible in the view.\r\n setViewToSelected() {\r\n this.orgSelector.panel.nativeElement.querySelector('.mdc-list-item--selected').focus();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n Org\r\n \r\n \r\n {{org.orgCode}} - {{org.name}}\r\n \r\n \r\n \r\n\r\n \r\n Current Quarter\r\n \r\n \r\n {{quarter.name}}\r\n \r\n \r\n \r\n\r\n \r\n Currency\r\n \r\n \r\n\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { QuarterSelectorService } from '../services/quarter-selector.service';\r\nimport { Organization } from '../types/organization';\r\n\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n public selectedOrg: Organization;\r\n private orgSubscrption: Subscription;\r\n\r\n constructor(\r\n private readonly router: Router,\r\n private readonly selectorService: QuarterSelectorService\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.selectorService.isInitialized()) {\r\n this.selectedOrg = this.selectorService.selectedOQContext.org;\r\n this.determineNavScreen();\r\n } else {\r\n this.orgSubscrption = this.selectorService.selectedContextChange.subscribe({\r\n next: (value) => {\r\n if (value) {\r\n this.selectedOrg = value.org;\r\n this.determineNavScreen();\r\n this.orgSubscrption.unsubscribe();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n // NG 05/31/22: Always redirect to Data Entry Status as home screen\r\n determineNavScreen() {\r\n const dest: string = 'data-entry-status';\r\n this.navigate(dest);\r\n }\r\n\r\n navigate(route: string) {\r\n this.router.navigate([`/${route}`], {\r\n });\r\n }\r\n\r\n}\r\n","
\r\n

\r\n     You are not currently assigned to any orgs in this application, please contact the administrator.\r\n

\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { OrgStatus } from '../types/enumerated-types/orgStatus';\r\n\r\n@Pipe({ name: 'formStatus' })\r\nexport class FormStatusPipe implements PipeTransform {\r\n\r\n transform(value: number): string {\r\n switch (value) {\r\n case OrgStatus.CR: return 'CR';\r\n case OrgStatus.NOTSTARTED: return 'NOT STARTED';\r\n case OrgStatus.CFO: return 'CFO';\r\n case OrgStatus.DIR: return 'DIR';\r\n case OrgStatus.LP: return 'LP';\r\n case OrgStatus.LR: return 'LR';\r\n case OrgStatus.FINAL: return 'FINAL';\r\n case OrgStatus.DRAFT: return 'DRAFT';\r\n case OrgStatus.RR: return 'RR';\r\n case OrgStatus.RETURNED: return 'RETURNED';\r\n case OrgStatus.NOTREQUIRED: return 'NOT REQUIRED';\r\n default: return '';\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'minusSignToParens'\r\n})\r\nexport class MinusSignToParens implements PipeTransform {\r\n\r\n transform(value: any, args?: any): any {\r\n return value.charAt(0) === '-' ? `(${value.substring(1, value.length)})` : value;\r\n }\r\n}\r\n","import { Pipe } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({ name: 'safeHtml' })\r\nexport class SafeHtmlPipe {\r\n constructor(private readonly sanitizer: DomSanitizer) { }\r\n\r\n transform(value: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'yesNo'})\r\nexport class YesNoPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n return value ? 'Yes' : 'No';\r\n }\r\n}\r\n","import { Routes } from '@angular/router';\r\nimport { MsalGuard } from '@azure/msal-angular';\r\nimport { ActiveUserGuard } from './core/guards/active-user.guard';\r\nimport { AuthAdminGuard } from './core/guards/auth-admin.guard';\r\nimport { HomeComponent } from './home/home.component';\r\n\r\nexport const appRoutes: Routes = [\r\n {\r\n path: '',\r\n canActivate: [MsalGuard],\r\n component: HomeComponent,\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'admin',\r\n canActivate: [AuthAdminGuard, ActiveUserGuard],\r\n loadChildren: () => import('./admin/admin.module').then(m => m.AdminModule)\r\n },\r\n {\r\n path: 'todo',\r\n canActivate: [ActiveUserGuard],\r\n loadChildren: () => import('./user-todo/todo.module').then(m => m.UserTodoModule)\r\n },\r\n {\r\n path: 'data-entry-status',\r\n canActivate: [ActiveUserGuard],\r\n loadChildren: () => import('./data-entry-status/data-entry-status.module').then(m => m.DataEntryStatusModule)\r\n },\r\n {\r\n path: 'filing-obligation',\r\n canActivate: [ActiveUserGuard],\r\n loadChildren: () => import('./filing-obligation/filing-obligation.module').then(m => m.FilingObligationModule)\r\n },\r\n {\r\n path: 'general-questionnaire',\r\n canActivate: [ActiveUserGuard],\r\n loadChildren: () => import('./general-questionnaire/general-questionnaire.module').then(m => m.GeneralQuestionnaireModule)\r\n },\r\n {\r\n path: 'taxes',\r\n canActivate: [ActiveUserGuard],\r\n loadChildren: () => import('./taxes/taxes.module').then(m => m.TaxesModule)\r\n },\r\n {\r\n path: 'loss-contingency',\r\n canActivate: [ActiveUserGuard],\r\n loadChildren: () => import('./loss-contingency/loss-contingency.module').then(m => m.LossContingencyModule)\r\n },\r\n {\r\n path: 'validation-review',\r\n canActivate: [ActiveUserGuard],\r\n loadChildren: () => import('./validation-review/validation-review.module').then(m => m.ValidationReviewModule)\r\n },\r\n {\r\n path: 'aged-asset',\r\n canActivate: [ActiveUserGuard],\r\n loadChildren: () => import('./aged-asset/aged-asset.module').then(m => m.AgedAssetModule)\r\n },\r\n {\r\n path: '**',\r\n redirectTo: '/'\r\n },\r\n /*\r\n { path: 'admin-tools/manage-content', canActivate: [AuthAndRoleGuard], loadChildren: () => import('./admin-tools/admin-tools.module').then(m => m.AdminToolsModule) },\r\n { path: 'error', canActivate: [MsalGuard], loadChildren: () => import('./error/error.module').then(m => m.ErrorModule) },\r\n */\r\n];\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { PopupDialogComponent } from '../shared/popup-dialog/popup-dialog.component';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DialogMessageService {\r\n\r\n constructor(public dialog: MatDialog) { }\r\n\r\n openMessage(dTitle: string, dMsg: string, cancelable: boolean = false, isError: boolean = false, dWidth: number = 300): MatDialogRef {\r\n return this.dialog.open(PopupDialogComponent, {\r\n data: {\r\n title: dTitle,\r\n content: dMsg,\r\n okText: 'Ok',\r\n cancelText: 'Cancel',\r\n showCancel: cancelable,\r\n isErrorMsg: isError,\r\n width: dWidth,\r\n }\r\n });\r\n }\r\n\r\n confirmActions(message = 'Do you attest that the selection above is correct?'): MatDialogRef {\r\n return this.dialog.open(PopupDialogComponent, {\r\n data: {\r\n title: 'Confirm Action',\r\n content: message,\r\n okText: 'Yes',\r\n cancelText: 'No',\r\n showCancel: true,\r\n isErrorMsg: false,\r\n width: 300,\r\n }\r\n });\r\n }\r\n\r\n openErrorMessage(err): MatDialogRef {\r\n const message = err.error ? err.error.message : 'Unknown Error';\r\n return this.dialog.open(PopupDialogComponent, {\r\n data: {\r\n title: 'An Error Occurred',\r\n content: message,\r\n okText: 'Ok',\r\n showCancel: false,\r\n isErrorMsg: true\r\n }\r\n });\r\n }\r\n\r\n InputErrorMessage(): MatDialogRef {\r\n return this.dialog.open(PopupDialogComponent, {\r\n data: {\r\n title: 'Input Error',\r\n content: 'Value provided causes the input or a total to exceed the limit of 9,007,199,254,740,991.',\r\n okText: 'Ok',\r\n showCancel: false,\r\n isErrorMsg: true,\r\n width: 300,\r\n }\r\n });\r\n }\r\n\r\n SubmitErrorMessage(message = 'The submit failed because at least one field on this form is invalid. Locate and fix the problem(s), then try again.'): MatDialogRef {\r\n return this.dialog.open(PopupDialogComponent, {\r\n data: {\r\n title: 'Invalid Submit',\r\n content: message,\r\n okText: 'Ok',\r\n showCancel: false,\r\n isErrorMsg: true,\r\n width: 300,\r\n }\r\n });\r\n }\r\n\r\n //this will exist specifically for azure AD errors because it is an external API and doesn't actually interact with our backend at all.\r\n azureADUserError() {\r\n this.dialog.open(PopupDialogComponent, {\r\n data: {\r\n title: 'Azure AD - Error',\r\n content: 'The selected user is not configured to have access to this application. If you are certain this user needs access, please contact GMIT.',\r\n okText: 'Ok',\r\n showCancel: false,\r\n isErrorMsg: true\r\n }\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 LoadingSpinnerService {\r\n public isLoading = false;\r\n public loadingSpinnerUpdates: Subject = new Subject;\r\n constructor() { }\r\n\r\n public getLoadingSpinnerUpdates(): Observable {\r\n return this.loadingSpinnerUpdates.asObservable();\r\n }\r\n\r\n public disable(): void {\r\n this.isLoading = false;\r\n this.loadingSpinnerUpdates.next(false);\r\n }\r\n\r\n public enable(): void {\r\n this.isLoading = true;\r\n this.loadingSpinnerUpdates.next(true);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { MsalBroadcastService, MsalService } from '@azure/msal-angular';\r\nimport { AuthenticationResult, EventMessage, EventType, InteractionStatus } from '@azure/msal-browser';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MsalHelperService {\r\n\r\n public alreadyInitialized: boolean = false;\r\n activeUser: string | undefined = 'unknown user';\r\n isAuthenticated = false;\r\n msalSubjects: Subscription;\r\n inProgressUpdates: Subscription;\r\n \r\n constructor(\r\n private readonly http: HttpClient,\r\n @Inject('BASE_URL') private readonly originUrl: string,\r\n private readonly msalBroadcastService: MsalBroadcastService,\r\n private readonly msal: MsalService\r\n ) {}\r\n\r\n public runAfterAuthenticated(callback: () => any): void {\r\n //if MSAL login has already completed, just callback because we've already initialized the app\r\n if (this.alreadyInitialized) {\r\n callback();\r\n }\r\n else {\r\n this.msalBroadcastService.inProgress$.pipe(\r\n filter((status: InteractionStatus) => status === InteractionStatus.None)\r\n ).subscribe({\r\n next: () => {\r\n const activeAccount = this.msal.instance.getActiveAccount();\r\n this.isAuthenticated = !!activeAccount;\r\n this.activeUser = activeAccount?.username;\r\n if (this.isAuthenticated) {\r\n this.alreadyInitialized = true;\r\n callback();\r\n }\r\n }\r\n });\r\n\r\n this.msalBroadcastService.msalSubject$.pipe(\r\n filter((message: EventMessage) => message.eventType === EventType.LOGIN_SUCCESS)\r\n ).subscribe({\r\n next: (message: EventMessage) => {\r\n const authResult = message.payload as AuthenticationResult;\r\n this.msal.instance.setActiveAccount(authResult.account);\r\n }\r\n });\r\n }\r\n }\r\n\r\n public updateLastLogin(): Observable {\r\n return this.http.get(this.originUrl + 'api/user/logindate');\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { AdminOrganization } from '../types/admin/admin-organization';\r\nimport { Org, ReturnOrgRequest } from '../types/org';\r\nimport { OrgControlValues } from '../types/org-control-values';\r\nimport { User } from '../types/user';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OrgManagementService {\r\n private readonly orgMessenger = new Subject();\r\n\r\n constructor(private readonly http: HttpClient, @Inject('BASE_URL') private readonly originUrl: string) { }\r\n\r\n pathOrgMaintenence = 'api/OrgMaintenance';\r\n\r\n public getUser(): Observable {\r\n return this.http.get(`${this.originUrl}api/user`);\r\n }\r\n\r\n public getOrgMaintenance(): Observable { // only those with dropdown type \"Organization\"\r\n return this.http.get(`${this.originUrl}${this.pathOrgMaintenence}`);\r\n }\r\n\r\n public getControlValues(): Observable {\r\n return this.http.get(`${this.originUrl}${this.pathOrgMaintenence}/ControlValues`);\r\n }\r\n\r\n public getSpecificOrg(orgNumber: number): Observable {\r\n return this.http.get(`${this.originUrl}${this.pathOrgMaintenence}/${orgNumber}`);\r\n }\r\n\r\n // GM.FAS5_PG\\GM.FAS5.API\\Endpoint\\Admin\\OrgMaintenance\\OrgMaintenanceController.cs\r\n // has the endpoint information required\r\n // additional checks required\r\n\r\n public saveChanges(org: Org): Observable {\r\n return this.http.put(`${this.originUrl}${this.pathOrgMaintenence}`, org);\r\n }\r\n \r\n public createOrg(org: Org): Observable {\r\n return this.http.post(`${this.originUrl}${this.pathOrgMaintenence}`, org);\r\n }\r\n\r\n public getNewOrgSubscription(): Observable {\r\n return this.orgMessenger.asObservable();\r\n }\r\n\r\n public propagateOrg() {\r\n this.orgMessenger.next();\r\n }\r\n\r\n public returnItems(returnRequest: ReturnOrgRequest): Observable {\r\n return this.http.post(`${this.originUrl}${this.pathOrgMaintenence}/Return`, returnRequest);\r\n }\r\n\r\n public finalizeSelectedOrg(org: Org): Observable {\r\n return this.http.post(`${this.originUrl}${this.pathOrgMaintenence}/Finalize`, org);\r\n }\r\n\r\n public isOrgRetirable(orgNumber: number): Observable {\r\n return this.http.get(`${this.originUrl}${this.pathOrgMaintenence}/Retirable/${orgNumber}`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Subject } from 'rxjs';\r\nimport { Role } from '../types/enumerated-types/roles';\r\nimport { OQContext } from '../types/organization-quarter-context';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QuarterSelectorService {\r\n selectedOQContext: OQContext = { org: null, qtr: null };\r\n selectedContextChange: Subject = new Subject();\r\n\r\n constructor(private readonly snackBar: MatSnackBar) {\r\n this.selectedContextChange.subscribe({ next: (value) => this.selectedOQContext = value });\r\n }\r\n\r\n public setSelectedContext(context: OQContext) {\r\n this.selectedContextChange.next(context);\r\n }\r\n\r\n public getCurrentRoleAsTitle() {\r\n return this.selectedOQContext.org ? this.getUserRoleAsTitle(this.selectedOQContext.org.role) : '';\r\n }\r\n\r\n public isInitialized():boolean {\r\n return this.selectedOQContext.org != null && this.selectedOQContext.qtr != null;\r\n }\r\n\r\n public getUserRoleAsTitle(userRole: number): string {\r\n switch (userRole) {\r\n case Role.P: return 'P';\r\n case Role.LP: return 'LP';\r\n case Role.LR: return 'LR';\r\n case Role.CR: return 'CR';\r\n case Role.RR: return 'RR';\r\n case Role.CFO: return 'CFO';\r\n case Role.DIR: return 'DIR';\r\n case Role.Admin: return 'Auditor';\r\n case Role.Auditor: return 'Auditor';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n public displayOrgOrQtrChanged (message: string, timeAlive: number) {\r\n this.snackBar.open(message, '', {\r\n duration: timeAlive * 1000, // number is in milliseconds\r\n horizontalPosition: 'end',\r\n verticalPosition: 'bottom'\r\n });\r\n }\r\n\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ApprovePayload } from '../types/filing-obligation.type';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SysUtilService {\r\n\r\n constructor(private readonly http: HttpClient, @Inject('BASE_URL') private readonly originUrl: string) { }\r\n\r\n public getProgramParam(param_name: string): Observable {\r\n return this.http.get(this.originUrl + 'api/util/param/' + param_name);\r\n }\r\n\r\n public getEnv(): Observable {\r\n return this.http.get(this.originUrl + 'api/util/env/');\r\n }\r\n\r\n public getCurrentQuarter(): Observable {\r\n return this.http.get(this.originUrl + 'api/Quarter/Current/');\r\n }\r\n\r\n public getAdminNotes(org: number, qtr: number): Observable {\r\n return this.http.get(this.originUrl + `api/util/notes/${org}/${qtr}`);\r\n }\r\n\r\n public updateAdminNotes(org: number, qtr: number, note: string): Observable {\r\n const responsePayload: ApprovePayload = new ApprovePayload();\r\n responsePayload.value = note;\r\n return this.http.put(this.originUrl + `api/util/notes/${org}/${qtr}`, responsePayload)\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { User } from '../types/user';\r\nimport { shareReplay, map, catchError } from 'rxjs/operators';\r\nimport { Version } from '../types/version';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n private currentUser$: Observable;\r\n\r\n constructor(private readonly http: HttpClient, @Inject('BASE_URL') private readonly originUrl: string) { }\r\n\r\n public get currentUser(): Observable {\r\n if (!this.currentUser$) {\r\n this.currentUser$ = this.getCurrentUser().pipe(\r\n shareReplay(1)\r\n );\r\n }\r\n return this.currentUser$;\r\n }\r\n\r\n public getCurrentUser(): Observable {\r\n this.currentUser$ = this.http.get(this.originUrl + 'api/user').pipe(\r\n map(result => {\r\n const user: User = new User();\r\n Object.assign(user, result);\r\n return user as User;\r\n }), catchError(err => {\r\n return throwError(err);\r\n })\r\n );\r\n return this.currentUser$;\r\n }\r\n\r\n public getVersion(): Observable {\r\n return this.http.get(this.originUrl + 'api/user/version');\r\n }\r\n}\r\n","import { DecimalPipe } from '@angular/common';\r\nimport { Directive, ElementRef, HostListener, OnInit, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[currencyFormatter]'\r\n})\r\nexport class CurrencyFormatterDirective implements OnInit {\r\n currencyChars = new RegExp('[\\.,]', 'g'); // we're going to remove commas and dots\r\n\r\n constructor(\r\n public el: ElementRef,\r\n public renderer: Renderer2,\r\n private readonly decimalPipe: DecimalPipe){\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.format(this.el.nativeElement.value); // format any initial values\r\n }\r\n\r\n @HostListener('input', ['$event.target.value']) onInput(e: string) {\r\n this.format(e);\r\n };\r\n\r\n @HostListener('paste', ['$event']) onPaste(event: ClipboardEvent) {\r\n event.preventDefault();\r\n this.format(event.clipboardData.getData('text/plain'));\r\n }\r\n\r\n format(val: string) {\r\n //test for non-number characters and replace/remove them\r\n if (val !== '-') {\r\n const numberFormat = parseInt(String(val).replace(this.currencyChars, ''));\r\n\r\n //format the number (add commas)\r\n const usd = this.decimalPipe.transform(numberFormat, '1.0-0');\r\n\r\n //replace the input value with formatted numbers\r\n this.renderer.setProperty(this.el.nativeElement, 'value', usd);\r\n }\r\n else {\r\n this.renderer.setProperty(this.el.nativeElement, 'value', val);\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[NumberOnly]'\r\n})\r\nexport class NumberOnlyDirective {\r\n\r\n private readonly regex: RegExp = new RegExp('^\\d*$');\r\n private readonly specialKeys: Array = ['Backspace', 'ArrowLeft', 'ArrowRight', 'Tab'];\r\n constructor(private readonly elementRef: ElementRef) { }\r\n\r\n /**\r\n * Key board action\r\n * @param event \r\n */\r\n @HostListener('keydown', ['$event']) onKeyDown(event: KeyboardEvent) {\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n const inputValue: string = this.elementRef.nativeElement.value.concat(event.key);\r\n if (inputValue && !String(inputValue).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n /**\r\n * Copy Paste action \r\n * @param event \r\n */\r\n @HostListener('paste', ['$event']) onPaste(event) {\r\n const clipboardData = (event.originalEvent || event).clipboardData.getData('text/plain');\r\n if (clipboardData && !this.regex.test(clipboardData)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nexport interface DialogData {\r\n title: string;\r\n content: string;\r\n okText: string;\r\n cancelText: string;\r\n showCancel: boolean;\r\n model: any;\r\n hideButtons: boolean;\r\n isErrorMsg: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'popup-dialog',\r\n templateUrl: 'popup-dialog.component.html',\r\n styleUrls: ['./popup-dialog.component.scss']\r\n})\r\nexport class PopupDialogComponent {\r\n errorMsgStyle = {\r\n 'background-color': '#d2232bad',\r\n 'color': '#fff',\r\n 'border': '1px solid #d2232bad'\r\n };\r\n infoMsgStyle = {\r\n 'background-color': '#0072CE',\r\n 'color': '#fff',\r\n 'border': '1px solid #0072CE'\r\n };\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData) { }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","

\r\n {{data.title}}\r\n close\r\n

\r\n
\r\n
\r\n
\r\n\r\n   \r\n \r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'progress-spinner',\r\n templateUrl: './progress-spinner.component.html',\r\n styleUrls: ['./progress-spinner.component.scss']\r\n})\r\nexport class ProgressSpinnerComponent {\r\n\r\n}\r\n","
\r\n \r\n \r\n
\r\n","import { CommonModule, DecimalPipe } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { FabGmLogoModule } from '@fabric/components/gm-logo';\r\nimport { FormStatusPipe } from '../pipes/form-status-pipe';\r\nimport { MinusSignToParens } from '../pipes/minus-sign-to-parens';\r\nimport { SafeHtmlPipe } from '../pipes/safe-html.pipe';\r\nimport { YesNoPipe } from '../pipes/yes-no.pipe';\r\nimport { CurrencyFormatterDirective } from './directives/currency-formatter.directive';\r\nimport { NumberOnlyDirective } from './directives/number-only.directive';\r\nimport { PopupDialogComponent } from './popup-dialog/popup-dialog.component';\r\nimport { ProgressSpinnerComponent } from './progress-spinner/progress-spinner.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatFormFieldModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatMenuModule,\r\n MatTableModule,\r\n MatSidenavModule,\r\n MatProgressSpinnerModule,\r\n MatDatepickerModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatNativeDateModule,\r\n MatSelectModule,\r\n MatDialogModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSlideToggleModule,\r\n MatCheckboxModule,\r\n MatTabsModule,\r\n MatAutocompleteModule,\r\n MatExpansionModule,\r\n MatAutocompleteModule,\r\n MatRadioModule,\r\n FabGmLogoModule\r\n ],\r\n declarations: [\r\n ProgressSpinnerComponent,\r\n PopupDialogComponent,\r\n SafeHtmlPipe,\r\n YesNoPipe,\r\n FormStatusPipe,\r\n MinusSignToParens,\r\n NumberOnlyDirective,\r\n CurrencyFormatterDirective,\r\n ],\r\n providers: [DecimalPipe],\r\n exports: [\r\n MatButtonModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatFormFieldModule,\r\n MatMenuModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatSidenavModule,\r\n MatProgressSpinnerModule,\r\n ProgressSpinnerComponent,\r\n PopupDialogComponent,\r\n MatDatepickerModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatNativeDateModule,\r\n MatSelectModule,\r\n MatDialogModule,\r\n MatSlideToggleModule,\r\n MatCheckboxModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatTabsModule,\r\n YesNoPipe,\r\n FormStatusPipe,\r\n MinusSignToParens,\r\n MatAutocompleteModule,\r\n MatExpansionModule,\r\n MatAutocompleteModule,\r\n MatRadioModule,\r\n NumberOnlyDirective,\r\n CurrencyFormatterDirective,\r\n FabGmLogoModule\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","export enum OrgStatus {\r\n CR = 1,\r\n NOTSTARTED,\r\n CFO,\r\n DIR,\r\n LP,\r\n LR,\r\n FINAL,\r\n DRAFT,\r\n RR,\r\n RETURNED,\r\n NOTREQUIRED,\r\n}\r\n\r\n//Returns Form status as string.\r\n//Form status not same transformation as Role Transformation\r\nexport function getFormStatusAsTitle(formStatus: number): string {\r\n switch (formStatus) {\r\n case OrgStatus.CR: return 'CR';\r\n case OrgStatus.NOTSTARTED: return 'NOT STARTED';\r\n case OrgStatus.CFO: return 'CFO';\r\n case OrgStatus.DIR: return 'DIR';\r\n case OrgStatus.LP: return 'LP';\r\n case OrgStatus.LR: return 'LR';\r\n case OrgStatus.FINAL: return 'FINAL';\r\n case OrgStatus.DRAFT: return 'DRAFT';\r\n case OrgStatus.RR: return 'RR';\r\n case OrgStatus.RETURNED: return 'RETURNED';\r\n case OrgStatus.NOTREQUIRED: return 'NOT REQUIRED';\r\n default: return '';\r\n }\r\n}\r\n\r\n/**\r\n * Obtains the order in which forms are approved based on their matching database value (enumerated as OrgStatus).\r\n * The intent of this function is to give a logical numeric state that corresponds with the role to resoponsibility based comparisons.\r\n * The approval order is as follows:\r\n * NOTSTARTED/RETURNED/DRAFT (1) -> LP (2) -> LR (3) -> CR (4) -> RR (5) -> CFO (6) -> DIR (7) -> FINAL (8)\r\n * The NOTREQUIRED (9) state gets the highest value.\r\n * \r\n * \r\n * @param formStatus The OrgStatus enumerated value\r\n * @returns the numeric approval chain order that forms go through, beginning with NOTSTARTED and ending with NOTREQUIRED.\r\n */\r\nexport function getApprovalOrder(formStatus: number): number {\r\n switch (formStatus) {\r\n case OrgStatus.NOTSTARTED: return 1;\r\n case OrgStatus.RETURNED: return 1;\r\n case OrgStatus.DRAFT: return 1;\r\n case OrgStatus.LP: return 2;\r\n case OrgStatus.LR: return 3;\r\n case OrgStatus.CR: return 4;\r\n case OrgStatus.RR: return 5;\r\n case OrgStatus.CFO: return 6;\r\n case OrgStatus.DIR: return 7;\r\n case OrgStatus.FINAL: return 10;\r\n case OrgStatus.NOTREQUIRED: return 10;\r\n //no default return on purpose\r\n }\r\n}\r\n","export enum Role {\r\n P = 1,\r\n LP,\r\n LR,\r\n CR,\r\n RR,\r\n CFO,\r\n DIR,\r\n Admin,\r\n Auditor,\r\n}\r\n\r\nexport function getRoleName(role): string {\r\n let r = Number(role);\r\n switch (r) {\r\n case Role.P: return 'P';\r\n case Role.LP: return 'LP';\r\n case Role.LR: return 'LR';\r\n case Role.CR: return 'CR';\r\n case Role.RR: return 'RR';\r\n case Role.CFO: return 'CFO';\r\n case Role.DIR: return 'DIR';\r\n case Role.Admin: return 'Admin';\r\n case Role.Auditor: return 'Auditor';\r\n default:\r\n return '';\r\n }\r\n}\r\n\r\nexport function getRoleNum(role: string): number {\r\n switch (role) {\r\n case 'P': return Role.P;\r\n case 'LP': return Role.LP;\r\n case 'LR': return Role.LR;\r\n case 'CR': return Role.CR;\r\n case 'RR': return Role.RR;\r\n case 'CFO': return Role.CFO;\r\n case 'DIR': return Role.DIR;\r\n case 'Admin': return Role.Admin;\r\n case 'Auditor': return Role.Auditor;\r\n default:\r\n return Role.Auditor;\r\n }\r\n}\r\n","export class LPQuestionnaireReviewHistory {\r\n public id: number;\r\n public review_Submitted_Date?: Date;\r\n public reviewer_Submitter: string;\r\n public action: string;\r\n public status: string;\r\n public recipient: string;\r\n public comment: string;\r\n public orgId: number;\r\n public qtrId: number;\r\n public statusId: number;\r\n}\r\n\r\nexport class LPQuestionnaireFormState {\r\n public approvable: boolean;\r\n public editable: boolean;\r\n public returnable: boolean;\r\n}\r\n\r\nexport class FOResponseObject {\r\n public id: number;\r\n public status: number;\r\n public orgId: number;\r\n public qtrId: number;\r\n public q1_HasIndirectTaxLC: number;\r\n public q1i_LCProbableLikelihoodExceed1M: number;\r\n public q1ia_Aggregate: number;\r\n public q1ii_LCPossibleLikelihoodExceed5M: number;\r\n public q1iib_Aggregate: number;\r\n public q1iii_LCRemoteLikelihoodExceed10M: number;\r\n public q1iiic_Aggregate: number;\r\n public q2_IndirectTaxGCExceed5M: number;\r\n public q2d_Aggregate: number;\r\n public q3_IndirectTaxAssetsExceed1M: number;\r\n public q4_AnnualThroughPutExceed100M: number;\r\n public priorQ4_AnnualThroughPutExceed100M: number;\r\n public q4_ChangeInResponseDesc: string;\r\n public prepared_UpdatedBy: string;\r\n public activeLossContingencies: number;\r\n public lcTotalOpeningBalanceProbable: number;\r\n public lcTotalOpeningBalancePossible: number;\r\n public lcTotalOpeningBalanceRemote: number;\r\n public gcTotalOpeningBalance: number;\r\n public aaPriorQuarterTotal: number;\r\n public reviewHistory: LPQuestionnaireReviewHistory[];\r\n}\r\n\r\nexport class FOPayload {\r\n public formState: LPQuestionnaireFormState;\r\n public viewModel: FOResponseObject;\r\n}\r\n\r\nexport class FOApprovePayload{\r\n public formState: LPQuestionnaireFormState;\r\n public reviewHistoryItem: LPQuestionnaireReviewHistory;\r\n}\r\n\r\nexport class ApprovePayload {\r\n public value: string;\r\n}\r\n","import { OrgRole } from './org-role';\r\nimport { Organization } from './organization';\r\nimport { Right } from './right';\r\n\r\nexport class User {\r\n public id: number;\r\n public logon: string;\r\n public firstName: string;\r\n public lastName: string;\r\n public email: string;\r\n public admin: boolean;\r\n public active: boolean;\r\n public organizations: Organization[];\r\n public roles: OrgRole[];\r\n public rights: Right[];\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n auth: {\r\n redirectUri: document.getElementsByTagName('base')[0].href,\r\n clientId: '',\r\n authority: '',\r\n apiScope: ''\r\n }\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\n/**\r\n * This is meant to get config settings into the 'environment' object in order for the providers to use them\r\n * if you use this main.ts, note that bootstrapModule is inside of runApp\r\n * this is a scripting file so call it at the end\r\n * */\r\nconst runApp = async () => {\r\n const populateEnv = () => new Promise(async (resolve) => {\r\n await fetch(\r\n `${document.getElementsByTagName('base')[0].href}api/configuration/getauthconfig`,\r\n { method: 'GET' })\r\n .then(res => res.json())\r\n .then((json) => {\r\n // confirm config variables if you use this\r\n environment.auth = {\r\n ...environment.auth,\r\n clientId: json.clientId,\r\n authority: json.authority,\r\n apiScope: json.apiScope\r\n };\r\n });\r\n resolve(true);\r\n });\r\n\r\n populateEnv().then(() => {\r\n platformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n });\r\n};\r\n\r\n// MUST CALL FOR ANGULAR TO RUN\r\nrunApp();\r\n"],"names":["RouterModule","routes","AppRoutingModule","_","_2","_3","forRoot","imports","i1","exports","User","i0","ɵɵelement","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","AppComponent_div_0_Template_button_click_27_listener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","logout","ɵɵtemplate","AppComponent_div_0_progress_spinner_46_Template","ɵɵadvance","ɵɵproperty","user","ɵɵtextInterpolate1","titleService","getTitle","usermenu_r3","ɵɵtextInterpolate","userName","ɵɵpureFunction0","_c1","metamenu_r4","versionData","version","env","isLoading","AppComponent","constructor","msalHelper","authService","selectorService","router","messageService","userService","utilService","loadingSpinnerService","orgManagementService","changeDetectionRef","title","loginDisplay","loginValidated","ngOnInit","setTitle","runAfterAuthenticated","currentUser","subscribe","next","active","error","err","complete","selectedContextChange","value","selectedQtr","qtr","displayOrgOrQtrChanged","selectedOrg","org","setLoginDisplay","openErrorMessage","updateLastLogin","console","log","getVersion","getEnv","loadingSpinnerUpdator","getLoadingSpinnerUpdates","detectChanges","events","val","userUpdateSubscription","getNewOrgSubscription","getCurrentUser","result","oqSelector","organizations","sort","sortOrg","chooseSelectedOrg","add","disable","ngOnDestroy","unsubscribe","instance","getAllAccounts","length","getActiveAccount","name","isAdmin","isTodo","getCurrentRoleAsTitle","postLogoutRedirectUri","url","startsWith","ɵɵdirectiveInject","Title","i2","MsalHelperService","i3","MsalService","i4","QuarterSelectorService","i5","Router","i6","DialogMessageService","i7","UserService","i8","SysUtilService","i9","LoadingSpinnerService","i10","OrgManagementService","ChangeDetectorRef","selectors","viewQuery","AppComponent_Query","rf","ctx","AppComponent_div_0_Template","AppComponent_div_1_Template","BrowserModule","BrowserAnimationsModule","FSABPreloadingStrategy","appRoutes","SharedModule","CoreModule","HttpClientModule","HTTP_INTERCEPTORS","BrowserCacheLocation","InteractionType","LogLevel","PublicClientApplication","environment","MsalBroadcastService","MsalGuard","MsalInterceptor","MsalModule","MsalRedirectComponent","MSAL_GUARD_CONFIG","MSAL_INSTANCE","MSAL_INTERCEPTOR_CONFIG","HomeComponent","FAB_THEME_SETTING","MAT_FORM_FIELD_DEFAULT_OPTIONS","ErrorHandlerInterceptor","loggerCallback","logLevel","message","MSALInstanceFactory","auth","cache","cacheLocation","LocalStorage","storeAuthStateInCookie","system","loggerOptions","Warning","piiLoggingEnabled","MSALInterceptorConfigFactory","protectedResourceMap","Map","set","apiScope","interactionType","Redirect","MSALGuardConfigFactory","AppModule","bootstrap","provide","useValue","location","origin","useClass","multi","useFactory","appearance","floatLabel","subscriptSizing","preloadingStrategy","anchorScrolling","onSameUrlNavigation","scrollPositionRestoration","declarations","of","preload","route","load","data","CommonModule","NavMenuComponent","OrgQuarterSelectorComponent","MatDialogModule","AuthAdminGuard","FormEditingGuard","ActiveUserGuard","msalGuard","canActivate","state","_this","_asyncToGenerator","msalResult","toPromise","navigate","ɵɵinject","factory","ɵfac","providedIn","admin","canDeactivate","component","dialogRef","confirmActions","afterClosed","then","_ref","choice","discardChanges","_x","apply","arguments","HttpErrorResponse","tap","intercept","request","handle","pipe","event","status","window","reload","_c10","NavMenuComponent_mat_nav_list_1_a_17_Template","_c0","_c2","_c3","_c4","_c5","_c6","_c7","_c8","_c9","NavMenuComponent_mat_nav_list_2_a_17_Template","_c11","_c12","_c13","_c14","_c15","_c16","_c17","_c18","_c19","ctx_r0","response","isUserActive","inputs","decls","vars","consts","template","NavMenuComponent_Template","NavMenuComponent_mat_nav_list_1_Template","NavMenuComponent_mat_nav_list_2_Template","OrgQuarterSelectorComponent_div_0_mat_form_field_2_mat_option_5_Template_mat_option_click_0_listener","org_r4","_r3","$implicit","selectedOrgChanged","OrgQuarterSelectorComponent_div_0_mat_form_field_2_mat_option_5_Template_mat_option_keydown_enter_0_listener","ɵɵtextInterpolate2","orgCode","ɵɵtwoWayListener","OrgQuarterSelectorComponent_div_0_mat_form_field_2_Template_mat_select_valueChange_3_listener","$event","ɵɵtwoWayBindingSet","selectedOQContext","OrgQuarterSelectorComponent_div_0_mat_form_field_2_Template_mat_select_opened_3_listener","setViewToSelected","OrgQuarterSelectorComponent_div_0_mat_form_field_2_mat_option_5_Template","ɵɵtwoWayProperty","OrgQuarterSelectorComponent_div_0_mat_form_field_3_mat_option_4_Template_mat_option_click_0_listener","quarter_r7","_r6","selectedQuarterChanged","OrgQuarterSelectorComponent_div_0_mat_form_field_3_mat_option_4_Template_mat_option_keydown_enter_0_listener","OrgQuarterSelectorComponent_div_0_mat_form_field_3_Template_mat_select_valueChange_3_listener","_r5","OrgQuarterSelectorComponent_div_0_mat_form_field_3_mat_option_4_Template","quarters","ɵɵpropertyInterpolate","defaultCurrency","OrgQuarterSelectorComponent_div_0_mat_form_field_2_Template","OrgQuarterSelectorComponent_div_0_mat_form_field_3_Template","OrgQuarterSelectorComponent_div_0_mat_form_field_4_Template","msalHelperService","quarterSelectorService","orgManager","initializeOrgData","newOrgSubscription","queryParams","params","setSelectedOrgById","parseInt","availableQuarters","localStorage","setItem","id","selectActiveQuarter","setSelectedContext","quarter","i","last","getItem","selectedId","_org","q","a","b","isAdminRoute","orgSelector","panel","nativeElement","querySelector","focus","ActivatedRoute","OrgQuarterSelectorComponent_Query","OrgQuarterSelectorComponent_div_0_Template","isInitialized","determineNavScreen","orgSubscrption","dest","HomeComponent_Template","HomeComponent_p_1_Template","OrgStatus","FormStatusPipe","transform","CR","NOTSTARTED","CFO","DIR","LP","LR","FINAL","DRAFT","RR","RETURNED","NOTREQUIRED","pure","MinusSignToParens","args","charAt","substring","SafeHtmlPipe","sanitizer","bypassSecurityTrustHtml","DomSanitizer","YesNoPipe","path","pathMatch","loadChildren","m","AdminModule","UserTodoModule","DataEntryStatusModule","FilingObligationModule","GeneralQuestionnaireModule","TaxesModule","LossContingencyModule","ValidationReviewModule","AgedAssetModule","redirectTo","PopupDialogComponent","dialog","openMessage","dTitle","dMsg","cancelable","isError","dWidth","open","content","okText","cancelText","showCancel","isErrorMsg","width","InputErrorMessage","SubmitErrorMessage","azureADUserError","MatDialog","Subject","loadingSpinnerUpdates","asObservable","enable","EventType","InteractionStatus","filter","http","originUrl","msalBroadcastService","msal","alreadyInitialized","activeUser","isAuthenticated","callback","inProgress$","None","activeAccount","username","msalSubject$","eventType","LOGIN_SUCCESS","authResult","payload","setActiveAccount","account","get","HttpClient","orgMessenger","pathOrgMaintenence","getUser","getOrgMaintenance","getControlValues","getSpecificOrg","orgNumber","saveChanges","put","createOrg","post","propagateOrg","returnItems","returnRequest","finalizeSelectedOrg","isOrgRetirable","Role","snackBar","context","getUserRoleAsTitle","role","userRole","P","Admin","Auditor","timeAlive","duration","horizontalPosition","verticalPosition","MatSnackBar","ApprovePayload","getProgramParam","param_name","getCurrentQuarter","getAdminNotes","updateAdminNotes","note","responsePayload","throwError","shareReplay","map","catchError","currentUser$","Object","assign","CurrencyFormatterDirective","el","renderer","decimalPipe","currencyChars","RegExp","format","onInput","e","onPaste","preventDefault","clipboardData","getData","numberFormat","String","replace","usd","setProperty","ElementRef","Renderer2","DecimalPipe","hostBindings","CurrencyFormatterDirective_HostBindings","CurrencyFormatterDirective_input_HostBindingHandler","target","CurrencyFormatterDirective_paste_HostBindingHandler","NumberOnlyDirective","elementRef","regex","specialKeys","onKeyDown","indexOf","key","inputValue","concat","match","originalEvent","test","NumberOnlyDirective_HostBindings","NumberOnlyDirective_keydown_HostBindingHandler","NumberOnlyDirective_paste_HostBindingHandler","MAT_DIALOG_DATA","PopupDialogComponent_button_9_Template_button_click_0_listener","onNoClick","errorMsgStyle","infoMsgStyle","close","MatDialogRef","PopupDialogComponent_Template","PopupDialogComponent_Template_span_click_2_listener","PopupDialogComponent_Template_span_keydown_enter_2_listener","PopupDialogComponent_button_9_Template","ɵɵpipeBind1","ɵɵsanitizeHtml","ɵɵpureFunction1","model","ProgressSpinnerComponent","ProgressSpinnerComponent_Template","FormsModule","ReactiveFormsModule","MatNativeDateModule","MatDatepickerModule","MatExpansionModule","MatIconModule","MatAutocompleteModule","MatButtonModule","MatCheckboxModule","MatFormFieldModule","MatInputModule","MatListModule","MatMenuModule","MatPaginatorModule","MatProgressSpinnerModule","MatRadioModule","MatSelectModule","MatSlideToggleModule","MatSnackBarModule","MatTableModule","MatTabsModule","MatSidenavModule","MatSortModule","FabGmLogoModule","getFormStatusAsTitle","formStatus","getApprovalOrder","getRoleName","r","Number","getRoleNum","LPQuestionnaireReviewHistory","LPQuestionnaireFormState","FOResponseObject","FOPayload","FOApprovePayload","production","redirectUri","document","getElementsByTagName","href","clientId","authority","enableProdMode","getBaseUrl","providers","deps","runApp","populateEnv","Promise","_ref2","resolve","fetch","method","res","json","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}