-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Pattern Overrides] Use a single checkbox to turn on pattern overrides for all allowed attributes #57009
Conversation
Size Change: -626 B (0%) Total Size: 1.71 MB
ℹ️ View Unchanged
|
Flaky tests detected in f6b59db. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/7258753482
|
<CheckboxControl | ||
__nextHasNoMarginBottom | ||
label={ __( 'Allow instance overrides' ) } | ||
checked={ Object.keys( syncedAttributes ).some( | ||
( attributeName ) => | ||
attributes.connections?.attributes?.[ | ||
attributeName | ||
]?.source === 'pattern_attributes' | ||
) } | ||
onChange={ ( isChecked ) => { | ||
updateConnections( isChecked ); | ||
} } | ||
/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think would also be good to disable the checkbox when the block's only connectable attributes are connected to something else (e.g. a custom field).
At the moment, if you try checking it nothing happens.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if we should just completely avoid rendering it if that happens. Disabling it might confuse the users too as we don't show any other helper text. Completely hiding it has the same issue but I think it's easier 😅. Given that both features (meta binding and pattern overrides) are not stable yet, I think it's best to keep it simple here for now. WDYT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I wasn't sure, but I'm good with either 👍
I'll make sure to add it to the tracking issue as something to reconsider.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
What?
As opposed to the current behavior of turning on syncing each attribute for a given block, use a single checkbox to turn on pattern overrides for all allowed attributes (a hardcoded allowed list).
Why?
While per attribute override and locking is a compelling feature, it also surfaces the concept of
attributes
to the end users, which should remain an implementation detail. Until we can decide how the user flow would be for individual attribute override, maintaining an allowed list for the supported attributes and turn them all on at once seems like a better option at this stage.How?
Some tiny refactoring in the pattern syncing controls.
The wording can be changed though!
Testing Instructions
Screenshots or screencast