Example usage for com.vaadin.navigator ViewChangeListener ViewChangeListener

List of usage examples for com.vaadin.navigator ViewChangeListener ViewChangeListener

Introduction

In this page you can find the example usage for com.vaadin.navigator ViewChangeListener ViewChangeListener.

Prototype

ViewChangeListener

Source Link

Usage

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();
        }
    });

}