This plugin allows to change rows order. To make rows order persistent the Options#persistentState
plugin should be enabled.
API:
moveRow
- move single row to the new position.moveRows
- move many rows (as an array of indexes) to the new position.dragRow
- drag single row to the new position.dragRows
- drag many rows (as an array of indexes) to the new position.
Documentation explain differences between drag and move actions. Please keep in mind that if you want apply visual changes,
you have to call manually the render
method on the instance of Handsontable.
The plugin creates additional components to make moving possibly using user interface:
- backlight - highlight of selected rows.
- guideline - line which shows where rows has been moved.
Methods
-
destroy()
-
Destroys the plugin instance.
-
disablePlugin()
-
Disables the plugin functionality for this Handsontable instance.
-
dragRow(row, dropIndex){boolean}
-
Drag a single row to drop index position.
Parameters:
Name Type Description row
number Visual row index to be dragged.
dropIndex
number Visual row index, being a drop index for the moved rows. Points to where we are going to drop the moved elements.
To check visualization of drop index please take a look at documentation.Fires:
Returns: {boolean}
-
dragRows(rows, dropIndex){boolean}
-
Drag multiple rows to drop index position.
Parameters:
Name Type Description rows
Array Array of visual row indexes to be dragged.
dropIndex
number Visual row index, being a drop index for the moved rows. Points to where we are going to drop the moved elements.
To check visualization of drop index please take a look at documentation.Fires:
Returns: {boolean}
-
enablePlugin()
-
Enables the plugin functionality for this Handsontable instance.
-
isEnabled(){boolean}
-
Checks if the plugin is enabled in the handsontable settings. This method is executed in
Hooks#beforeInit
hook and if it returnstrue
than theManualRowMove#enablePlugin
method is called.Returns: {boolean}
-
isMovePossible(movedRows, finalIndex){boolean}
-
Indicates if it's possible to move rows to the desired position. Some of the actions aren't possible, i.e. You can’t move more than one element to the last position.
Parameters:
Name Type Description movedRows
Array Array of visual row indexes to be moved.
finalIndex
number Visual row index, being a start index for the moved rows. Points to where the elements will be placed after the moving action.
To check the visualization of the final index, please take a look at documentation.Returns: {boolean}
-
moveRow(row, finalIndex){boolean}
-
Moves a single row.
Parameters:
Name Type Description row
number Visual row index to be moved.
finalIndex
number Visual row index, being a start index for the moved rows. Points to where the elements will be placed after the moving action.
To check the visualization of the final index, please take a look at documentation.Fires:
Returns: {boolean}
-
moveRows(rows, finalIndex){boolean}
-
Moves a multiple rows.
Parameters:
Name Type Description rows
Array Array of visual row indexes to be moved.
finalIndex
number Visual row index, being a start index for the moved rows. Points to where the elements will be placed after the moving action.
To check the visualization of the final index, please take a look at documentation.Fires:
Returns: {boolean}
-
updatePlugin()
-
Updates the plugin state. This method is executed when
Core#updateSettings
is invoked.