diff options
Diffstat (limited to 'src/content/dependencies/generateTrackListDividedByGroups.js')
-rw-r--r-- | src/content/dependencies/generateTrackListDividedByGroups.js | 23 |
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), |