From adfdef1310578fb990a302b8004590c3fcec1d53 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Thu, 10 Apr 2025 13:53:22 -0300 Subject: data: Artwork.dimensions --- src/data/things/album.js | 3 +++ src/data/things/artwork.js | 24 ++++++++++++++++++++++++ src/data/things/track.js | 1 + 3 files changed, 28 insertions(+) (limited to 'src/data/things') diff --git a/src/data/things/album.js b/src/data/things/album.js index e0d9884f..7c85366a 100644 --- a/src/data/things/album.js +++ b/src/data/things/album.js @@ -500,6 +500,7 @@ export class Album extends Thing { property: 'coverArtworks', transform: parseArtwork({ + dimensionsFromThingProperty: 'coverArtDimensions', fileExtensionFromThingProperty: 'coverArtFileExtension', dateFromThingProperty: 'coverArtDate', artistContribsFromThingProperty: 'coverArtistContribs', @@ -512,6 +513,7 @@ export class Album extends Thing { transform: parseArtwork({ single: true, + dimensionsFromThingProperty: 'bannerDimensions', fileExtensionFromThingProperty: 'bannerFileExtension', dateFromThingProperty: 'date', artistContribsFromThingProperty: 'bannerArtistContribs', @@ -524,6 +526,7 @@ export class Album extends Thing { transform: parseArtwork({ single: true, + dimensionsFromThingProperty: null, fileExtensionFromThingProperty: 'wallpaperFileExtension', dateFromThingProperty: 'date', artistContribsFromThingProperty: 'wallpaperArtistContribs', diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js index fabbf625..93f238f2 100644 --- a/src/data/things/artwork.js +++ b/src/data/things/artwork.js @@ -9,6 +9,7 @@ import { isContentString, isContributionList, isDate, + isDimensions, isFileExtension, optional, validateArrayItems, @@ -112,6 +113,29 @@ export class Artwork extends Thing { }), ], + dimensionsFromThingProperty: simpleString(), + + dimensions: [ + exposeUpdateValueOrContinue({ + validate: input.value(isDimensions), + }), + + withPropertyFromObject({ + object: 'thing', + property: 'dimensionsFromThingProperty', + }).outputs({ + ['#value']: '#dimensionsFromThing', + }), + + exposeDependencyOrContinue({ + dependency: '#dimensionsFromThing', + }), + + exposeConstant({ + value: input.value(null), + }), + ], + artistContribsFromThingProperty: simpleString(), artistContribsArtistProperty: simpleString(), diff --git a/src/data/things/track.js b/src/data/things/track.js index c2ba503b..4f5d7a59 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -528,6 +528,7 @@ export class Track extends Thing { property: 'trackArtworks', transform: parseArtwork({ + dimensionsFromThingProperty: 'coverArtDimensions', fileExtensionFromThingProperty: 'coverArtFileExtension', dateFromThingProperty: 'coverArtDate', artistContribsFromThingProperty: 'coverArtistContribs', -- cgit 1.3.0-6-gf8a5