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
Nested ClassesModifier and TypeClassDescriptionprotected static classContains 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
FieldsModifier and TypeFieldDescriptionprotected ActionLoaderSupportstatic final Stringprotected ClassManagerstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringprotected FetchPlanRepositoryImplprotected Subscriptionprotected Messagesprotected MetadataToolsprotected PropertyFilterSupportFields inherited from class io.jmix.flowui.xml.layout.loader.AbstractComponentLoader
applicationContext, componentLoaderSupport, context, element, environment, factory, loaderResolver, loaderSupport, resultComponent -
Constructor Summary
Constructors -
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 JmixButtoncreateApplyButton(PropertyFilter propertyFilter, com.vaadin.flow.component.dialog.Dialog dialog, AtomicReference appliedValue) protected JmixButtoncreateCancelButton(PropertyFilter propertyFilter, com.vaadin.flow.component.dialog.Dialog dialog, AtomicReference appliedValue) protected JmixButtoncreateClearFilterButton(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.ComponentcreateFilterButton(PropertyFilter<?> propertyFilter) protected com.vaadin.flow.component.ComponentcreateHeaderComponent(String headerText, com.vaadin.flow.component.Component filterButton) protected com.vaadin.flow.component.dialog.DialogcreateOverlay(PropertyFilter propertyFilter, JmixButton filterButton) protected PropertyFilter<?>createPropertyFilter(DataLoader dataLoader, MetaClass metaClass, String property) protected voiddoApply(PropertyFilter propertyFilter, com.vaadin.flow.component.dialog.Dialog dialog, AtomicReference appliedValue) protected voiddoCancel(PropertyFilter propertyFilter, com.vaadin.flow.component.dialog.Dialog dialog, AtomicReference appliedValue) protected ActionLoaderSupportprotected Collection<String>getAppliedProperties(org.dom4j.Element columnsElement, FetchPlan fetchPlan, MetaClass metaClass) protected ClassManagerprotected FetchPlanRepositoryImplprotected Messagesprotected MetadataToolsprotected Stringprotected org.dom4j.ElementgetOverriddenColumn(List<org.dom4j.Element> columns, String property) protected PropertyFilterSupportprotected AbstractGridLoader.GridDataHolderprotected voidinitMasterDataLoaderListener(CollectionPropertyContainer<?> collectionContainer) protected booleanprotected voidloadAggregationInfo(org.dom4j.Element columnElement, com.vaadin.flow.component.grid.Grid.Column<?> column) protected voidloadColumn(T component, org.dom4j.Element element, DataLoader dataLoader, MetaClass metaClass, boolean sortableColumns, boolean resizableColumns) protected voidloadColumnEditable(org.dom4j.Element element, com.vaadin.flow.component.grid.Grid.Column<?> column, String property) protected voidloadColumnFilterable(org.dom4j.Element element, com.vaadin.flow.component.grid.Grid.Column<?> column, DataLoader dataLoader, MetaClass metaClass, String property) protected voidloadColumnResizable(org.dom4j.Element element, com.vaadin.flow.component.grid.Grid.Column<?> column, boolean resizableColumns) protected voidloadColumns(T resultComponent, org.dom4j.Element columnsElement, AbstractGridLoader.GridDataHolder holder, FetchPlan fetchPlan) protected voidloadColumnsByInclude(T component, org.dom4j.Element columnsElement, AbstractGridLoader.GridDataHolder holder, FetchPlan fetchPlan, boolean sortableColumns, boolean resizableColumns) protected voidloadColumnsElementChild(T resultComponent, org.dom4j.Element columnElement, AbstractGridLoader.GridDataHolder holder, boolean sortableColumns, boolean resizableColumns) protected voidloadColumnSortable(org.dom4j.Element element, com.vaadin.flow.component.grid.Grid.Column<?> column, boolean sortableColumns) voidLoads component properties by XML definition.protected voidloadData()protected voidloadEditorActionsColumn(T resultComponent, org.dom4j.Element columnElement) protected voidloadEditorActionsColumns(T resultComponent, org.dom4j.Element columnsElement) protected com.vaadin.flow.component.button.ButtonloadEditorButton(org.dom4j.Element columnElement, String buttonElementName) protected voidloadMetaClass(org.dom4j.Element element, Consumer<MetaClass> setter) protected voidprotected Optional<com.vaadin.flow.data.renderer.Renderer>loadRenderer(org.dom4j.Element columnElement, MetaPropertyPath metaPropertyPath) protected voidloadStrategyClassFqn(AggregationInfo aggregation, org.dom4j.Element element) protected voidonDialogOpen(com.vaadin.flow.component.dialog.Dialog.OpenedChangeEvent event, PropertyFilter propertyFilter, JmixButton filterButton) protected voidprotected voidsetDefaultEditComponent(com.vaadin.flow.component.grid.Grid.Column<?> column, String property) protected voidsetFilterComponent(com.vaadin.flow.component.grid.Grid.Column<?> column, DataLoader dataLoader, MetaClass metaClass, String property) protected abstract voidMethods 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:ComponentLoaderLoads 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
-