--- a/src_js/iconolab-bundle/src/components/cutout/svgboard.js Fri Aug 26 18:48:30 2016 +0200
+++ b/src_js/iconolab-bundle/src/components/cutout/svgboard.js Tue Aug 30 16:58:59 2016 +0200
@@ -350,16 +350,46 @@
pathIsClosed = true;
});
};
+
var attachPointEvents = function (paper) {
if (readOnly) { return; }
- paper.click( function(e) {
+
+ var clickTimeout = null;
+ var preventClick = false;
+ paper.dblclick( function (e) {
if (drawingMode === RECT_MODE) {
return true;
}
+ preventClick = true;
+ if (clickTimeout) {
+ clickTimeout = clearTimeout(clickTimeout);
+ preventClick = false;
+ pathIsClosed = true;
+ if (pointData.length > 2) {
+ updatePath(paper, onClosePath);
+ }
+ }
+ return false;
+ });
+
+ var clickHandler = function (e) {
+ if (preventClick) { return; }
+
+ if (drawingMode === RECT_MODE) {
+ return true;
+ }
if (!ENABLE_NEW_NODE) { return true; }
createPoint(paper, e.offsetX, e.offsetY, pointData);
+ clickTimeout = null;
+ preventClick = false;
+ }
+
+ paper.click(function (e) {
+ if (clickTimeout) { return; }
+ clickTimeout = setTimeout(clickHandler.bind(this, e), 190);
});
+
};