Skip to content

feat(spec): page form filter-mode widget + ADR-0047 §3.4a (omit-is-none)#1812

Merged
xuyushun441-sys merged 2 commits into
mainfrom
feat/page-form-filter-mode
Jun 13, 2026
Merged

feat(spec): page form filter-mode widget + ADR-0047 §3.4a (omit-is-none)#1812
xuyushun441-sys merged 2 commits into
mainfrom
feat/page-form-filter-mode

Conversation

@xuyushun441-sys

Copy link
Copy Markdown
Contributor

What

  • page.form.ts: the Interface section's interfaceConfig composite now lists its sub-fields explicitly, so userFilters can use the dedicated filter-mode selector widget (None / Tabs / Dropdown / Toggle) shipped in objectui#1694. Other sub-fields render as before.
  • ADR-0047 §3.4a records the design decision (raised in review): "no filter bar" is the ABSENCE of userFilters, not a literal element: 'none'. Rationale — declarative-metadata hygiene (off = key absent, consistent with every other optional capability), no orphaned sub-config, clean overlay diffs (deletion not mutation), and presence vs. style are orthogonal axes. The authoring UI provides the explicit None/Tabs/Dropdown/Toggle affordance; storage stays clean. A future "disable but remember config" need would use a separate enabled: false flag, never element: 'none'.

Verification

Spec rebuilt + browser-verified (via the showcase backend): the page editor's User Filters control renders the segmented selector, reflects the saved element, and None removes userFilters. Pairs with objectui#1694; independently mergeable (unknown widget name degrades to the prior composite rendering).

🤖 Generated with Claude Code

…047 §3.4a

page.form.ts: the Interface section's interfaceConfig composite now lists
its sub-fields explicitly so userFilters can use the dedicated
'filter-mode' selector widget (None / Tabs / Dropdown / Toggle, objectui).

ADR-0047 §3.4a records the design decision: 'no filter bar' is the
ABSENCE of userFilters, not a literal element: 'none'. Rationale —
declarative-metadata hygiene (off = key absent, like every other optional
capability), no orphaned sub-config, clean overlay diffs, presence and
style are orthogonal axes. The authoring UI provides the explicit
None/Tabs/Dropdown/Toggle affordance; storage stays clean.

Pairs with objectui#1694 (the filter-mode widget). An unknown widget name
degrades gracefully to the prior composite rendering, so this is
independently mergeable.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jun 13, 2026 9:37am

Request Review

Authoring offers None/Tabs/Dropdown only (Airtable parity). The element
enum keeps 'toggle' for back-compat (existing configs keep rendering),
documented deprecated in the schema + ADR §3.4a; page.form helpText and
the §3.4a rationale updated to drop Toggle from the offered modes.
@xuyushun441-sys
xuyushun441-sys merged commit 253b996 into main Jun 13, 2026
12 checks passed
@xuyushun441-sys
xuyushun441-sys deleted the feat/page-form-filter-mode branch June 13, 2026 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation protocol:ui size/s

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants