Author: pkawiak
Date: 2008-09-09 08:52:34 -0400 (Tue, 09 Sep 2008)
New Revision: 10377
Modified:
trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTable.js
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTableHeader.js
trunk/ui/extendedDataTable/src/main/resources/org/richfaces/renderkit/html/css/extendedDataTable.xcss
Log:
RF-4285 fixing a problem with collapsed rows under safari + improving looks of the
component in IE
Modified:
trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java
===================================================================
---
trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java 2008-09-09
12:20:21 UTC (rev 10376)
+++
trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java 2008-09-09
12:52:34 UTC (rev 10377)
@@ -151,20 +151,22 @@
String headerClass = (String) table.getAttributes().get(
"headerClass");
// String menuId = (String) table.getAttributes().get(MENU_ID);
+
+ writer.startElement("tr", header);
+ encodeStyleClass(writer, null,
+ "extdt-header rich-extdt-header", headerClass, null);
+ writer.writeAttribute(HTML.id_ATTRIBUTE, table
+ .getBaseClientId(context)
+ + ":fakeIeRow", null);
+ for (int i = 0; i < numberOfColumns; i++) {
+ writer.startElement("th", header);
+ encodeStyleClass(writer, null,
+ "extdt-headercell extdt-fakeierow
rich-extdt-headercell",
+ headerClass, null);
+ writer.endElement("th");
+ }
+
if (header != null) {
- writer.startElement("tr", header);
- encodeStyleClass(writer, null,
- "extdt-header rich-extdt-header", headerClass, null);
- writer.writeAttribute(HTML.id_ATTRIBUTE, table
- .getBaseClientId(context)
- + ":fakeIeRow", null);
- for (int i = 0; i < numberOfColumns; i++) {
- writer.startElement("th", header);
- encodeStyleClass(writer, null,
- "extdt-headercell extdt-fakeierow
rich-extdt-headercell",
- headerClass, null);
- writer.endElement("th");
- }
writer.endElement("tr");
encodeTableHeaderFacet(context, numberOfColumns, writer,
@@ -589,10 +591,10 @@
boolean first = true;
int currentColumn = 0;
UIColumn column = null;
+ if (holder.isFirstRow()) {
+ encodeFakeIeRow(context, table, holder);
+ }
if (holder.isGroupingOn() && (rowGroupChanged(context, holder))) {
- if (holder.isFirstRow()) {
- encodeFakeIeRow(context, table, holder);
- }
encodeGroupRow(context, table, holder);
}
holder.setFirstRow(false);
Modified:
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTable.js
===================================================================
---
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTable.js 2008-09-09
12:20:21 UTC (rev 10376)
+++
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTable.js 2008-09-09
12:52:34 UTC (rev 10377)
@@ -31,7 +31,7 @@
function(){
grid.update(true);
},
- Utils.Condition.ElementPresent(id+':od'), 5);
+ Utils.Condition.ElementPresent(id+':od'), 100);
},
destroy: function() {
@@ -295,14 +295,14 @@
var sd = this.scrollingDiv.getElement();
return sd.offsetWidth - sd.clientWidth;
},
- validateColumnsWidth: function(columns,excessWidth) {
+ validateColumnsWidth: function(columns,excessWidth) {
var i=1;
var endIndex = columns.length-1;
while ((i < endIndex) && (excessWidth > 0)) {
if (ClientUILib.isIE) {
var colWidth = parseInt(this.getColumns()[i].width) - 1;
}else{
- var colWidth = this.getColumnWidth(i);
+ var colWidth = this.header.getColumnWidth(i);
}
var spareWidth = colWidth - this.minColumnWidth;
var dW;
@@ -392,7 +392,7 @@
this.tableB.deleteRow(this.fakeIeBodyRow.rowIndex);
this.fakeIeBodyRow = null;
}
- }
+ };
this.selectionManager.refreshEvents();
this.updateLayout();
this.selectionManager.restoreState();
Modified:
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTableHeader.js
===================================================================
---
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTableHeader.js 2008-09-09
12:20:21 UTC (rev 10376)
+++
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTableHeader.js 2008-09-09
12:52:34 UTC (rev 10377)
@@ -276,10 +276,6 @@
}
if (delta > this.maxDelta) {
delta = this.maxDelta;
- }
- if (ClientUILib.isIE) {
- // sep span width
- delta -= 6;
}
var columnIndex = this.dragColumnInfo.srcElement.columnIndex;
var newWidth = this.getColumnWidth(columnIndex) + delta;
@@ -320,10 +316,12 @@
}
},
_redrawTable: function(table) {
+ table.hide(); //this is for opera < 9.5
var tr = table.insertRow(0);
var td = tr.insertCell(0);
td.setAttribute("colspan", 5);
td.innerHTML = "safari-must-have-something-inserted-to-redraw-table";
table.deleteRow(tr.rowIndex);
+ table.show();
}
});
\ No newline at end of file
Modified:
trunk/ui/extendedDataTable/src/main/resources/org/richfaces/renderkit/html/css/extendedDataTable.xcss
===================================================================
---
trunk/ui/extendedDataTable/src/main/resources/org/richfaces/renderkit/html/css/extendedDataTable.xcss 2008-09-09
12:20:21 UTC (rev 10376)
+++
trunk/ui/extendedDataTable/src/main/resources/org/richfaces/renderkit/html/css/extendedDataTable.xcss 2008-09-09
12:52:34 UTC (rev 10377)
@@ -10,6 +10,7 @@
.extdt-table-layout {
table-layout: fixed;
+ border-spacing: 0;
}
.extdt-table-filterrow {
@@ -32,6 +33,7 @@
}
.extdt-fakeierow {
+ display: none;
}
.extdt-thead {