From a020e17f6e1b4049c468731523f52ec5b51e33d9 Mon Sep 17 00:00:00 2001 From: Andreas Berenz Date: Tue, 6 Sep 2016 10:16:25 +0200 Subject: scaling orientation now is viewport-center instead of top left position - magnifier are clickable for scaling --- modules-available/roomplanner/js/grid.js | 16 ++++++++++++++++ modules-available/roomplanner/js/init.js | 8 ++++++++ 2 files changed, 24 insertions(+) (limited to 'modules-available/roomplanner/js') diff --git a/modules-available/roomplanner/js/grid.js b/modules-available/roomplanner/js/grid.js index 44f32123..9fdd99e4 100644 --- a/modules-available/roomplanner/js/grid.js +++ b/modules-available/roomplanner/js/grid.js @@ -353,6 +353,18 @@ roomplanner.grid = (function() { $('#drawarea').height(h); }, scale: function(num) { + + var area_left = parseInt($('#drawarea').css('left')) - $('#drawpanel .panel-body').width()/2 ; + var area_top = parseInt($('#drawarea').css('top')) - $('#drawpanel .panel-body').height()/2; + + var opts = { + left: ((parseInt(area_left) * num / roomplanner.settings.scale ) + $('#drawpanel .panel-body').width()/2)+ "px" , + top: ((parseInt(area_top) * num / roomplanner.settings.scale ) + $('#drawpanel .panel-body').height()/2)+ "px" + }; + + $('#drawarea').css(opts); + + $('#drawarea').css('background-size',num); roomplanner.settings.scale = num; $('#draw-element-area .ui-draggable').each(function(idx,item) { @@ -434,6 +446,10 @@ $(document).ready(function(){ // the element is already in drawing area var el = (ui.helper == ui.draggable) ? ui.draggable : $(ui.helper.clone()); if ($(el).collision('[itemtype="'+$(el).attr('itemtype').replace('_drag','')+'"]').length) { + + // pathfinding zu besserer position + + return; } diff --git a/modules-available/roomplanner/js/init.js b/modules-available/roomplanner/js/init.js index 1d3c18fb..efe14fea 100644 --- a/modules-available/roomplanner/js/init.js +++ b/modules-available/roomplanner/js/init.js @@ -31,6 +31,14 @@ function initRoomplanner() { $('#serializedRoom').val(roomplanner.serialize()); $('#roomForm').submit(); }); + + $('#zoom-out').click(function() { + roomplanner.grid.scale(roomplanner.settings.scale - 10); + }); + + $('#zoom-in').click(function() { + roomplanner.grid.scale(roomplanner.settings.scale + 10); + }); } var translation = { -- cgit v1.2.3-55-g7522