import { Injectable } from '@angular/core'; import { ActivatedRouteSnapshot, Resolve } from '@angular/router'; import { AdHocReportingResolver } from '@features/reporting/resolvers/ad-hoc-reporting.resolver'; import { DashboardsService } from '../dashboards.service'; @Injectable({ providedIn: 'root' }) export class HomeDashboardResolver implements Resolve { constructor ( private dashboardsService: DashboardsService, private adHocReportingResolver: AdHocReportingResolver ) { } async resolve (route: ActivatedRouteSnapshot) { await this.adHocReportingResolver.resolve(); await Promise.all([ this.dashboardsService.fetchWidgets(), this.dashboardsService.getDashboardDetail( route.params.id ) ]); } }