List of usage examples for com.vaadin.server Page getCurrent
public static Page getCurrent()
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); } } }