Author: A.Skokov
Date: 2007-03-06 09:31:14 -0500 (Tue, 06 Mar 2007)
New Revision: 19
Modified:
trunk/richfaces/common/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js
Log:
IE selection on iframe for DnD fixed
Color decoration for default drag indicator fixed
Modified:
trunk/richfaces/common/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js
===================================================================
---
trunk/richfaces/common/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js 2007-03-06
09:53:02 UTC (rev 18)
+++
trunk/richfaces/common/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js 2007-03-06
14:31:14 UTC (rev 19)
@@ -50,10 +50,10 @@
if (!dragDiv) {
dragDiv = document.createElement("div");
dragDiv.id = "_rfDefaultDragIndicator";
- Element.setStyle(dragDiv, {"border" : "1px dashed
black"});
Object.extend(dragDiv, DefaultDragIndicator);
document.body.appendChild(dragDiv);
}
+ Element.setStyle(dragDiv, {"border" : "1px dashed black"});
return dragDiv;
},
@@ -62,14 +62,14 @@
if (indicator) {
var dndParams = this.getDnDParams();
-
+
if (this.getDraggableItems && this.getDraggableItems() > 1) {
if (!dndParams) {
dndParams = {};
}
-
+
dndParams["draggableItems"] = this.getDraggableItems();
-
+
indicator.setContent("default", false, dndParams);
} else {
indicator.setContent("default", true, dndParams);
@@ -79,7 +79,7 @@
startDrag : function(event) {
var type = this.getContentType();
- var indicator = this.getIndicator();
+ var indicator = this.getIndicator();
var drag = new DnD.Drag(this, indicator, type);
DnD.startDrag(drag);
DnD.updateDrag(event);
@@ -87,33 +87,42 @@
if (indicator) {
indicator.show();
}
-
- if (indicator.id.indexOf("_rfDefaultDragIndicator") != -1) {
+
+/* if (indicator.id.indexOf("_rfDefaultDragIndicator") != -1) {
Position.clone(Event.element(event), indicator);
var offSets = Position.cumulativeOffset(Event.element(event));
indicator.removalX = Event.pointerX(event) - offSets[0];
- indicator.removalY = Event.pointerY(event) - offSets[1];
- }
-
+ indicator.removalY = Event.pointerY(event) - offSets[1];
+ } */
+
if( this.options && this.options.ondragstart) {
this.options.ondragstart();
}
- },
+
+ // cancel out any text selections
+ document.body.focus();
+
+ // prevent text selection in IE
+ this.onSelectStartHandler = document.onselectstart;
+ document.onselectstart = function () { return false; };
+ },
/**
*
* @param {DnD.Drag} drag
*/
endDrag: function(event, drag) {
- var indicator = drag.indicator;
+ document.onselectstart = this.onSelectStartHandler;
+
+ var indicator = drag.indicator;
if (indicator) {
indicator.hide();
}
this.ondragend(event, drag);
-
+
if( this.options && this.options.ondragend) {
this.options.ondragend();
}
- },
+ },
/**
* cubclasses may define custom behavior
* @param {Object} drag
@@ -135,7 +144,7 @@
show: function() {
if (window.drag && window.drag.source) {
var target = window.drag.source.getElement();
-
+
Element.setStyle(this, {"width": Element.getWidth(target) +
"px", "height": Element.getHeight(target) + "px"});
Element.show(this);
@@ -149,19 +158,22 @@
},
position: function(x, y) {
- if (this.id.indexOf("_rfDefaultDragIndicator") != -1 &&
this.removalX && this.removalY) {
+/* if (this.id.indexOf("_rfDefaultDragIndicator") != -1 &&
this.removalX && this.removalY) {
x -= (this.removalX + 5);
- y -= (this.removalY + 14);
- }
+ y -= (this.removalY + 14);
+ } */
Element.setStyle(this, {"left": x + "px", "top": y
+ "px"});
},
accept: function() {
+ Element.setStyle(this, {"border" : "1px dashed green"});
},
reject: function() {
+ Element.setStyle(this, {"border" : "1px dashed red"});
},
leave: function() {
+ Element.setStyle(this, {"border" : "1px dashed black"});
}
};
Show replies by date