Example usage for com.vaadin.server Page getCurrent

List of usage examples for com.vaadin.server Page getCurrent

Introduction

In this page you can find the example usage for com.vaadin.server Page getCurrent.

Prototype

public static Page getCurrent() 

Source Link

Document

Gets the Page to which the current uI belongs.

Usage

From source file:fr.univlorraine.mondossierweb.MainUI.java

License:Apache License

/**
 * @see com.vaadin.ui.UI#init(com.vaadin.server.VaadinRequest)
 *//*from  w w  w  .  j a  v a  2  s  . co  m*/
@Override
protected void init(VaadinRequest request) {

    LOG.debug("init(); mainUI");

    if (PropertyUtils.isPushEnabled() && !PropertyUtils.isWebSocketPushEnabled()) {
        getPushConfiguration().setTransport(Transport.LONG_POLLING);
    }

    //Gestion des erreurs
    VaadinSession.getCurrent().setErrorHandler(e -> {
        Throwable cause = e.getThrowable();
        while (cause instanceof Throwable) {
            /* Gre les accs non autoriss */
            if (cause instanceof AccessDeniedException) {
                Notification.show(cause.getMessage(), Type.ERROR_MESSAGE);
                displayViewFullScreen(AccesRefuseView.NAME);
                return;
            }
            if (cause != null && cause.getClass() != null) {
                String simpleName = cause.getClass().getSimpleName();
                if (PropertyUtils.getListeErreursAIgnorer().contains(simpleName)) {
                    Notification.show(cause.getMessage(), Type.ERROR_MESSAGE);
                    displayViewFullScreen(ErreurView.NAME);
                    return;
                }
            }
            cause = cause.getCause();
        }
        // Traite les autres erreurs normalement 
        LOG.error(e.getThrowable().toString(), e.getThrowable());
        // Affiche de la vue d'erreur
        displayViewFullScreen(ErreurView.NAME);
        //DefaultErrorHandler.doDefault(e);
    });

    // Affiche le nom de l'application dans l'onglet du navigateur 
    getPage().setTitle(environment.getRequiredProperty("app.name"));

    //Gestion de l'acces a un dossier prcis via url deepLinking (ne peut pas tre fait dans navigator 
    //car le fragment ne correspond pas  une vue existante)
    getPage().addUriFragmentChangedListener(new UriFragmentChangedListener() {
        public void uriFragmentChanged(UriFragmentChangedEvent source) {

            //Si l'application est en maintenance on bloque l'accs
            if (!applicationActive() && !source.getUriFragment().contains(AccesBloqueView.NAME)
                    && !(source.getUriFragment().contains(AdminView.NAME) && userController.isAdmin())) {

                displayViewFullScreen(AccesBloqueView.NAME);
            } else {

                if (source.getUriFragment().contains("accesDossierEtudiant") && userController.isEnseignant()) {
                    rechercheController.accessToDossierEtudiantDeepLinking(source.getUriFragment());

                } /*else{
                    if(source.getUriFragment().contains("accesNotesEtudiant") 
                  && userController.isEnseignant()){
                       rechercheController.accessToDossierEtudiantDeepLinking(source.getUriFragment());
                       navigator.navigateTo(NotesView.NAME);
                    }
                  }*/

            }
        }
    });

    //Paramtrage du comportement en cas de perte de connexion
    configReconnectDialog();

    /* Construit le gestionnaire de vues utilis par la barre d'adresse et pour naviguer dans le dossier d'un tudiant */
    navigator.addProvider(viewProvider);
    navigator.setErrorProvider(new ViewProvider() {
        @Override
        public String getViewName(final String viewAndParameters) {
            return ErreurView.NAME;
        }

        @Override
        public View getView(final String viewName) {
            return viewProvider.getView(ErreurView.NAME);
        }
    });

    navigator.addViewChangeListener(new ViewChangeListener() {
        private static final long serialVersionUID = 7905379446201794289L;

        private static final String SELECTED_ITEM = "selected";

        @Override
        public boolean beforeViewChange(ViewChangeEvent event) {

            //Avant de se rendre sur une vue, on supprime le style "selected" des objets du menu
            viewButtons.values().forEach(button -> button.removeStyleName(SELECTED_ITEM));

            //Si on tente d'accder  la vue admin et que l'utilisateur est admin
            if (event.getViewName().equals(AdminView.NAME) && userController.userCanAccessAdminView()) {
                //Afficher la vue admin
                setContent(adminView);
                return true;
            }

            //Si l'application est en maintenance on bloque l'accs
            if (!applicationActive() && !event.getViewName().equals(AccesBloqueView.NAME)) {
                displayViewFullScreen(AccesBloqueView.NAME);
                return false;
            }

            //On bloque l'accs aux vues mobile
            if (!Utils.isViewDesktop(event.getViewName())) {
                return false;
            }
            //On bloque l'accs aux vues enseignants
            if (Utils.isViewEnseignant(event.getViewName())) {
                //Si utilisateur n'est pas enseignant
                if (!userController.isEnseignant()) {
                    //acces bloque
                    return false;
                } else {
                    //Affichage de la vue enseignant demande
                    if (event.getViewName().equals(FavorisView.NAME)) {
                        navigateToFavoris();
                        return true;
                    }
                    if (event.getViewName().equals(ListeInscritsView.NAME)) {
                        navigateToListeInscrits(null);
                        return true;
                    }
                    if (event.getViewName().equals(RechercheRapideView.NAME)) {
                        navigateToRechercheRapide();
                        return true;
                    }
                    if (event.getViewName().equals(RechercheArborescenteView.NAME)) {
                        navigateToRechercheArborescente(null);
                        return true;
                    }

                    return false; //la vue enseignant demande n'est pas gr (ex :vue mobile appele depuis la version desktop)
                }
            }

            return true;
        }

        @Override
        public void afterViewChange(ViewChangeEvent event) {

            //On rcupre l'lment du menu concern par la vue  afficher
            Button button = viewButtons.get(event.getViewName());

            if (button instanceof Button) {
                //on applique le style "selected" sur l'objet du menu concern par la vue affiche
                button.addStyleName(SELECTED_ITEM);
            }
        }
    });

    //init du tracker
    initAnalyticsTracker();

    //mainVerticalLayout est le contenu principal de la page
    setContent(mainVerticalLayout);

    //Si utilisateur enseignant ou tudiant
    if (userController.isEnseignant() || userController.isEtudiant()) {

        if (!applicationActive()) {
            displayViewFullScreen(AccesBloqueView.NAME);
        } else {
            //On rcupre l'IP du client
            GenericUI.getCurrent().getIpClient();
            /* Parametre le layoutDossierEtudiant */
            menuLayout.setPrimaryStyleName(ValoTheme.MENU_ROOT);
            //Le contentLayout est scrollable si besoin
            contentLayout.addStyleName("v-scrollable");
            //contentLayout prend toute la place possible
            contentLayout.setSizeFull();
            //le contentLayout prend toute la place disponible dans le layoutDossierEtudiant
            layoutDossierEtudiant.setExpandRatio(contentLayout, 1);
            //layoutDossierEtudiant prend toute la place possible
            layoutDossierEtudiant.setSizeFull();

            //Si user enseignant
            if (userController.isEnseignant()) {
                //On consultera les notes en vue enseignant
                vueEnseignantNotesEtResultats = true;

                //Construit le menu horizontal pour les enseignants
                tabSheetGlobal.setSizeFull();
                tabSheetGlobal.addStyleName(ValoTheme.TABSHEET_FRAMED);

                rangTabRecherche = 0;
                rangTabDossierEtudiant = 1;

                //ajout de l'onglet principal 'recherche'
                layoutOngletRecherche = new VerticalLayout();
                ajoutOngletRecherche();
                layoutOngletRecherche.setSizeFull();
                tabSheetGlobal.addTab(layoutOngletRecherche,
                        applicationContext.getMessage("mainUI.recherche.title", null, getLocale()),
                        FontAwesome.SEARCH);

                //ajout de l'onglet principal 'assistance'
                tabSheetGlobal.addTab(assistanceView,
                        applicationContext.getMessage(assistanceView.NAME + ".title", null, getLocale()),
                        FontAwesome.SUPPORT);

                //ajout de l'onglet dossier tudiant
                addTabDossierEtudiant();

                //Ce tabSheet sera align  droite
                tabSheetGlobal.addStyleName("right-aligned-tabs");

                //Le menu horizontal pour les enseignants est dfinit comme tant le contenu de la page
                mainVerticalLayout.addComponent(tabSheetGlobal);
                mainVerticalLayout.setSizeFull();
                mainVerticalLayout.setExpandRatio(tabSheetGlobal, 1);
            } else {
                //On consultera les notes en vue etudiant
                vueEnseignantNotesEtResultats = false;

                //User Etudiant
                //Le Dossier est dfinit comme tant le contenu de la page
                mainVerticalLayout.addComponent(layoutDossierEtudiant);
                mainVerticalLayout.setSizeFull();
                mainVerticalLayout.setExpandRatio(layoutDossierEtudiant, 1);

                //On renseigne l'tudiant dont on consulte le dossier
                //Rcupration du cod_etu
                etudiant = new Etudiant(
                        daoCodeLoginEtudiant.getCodEtuFromLogin(userController.getCurrentUserName()));
                LOG.debug("MainUI etudiant : " + MainUI.getCurrent().getEtudiant().getCod_etu());
                //Rcupration de l'tat-civil (et les adresses)
                etudiantController.recupererEtatCivil();
                //On construit le menu affich  l'tudiant
                buildMainMenuEtudiant();
            }

            /* Enregistre l'UI pour la rception de notifications */
            uiController.registerUI(this);

            boolean navigationComplete = false;
            String fragment = Page.getCurrent().getUriFragment();
            if (fragment != null && !fragment.isEmpty()) {
                //Cas de l'appel initial de l'application via l'url vers la vue admin (sinon le cas est grer dans le listener du navigator
                if (fragment.contains("adminView") && userController.userCanAccessAdminView()) {
                    //Afficher la vue admin
                    navigator.navigateTo(AdminView.NAME);
                    navigationComplete = true;
                }
                if (fragment.contains("accesDossierEtudiant") && userController.isEnseignant()) {
                    rechercheController.accessToDossierEtudiantDeepLinking(fragment);
                    navigationComplete = true;
                }
                /*if(fragment.contains("accesNotesEtudiant") && userController.isEnseignant()){
                   rechercheController.accessToDossierEtudiantDeepLinking(fragment);
                   navigator.navigateTo(NotesView.NAME);
                   navigationComplete=true;
                }*/
            }

            if (!navigationComplete) {
                //PROBLEME DU F5 : on passe ici (init()) que quand on reinitialise l'UI ou en cas d'erreur. 
                //On ne peut donc pas rediriger vers des vues qui utilisent des variables non initialises (ex : Main.getCurrent.getEtudiant)
                if (!applicationActive()) {
                    displayViewFullScreen(AccesBloqueView.NAME);
                } else {
                    //Si utilisateur enseignant
                    if (userController.isEnseignant()) {
                        //Rcupration des favoris pour l'utilisateur
                        List<Favoris> lfav = favorisController.getFavoris();
                        if (lfav != null && lfav.size() > 0) {
                            //On affiche la vue des favoris
                            navigator.navigateTo(FavorisView.NAME);
                        } else {
                            //On affiche la vue de recherche rapide
                            navigator.navigateTo(RechercheRapideView.NAME);
                        }
                        //Affichage du message d'intro si besoin
                        afficherMessageIntroEnseignants(false, true);
                    } else {
                        //Si utilisateur tudiant
                        if (userController.isEtudiant()) {
                            //On affiche la vue de l'tat-civil
                            navigator.navigateTo(EtatCivilView.NAME);
                            //Affichage du message d'intro si besoin
                            afficherMessageIntroEtudiants();
                        } else {
                            //On affiche la vue d'erreur
                            displayViewFullScreen(ErreurView.NAME);
                        }
                    }
                }
            }
        }
    } else {
        //Si utilisateur n'est ni enseignant, ni tudiant
        //On affiche la vue accs refus
        displayViewFullScreen(AccesRefuseView.NAME);
    }
}

From source file:fr.univlorraine.mondossierweb.MdwTouchkitUI.java

License:Apache License

/**
 * Cration du menu tudiant/*  w  w  w  .ja  v  a 2 s .  c  o m*/
 */
private void initMenuEtudiant() {

    //Si le menuEtudiant n'a jamais t initialis
    if (menuEtudiant == null) {
        //On cr le menuEtudiant
        menuEtudiant = new TabBarView();
    }

    //Cration de l'onglet Informations
    tabInfoAnnuelles = menuEtudiant.addTab(informationsAnnuellesMobileView,
            applicationContext.getMessage("mobileUI.infoannuelles.title", null, getLocale()), FontAwesome.INFO);
    tabInfoAnnuelles.setId("tabInfoAnnuelles");

    //Cration de l'onglet Calendrier
    tabCalendrier = menuEtudiant.addTab(calendrierMobileView,
            applicationContext.getMessage("mobileUI.calendrier.title", null, getLocale()),
            FontAwesome.CALENDAR);
    tabCalendrier.setId("tabCalendrier");

    //Si le navigationManager des notes est null
    if (noteNavigationManager == null) {
        //On cr le navigationManager
        noteNavigationManager = new NavigationManager();
    }
    //le composant affich dans le navigationManager est la vue des notes
    noteNavigationManager.setCurrentComponent(notesMobileView);
    //le composant suivant  afficher dans le navigationManager est la vue du dtail des notes
    noteNavigationManager.setNextComponent(notesDetailMobileView);
    //Cration de l'onglet Rsultats
    tabNotes = menuEtudiant.addTab(noteNavigationManager,
            applicationContext.getMessage("mobileUI.resultats.title", null, getLocale()), FontAwesome.LIST);
    tabNotes.setId("tabNotes");

    //Dtection du retour sur la vue du dtail des notes pour mettre  jour le JS
    menuEtudiant.addListener(new SelectedTabChangeListener() {
        @Override
        public void selectedTabChange(SelectedTabChangeEvent event) {
            //test si on se rend sur la vue des notes
            if (menuEtudiant.getSelelectedTab().equals(tabNotes)) {
                //test si on se rend sur le dtail des notes
                if (noteNavigationManager.getCurrentComponent().equals(notesDetailMobileView)) {
                    //On met  jour le JS (qui est normalement perdu, sans explication)
                    notesDetailMobileView.refreshJavascript();
                }
            }

            //test si on se rend sur la vue calendrier
            if (menuEtudiant.getSelelectedTab().equals(tabCalendrier)) {
                /* Message d'info */
                if (applicationContext.getMessage(CalendrierMobileView.NAME + ".message.info", null,
                        getLocale()) != null) {
                    Notification note = new Notification(applicationContext
                            .getMessage(CalendrierMobileView.NAME + ".message.info", null, getLocale()), "",
                            Notification.TYPE_TRAY_NOTIFICATION, true);
                    note.setPosition(Position.MIDDLE_CENTER);
                    note.setDelayMsec(6000);
                    note.show(Page.getCurrent());
                    //Notification.show("", applicationContext.getMessage(CalendrierMobileView.NAME+".message.info", null, getLocale()), Notification.TYPE_TRAY_NOTIFICATION);
                }
            }
        }
    });

}

From source file:fr.univlorraine.mondossierweb.views.NotesDetailMobileView.java

License:Apache License

@SuppressWarnings("deprecation")
public void refresh(Etape etapeToDisplay, String codetuToDisplay) {

    //On vrifie le droit d'accder  la vue
    if (UI.getCurrent() instanceof MdwTouchkitUI
            && (userController.isEnseignant() || userController.isEtudiant())
            && MdwTouchkitUI.getCurrent() != null && MdwTouchkitUI.getCurrent().getEtudiant() != null) {

        //On repassera dans la cration que si on n'a pas dej cr la vue
        if (codetu == null || !codetuToDisplay.equals(codetu)) {
            codetu = null;//from   www  .j  a  va2 s  .c  o  m
        }
        //On repassera dans la cration que si on n'a pas dej cr la vue
        if (etape == null || !etapeToDisplay.getAnnee().equals(etape.getAnnee())
                || !etapeToDisplay.getCode().equals(etape.getCode())
                || !etapeToDisplay.getVersion().equals(etape.getVersion())) {
            etape = null;
        }
        //On repassera dans la cration que si on n'a pas dej cr la vue
        if (codetu == null || etape == null) {
            compteurElp = 0;

            removeAllComponents();

            /* Style */
            setMargin(false);
            setSpacing(false);
            setSizeFull();

            //Test si user enseignant
            if (userController.isEnseignant()) {
                //On recupere les notes pour un enseignant
                etudiantController.renseigneDetailNotesEtResultatsEnseignant(etapeToDisplay);
            } else {
                //On rcupre les notes pour un tudiant
                etudiantController.renseigneDetailNotesEtResultats(etapeToDisplay);
            }

            //NAVBAR
            HorizontalLayout navbar = new HorizontalLayout();
            navbar.setSizeFull();
            navbar.setHeight("40px");
            navbar.setStyleName("navigation-bar");

            //Bouton retour
            returnButton = new Button();
            returnButton.setIcon(FontAwesome.ARROW_LEFT);
            //returnButton.setStyleName(ValoTheme.BUTTON_ICON_ONLY);
            returnButton.setStyleName("v-nav-button");
            returnButton.addClickListener(e -> {
                MdwTouchkitUI.getCurrent().navigateToResumeNotes();
            });
            navbar.addComponent(returnButton);
            navbar.setComponentAlignment(returnButton, Alignment.MIDDLE_LEFT);

            //Titre
            Label labelNavBar = new Label(MdwTouchkitUI.getCurrent().getEtudiant().getNom());
            labelNavBar.setStyleName("v-label-navbar");
            navbar.addComponent(labelNavBar);
            navbar.setComponentAlignment(labelNavBar, Alignment.MIDDLE_CENTER);

            navbar.setExpandRatio(labelNavBar, 1);

            //Significations
            if (MdwTouchkitUI.getCurrent().getEtudiant().isSignificationResultatsUtilisee()) {
                significationButton = new Button();
                significationButton.setIcon(FontAwesome.INFO_CIRCLE);
                significationButton.setStyleName("v-nav-button");
                significationButton.addClickListener(e -> {
                    //afficher les significations
                    SignificationsMobileWindow w = new SignificationsMobileWindow(true);
                    UI.getCurrent().addWindow(w);
                });
                navbar.addComponent(significationButton);
                navbar.setComponentAlignment(significationButton, Alignment.MIDDLE_RIGHT);
            }

            addComponent(navbar);

            layoutList = new HashMap<String, LinkedList<HorizontalLayout>>();

            etape = etapeToDisplay;
            codetu = codetuToDisplay;

            /* Layout */
            VerticalLayout layout = new VerticalLayout();
            layout.setSizeFull();
            layout.setMargin(true);
            layout.setSpacing(true);
            layout.setStyleName("v-scrollableelement");

            /* Titre */
            setCaption(applicationContext.getMessage(NAME + ".title", null, getLocale()));

            List<ElementPedagogique> lelp = MdwTouchkitUI.getCurrent().getEtudiant().getElementsPedagogiques();

            if (lelp != null && lelp.size() > 0) {
                //Panel notesPanel = new Panel();
                //notesPanel.setSizeFull();

                VerticalLayout notesLayout = new VerticalLayout();
                //notesLayout.setSpacing(true);

                HorizontalLayout libSessionLayout = new HorizontalLayout();
                libSessionLayout.setSizeFull();
                libSessionLayout.addComponent(new Label());

                HorizontalLayout sessionLayout = new HorizontalLayout();
                sessionLayout.setSizeFull();
                Label session1 = new Label("Session1");
                session1.setStyleName("label-bold-with-bottom");
                sessionLayout.addComponent(session1);
                Label session2 = new Label("Session2");
                session2.setStyleName("label-bold-with-bottom");
                sessionLayout.addComponent(session2);

                libSessionLayout.addComponent(sessionLayout);

                notesLayout.addComponent(libSessionLayout);

                boolean blueLevel = false;

                compteurElp = 0;
                elpPere = "";

                HorizontalLayout layoutPere = null;
                int nbFils = 0;

                for (ElementPedagogique elp : lelp) {

                    compteurElp++;

                    //Si on est sur un element de niveau 1, diffrent du premier element de la liste (qui est un rappel de l'etape)
                    if (elp.getLevel() == 1 && compteurElp > 1) {
                        blueLevel = !blueLevel;
                    }
                    HorizontalLayout libElpLayout = new HorizontalLayout();

                    if (compteurElp > 1) {
                        if (elp.getLevel() == 1) {

                            //Si le pere prcdent n'avait aucun fils
                            if (layoutPere != null && nbFils == 0) {
                                layoutPere.setStyleName("layout-bottom-line-separator");
                            }

                            layoutPere = libElpLayout;
                            nbFils = 0;
                            //Sur un elp de niveau 1, il est sur fond sombre
                            libElpLayout.addStyleName("main-layout-bottom-line-separator");

                            //ajout dans la hashMap
                            layoutList.put(elp.getCode(), new LinkedList<HorizontalLayout>());
                            elpPere = elp.getCode();

                            libElpLayout.setId("layout_pere_" + elp.getCode());

                        } else {
                            nbFils++;
                            libElpLayout.addStyleName("layout-bottom-line-separator");
                            libElpLayout.setId(compteurElp + "_" + elp.getCode() + "_layout_fils_" + elpPere);
                            //ajout dans la hashMap
                            layoutList.get(elpPere).add(libElpLayout);

                        }
                    } else {
                        //on affiche la racine (qui est un rappel de l'etape) en blanc sur un fond trs sombre
                        libElpLayout.addStyleName("root-layout-bottom-line-separator");
                    }
                    libElpLayout.setSizeFull();
                    libElpLayout.setHeight("100%");

                    VerticalLayout libVerticalLayout = new VerticalLayout();

                    Label libElpLabel = new Label(elp.getLibelle());
                    if (elp.isEpreuve()) {
                        libElpLabel.setStyleName("bold-italic-label");
                    } else {
                        libElpLabel.setStyleName("bold-label");
                    }
                    libVerticalLayout.addComponent(libElpLabel);

                    //Si on n'est pas sur le premier elp de la liste (rappel de l'tape) on affiche un indicateur de niveau
                    if (compteurElp > 1) {
                        HorizontalLayout levelMainLayout = new HorizontalLayout();
                        levelMainLayout.setSizeFull();
                        levelMainLayout.setSpacing(true);
                        levelMainLayout.setStyleName("level-indicator-layout");

                        int k = 0;
                        for (int i = 0; i < elp.getLevel(); i++) {
                            //Ajout d'un level
                            k++;
                            Label libLevelLayout = new Label();
                            libLevelLayout.setSizeFull();
                            libLevelLayout.setHeight("8px");
                            if (blueLevel) {
                                libLevelLayout.setStyleName("layout-level-blue-indicator");
                            } else {
                                libLevelLayout.setStyleName("layout-level-green-indicator");
                            }
                            levelMainLayout.addComponent(libLevelLayout);
                        }
                        //On pense avoir 7 level maxi 
                        for (int j = k; j < 8; j++) {
                            Label libLevelSpaceLayout = new Label();
                            libLevelSpaceLayout.setSizeFull();
                            libLevelSpaceLayout.setHeight("8px");
                            levelMainLayout.addComponent(libLevelSpaceLayout);
                        }

                        libVerticalLayout.addComponent(levelMainLayout);
                    }
                    libElpLayout.addComponent(libVerticalLayout);

                    HorizontalLayout noteLayout = new HorizontalLayout();
                    noteLayout.setSizeFull();

                    VerticalLayout vlsession1 = new VerticalLayout();
                    Label note1 = new Label(elp.getNote1());
                    if (!StringUtils.hasText(elp.getNote2())) {
                        if (elp.isEpreuve()) {
                            note1.setStyleName("bold-italic-label");
                        } else {
                            note1.setStyleName("bold-label");
                        }
                    }
                    vlsession1.addComponent(note1);
                    if (StringUtils.hasText(elp.getRes1())) {
                        Label adm1 = new Label(elp.getRes1());
                        if (!StringUtils.hasText(elp.getRes2())) {
                            if (elp.isEpreuve()) {
                                adm1.setStyleName("bold-italic-label");
                            } else {
                                adm1.setStyleName("bold-label");
                            }
                        }
                        vlsession1.addComponent(adm1);
                    }
                    noteLayout.addComponent(vlsession1);

                    VerticalLayout vlsession2 = new VerticalLayout();
                    Label note2 = new Label(elp.getNote2());
                    if (StringUtils.hasText(elp.getNote2())) {
                        if (elp.isEpreuve()) {
                            note2.setStyleName("bold-italic-label");
                        } else {
                            note2.setStyleName("bold-label");
                        }
                    }
                    vlsession2.addComponent(note2);
                    if (StringUtils.hasText(elp.getRes2())) {
                        Label adm2 = new Label(elp.getRes2());
                        if (StringUtils.hasText(elp.getRes2())) {
                            if (elp.isEpreuve()) {
                                adm2.setStyleName("bold-italic-label");
                            } else {
                                adm2.setStyleName("bold-label");
                            }
                        }
                        vlsession2.addComponent(adm2);
                    }
                    noteLayout.addComponent(vlsession2);

                    libElpLayout.addComponent(noteLayout);

                    notesLayout.addComponent(libElpLayout);

                    //Au dpart, on cache les lments de niveau suprieur  1
                    if (compteurElp > 1 && elp.getLevel() > 1) {
                        //libElpLayout.setVisible(false);
                        Page.getCurrent().getJavaScript().execute("document.getElementById('"
                                + libElpLayout.getId() + "').style.display=\"none\";");

                    }
                }

                //Cas o le dernier lment tait un lment le pere qui n'avait aucun fils
                if (layoutPere != null && nbFils == 0) {
                    layoutPere.setStyleName("layout-bottom-line-separator");
                }

                //Ajout du javascript
                for (Entry<String, LinkedList<HorizontalLayout>> entry : layoutList.entrySet()) {
                    String pere = entry.getKey();
                    LinkedList<HorizontalLayout> listeLayoutFils = entry.getValue();
                    // traitements
                    if (listeLayoutFils != null && listeLayoutFils.size() > 0) {
                        String affichagejavascriptfils = "";
                        for (HorizontalLayout hl : listeLayoutFils) {
                            affichagejavascriptfils += "if(document.getElementById('" + hl.getId()
                                    + "').style.display==\"none\"){document.getElementById('" + hl.getId()
                                    + "').style.display = \"block\";}else{document.getElementById('"
                                    + hl.getId() + "').style.display = \"none\";}";
                        }
                        //sur le clic du layout pere, on affiche les fils
                        Page.getCurrent().getJavaScript().execute("document.getElementById('" + "layout_pere_"
                                + pere + "').onclick=function(){ " + affichagejavascriptfils + "};");
                    }
                }

                layout.addComponent(notesLayout);
                layout.setExpandRatio(notesLayout, 1);

            } else {
                setHeight(30, Unit.PERCENTAGE);
                HorizontalLayout messageLayout = new HorizontalLayout();
                messageLayout.setSpacing(true);
                messageLayout.setMargin(true);
                Label labelAucunResultat = new Label(
                        applicationContext.getMessage(NAME + ".message.aucuneresultat", null, getLocale()));
                labelAucunResultat.setStyleName(ValoTheme.LABEL_BOLD);
                messageLayout.addComponent(labelAucunResultat);
                layout.addComponent(messageLayout);

            }

            addComponent(layout);

            setExpandRatio(layout, 1);

        } else {
            refreshJavascript();
        }
    }
}

From source file:fr.univlorraine.mondossierweb.views.NotesDetailMobileView.java

License:Apache License

public void refreshJavascript() {

    //Ajout du javascript
    for (Entry<String, LinkedList<HorizontalLayout>> entry : layoutList.entrySet()) {
        String pere = entry.getKey();
        LinkedList<HorizontalLayout> listeLayoutFils = entry.getValue();
        // traitements
        if (listeLayoutFils != null && listeLayoutFils.size() > 0) {
            String affichagejavascriptfils = "";
            for (HorizontalLayout hl : listeLayoutFils) {
                //On masque par dfaut tous les fils
                Page.getCurrent().getJavaScript()
                        .execute("document.getElementById('" + hl.getId() + "').style.display=\"none\";");
                //Creation du js pour modifier l'affichage au clic sur le pere
                affichagejavascriptfils += "if(document.getElementById('" + hl.getId()
                        + "').style.display==\"none\"){document.getElementById('" + hl.getId()
                        + "').style.display = \"block\";}else{document.getElementById('" + hl.getId()
                        + "').style.display = \"none\";}";
            }/*from   ww w. j ava  2s.  c om*/
            //sur le clic du layout pere, on affiche les fils
            Page.getCurrent().getJavaScript().execute("document.getElementById('" + "layout_pere_" + pere
                    + "').onclick=function(){ " + affichagejavascriptfils + "};");
        }
    }
}

From source file:helpers.Utils.java

License:Open Source License

public static void Notification(String title, String description, String type) {
    Notification notify = new Notification(title, description);
    notify.setPosition(Position.TOP_CENTER);
    if (type.equals("error")) {
        notify.setDelayMsec(16000);//from w w w.  jav  a 2 s  .co  m
        notify.setIcon(FontAwesome.FROWN_O);
        notify.setStyleName(ValoTheme.NOTIFICATION_ERROR + " " + ValoTheme.NOTIFICATION_CLOSABLE);
    } else if (type.equals("success")) {
        notify.setDelayMsec(8000);
        notify.setIcon(FontAwesome.SMILE_O);
        notify.setStyleName(ValoTheme.NOTIFICATION_SUCCESS + " " + ValoTheme.NOTIFICATION_CLOSABLE);
    } else {
        notify.setDelayMsec(8000);
        notify.setIcon(FontAwesome.COMMENT);
        notify.setStyleName(ValoTheme.NOTIFICATION_TRAY + " " + ValoTheme.NOTIFICATION_CLOSABLE);
    }
    notify.show(Page.getCurrent());
}

From source file:info.magnolia.jcrtools.exporter.ExporterSubApp.java

License:Open Source License

private void doExport(final Item item) {
    final String workspace = item.getItemProperty(JcrToolsConstants.WORKSPACE).getValue().toString();
    final String basePath = item.getItemProperty(JcrToolsConstants.BASE_PATH).getValue().toString();
    final String compression = item.getItemProperty(JcrToolsConstants.COMPRESSION).getValue().toString();

    final String path = basePath.equals("/") ? workspace : workspace + basePath;
    final String exportFileName = DataTransporter.createExportPath(path) + compression;

    OutputStream tempFileOutputStream = null;

    try {//  w  ww .  j  a va 2s.  co  m
        Boolean formatXml = (Boolean) item.getItemProperty(JcrToolsConstants.FORMAT_XML).getValue();
        formatXml = formatXml == null ? false : formatXml;

        final TempFileStreamResource tempFileStreamResource = new TempFileStreamResource(exportFileName);
        tempFileStreamResource.setTempFileName(exportFileName);
        tempFileStreamResource.setTempFileExtension(compression);
        tempFileOutputStream = tempFileStreamResource.getTempFileOutputStream();

        Map<String, Object> params = new HashMap<>();
        params.put(JcrToolsConstants.REPOSITORY, workspace);
        params.put(JcrToolsConstants.BASE_PATH, basePath);
        params.put(ExportCommand.EXPORT_EXTENSION, compression);
        params.put(ExportCommand.EXPORT_FILE_NAME, exportFileName);
        params.put(ExportCommand.EXPORT_FORMAT, formatXml);
        params.put(ExportCommand.EXPORT_MIME_EXTENSION, compression);
        params.put(ExportCommand.EXPORT_OUTPUT_STREAM, tempFileOutputStream);
        params.put(ExportCommand.EXPORT_KEEP_HISTORY, false);

        commandsManager.executeCommand(JcrToolsConstants.EXPORT_COMMAND, params);

        // TODO bandersen - open() is deprecated; should instead be a {@link https://vaadin.com/api/com/vaadin/ui/Link.html}. */
        Page.getCurrent().open(tempFileStreamResource, "", false);
        uiContext.openNotification(MessageStyleTypeEnum.INFO, true,
                i18n.translate("jcr-tools.exporter.exportSuccessMessage"));
    } catch (Exception e) {
        log.error("Failed to execute export command", e);
        uiContext.openNotification(MessageStyleTypeEnum.ERROR, true,
                i18n.translate("jcr-tools.exporter.exportFailedMessage"));
    } finally {
        IOUtils.closeQuietly(tempFileOutputStream);
    }
}

From source file:info.magnolia.ui.admincentral.shellapp.favorites.FavoritesPresenter.java

License:Open Source License

@Override
public void goToLocation(final String location) {
    final String completeLocation = getCompleteURIFromFragment(location);
    Page.getCurrent().setLocation(completeLocation);
}

From source file:info.magnolia.ui.admincentral.shellapp.favorites.FavoritesPresenter.java

License:Open Source License

public JcrNewNodeAdapter determinePreviousLocation() {
    JcrNewNodeAdapter favoriteLocation;/*from ww  w. ja v a  2  s .  c  om*/

    // at this point the current location in the browser hasn't yet changed to favorite shellapp,
    // so it is what we need to pre-populate the form for creating a new favorite
    final URI previousLocation = Page.getCurrent().getLocation();
    final String previousLocationFragment = previousLocation.getFragment();

    // skip bookmark resolution if for some reason fragment is empty
    if (previousLocationFragment == null) {
        return createNewFavoriteSuggestion("", "", "");
    }

    final String appName = DefaultLocation.extractAppName(previousLocationFragment);
    final String appType = DefaultLocation.extractAppType(previousLocationFragment);
    // TODO MGNLUI-1190 should this be added to DefaultLocation as a convenience static method?
    final String path = StringUtils.substringBetween(previousLocationFragment, ";", ":");

    // skip bookmark resolution shell apps
    if (Location.LOCATION_TYPE_SHELL_APP.equals(appType)) {
        favoriteLocation = createNewFavoriteSuggestion("", "", "");
    } else {
        final AppDescriptor appDescriptor;

        try {
            DefinitionProvider<AppDescriptor> definitionProvider = appDescriptorRegistry.getProvider(appName);
            appDescriptor = i18nizer.decorate(definitionProvider.get());
        } catch (Registry.NoSuchDefinitionException | IllegalStateException e) {
            throw new RuntimeException(e);
        }

        final String appIcon = StringUtils.defaultIfEmpty(appDescriptor.getIcon(), "icon-app");
        final String title = appDescriptor.getLabel() + " " + (path == null ? "/" : path);
        final String urlFragment = getUrlFragmentFromURI(previousLocation);
        favoriteLocation = createNewFavoriteSuggestion(urlFragment, title, appIcon);
    }
    return favoriteLocation;
}

From source file:info.magnolia.ui.form.field.factory.DateFieldFactory.java

License:Open Source License

/**
 * When not explicitly setting the current time using {@link Field#setValue} the client side implementation will set
 * it to the browsers time, ignoring timezone differences and therefor making it impossible to get the UTC time.
 */// w ww .  j a  va2s .  co  m
private void setTimeZone(DateField popupDateField) {

    TimeZone timeZone = TimeZone.getDefault();
    try {
        int offset = Page.getCurrent().getWebBrowser().getRawTimezoneOffset();
        timeZone.setRawOffset(offset);
    } catch (NullPointerException e) {
        // don't throw null pointer
    }
    popupDateField.setTimeZone(timeZone);
}

From source file:info.magnolia.ui.framework.action.DownloadBinaryAction.java

License:Open Source License

@Override
public void execute() throws ActionExecutionException {
    if (item instanceof JcrNodeAdapter) {
        final Node node = (Node) item.getJcrItem();
        final InputStream inputStream;
        Node binaryNode;/* w  w  w. j av  a2  s.co  m*/
        String fileName;
        StreamResource streamResource;
        try {
            binaryNode = getBinaryNode(node);
            fileName = getFileName(binaryNode);
            inputStream = getInputStream(binaryNode);
            streamResource = getStreamResource(inputStream, fileName);

            Page.getCurrent().open(streamResource, null, false);
        } catch (RepositoryException e) {
            throw new ActionExecutionException(
                    String.format("Error getting binary data from node [%s] to download.", node), e);
        }
    }
}