Skip to content

Repeaters

A Repeater repeats the blocks inside it once per item of a list. Nest any blocks, rows and cards; nest repeaters inside repeaters.

Setting one up

  1. Drag a Repeater onto the page.
  2. Pick the list in For each item in (e.g. portfolio.holdings).
  3. Choose an item name (default item, e.g. holding).
  4. Drop blocks inside and bind them with the item name: {{ holding.name }}, holding.value | currency.

Inside the repeater the data picker shows the item's fields under Current item, plus index, first, last and count.

Options

OptionEffect
Keep each item on one pageItems never split across pages (unless taller than a page). On by default.
Divider between itemsThin rule between iterations.
Gap between itemsOverrides the document block gap.
Maximum itemsCaps the iterations.
Message when emptyShown instead of nothing when the list is empty.

Across pages

Repeaters are the classic place where report tools fall apart. BroadPaper expands the repeater into real nodes before pagination, so the paginator sees each iteration as a keep-together group: an item that does not fit moves whole to the next page; an item taller than a page splits at a valid point inside it. Headings before a repeater stay with the first item.

Design mode

The canvas shows one representative iteration (the first sample item) with a badge such as Repeats for each of 7 · Portfolio › Holdings, so designers can see structure without a wall of repeated content. Preview mode shows every item.

Limits

A hard cap of 5,000 iterations per repeater protects the browser; the resolver emits a warning when it truncates. For very long lists prefer a table, which renders and paginates far more cheaply.