UNPKG

handsontable

Version:

Handsontable is a JavaScript Data Grid available for React, Angular and Vue.

27 lines (26 loc) 884 B
"use strict"; exports.__esModule = true; exports.valueSetter = valueSetter; var _object = require("../../../helpers/object"); /** * Defines what value is set to an multiSelect-typed cell. * * @param {*} newValue The value to be set. * @param {number} row The visual row index. * @param {number|string} column The visual column index or property name. * @returns {*} The new value to be set. */ function valueSetter(newValue, row, column) { if (Array.isArray(newValue)) { const sourceDataAtCell = this.getSourceDataAtCell(this.toPhysicalRow(row), column); if (Array.isArray(sourceDataAtCell) && sourceDataAtCell.length > 0 && (0, _object.isKeyValueObject)(sourceDataAtCell[0])) { return newValue.map(val => { return (0, _object.isKeyValueObject)(val) ? val : { key: val, value: val }; }); } } return newValue; }