Author: vmolotkov
Date: 2007-11-27 09:41:47 -0500 (Tue, 27 Nov 2007)
New Revision: 4285
Modified:
branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentRendererBase.java
branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/LayoutManager.js
branches/3.1.x/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx
Log:
fixed bug for IE
Modified:
branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentRendererBase.java
===================================================================
---
branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentRendererBase.java 2007-11-27
13:17:54 UTC (rev 4284)
+++
branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentRendererBase.java 2007-11-27
14:41:47 UTC (rev 4285)
@@ -211,7 +211,15 @@
writer.startElement(HTML.DIV_ELEM, orderingList);
writer.writeAttribute(HTML.id_ATTRIBUTE, clientId + helper.getIdSuffix(), null);
//FIXME:
- writer.writeAttribute(HTML.class_ATTRIBUTE, "ol_button_border " +
currentStyle, null); //HTML.class_ATTRIBUTE, "ol_button_border " + (enabled ?
"ol_control_shown" : "ol_control_hidden") + currentStyle
+ writer.writeAttribute(HTML.class_ATTRIBUTE, "ol_button_border " +
currentStyle, null);
+ //HTML.class_ATTRIBUTE, "ol_button_border " + (enabled ?
"ol_control_shown" : "ol_control_hidden") + currentStyle
+ String style = null;
+ if (enabled) {
+ style = "display:block;";
+ } else {
+ style = "display:none;";
+ }
+ writer.writeAttribute(HTML.style_ATTRIBUTE, style, null);
if (!useFacet) {
writer.startElement(HTML.DIV_ELEM, orderingList);
Modified:
branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/LayoutManager.js
===================================================================
---
branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/LayoutManager.js 2007-11-27
13:17:54 UTC (rev 4284)
+++
branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/LayoutManager.js 2007-11-27
14:41:47 UTC (rev 4285)
@@ -1,6 +1,6 @@
LayoutManager = function(headerId, contentId) {
- this.headerTable = document.getElementById(headerId);
- this.contentTable = document.getElementById(contentId);
+ this.headerTable = $(headerId);
+ this.contentTable = $(contentId);
this.headerDiv = this.headerTable.parentNode;
this.contentDiv = this.contentTable.parentNode;
@@ -27,19 +27,16 @@
return ;
var headerCells = this.headerTable.tHead.rows[0].cells;
var width;
- var totalWidth = 0;
for (var i = 0; i < contentCells.length; i++) {
var curCell = contentCells[i];
var headCell = headerCells[i];
width = LayoutManager.calculateWidth(curCell, headCell).colWidth;
-
if (i == contentCells.length - 1) {
width = width + (this.contentDiv.offsetWidth - this.contentDiv.clientWidth);
}
headCell.firstChild.style.width = width + "px";
headCell.style.width = width + "px";
- //totalWidth += width;
}
//this.headerTable.style.width = this.contentTable.offsetWidth +
(this.contentDiv.offsetWidth - this.contentDiv.clientWidth);
}
@@ -69,33 +66,35 @@
var srcElemPaddingWidth = LayoutManager.getPaddingWidth(srcElem, "lr");
var srcElemMarginWidth = LayoutManager.getMarginWidth(srcElem, "lr");
- var tgtElemBorderWidth = LayoutManager.getBorderWidth(srcElem, "lr");
- var tgtElemPaddingWidth = LayoutManager.getPaddingWidth(srcElem, "lr");
- var tgtElemMarginWidth = LayoutManager.getMarginWidth(srcElem, "lr");
+ var tgtElemBorderWidth = LayoutManager.getBorderWidth(tgtElem, "lr");
+ var tgtElemPaddingWidth = LayoutManager.getPaddingWidth(tgtElem, "lr");
+ var tgtElemMarginWidth = LayoutManager.getMarginWidth(tgtElem, "lr");
var srcWidth = srcElem.offsetWidth - srcElemBorderWidth - srcElemPaddingWidth -
srcElemMarginWidth;
return {srcWidth : srcWidth, colWidth : (srcWidth + (srcElemBorderWidth -
tgtElemBorderWidth)
+ (srcElemPaddingWidth - tgtElemPaddingWidth)
- + (srcElemMarginWidth - tgtElemMarginWidth))};
+ + (srcElemMarginWidth - tgtElemMarginWidth))};
}
LayoutManager.getBorderWidth = function(el, side) {
- return this.getStyles(el, side, LayoutManager.borders);
+ return LayoutManager.getStyles(el, side, LayoutManager.borders);
}
LayoutManager.getPaddingWidth = function(el, side) {
- return this.getStyles(el, side, LayoutManager.paddings);
+ return LayoutManager.getStyles(el, side, LayoutManager.paddings);
}
LayoutManager.getMarginWidth = function(el, side) {
- return this.getStyles(el, side, LayoutManager.margins);
+ return LayoutManager.getStyles(el, side, LayoutManager.margins);
}
LayoutManager.getStyles = function(el, sides, styles) {
var val = 0;
for(var i = 0, len = sides.length; i < len; i++){
- var w = parseInt(el.getStyle(styles[sides.charAt(i)]), 10);
- if(!isNaN(w)) val += w;
+ if (el.getStyle) {
+ var w = parseInt(el.getStyle(styles[sides.charAt(i)]), 10);
+ if(!isNaN(w)) val += w;
+ }
}
return val;
}
Modified:
branches/3.1.x/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx
===================================================================
---
branches/3.1.x/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx 2007-11-27
13:17:54 UTC (rev 4284)
+++
branches/3.1.x/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx 2007-11-27
14:41:47 UTC (rev 4285)
@@ -81,10 +81,14 @@
<script type="text/javascript">
var clientId = '#{cId}';
Event.onReady(function() {
+ try {
var cotrolsIdPrefix = [['up', 'disup'], ['down',
'disdown'], ['last', 'dislast'],
['first','disfirst']];
var shuttle = new Richfaces.OrderingList('#{cId}',
'#{cId}internal_tab', '#{cId}internal_header_tab',
'#{cId}focusKeeper', '#{cId}valueKeeper', cotrolsIdPrefix,
'#{cId}sortLabel', function()
{#{component.attributes['onorderchanged']}});
var layoutManager = new LayoutManager('#{clientId}internal_header_tab',
'#{clientId}internal_tab');
layoutManager.widthSynchronization();
+ } catch (error) {
+ alert(error);
+ }
});
//setTimeout(init, 0);