List of usage examples for com.vaadin.ui.themes ValoTheme COMBOBOX_TINY
String COMBOBOX_TINY
To view the source code for com.vaadin.ui.themes ValoTheme COMBOBOX_TINY.
Click Source Link
From source file:org.jumpmind.metl.ui.views.manage.ExecutionRunPanel.java
License:Open Source License
public ExecutionRunPanel(String executionId, ApplicationContext context, TabbedPanel parentTabSheet, IFlowRunnable flowRunnable) {//from ww w . j av a 2s. c o m this.executionService = context.getExecutionService(); this.executionId = executionId; this.context = context; this.parentTabSheet = parentTabSheet; this.flowRunnable = flowRunnable; Execution execution = executionService.findExecution(executionId); this.flow = context.getConfigurationService().findFlow(execution.getFlowId()); HorizontalLayout topBar = new HorizontalLayout(); topBar.setMargin(new MarginInfo(true, true, false, true)); topBar.setWidth(100, Unit.PERCENTAGE); HorizontalLayout left = new HorizontalLayout(); topBar.addComponent(left); HorizontalLayout right = new HorizontalLayout(); right.setSpacing(true); topBar.addComponent(right); topBar.setComponentAlignment(right, Alignment.MIDDLE_RIGHT); Label limitLabel = new Label("Max Log Messages To Show :"); right.addComponent(limitLabel); right.setComponentAlignment(limitLabel, Alignment.MIDDLE_RIGHT); limitField = new ImmediateUpdateTextField(null) { private static final long serialVersionUID = 1L; @Override protected void save(String text) { Setting setting = context.getUser().findSetting(UserSetting.SETTING_MAX_LOG_MESSAGE_TO_SHOW); setting.setValue(Integer.toString(getMaxToShow(text))); context.getConfigurationService().save(setting); } }; limitField.setWidth("5em"); limitField.setValue(context.getUser().get(UserSetting.SETTING_MAX_LOG_MESSAGE_TO_SHOW, "1000")); right.addComponent(limitField); right.setComponentAlignment(limitField, Alignment.MIDDLE_RIGHT); showDiagramCheckbox = new CheckBox("Show Diagram"); showDiagramCheckbox.addValueChangeListener((event) -> { if (showDiagramCheckbox.getValue()) { showDiagram(); } else { showDetails(); } }); right.addComponent(showDiagramCheckbox); right.setComponentAlignment(showDiagramCheckbox, Alignment.MIDDLE_RIGHT); addComponent(topBar); ButtonBar buttonBar = new ButtonBar(); rerunButton = buttonBar.addButton("Rerun", Icons.RUN, event -> rerun()); rerunButton.setVisible(false); removeButton = buttonBar.addButton("Remove", Icons.DELETE, event -> remove()); removeButton.setVisible(false); cancelButton = buttonBar.addButton("Cancel", Icons.CANCEL, event -> cancel()); addComponent(buttonBar); HorizontalLayout header1 = new HorizontalLayout(); header1.addComponent(new Label("<b>Flow:</b>", ContentMode.HTML)); header1.addComponent(flowLabel); header1.addComponent(new Label("<b>Start:</b>", ContentMode.HTML)); header1.addComponent(startLabel); header1.setSpacing(true); header1.setMargin(new MarginInfo(false, true, false, true)); header1.setWidth("100%"); addComponent(header1); HorizontalLayout header2 = new HorizontalLayout(); header2.addComponent(new Label("<b>Status:</b>", ContentMode.HTML)); header2.addComponent(statusLabel); header2.addComponent(new Label("<b>End:</b>", ContentMode.HTML)); header2.addComponent(endLabel); header2.setSpacing(true); header2.setMargin(new MarginInfo(false, true, true, true)); header2.setWidth("100%"); addComponent(header2); stepContainer.setBeanIdProperty("id"); diagramLayout = new VerticalLayout(); diagramLayout.setWidth(10000, Unit.PIXELS); diagramLayout.setHeight(10000, Unit.PIXELS); flowPanel = new Panel(); flowPanel.setSizeFull(); flowPanel.addStyleName(ValoTheme.PANEL_WELL); flowPanel.setContent(diagramLayout); stepTable.setContainerDataSource(stepContainer); stepTable.setSelectable(true); stepTable.setMultiSelect(true); stepTable.setImmediate(true); stepTable.setSizeFull(); stepTable.setVisibleColumns( new Object[] { "componentName", "threadNumber", "status", "payloadReceived", "messagesReceived", "messagesProduced", "payloadProduced", "startTime", "endTime", "handleDurationString" }); stepTable.setColumnHeaders(new String[] { "Component Name", "Thread", "Status", "Payload Recvd", "Msgs Recvd", "Msgs Sent", "Payload Sent", "Start", "End", "Run Duration" }); stepTable.setColumnWidth("status", 100); stepTable.setColumnWidth("messagesReceived", 100); stepTable.setColumnWidth("messagesProduced", 100); stepTable.setColumnWidth("payloadReceived", 100); stepTable.setColumnWidth("payloadProduced", 100); stepTable.setColumnWidth("threadNumber", 100); stepTable.setColumnWidth("startTime", 170); stepTable.setColumnWidth("endTime", 170); stepTable.setColumnExpandRatio("handleDurationString", 1); stepTable.addValueChangeListener(event -> { @SuppressWarnings("unchecked") Set<String> executionStepIds = (Set<String>) event.getProperty().getValue(); logContainer.removeAllItems(); List<ExecutionStepLog> logs = executionService.findExecutionStepLogs(executionStepIds, getMaxToShow()); logContainer.addAll(logs); }); stepTable.addValueChangeListener(event -> { @SuppressWarnings("unchecked") Set<String> executionStepIds = (Set<String>) event.getProperty().getValue(); logContainer.removeAllItems(); List<ExecutionStepLog> logs = executionService.findExecutionStepLogs(executionStepIds, getMaxToShow()); logContainer.addAll(logs); }); logTable = new Grid(); logTable.addColumn("level", String.class).setHeaderCaption("Level").setWidth(110).setMaximumWidth(200); logTable.addColumn("createTime", Date.class).setHeaderCaption("Time").setWidth(120).setMaximumWidth(200) .setRenderer(new DateRenderer(UiConstants.TIME_FORMAT)); logTable.addColumn("logText", String.class).setHeaderCaption("Message").setExpandRatio(1); logTable.setContainerDataSource(logContainer); logTable.setSizeFull(); logTable.addItemClickListener(event -> logTableCellClicked(logTable, event)); logTable.addSortListener(event -> { lastSortOrder = event.getSortOrder(); }); HeaderRow filteringHeader = logTable.appendHeaderRow(); HeaderCell logTextFilterCell = filteringHeader.getCell("logText"); TextField filterField = new TextField(); filterField.setInputPrompt("Filter"); filterField.addStyleName(ValoTheme.TEXTFIELD_TINY); filterField.setWidth("100%"); // Update filter When the filter input is changed filterField.addTextChangeListener(change -> { // Can't modify filters so need to replace logContainer.removeContainerFilters("logText"); // (Re)create the filter if necessary if (!change.getText().isEmpty()) logContainer.addContainerFilter(new SimpleStringFilter("logText", change.getText(), true, false)); }); logTextFilterCell.setComponent(filterField); HeaderCell levelFilterCell = filteringHeader.getCell("level"); ComboBox levelFilter = new ComboBox(); levelFilter.setWidth(8, Unit.EM); levelFilter.setNullSelectionAllowed(true); LogLevel[] levels = LogLevel.values(); for (LogLevel logLevel : levels) { levelFilter.addItem(logLevel.name()); } levelFilter.addValueChangeListener(change -> { logContainer.removeContainerFilters("level"); String text = (String) levelFilter.getValue(); if (isNotBlank(text)) { logContainer.addContainerFilter(new SimpleStringFilter("level", text, true, false)); } }); levelFilterCell.setComponent(levelFilter); levelFilter.addStyleName(ValoTheme.COMBOBOX_TINY); splitPanel = new VerticalSplitPanel(); splitPanel.setFirstComponent(flowPanel); splitPanel.setSecondComponent(logTable); splitPanel.setSplitPosition(50f); splitPanel.setSizeFull(); addComponent(splitPanel); setExpandRatio(splitPanel, 1.0f); showDiagramCheckbox.setValue(context.getUser().getBoolean(UserSetting.SETTING_SHOW_RUN_DIAGRAM, true)); if (!showDiagramCheckbox.getValue()) { showDetails(); } context.getBackgroundRefresherService().register(this); }