blob: 51e53d20c3841c6bc9df69f9b693a0a8a4505edf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
import {collectTreeLeaves} from '#wiki-data';
export default {
contentDependencies: ['generateArtTagAncestorSidebarBox'],
extraDependencies: ['wikiData'],
sprawl: ({artTagData}) =>
({artTagData}),
query(sprawl, artTag) {
const baobab = artTag.ancestorArtTagBaobabTree;
const uniqueLeaves = new Set(collectTreeLeaves(baobab));
// Just match the order in tag data.
const furthestAncestorArtTags =
sprawl.artTagData
.filter(artTag => uniqueLeaves.has(artTag));
return {furthestAncestorArtTags};
},
relations: (relation, query, sprawl, artTag) => ({
ancestorBoxes:
query.furthestAncestorArtTags
.map(ancestorArtTag =>
relation('generateArtTagAncestorSidebarBox', ancestorArtTag, artTag)),
}),
generate: (relations) =>
({leftSidebarMultiple: relations.ancestorBoxes}),
};
|