Babel + JSX
import Handsontable from 'handsontable';
import 'handsontable/dist/handsontable.full.min.css';
const container = document.querySelector('#example1');
const colorData = [['yellow'], ['red'], ['orange'], ['green'], ['blue'], ['gray'], ['black'], ['white']];
const manufacturerData = [
{ name: 'BMW', country: 'Germany', owner: 'Bayerische Motoren Werke AG' },
{ name: 'Chrysler', country: 'USA', owner: 'Chrysler Group LLC' },
{ name: 'Nissan', country: 'Japan', owner: 'Nissan Motor Company Ltd' },
{ name: 'Suzuki', country: 'Japan', owner: 'Suzuki Motor Corporation' },
{ name: 'Toyota', country: 'Japan', owner: 'Toyota Motor Corporation' },
{ name: 'Volvo', country: 'Sweden', owner: 'Zhejiang Geely Holding Group' }
];
const hot = new Handsontable(container, {
licenseKey: 'non-commercial-and-evaluation',
data: [
[2017, 'black', 'black', 'Tesla'],
[2018, 'blue', 'blue', 'Nissan'],
[2019, 'yellow', 'black', 'Chrysler'],
[2020, 'white', 'gray', 'Volvo']
],
colHeaders: ['Year', 'Chassis color', 'Bumper color', 'Car'],
columns: [
{ type: 'numeric' },
{
type: 'handsontable',
handsontable: {
colHeaders: false,
data: colorData
}
},
{
type: 'handsontable',
handsontable: {
colHeaders: false,
data: colorData
}
},
{
type: 'handsontable',
handsontable: {
colHeaders: ['Marque', 'Country', 'Parent company'],
autoColumnSize: true,
data: manufacturerData,
getValue() {
const selection = this.getSelectedLast();
// Get the manufacturer name of the clicked row and ignore header
// coordinates (negative values)
return this.getSourceDataAtRow(Math.max(selection[0], 0)).name;
},
}
}
]
});