# DataMap

# Description

# Description

Utility class that gets and saves data from/to the data source using mapping of columns numbers to object property names.

# Members

# colToPropCache

Source code (opens new window)

dataMap.colToPropCache : Array

Cached array of properties to columns.

# dataSource

Source code (opens new window)

dataMap.dataSource : *

Reference to the original dataset.

# DESTINATION_CLIPBOARD_GENERATOR

Source code (opens new window)

DataMap.DESTINATION_CLIPBOARD_GENERATOR : number

# DESTINATION_RENDERER

Source code (opens new window)

DataMap.DESTINATION_RENDERER : number

# duckSchema

Source code (opens new window)

dataMap.duckSchema : object

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

# propToColCache

Source code (opens new window)

dataMap.propToColCache : Map

Cached map of properties to columns.

# Methods

# clear

Source code (opens new window)

dataMap.clear()

Clears the data array.

# colToProp

Source code (opens new window)

dataMap.colToProp(column) ⇒ string | number

Returns property name that corresponds with the given column index.

Param Type Description
column string
number
Visual column index or another passed argument.

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

# countCachedColumns

Source code (opens new window)

dataMap.countCachedColumns() ⇒ number

Count the number of columns cached in the colToProp cache.

Returns: number - Amount of cached columns.

# countFirstRowKeys

Source code (opens new window)

dataMap.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

Source code (opens new window)

dataMap.createCol([index], [amount], [source]) ⇒ number

Creates column at the right of the data array.

Emits: Hooks#event:afterCreateCol

Param 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.

Returns: number - Returns number of created columns.

# createMap

Source code (opens new window)

dataMap.createMap()

Generates cache for property to and from column addressation.

# createRow

Source code (opens new window)

dataMap.createRow([index], [amount], [source]) ⇒ number

Creates row at the bottom of the data array.

Emits: Hooks#event:afterCreateRow

Param 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.

Returns: number - Returns number of created rows.

# destroy

Source code (opens new window)

dataMap.destroy()

Destroy instance.

# filterData

Source code (opens new window)

dataMap.filterData(index, amount, physicalRows) ⇒ Array

Filter unwanted data elements from the data source.

Param Type Description
index number Visual index of the element to remove.
amount number Number of rows to add/remove.
physicalRows number Physical row indexes.

# get

Source code (opens new window)

dataMap.get(row, prop) ⇒ *

Returns single value from the data array.

Param Type Description
row number Visual row index.
prop number The column property.

# getAll

Source code (opens new window)

dataMap.getAll() ⇒ Array

Returns the data array.

# getCopyable

Source code (opens new window)

dataMap.getCopyable(row, prop) ⇒ string

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

Param Type Description
row number Physical row index.
prop number The column property.

# getCopyableText

Source code (opens new window)

dataMap.getCopyableText([start], [end]) ⇒ string

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

Param Type Description
[start] object optional Start selection position. Visual indexes.
[end] object optional End selection position. Visual indexes.

# getLength

Source code (opens new window)

dataMap.getLength() ⇒ number

Get data length.

# getRange

Source code (opens new window)

dataMap.getRange([start], [end], destination) ⇒ Array

Returns data range as array.

Param Type Description
[start] object optional Start selection position. Visual indexes.
[end] object optional End selection position. Visual indexes.
destination number Destination of datamap.get.

# getSchema

Source code (opens new window)

dataMap.getSchema() ⇒ object

Returns data's schema.

# getText

Source code (opens new window)

dataMap.getText([start], [end]) ⇒ string

Return data as text (tab separated columns).

Param Type Description
[start] object optional Start selection position. Visual indexes.
[end] object optional End selection position. Visual indexes.

# propToCol

Source code (opens new window)

dataMap.propToCol(prop) ⇒ string | number

Translates property into visual column index.

Param 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

Source code (opens new window)

dataMap.recursiveDuckColumns(schema, lastCol, parent) ⇒ number

Generates columns' translation cache.

Param Type Description
schema object An object to generate schema from.
lastCol number The column index.
parent number The property cache for recursive calls.

# removeCol

Source code (opens new window)

dataMap.removeCol([index], [amount], [source]) ⇒ boolean

Removes column from the data array.

Emits: Hooks#event:beforeRemoveCol, Hooks#event:afterRemoveCol

Param 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.

Returns: boolean - Returns false when action was cancelled, otherwise true.

# removeRow

Source code (opens new window)

dataMap.removeRow([index], [amount], [source]) ⇒ boolean

Removes row from the data array.

Emits: Hooks#event:beforeRemoveRow, Hooks#event:afterRemoveRow

Param 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.

Returns: boolean - Returns false when action was cancelled, otherwise true.

# set

Source code (opens new window)

dataMap.set(row, prop, value)

Saves single value to the data array.

Param Type Description
row number Visual row index.
prop number The column property.
value string The value to set.

# spliceCol

Source code (opens new window)

dataMap.spliceCol(col, index, amount, [...elements]) ⇒ Array

Add/Removes data from the column.

Param 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 The new columns to add.

Returns: Array - Returns removed portion of columns.

# spliceData

Source code (opens new window)

dataMap.spliceData(index, amount, ...elements)

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

Param Type Description
index number Physical index of the element to add/remove.
amount number Number of rows to add/remove.
...elements object Row elements to be added.

# spliceRow

Source code (opens new window)

dataMap.spliceRow(row, index, amount, [...elements]) ⇒ Array

Add/Removes data from the row.

Param 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 The new rows to add.

Returns: Array - Returns removed portion of rows.

# visualColumnsToPhysical

Source code (opens new window)

dataMap.visualColumnsToPhysical(index, amount) ⇒ Array

Param Type Description
index number Visual column index.
amount number An amount of rows to translate.

# visualRowsToPhysical

Source code (opens new window)

dataMap.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).

Param Type Description
index number Visual row index.
amount number An amount of rows to translate.
Last Updated: Jul 8, 2021