[richfaces-svn-commits] JBoss Rich Faces SVN: r14254 - branches/community/3.3.X/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed May 20 13:05:27 EDT 2009


Author: nbelaevski
Date: 2009-05-20 13:05:26 -0400 (Wed, 20 May 2009)
New Revision: 14254

Modified:
   branches/community/3.3.X/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js
Log:
https://jira.jboss.org/jira/browse/RF-7179

Modified: branches/community/3.3.X/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js
===================================================================
--- branches/community/3.3.X/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js	2009-05-20 16:08:32 UTC (rev 14253)
+++ branches/community/3.3.X/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js	2009-05-20 17:05:26 UTC (rev 14254)
@@ -333,19 +333,9 @@
 				newLastPanel.enableInnerSelects();
 			}
 		} else {
-			var children = document.body.childNodes;
-			for (var k = 0; k < children.length; k++) {
-				var child = children[k];
-				
-				if (!child.getElementsByTagName) {
-					continue;
-				}
-				
-				var selects = child.getElementsByTagName("SELECT");
-
-				for (var i = 0; i < selects.length; i++) {
-					this.enableSelect(selects[i]);
-				}
+			var selects = document.body.getElementsByTagName("SELECT");
+			for (var i = 0; i < selects.length; i++) {
+				this.enableSelect(selects[i]);
 			}
 		}
 	},
@@ -363,24 +353,28 @@
 			this.enableInnerSelects();
 		} else {
 			//disable all outer 
-			var children = document.body.childNodes;
-			for (var k = 0; k < children.length; k++) {
-				var child = children[k];
-				
-				if (child == this.id) {
-					continue;
+			var selects = document.body.getElementsByTagName("SELECT");
+
+			var innerSelects = this.id.getElementsByTagName("SELECT");
+			var firstInnerSelect = innerSelects[0];
+			var lastInnerSelect = innerSelects[innerSelects.length - 1];
+			
+			var selectsAreInner = false;
+			
+			for (var i = 0; i < selects.length; i++) {
+				var select = selects[i];
+				if (select == firstInnerSelect) {
+					selectsAreInner = true;
 				}
 				
-				if (!child.getElementsByTagName) {
-					continue;
+				if (!selectsAreInner) {
+					this.disableSelect(select);
 				}
 				
-				var selects = child.getElementsByTagName("SELECT");
-
-				for (var i = 0; i < selects.length; i++) {
-					this.disableSelect(selects[i]);
+				if (select == lastInnerSelect) {
+					selectsAreInner = false;
 				}
-			}				
+			}
 		}
 	},
 	




More information about the richfaces-svn-commits mailing list