-
Notifications
You must be signed in to change notification settings - Fork 630
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
Shift-drag to select multiple blocks and allow moving multiple block group #267
Comments
Multiple selection becomes a crazy-complex feature when you start thinking about the details. When dragging two islands, how do connections work? When you right-click on a multiple selection, how do those options apply to all blocks? This feature has been on our future list for four years. It would take about two months to implement this properly and shake out all the bugs. I don't recommend touching this until we have lots of time on our hands and a nearly bug-free codebase. |
It's been a few years, but is it possible to follow up on this? Are there any current plans to implement this? I know this is a feature we've been hoping for. I don't think most people want this feature for the purposes of anything which would require much in the way of connections handling, but rather for the purposes of "move all of these blocks at once/delete all of these blocks at once/disable all of these blocks at once". I would thus propose the following behaviors for the initial implementation:
I think this all represents intuitive and desired behavior, and would be very useful. I know I was deleting a large number of blocks earlier as a part of debugging and was frustrated by having to select and delete each one in turn, particularly as these were all snapped in to a "build list" block and I was removing only some of the options, meaning there was no "shortcut" to delete them all by placing them inside a parent block and then deleting it. Are all of these features acceptable? While I'm not swimming in free time, I or someone else may be amenable to implementing this behavior, so long as the behavior can be agreed upon. |
Edit: I re-read amber-cd's suggestion and I agree more than before. I crossed out some suggestion. Hi! I like this! 😁 I agree with amber-cd in the general expected behaviour description. However, I want to discuss two differences:
Thanks to the team for leaving this one still open 😁 and thanks for the continuous great work. 👏 👏 👏 |
Issue still needs to be addressed as reported behavior is still observed. |
I just transferred this issue from Blockly to blockly-samples. This is a good candidate for a plugin, because it is behaviour that we think is interesting but not a good fit for core Blockly. This would be a workspace plugin, so its name would be It's now in the discussion phase and open for conversation. The first two points to discuss are:
|
How very exciting it is to see this one moving around. Thanks, Rachel! 🦾 I've updated a bit my previous comment. I still think amber-cd has some great ideas here. I imagined the behaviour with and without value inputs and statement inputs and I think what amber-cd says works as expected. |
Regarding @asanzo's points:
I agree that the touchscreen problem would need to be addressed... I'd say that could be addressed either by drawing a rectangle and automatically selecting all blocks within it or by adding some type of "selection mode" toggle button which would change selection behavior on touchscreens between single and multiple. |
Recent requests from App Inventor and Sandspiel Studio |
Hi everyone, glad to have a chance to implement this issue during my Google Summer of Code 2022 at MIT App Inventor. Now an initial demo for this has already been worked out by myself. You can find the PR at mit-cml/workspace-multiselect#1 . The user behavior of the plugin mainly follows @amber-cd 's idea , with modifications that are more practical to implement. You can check in detail at the PR description. It would be great if you could provide any suggestions of the user behavior/bugs you encounter or any other general feedback to help improve the plugin. Thanks in advance! |
Now the plugin has already been published to NPM. You can also find the demo and blog post here: https://groups.google.com/g/blockly/c/1qb-M8HZYzY |
Closing this out now that the plugin created by @HollowMan6 is available. |
Several times I've found myself wanting to move multiple block groups at once when organizing my workspace (perhaps to make room for a new block group). My instinctive action is to attempt to drag a rectangle around the blocks, but this just drags the workspace.
I suggest we allow user to hold shift to change the drag behavior into creating a rectangular selection marquee.
This might be the default behavior on non-scrollable workspaces.
The text was updated successfully, but these errors were encountered: