[Mapbender-commits] r4612 - trunk/mapbender/lib

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Thu Sep 10 11:54:27 EDT 2009


Author: christoph
Date: 2009-09-10 11:54:27 -0400 (Thu, 10 Sep 2009)
New Revision: 4612

Modified:
   trunk/mapbender/lib/customTreeController.js
   trunk/mapbender/lib/customTreeModel.js
Log:


Modified: trunk/mapbender/lib/customTreeController.js
===================================================================
--- trunk/mapbender/lib/customTreeController.js	2009-09-10 15:54:00 UTC (rev 4611)
+++ trunk/mapbender/lib/customTreeController.js	2009-09-10 15:54:27 UTC (rev 4612)
@@ -35,6 +35,14 @@
 		for (var i = 0; i < additionalBehaviour.length; i++) {
 			var c = additionalBehaviour[i];
 			var additionalHtml = "<" + c.openTag + ">";
+			
+			if (typeof c.leadingBlank === "boolean" && c.leadingBlank) {
+				additionalHtml = "<span>&nbsp;</span>" + additionalHtml;
+			}
+			
+			if (typeof c.content === "string" && c.content !== "") {
+				additionalHtml += c.content;
+			}
 			if (typeof c.closeTag === "string" && c.closeTag !== "") {
 				additionalHtml += "</" + c.closeTag + ">";
 			}
@@ -53,18 +61,36 @@
 					var currentBehaviour = c.behaviour;
 					var $currentButton = $additionalButton;
 					for (var j in currentBehaviour) {
-						var beh = currentBehaviour[j];
-						$currentButton[j](function(){
-							beh({
-								treeNode: treeNode,
-								appId: that.myTree.appId
-							});
-						});
+						(function () {
+							var beh = currentBehaviour[j];
+							if (j === "click") {
+								$currentButton[j](function(){
+									beh({
+										treeNode: treeNode,
+										appId: that.myTree.appId,
+										$domNode: $currentButton
+									});
+								});
+								
+							}
+							else {
+								beh({
+									treeNode: treeNode,
+									appId: that.myTree.appId,
+									$domNode: $currentButton
+								});
+							}
+							
+						})();
 					}
 				})();
 			}
-			
-			$domNode.children("span").prepend($additionalButton);
+			if (typeof c.after === "boolean" && c.after) {
+				$domNode.children("span").append($additionalButton);
+			}
+			else {
+				$domNode.children("span").prepend($additionalButton);
+			}
 		}
 		
 		treeNode.hasChanged = function () {
@@ -539,4 +565,4 @@
 			last: true
 		});
 	}
-};
\ No newline at end of file
+};

Modified: trunk/mapbender/lib/customTreeModel.js
===================================================================
--- trunk/mapbender/lib/customTreeModel.js	2009-09-10 15:54:00 UTC (rev 4611)
+++ trunk/mapbender/lib/customTreeModel.js	2009-09-10 15:54:27 UTC (rev 4612)
@@ -338,6 +338,29 @@
 	};
 
 
+	var getCustomTreeByJson = function (json) {
+		var replyObj = eval('(' + json + ')');
+
+		that.root.name = "JSON";
+
+		var nodeArray = replyObj.data.nodeArray;
+		
+		that.importNestedSets(nodeArray);
+
+		displayMyTree = new customTreeController(that, {
+			contextMenu: options.contextMenu ? true : false,
+			droppable: options.droppable ? true : false,
+			draggable: typeof options.draggable === "undefined" ? 
+				false : options.draggable,
+			id: options.id ? 
+				options.id : "myTree" + ((new Date()).getTime()),
+			skipRootNode: typeof options.skipRootNode === "undefined" ? 
+				false : options.skipRootNode,
+			leafBehaviour: typeof options.leafBehaviour === "undefined" ? 
+				[] : options.leafBehaviour
+		});
+	};
+
 	var getCustomTreeByApplication = function (applicationName) {
 		that.appId = applicationName;
 		
@@ -382,6 +405,9 @@
 	if (typeof options === "object" && options.loadFromApplication) {
 		getCustomTreeByApplication(options.loadFromApplication);
 	}
+	else if (typeof options === "object" && options.loadFromJSON) {
+		getCustomTreeByJson(options.loadFromJSON);
+	}
 };
 
 /**



More information about the Mapbender_commits mailing list