summaryrefslogtreecommitdiff
path: root/blocks.js
diff options
context:
space:
mode:
authorjmoenig <jens@moenig.org>2013-08-02 08:33:07 +0200
committerjmoenig <jens@moenig.org>2013-08-02 08:33:07 +0200
commit98eb26f7c2a17cf44aeb5331667fe241d1e15e18 (patch)
tree0441b5f82e41c11c1aa0c23f9b268a6ae006072d /blocks.js
parent4e409623b339345d15b94bfb25b4754184302494 (diff)
downloadsnap-byow-98eb26f7c2a17cf44aeb5331667fe241d1e15e18.tar.gz
snap-byow-98eb26f7c2a17cf44aeb5331667fe241d1e15e18.zip
Undrop Reporters feature tweaks
Diffstat (limited to 'blocks.js')
-rw-r--r--blocks.js30
1 files changed, 15 insertions, 15 deletions
diff --git a/blocks.js b/blocks.js
index c2510ff..ebe85d8 100644
--- a/blocks.js
+++ b/blocks.js
@@ -155,7 +155,7 @@ DialogBoxMorph, BlockInputFragmentMorph, PrototypeHatBlockMorph*/
// Global stuff ////////////////////////////////////////////////////////
-modules.blocks = '2013-August-01';
+modules.blocks = '2013-August-02';
var SyntaxElementMorph;
var BlockMorph;
@@ -3157,10 +3157,7 @@ CommandBlockMorph.prototype.snap = function () {
offsetY,
affected;
- scripts.lastDroppedBlock = null;
- scripts.parent.lastReplacedInput = null;
- scripts.parent.lastDropTarget = null;
- scripts.lastPreservedBlocks = null;
+ scripts.clearDropHistory();
if (target === null) {
this.startLayout();
@@ -3180,7 +3177,7 @@ CommandBlockMorph.prototype.snap = function () {
if (this.isStop()) {
next = this.nextBlock();
if (next) {
- this.parentThatIsA(ScriptsMorph).add(next);
+ scripts.add(next);
next.moveBy(this.extent().floorDivideBy(2));
affected = this.parentThatIsA(CommandSlotMorph);
if (affected) {
@@ -3819,10 +3816,8 @@ ReporterBlockMorph.prototype.snap = function (hand) {
return null;
}
+ scripts.clearDropHistory();
scripts.lastDroppedBlock = this;
- scripts.parent.lastReplacedInput = null;
- scripts.parent.lastDropTarget = null;
- scripts.lastPreservedBlocks = null;
target = scripts.closestInput(this, hand);
if (target !== null) {
@@ -4882,6 +4877,15 @@ ScriptsMorph.prototype.undrop = function () {
}
}
this.lastDroppedBlock.pickUp(this.world());
+ this.clearDropHistory();
+};
+
+
+ScriptsMorph.prototype.clearDropHistory = function () {
+ this.lastDroppedBlock = null;
+ this.lastReplacedInput = null;
+ this.lastDropTarget = null;
+ this.lastPreservedBlocks = null;
};
// ScriptsMorph blocks layout fix
@@ -10151,12 +10155,8 @@ CommentMorph.prototype.snap = function (hand) {
return null;
}
- scripts.lastDroppedBlock = null;
- scripts.parent.lastReplacedInput = null;
- scripts.parent.lastDropTarget = null;
- scripts.lastPreservedBlocks = null;
-
- target = this.parent.closestBlock(this, hand);
+ scripts.clearDropHistory();
+ target = scripts.closestBlock(this, hand);
if (target !== null) {
target.comment = this;