Package io.jmix.gridexportflowui.action
Class ExportAction
java.lang.Object
io.jmix.flowui.kit.action.AbstractAction
io.jmix.flowui.kit.action.BaseAction
io.jmix.flowui.action.SecuredBaseAction
io.jmix.flowui.action.list.ListDataComponentAction<ExportAction,Object>
io.jmix.gridexportflowui.action.ExportAction
- All Implemented Interfaces:
ExecutableAction,SecuredAction,TargetAction<ListDataComponent<Object>>,Action,HasShortcutCombination,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware
- Direct Known Subclasses:
ExcelExportAction,JsonExportAction
@ActionType("grdexp_export")
public class ExportAction
extends ListDataComponentAction<ExportAction,Object>
implements org.springframework.context.ApplicationContextAware
Base action for export table content with defined exporter.
dataGridExporter is required for this action
Should be defined for a list component (Table, DataGrid, etc.).
-
Nested Class Summary
Nested classes/interfaces inherited from class io.jmix.flowui.action.SecuredBaseAction
SecuredBaseAction.EnabledRule -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContextprotected List<ExportMode>protected ColumnsToExportprotected DataGridExporterprotected Dialogsprotected Downloaderstatic final Stringprotected MessagesFields inherited from class io.jmix.flowui.action.list.ListDataComponentAction
selectionListenerRegistration, targetFields inherited from class io.jmix.flowui.action.SecuredBaseAction
enabledByUiPermissions, enabledRules, visibleByUiPermissionsFields inherited from class io.jmix.flowui.kit.action.BaseAction
enabledExplicitly, visibleExplicitlyFields inherited from class io.jmix.flowui.kit.action.AbstractAction
description, enabled, eventBus, icon, id, shortcutCombination, text, variant, visibleFields inherited from interface io.jmix.flowui.kit.action.Action
PROP_DESCRIPTION, PROP_ENABLED, PROP_ICON, PROP_SHORTCUT_COMBINATION, PROP_TEXT, PROP_VARIANT, PROP_VISIBLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddColumnValueProvider(String columnId, Function<DataGridExporter.ColumnValueContext, Object> columnValueProvider) Adds a function to get value from the column.protected ActioncreateCurrentPageAction(Predicate<com.vaadin.flow.component.grid.Grid.Column<Object>> primaryFilterPredicate) protected ActioncreateExportAllAction(Predicate<com.vaadin.flow.component.grid.Grid.Column<Object>> primaryFilterPredicate) protected ActioncreateExportSelectedAction(Predicate<com.vaadin.flow.component.grid.Grid.Column<Object>> primaryFilterPredicate) protected voiddoExport(ExportMode exportMode, Predicate<com.vaadin.flow.component.grid.Grid.Column<Object>> primaryFilterPredicate) voidexecute()Executes theActiongetColumnValueProvider(String columnId) protected StringgetMessage(String id) protected booleanisDataLoaderExist(ListDataComponent<?> target) voidremoveColumnValueProvider(String columnId) Removes an column value provider function by column id.voidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext) voidsetAvailableExportModes(List<ExportMode> availableExportModes) Sets the export modes that will be available in the export option dialog.voidsetColumnKeysToExport(List<String> columnKeysToExport) Sets a list of column keys to use for export.voidsetColumnsExportFilter(Predicate<com.vaadin.flow.component.grid.Grid.Column<Object>> columnsExportFilter) Sets thePredicatethat is used to filter columns to export.voidsetColumnsToExport(ColumnsToExport columnsToExport) Sets theColumnsToExportthat is used to filter columns to export.voidsetDataGridExporter(DataGridExporter dataGridExporter) Sets the dataGrid exporter instancevoidsetDialogs(Dialogs dialogs) voidsetDownloader(Downloader downloader) voidsetFileName(String fileName) Sets a file name.voidsetGridExportProperties(GridExportProperties gridExportProperties) voidsetMessages(Messages messages) withAvailableExportModes(List<ExportMode> availableExportModes) withColumnKeysToExport(List<String> columnKeysToExport) withColumnsExportFilter(Predicate<com.vaadin.flow.component.grid.Grid.Column<Object>> columnsExportFilter) withColumnsToExport(ColumnsToExport columnsToExport) <T> TwithExporter(Class<T> exporterClass) <T> TwithFileName(String fileName) Sets a file name.Methods inherited from class io.jmix.flowui.action.list.ListDataComponentAction
actionPerform, attachSelectionListener, checkTarget, checkTargetItems, getTarget, initAction, onSelectionChange, setTarget, withEnabled, withEnabledByUiPermissions, withHandler, withIcon, withIcon, withShortcutCombination, withTarget, withText, withTitle, withVariant, withVisible, withVisibleByUiPermissionsMethods inherited from class io.jmix.flowui.action.SecuredBaseAction
addEnabledRule, isEnabledByRule, isEnabledByUiPermissions, isPermitted, isVisibleByUiPermissions, refreshState, removeEnabledRule, setEnabledByUiPermissions, setVisibleByUiPermissionsMethods inherited from class io.jmix.flowui.kit.action.BaseAction
addActionPerformedListener, isApplicable, setEnabled, setEnabledInternal, setVisible, setVisibleInternal, withDescriptionMethods inherited from class io.jmix.flowui.kit.action.AbstractAction
addPropertyChangeListener, firePropertyChange, getDescription, getEventBus, getIcon, getId, getShortcutCombination, getText, getVariant, hasListener, isEnabled, isVisible, setDescription, setIcon, setShortcutCombination, setText, setVariantMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.jmix.flowui.kit.action.Action
addPropertyChangeListener, getDescription, getIcon, getId, getText, getVariant, isEnabled, isVisible, refreshState, setDescription, setEnabled, setIcon, setText, setVariant, setVisibleMethods inherited from interface io.jmix.flowui.kit.component.HasShortcutCombination
getShortcutCombination, setShortcutCombination
-
Field Details
-
ID
- See Also:
-
applicationContext
protected org.springframework.context.ApplicationContext applicationContext -
messages
-
downloader
-
dialogs
-
dataGridExporter
-
availableExportModes
-
columnsToExport
-
columnsExportFilter
-
columnKeysToExport
-
-
Constructor Details
-
ExportAction
public ExportAction() -
ExportAction
-
-
Method Details
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) - Specified by:
setApplicationContextin interfaceorg.springframework.context.ApplicationContextAware
-
setMessages
-
setDownloader
-
setDialogs
-
setGridExportProperties
-
setColumnsToExport
Sets theColumnsToExportthat is used to filter columns to export. This is a simple, predefined alternative tosetColumnsExportFilter(Predicate). Has the lowest filtering priority.The default value depends on
GridExportProperties.getDefaultColumnsToExport().- Parameters:
columnsToExport-ColumnsToExportthat is used to filter columns to export
-
withColumnsToExport
- Returns:
- this
- See Also:
-
setColumnsExportFilter
public void setColumnsExportFilter(Predicate<com.vaadin.flow.component.grid.Grid.Column<Object>> columnsExportFilter) Sets thePredicatethat is used to filter columns to export. This is a flexible alternative tosetColumnsToExport(ColumnsToExport). Has secondary filtering priority.- Parameters:
columnsExportFilter- column export predicate to set
-
withColumnsExportFilter
public ExportAction withColumnsExportFilter(Predicate<com.vaadin.flow.component.grid.Grid.Column<Object>> columnsExportFilter) - Returns:
- this
- See Also:
-
setColumnKeysToExport
Sets a list of column keys to use for export. Has primary filtering priority.- Parameters:
columnKeysToExport- list of column keys
-
withColumnKeysToExport
- Returns:
- this
- See Also:
-
setAvailableExportModes
Sets the export modes that will be available in the export option dialog.- Parameters:
availableExportModes- export modes to set
-
withAvailableExportModes
- Returns:
- this
- See Also:
-
setDataGridExporter
Sets the dataGrid exporter instance -
withExporter
-
setFileName
Sets a file name.- Parameters:
fileName- a file name
-
withFileName
Sets a file name.- Parameters:
fileName- a file name- Returns:
- builder
-
addColumnValueProvider
public void addColumnValueProvider(String columnId, Function<DataGridExporter.ColumnValueContext, Object> columnValueProvider) Adds a function to get value from the column.- Parameters:
columnId- column idcolumnValueProvider- column value provider function
-
removeColumnValueProvider
Removes an column value provider function by column id.- Parameters:
columnId- column id
-
getColumnValueProvider
@Nullable public Function<DataGridExporter.ColumnValueContext,Object> getColumnValueProvider(String columnId) - Parameters:
columnId- column id- Returns:
- column value provider function for the column id
-
execute
public void execute()Description copied from interface:ExecutableActionExecutes theAction- Specified by:
executein interfaceExecutableAction
-
definePrimaryFilterPredicate
-
doExport
protected void doExport(ExportMode exportMode, Predicate<com.vaadin.flow.component.grid.Grid.Column<Object>> primaryFilterPredicate) -
getMessage
-
createExportSelectedAction
-
createExportAllAction
-
createCurrentPageAction
-
isDataLoaderExist
-