add hideAfter functionality to showToastMessage\n- also minor html refactor

This commit is contained in:
Faris Ansari 2018-04-22 13:14:20 +05:30
parent fde1b7bcc9
commit 351aca3243
2 changed files with 26 additions and 18 deletions

View File

@ -25,11 +25,7 @@ export default class BodyRenderer {
renderBodyHTML() {
const rows = this.datamanager.getRowsForView();
this.bodyScrollable.innerHTML = `
<table class="dt-body">
${this.getBodyHTML(rows)}
</table>
`;
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 = [`<div class="dt-scrollable__no-data">${this.options.noDataMessage}</div>`];
initialData = [this.getNoDataHTML()];
}
if (!this.clusterize) {
// empty body
this.bodyScrollable.innerHTML = `
<table class="dt-body">
${this.getBodyHTML([])}
</table>
`;
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 = `<span class="dt-toast__message">${message}</span>`;
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 `
<tbody>
${rows.map(row => this.rowmanager.getRowHTML(row, row.meta)).join('')}
</tbody>
<table class="dt-body">
<tbody>
${rows.map(row => this.rowmanager.getRowHTML(row, row.meta)).join('')}
</tbody>
</table>
`;
}
getNoDataHTML() {
return `<div class="dt-scrollable__no-data">${this.options.noDataMessage}</div>`;
}
getToastMessageHTML(message) {
return `<span class="dt-toast__message">${message}</span>`;
}
}

View File

@ -122,8 +122,8 @@ class DataTable {
this.style.setDimensions();
}
showToastMessage(message) {
this.bodyRenderer.showToastMessage(message);
showToastMessage(message, hideAfter) {
this.bodyRenderer.showToastMessage(message, hideAfter);
}
clearToastMessage() {