-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Editor: Reshape blocks state under own key #11315
Conversation
62ef5e3
to
effdcb0
Compare
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 did some smoke testing and I did not managed to catch any regression. The tests are passing. And I did some "grepping" and I did not managed to catch any change that was missing. So it LGTM 👍
It would be good if we merge as early as possible in a release so we maximize the time of this change on master (witgout being released) to increase the porbability of catching any bug.
effdcb0
to
fc7db52
Compare
fc7db52
to
28a7f07
Compare
Yes, that's the option I used, it makes the changes much easier to understand. |
…rnmobile/port-quote-block-step-1 * 'master' of https://github.com/WordPress/gutenberg: (22 commits) Add removed periods to block descriptions. (#11367) Remove findDOMNode usage from the inserter (#11363) Remove deprecated componentWillReceiveProps from TinyMCE component (#11368) Create file blocks when dropping multiple files at once (#11297) Try avoiding the deprecated findDOMNode API from DropZone Provider (#11168) Fix: make meta+A behaviour of selecting all blocks work on safari and firefox. (#8180) Remove _wpGutenbergCodeEditorSettings and wp.codeEditor assets (#11342) Remove the Cloudflare warning (#11350) Image Block: Use source_url for media file link (#11254) Enhance styling of nextpage block using the Hr element (#11354) Embed block refactor and tidy (#10958) Nonce Middleware: Wrap the nonce middleware function into it's own function that isn't regenerated on every API request. (#11347) Fix RTL block alignments (#11293) RichText: fix buggy enter/delete behaviour (#11287) Remove code coverage setup (#11198) Parser: Runs all parser implementations against the same tests (#11320) Stop trying to autosave when title and classic block content both are empty. (#10404) Fix "Mac OS" typo + use fancy quotes consistently (#11310) Update documentation link paths (#11324) Editor: Reshape blocks state under own key (#11315) ... # Conflicts: # gutenberg-mobile
Extracted from #10844
This pull request seeks to refactor blocks state to track blocks state as a single subtree within the
editor
reducer.Before:
editor
edits
blocksByClientId
blockOrder
After:
editor
edits
blocks
byClientId
order
The rationale for this change is in better representing treatment the two as a collective unit, facilitating work in #10844 to shift the
isDirty
tracking fromeditor
toblocks
, and enabling the simplification of e.g. memoized selector cache-busting, which can reference the singleeditor.blocks
(where previously it would enumerate bothblocksByClientId
andblockOrder
).Testing instructions:
This is a refactoring change. There should be no notable impact on behavior.