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 SummaryNested classes/interfaces inherited from class io.jmix.flowui.action.SecuredBaseActionSecuredBaseAction.EnabledRule
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContextprotected List<ExportMode>protected ColumnsToExportprotected DataGridExporterprotected Dialogsprotected Downloaderstatic final Stringprotected MessagesFields inherited from class io.jmix.flowui.action.list.ListDataComponentActionselectionListenerRegistration, targetFields inherited from class io.jmix.flowui.action.SecuredBaseActionenabledByUiPermissions, enabledRules, visibleByUiPermissionsFields inherited from class io.jmix.flowui.kit.action.BaseActionenabledExplicitly, visibleExplicitlyFields inherited from class io.jmix.flowui.kit.action.AbstractActiondescription, enabled, eventBus, icon, id, shortcutCombination, text, variant, visibleFields inherited from interface io.jmix.flowui.kit.action.ActionPROP_DESCRIPTION, PROP_ENABLED, PROP_ICON, PROP_SHORTCUT_COMBINATION, PROP_TEXT, PROP_VARIANT, PROP_VISIBLE
- 
Constructor SummaryConstructors
- 
Method SummaryModifier 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.ListDataComponentActionactionPerform, 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.SecuredBaseActionaddEnabledRule, isEnabledByRule, isEnabledByUiPermissions, isPermitted, isVisibleByUiPermissions, refreshState, removeEnabledRule, setEnabledByUiPermissions, setVisibleByUiPermissionsMethods inherited from class io.jmix.flowui.kit.action.BaseActionaddActionPerformedListener, isApplicable, setEnabled, setEnabledInternal, setVisible, setVisibleInternalMethods inherited from class io.jmix.flowui.kit.action.AbstractActionaddPropertyChangeListener, firePropertyChange, getDescription, getEventBus, getIcon, getId, getShortcutCombination, getText, getVariant, hasListener, isEnabled, isVisible, setDescription, setIcon, setShortcutCombination, setText, setVariantMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.jmix.flowui.kit.action.ActionaddPropertyChangeListener, getDescription, getIcon, getId, getText, getVariant, isEnabled, isVisible, refreshState, setDescription, setEnabled, setIcon, setText, setVariant, setVisibleMethods inherited from interface io.jmix.flowui.kit.component.HasShortcutCombinationgetShortcutCombination, setShortcutCombination
- 
Field Details- 
ID- See Also:
 
- 
applicationContextprotected org.springframework.context.ApplicationContext applicationContext
- 
messages
- 
downloader
- 
dialogs
- 
dataGridExporter
- 
availableExportModes
- 
columnsToExport
- 
columnsExportFilter
- 
columnKeysToExport
 
- 
- 
Constructor Details- 
ExportActionpublic ExportAction()
- 
ExportAction
 
- 
- 
Method Details- 
setApplicationContextpublic void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) - Specified by:
- setApplicationContextin interface- org.springframework.context.ApplicationContextAware
 
- 
setMessages
- 
setDownloader
- 
setDialogs
- 
setGridExportProperties
- 
setColumnsToExportSets 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:
 
- 
setColumnsExportFilterpublic 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
 
- 
withColumnsExportFilterpublic ExportAction withColumnsExportFilter(Predicate<com.vaadin.flow.component.grid.Grid.Column<Object>> columnsExportFilter) - Returns:
- this
- See Also:
 
- 
setColumnKeysToExportSets a list of column keys to use for export. Has primary filtering priority.- Parameters:
- columnKeysToExport- list of column keys
 
- 
withColumnKeysToExport- Returns:
- this
- See Also:
 
- 
setAvailableExportModesSets the export modes that will be available in the export option dialog.- Parameters:
- availableExportModes- export modes to set
 
- 
withAvailableExportModes- Returns:
- this
- See Also:
 
- 
setDataGridExporterSets the dataGrid exporter instance
- 
withExporter
- 
setFileNameSets a file name.- Parameters:
- fileName- a file name
 
- 
withFileNameSets a file name.- Parameters:
- fileName- a file name
- Returns:
- builder
 
- 
addColumnValueProviderpublic void addColumnValueProvider(String columnId, Function<DataGridExporter.ColumnValueContext, Object> columnValueProvider) Adds a function to get value from the column.- Parameters:
- columnId- column id
- columnValueProvider- column value provider function
 
- 
removeColumnValueProviderRemoves 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
 
- 
executepublic void execute()Description copied from interface:ExecutableActionExecutes theAction- Specified by:
- executein interface- ExecutableAction
 
- 
definePrimaryFilterPredicate
- 
doExportprotected void doExport(ExportMode exportMode, Predicate<com.vaadin.flow.component.grid.Grid.Column<Object>> primaryFilterPredicate) 
- 
getMessage
- 
createExportSelectedAction
- 
createExportAllAction
- 
createCurrentPageAction
- 
isDataLoaderExist
 
-