diff options
Diffstat (limited to 'src/content/dependencies/generateAlbumTrackList.js')
-rw-r--r-- | src/content/dependencies/generateAlbumTrackList.js | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/content/dependencies/generateAlbumTrackList.js b/src/content/dependencies/generateAlbumTrackList.js index 089f6e30..ee06b9e6 100644 --- a/src/content/dependencies/generateAlbumTrackList.js +++ b/src/content/dependencies/generateAlbumTrackList.js @@ -108,9 +108,25 @@ export default { return data; }, - generate(data, relations, {html, language}) { + slots: { + collapseDurationScope: { + validate: v => + v.is('never', 'track', 'section', 'album'), + + default: 'album', + }, + }, + + generate(data, relations, slots, {html, language}) { const listTag = (data.hasTrackNumbers ? 'ol' : 'ul'); + const slotItems = items => + items.map(item => + item.slots({ + collapseDurationScope: + slots.collapseDurationScope, + })); + switch (data.displayMode) { case 'trackSections': return html.tag('dl', {class: 'album-group-list'}, @@ -152,11 +168,11 @@ export default { data.hasTrackNumbers && {start: startIndex + 1}, - items)), + slotItems(items))), ])); case 'tracks': - return html.tag(listTag, relations.items); + return html.tag(listTag, slotItems(relations.items)); default: return html.blank(); |