BlockRepeater
- Component - simple
- Component - advanced
- Schema
<BlockRepeaterfield="blocks"label="Block repeater"discriminationField="type"sortableBy="order"><Block discriminateBy="gallery" label="Gallery"><ImageFileRepeaterfield="images"urlField="image.url"label="Images"sortableBy="order"/></Block></BlockRepeater>
Component preview
<BlockRepeaterfield="blocks"label="Block repeater"discriminationField="type"sortableBy="order"><Block discriminateBy="gallery" label="Gallery"><ImageFileRepeaterfield="images"urlField="image.url"label="Images"sortableBy="order"/></Block><Block discriminateBy="quote" label="Quote"><TextAreaField field="content" label="Content" /><TextField field="author" label="Author" /></Block></BlockRepeater>
Component preview
export class BlockRepeater {
blocks = def.oneHasMany(RepeaterBlock, 'blockRepeater').orderBy('order')
}
export class RepeaterBlock {
order = def.intColumn().notNull()
type = def.enumColumn(ContentBlockType).notNull()
content = def.stringColumn()
author = def.stringColumn()
images = def.oneHasMany(RepeaterGallery, 'repeaterReference').orderBy('order')
blockRepeater = def.manyHasOne(BlockRepeater, 'blocks')
}
export class RepeaterGallery {
order = def.intColumn().notNull()
image = def.manyHasOne(Image).notNull()
repeaterReference = def.manyHasOne(RepeaterBlock, 'images').cascadeOnDelete()
}