{"version":3,"sources":["./src/$_lazy_route_resource lazy","./src/app/app-routing.module.ts","./src/app/app.component.css","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components/address/address.component.css","./src/app/components/address/address.component.html","./src/app/components/address/address.component.ts","./src/app/components/data-quality-link/data-quality-link.component.css","./src/app/components/data-quality-link/data-quality-link.component.html","./src/app/components/data-quality-link/data-quality-link.component.ts","./src/app/components/date-input/date-input.component.css","./src/app/components/date-input/date-input.component.html","./src/app/components/date-input/date-input.component.ts","./src/app/components/home-card-editor/home-card-editor.component.css","./src/app/components/home-card-editor/home-card-editor.component.html","./src/app/components/home-card-editor/home-card-editor.component.ts","./src/app/components/portal-footer/portal-footer.component.css","./src/app/components/portal-footer/portal-footer.component.html","./src/app/components/portal-footer/portal-footer.component.ts","./src/app/components/portal-header/portal-header.component.css","./src/app/components/portal-header/portal-header.component.html","./src/app/components/portal-header/portal-header.component.ts","./src/app/components/useful-website/useful-website.component.css","./src/app/components/useful-website/useful-website.component.html","./src/app/components/useful-website/useful-website.component.ts","./src/app/directives/empty-email.directive.ts","./src/app/domain/credentials.ts","./src/app/models/change-password-model.ts","./src/app/models/data-quality.ts","./src/app/models/password-reset.ts","./src/app/models/registration-model.ts","./src/app/models/trust-address.ts","./src/app/models/trust-schedule-model.ts","./src/app/models/useful-website.ts","./src/app/pipes/not-available-pipe.pipe.ts","./src/app/services/app-config-service/app-config.service.ts","./src/app/services/asset-service/asset.service.ts","./src/app/services/auth-guard-service/auth-guard.service.ts","./src/app/services/auth-http-service/auth-http.service.ts","./src/app/services/authorisation-service/authorisation-service.service.ts","./src/app/services/home-card-service/home-card.service.ts","./src/app/services/logging-service/logging.service.ts","./src/app/services/patient-data/patient-data.service.ts","./src/app/services/patient-search-service/patient-search.service.ts","./src/app/services/questionnaire-service/questionnaire.service.ts","./src/app/services/shell-update-service/shell-update.service.ts","./src/app/services/trust-data-service/trust-data.service.ts","./src/app/services/user-session-service/user-session.service.ts","./src/app/shared/field-match.directive.ts","./src/app/views/portal-activity-view/portal-activity-view.component.css","./src/app/views/portal-activity-view/portal-activity-view.component.html","./src/app/views/portal-activity-view/portal-activity-view.component.ts","./src/app/views/portal-admin-cards-view/portal-admin-cards-view.component.css","./src/app/views/portal-admin-cards-view/portal-admin-cards-view.component.html","./src/app/views/portal-admin-cards-view/portal-admin-cards-view.component.ts","./src/app/views/portal-admin-contact/portal-contact-admin/portal-contact-admin.component.css","./src/app/views/portal-admin-contact/portal-contact-admin/portal-contact-admin.component.html","./src/app/views/portal-admin-contact/portal-contact-admin/portal-contact-admin.component.ts","./src/app/views/portal-admin-patient-view/portal-admin-patient-view.component.css","./src/app/views/portal-admin-patient-view/portal-admin-patient-view.component.html","./src/app/views/portal-admin-patient-view/portal-admin-patient-view.component.ts","./src/app/views/portal-admin-report-config/portal-admin-report-config.component.css","./src/app/views/portal-admin-report-config/portal-admin-report-config.component.html","./src/app/views/portal-admin-report-config/portal-admin-report-config.component.ts","./src/app/views/portal-admin-search-view/portal-admin-search.component.css","./src/app/views/portal-admin-search-view/portal-admin-search.component.html","./src/app/views/portal-admin-search-view/portal-admin-search.component.ts","./src/app/views/portal-admin-view/portal-admin.component.css","./src/app/views/portal-admin-view/portal-admin.component.html","./src/app/views/portal-admin-view/portal-admin.component.ts","./src/app/views/portal-change-password/change-password/change-password.component.css","./src/app/views/portal-change-password/change-password/change-password.component.html","./src/app/views/portal-change-password/change-password/change-password.component.ts","./src/app/views/portal-contact-view/portal-contact-view.component.css","./src/app/views/portal-contact-view/portal-contact-view.component.html","./src/app/views/portal-contact-view/portal-contact-view.component.ts","./src/app/views/portal-home-view/portal-home-view.component.css","./src/app/views/portal-home-view/portal-home-view.component.html","./src/app/views/portal-home-view/portal-home-view.component.ts","./src/app/views/portal-login-view/portal-login-view.component.css","./src/app/views/portal-login-view/portal-login-view.component.html","./src/app/views/portal-login-view/portal-login-view.component.ts","./src/app/views/portal-logout-view/portal-logout-view.component.css","./src/app/views/portal-logout-view/portal-logout-view.component.html","./src/app/views/portal-logout-view/portal-logout-view.component.ts","./src/app/views/portal-myactivity-view/portal-myactivity-view.component.css","./src/app/views/portal-myactivity-view/portal-myactivity-view.component.html","./src/app/views/portal-myactivity-view/portal-myactivity-view.component.ts","./src/app/views/portal-mybirthplan-view/portal-mybirthplan-view.component.css","./src/app/views/portal-mybirthplan-view/portal-mybirthplan-view.component.html","./src/app/views/portal-mybirthplan-view/portal-mybirthplan-view.component.ts","./src/app/views/portal-mydetails-view/portal-mydetails-view.component.css","./src/app/views/portal-mydetails-view/portal-mydetails-view.component.html","./src/app/views/portal-mydetails-view/portal-mydetails-view.component.ts","./src/app/views/portal-myepa-view/portal-myepa-view.component.css","./src/app/views/portal-myepa-view/portal-myepa-view.component.html","./src/app/views/portal-myepa-view/portal-myepa-view.component.ts","./src/app/views/portal-new-password/portal-new-password.component.css","./src/app/views/portal-new-password/portal-new-password.component.html","./src/app/views/portal-new-password/portal-new-password.component.ts","./src/app/views/portal-notfound-view/portal-notfound-view.component.css","./src/app/views/portal-notfound-view/portal-notfound-view.component.html","./src/app/views/portal-notfound-view/portal-notfound-view.component.ts","./src/app/views/portal-registration-view/portal-registration-view.component.css","./src/app/views/portal-registration-view/portal-registration-view.component.html","./src/app/views/portal-registration-view/portal-registration-view.component.ts","./src/app/views/portal-reset-password/portal-reset-password.component.css","./src/app/views/portal-reset-password/portal-reset-password.component.html","./src/app/views/portal-reset-password/portal-reset-password.component.ts","./src/app/views/portal-useful-website-view/portal-useful-website-view.component.css","./src/app/views/portal-useful-website-view/portal-useful-website-view.component.html","./src/app/views/portal-useful-website-view/portal-useful-website-view.component.ts","./src/app/views/portal-welcome-view/portal-welcome-view.component.css","./src/app/views/portal-welcome-view/portal-welcome-view.component.html","./src/app/views/portal-welcome-view/portal-welcome-view.component.ts","./src/environments/environment.ts","./src/main.ts","util (ignored)","fs (ignored)","http (ignored)","https (ignored)"],"names":[],"mappings":"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","file":"main.49c07d098c95c40b530b.bundle.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/$$_lazy_route_resource lazy\n// module id = ./src/$$_lazy_route_resource lazy recursive\n// module chunks = main","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { PortalNotFoundViewComponent } from './views/portal-notfound-view/portal-notfound-view.component';\r\nimport { AppComponent } from './app.component';\r\nimport { PortalLoginViewComponent } from './views/portal-login-view/portal-login-view.component';\r\nimport { PortalWelcomeViewComponent } from './views/portal-welcome-view/portal-welcome-view.component';\r\nimport { PortalLogoutViewComponent } from './views/portal-logout-view/portal-logout-view.component';\r\nimport { AuthGuardService } from './services/auth-guard-service/auth-guard.service';\r\nimport { PortalMyActivityViewComponent } from './views/portal-myactivity-view/portal-myactivity-view.component';\r\nimport { PortalMyDetailsViewComponent } from './views/portal-mydetails-view/portal-mydetails-view.component';\r\nimport { PortalMyBirthPlanViewComponent } from './views/portal-mybirthplan-view/portal-mybirthplan-view.component';\r\nimport { PortalMyEpaViewComponent } from './views/portal-myepa-view/portal-myepa-view.component';\r\nimport { PortalContactViewComponent } from './views/portal-contact-view/portal-contact-view.component';\r\nimport { PortalAdminSearchViewComponent } from './views/portal-admin-search-view/portal-admin-search.component';\r\nimport { PortalAdminViewComponent } from './views/portal-admin-view/portal-admin.component';\r\nimport { PortalRegistrationViewComponent } from './views/portal-registration-view/portal-registration-view.component';\r\nimport { PortalContactAdminComponent } from './views/portal-admin-contact/portal-contact-admin/portal-contact-admin.component';\r\nimport { PortalResetPasswordComponent } from './views/portal-reset-password/portal-reset-password.component';\r\nimport { PortalNewPasswordComponent } from './views/portal-new-password/portal-new-password.component';\r\nimport { PortalHomeViewComponent } from './views/portal-home-view/portal-home-view.component';\r\nimport { PortalAdminPatientViewComponent } from './views/portal-admin-patient-view/portal-admin-patient-view.component';\r\nimport { PortalActivityViewComponent } from './views/portal-activity-view/portal-activity-view.component';\r\nimport { ChangePasswordComponent } from './views/portal-change-password/change-password/change-password.component';\r\nimport { UsefulWebsite } from './models/useful-website';\r\nimport { PortalUsefulWebsiteViewComponent } from './views/portal-useful-website-view/portal-useful-website-view.component';\r\nimport { PortalAdminCardsViewComponent } from './views/portal-admin-cards-view/portal-admin-cards-view.component';\r\nimport { PortalAdminReportConfigComponent } from './views/portal-admin-report-config/portal-admin-report-config.component';\r\n\r\nconst appRoutes: Routes = [\r\n {\r\n path: 'app',\r\n children: [\r\n {\r\n path: 'registration',\r\n component: PortalRegistrationViewComponent\r\n },\r\n {\r\n path: 'newpassword',\r\n component: PortalNewPasswordComponent\r\n },\r\n {\r\n path: 'changepassword',\r\n component: ChangePasswordComponent,\r\n canActivate: [AuthGuardService]\r\n },\r\n {\r\n path: 'welcome',\r\n component: PortalWelcomeViewComponent\r\n },\r\n {\r\n path: 'aboutme',\r\n component: PortalMyDetailsViewComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: 'activity',\r\n component: PortalActivityViewComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: 'mybirthplan',\r\n component: PortalMyBirthPlanViewComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: 'mypregnancy',\r\n component: PortalMyEpaViewComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: 'contact',\r\n component: PortalContactViewComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: 'login',\r\n component: PortalLoginViewComponent\r\n },\r\n {\r\n path: 'logout',\r\n component: PortalLogoutViewComponent,\r\n canActivate: [AuthGuardService]\r\n },\r\n {\r\n path: 'home',\r\n component: PortalHomeViewComponent,\r\n canActivate: [AuthGuardService]\r\n },\r\n {\r\n path: 'reset',\r\n component: PortalResetPasswordComponent,\r\n },\r\n {\r\n path: 'admin',\r\n canActivate: [AuthGuardService],\r\n children: [\r\n {\r\n path: 'search',\r\n component: PortalAdminSearchViewComponent,\r\n },\r\n {\r\n path: 'patient',\r\n component: PortalAdminPatientViewComponent,\r\n },\r\n {\r\n path: 'details',\r\n component: PortalAdminViewComponent,\r\n },\r\n {\r\n path: 'contact',\r\n component: PortalContactAdminComponent,\r\n },\r\n {\r\n path: 'websites',\r\n component: PortalUsefulWebsiteViewComponent,\r\n },\r\n {\r\n path: 'report-configuration',\r\n component: PortalAdminReportConfigComponent,\r\n },\r\n {\r\n path: 'card-configuration',\r\n component: PortalAdminCardsViewComponent,\r\n }\r\n ]\r\n },\r\n {\r\n path: '',\r\n redirectTo: 'welcome',\r\n pathMatch: 'full'\r\n },\r\n ]\r\n },\r\n {\r\n path: '',\r\n redirectTo: 'app',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: '**',\r\n component: PortalNotFoundViewComponent,\r\n // resolve: { ViewConfigService } User resolvers to get data for a particular view\r\n }\r\n];\r\n\r\n@NgModule({\r\n exports: [RouterModule],\r\n imports: [\r\n RouterModule.forRoot(\r\n appRoutes,\r\n { enableTracing: false } // <-- debugging purposes only\r\n )\r\n // other imports here\r\n ],\r\n providers: []\r\n})\r\nexport class AppRoutingModule {\r\n\r\n // The AppConfig reads settings for a config.json file (TODO!)\r\n constructor() {\r\n\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app-routing.module.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.css\n// module id = ./src/app/app.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{appConfig.PatientInitials}}\\r\\n
\\r\\n \\r\\n
\\r\\n

Hi, {{appConfig.Forename}}

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

\\r\\n\\r\\n \\r\\n pregnant_woman\\r\\n {{this.aboutMe?.Title || 'About Me'}}\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n history\\r\\n {{this.myNotes?.Title || 'My Notes'}}\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n folder_open\\r\\n {{this.myBirthPlan?.Title || 'My Birthplan'}}\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n assignment\\r\\n {{this.myPregnancyAndMe?.Title || 'My Pregnancy and Me'}}\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n contact_phone\\r\\n {{this.contact?.Title || 'Contacts'}}\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n vpn_keyChange Password\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n logout\\r\\n {{this.logout?.Title || 'Logout'}}\\r\\n \\r\\n

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

\\r\\n \\r\\n pregnant_womanPatient\\r\\n search\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n settings_phoneContact info\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n view_moduleCustomise home\\r\\n cards\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n assignmentCustomise reports\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n languageUseful websites\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n logoutLogout\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n v{{appConfig.Version}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.html\n// module id = ./src/app/app.component.html\n// module chunks = main","import { Component, OnInit, ViewChild, HostListener } from '@angular/core'\r\nimport { AppConfigService } from './services/app-config-service/app-config.service'\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from './services/shell-update-service/shell-update.service';\r\nimport { MatSidenav, MatIconRegistry, MatSnackBar } from '@angular/material';\r\nimport { AuthHttpClient } from './services/auth-http-service/auth-http.service';\r\nimport { UserSessionService } from './services/user-session-service/user-session.service';\r\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\nimport { Subscription } from 'rxjs/Subscription';\r\nimport { HomeCardService } from './services/home-card-service/home-card.service';\r\nimport { HomeCardModel } from './models/home-card-model';\r\n\r\n////-------------------------------------------------------------------------------------------\r\n// Author: Martin Unger\r\n// Created: 09/11/2017\r\n// Description: Bootstrapped app component. Sets basic display info for the app and starts up\r\n////-------------------------------------------------------------------------------------------\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n // Allows us to access a child view in the main view\r\n @ViewChild('sidenav') public sideNav: MatSidenav;\r\n appConfigService: any;\r\n\r\n // HostListener is used to hook into the documents object model (DOM)\r\n // We need to detect when the browser is closed so we can logout the user by deleting the token.\r\n @HostListener('window:beforeunload', ['$event'])\r\n onbeforeunload(ev: BeforeUnloadEvent) {\r\n // Delete the token, but don't attempt to logout via the logout call to CAS. The requests may not complete by the time the browser\r\n // Window is closed. The user will have to re-authenticate, and the old token in CAS will be cleaned up by the server itself after\r\n // a timeout has expired.\r\n\r\n // MU - This is now dealt with by storing data in session storage.\r\n // this.authHttp.deleteToken(); \r\n }\r\n\r\n name: string; // Top left\r\n title: string; // Top left after hyphen\r\n footer: string; // Bottom left\r\n copyright: string; // Bottom right\r\n displayFooter: boolean; // Some views may not have enough space for the footer.\r\n displayMenu: boolean;\r\n displayBack: boolean;\r\n displayHeader: boolean;\r\n\r\n aboutMe: HomeCardModel;\r\n contact: HomeCardModel;\r\n logout: HomeCardModel;\r\n myBirthPlan: HomeCardModel;\r\n myNotes: HomeCardModel;\r\n myPregnancyAndMe: HomeCardModel;\r\n\r\n // Deps, shell update service to inject\r\n constructor(private shellUpdateService: ShellUpdateService, private authHttp: AuthHttpClient,\r\n public appConfig: AppConfigService, public userSessionService: UserSessionService,\r\n private breakpointObserver: BreakpointObserver, private homeCardService: HomeCardService) {\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n this.breakpointObserver.observe([\r\n Breakpoints.HandsetLandscape,\r\n Breakpoints.HandsetPortrait\r\n ]).subscribe(result => {\r\n this.appConfig.IsMobile = result.matches;\r\n });\r\n\r\n // Textual updates to the shell\r\n this.shellUpdateService.ShellMessage.subscribe((message) => {\r\n this.updateShell(message);\r\n });\r\n\r\n // Actions to apply to the shell\r\n this.shellUpdateService.ShellAction.subscribe((action) => {\r\n this.updateShellAction(action);\r\n });\r\n\r\n console.log(\"Loading Home Cards\");\r\n this.homeCardService.loadHomeCards();\r\n this.homeCardService.cardsReady.subscribe(x => {\r\n console.log(\"Finding Home Cards\");\r\n this.aboutMe = this.userSessionService.homeCards.find(x => x.CardName === 'AboutMe');\r\n this.contact = this.userSessionService.homeCards.find(x => x.CardName === 'Contact');\r\n this.logout = this.userSessionService.homeCards.find(x => x.CardName === 'Logout');\r\n this.myBirthPlan = this.userSessionService.homeCards.find(x => x.CardName === 'MyBirthPlan');\r\n this.myPregnancyAndMe = this.userSessionService.homeCards.find(x => x.CardName === 'MyPregnancyAndMe');\r\n this.myNotes = this.userSessionService.homeCards.find(x => x.CardName === 'MyNotes');\r\n });\r\n }\r\n\r\n // Update the shell with the shellMessage received from child components.\r\n // Used to update header and footer texts. These are Messages.\r\n updateShell(message: ShellUpdateMessage) {\r\n\r\n // Avoid ExpressionChangedAfterItHasBeenCheckedError.\r\n setTimeout(() => {\r\n this.name = message.Name;\r\n this.title = message.Title;\r\n this.copyright = message.Copyright;\r\n this.footer = message.Footer;\r\n });\r\n }\r\n\r\n // Update the shell with the shellActionMessage received from child components.\r\n // Used to display menus, hide footers, etc. These are Actions.\r\n updateShellAction(message: ShellActionMessage) {\r\n setTimeout(() => {\r\n // Open the side menu if requested\r\n if (message.OpenSideMenu) {\r\n this.sideNav.open();\r\n return;\r\n }\r\n // Otherwise perform other shell updates\r\n this.displayFooter = message.DisplayFooter;\r\n this.displayBack = message.DisplayBack;\r\n this.displayMenu = message.DisplayMenu;\r\n this.displayBack = message.DisplayBack;\r\n this.displayHeader = message.DisplayHeader;\r\n });\r\n }\r\n\r\n // Clean up otherwise we could expose ourselves to memory leaks.\r\n ngOnDestroy() {\r\n this.shellUpdateService.ShellMessage.unsubscribe();\r\n this.shellUpdateService.ShellAction.unsubscribe();\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { BrowserModule } from '@angular/platform-browser';\r\nimport { HttpModule } from '@angular/http';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgModule } from '@angular/core';\r\nimport { AppComponent } from './app.component';\r\nimport { AppRoutingModule } from './app-routing.module';\r\n// Material Design Imports\r\nimport {\r\n MatSnackBar, MatIconRegistry, MatProgressSpinner, MatRadioModule, MatPaginator, MatPaginatorModule,\r\n MatCardModule, MatTabsModule, MatProgressBar, MatProgressBarModule, MatSelectModule, MatCheckboxModule, MatRippleModule\r\n} from '@angular/material';\r\nimport { MatDialog } from '@angular/material';\r\nimport { MatToolbarModule, MatTooltipModule } from '@angular/material';\r\nimport { MatSidenavModule, MatSidenav, MatTableModule } from '@angular/material';\r\nimport { ScrollDispatchModule } from '@angular/cdk/scrolling';\r\nimport { MatIconModule, MatButtonModule, MatButtonToggleModule } from '@angular/material';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n// EuroKing Personal Health Record Imports\r\nimport { AppConfigService } from './services/app-config-service/app-config.service';\r\nimport { ShellUpdateService, ShellUpdateMessage } from './services/shell-update-service/shell-update.service';\r\nimport { PortalHeaderComponent } from './components/portal-header/portal-header.component';\r\nimport { PortalFooterComponent } from './components/portal-footer/portal-footer.component';\r\nimport { PortalLoginViewComponent } from './views/portal-login-view/portal-login-view.component';\r\nimport { PortalNotFoundViewComponent } from './views/portal-notfound-view/portal-notfound-view.component';\r\nimport { PortalWelcomeViewComponent } from './views/portal-welcome-view/portal-welcome-view.component';\r\nimport { PortalLogoutViewComponent } from './views/portal-logout-view/portal-logout-view.component';\r\nimport { AuthHttpClient } from './services/auth-http-service/auth-http.service';\r\nimport { AuthGuardService } from './services/auth-guard-service/auth-guard.service';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { LoggingService } from './services/logging-service/logging.service';\r\nimport { UserSessionService } from './services/user-session-service/user-session.service';\r\nimport { LayoutModule } from '@angular/cdk/layout';\r\nimport { PortalMyActivityViewComponent } from './views/portal-myactivity-view/portal-myactivity-view.component';\r\nimport { PortalMyBirthPlanViewComponent } from './views/portal-mybirthplan-view/portal-mybirthplan-view.component';\r\nimport { PortalMyDetailsViewComponent } from './views/portal-mydetails-view/portal-mydetails-view.component';\r\nimport { PortalContactViewComponent } from './views/portal-contact-view/portal-contact-view.component';\r\nimport { PortalAdminSearchViewComponent } from './views/portal-admin-search-view/portal-admin-search.component';\r\nimport { PortalAdminViewComponent } from './views/portal-admin-view/portal-admin.component';\r\nimport { PortalMyEpaViewComponent } from './views/portal-myepa-view/portal-myepa-view.component';\r\nimport { PortalRegistrationViewComponent } from './views/portal-registration-view/portal-registration-view.component';\r\nimport { PatientSearchService } from './services/patient-search-service/patient-search.service';\r\nimport { AuthorisationService } from './services/authorisation-service/authorisation-service.service';\r\nimport { FieldMatchDirective } from './shared/field-match.directive';\r\nimport { PatientDataService } from './services/patient-data/patient-data.service';\r\nimport { NotAvailablePipe } from './pipes/not-available-pipe.pipe';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { PortalContactAdminComponent } from './views/portal-admin-contact/portal-contact-admin/portal-contact-admin.component';\r\nimport { TrustDataService } from './services/trust-data-service/trust-data.service';\r\nimport { QuestionnaireService } from './services/questionnaire-service/questionnaire.service';\r\nimport { PortalNewPasswordComponent } from './views/portal-new-password/portal-new-password.component';\r\nimport { PortalResetPasswordComponent } from './views/portal-reset-password/portal-reset-password.component';\r\nimport { PortalHomeViewComponent } from './views/portal-home-view/portal-home-view.component';\r\nimport { PortalAdminPatientViewComponent } from './views/portal-admin-patient-view/portal-admin-patient-view.component';\r\nimport { PortalActivityViewComponent } from './views/portal-activity-view/portal-activity-view.component';\r\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\r\nimport { EmptyEmailDirective } from './directives/empty-email.directive';\r\nimport { ChangePasswordComponent } from './views/portal-change-password/change-password/change-password.component';\r\nimport { DateInputComponent } from './components/date-input/date-input.component';\r\nimport { UsefulWebsiteComponent } from './components/useful-website/useful-website.component';\r\nimport { PortalUsefulWebsiteViewComponent } from './views/portal-useful-website-view/portal-useful-website-view.component';\r\nimport { AssetService } from './services/asset-service/asset.service';\r\nimport { PortalAdminCardsViewComponent } from './views/portal-admin-cards-view/portal-admin-cards-view.component';\r\nimport { HomeCardEditorComponent } from './components/home-card-editor/home-card-editor.component';\r\nimport { DataQualityLinkComponent } from './components/data-quality-link/data-quality-link.component';\r\nimport { PortalAdminReportConfigComponent } from './views/portal-admin-report-config/portal-admin-report-config.component';\r\nimport { AddressComponent } from './components/address/address.component';\r\nimport { HomeCardService } from './services/home-card-service/home-card.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n PortalHeaderComponent,\r\n PortalFooterComponent,\r\n PortalLoginViewComponent,\r\n PortalNotFoundViewComponent,\r\n PortalWelcomeViewComponent,\r\n PortalLogoutViewComponent,\r\n PortalMyActivityViewComponent,\r\n PortalMyActivityViewComponent,\r\n PortalMyBirthPlanViewComponent,\r\n PortalMyDetailsViewComponent,\r\n PortalContactViewComponent,\r\n PortalMyEpaViewComponent,\r\n PortalAdminSearchViewComponent,\r\n PortalAdminViewComponent,\r\n PortalRegistrationViewComponent,\r\n FieldMatchDirective,\r\n NotAvailablePipe,\r\n PortalContactAdminComponent,\r\n PortalNewPasswordComponent,\r\n PortalResetPasswordComponent,\r\n PortalHomeViewComponent,\r\n PortalAdminPatientViewComponent,\r\n PortalActivityViewComponent,\r\n EmptyEmailDirective,\r\n ChangePasswordComponent,\r\n DateInputComponent,\r\n UsefulWebsiteComponent,\r\n PortalUsefulWebsiteViewComponent,\r\n PortalAdminCardsViewComponent,\r\n HomeCardEditorComponent,\r\n DataQualityLinkComponent,\r\n PortalAdminReportConfigComponent,\r\n AddressComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n PdfViewerModule,\r\n BrowserAnimationsModule,\r\n MatProgressSpinnerModule,\r\n MatProgressBarModule,\r\n MatSnackBarModule,\r\n MatButtonToggleModule,\r\n ScrollDispatchModule,\r\n AppRoutingModule,\r\n MatToolbarModule,\r\n MatSidenavModule,\r\n MatRippleModule,\r\n MatRadioModule,\r\n MatTooltipModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatInputModule,\r\n MatTabsModule,\r\n MatTableModule,\r\n MatSelectModule,\r\n MatCardModule,\r\n MatPaginatorModule,\r\n MatExpansionModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n LayoutModule,\r\n HttpModule\r\n ],\r\n providers: [\r\n AppConfigService,\r\n ShellUpdateService,\r\n MatIconRegistry,\r\n AuthHttpClient,\r\n AuthGuardService,\r\n LoggingService,\r\n UserSessionService,\r\n PatientSearchService,\r\n AuthorisationService,\r\n PatientDataService,\r\n TrustDataService,\r\n QuestionnaireService,\r\n AssetService,\r\n HomeCardService\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/address/address.component.css\n// module id = ./src/app/components/address/address.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n \\r\\n

{{trustAddressModel.Label}}

\\r\\n

New Address

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{trustAddressModel.AddressLine1}}\\r\\n
\\r\\n
\\r\\n {{trustAddressModel.AddressLine2}}\\r\\n
\\r\\n
\\r\\n {{trustAddressModel.AddressLine3}}\\r\\n
\\r\\n
\\r\\n {{trustAddressModel.Town}}
\\r\\n
\\r\\n {{trustAddressModel.County}}
\\r\\n
\\r\\n {{trustAddressModel.PostCode}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Required\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/address/address.component.html\n// module id = ./src/app/components/address/address.component.html\n// module chunks = main","import { Component, OnInit, Input, ViewChild, ElementRef, AfterContentInit, Output, EventEmitter } from '@angular/core';\r\nimport { TrustAddressModel } from '../../models/trust-address';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { TrustDataService } from '../../services/trust-data-service/trust-data.service';\r\n\r\n@Component({\r\n selector: 'app-address',\r\n templateUrl: './address.component.html',\r\n styleUrls: ['./address.component.css']\r\n})\r\n\r\n\r\nexport class AddressComponent implements OnInit, AfterContentInit {\r\n\r\n @ViewChild('addressLabel') labelField: ElementRef;\r\n\r\n @Input() trustAddressModel: TrustAddressModel;\r\n @Output() trustAddressModelChange: EventEmitter = new EventEmitter();\r\n\r\n @Input() newAddress: boolean;\r\n @Output() newAddressChange: EventEmitter = new EventEmitter();\r\n\r\n @Output() added: EventEmitter = new EventEmitter();\r\n @Input() editable: boolean;\r\n\r\n\r\n public editing = false;\r\n public focused = false;\r\n\r\n undoModel: TrustAddressModel = new TrustAddressModel();\r\n\r\n constructor(private matSnackBar: MatSnackBar, private trustDataService: TrustDataService) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterContentInit() {\r\n if (this.newAddress === true) {\r\n this.editing = this.newAddress;\r\n setTimeout(() => {\r\n if (this.labelField) {\r\n this.labelField.nativeElement.focus();\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n undoEdit() {\r\n if (this.trustAddressModel.Id > 0) {\r\n this.trustAddressModel = Object.assign(this.trustAddressModel, this.undoModel);\r\n this.editing = false;\r\n } else {\r\n this.newAddress = false;\r\n this.editing = false;\r\n this.trustAddressModel = null;\r\n this.newAddressChange.emit(false);\r\n }\r\n }\r\n\r\n editAddress(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (!this.editable) {\r\n return;\r\n }\r\n this.editing = true;\r\n\r\n setTimeout(() => {\r\n if (this.labelField) {\r\n if (!this.focused) {\r\n this.labelField.nativeElement.focus();\r\n this.focused = true;\r\n }\r\n }\r\n\r\n });\r\n this.undoModel = Object.assign(this.undoModel, this.trustAddressModel);\r\n }\r\n\r\n updateAddress(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.focused = false;\r\n this.editing = false;\r\n if (this.trustAddressModel.Id > 0) {\r\n this.trustDataService.updateTrustAddress(this.trustAddressModel)\r\n .subscribe(response => {\r\n this.matSnackBar.open('Address Updated', null, { duration: 3000 });\r\n this.newAddressChange.emit(false);\r\n });\r\n } else {\r\n this.trustDataService.addTrustAddress(this.trustAddressModel)\r\n .subscribe(response => {\r\n this.matSnackBar.open('Address Added', null, { duration: 3000 });\r\n this.newAddressChange.emit(false);\r\n this.trustAddressModel = response.json();\r\n this.newAddressChange.emit(false);\r\n this.trustAddressModelChange.emit(this.trustAddressModel);\r\n this.added.emit(true);\r\n });\r\n }\r\n\r\n }\r\n\r\n deleteAddress(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.trustDataService.deleteTrustAddress(this.trustAddressModel)\r\n .subscribe(response => {\r\n this.matSnackBar.open('Address Deleted', null, { duration: 3000 });\r\n this.trustAddressModel = null;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/address/address.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/data-quality-link/data-quality-link.component.css\n// module id = ./src/app/components/data-quality-link/data-quality-link.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n Is everything correct? If not, please contact us via email at {{dataQuality.ContactEmailAddress}}\\r\\n or, call us on: {{dataQuality.ContactTelephoneNumber}}.\\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/data-quality-link/data-quality-link.component.html\n// module id = ./src/app/components/data-quality-link/data-quality-link.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { TrustDataService } from '../../services/trust-data-service/trust-data.service';\r\nimport { DataQuality } from '../../models/data-quality';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-data-quality-link',\r\n templateUrl: './data-quality-link.component.html',\r\n styleUrls: ['./data-quality-link.component.css']\r\n})\r\nexport class DataQualityLinkComponent implements OnInit {\r\n dataQuality: DataQuality;\r\n loaded = false;\r\n\r\n constructor(private trustDataService: TrustDataService) { }\r\n\r\n ngOnInit() {\r\n this.trustDataService.getTrustDataQualityContact()\r\n .pipe(map(response => response.json()))\r\n .subscribe(response => {\r\n this.dataQuality = response;\r\n this.loaded = true;\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/data-quality-link/data-quality-link.component.ts","module.exports = \"/* Hide HTML5 Up and Down arrows. */\\r\\n\\r\\ninput[type=\\\"number\\\"]::-webkit-outer-spin-button,\\r\\ninput[type=\\\"number\\\"]::-webkit-inner-spin-button {\\r\\n -webkit-appearance: none;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\ninput[type=\\\"number\\\"] {\\r\\n -moz-appearance: textfield;\\r\\n}\\r\\n\\r\\n.date-input-container {\\r\\n display: -webkit-box;\\r\\n display: -ms-flexbox;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.date-input-element {\\r\\n border: none;\\r\\n background: none;\\r\\n padding: 0;\\r\\n outline: none;\\r\\n font: inherit;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.date-input-spacer {\\r\\n opacity: 0;\\r\\n -webkit-transition: opacity 200ms;\\r\\n transition: opacity 200ms;\\r\\n}\\r\\n\\r\\n:host.floating .date-input-spacer {\\r\\n opacity: 1;\\r\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/date-input/date-input.component.css\n// module id = ./src/app/components/date-input/date-input.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n \\r\\n /\\r\\n \\r\\n /\\r\\n \\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/date-input/date-input.component.html\n// module id = ./src/app/components/date-input/date-input.component.html\n// module chunks = main","import { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Component, ElementRef, Input, OnDestroy, Optional, Self, HostBinding, forwardRef, Renderer, Renderer2 } from '@angular/core';\r\nimport { FormBuilder, FormGroup, NgControl, ReactiveFormsModule, NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { MatFormFieldControl } from '@angular/material';\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { getLocaleDateTimeFormat } from '@angular/common';\r\nimport { element } from 'protractor';\r\nimport { SelectorMatcher } from '@angular/compiler';\r\n\r\n/**\r\n * DateInput: This is a custom composite control created to enable strict editing of dates.\r\n * This is to replace the weak support for the date attribute on html elements.\r\n * @see https://material.angular.io/guide/creating-a-custom-form-field-control\r\n * */\r\n\r\n@Component({\r\n selector: 'app-date-input',\r\n templateUrl: './date-input.component.html',\r\n styleUrls: ['./date-input.component.css'],\r\n providers: [{ provide: MatFormFieldControl, useExisting: DateInputComponent }, FormBuilder]\r\n})\r\nexport class DateInputComponent implements MatFormFieldControl, OnDestroy, ControlValueAccessor {\r\n static nextId = 0;\r\n @HostBinding() id = `date-input-${DateInputComponent.nextId++}`;\r\n @HostBinding('attr.aria-describedby') describedBy = '';\r\n parts: FormGroup;\r\n day: string;\r\n month: string;\r\n year: string;\r\n stateChanges = new Subject();\r\n focused = false;\r\n errorState = false;\r\n _placeholder: string;\r\n _onChange: (_: any) => void;\r\n _onTouched: any;\r\n _required = false;\r\n _disabled = false;\r\n _value: string;\r\n\r\n constructor(fb: FormBuilder, private fm: FocusMonitor, private elRef: ElementRef,\r\n @Optional() @Self() public ngControl: NgControl, private renderer: Renderer2) {\r\n\r\n /**\r\n * The FormBuilder provides syntactic sugar that shortens creating instances of a FormControl\r\n * FormGroup, or FormArray. It reduces the amount of boilerplate needed to build complex forms.\r\n * The group (a formGroup) Tracks the value and validity state of a group of FormControl instances.\r\n */\r\n this.parts = fb.group({\r\n 'day': 'dd',\r\n 'month': 'mm',\r\n 'year': 'yyyy',\r\n });\r\n\r\n /** Defines an interface that acts as a bridge between the Angular forms API and a native element in the DOM. */\r\n if (this.ngControl != null) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n\r\n /** Monitors the focus of the entire control and triggers a state change when the focus changes */\r\n fm.monitor(elRef.nativeElement, true).subscribe(origin => {\r\n this.focused = !!origin;\r\n this.stateChanges.next();\r\n this._onChange(this.value);\r\n });\r\n\r\n }\r\n\r\n /** When this control is bound, the value of the binding will be passed in here */\r\n writeValue(value: any): void {\r\n this.renderer.setProperty(this.elRef.nativeElement, 'value', value);\r\n this.value = value;\r\n }\r\n\r\n @Input()\r\n get value(): string | null {\r\n const n = this.parts.value;\r\n if (n.day.length === 2 && n.month.length === 2 && n.year.length === 4) {\r\n if (n.day.toLowerCase() !== 'dd' && n.month.toLowerCase() !== 'mm' && n.year.toLowerCase() !== 'yyyy') {\r\n this._value = n.day + '/' + n.month + '/' + n.year;\r\n return this._value;\r\n }\r\n }\r\n return null;\r\n }\r\n set value(dateInput: string | null) {\r\n if (this._onChange) {\r\n this._onChange(this.value);\r\n }\r\n\r\n if (dateInput === undefined || dateInput === null || dateInput.length === 0) {\r\n return;\r\n }\r\n\r\n if (!this.isValidDate(dateInput)) {\r\n return;\r\n }\r\n\r\n /** Split the date */\r\n const dateParts = dateInput.split('/');\r\n if (dateParts.length > 2) {\r\n this.day = dateParts[0];\r\n this.month = dateParts[1];\r\n this.year = dateParts[2];\r\n }\r\n\r\n this._value = dateInput;\r\n this.parts.setValue({ day: this.day, month: this.month, year: this.year });\r\n this.stateChanges.next();\r\n }\r\n\r\n /** Called by the angular api */\r\n registerOnChange(fn: (_: any) => void): void {\r\n this._onChange = fn;\r\n }\r\n /** Called by the angular api */\r\n registerOnTouched(fn: any): void {\r\n this._onTouched = fn;\r\n }\r\n\r\n /** Called when this object is destroyed */\r\n ngOnDestroy() {\r\n this.stateChanges.complete();\r\n this.fm.stopMonitoring(this.elRef.nativeElement);\r\n }\r\n\r\n /** Binds to the host container. If this.focused or !this.empty then float the hint */\r\n @HostBinding('class.floating')\r\n get shouldLabelFloat() {\r\n // return this.focused || !this.empty;\r\n return true;\r\n }\r\n\r\n setDescribedByIds(ids: string[]) {\r\n this.describedBy = ids.join(' ');\r\n }\r\n\r\n @Input()\r\n get required() {\r\n return this._required;\r\n }\r\n set required(req) {\r\n this._required = coerceBooleanProperty(req);\r\n this.stateChanges.next();\r\n }\r\n\r\n @Input()\r\n get disabled(): boolean { return this._disabled; }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n this._disabled ? this.parts.disable() : this.parts.enable();\r\n this.stateChanges.next();\r\n }\r\n\r\n @Input()\r\n get placeholder() {\r\n return this._placeholder;\r\n }\r\n set placeholder(plh) {\r\n this._placeholder = plh;\r\n this.stateChanges.next();\r\n }\r\n\r\n get empty() {\r\n const n = this.parts.value;\r\n return !n.day && !n.month && !n.year;\r\n }\r\n\r\n onContainerClick(event: MouseEvent) {\r\n if ((event.target as Element).tagName.toLowerCase() !== 'input') {\r\n this.elRef.nativeElement.querySelector('input').focus();\r\n }\r\n\r\n }\r\n\r\n /** Fired whenever the input is changed on the component. This traps any events we need to respond to. */\r\n keyUp(event: any) {\r\n\r\n if ((event.keyCode !== 8 || event.keyCode !== 16 || event.keyCode !== 9) && (event.keyCode < 96 || event.keyCode > 105)) {\r\n if (event.keyCode !== 8 && event.keyCode !== 9 && (event.keyCode < 46 || event.keyCode > 57)) {\r\n event.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n const elementId = event.srcElement.id;\r\n if (elementId === 'day' && event.keyCode !== 16 && event.keyCode !== 9\r\n && event.keyCode !== 8 && event.keyCode !== 46 && event.srcElement.value.length > 1) {\r\n document.getElementById('month').focus();\r\n }\r\n\r\n if (elementId === 'month' && event.keyCode !== 16 && event.keyCode !== 9\r\n && event.keyCode !== 8 && event.keyCode !== 46 && event.srcElement.value.length > 1) {\r\n document.getElementById('year').focus();\r\n }\r\n\r\n this.checkState(event);\r\n }\r\n\r\n /** Checks the state of the control */\r\n private checkState(event: any | null) {\r\n const foundElement = event.srcElement;\r\n\r\n /** Set errorstate if required */\r\n if (this.parts.touched && this.value === null) {\r\n this.errorState = true;\r\n this.Change();\r\n return;\r\n }\r\n\r\n if (this.parts.touched && this.value !== null) {\r\n if (!this.isValidDate(this.value)) {\r\n this.errorState = true;\r\n this.Change();\r\n return;\r\n }\r\n }\r\n\r\n this.errorState = false;\r\n this.Change();\r\n }\r\n\r\n private Change() {\r\n this._onChange(this.value);\r\n this.stateChanges.next();\r\n }\r\n\r\n /**\r\n * Get the number of days in any particular month\r\n * @link https://stackoverflow.com/a/1433119/1293256\r\n * @param {integer} m The month (valid: 0-11)\r\n * @param {integer} y The year\r\n * @return {integer} The number of days in the month\r\n */\r\n daysInMonth(m, y) {\r\n switch (m) {\r\n case 1:\r\n return (y % 4 === 0 && y % 100) || y % 400 === 0 ? 29 : 28;\r\n case 8: case 3: case 5: case 10:\r\n return 30;\r\n default:\r\n return 31;\r\n }\r\n }\r\n\r\n /**\r\n * Check if a date is valid\r\n * @link https://stackoverflow.com/a/1433119/1293256\r\n * @param {[type]} d The day\r\n * @param {[type]} m The month\r\n * @param {[type]} y The year\r\n * @return {Boolean} Returns true if valid\r\n */\r\n isValidDate(dateString: string) {\r\n let d;\r\n let m;\r\n let y;\r\n\r\n const dateParts = dateString.split('/');\r\n if (dateParts.length > 2) {\r\n d = dateParts[0];\r\n m = dateParts[1];\r\n y = dateParts[2];\r\n }\r\n\r\n if (y < 1900) {\r\n return false;\r\n }\r\n\r\n m = parseInt(m, 10) - 1;\r\n return m >= 0 && m < 12 && d > 0 && d <= this.daysInMonth(m, y);\r\n }\r\n\r\n /** Fired when a key is pressed down */\r\n keyDown(event: any) {\r\n // The next thing to do is to only allow though numeric values\r\n // numeric keypad or top row\r\n if ((event.keyCode !== 8 || event.keyCode !== 16 || event.keyCode !== 9) && (event.keyCode < 96 || event.keyCode > 105)) {\r\n if (event.keyCode !== 8 && event.keyCode !== 9 && (event.keyCode < 46 || event.keyCode > 57)) {\r\n if (event.keyCode < 37 || event.keyCode > 40) {\r\n event.preventDefault();\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** Fired when any control in the composite control receives the focus */\r\n gotFocus(event: any) {\r\n if (event.srcElement.value === 'dd' || event.srcElement.value === 'mm' || event.srcElement.value === 'yyyy') {\r\n event.srcElement.value = '';\r\n }\r\n this.selectAll(event);\r\n }\r\n\r\n selectAll(event: any) {\r\n // See https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8229660/\r\n if (navigator.userAgent.match(/Edge\\/(13|14|15|16|17)/)) {\r\n return setTimeout(event.target.select.bind(event.target), 10);\r\n }\r\n event.target.select();\r\n }\r\n\r\n /** Fired when the focus is lost from any of the controls that\r\n * make up this control, that is, any of the dd/mm/yyy controls\r\n */\r\n blur(event: any) {\r\n this.checkState(event);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/date-input/date-input.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/home-card-editor/home-card-editor.component.css\n// module id = ./src/app/components/home-card-editor/home-card-editor.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n \\r\\n

{{Card.DefaultTitle}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/home-card-editor/home-card-editor.component.html\n// module id = ./src/app/components/home-card-editor/home-card-editor.component.html\n// module chunks = main","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n\r\n@Component({\r\n selector: 'app-home-card-editor',\r\n templateUrl: './home-card-editor.component.html',\r\n styleUrls: ['./home-card-editor.component.css']\r\n})\r\nexport class HomeCardEditorComponent implements OnInit {\r\n @Input() Card: any;\r\n @Input() Saving: boolean;\r\n @Output() save: EventEmitter = new EventEmitter();\r\n @Output() default: EventEmitter = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n if (this.Card.Title === '') {\r\n this.Card.Title = this.Card.DefaultTitle;\r\n }\r\n if (this.Card.Description === '') {\r\n this.Card.Description = this.Card.DefaultDescription;\r\n }\r\n }\r\n\r\n saveCardConfig() {\r\n this.save.emit(this.Card);\r\n }\r\n\r\n defaultCardConfig(form: NgForm) {\r\n this.default.emit(this.Card);\r\n this.Card.Title = this.Card.DefaultTitle;\r\n this.Card.Description = this.Card.DefaultDescription;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/home-card-editor/home-card-editor.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/portal-footer/portal-footer.component.css\n// module id = ./src/app/components/portal-footer/portal-footer.component.css\n// module chunks = main","module.exports = \"\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/portal-footer/portal-footer.component.html\n// module id = ./src/app/components/portal-footer/portal-footer.component.html\n// module chunks = main","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n//-------------------------------------------------------------------------------------------\r\n// Author: Martin Unger\r\n// Created: 09/11/2017\r\n// Description: Component to display a footer at the bottom of each component that uses it\r\n//--------------------------------------------------------------------------------------------\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './portal-footer.component.html',\r\n styleUrls: ['./portal-footer.component.css']\r\n})\r\nexport class PortalFooterComponent implements OnInit { \r\n \r\n @Input() footer: string; //Text to appear in the footer section\r\n @Input() copyright: string; //Text to appear in the copyright section\r\n @Input() displayFooter:boolean;\r\n \r\n constructor() { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/portal-footer/portal-footer.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/portal-header/portal-header.component.css\n// module id = ./src/app/components/portal-header/portal-header.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n arrow_back_ios\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n menu\\r\\n \\r\\n

{{name}}

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

{{title}}

\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/portal-header/portal-header.component.html\n// module id = ./src/app/components/portal-header/portal-header.component.html\n// module chunks = main","import { Component, Input } from '@angular/core';\r\nimport { ShellUpdateService, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\n\r\n////-------------------------------------------------------------------------------------------\r\n// Author: Martin Unger\r\n// Created: 09/11/2017\r\n// Description: Component to display a header along the top of each component that uses it\r\n////-------------------------------------------------------------------------------------------\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './portal-header.component.html',\r\n styleUrls: ['./portal-header.component.css']\r\n})\r\nexport class PortalHeaderComponent {\r\n @Input() public name: string; // The application name to appear in the header\r\n @Input() public title: string; // The page title to appear in the header\r\n @Input() public displayMenu: boolean; // Display or Hide the burgermenu on the side of the screen.\r\n @Input() public displayBack: boolean;\r\n @Input() public displayHeader: boolean;\r\n\r\n constructor(private shellUpdateService: ShellUpdateService, public appConfigService: AppConfigService) { }\r\n\r\n // Sends a message to any listening component to open the side menu\r\n openSideNavigation() {\r\n const shellAction: ShellActionMessage = new ShellActionMessage(true, null, null, null, true);\r\n this.shellUpdateService.sendShellUpdateActionMessage(shellAction);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/portal-header/portal-header.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/useful-website/useful-website.component.css\n// module id = ./src/app/components/useful-website/useful-website.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n

Useful Website

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Description:\\r\\n
{{usefulWebsite.UrlText}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Url:\\r\\n
{{usefulWebsite.Url}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n public\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please provide a valid description\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Please provide a valid Url\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/useful-website/useful-website.component.html\n// module id = ./src/app/components/useful-website/useful-website.component.html\n// module chunks = main","import { Component, OnInit, Input, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { UsefulWebsite } from '../../models/useful-website';\r\nimport { NgForm, NgControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-useful-website',\r\n templateUrl: './useful-website.component.html',\r\n styleUrls: ['./useful-website.component.css']\r\n})\r\nexport class UsefulWebsiteComponent implements OnInit {\r\n\r\n // ** Useful website that represents the content for this control */\r\n @Input() usefulWebsite: UsefulWebsite;\r\n usefulWebsiteUndo: UsefulWebsite = new UsefulWebsite();\r\n\r\n // ** Indicates if we are editing or viewing this particular instance */\r\n @Input() edit = false;\r\n\r\n /** Event emitters */\r\n @Output() update: EventEmitter = new EventEmitter();\r\n @Output() delete: EventEmitter = new EventEmitter();\r\n @Output() cancel: EventEmitter = new EventEmitter();\r\n\r\n form: NgForm;\r\n cancelGlobalEscape = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.readyUndo();\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\r\n this.undo();\r\n }\r\n\r\n cardClick(event: MouseEvent) {\r\n if (!this.edit) {\r\n this.edit = true;\r\n }\r\n }\r\n\r\n // Stop bubbling events freing other events we don't need to happen\r\n cancelBubble(event: MouseEvent) {\r\n event.stopPropagation();\r\n }\r\n\r\n private undo() {\r\n Object.assign(this.usefulWebsite, this.usefulWebsiteUndo);\r\n this.edit = false;\r\n this.cancel.emit(null);\r\n }\r\n\r\n readyUndo() {\r\n // Clone the data object to undo\r\n Object.assign(this.usefulWebsiteUndo, this.usefulWebsite);\r\n }\r\n\r\n updateSite(event: MouseEvent) {\r\n this.update.emit(this.usefulWebsite);\r\n this.cancelBubble(event);\r\n this.edit = false;\r\n }\r\n\r\n deleteSite(event: MouseEvent) {\r\n this.delete.emit(this.usefulWebsite);\r\n this.cancelBubble(event);\r\n this.edit = false;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/useful-website/useful-website.component.ts","import { Directive, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, AbstractControl, Validators, ValidationErrors } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[allowEmpty]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: EmptyEmailDirective, multi: true }]\r\n})\r\nexport class EmptyEmailDirective {\r\n\r\n constructor() { }\r\n validate(control: AbstractControl): ValidationErrors {\r\n\r\n if (!control.value) {\r\n return null;\r\n }\r\n \r\n return Validators.email(control);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/directives/empty-email.directive.ts","////-------------------------------------------------------------------------------------------\r\n// Author: Martin Unger\r\n// Created: 17/11/2017\r\n// Description: Stores credentials for log-in\r\n////-------------------------------------------------------------------------------------------\r\nexport class Credentials {\r\n public Username: string = '';\r\n public Password: string = '';\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/domain/credentials.ts","export class ChangePasswordModel {\r\n /// \r\n /// The existing user password\r\n /// \r\n public ExistingPassword:string;\r\n\r\n /// \r\n /// New password\r\n /// \r\n public NewPassword:string;\r\n\r\n /// \r\n /// Confirm the new passsword\r\n /// \r\n public ConfirmNewPassword:string;\r\n \r\n /// \r\n /// The user id\r\n /// \r\n public PatientId:Number;\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/change-password-model.ts","export class DataQuality {\r\n ContactEmailAddress: string;\r\n ContactTelephoneNumber: string;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/data-quality.ts","export class PasswordReset {\r\n public EmailAddress: String = '';\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/password-reset.ts","export class RegistrationModel {\r\n EmailAddress = '';\r\n Password = '';\r\n Token = '';\r\n VerificationPassword = '';\r\n Dob: string;\r\n }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/registration-model.ts","export class TrustAddressModel {\r\n Id: number;\r\n Label: string;\r\n AddressLine1: String;\r\n AddressLine2: String;\r\n AddressLine3: String;\r\n Town: String;\r\n County: String;\r\n PostCode: String;\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/trust-address.ts","export class TrustScheduleModel {\r\n public Id: string;\r\n public DepartmentName: string;\r\n public TelephoneNumber: string;\r\n public EmailAddress: string;\r\n public StartDay: string;\r\n public EndDay: string;\r\n public StartHour: string;\r\n public EndHour: string;\r\n public StartAmPm: string;\r\n public EndAmPm: string;\r\n public Deleted: boolean;\r\n public ShowEdit: boolean;\r\n public IsValid:boolean;\r\n public WebUrl:string;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/trust-schedule-model.ts","export class UsefulWebsite {\r\n UrlId: number;\r\n Url: string;\r\n UrlText: string;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/useful-website.ts","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'notAvailable'\r\n})\r\nexport class NotAvailablePipe implements PipeTransform {\r\n\r\n transform(value: any, args?: any): any {\r\n if (value == null || value.length === 0 || value.trim() === '') {\r\n return 'n/a';\r\n } else {\r\n return value;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/pipes/not-available-pipe.pipe.ts","import { Injectable } from '@angular/core';\r\n\r\n//// -------------------------------------------------------------------------------------------\r\n// Author: Martin Unger\r\n// Created: 10/11/2017\r\n// Description: Provides configuration settings to the rest of the application\r\n//// -------------------------------------------------------------------------------------------\r\n\r\n@Injectable()\r\nexport class AppConfigService {\r\n\r\n\r\n // Core Configuration\r\n // Interval between checking for new observations\r\n public ObservationCheckInterval = 60000;\r\n\r\n // Application name - top left\r\n public ApplicationName = 'personal health record';\r\n\r\n // Copyright display - bottom right\r\n public Copyright = '2017-2019 EuroKing';\r\n\r\n // Trust security policy - bottom left\r\n\r\n public Footer = '';\r\n\r\n // App version number\r\n public Version = '1.4.0';\r\n\r\n // API Host\r\n // public ApiHost: string = \"phr.euroking.com/maternity\";\r\npublic ApiHost = \"e3phr.cornwall.nhs.uk/Maternity_LIVE\";\r\n\r\n // API Port\r\npublic ApiPort = \"\";\r\n\r\n // API Port Seperator\r\npublic PortSeperator =\"\";\r\n\r\n // Url To use for logging out\r\n public AuthenticationLogoutUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/authentication/logout`;\r\n\r\n // Url to use for logging in\r\n public AuthenticationLogInUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/authentication/login`;\r\n\r\n // Gets a patient\r\n public PatientGetUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/{patientId}`;\r\n\r\n // Gets a patient\r\n public PatientGetCurrentPregnancyId =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/{patientId}/Pregnancy`;\r\n\r\n // Gets the patient email address for a given id\r\n public PatientEmailGetUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/Email/{patientId}`;\r\n\r\n // Gets the patient email address for a given id\r\n public PatientLibraryGet =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/Library`;\r\n\r\n // Gets the patient email address for a given id\r\n public PatientActivityGet =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/Pregnancy/{pregnancyId}/Activity`;\r\n\r\n // Patient authorisation\r\n public PatientAuthorisePostUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/authorisation/authorise`;\r\n\r\n // Patient authorisation\r\n public PatientDeauthorisePostUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/authorisation/deauthorise`;\r\n\r\n // Url for posting registrationS\r\n public PatientRegisterPostUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/authorisation/register`;\r\n\r\n public PatientResetPasswordPostUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/authorisation/resetpassword`;\r\n\r\n // Attaches risks and alerts for each patient\r\n public PatientAttachRisksAlertsUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/Attach/RisksAndAlerts`;\r\n\r\n // Checks the status of a patient for Phr registration\r\n public PatientPhrStatusUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/authorisation/status/{patientId}`;\r\n\r\n // Gets the text for the patients previous appointment\r\n public PatientGetPreviousAppointmentUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/Pregnancy/GetPreviousAppointment/{pregnancyId}`;\r\n\r\n // Gets a patient id for a given email address\r\n public PatientIdByEmailGetUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/Id/GetPhrPatientIdByEmail?emailAddress={emailAddress}`;\r\n\r\n // Gets the patient questionnaire\r\n public PatientQuestionnaireGet =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/QuestionnaireResult/{questionnaireId}?instanceId={instanceId}`;\r\n\r\n // Checks the status of a patient for Phr registration\r\n public UserRoleCheckGetUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/authorisation/adminrole`;\r\n\r\n // Searches for a patient\r\n public SearchUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/SearchE3/{searchFilter}/{query}/identifiers`;\r\n\r\n // Gets the current trust address\r\n public TrustAddresses =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/trust/address/all`;\r\n\r\n // Update the trust address\r\n public UpdateTrustAddress =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/trust/address/update`;\r\n\r\n // Update the trust address\r\n public AddTrustAddress =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/trust/address/add`;\r\n\r\n // Update the trust address\r\n public DeleteTrustAddress =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/trust/address/delete`;\r\n\r\n // Gets the current trust schedules\r\n public TrustSchedules =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/trust/schedules`;\r\n\r\n // Gets the current trust schedules\r\n public DeleteTrustSchedule =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/trust/schedule/delete`;\r\n\r\n // Gets the current trust schedules\r\n public UpdateTrustSchedule =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/trust/schedule/update`;\r\n\r\n // Gets the current trust schedules\r\n public addTrustSchedule =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/trust/schedule/add`;\r\n\r\n // Gets a trust card\r\n public getTrustCard =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/trust/home/cards/{cardName}`;\r\n\r\n // Gets the current trust schedules\r\n public getAllTrustCards =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/trust/home/cards/all`;\r\n\r\n // Gets the current trust schedules\r\n public updateTrustCardPost =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/trust/home/card/update`;\r\n\r\n // Gets the questionnaire definition for EPA\r\n public GetPhrEpaDefinition =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/PhrEpaQuestionnaireDefinition/Patient/{PregnancyId}`;\r\n\r\n // Gets the questionnaire definition for EPA\r\n public GetPhrBirthPlanDefinition =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/PhrBirthPlanQuestionnaireDefinition/{PregnancyId}`;\r\n\r\n // Gets the questionnaire definition for EPA\r\n public PostPhrEpaDefinition =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/PhrEpaQuestionnaireSubmission`;\r\n\r\n // Gets the questionnaire definition for EPA\r\n public PostBirthPlanDefinition =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/PhrBirthPlanQuestionnaireSubmission`;\r\n\r\n // Resets the password\r\n public ResetPasswordUrl =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/authorisation/reset`;\r\n\r\n // The link to use when getting the pdf reports for a patient\r\n public ReportsGet =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/{pregnancyId}/PatientPdfReports`;\r\n\r\n // The link to use when getting the pdf reports for a patient\r\n public ChangePassword =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/authorisation/changepassword`;\r\n\r\n // Gets a single report using the gievn id\r\n public ReportGet =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/Patient/{patientId}/Reports/{reportId}`;\r\n\r\n // Useful websites\r\n public usefulWebsiteGet =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/trust/usefulwebsites/all`;\r\n\r\n // Useful websites Add\r\n public usefulWebsiteAdd =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/trust/usefulwebsites/add`;\r\n\r\n public TrustDataQualityGet =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/trust/dataqualitycontact/get`;\r\n\r\n public TrustDataQualityUpdatePost =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/trust/dataqualitycontact/update`;\r\n\r\n // Useful websites Add\r\n public usefulWebsiteUpdate =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/trust/usefulwebsites/update`;\r\n\r\n // Useful websites Add\r\n public usefulWebsiteDelete =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/trust/usefulwebsites/delete`;\r\n\r\n // Useful websites Add\r\n public logoGet =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/phr/asset/logo`;\r\n\r\n public TrustReportConfigurationGet =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/trust/reportconfiguration/get`;\r\n\r\n public TrustReportConfigurationPost =\r\n `https://${this.ApiHost}${this.PortSeperator}${this.ApiPort}/api/v1/trust/reportconfiguration/update`;\r\n\r\n // Restricted areas are only for users in an admin role\r\n public RestrictedAreas: string[] = [\r\n '/app/admin/search',\r\n '/app/admin/contact',\r\n '/app/admin/websites',\r\n '/app/admin/card-configuration',\r\n '/app/admin/report-configuration'\r\n ];\r\n\r\n // Restricted areas are only for users in an admin role\r\n public UserAreas: string[] =\r\n [\r\n '/app/registration',\r\n '/app/newpassword',\r\n '/app/changepassword',\r\n '/app/aboutme',\r\n '/app/mybirthplan',\r\n '/app/mypregnancy',\r\n '/app/contact',\r\n '/app/activity',\r\n '/app/home'\r\n ];\r\n\r\n // Flag to indicate if the logged in use has access to admin functions\r\n public IsTrust = false;\r\n public IsBooked = false; // Move this to session\r\n public UserName = '';\r\n public PatientId: number;\r\n public PregnancyId: number;\r\n public PatientInitials = '';\r\n public Forename = '';\r\n public IsMobile = false;\r\n public ShowHeader = true;\r\n\r\n // Will log output to the console. Turn off for production\r\npublic LogToConsole = false;\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/app-config-service/app-config.service.ts","import { Injectable } from '@angular/core';\r\nimport { AuthHttpClient } from '../auth-http-service/auth-http.service';\r\nimport { AppConfigService } from '../app-config-service/app-config.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Injectable()\r\nexport class AssetService {\r\n\r\n constructor(private http: AuthHttpClient, private appConfigService: AppConfigService, private sanitizer: DomSanitizer) { }\r\n\r\n getLogo() {\r\n return this.http.get(this.appConfigService.logoGet);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/asset-service/asset.service.ts","import { Injectable } from '@angular/core';\r\nimport { CanActivate, NavigationStart, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Router } from '@angular/router';\r\nimport { LoggingService } from '../logging-service/logging.service';\r\nimport { AppConfigService } from '../app-config-service/app-config.service';\r\nimport { AuthHttpClient } from '../auth-http-service/auth-http.service';\r\nimport { UserSessionService } from '../user-session-service/user-session.service';\r\nimport { MatSnackBar, MAT_SNACK_BAR_DATA } from '@angular/material';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AuthGuardService implements CanActivate {\r\n\r\n ////-------------------------------------------------------------------------------------------\r\n // Author: Martin Unger\r\n // Created: 13/12/2017\r\n // Description: Guards routes buy only allowing them to activate if the user has logged in\r\n ////-------------------------------------------------------------------------------------------\r\n private targetRoute: string;\r\n private isAdminArea: boolean = false;\r\n completeSubject: Subject = new Subject();\r\n\r\n constructor(private router: Router, private loggingService: LoggingService,\r\n private appConfigService: AppConfigService, http: AuthHttpClient,\r\n private userSession: UserSessionService, private snackBar: MatSnackBar) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n this.loggingService.log('Route guard: canActivate', this.appConfigService.LogToConsole);\r\n return this.userSession.login(null);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/auth-guard-service/auth-guard.service.ts","import { Injectable } from '@angular/core';\r\nimport { Http, Headers, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Credentials } from '../../domain/credentials';\r\nimport { AppConfigService } from '../app-config-service/app-config.service';\r\nimport { LoggingService } from '../logging-service/logging.service';\r\nimport { Subscription } from 'rxjs/Subscription';\r\n\r\n\r\n////-------------------------------------------------------------------------------------------\r\n// Author: Martin Unger\r\n// Created: 05/12/2017\r\n// Description: Deals with wrapping http post requests in order to attach the authorisation token\r\n// to each request\r\n//----------------------------------------------------------------------------------------------\r\n\r\n@Injectable()\r\nexport class AuthHttpClient {\r\n\r\n private getSubscription: Subscription;\r\n private postSubscription: Subscription;\r\n\r\n // Store the credentials of the user from the login form\r\n public Credentials?: Credentials;\r\n\r\n // DI\r\n constructor(private http: Http, private appConfigService: AppConfigService, private loggingService: LoggingService) {\r\n }\r\n\r\n getHeaders(): any {\r\n\r\n const bearerToken = sessionStorage.getItem('BearerToken');\r\n if (bearerToken != null) {\r\n return { Authorization: `Bearer ${bearerToken}` }\r\n }\r\n return null;\r\n\r\n }\r\n\r\n token(): string {\r\n return sessionStorage.getItem('BearerToken');\r\n }\r\n\r\n // Creates the appropriate authorisation header\r\n private createAuthorizationHeader(headers: Headers) {\r\n this.loggingService.log('Creating authorisation header', this.appConfigService.LogToConsole);\r\n\r\n // Log in using basic authentication\r\n if (this.Credentials !== undefined && this.Credentials !== null) {\r\n sessionStorage.removeItem('BearerToken');\r\n headers.append('x-wellbeing-ux', 'true');\r\n headers.append('Authorization', 'Basic ' +\r\n btoa(this.Credentials.Username + ':' + this.Credentials.Password));\r\n this.Credentials = null;\r\n return;\r\n }\r\n\r\n // No credentials. Try getting a token.\r\n this.appendToken(headers);\r\n }\r\n\r\n // Appends a token to a a header\r\n private appendToken(headers: Headers) {\r\n this.loggingService.log('Appending token', this.appConfigService.LogToConsole);\r\n\r\n const bearerToken = sessionStorage.getItem('BearerToken');\r\n if (bearerToken != null) {\r\n headers.append('Authorization', 'Bearer ' +\r\n bearerToken);\r\n }\r\n }\r\n\r\n // Creates the logout headers \r\n private createLogoutHeader(headers: Headers) {\r\n this.loggingService.log('Creating logout header', this.appConfigService.LogToConsole);\r\n\r\n this.appendToken(headers);\r\n headers.append('x-logout', 'true');\r\n }\r\n\r\n // Gets a url using http get\r\n public get(url) {\r\n\r\n if (this.urlInvalid(url)) {\r\n return;\r\n }\r\n\r\n this.loggingService.log('Performing get request', this.appConfigService.LogToConsole);\r\n\r\n const headers = new Headers();\r\n this.createAuthorizationHeader(headers);\r\n\r\n return this.http.get(url, {\r\n headers: headers\r\n })\r\n\r\n }\r\n\r\n // Gets a url using http post\r\n public post(url, data) {\r\n\r\n if (this.urlInvalid(url)) {\r\n return;\r\n }\r\n\r\n this.loggingService.log('Performing post request', this.appConfigService.LogToConsole);\r\n\r\n const headers = new Headers();\r\n headers.append('Content-Type', 'application/json');\r\n this.createAuthorizationHeader(headers);\r\n return this.http.post(url, data, {\r\n headers: headers\r\n });\r\n }\r\n\r\n // Sends a logout request with x-logout\r\n public postLogout(url) {\r\n\r\n if (this.urlInvalid(url)) {\r\n return;\r\n }\r\n\r\n this.loggingService.log('Performing post to log out', this.appConfigService.LogToConsole);\r\n\r\n const headers = new Headers();\r\n this.createLogoutHeader(headers);\r\n return this.http.post(url, null, {\r\n headers: headers\r\n });\r\n }\r\n\r\n // Saves a token to local storage\r\n public saveToken(response: Response) {\r\n this.loggingService.log('Saving token', this.appConfigService.LogToConsole);\r\n sessionStorage.setItem('BearerToken', response.headers.get('bearer'));\r\n }\r\n\r\n // Removes a token from local storage\r\n public deleteToken() {\r\n this.loggingService.log('Deleting token', this.appConfigService.LogToConsole)\r\n sessionStorage.removeItem('BearerToken');\r\n }\r\n\r\n private urlInvalid(url: string): boolean {\r\n if (!url) {\r\n return !url;\r\n }\r\n\r\n return !url.trim();\r\n }\r\n\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/auth-http-service/auth-http.service.ts","import { Injectable } from '@angular/core';\r\nimport { AppConfigService } from '../app-config-service/app-config.service';\r\nimport { AuthHttpClient } from '../auth-http-service/auth-http.service';\r\nimport { Patient } from '../../domain/patient';\r\nimport { Response } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport { RegistrationModel } from '../../models/registration-model';\r\nimport { ChangePasswordModel } from '../../models/change-password-model';\r\n\r\n\r\n////-------------------------------------------------------------------------------------------\r\n// Author: Martin Unger\r\n// Created: 24/04/2018\r\n// Description: Authorises or deauthorsises a user access to the PHR\r\n////-------------------------------------------------------------------------------------------\r\n\r\n@Injectable()\r\nexport class AuthorisationService {\r\n changePassword(changePasswordModel:ChangePasswordModel): Observable {\r\n return this.http.post(this.appConfigService.ChangePassword,changePasswordModel);\r\n }\r\n\r\n constructor(private appConfigService: AppConfigService, private http: AuthHttpClient) { }\r\n\r\n getPatientEmail(patient: Patient): Observable {\r\n let emailGetUrl: string = this.appConfigService.PatientEmailGetUrl.replace('{patientId}', patient.Id.toString());\r\n return this.http.get(emailGetUrl);\r\n }\r\n\r\n authorise(patient: Patient, emailAddress: string): Observable {\r\n let authoriseUrl: string = this.appConfigService.PatientAuthorisePostUrl;\r\n let authorisationModel: AuthorisationModel = new AuthorisationModel(1, patient.Id, emailAddress);\r\n return this.http.post(authoriseUrl, JSON.stringify(authorisationModel));\r\n }\r\n\r\n deauthorise(patient: Patient): Observable {\r\n let deauthoriseUrl: string = this.appConfigService.PatientDeauthorisePostUrl;\r\n let deAuthorisationModel: DeauthorisationModel = new DeauthorisationModel(1, patient.Id);\r\n return this.http.post(deauthoriseUrl, JSON.stringify(deAuthorisationModel));\r\n }\r\n\r\n checkStatus(patient: Patient): Observable {\r\n let statusUrl: string = this.appConfigService.PatientPhrStatusUrl.replace('{patientId}', patient.Id.toString());\r\n return this.http.get(statusUrl);\r\n }\r\n\r\n register(registrationModel: RegistrationModel): Observable {\r\n let registrationUrl: string = this.appConfigService.PatientRegisterPostUrl;\r\n return this.http.post(registrationUrl, JSON.stringify(registrationModel));\r\n }\r\n\r\n \r\n reset(registrationModel: RegistrationModel): Observable {\r\n let resetUrl: string = this.appConfigService.PatientResetPasswordPostUrl;\r\n return this.http.post(resetUrl, JSON.stringify(registrationModel));\r\n }\r\n}\r\n\r\nexport class AuthorisationModel {\r\n\r\n constructor(private accessAuthorisedBy: number, patientId: number, patientEmailAddress: string) {\r\n this.AccessAuthorisedById = accessAuthorisedBy;\r\n this.PatientEmailAddress = patientEmailAddress;\r\n this.PatientId = patientId;\r\n }\r\n\r\n AccessAuthorisedById: number;\r\n PatientId: number;\r\n PatientEmailAddress: string;\r\n}\r\n\r\nexport class DeauthorisationModel {\r\n\r\n constructor(private accessDeauthorisedBy: number, patientId: number, ) {\r\n this.AccessDeauthorisedById = accessDeauthorisedBy;\r\n this.PatientId = patientId;\r\n }\r\n\r\n AccessDeauthorisedById: number;\r\n PatientId: number;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/authorisation-service/authorisation-service.service.ts","import { Injectable } from '@angular/core';\r\nimport { LoggingService } from '../logging-service/logging.service';\r\nimport { UserSessionService } from '../user-session-service/user-session.service';\r\nimport { TrustDataService } from '../trust-data-service/trust-data.service';\r\nimport { MatSnackBar } from '../../../../node_modules/@angular/material';\r\nimport { map } from 'rxjs/operators/map';\r\nimport { AppConfigService } from '../app-config-service/app-config.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { HomeCardModel } from '../../models/home-card-model';\r\nimport { Subject } from 'rxjs/Subject';\r\n\r\n\r\n@Injectable()\r\nexport class HomeCardService {\r\n\r\n private trustCardSubscription: Subscription;\r\n public cardsReady: Subject = new Subject();\r\n\r\n constructor(public loggingService: LoggingService, public userSession: UserSessionService,\r\n public snackBar: MatSnackBar, public trustDataService: TrustDataService,\r\n public appConfig: AppConfigService) { }\r\n\r\n\r\n public loadHomeCards() {\r\n\r\n this.trustCardSubscription = this.trustDataService.getAllTrustCards()\r\n .pipe(map(response => response.json()))\r\n .subscribe(response => {\r\n\r\n this.loggingService.log('Loading cards', this.appConfig.LogToConsole);\r\n this.userSession.homeCards = response;\r\n this.cardsReady.next(true);\r\n console.log(this.userSession.homeCards);\r\n\r\n }, (error => {\r\n this.handleError(error);\r\n }));\r\n\r\n return;\r\n }\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n switch (error.status) {\r\n case 0:\r\n this.snackBar.open('Sorry, we can\\'t do that. You appear to be offline.', '', { duration: 5000 });\r\n this.loggingService.log('Error - offline', this.appConfig.LogToConsole);\r\n break;\r\n case 401:\r\n this.snackBar.open('Sorry, we can\\'t do that. Your login has expired.', '', { duration: 5000 });\r\n this.loggingService.log('Error - login expired', this.appConfig.LogToConsole);\r\n break;\r\n case 500:\r\n this.snackBar.open('Sorry, we can\\'t do that. Server error.', '', { duration: 5000 });\r\n this.loggingService.log('Error - Server error', this.appConfig.LogToConsole);\r\n break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/home-card-service/home-card.service.ts","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class LoggingService {\r\n\r\n logItems: string[] = [];\r\n\r\n constructor() { }\r\n\r\n // Logs messages to the console. Just a wrapper so we can control it's usage when deployed.\r\n log(logMessage: string, enabled: boolean) {\r\n\r\n if (logMessage)\r\n logMessage = logMessage.trim();\r\n else\r\n return;\r\n\r\n if (enabled && logMessage) {\r\n console.log(logMessage);\r\n //this.logItems.push(logMessage);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/logging-service/logging.service.ts","import { Injectable } from '@angular/core';\r\nimport { AppConfigService } from '../app-config-service/app-config.service';\r\nimport { AuthHttpClient } from '../auth-http-service/auth-http.service';\r\n\r\n////-------------------------------------------------------------------------------------------\r\n// Author: Martin Unger\r\n// Created: 15/05/2018\r\n// Description: Obtains patient data from the api\r\n////-------------------------------------------------------------------------------------------\r\n\r\n@Injectable()\r\nexport class PatientDataService {\r\n\r\n constructor(private appConfigService: AppConfigService, private http: AuthHttpClient) { }\r\n\r\n getCurrentPregnancyId(patientId: number) {\r\n return this.http.get(this.appConfigService.PatientGetCurrentPregnancyId.replace('{patientId}', patientId.toString()));\r\n }\r\n\r\n getPatientId(emailAddress: string) {\r\n return this.http.get(this.appConfigService.PatientIdByEmailGetUrl.replace('{emailAddress}', emailAddress));\r\n }\r\n\r\n getPatient(patientId: Number) {\r\n return this.http.get(this.appConfigService.PatientGetUrl.replace('{patientId}', patientId.toString()));\r\n }\r\n\r\n getPreviousAppointment(pregnancyId: Number) {\r\n return this.http.get(this.appConfigService.PatientGetPreviousAppointmentUrl.replace('{pregnancyId}', pregnancyId.toString()));\r\n }\r\n\r\n getActivity(pregnancyId: Number) {\r\n return this.http.get(this.appConfigService.PatientActivityGet.replace('{pregnancyId}', pregnancyId.toString()));\r\n }\r\n\r\n getLibrary() {\r\n return this.http.get(this.appConfigService.PatientLibraryGet);\r\n }\r\n\r\n getQuestionnaireResult(questionnaireId: number, instanceId: number) {\r\n return this.http.get(this.appConfigService.PatientQuestionnaireGet.replace('{questionnaireId}',questionnaireId.toString()).replace('{instanceId}',instanceId.toString()));\r\n }\r\n\r\n getReports(pregnancyId:number)\r\n {\r\n return this.http.get(this.appConfigService.ReportsGet.replace('{pregnancyId}', pregnancyId.toString()));\r\n }\r\n\r\n getReport(reportId:number)\r\n {\r\n return this.http.get(this.appConfigService.ReportGet.replace('{reportId}', reportId.toString()));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/patient-data/patient-data.service.ts","import { Injectable } from '@angular/core';\r\nimport { AppConfigService } from '../app-config-service/app-config.service';\r\nimport { AuthHttpClient } from '../auth-http-service/auth-http.service';\r\nimport { Patient } from '../../domain/patient';\r\nimport { Observable } from 'rxjs';\r\nimport { Response } from '@angular/http';\r\n\r\n@Injectable()\r\nexport class PatientSearchService {\r\n\r\n // Injects the AppConfigService and the HttpClient needed to handle authorised users\r\n constructor(private appConfigService: AppConfigService, private http: AuthHttpClient) { }\r\n\r\n // Uses the maternity api to search fo a patient\r\n search(searchString: string, searchFilter: string): Observable {\r\n let searchUrl = this.appConfigService.SearchUrl.replace('{searchFilter}', searchFilter).replace('{query}', searchString);\r\n return this.http.get(searchUrl);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/patient-search-service/patient-search.service.ts","import { Injectable } from '@angular/core';\r\nimport { AppConfigService } from '../app-config-service/app-config.service';\r\nimport { LoggingService } from '../logging-service/logging.service';\r\nimport { AuthHttpClient } from '../auth-http-service/auth-http.service';\r\n\r\n@Injectable()\r\nexport class QuestionnaireService {\r\n\r\n constructor(private appConfigService: AppConfigService, private loggingService: LoggingService, private http: AuthHttpClient) { }\r\n\r\n getPhrEpaDefinition() {\r\n this.loggingService.log(\"Getting EPA Questionnaire Definition\", this.appConfigService.LogToConsole)\r\n return this.http.get(this.appConfigService.GetPhrEpaDefinition.replace('{PregnancyId}',this.appConfigService.PregnancyId.toString()));\r\n }\r\n\r\n getBirthPlanEpaDefinition() {\r\n this.loggingService.log(\"Getting Birth Plan Questionnaire Definition\", this.appConfigService.LogToConsole)\r\n return this.http.get(this.appConfigService.GetPhrBirthPlanDefinition.replace('{PregnancyId}',this.appConfigService.PregnancyId.toString()));\r\n }\r\n\r\n postEpaQuestionnaireDefinition(definition: any) {\r\n this.loggingService.log(\"Posting EPA Questionnaire Definition\", this.appConfigService.LogToConsole)\r\n return this.http.post(this.appConfigService.PostPhrEpaDefinition, definition);\r\n }\r\n\r\n postBirthPlanQuestionnaireDefinition(definition: any) {\r\n this.loggingService.log(\"Posting Birth Plan Questionnaire Definition\", this.appConfigService.LogToConsole)\r\n return this.http.post(this.appConfigService.PostBirthPlanDefinition, definition);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/questionnaire-service/questionnaire.service.ts","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Subject } from 'rxjs';\r\nimport { LoggingService } from '../logging-service/logging.service';\r\nimport { AppConfigService } from '../app-config-service/app-config.service';\r\n////-------------------------------------------------------------------------------------------\r\n// Author: Martin Unger\r\n// Created: 12/11/2017\r\n// Description: Service to update header and footer from different child components\r\n////-------------------------------------------------------------------------------------------\r\n@Injectable()\r\nexport class ShellUpdateService {\r\n\r\n // Subscribe to this to get message updates for the shell\r\n public ShellMessage: Subject;\r\n public ShellAction: Subject;\r\n\r\n constructor(private loggingService: LoggingService, private appConfigService: AppConfigService) {\r\n this.ShellMessage = new Subject();\r\n this.ShellAction = new Subject();\r\n }\r\n\r\n // Updates the shell with a given message\r\n public sendShellUpdateMessage(message: ShellUpdateMessage) {\r\n this.loggingService.log(\"Sending shell update message\", this.appConfigService.LogToConsole);\r\n if (message == undefined)\r\n throw \"ShellUpdateMessage cannot be undefined\";\r\n\r\n if (message == null)\r\n throw \"Message cannot be null\";\r\n\r\n // We have a valid message.\r\n this.ShellMessage.next(message);\r\n }\r\n\r\n // Sends a shell action (for example, closing a menu. to any subscribers.)\r\n public sendShellUpdateActionMessage(action: ShellActionMessage) {\r\n this.loggingService.log(\"Sending shell action update message\", this.appConfigService.LogToConsole);\r\n if (action == undefined)\r\n throw \"ShellAction cannot be undefined\";\r\n\r\n if (action == null)\r\n throw \"ShellAction cannot be null\";\r\n\r\n this.ShellAction.next(action);\r\n }\r\n}\r\n\r\n// For sending UI update messages (text for header and footers)\r\nexport class ShellUpdateMessage {\r\n public Name: string = '';\r\n public Title: string = '';\r\n public Footer: string = '';\r\n public Copyright: string = '';\r\n public DisplayFooter: string = '';\r\n\r\n constructor(name: string, title: string, footer: string, copyright: string) {\r\n if (name != null)\r\n this.Name = name;\r\n\r\n if (title != null)\r\n this.Title = title;\r\n\r\n if (footer != null)\r\n this.Footer = footer;\r\n\r\n if (copyright != null)\r\n this.Copyright = copyright;\r\n }\r\n}\r\n\r\n// For sending UI update actions (closing menus for example)\r\nexport class ShellActionMessage {\r\n\r\n public OpenSideMenu;\r\n public DisplayFooter;\r\n public DisplayMenu;\r\n public DisplayBack;\r\n public DisplayHeader;\r\n\r\n constructor(openSideMenu: boolean, displayFooter: boolean, displayMenu: boolean, displayBack: boolean, displayheader: boolean) {\r\n\r\n if (displayFooter != null)\r\n this.DisplayFooter = displayFooter;\r\n\r\n if (openSideMenu != null)\r\n this.OpenSideMenu = openSideMenu;\r\n\r\n if (displayMenu != null)\r\n this.DisplayMenu = displayMenu;\r\n\r\n if (displayBack != null)\r\n this.DisplayBack = displayBack;\r\n\r\n if (displayheader != null)\r\n this.DisplayHeader = displayheader;\r\n\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/shell-update-service/shell-update.service.ts","import { Injectable } from '@angular/core';\r\nimport { AppConfigService } from '../app-config-service/app-config.service';\r\nimport { AuthHttpClient } from '../auth-http-service/auth-http.service';\r\nimport { TrustAddressModel } from '../../models/trust-address';\r\nimport { TrustScheduleModel } from '../../models/trust-schedule-model';\r\nimport { UsefulWebsite } from '../../models/useful-website';\r\nimport { Observable } from 'rxjs';\r\nimport { DataQuality } from '../../models/data-quality';\r\nimport { HomeCardModel } from '../../models/home-card-model';\r\n\r\n@Injectable()\r\nexport class TrustDataService {\r\n\r\n constructor(private appConfigService: AppConfigService, private http: AuthHttpClient) { }\r\n\r\n addSchedule(trustScheduleModel: TrustScheduleModel) {\r\n return this.http.post(this.appConfigService.addTrustSchedule, trustScheduleModel);\r\n }\r\n\r\n getTrustSchedules() {\r\n return this.http.get(this.appConfigService.TrustSchedules);\r\n }\r\n\r\n getTrustReportConfiguration() {\r\n return this.http.get(this.appConfigService.TrustReportConfigurationGet);\r\n }\r\n\r\n updateReportConfiguration(reportConfiguration: any) {\r\n return this.http.post(this.appConfigService.TrustReportConfigurationPost, reportConfiguration);\r\n }\r\n\r\n getAllTrustCards() {\r\n return this.http.get(this.appConfigService.getAllTrustCards);\r\n }\r\n\r\n getTrustCard(cardName: string) {\r\n return this.http.get(this.appConfigService.getTrustCard.replace('{cardName}', cardName));\r\n }\r\n\r\n updateTrustCard(card: any) {\r\n return this.http.post(this.appConfigService.updateTrustCardPost, card);\r\n }\r\n\r\n getUsefulWebsites() {\r\n return this.http.get(this.appConfigService.usefulWebsiteGet);\r\n }\r\n\r\n getTrustDataQualityContact() {\r\n return this.http.get(this.appConfigService.TrustDataQualityGet);\r\n }\r\n\r\n updateTrustDataQualityContact(dataQuality: DataQuality) {\r\n return this.http.post(this.appConfigService.TrustDataQualityUpdatePost, dataQuality);\r\n }\r\n\r\n updateUsefulWebsite(usefulWebsite: UsefulWebsite) {\r\n return this.http.post(this.appConfigService.usefulWebsiteUpdate, usefulWebsite);\r\n }\r\n\r\n addUsefulWebsite(usefulWebsite: UsefulWebsite) {\r\n return this.http.post(this.appConfigService.usefulWebsiteAdd, usefulWebsite);\r\n }\r\n\r\n deleteUsefulWebsite(usefulWebsite: UsefulWebsite) {\r\n return this.http.post(this.appConfigService.usefulWebsiteDelete, usefulWebsite);\r\n }\r\n\r\n getTrustAddresses() {\r\n return this.http.get(this.appConfigService.TrustAddresses);\r\n }\r\n\r\n updateTrustAddress(trustAddress: TrustAddressModel) {\r\n return this.http.post(this.appConfigService.UpdateTrustAddress, trustAddress);\r\n }\r\n\r\n addTrustAddress(trustAddress: TrustAddressModel) {\r\n return this.http.post(this.appConfigService.AddTrustAddress, trustAddress);\r\n }\r\n\r\n deleteTrustAddress(trustAddress: TrustAddressModel) {\r\n return this.http.post(this.appConfigService.DeleteTrustAddress, trustAddress);\r\n }\r\n\r\n deleteSchedule(trustScheduleModel: TrustScheduleModel) {\r\n return this.http.post(this.appConfigService.DeleteTrustSchedule, trustScheduleModel);\r\n }\r\n\r\n updateSchedule(trustScheduleModel: TrustScheduleModel) {\r\n return this.http.post(this.appConfigService.UpdateTrustSchedule, trustScheduleModel);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/trust-data-service/trust-data.service.ts","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AuthHttpClient } from '../auth-http-service/auth-http.service';\r\nimport { LoggingService } from '../logging-service/logging.service';\r\nimport { AppConfigService } from '../app-config-service/app-config.service';\r\nimport { HttpResponse, HttpErrorResponse } from '@angular/common/http';\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { Subscription } from 'rxjs/Subscription';\r\nimport { Observable } from 'rxjs';\r\nimport { ShellUpdateService } from '../shell-update-service/shell-update.service';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { PatientDataService } from '../patient-data/patient-data.service';\r\nimport { logging } from 'protractor';\r\nimport { PortalLoginViewComponent } from '../../views/portal-login-view/portal-login-view.component';\r\nimport { Credentials } from '../../domain/credentials';\r\nimport { IfObservable } from 'rxjs/observable/IfObservable';\r\nimport { TrustDataService } from '../trust-data-service/trust-data.service';\r\nimport { map } from 'rxjs/operators';\r\nimport { strictEqual } from 'assert';\r\nimport { HomeCardModel } from '../../models/home-card-model';\r\n\r\n\r\n@Injectable()\r\nexport class UserSessionService {\r\n\r\n private loginSubscription: Subscription;\r\n private trustCardSubscription: Subscription;\r\n\r\n private patient: any;\r\n public homeCards: Array;\r\n loggedIn: boolean;\r\n\r\n // Services are injected here\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router, private route: ActivatedRoute,\r\n private authHttp: AuthHttpClient, public loggingService: LoggingService, private snackBar: MatSnackBar,\r\n private patientDataService: PatientDataService, private trustDataService: TrustDataService) { }\r\n public HasAdmin: Subject = new Subject();\r\n\r\n /* Logs a user out **/\r\n logout() {\r\n this.loggingService.log('Clearing identifiers', this.appConfigService.LogToConsole);\r\n this.clearIdentifiers();\r\n this.loggingService.log('Removing user session token', this.appConfigService.LogToConsole);\r\n sessionStorage.removeItem('BearerToken');\r\n this.loggingService.log('Redirecting to welcome', this.appConfigService.LogToConsole);\r\n this.router.navigate(['app/welcome']);\r\n }\r\n\r\n private clearIdentifiers() {\r\n this.appConfigService.PatientId = null;\r\n this.appConfigService.PregnancyId = null;\r\n this.appConfigService.PatientInitials = null;\r\n this.appConfigService.IsTrust = false;\r\n this.authHttp.Credentials = null;\r\n }\r\n\r\n checkRoute(url: string) {\r\n\r\n // If user, check for admin areas\r\n if (this.appConfigService.IsTrust === false) {\r\n let isAdminArea = false;\r\n // Where is the user trying to go? They are not allowed in admin views\r\n // Check to see if the user is operating in an adminsitrative area\r\n for (let index = 0; index < this.appConfigService.RestrictedAreas.length; index++) {\r\n const area = this.appConfigService.RestrictedAreas[index];\r\n // If the user isn't an admin. don't give them access\r\n this.loggingService.log(`Checking if restricted area: ${area}:${this.router.url}`, this.appConfigService.LogToConsole);\r\n if (this.router.url !== '/' && area.startsWith(this.router.url)) {\r\n this.loggingService.log(`${area} is restricted`, this.appConfigService.LogToConsole);\r\n isAdminArea = true;\r\n }\r\n }\r\n if (isAdminArea && !this.appConfigService.IsTrust) {\r\n this.router.navigate(['app', 'home']);\r\n return;\r\n }\r\n }\r\n\r\n // If admin, check for user areas\r\n if (this.appConfigService.IsTrust === true) {\r\n let isUserArea = false;\r\n // Where is the user trying to go? They are not allowed in admin views\r\n // Check to see if the user is operating in an adminsitrative area\r\n for (let index = 0; index < this.appConfigService.UserAreas.length; index++) {\r\n const area = this.appConfigService.UserAreas[index];\r\n // If the user isn't an admin. don't give them access\r\n this.loggingService.log(`Checking if restricted area: ${area}:${this.router.url}`, this.appConfigService.LogToConsole);\r\n if (this.router.url !== '/' && area.startsWith(this.router.url)) {\r\n this.loggingService.log(`${area} is out of context`, this.appConfigService.LogToConsole);\r\n isUserArea = true;\r\n }\r\n }\r\n if (isUserArea && this.appConfigService.IsTrust) {\r\n this.router.navigate(['app', 'admin', 'search']);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n /** Logs a user in */\r\n login(credentials: any): Observable {\r\n\r\n this.authHttp.Credentials = credentials;\r\n this.appConfigService.IsTrust = false;\r\n\r\n const authHttp = this.authHttp;\r\n const appConfigService = this.appConfigService;\r\n const loggingService = this.loggingService;\r\n const patientDataService = this.patientDataService;\r\n const router = this.router;\r\n const route = this.route;\r\n const snackBar = this.snackBar;\r\n let patient = this.patient;\r\n\r\n\r\n /** Create an observable to which this function returns. Notify on changes, and return it */\r\n const observable = Observable.create(function subscribe(observer) {\r\n // No need to do lots of verification if we have a patient id\r\n // as the user has already logged in and NOT refreshed the browser\r\n // using the refresh browser button.\r\n if (appConfigService.PatientId !== undefined && appConfigService.PatientId !== null) {\r\n loggingService.log('Using cached patient id', appConfigService.LogToConsole);\r\n observer.next(true);\r\n observer.complete();\r\n return;\r\n }\r\n\r\n // We don't have a patient id. User could have hit the refresh button on the browser.\r\n // In which case we need to check for either credentials or a token in sessionStorage\r\n // if there are no credentials and no token, this is a new session.\r\n if (authHttp.Credentials === undefined || authHttp.Credentials === null) {\r\n if (authHttp.token() === undefined || authHttp.token() === null || authHttp.token() === '') {\r\n loggingService.log('New session', appConfigService.LogToConsole);\r\n loggingService.log('Not authenticated', appConfigService.LogToConsole);\r\n observer.next(false);\r\n observer.complete();\r\n router.navigate(['app', 'login']);\r\n return;\r\n }\r\n }\r\n\r\n // We either have credentials (user name and password) or a token\r\n // Post what we have to the authentication url, and wait for the response.\r\n // Will convert all this to a fork join when I have more time.\r\n authHttp.post(appConfigService.AuthenticationLogInUrl, null).subscribe((response) => {\r\n\r\n // User Login\r\n loggingService.log('User logged in', appConfigService.LogToConsole);\r\n authHttp.saveToken(response);\r\n this.loggedIn = true;\r\n console.log(this.loggedIn);\r\n loggingService.log('Saved token', appConfigService.LogToConsole);\r\n\r\n // Now the user is logged in, lets check what they have access to\r\n loggingService.log(`Checking user role`, appConfigService.LogToConsole);\r\n const userProperties = response.json();\r\n\r\n // Set the flag around the system so we know what they have access to\r\n appConfigService.IsTrust = userProperties.IsTrust;\r\n appConfigService.UserName = userProperties.UserName;\r\n\r\n // The next step is to get the patient id\r\n if (appConfigService.IsTrust === false) {\r\n loggingService.log(`Attempting to get patient id for: ` +\r\n appConfigService.UserName, appConfigService.LogToConsole);\r\n\r\n patientDataService.getPatientId(appConfigService.UserName).subscribe(patientIdentity => {\r\n\r\n const responseJson = patientIdentity.json();\r\n appConfigService.PatientId = responseJson.PatientId;\r\n loggingService.log(`patient id:` + responseJson.PatientId, appConfigService.LogToConsole);\r\n loggingService.log(`Getting patient`, appConfigService.LogToConsole);\r\n\r\n patientDataService.getPatient(appConfigService.PatientId).subscribe(patientResponse => {\r\n patient = patientResponse.json();\r\n appConfigService.Forename = patient.Forenames;\r\n loggingService.log(`Got patient ` + patient.Forenames, appConfigService.LogToConsole);\r\n appConfigService.PatientInitials = patient.Forenames.substring(0, 1) + patient.Surname.substring(0, 1);\r\n\r\n if (patient.CurrentPregnancy) {\r\n appConfigService.PregnancyId = patient.CurrentPregnancy.PregnancyId;\r\n }\r\n\r\n // Notify the subscription\r\n this.loggedIn = true;\r\n observer.next(true);\r\n observer.complete();\r\n loggingService.log('Logged in', appConfigService.LogToConsole);\r\n });\r\n }, (error => {\r\n const errorResponse = error as Response;\r\n loggingService.log(`Error while getting patient: ` + errorResponse.statusText, appConfigService.LogToConsole);\r\n\r\n // Notify the subscription\r\n this.loggedIn = false;\r\n observer.next(false);\r\n observer.complete();\r\n }));\r\n } else {\r\n\r\n // Trust login\r\n appConfigService.Forename = appConfigService.UserName;\r\n appConfigService.PatientInitials = appConfigService.Forename.substring(0, 1);\r\n this.loggedin = true;\r\n observer.next(true);\r\n observer.complete();\r\n }\r\n }, (error) => {\r\n const errorResponse = error as HttpErrorResponse;\r\n loggingService.log('Error logging in user', appConfigService.LogToConsole);\r\n authHttp.deleteToken();\r\n // Just in case you are wondering, the user may have a token, but It could have expired.\r\n // This code is also executed by anything where a routeGuard is in place.\r\n // So if we get a 401, always redirect back to login\r\n switch (errorResponse.status) {\r\n case 401:\r\n if (credentials) {\r\n snackBar.open('Sorry, unable to log in. Invalid email address or password.', '', { duration: 5000 });\r\n }\r\n break;\r\n case 500:\r\n snackBar.open('Server error. Please try again later.', '', { duration: 5000 });\r\n break;\r\n default:\r\n snackBar.open('Server unavailable. Please try again later.', '', { duration: 5000 });\r\n break;\r\n }\r\n // Notify the subscription\r\n this.loggedIn = false;\r\n observer.next(false);\r\n observer.complete();\r\n router.navigate(['app/login']);\r\n });\r\n });\r\n\r\n\r\n\r\n return observable;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/user-session-service/user-session.service.ts","import { Directive, Input } from '@angular/core';\r\nimport { Validator, AbstractControl, NG_VALIDATORS, FormGroup, ValidationErrors, NgForm, FormGroupDirective, FormControl } from '@angular/forms';\r\nimport { ErrorStateMatcher } from '@angular/material';\r\n\r\n@Directive({\r\n selector: '[FieldMatch]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: FieldMatchDirective, multi: true }]\r\n})\r\nexport class FieldMatchDirective implements Validator {\r\n @Input('FieldMatch') matchWith: string[] = [];\r\n\r\n validate(f: FormGroup): ValidationErrors {\r\n\r\n let control1 = f.get(this.matchWith[0]);\r\n let control2 = f.get(this.matchWith[1]);\r\n\r\n if (!control1 || !control2) {\r\n return null;\r\n }\r\n\r\n if (control1.value !== control2.value) {\r\n return { 'passwordMatchFailiure': true };\r\n }\r\n }\r\n}\r\n\r\n/** Error when the parent is invalid */\r\nexport class FieldMatchErrorMatcher implements ErrorStateMatcher {\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n return control.dirty && form.invalid;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/field-match.directive.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-activity-view/portal-activity-view.component.css\n// module id = ./src/app/views/portal-activity-view/portal-activity-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{largeView.viewReport.Name}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{largeView.viewReport.Description}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n

\\r\\n {{report.Name}}\\r\\n

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

\\r\\n {{report.Description}}\\r\\n

\\r\\n

{{report.DateCreated | date : 'dd/MM/yy h:mm a'}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-activity-view/portal-activity-view.component.html\n// module id = ./src/app/views/portal-activity-view/portal-activity-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Router, Route } from '@angular/router';\r\nimport { PatientDataService } from '../../services/patient-data/patient-data.service';\r\nimport { MatIconRegistry, MatSnackBar } from '@angular/material';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { AuthHttpClient } from '../../services/auth-http-service/auth-http.service';\r\nimport { Http, Headers, Response } from '@angular/http';\r\nimport { PDFProgressData } from 'ng2-pdf-viewer';\r\nimport { routerNgProbeToken } from '@angular/router/src/router_module';\r\nimport { HomeCardModel } from '../../models/home-card-model';\r\nimport { HomeCardService } from '../../services/home-card-service/home-card.service';\r\n\r\n@Component({\r\n selector: 'app-portal-activity-view',\r\n templateUrl: './portal-activity-view.component.html',\r\n styleUrls: ['./portal-activity-view.component.css']\r\n})\r\nexport class PortalActivityViewComponent implements OnInit {\r\n loaded: boolean;\r\n error: boolean;\r\n\r\n private patient: any;\r\n private reports: Report[];\r\n private largeView: any;\r\n\r\n myNotesCard: HomeCardModel\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router, private patientData: PatientDataService,\r\n iconRegistry: MatIconRegistry, private snackBar: MatSnackBar, private loggingService: LoggingService,\r\n private userSession: UserSessionService, private authHttpClient: AuthHttpClient,\r\n private homeCardService: HomeCardService) { }\r\n\r\n ngOnInit() {\r\n // Make sure the route being accessed is desirable (not user from admin, or admin from user. Redirect if required)\r\n this.userSession.checkRoute(this.router.url);\r\n\r\n this.myNotesCard = this.userSession.homeCards.find(x => x.CardName === 'MyNotes');\r\n\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, this.myNotesCard.Title, null, null));\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true, true, true));\r\n let reportId = null;\r\n this.router.routerState.root.queryParams.subscribe((params) => {\r\n reportId = params['reportId'];\r\n\r\n });\r\n this.getReportData(reportId);\r\n }\r\n\r\n private getReportData(reportId: number) {\r\n\r\n this.loggingService.log('Executing GetPatientData', this.appConfigService.LogToConsole);\r\n if (this.appConfigService.PatientId == null) {\r\n this.loggingService.log('No patient id', this.appConfigService.LogToConsole);\r\n this.loaded = true;\r\n return;\r\n }\r\n\r\n this.loggingService.log('Getting patient', this.appConfigService.LogToConsole);\r\n\r\n this.patientData.getPatient(this.appConfigService.PatientId).subscribe((response => {\r\n this.patient = response.json();\r\n\r\n if (this.patient.CurrentPregnancy == null) {\r\n this.loggingService.log('No current pregnancy', this.appConfigService.LogToConsole);\r\n this.loaded = true;\r\n return;\r\n }\r\n\r\n this.loggingService.log('Getting available reports', this.appConfigService.LogToConsole);\r\n this.patientData.getReports(this.patient.CurrentPregnancy.PregnancyId).map(response => response.json()).subscribe(response => {\r\n this.reports = response;\r\n\r\n // If we have a specified report id, use that and load the report full screen as it would have come from another url.\r\n if (reportId != null) {\r\n this.fullScreen(reportId, null, this.reports.find(x => x.Id === reportId));\r\n }\r\n this.loaded = true;\r\n });\r\n\r\n }), (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n completed(progressData: PDFProgressData) {\r\n this.largeView.loaded = true;\r\n this.loggingService.log('PDF Loaded', this.appConfigService.LogToConsole);\r\n }\r\n\r\n handlePdfLoadError(error: any) {\r\n this.handleError(error);\r\n }\r\n\r\n exitFullScreen(event: Event) {\r\n this.loggingService.log('Quitting full screen', this.appConfigService.LogToConsole);\r\n\r\n // Prevents the click of the url from firing\r\n event.preventDefault();\r\n this.largeView = null;\r\n }\r\n\r\n fullScreen(id: number, event: Event, report: Report) {\r\n // Prevents the click of the url from firing\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n this.loggingService.log('Loading full screen', this.appConfigService.LogToConsole);\r\n\r\n // Get the headers and append them to the sytem using an options object.\r\n var headers = this.authHttpClient.getHeaders();\r\n\r\n // Set the PDF source and then update the documents.\r\n this.largeView = {\r\n viewReport: report,\r\n loaded: false,\r\n pdfData: {\r\n url: this.appConfigService.ReportGet.replace('{reportId}', id.toString()).replace('{patientId}', this.appConfigService.PatientId.toString()),\r\n withCredentials: true,\r\n httpHeaders: headers\r\n }\r\n }\r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n switch (error.status) {\r\n case 0:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. You appear to be offline.', '', { duration: 5000 });\r\n this.loggingService.log('Error - offline', this.appConfigService.LogToConsole);\r\n break;\r\n case 401:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. Your login has expired.', '', { duration: 5000 });\r\n this.loggingService.log('Error - login expired', this.appConfigService.LogToConsole);\r\n this.userSession.logout();\r\n break;\r\n case 500:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. Server error.', '', { duration: 5000 });\r\n this.loggingService.log('Error - Server error', this.appConfigService.LogToConsole);\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n\r\nclass Report {\r\n Name: string;\r\n DateCreated: string;\r\n PdfSrc: any = new Object;\r\n Id: number;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-activity-view/portal-activity-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-admin-cards-view/portal-admin-cards-view.component.css\n// module id = ./src/app/views/portal-admin-cards-view/portal-admin-cards-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-admin-cards-view/portal-admin-cards-view.component.html\n// module id = ./src/app/views/portal-admin-cards-view/portal-admin-cards-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\nimport { Router } from '@angular/router';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { TrustDataService } from '../../services/trust-data-service/trust-data.service';\r\n\r\n@Component({\r\n selector: 'app-portal-admin-cards-view',\r\n templateUrl: './portal-admin-cards-view.component.html',\r\n styleUrls: ['./portal-admin-cards-view.component.css']\r\n})\r\nexport class PortalAdminCardsViewComponent implements OnInit {\r\n\r\n trustCardSubscription: Subscription;\r\n homeCards: any;\r\n aboutMe: any;\r\n contact: any;\r\n logout: any;\r\n myBirthPlan: any;\r\n myPregnancyAndMe: any;\r\n myNotes: any;\r\n loaded: boolean;\r\n error: boolean;\r\n\r\n\r\n aboutMeSaving: boolean;\r\n myNotesSaving: boolean;\r\n myBirthPlanSaving: boolean;\r\n myPregnancyAndMeSaving: boolean;\r\n contactSaving: boolean;\r\n logoutSaving: boolean;\r\n\r\n editAboutMe = false;\r\n\r\n constructor(private userSession: UserSessionService, private router: Router,\r\n private shellUpdateService: ShellUpdateService, private appConfigService: AppConfigService,\r\n private trustDataService: TrustDataService, private loggingService: LoggingService) { }\r\n\r\n ngOnInit() {\r\n\r\n // Make sure the route being accessed is desirable (not user from admin, or admin from user. Redirect if required)\r\n this.userSession.checkRoute(this.router.url);\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(this.appConfigService.ApplicationName,\r\n 'Home Card Configuration', null, null));\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true, false, true));\r\n\r\n\r\n // Get all of the homecard configuration from the service\r\n this.loggingService.log('Loading card configuration ...', this.appConfigService.LogToConsole);\r\n this.trustCardSubscription = this.trustDataService.getAllTrustCards()\r\n .pipe(map(response => response.json()))\r\n .subscribe(response => {\r\n this.loggingService.log('Loading cards', this.appConfigService.LogToConsole);\r\n this.homeCards = response;\r\n this.aboutMe = this.homeCards.find(x => x.CardName === 'AboutMe');\r\n this.contact = this.homeCards.find(x => x.CardName === 'Contact');\r\n this.logout = this.homeCards.find(x => x.CardName === 'Logout');\r\n this.myBirthPlan = this.homeCards.find(x => x.CardName === 'MyBirthPlan');\r\n this.myPregnancyAndMe = this.homeCards.find(x => x.CardName === 'MyPregnancyAndMe');\r\n this.myNotes = this.homeCards.find(x => x.CardName === 'MyNotes');\r\n this.loaded = true;\r\n this.loggingService.log('Card configuration loaded successfully', this.appConfigService.LogToConsole);\r\n });\r\n\r\n }\r\n\r\n updateSpinner(card: any, saving: boolean) {\r\n switch (card.CardName) {\r\n case 'AboutMe':\r\n this.aboutMeSaving = saving;\r\n break;\r\n case 'Contact':\r\n this.contactSaving = saving;\r\n break;\r\n case 'Logout':\r\n this.logoutSaving = saving;\r\n break;\r\n case 'MyBirthPlan':\r\n this.myBirthPlanSaving = saving;\r\n break;\r\n case 'MyPregnancyAndMe':\r\n this.myPregnancyAndMeSaving = saving;\r\n break;\r\n case 'MyNotes':\r\n this.myNotesSaving = saving;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n\r\n saveCard(card: any) {\r\n // Update\r\n this.updateSpinner(card, true);\r\n this.loggingService.log(`saveCard(${card.Title}) event triggered`, this.appConfigService.LogToConsole);\r\n\r\n this.trustDataService.updateTrustCard(card)\r\n .subscribe(response => {\r\n this.updateSpinner(card, false);\r\n });\r\n }\r\n\r\n defaultCard(card: any) {\r\n\r\n // Remove previously set properties so defaults can be used\r\n card.Title = '';\r\n card.Description = '';\r\n\r\n // Update\r\n this.updateSpinner(card, true);\r\n this.trustDataService.updateTrustCard(card)\r\n .subscribe(response => {\r\n this.updateSpinner(card, false);\r\n });\r\n this.loggingService.log(`defaultCard(${card.Title}) event triggered`, this.appConfigService.LogToConsole);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-admin-cards-view/portal-admin-cards-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-admin-contact/portal-contact-admin/portal-contact-admin.component.css\n// module id = ./src/app/views/portal-admin-contact/portal-contact-admin/portal-contact-admin.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Useful Addresses\\r\\n
\\r\\n

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

Data Quality Contact

\\r\\n
\\r\\n \\r\\n Links are placed throughout this application to enable patients to request corrections to any data that\\r\\n may be incorrect.\\r\\n Please provide a contact email address and / or telephone number for patients to use.\\r\\n
\\r\\n
\\r\\n Email Address\\r\\n
{{dataQuality.ContactEmailAddress}}
\\r\\n
\\r\\n Telephone Number\\r\\n
{{dataQuality.ContactTelephoneNumber}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please\\r\\n enter\\r\\n a valid Email Address\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter a valid telephone number\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Department Schedules\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please\\r\\n supply a valid Department Name\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Web Url invalid. Make\\r\\n sure it starts with http or https and is formatted correctly\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Please\\r\\n enter a valid Telephone Number\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n ...\\r\\n 8\\r\\n 9\\r\\n 10\\r\\n 11\\r\\n 12\\r\\n 1\\r\\n 2\\r\\n 3\\r\\n 4\\r\\n 5\\r\\n 6\\r\\n 7\\r\\n \\r\\n Required\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n ...\\r\\n am\\r\\n pm\\r\\n \\r\\n Required\\r\\n \\r\\n\\r\\n to\\r\\n\\r\\n \\r\\n \\r\\n ...\\r\\n 8\\r\\n 9\\r\\n 10\\r\\n 11\\r\\n 12\\r\\n 1\\r\\n 2\\r\\n 3\\r\\n 4\\r\\n 5\\r\\n 6\\r\\n 7\\r\\n \\r\\n Required\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n ...\\r\\n pm\\r\\n am\\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n ...\\r\\n Mon\\r\\n Tue\\r\\n Wed\\r\\n Thr\\r\\n Fri\\r\\n Sat\\r\\n Sun\\r\\n \\r\\n Required\\r\\n \\r\\n\\r\\n to\\r\\n\\r\\n \\r\\n \\r\\n ...\\r\\n Mon\\r\\n Tue\\r\\n Wed\\r\\n Thr\\r\\n Fri\\r\\n Sat\\r\\n Sun\\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please\\r\\n enter\\r\\n a valid Email Address\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please\\r\\n supply a valid Department Name\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Web Url invalid. Make\\r\\n sure it starts with http or https and is formatted correctly\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Please\\r\\n enter a valid Telephone Number\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n ...\\r\\n 8\\r\\n 9\\r\\n 10\\r\\n 11\\r\\n 12\\r\\n 1\\r\\n 2\\r\\n 3\\r\\n 4\\r\\n 5\\r\\n 6\\r\\n 7\\r\\n \\r\\n Required\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n ...\\r\\n am\\r\\n pm\\r\\n \\r\\n Required\\r\\n \\r\\n\\r\\n to\\r\\n\\r\\n \\r\\n \\r\\n ...\\r\\n 8\\r\\n 9\\r\\n 10\\r\\n 11\\r\\n 12\\r\\n 1\\r\\n 2\\r\\n 3\\r\\n 4\\r\\n 5\\r\\n 6\\r\\n 7\\r\\n \\r\\n Required\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n ...\\r\\n pm\\r\\n am\\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n ...\\r\\n Mon\\r\\n Tue\\r\\n Wed\\r\\n Thr\\r\\n Fri\\r\\n Sat\\r\\n Sun\\r\\n \\r\\n Required\\r\\n \\r\\n\\r\\n to\\r\\n\\r\\n \\r\\n \\r\\n ...\\r\\n Mon\\r\\n Tue\\r\\n Wed\\r\\n Thr\\r\\n Fri\\r\\n Sat\\r\\n Sun\\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please\\r\\n enter\\r\\n a valid Email Address\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
{{schedule.DepartmentName}}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
{{schedule.WebUrl}}
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n {{schedule.TelephoneNumber}}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n {{schedule.StartHour}}{{getAmPm(schedule.StartAmPm)}} -\\r\\n {{schedule.EndHour}}{{getAmPm(schedule.EndAmPm)}} ({{getDay(schedule.StartDay)}}\\r\\n - {{getDay(schedule.EndDay)}})\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n {{schedule.EmailAddress}}\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-admin-contact/portal-contact-admin/portal-contact-admin.component.html\n// module id = ./src/app/views/portal-admin-contact/portal-contact-admin/portal-contact-admin.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../../services/app-config-service/app-config.service';\r\nimport { Router } from '@angular/router';\r\nimport { TrustAddressModel } from '../../../models/trust-address';\r\nimport { TrustDataService } from '../../../services/trust-data-service/trust-data.service';\r\nimport { TrustScheduleModel } from '../../../models/trust-schedule-model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { NgForm, NgControl, FormControl } from '@angular/forms';\r\nimport { HttpErrorResponse } from '../../../../../node_modules/@angular/common/http';\r\nimport { UserSessionService } from '../../../services/user-session-service/user-session.service';\r\nimport { LoggingService } from '../../../services/logging-service/logging.service';\r\nimport { DataQuality } from '../../../models/data-quality';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-portal-contact-admin',\r\n templateUrl: './portal-contact-admin.component.html',\r\n styleUrls: ['./portal-contact-admin.component.css']\r\n})\r\n\r\nexport class PortalContactAdminComponent implements OnInit {\r\n @ViewChild(NgForm) form;\r\n @ViewChild('dataQualityForm') dataQualityForm: NgForm;\r\n\r\n private trustAddressList: TrustAddressModel[];\r\n private trustScheduleList: TrustScheduleModel[] = new Array();\r\n private editingSchedule: TrustScheduleModel;\r\n private creatingSchedule: TrustScheduleModel;\r\n private addressLoaded: boolean = false;\r\n private newTrustAddressModel: TrustAddressModel = new TrustAddressModel();\r\n dataQuality: DataQuality = new DataQuality();\r\n dataQualityUndo: DataQuality = new DataQuality();\r\n loaded: boolean;\r\n error: boolean;\r\n adding: boolean;\r\n dataQualityAdding: boolean;\r\n dataQualityUpdating: boolean;\r\n\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private trustDataService: TrustDataService,\r\n private router: Router, private snackBar: MatSnackBar, private userSession: UserSessionService,\r\n private loggingService: LoggingService) { }\r\n\r\n ngOnInit() {\r\n // Make sure the route being accessed is desirable (not user from admin, or admin from user. Redirect if required)\r\n this.userSession.checkRoute(this.router.url);\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, 'Contact Information', null, null));\r\n\r\n this.dataQuality.ContactEmailAddress = '';\r\n this.dataQuality.ContactTelephoneNumber = '';\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true, false, true));\r\n this.getTrustData();\r\n }\r\n\r\n addedAddress() {\r\n this.trustAddressList.push(this.newTrustAddressModel);\r\n this.trustAddressList = this.trustAddressList.sort((a, b) => this.compare(a, b));\r\n }\r\n\r\n compare(a: TrustAddressModel, b: TrustAddressModel) {\r\n if (a.Label < b.Label) {\r\n return -1;\r\n }\r\n if (a.Label > b.Label) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n private getTrustData() {\r\n this.loggingService.log('Loading trust data', this.appConfigService.LogToConsole);\r\n this.trustDataService.getTrustAddresses().subscribe(response => {\r\n this.trustAddressList = response.json();\r\n this.loggingService.log('Loaded trust address', this.appConfigService.LogToConsole);\r\n this.trustDataService.getTrustSchedules().subscribe(result => {\r\n this.trustScheduleList = result.json();\r\n this.loggingService.log('Loaded trust schedules', this.appConfigService.LogToConsole);\r\n this.trustDataService.getTrustDataQualityContact()\r\n .pipe(map(contactResponse => contactResponse.json()))\r\n .subscribe(dataQualityResponse => {\r\n this.dataQuality = dataQualityResponse;\r\n this.dataQualityUndo = Object.assign(this.dataQualityUndo, this.dataQuality);\r\n this.loggingService.log('Loaded data quality information', this.appConfigService.LogToConsole);\r\n this.loaded = true;\r\n });\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n clearEmailAddress(control: FormControl) {\r\n control.reset();\r\n }\r\n\r\n addNewAddress() {\r\n this.adding = true;\r\n this.newTrustAddressModel = new TrustAddressModel();\r\n }\r\n\r\n addDataQuality($event: MouseEvent) {\r\n this.dataQualityAdding = true;\r\n this.dataQualityUndo = Object.assign(this.dataQualityUndo, this.dataQuality);\r\n }\r\n\r\n undoDataQuality($event: MouseEvent) {\r\n this.dataQuality = Object.assign(this.dataQuality, this.dataQualityUndo);\r\n this.dataQualityAdding = false;\r\n }\r\n\r\n saveDataQuality() {\r\n this.dataQualityUpdating = true;\r\n this.trustDataService.updateTrustDataQualityContact(this.dataQuality)\r\n .subscribe(response => {\r\n this.dataQualityUpdating = false;\r\n this.dataQualityAdding = false;\r\n this.snackBar.open('Data Quality contact details updated successfully', '', { duration: 5000 });\r\n }, error => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n cancelAddDataQuality(form: NgForm) {\r\n this.dataQuality = Object.assign(this.dataQuality, this.dataQualityUndo);\r\n this.dataQualityAdding = false;\r\n }\r\n\r\n cancel() {\r\n this.adding = false;\r\n }\r\n\r\n // Handles any potential http errors\r\n handleError(error: HttpErrorResponse) {\r\n switch (error.status) {\r\n case 0:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. You appear to be offline.', '', { duration: 5000 });\r\n this.loggingService.log('Error - offline', this.appConfigService.LogToConsole);\r\n break;\r\n case 401:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. Your login has expired.', '', { duration: 5000 });\r\n this.loggingService.log('Error - login expired', this.appConfigService.LogToConsole);\r\n this.userSession.logout();\r\n break;\r\n case 500:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. Server error.', '', { duration: 5000 });\r\n this.loggingService.log('Error - Server error', this.appConfigService.LogToConsole);\r\n break;\r\n }\r\n }\r\n\r\n createNewSchedule(event: Event) {\r\n event.stopPropagation();\r\n const newSchedule: TrustScheduleModel = new TrustScheduleModel();\r\n newSchedule.IsValid = false;\r\n newSchedule.ShowEdit = false;\r\n this.creatingSchedule = newSchedule;\r\n }\r\n\r\n getAmPm(value: any) {\r\n switch (value) {\r\n case '0':\r\n return 'am';\r\n case '1':\r\n return 'pm';\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n getDay(value: any) {\r\n switch (value) {\r\n case '1':\r\n return 'Mon';\r\n case '2':\r\n return 'Tue';\r\n case '3':\r\n return 'Wed';\r\n case '4':\r\n return 'Thr';\r\n case '5':\r\n return 'Fri';\r\n case '6':\r\n return 'Sat';\r\n case '7':\r\n return 'Sun';\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n editStart(event: Event, schedule: TrustScheduleModel) {\r\n event.stopPropagation();\r\n\r\n if (this.editingSchedule) {\r\n this.editingSchedule.ShowEdit = false;\r\n }\r\n\r\n schedule.ShowEdit = true;\r\n this.editingSchedule = schedule;\r\n }\r\n\r\n editFinish(event: Event) {\r\n event.stopPropagation();\r\n\r\n if (this.creatingSchedule == undefined && this.editingSchedule == undefined) {\r\n return;\r\n }\r\n\r\n if (this.creatingSchedule) {\r\n this.creatingSchedule = null;\r\n return;\r\n }\r\n\r\n if (this.editingSchedule.ShowEdit == false) {\r\n return;\r\n }\r\n\r\n if (!this.form.valid && (this.form.touched || this.form.dirty)) {\r\n this.snackBar.open('Schedule has some errors. Please check and try again', '', { duration: 5000 });\r\n return;\r\n }\r\n\r\n this.loaded = false;\r\n this.loggingService.log('Updating schedule', this.appConfigService.LogToConsole);\r\n this.trustDataService.updateSchedule(this.editingSchedule).subscribe(response => {\r\n this.loggingService.log('Schedule updated', this.appConfigService.LogToConsole);\r\n\r\n this.snackBar.open('Schedule updated', '', { duration: 5000 });\r\n this.loaded = true;\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n\r\n this.editingSchedule.ShowEdit = false;\r\n }\r\n\r\n disableProp(event: Event) {\r\n event.stopPropagation();\r\n }\r\n\r\n cancelBubble(event: Event) {\r\n event.stopPropagation();\r\n }\r\n\r\n deleteSchedule(event: Event, trustScheduleModel: TrustScheduleModel) {\r\n this.loaded = false;\r\n this.loggingService.log('Deleting schedule', this.appConfigService.LogToConsole);\r\n\r\n this.trustDataService.deleteSchedule(trustScheduleModel).subscribe(response => {\r\n this.snackBar.open('Schedule deleted', '', { duration: 5000 });\r\n this.loggingService.log('Schedule deleted', this.appConfigService.LogToConsole);\r\n\r\n this.trustDataService.getTrustSchedules().subscribe(result => {\r\n this.trustScheduleList = result.json();\r\n this.loaded = true;\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n updateAddress() {\r\n // this.trustDataService.updateTrustAddress(this.trustAddressModel).subscribe(reponse => {\r\n // this.snackBar.open('Address updated', '', { duration: 5000 });\r\n // this.trustDataService.getTrustAddresses().subscribe(response => {\r\n // this.addressList = response.json();\r\n // this.adding = false;\r\n // }, (error: HttpErrorResponse) => {\r\n // this.handleError(error);\r\n // });\r\n // });\r\n\r\n }\r\n\r\n addSchedule(event: Event, schedule: TrustScheduleModel) {\r\n event.stopPropagation();\r\n this.trustDataService.addSchedule(schedule).subscribe(result => {\r\n this.snackBar.open('Schedule added', '', { duration: 5000 });\r\n this.creatingSchedule = null;\r\n this.trustDataService.getTrustSchedules().subscribe(result => {\r\n this.trustScheduleList = result.json();\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-admin-contact/portal-contact-admin/portal-contact-admin.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-admin-patient-view/portal-admin-patient-view.component.css\n// module id = ./src/app/views/portal-admin-patient-view/portal-admin-patient-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

NHS Number

\\r\\n
{{patient.NHSNumber | notAvailable}}
\\r\\n
\\r\\n

Contact Details

\\r\\n
{{patient.Forenames}} {{patient.Surname}}
\\r\\n
{{patient.DateofBirth | date: 'dd/MM/yyyy' | notAvailable}} ({{patient.Age}})
\\r\\n
\\r\\n\\r\\n
{{patient.Address | notAvailable}}
\\r\\n
\\r\\n
\\r\\n t:{{patient.HomeTelephone | notAvailable}}
\\r\\n
\\r\\n m:{{patient.MobileTelephone | notAvailable}}
\\r\\n
\\r\\n e:{{appConfigService.UserName | lowercase | notAvailable}}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Gestation

\\r\\n
{{patient.CurrentPregnancy.Gestation | notAvailable}}
\\r\\n
\\r\\n

Previous Appointment

\\r\\n
{{previousAppointment | notAvailable}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-admin-patient-view/portal-admin-patient-view.component.html\n// module id = ./src/app/views/portal-admin-patient-view/portal-admin-patient-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { Patient } from '../../domain/patient';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { Router } from '@angular/router';\r\nimport { PatientDataService } from '../../services/patient-data/patient-data.service';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'app-portal-admin-patient-view',\r\n templateUrl: './portal-admin-patient-view.component.html',\r\n styleUrls: ['./portal-admin-patient-view.component.css']\r\n})\r\nexport class PortalAdminPatientViewComponent implements OnInit {\r\n\r\n private patient: Patient;\r\n private previousAppointment: string;\r\n private documentLibrary: any;\r\n loaded: boolean;\r\n error: boolean;\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router, private patientData: PatientDataService,\r\n private loggingService: LoggingService, private snackBar: MatSnackBar, private userSession: UserSessionService) { }\r\n\r\n ngOnInit() {\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, \"Patient Information\", null, null));\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true, true, true));\r\n\r\n // Get the patient for the view\r\n if (this.appConfigService.PatientId == undefined) {\r\n this.router.navigate(['app', 'admin', 'search']);\r\n return;\r\n }\r\n\r\n if (this.appConfigService.PatientId == 0) {\r\n this.router.navigate(['app', 'admin', 'search']);\r\n return;\r\n }\r\n\r\n this.patientData.getPatient(this.appConfigService.PatientId).subscribe((response => {\r\n this.patient = response.json();\r\n this.loggingService.log(\"Executed getPatient\", this.appConfigService.LogToConsole);\r\n\r\n // Split the NHS Number to appear as it should\r\n this.patient.NHSNumber = this.patient.NHSNumber.substring(0, 3) + ' ' + this.patient.NHSNumber.substring(3, 6) + ' ' + this.patient.NHSNumber.substring(6, 10);\r\n\r\n // Get the previous appointment\r\n if (this.patient.CurrentPregnancy == undefined || this.patient.CurrentPregnancy == null) {\r\n this.loaded = true;\r\n return;\r\n }\r\n\r\n this.patientData.getPreviousAppointment(this.patient.CurrentPregnancy.PregnancyId).subscribe(result => {\r\n this.loggingService.log(\"Executed getPreviousAppointment\", this.appConfigService.LogToConsole);\r\n this.previousAppointment = result.json();\r\n\r\n // Get the document library\r\n this.patientData.getLibrary().subscribe(result => {\r\n this.loggingService.log(\"Executed getLibrary\", this.appConfigService.LogToConsole);\r\n this.documentLibrary = result.json();\r\n this.loaded = true;\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error)\r\n });\r\n }), (error: HttpErrorResponse) => {\r\n this.handleError(error)\r\n });\r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n switch (error.status) {\r\n case 0:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. You appear to be offline.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - offline\", this.appConfigService.LogToConsole);\r\n break;\r\n case 401:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. Your login has expired.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - login expired\", this.appConfigService.LogToConsole);\r\n this.userSession.logout();\r\n break;\r\n case 500:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. Server error.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - Server error\", this.appConfigService.LogToConsole);\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-admin-patient-view/portal-admin-patient-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-admin-report-config/portal-admin-report-config.component.css\n// module id = ./src/app/views/portal-admin-report-config/portal-admin-report-config.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n {{config.FriendlyName}}\\r\\n

\\r\\n
\\r\\n
\\r\\n Show on My Notes\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-admin-report-config/portal-admin-report-config.component.html\n// module id = ./src/app/views/portal-admin-report-config/portal-admin-report-config.component.html\n// module chunks = main","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { TrustDataService } from '../../services/trust-data-service/trust-data.service';\r\nimport { ReportConfiguration } from '../../models/report-configuration';\r\nimport { map } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\n\r\n@Component({\r\n selector: 'app-portal-admin-report-config',\r\n templateUrl: './portal-admin-report-config.component.html',\r\n styleUrls: ['./portal-admin-report-config.component.css']\r\n})\r\nexport class PortalAdminReportConfigComponent implements OnInit, OnDestroy {\r\n\r\n loaded = false;\r\n error = false;\r\n\r\n reportConfigurationList: ReportConfiguration[];\r\n reportConfiguration: Subscription;\r\n updateConfiguration: Subscription;\r\n\r\n constructor(private shellUpdateService: ShellUpdateService, private appConfigService: AppConfigService,\r\n private trustDataService: TrustDataService, private snackBar: MatSnackBar, private loggingService: LoggingService,\r\n private userSessionService: UserSessionService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, 'Report Configuration', null, null));\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true, false, true));\r\n\r\n // Get all of the available reports\r\n this.reportConfiguration = this.trustDataService.getTrustReportConfiguration()\r\n .pipe(map(response => response.json()))\r\n .subscribe(response => {\r\n this.reportConfigurationList = response;\r\n this.loaded = true;\r\n this.loggingService.log('Loaded trust report configuration', this.appConfigService.LogToConsole);\r\n }, (error => {\r\n this.handleError(error);\r\n this.loggingService.log('Error loading trust configuration', this.appConfigService.LogToConsole);\r\n this.loaded = true;\r\n }));\r\n }\r\n\r\n // Unsubscribe so we don't get memory leaks\r\n ngOnDestroy() {\r\n if (this.reportConfiguration) {\r\n this.reportConfiguration.unsubscribe();\r\n this.loggingService.log('Cleaned subscription', this.appConfigService.LogToConsole);\r\n\r\n }\r\n\r\n if (this.updateConfiguration) {\r\n this.updateConfiguration.unsubscribe();\r\n this.loggingService.log('Cleaned subscription', this.appConfigService.LogToConsole);\r\n }\r\n }\r\n\r\n // Send the configuration updates to the server\r\n updateConfig(config: any) {\r\n this.loggingService.log('Updated configuration.', this.appConfigService.LogToConsole);\r\n let updateText = null;\r\n\r\n if (config.Show) {\r\n updateText = 'shown';\r\n } else {\r\n updateText = 'hidden';\r\n }\r\n\r\n this.updateConfiguration = this.trustDataService.updateReportConfiguration(config).subscribe(response => {\r\n this.snackBar.open(`${config.FriendlyName} - ${updateText}`, null, { duration: 5000 });\r\n }, (error => {\r\n this.handleError(error);\r\n }));\r\n }\r\n\r\n // Handles any potential http errors\r\n handleError(error: HttpErrorResponse) {\r\n switch (error.status) {\r\n case 0:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. You appear to be offline.', '', { duration: 5000 });\r\n this.loggingService.log('Error - offline', this.appConfigService.LogToConsole);\r\n break;\r\n case 401:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. Your login has expired.', '', { duration: 5000 });\r\n this.loggingService.log('Error - login expired', this.appConfigService.LogToConsole);\r\n this.userSessionService.logout();\r\n break;\r\n case 500:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. Server error.', '', { duration: 5000 });\r\n this.loggingService.log('Error - Server error', this.appConfigService.LogToConsole);\r\n break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-admin-report-config/portal-admin-report-config.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-admin-search-view/portal-admin-search.component.css\n// module id = ./src/app/views/portal-admin-search-view/portal-admin-search.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n HOSPITAL No. \\r\\n {{patient.HospitalNumber | uppercase}}\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n NHS No. \\r\\n {{patient.NHSNumber | uppercase}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n SURNAME \\r\\n {{patient.Surname | uppercase}}\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n FORENAMES \\r\\n {{patient.Forenames | uppercase}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n DATE OF BIRTH\\r\\n {{patient.DateofBirth | date}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n AGE \\r\\n {{patient.Age}}yrs\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-admin-search-view/portal-admin-search.component.html\n// module id = ./src/app/views/portal-admin-search-view/portal-admin-search.component.html\n// module chunks = main","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core'\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Router, NavigationEnd, ResolveEnd } from '@angular/router';\r\nimport { PatientSearchService } from '../../services/patient-search-service/patient-search.service';\r\nimport { Patient } from '../../../app/domain/patient';\r\nimport { MatTableModule, MatTableDataSource, MatSpinner, MatButton } from '@angular/material'\r\nimport { HttpResponse } from 'selenium-webdriver/http';\r\nimport { HttpErrorResponse } from '@angular/common/http/src/response';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\nimport { Subscription } from 'rxjs/Subscription';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { AfterViewInit } from '@angular/core/src/metadata/lifecycle_hooks';\r\nimport { ElementRef } from '@angular/core';\r\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\nimport { Button, IButton } from 'selenium-webdriver';\r\nimport { AuthorisationService } from '../../services/authorisation-service/authorisation-service.service';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport 'rxjs/add/operator/map';\r\nimport { Response } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\n////-------------------------------------------------------------------------------------------\r\n// Author: Martin Unger\r\n// Created: 16/01/2017 \r\n// Description: Allows users to search for patients to add from E3\r\n////-------------------------------------------------------------------------------------------\r\n\r\n@Component({\r\n selector: 'app-intrapartum-search-view',\r\n templateUrl: './portal-admin-search.component.html',\r\n styleUrls: ['./portal-admin-search.component.css']\r\n})\r\nexport class PortalAdminSearchViewComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild('searchBox') vc: ElementRef;\r\n public foundPatients: Patient[];\r\n private patientSearchSubscription: Subscription;\r\n public dataSource: MatTableDataSource;\r\n public displayedColumns = ['HOSPITALNUMBER', 'NHSNUMBER', 'SURNAME', 'FORENAMES', 'DOB', 'AGE', 'VIEWBUTTON', 'BUTTON'];\r\n public searchQuery: string;\r\n public searchFilter: string = 'HospitalNumber';\r\n public searching: boolean;\r\n public loading: boolean;\r\n public disableSearchButton: boolean = true;\r\n public HospitalSelectedColor: string;\r\n public NhsSelectedColor: string;\r\n public SurnameSelectedColor: string;\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private patientSearchService: PatientSearchService,\r\n private router: Router, private userSession: UserSessionService, private loggingService: LoggingService,\r\n private authorisationService: AuthorisationService,\r\n private breakpointObserver: BreakpointObserver, private snackBar: MatSnackBar) { }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.vc.nativeElement.focus();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n // Make sure the route being accessed is desirable (not user from admin, or admin from user. Redirect if required)\r\n this.userSession.checkRoute(this.router.url);\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(this.appConfigService.ApplicationName,\r\n 'Patient Search', null, ''));\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true, false, true));\r\n this.HospitalSelectedColor = 'accent';\r\n this.breakpointObserver.observe([\r\n Breakpoints.HandsetLandscape,\r\n Breakpoints.HandsetPortrait\r\n ]).subscribe(result => {\r\n if (result.matches) {\r\n this.displayedColumns = ['HOSPITALNUMBER', 'SURNAME', 'VIEWBUTTON', 'BUTTON']\r\n } else {\r\n this.displayedColumns = ['HOSPITALNUMBER', 'NHSNUMBER', 'SURNAME', 'FORENAMES', 'DOB', 'AGE', 'VIEWBUTTON', 'BUTTON'];\r\n }\r\n });\r\n }\r\n\r\n // Cleans up any subscriptions\r\n ngOnDestroy() {\r\n if (this.patientSearchSubscription) {\r\n this.patientSearchSubscription.unsubscribe();\r\n }\r\n this.loggingService.log('Unsubscribed from patientSearchSubscription', this.appConfigService.LogToConsole);\r\n }\r\n\r\n // Set the patient data and then go to the view\r\n viewPatient(patient: Patient, event: MouseEvent) {\r\n this.appConfigService.PatientId = patient.Id;\r\n this.router.navigate(['app', 'admin', 'patient']);\r\n }\r\n\r\n // Searches for patients using the E3 Maternity API\r\n private searchUsingApi() {\r\n this.loading = true;\r\n this.loggingService.log('Communicating with API', this.appConfigService.LogToConsole);\r\n this.patientSearchSubscription = this.patientSearchService.search(this.searchQuery, this.searchFilter).subscribe((response) => {\r\n this.foundPatients = response.json();\r\n this.foundPatients.map(patient => this.checkStatus(patient).subscribe(response => {\r\n this.updatePatientButton(patient, response);\r\n }));\r\n this.ShowFoundPatientCount();\r\n this.bindDataSource();\r\n }, ((error: HttpErrorResponse) => {\r\n if (error.status == 401) {\r\n this.snackBar.open('Sorry, we can\\'t do that. Your login has expired.', '', { duration: 5000 });\r\n this.loggingService.log('Login expired', this.appConfigService.LogToConsole);\r\n this.disableSearchButton = false;\r\n this.userSession.logout();\r\n }\r\n else if (error.status == 404) {\r\n this.snackBar.open('Sorry, no matching patients were found.', '', { duration: 5000 });\r\n this.loggingService.log('No patient search results', this.appConfigService.LogToConsole);\r\n this.disableSearchButton = false;\r\n this.showNoPatientsFound();\r\n }\r\n else if (error.status == 500) {\r\n this.snackBar.open('Sorry, we couldn\\'t do that for you due to a Server error.', '', { duration: 5000 });\r\n this.loggingService.log('Patient search - server error', this.appConfigService.LogToConsole);\r\n this.disableSearchButton = false;\r\n this.showServerError();\r\n }\r\n else if (error.status == 0) {\r\n this.loading = false;\r\n this.disableSearchButton = false;\r\n this.loggingService.log('Patient search - lost internet connection', this.appConfigService.LogToConsole);\r\n this.snackBar.open('Sorry, we couldn\\'t do that for you. You appear to be offline.', '', { duration: 5000 });\r\n }\r\n }));\r\n }\r\n\r\n // Updates the patient button with the correct data depending on the patients authorisation state\r\n updatePatientButton(patient: Patient, status: number) {\r\n patient.ViewButtonText = 'View';\r\n switch (status) {\r\n case 0:\r\n patient.ButtonText = 'Not Authorised';\r\n patient.ButtonAuthorised = false;\r\n break;\r\n case 1:\r\n patient.ButtonText = 'Authorised';\r\n patient.ButtonAuthorised = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n // Will either authorise or deauthorise a patient depending on the patients existing state\r\n switchStatusOnClick(patient: Patient, event: MouseEvent) {\r\n switch (patient.ButtonAuthorised) {\r\n case true:\r\n this.deauthorise(patient, event);\r\n break;\r\n case false:\r\n this.authorise(patient, event);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n checkStatus(patient: Patient) {\r\n this.loggingService.log('Checking patient status', this.appConfigService.LogToConsole);\r\n return this.authorisationService.checkStatus(patient).map(response => response.json()).map(x => x.AuthorisationStatus);\r\n }\r\n\r\n clearSearch() {\r\n this.loggingService.log('Clearing search', this.appConfigService.LogToConsole);\r\n this.searchQuery = null;\r\n this.clearDataSource();\r\n this.clearSearchPatientsFound()\r\n this.disableIfNoSearchString();\r\n }\r\n\r\n authorise(patient: Patient, event: MouseEvent) {\r\n patient.ButtonAdding = true;\r\n this.authorisationService.getPatientEmail(patient).map(response => response.json()).map(e => e.EmailAddress).subscribe(response => {\r\n this.authorisationService.authorise(patient, response).subscribe(response => {\r\n patient.ButtonAdding = false;\r\n patient.ButtonAuthorised = true;\r\n patient.ButtonText = 'Authorised';\r\n this.snackBar.open(`Patient ${patient.Surname}, ${patient.Forenames} has been authorised.`, '', { duration: 5000 });\r\n\r\n }, (error: HttpErrorResponse) => {\r\n patient.ButtonAdding = false;\r\n\r\n // Problems authorising \r\n if (error.status == 401) {\r\n this.snackBar.open('Sorry, we can\\'t do that. Your login has expired.', '', { duration: 5000 });\r\n this.loggingService.log('Login expired', this.appConfigService.LogToConsole);\r\n\r\n this.userSession.logout();\r\n }\r\n if (error.status == 403) {\r\n patient.ButtonAdding = false;\r\n this.loggingService.log('Authorisation error', this.appConfigService.LogToConsole);\r\n this.snackBar.open(`Patient ${patient.Surname}, ${patient.Forenames} could not be authorised. Forbidden.`, '', { duration: 5000 });\r\n }\r\n if (error.status == 409) {\r\n this.loggingService.log('Authorisation error - email address already exists', this.appConfigService.LogToConsole);\r\n this.snackBar.open(`Patient ${patient.Surname}, ${patient.Forenames} could not be authorised. Email address already exists for a different patient.`, '', { duration: 5000 });\r\n }\r\n if (error.status == 500) {\r\n this.loggingService.log('Server error', this.appConfigService.LogToConsole);\r\n patient.ButtonAdding = false;\r\n this.snackBar.open(`Patient ${patient.Surname}, ${patient.Forenames} could not be authorised. Server error.`, '', { duration: 5000 });\r\n }\r\n });\r\n }, (error: HttpErrorResponse) => {\r\n patient.ButtonAdding = false;\r\n\r\n // Problem getting the users email address\r\n if (error.status == 401) {\r\n this.loggingService.log('Patient search - login expired', this.appConfigService.LogToConsole);\r\n this.snackBar.open('Sorry, you have been automatically logged out.', '', { duration: 5000 });\r\n this.userSession.logout();\r\n }\r\n if (error.status == 409) {\r\n this.loggingService.log('Patient could not be authorised ', this.appConfigService.LogToConsole);\r\n this.snackBar.open(`Patient ${patient.Surname}, ${patient.Forenames} could not be authorised. Email address already exists for a different patient.`, '', { duration: 5000 });\r\n\r\n }\r\n if (error.status == 500) {\r\n this.loggingService.log('Patient search - server error ', this.appConfigService.LogToConsole);\r\n this.snackBar.open(`Patient ${patient.Surname}, ${patient.Forenames} could not be authorised. Server error.`, '', { duration: 5000 });\r\n\r\n }\r\n if (error.status == 404) {\r\n this.snackBar.open(`Patient ${patient.Surname}, ${patient.Forenames} could not be authorised. No email address on file.`, '', { duration: 5000 });\r\n this.loggingService.log('Patient search - server error - no email address on file ', this.appConfigService.LogToConsole);\r\n\r\n }\r\n if (error.status == 0) {\r\n this.loading = false;\r\n this.loggingService.log('Patient search - offline ', this.appConfigService.LogToConsole);\r\n this.snackBar.open('Sorry, we couldn\\'t do that for you. You appear to be offline.', '', { duration: 5000 });\r\n }\r\n\r\n patient.ButtonAdding = false;\r\n });\r\n }\r\n\r\n deauthorise(patient: Patient, event: MouseEvent) {\r\n patient.ButtonAdding = true;\r\n return this.authorisationService.deauthorise(patient).subscribe(response => {\r\n patient.ButtonAuthorised = false;\r\n patient.ButtonText = 'Not Authorised';\r\n patient.ButtonAdding = false;\r\n this.snackBar.open(`Patient ${patient.Surname}, ${patient.Forenames} has been deauthorised`, '', { duration: 5000 });\r\n }, (error: HttpErrorResponse) => {\r\n patient.ButtonAdding = false;\r\n if (error.status == 401) {\r\n this.userSession.logout();\r\n }\r\n this.snackBar.open(`Patient ${patient.Surname}, ${patient.Forenames} could not be deauthorised`, '', { duration: 5000 });\r\n patient.ButtonAdding = false;\r\n });\r\n }\r\n\r\n // Sets a flag bound to the enabled property of the button to enable / disable it\r\n disableIfNoSearchString() {\r\n if (this.searchQuery == null) {\r\n this.disableSearchButton = true;\r\n return;\r\n }\r\n\r\n if (this.searchQuery.trim().length == 0) {\r\n this.disableSearchButton = true;\r\n return;\r\n }\r\n\r\n this.disableSearchButton = false;\r\n }\r\n\r\n // Searches E3 for a user using the API\r\n searchForPatients(filter: string) {\r\n try {\r\n\r\n this.loggingService.log('Search initiated', this.appConfigService.LogToConsole);\r\n this.searchFilter = filter;\r\n\r\n switch (filter) {\r\n case 'HospitalNumber':\r\n this.HospitalSelectedColor = 'accent';\r\n this.NhsSelectedColor = 'secondary';\r\n this.SurnameSelectedColor = 'secondary';\r\n break;\r\n case 'NhsNumber':\r\n this.HospitalSelectedColor = 'secondary';\r\n this.NhsSelectedColor = 'accent';\r\n this.SurnameSelectedColor = 'secondary';\r\n break;\r\n case 'Surname':\r\n this.HospitalSelectedColor = 'secondary';\r\n this.NhsSelectedColor = 'secondary';\r\n this.SurnameSelectedColor = 'accent';\r\n break;\r\n\r\n default:\r\n\r\n break;\r\n }\r\n\r\n this.validateSearch();\r\n this.clearDataSource();\r\n this.showSearching();\r\n this.searchUsingApi();\r\n\r\n } catch (error) {\r\n this.loggingService.log('Search Error: ' + error, this.appConfigService.LogToConsole);\r\n }\r\n }\r\n\r\n // Clears the data source ready\r\n private clearDataSource() {\r\n if (this.dataSource)\r\n this.dataSource = null;\r\n }\r\n\r\n // Validate the search inputs\r\n private validateSearch() {\r\n if (this.searchQuery == null)\r\n throw 'Query string cannot be null';\r\n if (this.searchQuery.length == 0)\r\n throw 'Query cannot be empty.';\r\n if (this.searchFilter == null)\r\n throw 'Filter string cannot be null';\r\n if (this.searchFilter.length == 0)\r\n throw 'Filter cannot be empty.';\r\n }\r\n\r\n // Shows a user we are searching for the entered patient in the footer\r\n private showSearching() {\r\n this.disableSearchButton = true;\r\n this.loggingService.log('Updating UI - searching', this.appConfigService.LogToConsole);\r\n this.shellUpdateService.sendShellUpdateMessage(\r\n new ShellUpdateMessage(this.appConfigService.ApplicationName, 'Patient Search', 'Searching ...', ''));\r\n }\r\n // Binds the datasource to our found patients\r\n private bindDataSource() {\r\n this.loggingService.log('Rebinding DataSource', this.appConfigService.LogToConsole);\r\n this.dataSource = new MatTableDataSource(this.foundPatients);\r\n }\r\n // Shows the number of patients found in the footer\r\n private ShowFoundPatientCount() {\r\n this.loading = false;\r\n this.disableSearchButton = false;\r\n this.vc.nativeElement.focus();\r\n this.loggingService.log('Updating UI - showing found Patient counts', this.appConfigService.LogToConsole);\r\n this.shellUpdateService.sendShellUpdateMessage(\r\n new ShellUpdateMessage(this.appConfigService.ApplicationName, 'Patient Search', this.foundPatients.length.toString() + ' Patient(s) found', ''));\r\n }\r\n\r\n // Show the user we have a problem with server commms in the footer\r\n private showServerError() {\r\n this.loading = false;\r\n this.disableSearchButton = false;\r\n this.vc.nativeElement.focus();\r\n this.loggingService.log('Updating UI - showing error', this.appConfigService.LogToConsole);\r\n this.shellUpdateService.sendShellUpdateMessage(\r\n new ShellUpdateMessage(this.appConfigService.ApplicationName, 'Patient Search', 'Server Error', ''));\r\n }\r\n\r\n // Show no patients have been found in the footer\r\n private showNoPatientsFound() {\r\n this.loading = false;\r\n this.disableSearchButton = false;\r\n this.vc.nativeElement.focus();\r\n this.loggingService.log('Updating UI - showing no Patients found', this.appConfigService.LogToConsole);\r\n this.shellUpdateService.sendShellUpdateMessage(\r\n new ShellUpdateMessage(this.appConfigService.ApplicationName, 'Patient Search', 'No Patients Found', ''));\r\n }\r\n\r\n // Show no patients have been found in the footer\r\n private clearSearchPatientsFound() {\r\n this.disableSearchButton = false;\r\n this.vc.nativeElement.focus();\r\n this.loggingService.log('Updating UI - showing no Patients found', this.appConfigService.LogToConsole);\r\n this.shellUpdateService.sendShellUpdateMessage(\r\n new ShellUpdateMessage(this.appConfigService.ApplicationName, 'Patient Search', '', ''));\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-admin-search-view/portal-admin-search.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-admin-view/portal-admin.component.css\n// module id = ./src/app/views/portal-admin-view/portal-admin.component.css\n// module chunks = main","module.exports = \"
\\r\\n

ADMIN VIEW

\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-admin-view/portal-admin.component.html\n// module id = ./src/app/views/portal-admin-view/portal-admin.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-admin-view',\r\n templateUrl: './portal-admin.component.html',\r\n styleUrls: ['./portal-admin.component.css']\r\n})\r\nexport class PortalAdminViewComponent implements OnInit {\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, \"PATIENT SEARCH\", null, null));\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true,false, true));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-admin-view/portal-admin.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-change-password/change-password/change-password.component.css\n// module id = ./src/app/views/portal-change-password/change-password/change-password.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n Change Password\\r\\n \\r\\n vpn_key\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please supply your existing password\\r\\n Minimum of eight characters, at least one letter, one\\r\\n number,\\r\\n and\\r\\n one special character required\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Please supply a\\r\\n unique password\\r\\n Minimum of eight characters, at least one letter, one number, and\\r\\n one special character required\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please verify your password\\r\\n \\r\\n \\r\\n \\r\\n Passwords do not match\\r\\n \\r\\n Minimum of eight characters, at least one letter,\\r\\n one\\r\\n number, and one special character required\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Unable to change password\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-change-password/change-password/change-password.component.html\n// module id = ./src/app/views/portal-change-password/change-password/change-password.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../../services/app-config-service/app-config.service';\r\nimport { Router } from '@angular/router';\r\nimport { AuthorisationService } from '../../../services/authorisation-service/authorisation-service.service';\r\nimport { LoggingService } from '../../../services/logging-service/logging.service';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ChangePasswordModel } from '../../../models/change-password-model';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { UserSessionService } from '../../../services/user-session-service/user-session.service';\r\nimport { FieldMatchErrorMatcher } from '../../../shared/field-match.directive';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.css']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n\r\n // Model for storing the new password\r\n changePasswordModel: ChangePasswordModel = new ChangePasswordModel();\r\n attemptingChangePassword: boolean;\r\n invalidPassword: boolean;\r\n fieldMatchErrorMatcher = new FieldMatchErrorMatcher();\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router, private authorisationService: AuthorisationService,\r\n private loggingService: LoggingService, private snackBar: MatSnackBar, private userSession: UserSessionService) { }\r\n\r\n ngOnInit() {\r\n // Make sure the route being accessed is desirable (not user from admin, or admin from user. Redirect if required)\r\n this.userSession.checkRoute(this.router.url);\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(this.appConfigService.ApplicationName, null, null, null));\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true, false, true));\r\n }\r\n\r\n changePassword() {\r\n this.attemptingChangePassword = true;\r\n this.authorisationService.changePassword(this.changePasswordModel).subscribe(response => {\r\n const snackbarRef = this.snackBar.open('Your password has been changed. You will now be logged out.', null, { duration: 3000 });\r\n snackbarRef.afterDismissed().subscribe(x => {\r\n this.userSession.logout();\r\n });\r\n\r\n }, (error => {\r\n const errorResponse = error as HttpErrorResponse;\r\n if (errorResponse.status === 401) {\r\n this.snackBar.open('Your details could not be verified. Please try again.', null, { duration: 3000 });\r\n this.attemptingChangePassword = false;\r\n return;\r\n }\r\n\r\n if (errorResponse.status === 500) {\r\n this.snackBar.open('Sorry, we can\\'t do that. There appears to be a problem. Please try again.', null, { duration: 3000 });\r\n this.attemptingChangePassword = false;\r\n return;\r\n }\r\n }));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-change-password/change-password/change-password.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-contact-view/portal-contact-view.component.css\n// module id = ./src/app/views/portal-contact-view/portal-contact-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Trust Addresses

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

Department Schedules

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{schedule.DepartmentName}}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n {{schedule.WebUrl}}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n {{schedule.TelephoneNumber}}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n {{schedule.StartHour}}{{getAmPm(schedule.StartAmPm)}} -\\r\\n {{schedule.EndHour}}{{getAmPm(schedule.EndAmPm)}} ({{getDay(schedule.StartDay)}}\\r\\n - {{getDay(schedule.EndDay)}})\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-contact-view/portal-contact-view.component.html\n// module id = ./src/app/views/portal-contact-view/portal-contact-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Router } from '@angular/router';\r\nimport { TrustScheduleModel } from '../../models/trust-schedule-model';\r\nimport { TrustDataService } from '../../services/trust-data-service/trust-data.service';\r\nimport { TrustAddressModel } from '../../models/trust-address';\r\nimport { HttpErrorResponse } from '../../../../node_modules/@angular/common/http';\r\nimport { MatSnackBar } from '../../../../node_modules/@angular/material';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\nimport { HomeCardModel } from '../../models/home-card-model';\r\nimport { HomeCardService } from '../../services/home-card-service/home-card.service';\r\n\r\n@Component({\r\n selector: 'app-contact-view',\r\n templateUrl: './portal-contact-view.component.html',\r\n styleUrls: ['./portal-contact-view.component.css']\r\n})\r\nexport class PortalContactViewComponent implements OnInit {\r\n\r\n private trustScheduleList: TrustScheduleModel[];\r\n private trustAddressModelList: TrustAddressModel[];\r\n contactCard: HomeCardModel;\r\n loaded: boolean;\r\n error: boolean;\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router, private trustDataService: TrustDataService,\r\n private snackBar: MatSnackBar, private loggingService: LoggingService,\r\n private userSession: UserSessionService, private homeCardService: HomeCardService) { }\r\n\r\n ngOnInit() {\r\n // Make sure the route being accessed is desirable (not user from admin, or admin from user. Redirect if required)\r\n this.userSession.checkRoute(this.router.url);\r\n\r\n this.contactCard = this.userSession.homeCards.find(x => x.CardName === 'Contact');\r\n\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, this.contactCard.Title, null, null));\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true, true, true));\r\n this.loggingService.log(\"Loading trust address\", this.appConfigService.LogToConsole);\r\n this.trustDataService.getTrustAddresses().subscribe(response => {\r\n this.trustAddressModelList = response.json();\r\n this.loggingService.log(\"Loaded trust address\", this.appConfigService.LogToConsole);\r\n this.trustDataService.getTrustSchedules().subscribe(result => {\r\n this.trustScheduleList = result.json();\r\n this.loggingService.log(\"Loaded trust schedules\", this.appConfigService.LogToConsole);\r\n this.loaded = true;\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n })\r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n switch (error.status) {\r\n case 0:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. You appear to be offline.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - offline\", this.appConfigService.LogToConsole);\r\n break;\r\n case 401:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. Your login has expired.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - login expired\", this.appConfigService.LogToConsole);\r\n this.userSession.logout();\r\n break;\r\n case 500:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. Server error.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - Server error\", this.appConfigService.LogToConsole);\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n getAmPm(value: any) {\r\n switch (value) {\r\n case \"0\":\r\n return \"am\";\r\n case \"1\":\r\n return \"pm\";\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n getDay(value: any) {\r\n switch (value) {\r\n case \"1\":\r\n return \"Mon\";\r\n case \"2\":\r\n return \"Tue\";\r\n case \"3\":\r\n return \"Wed\";\r\n case \"4\":\r\n return \"Thr\";\r\n case \"5\":\r\n return \"Fri\";\r\n case \"6\":\r\n return \"Sat\";\r\n case \"7\":\r\n return \"Sun\";\r\n\r\n default:\r\n break;\r\n }\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-contact-view/portal-contact-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-home-view/portal-home-view.component.css\n// module id = ./src/app/views/portal-home-view/portal-home-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n {{aboutMe.Title}}\\r\\n \\r\\n \\r\\n \\r\\n {{aboutMe.DefaultTitle}}\\r\\n \\r\\n \\r\\n pregnant_woman\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{aboutMe.Description}}\\r\\n \\r\\n \\r\\n \\r\\n {{aboutMe.DefaultDescription}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n {{myNotes.Title}}\\r\\n \\r\\n \\r\\n \\r\\n {{myNotes.DefaultTitle}}\\r\\n \\r\\n \\r\\n history\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{myNotes.Description}}\\r\\n \\r\\n \\r\\n \\r\\n {{myNotes.DefaultDescription}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n {{myBirthPlan.Title}}\\r\\n \\r\\n \\r\\n \\r\\n {{myBirthPlan.DefaultTitle}}\\r\\n \\r\\n \\r\\n folder_open\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{myBirthPlan.Description}}\\r\\n \\r\\n \\r\\n \\r\\n {{myBirthPlan.DefaultDescription}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n {{myPregnancyAndMe.Title}}\\r\\n \\r\\n \\r\\n \\r\\n {{myPregnancyAndMe.DefaultTitle}}\\r\\n \\r\\n \\r\\n assignment\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{myPregnancyAndMe.Description}}\\r\\n \\r\\n \\r\\n \\r\\n {{myPregnancyAndMe.DefaultDescription}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n {{contact.Title}}\\r\\n \\r\\n \\r\\n \\r\\n {{contact.DefaultTitle}}\\r\\n \\r\\n \\r\\n contact_phone\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{contact.Description}}\\r\\n \\r\\n \\r\\n \\r\\n {{contact.DefaultDescription}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n {{logout.Title}}\\r\\n \\r\\n \\r\\n \\r\\n {{logout.DefaultTitle}}\\r\\n \\r\\n \\r\\n people\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{logout.Description}}\\r\\n \\r\\n \\r\\n \\r\\n {{logout.DefaultDescription}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-home-view/portal-home-view.component.html\n// module id = ./src/app/views/portal-home-view/portal-home-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Router } from '../../../../node_modules/@angular/router';\r\nimport { PatientDataService } from '../../services/patient-data/patient-data.service';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\nimport { MatSnackBar } from '../../../../node_modules/@angular/material';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { TrustDataService } from '../../services/trust-data-service/trust-data.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { IfObservable } from 'rxjs/observable/IfObservable';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { HomeCardService } from '../../services/home-card-service/home-card.service';\r\nimport { HomeCardModel } from '../../models/home-card-model';\r\n\r\n\r\n@Component({\r\n selector: 'app-portal-home-view',\r\n templateUrl: './portal-home-view.component.html',\r\n styleUrls: ['./portal-home-view.component.css']\r\n})\r\nexport class PortalHomeViewComponent implements OnInit {\r\n\r\n loaded: boolean;\r\n error: boolean;\r\n patient: any;\r\n booked: boolean;\r\n\r\n private trustCardSubscription: Subscription;\r\n\r\n aboutMe: HomeCardModel;\r\n contact: HomeCardModel;\r\n logout: HomeCardModel;\r\n myBirthPlan: HomeCardModel;\r\n myNotes: HomeCardModel;\r\n myPregnancyAndMe: HomeCardModel;\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router, private patientData: PatientDataService,\r\n private loggingService: LoggingService, private snackBar: MatSnackBar,\r\n private userSession: UserSessionService, private trustDataService: TrustDataService,\r\n private homeCardService: HomeCardService) { }\r\n\r\n ngOnInit() {\r\n\r\n // Make sure the route being accessed is desirable (not user from admin, or admin from user. Redirect if required)\r\n this.userSession.checkRoute(this.router.url);\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, 'Hi, ' + this.appConfigService.Forename, null, null));\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true, false, true));\r\n\r\n // Get all of the homecard configuration from the service \r\n\r\n\r\n this.homeCardService.loadHomeCards();\r\n this.homeCardService.cardsReady.subscribe(x => {\r\n console.log(\"Finding Home Cards\");\r\n this.aboutMe = this.userSession.homeCards.find(x => x.CardName === 'AboutMe');\r\n this.contact = this.userSession.homeCards.find(x => x.CardName === 'Contact');\r\n this.logout = this.userSession.homeCards.find(x => x.CardName === 'Logout');\r\n this.myBirthPlan = this.userSession.homeCards.find(x => x.CardName === 'MyBirthPlan');\r\n this.myPregnancyAndMe = this.userSession.homeCards.find(x => x.CardName === 'MyPregnancyAndMe');\r\n this.myNotes = this.userSession.homeCards.find(x => x.CardName === 'MyNotes');\r\n this.loaded = true;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-home-view/portal-home-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-login-view/portal-login-view.component.css\n// module id = ./src/app/views/portal-login-view/portal-login-view.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-login-view/portal-login-view.component.html\n// module id = ./src/app/views/portal-login-view/portal-login-view.component.html\n// module chunks = main","import { Component, OnInit, OnDestroy, Sanitizer } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Credentials } from '../../domain/credentials';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Response } from '@angular/http';\r\nimport { AuthHttpClient } from '../../services/auth-http-service/auth-http.service';\r\nimport { Subscription } from 'rxjs/Subscription';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { ViewChild } from '@angular/core';\r\nimport { ElementRef, AfterViewInit } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { PatientDataService } from '../../services/patient-data/patient-data.service';\r\nimport { DateInputComponent } from '../../components/date-input/date-input.component';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\nimport { AssetService } from '../../services/asset-service/asset.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { TrustDataService } from '../../services/trust-data-service/trust-data.service';\r\nimport { pipe } from 'rxjs/util/pipe';\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-portal-login-view',\r\n templateUrl: './portal-login-view.component.html',\r\n styleUrls: ['./portal-login-view.component.css']\r\n})\r\n\r\nexport class PortalLoginViewComponent implements OnInit, AfterViewInit {\r\n\r\n // Model for storing the credentials\r\n attemptingLogin: boolean;\r\n credentials: Credentials;\r\n loginSubscription: Subscription;\r\n targetRoute: Subscription;\r\n userSessionSubscription: Subscription;\r\n target: string;\r\n patient: any;\r\n testDate: string;\r\n trustLogo: any;\r\n loaded: boolean;\r\n\r\n @ViewChild('userName') vc: ElementRef;\r\n @ViewChild('dateControl') dc: DateInputComponent;\r\n\r\n // Services are injected here\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n public appConfigService: AppConfigService, private router: Router, private route: ActivatedRoute,\r\n private authHttp: AuthHttpClient, public loggingService: LoggingService, private snackBar: MatSnackBar,\r\n private patientDataService: PatientDataService, private userSessionService: UserSessionService,\r\n private breakpointObserver: BreakpointObserver, private assetService: AssetService, private sanitizer: DomSanitizer,\r\n private trustService: TrustDataService) {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.vc.nativeElement.focus();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Update the headers and footers\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, null, null, null));\r\n\r\n // Show / Hide certain components such as burger menu etc\r\n this.credentials = new Credentials();\r\n this.loaded = true;\r\n\r\n // Monitor login progress and wait for status updates from the subscription\r\n this.userSessionSubscription = this.userSessionService.login(null).subscribe(loggedIn => {\r\n if (loggedIn) {\r\n // The route guard service may have sent the user here as they are not logged in. But, this may also be for other genuine cases.\r\n this.targetRoute = this.route.queryParams.subscribe(params => {\r\n if ((params['target'] !== '/app/logout') && (params['target'] === '/app/registration'\r\n && params['target'] === '/app/newpassword')) {\r\n this.target = params['target'];\r\n } else {\r\n this.target = null;\r\n }\r\n });\r\n this.redirect();\r\n }\r\n this.attemptingLogin = false;\r\n });\r\n }\r\n\r\n bypassTrust(url: any) {\r\n return this.sanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n\r\n /** Authenticates a user against the API */\r\n authenticate() {\r\n this.attemptingLogin = true;\r\n this.loggingService.log(this.appConfigService.AuthenticationLogInUrl, this.appConfigService.LogToConsole);\r\n this.userSessionService.login(this.credentials).subscribe(loggedIn => {\r\n if (loggedIn) {\r\n this.redirect();\r\n } else {\r\n this.attemptingLogin = false;\r\n }\r\n });\r\n }\r\n\r\n /** Redirects the user to a different view if a target has been specified */\r\n redirect() {\r\n if (this.target) {\r\n this.router.navigate([this.target]).catch(error => {\r\n this.loggingService.log('Error activating route', this.appConfigService.LogToConsole);\r\n });\r\n } else {\r\n if (this.appConfigService.IsTrust) {\r\n this.router.navigate(['app/admin/search']).catch(error => {\r\n this.loggingService.log('Error activating route app/admin/search', this.appConfigService.LogToConsole);\r\n });\r\n } else {\r\n this.router.navigate(['app/home']).catch(error => {\r\n this.loggingService.log('Error activating route app/details', this.appConfigService.LogToConsole);\r\n });\r\n }\r\n }\r\n }\r\n\r\n OnDestroy() {\r\n if (this.loginSubscription) {\r\n this.loginSubscription.unsubscribe();\r\n }\r\n\r\n if (this.targetRoute) {\r\n this.targetRoute.unsubscribe();\r\n }\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-login-view/portal-login-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-logout-view/portal-logout-view.component.css\n// module id = ./src/app/views/portal-logout-view/portal-logout-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-logout-view/portal-logout-view.component.html\n// module id = ./src/app/views/portal-logout-view/portal-logout-view.component.html\n// module chunks = main","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Observable } from 'rxjs';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { AuthHttpClient } from '../../services/auth-http-service/auth-http.service';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\n\r\n@Component({\r\n selector: 'app-portal-logout-view',\r\n templateUrl: './portal-logout-view.component.html',\r\n styleUrls: ['./portal-logout-view.component.css'],\r\n})\r\nexport class PortalLogoutViewComponent implements OnInit {\r\n\r\n private redirectTimer;\r\n private timerSubscription: Subscription;\r\n private logoutSubscription: Subscription;\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router, \r\n private authHttp: AuthHttpClient, private loggingService: LoggingService, private userSession:UserSessionService) { }\r\n\r\n ngOnInit() {\r\n\r\n // Send a shell update message\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, \"Logout\", \"v\" + this.appConfigService.Version, this.appConfigService.Copyright));\r\n\r\n // Show / Hide footer etc\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, false, false, true));\r\n\r\n // Redirect after x number of seconds\r\n this.redirectTimer = Observable.timer(1000, 1000);\r\n\r\n // Redirect once the user has been logged out\r\n this.timerSubscription = this.redirectTimer.subscribe(tick => {\r\n\r\n // Log the user out\r\n this.logoutSubscription = this.authHttp.postLogout(this.appConfigService.AuthenticationLogoutUrl).subscribe(response => {\r\n this.loggingService.log('User logged out', this.appConfigService.LogToConsole);\r\n this.userSession.logout();\r\n },\r\n error => {\r\n this.loggingService.log('Error logging user out', this.appConfigService.LogToConsole);\r\n this.userSession.logout();\r\n });\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.timerSubscription)\r\n this.timerSubscription.unsubscribe();\r\n\r\n if (this.logoutSubscription)\r\n this.logoutSubscription.unsubscribe();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-logout-view/portal-logout-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-myactivity-view/portal-myactivity-view.component.css\n// module id = ./src/app/views/portal-myactivity-view/portal-myactivity-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{resultItem.Question}}
\\r\\n
\\r\\n
{{resultItem.AnswerText}}\\r\\n : {{resultItem.Memo}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{childResultItem.Question}}
\\r\\n
\\r\\n
{{childResultItem.AnswerText}}\\r\\n : {{childResultItem.Memo}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-myactivity-view/portal-myactivity-view.component.html\n// module id = ./src/app/views/portal-myactivity-view/portal-myactivity-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Router } from '@angular/router';\r\nimport { PatientDataService } from '../../services/patient-data/patient-data.service';\r\nimport { MatIconRegistry, MatSnackBar } from '@angular/material';\r\nimport { ActivityItem, PatientActivity } from '../../models/patient-activity';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { HttpErrorResponse } from '../../../../node_modules/@angular/common/http';\r\n\r\n\r\n@Component({\r\n selector: 'app-myactivity-view',\r\n templateUrl: './portal-myactivity-view.component.html',\r\n styleUrls: ['./portal-myactivity-view.component.css'],\r\n animations: [\r\n trigger('itemState', [\r\n state('false', style({\r\n transform: 'scale(1.004)'\r\n })),\r\n state('true', style({\r\n transform: 'scale(1)'\r\n })),\r\n transition('false => true', animate('100ms ease-in')),\r\n transition('true => false', animate('100ms ease-out'))\r\n ])\r\n ]\r\n})\r\nexport class PortalMyActivityViewComponent implements OnInit {\r\n\r\n private patient: any;\r\n private patientActivity: PatientActivity;\r\n private patientActivityItems: ActivityItem[];\r\n private patientActivityStack: any[] = [];\r\n private patientQuestionnaireResult: any;\r\n loaded: boolean;\r\n error: boolean\r\n private sectionLoaded: boolean;\r\n private selectedIndexStack: any[] = [];\r\n private selectedSection: String;\r\n private rgbStartIndex: number = 99;\r\n private rgbIndex: number = this.rgbStartIndex;\r\n\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router, private patientData: PatientDataService,\r\n iconRegistry: MatIconRegistry, private snackBar: MatSnackBar, private loggingService: LoggingService,\r\n private userSession: UserSessionService) { }\r\n\r\n ngOnInit() {\r\n // Get the patient for the view\r\n this.getPatientData();\r\n }\r\n\r\n private getPatientData() {\r\n if (this.appConfigService.PatientId == null) {\r\n this.loaded = true;\r\n return;\r\n }\r\n\r\n this.patientData.getPatient(this.appConfigService.PatientId).subscribe((response => {\r\n this.patient = response.json();\r\n\r\n if (this.patient.CurrentPregnancy == null) {\r\n this.loaded = true;\r\n return;\r\n }\r\n\r\n this.patientData.getActivity(this.patient.CurrentPregnancy.PregnancyId).subscribe(response => {\r\n this.patientActivity = response.json();\r\n this.patientActivityItems = this.patientActivity.ActivityItem.ActivityItems;\r\n this.loaded = true;\r\n this.sectionLoaded = true;\r\n\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }), (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n itemClicked(item: ActivityItem) {\r\n\r\n // Update content flags\r\n item.ShowLoad = true;\r\n item.Current = true;\r\n\r\n // Flip the expand / contract marker on the folder item when clicked\r\n if (item.ShowItem) {\r\n item.ShowItem = false;\r\n }\r\n else {\r\n item.ShowItem = true;\r\n }\r\n\r\n // Fetch child items and any questionnaire data if required\r\n if (item.ActivityItems.length > 0) {\r\n if (item.InstanceId && item.QuestionnaireId) {\r\n this.getQuestionnaireData(item);\r\n item.QuestionnaireChildren = item.ActivityItems;\r\n return;\r\n }\r\n\r\n this.selectedSection = item.DisplayName;\r\n this.assign(item);\r\n }\r\n else {\r\n if (item.InstanceId) {\r\n this.getQuestionnaireData(item);\r\n }\r\n }\r\n }\r\n\r\n // Reassigns references so we can drill down into the content\r\n assign(item: ActivityItem) {\r\n\r\n\r\n\r\n this.patientQuestionnaireResult = null;\r\n let activityHistory = { ActivityItems: this.patientActivityItems, Name: item.DisplayName, LastItem: false };\r\n this.patientActivityStack.push(activityHistory);\r\n this.patientActivityItems = item.ActivityItems;\r\n this.rgbIndex = 99;\r\n\r\n this.SetLastItem();\r\n\r\n }\r\n\r\n private SetLastItem() {\r\n this.patientActivityStack.forEach(x => x.LastItem = false);\r\n if (this.patientActivityStack.length > 0) {\r\n this.patientActivityStack[this.patientActivityStack.length - 1].LastItem = true;\r\n return;\r\n }\r\n\r\n }\r\n\r\n // Get the required questionnaire data for the selected item\r\n getQuestionnaireData(item: any) {\r\n\r\n // If we already have the data, just return\r\n if (item.QuestionnaireResult) {\r\n item.loaded = true;\r\n item.ShowLoad = false;\r\n return;\r\n }\r\n\r\n // Get any associated questionnaireData\r\n if (item.QuestionnaireId != null && item.InstanceId != null) {\r\n this.sectionLoaded = false;\r\n this.patientData.getQuestionnaireResult(item.QuestionnaireId, item.InstanceId).subscribe(result => {\r\n this.patientQuestionnaireResult = result.json();\r\n this.sectionLoaded = true;\r\n item.QuestionnaireResult = this.patientQuestionnaireResult;\r\n item.Loaded = true;\r\n item.ShowLoad = false;\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n })\r\n }\r\n }\r\n\r\n // Go back to the previous content\r\n tabBack() {\r\n if (this.patientActivityStack.length > 0) {\r\n this.patientQuestionnaireResult = null;\r\n let historyItem = this.patientActivityStack.pop();\r\n this.patientActivityItems = historyItem.ActivityItems;\r\n }\r\n }\r\n\r\n goBack(activityItems: any) {\r\n\r\n // Find the existing item in the stack\r\n let foundIndex = this.patientActivityStack.findIndex(x => x.Name == this.patientActivityStack[this.patientActivityStack.length - 1].Name);\r\n\r\n // Assign this item items\r\n this.patientActivityItems = this.patientActivityStack[foundIndex].ActivityItems;\r\n\r\n // Remove this item from the stack by splicing it\r\n this.patientActivityStack.splice(foundIndex, this.patientActivityStack.length);\r\n\r\n this.SetLastItem();\r\n\r\n }\r\n\r\n goTop() {\r\n\r\n if (this.patientActivityStack[0] == undefined) {\r\n return;\r\n }\r\n\r\n this.patientActivityItems = this.patientActivityStack[0].ActivityItems;\r\n this.patientActivityStack.splice(0, this.patientActivityStack.length);\r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n switch (error.status) {\r\n case 0:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. You appear to be offline.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - offline\", this.appConfigService.LogToConsole);\r\n break;\r\n case 401:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. Your login has expired.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - login expired\", this.appConfigService.LogToConsole);\r\n this.userSession.logout();\r\n break;\r\n case 500:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. Server error.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - Server error\", this.appConfigService.LogToConsole);\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-myactivity-view/portal-myactivity-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-mybirthplan-view/portal-mybirthplan-view.component.css\n// module id = ./src/app/views/portal-mybirthplan-view/portal-mybirthplan-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n {{questionDefinition.Abbrq}} - {{questionDefinition.Question}}\\r\\n

\\r\\n

0\\\">\\r\\n {{questionDefinition.SoftText}}\\r\\n help\\r\\n

\\r\\n
\\r\\n \\r\\n
0 && showHelpText === true\\\" style='margin-left: 10px;margin-right:10px;\\r\\n margin-bottom: 10px;\\r\\n background-color: #e1e1e1;\\r\\n padding: 10px;\\r\\n border-radius: 10px;'>\\r\\n {{questionDefinition.HelpText}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{answerDefinition.Answer}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n You must provide additional information for your selection\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n You must provide additional information for your selection\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n You must provide additional information for your selection\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Birth Plan Submitted Successfully

\\r\\n
\\r\\n Home\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-mybirthplan-view/portal-mybirthplan-view.component.html\n// module id = ./src/app/views/portal-mybirthplan-view/portal-mybirthplan-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Router } from '@angular/router';\r\nimport { QuestionnaireService } from '../../services/questionnaire-service/questionnaire.service';\r\nimport { PatientDataService } from '../../services/patient-data/patient-data.service';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { MatSnackBar } from '../../../../node_modules/@angular/material';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\nimport { HttpErrorResponse } from '../../../../node_modules/@angular/common/http';\r\nimport { forEach } from '../../../../node_modules/@angular/router/src/utils/collection';\r\nimport { HomeCardModel } from '../../models/home-card-model';\r\nimport { HomeCardService } from '../../services/home-card-service/home-card.service';\r\n\r\n@Component({\r\n selector: 'app-mybirthplan-view',\r\n templateUrl: './portal-mybirthplan-view.component.html',\r\n styleUrls: ['./portal-mybirthplan-view.component.css']\r\n})\r\nexport class PortalMyBirthPlanViewComponent implements OnInit {\r\n \r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router,\r\n private questionnaireService: QuestionnaireService, private patientService: PatientDataService,\r\n private loggingService: LoggingService, private snackBar: MatSnackBar,\r\n private userSession: UserSessionService, private homeCardService: HomeCardService) { }\r\n\r\n public complete: boolean;\r\n public loaded: boolean = false;\r\n public error: boolean = false;\r\n public submitted: boolean = false;\r\n public questionnaireData: any;\r\n public patient: any;\r\n public booked: boolean;\r\n public showHelpText: boolean = false;\r\n public mybirthPlanCard: HomeCardModel\r\n\r\n ngOnInit() {\r\n \r\n // Make sure the route being accessed is desirable (not user from admin, or admin from user. Redirect if required)\r\n this.userSession.checkRoute(this.router.url);\r\n\r\n if (typeof this.userSession.homeCards === 'undefined' || this.userSession.homeCards.length == 0) {\r\n this.homeCardService.loadHomeCards();\r\n }\r\n\r\n this.mybirthPlanCard = this.userSession.homeCards.find(x => x.CardName === 'MyBirthPlan');\r\n\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, this.mybirthPlanCard.Title, null, null));\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true, true, true));\r\n\r\n this.loggingService.log('Getting patient. Checking booking status.', this.appConfigService.LogToConsole);\r\n this.patientService.getPatient(this.appConfigService.PatientId).subscribe(response => {\r\n this.patient = response.json();\r\n\r\n if (this.patient.CurrentPregnancy) {\r\n this.loggingService.log('Getting Birth Plan definition', this.appConfigService.LogToConsole);\r\n this.questionnaireService.getBirthPlanEpaDefinition().map(response => response.json()).subscribe(response => {\r\n this.questionnaireData = response;\r\n this.loggingService.log('Have Birth Plan definition', this.appConfigService.LogToConsole);\r\n this.questionnaireData.QuestionnaireDefinitionList.forEach(questionnaire => {\r\n questionnaire.QuestionDefinitionList.forEach(question => {\r\n question.AnswerDefinitionList.forEach(answer => {\r\n answer.TextAnswer = answer.TextAnswer;\r\n if (answer.AnswerId == answer.PatientAnswer) {\r\n\r\n // We are reselecting answers that have been previously chosen\r\n // If the answer text matches the answer, then we know that\r\n // it should be checked. If it doesn't, then we know it is\r\n // a text answer, associated with the answer and this will be bound automatically.\r\n if (answer.AnswerText == answer.Answer) {\r\n answer.Selected = true;\r\n }\r\n }\r\n });\r\n });\r\n });\r\n this.loaded = true;\r\n }, (error => { this.handleError(error); }));\r\n }\r\n else {\r\n this.booked = true;\r\n this.loaded = true;\r\n }\r\n }, (error => { this.handleError(error); }));\r\n }\r\n\r\n toggleHelpText() {\r\n this.showHelpText = !this.showHelpText;\r\n }\r\n\r\n inputChange(answerDefinition: any, event: any) {\r\n if (answerDefinition.QuestionTypeId == 35) {\r\n console.log(event.keyCode)\r\n if (event.keyCode == 69 || event.keyCode == 190) {\r\n event.preventDefault();\r\n return 0;\r\n }\r\n\r\n if (event.keyCode == 189) {\r\n event.preventDefault();\r\n return 0;\r\n }\r\n\r\n // numeric keypad or top row\r\n if (event.keyCode != 8 && (event.keyCode < 96 || event.keyCode > 105)) {\r\n if (event.keyCode != 8 && (event.keyCode < 47 || event.keyCode > 57)) {\r\n event.preventDefault();\r\n return 0;\r\n }\r\n }\r\n }\r\n }\r\n\r\n getType(answerDefinition: any) {\r\n if (answerDefinition.QuestionTypeId == 35)\r\n return \"number\"; // Positive only\r\n\r\n if (answerDefinition.QuestionTypeId == 4)\r\n return \"date\";\r\n\r\n return \"text\";\r\n }\r\n\r\n\r\n // An answer has been changed\r\n changeAnswer(answerDefinition: any, answerDefinitions: any, event: Event) {\r\n console.log('');\r\n // If this is a single answer - deselect all others\r\n if (answerDefinition.SingleAnswer == true) {\r\n answerDefinitions.forEach(definition => {\r\n // Deselect all other answers that do not match the current selection\r\n if (definition != answerDefinition) {\r\n definition.Selected = false;\r\n definition.AnswerText = null;\r\n console.log('Reset answer (single answer): ' + definition.Answer);\r\n }\r\n });\r\n\r\n // If the current selection itself is not selected, then reset that one also\r\n if (answerDefinition.Selected == false) {\r\n answerDefinition.AnswerText = null;\r\n console.log('Reset answer (self): ' + answerDefinition.Answer);\r\n }\r\n else {\r\n answerDefinition.AnswerText = answerDefinition.Answer;\r\n console.log('AnswerText set to answer: ' + answerDefinition.Answer);\r\n }\r\n }\r\n else {\r\n // find any others that ARE single answer, and reset those as this answer is a multiple\r\n answerDefinitions.forEach(definition => {\r\n // Deselect all other answers that do not match the current selection\r\n if (definition.SingleAnswer == true) {\r\n definition.Selected = false;\r\n definition.AnswerText = null;\r\n console.log('Reset answer (single answer): ' + definition.Answer);\r\n }\r\n });\r\n\r\n // This is not a single answer. If it is not selected, then reset it.\r\n if (answerDefinition.Selected == false) {\r\n answerDefinition.AnswerText = null;\r\n answerDefinition.AnswerMemoText = null;\r\n console.log('Reset answer (not single answer): ' + answerDefinition.Answer);\r\n }\r\n else {\r\n // This answer is selected.\r\n answerDefinition.AnswerText = answerDefinition.Answer;\r\n console.log('AnswerText set to answer: ' + answerDefinition.Answer);\r\n }\r\n }\r\n\r\n // Remove any answers that should be excluded\r\n let exclusions: string = answerDefinition.ExcludeAnswers;\r\n let exclusionsList: string[] = exclusions.split(';');\r\n for (let exclusion of exclusionsList) {\r\n for (let answerDefinition of answerDefinitions) {\r\n if (answerDefinition.AnswerId == exclusion) {\r\n answerDefinition.Selected = false;\r\n answerDefinition.AnswerText = null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n submitQuestionnaire() {\r\n this.loggingService.log(`Submitting Questionnaire`, this.appConfigService.LogToConsole);\r\n this.patientService.getPatientId(this.appConfigService.UserName).map(response => response.json()).subscribe((response => {\r\n this.loaded = false;\r\n let patientId = response.PatientId;\r\n this.patientService.getCurrentPregnancyId(patientId).map(response => response.json()).subscribe(response => {\r\n let pregnancyId = response.CurrentPregnancyId;\r\n this.questionnaireData.PregnancyId = pregnancyId;\r\n this.questionnaireData.PatientId = patientId;\r\n console.log(this.questionnaireData);\r\n this.questionnaireService.postBirthPlanQuestionnaireDefinition(this.questionnaireData).subscribe(response => {\r\n this.questionnaireData = response;\r\n this.submitted = true;\r\n this.loaded = true;\r\n this.loggingService.log(\"Submission completed\", this.appConfigService.LogToConsole);\r\n }, (error => { this.handleError(error) }));\r\n }, (error => { this.handleError(error) }));\r\n }), (error => this.handleError(error)));\r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n this.loggingService.log(`ERROR while getting EPA definition: ${error.message}`, this.appConfigService.LogToConsole);\r\n\r\n switch (error.status) {\r\n case 0:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. You appear to be offline.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - offline\", this.appConfigService.LogToConsole);\r\n break;\r\n case 401:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. Your login has expired.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - login expired\", this.appConfigService.LogToConsole);\r\n this.userSession.logout();\r\n break;\r\n case 500:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. Server error.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - Server error\", this.appConfigService.LogToConsole);\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-mybirthplan-view/portal-mybirthplan-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-mydetails-view/portal-mydetails-view.component.css\n// module id = ./src/app/views/portal-mydetails-view/portal-mydetails-view.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n
My Details\\r\\n pregnant_woman\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n person\\r\\n \\r\\n Name\\r\\n
\\r\\n
{{patient.Forenames}} {{patient.Surname}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n calendar_today\\r\\n \\r\\n Date of Birth\\r\\n
\\r\\n
\\r\\n {{patient.DateofBirth | date: 'dd/MM/yyyy' | notAvailable}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n folder_open\\r\\n \\r\\n NHS Number\\r\\n
\\r\\n
{{patient.NHSNumber | notAvailable}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n schedule\\r\\n \\r\\n Previous Appointment\\r\\n
\\r\\n
{{previousAppointment | notAvailable}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n timelapse\\r\\n \\r\\n Gestation\\r\\n
\\r\\n
{{patient.CurrentPregnancy.Gestation | notAvailable}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n
My Contact Info\\r\\n house\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n house\\r\\n \\r\\n Address\\r\\n
\\r\\n
{{patient.Address | notAvailable}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n phone\\r\\n \\r\\n Telephone Numbers\\r\\n
\\r\\n
\\r\\n h: {{patient.HomeTelephone | notAvailable}}\\r\\n
\\r\\n
\\r\\n m: {{patient.MobileTelephone | notAvailable}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n email\\r\\n \\r\\n Email Address\\r\\n
\\r\\n
\\r\\n {{appConfigService.UserName | lowercase | notAvailable}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n
Information and Guidance\\r\\n book\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Leaflets\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Websites\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-mydetails-view/portal-mydetails-view.component.html\n// module id = ./src/app/views/portal-mydetails-view/portal-mydetails-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Router } from '@angular/router';\r\nimport { PatientDataService } from '../../services/patient-data/patient-data.service';\r\nimport { Patient } from '../../domain/patient';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { HttpErrorResponse } from '../../../../node_modules/@angular/common/http';\r\nimport { MatSnackBar } from '../../../../node_modules/@angular/material';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\nimport { UsefulWebsite } from '../../models/useful-website';\r\nimport { TrustDataService } from '../../services/trust-data-service/trust-data.service';\r\nimport { pipe } from 'rxjs/util/pipe';\r\nimport { map } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { forkJoin } from 'rxjs/observable/forkJoin';\r\nimport { Subscription } from 'rxjs';\r\nimport { SubscriptionLog } from 'rxjs/testing/SubscriptionLog';\r\nimport { HomeCardModel } from '../../models/home-card-model';\r\nimport { HomeCardService } from '../../services/home-card-service/home-card.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-mydetails-view',\r\n templateUrl: './portal-mydetails-view.component.html',\r\n styleUrls: ['./portal-mydetails-view.component.css']\r\n})\r\nexport class PortalMyDetailsViewComponent implements OnInit {\r\n\r\n private patient: Patient;\r\n private previousAppointment: string;\r\n private documentLibrary: any;\r\n private usefulWebsites: UsefulWebsite[];\r\n loaded: boolean;\r\n error: boolean;\r\n cardSubscription: Subscription;\r\n aboutMe: HomeCardModel;\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router, private patientData: PatientDataService,\r\n private loggingService: LoggingService, private snackBar: MatSnackBar, private userSession: UserSessionService,\r\n private trustService: TrustDataService) { }\r\n\r\n ngOnInit() {\r\n this.loggingService.log('About Me >>>>>>>>>>>>>>>>>>>>', this.appConfigService.LogToConsole);\r\n\r\n // Make sure the route being accessed is desirable (not user from admin, or admin from user. Redirect if required)\r\n this.userSession.checkRoute(this.router.url);\r\n\r\n this.aboutMe = this.userSession.homeCards.find(x => x.CardName === 'AboutMe');\r\n\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, this.aboutMe.Title, null, null));\r\n\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true, true, true));\r\n\r\n // Get the patient for the view\r\n if (this.appConfigService.PatientId === undefined) {\r\n return;\r\n }\r\n\r\n // Get the required libraries and websites\r\n this.loggingService.log('Executing GetUsefulWebsites, GetLibrary', this.appConfigService.LogToConsole);\r\n forkJoin(this.trustService.getUsefulWebsites().pipe(map(response => response.json())),\r\n this.patientData.getLibrary().pipe(map(response => response.json()))\r\n )\r\n .subscribe(([usefulWebsites, documentLibrary]) => {\r\n this.loggingService.log('GetUsefulWebsites, GetLibrary succeeded', this.appConfigService.LogToConsole);\r\n this.usefulWebsites = usefulWebsites;\r\n this.documentLibrary = documentLibrary;\r\n console.log(documentLibrary);\r\n }, (error: HttpErrorResponse) => {\r\n this.loggingService.log('GetUsefulWebsites, GetLibrary failed', this.appConfigService.LogToConsole);\r\n this.handleError(error);\r\n });\r\n\r\n // Get the patient\r\n this.patientData.getPatient(this.appConfigService.PatientId).subscribe((response => {\r\n this.patient = response.json();\r\n this.loggingService.log('Executed getPatient', this.appConfigService.LogToConsole);\r\n\r\n // Split the NHS Number to appear as it should\r\n this.patient.NHSNumber = this.patient.NHSNumber.substring(0, 3) + ' ' +\r\n this.patient.NHSNumber.substring(3, 6) + ' ' + this.patient.NHSNumber.substring(6, 10);\r\n this.appConfigService.Forename = this.patient.Forenames;\r\n this.appConfigService.PatientInitials =\r\n this.patient.Forenames.substring(0, 1) + this.patient.Surname.substring(0, 1);\r\n\r\n // If no current pregnancy don't bother trying to get previous appointment\r\n if (this.patient.CurrentPregnancy === undefined || this.patient.CurrentPregnancy === null) {\r\n this.loaded = true;\r\n return;\r\n }\r\n\r\n // Get the previous appointment\r\n this.patientData.getPreviousAppointment(this.patient.CurrentPregnancy.PregnancyId).subscribe(result => {\r\n this.loggingService.log('Executed getPreviousAppointment', this.appConfigService.LogToConsole);\r\n this.previousAppointment = result.json();\r\n this.loaded = true;\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }), (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n switch (error.status) {\r\n case 0:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. You appear to be offline.', '', { duration: 5000 });\r\n this.loggingService.log('Error - offline', this.appConfigService.LogToConsole);\r\n break;\r\n case 401:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. Your login has expired.', '', { duration: 5000 });\r\n this.loggingService.log('Error - login expired', this.appConfigService.LogToConsole);\r\n this.userSession.logout();\r\n break;\r\n case 500:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. Server error.', '', { duration: 5000 });\r\n this.loggingService.log('Error - Server error', this.appConfigService.LogToConsole);\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-mydetails-view/portal-mydetails-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-myepa-view/portal-myepa-view.component.css\n// module id = ./src/app/views/portal-myepa-view/portal-myepa-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n {{questionDefinition.Abbrq}} - {{questionDefinition.Question}}\\r\\n

\\r\\n

0\\\">\\r\\n {{questionDefinition.SoftText}}\\r\\n help\\r\\n

\\r\\n
\\r\\n \\r\\n
0 && showHelpText === true\\\" style='margin-left: 10px;margin-right:10px;\\r\\n margin-bottom: 10px;\\r\\n background-color: #e1e1e1;\\r\\n padding: 10px;\\r\\n border-radius: 10px;'>\\r\\n {{questionDefinition.HelpText}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{answerDefinition.Answer}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n You must provide additional information for your selection\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n You must provide additional information for your selection\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n You must provide additional information for your selection\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

My Pregnancy & Me Submitted Successfully

\\r\\n
\\r\\n Home\\r\\n
\\r\\n
\\r\\n
\\r\\n

You are already booked in at your NHS Trust

\\r\\n
\\r\\n Home\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-myepa-view/portal-myepa-view.component.html\n// module id = ./src/app/views/portal-myepa-view/portal-myepa-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Router } from '@angular/router';\r\nimport { QuestionnaireService } from '../../services/questionnaire-service/questionnaire.service';\r\nimport { PatientDataService } from '../../services/patient-data/patient-data.service';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { HttpErrorResponse } from '../../../../node_modules/@angular/common/http';\r\nimport { MatSnackBar, MatCheckboxChange, MatCheckboxClickAction } from '../../../../node_modules/@angular/material';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\nimport { IfObservable } from 'rxjs/observable/IfObservable';\r\nimport { HomeCardModel } from '../../models/home-card-model';\r\nimport { HomeCardService } from '../../services/home-card-service/home-card.service';\r\n\r\n@Component({\r\n selector: 'app-myepa-view',\r\n templateUrl: './portal-myepa-view.component.html',\r\n styleUrls: ['./portal-myepa-view.component.css']\r\n})\r\nexport class PortalMyEpaViewComponent implements OnInit {\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router,\r\n private questionnaireService: QuestionnaireService, private patientService: PatientDataService,\r\n private loggingService: LoggingService, private snackBar: MatSnackBar,\r\n private userSession: UserSessionService) { }\r\n\r\n public complete: boolean;\r\n public loaded: boolean = false;\r\n public error: boolean = false;\r\n public submitted: boolean = false;\r\n public questionnaireData: any;\r\n public patient: any;\r\n public booked: boolean;\r\n public showHelpText: boolean = false;\r\n\r\n myEPACard: HomeCardModel\r\n\r\n ngOnInit() {\r\n // Make sure the route being accessed is desirable (not user from admin, or admin from user. Redirect if required)\r\n this.userSession.checkRoute(this.router.url);\r\n\r\n this.myEPACard = this.userSession.homeCards.find(x => x.CardName === 'MyPregnancyAndMe');\r\n\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, this.myEPACard.Title, null, null));\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true, true, true));\r\n\r\n this.loggingService.log('Getting patient. Checking booking status.', this.appConfigService.LogToConsole);\r\n this.patientService.getPatient(this.appConfigService.PatientId).subscribe(response => {\r\n this.patient = response.json();\r\n\r\n if (this.patient.CurrentPregnancy && this.patient.CurrentPregnancy.BookingDate.trim().length == 0) {\r\n this.loggingService.log('Getting EPA definition', this.appConfigService.LogToConsole);\r\n this.questionnaireService.getPhrEpaDefinition().map(response => response.json()).subscribe(response => {\r\n this.questionnaireData = response;\r\n this.loggingService.log('Have EPA definition', this.appConfigService.LogToConsole);\r\n this.questionnaireData.QuestionnaireDefinitionList.forEach(questionnaire => {\r\n questionnaire.QuestionDefinitionList.forEach(question => {\r\n question.AnswerDefinitionList.forEach(answer => {\r\n answer.TextAnswer = answer.TextAnswer;\r\n if (answer.AnswerId == answer.PatientAnswer) {\r\n\r\n // We are reselecting answers that have been previously chosen\r\n // If the answer text matches the answer, then we know that\r\n // it should be checked. If it doesn't, then we know it is\r\n // a text answer, associated with the answer and this will be bound automatically.\r\n if (answer.AnswerText == answer.Answer) {\r\n answer.Selected = true;\r\n }\r\n }\r\n });\r\n });\r\n });\r\n this.loaded = true;\r\n }, (error => { this.handleError(error) }));\r\n }\r\n else {\r\n this.booked = true;\r\n this.loaded = true;\r\n }\r\n }, (error => { this.handleError(error) }));\r\n }\r\n\r\n toggleHelpText() {\r\n this.showHelpText = !this.showHelpText;\r\n }\r\n\r\n inputChange(answerDefinition: any, event: any) {\r\n if (answerDefinition.QuestionTypeId == 35) {\r\n console.log(event.keyCode)\r\n if (event.keyCode == 69 || event.keyCode == 190) {\r\n event.preventDefault();\r\n return 0;\r\n }\r\n\r\n if (event.keyCode == 189) {\r\n event.preventDefault();\r\n return 0;\r\n }\r\n\r\n // numeric keypad or top row\r\n if (event.keyCode != 8 && (event.keyCode < 96 || event.keyCode > 105)) {\r\n if (event.keyCode != 8 && (event.keyCode < 47 || event.keyCode > 57)) {\r\n event.preventDefault();\r\n return 0;\r\n }\r\n }\r\n }\r\n }\r\n\r\n getType(answerDefinition: any) {\r\n if (answerDefinition.QuestionTypeId == 35)\r\n return \"number\"; // Positive only\r\n\r\n if (answerDefinition.QuestionTypeId == 4)\r\n return \"date\";\r\n\r\n return \"text\";\r\n }\r\n\r\n\r\n // An answer has been changed\r\n changeAnswer(answerDefinition: any, answerDefinitions: any, event: Event) {\r\n console.log('');\r\n // If this is a single answer - deselect all others\r\n if (answerDefinition.SingleAnswer == true) {\r\n answerDefinitions.forEach(definition => {\r\n // Deselect all other answers that do not match the current selection\r\n if (definition != answerDefinition) {\r\n definition.Selected = false;\r\n definition.AnswerText = null;\r\n console.log('Reset answer (single answer): ' + definition.Answer);\r\n }\r\n });\r\n\r\n // If the current selection itself is not selected, then reset that one also\r\n if (answerDefinition.Selected == false) {\r\n answerDefinition.AnswerText = null;\r\n console.log('Reset answer (self): ' + answerDefinition.Answer);\r\n }\r\n else {\r\n answerDefinition.AnswerText = answerDefinition.Answer;\r\n console.log('AnswerText set to answer: ' + answerDefinition.Answer);\r\n }\r\n }\r\n else {\r\n // find any others that ARE single answer, and reset those as this answer is a multiple\r\n answerDefinitions.forEach(definition => {\r\n // Deselect all other answers that do not match the current selection\r\n if (definition.SingleAnswer == true) {\r\n definition.Selected = false;\r\n definition.AnswerText = null;\r\n console.log('Reset answer (single answer): ' + definition.Answer);\r\n }\r\n });\r\n\r\n // This is not a single answer. If it is not selected, then reset it.\r\n if (answerDefinition.Selected == false) {\r\n answerDefinition.AnswerText = null;\r\n answerDefinition.AnswerMemoText = null;\r\n console.log('Reset answer (not single answer): ' + answerDefinition.Answer);\r\n }\r\n else {\r\n // This answer is selected.\r\n answerDefinition.AnswerText = answerDefinition.Answer;\r\n console.log('AnswerText set to answer: ' + answerDefinition.Answer);\r\n }\r\n }\r\n\r\n // Remove any answers that should be excluded\r\n let exclusions: string = answerDefinition.ExcludeAnswers;\r\n let exclusionsList: string[] = exclusions.split(';');\r\n for (let exclusion of exclusionsList) {\r\n for (let answerDefinition of answerDefinitions) {\r\n if (answerDefinition.AnswerId == exclusion) {\r\n answerDefinition.Selected = false;\r\n answerDefinition.AnswerText = null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n submitQuestionnaire() {\r\n this.loggingService.log(`Submitting Questionnaire`, this.appConfigService.LogToConsole);\r\n this.patientService.getPatientId(this.appConfigService.UserName).map(response => response.json()).subscribe((response => {\r\n this.loaded = false;\r\n let patientId = response.PatientId;\r\n this.patientService.getCurrentPregnancyId(patientId).map(response => response.json()).subscribe(response => {\r\n let pregnancyId = response.CurrentPregnancyId;\r\n this.questionnaireData.PregnancyId = pregnancyId;\r\n this.questionnaireData.PatientId = patientId;\r\n console.log(this.questionnaireData);\r\n this.questionnaireService.postEpaQuestionnaireDefinition(this.questionnaireData).subscribe(response => {\r\n this.questionnaireData = response;\r\n this.submitted = true;\r\n this.loaded = true;\r\n this.loggingService.log(\"Submission completed\", this.appConfigService.LogToConsole);\r\n }, (error => { this.handleError(error) }));\r\n }, (error => { this.handleError(error) }));\r\n }), (error => this.handleError(error)));\r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n this.loggingService.log(`ERROR while getting EPA definition: ${error.message}`, this.appConfigService.LogToConsole);\r\n\r\n switch (error.status) {\r\n case 0:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. You appear to be offline.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - offline\", this.appConfigService.LogToConsole);\r\n break;\r\n case 401:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. Your login has expired.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - login expired\", this.appConfigService.LogToConsole);\r\n this.userSession.logout();\r\n break;\r\n case 500:\r\n this.error = true;\r\n this.snackBar.open(\"Sorry, we can't do that. Server error.\", \"\", { duration: 5000 });\r\n this.loggingService.log(\"Error - Server error\", this.appConfigService.LogToConsole);\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-myepa-view/portal-myepa-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-new-password/portal-new-password.component.css\n// module id = ./src/app/views/portal-new-password/portal-new-password.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

new password

\\r\\n\\r\\n \\r\\n \\r\\n Please supply a valid email address\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Please supply a\\r\\n unique password\\r\\n Minimum of eight characters, at least one letter, one number, and\\r\\n one special character required\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please verify your password\\r\\n \\r\\n \\r\\n \\r\\n Passwords do not match\\r\\n \\r\\n Minimum of eight characters, at least one letter, one\\r\\n number, and one special character required\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Registration failed. Please contact your NHS Trust\\r\\n Error communicating with server. Please check your internet connection\\r\\n
Please try again later.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-new-password/portal-new-password.component.html\n// module id = ./src/app/views/portal-new-password/portal-new-password.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { RegistrationModel } from '../../models/registration-model';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Router } from '../../../../node_modules/@angular/router';\r\nimport { AuthorisationService } from '../../services/authorisation-service/authorisation-service.service';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { HttpErrorResponse } from '../../../../node_modules/@angular/common/http';\r\nimport { MatSnackBar } from '../../../../node_modules/@angular/material';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FieldMatchErrorMatcher } from '../../shared/field-match.directive';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\n\r\n@Component({\r\n selector: 'app-portal-new-password',\r\n templateUrl: './portal-new-password.component.html',\r\n styleUrls: ['./portal-new-password.component.css']\r\n})\r\nexport class PortalNewPasswordComponent implements OnInit {\r\n\r\n registrationModel: RegistrationModel;\r\n attemptingRegistration: boolean;\r\n registrationFailed: boolean;\r\n registrationToken: string;\r\n generalError: boolean;\r\n resetPassword: boolean;\r\n emailAddress: string;\r\n fieldMatchErrorMatcher = new FieldMatchErrorMatcher();\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router,\r\n private authorisationService: AuthorisationService, private loggingService: LoggingService, private snackBar: MatSnackBar,\r\n private userSessionService: UserSessionService) { }\r\n\r\n ngOnInit() {\r\n this.userSessionService.checkRoute(this.router.url);\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(this.appConfigService.ApplicationName, null, null, null));\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, false, false, true));\r\n this.registrationModel = new RegistrationModel();\r\n\r\n this.router.routerState.root.queryParams.subscribe((params) => {\r\n this.registrationToken = params['token'];\r\n this.registrationModel.EmailAddress = params['email'];\r\n });\r\n }\r\n\r\n // Same process as with registration\r\n register() {\r\n this.attemptingRegistration = true;\r\n this.registrationModel.Token = this.registrationToken;\r\n this.authorisationService.reset(this.registrationModel).subscribe((response) => {\r\n\r\n // Everything ok\r\n this.loggingService.log(\"New password saved successfully\", this.appConfigService.LogToConsole);\r\n let snackbarRef = this.snackBar.open(`New password saved successfully`, \"Login\", { duration: 3000 });\r\n snackbarRef.onAction().subscribe((action) => {\r\n this.router.navigate(['app', 'login']);\r\n });\r\n snackbarRef.afterDismissed().subscribe((action) => {\r\n this.router.navigate(['app', 'login']);\r\n });\r\n }, (error) => {\r\n let httpErrorResponse = error as HttpErrorResponse;\r\n let snackbarRef;\r\n switch (httpErrorResponse.status) {\r\n case 400:\r\n this.loggingService.log(\"One or more paramters used for password reset are invalid\", this.appConfigService.LogToConsole);\r\n snackbarRef = this.snackBar.open(\"Sorry, something went wrong. Please try again.\", \"\", { duration: 5000 });\r\n this.attemptingRegistration = false;\r\n snackbarRef.afterDismissed().subscribe((action) => {\r\n this.redirectToHome();\r\n });\r\n break;\r\n case 500:\r\n this.loggingService.log(\"Server error during saving new password\", this.appConfigService.LogToConsole);\r\n snackbarRef = this.snackBar.open(\"Sorry, something went wrong. Server Error.\", \"\", { duration: 5000 })\r\n this.attemptingRegistration = false;\r\n snackbarRef.afterDismissed().subscribe((action) => {\r\n this.redirectToHome();\r\n });\r\n break;\r\n case 403:\r\n this.loggingService.log(\"Saving new password failed. Email address may be incorrect, or token expired\", this.appConfigService.LogToConsole);\r\n snackbarRef = this.snackBar.open(\"Saving new password failed. Please try again.\", \"\", { duration: 5000 });\r\n this.attemptingRegistration = false;\r\n snackbarRef.afterDismissed().subscribe((action) => {\r\n this.redirectToHome();\r\n });\r\n break;\r\n\r\n default:\r\n this.loggingService.log(\"Server could not be contacted\", this.appConfigService.LogToConsole);\r\n snackbarRef = this.snackBar.open(\"Server unavailable. Please try again later.\", \"\", { duration: 5000 });\r\n this.attemptingRegistration = false;\r\n snackbarRef.afterDismissed().subscribe((action) => {\r\n this.redirectToHome();\r\n });\r\n break;\r\n }\r\n });\r\n }\r\n\r\n redirectToHome() {\r\n this.router.navigate(['app', 'welcome']);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-new-password/portal-new-password.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-notfound-view/portal-notfound-view.component.css\n// module id = ./src/app/views/portal-notfound-view/portal-notfound-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n Sorry, we can't find the page you are looking for.\\r\\n

\\r\\n
\\r\\n Home\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-notfound-view/portal-notfound-view.component.html\n// module id = ./src/app/views/portal-notfound-view/portal-notfound-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\n\r\n@Component({\r\n selector: 'app-portal-notfound-view',\r\n templateUrl: './portal-notfound-view.component.html',\r\n styleUrls: ['./portal-notfound-view.component.css']\r\n})\r\nexport class PortalNotFoundViewComponent implements OnInit {\r\n\r\n constructor(private shellUpdateService: ShellUpdateService, \r\n private appConfigService: AppConfigService, ) { }\r\n\r\n ngOnInit() {\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage( \r\n this.appConfigService.ApplicationName, \"Page Not Found\", null, null));\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, false, true, true));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-notfound-view/portal-notfound-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-registration-view/portal-registration-view.component.css\n// module id = ./src/app/views/portal-registration-view/portal-registration-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

COMPLETE YOUR REGISTRATION

\\r\\n \\r\\n \\r\\n \\r\\n Please supply a valid email address\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter your Date of Birth\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please supply a\\r\\n unique password\\r\\n Minimum of eight characters, at least one letter, one number, and one\\r\\n special character required\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please\\r\\n verify your password\\r\\n \\r\\n \\r\\n \\r\\n Passwords do not match\\r\\n \\r\\n Minimum of eight characters, at least one letter, one\\r\\n number, and one special character required\\r\\n \\r\\n \\r\\n \\r\\n Registration failed. Please contact your NHS Trust\\r\\n Error communicating with server. Please check your internet connection\\r\\n
Please try again later.
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-registration-view/portal-registration-view.component.html\n// module id = ./src/app/views/portal-registration-view/portal-registration-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { RouterState, Router } from '@angular/router';\r\nimport { Credentials } from '../../domain/credentials';\r\nimport { AuthorisationService } from '../../services/authorisation-service/authorisation-service.service';\r\nimport { RegistrationModel } from '../../models/registration-model';\r\nimport { HttpResponse, HttpErrorResponse } from '@angular/common/http';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FieldMatchErrorMatcher } from '../../shared/field-match.directive';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-portal-registration-view',\r\n templateUrl: './portal-registration-view.component.html',\r\n styleUrls: ['./portal-registration-view.component.css']\r\n})\r\nexport class PortalRegistrationViewComponent implements OnInit {\r\n\r\n registrationModel: RegistrationModel;\r\n attemptingRegistration: boolean;\r\n registrationFailed: boolean;\r\n registrationToken: string;\r\n generalError: boolean;\r\n resetPassword: boolean;\r\n emailAddress: string;\r\n fieldMatchErrorMatcher = new FieldMatchErrorMatcher();\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router, private authorisationService:\r\n AuthorisationService, private loggingService: LoggingService, private snackBar: MatSnackBar,\r\n private userSessionService: UserSessionService) { }\r\n\r\n ngOnInit() {\r\n // Make sure the route being accessed is desirable (not user from admin, or admin from user. Redirect if required)\r\n this.userSessionService.checkRoute(this.router.url);\r\n this.shellUpdateService\r\n .sendShellUpdateMessage(new ShellUpdateMessage(this.appConfigService.ApplicationName, 'Registration', null, null));\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, false, false, true));\r\n this.registrationModel = new RegistrationModel();\r\n\r\n this.router.routerState.root.queryParams.subscribe((params) => {\r\n this.registrationToken = params['token'];\r\n this.registrationModel.EmailAddress = params['email'];\r\n });\r\n }\r\n\r\n // Validate the token with the API\r\n register() {\r\n this.attemptingRegistration = true;\r\n this.registrationModel.Token = this.registrationToken;\r\n this.authorisationService.register(this.registrationModel).subscribe((response) => {\r\n\r\n // Everything ok\r\n this.loggingService.log('Registration completed successfully', this.appConfigService.LogToConsole);\r\n const snackbarRef = this.snackBar.open(`Registration completed successfully. Please log-in`, 'Login', { duration: 3000 });\r\n snackbarRef.onAction().subscribe((action) => {\r\n this.router.navigate(['app', 'login']);\r\n });\r\n snackbarRef.afterDismissed().subscribe((action) => {\r\n this.router.navigate(['app', 'login']);\r\n });\r\n }, (error) => {\r\n const httpErrorResponse = error as HttpErrorResponse;\r\n let snackbarRef;\r\n switch (httpErrorResponse.status) {\r\n case 400:\r\n this.loggingService.log('One or more paramters used for registration are invalid', this.appConfigService.LogToConsole);\r\n snackbarRef = this.snackBar.open('Sorry, something went wrong. Please check your details and try again.', '', { duration: 5000 });\r\n this.attemptingRegistration = false;\r\n break;\r\n case 500:\r\n this.loggingService.log('Server error during registration', this.appConfigService.LogToConsole);\r\n snackbarRef = this.snackBar.open('Sorry, something went wrong. Server Error.', '', { duration: 5000 });\r\n this.attemptingRegistration = false;\r\n snackbarRef.afterDismissed().subscribe((action) => {\r\n this.redirectToHome();\r\n });\r\n break;\r\n case 403:\r\n this.loggingService.log('Registration failed. Your details may be incorrect', this.appConfigService.LogToConsole);\r\n snackbarRef =\r\n this.snackBar.open('Verification failed. Please contact your NHS Trust and ask them to re-authorise.', '', { duration: 5000 });\r\n this.attemptingRegistration = false;\r\n snackbarRef.afterDismissed().subscribe((action) => {\r\n this.redirectToHome();\r\n });\r\n break;\r\n default:\r\n this.loggingService.log('Server could not be contacted', this.appConfigService.LogToConsole);\r\n snackbarRef = this.snackBar.open('Server unavailable. Please try again later.', '', { duration: 5000 });\r\n this.attemptingRegistration = false;\r\n snackbarRef.afterDismissed().subscribe((action) => {\r\n this.redirectToHome();\r\n });\r\n break;\r\n }\r\n });\r\n }\r\n\r\n redirectToHome() {\r\n this.router.navigate(['app', 'welcome']);\r\n }\r\n}\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-registration-view/portal-registration-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-reset-password/portal-reset-password.component.css\n// module id = ./src/app/views/portal-reset-password/portal-reset-password.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Please\\r\\n check your\\r\\n email and follow the instructions provided.\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-reset-password/portal-reset-password.component.html\n// module id = ./src/app/views/portal-reset-password/portal-reset-password.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { PasswordReset } from '../../models/password-reset';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Router } from '../../../../node_modules/@angular/router';\r\nimport { AuthHttpClient } from '../../services/auth-http-service/auth-http.service';\r\nimport { Subscription } from '../../../../node_modules/rxjs';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { HttpErrorResponse } from '../../../../node_modules/@angular/common/http';\r\nimport { MatSnackBar } from '../../../../node_modules/@angular/material';\r\n\r\n@Component({\r\n selector: 'app-portal-reset-password',\r\n templateUrl: './portal-reset-password.component.html',\r\n styleUrls: ['./portal-reset-password.component.css']\r\n})\r\nexport class PortalResetPasswordComponent implements OnInit {\r\n\r\n passwordReset: PasswordReset;\r\n resetSubscription: Subscription;\r\n resetSent: boolean;\r\n resetting: boolean;\r\n\r\n constructor(private shellUpdateService: ShellUpdateService, private appConfigService: AppConfigService, private router: Router, private authHttp: AuthHttpClient, private loggingService: LoggingService, private snackBar: MatSnackBar) { }\r\n\r\n ngOnInit() {\r\n\r\n // Update the headers and footers\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, null, null, null));\r\n\r\n // Show / Hide certain components such as burger menu etc\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, false, false, true));\r\n\r\n // Init the password reset\r\n this.passwordReset = new PasswordReset();\r\n }\r\n\r\n submitResetPassword() {\r\n this.resetting = true;\r\n this.resetSubscription = this.authHttp.post(this.appConfigService.ResetPasswordUrl, this.passwordReset).subscribe(response => {\r\n this.snackBar.open(\"Reset request sent. Please check your email\", \"\", { duration: 5000 });\r\n this.resetSent = true;\r\n }, (error) => {\r\n let httpErrorResponse = error as HttpErrorResponse;\r\n this.resetting = false;\r\n this.loggingService.log('Error resetting password', this.appConfigService.LogToConsole);\r\n this.authHttp.deleteToken();\r\n let snackbarRef;\r\n switch (httpErrorResponse.status) {\r\n case 500:\r\n this.snackBar.open(\"Server error. Please try again later.\", \"\", { duration: 5000 });\r\n break;\r\n default:\r\n this.snackBar.open(\"Server unavailable. Please try again later.\", \"\", { duration: 5000 });\r\n break;\r\n }\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-reset-password/portal-reset-password.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-useful-website-view/portal-useful-website-view.component.css\n// module id = ./src/app/views/portal-useful-website-view/portal-useful-website-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-useful-website-view/portal-useful-website-view.component.html\n// module id = ./src/app/views/portal-useful-website-view/portal-useful-website-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Router } from '@angular/router';\r\nimport { UserSessionService } from '../../services/user-session-service/user-session.service';\r\nimport { TrustDataService } from '../../services/trust-data-service/trust-data.service';\r\nimport { LoggingService } from '../../services/logging-service/logging.service';\r\nimport { pipe } from 'rxjs/util/pipe';\r\nimport { map } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { UsefulWebsite } from '../../models/useful-website';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { MatSnackBar } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-portal-useful-website-view',\r\n templateUrl: './portal-useful-website-view.component.html',\r\n styleUrls: ['./portal-useful-website-view.component.css']\r\n})\r\nexport class PortalUsefulWebsiteViewComponent implements OnInit {\r\n\r\n usefulWebsites: UsefulWebsite[] = [];\r\n error = false;\r\n addNew = false;\r\n addNewSite: UsefulWebsite;\r\n\r\n\r\n constructor(private shellUpdateService: ShellUpdateService, private appConfigService: AppConfigService,\r\n private userSession: UserSessionService, private router: Router, private trustService: TrustDataService,\r\n private loggingService: LoggingService, private snackBar: MatSnackBar) { }\r\n\r\n ngOnInit() {\r\n // Make sure the route being accessed is desirable (not user from admin, or admin from user. Redirect if required)\r\n this.userSession.checkRoute(this.router.url);\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, 'Useful Websites', null, null));\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, true, false, true));\r\n\r\n // Get all of the data for the useful websites\r\n this.trustService.getUsefulWebsites()\r\n .pipe(map(sites => sites.json()))\r\n .subscribe(sites => {\r\n this.loggingService.log('Executed getUsefulWebsites', this.appConfigService.LogToConsole);\r\n this.usefulWebsites = sites;\r\n }, (error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n // ** Updates a useful website by using the associated object */\r\n update(usefulWebsite: UsefulWebsite) {\r\n if (usefulWebsite.UrlId > 0) {\r\n this.trustService.updateUsefulWebsite(usefulWebsite).subscribe(response => {\r\n this.snackBar.open('Useful Website Updated Successfully', null, { duration: 3000 });\r\n }, (error => {\r\n this.handleError(error);\r\n }));\r\n }\r\n\r\n if (usefulWebsite.UrlId === undefined) {\r\n this.trustService.addUsefulWebsite(usefulWebsite).subscribe(response => {\r\n this.usefulWebsites.push(response.json());\r\n this.addNew = false;\r\n this.snackBar.open('Useful Website Added Successfully', null, { duration: 3000 });\r\n }, (error => {\r\n this.handleError(error);\r\n }));\r\n }\r\n }\r\n\r\n // ** Deletes an existing schedule by using the associated object */\r\n delete(usefulWebsite: UsefulWebsite) {\r\n this.trustService.deleteUsefulWebsite(usefulWebsite).subscribe(response => {\r\n const removeSite = this.usefulWebsites.indexOf(usefulWebsite);\r\n this.usefulWebsites.splice(removeSite, 1);\r\n this.snackBar.open('Useful Website Deleted Successfully', null, { duration: 3000 });\r\n }, (error => {\r\n this.handleError(error);\r\n }));\r\n }\r\n\r\n cancel() {\r\n this.addNew = false;\r\n }\r\n\r\n /** Creates a new schedule by creating an instance of the new form */\r\n createSite() {\r\n // Show the editor by setting add new to true\r\n // When this panel is clicked use the add new method by checking if the id == 0\r\n // Else use the update method\r\n this.addNew = true;\r\n this.addNewSite = new UsefulWebsite();\r\n }\r\n\r\n // ** Handle anything that has gone wrong during submission */\r\n handleError(error: HttpErrorResponse) {\r\n switch (error.status) {\r\n case 0:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. You appear to be offline.', '', { duration: 5000 });\r\n this.loggingService.log('Error - offline', this.appConfigService.LogToConsole);\r\n break;\r\n case 401:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. Your login has expired.', '', { duration: 5000 });\r\n this.loggingService.log('Error - login expired', this.appConfigService.LogToConsole);\r\n this.userSession.logout();\r\n break;\r\n case 500:\r\n this.error = true;\r\n this.snackBar.open('Sorry, we can\\'t do that. Server error.', '', { duration: 5000 });\r\n this.loggingService.log('Error - Server error', this.appConfigService.LogToConsole);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-useful-website-view/portal-useful-website-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-welcome-view/portal-welcome-view.component.css\n// module id = ./src/app/views/portal-welcome-view/portal-welcome-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
healthcare:connected
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/portal-welcome-view/portal-welcome-view.component.html\n// module id = ./src/app/views/portal-welcome-view/portal-welcome-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ShellUpdateService, ShellUpdateMessage, ShellActionMessage } from '../../services/shell-update-service/shell-update.service';\r\nimport { AppConfigService } from '../../services/app-config-service/app-config.service';\r\nimport { Router } from '@angular/router';\r\n////-------------------------------------------------------------------------------------------\r\n// Author: Martin Unger\r\n// Created: 13/11/2017\r\n// Description: Welcome View. Displays basic branding and opportunity to log in.\r\n////-------------------------------------------------------------------------------------------\r\n\r\n@Component({\r\n selector: 'app-portal-welcome-view',\r\n templateUrl: './portal-welcome-view.component.html',\r\n styleUrls: ['./portal-welcome-view.component.css']\r\n})\r\nexport class PortalWelcomeViewComponent implements OnInit {\r\n\r\n constructor(private shellUpdateService: ShellUpdateService,\r\n private appConfigService: AppConfigService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.shellUpdateService.sendShellUpdateMessage(new ShellUpdateMessage(\r\n this.appConfigService.ApplicationName, \"Welcome\", null, null));\r\n\r\n this.shellUpdateService.sendShellUpdateActionMessage(new ShellActionMessage(false, false, false, false, true));\r\n }\r\n\r\n login() {\r\n this.router.navigate(['app/login']);\r\n } \r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/portal-welcome-view/portal-welcome-view.component.ts","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// util (ignored)\n// module id = 1\n// module chunks = main","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// fs (ignored)\n// module id = 2\n// module chunks = main","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// http (ignored)\n// module id = 3\n// module chunks = main","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// https (ignored)\n// module id = 4\n// module chunks = main"],"sourceRoot":"webpack:///"}