/** * Update the internal state of the navigator (parameters, previous * successful URL fragment navigated to) when navigation succeeds. * * Normally this method should not be overridden nor called directly from * application code, but it can be called by a custom implementation of * {@link #navigateTo(View, String, String)}. * * @since 7.6 * @param event * a view change event with details of the change */ protected void updateNavigationState(ViewChangeEvent event) { String viewName = event.getViewName(); String parameters = event.getParameters(); if (null != viewName && getStateManager() != null) { String navigationState = viewName; if (!parameters.isEmpty()) { navigationState += "/" + parameters; } if (!navigationState.equals(getStateManager().getState())) { getStateManager().setState(navigationState); } currentNavigationState = navigationState; } }
@Override public void enter( final ViewChangeEvent event) { String[] parameters = event.getParameters().split("/"); this.viewName = event.getViewName(); onEnter( parameters.length > 0 ? parameters[0] : null, parameters); }
/** * Method invoked when the view is entered. * * @param event the view change event */ @Override public void enter(ViewChangeListener.ViewChangeEvent event) { LoggerFactory.getLogger(DashboardView.class).warn("enter(): " + event.getParameters()); if (event.getParameters() != null) { Wallboard wallboard = WallboardProvider.getInstance().getWallboard(event.getParameters()); if (wallboard != null) { setDashletSpecs(wallboard.getDashletSpecs()); } } } }
final String navigationState = buildNavigationState(event.getViewName(), event.getParameters()); ViewConfiguration configuration = getViewConfiguration(event.getNewView().getClass()); if (configuration != null) { ViewNavigationUtils.setViewParameters(event.getNewView(), configuration, event.getParameters(), null); } else { LOGGER.warn("Failed to obtain ViewConfiguration for view class " + event.getNewView().getClass()
public void preAfterViewChange(ViewChangeEvent event) { // fire OnShow on new view if (event.getNewView() != null) { ViewConfiguration configuration = getViewConfiguration(event.getNewView().getClass()); if (configuration != null) { ViewNavigationUtils.fireViewOnShow(event.getNewView(), configuration, DefaultViewNavigatorChangeEvent.create(event, navigator, getViewWindow(buildNavigationState(event.getViewName(), event.getParameters()))), false); } else { LOGGER.warn("Failed to obtain ViewConfiguration for view class " + event.getOldView().getClass() + ": OnShow methods firing skipped"); } } }
public static <N extends Navigator & ViewNavigator> DefaultViewNavigatorChangeEvent create(ViewChangeEvent event, N navigator, Window containerWindow) { return new DefaultViewNavigatorChangeEvent(navigator, event.getOldView(), event.getNewView(), event.getViewName(), event.getParameters(), containerWindow); }
@Override public void afterViewChange(ViewChangeEvent viewChangeEvent) { headerLayout.setWallboard(viewChangeEvent.getParameters()); }
/** * @see com.vaadin.navigator.View#enter(com.vaadin.navigator.ViewChangeListener.ViewChangeEvent) */ public void enter(ViewChangeEvent event) { String newState = event.getParameters(); enter(newState); }
@Override public void enter(ViewChangeListener.ViewChangeEvent event) { if (event.getParameters() != null) { Wallboard wallboard = WallboardProvider.getInstance().getWallboard(event.getParameters()); if (wallboard != null) { dashletBoardBody.setDashletSpecs(wallboard.getDashletSpecs()); } } }
/** * Returns the parameters for the view being activated parsed to a map, * using the given string as the parameter separator character. * * @param separator * the parameter separator string to use * @return navigation parameters (potentially bookmarkable) for the new * view * @since 8.1 */ public Map<String, String> getParameterMap(String separator) { return getNavigator().parseParameterStringToMap(getParameters(), separator); } }