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() {