« 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/additional-file.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/data/things/additional-file.js')
-rw-r--r--src/data/things/additional-file.js13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/data/things/additional-file.js b/src/data/things/additional-file.js
index c5e7bdcd..2ddc688a 100644
--- a/src/data/things/additional-file.js
+++ b/src/data/things/additional-file.js
@@ -2,7 +2,7 @@ import {input} from '#composite';
 import Thing from '#thing';
 import {isString, validateArrayItems} from '#validators';
 
-import {contentString, simpleString} from '#composite/wiki-properties';
+import {contentString, simpleString, thing} from '#composite/wiki-properties';
 
 import {exposeConstant, exposeUpdateValueOrContinue}
   from '#composite/control-flow';
@@ -11,6 +11,8 @@ export class AdditionalFile extends Thing {
   static [Thing.getPropertyDescriptors] = ({}) => ({
     // Update & expose
 
+    thing: thing(),
+
     title: simpleString(),
 
     description: contentString(),
@@ -33,4 +35,13 @@ export class AdditionalFile extends Thing {
       'Files': {property: 'filenames'},
     },
   };
+
+  get paths() {
+    if (!this.thing) return null;
+    if (!this.thing.getOwnAdditionalFilePath) return null;
+
+    return (
+      this.filenames.map(filename =>
+        this.thing.getOwnAdditionalFilePath(this, filename)));
+  }
 }