[Mapbender-commits] r4963 - trunk/mapbender/http/javascripts

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Fri Nov 6 10:35:12 EST 2009


Author: christoph
Date: 2009-11-06 10:35:12 -0500 (Fri, 06 Nov 2009)
New Revision: 4963

Modified:
   trunk/mapbender/http/javascripts/mod_loadwmc.js
Log:


Modified: trunk/mapbender/http/javascripts/mod_loadwmc.js
===================================================================
--- trunk/mapbender/http/javascripts/mod_loadwmc.js	2009-11-06 15:34:57 UTC (rev 4962)
+++ trunk/mapbender/http/javascripts/mod_loadwmc.js	2009-11-06 15:35:12 UTC (rev 4963)
@@ -9,6 +9,18 @@
 	alert(id);
 }
 
+var checkLayerIdExists = typeof options.checkLayerIdExists !== "undefined" 
+	&& options.checkLayerIdExists === 1 ? true : false;
+	
+var checkLayerIdValid = typeof options.checkLayerIdValid !== "undefined" 
+	&& options.checkLayerIdValid === 1 ? true : false;
+	
+var checkLayerPermission = typeof options.checkLayerPermission !== "undefined" 
+	&& options.checkLayerPermission === 1 ? true : false;
+	
+var checkLayerAvailability = typeof options.checkLayerAvailability !== "undefined" 
+	&& options.checkLayerAvailability === 1 ? true : false;
+	
 $(this).click(function () {
 	if (wmcPopup === null || !wmcPopup.isVisible()) {
 		mod_loadwmc();
@@ -28,7 +40,7 @@
  */
 function mod_loadwmc(){
 
-	var initialHtml = "<div id='" + options.id + "_tabs'>" + 
+	var initialHtml = "<div style='display:none' id='" + options.id + "_tabs'>" + 
 				"<ul>" + 
 					"<li><a href='#" + options.id + "_wmclist'>List</a></li>" + 
 					"<li><a href='#" + options.id + "_wmcUpload'>Upload</a></li>" + 
@@ -98,6 +110,8 @@
 		(function () {
 			var currentId = wmcObj.wmc[i].id;
 			var currentName = wmcObj.wmc[i].title;
+			var isPublic = wmcObj.wmc[i].isPublic;
+			var isDisabled = wmcObj.wmc[i].disabled;
 			var $tr = $("<tr></tr>").appendTo($("#" + options.id + "_wmclist_table"));
 			var $td;
 			$tr.append($("<td>" + wmcObj.wmc[i].title + "</td>"));
@@ -112,7 +126,15 @@
 				parameters: {
 					id:currentId
 				},
-				callback: executeJavaScript
+				callback: function (args) {
+					if (constraintCheckRequired()) {
+						checkConstraints(args, function (args) {
+							executeJavaScript(args);
+						});
+						return;	
+					}
+					executeJavaScript(args);
+				}
 			});
 			$tr.append($loadTd);				
 
@@ -129,7 +151,15 @@
 					mapObject:mb_mapObj,
 					generalTitle:"currentState"
 				},
-				callback: executeJavaScript
+				callback: function (args) {
+					if (constraintCheckRequired()) {
+						checkConstraints(args, function (args) {
+							executeJavaScript(args);
+						});
+						return;	
+					}
+					executeJavaScript(args);
+				}
 			});
 			$tr.append($mergeTd);				
 
@@ -146,14 +176,22 @@
 					mapObject:mb_mapObj,
 					generalTitle:"currentState"
 				},
-				callback: executeJavaScript
+				callback: function (args) {
+					if (constraintCheckRequired()) {
+						checkConstraints(args, function (args) {
+							executeJavaScript(args);
+						});
+						return;	
+					}
+					executeJavaScript(args);
+				}
 			});
 			$tr.append($appendTd);				
 
             //WMC is Public
 			var $publicTd = appendBoolTableCell({
-                isPublic:  wmcObj.wmc[i].isPublic,
-                disabled:  wmcObj.wmc[i].disabled,
+                isPublic:  isPublic,
+                disabled:  isDisabled,
 				method: "setWMCPublic",
 				parameters:{
 					id:currentId
@@ -170,7 +208,7 @@
 					// create Popup
 					if (wmcDisplayPopup === null) {
 						wmcDisplayPopup = new mb_popup({
-							title:currentName + " - WMC Document",
+							title: "WMC Document",
 							width:600,
 							height:500,
 							top:50,
@@ -195,7 +233,7 @@
 					// create Popup
 					if (wmcOpenlayersPopup === null) {
 						wmcOpenlayersPopup = new mb_popup({
-							title: currentName + " - OpenLayers",
+							title: "OpenLayers",
 							width: 600,
 							height: 500,
 							top: 40,
@@ -217,11 +255,11 @@
 			// delete WMC
 			(function () {
 				var $deleteTd = appendTableCell({
-					src: "../img/button_gray/del.png",
+					src: isDisabled ? "../img/button_gray/del_disabled.png" : "../img/button_gray/del.png",
 					title: "delete this WMC",
 					method: "deleteWmc",
 					callback: function (args) {
-						if (confirm("Do you really want to delete WMC '" + currentName + "'?")) {
+						if (!isDisabled && confirm("Do you really want to delete WMC '" + currentName + "'?")) {
 							executeJavaScript(args);
 							var aPos = wmcTable.fnGetPosition($deleteTd.get(0));
 							wmcTable.fnDeleteRow(aPos[0]);
@@ -257,8 +295,38 @@
 		"bPaginate": true,
 		"bJQueryUI": true
 	});
+	
+	$("#" + options.id + "_tabs").css("display", "block");
+	
 }
 
+function constraintCheckRequired () {
+	return checkLayerIdExists 
+		|| checkLayerIdValid 
+		|| checkLayerPermission 
+		|| checkLayerAvailability;
+}
+
+function checkConstraints (args, callback) {
+	var req = new Mapbender.Ajax.Request({
+		url: serverSideFileName,
+		method: "checkConstraints",
+		parameters: {
+			id: args.parameters.id,
+			checkLayerIdExists: checkLayerIdExists,
+			checkLayerIdValid: checkLayerIdValid,
+			checkLayerPermission: checkLayerPermission,
+			checkLayerAvailability: checkLayerAvailability
+		},
+		callback: function (obj, result, message) {
+			if (typeof callback === "function") {
+				callback(args);
+			}
+		}
+	});
+	req.send();
+}
+
 function executeJavaScript (args) {
 	var req = new Mapbender.Ajax.Request({
 		url: serverSideFileName,



More information about the Mapbender_commits mailing list