2013-02-28 2 views
2

Я хотел бы использовать новый Google+ sign-in button с GWT. Я нашел this post о том, как сделать виджет из html, но еще не успел.Кнопка входа в Google+ в GWT

public class GooglePlusSignIn extends Widget{ 

private final String googleHtml="<span id=\"signinButton\">" 
+"<span" 
+"class=\"g-signin\"" 
+"data-callback=\"signinCallback\"" 
+"data-clientid=\"clientID\"" 
+"data-cookiepolicy=\"single_host_origin\"" 
+"data-requestvisibleactions=\"http://schemas.google.com/AddActivity\"" 
+"data-scope=\"https://www.googleapis.com/auth/plus.login\">" 
+"</span>" 
+"</span>"; 

public GooglePlusSignIn(String params) { 
    Document document = Document.get(); 
    DivElement divElement = document.createDivElement(); 
    divElement.setInnerHTML(googleHtml); 
    setElement(divElement); //important, widget needs to know it's root element 
} 


private static native void doJsMagic(Element element)/*-{ //notifies js about element 
}-*/; 

private static native void undoJsMagic(Element element)/*-{ 
    //notifies js that it should do some cleanup (if needed) 
    //since it is unaware of GWT widget lifecycle 

}-*/; 

@Override 
public void onAttach() { 
    super.onAttach(); 
    doJsMagic(getElement()); 
} 

@Override 
public void onDetach() { 
    super.onDetach(); 
//  undoJsMagic(getElement()); 
    } 

} 
+0

Эй, я могу правильно ответить на это. –

ответ

0

Похоже, вам нужно позвонить $wnd.gapi.signin.go(element) в doJsMagic, но сделать это только один раз, на первом присоединять. Вам не нужно ничего делать в undoJsMagic.

1

Вам нужны пробелы в вашей строке. Пробел между диапазоном и классом, «g-signin \» и обратный вызов данных и т. Д.

Кроме того, я предполагаю, что вы это знаете, но вы должны заменить clientID своим фактическим идентификатором клиента из консоли разработчиков.

Смежные вопросы