Окно авторизации

235 views
Skip to first unread message

Алексей Мельников

unread,
Aug 26, 2011, 8:56:20 AM8/26/11
to google-web...@googlegroups.com
Добрый день! Как правильно сделать окно авторизации пользователя? Хочу сделать так чтобы окно вылезло до загрузки основных модулей приложения и в случае провала авторизации интерфейс не грузился вообще. Как это должно быть архитектурно?)

Алексей Мельников

unread,
Aug 28, 2011, 10:26:34 PM8/28/11
to Google Web Toolkit на русском
уточню, использую mvp4g

Anton Alexeyev

unread,
Aug 28, 2011, 10:56:55 PM8/28/11
to Google Web Toolkit на русском
Использовать GWT.runAsync

Форма авторизации грузится первой, все остальные модули runAsync'ом в
отдельном асинхронном фрагменте.

Алексей Мельников

unread,
Aug 31, 2011, 7:31:51 AM8/31/11
to google-web...@googlegroups.com
Приведите, пожалуйста, пример использования runAsync. EntryPoint выглядит вот так
public void onModuleLoad() {
Mvp4gModule module = GWT.create( Mvp4gModule.class );
module.createAndStartModule();
RootPanel.get().add( (Widget)module.getStartView() );
}

 Как туда вставить загрузку диалогового окна с вызовом RootPanel.get().add( (Widget)module.getStartView() ); в случае успеха авторизации?

Anton Alexeyev

unread,
Sep 1, 2011, 9:40:38 PM9/1/11
to Google Web Toolkit на русском
public void onModuleLoad() {
final AnyLoginDialog loginDialog = new AnyLoginDialog(){
RootPanel.get().add( loginDialog );
@Override
public onSuccess() {
GWT.runAsync(new RunAsyncCallback() {
public void onFailure(Throwable caught) {
Window.alert("Code download failed");
}

public void onSuccess() {
RootPanel.get().remove(loginDialog )
Mvp4gModule module = GWT.create( Mvp4gModule.class );
module.createAndStartModule();
RootPanel.get().add( (Widget)module.getStartView() );
}
});

Anton Alexeyev

unread,
Sep 1, 2011, 1:44:36 PM9/1/11
to Google Web Toolkit на русском
public void onModuleLoad() {
final AnyLoginDialog loginDialog= new AnyLoginDialog () {
@Override
public void onSuccess() {
RootPanel.get().remove(loginDialog);
GWT.runAsync(new RunAsyncCallback() {
public void onFailure(Throwable caught) {
Window.alert("Error");
}

public void onSuccess() {
Mvp4gModule module = GWT.create( Mvp4gModule.class );
module.createAndStartModule();
RootPanel.get().add( (Widget)module.getStartView() )
}
});
}
};
RootPanel.get().add(loginDialog);
}

Примерно так. Главное условие -- Mvp4gModule должен встречаться только
в блоке onSuccess RunAsyncCallback'а.

On 31 авг, 17:31, Алексей Мельников <melnikov2...@gmail.com> wrote:
Reply all
Reply to author
Forward
0 new messages