/** Handles change events from {@link History}. */ @Override public void onValueChange(final ValueChangeEvent<String> event) { if (locked) { defferedNavigation = new Command() { @Override public void execute() { onValueChange(event); } }; return; } if (!getLock()) { return; } String historyToken = event.getValue(); try { if (historyToken.trim().equals("")) { unlock(); revealDefaultPlace(); } else { historyToken = modifyNameToken(historyToken); placeHierarchy = tokenFormatter.toPlaceRequestHierarchy(historyToken); setPreviousRequestUrl(getCurrentPlaceRequest()); doRevealPlace(getCurrentPlaceRequest(), true); } } catch (TokenFormatException e) { unlock(); error(historyToken); NavigationEvent.fire(this, null); } }
@Override public void onReveal() { super.onReveal(); getView().setNavigationPlace(null); unregisterNavigationHandler(); // Be on the safe side handlerRegistration = addHandler(NavigationEvent.getType(), this); }
@Override public void onNavigation(NavigationEvent navigationEvent) { analytics.trackPageview(navigationEvent.getRequest().getNameToken()); }
@Override public void onNavigation(NavigationEvent navigationEvent) { getView().setNavigationPlace(navigationEvent.getRequest().getNameToken()); }