Author: nbelaevski
Date: 2010-05-20 11:11:06 -0400 (Thu, 20 May 2010)
New Revision: 17165
Modified:
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java
Log:
https://jira.jboss.org/browse/RF-8629
https://jira.jboss.org/browse/RF-8630
Modified:
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
===================================================================
---
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java 2010-05-20
15:09:42 UTC (rev 17164)
+++
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java 2010-05-20
15:11:06 UTC (rev 17165)
@@ -35,7 +35,6 @@
import org.richfaces.component.Row;
import org.richfaces.component.UIDataTableBase;
import org.richfaces.component.UISubTable;
-import org.richfaces.context.OnOffResponseWriter;
@ResourceDependencies(value = { @ResourceDependency(library = "javax.faces",
name = "jsf.js"),
@ResourceDependency(name = "jquery.js"), @ResourceDependency(name =
"richfaces.js"), @ResourceDependency(name = "richfaces-event.js")})
@@ -99,7 +98,7 @@
encodeTableStructure(writer, context, dataTable);
String id = dataTable.getClientId(context);
- put(context, id, CELL_ELEMENT_KEY, HTML.TH_ELEM);
+ setupTableStartElement(context, dataTable);
encodeHeaderFacet(writer, context, dataTable, false);
encodeFooterFacet(writer, context, dataTable, false);
put(context, id, CELL_ELEMENT_KEY, HTML.TD_ELEM);
@@ -188,7 +187,7 @@
boolean encodeTfoot = containsThead();
if (encodeTfoot) {
- String footerClientId = dataTable.getClientId(context) +
":footer";
+ String footerClientId = dataTable.getClientId(context) +
":tf";
if (encodePartialUpdate) {
partialUpdateEncoded = true;
@@ -218,7 +217,7 @@
saveRowStyles(context,id, firstClass, rowClass, cellClass);
- String targetId = id + ":colsFooter";
+ String targetId = id + ":cf";
if (encodePartialUpdateForChildren) {
context.getPartialViewContext().getPartialResponseWriter().startUpdate(targetId);
@@ -290,7 +289,7 @@
boolean partialUpdateEncoded = false;
if (encodeThead) {
- String headerClientId = dataTable.getClientId(context) +
":header";
+ String headerClientId = dataTable.getClientId(context) +
":th";
if (encodePartialUpdate) {
partialUpdateEncoded = true;
@@ -332,7 +331,7 @@
firstClass = mergeStyleClasses("columnHeaderFirstClass",
firstClass, dataTable);
saveRowStyles(context, id, firstClass, rowClass, cellClass);
- String targetId = id + ":colsHeader";
+ String targetId = id + ":ch";
if (encodePartialUpdateForChildren) {
context.getPartialViewContext().getPartialResponseWriter().startUpdate(targetId);
@@ -417,7 +416,7 @@
boolean partialUpdateEncoded = false;
if (!isColumnGroup) {
- String targetId = id + ":" + facetName;
+ String targetId = id + ":" + facetName.charAt(0);
if (encodePartialUpdate) {
partialUpdateEncoded = true;
@@ -496,28 +495,21 @@
public abstract String getCellSkinClass();
+ protected abstract void setupTableStartElement(FacesContext context, UIComponent
component);
+
public void encodeMetaComponent(FacesContext context, UIComponent component, String
metaComponentId)
throws IOException {
- ResponseWriter initialWriter = context.getResponseWriter();
- assert !(initialWriter instanceof OnOffResponseWriter);
-
- try {
- context.setResponseWriter(new OnOffResponseWriter(initialWriter));
-
- UIDataTableBase table = (UIDataTableBase) component;
-
- if (UIDataTableBase.HEADER.equals(metaComponentId)) {
- encodeHeaderFacet(context.getResponseWriter(), context, table, true);
- } else if (UIDataTableBase.FOOTER.equals(metaComponentId)) {
- encodeFooterFacet(context.getResponseWriter(), context, table, true);
-// } else if (UIDataTableBase.BODY.equals(metaComponentId)) {
-// encodeBody(state);
- } else {
- throw new IllegalArgumentException("Unsupported
metaComponentIdentifier: " + metaComponentId);
- }
- } finally {
- context.setResponseWriter(initialWriter);
+ UIDataTableBase table = (UIDataTableBase) component;
+
+ setupTableStartElement(context, component);
+
+ if (UIDataTableBase.HEADER.equals(metaComponentId)) {
+ encodeHeaderFacet(context.getResponseWriter(), context, table, true);
+ } else if (UIDataTableBase.FOOTER.equals(metaComponentId)) {
+ encodeFooterFacet(context.getResponseWriter(), context, table, true);
+ } else {
+ throw new IllegalArgumentException("Unsupported metaComponentIdentifier:
" + metaComponentId);
}
}
}
Modified:
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java
===================================================================
---
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java 2010-05-20
15:09:42 UTC (rev 17164)
+++
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java 2010-05-20
15:11:06 UTC (rev 17165)
@@ -415,4 +415,9 @@
public String getFooterCellSkinClass() {
return "rich-table-footer-cell";
}
+
+ protected void setupTableStartElement(FacesContext context, UIComponent component) {
+ put(context, component.getClientId(context), CELL_ELEMENT_KEY, HTML.TH_ELEM);
+ }
+
}
Modified:
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java
===================================================================
---
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java 2010-05-20
15:09:42 UTC (rev 17164)
+++
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java 2010-05-20
15:11:06 UTC (rev 17165)
@@ -89,7 +89,7 @@
@Override
public void encodeTableStart(ResponseWriter writer, FacesContext context,
UIDataTableBase dataTable) throws IOException {
- put(context, dataTable.getClientId(context), CELL_ELEMENT_KEY, HTML.TD_ELEM);
+ setupTableStartElement(context, dataTable);
UISubTable subTable = (UISubTable)dataTable;
encodeTableBodyStart(writer, context, subTable);
}
@@ -265,4 +265,8 @@
public String getHeaderSkinClass() {
return "rich-subtable-header";
}
+
+ protected void setupTableStartElement(FacesContext context, UIComponent component) {
+ put(context, component.getClientId(context), CELL_ELEMENT_KEY, HTML.TD_ELEM);
+ }
}