Author:   Lars Michelsen <[email protected]>
Date:     Wed Aug 31 11:35:43 2011 +0200
Committer:   Lars Michelsen <[email protected]>
Commit-Date: Wed Aug 31 11:35:43 2011 +0200

Fixed dragging relative gadgets

---

 ChangeLog                                   |    1 +
 share/frontend/nagvis-js/js/NagVisObject.js |    4 +++-
 share/frontend/nagvis-js/js/edit.js         |   23 ++++++++++++-----------
 3 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8230efe..56eac61 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -23,6 +23,7 @@ Frontend
   * Bugfix: Fixed several umlauts in edit mode warning messages
   * Bugfix: Fixed 100% sidebar height
   * Bugfix: Fixed initial positioning of relative positioned gadgets
+  * Bugfix: Fixed dragging handling of relative positioned gadgets
   * Bugfix: Fixed backendid showing up in host_name field of add/modify dialog
     in some rare cases
   * Bugfix: Object positions can never be floats (always integers)
diff --git a/share/frontend/nagvis-js/js/NagVisObject.js 
b/share/frontend/nagvis-js/js/NagVisObject.js
index 3b93da8..a142ee0 100644
--- a/share/frontend/nagvis-js/js/NagVisObject.js
+++ b/share/frontend/nagvis-js/js/NagVisObject.js
@@ -666,11 +666,13 @@ var NagVisObject = Base.extend({
             if(refObj)
                 val = this.getRelCoords(refObj, val, dir, -1);
             objectId = null;
+        } else if(num === -1) {
+            val = Math.round(val);
         }
         oldVal = null;
 
         if(num === -1) {
-            return Math.round(val);
+            return val;
         } else {
             var old  = this.conf[dir].split(',');
             old[num] = Math.round(val);
diff --git a/share/frontend/nagvis-js/js/edit.js 
b/share/frontend/nagvis-js/js/edit.js
index ac07521..09271a8 100644
--- a/share/frontend/nagvis-js/js/edit.js
+++ b/share/frontend/nagvis-js/js/edit.js
@@ -83,11 +83,16 @@ var dragObjectChilds = {};
 var dragObjectHandler = null;
 var dragStopHandlers = {};
 
-function getTarget(event) {
+function getTarget(event, ignoreType) {
+    if(typeof(ignoreType) === 'undefined')
+        var ignoreType = null;
+
     var target = event.target ? event.target : event.srcElement;
-    while(target && target.tagName != 'DIV') {
+    while(target && (target.tagName != 'DIV' 
+          || typeof(target.id) === 'undefined'
+          || (ignoreType !== null && (target.id.split('-')[1] === 
ignoreType)))) {
         target = target.parentNode;
-  }
+    }
     return target;
 }
 
@@ -130,7 +135,7 @@ function dragStart(event, dragHandler) {
     if(!event)
         event = window.event;
 
-    var target = getTarget(event);
+    var target = getTarget(event, 'icon');
     var button = getButton(event);
 
     // Skip calls when already dragging or other button than left mouse
@@ -304,13 +309,9 @@ function dragStop(event) {
     if(event.shiftKey)
         oParent = false;
 
-    // FIXME: Really unneeded?
-    // Unhighlight all parents when relative
-    // This condition is a quick fix to make the dragging code work again in 
the WUI. Once
-    // the WUI is dropped in the future this can be removed
-    //if(draggingObject.id.indexOf('-') > -1)
-    //    for(var objectId in 
getMapObjByDomObjId(draggingObject.id.split('-')[0]).getParentObjectIds())
-    //    getMapObjByDomObjId(objectId).highlight(false);
+    // Unhilight parent objects
+    for(var objectId in 
getMapObjByDomObjId(draggingObject.id.split('-')[0]).getParentObjectIds())
+        getMapObjByDomObjId(objectId).highlight(false);
 
     dragStopHandlers[draggingObject.id](draggingObject, oParent);
 


------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
Nagvis-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nagvis-checkins

Reply via email to