|
| 1 | +--- |
| 2 | +"@object-ui/app-shell": minor |
| 3 | +"@object-ui/plugin-list": minor |
| 4 | +"@object-ui/plugin-grid": minor |
| 5 | +"@object-ui/data-objectstack": minor |
| 6 | +--- |
| 7 | + |
| 8 | +feat: ADR-0047 — interface pages, visualization switcher, and Airtable-parity filters |
| 9 | + |
| 10 | +End-user interface/list pages reach full rendering and authoring parity: |
| 11 | + |
| 12 | +- **Spec tabs + visualization switcher** — `ObjectView` now forwards |
| 13 | + `viewDef.tabs` (stored/served but never rendered) and `viewDef.appearance` |
| 14 | + (`allowedVisualizations` whitelist), turning on the dormant `ViewSwitcher` when |
| 15 | + more than one type is whitelisted; effective options = author whitelist ∩ |
| 16 | + capability-resolvable types (kanban needs `groupBy`, calendar a date field, …). |
| 17 | + `ListView` accepts the canonical `ViewFilterRule[]` tab-filter shape. |
| 18 | +- **User filters** — render only when `userFilters` is explicitly configured; |
| 19 | + selections (dropdown values + active tab) mirror into `uf_*` URL params and |
| 20 | + restore on load, so filtered lists survive reload and are shareable. |
| 21 | +- **Toolbar polish** — the visualization switcher becomes a compact right-side |
| 22 | + "Grid ▾" dropdown inside the tool cluster (no extra row); filter tabs and |
| 23 | + dropdown filters are mutually exclusive. |
| 24 | +- **Studio authoring** — a usable, schema-driven interface-page inspector |
| 25 | + (collapsible sections honoured, array-of-enum → multi-select, a None/Tabs/ |
| 26 | + Dropdown `filter-mode` selector where None maps to ABSENCE of `userFilters`), |
| 27 | + and the Design/Preview tabs render the live list via `InterfaceListPage` |
| 28 | + (including a non-empty grid when the source view is hollow). |
0 commit comments