[Mapbender-commits] r6071 - trunk/mapbender/http/javascripts
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Tue May 4 07:11:35 EDT 2010
Author: verenadiewald
Date: 2010-05-04 07:11:34 -0400 (Tue, 04 May 2010)
New Revision: 6071
Modified:
trunk/mapbender/http/javascripts/mod_digitize_tab.php
Log:
delete old line segment when merging two lines into a single line
Modified: trunk/mapbender/http/javascripts/mod_digitize_tab.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_digitize_tab.php 2010-05-04 08:53:23 UTC (rev 6070)
+++ trunk/mapbender/http/javascripts/mod_digitize_tab.php 2010-05-04 11:11:34 UTC (rev 6071)
@@ -1,4 +1,9 @@
<?php
+# License:
+# Copyright (c) 2009, Open Source Geospatial Foundation
+# This program is dual licensed under the GNU General Public License
+# and Simplified BSD license.
+# http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
require_once(dirname(__FILE__) . "/../php/mb_validateSession.php");
@@ -1451,8 +1456,8 @@
parent.mb_disableThisButton(mod_digitizeEvent);
return false;
}
- var wfsConfId = d.get(0).wfs_conf;
- var wfsProperties = d.get(0).e;
+ var wfsConfId = d.get(-1).wfs_conf;
+ var wfsProperties = d.get(-1).e;
var mapIndex = parent.getMapObjIndexByName(mod_digitize_target);
d.importGeometryFromText(line, parent.mb_mapObj[mapIndex].epsg);
@@ -1460,12 +1465,48 @@
for (var i = 0; i < wfsProperties.count(); i++) {
d.get(-1).e.setElement(wfsProperties.getName(i), wfsProperties.getValue(i));
}
+
+ var len = d.count();
+ var obsoleteFeatureArray = [];
+ wfsConf = parent.get_complete_wfs_conf();
+ for (var i = 0; i < len-2; i++) {
+ if(typeof wfsConf == 'object' && typeof wfsConf[d.get(i).wfs_conf] == 'object') {
+ var featureCollection = new GeometryArray();
+ featureCollection.importGeoJSON(d.get(i).toString());
+ obsoleteFeatureArray.push({
+ geoJson : featureCollection.toString(),
+ wfsConfId : wfsConf[d.get(i).wfs_conf]['wfs_conf_id']
+ });
+ }
+ }
+ var mergedFeatureId = d.get(-1).e.getElementValueByName("fid");
+ if(mergedFeatureId !== false) {
+ parent.Mapbender.modules.digitize.events.afterWfs.register(function (obj) {
+ for(var j = 0; j < obsoleteFeatureArray.length; j++) {
+ if(obj.type == 'update' && obj.feature.e.getElementValueByName("fid") == mergedFeatureId) {
+ parent.mb_ajax_post(
+ "../extensions/geom2wfst.php",
+ {
+ 'geoJson' : obsoleteFeatureArray[j].geoJson,
+ 'method' : "delete",
+ 'wfs_conf_id' : obsoleteFeatureArray[j].wfsConfId
+ },
+ function(json,status){
+ parent.zoom(mod_digitize_target, true, 0.999);
+ }
+ );
+ }
+ }
+ });
+ }
// remove the original lines
var len = d.count();
+ //for (var i = len-1 ; i >= 1; i--) {
for (var i = 0; i < len-1; i++) {
d.del(0);
}
+
parent.mb_disableThisButton(mod_digitizeEvent);
});
More information about the Mapbender_commits
mailing list