(POC) Block Bindings: introduce a second state to store incoming changes#59562
Closed
retrofox wants to merge 4 commits into
Closed
(POC) Block Bindings: introduce a second state to store incoming changes#59562retrofox wants to merge 4 commits into
retrofox wants to merge 4 commits into
Conversation
|
Size Change: +146 B (0%) Total Size: 1.71 MB
ℹ️ View Unchanged
|
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?
This PR allows editing the prop value of the external source
Why?
How?
This implementation lies in separating data handling depending on the propagation direction. This means that the values of the bound attributes are stored in a separate store (trunk), but the new attribute values that will be used to update the external source are stored in another one (added on this PR)
For this, it defines the setAttribute callback of the Edit component to choose when it needs updating the block attribute and when updating the local store for the incoming changes (from the block attribute to the external source)
These values are passed to the child components, which detect the changes to update the external source.
Testing Instructions
Similar to #59537
Testing Instructions for Keyboard
Screenshots or screencast