Mercurial > hg > digilib
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 {