Skip to content
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

Fix bugs around mass selection/single selection/drag and drop #11942

Open
wants to merge 9 commits into
base: develop
Choose a base branch
from

Conversation

MrFlashAccount
Copy link
Contributor

@MrFlashAccount MrFlashAccount commented Dec 25, 2024

Pull Request Description

Closes: https://github.com/enso-org/cloud-v2/issues/1633

This PR:

  1. Refactors the Selection Brush component - improve visuals, improved performance, added support for scrolling containers
  2. Now dragging can only be started over a selected row.
  3. If a row is not selected, Brush selection is applied
  4. This PR isolates the root view from Portals, this guaranties that portals will always be over the root view
  5. Adds new utilities and hooks.
  6. Fixes floating bug when selection doesn't happen on click
  7. Changes the behavior of unselection: from blacklist (everything except a few elements) to whitelist (if user clicks on Special component - unselect). Special component can be placed anywhere we want. clicks on other elements are ignored

Important Notes

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

  • The documentation has been updated, if necessary.
  • Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
  • All code follows the
    Scala,
    Java,
    TypeScript,
    and
    Rust
    style guides. In case you are using a language not listed above, follow the Rust style guide.
  • Unit tests have been written where possible.
  • If meaningful changes were made to logic or tests affecting Enso Cloud integration in the libraries,
    or the Snowflake database integration, a run of the Extra Tests has been scheduled.
    • If applicable, it is suggested to paste a link to a successful run of the Extra Tests.

…able

# Conflicts:
#	app/gui/src/dashboard/components/dashboard/AssetRow.tsx
@MrFlashAccount MrFlashAccount self-assigned this Dec 25, 2024
@MrFlashAccount MrFlashAccount added CI: No changelog needed Do not require a changelog entry for this PR. g-dashboard labels Dec 25, 2024
Copy link

github-actions bot commented Dec 25, 2024

🧪 Storybook is successfully deployed!

📊 Dashboard:

const preventSelection = useEventCallback((event: PointerEvent) => {
const { target } = event

if (target instanceof HTMLElement) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not ideal, but working solution to ignore selection start over selected rows

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI: No changelog needed Do not require a changelog entry for this PR. g-dashboard
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants