diff --git a/dmp-frontend/src/app/app.component.ts b/dmp-frontend/src/app/app.component.ts index a18742d99..fb0b02d02 100644 --- a/dmp-frontend/src/app/app.component.ts +++ b/dmp-frontend/src/app/app.component.ts @@ -35,45 +35,8 @@ export class AppComponent implements OnInit { } 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"); diff --git a/dmp-frontend/src/app/login/googgle-sign-in/googgle-sign-in.component.html b/dmp-frontend/src/app/login/googgle-sign-in/googgle-sign-in.component.html index e84f17f92..b7e7cd8f9 100644 --- a/dmp-frontend/src/app/login/googgle-sign-in/googgle-sign-in.component.html +++ b/dmp-frontend/src/app/login/googgle-sign-in/googgle-sign-in.component.html @@ -2,7 +2,7 @@ -
+
diff --git a/dmp-frontend/src/app/login/googgle-sign-in/googgle-sign-in.component.ts b/dmp-frontend/src/app/login/googgle-sign-in/googgle-sign-in.component.ts index d0f2dca38..7b0f37c58 100644 --- a/dmp-frontend/src/app/login/googgle-sign-in/googgle-sign-in.component.ts +++ b/dmp-frontend/src/app/login/googgle-sign-in/googgle-sign-in.component.ts @@ -14,7 +14,7 @@ declare function simple_notifier(type: string, title: string, message:string): a templateUrl: './googgle-sign-in.component.html', styleUrls: ['./googgle-sign-in.component.css'] }) -export class GooggleSignInComponent implements OnInit, AfterViewInit, Injectable { +export class GooggleSignInComponent implements OnInit, Injectable { @@ -22,17 +22,47 @@ export class GooggleSignInComponent implements OnInit, AfterViewInit, Injectable } + ngOnInit() { + this.initiateExternalProviders(); + } + + initiateExternalProviders(){ + + 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 + }).then(()=>this.renderButton()); + + }); + + }else{ + gapi.auth2.init({ + client_id: clientId, + cookiepolicy: 'single_host_origin', + scope: scope + }).then(()=>this.renderButton()); + } } - ngAfterViewInit() { + renderButton() { - //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); + if(buttonElement)this.attachSignin(buttonElement); } diff --git a/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.ts b/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.ts index 31290388e..e1b5702cd 100644 --- a/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.ts +++ b/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.ts @@ -4,6 +4,7 @@ import { NativeLoginService } from '../../services/login/native-login.service'; import { TokenService, TokenProvider } from '../../services/login/token.service'; import {Router} from '@angular/router'; import {MenuItem} from 'primeng/primeng'; +declare const gapi: any; import '../../../assets/custom.js'; declare function simple_notifier(type: string, title: string, message:string): any;