[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