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

Improve mouse and keyboard UX #9100

Merged
merged 28 commits into from
Feb 26, 2024
Merged

Improve mouse and keyboard UX #9100

merged 28 commits into from
Feb 26, 2024

Conversation

somebody1234
Copy link
Contributor

@somebody1234 somebody1234 commented Feb 19, 2024

Pull Request Description

  • Close https://github.com/enso-org/cloud-v2/issues/914
    • Add selection brush for selecting multiple assets using mouse
      • Port selection brush over from GUI2
      • Support Ctrl-select to select multiple ranges
    • Add various actions when exactly one asset is selected:
      • Enter for various assets to trigger their double-click actions
        • Projects are opened
        • Directories are toggled open/closed
        • Secrets show the "upsert secret modal"
      • ArrowLeft now collapses the selected folder
      • ArrowRight now expands the selected folder
      • ArrowUp and ArrowDown change the selected asset to the previous/next asset
        • The newly selected asset (technically: any asset that is the only selected asset, whether this is a result of a drag, mouse click, or keypress) is automatically smoothly scrolled to.
    • Improvements to the search bar
      • Escape cancels tabbing through suggestions (and discards the selected suggestion)
      • ArrowUp and ArrowDown behave like Shift+Tab and Tab to move to the previous/next suggestion respectively
    • Shift+ArrowUp and Shift+ArrowDown to select multiple assets using the keyboard
    • Ctrl+Space to toggle assets using the keyboard
    • Escape to deselect all assets
    • Add CSS-only focus ring to highlight most recently selected item, but only when navigating via keyboard
    • Enter and double-click to temporarily open the sidebar to edit a Data Link

Optional features that have not yet been implemented:

  • Move the "update secret" modal to the sidebar as well

Important Notes

None

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,
    and
    Rust
    style guides. In case you are using a language not listed above, follow the Rust style guide.
  • All code has been tested:
    • Unit tests have been written where possible.
    • If GUI codebase was changed, the GUI was tested when built using ./run ide build.

@somebody1234 somebody1234 added CI: No changelog needed Do not require a changelog entry for this PR. x-new-feature Type: new feature request g-dashboard labels Feb 19, 2024
@somebody1234 somebody1234 changed the title Improve mouse-only and keyboard-only UX Improve mouse and keyboard UX Feb 19, 2024
@PabloBuchu
Copy link
Contributor

| Ctrl+Space to toggle assets using the keyboard

this seems to have no effect on mac. cmd + space opens system spotlight search maybe this is why

@PabloBuchu PabloBuchu self-assigned this Feb 26, 2024
@somebody1234
Copy link
Contributor Author

makes sense. we should probably just copy macOS' equivalent shortcut to Ctrl+Space?

@PabloBuchu
Copy link
Contributor

Apart from above and merge conflitcs looks good. Lemme know if we want to fix this in separate PR or not

@somebody1234
Copy link
Contributor Author

yeah, probably doesn't make sense to block this PR

@somebody1234 somebody1234 added the CI: Ready to merge This PR is eligible for automatic merge label Feb 26, 2024
@mergify mergify bot merged commit a7251eb into develop Feb 26, 2024
26 of 27 checks passed
@mergify mergify bot deleted the wip/sb/drag-to-select branch February 26, 2024 16:49
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. CI: Ready to merge This PR is eligible for automatic merge g-dashboard x-new-feature Type: new feature request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants