From a93dc8c179ce5e0bf7e5b03a4e7946c38c6a213a Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 23 Apr 2025 16:17:38 -0300 Subject: data: Artwork.{attachedArtwork,attachingArtworks} --- src/data/composite/things/artwork/index.js | 1 + src/data/things/artwork.js | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) (limited to 'src') diff --git a/src/data/composite/things/artwork/index.js b/src/data/composite/things/artwork/index.js index f26f7c69..3693c10f 100644 --- a/src/data/composite/things/artwork/index.js +++ b/src/data/composite/things/artwork/index.js @@ -1,3 +1,4 @@ +export {default as withAttachedArtwork} from './withAttachedArtwork.js'; export {default as withContainingArtworkList} from './withContainingArtworkList.js'; export {default as withContribsFromAttachedArtwork} from './withContribsFromAttachedArtwork.js'; export {default as withDate} from './withDate.js'; diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js index 1af22d83..3cdb07d0 100644 --- a/src/data/things/artwork.js +++ b/src/data/things/artwork.js @@ -54,6 +54,7 @@ import { } from '#composite/wiki-properties'; import { + withAttachedArtwork, withContainingArtworkList, withContribsFromAttachedArtwork, withPropertyFromAttachedArtwork, @@ -358,6 +359,18 @@ export class Artwork extends Thing { list[0], }, ], + + attachedArtwork: [ + withAttachedArtwork(), + + exposeDependency({ + dependency: '#attachedArtwork', + }), + ], + + attachingArtworks: reverseReferenceList({ + reverse: soupyReverse.input('artworksWhichAttach'), + }), }); static [Thing.yamlDocumentSpec] = { @@ -416,6 +429,18 @@ export class Artwork extends Thing { date: ({artwork}) => artwork.date, }, + artworksWhichAttach: { + bindTo: 'artworkData', + + referencing: referencingArtwork => + (referencingArtwork.attachAbove + ? [referencingArtwork] + : []), + + referenced: referencingArtwork => + [referencingArtwork.attachedArtwork], + }, + artworksWhichFeature: { bindTo: 'artworkData', -- cgit 1.3.0-6-gf8a5