brewman/overlord/src/app/payment/payment-resolver.service.ts
Amritanshu 72044476a8 Feature: Lazy loading
Lazy loaded everything
TODO: The cash flow module when clicking on sub-links, it reloads the whole page, it needs to be diagnosed and fixed, this problem also exists in the other modules
TODO: Rename folders and modules such as account to accounts to match the url
2019-06-13 16:36:43 +05:30

27 lines
829 B
TypeScript

import {Injectable} from '@angular/core';
import {ActivatedRouteSnapshot, Resolve, RouterStateSnapshot} from '@angular/router';
import {Observable} from 'rxjs/internal/Observable';
import {Voucher} from '../core/voucher';
import {VoucherService} from '../core/voucher.service';
@Injectable({
providedIn: 'root'
})
export class PaymentResolver implements Resolve<Voucher> {
constructor(private ser: VoucherService) {
}
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<Voucher> {
const id = route.paramMap.get('id');
const account = route.queryParamMap.get('a') || null;
if (id !== null) {
return this.ser.get(id);
} else if (account !== null) {
return this.ser.getOfType('Payment', account);
} else {
return this.ser.getOfType('Payment');
}
}
}