« 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
diff options
context:
space:
mode:
Diffstat (limited to 'src/data/things')
-rw-r--r--src/data/things/album.js33
-rw-r--r--src/data/things/track.js3
2 files changed, 36 insertions, 0 deletions
diff --git a/src/data/things/album.js b/src/data/things/album.js
index 0f018e44..58d5253c 100644
--- a/src/data/things/album.js
+++ b/src/data/things/album.js
@@ -1049,6 +1049,36 @@ export class TrackSection extends Thing {
 
     unqualifiedDirectory: directory(),
 
+    directorySuffix: [
+      exposeUpdateValueOrContinue({
+        validate: input.value(isDirectory),
+      }),
+
+      withAlbum(),
+
+      withPropertyFromObject({
+        object: '#album',
+        property: input.value('directorySuffix'),
+      }),
+
+      exposeDependency({dependency: '#album.directorySuffix'}),
+    ],
+
+    suffixTrackDirectories: [
+      exposeUpdateValueOrContinue({
+        validate: input.value(isBoolean),
+      }),
+
+      withAlbum(),
+
+      withPropertyFromObject({
+        object: '#album',
+        property: input.value('suffixTrackDirectories'),
+      }),
+
+      exposeDependency({dependency: '#album.suffixTrackDirectories'}),
+    ],
+
     color: [
       exposeUpdateValueOrContinue({
         validate: input.value(isColor),
@@ -1175,6 +1205,9 @@ export class TrackSection extends Thing {
   static [Thing.yamlDocumentSpec] = {
     fields: {
       'Section': {property: 'name'},
+      'Directory Suffix': {property: 'directorySuffix'},
+      'Suffix Track Directories': {property: 'suffixTrackDirectories'},
+
       'Color': {property: 'color'},
       'Start Counting From': {property: 'startCountingFrom'},
 
diff --git a/src/data/things/track.js b/src/data/things/track.js
index 1871e86b..93193b6a 100644
--- a/src/data/things/track.js
+++ b/src/data/things/track.js
@@ -50,6 +50,7 @@ import {
 import {
   commentatorArtists,
   constitutibleArtworkList,
+  contentString,
   contributionList,
   dimensions,
   directory,
@@ -113,6 +114,7 @@ export class Track extends Thing {
     // > Update & expose - Identifying metadata
 
     name: name('Unnamed Track'),
+    nameText: contentString(),
 
     directory: [
       withDirectorySuffix(),
@@ -579,6 +581,7 @@ export class Track extends Thing {
       // Identifying metadata
 
       'Track': {property: 'name'},
+      'Track Text': {property: 'nameText'},
       'Directory': {property: 'directory'},
       'Suffix Directory': {property: 'suffixDirectoryFromAlbum'},
       'Always Reference By Directory': {property: 'alwaysReferenceByDirectory'},