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;