Class AbstractGridLoader<T extends com.vaadin.flow.component.grid.Grid & EnhancedDataGrid & HasActions>
java.lang.Object
io.jmix.flowui.xml.layout.loader.AbstractComponentLoader<T>
io.jmix.flowui.xml.layout.loader.component.AbstractGridLoader<T>
- All Implemented Interfaces:
ComponentLoader<T>
- Direct Known Subclasses:
DataGridLoader
,TreeDataGridLoader
public abstract class AbstractGridLoader<T extends com.vaadin.flow.component.grid.Grid & EnhancedDataGrid & HasActions>
extends AbstractComponentLoader<T>
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
Contains information about metaClass, data container, loader, fetch plan.Nested classes/interfaces inherited from interface io.jmix.flowui.xml.layout.ComponentLoader
ComponentLoader.ComponentContext, ComponentLoader.Context, ComponentLoader.InitTask
-
Field Summary
Modifier and TypeFieldDescriptionprotected ActionLoaderSupport
protected ClassManager
static final String
static final String
protected FetchPlanRepositoryImpl
protected Subscription
protected MetadataTools
protected List<DataGridColumn<?>>
Fields inherited from class io.jmix.flowui.xml.layout.loader.AbstractComponentLoader
applicationContext, componentLoaderSupport, context, element, environment, factory, loaderResolver, loaderSupport, resultComponent
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected DataGridColumn<?>
addColumn
(String key, MetaPropertyPath metaPropertyPath) protected void
addContextMenuItem
(Function<com.vaadin.flow.component.Component, com.vaadin.flow.component.grid.contextmenu.GridMenuItem<?>> menuItemGenerator, Consumer<com.vaadin.flow.component.Component> separatorConsumer, org.dom4j.Element childElement) protected DataGridColumn<?>
addEmptyColumn
(String key) protected com.vaadin.flow.component.grid.Grid.Column<?>
createEditColumn
(T resultComponent, org.dom4j.Element columnElement, com.vaadin.flow.component.grid.editor.Editor editor) protected ActionLoaderSupport
protected Collection<String>
getAppliedProperties
(org.dom4j.Element columnsElement, FetchPlan fetchPlan, MetaClass metaClass) protected ClassManager
protected FetchPlanRepositoryImpl
protected MetadataTools
protected org.dom4j.Element
getOverriddenColumn
(List<org.dom4j.Element> columns, String property) protected AbstractGridLoader.GridDataHolder
protected void
initMasterDataLoaderListener
(CollectionPropertyContainer<?> collectionContainer) protected void
protected void
loadAggregationInfo
(org.dom4j.Element columnElement, DataGridColumn<?> column) protected void
loadColumn
(T component, org.dom4j.Element element, MetaClass metaClass, boolean sortableColumns, boolean resizableColumns) protected void
loadColumnEditable
(org.dom4j.Element element, DataGridColumn<?> column, String property) protected void
loadColumnFilterable
(org.dom4j.Element element, DataGridColumn<?> column) protected void
loadColumnResizable
(org.dom4j.Element element, DataGridColumn<?> column, boolean resizableColumns) protected void
loadColumns
(T resultComponent, org.dom4j.Element columnsElement, MetaClass metaClass, FetchPlan fetchPlan) protected void
loadColumnsByInclude
(T component, org.dom4j.Element columnsElement, MetaClass metaClass, FetchPlan fetchPlan, boolean sortableColumns, boolean resizableColumns) protected void
loadColumnsElementChild
(T resultComponent, org.dom4j.Element columnElement, MetaClass metaClass, boolean sortableColumns, boolean resizableColumns) protected void
loadColumnSortable
(org.dom4j.Element element, DataGridColumn<?> column, boolean sortableColumns) void
Loads component properties by XML definition.protected void
protected void
loadContextMenuItem
(GridContextMenuItemComponent<?> component, com.vaadin.flow.component.grid.contextmenu.GridMenuItem<?> menuItem, org.dom4j.Element itemElement) protected void
loadContextMenuItemAction
(GridContextMenuItemComponent<?> component, org.dom4j.Element element) protected void
loadData()
protected void
loadEditorActionsColumn
(T resultComponent, org.dom4j.Element columnElement) protected void
loadEditorActionsColumns
(T resultComponent, org.dom4j.Element columnsElement) protected com.vaadin.flow.component.button.Button
loadEditorButton
(org.dom4j.Element columnElement, String buttonElementName) protected void
loadMetaClass
(org.dom4j.Element element, Consumer<MetaClass> setter) protected void
protected Optional<com.vaadin.flow.data.renderer.Renderer>
loadRenderer
(org.dom4j.Element columnElement, MetaPropertyPath metaPropertyPath) protected void
loadStrategyClassFqn
(AggregationInfo aggregation, org.dom4j.Element element) protected void
protected void
setDefaultEditComponent
(DataGridColumn<?> column, String property) protected abstract void
Methods inherited from class io.jmix.flowui.xml.layout.loader.AbstractComponentLoader
componentLoader, createComponent, getComponentContext, getContext, getElement, getFactory, getLayoutLoader, getLoaderResolver, getLoaderSupport, getResultComponent, initComponent, loadBoolean, loadBoolean, loadDouble, loadDouble, loadEnum, loadEnum, loadId, loadInteger, loadInteger, loadResourceString, loadResourceString, loadResourceString, loadString, loadString, loadString, loadVisible, setApplicationContext, setContext, setElement, setEnvironment, setFactory, setLoaderResolver, setLoaderSupport
-
Field Details
-
COLUMN_ELEMENT_NAME
- See Also:
-
EDITOR_ACTIONS_COLUMN_ELEMENT_NAME
- See Also:
-
actionLoaderSupport
-
metaDataTools
-
masterDataLoaderPostLoadListener
-
fetchPlanRepository
-
classManager
-
pendingToFilterableColumns
-
-
Constructor Details
-
AbstractGridLoader
public AbstractGridLoader()
-
-
Method Details
-
loadComponent
public void loadComponent()Description copied from interface:ComponentLoader
Loads component properties by XML definition.- See Also:
-
loadData
protected void loadData() -
loadMultiSort
protected void loadMultiSort() -
loadColumns
-
loadColumnsElementChild
-
loadEditorActionsColumns
-
loadEditorActionsColumn
-
createEditColumn
protected com.vaadin.flow.component.grid.Grid.Column<?> createEditColumn(T resultComponent, org.dom4j.Element columnElement, com.vaadin.flow.component.grid.editor.Editor editor) -
loadEditorButton
@Nullable protected com.vaadin.flow.component.button.Button loadEditorButton(org.dom4j.Element columnElement, String buttonElementName) -
loadColumnsByInclude
-
loadColumn
-
addEmptyColumn
-
loadRenderer
protected Optional<com.vaadin.flow.data.renderer.Renderer> loadRenderer(org.dom4j.Element columnElement, @Nullable MetaPropertyPath metaPropertyPath) -
loadColumnSortable
protected void loadColumnSortable(org.dom4j.Element element, DataGridColumn<?> column, boolean sortableColumns) -
loadColumnResizable
protected void loadColumnResizable(org.dom4j.Element element, DataGridColumn<?> column, boolean resizableColumns) -
loadColumnFilterable
-
loadColumnEditable
protected void loadColumnEditable(org.dom4j.Element element, DataGridColumn<?> column, String property) -
loadAggregationInfo
-
loadStrategyClassFqn
-
setDefaultEditComponent
-
addColumn
-
getAppliedProperties
protected Collection<String> getAppliedProperties(org.dom4j.Element columnsElement, @Nullable FetchPlan fetchPlan, MetaClass metaClass) -
getOverriddenColumn
-
loadMetaClass
-
initMasterDataLoaderListener
-
initDataGridDataHolder
-
onMasterDataLoaderPostLoad
-
getFetchPlanRepository
-
getActionLoaderSupport
-
getMetaDataTools
-
getClassManager
-
setupDataProvider
-
loadContextMenu
protected void loadContextMenu() -
addContextMenuItem
-
loadContextMenuItemAction
protected void loadContextMenuItemAction(GridContextMenuItemComponent<?> component, org.dom4j.Element element) -
loadActions
protected void loadActions()
-