diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-04-23 16:17:38 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-04-23 16:17:38 -0300 |
commit | a93dc8c179ce5e0bf7e5b03a4e7946c38c6a213a (patch) | |
tree | d0a4af29e3f4bd6582e22380ca5668087b8467dd /src/data/things | |
parent | 172499cc1f64c1e16b33d69fdbb8c0679a4e2369 (diff) |
data: Artwork.{attachedArtwork,attachingArtworks}
Diffstat (limited to 'src/data/things')
-rw-r--r-- | src/data/things/artwork.js | 25 |
1 files changed, 25 insertions, 0 deletions
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', |