« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/data/things.js17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/data/things.js b/src/data/things.js
index 85358305..0695b0d3 100644
--- a/src/data/things.js
+++ b/src/data/things.js
@@ -201,6 +201,12 @@ Thing.common = {
         update: {validate: isContributionList}
     }),
 
+    // Artist commentary! Generally present on tracks and albums.
+    commentary: () => ({
+        flags: {update: true, expose: true},
+        update: {validate: isCommentary}
+    }),
+
     // A reference list! Keep in mind this is for general references to wiki
     // objects of (usually) other Thing subclasses, not specifically leitmotif
     // references in tracks (although that property uses referenceList too!).
@@ -490,10 +496,7 @@ Album.propertyDescriptors = {
     isMajorRelease: Thing.common.flag(false),
     isListedOnHomepage: Thing.common.flag(true),
 
-    commentary: {
-        flags: {update: true, expose: true},
-        update: {validate: isCommentary}
-    },
+    commentary: Thing.common.commentary(),
 
     // Update only
 
@@ -707,11 +710,7 @@ Track.propertyDescriptors = {
 
     dataSourceAlbumByRef: Thing.common.singleReference(Album),
 
-    commentary: {
-        flags: {update: true, expose: true},
-        update: {validate: isCommentary}
-    },
-
+    commentary: Thing.common.commentary(),
     lyrics: Thing.common.simpleString(),
 
     // Update only