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

Design - Reconcile behaviour when dragging out of the workspace #28

Open
rachel-fenichel opened this issue Feb 1, 2016 · 6 comments
Open
Labels
Milestone

Comments

@rachel-fenichel
Copy link
Collaborator

Blockly currently:

  • Deletes the block if it's dragged out of the side with the toolbox, no matter how far past the toolbox the drag ends.
  • Otherwise drops the block at the point in the workspace nearest the pointer's final position, no matter where the pointer exited the workspace.

Scratch currently:

  • Deletes the block if it's dragged into the "flyout" section of the toolbox.
  • Adds the blocks to the other sprite and returns them to their original position, if the drag ends on top of a sprite.
  • Otherwise returns them to their original position, including if they were dropped on the category section of the toolbox.
@rachel-fenichel
Copy link
Collaborator Author

Scratch also deletes the block if it was dragged directly from the toolbox to somewhere outside of the workspace.

@thisandagain
Copy link
Contributor

/cc @carljbowman Something to consider when doing the spec for the toolbox.

@rachel-fenichel
Copy link
Collaborator Author

/cc @NeilFraser

@NeilFraser
Copy link
Collaborator

I vote for deleting the block when dropped on the categories. Can't imagine that different drop behaviours on categories vs flyout was an intentional design decision.

A larger issue is Scratch's ability to drag blocks to other sprites. SVG can't do that if the SVG rectangle is the workspace (as is normally the case with Blockly). There are two options I see. One is to copy in-flight blocks out of Blockly and onto some new floating layer. The other is to expand the SVG so that it encompases all of Scratch. The latter seems to be a more solid solution with less chance for misalignments. That's also closer to what Scratch currently uses, where all of Scratch is one Flash element, not a fragile collection of stuff.

@rachel-fenichel
Copy link
Collaborator Author

In Blockly right now you can actually drag the workspace around and have blocks end up on top of the flyout but not deleted, thanks to the svg. This is pretty rare because usually when the flyout is permanently open, you can't drag the workspace, but that constraint won't apply for scratch.

@thisandagain thisandagain modified the milestone: March 31 Feb 29, 2016
@thisandagain thisandagain modified the milestones: April 1, March 24, April 28 Mar 18, 2016
@kaschm kaschm modified the milestones: May 19, April 21 Apr 4, 2016
@kaschm kaschm modified the milestones: Backlog, May 19 Apr 26, 2016
@thisandagain
Copy link
Contributor

Part of spec in #21

picklesrus pushed a commit to picklesrus/scratch-blocks that referenced this issue Aug 4, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants