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
static final String
protected ClassManager
static final String
static final String
static final String
static final String
static final String
static final String
static final String
protected FetchPlanRepositoryImpl
protected Subscription
protected Messages
protected MetadataTools
protected PropertyFilterSupport
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 com.vaadin.flow.component.grid.Grid.Column<?>
addColumn
(String key, MetaPropertyPath metaPropertyPath) protected com.vaadin.flow.component.grid.Grid.Column<?>
addEmptyColumn
(String key) protected JmixButton
createApplyButton
(PropertyFilter propertyFilter, com.vaadin.flow.component.dialog.Dialog dialog, AtomicReference appliedValue) protected JmixButton
createCancelButton
(PropertyFilter propertyFilter, com.vaadin.flow.component.dialog.Dialog dialog, AtomicReference appliedValue) protected JmixButton
createClearFilterButton
(PropertyFilter propertyFilter) protected com.vaadin.flow.component.grid.Grid.Column<?>
createEditColumn
(T resultComponent, org.dom4j.Element columnElement, com.vaadin.flow.component.grid.editor.Editor editor) protected com.vaadin.flow.component.Component
createFilterButton
(PropertyFilter<?> propertyFilter) protected com.vaadin.flow.component.Component
createHeaderComponent
(String headerText, com.vaadin.flow.component.Component filterButton) protected com.vaadin.flow.component.dialog.Dialog
createOverlay
(PropertyFilter propertyFilter, JmixButton filterButton) protected PropertyFilter<?>
createPropertyFilter
(DataLoader dataLoader, MetaClass metaClass, String property) protected void
doApply
(PropertyFilter propertyFilter, com.vaadin.flow.component.dialog.Dialog dialog, AtomicReference appliedValue) protected void
doCancel
(PropertyFilter propertyFilter, com.vaadin.flow.component.dialog.Dialog dialog, AtomicReference appliedValue) protected ActionLoaderSupport
protected Collection<String>
getAppliedProperties
(org.dom4j.Element columnsElement, FetchPlan fetchPlan, MetaClass metaClass) protected ClassManager
protected FetchPlanRepositoryImpl
protected Messages
protected MetadataTools
protected String
protected org.dom4j.Element
getOverriddenColumn
(List<org.dom4j.Element> columns, String property) protected PropertyFilterSupport
protected AbstractGridLoader.GridDataHolder
protected void
initMasterDataLoaderListener
(CollectionPropertyContainer<?> collectionContainer) protected boolean
protected void
loadAggregationInfo
(org.dom4j.Element columnElement, com.vaadin.flow.component.grid.Grid.Column<?> column) protected void
loadColumn
(T component, org.dom4j.Element element, DataLoader dataLoader, MetaClass metaClass, boolean sortableColumns, boolean resizableColumns) protected void
loadColumnEditable
(org.dom4j.Element element, com.vaadin.flow.component.grid.Grid.Column<?> column, String property) protected void
loadColumnFilterable
(org.dom4j.Element element, com.vaadin.flow.component.grid.Grid.Column<?> column, DataLoader dataLoader, MetaClass metaClass, String property) protected void
loadColumnResizable
(org.dom4j.Element element, com.vaadin.flow.component.grid.Grid.Column<?> column, boolean resizableColumns) protected void
loadColumns
(T resultComponent, org.dom4j.Element columnsElement, AbstractGridLoader.GridDataHolder holder, FetchPlan fetchPlan) protected void
loadColumnsByInclude
(T component, org.dom4j.Element columnsElement, AbstractGridLoader.GridDataHolder holder, FetchPlan fetchPlan, boolean sortableColumns, boolean resizableColumns) protected void
loadColumnsElementChild
(T resultComponent, org.dom4j.Element columnElement, AbstractGridLoader.GridDataHolder holder, boolean sortableColumns, boolean resizableColumns) protected void
loadColumnSortable
(org.dom4j.Element element, com.vaadin.flow.component.grid.Grid.Column<?> column, boolean sortableColumns) void
Loads component properties by XML definition.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
onDialogOpen
(com.vaadin.flow.component.dialog.Dialog.OpenedChangeEvent event, PropertyFilter propertyFilter, JmixButton filterButton) protected void
protected void
setDefaultEditComponent
(com.vaadin.flow.component.grid.Grid.Column<?> column, String property) protected void
setFilterComponent
(com.vaadin.flow.component.grid.Grid.Column<?> column, DataLoader dataLoader, MetaClass metaClass, 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, loadString, loadString, loadVisible, setApplicationContext, setContext, setElement, setEnvironment, setFactory, setLoaderResolver, setLoaderSupport
-
Field Details
-
COLUMN_ELEMENT_NAME
- See Also:
-
EDITOR_ACTIONS_COLUMN_ELEMENT_NAME
- See Also:
-
COLUMN_FILTER_POPUP_CLASSNAME
- See Also:
-
COLUMN_FILTER_DIALOG_CLASSNAME
- See Also:
-
COLUMN_FILTER_FOOTER_SMALL_CLASSNAME
- See Also:
-
ATTRIBUTE_JMIX_ROLE_NAME
- See Also:
-
COLUMN_FILTER_BUTTON_ROLE
- See Also:
-
COLUMN_FILTER_BUTTON_ACTIVATED_ATTRIBUTE_NAME
- See Also:
-
actionLoaderSupport
-
metaDataTools
-
masterDataLoaderPostLoadListener
-
fetchPlanRepository
-
classManager
-
messages
-
propertyFilterSupport
-
-
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
protected void loadColumns(T resultComponent, org.dom4j.Element columnsElement, AbstractGridLoader.GridDataHolder holder, FetchPlan fetchPlan) -
loadColumnsElementChild
protected void loadColumnsElementChild(T resultComponent, org.dom4j.Element columnElement, AbstractGridLoader.GridDataHolder holder, boolean sortableColumns, boolean resizableColumns) -
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
protected void loadColumnsByInclude(T component, org.dom4j.Element columnsElement, AbstractGridLoader.GridDataHolder holder, FetchPlan fetchPlan, boolean sortableColumns, boolean resizableColumns) -
loadColumn
protected void loadColumn(T component, org.dom4j.Element element, @Nullable DataLoader dataLoader, MetaClass metaClass, boolean sortableColumns, boolean resizableColumns) -
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, com.vaadin.flow.component.grid.Grid.Column<?> column, boolean sortableColumns) -
loadColumnResizable
protected void loadColumnResizable(org.dom4j.Element element, com.vaadin.flow.component.grid.Grid.Column<?> column, boolean resizableColumns) -
loadColumnFilterable
protected void loadColumnFilterable(org.dom4j.Element element, com.vaadin.flow.component.grid.Grid.Column<?> column, @Nullable DataLoader dataLoader, MetaClass metaClass, String property) -
setFilterComponent
protected void setFilterComponent(com.vaadin.flow.component.grid.Grid.Column<?> column, DataLoader dataLoader, MetaClass metaClass, String property) -
createPropertyFilter
protected PropertyFilter<?> createPropertyFilter(DataLoader dataLoader, MetaClass metaClass, String property) -
createFilterButton
-
createOverlay
protected com.vaadin.flow.component.dialog.Dialog createOverlay(PropertyFilter propertyFilter, JmixButton filterButton) -
onDialogOpen
protected void onDialogOpen(com.vaadin.flow.component.dialog.Dialog.OpenedChangeEvent event, PropertyFilter propertyFilter, JmixButton filterButton) -
createClearFilterButton
-
createApplyButton
protected JmixButton createApplyButton(PropertyFilter propertyFilter, com.vaadin.flow.component.dialog.Dialog dialog, AtomicReference appliedValue) -
createCancelButton
protected JmixButton createCancelButton(PropertyFilter propertyFilter, com.vaadin.flow.component.dialog.Dialog dialog, AtomicReference appliedValue) -
doApply
protected void doApply(PropertyFilter propertyFilter, com.vaadin.flow.component.dialog.Dialog dialog, AtomicReference appliedValue) -
doCancel
protected void doCancel(PropertyFilter propertyFilter, com.vaadin.flow.component.dialog.Dialog dialog, AtomicReference appliedValue) -
createHeaderComponent
protected com.vaadin.flow.component.Component createHeaderComponent(String headerText, com.vaadin.flow.component.Component filterButton) -
loadColumnEditable
protected void loadColumnEditable(org.dom4j.Element element, com.vaadin.flow.component.grid.Grid.Column<?> column, String property) -
loadAggregationInfo
protected void loadAggregationInfo(org.dom4j.Element columnElement, com.vaadin.flow.component.grid.Grid.Column<?> column) -
loadStrategyClassFqn
-
setDefaultEditComponent
protected void setDefaultEditComponent(com.vaadin.flow.component.grid.Grid.Column<?> column, String property) -
addColumn
protected com.vaadin.flow.component.grid.Grid.Column<?> addColumn(String key, MetaPropertyPath metaPropertyPath) -
getAppliedProperties
protected Collection<String> getAppliedProperties(org.dom4j.Element columnsElement, @Nullable FetchPlan fetchPlan, MetaClass metaClass) -
getOverriddenColumn
-
loadMetaClass
-
initMasterDataLoaderListener
-
initDataGridDataHolder
-
onMasterDataLoaderPostLoad
-
getFetchPlanRepository
-
getActionLoaderSupport
-
getMetaDataTools
-
getClassManager
-
getPropertyFilterSupport
-
getMessages
-
getOverlayPositionExpression
-
isSmallDevice
protected boolean isSmallDevice() -
setupDataProvider
-