[Mapbender-commits] r4541 - in trunk/mapbender/http: css img php

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Fri Aug 28 08:31:50 EDT 2009


Author: christoph
Date: 2009-08-28 08:31:50 -0400 (Fri, 28 Aug 2009)
New Revision: 4541

Added:
   trunk/mapbender/http/css/customTree.css
   trunk/mapbender/http/img/closed_folder.png
   trunk/mapbender/http/img/expanded_folder.png
   trunk/mapbender/http/img/treeview-default-line.gif
   trunk/mapbender/http/img/treeview-default.gif
Modified:
   trunk/mapbender/http/php/mod_customTree.php
   trunk/mapbender/http/php/mod_customTree_server.php
Log:
added CSS 

did some bug fixing

http://trac.osgeo.org/mapbender/ticket/389

Added: trunk/mapbender/http/css/customTree.css
===================================================================
--- trunk/mapbender/http/css/customTree.css	                        (rev 0)
+++ trunk/mapbender/http/css/customTree.css	2009-08-28 12:31:50 UTC (rev 4541)
@@ -0,0 +1,81 @@
+.custom-tree-treeview, .custom-tree-treeview ul {
+	list-style-image:none;
+	list-style-position:outside;
+	list-style-type:none;
+	margin:0;
+	padding:0;
+}
+
+.custom-tree-treeview ul {
+	background-color:transparent;
+	margin-top:1px;
+}
+
+.custom-tree-treeview .custom-tree-hitarea {
+	background:transparent url(../img/treeview-default.gif) no-repeat scroll -64px -25px;
+	cursor:pointer;
+	float:left;
+	height:16px;
+	margin-left:-16px;
+	width:16px;
+}
+
+* html .custom-tree-hitarea {
+	display:inline;
+	float:none;
+}
+
+.custom-tree-filetree li {
+	padding:3px 0 2px 16px;
+}
+
+.custom-tree-treeview a.selected {
+	background-color:#EEEEEE;
+}
+
+.custom-tree-treeview li {
+	background:transparent url(../img/treeview-default-line.gif) no-repeat scroll 0 0;
+}
+
+.custom-tree-treeview li.custom-tree-collapsable, .custom-tree-treeview li.custom-tree-expandable {
+	background-position:0 -176px;
+}
+
+.custom-tree-treeview .custom-tree-expandable-hitarea {
+	background-position:-80px -3px;
+}
+.custom-tree-treeview li.custom-tree-last {
+	background-position:0 -1766px;
+}
+.custom-tree-treeview li.custom-tree-lastCollapsable, .custom-tree-treeview li.custom-tree-lastExpandable {
+	background-image:url(../img/treeview-default.gif);
+}
+.custom-tree-treeview li.custom-tree-lastCollapsable {
+	background-position:0 -111px;
+}
+.custom-tree-treeview li.custom-tree-lastExpandable {
+	background-position:-32px -67px;
+}
+.custom-tree-treeview div.custom-tree-lastCollapsable-hitarea, .custom-tree-treeview div.custom-tree-lastExpandable-hitarea {
+	background-position:0 50%;
+}
+
+.custom-tree-filetree span.custom-tree-folder, .custom-tree-filetree {
+	display:block;
+}
+.custom-tree-filetree span.custom-tree-folder {
+	background:transparent url(../img//expanded_folder.png) no-repeat scroll 0 0;
+}
+.custom-tree-filetree li.custom-tree-expandable span.custom-tree-folder {
+	background:transparent url(../img/closed_folder.png) no-repeat scroll 0 0;
+}
+
+span.custom-tree-folder {
+	padding: 3px 0 3px 18px;
+	margin: -3px 0 0 0;
+}
+
+span.custom-tree-file img {
+	vertical-align: bottom;
+	margin: 0 2px 0 0;
+}
\ No newline at end of file

Added: trunk/mapbender/http/img/closed_folder.png
===================================================================
(Binary files differ)


Property changes on: trunk/mapbender/http/img/closed_folder.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/mapbender/http/img/expanded_folder.png
===================================================================
(Binary files differ)


Property changes on: trunk/mapbender/http/img/expanded_folder.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/mapbender/http/img/treeview-default-line.gif
===================================================================
(Binary files differ)


Property changes on: trunk/mapbender/http/img/treeview-default-line.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/mapbender/http/img/treeview-default.gif
===================================================================
(Binary files differ)


Property changes on: trunk/mapbender/http/img/treeview-default.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Modified: trunk/mapbender/http/php/mod_customTree.php
===================================================================
--- trunk/mapbender/http/php/mod_customTree.php	2009-08-28 12:27:20 UTC (rev 4540)
+++ trunk/mapbender/http/php/mod_customTree.php	2009-08-28 12:31:50 UTC (rev 4541)
@@ -7,16 +7,11 @@
 	<head>
 		<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET;?>" />
 		<title>Untitled Document</title>
+		<link rel="stylesheet" type="text/css" href="../css/customTree.css">
 		<style type="text/css">
 			.ui-selecting {
 			  color:red;
 			}
-			.treeNode {
-			  color:green;
-			}
-			.treeLeaf {
-			  color:blue;
-			}
 			.ui-selected {
 			  border-width:thin;
 			  border-style:solid;
@@ -47,7 +42,7 @@
 	require_once(dirname(__FILE__) . "/../extensions/jquery.contextmenu.r2.js");
 	require_once(dirname(__FILE__) . "/../extensions/jqjson.js");
 	require_once(dirname(__FILE__) . "/../javascripts/popup.js");
-	require_once(dirname(__FILE__) . "/../../lib/event.js");
+	require_once(dirname(__FILE__) . "/../javascripts/core.php");
 	require_once(dirname(__FILE__) . "/../../lib/customTreeModel.js");
 	require_once(dirname(__FILE__) . "/../../lib/customTreeController.js");
 	require_once(dirname(__FILE__) . "/../../lib/buttonNew.js");
@@ -57,23 +52,7 @@
 
 			var applicationId;
 
-			var findAllWmsInTree = function (aTree) {
-				return findAllWmsInNode(aTree.root).sort();
-			};
 
-			findAllWmsInNode = function (aNode) {
-				if (!aNode.isFolder) {
-					return [aNode.wmsId];
-				}
-				var wmsIdArray = [];
-				for (var i = 0; i < aNode.childNodeList.count(); i++) {
-					var child = aNode.childNodeList.get(i);
-					var newArray = findAllWmsInNode(child);
-					wmsIdArray = wmsIdArray.concat(newArray);
-				}
-				return wmsIdArray;
-			};
-
 			var saveTreeOnUnloadOrChange = function (myTree) {
 				if (myTree.hasChanged) {
 					var saveChanges = confirm("You have changed the tree. All changes will be lost. Save changes?");
@@ -86,89 +65,18 @@
 				}
 			};
 
-			var addMissingWmsToCustomTree = function (aTree, anApplicationId) {
-				// get available WMS ...
-				var queryObj = {
-					command:"getWmsByApplication",
-					parameters: {
-						"applicationId": anApplicationId
-					}
-				};				
 
-				$.post("../php/mod_customTree_server.php", {
-					queryObj:$.toJSON(queryObj)
-				}, function (json, status) {
-					var replyObj = eval('(' + json + ')');
-
-					var root = aTree.root;
-
-					var wmsIdArray = findAllWmsInTree(aTree);
-					
-					for (var index in replyObj.data.wmsArray) {
-						var found = false;
-						for (var j = 0; j < wmsIdArray.length; j++) {
-							if (wmsIdArray[j] == index) {
-								found = true;
-								break;
-							}
-						}
-						if (!found) {
-							var wmsNode = new CustomTreeNode();
-							wmsNode.name = replyObj.data.wmsArray[index];
-							wmsNode.wmsId = index;
-							myTree.root.append(wmsNode);
-						}
-					}
-
-					myTree.hasChanged = false;
-					
-					displayMyTree = new customTreeController(myTree, {
-						contextMenu: true,
-						droppable: true,
-						id: "myTree"
-					});
-					
-				});
-			};
-
-			var getCustomTreeByApplication = function (applicationName) {
-				// load a previously saved 
-				// customized tree from the database
-				var queryObj = {
-					command:"getCustomTreeByApplication",
-					parameters: {
-						"applicationId":applicationName
-					}
-				};				
-
-				$.post("../php/mod_customTree_server.php", {
-					queryObj:$.toJSON(queryObj)
-				}, function (json, status) {
-					var replyObj = eval('(' + json + ')');
-
-					myTree = new CustomTree();
-					var root = myTree.root;
-					root.name = "(" + applicationId + ")";
-
-					var nodeArray = replyObj.data.nodeArray;
-					
-					myTree.importNestedSets(nodeArray);
-
-					addMissingWmsToCustomTree(myTree, applicationId);
-
-					displayMyTree = new customTreeController(myTree, {
-						contextMenu: true,
-						droppable: true,
-						id: "myTree"
-					});
-				});
-			};
-
 			var selectApplication = function (applicationName) {
 
 				applicationId = applicationName;
 
-				getCustomTreeByApplication(applicationId);
+				myTree = new CustomTree({
+					loadFromApplication: applicationName,
+					draggable: true,
+					droppable: true,
+					id: "myTree",
+					contextMenu: true
+				});
 			}
 			
 			var getApplications = function () {
@@ -253,11 +161,13 @@
 						$.post("../php/mod_customTree_server.php", {
 							queryObj: $.toJSON(queryObj)
 						}, function(json, status){
-							myTree = new CustomTree();
-							var root = myTree.root;
-							root.name = "(" + applicationId + ")";
-							
-							addMissingWmsToCustomTree(myTree, applicationId);
+							myTree = new CustomTree({
+								loadFromApplication: applicationName,
+								draggable: true,
+								droppable: true,
+								id: "myTree",
+								contextMenu: true
+							});
 						});
 						
 					}
@@ -288,7 +198,7 @@
 
 				// dialogue: save changes on unload
 				$(window).unload(function () {
-					saveTreeOnUnloadOrChange(myTree);
+//					saveTreeOnUnloadOrChange(myTree);
 				})
 			});
 			
@@ -315,4 +225,4 @@
 		<div id='myTree'></div>
 		<div id='wmsTree'></div>
 	</body>
-</html>
\ No newline at end of file
+</html>

Modified: trunk/mapbender/http/php/mod_customTree_server.php
===================================================================
--- trunk/mapbender/http/php/mod_customTree_server.php	2009-08-28 12:27:20 UTC (rev 4540)
+++ trunk/mapbender/http/php/mod_customTree_server.php	2009-08-28 12:31:50 UTC (rev 4541)
@@ -14,7 +14,6 @@
 	echo $output;
 }
 
-
 $json = new Mapbender_JSON();
 $queryObj = $json->decode(stripslashes($_REQUEST['queryObj']));
 $resultObj = array();
@@ -49,8 +48,8 @@
 		$allowedApplicationArray = $user->getApplicationsByPermission(0);
 
 		// get all of the users applications that contain treeGDE
-		$sql = "SELECT fkey_gui_id FROM gui_element WHERE " . 
-				"e_id = 'treeGDE' AND fkey_gui_id IN (";
+		$sql = "SELECT DISTINCT fkey_gui_id FROM gui_element WHERE " . 
+				"fkey_gui_id IN (";
 		
 		$v = array();
 		$t = array();
@@ -130,8 +129,8 @@
 					}
 				}
 				$currentNode = array(
-					"left" => $row["lft"],
-					"right" => $row["rgt"],
+					"left" => intval($row["lft"]),
+					"right" => intval($row["rgt"]),
 					"name" => $row["my_layer_title"],
 					"wms" => $wmsArray
 				);
@@ -155,6 +154,7 @@
 		$t = array("s");
 		$res = db_prep_query($sql, $v, $t);
 		
+		$rowArray = array();
 		for ($i = 0; $i < count($elementArray); $i++) {
 	
 			$currentElement = $elementArray[$i];
@@ -170,8 +170,9 @@
 			);
 			$t = array("s", "i", "i", "s", "s");
 			$res = db_prep_query($sql, $v, $t);
+			$rowArray[]= $v;
 		}
-		$data = array("sql" => $sql, "data" => $v);
+		$data = array("sql" => $sql, "data" => $rowArray);
 		$resultObj["data"] = $data;
 		$resultObj["success"] = "Elements have been updated in the database.";
 		break;
@@ -183,4 +184,4 @@
 }
 
 sendOutput($resultObj);
-?>
\ No newline at end of file
+?>



More information about the Mapbender_commits mailing list