first
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
setTimeout(function() {
|
||||
function isEmptyRow(instance, row) {
|
||||
for (var rowData = instance.getData()[row], i = 0, ilen = rowData.length; i < ilen; i++)
|
||||
if (null !== rowData[i]) return !1;
|
||||
return !0
|
||||
}
|
||||
|
||||
function defaultValueRenderer(instance, td, row, col, prop, value, cellProperties) {
|
||||
var args = arguments;
|
||||
null === args[5] && isEmptyRow(instance, row) ? (args[5] = tpl[col], td.style.color = "#999") : td.style.color = "", Handsontable.renderers.TextRenderer.apply(this, args)
|
||||
}
|
||||
var hot1, tpl = ["one", "two", "three"],
|
||||
data = [
|
||||
["", "Kia", "Nissan", "Toyota", "Honda"],
|
||||
["2014", 10, 11, 12, 13],
|
||||
["2015", 20, 11, 14, 13],
|
||||
["2016", 30, 15, 12, 13]
|
||||
],
|
||||
container = document.getElementById("populating");
|
||||
hot1 = new Handsontable(container, {
|
||||
startRows: 8,
|
||||
startCols: 5,
|
||||
minSpareRows: 1,
|
||||
contextMenu: !0,
|
||||
cells: function(row, col, prop) {
|
||||
var cellProperties = {};
|
||||
return cellProperties.renderer = defaultValueRenderer, cellProperties
|
||||
},
|
||||
beforeChange: function(changes) {
|
||||
var i, c, instance = hot1,
|
||||
ilen = changes.length,
|
||||
clen = instance.colCount,
|
||||
rowColumnSeen = {},
|
||||
rowsToFill = {};
|
||||
for (i = 0; i < ilen; i++) null === changes[i][2] && null !== changes[i][3] && isEmptyRow(instance, changes[i][0]) && (rowColumnSeen[changes[i][0] + "/" + changes[i][1]] = !0, rowsToFill[changes[i][0]] = !0);
|
||||
for (var r in rowsToFill)
|
||||
if (rowsToFill.hasOwnProperty(r))
|
||||
for (c = 0; c < clen; c++) rowColumnSeen[r + "/" + c] || changes.push([r, c, null, tpl[c]])
|
||||
}
|
||||
}), hot1.loadData(data)
|
||||
}, 800);
|
||||
});
|
||||
Reference in New Issue
Block a user