ManualColumnMove

This plugin allows to change columns order. To make columns order persistent the Options#persistentState
plugin should be enabled.

API:

  • moveColumn - move single column to the new position.
  • moveColumns - move many columns (as an array of indexes) to the new position.
  • dragColumn - drag single column to the new position.
  • dragColumns - drag many columns (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 columns.
  • guideline - line which shows where columns has been moved.

Methods

destroy()

Destroys the plugin instance.

disablePlugin()

Disables the plugin functionality for this Handsontable instance.

dragColumn(column, dropIndex){boolean}

Drag a single column to drop index position.

Parameters:
Name Type Description
column number

Visual column index to be dragged.

dropIndex number

Visual column index, being a drop index for the moved columns. 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}

dragColumns(columns, dropIndex){boolean}

Drag multiple columns to drop index position.

Parameters:
Name Type Description
columns Array

Array of visual column indexes to be dragged.

dropIndex number

Visual column index, being a drop index for the moved columns. 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 returns true than the ManualColumnMove#enablePlugin method is called.

Returns: {boolean}

isMovePossible(movedColumns, finalIndex){boolean}

Indicates if it's possible to move columns 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
movedColumns Array

Array of visual column indexes to be moved.

finalIndex number

Visual column index, being a start index for the moved columns. 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}

moveColumn(column, finalIndex){boolean}

Moves a single column.

Parameters:
Name Type Description
column number

Visual column index to be moved.

finalIndex number

Visual column index, being a start index for the moved columns. 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}

moveColumns(columns, finalIndex){boolean}

Moves a multiple columns.

Parameters:
Name Type Description
columns Array

Array of visual column indexes to be moved.

finalIndex number

Visual column index, being a start index for the moved columns. 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.

Class: ManualColumnMove