@Override public void itemClick(ItemClickEvent itemClickEvent) { String selectedColumn = (String) itemClickEvent.getPropertyId(); final Optional<ColumnDef> columnDef = view.getColumnDef((String) itemClickEvent.getPropertyId()); final Optional<RowDef> rowDef = view.getRowDef((String) itemClickEvent.getItemId()); if (!"".equals(selectedColumn)) { /** * this handles cell clicks */ m_selectedItemId = itemClickEvent.getItemId(); m_selectedPropertyId = itemClickEvent.getPropertyId(); Notification.show(m_selectedItemId + "/" + m_selectedPropertyId + " selected"); if (columnDef.isPresent()) m_selectedRowCategories = getOnmsCategoriesForNames(rowDef.get().getCategoryNames()); if (rowDef.isPresent()) m_selectedColumnCategories = getOnmsCategoriesForNames(columnDef.get().getCategoryNames()); } else { /** * this handles row clicks */ m_selectedItemId = itemClickEvent.getItemId(); m_selectedPropertyId = null; Notification.show(m_selectedItemId + " selected"); if (rowDef.isPresent()) m_selectedRowCategories = getOnmsCategoriesForNames(rowDef.get().getCategoryNames()); m_selectedColumnCategories = m_allColumnCategories; } updateDetailsTable(); markAsDirtyRecursive(); } });
/** * Opens the context menu of the given table.<p> * * @param event the click event * @param table the table */ public void openForTable(ItemClickEvent event, Table table) { fireEvent(new ContextMenuOpenedOnTableRowEvent(this, table, event.getItemId(), event.getPropertyId())); open(event.getClientX(), event.getClientY()); }
/** * Add an {@link ItemClickListener} to be notified when user clicks on an item row. * @param listener Listener to add (not null) */ @SuppressWarnings("unchecked") public void addItemClickListener(final ItemClickListener<T, P> listener) { ObjectUtils.argumentNotNull(listener, "Listener must be not null"); switch (getRenderingMode()) { case GRID: getGrid().addItemClickListener(e -> getItem(e.getItemId()).ifPresent(i -> { listener.onItemClick(i, (P) e.getPropertyId(), fromClickEvent(e)); })); break; case TABLE: getTable().addItemClickListener(e -> getItem(e.getItemId()).ifPresent(i -> { listener.onItemClick(i, (P) e.getPropertyId(), fromClickEvent(e)); })); break; default: break; } }
openContextMenu(event); } else { if ((event.getPropertyId() == null) || CmsResourceTableProperty.PROPERTY_TYPE_ICON.equals(event.getPropertyId())) { openContextMenu(event); } else { if (m_actionColumnProperty.equals(event.getPropertyId())) { Boolean isFolder = (Boolean)event.getItem().getItemProperty( CmsResourceTableProperty.PROPERTY_IS_FOLDER).getValue(); && m_currentResources.get(0).getStructureId().equals(itemId) && (context instanceof I_CmsEditPropertyContext) && ((I_CmsEditPropertyContext)context).isPropertyEditable(event.getPropertyId())) { ((I_CmsEditPropertyContext)context).editProperty(event.getPropertyId());
if (event.getButton().equals(MouseButton.RIGHT) || (event.getPropertyId() == null)) { CmsUUID itemId = (CmsUUID)event.getItemId(); Set<CmsUUID> value = (Set<CmsUUID>)getValue(); } else if (event.getButton().equals(MouseButton.LEFT) && PROP_NAME.equals(event.getPropertyId())) { Item item = event.getItem(); CmsUUID id = (CmsUUID)item.getItemProperty(PROP_ID).getValue();