You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2011/02/16 05:33:42 UTC

svn commit: r1071141 - /labs/magma/trunk/website-autoajax/src/main/resources/org/apache/magma/website/autoajax/autoajax.js

Author: simoneg
Date: Wed Feb 16 04:33:42 2011
New Revision: 1071141

URL: http://svn.apache.org/viewvc?rev=1071141&view=rev
Log:
Better way to understand proper order of elements in the dom after updates

Modified:
    labs/magma/trunk/website-autoajax/src/main/resources/org/apache/magma/website/autoajax/autoajax.js

Modified: labs/magma/trunk/website-autoajax/src/main/resources/org/apache/magma/website/autoajax/autoajax.js
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-autoajax/src/main/resources/org/apache/magma/website/autoajax/autoajax.js?rev=1071141&r1=1071140&r2=1071141&view=diff
==============================================================================
--- labs/magma/trunk/website-autoajax/src/main/resources/org/apache/magma/website/autoajax/autoajax.js (original)
+++ labs/magma/trunk/website-autoajax/src/main/resources/org/apache/magma/website/autoajax/autoajax.js Wed Feb 16 04:33:42 2011
@@ -59,15 +59,12 @@ magma.autoajax = new function() {
 	 * other methods work correctly. 
 	 */
 	this.updateState = function(statepart) {
-		var cnt=0;
 		for (var id in statepart) {
 			var grp = statepart[id];
 			var ele = document.getElementById(id);
 			if (ele) {
 				grp.domElement=ele;
 			}
-			grp.order = cnt;
-			cnt++;
 			this.state.elements[id] = grp;
 		}
 	}
@@ -115,31 +112,45 @@ magma.autoajax = new function() {
 				}
 			}
 		}
+		
+		function zeropad(str) {
+			while (str.length % 3 != 0) str = '0' + str;
+			return str;
+		}
+		
 		// Find parents and children
 		for (var id in this.state.elements) {
 			var stategrp = this.state.elements[id];
 			if (stategrp.type == 'tpl') continue;
-			var ele = stategrp.domElement;
-			ele = ele.parentNode;
-			while (ele) {
-				if (this.state.elements[ele.id]) {
-					stategrp.parent=this.state.elements[ele.id];
-					this.state.elements[ele.id].children.push(stategrp);
+			var indexstr = '';
+			var ele = $(stategrp.domElement);
+			indexstr = zeropad(ele.index() + indexstr);
+			ele = ele.parent();
+			while (ele.length > 0) {
+				indexstr = zeropad(ele.index() + indexstr);
+				var pid = ele[0].id;
+				var ps = this.state.elements[ele[0].id] 
+				if (ps) {
+					stategrp.parent=ps;
+					ps.children.push(stategrp);
 					break;
 				};
-				ele = ele.parentNode;
+				ele = ele.parent();
 			}
 			if (stategrp.parent == null) {
 				stategrp.parent = this.state.root;
 				this.state.root.children.push(stategrp);
 			}
+			stategrp.order = indexstr;
 		}		
 		
 		for (var id in this.state.elements) {
 			var stategrp = this.state.elements[id];
 			if (stategrp.children && stategrp.children.length > 0) {
 				stategrp.children.sort(function(a,b) {
-					return a.order - b.order;
+					if (a.order < b.order) return -1;
+					if (b.order < a.order) return 1;
+					return 0;
 				});
 			}
 		}		



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org