« get me outta code hell

data: Artwork.dimensions - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/things/artwork.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-04-10 13:53:22 -0300
committer(quasar) nebula <qznebula@protonmail.com>2025-04-10 16:02:43 -0300
commitadfdef1310578fb990a302b8004590c3fcec1d53 (patch)
tree5bdaf93c39487fbccd4e5591c0a4e8e828df91fd /src/data/things/artwork.js
parent37d8572baa3e77e28a0f4df320fcbfa44b751cb8 (diff)
data: Artwork.dimensions
Diffstat (limited to 'src/data/things/artwork.js')
-rw-r--r--src/data/things/artwork.js24
1 files changed, 24 insertions, 0 deletions
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(),