/** 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'; /** * Client Charge data resolver. */ @Injectable() export class ClientChargeViewResolver implements Resolve { /** * @param {ClientsService} ClientsService Clients service. */ constructor(private clientsService: ClientsService) { } /** * Returns the Client Charge data. * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { const clientId = route.parent.parent.parent.paramMap.get('clientId'); const chargeId = route.paramMap.get('chargeId'); return this.clientsService.getSelectedChargeData(clientId, chargeId); } }