diff --git a/scripts/system/html/js/entityList.js b/scripts/system/html/js/entityList.js index 11a875dbb5..a8c0e22ae6 100644 --- a/scripts/system/html/js/entityList.js +++ b/scripts/system/html/js/entityList.js @@ -184,27 +184,25 @@ function loaded() { currentElement.onclick = onRowClicked; currentElement.ondblclick = onRowDoubleClicked; }); - - if (refreshEntityListTimer) { - clearTimeout(refreshEntityListTimer); - } - refreshEntityListTimer = setTimeout(refreshEntityListObject, 50); } else { var item = entities[id].item; item.values({ name: name, url: filename, locked: locked, visible: visible }); } } - function removeEntities(deletedIDs, selectedIDs) { + function removeEntities(deletedIDs) { for (i = 0, length = deletedIDs.length; i < length; i++) { delete entities[deletedIDs[i]]; entityList.remove("id", deletedIDs[i]); } + } + + function scheduleRefreshEntityList() { + var REFRESH_DELAY = 50; if (refreshEntityListTimer) { clearTimeout(refreshEntityListTimer); } - refreshEntityListTimer = setTimeout(refreshEntityListObject, 50); - updateSelectedEntities(selectedIDs); + refreshEntityListTimer = setTimeout(refreshEntityListObject, REFRESH_DELAY); } function clearEntities() { @@ -377,15 +375,15 @@ function loaded() { newEntities[i].hasScript ? SCRIPT_GLYPH : null); } updateSelectedEntities(data.selectedIDs); + scheduleRefreshEntityList(); resize(); } - } else if (data.type === "removeEntities" && data.deletedIDs !== undefined) { - removeEntities(data.deletedIDs, data.selectedIDs); - } else if (data.type === "deleted") { - for (i = 0, length = data.ids.length; i < length; i++) { - delete entities[data.ids[i]]; - entityList.remove("id", data.ids[i]); - } + } else if (data.type === "removeEntities" && data.deletedIDs !== undefined && data.selectedIDs !== undefined) { + removeEntities(data.deletedIDs); + updateSelectedEntities(data.selectedIDs); + scheduleRefreshEntityList(); + } else if (data.type === "deleted" && data.ids) { + removeEntities(data.ids); refreshFooter(); } }); diff --git a/scripts/system/html/js/entityProperties.js b/scripts/system/html/js/entityProperties.js index f5b24a5f8e..a6a781b35f 100644 --- a/scripts/system/html/js/entityProperties.js +++ b/scripts/system/html/js/entityProperties.js @@ -911,7 +911,7 @@ function loaded() { elID.value = ""; elPropertiesList.className = ''; disableProperties(); - } else if (data.selections && data.selections.length > 1) { + } else if (data.selections.length > 1) { deleteJSONEditor(); deleteJSONMaterialEditor(); var selections = data.selections;