-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
feat: Improve usability and layout of canvas and elements #3148
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
Conversation
|
🚀 Thanks for opening this pull request! |
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
📝 WalkthroughWalkthroughAdds a selection wrapper class and restricts resize handles on canvas elements; refactors element styling and refresh-button hover behavior; changes canvas background color; and introduces Cmd/Ctrl+E and Cmd/Ctrl+R global shortcuts for editing and reloading dashboard elements. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Browser
participant CustomDashboard
participant CanvasElement
participant DataLoader
User->>Browser: press Ctrl/Cmd+E or Ctrl/Cmd+R
Browser->>CustomDashboard: key event handler
alt Ctrl/Cmd+E (edit) AND selection exists AND focus not editable
CustomDashboard->>CanvasElement: request enter edit mode
CanvasElement->>CanvasElement: open inline editor
else Ctrl/Cmd+R (reload)
CustomDashboard->>CanvasElement: request reload for each element
CanvasElement->>DataLoader: fetch/reload element data
DataLoader-->>CanvasElement: return updated data
CanvasElement-->>CustomDashboard: update rendered content
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/dashboard/Data/CustomDashboard/elements/DataTableElement.scss (1)
34-50: Make the refresh button visible on keyboard focus (a11y).With
opacity: 0on Line 45 and only hover-driven reveal, keyboard users can land on an invisible control. Please reveal it on focus as well.✅ Suggested fix
.refreshButton { margin-left: auto; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; background: transparent; border: none; cursor: pointer; border-radius: 4px; opacity: 0; transition: background-color 0.15s ease, opacity 0.15s ease; - :global(.canvasElementWrapper):hover & { + :global(.canvasElementWrapper):hover &, + :global(.canvasElementWrapper):focus-within &, + &:focus-visible { opacity: 1; }
🤖 Fix all issues with AI agents
In `@src/dashboard/Data/CustomDashboard/CanvasElement.scss`:
- Around line 3-6: The rule .canvasElement currently sets user-select: none
which prevents selecting/copying any text inside the element; change the
stylesheet so that selection is only disabled for interactive handles and not
for content by removing or narrowing user-select: none on .canvasElement and
instead applying it to the handle selector(s) (e.g., .handle, .resize-handle) or
explicitly re-enabling selection inside the content region (e.g.,
.elementContent { user-select: text }) so text inside .elementContent remains
selectable while handles remain non-selectable.
# [8.3.0-alpha.29](8.3.0-alpha.28...8.3.0-alpha.29) (2026-01-24) ### Features * Improve usability and layout of canvas and elements ([#3148](#3148)) ([cd654dc](cd654dc))
|
🎉 This change has been released in version 8.3.0-alpha.29 |
Pull Request
Summary by CodeRabbit
New Features
Style
✏️ Tip: You can customize this high-level summary in your review settings.