From 8e5c0d5f858716ce6029e47afdde9ded79ed8e32 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Fri, 18 Oct 2024 08:54:50 -0300 Subject: data: series list showAlbumArtists --- src/data/composite/wiki-data/withResolvedSeriesList.js | 13 +++++++++++++ src/data/validators.js | 2 ++ src/data/yaml.js | 2 ++ 3 files changed, 17 insertions(+) (limited to 'src/data') diff --git a/src/data/composite/wiki-data/withResolvedSeriesList.js b/src/data/composite/wiki-data/withResolvedSeriesList.js index bd2b0ecf..4ac74cc3 100644 --- a/src/data/composite/wiki-data/withResolvedSeriesList.js +++ b/src/data/composite/wiki-data/withResolvedSeriesList.js @@ -46,6 +46,8 @@ export default templateCompositeFrom({ 'name', 'description', 'albums', + + 'showAlbumArtists', ]), }), @@ -76,23 +78,34 @@ export default templateCompositeFrom({ fill: input.value(null), }), + fillMissingListItems({ + list: '#serieses.showAlbumArtists', + fill: input.value(null), + }), + { dependencies: [ '#serieses.name', '#serieses.description', '#serieses.albums', + + '#serieses.showAlbumArtists', ], compute: (continuation, { ['#serieses.name']: name, ['#serieses.description']: description, ['#serieses.albums']: albums, + + ['#serieses.showAlbumArtists']: showAlbumArtists, }) => continuation({ ['#seriesProperties']: stitchArrays({ name, description, albums, + + showAlbumArtists, }).map(properties => ({ ...properties, group: input diff --git a/src/data/validators.js b/src/data/validators.js index dfb20ff0..39559cfa 100644 --- a/src/data/validators.js +++ b/src/data/validators.js @@ -717,6 +717,8 @@ export const isSeries = validateProperties({ name: isName, description: optional(isContentString), albums: optional(validateReferenceList('album')), + + showAlbumArtists: optional(isBoolean), }); export const isSeriesList = validateArrayItems(isSeries); diff --git a/src/data/yaml.js b/src/data/yaml.js index f5394752..3f79aa65 100644 --- a/src/data/yaml.js +++ b/src/data/yaml.js @@ -473,6 +473,8 @@ export function parseSerieses(entries) { name: item['Name'], description: item['Description'] ?? null, albums: item['Albums'] ?? null, + + showAlbumArtists: item['Show Album Artists'] ?? null, }; }); } -- cgit 1.3.0-6-gf8a5