-
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
Writing Flow/Quote: allow splitting #17121
Conversation
if ( ! value || value === '<p></p>' ) { | ||
return { | ||
...attributes, | ||
citation: attributes.citation + citation, | ||
citation, | ||
}; | ||
} | ||
|
||
return { | ||
...attributes, | ||
value: attributes.value + value, |
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.
Should we append the first citation between the two values here?
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.
It feels a bit strange to me. :) If you split a quote into two quotes and merge them, you end up with a cite as quote content? In that case I would expect them to get merged in the original form. But maybe that's ok, then it requires a few more backspaces to restore. :)
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.
Yes, I'm not sure either, I guess I "just" wanted to avoid losing that text but it probably doesn't make a lot of sense.
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 agree with trying to avoid data loss. If the merge wasn't good, the user could always revert though. Something else we could do is ask the user which citation to use in case there are two. Kind of like a merge conflict in git. :) This pattern might also be useful to other blocks.
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.
There are some failing tests, but I like how this feels.
Seems to be intermittent. Restarted the tests. :) |
71f9787
to
edfeb43
Compare
Always running into this error. No idea what's going wrong.
|
Did a fresh |
Thanks! This has been a small annoyance for a bit. |
I think @pento mentioned issues with the last npm release. So it might be related. |
Only "Build artifacts" is failing because of some issues with npm. I manually verified that there are no build artefacts. |
Cool to see this enhancement merged :) I'd love to see it replicated in all "text" blocks. @ellatrix, do you plan to add it to more blocks? It looks like using this unstable API would allow us to have a couple of working examples before even start thinking about its final shape. |
Yes, I do, but other normal text field might require a little more work. E.g. #16990 has helped. The unstable API is only for multi line instances. The future of multi line is uncertain which is why it is unstable. |
* Writing Flow/Quote: allow splitting * Add extra merge e2e test
* Writing Flow/Quote: allow splitting * Add extra merge e2e test
* Writing Flow/Quote: allow splitting * Add extra merge e2e test
into rnmobile/add-autosave-to-mobile * 'rnmobile/master' of https://github.com/WordPress/gutenberg: (52 commits) [RNMobile] DarkMode improvements (#17309) Remove redundant bg color within button appender (#17325) Support group block on mobile (#17251) [RNMobile] Insure tapping at end of post inserts at end Recover border colors (#17269) [RNMobile] Fix dismiss keyboard button for the post title (#17260) Unify media placeholder and upload props within media-text (#17268) MediaUpload and MediaPlaceholder unify props (#17145) Add native support for the MediaText block (#16305) Activate Travis CI on rnmobile/master branch (#17229) [RNMobile] Native mobile release v1.11.0 (#17181) Apply box-sizing border-box properly to the notices components (#17066) Writing Flow: allow undo of patterns with BACKSPACE and ESC (#14776) Project automation: Rewrite actions using JavaScript (#17080) Build: remove global install of latest npm since we want to use the paired node/npm version (#17134) Writing Flow/Quote: allow splitting (#17121) Use `400` as a valid `font-weight` Add: Disabled block count in the block manager (#17103) Update video player style on mobile - Add a new gridicon play icon, from: https://github.com/Automattic/gridicons/blob/87c9fce08b4a9f184b9fb4963228757fdd4f4e74/svg-min/gridicons-play.svg - Replace the Dashicon play by this one - Update icon size and icon color - Update the overlay color [RNMobile] Hide replaceable block when adding block (#16931) ... # Conflicts: # packages/block-editor/src/components/block-list/index.native.js # packages/block-editor/src/components/inserter/index.native.js # packages/block-editor/src/components/inserter/menu.native.js # packages/block-editor/src/components/media-placeholder/index.native.js # packages/block-editor/src/components/warning/index.native.js # packages/block-library/src/code/edit.native.js # packages/block-library/src/image/edit.native.js # packages/block-library/src/missing/edit.native.js # packages/block-library/src/more/edit.native.js # packages/block-library/src/nextpage/edit.native.js # packages/block-library/src/video/edit.native.js # packages/components/src/mobile/bottom-sheet/cell.native.js # packages/components/src/mobile/bottom-sheet/index.native.js # packages/components/src/mobile/dark-mode/index.native.js # packages/components/src/mobile/html-text-input/index.native.js # packages/components/src/toolbar/toolbar-container.native.js # packages/edit-post/src/components/header/header-toolbar/index.native.js # packages/edit-post/src/components/layout/index.native.js # packages/edit-post/src/components/visual-editor/index.native.js # packages/rich-text/src/component/index.native.js
Description
Allows the quote block to be split when the caret is at an empty paragraph. This is similar to how list splitting works. The implementation is really simple.
How has this been tested?
I've added e2e tests.
Screenshots
Types of changes
Checklist: