import { Component, OnInit} from '@angular/core'; import { ServerService } from './services/server.service'; import { JsonObjest } from '../app/entities/JsonObject.class'; import { TokenService, TokenProvider } from './services/login/token.service'; import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, ActivatedRoute, NavigationExtras } from '@angular/router'; import { MainSignInComponent } from './login/main-sign-in/main-sign-in.component'; import {BreadcrumbModule,MenuItem} from 'primeng/primeng'; import { BreadcrumbComponent } from './widgets/breadcrumb/breadcrumb.component'; declare const gapi: any; declare var $ :any; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'], providers: [] }) export class AppComponent implements OnInit { fields: any[]; sliderExpanded : boolean = false; breadcrumbHome: MenuItem = {icon: 'fa fa-home', routerLink: "/welcome"}; breadcrumbData: MenuItem[] = new Array(); constructor(private tokenService : TokenService, private router: Router, private route: ActivatedRoute) { } ngOnInit() { //this.initiateExternalProviders(); } initiateExternalProviders(){ //initiate google var clientId = '1010962018903-glegmqudqtl1lub0150vacopbu06lgsg.apps.googleusercontent.com'; var scope = [ 'profile', 'email' ].join(' '); if(gapi.auth2 == undefined){ gapi.load('auth2', () => { gapi.auth2.init({ client_id: clientId, cookiepolicy: 'single_host_origin', scope: scope }); //RE-Render the button (due to known issues of google-button with angular's lifecycle) gapi.signin2.render('googleBtn'); //var buttonElement = this.element.nativeElement.querySelector('#googleBtn'); //this.attachSignin(buttonElement); }); } } slideNav(){ $("#appSidebar").toggleClass("expanded"); $("#appBody").toggleClass("expanded"); } //loggedInAs : string = null; showLogin : boolean = false; login(){ //redirect to login page this.router.navigate(['/login'], { queryParams: { /*refresh : Math.random() ,returnUrl: this.state.url*/ }}); } logout(){ this.tokenService.logout(); } goToDMPs(){ this.router.navigate(['/dmps'], { queryParams: { /*refresh : Math.random() ,returnUrl: this.state.url*/ }}); } goToProjects(){ this.router.navigate(['/projects'], { queryParams: { /*refresh : Math.random() ,returnUrl: this.state.url*/ }}); } }