diff --git a/src/body-renderer.js b/src/body-renderer.js index 0017133..2032cc0 100644 --- a/src/body-renderer.js +++ b/src/body-renderer.js @@ -25,11 +25,7 @@ export default class BodyRenderer { renderBodyHTML() { const rows = this.datamanager.getRowsForView(); - this.bodyScrollable.innerHTML = ` - - ${this.getBodyHTML(rows)} -
- `; + this.bodyScrollable.innerHTML = this.getBodyHTML(rows); this.instance.setDimensions(); this.restoreState(); } @@ -40,16 +36,12 @@ export default class BodyRenderer { let initialData = this.getDataForClusterize(rows); if (initialData.length === 0) { - initialData = [`
${this.options.noDataMessage}
`]; + initialData = [this.getNoDataHTML()]; } if (!this.clusterize) { // empty body - this.bodyScrollable.innerHTML = ` - - ${this.getBodyHTML([])} -
- `; + this.bodyScrollable.innerHTML = this.getBodyHTML([]); // first 20 rows will appended // rest of them in nextTick @@ -86,8 +78,14 @@ export default class BodyRenderer { this.clusterize.append(data); } - showToastMessage(message) { - this.instance.toastMessage.innerHTML = `${message}`; + showToastMessage(message, hideAfter) { + this.instance.toastMessage.innerHTML = this.getToastMessageHTML(message); + + if (hideAfter) { + setTimeout(() => { + this.clearToastMessage(); + }, hideAfter * 1000); + } } clearToastMessage() { @@ -100,9 +98,19 @@ export default class BodyRenderer { getBodyHTML(rows) { return ` - - ${rows.map(row => this.rowmanager.getRowHTML(row, row.meta)).join('')} - + + + ${rows.map(row => this.rowmanager.getRowHTML(row, row.meta)).join('')} + +
`; } + + getNoDataHTML() { + return `
${this.options.noDataMessage}
`; + } + + getToastMessageHTML(message) { + return `${message}`; + } } diff --git a/src/datatable.js b/src/datatable.js index b685bf0..6e6ecab 100644 --- a/src/datatable.js +++ b/src/datatable.js @@ -122,8 +122,8 @@ class DataTable { this.style.setDimensions(); } - showToastMessage(message) { - this.bodyRenderer.showToastMessage(message); + showToastMessage(message, hideAfter) { + this.bodyRenderer.showToastMessage(message, hideAfter); } clearToastMessage() {