tiptap
tiptap copied to clipboard
improve updateAttributes
Changes Overview
This is a second attempt (first was in #5154 ) to improve updateAttributes. The first version was broken because it didn't handled range selection properly.
Implementation Approach
The current updateAttributes updates all nodes of the passing typeOrName. It is problematic in some cases, for example imagine a FlexContainer extension which contains 1..n FlexItem (extension) children, and each FlexItem extension can also contain 1..n FlexContainer and so one. If we update, for example, some property (flex align, ...) of a FlexContainer, all FlexContainer parents are updated. This is because ProseMirror node.nodesBetween returns all nodes in the selection range, which includes nodes that cover it (don't know why...).
Checklist
- [ ] I have created a changeset for this PR if necessary.
- [ ] My changes do not break the library.
- [ ] I have added tests where applicable.
- [ ] I have followed the project guidelines.
- [x] I have fixed any lint issues.
Related Issues
#3545 #4466 #5154
🦋 Changeset detected
Latest commit: ed382b92b744e8accd9803bf1c839fadc50b73c0
The changes in this PR will be included in the next version bump.
This PR includes changesets to release 54 packages
| Name | Type |
|---|---|
| @tiptap/core | Patch |
| @tiptap/extension-blockquote | Patch |
| @tiptap/extension-bold | Patch |
| @tiptap/extension-bubble-menu | Patch |
| @tiptap/extension-bullet-list | Patch |
| @tiptap/extension-character-count | Patch |
| @tiptap/extension-code-block-lowlight | Patch |
| @tiptap/extension-code-block | Patch |
| @tiptap/extension-code | Patch |
| @tiptap/extension-collaboration-cursor | Patch |
| @tiptap/extension-collaboration | Patch |
| @tiptap/extension-color | Patch |
| @tiptap/extension-document | Patch |
| @tiptap/extension-dropcursor | Patch |
| @tiptap/extension-floating-menu | Patch |
| @tiptap/extension-focus | Patch |
| @tiptap/extension-font-family | Patch |
| @tiptap/extension-gapcursor | Patch |
| @tiptap/extension-hard-break | Patch |
| @tiptap/extension-heading | Patch |
| @tiptap/extension-highlight | Patch |
| @tiptap/extension-history | Patch |
| @tiptap/extension-horizontal-rule | Patch |
| @tiptap/extension-image | Patch |
| @tiptap/extension-italic | Patch |
| @tiptap/extension-link | Patch |
| @tiptap/extension-list-item | Patch |
| @tiptap/extension-list-keymap | Patch |
| @tiptap/extension-mention | Patch |
| @tiptap/extension-ordered-list | Patch |
| @tiptap/extension-paragraph | Patch |
| @tiptap/extension-placeholder | Patch |
| @tiptap/extension-strike | Patch |
| @tiptap/extension-subscript | Patch |
| @tiptap/extension-superscript | Patch |
| @tiptap/extension-table-cell | Patch |
| @tiptap/extension-table-header | Patch |
| @tiptap/extension-table-row | Patch |
| @tiptap/extension-table | Patch |
| @tiptap/extension-task-item | Patch |
| @tiptap/extension-task-list | Patch |
| @tiptap/extension-text-align | Patch |
| @tiptap/extension-text-style | Patch |
| @tiptap/extension-text | Patch |
| @tiptap/extension-typography | Patch |
| @tiptap/extension-underline | Patch |
| @tiptap/extension-youtube | Patch |
| @tiptap/html | Patch |
| @tiptap/pm | Patch |
| @tiptap/react | Patch |
| @tiptap/starter-kit | Patch |
| @tiptap/suggestion | Patch |
| @tiptap/vue-2 | Patch |
| @tiptap/vue-3 | Patch |
Not sure what this means? Click here to learn what changesets are.
Click here if you're a maintainer who wants to add another changeset to this PR
Deploy Preview for tiptap-embed ready!
| Name | Link |
|---|---|
| Latest commit | ed382b92b744e8accd9803bf1c839fadc50b73c0 |
| Latest deploy log | https://app.netlify.com/sites/tiptap-embed/deploys/67289c14f4b1c80008f301fb |
| Deploy Preview | https://deploy-preview-5738--tiptap-embed.netlify.app |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify site configuration.
there is a single test failing .. but I don't know why
Sorry @silenius if you update your branch now it should work. Our branch did not have passing tests
:heavy_check_mark: