Author: konstantin.mishin
Date: 2010-01-04 13:08:50 -0500 (Mon, 04 Jan 2010)
New Revision: 16235
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java
root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/extendedDataTable.js
Log:
RF-7868
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java
===================================================================
---
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java 2010-01-04
13:13:05 UTC (rev 16234)
+++
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java 2010-01-04
18:08:50 UTC (rev 16235)
@@ -25,6 +25,7 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import javax.faces.application.ResourceDependencies;
import javax.faces.application.ResourceDependency;
@@ -140,6 +141,7 @@
writer.endElement(HTML.DIV_ELEM);
writer.startElement(HTML.INPUT_ELEM, component);
writer.writeAttribute(HTML.ID_ATTRIBUTE, component.getClientId(context) +
":wi", null);
+ writer.writeAttribute(HTML.NAME_ATTRIBUTE, component.getClientId(context) +
":wi", null);
writer.writeAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_HIDDEN, null);
writer.endElement(HTML.INPUT_ELEM);
writer.startElement(HTML.SCRIPT_ELEM, component);
@@ -329,9 +331,35 @@
writer.endElement(HTML.TR_ELEMENT);
}
+
+ @Override
+ protected void doDecode(FacesContext context, UIComponent component) {
+ super.doDecode(context, component);
+ Map<String, String> map =
context.getExternalContext().getRequestParameterMap();
+ updateWidthOfColumns(component, map.get(component.getClientId(context) +
":wi"));
+ }
+
+ /**
+ * @deprecated
+ * TODO should be
+ */
+ private void updateWidthOfColumns(UIComponent component, String widthString) {
+ if (widthString != null && widthString.length() > 0) {
+ String[] widthArray = widthString.split(",");
+ for (int i = 0; i < widthArray.length; i++) {
+ String[] widthEntry = widthArray[i].split(":");
+ UIComponent column = component.findComponent(widthEntry[0]);
+ if (!widthEntry[1].equals(column.getAttributes().get("width")))
{
+ column.getAttributes().put("width", widthEntry[1]);
+ }
+ }
+
+ }
+ }
+
private String getColumnWidth(UIComponent column) {
String width = (String) column.getAttributes().get("width");
- if (width == null || width.indexOf("%") != -1) {
+ if (width == null || width.length() == 0 || width.indexOf("%") != -1)
{
width = "100px";
}
return width;
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/extendedDataTable.js
===================================================================
---
root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/extendedDataTable.js 2010-01-04
13:13:05 UTC (rev 16234)
+++
root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/extendedDataTable.js 2010-01-04
18:08:50 UTC (rev 16235)
@@ -168,6 +168,7 @@
widthInput.value = widthsArray.toString();
updateLayout();
adjustResizers();
+ richfaces.ajax(element, event); // Maybe, event model should be used here.
};
jQuery(document).ready(initializeLayout);
Show replies by date