changeset 1361:ddc086449463

fix bug with defineShape if shape is non-editable (no handles). automatically use renderShapes as default renderFn.
author robcast
date Mon, 16 Feb 2015 19:44:54 +0100
parents 4fc016838175
children 4105e6afe9df c207fae4f14a
files webapp/src/main/webapp/jquery/jquery.digilib.vector.js
diffstat 1 files changed, 12 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/webapp/src/main/webapp/jquery/jquery.digilib.vector.js	Mon Feb 16 00:36:46 2015 +0100
+++ b/webapp/src/main/webapp/jquery/jquery.digilib.vector.js	Mon Feb 16 19:44:54 2015 +0100
@@ -256,9 +256,11 @@
             var layer = data.vectorLayers[i];
             if (layer.projection === 'screen') {
                 // screen layers have render function
-                if (layer.renderFn != null) {
-                    layer.renderFn(data, layer);
+                if (layer.renderFn == null) {
+                	// user renderShapes as default
+                	layer.renderFn = renderShapes;
                 }
+                layer.renderFn(data, layer);
             } else if (layer.projection === 'relative') {
                 var svg = layer.svgElem;
                 if (svg != null) {
@@ -574,7 +576,7 @@
     var getVertexDragHandler = function (data, shape, vtx, onComplete) {
         var $document = $(document);
         var $shape = shape.$elem;
-        var $handle = (shape.$vertexElems != null) ? shape.$vertexElems[vtx] : $();
+        var $handle = (shape.$vertexElems != null) ? shape.$vertexElems[vtx] : null;
         var shapeType = shape.geometry.type;
         var imgRect = data.imgRect;
         var pStart; // save startpoint
@@ -601,10 +603,12 @@
                 // update shape object and trigger drag event
                 shape.geometry.coordinates[vtx] = data.imgTrafo.invtransform(pt).toArray();
                 // update shape SVG element
-                shape.$elem.place();
+                $shape.place();
                 $(data).trigger('dragShape', shape);
             }
-            $handle.moveTo(pt);
+            if ($handle != null) {
+            	$handle.moveTo(pt);
+            }
             return false;
         };
 
@@ -620,7 +624,9 @@
             $document.off("mouseup.dlVertexDrag", dragEnd);
             $document.off("dblclick.dlVertexDrag", dragEnd);
             // rearm start handler
-            $handle.one("mousedown.dlVertexDrag", dragStart);
+            if ($handle != null) {
+            	$handle.one("mousedown.dlVertexDrag", dragStart);
+            }
             if (onComplete != null) {
                 onComplete(data, shape, evt);
             } else {