diff options
Diffstat (limited to 'src/data')
-rw-r--r-- | src/data/things/homepage-layout.js | 45 |
1 files changed, 18 insertions, 27 deletions
diff --git a/src/data/things/homepage-layout.js b/src/data/things/homepage-layout.js index 97e481f8..3287d6f0 100644 --- a/src/data/things/homepage-layout.js +++ b/src/data/things/homepage-layout.js @@ -164,16 +164,6 @@ export class HomepageLayoutRow extends Thing { static [Thing.getPropertyDescriptors] = ({HomepageLayoutSection}) => ({ // Update & expose - type: { - flags: {update: true, expose: true}, - - update: { - validate() { - throw new Error(`'type' property validator must be overridden`); - }, - }, - }, - section: thing({ class: input.value(HomepageLayoutSection), }), @@ -181,11 +171,23 @@ export class HomepageLayoutRow extends Thing { // Update only find: soupyFind(), + + // Expose only + + type: { + flags: {expose: true}, + + expose: { + compute() { + throw new Error(`'type' property validator must be overridden`); + }, + }, + }, }); static [Thing.yamlDocumentSpec] = { fields: { - 'Row': {property: 'type'}, + 'Row': {ignore: true}, }, }; @@ -216,19 +218,6 @@ export class HomepageLayoutAlbumsRow extends HomepageLayoutRow { // Update & expose - type: { - flags: {update: true, expose: true}, - update: { - validate(value) { - if (value !== 'albums') { - throw new TypeError(`Expected 'albums'`); - } - - return true; - }, - }, - }, - displayStyle: { flags: {update: true, expose: true}, @@ -279,9 +268,11 @@ export class HomepageLayoutAlbumsRow extends HomepageLayoutRow { update: {validate: isCountingNumber}, }, - actionLinks: { - flags: {update: true, expose: true}, - update: {validate: validateArrayItems(isString)}, + // Expose only + + type: { + flags: {expose: true}, + expose: {compute: () => 'albums'}, }, }); |