Author: abelevich
Date: 2009-12-23 10:02:35 -0500 (Wed, 23 Dec 2009)
New Revision: 16204
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UISubTable.java
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIToggleControl.java
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/event/ToggleEvent.java
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ToggleControlRendererBase.java
Log:
use context.attributes instead of requestMap for storing properties during render response
phase. Add subTable id to render on invoke application phase
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UISubTable.java
===================================================================
---
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UISubTable.java 2009-12-23
14:58:36 UTC (rev 16203)
+++
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UISubTable.java 2009-12-23
15:02:35 UTC (rev 16204)
@@ -121,12 +121,6 @@
throw new IllegalArgumentException("subtable is not sortable
element");
}
-// @Override
-// public void walk(FacesContext context, DataVisitor visitor, Object argument) {
-// resetDataModel(context);
-// super.walk(context, visitor, argument);
-// }
-
public String getSwichType() {
return (String) getStateHelper().eval(PropertyKeys.switchType,
SWITCH_TYPE_SERVER);
}
@@ -210,7 +204,7 @@
if (event instanceof ToggleEvent) {
ToggleEvent toggleEvent = (ToggleEvent) event;
-
+
// not sure that this is right ... need to discuss
SubTableState state = getCurrentComponentState();
if (event.isAppropriateListener(state)) {
@@ -221,6 +215,10 @@
if (expression != null) {
expression.invoke(getFacesContext().getELContext(), new Object[] {
toggleEvent });
}
+
+ UIToggleControl toggle = (UIToggleControl)toggleEvent.getSource();
+// toggle.addExecuteId((String)getAttributes().get("clientId"));
+ toggle.addRenderId((String)getAttributes().get("clientId"));
}
}
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIToggleControl.java
===================================================================
---
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIToggleControl.java 2009-12-23
14:58:36 UTC (rev 16203)
+++
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIToggleControl.java 2009-12-23
15:02:35 UTC (rev 16204)
@@ -56,30 +56,33 @@
public Collection<String> getExecute() {
Collection<String> execute =
(Collection<String>)getStateHelper().get(PropertyKeys.execute);
if(execute == null) {
- execute = new LinkedHashSet<String>();
- execute.add("@this");
+ execute = getDefaultIds();
getStateHelper().put(PropertyKeys.execute, execute);
}
return execute;
}
public void addExecuteId(String id){
- ((Collection<String>)getStateHelper().get(PropertyKeys.execute)).add(id);
+ getExecute().add(id);
}
-
-
+
public Collection<String> getRender() {
Collection<String> render =
(Collection<String>)getStateHelper().get(PropertyKeys.render);
if(render == null) {
- render = new LinkedHashSet<String>();
- render.add("@this");
+ render = getDefaultIds();
getStateHelper().put(PropertyKeys.render, render);
}
return render;
}
public void addRenderId(String id){
- ((Collection<String>)getStateHelper().get(PropertyKeys.render)).add(id);
+ getRender().add(id);
}
+
+ private Collection<String> getDefaultIds() {
+ Collection<String> ids = new LinkedHashSet<String>();
+ ids.add("@this");
+ return ids;
+ }
}
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/event/ToggleEvent.java
===================================================================
---
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/event/ToggleEvent.java 2009-12-23
14:58:36 UTC (rev 16203)
+++
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/event/ToggleEvent.java 2009-12-23
15:02:35 UTC (rev 16204)
@@ -13,9 +13,12 @@
private static final long serialVersionUID = 2916560585918250885L;
private boolean expanded;
+
+ private UIComponent target;
- public ToggleEvent(UIComponent target, boolean expanded) {
- super(target);
+ public ToggleEvent(UIComponent source, UIComponent target, boolean expanded) {
+ super(source);
+ this.target = target;
this.expanded = expanded;
}
@@ -32,4 +35,9 @@
public void processListener(FacesListener listener) {
((ToggleListener) listener).processToggle(this);
}
+
+ @Override
+ public UIComponent getComponent() {
+ return this.target;
+ }
}
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
===================================================================
---
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java 2009-12-23
14:58:36 UTC (rev 16203)
+++
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java 2009-12-23
15:02:35 UTC (rev 16204)
@@ -130,10 +130,10 @@
dataTable.setRowKey(context, null);
encodeTableStructure(writer, context, dataTable);
- saveToRequest(context, CELL_ELEMENT_KEY, HTML.TH_ELEM);
+ put(context, CELL_ELEMENT_KEY, HTML.TH_ELEM);
encodeHeaderFacet(writer, context, dataTable);
encodeFooterFacet(writer, context, dataTable);
- saveToRequest(context, CELL_ELEMENT_KEY, HTML.TD_ELEM);
+ put(context, CELL_ELEMENT_KEY, HTML.TD_ELEM);
dataTable.setRowKey(context, key);
dataTable.restoreOrigValue(context);
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java
===================================================================
---
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java 2009-12-23
14:58:36 UTC (rev 16203)
+++
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java 2009-12-23
15:02:35 UTC (rev 16204)
@@ -106,33 +106,33 @@
protected String getFirstRowClass(FacesContext context) {
- return getFromRequest(context, FIRST_ROW_CLASS_KEY);
+ return get(context, FIRST_ROW_CLASS_KEY);
}
protected String getRowClass(FacesContext context) {
- return getFromRequest(context, ROW_CLASS_KEY);
+ return get(context, ROW_CLASS_KEY);
}
protected String getCellClass(FacesContext context) {
- return getFromRequest(context, CELL_CLASS_KEY);
+ return get(context, CELL_CLASS_KEY);
}
protected String getCellElement(FacesContext context) {
- return getFromRequest(context, CELL_ELEMENT_KEY);
+ return get(context, CELL_ELEMENT_KEY);
}
- private String getFromRequest(FacesContext context, String key) {
- return (String)context.getExternalContext().getRequestMap().get(key);
+ private String get(FacesContext context, String key) {
+ return (String)context.getAttributes().get(key);
}
- protected void saveToRequest(FacesContext context, String key, String value) {
- context.getExternalContext().getRequestMap().put(key, value);
+ protected void put(FacesContext context, String key, String value) {
+ context.getAttributes().put(key, value);
}
protected void saveRowStyles(FacesContext context, String firstRowClass, String
rowClass, String cellClass) {
- saveToRequest(context, FIRST_ROW_CLASS_KEY, firstRowClass);
- saveToRequest(context, ROW_CLASS_KEY, rowClass);
- saveToRequest(context, CELL_CLASS_KEY, cellClass);
+ put(context, FIRST_ROW_CLASS_KEY, firstRowClass);
+ put(context, ROW_CLASS_KEY, rowClass);
+ put(context, CELL_CLASS_KEY, cellClass);
}
public void encodeStyleClass(ResponseWriter writer, FacesContext context, UIComponent
component,
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java
===================================================================
---
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java 2009-12-23
14:58:36 UTC (rev 16203)
+++
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java 2009-12-23
15:02:35 UTC (rev 16204)
@@ -35,7 +35,7 @@
@Override
public void encodeTableStart(ResponseWriter writer, FacesContext context,
UIDataTableBase dataTable) throws IOException {
- saveToRequest(context, CELL_ELEMENT_KEY, HTML.TD_ELEM);
+ put(context, CELL_ELEMENT_KEY, HTML.TD_ELEM);
UISubTable subTable = (UISubTable)dataTable;
encodeTableBodyStart(writer, context, subTable);
}
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ToggleControlRendererBase.java
===================================================================
---
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ToggleControlRendererBase.java 2009-12-23
14:58:36 UTC (rev 16203)
+++
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ToggleControlRendererBase.java 2009-12-23
15:02:35 UTC (rev 16204)
@@ -65,12 +65,11 @@
boolean prevState = ((Expandable) processed).isExpanded();
if (newState != prevState) {
- new ToggleEvent(processed, newState).queue();
+ new ToggleEvent(toggle, processed, newState).queue();
}
-//
toggle.getExecute().add((String)processed.getAttributes().get("clientId"));
-//
toggle.getRender().add((String)processed.getAttributes().get("clientId"));
-
toggle.addExecuteId((String)processed.getAttributes().get("clientId"));
-
toggle.addRenderId((String)processed.getAttributes().get("clientId"));
+
+//
toggle.addExecuteId((String)processed.getAttributes().get("clientId"));
+//
toggle.addRenderId((String)processed.getAttributes().get("clientId"));
}
}
}