-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Real-time collaboration: Add <EditorsPresence> and <BlockCanvasCover> slot fills #73712
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
base: trunk
Are you sure you want to change the base?
Real-time collaboration: Add <EditorsPresence> and <BlockCanvasCover> slot fills #73712
Conversation
…asCover> slot fills --------- Co-authored-by: Chris Zarate <[email protected]>
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
|
👋 Thanks for your first Pull Request and for helping build the future of Gutenberg and WordPress, @maxschmeling! In case you missed it, we'd love to have you join us in our Slack community. If you want to learn more about WordPress development in general, check out the Core Handbook full of helpful information. |
|
Should these start as private SlotFills? SlotFills are public by their nature, and anyone can render anything there. cc @WordPress/gutenberg-core |
| // @ts-ignore | ||
| BlockPreview, | ||
| // @ts-ignore | ||
| privateApis as blockEditorPrivateApis, |
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.
Leftover? 🤔
|
It feels like we should have some code using this before adding the slots (even if private). Mainly because this PR aims to add the slot in the editor's header, which is already crowded and it will definitely need design feedback. |
|
Why have slot/fills in the first place instead of just actually adding the needed components that we want to render directly in the editor package? |
What?
Provide slot fills for RTC presence and awareness UI. The
<BlockCanvasCover>SlotFill is used to render cursors above the block canvas. The<EditorsPresence>SlotFill is used to render the avatars list.Why?
Real-time collaboration code needs a way to render presence and awareness UI. These UI components are only necessary when RTC is enabled, and thus the slot fills provide a way to conditionally render them from the RTC code into the correct locations.
How?
Creates two new slot fill components:
<EditorsPresence>is rendered in the header and is intended for the avatars<BlockCanvasCover>is rendered over the entire block canvas and is intended for drawing live cursors and selectionsTesting Instructions
<EditorsPresence>and<BlockCanvasCover>components and pass children that you can very are inserted into the header and block canvas respectively.Testing Instructions for Keyboard
No interactive UI elements changed as part of this PR.