瀏覽代碼

- Properly display names containing XML entities (& < > and ")
- Don't drag items by their (invisible) tooltip !

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@1569 a333f486-631f-4898-b8df-5754b55c2be0

dflaven 13 年之前
父節點
當前提交
878a4f1c84
共有 4 個文件被更改,包括 12 次插入4 次删除
  1. 9 4
      navigator/iTop/Navigator.as
  2. 3 0
      navigator/iTop/ToolTip.as
  3. 二進制
      navigator/navigator.fla
  4. 二進制
      navigator/navigator.swf

+ 9 - 4
navigator/iTop/Navigator.as

@@ -57,8 +57,8 @@
 			m_sDataUrl = ReadParam('xmlUrl', 'http://localhost:81/pages/xml.navigator.php?operation=relation');
 			m_sDetailsUrl = ReadParam('drillUrl', 'http://localhost/pages/UI.php?operation=details');
 			m_sRelation = ReadParam('relation', 'impacts');
-			m_sObjClass = ReadParam('obj_class', 'Server');
-			m_sObjId = ReadParam('obj_id', '1');
+			m_sObjClass = ReadParam('obj_class', 'DBServerInstance');
+			m_sObjId = ReadParam('obj_id', '7');
 			m_sStartPosition = ReadParam('start_pos', 'left');
 		}
 		
@@ -129,7 +129,7 @@
 				//trace("Data loaded." + myXML);
 				//trace("===========================");
 				parseXMLData(null, myXML, 0, 0);
-				m_sTitle.text = myXML.attribute("title");
+				m_sTitle.text = decodeEntities(myXML.attribute("title").toString());
 				m_oZoomSlider.enabled = true;
 				addEventListener(Event.ENTER_FRAME, drawLines);
 				m_oZoomSlider.value = 100;
@@ -195,12 +195,17 @@
 			}
 		}
 		
+		function decodeEntities(str: String)
+		{
+			return str.replace(/&amp;/g, '&').replace(/&gt;/g, '>').replace(/&lt;/g, '<').replace(/&quot;/g, '"').replace(/&apos;/g, "'");
+		}
+		
 		function addNode(oParent:GraphNode, oXMLData:XML, iChildIndex:Number, iChildCount:Number)
 		{
 			var sClass:String  = oXMLData.@obj_class;
 			var sClassName:String  = oXMLData.@obj_class_name;
 			var iId = oXMLData.@id;
-			var sLabel:String = oXMLData.@name;
+			var sLabel:String = decodeEntities(oXMLData.@name);
 			var sIcon:String = oXMLData.@icon;
 			var oDetails:Object = new Object;
 			var sZlist:String = oXMLData.@zlist;

+ 3 - 0
navigator/iTop/ToolTip.as

@@ -57,6 +57,7 @@
 			graphics.drawRoundRect( 0, 0, _tf.textWidth+PADDING*4, _tf.textHeight+PADDING*4, ROUND );
 			graphics.endFill();
 			this.alpha = MIN_ALPHA;
+			this.visible = false;
 		}
 		// You have to call this after
 		// the tooltip has been added to the
@@ -118,6 +119,7 @@
 		
 		private function fadeIn( i:uint ):void
 		{
+			this.visible = true;
 			if (this.alpha < (1.0 - ALPHA_INC))
 			{
 				this.alpha += ALPHA_INC;
@@ -137,6 +139,7 @@
 			else
 			{
 				this.alpha = 0.0;
+				this.visible = false;
 			}
 			//trace("-- Tooltip alpha: "+this.alpha+" ALPHA_INC:"+ALPHA_INC);
 		}

二進制
navigator/navigator.fla


二進制
navigator/navigator.swf