[richfaces-svn-commits] JBoss Rich Faces SVN: r2280 - in trunk: framework/impl/src/main/javascript/ajaxjsf and 3 other directories.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Wed Aug 15 18:20:20 EDT 2007
Author: alexsmirnov
Date: 2007-08-15 18:20:20 -0400 (Wed, 15 Aug 2007)
New Revision: 2280
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/component/UIDataAdaptor.java
trunk/framework/impl/src/main/javascript/ajaxjsf/JSFAJAX.js
trunk/samples/richfaces-demo/src/main/webapp/WEB-INF/web.xml
trunk/samples/richfaces-demo/src/main/webapp/richfaces/dataTable/examples/extendedDataModel.xhtml
trunk/samples/richfaces-demo/src/main/webapp/richfaces/dataTable/extended-data-model.xhtml
Log:
fix state save/restore in subtable.
Fix exception in IE on clear old node content by innerHTML .
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/component/UIDataAdaptor.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/component/UIDataAdaptor.java 2007-08-15 19:44:05 UTC (rev 2279)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/component/UIDataAdaptor.java 2007-08-15 22:20:20 UTC (rev 2280)
@@ -506,7 +506,7 @@
*/
protected void setExtendedDataModel(ExtendedDataModel model) {
this._currentModel = model;
- // this._modelsMap.put(getBaseClientId(getFacesContext()), model);
+ this._modelsMap.put(getBaseClientId(getFacesContext()), model);
}
/**
@@ -518,14 +518,13 @@
*/
protected ExtendedDataModel getExtendedDataModel() {
if (this._currentModel == null) {
- // String baseClientId = getBaseClientId(getFacesContext());
+ String baseClientId = getBaseClientId(getFacesContext());
ExtendedDataModel model;
- // model = (ExtendedDataModel) this._modelsMap
- // .get(baseClientId);
- // if (null == model) {
- model = createDataModel();
- // this._modelsMap.put(baseClientId, model);
- // }
+ model = (ExtendedDataModel) this._modelsMap.get(baseClientId);
+ if (null == model) {
+ model = createDataModel();
+ this._modelsMap.put(baseClientId, model);
+ }
this._currentModel = model;
}
return this._currentModel;
@@ -547,8 +546,8 @@
*/
public void setComponentState(DataComponentState state) {
this._currentState = state;
- // this._statesMap.put(getBaseClientId(getFacesContext()),
- // this._currentState);
+ this._statesMap.put(getBaseClientId(getFacesContext()),
+ this._currentState);
}
/**
@@ -559,8 +558,8 @@
if (this._currentState == null) {
// Check for binding state to user bean.
ValueBinding valueBinding = getValueBinding(UIDataAdaptor.COMPONENT_STATE_ATTRIBUTE);
+ FacesContext facesContext = getFacesContext();
if (null != valueBinding) {
- FacesContext facesContext = getFacesContext();
state = (DataComponentState) valueBinding
.getValue(facesContext);
if (null == state) {
@@ -573,14 +572,13 @@
}
} else {
// Check for stored state in map for parent iterations
- // String baseClientId = getBaseClientId(facesContext);
- // state = (DataComponentState)
- // this._statesMap.get(baseClientId);
- // if (null == state) {
- // Create default component state
- state = createComponentState();
- // this._statesMap.put(baseClientId, state);
- // }
+ String baseClientId = getBaseClientId(facesContext);
+ state = (DataComponentState) this._statesMap.get(baseClientId);
+ if (null == state) {
+ // Create default component state
+ state = createComponentState();
+ this._statesMap.put(baseClientId, state);
+ }
this._currentState = state;
}
} else {
@@ -659,8 +657,9 @@
public void setId(String id) {
// If component created by restoring tree or JSP, initial Id is null.
boolean haveId = null != super.getId();
- String baseClientId = haveId ? getBaseClientId(getFacesContext())
- : null;
+ String baseClientId;
+// baseClientId = haveId ? getBaseClientId(getFacesContext())
+// : null;
super.setId(id);
_baseClientId = null;
_clientId = null;
@@ -670,9 +669,9 @@
// we use it for
// switch to different model and state.
// Step one - save old values.
- this._statesMap.put(baseClientId, this._currentState);
- this._modelsMap.put(baseClientId, this._currentModel);
- this._ajaxRowKeysMap.put(baseClientId, this._ajaxRowKey);
+// this._statesMap.put(baseClientId, this._currentState);
+// this._modelsMap.put(baseClientId, this._currentModel);
+// this._ajaxRowKeysMap.put(baseClientId, this._ajaxRowKey);
// Step two - restore values for a new clientId.
baseClientId = getBaseClientId(getFacesContext());
this._currentState = (DataComponentState) this._statesMap
@@ -1288,10 +1287,6 @@
this._statesMap.put(key, compState);
this._modelsMap.put(key, idState.model);
}
- this._currentState = (DataComponentState) _statesMap
- .get(getBaseClientId(faces));
- this._currentModel = (ExtendedDataModel) _modelsMap
- .get(getBaseClientId(faces));
}
public Object saveState(FacesContext faces) {
@@ -1304,8 +1299,8 @@
Set encodedIds = getEncodedIds();
// Save all states of component and data model for all valies of
// clientId, encoded in this request.
- this._statesMap.put(getBaseClientId(faces), this._currentState);
- this._modelsMap.put(getBaseClientId(faces), this._currentModel);
+// this._statesMap.put(getBaseClientId(faces), this._currentState);
+// this._modelsMap.put(getBaseClientId(faces), this._currentModel);
for (Iterator iter = this._statesMap.entrySet().iterator(); iter
.hasNext();) {
Map.Entry stateEntry = (Map.Entry) iter.next();
Modified: trunk/framework/impl/src/main/javascript/ajaxjsf/JSFAJAX.js
===================================================================
--- trunk/framework/impl/src/main/javascript/ajaxjsf/JSFAJAX.js 2007-08-15 19:44:05 UTC (rev 2279)
+++ trunk/framework/impl/src/main/javascript/ajaxjsf/JSFAJAX.js 2007-08-15 22:20:20 UTC (rev 2280)
@@ -291,7 +291,12 @@
var anchor = oldnode.parentNode;
if(oldnode.outerHTML && !oldnode.tagName.match( /(tbody|thead|tfoot|tr|th|td)/i ) ){
LOG.debug("Replace content of node by outerHTML()");
- oldnode.innerHTML = "";
+ try {
+ oldnode.innerHTML = "";
+ } catch(e){
+ LOG.error("Error to clear node content by innerHTML");
+ Sarissa.clearChildNodes(oldnode);
+ }
oldnode.outerHTML = new XMLSerializer().serializeToString(newnode);
} else {
var importednode ;
Modified: trunk/samples/richfaces-demo/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/samples/richfaces-demo/src/main/webapp/WEB-INF/web.xml 2007-08-15 19:44:05 UTC (rev 2279)
+++ trunk/samples/richfaces-demo/src/main/webapp/WEB-INF/web.xml 2007-08-15 22:20:20 UTC (rev 2280)
@@ -54,6 +54,7 @@
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<dispatcher>INCLUDE</dispatcher>
+ <dispatcher>ERROR</dispatcher>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
Modified: trunk/samples/richfaces-demo/src/main/webapp/richfaces/dataTable/examples/extendedDataModel.xhtml
===================================================================
--- trunk/samples/richfaces-demo/src/main/webapp/richfaces/dataTable/examples/extendedDataModel.xhtml 2007-08-15 19:44:05 UTC (rev 2279)
+++ trunk/samples/richfaces-demo/src/main/webapp/richfaces/dataTable/examples/extendedDataModel.xhtml 2007-08-15 22:20:20 UTC (rev 2280)
@@ -4,8 +4,9 @@
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.ajax4jsf.org/rich">
-
- <rich:messages />
+
+ <rich:messages />
+
<h:form>
<rich:datascroller for="auction" maxPages="5"/>
<rich:spacer height="30" />
Modified: trunk/samples/richfaces-demo/src/main/webapp/richfaces/dataTable/extended-data-model.xhtml
===================================================================
--- trunk/samples/richfaces-demo/src/main/webapp/richfaces/dataTable/extended-data-model.xhtml 2007-08-15 19:44:05 UTC (rev 2279)
+++ trunk/samples/richfaces-demo/src/main/webapp/richfaces/dataTable/extended-data-model.xhtml 2007-08-15 22:20:20 UTC (rev 2280)
@@ -18,7 +18,7 @@
</ui:include>
<ui:include src="/templates/include/sourceview.xhtml">
- <ui:param name="sourcepath" value="/demosrc/org/richfaces/datatable/ExpenseReport.java"/>
+ <ui:param name="sourcepath" value="/WEB-INF/src/org/richfaces/datatable/ExpenseReport.java"/>
<ui:param name="openlabel" value="View Page Source" />
</ui:include>
More information about the richfaces-svn-commits
mailing list