closes #1905 Added section for RouterLinkActive Added section for global query params and fragments Added section for RouterState Added wildcard route to example configuration Updated code samples Renamed .guard files to .service Renamed interfaces.ts to can-deactivate-guard.service.ts Removed unused files
47 lines
1.2 KiB
TypeScript
Executable File
47 lines
1.2 KiB
TypeScript
Executable File
// #docregion
|
|
import { Component } from '@angular/core';
|
|
import { Router } from '@angular/router';
|
|
import { AuthService } from './auth.service';
|
|
|
|
@Component({
|
|
template: `
|
|
<h2>LOGIN</h2>
|
|
<p>{{message}}</p>
|
|
<p>
|
|
<button (click)="login()" *ngIf="!authService.isLoggedIn">Login</button>
|
|
<button (click)="logout()" *ngIf="authService.isLoggedIn">Logout</button>
|
|
</p>`
|
|
})
|
|
export class LoginComponent {
|
|
message: string;
|
|
|
|
constructor(public authService: AuthService, public router: Router) {
|
|
this.setMessage();
|
|
}
|
|
|
|
setMessage() {
|
|
this.message = 'Logged ' + (this.authService.isLoggedIn ? 'in' : 'out');
|
|
}
|
|
|
|
login() {
|
|
this.message = 'Trying to log in ...';
|
|
|
|
this.authService.login().subscribe(() => {
|
|
this.setMessage();
|
|
if (this.authService.isLoggedIn) {
|
|
// Get the redirect URL from our auth service
|
|
// If no redirect has been set, use the default
|
|
let redirect = this.authService.redirectUrl ? this.authService.redirectUrl : '/crisis-center/admin';
|
|
|
|
// Redirect the user
|
|
this.router.navigate([redirect]);
|
|
}
|
|
});
|
|
}
|
|
|
|
logout() {
|
|
this.authService.logout();
|
|
this.setMessage();
|
|
}
|
|
}
|