[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