diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2024-01-20 16:13:36 -0400 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2024-01-30 07:59:34 -0400 |
commit | 296a4961a951e44ea53509391ad225d1491197f9 (patch) | |
tree | 4bdedf0f85b7af8d3039bb46ccfd2f1f600db5ce /src/data/things/homepage-layout.js | |
parent | ac277f23abe0d8432a94f72913f4421b0eebaa62 (diff) |
yaml, data: store document specs statically on Thing subclasses
Diffstat (limited to 'src/data/things/homepage-layout.js')
-rw-r--r-- | src/data/things/homepage-layout.js | 29 |
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', + }, + }); } |