In my code I pass to tabEndNewRow an intial empty row object. When you go to jsFiddle and enter something to C2 column and hit tab key then
if you use function for tabEndNewRow then it works as expected. Did I get it wrong?
var cols = [
{ title: "Cell 1", field: "c1" },
{ title: "Cell 2", field: "c2", editor: "input" }
];
var row = {"c1":"","c2":""}
var table = new Tabulator('#table', {
columns: cols,
data: [row],
height:"100%",
tabEndNewRow: row,
});
Tabulator v5.0.8
In your JS Fiddle, you are passing the row object into both the data optionand the tabEndNewRow option.
Because objects are passed by reference, edits to the row data are then stored in that same object which is called when the new row is created, so it is populated by the new data.
In your example you need to break the reference by calling Object.assign when passing the row object to the tabEndNewRow prop:
tabEndNewRow:Object.assign({}, row);