List of usage examples for com.vaadin.ui Button addStyleName
@Override public void addStyleName(String style)
From source file:fr.amapj.view.views.producteur.livraison.ProducteurLivraisonsView.java
License:Open Source License
@Override public void onPopupClose() { Long idProducteur = producteurSelector.getProducteurId(); if (idProducteur == null) { central.removeAllComponents();/*from w w w . ja v a2 s . co m*/ return; } // MesLivraisonsDTO res = new MesLivraisonsService().getLivraisonProducteur(gapViewer.getDateDebut(), gapViewer.getDateFin(), idProducteur); central.removeAllComponents(); // Pour chaque jour, ajout des produits livrer for (JourLivraisonsDTO jour : res.jours) { VerticalLayout vl = BaseUiTools.addPanel(central, PANEL_UNJOUR); String dateMessage = df1.format(jour.date); BaseUiTools.addStdLabel(vl, dateMessage, LABEL_DATEJOURLIV); for (ProducteurLivraisonsDTO producteurLiv : jour.producteurs) { BaseUiTools.addBandeau(vl, producteurLiv.modeleContrat, "nomcontrat"); String msg = "<b>Quantits totales livrer :</b><ul>"; for (QteProdDTO cell : producteurLiv.produits) { msg += "<li>" + cell.qte + " " + cell.nomProduit + " , " + cell.conditionnementProduit + "</li>"; } msg += "</ul>"; BaseUiTools.addHtmlLabel(vl, msg, LABEL_QTEPRODUIT); Button b = new Button("Voir le dtail par amapien"); b.setIcon(FontAwesome.CHEVRON_DOWN); vl.addComponent(b); Label detail = BaseUiTools.addHtmlLabel(vl, "", LABEL_QTEPRODUIT); b.addStyleName("icon-align-right"); b.addStyleName("large"); b.addClickListener(e -> buttonClick(detail, b, producteurLiv.idModeleContratDate)); b.setData(new Boolean(false)); // Link extractFile = LinkCreator.createLink(new EGFeuilleDistributionProducteur( producteurLiv.idModeleContrat, producteurLiv.idModeleContratDate)); vl.addComponent(extractFile); } } }
From source file:fr.amapj.view.views.sendmail.SendMailView.java
License:Open Source License
private void addButton(Layout layout, String str, ClickListener listener) { Button b = new Button(str); b.addStyleName("primary"); b.addClickListener(listener);//ww w . j a va2 s . c o m layout.addComponent(b); }
From source file:fr.amapj.view.views.synthesemulticontrat.SyntheseMultiContratView.java
License:Open Source License
private void addButton(VerticalLayout layout, String str, ClickListener listener) { Button b = new Button(str); b.addStyleName(ChameleonTheme.BUTTON_BIG); b.addClickListener(listener);//from w w w . j a v a2s . com layout.addComponent(b); }
From source file:fr.univlorraine.mondossierweb.MainUI.java
License:Apache License
/** * @see com.vaadin.ui.UI#init(com.vaadin.server.VaadinRequest) *///from ww w . ja v a 2 s . c o 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.utils.Utils.java
License:Apache License
public static void setButtonStyle(Button b) { b.setStyleName("v-nav-button"); b.addStyleName("link"); b.addStyleName("v-link"); }
From source file:fr.univlorraine.mondossierweb.views.AssistanceView.java
License:Apache License
/** * Initialise la vue/* w ww . ja v a 2 s . co m*/ */ @PostConstruct public void init() { //On vrifie le droit d'accder la vue if (userController.isEnseignant()) { // Style setMargin(true); setSpacing(true); // Rcupration de la configuration pour cette vue String docUrl = configController.getAssistanceDocUrl(); String helpdeskUrl = configController.getAssistanceHelpdeskUrl(); String mailContact = configController.getAssistanceContactMail(); // Titre Label title = new Label(applicationContext.getMessage(NAME + ".title", null, getLocale())); title.addStyleName(ValoTheme.LABEL_H1); addComponent(title); // Texte if (StringUtils.hasText(applicationContext.getMessage(NAME + ".text", null, getLocale()))) { addComponent(new Label(applicationContext.getMessage(NAME + ".text", null, getLocale()), ContentMode.HTML)); } // Afficher la pop-up de dmarrage Button popupBtn = new Button(applicationContext.getMessage(NAME + ".btnPopUp", null, getLocale()), FontAwesome.INFO); popupBtn.addStyleName(ValoTheme.BUTTON_LINK); popupBtn.addClickListener(e -> MainUI.getCurrent().afficherMessageIntroEnseignants(true, false)); addComponent(popupBtn); // Accs la documentation if (StringUtils.hasText(docUrl)) { Button docBtn = new Button(applicationContext.getMessage(NAME + ".btnDoc", null, getLocale()), FontAwesome.FILE_TEXT); docBtn.addStyleName(ValoTheme.BUTTON_LINK); BrowserWindowOpener docBwo = new BrowserWindowOpener(docUrl); docBwo.extend(docBtn); addComponent(docBtn); } // Envoyer un ticket if (StringUtils.hasText(helpdeskUrl)) { Button helpDeskBtn = new Button( applicationContext.getMessage(NAME + ".btnHelpdesk", null, getLocale()), FontAwesome.AMBULANCE); helpDeskBtn.addStyleName(ValoTheme.BUTTON_LINK); BrowserWindowOpener helpDeskBwo = new BrowserWindowOpener(helpdeskUrl); helpDeskBwo.extend(helpDeskBtn); addComponent(helpDeskBtn); } // Envoyer un mail if (StringUtils.hasText(mailContact)) { Button contactBtn = new Button(applicationContext.getMessage(NAME + ".btnContact", new Object[] { mailContact }, getLocale()), FontAwesome.ENVELOPE); contactBtn.addStyleName(ValoTheme.BUTTON_LINK); BrowserWindowOpener contactBwo = new BrowserWindowOpener("mailto:" + mailContact); contactBwo.extend(contactBtn); addComponent(contactBtn); } /* Deconnexion */ //Voir si on peut accder l'appli hors ENT, le dtecter, et afficher le bouton dconnexion if (configController.isLogoutCasPropose()) { Button decoBtn = new Button("Dconnexion", FontAwesome.SIGN_OUT); decoBtn.addStyleName(ValoTheme.BUTTON_LINK); decoBtn.addClickListener(e -> { getUI().getPage().setLocation("j_spring_security_logout"); }); addComponent(decoBtn); } } }
From source file:fr.univlorraine.mondossierweb.views.CalendrierView.java
License:Apache License
/** * Initialise la vue/* w w w. j a v a2s . c o m*/ */ @PostConstruct public void init() { //On vrifie le droit d'accder la vue if (UI.getCurrent() instanceof MainUI && (userController.isEnseignant() || userController.isEtudiant()) && MainUI.getCurrent() != null && MainUI.getCurrent().getEtudiant() != null) { /* Style */ setMargin(true); setSpacing(true); //Si on n'a pas dj essayer de rcuprer le calendrier if (!MainUI.getCurrent().getEtudiant().isCalendrierRecupere()) { etudiantController.recupererCalendrierExamens(); } /* Titre */ HorizontalLayout titleLayout = new HorizontalLayout(); titleLayout.setWidth("100%"); Label title = new Label(applicationContext.getMessage(NAME + ".title", null, getLocale())); title.addStyleName(ValoTheme.LABEL_H1); titleLayout.addComponent(title); titleLayout.setComponentAlignment(title, Alignment.MIDDLE_LEFT); //Test si on a des diplomes ou des etapes if (MainUI.getCurrent().getEtudiant().getCalendrier() != null && MainUI.getCurrent().getEtudiant().getCalendrier().size() > 0) { Button pdfButton = new Button(); pdfButton.setStyleName(ValoTheme.BUTTON_BORDERLESS_COLORED); pdfButton.addStyleName("button-big-icon"); pdfButton.addStyleName("red-button-icon"); pdfButton.setIcon(FontAwesome.FILE_PDF_O); pdfButton.setDescription( applicationContext.getMessage(NAME + ".btn.pdf.description", null, getLocale())); if (PropertyUtils.isPushEnabled()) { MyFileDownloader fd = new MyFileDownloader(calendrierController.exportPdf()); fd.extend(pdfButton); } else { FileDownloader fd = new FileDownloader(calendrierController.exportPdf()); fd.setOverrideContentType(false); fd.extend(pdfButton); } titleLayout.addComponent(pdfButton); titleLayout.setComponentAlignment(pdfButton, Alignment.MIDDLE_RIGHT); } addComponent(titleLayout); VerticalLayout globalLayout = new VerticalLayout(); globalLayout.setSizeFull(); globalLayout.setSpacing(true); /* Message d'info */ if (applicationContext.getMessage(NAME + ".message.info", null, getLocale()) != null) { Panel panelVue = new Panel(); HorizontalLayout vueLayout = new HorizontalLayout(); vueLayout.setMargin(true); vueLayout.setSpacing(true); vueLayout.setSizeFull(); Label vueLabel = new Label( applicationContext.getMessage(NAME + ".message.info", null, getLocale())); vueLabel.setContentMode(ContentMode.HTML); vueLabel.setStyleName(ValoTheme.LABEL_SMALL); vueLayout.addComponent(vueLabel); vueLayout.setExpandRatio(vueLabel, 1); panelVue.setContent(vueLayout); globalLayout.addComponent(panelVue); } /* Le Calendrier */ Panel panelCalendrier = new Panel( applicationContext.getMessage(NAME + ".calendrier.title", null, getLocale())); panelCalendrier.setSizeFull(); if (MainUI.getCurrent().getEtudiant() != null && MainUI.getCurrent().getEtudiant().getCalendrier() != null && MainUI.getCurrent().getEtudiant().getCalendrier().size() > 0) { BeanItemContainer<Examen> bic = new BeanItemContainer<>(Examen.class, MainUI.getCurrent().getEtudiant().getCalendrier()); Table calendrierTable = new Table(null, bic); calendrierTable.setWidth("100%"); String[] colonnes_to_create = CAL_FIELDS; if (configController.isAffNumPlaceExamen()) { colonnes_to_create = CAL_FIELDS_AVEC_PLACE; } for (String fieldName : colonnes_to_create) { calendrierTable.setColumnHeader(fieldName, applicationContext.getMessage(NAME + ".table." + fieldName, null, getLocale())); } calendrierTable.addGeneratedColumn("batiment", new BatimentColumnGenerator()); calendrierTable.addGeneratedColumn("salle", new SalleColumnGenerator()); calendrierTable.setColumnHeader("batiment", applicationContext.getMessage(NAME + ".table.batiment", null, getLocale())); calendrierTable.setColumnHeader("salle", applicationContext.getMessage(NAME + ".table.salle", null, getLocale())); String[] colonnes_to_display = CAL_FIELDS_ORDER; if (configController.isAffNumPlaceExamen()) { colonnes_to_display = CAL_FIELDS_ORDER_AVEC_PLACE; } calendrierTable.setVisibleColumns((Object[]) colonnes_to_display); calendrierTable.setColumnCollapsingAllowed(true); calendrierTable.setColumnReorderingAllowed(true); calendrierTable.setSelectable(false); calendrierTable.setImmediate(true); calendrierTable.setStyleName("noscrollabletable"); calendrierTable.setPageLength(calendrierTable.getItemIds().size()); panelCalendrier.setContent(calendrierTable); } else { HorizontalLayout labelExamenLayout = new HorizontalLayout(); labelExamenLayout.setMargin(true); labelExamenLayout.setSizeFull(); Label aucunExamen = new Label( applicationContext.getMessage(NAME + ".examen.aucun", null, getLocale())); aucunExamen.setStyleName(ValoTheme.LABEL_COLORED); aucunExamen.addStyleName(ValoTheme.LABEL_BOLD); labelExamenLayout.addComponent(aucunExamen); panelCalendrier.setContent(labelExamenLayout); } globalLayout.addComponent(panelCalendrier); addComponent(globalLayout); } }
From source file:fr.univlorraine.mondossierweb.views.FavorisMobileView.java
License:Apache License
/** * Initialise la vue/*ww w . j a v a 2s . c o m*/ */ @PostConstruct public void init() { //On vrifie le droit d'accder la vue if (UI.getCurrent() instanceof MdwTouchkitUI && userController.isEnseignant()) { removeAllComponents(); /* Style */ setSizeFull(); liste_types_inscrits = new LinkedList<String>(); liste_types_inscrits.add("ELP"); liste_types_inscrits.add("VET"); liste_type_arbo = new LinkedList<String>(); liste_type_arbo.add("CMP"); liste_type_arbo.add("VET"); List<Favoris> lfav = favorisController.getFavoris(); //NAVBAR HorizontalLayout navbar = new HorizontalLayout(); navbar.setSizeFull(); navbar.setHeight("40px"); navbar.setStyleName("navigation-bar"); //Bouton info infoButton = new Button(); infoButton.setIcon(FontAwesome.INFO); infoButton.setStyleName("v-nav-button"); infoButton.addClickListener(e -> { /** * NOUVELLE VERSION */ Notification note = new Notification( applicationContext.getMessage("helpWindowMobile.text.enseignant", null, getLocale()), "", Notification.TYPE_TRAY_NOTIFICATION, true); note.setPosition(Position.MIDDLE_CENTER); note.setDelayMsec(6000); note.show(UI.getCurrent().getPage()); /** * ANCIENNE VERSION */ /* //afficher message HelpMobileWindow hbw = new HelpMobileWindow(applicationContext.getMessage("helpWindowMobile.text.enseignant", null, getLocale()),applicationContext.getMessage("helpWindow.defaultTitle", null, getLocale()),false); UI.getCurrent().addWindow(hbw); */ }); navbar.addComponent(infoButton); navbar.setComponentAlignment(infoButton, Alignment.MIDDLE_LEFT); //Title Label labelFav = new Label(applicationContext.getMessage(NAME + ".title.label", null, getLocale())); labelFav.setStyleName("v-label-navbar"); navbar.addComponent(labelFav); navbar.setComponentAlignment(labelFav, Alignment.MIDDLE_CENTER); //Bouton Search Button searchButton = new Button(); searchButton.setIcon(FontAwesome.SEARCH); searchButton.setStyleName("v-nav-button"); navbar.addComponent(searchButton); navbar.setComponentAlignment(searchButton, Alignment.MIDDLE_RIGHT); searchButton.addClickListener(e -> { ((MdwTouchkitUI) MdwTouchkitUI.getCurrent()).navigateToRecherche(NAME); }); navbar.setExpandRatio(labelFav, 1); addComponent(navbar); VerticalLayout globalLayout = new VerticalLayout(); globalLayout.setSizeFull(); globalLayout.setSpacing(true); globalLayout.setMargin(true); FormLayout labelLayout = new FormLayout(); labelLayout.setSizeFull(); labelLayout.setMargin(false); labelLayout.setSpacing(false); Label infoLabel = new Label(applicationContext.getMessage(NAME + ".info.label", null, getLocale())); infoLabel.setStyleName(ValoTheme.LABEL_SMALL); infoLabel.setIcon(FontAwesome.INFO_CIRCLE); infoLabel.setWidth("100%"); labelLayout.addComponent(infoLabel); globalLayout.addComponent(labelLayout); if (lfav != null && lfav.size() > 0) { if (favorisContientVet(lfav)) { Panel vetPanel = new Panel( applicationContext.getMessage(NAME + ".vetpanel.title", null, getLocale())); vetPanel.setStyleName("centertitle-panel"); vetPanel.addStyleName("v-colored-panel-caption"); vetPanel.setSizeFull(); VerticalLayout vetLayout = new VerticalLayout(); vetLayout.setSizeFull(); vetLayout.setHeight(null); int i = 0; for (Favoris fav : lfav) { if (fav.getId().getTypfav().equals(Utils.VET)) { i++; HorizontalLayout favVetLayout = new HorizontalLayout(); favVetLayout.setSizeFull(); favVetLayout.setMargin(true); favVetLayout.setSpacing(true); favVetLayout.setStyleName("v-layout-multiline"); favVetLayout.setWidth("100%"); favVetLayout.setHeight("100%"); Button codeButton = new Button(fav.getId().getIdfav()); codeButton.setCaption(fav.getId().getIdfav()); Utils.setButtonStyle(codeButton); codeButton.setWidth("90px"); codeButton.addClickListener(e -> { accessToDetail(fav.getId().getIdfav(), fav.getId().getTypfav()); }); Button libButton = new Button(favorisController.getLibObjFavori(fav.getId().getTypfav(), fav.getId().getIdfav())); Utils.setButtonStyle(libButton); libButton.setHeight("100%"); libButton.setWidth("100%"); libButton.addClickListener(e -> { accessToDetail(fav.getId().getIdfav(), fav.getId().getTypfav()); }); favVetLayout.addComponent(codeButton); //favVetLayout.setComponentAlignment(codeButton, Alignment.MIDDLE_CENTER); favVetLayout.addComponent(libButton); favVetLayout.setComponentAlignment(libButton, Alignment.MIDDLE_CENTER); favVetLayout.setExpandRatio(libButton, 1); vetLayout.addComponent(favVetLayout); if (i > 1) { favVetLayout.addStyleName("line-separator"); } } } vetPanel.setContent(vetLayout); globalLayout.addComponent(vetPanel); } if (favorisContientElp(lfav)) { Panel elpPanel = new Panel( applicationContext.getMessage(NAME + ".elppanel.title", null, getLocale())); elpPanel.setStyleName("centertitle-panel"); elpPanel.addStyleName("v-colored-panel-caption"); elpPanel.setSizeFull(); VerticalLayout elpLayout = new VerticalLayout(); elpLayout.setSizeFull(); elpLayout.setHeight(null); int i = 0; for (Favoris fav : lfav) { if (fav.getId().getTypfav().equals(Utils.ELP)) { i++; HorizontalLayout favElpLayout = new HorizontalLayout(); favElpLayout.setSizeFull(); favElpLayout.setMargin(true); favElpLayout.setSpacing(true); favElpLayout.setStyleName("v-layout-multiline"); favElpLayout.setWidth("100%"); favElpLayout.setHeight("100%"); Button codeButton = new Button(fav.getId().getIdfav()); Utils.setButtonStyle(codeButton); codeButton.setWidth("90px"); codeButton.addClickListener(e -> { accessToDetail(fav.getId().getIdfav(), fav.getId().getTypfav()); }); Button libButton = new Button(favorisController.getLibObjFavori(fav.getId().getTypfav(), fav.getId().getIdfav())); Utils.setButtonStyle(libButton); libButton.setHeight("100%"); libButton.setWidth("100%"); libButton.addClickListener(e -> { accessToDetail(fav.getId().getIdfav(), fav.getId().getTypfav()); }); favElpLayout.addComponent(codeButton); favElpLayout.addComponent(libButton); favElpLayout.setComponentAlignment(libButton, Alignment.MIDDLE_CENTER); favElpLayout.setExpandRatio(libButton, 1); elpLayout.addComponent(favElpLayout); if (i > 1) { favElpLayout.addStyleName("line-separator"); } } } elpPanel.setContent(elpLayout); globalLayout.addComponent(elpPanel); } } labelAucunFavoriLayout = new HorizontalLayout(); labelAucunFavoriLayout.setMargin(true); labelAucunFavoriLayout.setSizeFull(); Button aucunFavoris = new Button( applicationContext.getMessage(NAME + ".favoris.aucun", null, getLocale())); aucunFavoris.setStyleName("v-nav-button"); aucunFavoris.addStyleName(ValoTheme.BUTTON_LINK); aucunFavoris.addClickListener(e -> { ((MdwTouchkitUI) MdwTouchkitUI.getCurrent()).navigateToRecherche(NAME); }); labelAucunFavoriLayout.addComponent(aucunFavoris); labelAucunFavoriLayout.setVisible(false); globalLayout.addComponent(labelAucunFavoriLayout); if (lfav == null || lfav.size() == 0) { labelAucunFavoriLayout.setVisible(true); } //addComponent(globalLayout); contentLayout.setStyleName("v-scrollableelement"); contentLayout.addComponent(globalLayout); addComponent(contentLayout); setExpandRatio(contentLayout, 1); } }
From source file:fr.univlorraine.mondossierweb.views.ListeInscritsMobileView.java
License:Apache License
/** * Initialise la vue//from www . j a v a 2 s .com */ @PostConstruct public void init() { //On vrifie le droit d'accder la vue if (UI.getCurrent() instanceof MdwTouchkitUI && userController.isEnseignant()) { // On rinitialise la vue removeAllComponents(); // Style setSizeFull(); addStyleName("v-noscrollableelement"); // On rcupre le favori afficher typeFavori = MdwTouchkitUI.getCurrent().getTypeObjListInscrits(); libelleObj = ""; if (typeIsVet() && MdwTouchkitUI.getCurrent().getEtapeListeInscrits() != null) { libelleObj = MdwTouchkitUI.getCurrent().getEtapeListeInscrits().getLibelle(); } if (typeIsElp() && MdwTouchkitUI.getCurrent().getElpListeInscrits() != null) { libelleObj = MdwTouchkitUI.getCurrent().getElpListeInscrits().getLibelle(); } //Rcupration de la liste des inscrits List<Inscrit> linscrits = MdwTouchkitUI.getCurrent().getListeInscrits(); //Rcupration du nombre d'inscrit par page nbEtuParPage = configController.getTrombiMobileNbEtuParPage(); //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("v-nav-button"); returnButton.addClickListener(e -> { if (MdwTouchkitUI.getCurrent().getTrombinoscopeFromView() != null && MdwTouchkitUI.getCurrent().getTrombinoscopeFromView().equals(FavorisMobileView.NAME)) { MdwTouchkitUI.getCurrent().navigateTofavoris(); } if (MdwTouchkitUI.getCurrent().getTrombinoscopeFromView() != null && MdwTouchkitUI.getCurrent().getTrombinoscopeFromView().equals(RechercheMobileView.NAME)) { MdwTouchkitUI.getCurrent().navigateToRecherche(null); } }); navbar.addComponent(returnButton); navbar.setComponentAlignment(returnButton, Alignment.MIDDLE_LEFT); //Title Label labelTrombi = new Label(applicationContext.getMessage(NAME + ".title.label", null, getLocale())); labelTrombi.setStyleName("v-label-navbar"); navbar.addComponent(labelTrombi); navbar.setComponentAlignment(labelTrombi, Alignment.MIDDLE_CENTER); // bouton pour ajouter en favori si ce n'est pas dj le cas List<Favoris> lfav = favorisController.getFavoris(); FavorisPK favpk = new FavorisPK(); favpk.setLogin(userController.getCurrentUserName()); favpk.setIdfav(MdwTouchkitUI.getCurrent().getCodeObjListInscrits()); favpk.setTypfav(typeFavori); Favoris favori = new Favoris(); favori.setId(favpk); //Si l'objet n'est pas dj en favori if (lfav != null && !lfav.contains(favori)) { //Cration du bouton pour ajouter l'objet aux favoris Button btnAjoutFavori = new Button("+"); btnAjoutFavori.setIcon(FontAwesome.STAR_O); btnAjoutFavori.setStyleName("v-nav-button"); btnAjoutFavori.addClickListener(e -> { //creation du favori en base sur le clic du bouton favorisController.saveFavori(favori); //On cache le bouton de mise en favori btnAjoutFavori.setVisible(false); //Affichage d'un message de confirmation Notification.show( applicationContext.getMessage(NAME + ".message.favoriAjoute", null, getLocale()), Type.TRAY_NOTIFICATION); }); //Ajout du bouton l'interface navbar.addComponent(btnAjoutFavori); } //Bouton Filtre //On a la possibilit de filtrer le trombinoscope que si on est positionn sur un ELP if (typeIsElp()) { FiltreInscritsMobileWindow w = new FiltreInscritsMobileWindow(); //Si on a des lments afficher dans la popup filtre if ((w.getListeEtapes() != null && w.getListeEtapes().size() > 0) || (w.getListeGroupes() != null && w.getListeGroupes().size() > 0)) { filterButton = new Button(); filterButton.setIcon(FontAwesome.ELLIPSIS_V); filterButton.setStyleName("v-nav-button"); filterButton.addClickListener(e -> { w.addCloseListener(f -> { //Si la personne a ferm la popup en appuyant sur le bouton FILTRER if (w.isDemandeFiltrage()) { vetSelectionnee = w.getVetSelectionnee(); groupeSelectionne = w.getGroupeSelectionne(); displayTrombinoscope(false); } }); UI.getCurrent().addWindow(w); }); navbar.addComponent(filterButton); navbar.setComponentAlignment(filterButton, Alignment.MIDDLE_RIGHT); } } navbar.setExpandRatio(labelTrombi, 1); addComponent(navbar); //Test si la liste contient des tudiants if (linscrits != null && linscrits.size() > 0) { pageEnCours = 1; //Calcul du nombre maxi de page if (nbEtuParPage > 0 && linscrits.size() > nbEtuParPage) { pageMax = (linscrits.size() / nbEtuParPage) + 1; } else { //On affiche tous les inscrits sur une seule page pageMax = 1; } infoLayout = new VerticalLayout(); infoLayout.setSizeFull(); infoLayout.setMargin(true); infoLayout.setSpacing(true); infoLayout.addStyleName("v-scrollableelement"); //Layout avec le Libelle HorizontalLayout resumeLayout = new HorizontalLayout(); resumeLayout.setWidth("100%"); resumeLayout.setHeight("20px"); //Label affichant le nb d'inscrits infoLibelleObj = new Label(libelleObj); infoLibelleObj.setStyleName(ValoTheme.LABEL_SMALL); infoLibelleObj.setSizeFull(); resumeLayout.addComponent(infoLibelleObj); resumeLayout.setComponentAlignment(infoLibelleObj, Alignment.TOP_CENTER); infoLayout.addComponent(resumeLayout); //Layout qui contient la liste des inscrits et le trombinoscope dataLayout = new VerticalLayout(); dataLayout.setSizeFull(); //Layout contenant le gridLayout correspondant au trombinoscope verticalLayoutForTrombi = new VerticalLayout(); verticalLayoutForTrombi.setSizeFull(); verticalLayoutForTrombi.addStyleName("v-scrollablepanel"); //Cration du trombinoscope displayTrombinoscope(false); verticalLayoutForTrombi.addComponent(trombiLayout); verticalLayoutForTrombi.setSizeFull(); verticalLayoutForTrombi.setHeight(null); if (pageMax > 1) { HorizontalLayout layoutPagination = new HorizontalLayout(); layoutPagination.setWidth("100%"); layoutPagination.setMargin(true); if (pageEnCours < pageMax) { Button btnNext = new Button( applicationContext.getMessage(NAME + ".btn.affichersuite", null, getLocale())); btnNext.setStyleName(ValoTheme.BUTTON_PRIMARY); btnNext.addStyleName("v-popover-button"); btnNext.addClickListener(e -> { pageEnCours++; displayTrombinoscope(true); if (pageEnCours >= pageMax) { btnNext.setVisible(false); } }); layoutPagination.addComponent(btnNext); layoutPagination.setComponentAlignment(btnNext, Alignment.MIDDLE_CENTER); layoutPagination.setExpandRatio(btnNext, 1); } verticalLayoutForTrombi.addComponent(layoutPagination); } //Le layout contient le trombi afficher dataLayout.addComponent(verticalLayoutForTrombi); infoLayout.addComponent(dataLayout); infoLayout.setExpandRatio(dataLayout, 1); addComponent(infoLayout); setExpandRatio(infoLayout, 1); } else { // Layout contenant le label du message indiquant aucun inscrit infoLayout = new VerticalLayout(); infoLayout.setMargin(true); infoLayout.setSpacing(true); // Label du message indiquant aucun inscrit Label infoAucuninscrit = new Label( applicationContext.getMessage(NAME + ".message.aucuninscrit", null, getLocale())); infoAucuninscrit.setSizeFull(); // Ajout du label au layout infoLayout.addComponent(infoAucuninscrit); addComponent(infoLayout); setExpandRatio(infoLayout, 1); } } }
From source file:fr.univlorraine.mondossierweb.views.ListeInscritsView.java
License:Apache License
private void displayTrombinoscope() { List<Inscrit> linscrits = MainUI.getCurrent().getListeInscrits(); if (trombiLayout != null) { trombiLayout.removeAllComponents(); } else {//from w w w .j a v a 2 s . c o m trombiLayout = new GridLayout(); trombiLayout.setColumns(5); trombiLayout.setWidth("100%"); trombiLayout.setHeight(null); trombiLayout.setSpacing(true); } for (Inscrit inscrit : linscrits) { if (listecodind.contains(inscrit.getCod_ind())) { VerticalLayout photoLayout = new VerticalLayout(); photoLayout.setId(inscrit.getCod_ind()); photoLayout.setHeight("100%"); if (inscrit.getUrlphoto() != null) { //Button fotoEtu=new Button(); Image fotoEtudiant = new Image(null, new ExternalResource(inscrit.getUrlphoto())); fotoEtudiant.setWidth("120px"); fotoEtudiant.setStyleName(ValoTheme.BUTTON_LINK); fotoEtudiant.addClickListener(e -> { rechercheController.accessToDetail(inscrit.getCod_etu().toString(), Utils.TYPE_ETU, null); }); photoLayout.addComponent(fotoEtudiant); //photoLayout.addComponent(fotoEtu); photoLayout.setComponentAlignment(fotoEtudiant, Alignment.MIDDLE_CENTER); photoLayout.setExpandRatio(fotoEtudiant, 1); } VerticalLayout nomCodeLayout = new VerticalLayout(); nomCodeLayout.setSizeFull(); nomCodeLayout.setSpacing(false); Button btnNomEtudiant = new Button(inscrit.getPrenom() + " " + inscrit.getNom()); btnNomEtudiant.setSizeFull(); btnNomEtudiant.setStyleName(ValoTheme.BUTTON_BORDERLESS); btnNomEtudiant.addStyleName("link"); btnNomEtudiant.addStyleName("v-link"); nomCodeLayout.addComponent(btnNomEtudiant); btnNomEtudiant.addClickListener(e -> { rechercheController.accessToDetail(inscrit.getCod_etu().toString(), Utils.TYPE_ETU, null); }); nomCodeLayout.setComponentAlignment(btnNomEtudiant, Alignment.MIDDLE_CENTER); //nomCodeLayout.setExpandRatio(btnNomEtudiant, 1); Label codetuLabel = new Label(inscrit.getCod_etu()); codetuLabel.setSizeFull(); codetuLabel.setStyleName(ValoTheme.LABEL_TINY); codetuLabel.addStyleName("label-centre"); nomCodeLayout.addComponent(codetuLabel); nomCodeLayout.setComponentAlignment(codetuLabel, Alignment.TOP_CENTER); photoLayout.addComponent(nomCodeLayout); trombiLayout.addComponent(photoLayout); trombiLayout.setComponentAlignment(photoLayout, Alignment.MIDDLE_CENTER); } } }