You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EmDash 0.32 repeaters are much more usable than earlier releases: each row is a collapsible card, rows can be reordered, and a collapsed row shows the first string/text subfield as its summary.
Large repeaters still open every row initially and must be collapsed one at a time. A form with dozens of rows therefore remains a wall of inputs on every visit. The first-text-field summary heuristic is also not always the field an editor uses to identify a row.
A local 0.32.0 baseline against the real content editor confirmed:
existing rows initially render expanded;
each row can be manually collapsed;
the collapsed label is the first string/text subfield;
there is no Expand all or Collapse all action;
the dynamic field schema has no dedicated collapse/summary settings.
Proposed solution
Keep the current behavior as the backward-compatible default, then add:
Expand all / Collapse all actions on a populated repeater.
defaultCollapsed widget option for collections whose existing rows should open as summaries.
summaryField widget option naming the subfield used for the collapsed label, with the current first-string/text heuristic as fallback.
Newly added rows should open expanded even when existing rows default to collapsed, so the inputs needed to create the row are immediately available.
The existing FieldWidgetOptions record already persists arbitrary options, so these presentation settings can likely use field.options without a database migration:
The schema editor can expose these controls only when the field type is repeater.
Acceptance tests
collapse/expand all updates every existing row;
defaultCollapsed affects initial existing-row state but not a newly added row;
summaryField selects the requested string/text subfield;
a missing or incompatible summaryField safely falls back to the existing heuristic;
controls have accessible names, keyboard behavior, localized strings, and RTL-safe layout;
drag ordering, min/max controls, and row removal continue to work in expanded and collapsed states.
Motivation
This came from baseline testing a schema-backed operational form with roughly sixty repeated text inputs. Editors need to scan row identities and spot mistakes without opening every row, while the system continues to own the underlying structure.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Problem
EmDash 0.32 repeaters are much more usable than earlier releases: each row is a collapsible card, rows can be reordered, and a collapsed row shows the first string/text subfield as its summary.
Large repeaters still open every row initially and must be collapsed one at a time. A form with dozens of rows therefore remains a wall of inputs on every visit. The first-text-field summary heuristic is also not always the field an editor uses to identify a row.
A local 0.32.0 baseline against the real content editor confirmed:
Proposed solution
Keep the current behavior as the backward-compatible default, then add:
defaultCollapsedwidget option for collections whose existing rows should open as summaries.summaryFieldwidget option naming the subfield used for the collapsed label, with the current first-string/text heuristic as fallback.The existing
FieldWidgetOptionsrecord already persists arbitrary options, so these presentation settings can likely usefield.optionswithout a database migration:{ "options": { "defaultCollapsed": true, "summaryField": "path" } }The schema editor can expose these controls only when the field type is
repeater.Acceptance tests
defaultCollapsedaffects initial existing-row state but not a newly added row;summaryFieldselects the requested string/text subfield;summaryFieldsafely falls back to the existing heuristic;Motivation
This came from baseline testing a schema-backed operational form with roughly sixty repeated text inputs. Editors need to scan row identities and spot mistakes without opening every row, while the system continues to own the underlying structure.
All reactions