List of usage examples for com.vaadin.shared.ui.grid HeightMode ROW
HeightMode ROW
To view the source code for com.vaadin.shared.ui.grid HeightMode ROW.
Click Source Link
From source file:com.github.carljmosca.ui.EventsView.java
@PostConstruct private void init() { sdf = new SimpleDateFormat("MM/dd/yy HH:mm"); setCaption("Events"); grid = new Grid<>(Events.class); grid.addColumn(p -> p.getName() + ": " + sdf.format(p.getStartTime()) + " " + p.getCause()) .setCaption("Name/Start").setId("nameAndStart"); grid.setColumns("nameAndStart"); grid.setHeightMode(HeightMode.ROW); grid.setHeightByRows(10.0d);//from w ww .j a v a2 s .co m grid.setSelectionMode(Grid.SelectionMode.SINGLE); grid.addSelectionListener((SelectionEvent<Events> event) -> { DemoUI demoUI = (DemoUI) UI.getCurrent(); demoUI.setEventId(grid.getSelectedItems().stream().findFirst().get().getEventsPK().getId()); getNavigationManager().navigateTo(framesView); }); grid.setSizeUndefined(); VerticalLayout gridLayout = new VerticalLayout(grid); gridLayout.setSizeFull(); SimpleDateFormat dtf = new SimpleDateFormat("yy-MM-dd hh:mm"); setContent(gridLayout); }
From source file:com.github.carljmosca.ui.EventsView.java
private void populateGrid() { DemoUI demoUI = (DemoUI) this.getUI(); if (demoUI.getEventStartTime() != null && demoUI.getMonitorId() > 0) { grid.setDataProvider(/* ww w .ja va2s .c o m*/ (sortorder, offset, limit) -> eventsRepository.findByMonitorAndStartTime(offset, limit, demoUI.getMonitorId(), demoUI.getEventStartTime()).stream(), () -> (int) eventsRepository.count()); grid.setHeightMode(HeightMode.ROW); grid.setHeightByRows(10.0d); } }
From source file:de.uni_tuebingen.qbic.qbicmainportlet.HomeView.java
License:Open Source License
/** * sets the ContainerDataSource of this view. Should usually contain project information. Caption * is caption./*from w w w. ja va2 s . com*/ * * @param homeViewInformation * @param caption */ public void setContainerDataSource(SpaceBean spaceBean, String newCaption) { caption = newCaption; currentBean = spaceBean; numberOfProjects = currentBean.getProjects().size(); projectGrid = new Grid(); GeneratedPropertyContainer gpcProjects = new GeneratedPropertyContainer(spaceBean.getProjects()); gpcProjects.removeContainerProperty("members"); gpcProjects.removeContainerProperty("id"); gpcProjects.removeContainerProperty("experiments"); gpcProjects.removeContainerProperty("contact"); gpcProjects.removeContainerProperty("contactPerson"); gpcProjects.removeContainerProperty("projectManager"); gpcProjects.removeContainerProperty("containsData"); gpcProjects.removeContainerProperty("containsResults"); gpcProjects.removeContainerProperty("containsAttachments"); gpcProjects.removeContainerProperty("description"); gpcProjects.removeContainerProperty("progress"); gpcProjects.removeContainerProperty("registrationDate"); gpcProjects.removeContainerProperty("registrator"); gpcProjects.removeContainerProperty("longDescription"); projectGrid.setContainerDataSource(gpcProjects); projectGrid.setHeightMode(HeightMode.ROW); projectGrid.setHeightByRows(20); // projectGrid.getColumn("space").setWidthUndefined(); // projectGrid.getColumn("code").setWidthUndefined(); // projectGrid.getColumn("secondaryName").setWidthUndefined(); // projectGrid.getColumn("principalInvestigator").setWidthUndefined(); projectGrid.getColumn("code").setHeaderCaption("Sub-Project").setWidth(150); // projectGrid.getColumn("space").setWidth(200); Column nameCol = projectGrid.getColumn("secondaryName"); nameCol.setHeaderCaption("Short Name"); nameCol.setMaximumWidth(450); projectGrid.getColumn("space").setMaximumWidth(350); projectGrid.getColumn("space").setHeaderCaption("Project"); projectGrid.getColumn("principalInvestigator").setHeaderCaption("Investigator"); projectGrid.setColumnOrder("code", "space", "secondaryName", "principalInvestigator"); projectGrid.setResponsive(true); helpers.GridFunctions.addColumnFilters(projectGrid, gpcProjects); gpcProjects.addGeneratedProperty("Summary", new PropertyValueGenerator<String>() { @Override public String getValue(Item item, Object itemId, Object propertyId) { return "show"; } @Override public Class<String> getType() { return String.class; } }); projectGrid.getColumn("Summary").setWidthUndefined(); projectGrid.getColumn("Summary").setRenderer(new ButtonRenderer(new RendererClickListener() { @Override public void click(RendererClickEvent event) { // Show loading window ProgressBar bar = new ProgressBar(); bar.setIndeterminate(true); VerticalLayout vl = new VerticalLayout(bar); vl.setComponentAlignment(bar, Alignment.MIDDLE_CENTER); vl.setWidth("50%"); vl.setSpacing(true); vl.setMargin(true); Window loadingWindow = new Window("Loading project summary..."); loadingWindow.setWidth("50%"); loadingWindow.setContent(vl); loadingWindow.center(); loadingWindow.setModal(true); loadingWindow.setResizable(false); QbicmainportletUI ui = (QbicmainportletUI) UI.getCurrent(); ui.addWindow(loadingWindow); // fetch summary and create docx in tmp folder ProjectBean proj = (ProjectBean) event.getItemId(); summaryFetcher.fetchSummaryComponent(proj.getCode(), proj.getSecondaryName(), proj.getDescription(), new ProjectSummaryReadyRunnable(summaryFetcher, loadingWindow, proj.getCode())); } })); projectGrid.getColumn("Summary").setWidth(100); projectGrid.addSelectionListener(new SelectionListener() { @Override public void select(SelectionEvent event) { Set<Object> selectedElements = event.getSelected(); if (selectedElements == null) { return; } ProjectBean selectedProject = (ProjectBean) selectedElements.iterator().next(); if (selectedProject == null) { return; } String entity = selectedProject.getId(); State state = (State) UI.getCurrent().getSession().getAttribute("state"); ArrayList<String> message = new ArrayList<String>(); message.add("clicked"); message.add(entity); message.add(ProjectView.navigateToLabel); state.notifyObservers(message); } }); }
From source file:de.uni_tuebingen.qbic.qbicmainportlet.PatientView.java
License:Open Source License
void updateProjectStatus() { BeanItemContainer<ExperimentStatusBean> experimentstatusBeans = datahandler .computeIvacPatientStatus(currentBean); int finishedExperiments = 0; status.removeAllComponents();/*w ww. ja v a 2 s . co m*/ status.setWidth(100.0f, Unit.PERCENTAGE); // Generate button caption column final GeneratedPropertyContainer gpc = new GeneratedPropertyContainer(experimentstatusBeans); gpc.addGeneratedProperty("started", new PropertyValueGenerator<String>() { @Override public Class<String> getType() { return String.class; } @Override public String getValue(Item item, Object itemId, Object propertyId) { String status = null; if ((double) item.getItemProperty("status").getValue() > 0.0) { status = "<span class=\"v-icon\" style=\"font-family: " + FontAwesome.CHECK.getFontFamily() + ";color:" + "#2dd085" + "\">&#x" + Integer.toHexString(FontAwesome.CHECK.getCodepoint()) + ";</span>"; } else { status = "<span class=\"v-icon\" style=\"font-family: " + FontAwesome.TIMES.getFontFamily() + ";color:" + "#f54993" + "\">&#x" + Integer.toHexString(FontAwesome.TIMES.getCodepoint()) + ";</span>"; } return status.toString(); } }); gpc.removeContainerProperty("identifier"); experiments.setContainerDataSource(gpc); // experiments.setHeaderVisible(false); experiments.setHeightMode(HeightMode.ROW); experiments.setHeightByRows(gpc.size()); experiments.setWidth(Page.getCurrent().getBrowserWindowWidth() * 0.6f, Unit.PIXELS); experiments.getColumn("status").setRenderer(new ProgressBarRenderer()); experiments.setColumnOrder("started", "code", "description", "status", "download", "runWorkflow"); ButtonRenderer downloadRenderer = new ButtonRenderer(new RendererClickListener() { @Override public void click(RendererClickEvent event) { ExperimentStatusBean esb = (ExperimentStatusBean) event.getItemId(); if (esb.getDescription().equals("Barcode Generation")) { new Notification("Download of Barcodes not available.", "<br/>Please create barcodes by clicking 'Run'.", Type.WARNING_MESSAGE, true) .show(Page.getCurrent()); } else if (esb.getIdentifier() == null || esb.getIdentifier().isEmpty()) { new Notification("No data available for download.", "<br/>Please do the analysis by clicking 'Run' first.", Type.WARNING_MESSAGE, true) .show(Page.getCurrent()); } else { ArrayList<String> message = new ArrayList<String>(); message.add("clicked"); StringBuilder sb = new StringBuilder("type="); sb.append("experiment"); sb.append("&"); sb.append("id="); // sb.append(currentBean.getId()); sb.append(esb.getIdentifier()); message.add(sb.toString()); message.add(DatasetView.navigateToLabel); state.notifyObservers(message); } } }); experiments.getColumn("download").setRenderer(downloadRenderer); experiments.getColumn("runWorkflow").setRenderer(new ButtonRenderer(new RendererClickListener() { @Override public void click(RendererClickEvent event) { ExperimentStatusBean esb = (ExperimentStatusBean) event.getItemId(); // TODO idea get description of item to navigate to the correct workflow ?! if (esb.getDescription().equals("Barcode Generation")) { ArrayList<String> message = new ArrayList<String>(); message.add("clicked"); message.add(currentBean.getId()); // TODO link to barcode dragon // message.add(BarcodeView.navigateToLabel); // state.notifyObservers(message); } else { ArrayList<String> message = new ArrayList<String>(); message.add("clicked"); StringBuilder sb = new StringBuilder("type="); sb.append("workflowExperimentType"); sb.append("&"); sb.append("id="); sb.append("Q_WF_MS_PEPTIDEID"); sb.append("&"); sb.append("project="); sb.append(currentBean.getId()); message.add(sb.toString()); message.add(WorkflowView.navigateToLabel); state.notifyObservers(message); } } })); experiments.getColumn("started").setRenderer(new HtmlRenderer()); ProgressBar progressBar = new ProgressBar(); progressBar.setCaption("Overall Progress"); progressBar.setWidth(Page.getCurrent().getBrowserWindowWidth() * 0.6f, Unit.PIXELS); progressBar.setStyleName("patientprogress"); status.addComponent(progressBar); status.addComponent(experiments); status.setComponentAlignment(progressBar, Alignment.MIDDLE_CENTER); status.setComponentAlignment(experiments, Alignment.MIDDLE_CENTER); /** * Defined Experiments for iVac - Barcodes available -> done with project creation (done) - * Sequencing done (Status Q_NGS_MEASUREMENT) - Variants annotated (Status * Q_NGS_VARIANT_CALLING) - HLA Typing done (STATUS Q_NGS_WF_HLA_TYPING) - Epitope Prediction * done (STATUS Q_WF_NGS_EPITOPE_PREDICTION) */ for (Iterator i = experimentstatusBeans.getItemIds().iterator(); i.hasNext();) { ExperimentStatusBean statusBean = (ExperimentStatusBean) i.next(); // HorizontalLayout experimentStatusRow = new HorizontalLayout(); // experimentStatusRow.setSpacing(true); finishedExperiments += statusBean.getStatus(); // statusBean.setDownload("Download"); statusBean.setWorkflow("Run"); /* * if ((Integer) pairs.getValue() == 0) { Label statusLabel = new Label(pairs.getKey() + ": " * + FontAwesome.TIMES.getHtml(), ContentMode.HTML); statusLabel.addStyleName("redicon"); * experimentStatusRow.addComponent(statusLabel); * statusContent.addComponent(experimentStatusRow); } * * else { * * Label statusLabel = new Label(pairs.getKey() + ": " + FontAwesome.CHECK.getHtml(), * ContentMode.HTML); statusLabel.addStyleName("greenicon"); * experimentStatusRow.addComponent(statusLabel); * statusContent.addComponent(experimentStatusRow); * * finishedExperiments += (Integer) pairs.getValue(); } * experimentStatusRow.addComponent(runWorkflow); * * } */ } progressBar.setValue((float) finishedExperiments / experimentstatusBeans.size()); }
From source file:de.uni_tuebingen.qbic.qbicmainportlet.SearchResultsView.java
License:Open Source License
void buildLayout(int browserHeight, int browserWidth, WebBrowser browser) { // this.setMargin(new MarginInfo(true, true, false, false)); // clean up first searchResultsLayout.removeAllComponents(); searchResultsLayout.setWidth("100%"); // searchResultsLayout.setSpacing(true); searchResultsLayout.setCaption("Search results for query '" + queryString + "'"); // Label header = new Label("Search results for query '" + queryString + "':"); // searchResultsLayout.addComponent(header); // updateView(browserWidth, browserWidth, browser); VerticalLayout viewContent = new VerticalLayout(); viewContent.setWidth("100%"); viewContent.setSpacing(true);/* w ww. ja v a2 s. c o m*/ viewContent.setMargin(new MarginInfo(true, false, false, false)); List<String> showOptions = datahandler.getShowOptions(); if (showOptions.contains("Projects")) { projectGrid = new Grid(projBeanContainer); projectGrid.setCaption("Found Projects"); projectGrid.setColumnOrder("projectID", "description"); projectGrid.setSizeFull(); projectGrid.setHeightMode(HeightMode.ROW); projectGrid.setHeightByRows(5); projectGrid.setSelectionMode(SelectionMode.SINGLE); projectGrid.addItemClickListener(new ItemClickListener() { @Override public void itemClick(ItemClickEvent event) { // TODO Auto-generated method stub String cellType = new String(event.getPropertyId().toString()); if (cellType.equals("projectID")) { String cellContent = new String( projBeanContainer.getContainerProperty(event.getItemId(), event.getPropertyId()) .getValue().toString()); State state = (State) UI.getCurrent().getSession().getAttribute("state"); ArrayList<String> message = new ArrayList<String>(); message.add("clicked"); message.add(cellContent); message.add("project"); state.notifyObservers(message); } } }); if (projBeanContainer.size() == 0) { Label noSamples = new Label("no projects were found"); noSamples.setCaption("Found Projects"); viewContent.addComponent(noSamples); } else { viewContent.addComponent(projectGrid); } } if (showOptions.contains("Experiments")) { // expGrid = new Grid(expBeanContainer); expGrid = new Grid(expBeanContainer); expGrid.setCaption("Found Experiments"); expGrid.setColumnOrder("experimentID", "experimentName", "matchedField"); expGrid.setSizeFull(); expGrid.getColumn("experimentID").setExpandRatio(0); expGrid.getColumn("experimentName").setExpandRatio(1); expGrid.getColumn("matchedField").setExpandRatio(1); expGrid.setHeightMode(HeightMode.ROW); expGrid.setHeightByRows(5); expGrid.setSelectionMode(SelectionMode.SINGLE); expGrid.addItemClickListener(new ItemClickListener() { @Override public void itemClick(ItemClickEvent event) { String cellType = new String(event.getPropertyId().toString()); if (cellType.equals("experimentID")) { String cellContent = new String( expBeanContainer.getContainerProperty(event.getItemId(), event.getPropertyId()) .getValue().toString()); State state = (State) UI.getCurrent().getSession().getAttribute("state"); ArrayList<String> message = new ArrayList<String>(); message.add("clicked"); message.add(cellContent); message.add("experiment"); state.notifyObservers(message); } } }); if (expBeanContainer.size() == 0) { Label noExps = new Label("no experiments were found"); noExps.setCaption("Found Experiments"); viewContent.addComponent(noExps); } else { viewContent.addComponent(expGrid); } } if (showOptions.contains("Samples")) { sampleGrid = new Grid(sampleBeanContainer); sampleGrid.setCaption("Found Samples"); sampleGrid.setColumnOrder("sampleID", "sampleName", "matchedField"); sampleGrid.setSizeFull(); sampleGrid.getColumn("sampleID").setExpandRatio(0); sampleGrid.getColumn("sampleName").setExpandRatio(1); sampleGrid.getColumn("matchedField").setExpandRatio(1); sampleGrid.setHeightMode(HeightMode.ROW); sampleGrid.setHeightByRows(5); sampleGrid.setSelectionMode(SelectionMode.SINGLE); sampleGrid.addItemClickListener(new ItemClickListener() { @Override public void itemClick(ItemClickEvent event) { String cellType = new String(event.getPropertyId().toString()); if (cellType.equals("sampleID")) { String cellContent = new String( sampleBeanContainer.getContainerProperty(event.getItemId(), event.getPropertyId()) .getValue().toString()); State state = (State) UI.getCurrent().getSession().getAttribute("state"); ArrayList<String> message = new ArrayList<String>(); message.add("clicked"); message.add(cellContent); message.add("sample"); state.notifyObservers(message); } } }); if (sampleBeanContainer.size() == 0) { Label noSamples = new Label("no samples were found"); noSamples.setCaption("Found Samples"); viewContent.addComponent(noSamples); } else { viewContent.addComponent(sampleGrid); } } searchResultsLayout.addComponent(viewContent); this.addComponent(searchResultsLayout); }
From source file:gov.osti.doecode.RepositoryForm.java
/** * Create a basic form UI for editing software metadata information. * /*w w w . ja va 2s. c om*/ * @param ui link to the MyUI parent UI */ public RepositoryForm(MyUI ui) { this.ui = ui; setSizeUndefined(); agentGrid.setColumns("firstName", "lastName", "email"); agentGrid.setHeightMode(HeightMode.ROW); agentGrid.setHeightByRows(8); idGrid.setColumns("relationType", "identifierType", "value"); idGrid.setHeightMode(HeightMode.ROW); idGrid.setHeightByRows(8); idForm = new IdentifierForm(this); agentForm = new AgentForm(this); TabSheet tabs = new TabSheet(); tabs.addStyleName(ValoTheme.TABSHEET_FRAMED); tabs.addStyleName(ValoTheme.TABSHEET_PADDED_TABBAR); addComponent(tabs); HorizontalLayout main = new HorizontalLayout(); main.setSpacing(true); main.setMargin(true); FormLayout left = new FormLayout(); FormLayout right = new FormLayout(); countryCode.addItems(countryCodes); left.addComponents(url, loadButton, name, openSource, siteOwnershipCode, acronym, doi, countryCode); right.addComponents(keywords, rights, license, operatingSystem, siteAccessionNumber, otherRequirements); loadButton.addClickListener(e -> { try { SoftwareRepository repo = Reader.loadRepository("doecode"); setSoftwareRepository(repo); } catch (IOException ex) { setComponentError(new UserError("Unable to load: " + ex.getMessage())); } }); main.addComponents(left, right); tabs.addTab(main, "Metadata"); Button agentAddButton = new Button("New"); agentAddButton.setStyleName(BaseTheme.BUTTON_LINK); agentAddButton.setIcon(FontAwesome.PLUS); agentAddButton.addClickListener(e -> { agentForm.setAgent(new Agent()); }); VerticalLayout innerAgent = new VerticalLayout(agentAddButton, agentGrid); innerAgent.setSizeUndefined(); HorizontalLayout agentLayout = new HorizontalLayout(innerAgent, agentForm); agentLayout.setSpacing(true); agentLayout.setMargin(true); tabs.addTab(agentLayout, "Agents"); Button idAddButton = new Button("New"); idAddButton.setIcon(FontAwesome.PLUS); idAddButton.setStyleName(BaseTheme.BUTTON_LINK); idAddButton.setSizeUndefined(); idAddButton.addClickListener(e -> { idForm.setIdentifier(new Identifier()); }); VerticalLayout innerId = new VerticalLayout(idAddButton, idGrid); HorizontalLayout idTab = new HorizontalLayout(innerId, idForm); idTab.setSpacing(true); idTab.setMargin(true); tabs.addTab(idTab, "Identifiers"); agentGrid.addSelectionListener(e -> { if (!e.getSelected().isEmpty()) { Agent agent = (Agent) e.getSelected().iterator().next(); agentForm.setAgent(agent); System.out.println("Selected " + agent.getFirstName()); } }); idGrid.addSelectionListener(e -> { if (!e.getSelected().isEmpty()) { Identifier identifier = (Identifier) e.getSelected().iterator().next(); idForm.setIdentifier(identifier); } }); }
From source file:net.sourceforge.javydreamercsw.validation.manager.web.admin.AdminScreenProvider.java
License:Apache License
private Component displayIssueTypes() { VerticalLayout vl = new VerticalLayout(); Grid grid = new Grid(TRANSLATOR.translate(ISSUE_TYPE)); BeanItemContainer<IssueType> types = new BeanItemContainer<>(IssueType.class); types.addAll(new IssueTypeJpaController(DataBaseManager.getEntityManagerFactory()).findIssueTypeEntities()); grid.setContainerDataSource(types);/*from www.j av a 2 s .c o m*/ grid.setSelectionMode(SelectionMode.SINGLE); grid.setColumns("typeName", DESC); Grid.Column name = grid.getColumn("typeName"); name.setHeaderCaption(TRANSLATOR.translate("general.name")); name.setConverter(new TranslationConverter()); Grid.Column desc = grid.getColumn(DESC); desc.setHeaderCaption(TRANSLATOR.translate("general.description")); desc.setConverter(new TranslationConverter()); grid.setSizeFull(); vl.addComponent(grid); grid.setHeightMode(HeightMode.ROW); grid.setHeightByRows(types.size() > 5 ? 5 : types.size()); //Menu HorizontalLayout hl = new HorizontalLayout(); Button add = new Button(TRANSLATOR.translate("general.create")); add.addClickListener(listener -> { VMWindow w = new VMWindow(); w.setContent(new IssueTypeComponent(new IssueType(), true)); ((VMUI) UI.getCurrent()).addWindow(w); w.addCloseListener(l -> { ((VMUI) UI.getCurrent()).updateScreen(); }); }); hl.addComponent(add); Button delete = new Button(TRANSLATOR.translate("general.delete")); delete.setEnabled(false); delete.addClickListener(listener -> { IssueType selected = (IssueType) ((SingleSelectionModel) grid.getSelectionModel()).getSelectedRow(); if (selected != null && selected.getId() >= 1000) { try { new IssueTypeJpaController(DataBaseManager.getEntityManagerFactory()).destroy(selected.getId()); ((VMUI) UI.getCurrent()).updateScreen(); } catch (IllegalOrphanException | NonexistentEntityException ex) { LOG.log(Level.SEVERE, null, ex); Notification.show(TRANSLATOR.translate(DELETE_ERROR), TRANSLATOR.translate(DELETE_ERROR), Notification.Type.ERROR_MESSAGE); } } }); hl.addComponent(delete); vl.addComponent(hl); grid.addSelectionListener(event -> { // Java 8 // Get selection from the selection model IssueType selected = (IssueType) ((SingleSelectionModel) grid.getSelectionModel()).getSelectedRow(); //Only delete custom ones. delete.setEnabled(selected != null && selected.getId() >= 1000); }); return vl; }
From source file:net.sourceforge.javydreamercsw.validation.manager.web.admin.AdminScreenProvider.java
License:Apache License
private Component displayIssueResolutions() { VerticalLayout vl = new VerticalLayout(); Grid grid = new Grid(TRANSLATOR.translate(ISSUE_RESOLUTION)); BeanItemContainer<IssueResolution> types = new BeanItemContainer<>(IssueResolution.class); types.addAll(new IssueResolutionJpaController(DataBaseManager.getEntityManagerFactory()) .findIssueResolutionEntities()); grid.setContainerDataSource(types);//from w ww. j a va2s .co m grid.setSelectionMode(SelectionMode.SINGLE); grid.setColumns(NAME); Grid.Column name = grid.getColumn(NAME); name.setHeaderCaption(TRANSLATOR.translate("general.name")); name.setConverter(new TranslationConverter()); grid.setSizeFull(); vl.addComponent(grid); grid.setHeightMode(HeightMode.ROW); grid.setHeightByRows(types.size() > 5 ? 5 : types.size()); //Menu HorizontalLayout hl = new HorizontalLayout(); Button add = new Button(TRANSLATOR.translate("general.create")); add.addClickListener(listener -> { VMWindow w = new VMWindow(); w.setContent(new IssueResolutionComponent(new IssueResolution(), true)); ((VMUI) UI.getCurrent()).addWindow(w); w.addCloseListener(l -> { ((VMUI) UI.getCurrent()).updateScreen(); }); }); hl.addComponent(add); Button delete = new Button(TRANSLATOR.translate("general.delete")); delete.setEnabled(false); delete.addClickListener(listener -> { IssueResolution selected = (IssueResolution) ((SingleSelectionModel) grid.getSelectionModel()) .getSelectedRow(); if (selected != null && selected.getId() >= 1000) { try { new IssueResolutionJpaController(DataBaseManager.getEntityManagerFactory()) .destroy(selected.getId()); ((VMUI) UI.getCurrent()).updateScreen(); } catch (IllegalOrphanException | NonexistentEntityException ex) { LOG.log(Level.SEVERE, null, ex); Notification.show(TRANSLATOR.translate(DELETE_ERROR), TRANSLATOR.translate(DELETE_ERROR), Notification.Type.ERROR_MESSAGE); } } }); hl.addComponent(delete); vl.addComponent(hl); grid.addSelectionListener(event -> { // Java 8 // Get selection from the selection model IssueResolution selected = (IssueResolution) ((SingleSelectionModel) grid.getSelectionModel()) .getSelectedRow(); //Only delete custom ones. delete.setEnabled(selected != null && selected.getId() >= 1000); }); return vl; }
From source file:net.sourceforge.javydreamercsw.validation.manager.web.admin.AdminScreenProvider.java
License:Apache License
private Component displayRequirementTypes() { VerticalLayout vl = new VerticalLayout(); Grid grid = new Grid(TRANSLATOR.translate(REQUIREMENT_TYPE)); BeanItemContainer<RequirementType> types = new BeanItemContainer<>(RequirementType.class); types.addAll(new RequirementTypeJpaController(DataBaseManager.getEntityManagerFactory()) .findRequirementTypeEntities()); grid.setContainerDataSource(types);//from www.ja v a2 s. c o m grid.setSelectionMode(SelectionMode.SINGLE); grid.setColumns(NAME, DESC); Grid.Column name = grid.getColumn(NAME); name.setHeaderCaption(TRANSLATOR.translate("general.name")); name.setConverter(new TranslationConverter()); Grid.Column desc = grid.getColumn(DESC); desc.setHeaderCaption(TRANSLATOR.translate("general.description")); desc.setConverter(new TranslationConverter()); grid.setSizeFull(); vl.addComponent(grid); grid.setHeightMode(HeightMode.ROW); grid.setHeightByRows(types.size() > 5 ? 5 : types.size()); //Menu HorizontalLayout hl = new HorizontalLayout(); Button add = new Button(TRANSLATOR.translate("general.create")); add.addClickListener(listener -> { VMWindow w = new VMWindow(); w.setContent(new RequirementTypeComponent(new RequirementType(), true)); ((VMUI) UI.getCurrent()).addWindow(w); w.addCloseListener(l -> { ((VMUI) UI.getCurrent()).updateScreen(); }); }); hl.addComponent(add); Button delete = new Button(TRANSLATOR.translate("general.delete")); delete.setEnabled(false); delete.addClickListener(listener -> { RequirementType selected = (RequirementType) ((SingleSelectionModel) grid.getSelectionModel()) .getSelectedRow(); if (selected != null && selected.getId() >= 1000) { try { new RequirementTypeJpaController(DataBaseManager.getEntityManagerFactory()) .destroy(selected.getId()); ((VMUI) UI.getCurrent()).updateScreen(); } catch (IllegalOrphanException | NonexistentEntityException ex) { LOG.log(Level.SEVERE, null, ex); Notification.show(TRANSLATOR.translate(DELETE_ERROR), TRANSLATOR.translate(DELETE_ERROR), Notification.Type.ERROR_MESSAGE); } } }); hl.addComponent(delete); vl.addComponent(hl); grid.addSelectionListener(event -> { // Java 8 // Get selection from the selection model RequirementType selected = (RequirementType) ((SingleSelectionModel) grid.getSelectionModel()) .getSelectedRow(); //Only delete custom ones. delete.setEnabled(selected != null && selected.getId() >= 1000); }); return vl; }
From source file:net.sourceforge.javydreamercsw.validation.manager.web.component.HistoryTable.java
License:Apache License
public HistoryTable(String title, List<History> historyItems, String sortByField, boolean showVersionFields, String... fields) {/* w ww. ja va2 s . c o m*/ super(title); BeanItemContainer<History> histories = new BeanItemContainer<>(History.class); GeneratedPropertyContainer wrapperCont = new GeneratedPropertyContainer(histories); histories.addAll(historyItems); setContainerDataSource(wrapperCont); if (wrapperCont.size() > 0) { setHeightMode(HeightMode.ROW); setHeightByRows(wrapperCont.size() > 5 ? 5 : wrapperCont.size()); } for (String field : fields) { wrapperCont.addGeneratedProperty(field, new PropertyValueGenerator<String>() { @Override public String getValue(Item item, Object itemId, Object propertyId) { History v = (History) itemId; String result = ""; for (HistoryField hf : v.getHistoryFieldList()) { if (hf.getFieldName().equals(field)) { result = hf.getFieldValue(); break; } } return result; } @Override public Class<String> getType() { return String.class; } }); } if (showVersionFields) { wrapperCont.addGeneratedProperty("version", new PropertyValueGenerator<String>() { @Override public String getValue(Item item, Object itemId, Object propertyId) { History v = (History) itemId; return v.getMajorVersion() + "." + v.getMidVersion() + "." + v.getMinorVersion(); } @Override public Class<String> getType() { return String.class; } }); wrapperCont.addGeneratedProperty("modifier", new PropertyValueGenerator<String>() { @Override public String getValue(Item item, Object itemId, Object propertyId) { History v = (History) itemId; return v.getModifierId().getFirstName() + " " + v.getModifierId().getLastName(); } @Override public Class<String> getType() { return String.class; } }); wrapperCont.addGeneratedProperty("modificationDate", new PropertyValueGenerator<String>() { @Override public String getValue(Item item, Object itemId, Object propertyId) { History v = (History) itemId; return v.getModificationTime().toString(); } @Override public Class<String> getType() { return String.class; } }); wrapperCont.addGeneratedProperty("modificationReason", new PropertyValueGenerator<String>() { @Override public String getValue(Item item, Object itemId, Object propertyId) { History v = (History) itemId; return v.getReason() == null ? "" : TRANSLATOR.translate(v.getReason()); } @Override public Class<String> getType() { return String.class; } }); } List<String> fieldList = new ArrayList<>(); //Add specified fields fieldList.addAll(Arrays.asList(fields)); if (showVersionFields) { //Add default fields fieldList.add("version"); fieldList.add("modifier"); fieldList.add("modificationDate"); fieldList.add("modificationReason"); } setColumns(fieldList.toArray()); if (showVersionFields) { Grid.Column version = getColumn("version"); version.setHeaderCaption(TRANSLATOR.translate("general.version")); Grid.Column mod = getColumn("modifier"); mod.setHeaderCaption(TRANSLATOR.translate("general.modifier")); Grid.Column modDate = getColumn("modificationDate"); modDate.setHeaderCaption(TRANSLATOR.translate("modification.date")); Grid.Column modReason = getColumn("modificationReason"); modReason.setHeaderCaption(TRANSLATOR.translate("general.reason")); } if (sortByField != null && !sortByField.trim().isEmpty()) { wrapperCont.sort(new Object[] { sortByField }, new boolean[] { true }); } setSizeFull(); }