From 18c5684314c5a8a85965edacc6650c8c163ec662 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 12 Apr 2025 17:56:18 -0300 Subject: content, data: ArtTag.directlyFeaturedInArtworks, etc --- src/data/things/art-tag.js | 21 +++++---------------- src/data/things/artwork.js | 7 +++++++ 2 files changed, 12 insertions(+), 16 deletions(-) (limited to 'src/data/things') diff --git a/src/data/things/art-tag.js b/src/data/things/art-tag.js index 7944beb0..57e156ee 100644 --- a/src/data/things/art-tag.js +++ b/src/data/things/art-tag.js @@ -92,22 +92,11 @@ export class ArtTag extends Thing { }, ], - directlyTaggedInThings: { - flags: {expose: true}, - - expose: { - dependencies: ['this', 'reverse'], - compute: ({this: artTag, reverse}) => - sortAlbumsTracksChronologically( - [ - ...reverse.albumsWhoseArtworksFeature(artTag), - ...reverse.tracksWhoseArtworksFeature(artTag), - ], - {getDate: thing => thing.coverArtDate}), - }, - }, + directlyFeaturedInArtworks: reverseReferenceList({ + reverse: soupyReverse.input('artworksWhichFeature'), + }), - indirectlyTaggedInThings: [ + indirectlyFeaturedInArtworks: [ withAllDescendantArtTags(), { @@ -115,7 +104,7 @@ export class ArtTag extends Thing { compute: ({'#allDescendantArtTags': allDescendantArtTags}) => unique( allDescendantArtTags - .flatMap(artTag => artTag.directlyTaggedInThings)), + .flatMap(artTag => artTag.directlyFeaturedInArtworks)), }, ], diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js index 1c9872f7..d5164078 100644 --- a/src/data/things/artwork.js +++ b/src/data/things/artwork.js @@ -332,6 +332,13 @@ export class Artwork extends Thing { date: ({artwork}) => artwork.date, }, + + artworksWhichFeature: { + bindTo: 'artworkData', + + referencing: artwork => [artwork], + referenced: artwork => artwork.artTags, + }, }; get path() { -- cgit 1.3.0-6-gf8a5