[Mapbender-commits] r4328 - in trunk/mapbender: conf
http/javascripts
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Thu Jul 9 05:01:56 EDT 2009
Author: christoph
Date: 2009-07-09 05:01:56 -0400 (Thu, 09 Jul 2009)
New Revision: 4328
Modified:
trunk/mapbender/conf/digitize_default.conf
trunk/mapbender/http/javascripts/mod_digitize_tab.php
Log:
http://trac.osgeo.org/mapbender/ticket/424
Modified: trunk/mapbender/conf/digitize_default.conf
===================================================================
--- trunk/mapbender/conf/digitize_default.conf 2009-07-09 08:44:14 UTC (rev 4327)
+++ trunk/mapbender/conf/digitize_default.conf 2009-07-09 09:01:56 UTC (rev 4328)
@@ -54,6 +54,8 @@
var showSaveButtonForExistingGeometries = false;
+var updatePointGeometriesInstantly = true;
+
var nonTransactionalEditable = false;
var nonTransactionalColor = "#ff66cc";
var nonTransactionalLineWidth = 2;
@@ -64,4 +66,4 @@
var wfsWindowHeight = 300;
// deprecated! check wfs_default.conf to configure this behaviour
-//var spatialRequestResultToDigitize = 1;
\ No newline at end of file
+//var spatialRequestResultToDigitize = 1;
Modified: trunk/mapbender/http/javascripts/mod_digitize_tab.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_digitize_tab.php 2009-07-09 08:44:14 UTC (rev 4327)
+++ trunk/mapbender/http/javascripts/mod_digitize_tab.php 2009-07-09 09:01:56 UTC (rev 4328)
@@ -130,6 +130,7 @@
try {if(mod_digitize_elName){}}catch(e) {mod_digitize_elName = "digitize";}
try {if(nonTransactionalEditable){}}catch(e) {nonTransactionalEditable = false;}
+try {if(updatePointGeometriesInstantly){}}catch(e) {updatePointGeometriesInstantly = false;}
try {if(addCloneGeometryButton){}}catch(e) {addCloneGeometryButton = false;}
function toggleTabs(tabId) {
@@ -515,6 +516,18 @@
basepointPointIndex = null;
executeDigitizeSubFunctions();
+
+ var isPoint = d.get(i).geomType === parent.geomType.point;
+ var hasFid = d.get(i).e.getElementValueByName("fid") !== false;
+ if (mod_digitizeEvent == button_move &&
+ updatePointGeometriesInstantly &&
+ isPoint &&
+ hasFid) {
+
+ dbGeom("update", i, function () {
+ d.del(i);
+ });
+ }
}
// --- basepoint handling (end) -----------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------------------------------------
@@ -2012,8 +2025,10 @@
return str;
}
-function dbGeom(type,m) {
- if (typeof(wfsWindow) != 'undefined' && !wfsWindow.closed) {
+function dbGeom(type, m, callback) {
+ var hasFid = d.get(m).e.getElementValueByName("fid") !== false;
+
+ if (!hasFid && typeof(wfsWindow) != 'undefined' && !wfsWindow.closed) {
d.get(m).wfs_conf = parseInt(wfsWindow.document.forms[0].wfs.options[wfsWindow.document.forms[0].wfs.selectedIndex].value);
d.get(m).e = new parent.Wfs_element();
}
@@ -2086,13 +2101,13 @@
var result = eval('('+json+')');
var success = result.success;
var fid = result.fid;
- wfsSubWrite(m, type, status, success, fid);
+ wfsSubWrite(m, type, status, success, fid, callback);
}
);
}
}
-function wfsSubWrite(m, type, status, success, fid) {
+function wfsSubWrite(m, type, status, success, fid, callback) {
if (status == "success" && success) {
if (type == 'insert' && fid) {
d.get(m).e.setElement("fid", fid);
@@ -2101,14 +2116,18 @@
parent.mb_disableThisButton(mod_digitizeEvent);
d.del(m);
}
-
+
var wfsWriteMessage = msgObj.messageSuccessWfsWrite;
}
else {
var wfsWriteMessage = msgObj.messageErrorWfsWrite;
}
+ parent.mb_execWfsWriteSubFunctions();
- parent.mb_execWfsWriteSubFunctions();
+ if (updatePointGeometriesInstantly && status == "success" && success) {
+ callback();
+ }
+
executeDigitizeSubFunctions();
if (typeof(wfsWindow) != 'undefined' && !wfsWindow.closed) {
More information about the Mapbender_commits
mailing list