[Mapbender-commits] r8303 - branches/2.7/http/javascripts
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Thu Apr 5 05:10:13 EDT 2012
Author: kmq
Date: 2012-04-05 02:10:13 -0700 (Thu, 05 Apr 2012)
New Revision: 8303
Modified:
branches/2.7/http/javascripts/mod_digitize_tab.php
Log:
fix for \#879
Modified: branches/2.7/http/javascripts/mod_digitize_tab.php
===================================================================
--- branches/2.7/http/javascripts/mod_digitize_tab.php 2012-04-04 12:00:23 UTC (rev 8302)
+++ branches/2.7/http/javascripts/mod_digitize_tab.php 2012-04-05 09:10:13 UTC (rev 8303)
@@ -770,7 +770,17 @@
var basepointPointIndex = null;
var basepointDragActive = false;
+var handleBasePointEnabled = true;
+var handleCounter=0;
+
+function disableHandleBasepoint(){
+ //console.log("disablehandling basepoint "+ handleBasePointEnabled);
+ //handleBasePointEnabled = true;
+
+}
+
function handleBasepoint(obj,memberIndex, geometryIndex, ringIndex, pointIndex){
+
if (!(
mod_digitizeEvent == button_move ||
mod_digitizeEvent == button_insert ||
@@ -792,15 +802,19 @@
}
basepointPointIndex = pointIndex;
+ // The eventhandlers get unbound before being bound again to ensure
+ // they are only called once - see http://trac.osgeo.org/mapbender/ticket/879
if(mod_digitizeEvent == button_move){
mod_digitize_timeout();
basepointObject.style.cursor = 'move';
+ parent.$(basepointObject).unbind("mousedown", parent.frames[mod_digitize_elName].selectBasepoint);
parent.$(basepointObject).bind("mousedown", parent.frames[mod_digitize_elName].selectBasepoint);
}
if(mod_digitizeEvent == button_delete){
mod_digitize_timeout();
basepointObject.style.cursor = 'crosshair';
+ parent.$(basepointObject).unbind("mousedown", parent.frames[mod_digitize_elName].deleteBasepoint);
parent.$(basepointObject).bind("mousedown", parent.frames[mod_digitize_elName].deleteBasepoint);
}
}
@@ -851,6 +865,13 @@
var k = basepointRingIndex;
var l = basepointPointIndex;
+ console.log({
+ "MemberIndex": i,
+ "GeometryIndex": j,
+ "RingIndex": k,
+ "PointIndex": l
+ });
+
if (k != undefined) {
d.delAllPointsLike(d.getPoint(i, j, k, l));
}
@@ -1686,7 +1707,9 @@
}
if(isMoveOrInsertOrDelete) {
- smPArray[smPArray.length] = " onmouseover='window.frames[\""+mod_digitize_elName+"\"].handleBasepoint(this,"+i+","+j+","+k+")' ;";
+ smPArray[smPArray.length] = "onmouseover='window.frames[\""+mod_digitize_elName+"\"].handleBasepoint(this,"+i+","+j+","+k+")' ;";
+
+ smPArray[smPArray.length] += " onmouseout='window.frames[\""+mod_digitize_elName+"\"].disableHandleBasepoint()';";
}
smPArray[smPArray.length] = ">";
if (isPolygon || isLine) {
@@ -1739,6 +1762,7 @@
}
if (isMoveOrInsertOrDelete) {
smPArray[smPArray.length] = " onmouseover='window.frames[\"" + mod_digitize_elName + "\"].handleBasepoint(this," + i + "," + j + "," + l + "," + m + ")' ;";
+ smPArray[smPArray.length] += " onmouseout='window.frames[\""+mod_digitize_elName+"\"].disableHandleBasepoint()';";
}
smPArray[smPArray.length] = "></div>";
lastPaintedPoint = currentPointMap;
More information about the Mapbender_commits
mailing list