src_js/iconolab-bundle/src/components/cutout/svgboard.js
changeset 156 e1e14766f608
parent 146 f912b591e1c1
child 158 f9d0d6a840cf
--- 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);	
 	});
+
 };