[richfaces-svn-commits] JBoss Rich Faces SVN: r309 - in trunk/richfaces/dropdown-menu/src/main: resources/org/richfaces/renderkit/html/scripts and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Apr 6 10:45:47 EDT 2007


Author: a.izobov
Date: 2007-04-06 10:45:47 -0400 (Fri, 06 Apr 2007)
New Revision: 309

Modified:
   trunk/richfaces/dropdown-menu/src/main/java/org/richfaces/renderkit/html/DropDownMenuRendererBase.java
   trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js
Log:
second iframe removed; function fitLayerToContent changed; support for attributes "verticalOffset" and "horisontalOffset" added

Modified: trunk/richfaces/dropdown-menu/src/main/java/org/richfaces/renderkit/html/DropDownMenuRendererBase.java
===================================================================
--- trunk/richfaces/dropdown-menu/src/main/java/org/richfaces/renderkit/html/DropDownMenuRendererBase.java	2007-04-06 14:16:36 UTC (rev 308)
+++ trunk/richfaces/dropdown-menu/src/main/java/org/richfaces/renderkit/html/DropDownMenuRendererBase.java	2007-04-06 14:45:47 UTC (rev 309)
@@ -86,19 +86,12 @@
 		writer.writeAttribute("style", "position:absolute", null);
 		writer.endElement("iframe");
 	
-		writer.startElement("iframe", layer);
-		writer.writeAttribute("id", clientId+"_menu_iframe1", null);
-		writer.writeAttribute("class", "underneath_iframe", null);
-		writer.writeAttribute("style", "position:absolute", null);
-		writer.endElement("iframe");
-
 		writer.startElement("script", layer);
 		writer.writeAttribute("id", clientId+"_menu_script", null);
 		writer.writeAttribute("type", "text/javascript", null);
 		encodeScript(context, layer);
 		writer.endElement("script");
 		AjaxRendererUtils.addRegionByName(context, layer, clientId + "_menu_iframe");
-		AjaxRendererUtils.addRegionByName(context, layer, clientId + "_menu_iframe1");
 		AjaxRendererUtils.addRegionByName(context, layer, clientId + "_menu_script");
 	}
 	

Modified: trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js
===================================================================
--- trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js	2007-04-06 14:16:36 UTC (rev 308)
+++ trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js	2007-04-06 14:45:47 UTC (rev 309)
@@ -18,8 +18,11 @@
 
     var table = layer.childNodes[0];
     if (table) {
-        var tmpDims = Element.getDimensions(table);
-        layer.style.width = tmpDims.width + "px";
+    	if (layer.style.width.indexOf("px")!=-1) {
+    		var width = parseFloat(layer.style.width.substring(0,layer.style.width.indexOf('px')));
+	        var tmpDims = Element.getDimensions(table);
+    		if (tmpDims.width > width) layer.style.width = tmpDims.width + "px";
+    	}
         //layer.style.height = dims.height + "px";
     } // if
 }
@@ -123,7 +126,6 @@
 		if(this.IE || this.NS) {
 			menuName = $(menuName).id;
             var iframe = $(menuName + "_iframe");
-            var iframe1 = $(menuName + "_iframe1");
 			var nsfix = (this.NS ? 7 : 0);
 			if(on){
 				Position.clone(menuName, iframe);
@@ -134,16 +136,8 @@
 				iframe.style.visibility = "visible";
 				iframe.style.height = (dim.height - this.CornerRadius - 1 - this.shadowWidth - nsfix) + "px";
 
-				Position.clone(menuName, iframe1);
-				dim = Element.getDimensions(iframe1);
-				iframe1.style.top = (iframe1.style.pixelTop) + "px";
-				iframe1.style.left = (iframe1.offsetLeft + Math.round(this.CornerRadius / 2)) + "px";
-				iframe1.style.width = (dim.width - this.CornerRadius - this.shadowWidth - nsfix - 1) + "px";
-				iframe1.style.visibility = "visible";
-				iframe1.style.height = (dim.height - this.shadowWidth - nsfix) + "px";
 			} else {
 				iframe.style.visibility = "hidden";
-				iframe1.style.visibility = "hidden";
 			}
 		}
 	},
@@ -487,16 +481,18 @@
 			direction = sDir.indexOf('BOTTOM-RIGHT')!= -1?3:direction;
 			direction = sDir.indexOf('BOTTOM-LEFT') != -1?4:direction;
 		}
+		var hOffset = options.horizontalOffset;
+		var vOffset = options.verticalOffset;
 		
 		var listPos = this.listPositions(jointPoint, direction);
 		var layerPos;
 		var foundPos = false;
 		for (var i=0;i<listPos.length;i++) {
 			layerPos = this.calcPosition(listPos[i].jointPoint, listPos[i].direction)
-			if ((layerPos.left >= winOffset.left) && 
-				(layerPos.left + this.layerdim.width - winOffset.left <= windowWidth) &&
-				(layerPos.top >= winOffset.top) && 
-				(layerPos.top + this.layerdim.height - winOffset.top <= windowHeight)) {
+			if ((layerPos.left + hOffset >= winOffset.left) && 
+				(layerPos.left + hOffset + this.layerdim.width - winOffset.left <= windowWidth) &&
+				(layerPos.top + vOffset >= winOffset.top) && 
+				(layerPos.top + vOffset + this.layerdim.height - winOffset.top <= windowHeight)) {
 				foundPos = true;
 				break;
 			}
@@ -504,8 +500,8 @@
 		if (!foundPos) {
 			layerPos = this.calcPosition(listPos[0].jointPoint, listPos[0].direction)
 		}
-		this.layer.style.left = layerPos.left + "px";
-		this.layer.style.top = layerPos.top + "px";
+		this.layer.style.left = layerPos.left + hOffset + "px";
+		this.layer.style.top = layerPos.top + vOffset + "px";
 		
 		Exadel.Menu.Layers.LMPopUp(this.layer.id, false);
 		Exadel.Menu.Layers.clearLMTO();




More information about the richfaces-svn-commits mailing list