« 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/composite/things/track/withDate.js8
-rw-r--r--src/data/things/track.js9
2 files changed, 17 insertions, 0 deletions
diff --git a/src/data/composite/things/track/withDate.js b/src/data/composite/things/track/withDate.js
index b5a770e9..1851c0d2 100644
--- a/src/data/composite/things/track/withDate.js
+++ b/src/data/composite/things/track/withDate.js
@@ -12,6 +12,14 @@ export default templateCompositeFrom({
 
   steps: () => [
     {
+      dependencies: ['disableDate'],
+      compute: (continuation, {disableDate}) =>
+        (disableDate
+          ? continuation.raiseOutput({'#date': null})
+          : continuation()),
+    },
+
+    {
       dependencies: ['dateFirstReleased'],
       compute: (continuation, {dateFirstReleased}) =>
         (dateFirstReleased
diff --git a/src/data/things/track.js b/src/data/things/track.js
index 9b4a2f18..87eca2e9 100644
--- a/src/data/things/track.js
+++ b/src/data/things/track.js
@@ -243,6 +243,7 @@ export class Track extends Thing {
     ],
 
     disableUniqueCoverArt: flag(),
+    disableDate: flag(),
 
     // > Update & expose - General metadata
 
@@ -619,6 +620,14 @@ export class Track extends Thing {
             : value),
       },
 
+      'Has Date': {
+        property: 'disableDate',
+        transform: value =>
+          (typeof value === 'boolean'
+            ? !value
+            : value),
+      },
+
       // General metadata
 
       'Duration': {