]>
Commit | Line | Data |
---|---|---|
1 | import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core' | |
2 | import { ActivatedRoute, Router } from '@angular/router' | |
3 | import { PluginService } from '@app/core' | |
4 | ||
5 | @Component({ | |
6 | templateUrl: './plugin-pages.component.html' | |
7 | }) | |
8 | export class PluginPagesComponent implements AfterViewInit { | |
9 | @ViewChild('root') root: ElementRef | |
10 | ||
11 | constructor ( | |
12 | private route: ActivatedRoute, | |
13 | private router: Router, | |
14 | private pluginService: PluginService | |
15 | ) { | |
16 | ||
17 | } | |
18 | ||
19 | ngAfterViewInit () { | |
20 | const path = '/' + this.route.snapshot.url.map(u => u.path).join('/') | |
21 | ||
22 | const registered = this.pluginService.getRegisteredClientRoute(path) | |
23 | if (!registered) { | |
24 | console.log('Could not find registered route %s.', path, this.pluginService.getAllRegisteredClientRoutes()) | |
25 | ||
26 | return this.router.navigate([ '/404' ], { skipLocationChange: true }) | |
27 | } | |
28 | ||
29 | registered.onMount({ rootEl: this.root.nativeElement }) | |
30 | } | |
31 | } |