Fix to emit DOM_OBJECTS_CREATED event after module DOMs have actually loaded

This commit is contained in:
Connor Christie 2018-01-14 22:03:09 -06:00
parent dab2e7ede3
commit 2d500f8074

View File

@ -19,6 +19,8 @@ var MM = (function() {
* are configured for a specific position. * are configured for a specific position.
*/ */
var createDomObjects = function() { var createDomObjects = function() {
var domCreationPromises = [];
modules.forEach(module => { modules.forEach(module => {
if (typeof module.data.position !== "string") { if (typeof module.data.position !== "string") {
return; return;
@ -48,14 +50,18 @@ var MM = (function() {
moduleContent.className = "module-content"; moduleContent.className = "module-content";
dom.appendChild(moduleContent); dom.appendChild(moduleContent);
updateDom(module, 0).then(() => { var domCreationPromise = updateDom(module, 0);
domCreationPromises.push(domCreationPromise);
domCreationPromise.then(() => {
sendNotification("MODULE_DOM_CREATED", null, null, module); sendNotification("MODULE_DOM_CREATED", null, null, module);
}).catch(Log.error); }).catch(Log.error);
}); });
updateWrapperStates(); updateWrapperStates();
sendNotification("DOM_OBJECTS_CREATED"); Promise.all(domCreationPromises).then(() => {
sendNotification("DOM_OBJECTS_CREATED");
});
}; };
/* selectWrapper(position) /* selectWrapper(position)