protected void setup() { RootPanel.get().add(mainPresenter.getDisplay().asWidget()); mainPresenter.bind(); History.addValueChangeHandler(this); eventBus.addHandler( LoginSuccessfulEvent.TYPE, new LoginSuccessfulEventHandler() { @Override public void loginSuccessful(LoginSuccessfulEvent event) { History.newItem(getPreviousHistoryToken()); } }); eventBus.addHandler( LoginRequiredEvent.TYPE, new LoginRequiredEventHandler() { @Override public void loginRequired(LoginRequiredEvent event) { if (!AppPlace.HOME.equals(getPlace(History.getToken()))) { History.newItem(AppPlace.HOME.getToken()); } } }); switchSection(History.getToken()); }
/** * Display confirmation dialog box if new status of TU has been changed to approved without any * content changes. */ @Override public void onCheckStateHasChanged(CheckStateHasChangedEvent event) { TransUnit transUnit = navigationService.getByIdOrNull(event.getTransUnitId()); if (transUnit == null) { return; } boolean targetChanged = !Objects.equal(transUnit.getTargets(), event.getTargets()); boolean targetUnchangedButCanSaveAsApproved = (event.getAdjustedState() == ContentState.Translated) && !Objects.equal(transUnit.getStatus(), event.getAdjustedState()); if (targetChanged) { targetContentsPresenter.saveAsApprovedAndMoveNext(event.getTransUnitId()); } else if (targetUnchangedButCanSaveAsApproved) { targetContentsPresenter.showSaveAsApprovedConfirmation(event.getTransUnitId()); } else { eventBus.fireEvent(NavTransUnitEvent.NEXT_ENTRY_EVENT); } }
public void init() { eventBus.addHandler(TransUnitSaveEvent.TYPE, this); eventBus.addHandler(CheckStateHasChangedEvent.TYPE, this); }
public void switchSection(String token) { popup.hide(); tokenHistory.add(token); Map<String, String> parameters = getHistoryTokenParameters(token); AppPlace place = getPlace(token); if (mainPresenter != null) { mainPresenter.clearNotifications(); } if (ClientSessionUtil.checkSession()) { switch (place) { case HOME: HomePresenter homePresenter = new HomePresenter(new HomeView(), eventBus); homePresenter.bind(); getLayout().clear(); getLayout().add(homePresenter.getDisplay().asWidget()); break; case REQUEST: RequestPresenter requestPresenter = new RequestPresenter(new RequestView(), eventBus); requestPresenter.bind(); getLayout().clear(); getLayout().add(requestPresenter.getDisplay().asWidget()); break; case LOGOUT: ClientSessionUtil.destroySession(); eventBus.fireEvent(new LoginRequiredEvent()); break; case REQUESTSTATUS: try { Integer requestId = Integer.parseInt(parameters.get("requestId")); RequestStatusPresenter requestStatusPresenter = new RequestStatusPresenter(new RequestStatusView(), eventBus); requestStatusPresenter.bind(); requestStatusPresenter.showRequest(requestId); getLayout().clear(); getLayout().add(requestStatusPresenter.getDisplay().asWidget()); } catch (Exception e) { showNotification( "Id incorrecta: No se puede cargar la solicitud", NotificationEventType.ERROR); } break; case EDITREQUEST: try { Integer requestId = Integer.parseInt(parameters.get("requestId")); RequestEditPresenter editPresenter = new RequestEditPresenter(new RequestEditView(), eventBus); editPresenter.bind(); editPresenter.showRequest(requestId); getLayout().clear(); getLayout().add(editPresenter.getDisplay().asWidget()); } catch (Exception e) { showNotification( "Id incorrecta: No se puede cargar la solicitud", NotificationEventType.ERROR); } break; case RESPONSE: try { Integer requestId = Integer.parseInt(parameters.get("requestId")); RequestResponsePresenter requestResponsePresenter = new RequestResponsePresenter(new RequestResponseView(), eventBus); requestResponsePresenter.bind(); requestResponsePresenter.showRequest(requestId); getLayout().clear(); getLayout().add(requestResponsePresenter.getDisplay().asWidget()); } catch (Exception e) { showNotification( "Id incorrecta: No se puede cargar la solicitud", NotificationEventType.ERROR); } break; case LIST: try { String listType = parameters.get("type"); RequestListPresenter requestListPresenter = new RequestListPresenter(new RequestListView(), eventBus); requestListPresenter.bind(); requestListPresenter.loadRequests(0, 100, listType); getLayout().clear(); getLayout().add(requestListPresenter.getDisplay().asWidget()); } catch (Exception e) { showNotification( "Tipo de lista incorrecto: No se puede cargar la lista", NotificationEventType.ERROR); } break; case STATISTICS: StatisticsPresenter statistics = new StatisticsPresenter(new StatisticsView(), eventBus); statistics.bind(); getLayout().clear(); getLayout().add(statistics.getDisplay().asWidget()); break; case ABOUTPROJECT: AboutProjectPresenter aboutProjectPresenter = new AboutProjectPresenter(new AboutProjectView(), eventBus); aboutProjectPresenter.bind(); getLayout().clear(); getLayout().add(aboutProjectPresenter.getDisplay().asWidget()); break; case ASOCIATES: AsociatesPresenter asociatesPresenter = new AsociatesPresenter(new AsociatesView(), eventBus); asociatesPresenter.bind(); getLayout().clear(); getLayout().add(asociatesPresenter.getDisplay().asWidget()); break; case USERPROFILE: UserProfileEditPresenter userProfilePresenter = new UserProfileEditPresenter(new UserProfileEditView(), eventBus); userProfilePresenter.bind(); getLayout().clear(); getLayout().add(userProfilePresenter.getDisplay().asWidget()); break; default: History.newItem(AppPlace.HOME.toString()); } } else { switch (place) { case HOME: HomePresenter homePresenter = new HomePresenter(new HomeView(), eventBus); homePresenter.bind(); getLayout().clear(); getLayout().add(homePresenter.getDisplay().asWidget()); break; case REQUEST: case LOGIN: LoginPresenter loginPresenter = new LoginPresenter(new LoginView(), eventBus); loginPresenter.bind(); popup.setModal(true); popup.setGlassEnabled(true); popup.clear(); popup.add(loginPresenter.getDisplay().asWidget()); popup.center(); break; case REGISTER: RegisterPresenter registerPresenter = new RegisterPresenter(new RegisterView(), eventBus); registerPresenter.bind(); getLayout().clear(); getLayout().add(registerPresenter.getDisplay().asWidget()); break; case RESPONSE: try { Integer requestId = Integer.parseInt(parameters.get("requestId")); RequestResponsePresenter requestResponsePresenter = new RequestResponsePresenter(new RequestResponseView(), eventBus); requestResponsePresenter.bind(); requestResponsePresenter.showRequest(requestId); getLayout().clear(); getLayout().add(requestResponsePresenter.getDisplay().asWidget()); } catch (Exception e) { showNotification( "Id incorrecta: No se puede cargar la solicitud", NotificationEventType.ERROR); } break; case LIST: try { String listType = parameters.get("type"); RequestListPresenter requtesListPresenter = new RequestListPresenter(new RequestListView(), eventBus); requtesListPresenter.bind(); requtesListPresenter.loadRequests(0, 100, listType); getLayout().clear(); getLayout().add(requtesListPresenter.getDisplay().asWidget()); } catch (Exception e) { showNotification( "Tipo de lista incorrecto: No se puede cargar la lista", NotificationEventType.ERROR); } break; case STATISTICS: StatisticsPresenter statistics = new StatisticsPresenter(new StatisticsView(), eventBus); statistics.bind(); getLayout().clear(); getLayout().add(statistics.getDisplay().asWidget()); break; case ABOUTPROJECT: AboutProjectPresenter aboutProjectPresenter = new AboutProjectPresenter(new AboutProjectView(), eventBus); aboutProjectPresenter.bind(); getLayout().clear(); getLayout().add(aboutProjectPresenter.getDisplay().asWidget()); break; case ASOCIATES: AsociatesPresenter asociatesPresenter = new AsociatesPresenter(new AsociatesView(), eventBus); asociatesPresenter.bind(); getLayout().clear(); getLayout().add(asociatesPresenter.getDisplay().asWidget()); break; case PASSWORDRECOVERY: PasswordRecoveryPresenter passwordRecoveryPresenter = new PasswordRecoveryPresenter(new PasswordRecoveryView(), eventBus); passwordRecoveryPresenter.bind(); getLayout().clear(); getLayout().add(passwordRecoveryPresenter.getDisplay().asWidget()); break; default: History.newItem(AppPlace.HOME.toString()); } } }
public void showNotification(String message, NotificationEventType type) { NotificationEventParams params = new NotificationEventParams(); params.setMessage(message); params.setType(type); eventBus.fireEvent(new NotificationEvent(params)); }