From 5eeb0c82ea811737c9cf04a3f4d54b43473b8d61 Mon Sep 17 00:00:00 2001 From: Rob Garrison Date: Sat, 23 Dec 2017 22:22:39 -0600 Subject: [PATCH] Fix updateSort part deux --- manage/filters.js | 2 +- manage/sort.js | 27 ++++++++++++++++----------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/manage/filters.js b/manage/filters.js index 8e128ac0..6b934a4a 100644 --- a/manage/filters.js +++ b/manage/filters.js @@ -155,8 +155,8 @@ function filterOnChange({target: el, forceRefilter}) { }); if (installed) { reapplyFilter(); + sorter().updateSort(); } - sorter().updateSort(); } diff --git a/manage/sort.js b/manage/sort.js index 0f1b1b0c..df56a00f 100644 --- a/manage/sort.js +++ b/manage/sort.js @@ -144,18 +144,23 @@ const sorter = (() => { } function updateSort() { - getStylesSafe().then(styles => { - const renderBin = document.createDocumentFragment(); - const entries = sortStyles(styles); - const current = [...installed.children]; - const isDiffSort = entries.length !== current.length || - current.find((entry, index) => entry.id !== entries[index].id); - if (isDiffSort) { - entries.forEach(entry => renderBin.appendChild(entry)); - installed.appendChild(renderBin); - updateStripes(); - } + if (!installed) return; + const current = [...installed.children]; + const sorted = sortStyles({ + styles: current.map(entry => ({ + entry, + name: entry.styleNameLowerCase, + style: BG.cachedStyles.byId.get(entry.styleId), + })) }); + const isDiffSort = sorted.length !== current.length || + current.find((entry, index) => entry !== sorted[index].entry); + if (isDiffSort) { + const renderBin = document.createDocumentFragment(); + sorted.forEach(({entry}) => renderBin.appendChild(entry)); + installed.appendChild(renderBin); + updateStripes(); + } } function manageSort(event) {