DataMap

Parameters:
Name Type Description
instance object

Instance of Handsontable.

data Array

Array of arrays or array of objects containing data.

tableMeta TableMeta

The table meta instance.

Members

staticDataMap.DESTINATION_CLIPBOARD_GENERATORnumber

staticDataMap.DESTINATION_RENDERERnumber

colToPropCacheArray

Cached array of properties to columns.

dataSource*

Reference to the original dataset.

duckSchemaobject

Generated schema based on the first row from the source data.

propToColCacheMap

Cached map of properties to columns.

Methods

clear()

Clears the data array.

colToProp(column){string|number}

Returns property name that corresponds with the given column index.

Parameters:
Name Type Description
column string | number

Visual column index or another passed argument.

Returns: {string|number} Column property, physical column index or passed argument.

countCachedColumns(){number}

Count the number of columns cached in the colToProp cache.

Returns: {number} Amount of cached columns.

countFirstRowKeys(){number}

Get the amount of physical columns in the first data row.

Returns: {number} Amount of physical columns in the first data row.

createCol(index, amount, source){number}

Creates column at the right of the data array.

Parameters:
Name Type Default Description
index number optional

Visual index of the column before which the new column will be inserted.

amount number 1 optional

An amount of columns to add.

source string optional

Source of method call.

Fires:
Returns: {number} Returns number of created columns.

createMap()

Generates cache for property to and from column addressation.

createRow(index, amount, source){number}

Creates row at the bottom of the data array.

Parameters:
Name Type Default Description
index number optional

Physical index of the row before which the new row will be inserted.

amount number 1 optional

An amount of rows to add.

source string optional

Source of method call.

Fires:
Returns: {number} Returns number of created rows.

destroy()

Destroy instance.

filterData(index, amount, physicalRows){Array}

Filter unwanted data elements from the data source.

Parameters:
Name Type Description
index number

Visual index of the element to remove.

amount number

Number of rows to add/remove.

physicalRows number

Physical row indexes.

Returns: {Array}

get(row, prop){*}

Returns single value from the data array.

Parameters:
Name Type Description
row number

Visual row index.

prop number

The column property.

Returns: {*}

getAll(){Array}

Returns the data array.

Returns: {Array}

getCopyable(row, prop){string}

Returns single value from the data array (intended for clipboard copy to an external application).

Parameters:
Name Type Description
row number

Physical row index.

prop number

The column property.

Returns: {string}

getCopyableText(start, end){string}

Return data as copyable text (tab separated columns intended for clipboard copy to an external application).

Parameters:
Name Type Description
start object optional

Start selection position. Visual indexes.

end object optional

End selection position. Visual indexes.

Returns: {string}

getLength(){number}

Get data length.

Returns: {number}

getRange(start, end, destination){Array}

Returns data range as array.

Parameters:
Name Type Description
start object optional

Start selection position. Visual indexes.

end object optional

End selection position. Visual indexes.

destination number

Destination of datamap.get.

Returns: {Array}

getSchema(){object}

Returns data's schema.

Returns: {object}

getText(start, end){string}

Return data as text (tab separated columns).

Parameters:
Name Type Description
start object optional

Start selection position. Visual indexes.

end object optional

End selection position. Visual indexes.

Returns: {string}

propToCol(prop){string|number}

Translates property into visual column index.

Parameters:
Name Type Description
prop string | number

Column property which may be also a physical column index.

Returns: {string|number} Visual column index or passed argument.

recursiveDuckColumns(schema, lastCol, parent){number}

Generates columns' translation cache.

Parameters:
Name Type Description
schema object

An object to generate schema from.

lastCol number

The column index.

parent number

The property cache for recursive calls.

Returns: {number}

removeCol(index, amount, source){boolean}

Removes column from the data array.

Parameters:
Name Type Default Description
index number optional

Visual index of the column to be removed. If not provided, the last column will be removed.

amount number 1 optional

Amount of the columns to be removed. If not provided, one column will be removed.

source string optional

Source of method call.

Fires:
Returns: {boolean} Returns false when action was cancelled, otherwise true.

removeRow(index, amount, source){boolean}

Removes row from the data array.

Parameters:
Name Type Default Description
index number optional

Visual index of the row to be removed. If not provided, the last row will be removed.

amount number 1 optional

Amount of the rows to be removed. If not provided, one row will be removed.

source string optional

Source of method call.

Fires:
Returns: {boolean} Returns false when action was cancelled, otherwise true.

set(row, prop, value)

Saves single value to the data array.

Parameters:
Name Type Description
row number

Visual row index.

prop number

The column property.

value string

The value to set.

spliceCol(col, index, amount, elements){Array}

Add/Removes data from the column.

Parameters:
Name Type Description
col number

Physical index of column in which do you want to do splice.

index number

Index at which to start changing the array. If negative, will begin that many elements from the end.

amount number

An integer indicating the number of old array elements to remove. If amount is 0, no elements are removed.

elements Array optional repeatable

The new columns to add.

Returns: {Array} Returns removed portion of columns.

spliceData(index, amount, elements)

Add/remove row(s) to/from the data source.

Parameters:
Name Type Description
index number

Physical index of the element to add/remove.

amount number

Number of rows to add/remove.

elements object repeatable

Row elements to be added.

spliceRow(row, index, amount, elements){Array}

Add/Removes data from the row.

Parameters:
Name Type Description
row number

Physical index of row in which do you want to do splice.

index number

Index at which to start changing the array. If negative, will begin that many elements from the end.

amount number

An integer indicating the number of old array elements to remove. If amount is 0, no elements are removed.

elements Array optional repeatable

The new rows to add.

Returns: {Array} Returns removed portion of rows.

visualColumnsToPhysical(index, amount){Array}

Parameters:
Name Type Description
index number

Visual column index.

amount number

An amount of rows to translate.

Returns: {Array}

visualRowsToPhysical(index, amount){number}

This ridiculous piece of code maps rows Id that are present in table data to those displayed for user.
The trick is, the physical row id (stored in settings.data) is not necessary the same
as the visual (displayed) row id (e.g. When sorting is applied).

Parameters:
Name Type Description
index number

Visual row index.

amount number

An amount of rows to translate.

Returns: {number}
Class: DataMap