From b39f8dcaba0b2f0778a2cbb20505b59cb3d3c57e Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Tue, 22 Apr 2025 18:03:53 -0300 Subject: data: Artwork.{artTags,artistContribs}: inherit from attached --- .../things/artwork/withContribsFromMainArtwork.js | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/data/composite/things/artwork/withContribsFromMainArtwork.js (limited to 'src/data/composite/things/artwork/withContribsFromMainArtwork.js') diff --git a/src/data/composite/things/artwork/withContribsFromMainArtwork.js b/src/data/composite/things/artwork/withContribsFromMainArtwork.js new file mode 100644 index 00000000..25616ad6 --- /dev/null +++ b/src/data/composite/things/artwork/withContribsFromMainArtwork.js @@ -0,0 +1,29 @@ +import {input, templateCompositeFrom} from '#composite'; + +import {raiseOutputWithoutDependency} from '#composite/control-flow'; +import {withPropertyFromObject} from '#composite/data'; +import {withRecontextualizedContributionList} from '#composite/wiki-data'; + +import withPropertyFromMainArtwork from './withPropertyFromMainArtwork.js'; + +export default templateCompositeFrom({ + annotaion: `withContribsFromMainArtwork`, + + outputs: ['#mainArtwork.artistContribs'], + + steps: () => [ + withPropertyFromMainArtwork({ + property: input.value('artistContribs'), + onlyIfAttached: input.value(true), + }), + + raiseOutputWithoutDependency({ + dependency: '#mainArtwork.artistContribs', + output: input.value({'#mainArtwork.artistContribs': null}), + }), + + withRecontextualizedContributionList({ + list: '#mainArtwork.artistContribs', + }), + ], +}); -- cgit 1.3.0-6-gf8a5