/** * Navigates to a the location represented by {@code node} */ @Override public void navigateTo(UserSitemapNode node) { navigateTo(userSitemap.uri(node)); }
@Override public void navigateTo(StandardPageKey pageKey) { navigateTo(userSitemap.standardPageURI(pageKey)); }
/** * Navigates to a the location represented by {@code node} */ @Override public void navigateTo(UserSitemapNode node) { navigateTo(userSitemap.uri(node)); }
@Override public void navigateTo(StandardPageKey pageKey) { navigateTo(userSitemap.standardPageURI(pageKey)); }
@Override public void uriFragmentChanged(UriFragmentChangedEvent event) { navigateTo(event.getUriFragment()); }
/** * Takes a URI fragment, checks for any redirects defined by the {@link Sitemap}, then calls * {@link #navigateTo(NavigationState)} to change the view * * @see Navigator#navigateTo(java.lang.String) */ @Override public void navigateTo(String fragment) { log.debug("Navigating to fragment: {}", fragment); // set up the navigation state NavigationState navigationState = uriHandler.navigationState(fragment); navigateTo(navigationState); }
/** * Takes a URI fragment, checks for any redirects defined by the {@link Sitemap}, then calls * {@link #navigateTo(NavigationState)} to change the view * * @see Navigator#navigateTo(java.lang.String) */ @Override public void navigateTo(String fragment) { log.debug("Navigating to fragment: {}", fragment); publishPageLoadingMessage(); // set up the navigation state NavigationState navigationState = uriHandler.navigationState(fragment); navigateTo(navigationState); }
/** * Replaces uriFragmentChanged. This was required by Vaadin 8, as the {@link Page.PopStateEvent} returns the full uri as a String, whereas its predecessor returned only the fragment * * @param event */ @Override public void uriChanged(Page.PopStateEvent event) { log.debug("URI change received from Vaadin Page, with event.uri = {}", event.getUri()); URI uri = URI.create(event.getUri()); NavigationState navigationState = uriHandler.navigationState(uri); navigateTo(navigationState); }
/** * Applies the login / logout navigation rules. Handler priority is set so that Navigators respond after other listeners - they must complete before the * Navigator attempts to change page * * @param busMessage message from the event bus */ @Handler(priority = -1) public void userStatusChange(UserStatusBusMessage busMessage) { log.debug("UserStatusBusMessage received"); if (busMessage.isAuthenticated()) { log.info("user logged in successfully, applying login navigation rule"); Optional<NavigationState> newState = loginNavigationRule.changedNavigationState(this, busMessage.getSource()); if (newState.isPresent()) { navigateTo(newState.get()); } } else { log.info("user logged out, applying logout navigation rule"); Optional<NavigationState> newState = logoutNavigationRule.changedNavigationState(this, busMessage.getSource()); if (newState.isPresent()) { navigateTo(newState.get()); } } }