@Override public E getSingleSelected() { TableItems<E> tableItems = getItems(); if (tableItems == null || tableItems.getState() == BindingState.INACTIVE) { return null; } Set selected = getSelectedItemIds(); return selected == null || selected.isEmpty() ? null : tableItems.getItem(selected.iterator().next()); }
@Override public Collection<?> getItemIds() { if (tableItems.getState() == BindingState.INACTIVE) { return Collections.emptyList(); } return tableItems.getItemIds(); }
public TableDataContainer(TableItems<I> tableItems, TableItemsEventsDelegate<I> dataEventsDelegate) { this.tableItems = tableItems; this.dataEventsDelegate = dataEventsDelegate; this.itemSetChangeSubscription = this.tableItems.addItemSetChangeListener(this::datasourceItemSetChanged); this.valueChangeSubscription = this.tableItems.addValueChangeListener(this::datasourceValueChanged); this.stateChangeSubscription = this.tableItems.addStateChangeListener(this::datasourceStateChanged); this.selectedItemChangeSubscription = this.tableItems.addSelectedItemChangeListener(this::datasourceSelectedItemChanged); }
public I getInternalItem(Object itemId) { return tableItems.getItem(itemId); }
TableItems<E> tableItems = getItems(); if (tableItems == null || tableItems.getState() == BindingState.INACTIVE) { return null; if (ignoreUnfetchedAttributes && colId instanceof MetaPropertyPath) { E item = tableItems.getItem(rowId); cellValue = getValueExIgnoreUnfetched(item, ((MetaPropertyPath) colId).getPath()); } else { E item = getItems().getItemNN(rowId); Object captionValue = item.getValueEx(captionProperty); return captionValue != null ? String.valueOf(captionValue) : null;
@Override public Map<Object, Object> getAggregationResults() { Collection<?> itemIds = WebAbstractTable.this.getItems().getItemIds(); return component.aggregate(new AggregationContainer.Context(itemIds)); }
@Override public boolean containsId(Object itemId) { return tableItems.containsId(itemId); }
@Override public Collection<?> getItemIds() { if (tableItems.getState() == BindingState.INACTIVE) { return Collections.emptyList(); } return getCachedItemIds(); }
public Object getPropertyValue(Object propertyId) { return tableDataContainer.getTableItems().getItemValue(itemId, propertyId); }
default I getItemNN(Object itemId) { I item = getItem(itemId); if (item == null) { throw new IllegalArgumentException("Unable to find item with id " + itemId); } return item; }
Set<Entity> selected = table.getSelected(); List<Entity> ordered = tableItems.getItemIds().stream() .map(tableItems::getItem) .filter(selected::contains) for (Object itemId : tableItems.getItemIds()) { if (checkIsRowNumberExceed(r)) { break;
@SuppressWarnings("unchecked") @Override public Set<E> getSelected() { TableItems<E> tableItems = getItems(); if (tableItems == null || tableItems.getState() == BindingState.INACTIVE) { return Collections.emptySet(); } Set<Object> itemIds = getSelectedItemIds(); if (itemIds != null) { if (itemIds.size() == 1) { E item = tableItems.getItem(itemIds.iterator().next()); return Collections.singleton(item); } Set res = new LinkedHashSet<>(); for (Object id : itemIds) { Entity item = tableItems.getItem(id); if (item != null) res.add(item); } return res; } else { return Collections.emptySet(); } }
@Override public Item getItem(Object itemId) { Object dataItem = tableItems.getItem(itemId); return dataItem == null ? null : getItemWrapper(dataItem, itemId); }
@SuppressWarnings("unchecked") @Override public void setSelected(Collection<E> items) { TableItems<E> tableItems = getItems(); if (tableItems == null || tableItems.getState() == BindingState.INACTIVE) { throw new IllegalStateException("TableItems is not active"); } if (items.isEmpty()) { setSelectedIds(Collections.emptyList()); } else if (items.size() == 1) { E item = items.iterator().next(); if (tableItems.getItem(item.getId()) == null) { throw new IllegalArgumentException("Datasource doesn't contain item to select: " + item); } setSelectedIds(Collections.singletonList(item.getId())); } else { Set itemIds = new HashSet(); for (Entity item : items) { if (tableItems.getItem(item.getId()) == null) { throw new IllegalArgumentException("Datasource doesn't contain item to select: " + item); } itemIds.add(item.getId()); } setSelectedIds(itemIds); } }
@SuppressWarnings("unchecked") protected String getGeneratedCellStyle(Object itemId, Object propertyId) { // vaadin8 return StringBuilder if (styleProviders == null) { return null; } TableItems<E> tableItems = getItems(); if (tableItems == null) { return null; } E item = tableItems.getItem(itemId); String propertyStringId = propertyId == null ? null : propertyId.toString(); String joinedStyle = styleProviders.stream() .map(sp -> sp.getStyleName(item, propertyStringId)) .filter(Objects::nonNull) .collect(Collectors.joining(" ")); return Strings.emptyToNull(joinedStyle); }
@Override public void tableSourceItemSetChanged(TableItems.ItemSetChangeEvent<E> event) { // replacement for collectionChangeSelectionListener // #PL-2035, reload selection from ds Set<Object> selectedItemIds = getSelectedItemIds(); if (selectedItemIds == null) { selectedItemIds = Collections.emptySet(); } Set<Object> newSelection = new HashSet<>(); TableItems<E> tableItems = event.getSource(); for (Object entityId : selectedItemIds) { if (tableItems.getItem(entityId) != null) { newSelection.add(entityId); } } if (tableItems.getState() == BindingState.ACTIVE && tableItems instanceof EntityTableItems) { EntityTableItems entityTableSource = (EntityTableItems) tableItems; if (entityTableSource.getSelectedItem() != null) { newSelection.add(entityTableSource.getSelectedItem().getId()); } } if (newSelection.isEmpty()) { setSelected((E) null); } else { setSelectedIds(newSelection); } refreshActionsState(); }
protected Resource getItemIcon(Object itemId) { if (iconProvider == null || getItems() == null) { return null; } E item = getItems().getItem(itemId); if (item == null) { return null; } String resourceUrl = iconProvider.apply(item); return iconResolver.getIconResource(resourceUrl); }
@Override public void setCellClickListener(String columnId, Consumer<CellClickEvent<E>> clickListener) { checkNotNullArgument(getColumn(columnId), String.format("column with id '%s' not found", columnId)); component.setClickListener(getColumn(columnId).getId(), (itemId, columnId1) -> { TableItems<E> tableItems = getItems(); if (tableItems == null) { return; } E item = tableItems.getItem(itemId); CellClickEvent<E> event = new CellClickEvent<>(this, item, columnId1.toString()); clickListener.accept(event); }); }
Instance instance = (Instance) table.getItems().getItem(itemId);