List of usage examples for com.vaadin.navigator ViewChangeListener ViewChangeListener
ViewChangeListener
From source file:ch.bfh.ti.soed.hs16.srs.black.SupervisingController.java
License:Open Source License
@Override protected void init(VaadinRequest vaadinRequest) { // Set the title of the site in the browser Page.getCurrent().setTitle("SRS - Smart ReservationEntity System"); dataModel = JPADataAccess.getInstance(); loginView = new LoginView(); reservationView = new ReservationView(); signUpView = new SignUpView(); navigator = new Navigator(this, this); // Adding the login view to the navigator navigator.addView(LoginView.NAME, loginView); // Setting the error view of the navigator to the login view // This way the navigator will always default to the login view navigator.setErrorView(loginView);//w w w .ja v a 2s.c o m // Adding the reservation view to the navigator navigator.addView(ReservationView.NAME, reservationView); // Adding the sign up view to the navigator navigator.addView(SignUpView.NAME, signUpView); // Instantiating the controllers for the two views reservationController = new ReservationController(dataModel, reservationView, navigator); new LoginController(dataModel, loginView, navigator); new SignUpController(dataModel, signUpView, navigator); // We use a view change handler to ensure the user is always redirected // to the login view if the user is not logged in navigator.addViewChangeListener(new ViewChangeListener() { @Override public boolean beforeViewChange(ViewChangeEvent event) { // Check if a user has logged in boolean isLoggedIn = VaadinSession.getCurrent().getAttribute("user") != null; boolean isLoginView = event.getNewView() instanceof LoginView; boolean isSignUpView = event.getNewView() instanceof SignUpView; boolean isReservationView = event.getNewView() instanceof ReservationView; if (!isLoggedIn && isReservationView) { // Always redirect to login view if a user has not yet logged in navigator.navigateTo(LoginView.NAME); return false; } else if (isLoggedIn && (isLoginView || isSignUpView)) { // Access attempt to the login or signup view while already logged in gets cancelled return false; } return true; } @Override public void afterViewChange(ViewChangeEvent event) { try { reservationController.createList((String) VaadinSession.getCurrent().getAttribute("user")); } catch (Exception e) { System.out.println(e.getMessage()); } } }); }
From source file:com.cavisson.gui.dashboard.components.controls.ValoThemeUI.java
License:Apache License
@Override protected void init(final VaadinRequest request) { if (request.getParameter("test") != null) { testMode = true;//from w ww .j a va 2 s .c om if (browserCantRenderFontsConsistently()) { getPage().getStyles().add(".v-app.v-app.v-app {font-family: Sans-Serif;}"); } } if (getPage().getWebBrowser().isIE() && getPage().getWebBrowser().getBrowserMajorVersion() == 9) { menu.setWidth("320px"); } // Show .v-app-loading valo-menu-badge // try { // Thread.sleep(2000); // } catch (InterruptedException e) { // e.printStackTrace(); // } if (!testMode) { Responsive.makeResponsive(this); } getPage().setTitle("Valo Theme Test"); setContent(root); root.setWidth("100%"); root.addMenu(buildMenu()); navigator = new Navigator(this, viewDisplay); navigator.addView("common", CommonParts.class); navigator.addView("labels", Labels.class); navigator.addView("buttons-and-links", ButtonsAndLinks.class); navigator.addView("textfields", TextFields.class); navigator.addView("datefields", DateFields.class); navigator.addView("comboboxes", ComboBoxes.class); navigator.addView("checkboxes", CheckBoxes.class); navigator.addView("sliders", Sliders.class); navigator.addView("menubars", MenuBars.class); navigator.addView("panels", Panels.class); navigator.addView("trees", Trees.class); navigator.addView("tables", Tables.class); navigator.addView("splitpanels", SplitPanels.class); navigator.addView("tabs", Tabsheets.class); navigator.addView("accordions", Accordions.class); navigator.addView("colorpickers", ColorPickers.class); navigator.addView("selects", NativeSelects.class); navigator.addView("calendar", CalendarTest.class); navigator.addView("forms", Forms.class); navigator.addView("popupviews", PopupViews.class); navigator.addView("dragging", Dragging.class); final String f = Page.getCurrent().getUriFragment(); if (f == null || f.equals("")) { navigator.navigateTo("common"); } navigator.setErrorView(CommonParts.class); navigator.addViewChangeListener(new ViewChangeListener() { @Override 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"); } for (final Entry<String, String> item : menuItems.entrySet()) { if (event.getViewName().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"); } }); }
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();//www.jav a2 s.c om 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/*from w w w. ja va2 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.hybridbpm.ui.HybridbpmNavigator.java
License:Apache License
public HybridbpmNavigator(UI ui, final ComponentContainer container) { super(ui, container); // set error view setErrorView(ErrorView.class); addViewChangeListener(new ViewChangeListener() { @Override//from w ww .j a v a2 s . c o m public boolean beforeViewChange(final ViewChangeEvent event) { // Since there's no conditions in switching between the views // we can always return true. if (!HybridbpmUI.isAuthenticated() && event.getViewName() != null && !event.getViewName().isEmpty()) { HybridbpmUI.getCurrent().setRedirectView(event.getViewName()); } return true; } @Override public void afterViewChange(final ViewChangeEvent event) { HybridbpmUI.getCurrent().mainMenu.setSelection(event.getViewName(), event.getParameters()); HybridbpmUI.setCurrentView(event.getNewView()); } }); }
From source file:com.jee.client.JeeclientUI.java
@Override protected void init(VaadinRequest request) { new Navigator(this, this); getNavigator().addView(LoginForm.NAME, LoginForm.class); getNavigator().addView(MainView.NAME, MainView.class); getNavigator().addViewChangeListener(new ViewChangeListener() { @Override// w w w . j a v a2 s. c o m public boolean beforeViewChange(ViewChangeEvent event) { // Check if a user has logged in boolean isLoggedIn = VaadinService.getCurrentRequest().getWrappedSession() .getAttribute(USER_NAME_ATTRIBUTE_NAME) != null;// getSession().getAttribute(USER_NAME_ATTRIBUTE_NAME) != null; boolean isLoginView = event.getNewView() instanceof LoginForm; if (!isLoggedIn && !isLoginView) { // Redirect to login view always if a user has not yet // logged in getNavigator().navigateTo(LoginForm.NAME); return false; } else if (isLoggedIn && isLoginView) { // If someone tries to access to login view while logged in, // then cancel return false; } return true; } @Override public void afterViewChange(ViewChangeEvent event) { } }); WrappedSession session = request.getWrappedSession(); HttpSession httpSession = ((WrappedHttpSession) session).getHttpSession(); ServletContext servletContext = httpSession.getServletContext(); applicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext); messageSource = (ReloadableResourceBundleMessageSource) applicationContext.getBean("resource"); userAdminManager = (VoucheringManager) applicationContext.getBean("userAdminManager"); WebUtil.absolutePath = VaadinService.getCurrent().getBaseDirectory().getAbsolutePath(); this.getLoadingIndicatorConfiguration().setFirstDelay(500); this.getLoadingIndicatorConfiguration().setSecondDelay(30000); this.getLoadingIndicatorConfiguration().setThirdDelay(80000); }
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 ww . j a va 2s .c o 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.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 ww w . j av a 2s. co m*/ //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.fatalix.bookery.App.java
License:Open Source License
@Override protected void init(VaadinRequest request) { Navigator navigator = new Navigator(this, appLayout.getMainContent()); navigator.addProvider(viewProvider); CssLayout contentWrapper = new CssLayout(); contentWrapper.addStyleName("crud-view"); contentWrapper.setSizeFull();/*from www .j av a 2 s . c o m*/ contentWrapper.addComponents(appLayout, bookMenuLayout, bookDetailLayout); setContent(contentWrapper); getNavigator().addViewChangeListener(new ViewChangeListener() { @Override public boolean beforeViewChange(ViewChangeListener.ViewChangeEvent event) { if (!isLoggedIn()) { appLayout.getAppHeader().setVisible(false); if (!event.getViewName().equals(LoginView.id)) { getNavigator().navigateTo(LoginView.id); return false; } return true; } else { appLayout.getAppHeader().setVisible(isLoggedIn()); appLayout.getAppHeader().setLoginName(SecurityUtils.getSubject().getPrincipal().toString()); if (event.getViewName().equals("")) { getNavigator().navigateTo(HomeView.id); return false; } return true; } } @Override public void afterViewChange(ViewChangeListener.ViewChangeEvent event) { } }); if (!isLoggedIn()) { appLayout.getAppHeader().setVisible(false); getNavigator().navigateTo(LoginView.id); } else { appLayout.getAppHeader().setVisible(isLoggedIn()); appLayout.getAppHeader().setLoginName(SecurityUtils.getSubject().getPrincipal().toString()); if (getNavigator().getState().isEmpty()) { getNavigator().navigateTo(HomeView.id); } } }
From source file:de.metas.procurement.webui.ui.component.MFNavigator.java
License:Open Source License
private MFNavigator(final UI ui) { super(ui, ui); addViewChangeListener(new ViewChangeListener() { @Override//from w w w. j a va 2s . c o m public boolean beforeViewChange(final ViewChangeEvent event) { return checkLoggedInAndRedirect(event); } @Override public void afterViewChange(final ViewChangeEvent event) { showNextViewNotification(); } }); }