Package io.jmix.reportsui.action.list
Class ItemOrderableAction<E extends OrderableEntity>
java.lang.Object
io.jmix.ui.action.AbstractAction
io.jmix.ui.action.BaseAction
io.jmix.ui.action.ListAction
io.jmix.ui.action.list.SecuredListAction
io.jmix.reportsui.action.list.ItemOrderableAction<E>
- All Implemented Interfaces:
Action,Action.HasPrimaryState,Action.HasSecurityConstraint,Action.HasTarget,Action.SecuredAction
@ActionType("itemOrderable")
public class ItemOrderableAction<E extends OrderableEntity>
extends SecuredListAction
Move items in ListComponent up or down. Items in datasource must to be of type
Note that order num of item will be changed for moving. Move algorithm is differ from selected items count:
OrderableEntity. Note that order num of item will be changed for moving. Move algorithm is differ from selected items count:
- swap items algorithm if one item is selected
- index recalculating algorithm if more than one item selected)
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class io.jmix.ui.action.BaseAction
BaseAction.EnabledRuleNested classes/interfaces inherited from interface io.jmix.ui.action.Action
Action.ActionPerformedEvent, Action.AdjustWhenScreenReadOnly, Action.ExecutableAction, Action.HasPrimaryState, Action.HasSecurityConstraint, Action.HasTarget, Action.MainTabSheetAction, Action.ScreenOpeningAction, Action.SecuredAction, Action.Status -
Field Summary
FieldsFields inherited from class io.jmix.ui.action.list.SecuredListAction
accessManager, applicationContext, constraintEntityOp, metadataFields inherited from class io.jmix.ui.action.ListAction
targetFields inherited from class io.jmix.ui.action.AbstractAction
caption, description, enabled, eventHub, icon, id, owners, primary, shortcut, visibleFields inherited from interface io.jmix.ui.action.Action
PROP_CAPTION, PROP_DESCRIPTION, PROP_ENABLED, PROP_ICON, PROP_SHORTCUT, PROP_VISIBLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidactionPerform(Component component) Invoked by owning component to execute the action.protected voidexecute()protected OrderableEntitygetItemNeighbour(ListIterator<OrderableEntity> iterator) protected voidMove few items up or down by recalculating their indexes.protected voidIterate over items and set orderNum value from 1 to size()+1;voidsetDirection(ItemOrderableAction.Direction direction) protected voidprotected voidSwap items is simpleMethods inherited from class io.jmix.ui.action.list.SecuredListAction
getConstraintEntityOp, isApplicable, isPermitted, setAccessManager, setApplicationContext, setConstraintEntityOp, setMetadataMethods inherited from class io.jmix.ui.action.ListAction
getTarget, setTarget, withCaption, withDescription, withHandler, withIcon, withPrimary, withShortcutMethods inherited from class io.jmix.ui.action.BaseAction
addActionPerformedListener, addEnabledRule, isEnabledByRule, isEnabledByUiPermissions, isVisibleByUiPermissions, refreshState, removeEnabledRule, setEnabled, setEnabledByUiPermissions, setEnabledInternal, setVisible, setVisibleByUiPermissions, setVisibleInternalMethods inherited from class io.jmix.ui.action.AbstractAction
addOwner, addPropertyChangeListener, firePropertyChange, getDescription, getEventHub, getIcon, getId, getOwner, getOwners, getShortcutCombination, hasSubscriptions, isEnabled, isPrimary, isVisible, removeOwner, removePropertyChangeListener, setCaption, setDescription, setIcon, setPrimary, setShortcut, setShortcutCombinationMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.jmix.ui.action.Action
addOwner, addPropertyChangeListener, getDescription, getIcon, getId, getOwner, getOwners, getShortcutCombination, isEnabled, isVisible, refreshState, removeOwner, removePropertyChangeListener, setCaption, setDescription, setEnabled, setIcon, setShortcut, setShortcutCombination, setVisible
-
Field Details
-
ID
- See Also:
-
direction
-
-
Constructor Details
-
ItemOrderableAction
public ItemOrderableAction() -
ItemOrderableAction
-
-
Method Details
-
setDirection
-
actionPerform
Description copied from interface:ActionInvoked by owning component to execute the action.- Specified by:
actionPerformin interfaceAction- Overrides:
actionPerformin classBaseAction- Parameters:
component- invoking component
-
execute
protected void execute() -
swapSingleItemWithNeighbour
protected void swapSingleItemWithNeighbour()Swap items is simple -
getItemNeighbour
-
sortTableDsByItemsOrderNum
protected void sortTableDsByItemsOrderNum() -
moveFewItems
protected void moveFewItems()Move few items up or down by recalculating their indexes. Then we sorting table and normalize indexes -
getCaption
- Specified by:
getCaptionin interfaceAction- Overrides:
getCaptionin classAbstractAction- Returns:
- action's caption
-
normalizeEntityOrderNum
protected void normalizeEntityOrderNum()Iterate over items and set orderNum value from 1 to size()+1;
-