Remove unused code in the bubble dragger.

This commit is contained in:
Rachel Fenichel
2018-02-06 18:07:21 -08:00
parent 68914be67d
commit 7acd4133aa
3 changed files with 80 additions and 195 deletions

View File

@@ -26,14 +26,12 @@
goog.provide('Blockly.BubbleDragger');
goog.require('Blockly.DraggedConnectionManager');
goog.require('goog.math.Coordinate');
goog.require('goog.asserts');
/**
* Class for a block dragger. It moves blocks around the workspace when they
* Class for a bubble dragger. It moves bubbles around the workspace when they
* are being dragged by a mouse or touch.
* @param {!Blockly.Bubble} bubble The bubble to drag.
* @param {!Blockly.WorkspaceSvg} workspace The workspace to drag on.
@@ -41,8 +39,8 @@ goog.require('goog.asserts');
*/
Blockly.BubbleDragger = function(bubble, workspace) {
/**
* The top block in the stack that is being dragged.
* @type {!Blockly.BlockSvg}
* The bubble that is being dragged.
* @type {!Blockly.Bubble}
* @private
*/
this.draggingBubble_ = bubble;
@@ -55,32 +53,7 @@ Blockly.BubbleDragger = function(bubble, workspace) {
this.workspace_ = workspace;
/**
* Object that keeps track of connections on dragged blocks.
* @type {!Blockly.DraggedConnectionManager}
* @private
*/
this.draggedConnectionManager_ = null;
// new Blockly.DraggedConnectionManager(
// this.draggingBubble_);
/**
* Which delete area the mouse pointer is over, if any.
* One of {@link Blockly.DELETE_AREA_TRASH},
* {@link Blockly.DELETE_AREA_TOOLBOX}, or {@link Blockly.DELETE_AREA_NONE}.
* @type {?number}
* @private
*/
this.deleteArea_ = null;
/**
* Whether the block would be deleted if dropped immediately.
* @type {boolean}
* @private
*/
this.wouldDeleteBlock_ = false;
/**
* The location of the top left corner of the dragging block at the beginning
* The location of the top left corner of the dragging bubble at the beginning
* of the drag in workspace coordinates.
* @type {!goog.math.Coordinate}
* @private
@@ -88,7 +61,9 @@ Blockly.BubbleDragger = function(bubble, workspace) {
this.startXY_ = this.draggingBubble_.getRelativeToSurfaceXY();
// TODO: validate, getters, etc.
this.dragSurface_ = workspace.blockDragSurface_;
this.dragSurface_ =
Blockly.utils.is3dSupported() && !!workspace.blockDragSurface_ ?
workspace.blockDragSurface_ : null;
};
/**
@@ -99,47 +74,19 @@ Blockly.BubbleDragger.prototype.dispose = function() {
this.draggingBubble_ = null;
this.workspace_ = null;
this.startWorkspace_ = null;
this.dragIconData_.length = 0;
if (this.draggedConnectionManager_) {
this.draggedConnectionManager_.dispose();
this.draggedConnectionManager_ = null;
}
};
/**
* Start dragging a block. This includes moving it to the drag surface.
* @param {!goog.math.Coordinate} currentDragDeltaXY How far the pointer has
* moved from the position at mouse down, in pixel units.
* @package
*/
Blockly.BubbleDragger.prototype.startBubbleDrag = function(currentDragDeltaXY) {
console.log('starting bubble drag');
Blockly.BubbleDragger.prototype.startBubbleDrag = function() {
if (!Blockly.Events.getGroup()) {
Blockly.Events.setGroup(true);
}
this.workspace_.setResizesEnabled(false);
// if (this.draggingBubble_.getParent()) {
// this.draggingBubble_.unplug();
// var delta = this.pixelsToWorkspaceUnits_(currentDragDeltaXY);
// var newLoc = goog.math.Coordinate.sum(this.startXY_, delta);
// this.draggingBubble_.translate(newLoc.x, newLoc.y);
// this.draggingBubble_.disconnectUiEffect();
// }
//this.draggingBubble_.setDragging(true);
// For future consideration: we may be able to put moveToDragSurface inside
// the block dragger, which would also let the block not track the block drag
// surface.
this.draggingBubble_.moveToDragSurface(this.dragSurface_);
if (this.workspace_.toolbox_) {
var style = this.draggingBubble_.isDeletable() ? 'blocklyToolboxDelete' :
'blocklyToolboxGrab';
this.workspace_.toolbox_.addStyle(style);
}
};
/**
@@ -155,12 +102,8 @@ Blockly.BubbleDragger.prototype.dragBubble = function(e, currentDragDeltaXY) {
var newLoc = goog.math.Coordinate.sum(this.startXY_, delta);
this.draggingBubble_.moveDuringDrag(this.dragSurface_, newLoc);
//this.dragIcons_(delta);
this.deleteArea_ = this.workspace_.isDeleteArea(e);
//this.draggedConnectionManager_.update(delta, this.deleteArea_);
//this.updateCursorDuringBubbleDrag_();
// TODO (fenichel): Possibly update the cursor if dragging to the trash can
// is allowed.
};
/**
@@ -173,31 +116,14 @@ Blockly.BubbleDragger.prototype.dragBubble = function(e, currentDragDeltaXY) {
Blockly.BubbleDragger.prototype.endBubbleDrag = function(e, currentDragDeltaXY) {
// Make sure internal state is fresh.
this.dragBubble(e, currentDragDeltaXY);
this.dragIconData_ = [];
Blockly.BlockSvg.disconnectUiStop_();
var delta = this.pixelsToWorkspaceUnits_(currentDragDeltaXY);
var newLoc = goog.math.Coordinate.sum(this.startXY_, delta);
this.draggingBubble_.moveOffDragSurface(this.dragSurface_, newLoc);
var deleted = true;//this.maybeDeleteBlock_();
if (!deleted) {
// These are expensive and don't need to be done if we're deleting.
this.draggingBubble_.moveConnections_(delta.x, delta.y);
this.draggingBubble_.setDragging(false);
//this.draggedConnectionManager_.applyConnections();
this.draggingBubble_.render();
this.fireMoveEvent_();
this.draggingBubble_.scheduleSnapAndBump();
}
this.fireMoveEvent_();
this.workspace_.setResizesEnabled(true);
if (this.workspace_.toolbox_) {
var style = this.draggingBubble_.isDeletable() ? 'blocklyToolboxDelete' :
'blocklyToolboxGrab';
this.workspace_.toolbox_.removeStyle(style);
}
Blockly.Events.setGroup(false);
};
@@ -206,54 +132,8 @@ Blockly.BubbleDragger.prototype.endBubbleDrag = function(e, currentDragDeltaXY)
* @private
*/
Blockly.BubbleDragger.prototype.fireMoveEvent_ = function() {
var event = new Blockly.Events.BlockMove(this.draggingBubble_);
event.oldCoordinate = this.startXY_;
event.recordNew();
Blockly.Events.fire(event);
};
/**
* Shut the trash can and, if necessary, delete the dragging block.
* Should be called at the end of a block drag.
* @return {boolean} whether the block was deleted.
* @private
*/
Blockly.BubbleDragger.prototype.maybeDeleteBubble_ = function() {
var trashcan = this.workspace_.trashcan;
if (this.wouldDeleteBlock_) {
if (trashcan) {
goog.Timer.callOnce(trashcan.close, 100, trashcan);
}
// Fire a move event, so we know where to go back to for an undo.
this.fireMoveEvent_();
this.draggingBubble_.dispose(false, true);
} else if (trashcan) {
// Make sure the trash can is closed.
trashcan.close();
}
return this.wouldDeleteBlock_;
};
/**
* Update the cursor (and possibly the trash can lid) to reflect whether the
* dragging block would be deleted if released immediately.
* @private
*/
Blockly.BubbleDragger.prototype.updateCursorDuringBubbleDrag_ = function() {
this.wouldDeleteBlock_ = false; //this.draggedConnectionManager_.wouldDeleteBlock();
var trashcan = this.workspace_.trashcan;
if (this.wouldDeleteBlock_) {
this.draggingBubble_.setDeleteStyle(true);
if (this.deleteArea_ == Blockly.DELETE_AREA_TRASH && trashcan) {
trashcan.setOpen_(true);
}
} else {
this.draggingBubble_.setDeleteStyle(false);
if (trashcan) {
trashcan.setOpen_(false);
}
}
// TODO: move events for comments.
return;
};
/**