diff --git a/src/js/core/RowManager.js b/src/js/core/RowManager.js index 12357e21d..9c699dfa8 100644 --- a/src/js/core/RowManager.js +++ b/src/js/core/RowManager.js @@ -768,7 +768,7 @@ export default class RowManager extends CoreFeature{ } setActiveRows(activeRows){ - this.activeRows = this.activeRows = Object.assign([], activeRows); + this.activeRows = activeRows.slice(); this.activeRowsCount = this.activeRows.length; } diff --git a/src/js/core/row/Row.js b/src/js/core/row/Row.js index 48184c3f5..946199c21 100644 --- a/src/js/core/row/Row.js +++ b/src/js/core/row/Row.js @@ -3,6 +3,9 @@ import RowComponent from './RowComponent.js'; import Helpers from '../tools/Helpers.js'; export default class Row extends CoreFeature{ + + static rowTemplate = Row.createRowTemplate(); + constructor (data, parent, type = "row"){ super(parent.table); @@ -25,6 +28,7 @@ export default class Row extends CoreFeature{ this.created = false; + this.setData(data); } @@ -36,12 +40,7 @@ export default class Row extends CoreFeature{ } createElement (){ - var el = document.createElement("div"); - - el.classList.add("tabulator-row"); - el.setAttribute("role", "row"); - - this.element = el; + this.element = Row.rowTemplate.cloneNode(false) ; } getElement(){ @@ -484,4 +483,11 @@ export default class Row extends CoreFeature{ return this.component; } + + static createRowTemplate(){ + const rowTemplate = document.createElement("div"); + rowTemplate.classList.add("tabulator-row"); + rowTemplate.setAttribute("role", "row"); + return rowTemplate; + } }