public class MyListSelectComponent extends VerticalLayout { public MyListSelectComponent() { ListSelect list = new ListSelect("Press DEL to remove items"); TextField input = new TextField("Focus this input and press DEL to delete some text"); input.setValue("This is some very long text, or not..."); for (int i = 0; i < 10; i++) { list.addItem(i); } Panel panel = new Panel(list); panel.addShortcutListener(new ShortcutListener("", ShortcutAction.KeyCode.DELETE, null) { @Override public void handleAction(Object sender, Object target) { if (list.getValue() != null) { list.removeItem(list.getValue()); } } }); addComponent(panel); addComponent(input); } }
public void load() { panel.removeAllComponents(); Object selected = select.getValue(); if (selected != null) { select.unselect(selected); } panel.addComponent(getInitialLayout()); if (getParent() == null) { UI.getCurrent().addWindow(this); this.center(); } }
@Override public void valueChange(ValueChangeEvent event) { ProcessDefinitionHolder pdh = (ProcessDefinitionHolder)select.getValue(); if (pdh != null) { select.unselect(pdh);
edgesButtonLayout.addComponent(editEdgeButton); editEdgeButton.addClickListener((Button.ClickListener) event -> { final BusinessServiceEdgeEditWindow window = new BusinessServiceEdgeEditWindow(businessService, businessServiceManager, (Edge) m_edgesListSelect.getValue()); window.addCloseListener(e -> refreshEdges()); this.getUI().addWindow(window); if (m_edgesListSelect.getValue() != null) { removeEdgeButton.setEnabled(false); ((Edge) m_edgesListSelect.getValue()).delete(); refreshEdges(); attributesButtonLayout.addComponent(editAttributeButton); editAttributeButton.addClickListener((Button.ClickListener) event -> { Map.Entry<String, String> entry = (Map.Entry<String, String>) m_attributesListSelect.getValue(); KeyValueInputDialogWindow keyValueInputDialogWindow = new KeyValueInputDialogWindow() .withKeyFieldName("Key") if (m_attributesListSelect.getValue() != null) { removeAttributeButton.setEnabled(false); m_businessService.getAttributes().remove(((Map.Entry<String, String>) m_attributesListSelect.getValue()).getKey()); refreshAttributes();