GWT-Platform + SmartGWT: всплывающие окна с цепочкой - PullRequest
1 голос
/ 27 октября 2011

У меня есть окно входа в систему, которое, в зависимости от ответа RPC, покажет мне другое окно.Что мне интересно, так это как инициализировать второе окно.Я пробовал методы onReset и onReveal, но, похоже, они никогда не запускаются. Кроме того, при сбросе значений использование destroy () навсегда уничтожит мое окно.Я получил следующее решение, но чувствую, что оно не слишком эффективно, может кто-нибудь посоветовать мне способ сделать это?

public void onSuccess(LoginResult result) {
      if(result.getResponse().equalsIgnoreCase("OK")){
                getView().getUsernameField().setValue("");
                getView().getPasswordField().setValue("");
                getView().getWindow().hide();
                memberWindow.setUsername(username);
                memberWindow.loadAppointments(new Date());
                ((Window) memberWindow.getWidget()).show();
    }else{
        SC.say("Error", "Login failed because: " + result);
    }

1 Ответ

1 голос
/ 29 декабря 2011

Попробуйте что-то вроде этого

@Override
  public void onSuccess(LoginResult result) {
    CurrentUser currentUser = new CurrentUser(getView().getUserName());

    LoginAuthenticatedEvent.fire(eventBus, currentUser);

    // notice the place manager call. The transitions between the pages are
    // done in GWTP through PlaceManager.revealPlace(PlaceRequest) call.
    PlaceRequest placeRequest = new PlaceRequest(NameTokens.mainPage);
    getPlaceManager().revealPlace(placeRequest);

  }

Выезд ЦСИ \ аи \ ком \ всплеск \ Serendipity \ клиент \ ведущий \ SignInPagePresenter.java из приложения Serendipity пример входа в систему с помощью SmartGWT + GWTP:

http://code.google.com/p/crmdipity/downloads/detail?name=Serendipity-0.6.0.zip&can=2&q=

...