undoing optimized drag and drop for now because I added it in due to Google Chrome's latest release which made drag and drop very slow (while other browsers are still fast), and the changes that I made to help work around it were slightly effecting the experience in other browsers. I'll file a ticket with Google Chrome instead

This commit is contained in:
Eric Rowell 2012-04-14 10:04:17 -07:00
parent 5c7b969974
commit 1c8669eb7a
5 changed files with 33 additions and 23 deletions

25
dist/kinetic-core.js vendored
View File

@ -3,7 +3,7 @@
* http://www.kineticjs.com/
* Copyright 2012, Eric Rowell
* Licensed under the MIT or GPL Version 2 licenses.
* Date: Apr 12 2012
* Date: Apr 14 2012
*
* Copyright (C) 2011 - 2012 by Eric Rowell
*
@ -45,7 +45,7 @@ Kinetic.GlobalObject = {
animations: [],
animIdCounter: 0,
dragTimeInterval: 0,
maxDragTimeInterval: 15,
maxDragTimeInterval: 20,
frame: {
time: 0,
timeDiff: 0,
@ -1772,6 +1772,12 @@ Kinetic.Stage.prototype = {
var dc = node.attrs.dragConstraint;
var db = node.attrs.dragBounds;
// default
var newNodePos = {
x: pos.x - go.drag.offset.x,
y: pos.y - go.drag.offset.y
};
/*
* handle dynamice drag time interval. As the distance between
* the mouse and cursor increases, we need to increase the drag
@ -1780,14 +1786,13 @@ Kinetic.Stage.prototype = {
* is zero, the time interval is zero. When the difference approahces
* infinity, the time interval approaches the max drag time interval
*/
var dragDiff = Math.abs(pos.x - node.attrs.x);
go.dragTimeInterval = go.maxDragTimeInterval * dragDiff / (dragDiff + 1);
// default
var newNodePos = {
x: pos.x - go.drag.offset.x,
y: pos.y - go.drag.offset.y
};
/*
var dragDiffX = Math.abs(newNodePos.x - node.attrs.x);
var dragDiffY = Math.abs(newNodePos.y - node.attrs.y);
var dragDiff = Math.sqrt(Math.pow(dragDiffX, 2) + Math.pow(dragDiffY, 2));
go.dragTimeInterval = go.maxDragTimeInterval * (dragDiff - 1) / (dragDiff + 1);
console.log(dragDiff + ',' + go.dragTimeInterval);
*/
// bounds overrides
if(db.left !== undefined && newNodePos.x < db.left) {

File diff suppressed because one or more lines are too long

View File

@ -17,7 +17,7 @@ Kinetic.GlobalObject = {
animations: [],
animIdCounter: 0,
dragTimeInterval: 0,
maxDragTimeInterval: 15,
maxDragTimeInterval: 20,
frame: {
time: 0,
timeDiff: 0,

View File

@ -718,6 +718,12 @@ Kinetic.Stage.prototype = {
var dc = node.attrs.dragConstraint;
var db = node.attrs.dragBounds;
// default
var newNodePos = {
x: pos.x - go.drag.offset.x,
y: pos.y - go.drag.offset.y
};
/*
* handle dynamice drag time interval. As the distance between
* the mouse and cursor increases, we need to increase the drag
@ -726,14 +732,13 @@ Kinetic.Stage.prototype = {
* is zero, the time interval is zero. When the difference approahces
* infinity, the time interval approaches the max drag time interval
*/
var dragDiff = Math.abs(pos.x - node.attrs.x);
go.dragTimeInterval = go.maxDragTimeInterval * dragDiff / (dragDiff + 1);
// default
var newNodePos = {
x: pos.x - go.drag.offset.x,
y: pos.y - go.drag.offset.y
};
/*
var dragDiffX = Math.abs(newNodePos.x - node.attrs.x);
var dragDiffY = Math.abs(newNodePos.y - node.attrs.y);
var dragDiff = Math.sqrt(Math.pow(dragDiffX, 2) + Math.pow(dragDiffY, 2));
go.dragTimeInterval = go.maxDragTimeInterval * (dragDiff - 1) / (dragDiff + 1);
console.log(dragDiff + ',' + go.dragTimeInterval);
*/
// bounds overrides
if(db.left !== undefined && newNodePos.x < db.left) {

View File

@ -10,7 +10,7 @@ function log(message) {
* Test constructor
*/
function Test() {
this.testOnly = '';
this.testOnly = 'DRAG AND DROP - draggable true';
this.counter = 0;
}
/**