Mercurial > hg > digilib-old
comparison client/digitallibrary/jquery/jquery.digilib.js @ 728:84ad95fd3202 jquery
embedded mode state in cookie works now.
author | robcast |
---|---|
date | Tue, 01 Feb 2011 12:46:22 +0100 |
parents | fc61c6b02c78 |
children | aee08dbfccae fec653a3094e |
comparison
equal
deleted
inserted
replaced
727:fc61c6b02c78 | 728:84ad95fd3202 |
---|---|
293 var ck = "digilib-embed:fn:" + escape(params.fn) + ":pn:" + (params.pn || '1'); | 293 var ck = "digilib-embed:fn:" + escape(params.fn) + ":pn:" + (params.pn || '1'); |
294 var cs = jQuery.cookie(ck); | 294 var cs = jQuery.cookie(ck); |
295 console.debug("get cookie=", ck, " value=", cs); | 295 console.debug("get cookie=", ck, " value=", cs); |
296 if (cs) { | 296 if (cs) { |
297 var cp = parseQueryString(cs); | 297 var cp = parseQueryString(cs); |
298 // ignore fn and pn from cookie | 298 // ignore fn and pn from cookie TODO: should we keep pn? |
299 cp.fn = params.fn; | 299 delete cp.fn; |
300 cp.pn = params.pn; | 300 delete cp.pn; |
301 params = cp; | 301 jQuery.extend(params, cp); |
302 } | 302 } |
303 } | 303 } |
304 } | 304 } |
305 // store $(this) element in the settings | 305 // store $(this) element in the settings |
306 elemSettings = $.extend({}, settings, params); | 306 elemSettings = jQuery.extend({}, settings, params); |
307 data = { | 307 data = { |
308 $elem : $elem, | 308 $elem : $elem, |
309 settings : elemSettings, | 309 settings : elemSettings, |
310 queryParams : params | 310 queryParams : params |
311 }; | 311 }; |
379 settings.pn = oldpn; | 379 settings.pn = oldpn; |
380 return false; | 380 return false; |
381 } | 381 } |
382 } | 382 } |
383 // reset mk and others(?) | 383 // reset mk and others(?) |
384 // TODO: adjust bird div | |
385 data.marks = []; | 384 data.marks = []; |
386 data.zoomArea = MAX_ZOOMAREA; | 385 data.zoomArea = MAX_ZOOMAREA; |
387 // then reload | 386 // then reload |
388 redisplay(data); | 387 redisplay(data); |
389 }, | 388 }, |
827 // creates HTML structure for digilib in elem | 826 // creates HTML structure for digilib in elem |
828 var setupScalerDiv = function (data) { | 827 var setupScalerDiv = function (data) { |
829 var settings = data.settings; | 828 var settings = data.settings; |
830 var $elem = data.$elem; | 829 var $elem = data.$elem; |
831 $elem.addClass('digilib'); | 830 $elem.addClass('digilib'); |
832 var $img, scalerUrl; | 831 var $img; |
833 // fullscreen | 832 var scalerUrl; |
834 if (settings.interactionMode === 'fullscreen') { | 833 if (settings.interactionMode === 'fullscreen') { |
834 // fullscreen | |
835 $elem.addClass('dl_fullscreen'); | 835 $elem.addClass('dl_fullscreen'); |
836 var imgSize = getFullscreenImgSize($elem); | 836 var imgSize = getFullscreenImgSize($elem); |
837 // fitwidth/height omits destination height/width | 837 // fitwidth/height omits destination height/width |
838 // if (data.dlOpts['fitheight'] !== '1') { | 838 if (data.dlOpts.fitheight == null) { |
839 if (data.dlOpts['fitheight'] == null) { | |
840 settings.dw = imgSize.width; | 839 settings.dw = imgSize.width; |
841 } | 840 } |
842 // if (data.dlOpts['fitwidth'] !== '1') { | 841 if (data.dlOpts.fitwidth == null) { |
843 if (data.dlOpts['fitwidth'] == null) { | |
844 settings.dh = imgSize.height; | 842 settings.dh = imgSize.height; |
845 } | 843 } |
844 scalerUrl = getScalerUrl(data); | |
846 $img = $('<img/>'); | 845 $img = $('<img/>'); |
846 } else { | |
847 // embedded mode -- try to keep img tag | |
848 $elem.addClass('dl_embedded'); | |
847 scalerUrl = getScalerUrl(data); | 849 scalerUrl = getScalerUrl(data); |
848 // embedded mode -- try to keep img tag | |
849 } else { | |
850 $elem.addClass('dl_embedded'); | |
851 $img = $elem.find('img'); | 850 $img = $elem.find('img'); |
852 if ($img.length > 0) { | 851 if ($img.length > 0) { |
853 console.debug("img detach:", $img); | 852 oldUrl = $img.attr('src'); |
854 scalerUrl = $img.attr('src'); | 853 if (oldUrl === scalerUrl) { |
855 $img.detach(); | 854 console.debug("img detach:", $img); |
855 $img.detach(); | |
856 } else { | |
857 $img = $('<img/>'); | |
858 } | |
856 } else { | 859 } else { |
857 $img = $('<img/>'); | 860 $img = $('<img/>'); |
858 scalerUrl = getScalerUrl(data); | |
859 } | 861 } |
860 } | 862 } |
861 // create new html | 863 // create new html |
862 $elem.empty(); // TODO: should we keep stuff for customization? | 864 $elem.empty(); // TODO: should we keep stuff for customization? |
863 var $scaler = $('<div class="scaler"/>'); | 865 var $scaler = $('<div class="scaler"/>'); |