From 859d1777a4f6f6d583466aaf72357d4d611f3909 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 30 Oct 2024 15:41:50 -0300 Subject: data: "This Album Only" field for additional names --- .../things/track/sharedAdditionalNameList.js | 24 ++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'src/data/composite') diff --git a/src/data/composite/things/track/sharedAdditionalNameList.js b/src/data/composite/things/track/sharedAdditionalNameList.js index 1806ec80..28c04101 100644 --- a/src/data/composite/things/track/sharedAdditionalNameList.js +++ b/src/data/composite/things/track/sharedAdditionalNameList.js @@ -4,7 +4,12 @@ import {input, templateCompositeFrom} from '#composite'; import {exitWithoutDependency, exposeDependency} from '#composite/control-flow'; -import {withFlattenedList, withPropertyFromList} from '#composite/data'; + +import { + withFilteredList, + withFlattenedList, + withPropertyFromList, +} from '#composite/data'; import withOtherReleases from './withOtherReleases.js'; @@ -29,10 +34,25 @@ export default templateCompositeFrom({ withFlattenedList({ list: '#otherReleases.additionalNames', + }).outputs({ + ['#flattenedList']: '#otherReleaseEntries', + }), + + withPropertyFromList({ + list: '#otherReleaseEntries', + property: input.value('specificAlbumExclusive'), + }), + + // Filter out entries that have been marked as exclusive to the containing + // album. + withFilteredList({ + list: '#otherReleaseEntries', + filter: '#otherReleaseEntries.specificAlbumExclusive', + flip: input.value(true), }), exposeDependency({ - dependency: '#flattenedList', + dependency: '#filteredList', }), ], }); -- cgit 1.3.0-6-gf8a5