# HG changeset patch # User hertzhaft # Date 1452122818 -3600 # Node ID 56d69da93849ec12aa658a99db9821b48a4a7f6c # Parent cc8a97739121c04fe4036b4c28c52bedf80fc4ae bird's eye: use existing HTML div; animation only when zoom area resizes; no re-rendering when moving zoom area diff -r cc8a97739121 -r 56d69da93849 webapp/src/main/webapp/jquery/jquery.digilib.birdseye.js --- a/webapp/src/main/webapp/jquery/jquery.digilib.birdseye.js Wed Jan 06 18:57:59 2016 +0100 +++ b/webapp/src/main/webapp/jquery/jquery.digilib.birdseye.js Thu Jan 07 00:26:58 2016 +0100 @@ -59,12 +59,13 @@ showBirdDiv : function (data, show) { var settings = data.settings; if (data.$birdDiv == null) { - // no bird div -> create + // no bird div: create it setupBirdDiv(data); } + // console.debug('showBirdDiv, visible:' + settings.isBirdDivVisible +' , show:' + show); var on = digilib.fn.showDiv(settings.isBirdDivVisible, data.$birdDiv, show); settings.isBirdDivVisible = on; - //digilib.fn.highlightButtons(data, 'bird', on); + // digilib.fn.highlightButtons(data, 'bird', on); updateBirdDiv(data); digilib.fn.storeOptions(data); } @@ -103,39 +104,40 @@ }; var handleSetup = function (evt) { - console.debug("birdseye: handleSetup"); var data = this; var visible = data.settings.isBirdDivVisible; var auto = data.settings.autoBirdDiv; - // bird's eye view creation + console.debug("birdseye: handleSetup, auto:"+auto, ", visible:"+visible); + // create bird's eye view if (visible || auto) { setupBirdDiv(data); } - if (visible) { - data.$birdDiv.show(); - } }; var handleUpdate = function (evt) { console.debug("birdseye: handleUpdate"); var data = this; - if (data.settings.isBirdDivVisible) { - renderBirdArea(data); - setupBirdDrag(data); - } + // if (data.settings.isBirdDivVisible) { + // renderBirdArea(data); + // setupBirdDrag(data); + // } }; var handleRedisplay = function (evt) { // TODO: do we need this? console.debug("birdseye: handleRedisplay"); var data = this; + if (data.settings.autoBirdDiv) { + data.settings.isBirdDivVisible = !digilib.fn.isFullArea(data.zoomArea); + } actions.showBirdDiv(data, data.settings.isBirdDivVisible); }; var handleChangeZoomArea = function (evt, zoomArea) { - //console.debug("birdseye: handleDragZoom za="+zoomArea); - var data = this; - updateBirdZoom(data, zoomArea); + var data = this; + if (data.settings.isBirdDivVisible && zoomArea.moved) { + moveBirdZoom(data, zoomArea); + } }; // returns URL for bird's eye view image @@ -156,8 +158,12 @@ var setupBirdDiv = function (data) { var cssPrefix = data.settings.cssPrefix; var $elem = data.$elem; - // the bird's eye div - var $birdDiv = $('