feat: toolbar to headless api (state and execute)#2757
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
3687083 to
bad1282
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bad1282efc
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
packages/super-editor/src/editors/v1/components/toolbar/super-toolbar.js
Show resolved
Hide resolved
packages/super-editor/src/editors/v1/components/toolbar/super-toolbar.js
Show resolved
Hide resolved
bad1282 to
dfeadfc
Compare
|
@harbournick @caio-pizzol - please review this. |
dfeadfc to
82c59ac
Compare
82c59ac to
51dad56
Compare
caio-pizzol
left a comment
There was a problem hiding this comment.
@artem-harbour clean migration, the routing is much easier to follow now. left a few inline comments.
two things to fix: toggling formatting on empty selections loses the toggle when you click away (sticky marks), and image upload errors no longer reach onException. also flagged three lists in constants.js that could get out of sync — easy to derive them from the maps.
test-wise: no coverage for destroy/cleanup and no test for hiding tracked-change buttons based on role. not blocking, good follow-ups.
packages/super-editor/src/editors/v1/components/toolbar/super-toolbar.js
Show resolved
Hide resolved
packages/super-editor/src/editors/v1/components/toolbar/super-toolbar.js
Show resolved
Hide resolved
packages/super-editor/src/editors/v1/components/toolbar/constants.js
Outdated
Show resolved
Hide resolved
51dad56 to
b1cc8d2
Compare
b1cc8d2 to
600a652
Compare
|
@harbournick @caio-pizzol - please review and merge. |
…olbarState calls - #scheduleRestoreEditorFocus now clears the previous pending timeout before scheduling a new one, preventing leaked timers on rapid clicks of items with restoreEditorFocus (list, numberedlist). - Remove explicit toolbar.updateToolbarState() calls from #setModeEditing, #setModeSuggesting, and #setModeViewing. The headless toolbar already subscribes to document-mode-change and updates the snapshot automatically.
…ge cases
- Add tests for #applyHeadlessState adapter branches: textAlign, lineHeight,
zoom (number→percentage string), link (active + href), color, highlight,
fontSize mixed-state, and tableActions enable/disable aggregation.
- Add headless test for text-color "none" payload (converts to "inherit" for
the inline command and null for field annotations).
- Add headless tests for createZoomExecute string payloads ("150", "150%")
and rejection of invalid payloads (non-numeric, zero, negative).
…ge upload errors
The Editor's 'exception' event payload type is { error, editor }. Adding
'originalError' caused TS2353 in CI. Inline the original message into the
wrapped Error instead and keep the original error in the console.error log.
caio-pizzol
left a comment
There was a problem hiding this comment.
@artem-harbour everything from last round is fixed, nice work.
i pushed three small commits:
512a46e: clear pending focus timer on rapid clicks, drop redundantupdateToolbarState()calls in mode settersf9e22b8: tests for the headless adapter branches (textAlign, lineHeight, zoom, link, color, highlight, fontSize mixed, tableActions), plus zoom string handling and text-color"none"b5e1c41: fix the CI type error — Editor'sexceptionevent payload doesn't acceptoriginalError, so i merged the original message into the wrapped Error
lgtm now.
|
🎉 This PR is included in @superdoc-dev/react v1.2.0-next.14 The release is available on GitHub release |
|
🎉 This PR is included in vscode-ext v2.3.0-next.17 |
|
🎉 This PR is included in esign v2.3.0-next.17 The release is available on GitHub release |
|
🎉 This PR is included in template-builder v1.5.0-next.17 The release is available on GitHub release |
|
🎉 This PR is included in superdoc v1.26.0-next.17 The release is available on GitHub release |
|
🎉 This PR is included in superdoc-cli v0.7.0-next.18 The release is available on GitHub release |
|
🎉 This PR is included in superdoc-sdk v1.6.0-next.15 |
Linear: SD-2348.
Migrated toolbar to headless API (state and execute path).
Notes:
LinkInput.vue).getFontFamilyFallbackValue,isFontSizeMixedState) rather than headless api for now.