Author: nbelaevski
Date: 2007-03-29 15:09:33 -0400 (Thu, 29 Mar 2007)
New Revision: 214
Modified:
trunk/richfaces/common/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js
Log:
Check for null drag type added in order to deny drag when dragType is absent.
http://jira.jboss.com/jira/browse/RF-48
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-29
19:06:04 UTC (rev 213)
+++
trunk/richfaces/common/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js 2007-03-29
19:09:33 UTC (rev 214)
@@ -28,7 +28,7 @@
* @return type of draggable content
*/
getContentType: function() {
- return "ZZZZZ";
+ return null;
},
/**
* implementations are responsible for getting drag indicator
@@ -81,44 +81,47 @@
startDrag : function(event) {
var type = this.getContentType();
- var indicator = this.getIndicator();
- var drag = new DnD.Drag(this, indicator, type);
- if (indicator.id.indexOf("_rfDefaultDragIndicator") != -1) {
- var target = drag.source.getElement();
- var offSets = Position.cumulativeOffset(target);
- indicator.indicatorWidth = Element.getWidth(target);
- indicator.indicatorHeight = Element.getHeight(target);
- indicator.position(offSets[0], offSets[1]);
- indicator.removalX = Event.pointerX(event) - offSets[0];
- indicator.removalY = Event.pointerY(event) - offSets[1];
- }
+ if (type) {
- DnD.startDrag(drag);
- DnD.updateDrag(event);
- this.ondragstart(event, drag);
- if (indicator) {
- indicator.show();
- }
-
- 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;
- this.onDragStartHandler = document.ondragstart;
-
- document.onselectstart = function () { return false; };
- document.ondragstart = function () { DnD.ieReleaseCapture(); return false; };
-
- if (document.releaseCapture) {
- Event.observe(document, "mousemove", DnD.ieReleaseCapture);
- }
-
+ var indicator = this.getIndicator();
+ var drag = new DnD.Drag(this, indicator, type);
+
+ if (indicator.id.indexOf("_rfDefaultDragIndicator") != -1) {
+ var target = drag.source.getElement();
+ var offSets = Position.cumulativeOffset(target);
+ indicator.indicatorWidth = Element.getWidth(target);
+ indicator.indicatorHeight = Element.getHeight(target);
+ indicator.position(offSets[0], offSets[1]);
+ indicator.removalX = Event.pointerX(event) - offSets[0];
+ indicator.removalY = Event.pointerY(event) - offSets[1];
+ }
+
+ DnD.startDrag(drag);
+ DnD.updateDrag(event);
+ this.ondragstart(event, drag);
+ if (indicator) {
+ indicator.show();
+ }
+
+ 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;
+ this.onDragStartHandler = document.ondragstart;
+
+ document.onselectstart = function () { return false; };
+ document.ondragstart = function () { DnD.ieReleaseCapture(); return false; };
+
+ if (document.releaseCapture) {
+ Event.observe(document, "mousemove", DnD.ieReleaseCapture);
+ }
+ }
},
/**
*