/** * Registers a static, pre-initialized view instance for a view name. * <p> * Registering another view with a name that is already registered * overwrites the old registration of the same type. * <p> * Note that a view should not be shared between UIs (for instance, it * should not be a static field in a UI subclass). * * @param viewName * String that identifies a view (not null nor empty string) * @param view * {@link View} instance (not null) */ public void addView(String viewName, View view) { // Check parameters if (viewName == null || view == null) { throw new IllegalArgumentException( "view and viewName must be non-null"); } removeView(viewName); addProvider(new StaticViewProvider(viewName, view)); }
/** * Registers a view class for a view name. * <p> * Registering another view with a name that is already registered * overwrites the old registration of the same type. * <p> * A new view instance is created every time a view is requested. * * @param viewName * String that identifies a view (not null nor empty string) * @param viewClass * {@link View} class to instantiate when a view is requested * (not null) */ public void addView(String viewName, Class<? extends View> viewClass) { // Check parameters if (viewName == null || viewClass == null) { throw new IllegalArgumentException( "view and viewClass must be non-null"); } removeView(viewName); addProvider(new ClassBasedViewProvider(viewName, viewClass)); }
@Override public void addProvider(ViewProvider provider) { super.addProvider(actuator.addViewProvider(provider)); }
@Override public B addProvider(ViewProvider provider) { navigator.addProvider(provider); return builder(); }
@SpringUI public class MainUI extends UI { @Autowired SpringViewProvider viewProvider; @Override protected void init(VaadinRequest request){ Navigator navigator = new Navigator(this,this); navigator.addProvider(viewProvider); this.setNavigator(navigator); // Set default view NavigationStateManager stateManager = new Navigator.UriFragmentManager(getPage()); stateManager.setState(DefaultView.VIEW_ID); } }
navigator.addProvider(viewProvider);
@Override protected void init(VaadinRequest request) { final VerticalLayout root = new VerticalLayout(); root.setSizeFull(); root.setMargin(true); root.setSpacing(true); setContent(root); final CssLayout navigationBar = new CssLayout(); navigationBar.addStyleName(ValoTheme.LAYOUT_COMPONENT_GROUP); navigationBar.addComponent(createNavigationButton("Prototype Scoped View", PrototypeScopedView.VIEW_NAME)); navigationBar.addComponent(createNavigationButton("UI Scoped View", UIScopedView.VIEW_NAME)); navigationBar.addComponent(createNavigationButton("View Scoped View", ViewScopedView.VIEW_NAME)); navigationBar.addComponent(createNavigationButton("Access Control", AccessControlView.VIEW_NAME)); root.addComponent(navigationBar); final Panel viewContainer = new Panel(); viewContainer.setSizeFull(); root.addComponent(viewContainer); root.setExpandRatio(viewContainer, 1.0f); viewProvider.setAccessDeniedViewClass(AccessDeniedView.class); Navigator navigator = new Navigator(this, viewContainer); navigator.setErrorView(new ErrorView()); // You can still create the error view yourself if you want to. navigator.addProvider(viewProvider); }
navigator.addProvider(new ManagementViewProvider()); setNavigator(navigator); navigator.addView(EMPTY_VIEW, new Navigator.EmptyView());
navigator.addProvider(new ManagementViewProvider()); setNavigator(navigator); navigator.addView(EMPTY_VIEW, new Navigator.EmptyView());
navigator.addProvider(viewProvider); navigator.setErrorView(errorView); viewProvider.setAccessDeniedViewClass(AccessDeniedView.class);
navigator.addProvider(viewProvider); navigator.setErrorView(errorView); viewProvider.setAccessDeniedViewClass(AccessDeniedView.class);