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

vercelBot commented Jun 13, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
specReadyReadyPreview, CommentJun 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 mainJun 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 freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationprotocol:uisize/s

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@xuyushun441-sys@os-zhuang