aboutsummaryrefslogtreecommitdiff
path: root/src/services/theme_data/theme_data.service.js
diff options
context:
space:
mode:
authorShpuld Shpludson <shp@cock.li>2020-07-14 13:13:23 +0000
committerShpuld Shpludson <shp@cock.li>2020-07-14 13:13:23 +0000
commit297a0c1f7f1a620633b79a40e5545f786a7964f5 (patch)
treef3c4fc5e832e49e846fa5ab211937f66c69eb047 /src/services/theme_data/theme_data.service.js
parent6fe075103712ea7b335d2a7b9d02da1316d4a4fd (diff)
parent5af094949147a93a9812ded6d5000dcc5b602181 (diff)
Merge branch 'fix-chrome69' into 'develop'
Fix chrome 69 + some theme data related to chats Closes #890 See merge request pleroma/pleroma-fe!1183
Diffstat (limited to 'src/services/theme_data/theme_data.service.js')
-rw-r--r--src/services/theme_data/theme_data.service.js9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/services/theme_data/theme_data.service.js b/src/services/theme_data/theme_data.service.js
index dd87e3cf..b619f810 100644
--- a/src/services/theme_data/theme_data.service.js
+++ b/src/services/theme_data/theme_data.service.js
@@ -128,14 +128,17 @@ export const topoSort = (
while (unprocessed.length > 0) {
step(unprocessed.pop())
}
- return output.sort((a, b) => {
+
+ // The index thing is to make sorting stable on browsers
+ // where Array.sort() isn't stable
+ return output.map((data, index) => ({ data, index })).sort(({ data: a, index: ai }, { data: b, index: bi }) => {
const depsA = getDeps(a, inheritance).length
const depsB = getDeps(b, inheritance).length
- if (depsA === depsB || (depsB !== 0 && depsA !== 0)) return 0
+ if (depsA === depsB || (depsB !== 0 && depsA !== 0)) return ai - bi
if (depsA === 0 && depsB !== 0) return -1
if (depsB === 0 && depsA !== 0) return 1
- })
+ }).map(({ data }) => data)
}
const expandSlotValue = (value) => {