« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/things/Track.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/data/things/Track.js')
-rw-r--r--src/data/things/Track.js20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/data/things/Track.js b/src/data/things/Track.js
index 9e35368b..f8eac729 100644
--- a/src/data/things/Track.js
+++ b/src/data/things/Track.js
@@ -16,6 +16,7 @@ import {
   isContentString,
   isContributionList,
   isDate,
+  isExcludingURLsReason,
   isFileExtension,
   validateReference,
 } from '#validators';
@@ -381,19 +382,14 @@ export class Track extends Thing {
       },
     ],
 
-    excludingURLs: {
-      flags: {update: true, expose: true},
+    excludingURLs: [
+      exposeUpdateValueOrContinue({
+        validate: input.value(isExcludingURLsReason),
+      }),
 
-      update: {
-        validate:
-          is(...[
-            'quietly',
-            'generic',
-            'not clearly public',
-            'paid bonus track',
-          ]),
-      },
-    },
+      withPropertyFromObject('trackSection', V('excludingTrackURLs')),
+      exposeDependency('#trackSection.excludingTrackURLs'),
+    ],
 
     urls: [
       {