feat(spec): page form filter-mode widget + ADR-0047 §3.4a (omit-is-none)#1812
Merged
Conversation
…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>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
page.form.ts: the Interface section'sinterfaceConfigcomposite now lists its sub-fields explicitly, souserFilterscan use the dedicatedfilter-modeselector widget (None / Tabs / Dropdown / Toggle) shipped in objectui#1694. Other sub-fields render as before.userFilters, not a literalelement: '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 separateenabled: falseflag, neverelement: '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