{"version":3,"sources":["webpack:///$_lazy_route_resources|lazy|groupOptions: {}|namespace object","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/app.routing.module.ts","webpack:///src/app/auth/auth-callback/auth-callback.component.html","webpack:///src/app/auth/auth-callback/auth-callback.component.ts","webpack:///src/app/auth/auth-routing.module.ts","webpack:///src/app/auth/auth-silent-callback/auth-silent-callback.component.html","webpack:///src/app/auth/auth-silent-callback/auth-silent-callback.component.ts","webpack:///src/app/auth/auth.config.ts","webpack:///src/app/auth/auth.module.ts","webpack:///src/app/auth/auth.service.ts","webpack:///src/app/core/common/enums.ts","webpack:///src/app/core/core.module.ts","webpack:///src/app/core/guards/additional-data.guard.ts","webpack:///src/app/core/guards/auth.guard.ts","webpack:///src/app/core/interceptors/http-auth-interceptor.ts","webpack:///src/app/core/model/foundation.model.ts","webpack:///src/app/core/model/user.model.ts","webpack:///src/app/core/resolvers/user-foundation.resolver.ts","webpack:///src/app/core/services/account-service.ts","webpack:///src/app/core/services/api-client.service.ts","webpack:///src/app/core/services/candid-popup.service.ts","webpack:///src/app/core/services/foundation.service.ts","webpack:///src/app/core/services/general-service.ts","webpack:///src/app/core/services/user-info.service.ts","webpack:///src/app/core/services/user.service.ts","webpack:///src/app/features/account/login/login-routing.module.ts","webpack:///src/app/features/account/login/login.component.ts","webpack:///src/app/features/account/login/login.module.ts","webpack:///src/app/features/account/register/additional-data-form/additional-data-form.component.html","webpack:///src/app/features/account/register/additional-data-form/additional-data-form.component.ts","webpack:///src/app/features/account/register/form-section.class.ts","webpack:///src/app/features/account/register/register-container/register-container.component.ts","webpack:///src/app/features/account/register/register-container/register-container.component.html","webpack:///src/app/features/account/register/register-routing.module.ts","webpack:///src/app/features/account/register/register.module.ts","webpack:///src/app/features/account/register/register/password-strength.validator.ts","webpack:///src/app/features/account/register/register/password-validator-feedback/password-validator-feedback.component.html","webpack:///src/app/features/account/register/register/password-validator-feedback/password-validator-feedback.component.ts","webpack:///src/app/features/account/register/register/register.component.html","webpack:///src/app/features/account/register/register/register.component.ts","webpack:///src/app/features/account/register/rejected/rejected.component.ts","webpack:///src/app/features/account/register/rejected/rejected.component.html","webpack:///src/app/features/account/register/thank-you/thank-you.component.ts","webpack:///src/app/features/account/register/thank-you/thank-you.component.html","webpack:///src/app/features/features-routing.module.ts","webpack:///src/app/features/features.module.ts","webpack:///src/app/main/footer/footer.component.html","webpack:///src/app/main/footer/footer.component.ts","webpack:///src/app/main/home/home.component.html","webpack:///src/app/main/home/home.component.ts","webpack:///src/app/main/main.module.ts","webpack:///src/app/main/navbar/navbar.component.html","webpack:///src/app/main/navbar/navbar.component.ts","webpack:///src/app/main/page-info/page-info-template.component.ts","webpack:///src/app/main/page-info/page-info.module.ts","webpack:///src/app/main/page-info/pages/page-forbidden.component.ts","webpack:///src/app/main/page-info/page-info-template.component.html","webpack:///src/app/main/page-info/pages/page-not-found.component.ts","webpack:///src/app/main/top/top.component.ts","webpack:///src/app/main/top/top.component.html","webpack:///src/app/material.module.ts","webpack:///src/app/shared/dialogs/dialog-action/dialog-action.component.ts","webpack:///src/app/shared/dialogs/dialog-action/dialog-action.component.html","webpack:///src/app/shared/dialogs/dialog-info/dialog-info.component.ts","webpack:///src/app/shared/dialogs/dialog-info/dialog-info.component.html","webpack:///src/app/shared/dialogs/dialog-logging-process/dialog-logging-process.component.ts","webpack:///src/app/shared/dialogs/dialog-logging-process/dialog-logging-process.component.html","webpack:///src/app/shared/dialogs/dialogs.module.ts","webpack:///src/app/shared/directives/directives.module.ts","webpack:///src/app/shared/directives/forbidden-role.directive.ts","webpack:///src/app/shared/directives/invalid-control-scroll.directive.ts","webpack:///src/app/shared/directives/password-switch-type.directive.ts","webpack:///src/app/shared/directives/required-role.directive.ts","webpack:///src/app/shared/directives/viewport.directive.ts","webpack:///src/app/shared/form/form.directive.ts","webpack:///src/app/shared/info-tooltip/info-tooltip.component.html","webpack:///src/app/shared/info-tooltip/info-tooltip.component.ts","webpack:///src/app/shared/info-tooltip/info-tooltip.module.ts","webpack:///src/app/shared/info-tooltip/info.pipe.ts","webpack:///src/app/shared/loader/loader.module.ts","webpack:///src/app/shared/loader/loading.directive.ts","webpack:///src/app/shared/loader/spinner.component.ts","webpack:///src/app/shared/loader/spinner.component.html","webpack:///src/app/shared/operators/indicate.ts","webpack:///src/app/shared/operators/liveSearch.ts","webpack:///src/app/shared/pipes/custom-currency.pipe.ts","webpack:///src/app/shared/pipes/form-control.pipe.ts","webpack:///src/app/shared/pipes/form-group.pipe.ts","webpack:///src/app/shared/pipes/yes-no.pipe.ts","webpack:///src/app/shared/previous-values/previous-values.component.html","webpack:///src/app/shared/previous-values/previous-values.component.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/app/shared/validation-feedback/validation-feedback.component.html","webpack:///src/app/shared/validation-feedback/validation-feedback.component.ts","webpack:///src/app/shared/validation-feedback/validators/custom.validators.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts","webpack:///ignored|C:\\TeamCity\\buildAgent3\\work\\b80917506e013c8a\\CFI.Web\\node_modules\\crypto-js|crypto"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","id","module","exports","AppComponent","_matDialog","_authService","_titleService","_router","displayLoggingDialog","setTabTitles","loggingProcess","subscribe","isLogging","open","DialogLoggingProcessComponent","disableClose","width","closeAll","events","event","NavigationEnd","_title","pathTitle","getPathTitle","routerState","root","title","setTitle","state","parent","snapshot","data","firstChild","silentInterval","setInterval","isAuthenticated","tokenExpired","loginSilently","maskConfig","thousandSeparator","AppModule","provide","MAT_FORM_FIELD_DEFAULT_OPTIONS","useValue","floatLabel","BrowserModule","BrowserAnimationsModule","AuthModule","MaterialModule","CoreModule","MainModule","AppRoutingModule","NgxMaskModule","routes","path","component","HomeComponent","pathMatch","PageForbiddenComponent","PageNotFoundComponent","redirectTo","RouterModule","scrollPositionRestoration","anchorScrolling","onSameUrlNavigation","AuthCallbackComponent","error","url","indexOf","completeAuthentication","AuthSilentCallbackComponent","AuthRoutingModule","completeSilentAuthentication","AuthSettings","authority","appConfig","authorizationUrl","client_id","clientId","client_secret","clientSecret","redirect_uri","clientUrl","response_type","scope","loadUserInfo","automaticSilentRenew","silent_redirect_uri","post_logout_redirect_uri","logoutUrl","ngModule","providers","AuthService","CommonModule","MatCardModule","_userInfoService","_accountService","_userManager","UserManager","_loggingProcess","BehaviorSubject","_authStatusSource","ReplaySubject","authStatus$","asObservable","getUser","user","expired","buildAuthenticatedUser","signinSilent","userResult","next","addUserLoaded","_authenticatedUser","addUserSignedOut","removeUser","value","signinRedirect","window","location","href","localStorage","removeItem","silentLogin","get","toPromise","info","registered","status","UserStatus","navigate","from","signinRedirectCallback","pipe","switchMap","sendLoginEvent","redirectURL","getRedirectURLFromState","replace","signinSilentCallback","signoutRedirect","setItem","token_type","id_token","URL","searchParams","role","roles","includes","some","r","findIndex","loginEvent","eventUrl","origin","sessionId","sid","timestamp","Date","toISOString","mapTo","profile","name","email","family_name","given_name","token","parseJwt","JSON","parse","atob","split","at_hash","hasRole","Role","expDate","setUTCSeconds","exp","expISODate","checkISODate","InputMaskPatterns","FieldLengthLimit","PageSize","HTTP_INTERCEPTORS","useClass","HttpAuthInterceptor","multi","HttpClientModule","ToastrModule","AdditionalDataGuard","route","isRegistered","of","AuthGuard","segments","fullPath","reduce","currentSegment","hash","first","tap","queryParams","redirect","replaceUrl","map","hasAnyOfRoles","_toastrService","allowedUrls","apiUrl","checkUrl","toLowerCase","handle","getAuthorizationToken","headers","getHeaders","newReq","clone","setHeaders","catchError","err","HttpErrorResponse","handle401Error","handle404Error","handle500Error","throwError","_","navigateByUrl","EMPTY","detail","callUrl","isFromService","startsWith","serviceUrlBase","callUrlBase","hostname","protocol","authorization","isForApi","apiKey","Object","length","FoundationMember","FoundationRegion","FoundationStatus","FoundationConversionType","RuralUrbanAreaLabels","RuralUrbanAreaOptions","AreaScope","TechnologySoftwareOther","UserFoundationResolver","_foundationService","getMyFoundation","x","isMember","insightsMember","foundationName","isGhostFoundation","AccountService","_apiClientService","loginEventData","post","put","ApiClientService","_http","uriTemplate","queryParameters","buildUrl","segmentParams","responseType","commandParameters","patch","deleteParameters","parseDateValues","uri","query","toString","params","prop","constructor","CandidPopupService","search","URLSearchParams","type","mode","context","FoundationService","foundationId","foundation","searchCriteria","foundations","mapLookup","foundationsLookup","items","f","urn","externalUrn","GeneralService","UserInfoService","UserService","userId","foundationExternalUrn","update","foundationUrnExternal","LoginComponent","LoginRoutingModule","login","LoginModule","AdditionalDataFormComponent","_fb","_userService","isLoading$","Subject","form","group","requestedFoundationName","Validators","jobTitle","valid","firstName","givenName","lastName","familyName","create","indicate","RegisterPage","candidHomePageUrl","RegisterContainerComponent","canActivate","ThankYouComponent","RejectedComponent","RegisterRoutingModule","RegisterModule","ReactiveFormsModule","SharedModule","RegisterComponent","PasswordValidatorFeedbackComponent","upperCaseCharactersValidator","control","upperCaseCharacters","test","lowerCaseCharactersValidator","lowerCaseCharacters","numberCharactersValidator","numberCharacters","specialCharactersValidator","specialCharacters","PasswordValidator","strength","confirmed","controlName","matchingControlName","input","matchingInput","errors","confirmedValidator","setErrors","_formGroup","_control","hasError","getError","requiredLength","_activatedRoute","registerForm","CustomValidators","password","confirmPassword","validators","relativeTo","goToHomePage","loadChildren","m","SurveyListModule","canLoad","SurveyModule","SurveysModule","BenchmarkingModule","FoundationsModule","AccountsModule","ManageModule","FeaturesRoutingModule","FeaturesModule","FooterComponent","_candidPopupService","showHelpBar$","filter","navigation","distinctUntilChanged","openSupport","_generalService","_domSanitizer","text$","getTextsToDisplay","getWelcomePageTextForDisplay","text","santizedText","forEach","propertyKey","key","bypassSecurityTrustHtml","shareReplay","DirectivesModule","PageInfoModule","DialogsModule","LoaderModule","NavbarComponent","TopComponent","menuOpen","adminRoutes","label","userRoutes","routerLinkActiveOptions","exact","manageRoutes","newValue","oldValue","signout","showNavigationButtons$","PageInfoTemplateComponent","errorCode","message","modules","MatButtonModule","MatToolbarModule","MatIconModule","MatGridListModule","MatRadioModule","MatExpansionModule","MatFormFieldModule","MatInputModule","MatSlideToggleModule","MatMenuModule","MatTabsModule","MatChipsModule","MatCheckboxModule","MatDialogModule","MatPaginatorModule","MatTableModule","MatProgressSpinnerModule","MatTooltipModule","MatDatepickerModule","MatNativeDateModule","MatSelectModule","DragDropModule","DialogActionComponent","dialogRef","MAT_DIALOG_DATA","DialogInfoComponent","directives","RequiredRoleDirective","ForbiddenRoleDirective","PasswordSwitchTypeDirective","InvalidControlScrollDirective","ViewportDirective","templateRef","viewContainerRef","ngIf","Array","isArray","templateElse","ngIfElse","NgIf","_el","_formGroupDir","scrollDelayDueToAnimation","scrollOffset","invalid","setTimeout","scrollToFirstInvalidControl","firstInvalidControl","nativeElement","querySelector","scroll","top","getTopOffset","left","behavior","fromEvent","debounceTime","focus","controlEl","labelOffset","getBoundingClientRect","scrollY","cfiPasswordSwitchType","_element","isAboveChange","EventEmitter","_intersectionObserver","IntersectionObserver","entries","checkForIntersection","observe","unobserve","disconnect","entry","emit","isIntersecting","boundingClientRect","FormDirective","_hostElement","_renderer","attributes","autocomplete","setAttribute","InfoTooltipComponent","InfoTooltipModule","InfoPipe","infoPath","p","c","SpinnerComponent","LoadingDirective","_templateRef","_vcRef","_componentFactoryResolver","loadingFactory","resolveComponentFactory","loading","clear","loadingComponent","createComponent","createEmbeddedView","color","diameter","size","prepare","callback","source","defer","indicator","finalize","defaultDelay","liveSearch","delay","source$","CustomCurrencyPipe","_mask","masks","negative","transform","toFixed","OnlyNumber","FormControlPipe","FormGroupPipe","YesNoPipe","flag","PreviousValuesComponent","emptyMark","MaskPipe","ValidationFeedbackComponent","inputType","untouched","min","max","setupControl","getControlByName","sumValidator","notFilled","values","every","v","sum","acc","val","Number","incorrectSum","customEmailValidator","digitsValidator","digits","exactDigits","RegExp","String","environment","production","enableProdMode","platformBrowser","bootstrapModule","console"],"mappings":"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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { Component, OnInit } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute, NavigationEnd, Router, RouterState } from \"@angular/router\";\r\n\r\nimport { AuthService } from \"./auth\";\r\nimport { DialogLoggingProcessComponent } from \"./shared/dialogs/dialog-logging-process/dialog-logging-process.component\";\r\n\r\ninterface RouterStateActivatedRoute {\r\n firstChild(route: ActivatedRoute): ActivatedRoute;\r\n}\r\n\r\n@Component({\r\n selector: \"cfi-root\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: [\"./app.component.scss\"]\r\n})\r\nexport class AppComponent implements OnInit {\r\n private _title: Nullable;\r\n\r\n constructor(\r\n private _matDialog: MatDialog,\r\n private _authService: AuthService,\r\n private _titleService: Title,\r\n private _router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.displayLoggingDialog();\r\n this.setTabTitles();\r\n // this.setSilentRenew();\r\n }\r\n\r\n private displayLoggingDialog() {\r\n this._authService.loggingProcess.subscribe(isLogging => {\r\n if (isLogging) {\r\n this._matDialog.open(DialogLoggingProcessComponent, { disableClose: true, width: \"450px\" });\r\n } else {\r\n this._matDialog.closeAll();\r\n }\r\n });\r\n }\r\n\r\n private setTabTitles(): void {\r\n this._router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n this._title = null;\r\n const pathTitle = this.getPathTitle(this._router.routerState, this._router.routerState.root);\r\n const title = `${pathTitle || \"\"}${pathTitle ? \" | \" : \"\"}CF Insights`;\r\n this._titleService.setTitle(title);\r\n }\r\n });\r\n }\r\n\r\n private getPathTitle(state: RouterState, parent: ActivatedRoute): Nullable {\r\n if (parent && parent.snapshot.data && parent.snapshot.data.title) {\r\n this._title = parent.snapshot.data.title;\r\n }\r\n\r\n if (state && parent) {\r\n this.getPathTitle(state, (state as unknown as RouterStateActivatedRoute).firstChild(parent));\r\n }\r\n\r\n return this._title;\r\n }\r\n\r\n private setSilentRenew(): void {\r\n const silentInterval = 15;\r\n setInterval(() => {\r\n if (this._authService.isAuthenticated && this._authService.tokenExpired) {\r\n this._authService.loginSilently();\r\n }\r\n }, silentInterval * 1000);\r\n }\r\n}\r\n","\n\n\n
\n \n
\n\n\n","import { NgModule } from \"@angular/core\";\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from \"@angular/material/form-field\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { AuthModule } from \"@app/auth\";\r\nimport { IConfig, NgxMaskModule } from \"ngx-mask\";\r\n\r\nimport { AppComponent } from \"./app.component\";\r\nimport { AppRoutingModule } from \"./app.routing.module\";\r\nimport { CoreModule } from \"./core/core.module\";\r\nimport { MainModule } from \"./main/main.module\";\r\nimport { MaterialModule } from \"./material.module\";\r\n\r\nconst maskConfig: Partial = {\r\n thousandSeparator: \",\"\r\n};\r\n\r\n@NgModule({\r\n providers: [{\r\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\r\n useValue: { floatLabel: \"always\" }\r\n }],\r\n declarations: [\r\n AppComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n AuthModule.forRoot(),\r\n MaterialModule,\r\n BrowserAnimationsModule,\r\n CoreModule,\r\n MainModule,\r\n AppRoutingModule,\r\n NgxMaskModule.forRoot(maskConfig)\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n\r\nimport { HomeComponent } from \"./main/home/home.component\";\r\nimport { PageForbiddenComponent } from \"./main/page-info/pages/page-forbidden.component\";\r\nimport { PageNotFoundComponent } from \"./main/page-info/pages/page-not-found.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: HomeComponent,\r\n pathMatch: \"full\"\r\n },\r\n {\r\n path: \"unauthorized\",\r\n component: PageForbiddenComponent\r\n },\r\n {\r\n path: \"not-found\",\r\n component: PageNotFoundComponent\r\n },\r\n {\r\n path: \"**\",\r\n redirectTo: \"not-found\",\r\n pathMatch: \"full\"\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, {\r\n scrollPositionRestoration: \"enabled\",\r\n anchorScrolling: \"enabled\",\r\n onSameUrlNavigation: \"reload\"\r\n })\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class AppRoutingModule { }\r\n","\n
\n
\n

\n Oops!\n

\n
\n
\n

There was an error, please try to login again.

\n
\n
\n
\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nimport { AuthService } from \"../auth.service\";\r\n\r\n@Component({\r\n selector: \"cfi-auth-callback\",\r\n templateUrl: \"./auth-callback.component.html\",\r\n styleUrls: [\"auth-callback.component.scss\"]\r\n})\r\nexport class AuthCallbackComponent implements OnInit {\r\n error = false;\r\n\r\n constructor(private _authService: AuthService, private _router: Router) { }\r\n\r\n ngOnInit(): void {\r\n if (this._router.url.indexOf(\"error\") >= 0) {\r\n this.error = true;\r\n return;\r\n }\r\n\r\n this._authService.completeAuthentication();\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n\r\nimport { AuthCallbackComponent } from \"./auth-callback/auth-callback.component\";\r\nimport { AuthSilentCallbackComponent } from \"./auth-silent-callback/auth-silent-callback.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"auth-callback\",\r\n component: AuthCallbackComponent\r\n },\r\n {\r\n path: \"auth-silent-callback\",\r\n component: AuthSilentCallbackComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AuthRoutingModule { }\r\n","\n
\n
\n

\n Oops!\n

\n
\n
\n

There was an error, please try to login again.

\n
\n
\n
\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nimport { AuthService } from \"../auth.service\";\r\n\r\n@Component({\r\n selector: \"cfi-auth-silent-callback\",\r\n templateUrl: \"./auth-silent-callback.component.html\",\r\n styleUrls: [\"auth-silent-callback.component.scss\"]\r\n})\r\nexport class AuthSilentCallbackComponent implements OnInit {\r\n error = false;\r\n\r\n constructor(private _authService: AuthService, private _router: Router) { }\r\n\r\n ngOnInit(): void {\r\n if (this._router.url.indexOf(\"error\") >= 0) {\r\n this.error = true;\r\n return;\r\n }\r\n\r\n this._authService.completeSilentAuthentication();\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { UserManagerSettings } from \"oidc-client-ts\";\r\n\r\nexport class AuthSettings {\r\n static getClientSettings(): UserManagerSettings {\r\n return {\r\n authority: appConfig.authorizationUrl,\r\n client_id: appConfig.clientId,\r\n client_secret: appConfig.clientSecret,\r\n redirect_uri: `${appConfig.clientUrl}/auth-callback`,\r\n response_type: \"code\",\r\n scope: \"openid profile email\",\r\n loadUserInfo: true,\r\n automaticSilentRenew: false,\r\n silent_redirect_uri: `${appConfig.clientUrl}/auth-silent-callback`,\r\n post_logout_redirect_uri: appConfig.logoutUrl\r\n };\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\n\r\nimport { AuthCallbackComponent } from \"./auth-callback/auth-callback.component\";\r\nimport { AuthSilentCallbackComponent } from \"./auth-silent-callback/auth-silent-callback.component\";\r\nimport { AuthRoutingModule } from \"./auth-routing.module\";\r\nimport { AuthService } from \"./auth.service\";\r\n\r\n@NgModule({\r\n declarations: [\r\n AuthCallbackComponent,\r\n AuthSilentCallbackComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n AuthRoutingModule,\r\n MatCardModule\r\n ]\r\n})\r\nexport class AuthModule {\r\n public static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: AuthModule,\r\n providers: [AuthService]\r\n };\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Role } from \"@app/core/common/enums\";\r\nimport { UserInfo } from \"@app/core/model/user-info.model\";\r\nimport { UserStatus } from \"@app/core/model/user.model\";\r\nimport { AccountService } from \"@app/core/services/account-service\";\r\nimport { UserInfoService } from \"@app/core/services/user-info.service\";\r\nimport { User, UserManager } from \"oidc-client-ts\";\r\nimport { from, Observable, BehaviorSubject, ReplaySubject } from \"rxjs\";\r\nimport { mapTo, switchMap } from \"rxjs/operators\";\r\n\r\nimport { AuthSettings } from \"./auth.config\";\r\n\r\ninterface AuthenticatedUser {\r\n user: User;\r\n info?: UserInfo;\r\n}\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n loggingProcess: Observable;\r\n authStatus$: Observable;\r\n\r\n private _userManager = new UserManager(AuthSettings.getClientSettings());\r\n private _authenticatedUser: Nullable;\r\n private _loggingProcess = new BehaviorSubject(false);\r\n private _authStatusSource = new ReplaySubject();\r\n\r\n constructor(\r\n private _router: Router,\r\n private _userInfoService: UserInfoService,\r\n private _accountService: AccountService\r\n ) {\r\n this.authStatus$ = this._authStatusSource.asObservable();\r\n this.loggingProcess = this._loggingProcess.asObservable();\r\n\r\n this._userManager.getUser().then(async user => {\r\n if (!!user && !user.expired) {\r\n await this.buildAuthenticatedUser(user);\r\n } else {\r\n this._userManager.signinSilent().then(async (userResult) => {\r\n await this.buildAuthenticatedUser(userResult as User);\r\n }).catch(() => {\r\n this._authStatusSource.next(false);\r\n });\r\n }\r\n });\r\n\r\n this._userManager.events.addUserLoaded(user => {\r\n if (this._authenticatedUser?.user !== user) {\r\n this._authenticatedUser = {\r\n user,\r\n ...this._authenticatedUser\r\n };\r\n }\r\n });\r\n\r\n this._userManager.events.addUserSignedOut(() => {\r\n this._userManager.removeUser().then(() => {\r\n this._authenticatedUser = null;\r\n this._authStatusSource.next(false);\r\n });\r\n });\r\n }\r\n\r\n async login(): Promise {\r\n if (!this._loggingProcess.value) {\r\n this._loggingProcess.next(true);\r\n await this._userManager.signinRedirect({ state: window.location.href });\r\n this.localStorage?.removeItem(\"signout\");\r\n }\r\n }\r\n\r\n loginSilently(): void {\r\n this._userManager.signinSilent().then(async (userResult) => {\r\n await this.buildAuthenticatedUser(userResult as User, true);\r\n });\r\n }\r\n\r\n async buildAuthenticatedUser(user: User, silentLogin: boolean = false): Promise {\r\n this._loggingProcess.next(!silentLogin);\r\n const info = await (this._userInfoService.get()).toPromise();\r\n\r\n this._authenticatedUser = {\r\n user,\r\n info\r\n };\r\n\r\n if (info.registered && info.status === UserStatus.Approved) {\r\n this._authStatusSource.next(this.isAuthenticated);\r\n } else {\r\n if (!info.registered) {\r\n this._router.navigate([\"/additional-data\"]);\r\n } else if (info.status === UserStatus.Pending) {\r\n this._router.navigate([\"/thank-you\"]);\r\n } else if (info.status === UserStatus.Rejected) {\r\n this._router.navigate([\"/request-rejected\"]);\r\n }\r\n this._authStatusSource.next(false);\r\n }\r\n\r\n this._loggingProcess.next(false);\r\n }\r\n\r\n completeAuthentication(): void {\r\n this._loggingProcess.next(true);\r\n\r\n from(this._userManager.signinRedirectCallback()).pipe(\r\n switchMap(user => this.sendLoginEvent(user))\r\n ).subscribe(user => {\r\n const redirectURL = this.getRedirectURLFromState(user.state as string);\r\n window.location.replace(redirectURL);\r\n });\r\n }\r\n\r\n completeSilentAuthentication(): void {\r\n from(this._userManager.signinSilentCallback()).subscribe();\r\n }\r\n\r\n signout(): void {\r\n this._userManager.signoutRedirect().then(() => {\r\n this._authenticatedUser = null;\r\n this._authStatusSource.next(false);\r\n this.localStorage?.setItem(\"signout\", \"true\");\r\n });\r\n }\r\n\r\n getAuthorizationToken(): Promise> {\r\n return this._userManager.getUser().then(user => {\r\n if (!user) {\r\n return null;\r\n }\r\n return `${user.token_type} ${user.id_token as string}`;\r\n });\r\n }\r\n\r\n getRedirectURLFromState(state: string): string {\r\n return new URL(state).searchParams.get(\"redirect\") || \"/\";\r\n }\r\n\r\n hasRole(role: Role): boolean {\r\n return this._authenticatedUser?.info?.roles?.includes(role) || false;\r\n }\r\n\r\n hasAnyOfRoles(roles: Role[]): boolean {\r\n return this._authenticatedUser?.info?.roles?.some(r => roles.findIndex(role => role === r) > -1) || false;\r\n }\r\n\r\n private sendLoginEvent(user: User): Observable {\r\n return this._accountService.loginEvent({\r\n eventUrl: window.location.origin,\r\n sessionId: this.sid,\r\n timestamp: new Date().toISOString()\r\n }).pipe(mapTo(user));\r\n }\r\n\r\n get name(): Nullable {\r\n return this._authenticatedUser?.user?.profile.name;\r\n }\r\n\r\n get email(): Nullable {\r\n return this._authenticatedUser?.user?.profile.email;\r\n }\r\n\r\n get familyName(): Nullable {\r\n return this._authenticatedUser?.user?.profile.family_name;\r\n }\r\n\r\n get givenName(): Nullable {\r\n return this._authenticatedUser?.user?.profile.given_name;\r\n }\r\n\r\n get userId(): number {\r\n return this._authenticatedUser?.info?.id || -1;\r\n }\r\n\r\n get sid(): string {\r\n const token = this._authenticatedUser?.user?.id_token as string;\r\n const parseJwt = JSON.parse(atob(token.split(\".\")[1]));\r\n return parseJwt.at_hash as string;\r\n }\r\n\r\n get isAuthenticated(): boolean {\r\n return !!this._authenticatedUser?.user;\r\n }\r\n\r\n get isRegistered(): boolean {\r\n return this._authenticatedUser?.info?.registered ?? false;\r\n }\r\n\r\n get isAdmin(): boolean {\r\n return this.hasRole(Role.Admin);\r\n }\r\n\r\n get isIpaAdmin(): boolean {\r\n return this.hasRole(Role.IpaAdmin);\r\n }\r\n\r\n get localStorage(): Nullable {\r\n if (typeof window !== \"undefined\") {\r\n return localStorage;\r\n }\r\n return null;\r\n }\r\n\r\n get tokenExpired(): boolean {\r\n const token = this._authenticatedUser?.user?.id_token as string;\r\n const parseJwt = JSON.parse(atob(token.split(\".\")[1]));\r\n const expDate = new Date(0);\r\n expDate.setUTCSeconds(parseJwt.exp);\r\n const expISODate = expDate.toISOString();\r\n const checkISODate = new Date().toISOString();\r\n return new Date(checkISODate) >= new Date(expISODate);\r\n }\r\n}\r\n","export enum Role {\r\n Admin = \"urn:candid:cfi:role:admin\",\r\n IpaAdmin = \"urn:candid:cfi:role:ipa-admin\"\r\n}\r\n\r\nexport enum InputMaskPatterns {\r\n OnlyNumber = \"separator.2\",\r\n EIN = \"000000000\",\r\n NaturalNumber = \"separator.0\",\r\n Year = \"9999\"\r\n}\r\n\r\nexport enum FieldLengthLimit {\r\n short = 50,\r\n long = 350,\r\n extraLong = 500\r\n}\r\n\r\nexport enum PageSize {\r\n small = 25,\r\n large = 100\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from \"@angular/common/http\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\n\r\nimport { HttpAuthInterceptor } from \"./interceptors/http-auth-interceptor\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n ToastrModule.forRoot()\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: HttpAuthInterceptor,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class CoreModule { }\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n RouterStateSnapshot\r\n} from \"@angular/router\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { Role } from \"@app/core/common/enums\";\r\nimport { Observable, of } from \"rxjs\";\r\n\r\nexport interface PermissionData {\r\n roles: Role[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class AdditionalDataGuard implements CanActivate {\r\n constructor(private _router: Router, private _authService: AuthService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n return this.isAuthenticated(state.url, route.data as PermissionData);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n private isAuthenticated(url: string, data?: PermissionData): Observable {\r\n if (!this._authService.isAuthenticated) this._router.navigate([\"login\"]);\r\n else if (this._authService.isRegistered) this._router.navigate([\"/\"]);\r\n\r\n return of(this._authService.isAuthenticated);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n CanLoad,\r\n Route,\r\n Router,\r\n RouterStateSnapshot,\r\n UrlSegment\r\n} from \"@angular/router\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { Role } from \"@app/core/common/enums\";\r\nimport { Observable } from \"rxjs\";\r\nimport { first, map, tap } from \"rxjs/operators\";\r\n\r\nexport interface PermissionData {\r\n roles: Role[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class AuthGuard implements CanActivate, CanLoad {\r\n constructor(private _router: Router, private _authService: AuthService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n return this.isAuthenticated(state.url, route.data as PermissionData);\r\n }\r\n\r\n canLoad(route: Route, segments: UrlSegment[]): Observable {\r\n const fullPath = segments.reduce((path, currentSegment) => `${path}/${currentSegment.path}`, \"\");\r\n const { hash } = window.location;\r\n return this.isAuthenticated(fullPath + hash, route.data as PermissionData);\r\n }\r\n\r\n private isAuthenticated(url: string, data?: PermissionData): Observable {\r\n return this._authService.authStatus$.pipe(\r\n first(),\r\n tap(isAuthenticated => {\r\n if (!isAuthenticated) {\r\n this._router.navigate([\"login\"], { queryParams: { redirect: url }, replaceUrl: true });\r\n }\r\n }),\r\n map(isAuthenticated => {\r\n if (isAuthenticated && data?.roles) {\r\n if (!this._authService.hasAnyOfRoles(data.roles)) {\r\n this._router.navigate([\"unauthorized\"]);\r\n return false;\r\n }\r\n }\r\n\r\n return isAuthenticated;\r\n })\r\n );\r\n }\r\n}\r\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { EMPTY, from, Observable, throwError } from \"rxjs\";\r\nimport { catchError } from \"rxjs/operators\";\r\nimport * as URLParse from \"url-parse\";\r\n\r\n@Injectable()\r\nexport class HttpAuthInterceptor implements HttpInterceptor {\r\n allowedUrls = [appConfig.clientUrl, appConfig.apiUrl, appConfig.authorizationUrl];\r\n\r\n constructor(private _authService: AuthService, private _router: Router, private _toastrService: ToastrService) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (!this.checkUrl(req.url.toLowerCase())) {\r\n return next.handle(req);\r\n }\r\n\r\n return from(this._authService.getAuthorizationToken().then(token => {\r\n const headers = this.getHeaders(req, token);\r\n const newReq = headers\r\n ? req.clone({ setHeaders: headers })\r\n : req;\r\n\r\n return next.handle(newReq).toPromise();\r\n })).pipe(\r\n catchError((err) => {\r\n if (err instanceof HttpErrorResponse) {\r\n switch (err.status) {\r\n case 401:\r\n return this.handle401Error(err);\r\n case 404:\r\n return this.handle404Error(err);\r\n default:\r\n return this.handle500Error(err);\r\n }\r\n }\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n\r\n // Handlers for http status codes\r\n private handle401Error(_: HttpErrorResponse): Observable> {\r\n this._router.navigateByUrl(\"login\");\r\n return EMPTY;\r\n }\r\n\r\n private handle404Error(_: HttpErrorResponse): Observable> {\r\n this._router.navigateByUrl(\"not-found\");\r\n return EMPTY;\r\n }\r\n\r\n private handle500Error(error: HttpErrorResponse): Observable> {\r\n this._toastrService.error(error.error?.detail || \"Operation failed\", \"Error\");\r\n return EMPTY;\r\n }\r\n\r\n // Helper methods\r\n private checkUrl(callUrl: string): boolean {\r\n return this.allowedUrls.some(url => this.isFromService(url, callUrl));\r\n }\r\n\r\n private isFromService(url: string, callUrl: string): boolean {\r\n if (!callUrl.startsWith(url)) {\r\n return false;\r\n }\r\n\r\n const serviceUrlBase = new URLParse(url);\r\n const callUrlBase = new URLParse(callUrl);\r\n\r\n return serviceUrlBase.hostname === callUrlBase.hostname\r\n && serviceUrlBase.protocol === callUrlBase.protocol;\r\n }\r\n\r\n private getHeaders(req: HttpRequest, token: Nullable): Nullable<{ [name: string]: string }> {\r\n let headers = {};\r\n\r\n if (token) {\r\n headers = { ...headers, authorization: token };\r\n }\r\n\r\n if (this.isForApi(req.url)) {\r\n headers = { ...headers, \"x-api-key\": appConfig.apiKey };\r\n }\r\n\r\n return Object.keys(headers).length ? headers : null;\r\n }\r\n\r\n private isForApi(callUrl: string): boolean {\r\n return this.isFromService(appConfig.apiUrl, callUrl);\r\n }\r\n}\r\n","import { SearchCriteria } from \"@app/shared/paginator/paginator.models\";\r\n\r\nexport interface FoundationBase {\r\n status?: FoundationStatusKeys;\r\n ipa?: boolean;\r\n foundationCode?: number;\r\n region: FoundationRegionKeys;\r\n yearFoundationCreated: number;\r\n fiscalYearEnd: string;\r\n isConversionFoundation: boolean;\r\n conversionFoundationType: Nullable;\r\n conversionFoundationOtherType: Nullable;\r\n ruralUrbanArea: RuralUrbanArea;\r\n areaScope: AreaScopeKeys;\r\n serviceAreas: ServiceArea[];\r\n nationalStandardsCompliant: boolean;\r\n}\r\n\r\nexport interface ServiceArea {\r\n state: string;\r\n county: string;\r\n}\r\n\r\nexport interface RuralUrbanArea {\r\n rural: boolean;\r\n urban: boolean;\r\n}\r\n\r\nexport type FoundationUpdate = FoundationBase;\r\n\r\nexport interface FoundationCreate extends FoundationBase {\r\n foundationExternalUrn: string;\r\n}\r\n\r\nexport interface Foundation extends FoundationBase {\r\n urn: string;\r\n foundationExternalUrn: string;\r\n id: number;\r\n foundationName: string;\r\n insightsMember: FoundationMemberKeys;\r\n ein: string;\r\n street: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n isGhostFoundation: boolean;\r\n}\r\n\r\nexport interface FoundationComparison {\r\n foundation: Foundation;\r\n foundationSubmitted: Foundation;\r\n}\r\n\r\nexport interface FoundationExternal {\r\n urn: string;\r\n foundationName: string;\r\n ein: string;\r\n street: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n insightsMember: FoundationMemberKeys;\r\n isGhostFoundation: boolean;\r\n}\r\n\r\nexport interface FoundationsLookup {\r\n id: number;\r\n foundationName: string;\r\n urn: string;\r\n externalUrn: string;\r\n state: string;\r\n isGhostFoundation: boolean;\r\n}\r\n\r\nexport enum FoundationMember {\r\n Participant = \"Participant\",\r\n Member = \"Member\"\r\n}\r\n\r\nexport type FoundationMemberKeys = keyof typeof FoundationMember;\r\n\r\nexport enum FoundationRegion {\r\n Midwest = \"Midwest\",\r\n South = \"South\",\r\n West = \"West\",\r\n Northeast = \"Northeast\"\r\n}\r\n\r\nexport type FoundationRegionKeys = keyof typeof FoundationRegion;\r\n\r\nexport enum FoundationStatus {\r\n Pending = \"Pending\",\r\n Approved = \"Approved\",\r\n Declined = \"Declined\",\r\n Initial = \"Initial\"\r\n}\r\n\r\nexport type FoundationStatusKeys = keyof typeof FoundationStatus;\r\n\r\nexport enum FoundationConversionType {\r\n Education = \"Education\",\r\n Healthcare = \"Healthcare\",\r\n Private = \"Private\",\r\n Other = \"Other\"\r\n}\r\n\r\nexport type FoundationConversionTypeKeys = keyof typeof FoundationConversionType;\r\n\r\nexport enum RuralUrbanAreaLabels {\r\n Urban = \"Urban\",\r\n Rural = \"Rural\",\r\n Both = \"Both\"\r\n}\r\n\r\nexport type RuralUrbanAreaLabelsKeys = keyof typeof RuralUrbanAreaLabels;\r\n\r\nexport enum RuralUrbanAreaOptions {\r\n rural = \"Rural\",\r\n urban = \"Urban\"\r\n}\r\n\r\nexport enum AreaScope {\r\n City = \"City\",\r\n County = \"County\",\r\n MultiCounty = \"MultiCounty\",\r\n Region = \"Region\",\r\n State = \"State\",\r\n OutsideUS = \"OutsideUS\"\r\n}\r\n\r\nexport const TechnologySoftwareOther = \"Other\";\r\n\r\nexport type AreaScopeKeys = keyof typeof AreaScope;\r\n\r\nexport interface FoundationSearchCriteria extends SearchCriteria {\r\n status: FoundationStatus;\r\n}\r\n","import { SearchCriteria } from \"@app/shared/paginator/paginator.models\";\r\n\r\nexport interface User {\r\n id: number;\r\n accountId: string;\r\n status: UserStatusKeys;\r\n email: string;\r\n firstName: string;\r\n lastName: string;\r\n jobTitle: string;\r\n foundation: UserFoundation;\r\n requestedFoundationName: string;\r\n administrator: boolean;\r\n ipaAdministrator: boolean;\r\n}\r\n\r\nexport interface UserFoundation {\r\n id: number;\r\n name: string;\r\n urn: string;\r\n urnExternal: string;\r\n}\r\n\r\nexport enum UserStatus {\r\n Pending = \"Pending\",\r\n Approved = \"Approved\",\r\n Rejected = \"Rejected\"\r\n}\r\n\r\nexport type UserStatusKeys = keyof typeof UserStatus;\r\n\r\nexport interface UserSearchCriteria extends SearchCriteria {\r\n status: UserStatusKeys;\r\n}\r\n\r\nexport interface UserCreate {\r\n email: string;\r\n firstName: string;\r\n lastName: string;\r\n jobTitle: string;\r\n requestedFoundationName: string;\r\n password: string;\r\n}\r\n\r\nexport interface UserUpdate {\r\n status?: UserStatusKeys;\r\n foundationUrn?: string;\r\n foundationUrnExternal?: string;\r\n administrator?: boolean;\r\n ipaAdministrator?: boolean;\r\n jobTitle?: string;\r\n accountId?: string;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Resolve } from \"@angular/router\";\r\nimport { FoundationMember } from \"@app/core/model/foundation.model\";\r\nimport { FoundationService } from \"@app/core/services/foundation.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nexport interface UserFoundationResolverData {\r\n isMember: boolean;\r\n foundationName: string;\r\n isGhostFoundation: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class UserFoundationResolver implements Resolve {\r\n constructor(private _foundationService: FoundationService) { }\r\n\r\n resolve(): Observable {\r\n return this._foundationService.getMyFoundation().pipe(map(x => ({\r\n isMember: x.insightsMember === FoundationMember.Member,\r\n foundationName: x.foundationName,\r\n isGhostFoundation: x.isGhostFoundation\r\n })));\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nimport { ApiClientService } from \"./api-client.service\";\r\n\r\nexport interface LoginEventData {\r\n timestamp: string;\r\n sessionId: string;\r\n eventUrl: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class AccountService {\r\n constructor(private _apiClientService: ApiClientService) { }\r\n\r\n loginEvent(loginEventData: LoginEventData): Observable {\r\n return this._apiClientService.post(`${appConfig.apiUrl}/account/login-event`, { data: loginEventData });\r\n }\r\n\r\n logout(): Observable {\r\n return this._apiClientService.put(`${appConfig.apiUrl}/account/logout`);\r\n }\r\n}\r\n","import \"urijs/src/URITemplate\";\r\n\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport * as URI from \"urijs\";\r\n\r\ninterface DataParam { [param: string]: any }\r\ninterface DataBody { [param: string]: any }\r\n\r\ninterface QueryParameters {\r\n segmentParams?: DataParam;\r\n queryParams?: DataParam | string;\r\n}\r\n\r\ninterface CommandParameters {\r\n segmentParams?: DataParam;\r\n data?: DataBody;\r\n}\r\n\r\ninterface DeleteParameters {\r\n segmentParams?: DataParam;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ApiClientService {\r\n constructor(private readonly _http: HttpClient) { }\r\n\r\n get(\r\n uriTemplate: string,\r\n queryParameters?: QueryParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, queryParameters?.segmentParams, queryParameters?.queryParams);\r\n return this._http.get(url);\r\n }\r\n\r\n getBlob(\r\n uriTemplate: string,\r\n queryParameters?: QueryParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, queryParameters?.segmentParams, queryParameters?.queryParams);\r\n return this._http.get(url, { responseType: \"blob\" });\r\n }\r\n\r\n post(\r\n uriTemplate: string,\r\n commandParameters?: CommandParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, commandParameters?.segmentParams);\r\n return this._http.post(url, commandParameters?.data);\r\n }\r\n\r\n postBlob(\r\n uriTemplate: string,\r\n commandParameters?: CommandParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, commandParameters?.segmentParams);\r\n return this._http.post(url, commandParameters?.data, { responseType: \"blob\" });\r\n }\r\n\r\n put(\r\n uriTemplate: string,\r\n commandParameters?: CommandParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, commandParameters?.segmentParams);\r\n return this._http.put(url, commandParameters?.data);\r\n }\r\n\r\n patch(\r\n uriTemplate: string,\r\n commandParameters?: CommandParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, commandParameters?.segmentParams);\r\n return this._http.patch(url, commandParameters?.data);\r\n }\r\n\r\n delete(\r\n uriTemplate: string,\r\n deleteParameters?: DeleteParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, deleteParameters?.segmentParams);\r\n return this._http.delete(url);\r\n }\r\n\r\n private buildUrl(\r\n uriTemplate: string,\r\n segmentParams?: DataParam,\r\n queryParams?: DataParam | string\r\n ): string {\r\n this.parseDateValues(segmentParams);\r\n this.parseDateValues(queryParams);\r\n\r\n if (segmentParams) {\r\n // URI.expand is never null because URITemplate is imported\r\n // eslint-disable-next-line\r\n uriTemplate = URI.expand!(uriTemplate, segmentParams);\r\n }\r\n\r\n let uri = URI(uriTemplate);\r\n\r\n if (queryParams) {\r\n uri = uri.query(queryParams);\r\n }\r\n\r\n return uri.toString();\r\n }\r\n\r\n private parseDateValues(params: any): void {\r\n if (params) {\r\n /* eslint-disable*/\r\n for (const prop in params) {\r\n if (params[prop]?.constructor === Date) {\r\n params[prop] = params[prop].toISOString();\r\n }\r\n }\r\n /* eslint-disable*/\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { AuthService } from \"@app/auth\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class CandidPopupService {\r\n constructor(\r\n private _authService: AuthService\r\n ) { }\r\n\r\n openSupport(): void {\r\n const url = new URL(\"https://support.candid.org/case.html\");\r\n\r\n url.search = new URLSearchParams({\r\n type: \"cfi\",\r\n mode: \"popup\",\r\n name: this._authService.name ?? \"\",\r\n email: this._authService.email ?? \"\",\r\n context: window.location.href\r\n }).toString();\r\n\r\n window.open(url.toString(), \"popup\", \"location=0,width=750,height=600\");\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n Foundation,\r\n FoundationComparison,\r\n FoundationCreate,\r\n FoundationSearchCriteria,\r\n FoundationsLookup,\r\n FoundationUpdate\r\n} from \"@app/core/model/foundation.model\";\r\nimport { FoundationLookup } from \"@app/shared/lookups/foundation-lookup/foundation-lookup.model\";\r\nimport { Page } from \"@app/shared/paginator/paginator.models\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nimport { ApiClientService } from \"./api-client.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class FoundationService {\r\n constructor(\r\n private _apiClientService: ApiClientService\r\n ) { }\r\n\r\n getFoundation(foundationId: number): Observable {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/foundation/{foundationId}`, { segmentParams: { foundationId } });\r\n }\r\n\r\n getFoundationComparison(foundationId: number): Observable {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/foundation/{foundationId}/comparison`, { segmentParams: { foundationId } });\r\n }\r\n\r\n getMyFoundation(): Observable {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/foundation`);\r\n }\r\n\r\n createMyFoundation(foundation: FoundationCreate): Observable {\r\n return this._apiClientService.post(`${appConfig.apiUrl}/foundation/create`, { data: foundation });\r\n }\r\n\r\n listFoundations(searchCriteria: FoundationSearchCriteria): Observable> {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/foundations`, { queryParams: searchCriteria });\r\n }\r\n\r\n updateFoundation(foundationId: number, foundation: FoundationUpdate): Observable {\r\n return this._apiClientService.patch(`${appConfig.apiUrl}/foundation/{foundationId}`, {\r\n segmentParams: { foundationId },\r\n data: foundation\r\n });\r\n }\r\n\r\n deleteFoundation(foundationId: number): Observable {\r\n return this._apiClientService.delete(`${appConfig.apiUrl}/foundation/{foundationId}`, { segmentParams: { foundationId } });\r\n }\r\n\r\n lookupFoundations(foundationName: string): Observable> {\r\n return this._apiClientService.get>(`${appConfig.apiUrl}/foundations/lookup`,\r\n { queryParams: { foundationName } })\r\n .pipe(\r\n map(foundations => this.mapLookup(foundations))\r\n );\r\n }\r\n\r\n lookupFoundationsAffiliates(foundationId: number, foundationName: string): Observable> {\r\n return this._apiClientService.get>(`${appConfig.apiUrl}/foundations/affiliates`,\r\n { queryParams: { foundationId, foundationName } })\r\n .pipe(\r\n map(foundations => this.mapLookup(foundations))\r\n );\r\n }\r\n\r\n private mapLookup(foundationsLookup: Page): Page {\r\n const items = foundationsLookup.items\r\n .map(f => ({\r\n id: f.id,\r\n name: f.foundationName,\r\n urn: f.urn,\r\n externalUrn: f.externalUrn,\r\n state: f.state,\r\n isGhostFoundation: f.isGhostFoundation\r\n }));\r\n\r\n return { ...foundationsLookup, items };\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nimport { ApiClientService } from \"./api-client.service\";\r\n\r\nexport interface WelcomePageText {\r\n announcementHeader: T;\r\n surveysHeader: T;\r\n surveysDescription: T;\r\n benchmarkHeader: T;\r\n benchmarkDescription: T;\r\n}\r\n\r\nexport interface WelcomePageSections {\r\n surveyNotStarted: WelcomePageText;\r\n // TODO: API need to be finished #110\r\n // surveyInProgress: WelcomePageText;\r\n // surveyIsComplete: WelcomePageText;\r\n // nonMemberView: WelcomePageText;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class GeneralService {\r\n constructor(private _apiClientService: ApiClientService) { }\r\n\r\n saveWelcomePageText(data: WelcomePageSections): Observable {\r\n return this._apiClientService.post(`${appConfig.apiUrl}/manage/welcome-page`, { data });\r\n }\r\n\r\n getWelcomePageTextForEdit(): Observable {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/manage/welcome-page`);\r\n }\r\n\r\n getWelcomePageTextForDisplay(): Observable> {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/general/welcome-page`);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { UserInfo } from \"@app/core/model/user-info.model\";\r\nimport { ApiClientService } from \"@app/core/services/api-client.service\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class UserInfoService {\r\n constructor(private _apiClientService: ApiClientService) { }\r\n\r\n get(): Observable {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/user-info`);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { User, UserCreate, UserSearchCriteria, UserStatus, UserUpdate } from \"@app/core/model/user.model\";\r\nimport { Page } from \"@app/shared/paginator/paginator.models\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nimport { ApiClientService } from \"./api-client.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class UserService {\r\n constructor(\r\n private _apiClientService: ApiClientService,\r\n private _authService: AuthService\r\n ) { }\r\n\r\n get(userId: number): Observable {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/user/{userId}`, { segmentParams: { userId } });\r\n }\r\n\r\n me(): Observable {\r\n const { userId } = this._authService;\r\n return this.get(userId);\r\n }\r\n\r\n list(searchCriteria: UserSearchCriteria): Observable> {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/users`, { queryParams: searchCriteria });\r\n }\r\n\r\n create(user: UserCreate): Observable {\r\n return this._apiClientService.post(`${appConfig.apiUrl}/user`, { data: user });\r\n }\r\n\r\n update(userId: number, user: UserUpdate): Observable {\r\n return this._apiClientService.patch(`${appConfig.apiUrl}/user/{userId}`, { segmentParams: { userId }, data: user });\r\n }\r\n\r\n approve(userId: number, foundationExternalUrn: string): Observable {\r\n return this.update(userId, {\r\n status: UserStatus.Approved,\r\n foundationUrnExternal: foundationExternalUrn\r\n });\r\n }\r\n\r\n reject(userId: number): Observable {\r\n return this.update(userId, { status: UserStatus.Rejected });\r\n }\r\n\r\n delete(userId: number): Observable {\r\n return this._apiClientService.delete(`${appConfig.apiUrl}/user/{userId}`, { segmentParams: { userId } });\r\n }\r\n\r\n signout(userId: number): Observable {\r\n return this._apiClientService.put(`${appConfig.apiUrl}/user/{userId}/signout`, { segmentParams: { userId } });\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n\r\nimport { LoginComponent } from \"./login.component\";\r\n\r\nconst routes: Routes = [{\r\n path: \"login\",\r\n component: LoginComponent\r\n}];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class LoginRoutingModule { }\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { AuthService } from \"@app/auth\";\r\n\r\n@Component({\r\n template: \"Loading...\"\r\n})\r\nexport class LoginComponent implements OnInit {\r\n constructor(private _authService: AuthService) { }\r\n\r\n ngOnInit(): void {\r\n this._authService.login();\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\n\r\nimport { LoginRoutingModule } from \"./login-routing.module\";\r\nimport { LoginComponent } from \"./login.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n LoginRoutingModule\r\n ],\r\n declarations: [\r\n LoginComponent\r\n ]\r\n})\r\nexport class LoginModule { }\r\n","\n
\n

More details needed

\n

\n Provide the following details to gain access to CF Insights,\n and please allow 1-2 business days for an administrator to confirm your access.\n

\n
\n \n Foundation name\n \n \n \n \n \n \n Job title\n \n \n
\n \n \n
\n
\n
\n
\n","import { Component } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { UserCreate } from \"@app/core/model/user.model\";\r\nimport { UserService } from \"@app/core/services/user.service\";\r\nimport { indicate } from \"@app/shared/operators\";\r\nimport { Subject } from \"rxjs\";\r\n\r\nimport { RegisterPage } from \"../form-section.class\";\r\n\r\n@Component({\r\n selector: \"cfi-additional-data-form\",\r\n templateUrl: \"./additional-data-form.component.html\"\r\n})\r\nexport class AdditionalDataFormComponent extends RegisterPage {\r\n form: FormGroup;\r\n\r\n isLoading$ = new Subject();\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n private _userService: UserService,\r\n private _authService: AuthService,\r\n private _router: Router\r\n ) {\r\n super();\r\n this.form = this._fb.group({\r\n requestedFoundationName: [\"\", [Validators.required]],\r\n jobTitle: [\"\"]\r\n });\r\n }\r\n\r\n addData(): void {\r\n if (this.form.valid) {\r\n const user: UserCreate = {\r\n ...this.form.value,\r\n email: this._authService.email ? this._authService.email : \"\",\r\n firstName: this._authService.givenName ? this._authService.givenName : \"\",\r\n lastName: this._authService.familyName ? this._authService.familyName : \"\"\r\n };\r\n\r\n this._userService.create(user)\r\n .pipe(\r\n indicate(this.isLoading$)\r\n ).subscribe(_ => {\r\n this._router.navigate([\"thank-you\"]);\r\n });\r\n }\r\n }\r\n}\r\n","import { Directive } from \"@angular/core\";\r\n\r\n@Directive() // Decorator workaround for abstract class - https://github.com/angular/angular/issues/37769\r\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\r\nexport abstract class RegisterPage {\r\n goToHomePage(): void {\r\n window.location.href = appConfig.candidHomePageUrl;\r\n }\r\n}\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cfi-register-container\",\r\n templateUrl: \"./register-container.component.html\",\r\n styleUrls: [\"./register-container.component.scss\"]\r\n})\r\nexport class RegisterContainerComponent { }\r\n","
\n
\n \n
\n
\n \n
\n
","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { AdditionalDataGuard } from \"@app/core/guards/additional-data.guard\";\r\n\r\nimport { AdditionalDataFormComponent } from \"./additional-data-form/additional-data-form.component\";\r\nimport { RejectedComponent } from \"./rejected/rejected.component\";\r\nimport { ThankYouComponent } from \"./thank-you/thank-you.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"additional-data\",\r\n canActivate: [AdditionalDataGuard],\r\n component: AdditionalDataFormComponent\r\n },\r\n {\r\n path: \"thank-you\",\r\n component: ThankYouComponent\r\n },\r\n {\r\n path: \"request-rejected\",\r\n component: RejectedComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class RegisterRoutingModule { }\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\nimport { SharedModule } from \"@app/shared/shared.module\";\r\n\r\nimport { AdditionalDataFormComponent } from \"./additional-data-form/additional-data-form.component\";\r\nimport { RegisterContainerComponent } from \"./register-container/register-container.component\";\r\nimport { RegisterRoutingModule } from \"./register-routing.module\";\r\nimport {\r\n PasswordValidatorFeedbackComponent\r\n} from \"./register/password-validator-feedback/password-validator-feedback.component\";\r\nimport { RegisterComponent } from \"./register/register.component\";\r\nimport { RejectedComponent } from \"./rejected/rejected.component\";\r\nimport { ThankYouComponent } from \"./thank-you/thank-you.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RegisterRoutingModule,\r\n ReactiveFormsModule,\r\n MaterialModule,\r\n SharedModule\r\n ],\r\n declarations: [\r\n RegisterComponent,\r\n AdditionalDataFormComponent,\r\n ThankYouComponent,\r\n RegisterContainerComponent,\r\n RejectedComponent,\r\n PasswordValidatorFeedbackComponent\r\n ]\r\n})\r\nexport class RegisterModule { }\r\n","import { AbstractControl, ValidationErrors, Validators } from \"@angular/forms\";\r\n\r\nconst upperCaseCharactersValidator = (control: AbstractControl): ValidationErrors | null => {\r\n const upperCaseCharacters = /[A-Z]+/g;\r\n if (control.value && upperCaseCharacters.test(control.value) === false) {\r\n return { upperCaseCharacters: { valid: false } };\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst lowerCaseCharactersValidator = (control: AbstractControl): ValidationErrors | null => {\r\n const lowerCaseCharacters = /[a-z]+/g;\r\n if (control.value && lowerCaseCharacters.test(control.value) === false) {\r\n return { lowerCaseCharacters: { valid: false } };\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst numberCharactersValidator = (control: AbstractControl): ValidationErrors | null => {\r\n const numberCharacters = /[0-9]+/g;\r\n if (control.value && numberCharacters.test(control.value) === false) {\r\n return { numberCharacters: { valid: false } };\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst specialCharactersValidator = (control: AbstractControl): ValidationErrors | null => {\r\n const specialCharacters = /[!@#$%^&*()_+\\-=[\\]{};':\"\\\\|,.<>/?]+/;\r\n if (control.value && specialCharacters.test(control.value) === false) {\r\n return { specialCharacters: { valid: false } };\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport class PasswordValidator {\r\n static strength = Validators.compose([\r\n upperCaseCharactersValidator,\r\n lowerCaseCharactersValidator,\r\n numberCharactersValidator,\r\n specialCharactersValidator,\r\n Validators.minLength(8)\r\n ]);\r\n\r\n static confirmed = (controlName: string, matchingControlName: string) => (control: AbstractControl): ValidationErrors | null => {\r\n const input = control.get(controlName);\r\n const matchingInput = control.get(matchingControlName);\r\n\r\n if (input === null || matchingInput === null) {\r\n return null;\r\n }\r\n\r\n if (matchingInput?.errors && !matchingInput.errors.confirmedValidator) {\r\n return null;\r\n }\r\n\r\n if (input.value !== matchingInput.value) {\r\n matchingInput.setErrors({ confirmedValidator: true });\r\n return { confirmedValidator: true };\r\n } else {\r\n matchingInput.setErrors(null);\r\n return null;\r\n }\r\n };\r\n}\r\n","\n {{errorMessage}}\n\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { AbstractControl, FormGroupDirective } from \"@angular/forms\";\r\n\r\ninterface MinLength {\r\n requiredLength: number;\r\n}\r\n\r\n@Component({\r\n selector: \"cfi-password-validator-feedback\",\r\n templateUrl: \"./password-validator-feedback.component.html\"\r\n})\r\nexport class PasswordValidatorFeedbackComponent implements OnInit {\r\n @Input() controlName: string;\r\n private _control: Nullable;\r\n\r\n constructor(private _formGroup: FormGroupDirective) { }\r\n\r\n getValidationError(): string {\r\n if (this._control?.hasError(\"required\")) {\r\n return \"Field is required.\";\r\n } else if (this._control?.hasError(\"upperCaseCharacters\")) {\r\n return \"Password must contains an uppercase character.\";\r\n } else if (this._control?.hasError(\"lowerCaseCharacters\")) {\r\n return \"Password must contains a lowercase character.\";\r\n } else if (this._control?.hasError(\"numberCharacters\")) {\r\n return \"Password must contains a number.\";\r\n } else if (this._control?.hasError(\"specialCharacters\")) {\r\n return \"Password must contains a special character.\";\r\n } else if (this._control?.hasError(\"minlength\")) {\r\n return `Password must contains at least ${(this._control?.getError(\"minlength\") as MinLength).requiredLength} characters.`;\r\n } else if (this._control?.hasError(\"confirmedValidator\")) {\r\n return \"This doesn't match the password you've provided.\";\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n ngOnInit(): void {\r\n this._control = this._formGroup.form.get(this.controlName);\r\n }\r\n}\r\n","\n
\n

Create a new account

\n
\n
\n \n First name\n \n \n \n \n \n \n Last name\n \n \n \n \n \n
\n \n Email\n \n \n \n \n \n \n Foundation name\n \n \n \n \n \n \n Job title\n \n \n \n Password\n \n \n \n \n \n \n Confirm password\n \n \n \n \n \n
\n \n \n
\n
\n
\n
","import { Component } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { UserCreate } from \"@app/core/model/user.model\";\r\nimport { UserService } from \"@app/core/services/user.service\";\r\nimport { indicate } from \"@app/shared/operators\";\r\nimport { CustomValidators } from \"@app/shared/validation-feedback/validators/custom.validators\";\r\nimport { Subject } from \"rxjs\";\r\n\r\nimport { RegisterPage } from \"../form-section.class\";\r\nimport { PasswordValidator } from \"./password-strength.validator\";\r\n\r\n@Component({\r\n selector: \"cfi-register\",\r\n templateUrl: \"./register.component.html\",\r\n styleUrls: [\"./register.component.scss\"]\r\n})\r\nexport class RegisterComponent extends RegisterPage {\r\n registerForm: FormGroup;\r\n\r\n isLoading$ = new Subject();\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n private _userService: UserService,\r\n private _router: Router,\r\n private _activatedRoute: ActivatedRoute\r\n ) {\r\n super();\r\n this.registerForm = this._fb.group({\r\n firstName: [\"\", [Validators.required]],\r\n lastName: [\"\", [Validators.required]],\r\n email: [\"\", [Validators.required, CustomValidators.email]],\r\n requestedFoundationName: [\"\", [Validators.required]],\r\n jobTitle: [\"\"],\r\n password: [\"\", [PasswordValidator.strength]],\r\n confirmPassword: [\"\", [Validators.required]]\r\n }, {\r\n validators: [PasswordValidator.confirmed(\"password\", \"confirmPassword\")]\r\n });\r\n }\r\n\r\n register(): void {\r\n if (this.registerForm.valid) {\r\n this._userService.create({\r\n email: this.registerForm.value.email,\r\n firstName: this.registerForm.value.firstName,\r\n lastName: this.registerForm.value.lastName,\r\n jobTitle: this.registerForm.value.jobTitle,\r\n requestedFoundationName: this.registerForm.value.requestedFoundationName,\r\n password: this.registerForm.value.password\r\n } as UserCreate).pipe(\r\n indicate(this.isLoading$)\r\n ).subscribe(_ => {\r\n this._router.navigate([\"thank-you\"], { relativeTo: this._activatedRoute });\r\n });\r\n }\r\n }\r\n}\r\n","import { Component } from \"@angular/core\";\r\n\r\nimport { RegisterPage } from \"../form-section.class\";\r\n\r\n@Component({\r\n selector: \"cfi-rejected\",\r\n templateUrl: \"./rejected.component.html\",\r\n styleUrls: [\"./rejected.component.scss\"]\r\n})\r\nexport class RejectedComponent extends RegisterPage { }\r\n","
\n
\n

Request denied

\n

Your request to access CF Insights was denied.
If you think this was done in error, please\n contact us.

\n \n
\n
\n","import { Component } from \"@angular/core\";\r\n\r\nimport { RegisterPage } from \"../form-section.class\";\r\n\r\n@Component({\r\n selector: \"cfi-thank-you\",\r\n templateUrl: \"./thank-you.component.html\"\r\n})\r\nexport class ThankYouComponent extends RegisterPage { }\r\n","\n

Thank you!

\n

Your registration information has been submitted for approval. You will be notified by email once you have been\n given access.

\n
\n \n
\n
\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { Role } from \"@app/core/common/enums\";\r\nimport { AuthGuard } from \"@app/core/guards/auth.guard\";\r\nimport { UserFoundationResolver } from \"@app/core/resolvers/user-foundation.resolver\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"survey-list\",\r\n loadChildren: () => import(\"./survey-list/survey-list.module\").then(m => m.SurveyListModule),\r\n canLoad: [AuthGuard],\r\n data: {\r\n title: \"My surveys\"\r\n }\r\n },\r\n {\r\n path: \"survey\",\r\n loadChildren: () => import(\"./survey/survey.module\").then(m => m.SurveyModule),\r\n canLoad: [AuthGuard],\r\n data: {\r\n title: \"Survey\"\r\n }\r\n },\r\n {\r\n path: \"surveys\",\r\n loadChildren: () => import(\"./surveys/surveys.module\").then(m => m.SurveysModule),\r\n canLoad: [AuthGuard],\r\n data: {\r\n roles: [\r\n Role.Admin,\r\n Role.IpaAdmin\r\n ],\r\n title: \"Surveys\"\r\n }\r\n },\r\n {\r\n path: \"benchmarking\",\r\n loadChildren: () => import(\"./benchmarking/benchmarking.module\").then(m => m.BenchmarkingModule),\r\n canLoad: [AuthGuard],\r\n resolve: { foundation: UserFoundationResolver },\r\n data: {\r\n title: \"Benchmarking\"\r\n }\r\n },\r\n {\r\n path: \"foundations\",\r\n loadChildren: () => import(\"./foundations/foundations.module\").then(m => m.FoundationsModule),\r\n canLoad: [AuthGuard],\r\n data: {\r\n title: \"Foundations\"\r\n }\r\n },\r\n {\r\n path: \"user-accounts\",\r\n loadChildren: () => import(\"./accounts/accounts.module\").then(m => m.AccountsModule),\r\n canLoad: [AuthGuard],\r\n data: {\r\n roles: [\r\n Role.Admin\r\n ],\r\n title: \"User accounts\"\r\n }\r\n },\r\n {\r\n path: \"manage\",\r\n loadChildren: () => import(\"./manage/manage.module\").then(m => m.ManageModule),\r\n canLoad: [AuthGuard],\r\n data: {\r\n roles: [\r\n Role.Admin\r\n ],\r\n title: \"Manage\"\r\n }\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class FeaturesRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\n\r\nimport { LoginModule } from \"./account/login/login.module\";\r\nimport { RegisterModule } from \"./account/register/register.module\";\r\nimport { FeaturesRoutingModule } from \"./features-routing.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n FeaturesRoutingModule,\r\n LoginModule,\r\n RegisterModule\r\n ]\r\n})\r\nexport class FeaturesModule { }\r\n","\n
\n
\n Do you need any help? Contact us.\n
\n
\n
\n
\n
\n
\n
\n \n \"CoF\n \n
\n ©2025 Council on Foundations. All rights reserved. Privacy policy.\n \n
\n
\n
","import { Component } from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { Role } from \"@app/core/common/enums\";\r\nimport { CandidPopupService } from \"@app/core/services/candid-popup.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { distinctUntilChanged, filter, map } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"cfi-footer\",\r\n templateUrl: \"./footer.component.html\",\r\n styleUrls: [\"./footer.component.scss\"]\r\n})\r\nexport class FooterComponent {\r\n role = Role;\r\n showHelpBar$: Observable;\r\n authStatus$: Observable = this._authService.authStatus$;\r\n\r\n constructor(\r\n private _authService: AuthService,\r\n private _router: Router,\r\n private _candidPopupService: CandidPopupService\r\n ) {\r\n this.showHelpBar$ = this._router.events.pipe(\r\n filter(event => event instanceof NavigationEnd),\r\n map(navigation => {\r\n const { url } = (navigation as NavigationEnd);\r\n return url !== \"/\";\r\n }),\r\n distinctUntilChanged()\r\n );\r\n }\r\n\r\n contact(): void {\r\n this._candidPopupService.openSupport();\r\n }\r\n}\r\n","
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n

Contribute to the field’s collective knowledge

\n

Community foundations: Participate in our ongoing effort to track the state of the field\n and inform your own decision-making.

\n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n
\n

\n \n
\n
\n
\n\n
\n
\n
\n

Need help?

\n
\n
\n
\n \n
\n

FAQs

\n

See frequently asked questions.

\n \n \n \n
\n
\n
\n
\n \n
\n

Contact us

\n

Need further assistance?

\n \n \n \n
\n
\n
\n
\n
\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { CandidPopupService } from \"@app/core/services/candid-popup.service\";\r\nimport { GeneralService, WelcomePageText } from \"@app/core/services/general-service\";\r\nimport { indicate } from \"@app/shared/operators\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { map, shareReplay } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"cfi-home\",\r\n templateUrl: \"./home.component.html\",\r\n styleUrls: [\"./home.component.scss\"]\r\n})\r\nexport class HomeComponent implements OnInit {\r\n text$: Observable>;\r\n isLoading$ = new Subject();\r\n\r\n constructor(\r\n private _candidPopupService: CandidPopupService,\r\n private _generalService: GeneralService,\r\n private _domSanitizer: DomSanitizer\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.text$ = this.getTextsToDisplay();\r\n }\r\n\r\n contact(): void {\r\n this._candidPopupService.openSupport();\r\n }\r\n\r\n private getTextsToDisplay(): Observable> {\r\n return this._generalService.getWelcomePageTextForDisplay().pipe(\r\n map(text => {\r\n const santizedText: WelcomePageText = {} as any;\r\n Object.keys(text).forEach((propertyKey => {\r\n const key = propertyKey as keyof WelcomePageText;\r\n santizedText[key] = this._domSanitizer.bypassSecurityTrustHtml(text[key]);\r\n }));\r\n\r\n return santizedText;\r\n }),\r\n indicate(this.isLoading$),\r\n shareReplay()\r\n );\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { FeaturesModule } from \"@app/features/features.module\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\nimport { DialogsModule } from \"@app/shared/dialogs/dialogs.module\";\r\nimport { DirectivesModule } from \"@app/shared/directives/directives.module\";\r\nimport { LoaderModule } from \"@app/shared/loader/loader.module\";\r\n\r\nimport { FooterComponent } from \"./footer/footer.component\";\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { NavbarComponent } from \"./navbar/navbar.component\";\r\nimport { PageInfoModule } from \"./page-info/page-info.module\";\r\nimport { TopComponent } from \"./top/top.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DirectivesModule,\r\n MaterialModule,\r\n FeaturesModule,\r\n PageInfoModule,\r\n RouterModule,\r\n DialogsModule,\r\n LoaderModule\r\n ],\r\n declarations: [\r\n NavbarComponent,\r\n HomeComponent,\r\n FooterComponent,\r\n TopComponent\r\n ],\r\n exports: [\r\n NavbarComponent,\r\n FooterComponent,\r\n HomeComponent,\r\n TopComponent\r\n ]\r\n})\r\nexport class MainModule { }\r\n","
\n \"Council\n\n\n \n \n\n
\n \n \n \n\n \n \n \n
\n \n
\n
\n\n\n
\n \n \n \n
\n
\n","import { Component, HostListener, OnInit } from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { Role } from \"@app/core/common/enums\";\r\nimport { Observable } from \"rxjs\";\r\nimport { distinctUntilChanged, filter, map } from \"rxjs/operators\";\r\n\r\ninterface NavigationRoute {\r\n label: string;\r\n url: string;\r\n routerLinkActiveOptions?: {\r\n exact: boolean;\r\n };\r\n}\r\n\r\n@Component({\r\n selector: \"cfi-navbar\",\r\n templateUrl: \"./navbar.component.html\",\r\n styleUrls: [\"./navbar.component.scss\"]\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n menuOpen = false;\r\n role = Role;\r\n\r\n adminRoutes: NavigationRoute[] = [\r\n {\r\n label: \"Foundations\",\r\n url: \"/foundations/list\"\r\n },\r\n {\r\n label: \"Surveys\",\r\n url: \"/surveys\"\r\n },\r\n {\r\n label: \"User accounts\",\r\n url: \"/user-accounts\"\r\n }\r\n ];\r\n\r\n userRoutes: NavigationRoute[] = [\r\n {\r\n label: \"Home\",\r\n url: \"/\",\r\n routerLinkActiveOptions: {\r\n exact: true\r\n }\r\n },\r\n {\r\n label: \"My foundation\",\r\n url: \"/foundations/my-foundation/preview\"\r\n },\r\n {\r\n label: \"My surveys\",\r\n url: \"/survey-list\"\r\n },\r\n {\r\n label: \"Benchmarking\",\r\n url: \"/benchmarking\"\r\n }\r\n ];\r\n\r\n manageRoutes: NavigationRoute[] = [\r\n {\r\n label: \"Welcome Page\",\r\n url: \"/manage/welcome-page\"\r\n }\r\n ];\r\n\r\n authStatus$!: Observable;\r\n showNavigationButtons$: Observable;\r\n\r\n constructor(private _authService: AuthService, private _router: Router) { }\r\n\r\n @HostListener(\"window:storage\", [\"$event\"])\r\n onStorageChange(event: StorageEvent): void {\r\n if (event.key === \"signout\" && event.newValue === \"true\" && !event.oldValue) {\r\n this.signout();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.authStatus$ = this._authService.authStatus$;\r\n\r\n this.showNavigationButtons$ = this._router.events.pipe(\r\n filter(event => event instanceof NavigationEnd),\r\n map(navigation => {\r\n const { url } = (navigation as NavigationEnd);\r\n return ![\"/register\", \"/register/thank-you\", \"/logout\", \"/thank-you\", \"/additional-data\", \"/request-rejected\"]\r\n .includes(url);\r\n }),\r\n distinctUntilChanged()\r\n );\r\n }\r\n\r\n login(): void {\r\n this._authService.login();\r\n }\r\n\r\n signout(): void {\r\n this._authService.signout();\r\n }\r\n\r\n getUserName(): Nullable {\r\n return this._authService.name;\r\n }\r\n\r\n isOnBasicPage(): boolean {\r\n return [\"/additional-data\", \"/request-rejected\", \"/thank-you\"].includes(this._router.url);\r\n }\r\n}\r\n","export abstract class PageInfoTemplateComponent {\r\n errorCode: string;\r\n message: string;\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\n\r\nimport { PageForbiddenComponent } from \"./pages/page-forbidden.component\";\r\nimport { PageNotFoundComponent } from \"./pages/page-not-found.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n PageNotFoundComponent,\r\n PageForbiddenComponent\r\n ],\r\n imports: [\r\n MaterialModule\r\n ]\r\n})\r\nexport class PageInfoModule { }\r\n","import { Component } from \"@angular/core\";\r\n\r\nimport { PageInfoTemplateComponent } from \"../page-info-template.component\";\r\n\r\n@Component({\r\n templateUrl: \"../page-info-template.component.html\",\r\n styleUrls: [\"../page-info-template.component.scss\"]\r\n})\r\nexport class PageForbiddenComponent extends PageInfoTemplateComponent {\r\n constructor() {\r\n super();\r\n this.errorCode = \"403 ERROR\";\r\n this.message = \"You don't have permission to access this page.\";\r\n }\r\n}\r\n","\n
\n
\n

\n {{errorCode}}\n

\n
\n
\n

{{message}}

\n

Go back to the homepage.\n

\n
\n
\n
","import { Component } from \"@angular/core\";\r\n\r\nimport { PageInfoTemplateComponent } from \"../page-info-template.component\";\r\n\r\n@Component({\r\n templateUrl: \"../page-info-template.component.html\",\r\n styleUrls: [\"../page-info-template.component.scss\"]\r\n})\r\nexport class PageNotFoundComponent extends PageInfoTemplateComponent {\r\n constructor() {\r\n super();\r\n this.errorCode = \"404 ERROR\";\r\n this.message = \"For some reason the page you requested could not be found on server.\";\r\n }\r\n}\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cfi-top\",\r\n templateUrl: \"./top.component.html\",\r\n styleUrls: [\"./top.component.scss\"]\r\n})\r\nexport class TopComponent {\r\n}\r\n","\n","import { DragDropModule } from \"@angular/cdk/drag-drop\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatChipsModule } from \"@angular/material/chips\";\r\nimport { MatNativeDateModule } from \"@angular/material/core\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatGridListModule } from \"@angular/material/grid-list\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatInputModule } from \"@angular/material/input\";\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 { MatTableModule } from \"@angular/material/table\";\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\r\nimport { MatToolbarModule } from \"@angular/material/toolbar\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\n\r\nconst modules = [\r\n MatButtonModule,\r\n MatCardModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatGridListModule,\r\n MatRadioModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatTabsModule,\r\n MatChipsModule,\r\n MatCheckboxModule,\r\n MatDialogModule,\r\n MatPaginatorModule,\r\n MatTableModule,\r\n MatProgressSpinnerModule,\r\n MatTooltipModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatSelectModule,\r\n DragDropModule\r\n];\r\n\r\n@NgModule({\r\n imports: modules,\r\n exports: modules\r\n})\r\nexport class MaterialModule { }\r\n","import { Component, Inject } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\n\r\nimport { DialogData } from \"../dialog-models\";\r\n\r\n@Component({\r\n templateUrl: \"./dialog-action.component.html\",\r\n styleUrls: [\"./dialog-action.component.scss\"]\r\n})\r\nexport class DialogActionComponent {\r\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: DialogData) { }\r\n}\r\n","

{{data.title}}

\n
\n
\n \n \n
","import { Component, Inject } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\n\r\nimport { DialogData } from \"../dialog-models\";\r\n\r\n@Component({\r\n templateUrl: \"./dialog-info.component.html\"\r\n})\r\nexport class DialogInfoComponent {\r\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: DialogData) { }\r\n}\r\n","

{{data.title}}

\n
\n
\n \n
\n","import { Component } from \"@angular/core\";\r\nimport { MatDialogRef } from \"@angular/material/dialog\";\r\n\r\nimport { DialogInfoComponent } from \"../dialog-info/dialog-info.component\";\r\n\r\n@Component({\r\n selector: \"cfi-dialog-logging-process\",\r\n templateUrl: \"./dialog-logging-process.component.html\",\r\n styleUrls: [\"./dialog-logging-process.component.scss\"]\r\n})\r\nexport class DialogLoggingProcessComponent {\r\n constructor(public dialogRef: MatDialogRef) { }\r\n}\r\n","
\n
\n

Logging in, please wait…

\n
\n
\n \n
\n
","import { NgModule } from \"@angular/core\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\n\r\nimport { LoaderModule } from \"../loader/loader.module\";\r\nimport { DialogActionComponent } from \"./dialog-action/dialog-action.component\";\r\nimport { DialogInfoComponent } from \"./dialog-info/dialog-info.component\";\r\nimport { DialogLoggingProcessComponent } from \"./dialog-logging-process/dialog-logging-process.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n DialogActionComponent,\r\n DialogInfoComponent,\r\n DialogLoggingProcessComponent\r\n ],\r\n imports: [\r\n MaterialModule,\r\n LoaderModule\r\n ]\r\n})\r\nexport class DialogsModule { }\r\n","import { NgModule } from \"@angular/core\";\r\n\r\nimport { ForbiddenRoleDirective } from \"./forbidden-role.directive\";\r\nimport { InvalidControlScrollDirective } from \"./invalid-control-scroll.directive\";\r\nimport { PasswordSwitchTypeDirective } from \"./password-switch-type.directive\";\r\nimport { RequiredRoleDirective } from \"./required-role.directive\";\r\nimport { ViewportDirective } from \"./viewport.directive\";\r\n\r\nconst directives = [\r\n RequiredRoleDirective,\r\n ForbiddenRoleDirective,\r\n PasswordSwitchTypeDirective,\r\n InvalidControlScrollDirective,\r\n ViewportDirective\r\n];\r\n\r\n@NgModule({\r\n declarations: directives,\r\n exports: directives\r\n})\r\nexport class DirectivesModule { }\r\n","import { NgIf } from \"@angular/common\";\r\nimport { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { Role } from \"@app/core/common/enums\";\r\n\r\n@Directive({\r\n selector: \"[cfiForbiddenRole]\"\r\n})\r\nexport class ForbiddenRoleDirective extends NgIf {\r\n constructor(templateRef: TemplateRef, viewContainerRef: ViewContainerRef, private _authService: AuthService) {\r\n super(viewContainerRef, templateRef);\r\n }\r\n\r\n @Input() set cfiForbiddenRole(role: Nullable) {\r\n if (role === null || !role) {\r\n this.ngIf = true;\r\n } else {\r\n this.ngIf = Array.isArray(role)\r\n ? !this._authService.hasAnyOfRoles(role)\r\n : !this._authService.hasRole(role);\r\n }\r\n }\r\n\r\n @Input() set cfiForbiddenRoleElse(templateElse: TemplateRef) {\r\n this.ngIfElse = templateElse;\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from \"@angular/core\";\r\nimport { FormGroupDirective } from \"@angular/forms\";\r\nimport { fromEvent } from \"rxjs\";\r\nimport { debounceTime, first } from \"rxjs/operators\";\r\n\r\n@Directive({\r\n selector: \"[cfiInvalidControlScroll]\"\r\n})\r\nexport class InvalidControlScrollDirective {\r\n @Input() scrollDelayDueToAnimation = false;\r\n @Input() scrollOffset = 0;\r\n\r\n constructor(private _el: ElementRef, private _formGroupDir: FormGroupDirective) { }\r\n\r\n @HostListener(\"ngSubmit\") onSubmit(): void {\r\n if (this._formGroupDir.control.invalid) {\r\n setTimeout(() => {\r\n this.scrollToFirstInvalidControl();\r\n }, this.scrollDelayDueToAnimation ? 500 : 0);\r\n }\r\n }\r\n\r\n private scrollToFirstInvalidControl() {\r\n const firstInvalidControl = this._el.nativeElement.querySelector(\".ng-invalid\") as HTMLElement;\r\n\r\n window.scroll({\r\n top: this.getTopOffset(firstInvalidControl) - this.scrollOffset,\r\n left: 0,\r\n behavior: \"smooth\"\r\n });\r\n\r\n fromEvent(window, \"scroll\")\r\n .pipe(\r\n debounceTime(100),\r\n first()\r\n ).subscribe(() => firstInvalidControl.focus());\r\n }\r\n\r\n private getTopOffset(controlEl: HTMLElement): number {\r\n const labelOffset = 50;\r\n return controlEl.getBoundingClientRect().top + window.scrollY - labelOffset;\r\n }\r\n}\r\n","import { Directive, HostListener, Input } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[cfiPasswordSwitchType]\"\r\n})\r\nexport class PasswordSwitchTypeDirective {\r\n @Input() cfiPasswordSwitchType: HTMLInputElement;\r\n\r\n @HostListener(\"mouseup\")\r\n onMouseOver(): void {\r\n this.cfiPasswordSwitchType.type = \"password\";\r\n }\r\n\r\n @HostListener(\"mouseleave\")\r\n onMouseLeave(): void {\r\n this.cfiPasswordSwitchType.type = \"password\";\r\n }\r\n\r\n @HostListener(\"mousedown\")\r\n onMouseDown(): void {\r\n this.cfiPasswordSwitchType.type = \"text\";\r\n }\r\n}\r\n","import { NgIf } from \"@angular/common\";\r\nimport { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { Role } from \"@app/core/common/enums\";\r\n\r\n@Directive({\r\n selector: \"[cfiRequiredRole]\"\r\n})\r\nexport class RequiredRoleDirective extends NgIf {\r\n constructor(templateRef: TemplateRef, viewContainerRef: ViewContainerRef, private _authService: AuthService) {\r\n super(viewContainerRef, templateRef);\r\n }\r\n\r\n @Input() set cfiRequiredRole(role: Nullable) {\r\n if (role === null || !role) {\r\n this.ngIf = true;\r\n } else {\r\n this.ngIf = Array.isArray(role)\r\n ? this._authService.hasAnyOfRoles(role)\r\n : this._authService.hasRole(role);\r\n }\r\n }\r\n\r\n @Input() set cfiRequiredRoleElse(templateElse: TemplateRef) {\r\n this.ngIfElse = templateElse;\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, OnDestroy, OnInit, Output } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[cfiViewport]\"\r\n})\r\nexport class ViewportDirective implements OnInit, OnDestroy {\r\n @Output() isAboveChange = new EventEmitter();\r\n\r\n private _intersectionObserver = new IntersectionObserver(\r\n entries => {\r\n this.checkForIntersection(entries);\r\n }\r\n );\r\n\r\n constructor(private _element: ElementRef) { }\r\n\r\n ngOnInit(): void {\r\n this._intersectionObserver.observe(this._element.nativeElement);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._intersectionObserver.unobserve(this._element.nativeElement);\r\n this._intersectionObserver.disconnect();\r\n }\r\n\r\n private checkForIntersection(entries: IntersectionObserverEntry[]): void {\r\n for (const entry of entries) {\r\n this.isAboveChange.emit(!entry.isIntersecting && entry.boundingClientRect.top < 0);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit, Renderer2 } from \"@angular/core\";\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: \"form\"\r\n})\r\nexport class FormDirective implements OnInit {\r\n constructor(\r\n private _hostElement: ElementRef,\r\n private _renderer: Renderer2\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (!this._hostElement.nativeElement.attributes.autocomplete) {\r\n this._renderer.setAttribute(this._hostElement.nativeElement, \"autocomplete\", \"off\");\r\n }\r\n }\r\n}\r\n","help_outline\n","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cfi-info-tooltip\",\r\n templateUrl: \"./info-tooltip.component.html\",\r\n styleUrls: [\"./info-tooltip.component.scss\"]\r\n})\r\nexport class InfoTooltipComponent {\r\n @Input() message: string;\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\n\r\nimport { InfoTooltipComponent } from \"./info-tooltip.component\";\r\nimport { InfoPipe } from \"./info.pipe\";\r\n\r\n@NgModule({\r\n declarations: [\r\n InfoPipe,\r\n InfoTooltipComponent\r\n ],\r\n imports: [\r\n MaterialModule,\r\n CommonModule\r\n ],\r\n exports: [\r\n InfoTooltipComponent,\r\n InfoPipe\r\n ]\r\n})\r\nexport class InfoTooltipModule { }\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\nimport * as data from \"./tooltips.json\";\r\n\r\n@Pipe({\r\n name: \"info\"\r\n})\r\nexport class InfoPipe implements PipeTransform {\r\n transform(infoPath: string): string {\r\n const info = (data as any).default;\r\n return (infoPath.split(\".\").reduce((p, c) => (p && p[c]) as string || null, info) as string) || infoPath;\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\n\r\nimport { LoadingDirective } from \"./loading.directive\";\r\nimport { SpinnerComponent } from \"./spinner.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n SpinnerComponent,\r\n LoadingDirective\r\n ],\r\n imports: [\r\n MaterialModule,\r\n CommonModule\r\n ],\r\n exports: [\r\n SpinnerComponent,\r\n LoadingDirective\r\n ]\r\n})\r\nexport class LoaderModule { }\r\n","import {\r\n ComponentFactory,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n Input,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from \"@angular/core\";\r\n\r\nimport { SpinnerComponent } from \"./spinner.component\";\r\n\r\n@Directive({\r\n selector: \"[cfiLoading]\"\r\n})\r\nexport class LoadingDirective {\r\n loadingFactory: ComponentFactory;\r\n loadingComponent: ComponentRef;\r\n\r\n @Input() set cfiLoading(loading: Nullable) {\r\n this._vcRef.clear();\r\n if (loading) {\r\n this.loadingComponent = this._vcRef.createComponent(this.loadingFactory);\r\n } else {\r\n this._vcRef.createEmbeddedView(this._templateRef);\r\n }\r\n }\r\n\r\n constructor(\r\n private _templateRef: TemplateRef,\r\n private _vcRef: ViewContainerRef,\r\n private _componentFactoryResolver: ComponentFactoryResolver\r\n ) {\r\n this.loadingFactory = this._componentFactoryResolver.resolveComponentFactory(SpinnerComponent);\r\n }\r\n}\r\n","import { Component, Input } from \"@angular/core\";\r\nimport { ThemePalette } from \"@angular/material/core\";\r\n\r\n@Component({\r\n selector: \"cfi-spinner\",\r\n templateUrl: \"./spinner.component.html\",\r\n styleUrls: [\"./spinner.component.scss\"]\r\n})\r\nexport class SpinnerComponent {\r\n @Input() color: ThemePalette = \"primary\";\r\n @Input() diameter = 100;\r\n @Input() size: \"fill\" | \"auto\" = \"fill\";\r\n}\r\n","
\n
\n \n
\n
\n","import { defer, Observable, Subject } from \"rxjs\";\r\nimport { finalize } from \"rxjs/operators\";\r\n\r\nconst prepare = (callback: () => void) => (source: Observable): Observable => defer(() => {\r\n callback();\r\n return source;\r\n});\r\n\r\nexport const indicate = (indicator: Subject) => (source: Observable): Observable => source.pipe(\r\n prepare(() => indicator.next(true)),\r\n finalize(() => indicator.next(false))\r\n);\r\n","import { Observable } from \"rxjs\";\r\nimport { debounceTime, distinctUntilChanged, switchMap } from \"rxjs/operators\";\r\n\r\nexport const defaultDelay = 400;\r\n\r\nexport const liveSearch = (\r\n data: (query: T) => Observable,\r\n delay = defaultDelay\r\n): (source: Observable) => Observable => (source$: Observable) => source$.pipe(\r\n debounceTime(delay),\r\n distinctUntilChanged(),\r\n switchMap(data)\r\n);\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { InputMaskPatterns } from \"@app/core/common/enums\";\r\nimport { MaskPipe } from \"ngx-mask\";\r\n\r\n@Pipe({\r\n name: \"customCurrency\"\r\n})\r\nexport class CustomCurrencyPipe implements PipeTransform {\r\n masks = InputMaskPatterns;\r\n constructor(private _mask: MaskPipe) { }\r\n transform(value: number | null): string {\r\n const negative = value && value < 0 ? \"-\" : \"\";\r\n return value\r\n ? `$ ${negative}${this._mask.transform(value.toFixed(2), this.masks.OnlyNumber, \",\")}`\r\n : \"$ 0.00\";\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { AbstractControl, FormControl } from \"@angular/forms\";\r\n\r\n@Pipe({\r\n name: \"formControl\"\r\n})\r\nexport class FormControlPipe implements PipeTransform {\r\n transform(value: AbstractControl): FormControl {\r\n return value as FormControl;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { AbstractControl, FormGroup } from \"@angular/forms\";\r\n\r\n@Pipe({\r\n name: \"formGroup\"\r\n})\r\nexport class FormGroupPipe implements PipeTransform {\r\n transform(value: AbstractControl): FormGroup {\r\n return value as FormGroup;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"yesNo\"\r\n})\r\nexport class YesNoPipe implements PipeTransform {\r\n transform(flag: Nullable): string {\r\n if (flag === true) {\r\n return \"Yes\";\r\n }\r\n\r\n if (flag === false) {\r\n return \"No\";\r\n }\r\n\r\n return \"\";\r\n }\r\n}\r\n","\n 0\">\n Previously:\n \n {{ value ? value : emptyMark }}\n \n \n\n \n Previously: {{ emptyMark }}\n \n\n","import { Component, Input } from \"@angular/core\";\r\nimport { PreviousValues } from \"@app/core/model/previous-values.model\";\r\n\r\n@Component({\r\n selector: \"cfi-previous-values\",\r\n templateUrl: \"./previous-values.component.html\",\r\n styleUrls: [\"./previous-values.component.scss\"]\r\n})\r\nexport class PreviousValuesComponent {\r\n @Input() values: PreviousValues;\r\n\r\n readonly emptyMark = \"-\";\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\nimport { MaskPipe, NgxMaskModule } from \"ngx-mask\";\r\n\r\nimport { DirectivesModule } from \"./directives/directives.module\";\r\nimport { FormDirective } from \"./form/form.directive\";\r\nimport { InfoTooltipModule } from \"./info-tooltip/info-tooltip.module\";\r\nimport { LoaderModule } from \"./loader/loader.module\";\r\nimport { CustomCurrencyPipe } from \"./pipes/custom-currency.pipe\";\r\nimport { FormControlPipe } from \"./pipes/form-control.pipe\";\r\nimport { FormGroupPipe } from \"./pipes/form-group.pipe\";\r\nimport { YesNoPipe } from \"./pipes/yes-no.pipe\";\r\nimport { PreviousValuesComponent } from \"./previous-values/previous-values.component\";\r\nimport { ValidationFeedbackComponent } from \"./validation-feedback/validation-feedback.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n DirectivesModule,\r\n LoaderModule,\r\n NgxMaskModule,\r\n InfoTooltipModule\r\n ],\r\n declarations: [\r\n ValidationFeedbackComponent,\r\n FormDirective,\r\n CustomCurrencyPipe,\r\n PreviousValuesComponent,\r\n YesNoPipe,\r\n FormGroupPipe,\r\n FormControlPipe\r\n ],\r\n exports: [\r\n CommonModule,\r\n CustomCurrencyPipe,\r\n MaterialModule,\r\n ValidationFeedbackComponent,\r\n DirectivesModule,\r\n FormDirective,\r\n NgxMaskModule,\r\n LoaderModule,\r\n InfoTooltipModule,\r\n PreviousValuesComponent,\r\n YesNoPipe,\r\n FormGroupPipe,\r\n FormControlPipe\r\n ],\r\n providers: [\r\n YesNoPipe,\r\n { provide: MaskPipe, useClass: MaskPipe }\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","\n warning {{errorMessage}}\n\n\n","import { Component, Input, OnInit, Optional } from \"@angular/core\";\r\nimport { AbstractControl, FormGroupDirective } from \"@angular/forms\";\r\n\r\ninterface MinLength {\r\n requiredLength: number;\r\n}\r\n\r\ninterface Min {\r\n min: number;\r\n}\r\n\r\ninterface Max {\r\n max: number;\r\n}\r\n\r\ntype InputType = \"field\" | \"section\";\r\n\r\n@Component({\r\n selector: \"cfi-validation-feedback\",\r\n templateUrl: \"./validation-feedback.component.html\"\r\n})\r\nexport class ValidationFeedbackComponent implements OnInit {\r\n @Input() control: Nullable;\r\n @Input() controlName: Nullable;\r\n @Input() inputType: InputType = \"field\";\r\n\r\n constructor(@Optional() private _formGroup: FormGroupDirective) { }\r\n\r\n getValidationError(): string {\r\n if (this.control?.untouched) {\r\n return \"\";\r\n }\r\n\r\n if (this.control?.hasError(\"matDatepickerParse\")) {\r\n return \"Date format is incorrect.\";\r\n }\r\n\r\n if (this.control?.hasError(\"required\")) {\r\n return `Required ${this.inputType}.`;\r\n }\r\n\r\n if (this.control?.hasError(\"digits\")) {\r\n return `Please enter ${this.control.getError(\"digits\") as string} digits.`;\r\n }\r\n\r\n if (this.control?.hasError(\"minlength\")) {\r\n return `Field has to have at least ${(this.control.getError(\"minlength\") as MinLength).requiredLength} characters.`;\r\n }\r\n\r\n if (this.control?.hasError(\"incorrectSum\")) {\r\n return \"Fields need to sum up to 100%.\";\r\n }\r\n\r\n if (this.control?.hasError(\"min\")) {\r\n return `Field has to be greater than or equal to ${(this.control.getError(\"min\") as Min).min}.`;\r\n }\r\n\r\n if (this.control?.hasError(\"max\")) {\r\n return `Field has to be less than or equal to ${(this.control.getError(\"max\") as Max).max}.`;\r\n }\r\n\r\n if (this.control?.hasError(\"email\")) {\r\n return \"E-mail format is incorrect.\";\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setupControl();\r\n }\r\n\r\n private setupControl(): void {\r\n if (!this.control) {\r\n if (this.controlName) {\r\n this.control = this.getControlByName(this.controlName);\r\n } else {\r\n throw new Error(\"Validation Feedback must have [control] or [controlName] inputs\");\r\n }\r\n }\r\n }\r\n\r\n private getControlByName(controlName: string): AbstractControl {\r\n const control = this._formGroup.form.get(controlName);\r\n\r\n if (!control) {\r\n throw new Error(`Cannot find \"${controlName}\" control for Validation Feedback.`);\r\n }\r\n\r\n return control;\r\n }\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from \"@angular/forms\";\r\n\r\nconst sumValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\r\n const notFilled = Object.values(control.value).every(v => v === \"\" || v === null);\r\n const sum = Object.values(control.value).reduce((acc, val) => Number(acc) + Number(val), 0);\r\n return (notFilled || sum === 100) ? null : { incorrectSum: true };\r\n};\r\n\r\nconst customEmailValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\r\n const email = /^[^@^\\s]+@[^@^\\s]+\\.[^@^\\s]{1,}$/;\r\n return email.test(control.value) ? null : { email: true };\r\n};\r\n\r\nconst digitsValidator = (digits: number): ValidatorFn => (control: AbstractControl): ValidationErrors | null => {\r\n const exactDigits = new RegExp(`^[0-9]{${String(digits)}}$`);\r\n return exactDigits.test(control.value) ? null : { digits };\r\n};\r\n\r\nexport class CustomValidators {\r\n static sum = sumValidator;\r\n static email = customEmailValidator;\r\n static digits = digitsValidator;\r\n}\r\n","export const environment = {\r\n production: false\r\n};\r\n","import { enableProdMode } from \"@angular/core\";\r\nimport { platformBrowserDynamic } from \"@angular/platform-browser-dynamic\";\r\nimport * as dayjs from \"dayjs\";\r\nimport * as customParseFormat from \"dayjs/plugin/customParseFormat\";\r\n\r\nimport { AppModule } from \"./app/app.module\";\r\nimport { environment } from \"./environments/environment\";\r\n\r\ndayjs.extend(customParseFormat);\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */"]}