blob: a1403d791f6dfadcd8992c5169061aedcd5db647 [file] [log] [blame]
import { Component, OnInit } from '@angular/core';
import {
Router,
ActivatedRoute,
NavigationStart,
NavigationEnd,
NavigationCancel,
NavigationError
} from '@angular/router';
import { MatDialog } from '@angular/material/dialog';
// import { Angulartics2Piwik } from 'angulartics2/piwik';
import { UserService } from './core/user.service';
import { InputDialogComponent } from './shared/dialog/input-dialog/input-dialog.component';
import { HelperService } from './shared/helper.service';
@Component({
selector: 'hi-root',
templateUrl: './app.component.html',
styleUrls: [ './app.component.scss' ],
providers: [ UserService/*, Angulartics2Piwik */ ]
})
export class AppComponent implements OnInit {
headerEnabled = true;
footerEnabled = true;
isLoading = true;
currentUser: any;
constructor(
// protected angulartics2Piwik: Angulartics2Piwik,
protected route: ActivatedRoute,
protected router: Router,
protected dialog: MatDialog,
protected service: UserService,
protected helper: HelperService
) {
router.events.subscribe(event => {
if (event instanceof NavigationStart) {
this.isLoading = true;
}
if (event instanceof NavigationEnd) {
this.isLoading = false;
}
if (event instanceof NavigationError) {
this.isLoading = false;
}
if (event instanceof NavigationCancel) {
this.isLoading = false;
}
});
// angulartics2Piwik.startTracking();
}
ngOnInit() {
this.currentUser = this.service.getCurrentUser();
this.route.queryParams.subscribe(params => {
if (params['embed'] == 'true') {
this.headerEnabled = this.footerEnabled = false;
}
});
}
login() {
this.dialog
.open(InputDialogComponent, {
data: {
title: 'Sign In',
message: 'Please enter your LDAP username and password to continue:',
values: {
username: {
label: 'Username'
},
password: {
label: 'Password',
type: 'password'
}
}
}
})
.afterClosed()
.subscribe(result => {
if (result && result.username.value && result.password.value) {
this.service
.login(result.username.value, result.password.value)
.subscribe(
isAuthorized => {
if (!isAuthorized) {
this.helper.showError("You're not part of helix-admin group or password incorrect");
}
this.currentUser = this.service.getCurrentUser();
},
error => this.helper.showError(error)
);
}
});
}
}