From 3ec014c234ae8979a32989d9acbc0ac360914abb Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 26 Nov 2025 20:22:33 -0400 Subject: data: Artwork: chop withAttachedArtwork & friends --- src/data/things/artwork.js | 50 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 11 deletions(-) (limited to 'src/data/things/artwork.js') diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js index d8f7458a..8958bf80 100644 --- a/src/data/things/artwork.js +++ b/src/data/things/artwork.js @@ -31,10 +31,12 @@ import { exposeDependency, exposeDependencyOrContinue, exposeUpdateValueOrContinue, + flipFilter, } from '#composite/control-flow'; import { withFilteredList, + withNearbyItemFromList, withPropertyFromList, withPropertyFromObject, } from '#composite/data'; @@ -58,13 +60,8 @@ import { wikiData, } from '#composite/wiki-properties'; -import { - withAttachedArtwork, - withContainingArtworkList, - withContribsFromAttachedArtwork, - withDate, - withPropertyFromAttachedArtwork, -} from '#composite/things/artwork'; +import {withContainingArtworkList, withDate} + from '#composite/things/artwork'; export class Artwork extends Thing { static [Thing.referenceType] = 'artwork'; @@ -190,7 +187,14 @@ export class Artwork extends Thing { mode: input.value('empty'), }), - withContribsFromAttachedArtwork(), + withPropertyFromObject({ + object: 'attachedArtwork', + property: input.value('artistContribs'), + }), + + withRecontextualizedContributionList({ + list: '#attachedArtwork.artistContribs', + }), exposeDependencyOrContinue({ dependency: '#attachedArtwork.artistContribs', @@ -235,7 +239,8 @@ export class Artwork extends Thing { mode: input.value('empty'), }), - withPropertyFromAttachedArtwork({ + withPropertyFromObject({ + object: 'attachedArtwork', property: input.value('artTags'), }), @@ -376,10 +381,33 @@ export class Artwork extends Thing { ], attachedArtwork: [ - withAttachedArtwork(), + exitWithoutDependency({ + dependency: 'attachAbove', + mode: input.value('falsy'), + }), + + withContainingArtworkList(), + + withPropertyFromList({ + list: '#containingArtworkList', + property: input.value('attachAbove'), + }), + + flipFilter({ + filter: '#containingArtworkList.attachAbove', + }).outputs({ + '#containingArtworkList.attachAbove': '#filterNotAttached', + }), + + withNearbyItemFromList({ + list: '#containingArtworkList', + item: input.myself(), + offset: input.value(-1), + filter: '#filterNotAttached', + }), exposeDependency({ - dependency: '#attachedArtwork', + dependency: '#nearbyItem', }), ], -- cgit 1.3.0-6-gf8a5