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"/>');