Author: Lars Michelsen <[email protected]>
Date: Sat Mar 5 10:48:25 2011 +0100
Committer: Lars Michelsen <[email protected]>
Commit-Date: Sat Mar 5 10:48:25 2011 +0100
Highlighting parent objects when dragging relative objects now
---
share/frontend/nagvis-js/js/NagVisObject.js | 9 +++++++--
.../frontend/nagvis-js/js/NagVisStatefulObject.js | 16 +++++++++++++---
share/frontend/nagvis-js/js/nagvis.js | 6 +++++-
3 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/share/frontend/nagvis-js/js/NagVisObject.js
b/share/frontend/nagvis-js/js/NagVisObject.js
index fa29745..1db3cd1 100644
--- a/share/frontend/nagvis-js/js/NagVisObject.js
+++ b/share/frontend/nagvis-js/js/NagVisObject.js
@@ -590,9 +590,14 @@ var NagVisObject = Base.extend({
*
* @author Lars Michelsen <[email protected]>
*/
- getParentObjectIds: function() {
+ getParentObjectIds: function(num) {
var parentIds = {};
- var coords = (this.conf.x + ',' + this.conf.y).split(',');
+
+ if(isset(num))
+ var coords = (this.conf['x'].split(',')[num] + ',' +
this.conf['y'].split(',')[num]).split(',');
+ else
+ var coords = (this.conf.x + ',' + this.conf.y).split(',');
+
for(var i = 0, len = coords.length; i < len; i++)
if(isRelativeCoord(coords[i]))
if(coords[i].search('%') !== -1)
diff --git a/share/frontend/nagvis-js/js/NagVisStatefulObject.js
b/share/frontend/nagvis-js/js/NagVisStatefulObject.js
index 524dd4e..f065fe4 100644
--- a/share/frontend/nagvis-js/js/NagVisStatefulObject.js
+++ b/share/frontend/nagvis-js/js/NagVisStatefulObject.js
@@ -985,7 +985,7 @@ var NagVisStatefulObject = NagVisObject.extend({
* Important: This is called from an event handler
* the 'this.' keyword can not be used here.
*/
- moveObject: function(obj) {
+ moveObject: function(obj) {
var arr = obj.id.split('-');
var objId = arr[0];
var anchorType = arr[1];
@@ -999,14 +999,24 @@ var NagVisStatefulObject = NagVisObject.extend({
newPos = getMidOfAnchor(obj);
// Get current positions and replace only the current
one
- var anchorId = arr[2];
+ var anchorId = arr[2];
newPos = [ jsObj.calcNewCoord(newPos[0], 'x', anchorId),
jsObj.calcNewCoord(newPos[1], 'y', anchorId)
];
- anchorId = null;
+
+ var parents = jsObj.getParentObjectIds(anchorId);
+
+ anchorId = null;
} else {
newPos = [ jsObj.calcNewCoord(obj.x - obj.objOffsetX,
'x'),
jsObj.calcNewCoord(obj.y - obj.objOffsetY,
'y') ];
+
+ var parents = jsObj.getParentObjectIds();
}
+
+ // Highlight parents when relative
+ for (var objectId in parents)
+ getMapObjByDomObjId(objectId).highlight(true);
+ parents = null;
jsObj.conf.x = newPos[0];
jsObj.conf.y = newPos[1];
diff --git a/share/frontend/nagvis-js/js/nagvis.js
b/share/frontend/nagvis-js/js/nagvis.js
index 4a502f5..cbfbd70 100644
--- a/share/frontend/nagvis-js/js/nagvis.js
+++ b/share/frontend/nagvis-js/js/nagvis.js
@@ -1139,7 +1139,7 @@ function dragObject(event) {
var newTop = posy - dragObjectOffset[0] - getHeaderHeight();
var newLeft = posx - dragObjectOffset[1];
- draggingObject.style.position = 'absolute';
+ draggingObject.style.position = 'absolute';
draggingObject.style.top = newTop + 'px';
draggingObject.style.left = newLeft + 'px';
draggingObject.x = newLeft;
@@ -1240,6 +1240,10 @@ function dragStop(event, handler) {
if(event.shiftKey)
oParent = false;
+ // Unhighlight all parents when relative
+ for(var objectId in
getMapObjByDomObjId(draggingObject.id.split('-')[0]).getParentObjectIds())
+ getMapObjByDomObjId(objectId).highlight(false);
+
handler(draggingObject, oParent);
oParent = null;
------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
Nagvis-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nagvis-checkins