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