« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateTrackListDividedByGroups.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/dependencies/generateTrackListDividedByGroups.js')
-rw-r--r--src/content/dependencies/generateTrackListDividedByGroups.js23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/content/dependencies/generateTrackListDividedByGroups.js b/src/content/dependencies/generateTrackListDividedByGroups.js
index 3cba479e..9deccc0c 100644
--- a/src/content/dependencies/generateTrackListDividedByGroups.js
+++ b/src/content/dependencies/generateTrackListDividedByGroups.js
@@ -7,9 +7,16 @@ export default {
     'linkGroup',
   ],
 
-  extraDependencies: ['html', 'language'],
+  extraDependencies: ['html', 'language', 'wikiData'],
+
+  sprawl: ({wikiInfo}) => ({
+    divideTrackListsByGroups:
+      wikiInfo.divideTrackListsByGroups,
+  }),
+
+  query(sprawl, tracks, _contextTrack) {
+    const dividingGroups = sprawl.divideTrackListsByGroups;
 
-  query(tracks, dividingGroups) {
     const groupings = new Map();
     const ungroupedTracks = [];
 
@@ -43,10 +50,10 @@ export default {
     return {groups, groupedTracks, ungroupedTracks};
   },
 
-  relations: (relation, query, tracks, groups) => ({
+  relations: (relation, query, sprawl, tracks, contextTrack) => ({
     flatList:
-      (empty(groups)
-        ? relation('generateTrackList', tracks)
+      (empty(sprawl.divideTrackListsByGroups)
+        ? relation('generateTrackList', tracks, contextTrack)
         : null),
 
     contentHeading:
@@ -58,15 +65,15 @@ export default {
 
     groupedTrackLists:
       query.groupedTracks
-        .map(tracks => relation('generateTrackList', tracks)),
+        .map(tracks => relation('generateTrackList', tracks, contextTrack)),
 
     ungroupedTrackList:
       (empty(query.ungroupedTracks)
         ? null
-        : relation('generateTrackList', query.ungroupedTracks)),
+        : relation('generateTrackList', query.ungroupedTracks, contextTrack)),
   }),
 
-  data: (query) => ({
+  data: (query, _sprawl, _tracks) => ({
     groupNames:
       query.groups
         .map(group => group.name),