diff options
Diffstat (limited to 'src/data/composite/things/artwork/withContribsFromMainArtwork.js')
-rw-r--r-- | src/data/composite/things/artwork/withContribsFromMainArtwork.js | 29 |
1 files changed, 29 insertions, 0 deletions
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', + }), + ], +}); |