import { ViewContainerRef, ComponentFactoryResolver, Directive, ResolvedReflectiveProvider} from '@angular/core';
import { Router, RouterOutlet, ActivatedRoute, RouterOutletMap } from '@angular/router';
@Directive({
selector: 'router-outlet'
})
export class ApplicationRouter extends RouterOutlet {
publicRoutes: Array;
private parentRouter: Router;
private router: Router;
constructor(parentOutletMap: RouterOutletMap, location:ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, name: string) {
super(parentOutletMap, location, componentFactoryResolver, name);
this.router = _parentRouter;
}
activate(activatedRoute: ActivatedRoute, providers: ResolvedReflectiveProvider[], outletMap: RouterOutletMap) {
debugger;
// return super.activate(instruction);
}
}
I I don't know the types for the super class to be instantiated, the purpose is to move authorization to router level.