{"version":3,"sources":["src/app/components/pages/desktop-menu/desktop-menu.component.ts","src/app/components/pages/desktop-menu/desktop-menu.component.html","src/app/components/pages/mobile-menu/mobile-full-menu/mobile-full-menu.component.ts","src/app/components/pages/mobile-menu/mobile-full-menu/mobile-full-menu.component.html","src/app/components/pages/mobile-menu/mobile-menu.component.ts","src/app/components/pages/mobile-menu/mobile-menu.component.html","src/app/components/pages/pages.component.ts","src/app/components/pages/pages.component.html","src/app/components/error-test/bakery.component.ts","src/app/components/error-test/bakery.component.html","src/app/components/statistics/insights-filter-sidebar/insights-filter-sidebar.component.ts","src/app/components/statistics/insights-filter-sidebar/insights-filter-sidebar.component.html","src/app/components/statistics/insights-filter-topbar/insights-filter-topbar.component.ts","src/app/components/statistics/insights-filter-topbar/insights-filter-topbar.component.html","src/app/components/statistics/statistics.component.ts","src/app/components/statistics/statistics.component.html","src/app/components/welcome-trial/quick-start-card/quick-start-card.component.ts","src/app/components/welcome-trial/quick-start-card/quick-start-card.component.html","src/app/components/welcome-trial/setup-line/setup-line.component.ts","src/app/components/welcome-trial/setup-line/setup-line.component.html","src/app/components/welcome-trial/empower-line/empower-line.component.ts","src/app/components/welcome-trial/empower-line/empower-line.component.html","src/app/components/welcome-trial/welcome-trial.component.ts","src/app/components/welcome-trial/welcome-trial.component.html","src/app/_guards/active-trial-only.guard.ts","src/app/_pipes/nan-fix.pipe.ts","src/app/components/home/home-crew-performance/performance-chart/performance-chart.component.ts","src/app/components/home/home-crew-performance/performance-chart/performance-chart.component.html","src/app/components/home/home-crew-performance/home-crew-performance.component.ts","src/app/components/home/home-crew-performance/home-crew-performance.component.html","node_modules/primeng/fesm2022/primeng-overlaypanel.mjs","src/app/components/home/home.component.ts","src/app/components/home/home.component.html","src/app/components/home/home-task-card/home-task-card.component.ts","src/app/components/home/home-task-card/home-task-card.component.html","src/app/components/home/home-task-list/home-task-list.component.ts","src/app/components/home/home-task-list/home-task-list.component.html","src/app/components/home/home-promotion-card/home-promotion-card.component.ts","src/app/components/home/home-promotion-card/home-promotion-card.component.html","src/app/components/home/home-promotion-list/home-promotion-list.component.ts","src/app/components/home/home-promotion-list/home-promotion-list.component.html","src/app/components/pages/pages.module.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n Inject,\n Input,\n OnInit,\n Output,\n} from \"@angular/core\";\nimport { UserDm } from \"@/_models\";\nimport {\n AuthenticationService,\n USER_IS_AT_LEAST_ADMIN,\n UserService,\n} from \"@/_services\";\nimport { MenuSection } from \"@/_models/menu-item\";\nimport { shareReplay } from \"rxjs/operators\";\nimport { Observable } from \"rxjs\";\nimport { MenuService } from \"@/_services/menu.service\";\nimport UserModel = UserDm.UserModel;\n\n@Component({\n selector: \"app-desktop-menu\",\n templateUrl: \"./desktop-menu.component.html\",\n styleUrls: [\"./desktop-menu.component.scss\"],\n})\nexport class DesktopMenuComponent implements OnInit {\n @Output() enterEdit: EventEmitter = new EventEmitter();\n @Input() showAccountLink = false;\n\n hasLinkedLogins = false;\n\n currentUser$: Observable;\n mainMenu$: Observable;\n formMenu$: Observable;\n\n showForms = true;\n\n constructor(\n private authenticationService: AuthenticationService,\n private userService: UserService,\n private menuService: MenuService,\n @Inject(USER_IS_AT_LEAST_ADMIN)\n public isAtLeastAdmin$: Observable,\n ) {\n this.hasLinkedLogins = this.authenticationService.hasLinkedLogins();\n }\n\n ngOnInit() {\n this.currentUser$ = this.userService\n .getCurrentUserAsync()\n .pipe(shareReplay());\n this.mainMenu$ = this.menuService.createDesktopMenu();\n this.formMenu$ = this.menuService.createFormMenu();\n }\n\n toggleCollapse() {\n this.showForms = !this.showForms;\n }\n}\n","
\n \n \n \n \n
\n
{{user.firstName}} {{user.lastName}}
\n

{{user.email}}

\n
\n \n \n
\n\n","import { Component, EventEmitter, OnInit, Output } from \"@angular/core\";\nimport { MenuService } from \"app/_services/menu.service\";\nimport { Observable } from \"rxjs\";\nimport { MenuSection } from \"app/_models/menu-item\";\nimport { AuthenticationService } from \"app/_services\";\n\n@Component({\n selector: \"app-mobile-full-menu\",\n templateUrl: \"./mobile-full-menu.component.html\",\n styleUrls: [\"./mobile-full-menu.component.scss\"],\n})\nexport class MobileFullMenuComponent implements OnInit {\n mainMenu$: Observable;\n @Output() menuItemClickled: EventEmitter = new EventEmitter();\n\n constructor(\n private menuService: MenuService,\n private authService: AuthenticationService,\n ) {}\n\n ngOnInit() {\n this.mainMenu$ = this.menuService.createMobileSettingsMenu();\n }\n\n logout() {\n this.authService.logout().subscribe();\n }\n}\n","
\n \n \n Logo Long\n \n \n \n \n \n\n
\n \n \n Sign Out\n
\n
\n\n \n \"icon\"\n {{item.label}}\n \n\n","import { Component, OnInit } from \"@angular/core\";\nimport { settingsMenuAnimations } from \"@/_utility/animations\";\n\n@Component({\n selector: \"app-mobile-menu\",\n templateUrl: \"./mobile-menu.component.html\",\n styleUrls: [\"./mobile-menu.component.scss\"],\n animations: settingsMenuAnimations,\n})\nexport class MobileMenuComponent implements OnInit {\n isMenuOpened: boolean;\n\n constructor() {}\n\n ngOnInit() {}\n\n toggleMenu(state: boolean) {\n this.isMenuOpened = state;\n }\n}\n","\n\n\n\n","import { Component, OnInit } from \"@angular/core\";\nimport {\n ActivatedRoute,\n ActivatedRouteSnapshot,\n NavigationEnd,\n Router,\n} from \"@angular/router\";\nimport { Observable } from \"rxjs\";\nimport { filter, map, shareReplay, startWith } from \"rxjs/operators\";\nimport { LastScrollDirection } from \"@/_directives/scroll-state.directive\";\n\n@Component({\n selector: \"app-pages\",\n templateUrl: \"./pages.component.html\",\n styleUrls: [\"./pages.component.scss\"],\n})\nexport class PagesComponent implements OnInit {\n hideMenu$: Observable<{\n hideDesktopMenu: boolean;\n hideMobileMenu: boolean;\n }>;\n\n constructor(\n private router: Router,\n private activatedRoute: ActivatedRoute,\n ) {}\n\n ngOnInit() {\n this.hideMenu$ = this.router.events.pipe(\n filter((e) => e instanceof NavigationEnd),\n startWith(this.router),\n map(() =>\n this.childrenCheck(this.activatedRoute.snapshot.firstChild),\n ),\n shareReplay(),\n );\n }\n\n childrenCheck(snapshot: ActivatedRouteSnapshot): {\n hideDesktopMenu: boolean;\n hideMobileMenu: boolean;\n } {\n if (\n snapshot.data.hasOwnProperty(\"hideDesktopMenu\") ||\n snapshot.data.hasOwnProperty(\"hideMobileMenu\")\n ) {\n return {\n hideDesktopMenu: snapshot.data[\"hideDesktopMenu\"] || false,\n hideMobileMenu: snapshot.data[\"hideMobileMenu\"] || false,\n };\n }\n\n if (snapshot.children.length) {\n return this.childrenCheck(snapshot.firstChild);\n }\n\n return { hideDesktopMenu: false, hideMobileMenu: false };\n }\n}\n","
\n \n \n \n\n
\n \n
\n\n \n \n \n
\n","import { Component, OnInit } from \"@angular/core\";\nimport { IndividualConfig, ToastrService } from \"ngx-toastr\";\nimport { RadioOption } from \"@/components/shared/radio-list/radio-list.component\";\nimport { UntypedFormBuilder, UntypedFormGroup } from \"@angular/forms\";\n\n@Component({\n selector: \"app-bakery\",\n templateUrl: \"./bakery.component.html\",\n styleUrls: [\"./bakery.component.scss\"],\n})\nexport class BakeryComponent implements OnInit {\n closeButtonOptions: RadioOption[] = [\n {\n label: \"Yes\",\n value: true,\n },\n {\n label: \"No\",\n value: false,\n },\n ];\n toastForm: UntypedFormGroup;\n\n constructor(\n private toastService: ToastrService,\n private formBuilder: UntypedFormBuilder,\n ) {}\n\n ngOnInit() {\n this.toastForm = this.formBuilder.group({\n type: this.formBuilder.control(\"success\"),\n closeButton: this.formBuilder.control(true),\n title: this.formBuilder.control(\"\"),\n message: this.formBuilder.control(\"\"),\n });\n }\n\n selectCloseButton($event: any) {\n this.toastForm.get(\"closeButton\").patchValue($event);\n }\n\n makeToast() {\n const params = this.toastForm.value;\n const options: Partial = {\n disableTimeOut: true,\n };\n options.closeButton = params.closeButton;\n\n this.toastService[params.type](params.message, params.title, options);\n }\n\n closeToast() {\n this.toastService.clear();\n }\n}\n","
\n \n\n \n\n \n \n\n \n \n\n \n \n\n \n\n \n
\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\nimport { UntypedFormControl, UntypedFormGroup } from \"@angular/forms\";\nimport { RadioOption } from \"@/components/shared/radio-list/radio-list.component\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { DateRangeFilterModalComponent } from \"@/components/shared/modals/date-range-filter-modal/date-range-filter-modal.component\";\nimport { from, tap } from \"rxjs\";\n\n@Component({\n selector: \"app-insights-filter-sidebar\",\n templateUrl: \"./insights-filter-sidebar.component.html\",\n styleUrls: [\"./insights-filter-sidebar.component.scss\"],\n})\nexport class InsightsFilterSidebarComponent implements OnInit {\n @Input() filterForm: UntypedFormGroup;\n @Output() closeButtonClicked: EventEmitter = new EventEmitter();\n\n @Input() userList: RadioOption[];\n @Input() timeFrameList: RadioOption[];\n @Input() aircraftList: RadioOption[];\n @Input() formList: RadioOption[];\n\n constructor(private modalService: NgbModal) {}\n\n ngOnInit() {}\n\n setDateRangeValue(control: UntypedFormControl, value: any) {\n control.setValue(value);\n if (value === \"\") {\n return this.filterForm.get(\"flightDate\").setValue(\"\");\n }\n if (value === \"custom\") {\n const filterModal = this.modalService.open(\n DateRangeFilterModalComponent,\n );\n const component =\n filterModal.componentInstance as DateRangeFilterModalComponent;\n component.control = this.filterForm.get(\n \"flightDate\",\n ) as UntypedFormControl;\n\n from(filterModal.result)\n .pipe(\n tap(() => {\n if (!this.filterForm.get(\"flightDate\").value.length) {\n this.setDateRangeValue(control, \"\");\n control.setValue(\"\");\n }\n }),\n )\n .subscribe();\n } else {\n const currentDate = new Date();\n const targetDate = new Date();\n targetDate.setDate(currentDate.getDate() + value);\n const currentDateString = currentDate\n .toISOString()\n .substring(0, 10);\n const targetDateString = targetDate.toISOString().substring(0, 10);\n return this.filterForm\n .get(\"flightDate\")\n .setValue(\n value >= 0\n ? [currentDateString, targetDateString]\n : [targetDateString, currentDateString],\n );\n }\n }\n\n close() {\n this.closeButtonClicked.emit();\n }\n}\n","
\n
\n

Filter

\n \n \n \n \n
\n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n \n
\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from \"@angular/core\";\nimport { UntypedFormGroup } from \"@angular/forms\";\nimport { RadioOption } from \"@/components/shared/radio-list/radio-list.component\";\n\n@Component({\n selector: \"app-insights-filter-topbar\",\n templateUrl: \"./insights-filter-topbar.component.html\",\n styleUrls: [\"./insights-filter-topbar.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InsightsFilterTopbarComponent implements OnInit {\n @Input() filterForm: UntypedFormGroup;\n @Input() currentFilters;\n @Output() filterButtonClicked: EventEmitter =\n new EventEmitter();\n\n @Input() timeFrameList: RadioOption[];\n @Input() userList: RadioOption[];\n @Input() aircraftList: RadioOption[];\n @Input() formList: RadioOption[];\n\n constructor() {}\n\n ngOnInit() {}\n\n openFilterMenu() {\n this.filterButtonClicked.emit();\n }\n\n isDisplayable(filter) {\n if (filter.key === \"airport\" && filter.value._id) {\n return true;\n }\n\n if (filter.key === \"airport\" && !filter.value._id) {\n return false;\n }\n\n return filter.value.length;\n }\n\n resetFilter(filterKey: string) {\n if (filterKey === \"flightDate\") {\n return this.filterForm.get(filterKey).setValue([]);\n }\n return this.filterForm.get(filterKey).setValue(\"\");\n }\n}\n","
\n
\n \n \n Filter\n
\n \n \n \n \n \n \n \n \n \n \n
\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\nimport { MitigationStats, StatsResult } from \"@/_models\";\nimport { AircraftService, AssessmentService, UserService } from \"@/_services\";\nimport { from, Observable, Subscription } from \"rxjs\";\nimport {\n debounceTime,\n filter,\n map,\n shareReplay,\n switchMap,\n take,\n tap,\n} from \"rxjs/operators\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { PdfConfirmExportComponent } from \"@/components/shared/modals/pdf-confirm-export/pdf-confirm-export.component\";\nimport { LoadingModalComponent } from \"@/components/shared/loading-modal/loading-modal.component\";\nimport { ReportExportResultDto } from \"@/_models/stats-export-response\";\nimport { expandingFabAnimations } from \"@/_utility/animations\";\nimport { UntypedFormBuilder, UntypedFormGroup } from \"@angular/forms\";\nimport { RadioOption } from \"@/components/shared/radio-list/radio-list.component\";\nimport { FilterService } from \"@/_services/filter.service\";\n\n@Component({\n templateUrl: \"./statistics.component.html\",\n styleUrls: [\"./statistics.component.scss\"],\n animations: [expandingFabAnimations],\n})\nexport class StatisticsComponent implements OnInit, OnDestroy {\n stats$: Observable;\n statsData$: Observable;\n\n filterForm: UntypedFormGroup;\n filterFormSubscription: Subscription;\n currentFilters;\n\n timeFrameList: RadioOption[] = [\n { label: \"All\", value: \"\" },\n { label: \"Next 30 days\", value: 30 },\n { label: \"Next 7 days\", value: 7 },\n { label: \"Tomorrow\", value: 1 },\n { label: \"Today\", value: 0 },\n { label: \"Yesterday\", value: -1 },\n { label: \"Past 7 Days\", value: -7 },\n { label: \"Past 30 Days\", value: -30 },\n { label: \"Past Year\", value: -365 },\n { label: \"Custom Time\", value: \"custom\" },\n ];\n userList$: Observable;\n aircraftList$: Observable;\n formList$: Observable;\n\n constructor(\n private userService: UserService,\n private aircraftService: AircraftService,\n private modalService: NgbModal,\n private toastService: ToastrService,\n private formBuilder: UntypedFormBuilder,\n private assessmentService: AssessmentService,\n private filterService: FilterService,\n ) {}\n\n ngOnInit(): void {\n this.buildFilterForm();\n\n this.userList$ = this.userService.getUsers().pipe(\n map((users) =>\n users.map((user) => {\n return { label: user.fullName, value: user._id };\n }),\n ),\n shareReplay(),\n );\n\n this.aircraftList$ = this.aircraftService.listAircraft().pipe(\n map((aircrafts) =>\n aircrafts.map((aircraft) => {\n return { label: aircraft.designation, value: aircraft._id };\n }),\n ),\n shareReplay(),\n );\n\n this.formList$ = this.assessmentService\n .getAssessmentsByType(\"assessment\")\n .pipe(\n map((assessments) => [\n { label: \"All\", value: \"\" },\n ...assessments.map((assessment) => {\n return {\n label: assessment.title,\n value: assessment._id,\n };\n }),\n ]),\n shareReplay(),\n );\n }\n\n ngOnDestroy(): void {\n if (this.filterFormSubscription) {\n this.filterFormSubscription.unsubscribe();\n }\n }\n\n buildFilterForm() {\n this.filterForm = this.formBuilder.group({\n responsiblePilot: [\"\"],\n timeFrame: [\"\"],\n flightDate: [[]],\n aircraft: [\"\"],\n airport: [\"\"],\n assessment: [\"\"],\n });\n\n this.filterFormSubscription = this.filterForm.valueChanges\n .pipe(\n debounceTime(500),\n tap((changes) =>\n localStorage.setItem(\n \"insight-list-filters\",\n JSON.stringify(changes),\n ),\n ),\n tap((changes) => (this.currentFilters = { ...changes })),\n tap(() => this.updateFlightList()),\n )\n .subscribe();\n\n if (!!localStorage.getItem(\"insight-list-filters\")) {\n const filters = JSON.parse(\n localStorage.getItem(\"insight-list-filters\"),\n );\n this.filterForm.patchValue(filters, {\n emitEvent: false,\n onlySelf: true,\n });\n this.currentFilters = { ...filters };\n this.updateFlightList();\n } else {\n this.updateFlightList();\n }\n }\n\n buildFilterQuery() {\n return this.filterService.buildFilterQuery(this.filterForm);\n }\n\n updateFlightList() {\n this.stats$ = this.userService\n .getUserStats(this.buildFilterQuery())\n .pipe(shareReplay());\n this.statsData$ = this.stats$.pipe(\n map((stats) => stats.data),\n shareReplay(),\n );\n }\n\n exportPDF() {\n const confirmationModal = this.modalService.open(\n PdfConfirmExportComponent,\n );\n const component =\n confirmationModal.componentInstance as PdfConfirmExportComponent;\n component.currentFilters = this.currentFilters;\n component.userList$ = this.userList$;\n component.aircraftList$ = this.aircraftList$;\n component.formList$ = this.formList$;\n\n from(confirmationModal.result)\n .pipe(\n take(1),\n filter((result) => !!result),\n map((result) => result as \"pdf\" | \"csv\"),\n switchMap((result: \"pdf\" | \"csv\") => {\n const loading = this.modalService.open(\n LoadingModalComponent,\n );\n const loadingComponent =\n loading.componentInstance as LoadingModalComponent;\n loadingComponent.message = \"Generating PDF\";\n\n return this.userService\n .exportStats(this.buildFilterQuery(), result)\n .pipe(\n map((response: ReportExportResultDto) => {\n const link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(\n response.data,\n );\n link.download = response.filename;\n link.setAttribute(\"target\", \"_blank\");\n return link;\n }),\n tap(\n (next) => {\n loading.close();\n },\n (error) => {\n loading.close();\n },\n ),\n );\n }),\n )\n .subscribe({\n next: (link) => {\n link.click();\n confirmationModal.close();\n link.remove();\n },\n error: (err) => {\n confirmationModal.close();\n this.toastService.error(err, \"Unable to generate PDF\");\n },\n });\n }\n}\n","\n
\n Export Insights\n \n
\n
\n\n\n \n \n \n \n \n\n \n\n \n
\n
\n \n

No Statistics to Display

\n

\n Change the filters to view different\n
\n trends and insights.\n

\n \n Change Filtered View\n \n
\n
\n\n \n \n \n\n 0\">\n

Looking for different statistics? Let us know!

\n \n Request Specific Statistics\n \n \n
\n\n \n
\n
\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"app-quick-start-card\",\n templateUrl: \"./quick-start-card.component.html\",\n styleUrl: \"./quick-start-card.component.scss\",\n})\nexport class QuickStartCardComponent {\n @Input() iconSrc: string;\n @Input() iconId: string;\n @Input() title: string;\n @Input() description: string;\n}\n","\n
\n \"\"\n
\n

{{title}}

\n {{description}}\n
\n \n
\n
\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"app-setup-line\",\n templateUrl: \"./setup-line.component.html\",\n styleUrl: \"./setup-line.component.scss\",\n})\nexport class SetupLineComponent {\n @Input() action: {\n icon: string;\n title: string;\n description: string;\n link: string;\n };\n}\n","
\n \n
\n

{{action.title}}

\n {{action.description}}\n
\n \n \n \n \n
\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"app-empower-line\",\n templateUrl: \"./empower-line.component.html\",\n styleUrl: \"./empower-line.component.scss\",\n})\nexport class EmpowerLineComponent {\n @Input() iconSrc: string;\n @Input() title: string;\n @Input() description: string;\n}\n","
\n \"\"\n
\n

{{title}}

\n {{description}}\n \n
\n
\n","import { Component, inject, OnInit } from \"@angular/core\";\nimport { map, Observable, tap } from \"rxjs\";\nimport {\n AssessmentService,\n USER_IS_AT_LEAST_ADMIN,\n UserService,\n} from \"@/_services\";\nimport { AssessmentDto, UserDm } from \"@/_models\";\nimport UserModel = UserDm.UserModel;\nimport { PromotionService } from \"@/_services/promotion.service\";\nimport { Router } from \"@angular/router\";\nimport { Promotion } from \"@/_models/promotion.interface\";\nimport { IssueService } from \"@/_services/issue.service\";\nimport { Issue } from \"@/_models/issue.interface\";\n\n@Component({\n selector: \"app-welcome-trial\",\n templateUrl: \"./welcome-trial.component.html\",\n styleUrl: \"./welcome-trial.component.scss\",\n})\nexport class WelcomeTrialComponent implements OnInit {\n private userService = inject(UserService);\n private formService = inject(AssessmentService);\n private issueService = inject(IssueService);\n private promotionService = inject(PromotionService);\n private router = inject(Router);\n\n currentDate: Date;\n currentUser$: Observable;\n isAtLeastAdmin$: Observable = inject(USER_IS_AT_LEAST_ADMIN);\n\n setupActionList: any[] = [\n {\n icon: \"/assets/img/welcome-trial/setup-aircraft.svg\",\n title: \"Add Aircraft\",\n description:\n \"Enter your aircraft type and identifiers to use in risk assessments.\",\n link: \"/profile/aircraft\",\n },\n {\n icon: \"/assets/img/welcome-trial/setup-members.svg\",\n title: \"Add Crew Members\",\n description: \"Invite colleagues to join your safety journey.\",\n link: \"/profile/users\",\n },\n {\n icon: \"/assets/img/welcome-trial/setup-integrations.svg\",\n title: \"Integrate Scheduling\",\n description:\n \"Generate risk assessments and share risk data automatically.\",\n link: \"/profile/integrations\",\n },\n {\n icon: \"/assets/img/welcome-trial/setup-manuals.svg\",\n title: \"Upload Your Manuals\",\n description:\n \"Explore and add different form starter templates to your account.\",\n link: \"/policies/manuals\",\n },\n {\n icon: \"/assets/img/welcome-trial/setup-templates.svg\",\n title: \"Explore Form Templates\",\n description: \"Clone and customize various starter form templates.\",\n link: \"/assessments/new\",\n },\n ];\n\n ngOnInit(): void {\n this.currentDate = new Date();\n this.currentUser$ = this.userService.getCurrentUserAsync();\n }\n\n takeAssessment() {\n this.formService\n .listAssessments()\n .pipe(\n map(\n (assessments) =>\n assessments.find((asmt) => asmt.isDefault) ||\n assessments[0],\n ),\n tap((redirectAssessment: AssessmentDto) =>\n this.router.navigate([\"tasks\", \"createFlight\"], {\n queryParams: { assessmentId: redirectAssessment._id },\n }),\n ),\n )\n .subscribe();\n }\n\n submitHazard() {\n this.router.navigateByUrl(\"/tasks/createFlight\");\n }\n\n mitigateRisk() {\n this.issueService\n .createIssue()\n .pipe(\n tap((issue: Issue) =>\n this.router.navigateByUrl(\n `/assurance/mitigations/${issue._id}`,\n ),\n ),\n )\n .subscribe();\n }\n\n sendPromotion() {\n this.promotionService\n .createPromotion()\n .pipe(\n tap((promotion: Promotion) =>\n this.router.navigateByUrl(`/promotions/${promotion._id}`),\n ),\n )\n .subscribe();\n }\n\n requestManual() {\n window.open(\n \"https://preflightmitigator.com/manual-request.html\",\n \"_blank\",\n );\n }\n\n integrateScheduling() {\n this.router.navigateByUrl(\"/profile/integrations\");\n }\n\n modifyRiskForm() {\n this.formService\n .listAssessments()\n .pipe(\n map(\n (assessments) =>\n assessments.find((asmt) => asmt.isDefault) ||\n assessments[0],\n ),\n tap((redirectAssessment: AssessmentDto) =>\n this.router.navigateByUrl(\n `/assessments/${redirectAssessment._id}/edit/questionnaire`,\n ),\n ),\n )\n .subscribe();\n }\n}\n","
\n
\n

{{currentDate | date:'MMMM d, y':'UTC'}}

\n \n Hello {{ (currentUser$ | async)?.firstName }}\n \"Welcome\"\n \n Welcome to Preflight Mitigator.\n
\n\n
\n
\n

Quick Start

\n

Get familiar with how everything works by testing out a few key actions.

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

Setup Essentials

\n

Unlock the power of Preflight Mitigator by completing your account setup.

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

Empower Your SMS

\n

Establish an effective SMS with these tips.

\n
\n\n
\n \n \n \n\n \n \n \n\n \n \n \n
\n
\n
\n","import { CanActivateFn, Router } from \"@angular/router\";\nimport { inject } from \"@angular/core\";\nimport { SubscriptionService } from \"@/_services\";\nimport { ISubscription } from \"@/_models\";\nimport { map } from \"rxjs/operators\";\n\nexport const activeTrialOnlyGuard: CanActivateFn = (route, state) => {\n const subscriptionService = inject(SubscriptionService);\n const router = inject(Router);\n\n return subscriptionService.subscriptionData().pipe(\n map((subscription: ISubscription) => {\n if (!subscription.isTrialActive()) {\n router.navigateByUrl(\"/home\");\n return false;\n }\n return true;\n }),\n );\n};\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({\n name: \"percentChange\",\n standalone: true,\n})\nexport class PercentChangePipe implements PipeTransform {\n transform(value: number | string): unknown {\n if (typeof value === \"string\") {\n const floatValue = parseFloat(value);\n if (isNaN(floatValue) || !isFinite(floatValue)) {\n return \"--\";\n }\n\n if (floatValue > 0) {\n return `+${floatValue}`;\n }\n }\n return value;\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewChild,\n} from \"@angular/core\";\nimport { Chart, ChartData, ChartOptions } from \"chart.js\";\n\n@Component({\n selector: \"app-performance-chart\",\n standalone: true,\n imports: [],\n templateUrl: \"./performance-chart.component.html\",\n styleUrl: \"./performance-chart.component.scss\",\n})\nexport class PerformanceChartComponent\n implements OnInit, AfterViewInit, OnChanges\n{\n private chart: Chart;\n\n @Input() options: ChartOptions;\n @Input() data: ChartData;\n\n @ViewChild(\"chartCanvas\", { static: true }) chartCanvas: ElementRef;\n\n ngOnInit(): void {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.chart) {\n if (changes.data.currentValue) {\n this.chart.data = changes.data.currentValue;\n this.chart.update();\n }\n }\n }\n\n ngAfterViewInit(): void {\n this.chart = new Chart(this.chartCanvas.nativeElement, {\n type: \"line\",\n options: this.options,\n data: this.data,\n });\n }\n}\n"," \n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n OnDestroy,\n OnInit,\n} from \"@angular/core\";\nimport { SharedComponentsModule } from \"@/components/shared/shared-components.module\";\nimport { DropdownModule } from \"primeng/dropdown\";\nimport { RadioOption } from \"@/components/shared/radio-list/radio-list.component\";\nimport { FormControl, FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { FlightService } from \"@/_services\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { AsyncPipe, DatePipe, NgTemplateOutlet } from \"@angular/common\";\nimport { DateTimeFormat } from \"@/_utility/DateTimeFormat\";\nimport { map, shareReplay, startWith, switchMap } from \"rxjs/operators\";\nimport { ChartData } from \"chart.js\";\nimport { Options } from \"chartjs-plugin-datalabels/types/options\";\nimport { PercentChangePipe } from \"@/_pipes/nan-fix.pipe\";\nimport { UntilDestroy, untilDestroyed } from \"@ngneat/until-destroy\";\nimport { PerformanceChartComponent } from \"@/components/home/home-crew-performance/performance-chart/performance-chart.component\";\n\nconst lightChartLabelColor = \"var(--chart-text)\";\n\nconst labelOptions: Options = {\n color: lightChartLabelColor,\n font: {\n weight: \"bold\",\n size: 14,\n },\n display: (context) => {\n const point = context.dataset.data[context.dataIndex] as number;\n return point > 0;\n },\n};\n\n@UntilDestroy()\n@Component({\n selector: \"app-home-crew-performance\",\n standalone: true,\n imports: [\n SharedComponentsModule,\n DropdownModule,\n FormsModule,\n ReactiveFormsModule,\n AsyncPipe,\n DatePipe,\n NgTemplateOutlet,\n PercentChangePipe,\n PerformanceChartComponent,\n ],\n templateUrl: \"./home-crew-performance.component.html\",\n styleUrl: \"./home-crew-performance.component.scss\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HomeCrewPerformanceComponent implements OnInit, OnDestroy {\n private flightService = inject(FlightService);\n\n @Input() isAdmin: boolean = false;\n\n readonly DateTimeFormat = DateTimeFormat;\n timeFrameList: RadioOption[] = [\n { label: \"Past 7 Days\", value: 7 },\n { label: \"Past 30 Days\", value: 30 },\n { label: \"Past 60 Days\", value: 60 },\n { label: \"Past 90 Days\", value: 90 },\n { label: \"Past Year\", value: 365 },\n ];\n timeFrameControl: FormControl = new FormControl(30);\n timeFrameSubscription: Subscription;\n\n stats$: Observable;\n\n readonly averageChartOptions = {\n type: \"line\",\n plugins: {\n datalabels: labelOptions,\n },\n legend: { display: false },\n aspectRatio: 20,\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n yAxes: [\n {\n ticks: {\n display: false,\n beginAtZero: true,\n stepSize: 5,\n autoSkip: false,\n },\n },\n ],\n xAxes: [\n {\n ticks: { display: false },\n },\n ],\n },\n };\n\n readonly completionChartOptions = {\n type: \"line\",\n plugins: {\n datalabels: labelOptions,\n },\n legend: { display: false },\n aspectRatio: 20,\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n yAxes: [\n {\n ticks: {\n display: false,\n beginAtZero: true,\n stepSize: 1,\n autoSkip: false,\n },\n },\n ],\n xAxes: [\n {\n ticks: { display: false },\n },\n ],\n },\n };\n averageScoreDataSet$: Observable;\n completionDataset$: Observable;\n\n ngOnInit() {\n this.stats$ = this.timeFrameControl.valueChanges.pipe(\n untilDestroyed(this),\n startWith(this.timeFrameControl.value),\n switchMap((value) => {\n return this.flightService.getStats(value);\n }),\n shareReplay(),\n );\n\n this.averageScoreDataSet$ = this.stats$.pipe(\n map((stats) => {\n return {\n labels: [0, 1, 2, 3], // TODO: replace with date interval\n datasets: [\n {\n borderColor: \"#1987CB\",\n fill: false,\n data: stats.averageScores.currentPeriodValues,\n label: \"Current Period\",\n },\n {\n borderColor: \"#A4B3CB\",\n fill: false,\n data: stats.averageScores.previousPeriodValues,\n label: \"Previous Period\",\n },\n ],\n };\n }),\n );\n\n this.completionDataset$ = this.stats$.pipe(\n map((stats) => {\n return {\n labels: [0, 1, 2, 3], // TODO: replace with date interval\n datasets: [\n {\n borderColor: \"#1987CB\",\n fill: false,\n data: stats.completionRate.currentPeriodValues,\n label: \"Current Period\",\n },\n {\n borderColor: \"#A4B3CB\",\n fill: false,\n data: stats.completionRate.previousPeriodValues,\n label: \"Previous Period\",\n },\n ],\n };\n }),\n );\n }\n\n ngOnDestroy() {\n this.timeFrameSubscription?.unsubscribe();\n }\n}\n","
\n

{{ isAdmin ? 'Crew' : 'Your' }} Performance

\n\n \n \n\n @if (stats$ | async; as stats) {\n @if (stats.averageScores; as averageScores) {\n \n
\n
\n

Average Score

\n
\n {{averageScores.percentChange | percentChange }}%\n
\n
\n\n
\n
\n

{{averageScores.currentPeriodAvg}}

\n

\n {{stats.meta.currentPeriodStart | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}} - today\n

\n
\n\n
\n

{{averageScores.previousPeriodAvg}}

\n

\n {{stats.meta.previousPeriodStart | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}} - {{stats.meta.previousPeriodEnd | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}}\n

\n
\n
\n\n @if(averageScoreDataSet$|async; as dataset) {\n
\n \n
\n }\n
\n
\n }\n\n @if (stats.completionRate; as completionRate) {\n \n
\n
\n

Completion Rate

\n
\n {{completionRate.percentChange |percentChange}}%\n
\n
\n\n
\n
\n
\n

{{ completionRate.currentPeriodCompletedPercent | percentChange }}%

\n
({{completionRate.currentPeriodCompleted}}/{{completionRate.currentPeriodTotal}})
\n
\n

\n {{stats.meta.currentPeriodStart | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}} - today\n

\n
\n\n
\n
\n
({{completionRate.previousPeriodCompleted}}/{{completionRate.previousPeriodTotal}})
\n

{{ completionRate.previousPeriodCompletedPercent | percentChange }}%

\n
\n

\n {{stats.meta.previousPeriodStart | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}} - {{stats.meta.previousPeriodEnd | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}}\n

\n
\n
\n\n @if(completionDataset$|async; as dataset) {\n
\n \n
\n }\n
\n
\n }\n\n \n \n\n \n \n\n \n \n }\n
\n\n\n \n
\n
\n

{{ title }}

\n
\n {{scores.percentChange |percentChange}}%\n
\n
\n\n
\n
\n

{{scores.currentPeriod}}

\n

\n {{stats.meta?.currentPeriodStart | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}} - today\n

\n
\n\n
\n

{{scores.previousPeriod}}

\n

\n {{stats.meta?.previousPeriodStart | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}} - {{stats.meta?.previousPeriodEnd | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}}\n

\n
\n
\n
\n
\n
\n","import { trigger, state, style, transition, animate } from '@angular/animations';\nimport * as i2 from '@angular/common';\nimport { isPlatformBrowser, DOCUMENT, CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { EventEmitter, PLATFORM_ID, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, Output, ContentChildren, HostListener, NgModule } from '@angular/core';\nimport * as i1 from 'primeng/api';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { TimesIcon } from 'primeng/icons/times';\nimport * as i3 from 'primeng/ripple';\nimport { RippleModule } from 'primeng/ripple';\nimport { ZIndexUtils } from 'primeng/utils';\n\n/**\n * OverlayPanel is a container component positioned as connected to its target.\n * @group Components\n */\nconst _c0 = [\"*\"];\nconst _c1 = (a0, a1) => ({\n showTransitionParams: a0,\n hideTransitionParams: a1\n});\nconst _c2 = (a0, a1) => ({\n value: a0,\n params: a1\n});\nfunction OverlayPanel_div_0_ng_container_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction OverlayPanel_div_0_button_4_TimesIcon_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"TimesIcon\", 8);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"styleClass\", \"p-overlaypanel-close-icon\");\n }\n}\nfunction OverlayPanel_div_0_button_4_span_2_1_ng_template_0_Template(rf, ctx) {}\nfunction OverlayPanel_div_0_button_4_span_2_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, OverlayPanel_div_0_button_4_span_2_1_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction OverlayPanel_div_0_button_4_span_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 9);\n i0.ɵɵtemplate(1, OverlayPanel_div_0_button_4_span_2_1_Template, 1, 0, null, 3);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.closeIconTemplate);\n }\n}\nfunction OverlayPanel_div_0_button_4_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 5);\n i0.ɵɵlistener(\"click\", function OverlayPanel_div_0_button_4_Template_button_click_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onCloseClick($event));\n })(\"keydown.enter\", function OverlayPanel_div_0_button_4_Template_button_keydown_enter_0_listener() {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.hide());\n });\n i0.ɵɵtemplate(1, OverlayPanel_div_0_button_4_TimesIcon_1_Template, 1, 1, \"TimesIcon\", 6)(2, OverlayPanel_div_0_button_4_span_2_Template, 2, 1, \"span\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"aria-label\", ctx_r1.ariaCloseLabel);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r1.closeIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.closeIconTemplate);\n }\n}\nfunction OverlayPanel_div_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 1);\n i0.ɵɵlistener(\"click\", function OverlayPanel_div_0_Template_div_click_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onOverlayClick($event));\n })(\"@animation.start\", function OverlayPanel_div_0_Template_div_animation_animation_start_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onAnimationStart($event));\n })(\"@animation.done\", function OverlayPanel_div_0_Template_div_animation_animation_done_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onAnimationEnd($event));\n });\n i0.ɵɵelementStart(1, \"div\", 2);\n i0.ɵɵlistener(\"click\", function OverlayPanel_div_0_Template_div_click_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onContentClick($event));\n })(\"mousedown\", function OverlayPanel_div_0_Template_div_mousedown_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onContentClick($event));\n });\n i0.ɵɵprojection(2);\n i0.ɵɵtemplate(3, OverlayPanel_div_0_ng_container_3_Template, 1, 0, \"ng-container\", 3);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(4, OverlayPanel_div_0_button_4_Template, 3, 3, \"button\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵclassMap(ctx_r1.styleClass);\n i0.ɵɵproperty(\"ngClass\", \"p-overlaypanel p-component\")(\"ngStyle\", ctx_r1.style)(\"@animation\", i0.ɵɵpureFunction2(13, _c2, ctx_r1.overlayVisible ? \"open\" : \"close\", i0.ɵɵpureFunction2(10, _c1, ctx_r1.showTransitionOptions, ctx_r1.hideTransitionOptions)));\n i0.ɵɵattribute(\"aria-modal\", ctx_r1.overlayVisible)(\"aria-label\", ctx_r1.ariaLabel)(\"aria-labelledBy\", ctx_r1.ariaLabelledBy);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.contentTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showCloseIcon);\n }\n}\nlet OverlayPanel = /*#__PURE__*/(() => {\n class OverlayPanel {\n document;\n platformId;\n el;\n renderer;\n cd;\n zone;\n config;\n overlayService;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n ariaLabel;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy;\n /**\n * Enables to hide the overlay when outside is clicked.\n * @group Props\n */\n dismissable = true;\n /**\n * When enabled, displays a close icon at top right corner.\n * @group Props\n */\n showCloseIcon;\n /**\n * Inline style of the component.\n * @group Props\n */\n style;\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass;\n /**\n * Target element to attach the panel, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n appendTo = 'body';\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n autoZIndex = true;\n /**\n * Aria label of the close icon.\n * @group Props\n */\n ariaCloseLabel;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n baseZIndex = 0;\n /**\n * When enabled, first button receives focus on show.\n * @group Props\n */\n focusOnShow = true;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n hideTransitionOptions = '.1s linear';\n /**\n * Callback to invoke when an overlay becomes visible.\n * @group Emits\n */\n onShow = new EventEmitter();\n /**\n * Callback to invoke when an overlay gets hidden.\n * @group Emits\n */\n onHide = new EventEmitter();\n templates;\n container;\n overlayVisible = false;\n render = false;\n isOverlayAnimationInProgress = false;\n selfClick = false;\n documentClickListener;\n target;\n willHide;\n scrollHandler;\n documentResizeListener;\n contentTemplate;\n closeIconTemplate;\n destroyCallback;\n overlayEventListener;\n overlaySubscription;\n constructor(document, platformId, el, renderer, cd, zone, config, overlayService) {\n this.document = document;\n this.platformId = platformId;\n this.el = el;\n this.renderer = renderer;\n this.cd = cd;\n this.zone = zone;\n this.config = config;\n this.overlayService = overlayService;\n }\n ngAfterContentInit() {\n this.templates?.forEach(item => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n case 'closeicon':\n this.closeIconTemplate = item.template;\n break;\n default:\n this.contentTemplate = item.template;\n break;\n }\n this.cd.markForCheck();\n });\n }\n bindDocumentClickListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentClickListener && this.dismissable) {\n let documentEvent = DomHandler.isIOS() ? 'touchstart' : 'click';\n const documentTarget = this.el ? this.el.nativeElement.ownerDocument : this.document;\n this.documentClickListener = this.renderer.listen(documentTarget, documentEvent, event => {\n if (!this.container?.contains(event.target) && this.target !== event.target && !this.target.contains(event.target) && !this.selfClick) {\n this.hide();\n }\n this.selfClick = false;\n this.cd.markForCheck();\n });\n }\n }\n }\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n this.selfClick = false;\n }\n }\n /**\n * Toggles the visibility of the panel.\n * @param {Event} event - Browser event\n * @param {Target} target - Target element.\n * @group Method\n */\n toggle(event, target) {\n if (this.isOverlayAnimationInProgress) {\n return;\n }\n if (this.overlayVisible) {\n if (this.hasTargetChanged(event, target)) {\n this.destroyCallback = () => {\n this.show(null, target || event.currentTarget || event.target);\n };\n }\n this.hide();\n } else {\n this.show(event, target);\n }\n }\n /**\n * Displays the panel.\n * @param {Event} event - Browser event\n * @param {Target} target - Target element.\n * @group Method\n */\n show(event, target) {\n target && event && event.stopPropagation();\n if (this.isOverlayAnimationInProgress) {\n return;\n }\n this.target = target || event.currentTarget || event.target;\n this.overlayVisible = true;\n this.render = true;\n this.cd.markForCheck();\n }\n onOverlayClick(event) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n this.selfClick = true;\n }\n onContentClick(event) {\n const targetElement = event.target;\n this.selfClick = event.offsetX < targetElement.clientWidth && event.offsetY < targetElement.clientHeight;\n }\n hasTargetChanged(event, target) {\n return this.target != null && this.target !== (target || event.currentTarget || event.target);\n }\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body') this.renderer.appendChild(this.document.body, this.container);else DomHandler.appendChild(this.container, this.appendTo);\n }\n }\n restoreAppend() {\n if (this.container && this.appendTo) {\n this.renderer.appendChild(this.el.nativeElement, this.container);\n }\n }\n align() {\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.container, this.baseZIndex + this.config.zIndex.overlay);\n }\n DomHandler.absolutePosition(this.container, this.target, false);\n const containerOffset = DomHandler.getOffset(this.container);\n const targetOffset = DomHandler.getOffset(this.target);\n const borderRadius = this.document.defaultView?.getComputedStyle(this.container).getPropertyValue('border-radius');\n let arrowLeft = 0;\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left - parseFloat(borderRadius) * 2;\n }\n this.container?.style.setProperty('--overlayArrowLeft', `${arrowLeft}px`);\n if (containerOffset.top < targetOffset.top) {\n DomHandler.addClass(this.container, 'p-overlaypanel-flipped');\n if (this.showCloseIcon) {\n this.renderer.setStyle(this.container, 'margin-top', '-30px');\n }\n }\n }\n onAnimationStart(event) {\n if (event.toState === 'open') {\n this.container = event.element;\n this.appendContainer();\n this.align();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n if (this.focusOnShow) {\n this.focus();\n }\n this.overlayEventListener = e => {\n if (this.container && this.container.contains(e.target)) {\n this.selfClick = true;\n }\n };\n this.overlaySubscription = this.overlayService.clickObservable.subscribe(this.overlayEventListener);\n this.onShow.emit(null);\n }\n this.isOverlayAnimationInProgress = true;\n }\n onAnimationEnd(event) {\n switch (event.toState) {\n case 'void':\n if (this.destroyCallback) {\n this.destroyCallback();\n this.destroyCallback = null;\n }\n if (this.overlaySubscription) {\n this.overlaySubscription.unsubscribe();\n }\n break;\n case 'close':\n if (this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n if (this.overlaySubscription) {\n this.overlaySubscription.unsubscribe();\n }\n this.onContainerDestroy();\n this.onHide.emit({});\n this.render = false;\n break;\n }\n this.isOverlayAnimationInProgress = false;\n }\n focus() {\n let focusable = DomHandler.findSingle(this.container, '[autofocus]');\n if (focusable) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => focusable.focus(), 5);\n });\n }\n }\n /**\n * Hides the panel.\n * @group Method\n */\n hide() {\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n onCloseClick(event) {\n this.hide();\n event.preventDefault();\n }\n onEscapeKeydown(event) {\n this.hide();\n }\n onWindowResize() {\n if (this.overlayVisible && !DomHandler.isTouchDevice()) {\n this.hide();\n }\n }\n bindDocumentResizeListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentResizeListener) {\n const window = this.document.defaultView;\n this.documentResizeListener = this.renderer.listen(window, 'resize', this.onWindowResize.bind(this));\n }\n }\n }\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n bindScrollListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n this.scrollHandler.bindScrollListener();\n }\n }\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n onContainerDestroy() {\n if (!this.cd.destroyed) {\n this.target = null;\n }\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n }\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n if (this.container && this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n if (!this.cd.destroyed) {\n this.target = null;\n }\n this.destroyCallback = null;\n if (this.container) {\n this.restoreAppend();\n this.onContainerDestroy();\n }\n if (this.overlaySubscription) {\n this.overlaySubscription.unsubscribe();\n }\n }\n static ɵfac = function OverlayPanel_Factory(t) {\n return new (t || OverlayPanel)(i0.ɵɵdirectiveInject(DOCUMENT), i0.ɵɵdirectiveInject(PLATFORM_ID), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1.PrimeNGConfig), i0.ɵɵdirectiveInject(i1.OverlayService));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: OverlayPanel,\n selectors: [[\"p-overlayPanel\"]],\n contentQueries: function OverlayPanel_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n }\n },\n hostAttrs: [1, \"p-element\"],\n hostBindings: function OverlayPanel_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"keydown.escape\", function OverlayPanel_keydown_escape_HostBindingHandler($event) {\n return ctx.onEscapeKeydown($event);\n }, false, i0.ɵɵresolveDocument);\n }\n },\n inputs: {\n ariaLabel: \"ariaLabel\",\n ariaLabelledBy: \"ariaLabelledBy\",\n dismissable: [2, \"dismissable\", \"dismissable\", booleanAttribute],\n showCloseIcon: [2, \"showCloseIcon\", \"showCloseIcon\", booleanAttribute],\n style: \"style\",\n styleClass: \"styleClass\",\n appendTo: \"appendTo\",\n autoZIndex: [2, \"autoZIndex\", \"autoZIndex\", booleanAttribute],\n ariaCloseLabel: \"ariaCloseLabel\",\n baseZIndex: [2, \"baseZIndex\", \"baseZIndex\", numberAttribute],\n focusOnShow: [2, \"focusOnShow\", \"focusOnShow\", booleanAttribute],\n showTransitionOptions: \"showTransitionOptions\",\n hideTransitionOptions: \"hideTransitionOptions\"\n },\n outputs: {\n onShow: \"onShow\",\n onHide: \"onHide\"\n },\n features: [i0.ɵɵInputTransformsFeature],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 1,\n consts: [[\"role\", \"dialog\", 3, \"ngClass\", \"ngStyle\", \"class\", \"click\", 4, \"ngIf\"], [\"role\", \"dialog\", 3, \"click\", \"ngClass\", \"ngStyle\"], [1, \"p-overlaypanel-content\", 3, \"click\", \"mousedown\"], [4, \"ngTemplateOutlet\"], [\"type\", \"button\", \"class\", \"p-overlaypanel-close p-link\", \"pRipple\", \"\", 3, \"click\", \"keydown.enter\", 4, \"ngIf\"], [\"type\", \"button\", \"pRipple\", \"\", 1, \"p-overlaypanel-close\", \"p-link\", 3, \"click\", \"keydown.enter\"], [3, \"styleClass\", 4, \"ngIf\"], [\"class\", \"p-overlaypanel-close-icon\", 4, \"ngIf\"], [3, \"styleClass\"], [1, \"p-overlaypanel-close-icon\"]],\n template: function OverlayPanel_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵtemplate(0, OverlayPanel_div_0_Template, 5, 16, \"div\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.render);\n }\n },\n dependencies: () => [i2.NgClass, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, i3.Ripple, TimesIcon],\n styles: [\"@layer primeng{.p-overlaypanel{position:absolute;margin-top:10px;top:0;left:0}.p-overlaypanel-flipped{margin-top:0;margin-bottom:10px}.p-overlaypanel-close{display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.p-overlaypanel:after,.p-overlaypanel:before{bottom:100%;left:calc(var(--overlayArrowLeft, 0) + 1.25rem);content:\\\" \\\";height:0;width:0;position:absolute;pointer-events:none}.p-overlaypanel:after{border-width:8px;margin-left:-8px}.p-overlaypanel:before{border-width:10px;margin-left:-10px}.p-overlaypanel-shifted:after,.p-overlaypanel-shifted:before{left:auto;right:1.25em;margin-left:auto}.p-overlaypanel-flipped:after,.p-overlaypanel-flipped:before{bottom:auto;top:100%}.p-overlaypanel.p-overlaypanel-flipped:after{border-bottom-color:transparent}.p-overlaypanel.p-overlaypanel-flipped:before{border-bottom-color:transparent}}\\n\"],\n encapsulation: 2,\n data: {\n animation: [trigger('animation', [state('void', style({\n transform: 'scaleY(0.8)',\n opacity: 0\n })), state('close', style({\n opacity: 0\n })), state('open', style({\n transform: 'translateY(0)',\n opacity: 1\n })), transition('void => open', animate('{{showTransitionParams}}')), transition('open => close', animate('{{hideTransitionParams}}'))])]\n },\n changeDetection: 0\n });\n }\n return OverlayPanel;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet OverlayPanelModule = /*#__PURE__*/(() => {\n class OverlayPanelModule {\n static ɵfac = function OverlayPanelModule_Factory(t) {\n return new (t || OverlayPanelModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: OverlayPanelModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [CommonModule, RippleModule, SharedModule, TimesIcon, SharedModule]\n });\n }\n return OverlayPanelModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { OverlayPanel, OverlayPanelModule };\n","import { Component, Inject, inject, OnInit } from \"@angular/core\";\nimport {\n AsyncPipe,\n DatePipe,\n NgOptimizedImage,\n NgTemplateOutlet,\n} from \"@angular/common\";\nimport { Observable } from \"rxjs\";\nimport { UserDm } from \"@/_models\";\nimport UserModel = UserDm.UserModel;\nimport { USER_IS_AT_LEAST_ADMIN, UserService } from \"@/_services\";\nimport { SharedComponentsModule } from \"@/components/shared/shared-components.module\";\nimport { Router, RouterOutlet } from \"@angular/router\";\nimport { HomeCrewPerformanceComponent } from \"@/components/home/home-crew-performance/home-crew-performance.component\";\nimport { DropdownModule } from \"primeng/dropdown\";\nimport { FormsModule } from \"@angular/forms\";\nimport { AddonFeature } from \"@/_models/addon-features\";\nimport { filter, switchMap, tap } from \"rxjs/operators\";\nimport { AccountService } from \"@/_services/account.service\";\nimport { IssueService } from \"@/_services/issue.service\";\nimport { PromotionService } from \"@/_services/promotion.service\";\nimport { Issue } from \"@/_models/issue.interface\";\nimport { Promotion } from \"@/_models/promotion.interface\";\nimport { OverlayPanelModule } from \"primeng/overlaypanel\";\n\n@Component({\n selector: \"app-home\",\n standalone: true,\n imports: [\n AsyncPipe,\n DatePipe,\n NgOptimizedImage,\n SharedComponentsModule,\n RouterOutlet,\n HomeCrewPerformanceComponent,\n DropdownModule,\n FormsModule,\n OverlayPanelModule,\n NgTemplateOutlet,\n ],\n templateUrl: \"./home.component.html\",\n styleUrl: \"./home.component.scss\",\n})\nexport class HomeComponent implements OnInit {\n private userService = inject(UserService);\n private router = inject(Router);\n private accountService = inject(AccountService);\n private issueService = inject(IssueService);\n private promoService = inject(PromotionService);\n\n currentDate: Date;\n currentUser$: Observable;\n\n currentQuote: string = \"\";\n quoteList: string[] = [\n \"Safety doesn’t happen by accident.\",\n '\"An ounce of prevention is worth a pound of cure.\" – Benjamin Franklin',\n '\"The best preparation for tomorrow is doing your best today.\" – H. Jackson Brown, Jr.',\n '\"Risk comes from not knowing what you’re doing.\" – Warren Buffett',\n '\"What gets measured gets managed.\" – Peter Drucker',\n \"Preparedness is the key to safety.\",\n '\"Success is no accident.\" – Pele',\n '\"Confidence comes from being prepared.\" – John Wooden',\n \"Safety is a journey, not a destination.\",\n \"Small steps every day lead to big safety milestones.\",\n \"The greatest danger is in not taking risk seriously.\",\n \"Do it safely, or don’t do it at all.\",\n '\"Courage is knowing what not to fear.\" – Plato',\n '\"By failing to prepare, you are preparing to fail.\" – Benjamin Franklin',\n \"Your safety is your responsibility.\",\n \"Anticipate the unexpected.\",\n \"In safety, seconds save lives.\",\n \"Control the risk, or the risk will control you.\",\n \"Safety is a state of mind—accidents are an absence of mind.\",\n \"Plan for the worst, hope for the best.\",\n ];\n\n quickActionList = [\n { label: \"File Report\", onClick: () => this.fileReport() },\n {\n label: \"Start Corrective Action\",\n onClick: () => this.startCorrectiveAction(),\n },\n { label: \"Send Promotion\", onClick: () => this.sendPromotion() },\n {\n label: \"Manage Safety Objectives\",\n onClick: () => this.manageSafetyObjectives(),\n },\n {\n label: \"Manage Crew Members\",\n onClick: () => this.manageCrewMembers(),\n },\n ];\n\n navTabList = [\n { label: \"Tasks\", link: \"tasks\" },\n /*{ label: \"Mentions\", link: \"mentions\" },*/\n { label: \"Promotions\", link: \"promotions\" },\n ];\n\n constructor(\n @Inject(USER_IS_AT_LEAST_ADMIN) public isAdmin$: Observable,\n ) {}\n\n ngOnInit(): void {\n this.currentDate = new Date();\n this.currentUser$ = this.userService.getCurrentUserAsync();\n this.currentQuote =\n this.quoteList[Math.floor(Math.random() * this.quoteList.length)];\n }\n\n submitAssessment() {\n this.router.navigateByUrl(\"/tasks/createFlight?formFilter=assessments\");\n }\n\n fileReport() {\n this.accountService\n .checkFormFeature(AddonFeature.SAFETY_ASSURANCE)\n .pipe(\n filter((result) => result),\n tap(() =>\n this.router.navigateByUrl(\n \"/tasks/createFlight?formFilter=not-assessments\",\n ),\n ),\n )\n .subscribe();\n }\n\n startCorrectiveAction() {\n this.accountService\n .checkFormFeature(AddonFeature.SAFETY_ASSURANCE)\n .pipe(\n filter((result) => result),\n switchMap(() => this.issueService.createIssue()),\n tap((issue: Issue) =>\n this.router.navigateByUrl(`/mitigations/${issue._id}`),\n ),\n )\n .subscribe();\n }\n\n sendPromotion() {\n this.accountService\n .checkFormFeature(AddonFeature.SAFETY_PROMOTION)\n .pipe(\n filter((result) => result),\n switchMap(() => this.promoService.createPromotion()),\n tap((promotion: Promotion) =>\n this.router.navigateByUrl(`/promotions/${promotion._id}`),\n ),\n )\n .subscribe();\n }\n\n manageSafetyObjectives() {\n this.accountService\n .checkFormFeature(AddonFeature.SAFETY_POLICY)\n .pipe(\n filter((result) => result),\n tap(() => this.router.navigateByUrl(\"/policies/objectives\")),\n )\n .subscribe();\n }\n\n manageCrewMembers() {\n this.router.navigateByUrl(\"/profile/users\");\n }\n\n q(event) {\n console.log(event);\n }\n}\n","
\n
\n

{{currentDate | date:'MMMM d, y':'UTC'}}

\n
\n \n Welcome back, {{ (currentUser$ | async)?.firstName }}\n \"Welcome\"\n \n\n
\n \n
\n
\n {{ currentQuote }}\n
\n\n
\n \n
\n\n
\n
\n

Recent Activity

\n\n \n\n
\n \n
\n
\n\n \n \n
\n
\n\n\n \n\n @if (!(isAdmin$ | async)) {\n \n } @else {\n \n \n Manage\n \n \n
\n {{ item.label }}\n
\n
\n \n }\n
\n","import { Component, Input } from \"@angular/core\";\nimport { UserService } from \"@/_services\";\nimport { CtaState, FlightCtaService } from \"@/_services/flight-cta.service\";\nimport { UserDm } from \"@/_models\";\nimport User = UserDm.User;\nimport { FlightModel } from \"@/_models/flight/flight.model\";\nimport { SharedComponentsModule } from \"../../shared/shared-components.module\";\nimport { FieldExcludesFilterPipe } from \"@/_pipes/field-excludes-filter.pipe\";\nimport { NgClass } from \"@angular/common\";\n\n@Component({\n selector: \"app-home-task-card\",\n standalone: true,\n imports: [SharedComponentsModule, FieldExcludesFilterPipe, NgClass],\n templateUrl: \"./home-task-card.component.html\",\n styleUrl: \"./home-task-card.component.scss\",\n})\nexport class HomeTaskCardComponent {\n @Input() flight: FlightModel;\n @Input() showEdit: boolean = false;\n @Input() isLast: boolean = false;\n\n ctaState: CtaState;\n currentUser: User;\n\n constructor(\n private userService: UserService,\n private flightCtaService: FlightCtaService,\n ) {\n this.currentUser = this.userService.getCurrentUser();\n }\n\n ngOnInit(): void {\n if (this.flight) {\n this.ctaState = this.flightCtaService.getCtaState(\n this.flight,\n this.currentUser,\n );\n }\n }\n}\n","
\n
\n \n @if (flight | getFormTitle:true; as title) {\n @switch (title.type) {\n @case ('title') {\n {{title.value}}\n }\n @case ('date') {\n {{title.value}}\n }\n @case ('airports') {\n {{title.value[0]}}\n \n \n {{title.value[1]}}\n }\n }\n }\n \n

\n
\n\n
\n @if (flight.assessment?.formTypeSettings?.type === 'generalForm') {\n General\n } @else {\n {{flight.assessment?.formTypeSettings?.type}}\n }\n
\n\n \n\n \n
\n\n
\n \n \n @if (flight | getFormTitle:true; as title) {\n @switch (title.type) {\n @case ('title') {\n {{title.value}}\n }\n @case ('date') {\n {{title.value}}\n }\n @case ('airports') {\n {{title.value[0]}}\n \n \n {{title.value[1]}}\n }\n }\n }\n \n \n \n \n \n
\n @if (flight.assessment?.formTypeSettings?.type === 'generalForm') {\n General\n } @else {\n {{flight.assessment?.formTypeSettings?.type}}\n }\n
\n
\n \n @for (field of flight.fields; track field) {\n @if (field | fieldExcludesFilter:'fieldName':(flight | getFormTitle:true)?.fields) {\n
\n {{field.label}}: {{(flight | flightField:field.fieldName)}}\n
\n }\n }\n
\n \n
\n
\n","import {\n Component,\n ElementRef,\n EventEmitter,\n OnInit,\n Output,\n ViewChild,\n} from \"@angular/core\";\nimport {\n BehaviorSubject,\n concat,\n Observable,\n of,\n shareReplay,\n tap,\n} from \"rxjs\";\nimport { FlightModel } from \"@/_models/flight/flight.model\";\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\nimport { FlightService } from \"@/_services\";\nimport { FilterService } from \"@/_services/filter.service\";\nimport { debounceTime, map, switchMap } from \"rxjs/operators\";\nimport { Flight, MitigationState, UserDm } from \"@/_models\";\nimport { expandingFabAnimations } from \"@/_utility/animations\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport UserRoles = UserDm.UserRoles;\nimport { AsyncPipe, NgClass } from \"@angular/common\";\nimport { PaginatorModule } from \"primeng/paginator\";\nimport { SharedComponentsModule } from \"@/components/shared/shared-components.module\";\nimport { HomeTaskCardComponent } from \"@/components/home/home-task-card/home-task-card.component\";\n\n@Component({\n selector: \"app-home-task-list\",\n standalone: true,\n imports: [\n AsyncPipe,\n PaginatorModule,\n SharedComponentsModule,\n HomeTaskCardComponent,\n NgClass,\n ],\n templateUrl: \"./home-task-list.component.html\",\n styleUrls: [\"./home-task-list.component.scss\"],\n animations: [expandingFabAnimations],\n})\nexport class HomeTaskListComponent implements OnInit {\n @Output() onFilterMenuToggle = new EventEmitter();\n @ViewChild(\"taskArea\") taskArea: ElementRef;\n\n taskList$: Observable;\n\n currentSorting: { key: string; value: string } = {\n key: \"flightDate\",\n value: \"desc\",\n };\n\n filterForm: FormGroup;\n\n private page$: BehaviorSubject = new BehaviorSubject(0);\n pageSize: number = 10;\n total: number = 0;\n\n constructor(\n private flightService: FlightService,\n private formBuilder: FormBuilder,\n private filterService: FilterService,\n private route: ActivatedRoute,\n ) {}\n\n ngOnInit() {\n this.filterForm = this.formBuilder.group({\n responsiblePilot: [\"\"],\n });\n\n this.taskList$ = this.accumulateFlightList();\n }\n\n accumulateFlightList() {\n const currentUser = this.route.snapshot.data[\n \"user\"\n ] as UserDm.UserModel;\n\n // todo: get rid of this form since it's not wired up to actual controls. It's value never changes.\n this.filterForm\n .get(\"responsiblePilot\")\n .setValue(currentUser._id, { emitEvent: false });\n\n return concat(\n of(null), // reset the scroll container between filter changes\n this.page$.pipe(\n debounceTime(500),\n switchMap((page) => {\n const filterParams = this.buildFilterQuery();\n const sortParams = this.buildSortQuery();\n return this.flightService.getFlights(\n filterParams,\n sortParams,\n page,\n this.pageSize,\n );\n }),\n tap((list) => (this.total = list.meta[\"total\"])),\n map((list) => list.data),\n shareReplay(),\n ),\n );\n }\n\n buildFilterQuery() {\n return this.filterService.buildFilterQuery(this.filterForm);\n }\n\n buildSortQuery() {\n const sortQuery = new URLSearchParams();\n if (this.currentSorting.key) {\n sortQuery.append(\n this.currentSorting.key,\n this.currentSorting.value,\n );\n }\n return sortQuery;\n }\n\n public getFlightClass(flight: Flight) {\n const state = flight.frat && flight.frat.mitigationState;\n switch (state) {\n case MitigationState.approved:\n return \"approved\";\n case MitigationState.needsMitigation:\n return \"needs-mitigation\";\n case MitigationState.submittedForApproval:\n return \"waiting-approval\";\n default:\n return \"\";\n }\n }\n\n onPageChange(event: any) {\n this.page$.next(event.page);\n }\n}\n","@if (!(taskList$ | async)) {\n \n} @else {\n @if ((taskList$ | async)?.length === 0) {\n \n
\n \"Empty\"\n

You’re All Caught Up

\n

\n Take a load off, there are no remaining\n
\n tasks for you to complete.\n

\n
\n
\n } @else {\n
\n @for (flight of taskList$ | async; track flight; let index = $index) {\n \n \n }\n
\n\n @if (total >= pageSize) {\n \n \n }\n }\n}\n","import { Component, inject, Input } from \"@angular/core\";\nimport { Promotion } from \"@/_models/promotion.interface\";\nimport { Router } from \"@angular/router\";\nimport { FieldExcludesFilterPipe } from \"@/_pipes/field-excludes-filter.pipe\";\nimport { SharedComponentsModule } from \"@/components/shared/shared-components.module\";\nimport { DateTimeFormat } from \"@/_utility/DateTimeFormat\";\nimport { DatePipe, NgClass } from \"@angular/common\";\n\n@Component({\n selector: \"app-home-promotion-card\",\n standalone: true,\n imports: [\n FieldExcludesFilterPipe,\n SharedComponentsModule,\n DatePipe,\n NgClass,\n ],\n templateUrl: \"./home-promotion-card.component.html\",\n styleUrl: \"./home-promotion-card.component.scss\",\n})\nexport class HomePromotionCardComponent {\n private router = inject(Router);\n\n @Input() promo: Promotion;\n @Input() isLast: boolean = false;\n protected readonly DateTimeFormat = DateTimeFormat;\n\n openPromotion(promoId: string) {\n return this.router.navigateByUrl(`/promotions/${promoId}`);\n }\n}\n","
\n
\n {{promo.title || \"--\"}}\n

{{promo.creator.abbreviatedName}} sent you a safety promotion on {{promo.sentDate | date:DateTimeFormat.NG_DATE_FORMAT:'UTC'}}

\n
\n\n
\n Promotion\n
\n\n
\n {{promo.status}}\n
\n\n \n
\n\n
\n \n \n {{promo.title}}\n \n \n
\n {{promo.status}}\n
\n
\n \n
\n Promotion\n
\n
\n \n {{promo.creator.abbreviatedName}} sent you a safety promotion on {{promo.sentDate | date:DateTimeFormat.NG_DATE_FORMAT:'UTC'}}\n \n \n \n \n
\n
\n","import { Component, inject, OnInit } from \"@angular/core\";\nimport { PromotionService } from \"@/_services/promotion.service\";\nimport {\n BehaviorSubject,\n concat,\n Observable,\n of,\n shareReplay,\n tap,\n} from \"rxjs\";\nimport { Promotion, PromotionStatus } from \"@/_models/promotion.interface\";\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { UserDm } from \"@/_models\";\nimport { debounceTime, map, switchMap } from \"rxjs/operators\";\nimport UserRoles = UserDm.UserRoles;\nimport { FilterService } from \"@/_services/filter.service\";\nimport { AsyncPipe } from \"@angular/common\";\nimport { PaginatorModule } from \"primeng/paginator\";\nimport { SharedComponentsModule } from \"@/components/shared/shared-components.module\";\nimport { HomePromotionCardComponent } from \"@/components/home/home-promotion-card/home-promotion-card.component\";\n\n@Component({\n selector: \"app-home-promotion-list\",\n standalone: true,\n imports: [\n AsyncPipe,\n PaginatorModule,\n SharedComponentsModule,\n HomePromotionCardComponent,\n ],\n templateUrl: \"./home-promotion-list.component.html\",\n styleUrl: \"./home-promotion-list.component.scss\",\n})\nexport class HomePromotionListComponent implements OnInit {\n private formBuilder = inject(FormBuilder);\n private promoService = inject(PromotionService);\n private filterService = inject(FilterService);\n private activatedRoute = inject(ActivatedRoute);\n\n promoList$: Observable;\n\n private page$: BehaviorSubject = new BehaviorSubject(0);\n pageSize: number = 10;\n total: number = 0;\n\n filterForm: FormGroup;\n currentSorting: { key: string; value: string } = {\n key: \"createdAt\",\n value: \"desc\",\n };\n\n constructor() {}\n\n ngOnInit() {\n this.filterForm = this.formBuilder.group({\n status: [[PromotionStatus.Sent, PromotionStatus.Overdue]],\n });\n\n this.promoList$ = this.accumulatePromoList();\n }\n\n accumulatePromoList() {\n return concat(\n of(null), // reset the scroll container between filter changes\n this.page$.pipe(\n debounceTime(500),\n switchMap((page) => {\n const filterParams = this.buildFilterQuery();\n const sortParams = this.buildSortQuery();\n return this.promoService.getPromotionList(\n filterParams,\n sortParams,\n page,\n this.pageSize,\n );\n }),\n tap((list) => (this.total = list.meta[\"total\"])),\n map((list) => list.data),\n shareReplay(),\n ),\n );\n }\n\n buildFilterQuery() {\n return this.filterService.buildFilterQuery(this.filterForm);\n }\n\n buildSortQuery() {\n const sortQuery = new URLSearchParams();\n if (this.currentSorting.key) {\n sortQuery.append(\n this.currentSorting.key,\n this.currentSorting.value,\n );\n }\n return sortQuery;\n }\n\n onPageChange(event: any) {\n this.page$.next(event.page);\n }\n}\n","@if (!(promoList$ | async)) {\n \n} @else {\n @if ((promoList$ | async)?.length === 0) {\n \n
\n \"Empty\"\n

No Safety Messages

\n

\n You're all clear! No new safety updates\n
\n have landed in your inbox.\n

\n
\n
\n } @else {\n
\n @for (promo of promoList$ | async; track promo; let index = $index) {\n \n \n }\n
\n\n @if (total >= pageSize) {\n \n \n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule, NgOptimizedImage } from \"@angular/common\";\nimport { PagesComponent } from \"@/components/pages/pages.component\";\nimport { SharedComponentsModule } from \"@/components/shared/shared-components.module\";\nimport { RouterModule, Routes } from \"@angular/router\";\nimport { BakeryComponent } from \"@/components/error-test/bakery.component\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { SubscriptionGuard } from \"@/_guards/subscription-guard.service\";\nimport { StatisticsComponent } from \"@/components/statistics/statistics.component\";\nimport { DesktopMenuComponent } from \"@/components/pages/desktop-menu/desktop-menu.component\";\nimport { MobileMenuComponent } from \"@/components/pages/mobile-menu/mobile-menu.component\";\nimport { MobileFullMenuComponent } from \"@/components/pages/mobile-menu/mobile-full-menu/mobile-full-menu.component\";\nimport { AvailableForMobileGuard } from \"@/_guards/available-for-mobile.guard\";\nimport { MatExpansionModule } from \"@angular/material/expansion\";\nimport { MatSidenavModule } from \"@angular/material/sidenav\";\nimport { InsightsFilterTopbarComponent } from \"@/components/statistics/insights-filter-topbar/insights-filter-topbar.component\";\nimport { InsightsFilterSidebarComponent } from \"@/components/statistics/insights-filter-sidebar/insights-filter-sidebar.component\";\nimport { WelcomeTrialComponent } from \"@/components/welcome-trial/welcome-trial.component\";\nimport { QuickStartCardComponent } from \"@/components/welcome-trial/quick-start-card/quick-start-card.component\";\nimport { SetupLineComponent } from \"@/components/welcome-trial/setup-line/setup-line.component\";\nimport { EmpowerLineComponent } from \"@/components/welcome-trial/empower-line/empower-line.component\";\nimport { activeTrialOnlyGuard } from \"@/_guards/active-trial-only.guard\";\nimport { HomeComponent } from \"@/components/home/home.component\";\nimport { HomeTaskListComponent } from \"@/components/home/home-task-list/home-task-list.component\";\nimport { CurrentUserResolver } from \"@/resolver/CurrentUserResolver\";\nimport { HomePromotionListComponent } from \"@/components/home/home-promotion-list/home-promotion-list.component\";\n\nconst ROUTES: Routes = [\n {\n path: \"\",\n component: PagesComponent,\n children: [\n {\n path: \"welcome-trial\",\n component: WelcomeTrialComponent,\n canActivate: [activeTrialOnlyGuard],\n },\n {\n path: \"performance\",\n component: StatisticsComponent,\n canActivate: [SubscriptionGuard],\n },\n {\n path: \"settings\",\n component: MobileFullMenuComponent,\n canActivate: [AvailableForMobileGuard],\n },\n {\n path: \"home\",\n component: HomeComponent,\n canActivate: [SubscriptionGuard],\n children: [\n {\n path: \"\",\n pathMatch: \"full\",\n redirectTo: \"tasks\",\n },\n {\n path: \"tasks\",\n component: HomeTaskListComponent,\n resolve: {\n user: CurrentUserResolver,\n },\n },\n {\n path: \"promotions\",\n component: HomePromotionListComponent,\n resolve: {\n user: CurrentUserResolver,\n },\n },\n ],\n },\n {\n path: \"tasks\",\n loadChildren: () =>\n import(\"../flight/flight.module\").then(\n (m) => m.FlightModule,\n ),\n canActivate: [SubscriptionGuard],\n },\n {\n // #1061: retain compatibility for old links out in the wild\n path: \"flights/:id/summary\",\n redirectTo: (redirectData) => {\n const id = redirectData.params.id;\n return `/tasks/${id}/summary`;\n },\n },\n {\n // https://github.com/PreflightMitigator/pfm-webapp/issues/1171\n path: \"frats/:id/calculate\",\n redirectTo: (redirectData) => {\n return `/reports/${redirectData.params.id}/calculate`;\n },\n },\n {\n path: \"assurance\",\n loadChildren: () =>\n import(\"../safety-assurance/safety-assurance.module\").then(\n (m) => m.SafetyAssuranceModule,\n ),\n canActivate: [SubscriptionGuard],\n },\n {\n path: \"policies\",\n loadChildren: () =>\n import(\"../safety-policy/safety-policy.module\").then(\n (m) => m.SafetyPolicyModule,\n ),\n canActivate: [SubscriptionGuard],\n },\n {\n path: \"promotions\",\n loadChildren: () =>\n import(\n \"@/components/safety-promotion/safety-promotion.module\"\n ).then((m) => m.SafetyPromotionModule),\n canActivate: [SubscriptionGuard],\n },\n {\n path: \"manuals\",\n loadChildren: () =>\n import(\"../manuals/manuals.module\").then(\n (m) => m.ManualsModule,\n ),\n canActivate: [SubscriptionGuard],\n },\n {\n path: \"assessments\",\n loadChildren: () =>\n import(\"../assessment/assessment.module\").then(\n (m) => m.AssessmentModule,\n ),\n canActivate: [SubscriptionGuard],\n },\n {\n path: \"profile\",\n loadChildren: () =>\n import(\"../profile/profile.module\").then(\n (m) => m.ProfileModule,\n ),\n },\n {\n path: \"bakery\",\n component: BakeryComponent,\n },\n /*{\n path: \"**\",\n pathMatch: \"full\",\n redirectTo: \"welcome-trial\",\n },*/\n ],\n },\n];\n\n@NgModule({\n declarations: [\n PagesComponent,\n DesktopMenuComponent,\n MobileMenuComponent,\n WelcomeTrialComponent,\n QuickStartCardComponent,\n SetupLineComponent,\n EmpowerLineComponent,\n StatisticsComponent,\n InsightsFilterSidebarComponent,\n InsightsFilterTopbarComponent,\n BakeryComponent,\n MobileFullMenuComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n SharedComponentsModule,\n RouterModule.forChild(ROUTES),\n ReactiveFormsModule,\n MatExpansionModule,\n MatSidenavModule,\n NgOptimizedImage,\n ],\n})\nexport class PagesModule {}\n"],"mappings":"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","names":["ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵproperty","ɵɵpureFunction0","_c1","item_r1","icon","ɵɵsanitizeUrl","ɵɵelementContainerStart","ɵɵtemplate","DesktopMenuComponent_div_0_For_5_ng_container_1_Conditional_3_Template","DesktopMenuComponent_div_0_For_5_ng_container_1_Conditional_7_Template","routerLink","highlight","ɵɵconditional","ɵɵtextInterpolate","label","ɵɵpipeBind1","hasNotification$","DesktopMenuComponent_div_0_For_5_ng_container_1_Template","feature","_c2","item_r4","link_r5","isActive","ɵɵrepeaterCreate","DesktopMenuComponent_div_0_Conditional_7_Conditional_11_For_1_Template","ɵɵrepeaterTrackByIdentity","ɵɵrepeater","formMenu_r6","items","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","toggleCollapse","DesktopMenuComponent_div_0_Conditional_7_Conditional_9_Template","DesktopMenuComponent_div_0_Conditional_7_Conditional_11_Template","showForms","isAtLeastAdmin$","DesktopMenuComponent_div_0_div_1_Template","DesktopMenuComponent_div_0_For_5_Template","DesktopMenuComponent_div_0_Conditional_7_Template","tmp_2_0","mainMenu$","tmp_3_0","formMenu$","_c0","ɵɵtextInterpolate2","user_r7","firstName","lastName","email","DesktopMenuComponent","constructor","authenticationService","userService","menuService","enterEdit","EventEmitter","showAccountLink","hasLinkedLogins","ngOnInit","currentUser$","getCurrentUserAsync","pipe","shareReplay","createDesktopMenu","createFormMenu","ɵɵdirectiveInject","AuthenticationService","UserService","MenuService","USER_IS_AT_LEAST_ADMIN","selectors","inputs","outputs","decls","vars","consts","template","rf","ctx","DesktopMenuComponent_div_0_Template","_DesktopMenuComponent","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","menuItemClickled","emit","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵproperty","item_r3","routerLink","params","ɵɵadvance","icon","ɵɵsanitizeUrl","ɵɵtextInterpolate","label","ɵɵelementContainerStart","ɵɵtemplate","MobileFullMenuComponent_ng_container_12_a_1_Template","feature","MobileFullMenuComponent","constructor","menuService","authService","EventEmitter","ngOnInit","mainMenu$","createMobileSettingsMenu","logout","subscribe","ɵɵdirectiveInject","MenuService","AuthenticationService","selectors","outputs","decls","vars","consts","template","rf","ctx","MobileFullMenuComponent_ng_container_12_Template","tmp_2_0","ɵɵpipeBind1","items","_MobileFullMenuComponent","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","stopPropagation","ɵɵresetView","toggleMenu","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","_r3","_r4","MobileMenuComponent","constructor","ngOnInit","state","isMenuOpened","selectors","decls","vars","consts","template","rf","ctx","ɵɵtemplate","MobileMenuComponent_a_1_Template","MobileMenuComponent_ng_template_2_Template","ɵɵtemplateRefExtractor","MobileMenuComponent_app_mobile_full_menu_4_Template","menu_r5","settingsMenuAnimations","_MobileMenuComponent","ɵɵelement","ɵɵelementContainerStart","ɵɵtemplate","PagesComponent_ng_container_1_app_desktop_menu_1_Template","PagesComponent_ng_container_5_app_mobile_menu_1_Template","PagesComponent","constructor","router","activatedRoute","ngOnInit","hideMenu$","events","pipe","filter","e","NavigationEnd","startWith","map","childrenCheck","snapshot","firstChild","shareReplay","data","hasOwnProperty","hideDesktopMenu","hideMobileMenu","children","length","ɵɵdirectiveInject","Router","ActivatedRoute","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","PagesComponent_ng_container_1_Template","ɵɵelementEnd","PagesComponent_ng_container_5_Template","ɵɵadvance","ɵɵproperty","tmp_0_0","ɵɵpipeBind1","tmp_1_0","_PagesComponent","BakeryComponent","constructor","toastService","formBuilder","closeButtonOptions","label","value","ngOnInit","toastForm","group","type","control","closeButton","title","message","selectCloseButton","$event","get","patchValue","makeToast","params","options","disableTimeOut","closeToast","clear","ɵɵdirectiveInject","ToastrService","UntypedFormBuilder","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵelement","ɵɵproperty","ɵɵadvance","_BakeryComponent","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵproperty","ɵɵpureFunction1","_c0","control_r1","value","ɵɵadvance","ctx_r1","userList","ɵɵlistener","$event","control_r4","ɵɵrestoreView","_r3","ngIf","ɵɵnextContext","ɵɵresetView","setDateRangeValue","ɵɵpureFunction2","_c1","ɵɵpipeBind2","filterForm","timeFrameList","control_r5","aircraftList","control_r6","icao_code","control_r8","_r7","setValue","formList","InsightsFilterSidebarComponent","constructor","modalService","closeButtonClicked","EventEmitter","ngOnInit","control","get","filterModal","open","DateRangeFilterModalComponent","component","componentInstance","from","result","pipe","tap","length","subscribe","currentDate","Date","targetDate","setDate","getDate","currentDateString","toISOString","substring","targetDateString","close","emit","ɵɵdirectiveInject","NgbModal","selectors","inputs","outputs","decls","vars","consts","template","rf","ctx","ɵɵtext","ɵɵtemplate","InsightsFilterSidebarComponent_app_sidebar_filter_panel_7_Template","InsightsFilterSidebarComponent_app_sidebar_filter_panel_9_Template","InsightsFilterSidebarComponent_app_sidebar_filter_panel_11_Template","InsightsFilterSidebarComponent_app_sidebar_filter_panel_13_Template","InsightsFilterSidebarComponent_app_sidebar_filter_panel_15_Template","_InsightsFilterSidebarComponent","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","filter_r2","ɵɵnextContext","$implicit","ctx_r2","ɵɵresetView","resetFilter","key","ɵɵelementEnd","ɵɵproperty","ɵɵpipeBind2","value","userList","_r4","ɵɵpipeBind1","_r5","aircraftList","_r6","icao_code","name","_r7","formList","ɵɵelementContainer","ɵɵelementContainerStart","ɵɵtemplate","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_app_topbar_filter_button_1_Template","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_app_topbar_filter_button_2_Template","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_app_topbar_filter_button_3_Template","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_app_topbar_filter_button_4_Template","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_app_topbar_filter_button_5_Template","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_ng_container_6_Template","ɵɵadvance","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_Template","isDisplayable","InsightsFilterTopbarComponent","constructor","filterButtonClicked","EventEmitter","ngOnInit","openFilterMenu","emit","filter","_id","length","filterKey","filterForm","get","setValue","selectors","inputs","currentFilters","timeFrameList","outputs","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵtext","InsightsFilterTopbarComponent_ng_container_5_Template","_InsightsFilterTopbarComponent","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","exportPDF","ɵɵtext","ɵɵelementEnd","ɵɵelement","$event","i0","_r5","ɵɵreference","open","stopPropagation","ɵɵproperty","statsData$","ɵɵtemplate","StatisticsComponent_ng_template_16_ng_template_2_pilot_stats_0_Template","ɵɵpipeBind1","StatisticsComponent_ng_template_16_div_0_Template","StatisticsComponent_ng_template_16_ng_template_2_Template","ɵɵtemplateRefExtractor","StatisticsComponent_ng_template_16_div_4_Template","tmp_4_0","stats$","meta","results","stats_r6","ɵɵadvance","tmp_6_0","_r7","StatisticsComponent","constructor","userService","aircraftService","modalService","toastService","formBuilder","assessmentService","filterService","timeFrameList","label","value","ngOnInit","buildFilterForm","userList$","getUsers","pipe","map","users","user","fullName","_id","shareReplay","aircraftList$","listAircraft","aircrafts","aircraft","designation","formList$","getAssessmentsByType","assessments","assessment","title","ngOnDestroy","filterFormSubscription","unsubscribe","filterForm","group","responsiblePilot","timeFrame","flightDate","airport","valueChanges","debounceTime","tap","changes","localStorage","setItem","JSON","stringify","currentFilters","__spreadValues","updateFlightList","subscribe","getItem","filters","parse","patchValue","emitEvent","onlySelf","buildFilterQuery","getUserStats","stats","data","confirmationModal","PdfConfirmExportComponent","component","componentInstance","from","result","take","filter","switchMap","loading","LoadingModalComponent","loadingComponent","message","exportStats","response","link","document","createElement","href","window","URL","createObjectURL","download","filename","setAttribute","next","close","error","click","remove","err","ɵɵdirectiveInject","UserService","AircraftService","NgbModal","ToastrService","UntypedFormBuilder","AssessmentService","FilterService","selectors","decls","vars","consts","template","rf","ctx","StatisticsComponent_div_1_Template","_r1","sidenav_r4","StatisticsComponent_app_loading_indicator_14_Template","StatisticsComponent_ng_template_16_Template","StatisticsComponent_div_18_Template","content_r8","expandingFabAnimations","_StatisticsComponent","QuickStartCardComponent","selectors","inputs","iconSrc","iconId","title","description","ngContentSelectors","_c0","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵprojection","ɵɵproperty","ɵɵadvance","ɵɵsanitizeUrl","ɵɵtextInterpolate","_QuickStartCardComponent","SetupLineComponent","selectors","inputs","action","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵproperty","link","ɵɵadvance","icon","ɵɵsanitizeUrl","title","ɵɵtextInterpolate","description","_SetupLineComponent","EmpowerLineComponent","selectors","inputs","iconSrc","title","description","ngContentSelectors","_c0","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵprojection","ɵɵadvance","ɵɵproperty","ɵɵsanitizeUrl","ɵɵtextInterpolate","_EmpowerLineComponent","ɵɵelement","ɵɵproperty","action_r1","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtemplate","WelcomeTrialComponent_div_30_app_setup_line_8_Template","ɵɵadvance","ctx_r1","setupActionList","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","requestManual","integrateScheduling","modifyRiskForm","ɵɵstyleProp","WelcomeTrialComponent","constructor","userService","inject","UserService","formService","AssessmentService","issueService","IssueService","promotionService","PromotionService","router","Router","isAtLeastAdmin$","USER_IS_AT_LEAST_ADMIN","icon","title","description","link","ngOnInit","currentDate","Date","currentUser$","getCurrentUserAsync","takeAssessment","listAssessments","pipe","map","assessments","find","asmt","isDefault","tap","redirectAssessment","navigate","queryParams","assessmentId","_id","subscribe","submitHazard","navigateByUrl","mitigateRisk","createIssue","issue","sendPromotion","createPromotion","promotion","window","open","selectors","decls","vars","consts","template","rf","ctx","WelcomeTrialComponent_div_30_Template","WelcomeTrialComponent_div_32_Template","ɵɵtextInterpolate","ɵɵpipeBind3","ɵɵtextInterpolate1","tmp_2_0","ɵɵpipeBind1","firstName","_WelcomeTrialComponent","activeTrialOnlyGuard","route","state","subscriptionService","inject","SubscriptionService","router","Router","subscriptionData","pipe","map","subscription","isTrialActive","navigateByUrl","PercentChangePipe","transform","value","floatValue","parseFloat","isNaN","isFinite","pure","standalone","_PercentChangePipe","import_chart","PerformanceChartComponent","ngOnInit","ngOnChanges","changes","chart","data","currentValue","update","ngAfterViewInit","Chart","chartCanvas","nativeElement","type","options","selectors","viewQuery","rf","ctx","ɵɵelement","_PerformanceChartComponent","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","averageChartOptions","ctx","ɵɵtext","ɵɵtemplate","HomeCrewPerformanceComponent_Conditional_4_Conditional_0_Conditional_22_Template","ɵɵtextInterpolate1","ɵɵpipeBind1","averageScores_r2","percentChange","ɵɵtextInterpolate","currentPeriodAvg","ɵɵpipeBind2","stats_r3","meta","currentPeriodStart","DateTimeFormat","NG_DATE_FORMAT_WITH_YEAR","previousPeriodAvg","ɵɵtextInterpolate2","previousPeriodStart","previousPeriodEnd","ɵɵconditional","tmp_12_0","averageScoreDataSet$","completionChartOptions","HomeCrewPerformanceComponent_Conditional_4_Conditional_1_Conditional_30_Template","completionRate_r4","currentPeriodCompletedPercent","currentPeriodCompleted","currentPeriodTotal","previousPeriodCompleted","previousPeriodTotal","previousPeriodCompletedPercent","tmp_14_0","completionDataset$","ɵɵelementContainer","HomeCrewPerformanceComponent_Conditional_4_Conditional_0_Template","HomeCrewPerformanceComponent_Conditional_4_Conditional_1_Template","HomeCrewPerformanceComponent_Conditional_4_ng_container_2_Template","HomeCrewPerformanceComponent_Conditional_4_ng_container_3_Template","HomeCrewPerformanceComponent_Conditional_4_ng_container_4_Template","tmp_3_0","averageScores","tmp_4_0","completionRate","specificScores_r5","ɵɵpureFunction2","_c0","severeScores","_c1","moderateScores","_c2","mildScores","title_r6","scores_r8","currentPeriod","stats_r7","previousPeriod","lightChartLabelColor","labelOptions","color","font","weight","size","display","context","dataset","data","dataIndex","HomeCrewPerformanceComponent","_a","constructor","flightService","inject","FlightService","isAdmin","timeFrameList","label","value","timeFrameControl","FormControl","type","plugins","datalabels","legend","aspectRatio","responsive","maintainAspectRatio","scales","yAxes","ticks","beginAtZero","stepSize","autoSkip","xAxes","ngOnInit","stats$","valueChanges","pipe","untilDestroyed","startWith","switchMap","getStats","shareReplay","map","stats","labels","datasets","borderColor","fill","currentPeriodValues","previousPeriodValues","ngOnDestroy","timeFrameSubscription","unsubscribe","selectors","inputs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","HomeCrewPerformanceComponent_Conditional_4_Template","HomeCrewPerformanceComponent_ng_template_6_Template","ɵɵtemplateRefExtractor","tmp_6_0","SharedComponentsModule","CardComponent","DropdownModule","Dropdown","FormsModule","NgControlStatus","ReactiveFormsModule","FormControlDirective","AsyncPipe","DatePipe","NgTemplateOutlet","PercentChangePipe","PerformanceChartComponent","styles","changeDetection","__decorate","UntilDestroy","OverlayPanelModule","_OverlayPanelModule","__publicField","t","ɵɵdefineNgModule","ɵɵdefineInjector","CommonModule","RippleModule","SharedModule","TimesIcon","ɵɵelementContainer","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r3","ctx_r1","ɵɵnextContext","ɵɵresetView","fileReport","ɵɵtext","ɵɵelementEnd","item_r5","_r4","$implicit","onClick","ɵɵadvance","ɵɵtextInterpolate","label","ɵɵtemplate","HomeComponent_ng_template_25_Conditional_4_ng_template_1_Template","HomeComponent_ng_template_25_Conditional_4_ng_template_2_Template","ɵɵproperty","quickActionList","_r1","submitAssessment","HomeComponent_ng_template_25_Conditional_2_Template","HomeComponent_ng_template_25_Conditional_4_Template","ɵɵconditional","ɵɵpipeBind1","isAdmin$","HomeComponent","constructor","userService","inject","UserService","router","Router","accountService","AccountService","issueService","IssueService","promoService","PromotionService","currentQuote","quoteList","startCorrectiveAction","sendPromotion","manageSafetyObjectives","manageCrewMembers","navTabList","link","ngOnInit","currentDate","Date","currentUser$","getCurrentUserAsync","Math","floor","random","length","navigateByUrl","checkFormFeature","AddonFeature","SAFETY_ASSURANCE","pipe","filter","result","tap","subscribe","switchMap","createIssue","issue","_id","SAFETY_PROMOTION","createPromotion","promotion","SAFETY_POLICY","q","event","console","log","ɵɵdirectiveInject","USER_IS_AT_LEAST_ADMIN","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵelement","HomeComponent_ng_container_11_Template","HomeComponent_ng_container_15_Template","HomeComponent_ng_template_25_Template","ɵɵtemplateRefExtractor","ɵɵpipeBind3","ɵɵtextInterpolate1","tmp_2_0","firstName","quickActions_r6","AsyncPipe","DatePipe","NgOptimizedImage","SharedComponentsModule","NavTabsComponent","RouterOutlet","HomeCrewPerformanceComponent","DropdownModule","Dropdown","PrimeTemplate","FormsModule","OverlayPanelModule","NgTemplateOutlet","styles","_HomeComponent","ɵɵtext","ɵɵtextInterpolate1","title_r1","value","ɵɵelement","ɵɵadvance","ɵɵproperty","ɵɵtemplate","HomeTaskCardComponent_Conditional_3_Case_0_Template","HomeTaskCardComponent_Conditional_3_Case_1_Template","HomeTaskCardComponent_Conditional_3_Case_2_Template","ɵɵconditional","tmp_2_0","ctx","type","ctx_r1","flight","assessment","formTypeSettings","title_r3","HomeTaskCardComponent_Conditional_16_Case_0_Template","HomeTaskCardComponent_Conditional_16_Case_1_Template","HomeTaskCardComponent_Conditional_16_Case_2_Template","ɵɵelementStart","ɵɵelementEnd","field_r4","label","ɵɵtextInterpolate","ɵɵpipeBind2","fieldName","HomeTaskCardComponent_For_26_Conditional_0_Template","ɵɵpipeBind3","tmp_10_0","fields","HomeTaskCardComponent","constructor","userService","flightCtaService","showEdit","isLast","currentUser","getCurrentUser","ngOnInit","ctaState","getCtaState","ɵɵdirectiveInject","UserService","FlightCtaService","selectors","inputs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ɵɵlistener","$event","stopPropagation","HomeTaskCardComponent_Conditional_3_Template","HomeTaskCardComponent_Conditional_9_Template","HomeTaskCardComponent_Conditional_10_Template","ɵɵelementContainerStart","HomeTaskCardComponent_Conditional_16_Template","HomeTaskCardComponent_Conditional_22_Template","HomeTaskCardComponent_Conditional_23_Template","ɵɵrepeaterCreate","HomeTaskCardComponent_For_26_Template","ɵɵrepeaterTrackByIdentity","ɵɵpureFunction1","_c0","tmp_1_0","ɵɵsanitizeHtml","tmp_8_0","ɵɵrepeater","SharedComponentsModule","FratStatusComponent","CustomIconComponent","FlightCardMobileComponent","FlightCardCtaComponent","FlightFieldPipe","GetFormTitlePipe","TaskDetailsPipe","FieldExcludesFilterPipe","NgClass","styles","_HomeTaskCardComponent","ɵɵelement","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","flight_r1","ɵ$index_26_r2","tmp_15_0","ɵɵpipeBind1","ctx_r2","taskList$","length","getFlightClass","ɵɵlistener","$event","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","onPageChange","total","ɵɵrepeaterCreate","HomeTaskListComponent_Conditional_2_Conditional_2_For_2_Template","ɵɵrepeaterTrackByIdentity","ɵɵtemplate","HomeTaskListComponent_Conditional_2_Conditional_2_Conditional_4_Template","ɵɵadvance","ɵɵrepeater","ɵɵconditional","pageSize","HomeTaskListComponent_Conditional_2_Conditional_0_Template","HomeTaskListComponent_Conditional_2_Conditional_2_Template","tmp_1_0","HomeTaskListComponent","constructor","flightService","formBuilder","filterService","route","onFilterMenuToggle","EventEmitter","currentSorting","key","value","page$","BehaviorSubject","ngOnInit","filterForm","group","responsiblePilot","accumulateFlightList","currentUser","snapshot","data","get","setValue","_id","emitEvent","concat","of","pipe","debounceTime","switchMap","page","filterParams","buildFilterQuery","sortParams","buildSortQuery","getFlights","tap","list","meta","map","shareReplay","sortQuery","URLSearchParams","append","flight","frat","mitigationState","MitigationState","approved","needsMitigation","submittedForApproval","event","next","ɵɵdirectiveInject","FlightService","FormBuilder","FilterService","ActivatedRoute","selectors","viewQuery","rf","ctx","HomeTaskListComponent_Conditional_0_Template","HomeTaskListComponent_Conditional_2_Template","AsyncPipe","PaginatorModule","Paginator","SharedComponentsModule","CardComponent","LoadingIndicatorComponent","HomeTaskCardComponent","NgClass","styles","animation","expandingFabAnimations","_HomeTaskListComponent","HomePromotionCardComponent","constructor","router","inject","Router","isLast","DateTimeFormat","openPromotion","promoId","navigateByUrl","selectors","inputs","promo","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵlistener","$event","stopPropagation","ɵɵtext","ɵɵelementEnd","_id","ɵɵelementContainerStart","ɵɵproperty","ɵɵpureFunction1","_c0","ɵɵadvance","ɵɵtextInterpolate","title","ɵɵtextInterpolate2","creator","abbreviatedName","ɵɵpipeBind3","sentDate","NG_DATE_FORMAT","ɵɵclassMapInterpolate1","status","ɵɵtextInterpolate1","SharedComponentsModule","FlightCardMobileComponent","DatePipe","NgClass","styles","_HomePromotionCardComponent","ɵɵelement","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","promo_r1","ɵ$index_26_r2","tmp_14_0","ɵɵpipeBind1","ctx_r2","promoList$","length","ɵɵlistener","$event","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","onPageChange","total","ɵɵrepeaterCreate","HomePromotionListComponent_Conditional_2_Conditional_2_For_2_Template","ɵɵrepeaterTrackByIdentity","ɵɵtemplate","HomePromotionListComponent_Conditional_2_Conditional_2_Conditional_4_Template","ɵɵadvance","ɵɵrepeater","ɵɵconditional","pageSize","HomePromotionListComponent_Conditional_2_Conditional_0_Template","HomePromotionListComponent_Conditional_2_Conditional_2_Template","tmp_1_0","HomePromotionListComponent","constructor","formBuilder","inject","FormBuilder","promoService","PromotionService","filterService","FilterService","activatedRoute","ActivatedRoute","page$","BehaviorSubject","currentSorting","key","value","ngOnInit","filterForm","group","status","PromotionStatus","Sent","Overdue","accumulatePromoList","concat","of","pipe","debounceTime","switchMap","page","filterParams","buildFilterQuery","sortParams","buildSortQuery","getPromotionList","tap","list","meta","map","data","shareReplay","sortQuery","URLSearchParams","append","event","next","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","HomePromotionListComponent_Conditional_0_Template","HomePromotionListComponent_Conditional_2_Template","AsyncPipe","PaginatorModule","Paginator","SharedComponentsModule","CardComponent","LoadingIndicatorComponent","HomePromotionCardComponent","styles","_HomePromotionListComponent","ROUTES","path","component","PagesComponent","children","WelcomeTrialComponent","canActivate","activeTrialOnlyGuard","StatisticsComponent","SubscriptionGuard","MobileFullMenuComponent","AvailableForMobileGuard","HomeComponent","pathMatch","redirectTo","HomeTaskListComponent","resolve","user","CurrentUserResolver","HomePromotionListComponent","loadChildren","then","m","FlightModule","redirectData","params","id","SafetyAssuranceModule","SafetyPolicyModule","SafetyPromotionModule","ManualsModule","AssessmentModule","ProfileModule","BakeryComponent","PagesModule","CommonModule","RouterModule","SharedComponentsModule","forChild","ReactiveFormsModule","MatExpansionModule","MatSidenavModule","_PagesModule"],"x_google_ignoreList":[30]}