Merge branch 'MDL-68506-master' of git://github.com/andrewnicols/moodle
[moodle.git] / lib / table / amd / src / dynamic.js
index 6333385..aa1d030 100644 (file)
@@ -23,6 +23,7 @@
  */
 import {fetch as fetchTableData} from 'core_table/local/dynamic/repository';
 import * as Selectors from 'core_table/local/dynamic/selectors';
+import Events from './local/dynamic/events';
 
 let watching = false;
 
@@ -86,7 +87,14 @@ export const refreshTableContent = tableRoot => {
         placeholder.innerHTML = data.html;
         tableRoot.replaceWith(...placeholder.childNodes);
 
-        return data;
+        // Update the tableRoot.
+        return getTableFromId(tableRoot.dataset.tableUniqueid);
+    }).then(tableRoot => {
+        tableRoot.dispatchEvent(new CustomEvent(Events.tableContentRefreshed, {
+            bubbles: true,
+        }));
+
+        return tableRoot;
     });
 };
 
@@ -139,7 +147,7 @@ export const updateTable = (tableRoot, {
     if (refreshContent) {
         return refreshTableContent(tableRoot);
     } else {
-        return Promise.resolve();
+        return Promise.resolve(tableRoot);
     }
 };
 
@@ -301,7 +309,7 @@ export const init = () => {
 };
 
 /**
- * Fetch the table via its table region id
+ * Fetch the table via its table region id.
  *
  * @param {String} tableRegionId
  * @returns {HTMLElement}
@@ -317,3 +325,7 @@ export const getTableFromId = tableRegionId => {
 
     return tableRoot;
 };
+
+export {
+    Events
+};