/** Angular Imports */ import { Injectable } from '@angular/core'; import { Resolve, ActivatedRouteSnapshot } from '@angular/router'; /** rxjs Imports */ import { Observable } from 'rxjs'; /** Custom Services */ import { ClientsService } from '../clients.service'; /** * Clients data and template resolver. */ @Injectable() export class ClientDataAndTemplateResolver implements Resolve { /** * @param {ClientsService} ClientsService Clients service. */ constructor(private clientsService: ClientsService) {} /** * Returns the Clients data and template. * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { const clientId = route.paramMap.get('clientId'); return this.clientsService.getClientDataAndTemplate(clientId); } }