List of usage examples for com.vaadin.navigator Navigator addViewChangeListener
public Registration addViewChangeListener(ViewChangeListener listener)
From source file:com.constellio.app.ui.pages.base.MainLayoutImpl.java
public MainLayoutImpl(AppLayerFactory appLayerFactory) { this.presenter = new MainLayoutPresenter(this); mainMenuContentFooterLayout = new HorizontalLayout(); mainMenuContentFooterLayout.setSizeFull(); mainMenuContentFooterLayout.addStyleName("main-menu-content-footer"); contentViewWrapper = new Panel(); Navigator navigator = new Navigator(UI.getCurrent(), contentViewWrapper); NavigatorConfigurationService navigatorConfigurationService = appLayerFactory .getNavigatorConfigurationService(); navigatorConfigurationService.configure(navigator); UI.getCurrent().setNavigator(navigator); contentFooterWrapperLayout = new CssLayout(); contentFooterWrapperLayout.setId("content-footer-wrapper"); contentFooterLayout = new VerticalLayout(); contentFooterLayout.addStyleName("content-footer"); header = buildHeader();/*from w w w .ja v a2 s . com*/ header.setSizeUndefined(); mainMenu = buildMainMenu(); userDocumentsWindow = new UserDocumentsWindow(); dragAndDropWrapper = new DragAndDropWrapper(mainMenuContentFooterLayout); dragAndDropWrapper.setSizeFull(); dragAndDropWrapper.setDropHandler(userDocumentsWindow); navigator.addViewChangeListener(new ViewChangeListener() { @Override public boolean beforeViewChange(ViewChangeEvent event) { return true; } @Override public void afterViewChange(ViewChangeEvent event) { View newView = event.getNewView(); if (newView instanceof NoDragAndDrop) { dragAndDropWrapper.setDropHandler(null); } else if (newView instanceof DropHandler) { dragAndDropWrapper.setDropHandler((DropHandler) newView); } else { List<DropHandler> viewDropHandlers = ComponentTreeUtils.getChildren((Component) newView, DropHandler.class); if (viewDropHandlers.size() > 1) { dragAndDropWrapper.setDropHandler(null); } else if (viewDropHandlers.size() == 1) { dragAndDropWrapper.setDropHandler(viewDropHandlers.get(0)); } else if (dragAndDropWrapper.getDropHandler() != userDocumentsWindow) { dragAndDropWrapper.setDropHandler(userDocumentsWindow); } } // SerializationUtils.clone(event.getOldView()); // SerializationUtils.clone(newView); } }); addComponent(header); addComponent(dragAndDropWrapper); setExpandRatio(dragAndDropWrapper, 1); mainMenuContentFooterLayout.addComponent(mainMenu); mainMenuContentFooterLayout.addComponent(contentFooterWrapperLayout); mainMenuContentFooterLayout.setExpandRatio(contentFooterWrapperLayout, 1); contentFooterWrapperLayout.addComponent(contentFooterLayout); contentFooterLayout.addComponent(contentViewWrapper); Component message = buildMessage(); if (message != null) { message.addStyleName("message"); contentFooterLayout.addComponent(message); } contentFooterLayout.setExpandRatio(contentViewWrapper, 1); Component footer = buildFooter(); if (footer != null) { contentFooterLayout.addComponent(footer); } Component license = buildLicense(); if (license != null) { license.addStyleName("license"); } PagesComponentsExtensionParams params = new PagesComponentsExtensionParams(header, mainMenu, contentFooterLayout, this, contentViewWrapper, contentFooterWrapperLayout, presenter.getUser()); appLayerFactory.getExtensions().getSystemWideExtensions().decorateView(params); String collection = ConstellioUI.getCurrentSessionContext().getCurrentCollection(); if (collection != null) { appLayerFactory.getExtensions().forCollection(collection).decorateView(params); } buildInitJavascript(); }
From source file:com.github.djabry.platform.vaadin.navigation.NavigationSecurity.java
License:Open Source License
@EventBusListenerMethod(scope = EventScope.UI, filter = StartupFilter.class) public void registerSecurityListener(Action action) { Navigator navigator = UI.getCurrent().getNavigator(); navigator.addViewChangeListener(new ViewChangeListener() { @Override/* w ww . ja v a 2 s. co m*/ public boolean beforeViewChange(ViewChangeEvent event) { View newView = event.getNewView(); if (!isSecuredObject(newView)) { //return true; } try { newView.enter(event); return true; } catch (org.springframework.security.access.AccessDeniedException accessDeniedException) { log.warning("Attempted to navigate to page without necessary authorization: " + event.getViewName()); //throw accessDeniedException; } return false; } @Override public void afterViewChange(ViewChangeEvent event) { } }); log.info("Registed navigator security listener"); }
From source file:com.logs.mavfun2.ExampleUI.java
License:Apache License
@Override protected void init(VaadinRequest request) { Navigator navigator = new Navigator(this, this); navigator.addViewChangeListener(this); navigator.addView("", LoginView.class); if (SecurityUtils.getSubject().isAuthenticated()) { getUI().getNavigator().addView("secure", SecureView.class); }/*from www . j a v a 2 s .c om*/ navigator.setErrorView(ErrorView.class); }
From source file:com.lst.deploymentautomation.vaadin.core.LspsUI.java
License:Open Source License
private void initNavigation() { Navigator navigator = new AppNavigator(getUI(), appLayout); navigator.addView(TodoListView.ID, TodoListView.class); navigator.addView(DocumentsView.ID, DocumentsView.class); navigator.addView(RunModelView.ID, RunModelView.class); navigator.addView(SettingsView.ID, SettingsView.class); navigator.addView(TodoView.ID, TodoView.class); //expects to-do ID as parameter navigator.addView(DocumentView.ID, DocumentView.class); //expects document ID as parameter + optional document parameters aded as ?key=val&key=val navigator.addView(FormPreviewView.ID, FormPreviewView.class); //expects model instance ID + '/' + form expression as parameter navigator.setErrorProvider(new ViewProvider() { private static final long serialVersionUID = 1L; @Override// w w w .ja v a 2 s. co m public String getViewName(String viewAndParameters) { return viewAndParameters; } @Override public View getView(String viewName) { return new EmptyView(); } }); navigator.addViewChangeListener(new ViewChangeListener() { private static final long serialVersionUID = 1L; @Override public boolean beforeViewChange(ViewChangeEvent event) { return true; } @Override public void afterViewChange(ViewChangeEvent event) { //update navigation menu String parameters = event.getParameters(); boolean hasParameters = parameters != null && !parameters.isEmpty(); appLayout.viewChanged(event.getViewName() + (hasParameters ? "/" + parameters : "")); //update page title View view = event.getNewView(); Page page = event.getNavigator().getUI().getPage(); String title = (view instanceof AppView) ? ((AppView) view).getTitle() : null; page.setTitle(getMessage("application.title") + (title == null ? "" : ": " + title)); } }); }
From source file:com.mcparland.john.vaadin_mvn_arch.samples.MainScreen.java
License:Apache License
public MainScreen(MyUI ui) { setStyleName("main-screen"); CssLayout viewContainer = new CssLayout(); viewContainer.addStyleName("valo-content"); viewContainer.setSizeFull();/* w ww .j av a2 s. c o m*/ final Navigator navigator = new Navigator(ui, viewContainer); navigator.setErrorView(ErrorView.class); menu = new Menu(navigator); menu.addView(new SampleCrudView(), SampleCrudView.VIEW_NAME, SampleCrudView.VIEW_NAME, FontAwesome.EDIT); menu.addView(new AboutView(), AboutView.VIEW_NAME, AboutView.VIEW_NAME, FontAwesome.INFO_CIRCLE); navigator.addViewChangeListener(viewChangeListener); addComponent(menu); addComponent(viewContainer); setExpandRatio(viewContainer, 1); setSizeFull(); }
From source file:com.snowy.MyVaadinUI.java
@Override protected void init(VaadinRequest request) { //d = new data(template); if (Page.getCurrent().getWebBrowser().isTooOldToFunctionProperly()) { Page.getCurrent().setLocation("https://www.google.com/chrome/browser/"); }/*from w ww. j a v a2 s . c om*/ //VaadinService.getCurrent(). Page.getCurrent().setTitle("Connect 4"); d = new data(); //this.access(()->{ //n.addView("postLogin", new PostLoginView()); //Navigator n = this.getNavigator(); //n.addProvider(); //}); /* final TextField name = new TextField(); name.setCaption("Type your name here:"); Button button = new Button("Click Me"); button.addClickListener( e -> { layout.addComponent(new Label("Thanks " + name.getValue() + ", it works!")); }); */ JavaScript.getCurrent().addFunction("closeMyApplication", new JavaScriptFunction() { @Override public void call(JsonArray arguments) { //Logger.getLogger(MyVaadinUI.class.getName()).info(VaadinSession.getCurrent().getCsrfToken()); d.logout(VaadinSession.getCurrent().getCsrfToken()); //new data().setInActive(VaadinSession.getCurrent().getCsrfToken()); //VaadinSession.getCurrent().close(); } }); Page.getCurrent().getJavaScript().execute( "window.onbeforeunload = function (e) { var e = e || window.event; closeMyApplication(); return; };"); VaadinService.getCurrent().addSessionDestroyListener(e -> { //Logger.getLogger(MyVaadinUI.class.getName()).info(e.getSession().getCsrfToken()); d.logout(e.getSession().getCsrfToken()); }); //Navigator n = new Navigator(this,this); //n.addView("Main", new PostLoginView()); // this.setNavigator(n); //layout.setComponentAlignment(MainL, Alignment.TOP_CENTER); this.setPollInterval(1000); this.addPollListener((UIEvents.PollEvent e) -> { if (e.getUI().getContent().toString().contains("PostLoginView")) { PostLoginView plv = (PostLoginView) e.getUI().getContent(); d.resetActiveIfNot(); plv.getChatWindow().getUsersList().retrieveActiveUsers(); plv.getChatWindow().updateChats(); plv.getGameWindow().updateRequests(); plv.getGameWindow().updateGames(); plv.getGameWindow().checkForNewGames(); //Logger.getLogger(MyVaadinUI.class.getName()).log(Level.INFO,plv.getChatWindow().getUsersList().getValue().toString()); } }); Navigator navigator = new Navigator(this, this); navigator.addProvider(viewProvider); navigator.addViewChangeListener(new ViewChangeListener() { @Override public boolean beforeViewChange(ViewChangeListener.ViewChangeEvent event) { if (Page.getCurrent().getLocation().getPath().equals("/") || VaadinSession.getCurrent().getAttribute("token") != null) { return true; } else { //Notification.show(,Notification.Type.ERROR_MESSAGE); return false; } } @Override public void afterViewChange(ViewChangeListener.ViewChangeEvent event) { } }); /*UI.getCurrent().setErrorHandler(new DefaultErrorHandler(){ @Override public void error(com.vaadin.server.ErrorEvent event) { UI.getCurrent().setContent(new Label("error")); } });*/ //VaadinService.createCriticalNotificationJSON("","", "", ""); //navigator.setErrorView(navigator.getCurrentView()); //layout.setComponentAlignment(link, Alignment.MIDDLE_CENTER); //setContent(new Login()); }
From source file:de.symeda.sormas.ui.MainScreen.java
License:Open Source License
public MainScreen(SormasUI ui) { CssLayout viewContainer = new CssLayout(); viewContainer.setSizeFull();/*from w ww . jav a 2s . c o m*/ viewContainer.addStyleName("sormas-content"); final Navigator navigator = new Navigator(ui, viewContainer); navigator.setErrorProvider(new ViewProvider() { @Override public String getViewName(String viewAndParameters) { return viewAndParameters; } @Override public View getView(String viewName) { try { // Add new views to this clause to make sure that the right error page is shown if (viewName.equals(SurveillanceDashboardView.VIEW_NAME) || viewName.equals(ContactsDashboardView.VIEW_NAME) || viewName.equals(TasksView.VIEW_NAME) || viewName.equals(CasesView.VIEW_NAME) || viewName.equals(ContactsView.VIEW_NAME) || viewName.equals(EventsView.VIEW_NAME) || viewName.equals(SamplesView.VIEW_NAME) || viewName.equals(ReportsView.VIEW_NAME) || viewName.equals(StatisticsView.VIEW_NAME) || viewName.equals(UsersView.VIEW_NAME) || viewName.equals(OutbreaksView.VIEW_NAME) || viewName.equals(RegionsView.VIEW_NAME) || viewName.equals(DistrictsView.VIEW_NAME) || viewName.equals(CommunitiesView.VIEW_NAME) || viewName.equals(HealthFacilitiesView.VIEW_NAME) || viewName.equals(LaboratoriesView.VIEW_NAME) || viewName.equals(PointsOfEntryView.VIEW_NAME) || viewName.equals(UserRightsView.VIEW_NAME)) { return AccessDeniedView.class.newInstance(); } else { return ErrorView.class.newInstance(); } } catch (Exception e) { throw new RuntimeException(e); } } }); menu = new Menu(navigator); if (UserProvider.getCurrent().hasUserRight(UserRight.DASHBOARD_VIEW)) { ControllerProvider.getDashboardController().registerViews(navigator); } if (UserProvider.getCurrent().hasUserRight(UserRight.DASHBOARD_SURVEILLANCE_ACCESS)) { menu.addView(SurveillanceDashboardView.class, AbstractDashboardView.ROOT_VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuDashboard), VaadinIcons.DASHBOARD); } else if (UserProvider.getCurrent().hasUserRight(UserRight.DASHBOARD_CONTACT_ACCESS)) { menu.addView(ContactsDashboardView.class, AbstractDashboardView.ROOT_VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuDashboard), VaadinIcons.DASHBOARD); } if (UserProvider.getCurrent().hasUserRight(UserRight.TASK_VIEW)) { menu.addView(TasksView.class, TasksView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuTasks), VaadinIcons.TASKS); } if (UserProvider.getCurrent().hasUserRight(UserRight.CASE_VIEW)) { ControllerProvider.getCaseController().registerViews(navigator); menu.addView(CasesView.class, CasesView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuCases), VaadinIcons.EDIT); } if (UserProvider.getCurrent().hasUserRight(UserRight.CONTACT_VIEW)) { ControllerProvider.getContactController().registerViews(navigator); menu.addView(ContactsView.class, ContactsView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuContacts), VaadinIcons.HAND); } if (UserProvider.getCurrent().hasUserRight(UserRight.EVENT_VIEW)) { ControllerProvider.getEventController().registerViews(navigator); menu.addView(EventsView.class, EventsView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuEvents), VaadinIcons.PHONE); } if (UserProvider.getCurrent().hasUserRight(UserRight.SAMPLE_VIEW)) { ControllerProvider.getSampleController().registerViews(navigator); menu.addView(SamplesView.class, SamplesView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuSamples), VaadinIcons.DATABASE); } if (UserProvider.getCurrent().hasUserRight(UserRight.WEEKLYREPORT_VIEW)) { menu.addView(ReportsView.class, ReportsView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuReports), VaadinIcons.FILE_TEXT); } if (UserProvider.getCurrent().hasUserRight(UserRight.STATISTICS_ACCESS)) { ControllerProvider.getStatisticsController().registerViews(navigator); menu.addView(StatisticsView.class, AbstractStatisticsView.ROOT_VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuStatistics), VaadinIcons.BAR_CHART); } if (UserProvider.getCurrent().hasUserRight(UserRight.USER_VIEW)) { menu.addView(UsersView.class, UsersView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuUsers), VaadinIcons.USERS); } if (UserProvider.getCurrent().hasUserRight(UserRight.CONFIGURATION_ACCESS)) { AbstractConfigurationView.registerViews(navigator); menu.addView(OutbreaksView.class, AbstractConfigurationView.ROOT_VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuConfiguration), VaadinIcons.COGS); } menu.addView(AboutView.class, AboutView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuAbout), VaadinIcons.INFO_CIRCLE); navigator.addViewChangeListener(viewChangeListener); ui.setNavigator(navigator); addComponent(menu); addComponent(viewContainer); setExpandRatio(viewContainer, 1); setSpacing(false); setMargin(false); setSizeFull(); }
From source file:fr.amapj.view.engine.menu.MenuPart.java
License:Open Source License
public void buildMainView(final AmapUI ui, ValoMenuLayout root) { root.prepareForMainPage();/* w w w. ja v a 2 s . co m*/ viewNameToMenuButton = new HashMap<String, Button>(); CssLayout menu = new CssLayout(); CssLayout menuItemsLayout = new CssLayout(); if (ui.getPage().getWebBrowser().isIE() && ui.getPage().getWebBrowser().getBrowserMajorVersion() == 9) { menu.setWidth("320px"); } // Chargement de tous les menus accesibles par l'utilisateur // et cration du "navigator" List<MenuDescription> allMenus = MenuInfo.getInstance().getMenu(); Navigator nav = new Navigator(ui, root.getContentContainer()); nav.addViewChangeListener(new ViewChangeListener() { @Override public boolean beforeViewChange(ViewChangeEvent event) { logger.info("Entre dans l'cran {}", event.getViewName()); return true; } @Override public void afterViewChange(ViewChangeEvent event) { menu.removeStyleName("valo-menu-visible"); } }); if (allMenus.size() > 0) { MenuDescription first = allMenus.get(0); nav.setErrorView(first.getViewClass()); } for (MenuDescription mD : allMenus) { nav.addView("/" + mD.getMenuName().name().toLowerCase(), mD.getViewClass()); } // Cration du menu root.addMenu(buildMenu(menu, menuItemsLayout, allMenus, nav, ui)); }
From source file:me.uni.emuseo.view.menu.MenuView.java
License:Open Source License
public void setNavigator(final Navigator navigator) { this.navigator = navigator; final ViewChangeListener viewChangeListener = new ViewChangeListener() { private static final long serialVersionUID = -4564885643037277448L; @Override/*from ww w. j av a 2 s .com*/ public boolean beforeViewChange(final ViewChangeEvent event) { return true; } @Override public void afterViewChange(final ViewChangeEvent event) { for (final Iterator<Component> it = menuItemsLayout.iterator(); it.hasNext();) { it.next().removeStyleName("selected"); } String fullViewName = event.getViewName() + '/' + event.getParameters(); for (final Entry<String, String> item : menuItems.entrySet()) { if (fullViewName.equals(item.getKey())) { for (final Iterator<Component> it = menuItemsLayout.iterator(); it.hasNext();) { final Component c = it.next(); if (c.getCaption() != null && c.getCaption().startsWith(item.getValue())) { c.addStyleName("selected"); break; } } break; } } menu.removeStyleName("valo-menu-visible"); } }; navigator.addViewChangeListener(viewChangeListener); addDetachListener(new DetachListener() { private static final long serialVersionUID = -8082565032894897397L; @Override public void detach(DetachEvent event) { navigator.removeViewChangeListener(viewChangeListener); } }); }
From source file:net.gvcc.jgoffice.MainUI.java
License:Open Source License
@Override protected void init(VaadinRequest request) { Navigator loginNavigator; getPage().setTitle("jGOffice"); initLayoutBeforLogin();//from w w w. j a va2 s . c o m loginNavigator = new Navigator(this, loginLayout); loginNavigator.setErrorView(new ErrorPage()); loginNavigator.addView("LoginView", new LoginView()); loginNavigator.navigateTo("LoginView"); loginNavigator.addViewChangeListener(this); }