scratchfoundation / scratchfoundation/scratch-blocks

Fix scrolling UI of category menu

Open
#1,457 1 comment 0 reactions 1 assignee View on GitHub

@ericrosenbaum is already working on this.

Since Apr 20, 2018.

design needs-discussion
Dominant language
JavaScript
Stars
2.8k
Forks
1.6k
Avg merge
4h 51m
Merged PRs (30d)
12

Description

To fix the category menu scrolling behavior, in addition to preventing the native scroll bar from appearing (https://github.com/LLK/scratch-blocks/issues/1456) and auto-scrolling it when the flyout position updates (https://github.com/LLK/scratch-blocks/issues/1116), we need to make sure that scrolling gestures across all the expected situations will work correctly: trackpad scrolling, mouse scroll wheel, single button mouse, touch (etc?).

Notes from a conversation with @carljbowman @rachel-fenichel @rschamp :

  • We should not implement our own custom scroll bars, or attempt to use the blockly workspace scrollbars.
  • We can use overflow: hidden to prevent native scrollbars from appearing, and then manually adjust the position of the category menu items by listening for scrolling gestures (trackpad, scroll wheel, touch drag, etc).
  • As a followup, when categories overflow at the top or bottom, we can add little buttons to indicate the overflow, which move the category menu by one category when clicked.
  • Generally, we will not attempt to make the category menu adjust its position automatically in response to the position of the flyout, to avoid the complexity of bi-directionally managing scroll position state.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.