48 lines
1.2 KiB
TypeScript
48 lines
1.2 KiB
TypeScript
// #docregion
|
|
import { Component, OnInit } from '@angular/core';
|
|
import { ActivatedRoute } from '@angular/router';
|
|
import { Observable } from 'rxjs';
|
|
import { map } from 'rxjs/operators';
|
|
|
|
import { SelectivePreloadingStrategy } from '../selective-preloading-strategy';
|
|
|
|
|
|
@Component({
|
|
template: `
|
|
<p>Dashboard</p>
|
|
|
|
<p>Session ID: {{ sessionId | async }}</p>
|
|
<a id="anchor"></a>
|
|
<p>Token: {{ token | async }}</p>
|
|
|
|
Preloaded Modules
|
|
<ul>
|
|
<li *ngFor="let module of modules">{{ module }}</li>
|
|
</ul>
|
|
`
|
|
})
|
|
export class AdminDashboardComponent implements OnInit {
|
|
sessionId: Observable<string>;
|
|
token: Observable<string>;
|
|
modules: string[];
|
|
|
|
constructor(
|
|
private route: ActivatedRoute,
|
|
private preloadStrategy: SelectivePreloadingStrategy
|
|
) {
|
|
this.modules = preloadStrategy.preloadedModules;
|
|
}
|
|
|
|
ngOnInit() {
|
|
// Capture the session ID if available
|
|
this.sessionId = this.route
|
|
.queryParamMap
|
|
.pipe(map(params => params.get('session_id') || 'None'));
|
|
|
|
// Capture the fragment if available
|
|
this.token = this.route
|
|
.fragment
|
|
.pipe(map(fragment => fragment || 'None'));
|
|
}
|
|
}
|