{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/account/account.module.ts","./src/app/account/account.routing-module.ts","./src/app/account/auth-callback/auth-callback.component.ts","./src/app/account/auth-silent/auth-silent.component.ts","./src/app/account/login/login.component.ts","./src/app/account/register/register.component.ts","./src/app/account/register/register.service.ts","./src/app/activities/activities.module.ts","./src/app/activities/activities.routing-module.ts","./src/app/activities/activities.service.ts","./src/app/activities/ativities.component.ts","./src/app/activities/opportunity/opportunity.component.ts","./src/app/activities/schedule/schedule.component.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/core/authentication/auth.guard.ts","./src/app/core/authentication/auth.service.ts","./src/app/core/core.module.ts","./src/app/core/http.interceptor.ts","./src/app/core/models.ts","./src/app/core/pipes/deliverytype-pipe.ts","./src/app/core/toastr.service.ts","./src/app/income/income.component.ts","./src/app/income/income.module.ts","./src/app/income/income.service.ts","./src/app/nav-menu/nav-menu.component.ts","./src/app/profile/contactinfo/profile.contactinfo.component.ts","./src/app/profile/contactinfo/profile.contactinfo.edit.component.ts","./src/app/profile/contactinfo/profile.username.component.ts","./src/app/profile/family/profile.family.component.ts","./src/app/profile/family/profile.family.list.component.ts","./src/app/profile/profile.component.ts","./src/app/profile/profile.module.ts","./src/app/profile/profile.service.ts","./src/app/referrals/referrals.component.ts","./src/app/referrals/referrals.module.ts","./src/app/referrals/referrals.service.ts","./src/app/shared/base.service.ts","./src/app/shared/config.data.ts","./src/app/shared/lookup.service.ts","./src/app/shared/models.ts","./src/app/shared/shared.module.ts","./src/environments/environment.ts","./src/main.ts","./src/app/app.component.css","./src/app/nav-menu/nav-menu.component.css","./src/app/account/auth-callback/auth-callback.component.scss","./src/app/account/login/login.component.scss","./src/app/account/register/register.component.scss"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { LoginComponent } from './login/login.component';\nimport { RegisterComponent } from './register/register.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { AccountRoutingModule } from './account.routing-module';\nimport { AuthService } from '../core/authentication/auth.service';\nimport { RouterModule } from '@angular/router';\nimport { AuthCallbackComponent } from './auth-callback/auth-callback.component';\nimport { AuthSilentCallbackComponent } from './auth-silent/auth-silent.component';\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, AuthCallbackComponent, AuthSilentCallbackComponent],\n providers: [AuthService],\n imports: [\n CommonModule,\n FormsModule,\n AccountRoutingModule,\n SharedModule,\n \n ],\n exports: [RouterModule]\n})\nexport class AccountModule { }\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './login/login.component';\nimport { RegisterComponent } from './register/register.component';\nimport { AuthCallbackComponent } from './auth-callback/auth-callback.component';\nimport { RegisterService } from './register/register.service';\nimport { AuthSilentCallbackComponent } from './auth-silent/auth-silent.component';\n\nconst routes: Routes = [\n { path: 'login', component: LoginComponent },\n { path: 'register', component: RegisterComponent },\n { path: 'auth-callback', component: AuthCallbackComponent },\n { path: 'auth-silent-callback', component: AuthSilentCallbackComponent }\n];\n\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RegisterService]\n})\nexport class AccountRoutingModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../../core/authentication/auth.service';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'app-auth-callback',\n templateUrl: './auth-callback.component.html',\n styleUrls: ['./auth-callback.component.scss']\n})\nexport class AuthCallbackComponent implements OnInit {\n\n error: boolean;\n key: string = \"callback-page\";\n\n constructor(private authService: AuthService, private router: Router, private route: ActivatedRoute) { }\n\n async ngOnInit() {\n\n // check for error\n if (this.route.snapshot.fragment.indexOf('error') >= 0) {\n this.error = true;\n return;\n }\n \n await this.authService.completeAuthentication();\n let value = localStorage.getItem(this.key);\n if (value) {\n this.router.navigate([value]);\n\n } else {\n this.router.navigate(['/activities']);\n\n }\n //todo fix this route\n \n }\n}\n","import { Component, OnInit } from '@angular/core';\n//import { AuthService } from '../../core/authentication/auth.service';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'app-silent-callback',\n templateUrl: './auth-silent.component.html'\n})\nexport class AuthSilentCallbackComponent {\n\n\n //constructor(private authService: AuthService) { }\n\n //async ngOnInit() {\n\n // this.authService.signInSilent();\n //}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { AuthService } from '../../core/authentication/auth.service';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit {\n\n constructor(private authService: AuthService, private spinner: NgxSpinnerService) { }\n\n title = \"Login\";\n\n login() {\n this.spinner.show();\n this.authService.login();\n }\n\n ngOnInit() { }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { AuthService } from '../../core/authentication/auth.service';\nimport { RegisterRequest, RegistrationSettingsDetail, HearAboutUs } from '../../shared/models';\nimport { RegisterService } from './register.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { LookupService } from '../../shared/lookup.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { ConfigurationService } from '../../shared/config.data';\n\n@Component({\n selector: 'app-register',\n templateUrl: './register.component.html',\n styleUrls: ['./register.component.scss']\n})\n\nexport class RegisterComponent implements OnInit {\n\n success: boolean = false;\n isMinor: boolean = false;\n submitted: boolean = false;\n isLoading: boolean = false;\n\n error: string;\n states: string[];\n\n step: number;\n hearAboutUs: number;\n isMale?: number = null;\n\n showUser: number = 1;\n showAddress: number = 2;\n showConfirmation: number = 3;\n\n friend: number = HearAboutUs.Friend;\n organization: number = HearAboutUs.Organization;\n\n registerRequest: RegisterRequest;\n registerSettings: RegistrationSettingsDetail;\n\n constructor(private authService: AuthService,\n\n private spinner: NgxSpinnerService,\n private registerService: RegisterService,\n private toastr: ToastrService,\n private lookupService: LookupService,\n private route: ActivatedRoute,\n\n private config: ConfigurationService) {\n\n this.step = this.showUser;\n this.registerRequest = new RegisterRequest();\n this.registerRequest.redirectUrl = window.location.origin;\n this.states = this.lookupService.getStates();\n }\n\n ngOnInit() {\n\n this.spinner.show();\n if (\"\" != this.config.getConfirmJs()) {\n const script = document.createElement('script');\n script.src = this.config.getConfirmJs();\n document.body.appendChild(script);\n }\n this.route.queryParams.subscribe(params => {\n this.registerRequest.referralId = params['key'];\n });\n this.registerService.getRegistrationSettings().subscribe((val) => {\n this.registerSettings = val;\n this.spinner.hide();\n });\n\n }\n\n login() {\n this.authService.login();\n }\n\n validate(): boolean {\n if (this.registerRequest.userName === undefined || this.registerRequest.userName === null) {\n this.toastr.error(\"Please provide a user name of at least 6 characters\");\n return false;\n } else {\n this.registerRequest.userName = this.registerRequest.userName.trim();\n if (6 > this.registerRequest.userName.length) {\n this.toastr.error(\"Please provide a user name of at least 6 characters\");\n return false;\n }\n if (this.registerRequest.userName.indexOf(' ') >= 0) {\n this.toastr.warning(\"Username cannot have spaces\");\n return false;\n }\n }\n if (this.isMale === undefined || this.isMale === null) {\n this.isMale = null;\n this.toastr.error(\"Must choose a gender\");\n return false;\n }\n if (this.registerRequest.isMinor()) {\n this.isMinor = true;\n if (this.registerRequest.parentUserName === undefined || this.registerRequest.parentUserName === null) {\n\n this.registerRequest.parentUserName = null;\n this.toastr.error(\"Minors must register with parental permission. Please enter a valid USERNAME of a parent.\");\n return false;\n } else {\n this.registerRequest.parentUserName = this.registerRequest.parentUserName.trim()\n if (1 > this.registerRequest.parentUserName.length) {\n\n this.registerRequest.parentUserName = null;\n this.toastr.error(\"Minors must register with parental permission. Please enter a valid USERNAME of a parent.\");\n return false;\n }\n }\n } else {\n this.isMinor = false;\n this.registerRequest.parentUserName = null;\n }\n return true;\n }\n\n validateCredentials() {\n\n let validated = this.validate();\n\n if (validated) {\n\n this.spinner.show();\n this.isLoading = true;\n\n this.registerService.validateCredentials({\n email: this.registerRequest.email,\n firstName: this.registerRequest.firstName,\n lastName: this.registerRequest.lastName,\n password: this.registerRequest.password,\n userName: this.registerRequest.userName,\n dateOfBirth: this.registerRequest.dateOfBirth,\n parentUserName: this.registerRequest.parentUserName,\n confirmPassword: this.registerRequest.confirmPassword\n\n }).subscribe(_result => {\n\n this.spinner.hide();\n this.isLoading = false;\n\n this.step = this.showAddress;\n\n }, error => {\n\n this.spinner.hide();\n this.isLoading = false;\n\n if (error.status === 400) {\n this.toastr.error(error.error.message);\n } else {\n this.toastr.error(\"Error occured\");\n }\n });\n } else {\n this.registerRequest.parentUserName = null;\n }\n }\n\n back(stepNumber: number) {\n this.step = stepNumber - 1;\n }\n\n onSubmit() {\n\n let validated = this.IsValid();\n\n if (validated) {\n\n this.spinner.show();\n this.isLoading = true;\n\n if (this.isMale === undefined || this.isMale === null) {\n this.registerRequest.isMale = null;\n } else {\n this.registerRequest.isMale = Number(this.isMale);\n }\n\n if (this.hearAboutUs == this.friend) {\n this.registerRequest.organizationId = null;\n } else if (this.hearAboutUs == this.organization) {\n this.registerRequest.referralName = null;\n }\n\n this.registerRequest.redirectUrl = window.location.origin + \"/profile\";\n\n this.registerService.createAccount(\n this.registerRequest\n ).subscribe(_response => {\n\n this.spinner.hide();\n this.isLoading = false;\n\n this.step = this.showConfirmation;\n this.toastr.success(\"Account created! Please check your email to validate\");\n\n }, error => {\n\n this.spinner.hide();\n this.isLoading = false;\n\n if (error.status === 400) {\n this.toastr.error(error.error.message);\n } else {\n this.toastr.error(\"Error occured\");\n }\n });\n }\n }\n\n IsValid(): boolean {\n\n if (this.registerRequest.hearAboutUsId == this.friend && !this.registerRequest.referralName) {\n this.toastr.warning(\"Please provide a referral name\");\n return false;\n }\n\n if ((this.registerRequest.address1 === undefined || this.registerRequest.address1 === null)\n || 1 > this.registerRequest.address1.trim().length) {\n this.toastr.warning(\"Please provide an address\");\n return false;\n }\n\n if ((this.registerRequest.city === undefined || this.registerRequest.city === null)\n || 1 > this.registerRequest.city.trim().length) {\n this.toastr.warning(\"Please provide a city\");\n return false;\n }\n\n if ((this.registerRequest.stateAbbreviation === undefined || this.registerRequest.stateAbbreviation === null)\n || 1 > this.registerRequest.stateAbbreviation.trim().length) {\n this.toastr.warning(\"Please provide a state\");\n return false;\n }\n\n if ((this.registerRequest.zipCode === undefined || this.registerRequest.zipCode === null)\n || 1 > this.registerRequest.zipCode.trim().length) {\n this.toastr.warning(\"Please provide a zip code\");\n return false;\n }\n\n let regex = \"\\\\d{10}\";\n\n if (this.registerRequest.cellPhone) {\n if (null != this.registerRequest.cellPhone && 1 < this.registerRequest.cellPhone.length) {\n\n this.registerRequest.cellPhone = this.registerRequest.cellPhone.replace(/\\D/g, '')\n\n if (null != this.registerRequest.cellPhone && 1 < this.registerRequest.cellPhone.length) {\n if (!this.registerRequest.cellPhone.match(regex)) {\n this.toastr.warning(\"Cell Phone is not valid; must be 10 digits long, no spaces or dashes\");\n return false;\n }\n }\n }\n }\n\n if (this.registerRequest.homePhone) {\n if (null != this.registerRequest.homePhone && 1 < this.registerRequest.homePhone.length) {\n\n this.registerRequest.homePhone = this.registerRequest.homePhone.replace(/\\D/g, '')\n\n if (null != this.registerRequest.homePhone && 1 < this.registerRequest.homePhone.length) {\n if (!this.registerRequest.homePhone.match(regex)) {\n this.toastr.warning(\"Home Phone is not valid; must be 10 digits long, no spaces or dashes\");\n return false;\n }\n }\n }\n }\n\n if (this.registerRequest.workPhone) {\n if (null != this.registerRequest.workPhone && 1 < this.registerRequest.workPhone.length) {\n\n this.registerRequest.workPhone = this.registerRequest.workPhone.replace(/\\D/g, '')\n\n if (null != this.registerRequest.workPhone && 1 < this.registerRequest.workPhone.length) {\n if (!this.registerRequest.workPhone.match(regex)) {\n this.toastr.warning(\"Work Phone is not valid; must be 10 digits long, no spaces or dashes\");\n return false;\n }\n }\n }\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ConfigurationService } from '../../shared/config.data';\nimport { RegistrationSettingsDetail, UserRegisterValidateCommand, RegisterRequest, MinorRegisterValidateCommand } from '../../shared/models';\nimport { Observable } from 'rxjs';\n\n\n@Injectable()\nexport class RegisterService {\n baseUrl: string;\n userId: number;\n constructor(protected _http: HttpClient, private _configuration: ConfigurationService) {\n this.baseUrl = _configuration.getStaffApi();\n this.userId = _configuration.getUserId();\n }\n\n public getRegistrationSettings(): Observable {\n let actionUrl = `${this.baseUrl}userregistration/settings`;\n return this._http.get(actionUrl);\n }\n public validateCredentials(request: UserRegisterValidateCommand): Observable {\n let actionUrl = `${this.baseUrl}userregistration/validate`;\n return this._http.post(actionUrl, request);\n }\n public createAccount(request: RegisterRequest): Observable {\n let actionUrl = `${this.baseUrl}userregistration`;\n return this._http.post(actionUrl, request);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { SharedModule } from '../shared/shared.module';\nimport { RouterModule } from '@angular/router';\n\nimport { ActivitiesRoutingModule } from './activities.routing-module';\nimport { AuthService } from '../core/authentication/auth.service';\nimport { ActivitiesComponent } from './ativities.component';\nimport { OpportunityComponent } from './opportunity/opportunity.component';\nimport { ScheduleComponent } from './schedule/schedule.component';\nimport { ActivitiesService } from './activities.service';\n\n@NgModule({\n declarations: [ScheduleComponent, OpportunityComponent, ActivitiesComponent],\n providers: [AuthService, ActivitiesService],\n imports: [\n CommonModule,\n FormsModule,\n ActivitiesRoutingModule,\n SharedModule,\n\n ],\n exports: [RouterModule]\n})\nexport class ActivitiesModule { }\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule, CanActivate } from '@angular/router';\nimport { ActivitiesComponent } from './ativities.component';\nimport { AuthGuard } from '../core/authentication/auth.guard';\n\n\nconst routes: Routes = [\n { path: 'activities', component: ActivitiesComponent, canActivate: [AuthGuard] },\n];\n\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: []\n})\nexport class ActivitiesRoutingModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ConfigurationService } from '../shared/config.data';\nimport { Schedule, Notification, AvailableOpportunity } from '../shared/models';\nimport { Observable } from 'rxjs';\n\n\n\n@Injectable()\nexport class ActivitiesService {\n\n constructor(private http: HttpClient, private configService: ConfigurationService) {\n\n }\n\n public getSchedules(userId: string): Observable {\n return this.http.get(`${this.configService.getStaffApi()}assessor/${userId}/studies`);\n\n }\n\n public getAvailableOpportunities(userId: string): Observable {\n return this.http.get(this.configService.getStaffApi() + 'Users/GetQualifiedStudies', {\n params: {\n userGuid: userId\n }\n });\n }\n public updateNofication(notificationId: number): Observable {\n return this.http.put(this.configService.getStaffApi() + `notifications`,\n {\n confirmed: true,\n notificationId: notificationId\n });\n }\n public getNotifications(userId: number): Observable {\n return this.http.get(this.configService.getStaffApi() + 'notifications', {\n params: {\n userId: userId.toString(),\n unConfirmedOnly: 'true'\n }\n });\n }\n public createSurveyInstance(surveyId, userGuid: string, scheduleId: number, userKey: number): Observable {\n return this.http.post(this.configService.getSurveyApi() + `survey/${surveyId}/user`,\n {\n isTest: false,\n userId: userGuid,\n userKey: userKey,\n surveyId: surveyId,\n scheduleId: scheduleId\n });\n }\n\n public createParticipation(studyId: number, scheduleId: number, userKey: number): Observable {\n return this.http.put(this.configService.getStaffApi() + `participation/create`,\n {\n studyId: studyId,\n userId: userKey,\n scheduleId: scheduleId\n });\n }\n}\n","\nimport { Component, OnInit } from '@angular/core';\nimport { Schedule, AvailableOpportunity, Notification} from '../shared/models';\nimport { ActivitiesService } from './activities.service';\nimport { Observable, Subscribable } from 'rxjs';\nimport { AuthService } from '../core/authentication/auth.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\n\n@Component({\n selector: 'activities',\n templateUrl: './ativities.component.html',\n styles: [('./activities.component.css')],\n})\n\nexport class ActivitiesComponent implements OnInit {\n\n public message: string;\n public opportunities: AvailableOpportunity[] = [];\n public schedules: Schedule[];\n public showCards: boolean = true;\n public notifications: Notification[] = [];\n constructor(\n private _activitiesService: ActivitiesService,\n private _authService: AuthService,\n private spinner: NgxSpinnerService) { }\n\n ngOnInit() {\n this.spinner.show();\n const userId = this._authService.userId;\n this._activitiesService.getSchedules(userId).subscribe((result) => {\n this.schedules = result;\n });\n this._activitiesService.getAvailableOpportunities(userId).subscribe((result) => {\n this.opportunities = result;\n });\n this._activitiesService.getNotifications(this._authService.localUserId).subscribe((result) => {\n this.notifications = result;\n })\n setTimeout(() => {\n this.spinner.hide();\n }, 1000);\n }\n getLink(event: Notification): string {\n switch (event.eventType) {\n default:\n return '/profile'\n }\n }\n confirm(notification: Notification) {\n this.spinner.show();\n console.log(\"Confirming notifications\");\n try {\n this._activitiesService.updateNofication(notification.id).subscribe((result) => {\n this.notifications.splice(this.notifications.indexOf(notification), 1);\n });\n \n\n } catch (e) {\n\n } finally {\n this.spinner.hide();\n }\n\n }\n}\n","\nimport { Component, OnInit, Input } from '@angular/core';\nimport { AvailableOpportunity, SessionCode, StudyType } from '../../shared/models';\nimport { ConfigurationService } from '../../shared/config.data';\nimport { AuthService } from '../../core/authentication/auth.service';\nimport { ActivitiesService } from '../activities.service';\n\n@Component({\n selector: 'opportunity',\n templateUrl: './opportunity.component.html',\n styles: [('./opportunity.component.css')],\n})\n\nexport class OpportunityComponent implements OnInit {\n\n @Input() study: AvailableOpportunity;\n\n public url: string;\n public message: string;\n private clickable: boolean;\n\n constructor(\n private configService: ConfigurationService,\n private _authService: AuthService,\n private _activiesService: ActivitiesService) { }\n\n ngOnInit() {\n this.clickable = this.study.isSelfSchedule;\n\n if (!this.clickable) {\n if (this.study.hasScreener && (!this.study.participationId || 1 > this.study.participationId)) {\n this.clickable = true;\n }\n\n if (this.clickable && this.study.sessionCode === SessionCode.NeedsArticulation) {\n this.clickable = false;\n }\n\n if (!this.clickable && this.study.studyType == StudyType.PreliminaryScreener) {\n this.clickable = true;\n this.message = \"For multiple studies\";\n }\n\n if (!this.clickable) {\n this.message = `Please wait for a phone call for study ${this.study.displayName}`;\n }\n }\n }\n\n acceptOpportunity() {\n\n if (!this.clickable) {\n return;\n }\n\n const staffUrl = this.configService.getStaffWeb();\n const userId = this._authService.localUserId;\n\n this.message = \"transferring\";\n let url = `${staffUrl}assessor/schedule/?assessorId=${userId}&scheduleId=${this.study.scheduleId}&studyId=${this.study.studyId}`;\n\n if (this.study.participationId && 0 < this.study.participationId) {\n window.location.href = url;\n }\n else {\n if (this.study.hasScreener) {\n\n this._activiesService.createSurveyInstance(\n this.study.screenerId, this._authService.userId,\n this.study.scheduleId, this._authService.localUserId\n ).subscribe((result) => {\n url = `${this.configService.getSurveyWeb()}${this.study.screenerId}/survey/start?instanceId=${result}&autoStart=true`;\n window.location.href = url;\n });\n\n } else {\n\n if (!this.study.participationId) {\n this._activiesService.createParticipation(\n this.study.studyId, this.study.scheduleId, this._authService.localUserId\n ).subscribe((result) => {\n window.location.href = url;\n });\n } else {\n window.location.href = url;\n }\n }\n }\n };\n}\n","\nimport { Component, OnInit, Input } from '@angular/core';\nimport { Schedule, Study, SessionCode } from '../../shared/models';\nimport { ConfigurationService } from '../../shared/config.data';\nimport { AuthService } from '../../core/authentication/auth.service';\n\n@Component({\n selector: 'schedule',\n templateUrl: './schedule.component.html',\n styles: [('./schedule.component.css')],\n})\n\nexport class ScheduleComponent implements OnInit {\n\n public url: string;\n public message: string;\n public hasSession: boolean;\n public scheduleText: string;\n public showClosedText: boolean;\n\n public closedText: string = `This schedule is currently closed to changes. Please call our office to cancel or change your appointment time.`;\n\n @Input() schedule: Schedule;\n\n constructor(\n private configService: ConfigurationService,\n private _authService: AuthService) { }\n\n ngOnInit() {\n\n const userId = this._authService.localUserId;\n const staffUrl = this.configService.getStaffWeb();\n\n this.showClosedText = false;\n this.hasSession = (null != this.schedule.sessionId && 0 < this.schedule.sessionId)\n this.url = `${staffUrl}assessor/schedule/?assessorId=${userId}&scheduleId=${this.schedule.id}&studyId=${this.schedule.studyId}&showSessions=true`;\n\n if (this.hasSession) {\n this.url += `&sessionId=${this.schedule.sessionId}`;\n }\n this.scheduleText = this.getScheduleDetailText();\n }\n\n getClass(): string {\n if (this.schedule.isCancelled) {\n return 'alert-danger';\n }\n else if (this.schedule.isPostponed) {\n return 'btn-warning';\n }\n return 'btn';\n }\n\n getScheduleDetailText(): string {\n if (this.schedule.isCancelled) {\n return 'This study has been cancelled';\n } else if (this.schedule.isPostponed &&\n !this.schedule.isScheduleOpenToPostponed) {\n return 'This study has been postponed';\n } else if (this.schedule.sessionCode === SessionCode.Pending) {\n return 'Please wait for a phone call';\n } else if (this.hasSession && (!this.schedule.isChangeSessionAvailable || !this.schedule.isScheduleOpen)) {\n return 'Call our office to change or cancel: ' + this.schedule.sessionDescription;\n } else if (this.schedule.sessionDate) {\n return this.schedule.sessionDescription;\n } else if (this.schedule.isScheduleOpen &&\n this.schedule.sessionCode == SessionCode.Postponed) {\n return 'Rescheduled sessions are available';\n } else if (!this.schedule.isSelfSchedule) {\n return 'Call our office to change or cancel';\n } else if (this.schedule.isScheduled && !this.hasSession) {\n return 'Sessions are available';\n }\n return '';\n }\n\n changeSchedule() {\n if (!this.schedule.isSelfSchedule) {\n this.scheduleText = 'Call our office to change or cancel';\n return;\n }\n if (this.schedule.sessionCode === SessionCode.NeedsArticulation) {\n this.scheduleText = 'Please wait for a phone call';\n return;\n }\n if (!this.schedule.isScheduleOpen) {\n this.scheduleText = 'Scheduling is not open at this time';\n return;\n }\n if (this.schedule.isChangeSessionAvailable) {\n this.scheduleText = \"Transferring to schedule\";\n window.location.href = this.url;\n } else {\n this.showClosedText = true;\n return;\n }\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n title = 'app';\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule, APP_INITIALIZER, ElementRef } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { RouterModule } from '@angular/router';\nimport { ConfigurationService } from './shared/config.data';\nimport { AppComponent } from './app.component';\nimport { NavMenuComponent } from './nav-menu/nav-menu.component';\nimport { CoreModule } from './core/core.module';\nimport { AccountModule } from './account/account.module';\nimport { SharedModule } from './shared/shared.module';\nimport { ActivitiesModule } from './activities/activities.module';\nimport { HttpIntercepterAuth } from './core/http.interceptor';\nimport { ProfileModule } from './profile/profile.module';\n\nimport { ToastrModule } from 'ngx-toastr';\nimport { AuthService } from './core/authentication/auth.service';\nimport { LookupService } from './shared/lookup.service';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { NgxSpinnerModule } from 'ngx-spinner';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { IncomeModule } from './income/income.module';\nimport { ReferralModule } from './referrals/referrals.module';\nimport { NotificationDeliveryTypePipe } from './core/pipes/deliverytype-pipe';\nimport { DOCUMENT } from '@angular/common';\n\n@NgModule({\n declarations: [\n AppComponent,\n NavMenuComponent\n ],\n imports: [\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\n HttpClientModule,\n CoreModule,\n AccountModule,\n IncomeModule,\n FormsModule,\n SharedModule,\n ReferralModule,\n NgxSpinnerModule,\n NgbModule,\n ActivitiesModule,\n ToastrModule.forRoot(),\n BrowserAnimationsModule,\n ProfileModule,\n RouterModule.forRoot([\n { path: '', redirectTo: '/activities', pathMatch: 'full' }\n ])\n ],\n exports: [\n NotificationDeliveryTypePipe\n ],\n providers: [ConfigurationService,\n {\n provide: APP_INITIALIZER,\n useFactory: (config: AuthService) => () => config.load(), deps: [AuthService], multi: true\n },\n {\n provide: APP_INITIALIZER,\n useFactory: (config: ConfigurationService, doc: Document) => () => {\n if (config.getCustomHeaderJs() != \"\") {\n const script = document.createElement('script');\n script.src = config.getCustomHeaderJs();\n document.head.appendChild(script);\n }\n \n }\n ,\n deps: [ConfigurationService, DOCUMENT], multi: true\n },\n { provide: HTTP_INTERCEPTORS, useClass: HttpIntercepterAuth, multi: true },\n LookupService\n ],\n bootstrap: [AppComponent] \n})\n\nexport class AppModule { }\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n key: string = \"callback-page\";\n constructor(private router: Router, private authService: AuthService) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n if (this.authService.isAuthenticated()) { return true; }\n localStorage.setItem(this.key, state.url);\n this.authService.login();\n return false;\n }\n\n}\n","import { Injectable, OnInit } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError } from 'rxjs/operators';\nimport { UserManager, UserManagerSettings, User } from 'oidc-client';\nimport { BehaviorSubject } from 'rxjs';\nimport { ConfigurationService } from '../../shared/config.data';\nimport { BaseService } from \"../../shared/base.service\";\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService extends BaseService {\n\n // Observable navItem source\n private _authNavStatusSource = new BehaviorSubject(false);\n // Observable navItem stream\n authNavStatus$ = this._authNavStatusSource.asObservable();\n private localIdKey: string = \"localId\";\n private user: User | null;\n private manager: any;\n constructor(private http: HttpClient, private configService: ConfigurationService) {\n super();\n\n\n }\n load() {\n\n return this.configService.load().then(() => {\n this.manager = new UserManager(this.getIdentitySettings());\n return this.manager.getUser().then((user) => {\n this.user = user;\n this._authNavStatusSource.next(this.isAuthenticated());\n });\n });\n }\n login() {\n return this.manager.signinRedirect();\n }\n signInSilent() {\n return this.manager.signinSilentCallback();\n }\n logOut() {\n this.manager.signoutRedirect();\n }\n async completeAuthentication() {\n await this.manager.signinRedirectCallback();\n this.user = await this.manager.getUser();\n\n let localId = await this.getLocalUserId(this.userId);\n localStorage.setItem(this.localIdKey, JSON.stringify(localId[0]));\n\n this._authNavStatusSource.next(this.isAuthenticated());\n }\n async getLocalUserId(userGuid: string): Promise {\n return await this.http.get(this.configService.getStaffApi() + \"users\", { params: { userGuid: userGuid } }).toPromise();\n };\n\n register(userRegistration: any) {\n return this.http.post('/account', userRegistration).pipe(catchError(this.handleError));\n }\n\n isAuthenticated(): boolean {\n\n return this.user != null && !this.user.expired;\n }\n\n async getAuthorizationHeaderValue() {\n if (this.user) {\n //console.log(this.user.access_token);\n return `${this.user.token_type} ${this.user.access_token}`;\n }\n return \"\";\n }\n\n setUsername(username: string): void {\n if (this.user != null) { this.user.profile.name = username };\n }\n get name(): string {\n return this.user != null ? this.user.profile.name : '';\n }\n get localUserId(): number {\n let user = JSON.parse(localStorage.getItem(this.localIdKey));\n return user.id;\n }\n get userId(): string {\n //console.log(this.user);\n return this.user != null ? this.user.profile.sub : '';\n }\n\n signout() {\n this.manager.signoutRedirect();\n }\n getIdentitySettings(): UserManagerSettings {\n const settings = {\n authority: this.configService.getAuthority(),\n client_id: this.configService.getClientId(),\n redirect_uri: window.location.origin + '/auth-callback',\n scope: this.configService.getScopes(),\n loadUserInfo: true,\n silent_redirect_uri: window.location.origin + '/auth-silent-callback',\n response_type: \"token id_token\",\n post_logout_redirect_uri: window.location.origin,\n\n };\n //console.log(settings);\n return settings;\n }\n}\n","import { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { AuthService } from './authentication/auth.service';\nimport { AuthGuard } from './authentication/auth.guard';\nimport { IcToastrService } from './toastr.service';\nimport { NotificationDeliveryTypePipe } from './pipes/deliverytype-pipe';\n\n@NgModule({\n imports: [\n ],\n declarations: [\n NotificationDeliveryTypePipe\n ],\n exports: [\n NotificationDeliveryTypePipe\n ],\n providers: [\n AuthService,\n AuthGuard,\n IcToastrService,\n \n ]\n})\nexport class CoreModule {\n\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\n // Import guard\n if (parentModule) {\n throw new Error(`${parentModule} has already been loaded. Import Core module in the AppModule only.`);\n }\n }\n\n}\n","import { Observable, from } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { HttpInterceptor } from '@angular/common/http';\nimport { HttpRequest } from '@angular/common/http';\nimport { HttpHandler } from '@angular/common/http';\nimport { HttpEvent } from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nimport { AuthService } from './authentication/auth.service';\n\n@Injectable()\nexport class HttpIntercepterAuth implements HttpInterceptor {\n constructor(private authService: AuthService) { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return from(this.handleAccess(request, next));\n }\n\n private async handleAccess(request: HttpRequest, next: HttpHandler):\n Promise> {\n\n if (request.url.startsWith('/') || 0 < request.url.indexOf(\"registration\")) {\n return next.handle(request).toPromise();\n }\n\n let changedRequest = request;\n // HttpHeader object immutable - copy values\n const headerSettings: { [name: string]: string | string[]; } = {};\n\n for (const key of request.headers.keys()) {\n headerSettings[key] = request.headers.getAll(key);\n }\n const token = await this.authService.getAuthorizationHeaderValue();\n if (token && !headerSettings['Authorization']) {\n headerSettings['Authorization'] = token;\n }\n\n headerSettings['Content-Type'] = 'application/json';\n const newHeader = new HttpHeaders(headerSettings);\n\n changedRequest = request.clone({\n headers: newHeader\n });\n return next.handle(changedRequest).toPromise();\n }\n\n}\n","export class IKeyValuePair {\n\n}\nexport enum NotificationDeliveryType {\n Email = 0,\n SMS = 1\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { NotificationDeliveryType } from '../models';\n\n@Pipe({ name: 'notificationDeliveryType' })\nexport class NotificationDeliveryTypePipe implements PipeTransform {\n transform(value: NotificationDeliveryType): string {\n switch (value) {\n case NotificationDeliveryType.Email:\n return \"Email\";\n case NotificationDeliveryType.SMS:\n return \"Text\";\n default:\n return \"Email\";\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ToastrService, ActiveToast } from 'ngx-toastr';\nimport { IHttpError } from '../shared/models';\n\n\n@Injectable()\nexport class IcToastrService {\n baseUrl: string;\n userId: number;\n constructor(private _toastr: ToastrService) {\n\n }\n \n show(message?: string, title?: string): ActiveToast {\n return this._toastr.show(message, title);\n }\n /** show successful toast */\n success(message?: string, title?: string): ActiveToast {\n return this._toastr.success(message, title);\n }\n /** show error toast */\n error(message?: string): ActiveToast {\n return this._toastr.error(message);\n }\n httpError(error?: IHttpError): ActiveToast {\n if (error.data) {\n return this._toastr.error(error.data.message);\n }\n let custom = error;\n\n if (custom.error) {\n return this._toastr.error(custom.error.message);\n }\n return this._toastr.error(custom.message);\n \n }\n\n \n}\n","import { Component, OnInit } from '@angular/core';\nimport { LedgerSummary, LedgerDetail } from '../shared/models';\nimport { AuthService } from '../core/authentication/auth.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { IncomeService } from './income.service';\n\n@Component({\n selector: 'income',\n templateUrl: './income.component.html',\n styles: [('./income.component.scss')]\n})\n\nexport class IncomeComponent implements OnInit {\n\n incomeDetail: LedgerSummary;\n\n selectedYear: number;\n incomeYears: number[];\n\n constructor(\n private _authService: AuthService,\n private spinner: NgxSpinnerService,\n private _incomeService: IncomeService) {\n }\n\n ngOnInit() {\n this.incomeYears = [];\n const year = new Date().getFullYear();\n\n this.selectedYear = year;\n this.incomeYears.push(year);\n this.incomeYears.push(year - 1);\n\n this.loadYear(year);\n }\n getYtdTotal(incomeDetail: LedgerSummary) {\n let total = 0;\n if (!incomeDetail.ledgerDetail) {\n return total;\n }\n incomeDetail.ledgerDetail.forEach((detail: LedgerDetail) => {\n total += detail.pointsEarned;\n });\n return total;\n }\n loadYear(year: number) {\n this.spinner.show();\n this._incomeService\n .getIncome(this._authService.localUserId, year)\n .subscribe((val) => {\n this.spinner.hide();\n this.incomeDetail = val;\n })\n }\n}\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule } from '@angular/forms';\n\nimport { AuthGuard } from '../core/authentication/auth.guard';\nimport { NgxSpinnerModule } from 'ngx-spinner';\nimport { IncomeComponent } from './income.component';\nimport { IncomeService } from './income.service';\n\n@NgModule({\n declarations: [\n IncomeComponent\n ],\n imports: [\n BrowserModule,\n FormsModule,\n CommonModule,\n NgxSpinnerModule,\n RouterModule.forRoot([\n { path: 'income', component: IncomeComponent, canActivate: [AuthGuard]},\n ])\n ],\n providers: [IncomeService],\n exports: [CommonModule]\n})\nexport class IncomeModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ConfigurationService } from '../shared/config.data';\nimport { LedgerSummary } from '../shared/models';\nimport { Observable } from 'rxjs';\n\n\n@Injectable()\nexport class IncomeService {\n baseUrl: string;\n userId: number;\n constructor(protected _http: HttpClient, private _configuration: ConfigurationService) {\n this.baseUrl = _configuration.getStaffApi();\n this.userId = _configuration.getUserId();\n }\n public getIncome(userId: number, year: number): Observable {\n let actionUrl = `${this.baseUrl}ledger`;\n return this._http.get(actionUrl, {\n params: {\n userId: `${userId}`,\n year: `${year}`,\n includeDetail: 'true'\n }\n }\n );\n }\n}\n","import { Component } from '@angular/core';\nimport { AuthService } from '../core/authentication/auth.service';\nimport { ConfigurationService } from '../shared/config.data';\nimport { ImageType } from '../shared/models';\n\n@Component({\n selector: 'app-nav-menu',\n templateUrl: './nav-menu.component.html',\n styleUrls: ['./nav-menu.component.css']\n})\nexport class NavMenuComponent {\n isExpanded = false;\n logoUrl: string;\n isAuthenticated: boolean;\n user: any;\n\n constructor(public authService: AuthService, private _configuration: ConfigurationService) {\n this.isAuthenticated = this.authService.isAuthenticated();\n this.authService.authNavStatus$.subscribe(() => {\n this.isAuthenticated = this.authService.isAuthenticated();\n this.user = this.authService.name;\n\n });\n\n this.logoUrl = `${_configuration.getStaffApi()}files?imageType=${ImageType.Logo}`;\n }\n\n collapse() {\n this.isExpanded = false;\n }\n\n toggle() {\n this.isExpanded = !this.isExpanded;\n }\n logout() {\n this.authService.logOut();\n return false;\n }\n login() {\n this.authService.login();\n return false;\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { UserProfile } from 'src/app/shared/models';\nimport { AuthService } from 'src/app/core/authentication/auth.service';\n\n@Component({\n selector: 'profile-contactinfo',\n templateUrl: './profile.contactinfo.card.html'\n})\n\nexport class ProfileContactInfoComponent implements OnInit {\n\n userId: string;\n @Input() profile: UserProfile;\n constructor(authService: AuthService) {\n this.userId = authService.userId;\n }\n ngOnInit() { }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ProfileService } from '../profile.service';\nimport { AuthService } from '../../core/authentication/auth.service';\nimport { UserProfile, IHttpError, IStatusRequest } from 'src/app/shared/models';\nimport { Form } from '@angular/forms';\nimport { LookupService } from 'src/app/shared/lookup.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { ToastrService } from 'ngx-toastr';\nimport { Location } from '@angular/common'\nimport { NotificationDeliveryType } from '../../core/models';\n\n\n@Component({\n selector: 'profile-contactinfoedit',\n templateUrl: './profile.contactinfo.edit.html'\n})\n\nexport class ProfileContactInfoEditComponent implements OnInit {\n\n public values: any[];\n public message: string;\n public contactInfo: any;\n public states: string[];\n public notificationTypes: number[]\n\n public userId: number;\n public showOptOut: boolean;\n public optOutReason: number;\n public optOutSpecify: string;\n\n private phoneRegex = \"\\\\d{10}\";\n\n public contactForm: Form;\n public profile: UserProfile = {};\n\n constructor(\n private route: ActivatedRoute,\n private _profileService: ProfileService,\n private _authService: AuthService,\n private lookupService: LookupService,\n private spinner: NgxSpinnerService,\n private _toastr: ToastrService,\n private location: Location) {\n\n this.states = this.lookupService.getStates();\n\n this.notificationTypes = [];\n this.notificationTypes.push(NotificationDeliveryType.Email);\n this.notificationTypes.push(NotificationDeliveryType.SMS);\n }\n\n async ngOnInit() {\n\n let id;\n this.spinner.show();\n\n this.optOutReason = 0;\n this.optOutSpecify = '';\n this.showOptOut = false;\n\n this.profile = {} as UserProfile;\n this.userId = this._authService.localUserId;\n\n this.route.paramMap.subscribe(params => {\n id = params.get(\"id\");\n });\n\n await this._profileService.getProfileInfo(id).subscribe((val) => {\n this.profile = val[0];\n if (this.profile) {\n if (this.profile.allowSMS === undefined || this.profile.allowSMS === null) {\n this.profile.allowSMS = false;\n }\n if (this.profile.isBadSMS === undefined || this.profile.isBadSMS === null) {\n this.profile.isBadSMS = false;\n } if (this.profile.isBadEmail === undefined || this.profile.isBadEmail === null) {\n this.profile.isBadEmail = false;\n }\n if (this.profile.twoFactorEnabled === undefined || this.profile.twoFactorEnabled === null) {\n this.profile.twoFactorEnabled = false;\n }\n\n }\n this.spinner.hide();\n }, (error: IHttpError) => {\n this.spinner.hide();\n this._toastr.error(error.data.message);\n });\n }\n\n onSubmit(form: Form) {\n if (this.isValid()) {\n this.spinner.show();\n this._profileService.updateUserProfileData(this.profile).subscribe((val) => {\n this.spinner.hide();\n this.goBack();\n }, (error: IHttpError) => {\n this.spinner.hide();\n this._toastr.error(error.error.message);\n });\n }\n }\n\n isPhone(phone: string): boolean {\n\n if (null != phone && 1 < phone.length) {\n\n var copy = JSON.parse(JSON.stringify(phone));\n\n copy = copy.replace(/\\D/g, '')\n\n if (null != copy && 1 < copy.length) {\n\n if (10 != copy.length) {\n this._toastr.error(\"Phone numbers must be 10 digits long, no spaces or dashes\");\n }\n\n phone = copy;\n return phone.match(this.phoneRegex).length > 0;\n }\n }\n return false;\n }\n\n isValid(): boolean {\n\n if ((this.profile.address1 === undefined || this.profile.address1 === null)\n || 1 > this.profile.address1.trim().length) {\n this._toastr.warning(\"Please provide an address\");\n return false;\n }\n\n if ((this.profile.city === undefined || this.profile.city === null)\n || 1 > this.profile.city.trim().length) {\n this._toastr.warning(\"Please provide a city\");\n return false;\n }\n\n if ((this.profile.state === undefined || this.profile.state === null)\n || 1 > this.profile.state.trim().length) {\n this._toastr.warning(\"Please provide a state\");\n return false;\n }\n\n if ((this.profile.zipCode === undefined || this.profile.zipCode === null)\n || 1 > this.profile.zipCode.trim().length) {\n this._toastr.warning(\"Please provide a zip code\");\n return false;\n }\n\n let regex = \"\\\\d{10}\";\n\n if (this.profile.cellPhone) {\n if (null != this.profile.cellPhone && 1 < this.profile.cellPhone.length) {\n\n this.profile.cellPhone = this.profile.cellPhone.replace(/\\D/g, '')\n\n if (null != this.profile.cellPhone && 1 < this.profile.cellPhone.length) {\n if (!this.profile.cellPhone.match(regex)) {\n this._toastr.warning(\"Cell Phone must be 10 digits long, no spaces or dashes\");\n return false;\n }\n }\n }\n } else {\n if (this.profile.preferences.reminders === NotificationDeliveryType.SMS) {\n this._toastr.warning(\"Cell Phone required for SMS Text Message reminders\");\n return false;\n }\n if (this.profile.preferences.invitations === NotificationDeliveryType.SMS) {\n this._toastr.warning(\"Cell Phone required for SMS Text Message invitations\");\n return false;\n }\n }\n\n if (this.profile.homePhone) {\n if (null != this.profile.homePhone && 1 < this.profile.homePhone.length) {\n\n this.profile.homePhone = this.profile.homePhone.replace(/\\D/g, '')\n\n if (null != this.profile.homePhone && 1 < this.profile.homePhone.length) {\n if (!this.profile.homePhone.match(regex)) {\n this._toastr.warning(\"Home Phone must be 10 digits long, no spaces or dashes\");\n return false;\n }\n }\n }\n }\n\n if (this.profile.workPhone) {\n if (null != this.profile.workPhone && 1 < this.profile.workPhone.length) {\n\n this.profile.workPhone = this.profile.workPhone.replace(/\\D/g, '')\n\n if (null != this.profile.workPhone && 1 < this.profile.workPhone.length) {\n if (!this.profile.workPhone.match(regex)) {\n this._toastr.warning(\"Work Phone must be 10 digits long, no spaces or dashes\");\n return false;\n }\n }\n }\n }\n return true;\n }\n\n goBack() {\n this.location.back();\n }\n\n toggleShowOptOut() {\n this.optOutReason = 0;\n this.optOutSpecify = '';\n this.showOptOut = !this.showOptOut;\n }\n\n onConfirm() {\n\n if (0 < this.optOutReason) {\n var optOutNumber = Number(this.optOutReason);\n if (9 == optOutNumber && 1 > this.optOutSpecify.length) {\n this._toastr.warning(\"Please specify for Other.\");\n return;\n }\n\n this.spinner.show();\n\n var reason = \"\"\n switch (optOutNumber) {\n case 1:\n reason = 'I am moving away.';\n break;\n case 2:\n reason = 'I do not get invited to participate enough.';\n break;\n case 3:\n reason = 'I do not qualify enough for studies.'\n break;\n case 4:\n reason = 'Compensation is not high enough.'\n break;\n case 5:\n reason = 'I had a bad experience with testing or staff.'\n break;\n case 9:\n reason = this.optOutSpecify\n break;\n default:\n reason = 'User Opted Out'\n break;\n }\n\n var request = {\n action: 3,\n endDate: null,\n reason: reason,\n assessorId: this.userId,\n requestedBy: this.userId,\n modifiedDate: new Date()\n } as IStatusRequest;\n\n this._profileService.optOutUser(request).subscribe((val) => {\n this.spinner.hide();\n this._authService.logOut();\n }, (error: IHttpError) => {\n this.spinner.hide();\n this._toastr.error(error.error.message);\n });\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Form, NgForm } from '@angular/forms';\nimport { ProfileService } from '../profile.service';\nimport { AuthService } from '../../core/authentication/auth.service';\nimport { IHttpError, UserNameRequest } from '../../shared/models';\nimport { ToastrService } from 'ngx-toastr';\nimport { Location } from '@angular/common'\n\n\n@Component({\n selector: 'username',\n templateUrl: './profile.username.component.html',\n styles: [('./profile.username.component.scss')]\n})\n\nexport class ProfileUsernameComponent implements OnInit {\n\n usernameRequest: UserNameRequest;\n\n public userId: number;\n public usernameForm: Form;\n\n constructor(\n private _toastr: ToastrService,\n private spinner: NgxSpinnerService,\n private _authService: AuthService,\n private _profileService: ProfileService,\n private location: Location) {\n }\n\n async ngOnInit() {\n this.userId = this._authService.localUserId;\n this.usernameRequest = {} as UserNameRequest;\n\n await this.loadRequest();\n }\n\n async loadRequest() {\n\n this.spinner.show();\n await this._profileService.getUsernameRequest(this.userId).subscribe((val) => {\n this.usernameRequest = val as UserNameRequest;\n this.spinner.hide();\n }, (error: IHttpError) => {\n this.spinner.hide();\n this._toastr.error(\"Error occured\");\n });\n }\n\n goBack() {\n this.location.back();\n }\n\n async onSubmit(form: NgForm) {\n\n if (form.invalid) {\n return;\n }\n\n if (this.IsValid()) {\n this.spinner.show();\n this._profileService.getUsernameIsTaken(this.userId, this.usernameRequest.confirmUsername)\n .subscribe(async (val) => {\n if (!val) {\n await this._profileService.updateUsername(this.usernameRequest).subscribe((val) => {\n this._authService.setUsername(this.usernameRequest.confirmUsername);\n this.spinner.hide();\n this.goBack();\n }, (error: IHttpError) => {\n this.spinner.hide();\n this._toastr.error(\"Error occured\");\n });\n } else {\n this.spinner.hide();\n this._toastr.error(\"Username is already taken. Please choose another\");\n }\n }, (error: IHttpError) => {\n this.spinner.hide();\n this._toastr.error(\"Error occured\");\n });\n }\n }\n\n IsValid(): boolean {\n if (!this.usernameRequest.newUsername || 6 > this.usernameRequest.newUsername.length) {\n this._toastr.warning(\"Please provide a new user name of at least 6 characters\");\n return false;\n }\n if (this.usernameRequest.newUsername.indexOf(' ') >= 0) {\n this._toastr.warning(\"Username cannot have spaces\");\n return false;\n }\n if (!this.usernameRequest.confirmUsername || this.usernameRequest.confirmUsername != this.usernameRequest.newUsername) {\n this._toastr.warning(\"Confirm user name must match New user name\");\n return false;\n }\n return true;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../../core/authentication/auth.service';\nimport { FamilyWidget } from '../../shared/models';\nimport { ProfileService } from '../profile.service';\n\n@Component({\n selector: 'profile-family',\n templateUrl: './profile.family.card.html'\n})\n\nexport class ProfileFamilyComponent implements OnInit {\n\n userId: number;\n familyWidget: FamilyWidget;\n\n constructor(authService: AuthService, private _profileService: ProfileService) {\n this.userId = authService.localUserId;\n this.familyWidget = { familyCount: 0, confirmedCount: 0, unconfirmedCount: 0 } as FamilyWidget;\n }\n\n ngOnInit() {\n this._profileService.getFamilyWidget(this.userId.toString())\n .subscribe((val) => {\n if (val === undefined || val === null) {\n val = { familyCount: 0, confirmedCount: 0, unconfirmedCount: 0 } as FamilyWidget;\n }\n this.familyWidget = val;\n if (this.familyWidget.familyCount === undefined || this.familyWidget.familyCount === null) {\n this.familyWidget.familyCount = 0;\n }\n if (this.familyWidget.confirmedCount === undefined || this.familyWidget.confirmedCount === null) {\n this.familyWidget.confirmedCount = 0;\n }\n if (this.familyWidget.unconfirmedCount === undefined || this.familyWidget.unconfirmedCount === null) {\n this.familyWidget.unconfirmedCount = 0;\n }\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { ToastrService } from 'ngx-toastr';\nimport { FamilyMember, FamilyRequest, IHttpError } from '../../shared/models';\nimport { ProfileService } from '../profile.service';\nimport { AuthService } from '../../core/authentication/auth.service';\nimport { IKeyValuePair } from '../../core/models';\n\n\n@Component({\n selector: 'profile-family-list',\n templateUrl: './profile.family.list.card.html'\n})\n\nexport class ProfileFamilyListComponent implements OnInit {\n\n familyRequest: FamilyRequest;\n familyMembers: FamilyMember[];\n\n relationships: IKeyValuePair[];\n\n userId: number;\n userName: string;\n submitted: boolean;\n\n addFamily: boolean;\n\n constructor(\n private route: ActivatedRoute,\n private _profileService: ProfileService,\n private spinner: NgxSpinnerService,\n private _toastr: ToastrService,\n private _authService: AuthService) { }\n\n ngOnInit() {\n this.spinner.show();\n this.submitted = false;\n this.addFamily = false;\n\n this.familyRequest = {\n userId: 0,\n userName: \"\",\n relationship: -1,\n } as FamilyRequest;\n\n this.familyRequest.userId = this._authService.localUserId;\n\n this.relationships = [] as IKeyValuePair[];\n this.relationships.push({ key: 0, value: \"Spouse (Partner)\" } as IKeyValuePair);\n this.relationships.push({ key: 1, value: \"Former Spouse (Partner)\" } as IKeyValuePair);\n this.relationships.push({ key: 2, value: \"Child\" } as IKeyValuePair);\n this.relationships.push({ key: 3, value: \"Parent (Guardian)\" } as IKeyValuePair);\n\n this.loadFamily();\n }\n\n confirmFamily(familyMember: FamilyMember) {\n this.spinner.show();\n\n let id;\n this.route.paramMap.subscribe(params => {\n id = params.get(\"id\");\n });\n\n this._profileService.confirmFamilyMember(id, familyMember.id).subscribe((val) => {\n familyMember.isConfirmed = val;;\n this.spinner.hide();\n }, (error: IHttpError) => {\n this.spinner.hide();\n this._toastr.error(error.data.message);\n });\n }\n\n deleteFamily(userFamilyId: number) {\n this.spinner.show();\n\n let id;\n this.route.paramMap.subscribe(params => {\n id = params.get(\"id\");\n });\n\n var reload = false;\n this._profileService.deleteFamilyMember(id, userFamilyId)\n .subscribe((val) => {\n reload = val;\n if (reload) { this.loadFamily(); } else {\n this.spinner.hide();\n }\n }, (error: IHttpError) => {\n this.spinner.hide();\n this._toastr.error(error.data.message);\n });\n }\n\n loadFamily() {\n this.spinner.show();\n\n let id;\n this.route.paramMap.subscribe(params => {\n id = params.get(\"id\");\n });\n\n this.resetForm();\n\n this._profileService.getFamilyMembers(id).subscribe((val) => {\n this.familyMembers = val;\n this.spinner.hide();\n }, (error: IHttpError) => {\n this.spinner.hide();\n this._toastr.error(error.data.message);\n });\n }\n\n toggleAdd() {\n this.addFamily = !this.addFamily;\n this.resetForm();\n }\n\n onSubmit(form: NgForm) {\n\n if (form.invalid) {\n return;\n }\n\n //console.log('trying to submit');\n\n this.spinner.show();\n\n let id;\n this.route.paramMap.subscribe(params => {\n id = params.get(\"id\");\n });\n\n //console.log(this.familyRequest);\n\n this._profileService.requestFamilyMember(id, this.familyRequest)\n .subscribe((val) => {\n if (val == 1) {\n\n this.cancelAdd();\n this.submitted = true;\n this._toastr.success(\"Created family member\");\n\n this.loadFamily();\n } else {\n this.spinner.hide();\n this.submitted = false;\n this._toastr.warning(\"Username not found\");\n }\n }, (error: IHttpError) => {\n this.spinner.hide();\n this._toastr.error(error.data.message);\n });\n }\n\n resetForm() {\n this.submitted = false;\n this.familyRequest.userName = \"\";\n this.familyRequest.relationship = -1;\n }\n cancelAdd() {\n this.addFamily = false;\n this.resetForm();\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ProfileService } from './profile.service';\nimport { Survey, UserSurveyDto, UserProfile } from '../shared/models';\nimport { AuthService } from '../core/authentication/auth.service';\nimport { ConfigurationService } from '../shared/config.data';\nimport { NgxSpinnerService } from 'ngx-spinner';\n\n@Component({\n selector: 'profile',\n templateUrl: './profile.component.html',\n styles: [('./profile.component.scss')]\n})\n\nexport class ProfileComponent implements OnInit {\n\n constructor(private _profileService: ProfileService, private _authService: AuthService,\n private _configService: ConfigurationService, private spinner: NgxSpinnerService) { }\n\n profiles: UserSurveyDto[];\n profileSurveys: Survey[];\n userProfile: UserProfile;\n\n\n ngOnInit() {\n this.spinner.show();\n\n this._profileService.getUserProfileCompletion(this._authService.userId).subscribe((val) => {\n this.profiles = val;\n });\n this._profileService.getSurveyData().subscribe((val) => {\n this.profileSurveys = val;\n });\n this._profileService.getProfileInfo(this._authService.userId).subscribe((val) => {\n this.userProfile = val[0];\n\n if (this.userProfile.allowSMS === undefined || this.userProfile.allowSMS === null) {\n this.userProfile.allowSMS = false;\n }\n if (this.userProfile.isBadSMS === undefined || this.userProfile.isBadSMS === null) {\n this.userProfile.isBadSMS = false;\n } if (this.userProfile.isBadEmail === undefined || this.userProfile.isBadEmail === null) {\n this.userProfile.isBadEmail = false;\n }\n });\n\n setTimeout(() => {\n this.spinner.hide();\n }, 1000);\n\n }\n async updateProfile(survey: Survey) {\n let instanceId: number = await this._profileService.createSurveyInstance(survey.id, this._authService.userId);\n const url =\n `${this._configService.getSurveyWeb()}${survey.id}/survey/start?returnUrl=${window.location.href}&instanceId=${instanceId}&autoStart=true&restart=true`;\n //console.log(url);\n window.location.href = url;\n }\n getCompletedSurvey(survey: Survey): UserSurveyDto {\n const completion = this.profiles.find((item) => {\n return item.surveyId == survey.id;\n });\n return completion;\n }\n hasEndDate(survey: Survey) {\n return (this.getCompletedSurvey(survey));\n }\n getEndDate(survey: Survey) {\n const completion = this.getCompletedSurvey(survey);\n return completion.endDate;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule } from '@angular/forms';\n\nimport { ProfileContactInfoComponent } from './contactinfo/profile.contactinfo.component';\nimport { ProfileFamilyComponent } from './family/profile.family.component';\nimport { ProfileComponent } from './profile.component';\nimport { ProfileService } from './profile.service';\nimport { ProfileContactInfoEditComponent } from './contactinfo/profile.contactinfo.edit.component';\nimport { ProfileFamilyListComponent } from './family/profile.family.list.component';\nimport { AuthGuard } from '../core/authentication/auth.guard';\nimport { NgxSpinnerModule } from 'ngx-spinner';\nimport { NotificationDeliveryTypePipe } from '../core/pipes/deliverytype-pipe';\nimport { CoreModule } from '../core/core.module';\nimport { ProfileUsernameComponent } from './contactinfo/profile.username.component';\n\n@NgModule({\n declarations: [\n ProfileContactInfoComponent,\n ProfileFamilyComponent,\n ProfileComponent,\n ProfileContactInfoEditComponent,\n ProfileFamilyListComponent,\n ProfileUsernameComponent\n ],\n imports: [\n BrowserModule,\n FormsModule,\n CommonModule,\n CoreModule,\n NgxSpinnerModule,\n RouterModule.forRoot([\n { path: 'profile', component: ProfileComponent, canActivate: [AuthGuard]},\n { path: 'profile/:id/edit', component: ProfileContactInfoEditComponent, canActivate: [AuthGuard] },\n { path: 'profile/:id/family', component: ProfileFamilyListComponent, canActivate: [AuthGuard] },\n { path: 'profile/:id/username', component: ProfileUsernameComponent, canActivate: [AuthGuard] }\n ])\n ],\n providers: [ProfileService],\n exports: [CommonModule]\n})\nexport class ProfileModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ConfigurationService } from '../shared/config.data';\nimport { Survey, UserSurveyDto, UserProfile, FamilyMember, FamilyRequest, UserNameRequest, FamilyWidget, IStatusRequest } from '../shared/models';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class ProfileService {\n baseUrl: string;\n staffUrl: string;\n userId: number;\n constructor(protected _http: HttpClient, private _configuration: ConfigurationService) {\n this.baseUrl = _configuration.getSurveyApi();\n this.staffUrl = _configuration.getStaffApi();\n this.userId = _configuration.getUserId();\n }\n public getUserProfileCompletion(userId: string): Observable {\n let actionUrl = `${this.baseUrl}usersurvey?userId=${userId}&surveyType=2 `;\n return this._http.get(actionUrl);\n }\n public getSurveyData(): Observable {\n let actionUrl = `${this.baseUrl}survey?surveyType=2&surveyState=3&isActive=true`;\n return this._http.get(actionUrl);\n }\n public getFamilyWidget(userId: string): Observable {\n let actionUrl = `${this.staffUrl}assessor/${userId}/widget/family`;\n return this._http.get(actionUrl);\n }\n public getFamilyMembers(userId: string): Observable {\n let actionUrl = `${this.staffUrl}assessor/${userId}/family`;\n return this._http.get(actionUrl);\n }\n public requestFamilyMember(userId: string, familyRequest: FamilyRequest): Observable {\n let actionUrl = `${this.staffUrl}assessor/${userId}/family/request`;\n return this._http.post(actionUrl, familyRequest);\n }\n public confirmFamilyMember(userId: string, userFamilyId: number): Observable {\n let actionUrl = `${this.staffUrl}assessor/${userId}/family/${userFamilyId}/confirm`;\n return this._http.put(actionUrl, userFamilyId);\n }\n public deleteFamilyMember(userId: string, userFamilyId: number): Observable {\n let actionUrl = `${this.staffUrl}assessor/${userId}/family/${userFamilyId}/remove`;\n return this._http.delete(actionUrl);\n }\n public optOutUser(request: IStatusRequest): Observable {\n let actionUrl = `${this._configuration.getStaffApi()}assessor/status`;\n return this._http.post(actionUrl, request);\n }\n public updateUserProfileData(profile: UserProfile): Observable {\n let actionUrl = `${this._configuration.getStaffApi()}users/${profile.id}`;\n return this._http.put(actionUrl, profile);\n }\n public getProfileInfo(userGuid: string): Observable {\n let actionUrl = `${this._configuration.getStaffApi()}users`;\n return this._http.get(actionUrl, { params: { userGuid: userGuid } });\n }\n public createSurveyInstance(surveyId: number, userId: string) {\n return this._http.post(`${this.baseUrl}survey/${surveyId}/user`,\n { userId: userId, surveyId: surveyId }).toPromise();\n }\n public getUsernameRequest(userId: number): Observable {\n let actionUrl = `${this._configuration.getStaffApi()}users/${userId}/username`;\n return this._http.get(actionUrl);\n }\n public getUsernameIsTaken(userId: number, userName: string): Observable {\n let actionUrl = `${this._configuration.getStaffApi()}users/${userId}/username/unavailable`;\n return this._http.get(actionUrl, { params: { userId: userId, userName: userName } });\n }\n public updateUsername(request: UserNameRequest): Observable {\n let actionUrl = `${this._configuration.getStaffApi()}users/${request.userId}/username`;\n return this._http.put(actionUrl, request);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ReferralSummary, ReferralRequest, IHttpError, IDataMessage } from '../shared/models';\nimport { AuthService } from '../core/authentication/auth.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { ReferralsService } from './referrals.service';\nimport { Form, NgForm } from '@angular/forms';\nimport { IcToastrService } from '../core/toastr.service';\n\n\n@Component({\n selector: 'referrals',\n templateUrl: './referrals.component.html',\n styles: [('./referrals.component.scss')]\n})\n\nexport class ReferralComponent implements OnInit {\n referralDetails: ReferralSummary[];\n referralRequest: ReferralRequest;\n firstName: string;\n lastName: string;\n email: string;\n validateEmail: true;\n submitted: boolean = false;\n public referForm: Form;\n\n constructor(\n private _authService: AuthService,\n private _toastr: IcToastrService,\n private spinner: NgxSpinnerService,\n private _referralService: ReferralsService) { }\n\n ngOnInit() {\n this.loadReferrals();\n this.referralRequest = new ReferralRequest();\n this.referralRequest.referredByUserId = this._authService.localUserId;\n this.resetForm();\n //this.loadYear(date.getFullYear());\n }\n\n onSubmit(form: NgForm) {\n this.submitted = true;\n if (form.invalid) {\n return;\n }\n\n this.spinner.show();\n\n this._referralService.createReferral(this.referralRequest).subscribe((val) => {\n this.spinner.hide();\n this.resetForm();\n this._toastr.success(\"Created referral\");\n this.submitted = false;\n this.loadReferrals();\n }, (error: IHttpError) => {\n this.spinner.hide();\n this._toastr.httpError(error);\n });\n\n }\n resetForm() {\n this.referralRequest.lastName = \"\";\n this.referralRequest.firstName = \"\";\n this.referralRequest.email = \"\";\n this.submitted = false;\n\n }\n\n loadReferrals() {\n this.spinner.show();\n\n this._referralService.getReferrals(this._authService.localUserId).subscribe((val) => {\n this.spinner.hide();\n val.sort((a, b) => b.createDate.toString().localeCompare(a.createDate.toString()));\n this.referralDetails = val;\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule } from '@angular/forms';\n\nimport { AuthGuard } from '../core/authentication/auth.guard';\nimport { NgxSpinnerModule } from 'ngx-spinner';\nimport { ReferralComponent } from './referrals.component';\nimport { ReferralsService } from './referrals.service';\n\n@NgModule({\n declarations: [\n ReferralComponent\n ],\n imports: [\n BrowserModule,\n FormsModule,\n CommonModule,\n NgxSpinnerModule,\n RouterModule.forRoot([\n { path: 'referrals', component: ReferralComponent, canActivate: [AuthGuard]},\n ])\n ],\n providers: [ReferralsService],\n exports: [ReferralComponent]\n})\nexport class ReferralModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ConfigurationService} from '../shared/config.data';\nimport { ReferralSummary, ReferralRequest} from '../shared/models';\nimport { Observable } from 'rxjs';\n\n\n@Injectable()\nexport class ReferralsService {\n baseUrl: string;\n userId: number;\n constructor(protected _http: HttpClient, private _configuration: ConfigurationService) {\n this.baseUrl = _configuration.getStaffApi();\n this.userId = _configuration.getUserId();\n }\n public createReferral(referralRequest: ReferralRequest): Observable {\n let actionUrl = `${this.baseUrl}referrals`;\n return this._http.post(actionUrl, referralRequest);\n }\n public getReferrals(userId: number): Observable {\n let actionUrl = `${this.baseUrl}referrals?userId=${userId} `;\n return this._http.get(actionUrl);\n\t\t}\n}\n","import { throwError } from 'rxjs';\n\nexport abstract class BaseService {\n\n constructor() { }\n\n protected handleError(error: any) {\n\n var applicationError = error.headers.get('Application-Error');\n\n // either application-error in header or model error in body\n if (applicationError) {\n return throwError(applicationError);\n }\n\n var modelStateErrors: string = '';\n\n // for now just concatenate the error descriptions, alternative we could simply pass the entire error response upstream\n for (var key in error.error) {\n if (error.error[key]) modelStateErrors += error.error[key].description + '\\n';\n }\n\n modelStateErrors = modelStateErrors = '' ? null : modelStateErrors;\n return throwError(modelStateErrors || 'Server error');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class ConfigurationService {\n \n private key: string = \"ic-settings\";\n\n private result: any = null;\n constructor(private http: HttpClient) {\n let value = localStorage.getItem(this.key);\n if (value) {\n this.result = JSON.parse(value);\n }\n }\n public getScopes(): string {\n return \"openid profile staffapi surveyapi\";\n }\n public getClientId(): string {\n return \"assessorweb\";\n }\n public getAuthority(): string {\n return this.result.authority;\n }\n public getApiKey(): string {\n return this.result.apiKey;\n }\n public getStaffApi(): string {\n return this.result.staffApi;\n }\n public getStaffWeb(): string {\n return this.result.staffWeb;\n }\n public getResult() {\n return this.result;\n }\n public getSurveyApi() {\n return this.result.surveyApi;\n }\n public getSurveyWeb() {\n return this.result.surveyWeb;\n }\n public getUserName() {\n return this.result.userName;\n }\n public getUserId(): number {\n return this.result.userId;\n }\n public getCustomHeaderJs(): string {\n return this.result? this.result.customHeaderJs: \"\";\n }\n public getConfirmJs(): string {\n return this.result? this.result.confirmJs: \"\";\n }\n public getAccesstoken(): string {\n return this.result.accessToken;\n }\n public load() {\n\n return this.http.get('/home/GetConfigurationData').pipe(map((result) => {\n localStorage.setItem(this.key, JSON.stringify(result));\n this.result = result;\n return result;\n })).toPromise();\n \n }\n}\n","import { Injectable } from '@angular/core';\n\n\n@Injectable()\nexport class LookupService {\n \n public getStates(): string[] {\n return ['AL', 'AK', 'AS', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FM', 'FL', 'GA', 'GU',\n 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'ME', 'MH', 'MD', 'MA', 'MI', 'MN',\n 'MS', 'MO', 'MT', 'NE', 'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'MP', 'OH', 'OK',\n 'OR', 'PW', 'PA', 'PR', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VI', 'VA', 'WA',\n 'WV', 'WI', 'WY']\n } \n}\n","import { IKeyValuePair, NotificationDeliveryType } from \"../core/models\";\n\nexport class Schedule {\n id: number;\n studyId: number;\n studyName: string;\n facilityName: string;\n\n sessionDate: Date;\n sessionId?: number;\n isCancelled: boolean;\n isPostponed: boolean;\n isScheduled: boolean;\n isScheduleOpen: boolean;\n isSelfSchedule: boolean;\n sessionCode: SessionCode;\n sessionDescription: string;\n isChangeSessionAvailable: boolean;\n isScheduleOpenToPostponed: boolean;\n}\nexport class Notification {\n id?: number;\n message?: string;\n eventType?: SubscriptionType;\n}\nexport enum SubscriptionType {\n StudyCreated = 1,\n StudyActivated = 2,\n StudyCompleted = 3,\n QuotaFull = 4,\n ProfileUpdateRequested = 5\n}\nexport enum ImageType {\n Logo = 1,\n Birthday = 2\n}\nexport enum SessionCode {\n NeedsArticulation = 25,\n Pending = 50,\n Postponed = 980,\n WaitingList = 985,\n CannotAttend = 991,\n Cancelled = 992,\n Rejected = 993,\n BarFromStudy = 994,\n StudyCancelled = 999\n}\n\nexport class Study {\n id: number;\n name: string;\n startDate: Date;\n endDate: Date;\n hasScreener: boolean;\n}\nexport class Survey {\n id: number;\n name: string;\n type: any;\n}\nexport class FamilyWidget {\n familyCount: number;\n confirmedCount: number;\n unconfirmedCount: number;\n}\nexport class FamilyMember {\n id: number;\n userId: number;\n familyId: number;\n fullName: string;\n userName: string;\n familyName: string;\n relationship: number;\n relationshipName: any;\n isConfirmed: boolean;\n}\nexport class FamilyRequest {\n userId: number;\n userName: string;\n relationship: number;\n}\nexport class UserSurveyDto {\n id: number;\n surveyId: number;\n scheduleId: number;\n endDate: Date;\n surveyName: string;\n}\nexport class MinorRegisterValidateCommand {\n public parentUserName: string;\n}\nexport class UserRegisterValidateCommand {\n public userName: string;\n public email: string;\n public firstName: string;\n public password: string;\n public confirmPassword: string;\n public lastName: string;\n public dateOfBirth: Date;\n public parentUserName: string;\n}\nexport enum HearAboutUs {\n Friend = 1,\n Organization = 2\n}\nexport class RegisterRequest {\n public id?: string;\n public userName?: string;\n public email?: string;\n public firstName?: string;\n public isMale?: number;\n public password?: string;\n public confirmPassword?: string;\n public lastName?: string;\n public dateOfBirth?: Date;\n public address1?: string;\n public address2?: string;\n public stateAbbreviation?: string;\n public zipCode?: string;\n public city?: string;\n public homePhone?: string;\n public cellPhone?: string;\n public workPhone?: string;\n public allowText?: boolean;\n public referralId?: number;\n public referredByTextbox?: string;\n public redirectUrl?: string;\n public useFundraising?: boolean;\n public hearAboutUsId?: number;\n public organizationId?: number;\n public parentUserName?: string;\n public referralName?: string;\n\n public isMinor(): boolean {\n const dob = new Date(this.dateOfBirth);\n const current = new Date();\n\n return dob.getFullYear() > (current.getFullYear() - 18)\n }\n}\nexport class HearAboutUsDetail {\n public displayOrder: number;\n public id: number;\n public isActive: boolean;\n public isSystem: boolean;\n public name: string;\n}\nexport class OrganizationDetail {\n public id: number;\n public organizationName: string;\n}\nexport class StateDetail {\n public id: number;\n public stateName: string;\n}\nexport class UserPreferences {\n invitations?: NotificationDeliveryType;\n reminders?: NotificationDeliveryType;\n invitationsConfirmationDate?: Date;\n invitationsConfirmationID?: number;\n remindersConfirmationID?: number;\n remindersConfirmationDate?: Date;\n}\nexport class UserNameRequest {\n public userId?: number;\n public username?: string;\n public newUsername?: string;\n public confirmUsername?: string;\n}\nexport class UserProfile {\n public id?: string;\n public email?: string;\n public city?: string;\n public state?: string;\n public zipCode?: string;\n public zipPlus?: string;\n public address1?: string;\n public address2?: string;\n public cellPhone?: string;\n public homePhone?: string;\n public workPhone?: string;\n public modifiedDate?: Date;\n public extension?: string;\n public mobileCarrierId?: number;\n public primaryPhoneType?: PhoneType;\n\n public userName?: string;\n public fullName?: string;\n public lastName?: string;\n public firstName?: string;\n\n public isBadSMS?: boolean;\n public isBadEmail?: boolean;\n\n public allowSMS?: boolean;\n public allowText?: boolean;\n public preferences?: UserPreferences;\n public twoFactorEnabled?: boolean;\n}\nexport enum SessionStatus {\n Opened = 1,\n ClosedUnlocked,\n ClosedLocked,\n Cancelled\n}\nexport enum ScheduleWorkflowState {\n StudyInfo = 0,\n Terms = 1,\n Decline = 2,\n Scheduling = 3,\n GiftCardSelection = 4,\n Confirm = 5\n}\nexport enum PhoneType {\n Home = 0,\n Cell = 1,\n Work = 2,\n Fax = 3\n}\nexport enum StudyType {\n ConsumerTest = 1,\n PreliminaryScreener = 2,\n TrainedPanel = 3,\n Other = 4\n}\n\nexport class GiftCard {\n id?: number;\n name: string;\n isActive: boolean;\n displayOrder?: number;\n isSelected?: boolean;\n}\n\nexport class SessionDetails {\n id?: number;\n displayOrder?: number;\n maxPerSession?: number;\n sessionNumber?: number;\n sessionDescription?: string;\n sessionDate?: Date;\n}\n\nexport class RegistrationSettingsDetail {\n public useFundRaising: boolean;\n public states: string[];\n public hearAboutUs: IKeyValuePair;\n public organizations: IKeyValuePair;\n}\n\nexport class AvailableOpportunity {\n startDate: Date;\n endDate: Date;\n hasScreener: boolean;\n displayName: string;\n specialNote?: string;\n studyId: number;\n userId: number;\n projectNumber: string;\n scheduleId: number;\n isSelfSchedule: boolean;\n dataCollectionEndDate: Date;\n dataCollectionStartDate: Date;\n screenerId?: number;\n studyType?: StudyType;\n participationId?: number;\n sessionCode?: SessionCode;\n}\nexport class SchedulerData {\n usePregnancyQuestion: boolean;\n startDate: Date;\n endDate: Date;\n hasScreener: boolean;\n oneStudyHouseHold: boolean;\n displayName: string;\n specialNote?: string;\n userCompensationType: number;\n userCompensationAmount: number;\n employeeCompensationAmount: number;\n studyId: number;\n sessionId?: number;\n userId: number;\n projectNumber: string;\n scheduleId: number;\n sessionLengthDescription: string;\n dataCollectionEndDate: Date;\n dataCollectionStartDate: Date;\n termsConditions?: any;\n}\nexport class SchedulerUserResponse {\n\n studyId: number;\n sessionId: number;\n isPregnant: boolean = false;\n giftCard: GiftCard;\n agreedToTerms?: boolean = true;\n isMultipleHousehold: boolean = false;\n accepted: boolean = true;\n cannotAttendSession?: boolean = false;\n session: SessionDetails;\n userId: number;\n isValid(): boolean {\n if (!this.userId || this.studyId) {\n return false;\n }\n return true;\n }\n}\nexport class SchedulerResponse {\n studyId: number;\n accepted: boolean;\n message: string;\n}\nexport class ReferralRequest {\n firstName: string = '';\n lastName: string;\n email: string;\n referredByUserId: number;\n}\nexport class ReferralSummary {\n referralById?: number;\n createDate?: Date;\n firstName?: string;\n lastName?: string;\n email?: string;\n}\nexport class LedgerSummary {\n userId?: number;\n ledgerYear?: Date;\n cashEarnings?: number;\n pointsBalance?: number;\n ledgerDetail?: LedgerDetail[];\n}\nexport class LedgerDetail {\n studyId?: number;\n studyName?: number;\n ledgerType?: LedgerType;\n displayName?: number;\n orginizationId?: number;\n organizationName?: string;\n referralUserId?: number;\n referralName?: string;\n pointsEarned?: number;\n pointsRedeemed?: number;\n cashAmount?: number;\n lineDescription?: string;\n userBatchId?: number;\n createDate?: Date;\n isRegistrationProcessed?: boolean;\n\n}\nexport enum LedgerType {\n Entry = 0,\n Registration,\n Referal,\n Study,\n Redemption\n}\nexport interface IHttpError {\n data: IDataMessage;\n error?: IDataMessage;\n}\n\nexport enum HttpStatusCode {\n InternalError = 500,\n NotFound = 404,\n Unauthorized = 401\n}\n\nexport interface IDataMessage {\n message: string;\n modelState?: any;\n status: HttpStatusCode;\n}\nexport class IStatusRequest {\n reason: string;\n assessorId: number;\n requestedBy: number;\n endDate: Date;\n action: number;\n modifiedDate: Date;\n}\n","// include directives/components commonly used in features modules in this shared modules\n// and import me into the feature module\n// importing them individually results in: Type xxx is part of the declarations of 2 modules: ... Please consider moving to a higher module...\n// https://github.com/angular/angular/issues/10646 \n\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { NgxSpinnerModule } from 'ngx-spinner';\n\n@NgModule({\n imports: [CommonModule, NgxSpinnerModule],\n exports: [NgxSpinnerModule],\n providers: []\n})\nexport class SharedModule { }\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * In development mode, to ignore zone related error stack frames such as\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\n * import the following file, but please comment it out in production mode\n * because it will have performance impact when throw error\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","/***************************************************************************************************\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\n */\nimport '@angular/localize/init';\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nexport function getBaseUrl() {\n return document.getElementsByTagName('base')[0].href;\n}\n\nconst providers = [\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\n];\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\n .catch(err => console.log(err));\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@media (max-width: 767px) {\\n /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */\\n .body-content {\\n padding-top: 50px;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/app.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,6FAA6F;EAC7F;IACE,iBAAiB;EACnB;AACF\",\"sourcesContent\":[\"@media (max-width: 767px) {\\n /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */\\n .body-content {\\n padding-top: 50px;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".navbar-default {\\n padding-left: 2%;\\n padding-right: 2%;\\n}\\na.navbar-brand {\\n white-space: normal;\\n text-align: center;\\n word-break: break-all;\\n}\\n\\n.box-shadow {\\n box-shadow: 0 1px 1px 0 rgba(13, 28, 27, 0.14);\\n}\\n\\n#userMenu {\\n position: absolute;\\n top: 30px;\\n right: 20px;\\n left: auto;\\n}\\n.navbar-toggler {\\n margin-bottom: 10px;\\n}\\n.navbar-collapse ul li {\\n text-align: right;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/nav-menu/nav-menu.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,qBAAqB;AACvB;;AAEA;EACE,8CAA8C;AAChD;;AAEA;EACE,kBAAkB;EAClB,SAAS;EACT,WAAW;EACX,UAAU;AACZ;AACA;IACI,mBAAmB;AACvB;AACA;IACI,iBAAiB;AACrB\",\"sourcesContent\":[\".navbar-default {\\n padding-left: 2%;\\n padding-right: 2%;\\n}\\na.navbar-brand {\\n white-space: normal;\\n text-align: center;\\n word-break: break-all;\\n}\\n\\n.box-shadow {\\n box-shadow: 0 1px 1px 0 rgba(13, 28, 27, 0.14);\\n}\\n\\n#userMenu {\\n position: absolute;\\n top: 30px;\\n right: 20px;\\n left: auto;\\n}\\n.navbar-toggler {\\n margin-bottom: 10px;\\n}\\n.navbar-collapse ul li {\\n text-align: right;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"div {\\n color: #eaedee;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/account/auth-callback/auth-callback.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,cAAA;AACF\",\"sourcesContent\":[\"div {\\n color: #eaedee;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n"],"names":["NgModule","CommonModule","FormsModule","LoginComponent","RegisterComponent","SharedModule","AccountRoutingModule","AuthService","RouterModule","AuthCallbackComponent","AuthSilentCallbackComponent","AccountModule","declarations","providers","imports","exports","RegisterService","routes","path","component","forChild","Component","ActivatedRoute","Router","constructor","authService","router","route","ngOnInit","snapshot","fragment","indexOf","error","completeAuthentication","value","localStorage","getItem","key","navigate","selector","template","NgxSpinnerService","spinner","login","show","RegisterRequest","HearAboutUs","ToastrService","LookupService","ConfigurationService","registerService","toastr","lookupService","config","Friend","Organization","step","showUser","registerRequest","redirectUrl","window","location","origin","states","getStates","getConfirmJs","script","document","createElement","src","body","appendChild","queryParams","subscribe","params","referralId","getRegistrationSettings","val","registerSettings","hide","validate","userName","undefined","trim","length","warning","isMale","isMinor","parentUserName","validateCredentials","validated","isLoading","email","firstName","lastName","password","dateOfBirth","confirmPassword","_result","showAddress","status","message","back","stepNumber","onSubmit","IsValid","Number","hearAboutUs","friend","organizationId","organization","referralName","createAccount","_response","showConfirmation","success","hearAboutUsId","address1","city","stateAbbreviation","zipCode","regex","cellPhone","replace","match","homePhone","workPhone","Injectable","HttpClient","_http","_configuration","baseUrl","getStaffApi","userId","getUserId","actionUrl","get","request","post","ActivitiesRoutingModule","ActivitiesComponent","OpportunityComponent","ScheduleComponent","ActivitiesService","ActivitiesModule","AuthGuard","canActivate","http","configService","getSchedules","getAvailableOpportunities","userGuid","updateNofication","notificationId","put","confirmed","getNotifications","toString","unConfirmedOnly","createSurveyInstance","surveyId","scheduleId","userKey","getSurveyApi","isTest","createParticipation","studyId","_activitiesService","_authService","result","schedules","opportunities","localUserId","notifications","setTimeout","getLink","event","eventType","confirm","notification","console","log","id","splice","e","Input","SessionCode","StudyType","_activiesService","clickable","study","isSelfSchedule","hasScreener","participationId","sessionCode","NeedsArticulation","studyType","PreliminaryScreener","displayName","acceptOpportunity","staffUrl","getStaffWeb","url","href","screenerId","getSurveyWeb","showClosedText","hasSession","schedule","sessionId","scheduleText","getScheduleDetailText","getClass","isCancelled","isPostponed","isScheduleOpenToPostponed","Pending","isChangeSessionAvailable","isScheduleOpen","sessionDescription","sessionDate","Postponed","isScheduled","changeSchedule","AppComponent","BrowserModule","APP_INITIALIZER","HttpClientModule","HTTP_INTERCEPTORS","NavMenuComponent","CoreModule","HttpIntercepterAuth","ProfileModule","ToastrModule","BrowserAnimationsModule","NgxSpinnerModule","NgbModule","IncomeModule","ReferralModule","NotificationDeliveryTypePipe","DOCUMENT","AppModule","withServerTransition","appId","forRoot","redirectTo","pathMatch","provide","useFactory","load","deps","multi","doc","getCustomHeaderJs","head","useClass","bootstrap","state","isAuthenticated","setItem","catchError","UserManager","BehaviorSubject","BaseService","_authNavStatusSource","asObservable","then","manager","getIdentitySettings","getUser","user","next","signinRedirect","signInSilent","signinSilentCallback","logOut","signoutRedirect","signinRedirectCallback","localId","getLocalUserId","localIdKey","JSON","stringify","toPromise","register","userRegistration","pipe","handleError","expired","getAuthorizationHeaderValue","token_type","access_token","setUsername","username","profile","name","parse","sub","signout","settings","authority","getAuthority","client_id","getClientId","redirect_uri","scope","getScopes","loadUserInfo","silent_redirect_uri","response_type","post_logout_redirect_uri","providedIn","Optional","SkipSelf","IcToastrService","parentModule","Error","type","from","HttpHeaders","intercept","handleAccess","startsWith","handle","changedRequest","headerSettings","headers","keys","getAll","token","newHeader","clone","IKeyValuePair","NotificationDeliveryType","Pipe","transform","Email","SMS","_toastr","title","httpError","data","custom","IncomeService","IncomeComponent","_incomeService","incomeYears","year","Date","getFullYear","selectedYear","push","loadYear","getYtdTotal","incomeDetail","total","ledgerDetail","forEach","detail","pointsEarned","getIncome","includeDetail","ImageType","authNavStatus$","logoUrl","Logo","collapse","isExpanded","toggle","logout","ProfileContactInfoComponent","ProfileService","Location","ProfileContactInfoEditComponent","_profileService","notificationTypes","optOutReason","optOutSpecify","showOptOut","paramMap","getProfileInfo","allowSMS","isBadSMS","isBadEmail","twoFactorEnabled","form","isValid","updateUserProfileData","goBack","isPhone","phone","copy","phoneRegex","preferences","reminders","invitations","toggleShowOptOut","onConfirm","optOutNumber","reason","action","endDate","assessorId","requestedBy","modifiedDate","optOutUser","ProfileUsernameComponent","usernameRequest","loadRequest","getUsernameRequest","invalid","getUsernameIsTaken","confirmUsername","updateUsername","newUsername","ProfileFamilyComponent","familyWidget","familyCount","confirmedCount","unconfirmedCount","getFamilyWidget","ProfileFamilyListComponent","submitted","addFamily","familyRequest","relationship","relationships","loadFamily","confirmFamily","familyMember","confirmFamilyMember","isConfirmed","deleteFamily","userFamilyId","reload","deleteFamilyMember","resetForm","getFamilyMembers","familyMembers","toggleAdd","requestFamilyMember","cancelAdd","ProfileComponent","_configService","getUserProfileCompletion","profiles","getSurveyData","profileSurveys","userProfile","updateProfile","survey","instanceId","getCompletedSurvey","completion","find","item","hasEndDate","getEndDate","delete","ReferralRequest","ReferralsService","ReferralComponent","_referralService","loadReferrals","referralRequest","referredByUserId","createReferral","getReferrals","sort","a","b","createDate","localeCompare","referralDetails","throwError","applicationError","modelStateErrors","description","map","getApiKey","apiKey","staffApi","staffWeb","getResult","surveyApi","surveyWeb","getUserName","customHeaderJs","confirmJs","getAccesstoken","accessToken","Schedule","Notification","SubscriptionType","Study","Survey","FamilyWidget","FamilyMember","FamilyRequest","UserSurveyDto","MinorRegisterValidateCommand","UserRegisterValidateCommand","dob","current","HearAboutUsDetail","OrganizationDetail","StateDetail","UserPreferences","UserNameRequest","UserProfile","SessionStatus","ScheduleWorkflowState","PhoneType","GiftCard","SessionDetails","RegistrationSettingsDetail","AvailableOpportunity","SchedulerData","SchedulerUserResponse","SchedulerResponse","ReferralSummary","LedgerSummary","LedgerDetail","LedgerType","HttpStatusCode","IStatusRequest","environment","production","enableProdMode","platformBrowserDynamic","getBaseUrl","getElementsByTagName","bootstrapModule","catch","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}