Module: nagvis
Branch: master
Commit: a6c50510afb840af8149701e45520f8df43d5ea4
URL:
http://nagvis.git.sourceforge.net/git/gitweb.cgi?p=nagvis/nagvis;a=commit;h=a6c50510afb840af8149701e45520f8df43d5ea4
Author: Lars Michelsen <[email protected]>
Date: Thu Jan 20 13:26:29 2011 +0100
Fixed movement of object controls when an object which depends on another
object which is moved
---
TODO | 2 +
share/frontend/nagvis-js/js/NagVisObject.js | 9 +++--
.../frontend/nagvis-js/js/NagVisStatefulObject.js | 12 +++++--
share/frontend/nagvis-js/js/frontend.js | 34 ++++++++++---------
4 files changed, 35 insertions(+), 22 deletions(-)
diff --git a/TODO b/TODO
index b623c17..d189923 100644
--- a/TODO
+++ b/TODO
@@ -7,6 +7,8 @@ Relative Koordinaten:
- Beim Löschen von Objekten prüfen, ob andere Objekte auf dieses
Objekt verweisen
- Wie funktionieren Linien zu Linien Referenzen? Geht das überhaupt?
- Es gibt noch Probleme, wenn die object_id nur aus Zahlen besteht. Abfangen!
+ - Dokumentation
+ - WUI: Von absoluten zu relativen Koordinaten umschalten
HTML/JS Frontend:
- aMapObjects in Objekt umbauen - mit object_id als Schlüssel
diff --git a/share/frontend/nagvis-js/js/NagVisObject.js
b/share/frontend/nagvis-js/js/NagVisObject.js
index d2f4277..782f306 100644
--- a/share/frontend/nagvis-js/js/NagVisObject.js
+++ b/share/frontend/nagvis-js/js/NagVisObject.js
@@ -405,14 +405,17 @@ var NagVisObject = Base.extend({
var objectId = parts[0];
var offset = parts[1];
var refObj = getMapObjByDomObjId(objectId);
- return parseFloat(refObj.conf[dir]) +
parseFloat(offset);
+ if(refObj)
+ return parseFloat(refObj.conf[dir]) +
parseFloat(offset);
+ else
+ return offset;
} else {
// Only an object id. Get the coordinate and
return it
var refObj = getMapObjByDomObjId(val);
- if(refObj !== -1)
+ if(refObj)
return refObj.conf[dir];
else
- return val;
+ return 0;
}
}
},
diff --git a/share/frontend/nagvis-js/js/NagVisStatefulObject.js
b/share/frontend/nagvis-js/js/NagVisStatefulObject.js
index dbaebf5..715f93b 100644
--- a/share/frontend/nagvis-js/js/NagVisStatefulObject.js
+++ b/share/frontend/nagvis-js/js/NagVisStatefulObject.js
@@ -938,14 +938,20 @@ var NagVisStatefulObject = NagVisObject.extend({
oControls = null;
},
- move: function() {
+ reposition: function() {
if(this.conf.view_type === 'line')
this.drawLine();
else
this.moveIcon();
for(var i = 0, l = this.childs.length; i < l; i++)
- this.childs[i].move();
+ this.childs[i].reposition();
+
+ // redraw the controls
+ if(!this.bIsLocked) {
+ this.removeControls();
+ this.parseControls();
+ }
},
/**
@@ -977,7 +983,7 @@ var NagVisStatefulObject = NagVisObject.extend({
jsObj.conf.x = newPos[0];
jsObj.conf.y = newPos[1];
- jsObj.move();
+ jsObj.reposition();
jsObj = null;
objId = null;
diff --git a/share/frontend/nagvis-js/js/frontend.js
b/share/frontend/nagvis-js/js/frontend.js
index 5709cf5..7fdabc7 100644
--- a/share/frontend/nagvis-js/js/frontend.js
+++ b/share/frontend/nagvis-js/js/frontend.js
@@ -1021,27 +1021,29 @@ function setMapObjects(aMapObjectConf) {
break;
}
- if(oObj !== null) {
- // Save object to map objects array
+ // Save object to map objects array
+ if(oObj !== null)
aMapObjects.push(oObj);
-
- // Parse object to map
- if(oPageProperties.view_type === 'map') {
- aMapObjects[aMapObjects.length-1].parse();
- } else if(oPageProperties.view_type === 'automap') {
- if(aMapObjectConf[i].type === 'host')
-
aMapObjects[aMapObjects.length-1].parseAutomap();
- else
-
aMapObjects[aMapObjects.length-1].parse();
- }
- }
oObj = null;
}
- // Store the object position dependencies. Before this
- // can be done all objects need to be added to the map.
- // so this seems to be a good place for it
+ // First parse the objects on the map
+ // Then store the object position dependencies.
+ //
+ // Before both can be done all objects need to be added
+ // to the map objects list
for(var i = 0, len = aMapObjects.length; i < len; i++) {
+ // Parse object to map
+ if(oPageProperties.view_type === 'map') {
+ aMapObjects[i].parse();
+ } else if(oPageProperties.view_type === 'automap') {
+ if(aMapObjects[i].conf.type === 'host')
+ aMapObjects[i].parseAutomap();
+ else
+ aMapObjects[i].parse();
+ }
+
+ // Store object dependencies
var parents = aMapObjects[i].getParentObjectIds();
if(parents) {
for (var objectId in parents) {
------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Nagvis-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nagvis-checkins