[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