]> code.citadel.org Git - citadel.git/blobdiff - webcit/static/ctdldragdrop.js
MAILINGLIST: add facility to choose the default room email alias.
[citadel.git] / webcit / static / ctdldragdrop.js
index 9e253b3ddaf8fa79200ed3ac59bbfcc8b37cacd3..aefd398fe6b93d582e8eaf2fad43ea991bf41087 100644 (file)
@@ -1,6 +1,10 @@
-/** Because scriptaculous DnD sucks..
-    Written by Mathew McBride <matt@mcbridematt.dhs.org> / <matt@comalies>
-*/
+/** 
+ * Because scriptaculous DnD sucks..
+ * Written by Mathew McBride <matt@mcbridematt.dhs.org> / <matt@comalies>
+ * 
+ * Copyright 2009 The Citadel Team
+ * Licensed under the GPL V3
+ */
 var draggedElement = null;
 var currentDropTargets = null;
 var dropTarget = null;
@@ -12,7 +16,7 @@ function mouseDownHandler(event) {
   if (target.nodeName.toLowerCase() == "td") {
     actualTarget = target.parentNode;
   }
-  if (!actualTarget.dropEnabled) {
+  if (!actualTarget.dropEnabled && actualTarget.getAttribute("citadel:dropenabled") == null) {
     return;
   }
   turnOffTextSelect();
@@ -37,7 +41,8 @@ function mouseUpHandler(event) {
 function mouseMoveHandler(event) {
   if (draggedElement != null) {
     if (dragAndDropElement == null) {
-    dragAndDropElement = draggedElement.ctdlDnDElement();
+      var dragAndDropElementFunction = (draggedElement.ctdlDnDElement) ? draggedElement.ctdlDndElement : eval(draggedElement.getAttribute("citadel:dndelement"));
+      dragAndDropElement = dragAndDropElementFunction.call();
     dragAndDropElement.className = "draganddrop";
     document.body.appendChild(dragAndDropElement);
     }