Class AbstractGridDelegate<C extends com.vaadin.flow.component.grid.Grid<E> & ListDataComponent<E> & EnhancedDataGrid<E> & HasActions,E,ITEMS extends DataGridItems<E>>

java.lang.Object
io.jmix.flowui.component.delegate.AbstractComponentDelegate<C>
io.jmix.flowui.component.delegate.AbstractGridDelegate<C,E,ITEMS>
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware
Direct Known Subclasses:
GridDelegate, TreeGridDelegate

public abstract class AbstractGridDelegate<C extends com.vaadin.flow.component.grid.Grid<E> & ListDataComponent<E> & EnhancedDataGrid<E> & HasActions,E,ITEMS extends DataGridItems<E>> extends AbstractComponentDelegate<C> implements org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.InitializingBean
  • Field Details

    • applicationContext

      protected org.springframework.context.ApplicationContext applicationContext
    • metadataTools

      protected MetadataTools metadataTools
    • messageTools

      protected MessageTools messageTools
    • uiComponents

      protected UiComponents uiComponents
    • accessManager

      protected AccessManager accessManager
    • dataGridItems

      protected ITEMS extends DataGridItems<E> dataGridItems
    • selectionListenerRegistration

      protected com.vaadin.flow.shared.Registration selectionListenerRegistration
    • itemSetChangeRegistration

      protected com.vaadin.flow.shared.Registration itemSetChangeRegistration
    • valueChangeRegistration

      protected com.vaadin.flow.shared.Registration valueChangeRegistration
    • selectionListeners

      protected Set<com.vaadin.flow.data.selection.SelectionListener<com.vaadin.flow.component.grid.Grid<E>,E>> selectionListeners
    • afterColumnSecurityApplyHandler

      protected Consumer<AbstractGridDelegate.ColumnSecurityContext<E>> afterColumnSecurityApplyHandler
    • propertyColumns

      protected Map<com.vaadin.flow.component.grid.Grid.Column<E>,MetaPropertyPath> propertyColumns
      Columns that are bounded with data container (loaded from descriptor or added using addColumn(String, MetaPropertyPath)).
    • columns

      protected List<com.vaadin.flow.component.grid.Grid.Column<E>> columns
      Contains all columns like a Grid and additionally hidden columns by security. The order of columns corresponds to the client side column order.
  • Constructor Details

    • AbstractGridDelegate

      public AbstractGridDelegate(C component)
  • Method Details

    • setApplicationContext

      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException
      Specified by:
      setApplicationContext in interface org.springframework.context.ApplicationContextAware
      Throws:
      org.springframework.beans.BeansException
    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Throws:
      Exception
    • autowireDependencies

      protected void autowireDependencies()
    • initComponent

      protected void initComponent()
    • getItems

      @Nullable public ITEMS getItems()
    • setItems

      public void setItems(@Nullable ITEMS dataGridItems)
    • bind

      protected void bind(DataGridItems<E> dataGridItems)
    • unbind

      protected void unbind()
    • itemsItemSetChanged

      protected void itemsItemSetChanged(DataGridItems.ItemSetChangeEvent<E> event)
    • closeEditorIfOpened

      protected void closeEditorIfOpened()
    • itemsValueChanged

      protected void itemsValueChanged(DataGridItems.ValueChangeEvent<E> event)
    • itemIsBeingEdited

      protected boolean itemIsBeingEdited(E item)
    • getSingleSelectedItem

      @Nullable public E getSingleSelectedItem()
    • getSelectedItems

      public Set<E> getSelectedItems()
    • select

      public void select(E item)
    • select

      public void select(Collection<E> items)
    • deselect

      public void deselect(E item)
    • deselectAll

      public void deselectAll()
    • isMultiSelect

      public boolean isMultiSelect()
    • enableMultiSelect

      public void enableMultiSelect()
    • setMultiSelect

      public void setMultiSelect(boolean multiSelect)
    • addSelectionListener

      public com.vaadin.flow.shared.Registration addSelectionListener(com.vaadin.flow.data.selection.SelectionListener<com.vaadin.flow.component.grid.Grid<E>,E> listener)
    • getColumnMetaPropertyPath

      @Nullable public MetaPropertyPath getColumnMetaPropertyPath(com.vaadin.flow.component.grid.Grid.Column<E> column)
    • addColumn

      public com.vaadin.flow.component.grid.Grid.Column<E> addColumn(String key, MetaPropertyPath metaPropertyPath)
    • addColumn

      public com.vaadin.flow.component.grid.Grid.Column<E> addColumn(com.vaadin.flow.component.grid.Grid.Column<E> column)
    • setupEmptyDataProvider

      protected void setupEmptyDataProvider()
    • addColumnInternal

      protected com.vaadin.flow.component.grid.Grid.Column<E> addColumnInternal(String key, MetaPropertyPath metaPropertyPath)
    • getValueProvider

      protected com.vaadin.flow.function.ValueProvider<E,?> getValueProvider(MetaPropertyPath metaPropertyPath)
    • initColumn

      protected void initColumn(com.vaadin.flow.component.grid.Grid.Column<E> column, MetaPropertyPath metaPropertyPath)
    • onSelectionChange

      protected void onSelectionChange(com.vaadin.flow.data.selection.SelectionEvent<com.vaadin.flow.component.grid.Grid<E>,E> event)
    • onSelectionModelChange

      public void onSelectionModelChange(com.vaadin.flow.data.selection.SelectionModel<com.vaadin.flow.component.grid.Grid<E>,E> selectionModel)
    • attachSelectionListener

      protected void attachSelectionListener()
    • detachSelectionListener

      protected void detachSelectionListener()
    • getSelectionModel

      protected com.vaadin.flow.component.grid.GridSelectionModel<E> getSelectionModel()
    • onColumnReorderChange

      protected void onColumnReorderChange(com.vaadin.flow.component.grid.ColumnReorderEvent<E> event)
    • restoreColumnsOrder

      protected List<com.vaadin.flow.component.grid.Grid.Column<E>> restoreColumnsOrder(List<com.vaadin.flow.component.grid.Grid.Column<E>> visibleColumns)
      Inserts columns hidden by security permissions into a list of visible columns in their original positions.
      Parameters:
      visibleColumns - the list of DataGrid columns, not hidden by security permissions
      Returns:
      a list of all columns in DataGrid
    • deleteHiddenColumns

      protected List<com.vaadin.flow.component.grid.Grid.Column<E>> deleteHiddenColumns(List<com.vaadin.flow.component.grid.Grid.Column<E>> allColumns)
    • onSort

      protected void onSort(com.vaadin.flow.data.event.SortEvent<com.vaadin.flow.component.grid.Grid<E>,com.vaadin.flow.component.grid.GridSortOrder<E>> event)
    • notifyDataProviderSelectionChanged

      protected void notifyDataProviderSelectionChanged(com.vaadin.flow.data.selection.SelectionEvent<com.vaadin.flow.component.grid.Grid<E>,E> ignore)
    • applySecurityToPropertyColumns

      protected void applySecurityToPropertyColumns()
    • isPropertyEnabledBySecurity

      public boolean isPropertyEnabledBySecurity(MetaPropertyPath mpp)
    • getColumns

      public List<com.vaadin.flow.component.grid.Grid.Column<E>> getColumns()
    • getVisibleColumns

      @Deprecated public List<com.vaadin.flow.component.grid.Grid.Column<E>> getVisibleColumns()
      Deprecated.
      use Grid.getColumns() and filter by visibility
      Returns:
      a copy of columns that are visible and not hidden by security
    • getColumnByKey

      @Nullable public com.vaadin.flow.component.grid.Grid.Column<E> getColumnByKey(String key)
    • removeColumn

      public void removeColumn(com.vaadin.flow.component.grid.Grid.Column<E> column)
    • isDataGridOwner

      public boolean isDataGridOwner(com.vaadin.flow.component.grid.Grid.Column<E> column)
    • setColumnPosition

      public void setColumnPosition(com.vaadin.flow.component.grid.Grid.Column<E> column, int index)
    • getAfterColumnSecurityApplyHandler

      @Nullable public Consumer<AbstractGridDelegate.ColumnSecurityContext<E>> getAfterColumnSecurityApplyHandler()
    • setAfterColumnSecurityApplyHandler

      public void setAfterColumnSecurityApplyHandler(@Nullable Consumer<AbstractGridDelegate.ColumnSecurityContext<E>> afterColumnSecurityApplyHandler)