Hi,
This commit has some performance issues with row paste functionality.
For 2K copied rows with 3 columns (2 integer and one null column) it took near about 10 seconds to complete paste operation. And entire application becomes unresponsive for those 10 seconds.
This is mainly because for each single pasted row entire grid is re-rendered ( is what I see in code).
Ideally grid should be re-rendered only once after all rows are provided to grid.
below code snippet from _paste_rows function
_.each(copied_rows, function(row) {
var new_row = arr_to_object(row);
new_row.is_row_copied = true;
row = new_row;
self.temp_new_rows.push(count);
grid.onAddNewRow.notify(
{item: new_row, column: self.columns[0] , grid:grid}
)
grid.setSelectedRows([]);
count++;
});
The statement
grid.onAddNewRow.notify(
{item: new_row, column: self.columns[0] , grid:grid}
)
causes grid to re-render (as we listener on onAddNewRow event where we re-render the grid)