« 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/homepage-layout.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/data/things/homepage-layout.js')
-rw-r--r--src/data/things/homepage-layout.js29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/data/things/homepage-layout.js b/src/data/things/homepage-layout.js
index dd6c1d9d..b4fb97db 100644
--- a/src/data/things/homepage-layout.js
+++ b/src/data/things/homepage-layout.js
@@ -45,7 +45,16 @@ export class HomepageLayout extends Thing {
         validate: validateArrayItems(validateInstanceOf(HomepageLayoutRow)),
       },
     },
-  })
+  });
+
+  static [Thing.yamlDocumentSpec] = {
+    propertyFieldMapping: {
+      sidebarContent: 'Sidebar Content',
+      navbarLinks: 'Navbar Links',
+    },
+
+    ignoredFields: ['Homepage'],
+  };
 }
 
 export class HomepageLayoutRow extends Thing {
@@ -82,6 +91,14 @@ export class HomepageLayoutRow extends Thing {
       class: input.value(Group),
     }),
   });
+
+  static [Thing.yamlDocumentSpec] = {
+    propertyFieldMapping: {
+      name: 'Row',
+      color: 'Color',
+      type: 'Type',
+    },
+  };
 }
 
 export class HomepageLayoutAlbumsRow extends HomepageLayoutRow {
@@ -162,4 +179,14 @@ export class HomepageLayoutAlbumsRow extends HomepageLayoutRow {
       update: {validate: validateArrayItems(isString)},
     },
   });
+
+  static [Thing.yamlDocumentSpec] = Thing.extendDocumentSpec(HomepageLayoutRow, {
+    propertyFieldMapping: {
+      displayStyle: 'Display Style',
+      sourceGroup: 'Group',
+      countAlbumsFromGroup: 'Count',
+      sourceAlbums: 'Albums',
+      actionLinks: 'Actions',
+    },
+  });
 }