Mercurial > hg > digilib
comparison client/digitallibrary/jquery/jquery.digilib.js @ 694:53c75b4bc358 jquery
cookie handling now just in pack/unpackParameters
author | robcast |
---|---|
date | Thu, 27 Jan 2011 19:45:26 +0100 |
parents | dbd7c7aa575f |
children | 09e06aa12c0d |
comparison
equal
deleted
inserted
replaced
693:dbd7c7aa575f | 694:53c75b4bc358 |
---|---|
311 showBirdDiv : function (data, show) { | 311 showBirdDiv : function (data, show) { |
312 if (data.$birdDiv == null) { | 312 if (data.$birdDiv == null) { |
313 // no bird div -> create | 313 // no bird div -> create |
314 setupBirdDiv(data); | 314 setupBirdDiv(data); |
315 } | 315 } |
316 // TODO: keep bird view visible after reload (parameter, cookie?) | |
317 data.settings.isBirdDivVisible = showDiv(data.settings.isBirdDivVisible, data.$birdDiv, show); | 316 data.settings.isBirdDivVisible = showDiv(data.settings.isBirdDivVisible, data.$birdDiv, show); |
318 cookie(data, 'birdview', data.settings.isBirdDivVisible ? "1" : "0"); | |
319 data.$birdImg.triggerHandler('load'); | 317 data.$birdImg.triggerHandler('load'); |
320 }, | 318 }, |
321 | 319 |
322 // goto given page nr (+/-: relative) | 320 // goto given page nr (+/-: relative) |
323 gotoPage : function (data, pageNr) { | 321 gotoPage : function (data, pageNr) { |
516 return params; | 514 return params; |
517 }; | 515 }; |
518 | 516 |
519 // parses query parameter string into parameter object | 517 // parses query parameter string into parameter object |
520 var parseQueryString = function(query) { | 518 var parseQueryString = function(query) { |
519 var params = {}; | |
520 if (query == null) return params; | |
521 var pairs = query.split("&"); | 521 var pairs = query.split("&"); |
522 var params = {}; | |
523 //var keys = []; | 522 //var keys = []; |
524 for (var i = 0; i < pairs.length; i++) { | 523 for (var i = 0; i < pairs.length; i++) { |
525 var pair = pairs[i].split("="); | 524 var pair = pairs[i].split("="); |
526 if (pair.length === 2) { | 525 if (pair.length === 2) { |
527 params[pair[0]] = pair[1]; | 526 params[pair[0]] = pair[1]; |
548 paramString += key + '=' + settings[key]; | 547 paramString += key + '=' + settings[key]; |
549 } | 548 } |
550 } | 549 } |
551 return paramString; | 550 return paramString; |
552 }; | 551 }; |
553 | |
554 // set/get cookie for current image | |
555 var cookie = function (data, key, value) { | |
556 var settings = data.settings; | |
557 var fn = settings.fn; | |
558 var pn = settings.pn; | |
559 var name = key + ":fn:" + fn + ":pn:" + pn; | |
560 var result = (typeof value === 'undefined') ? $.cookie(name) : $.cookie(name, value, 7); | |
561 console.log("cookie=", name, " value=", $.cookie(name)); | |
562 return result; | |
563 }; | |
564 | 552 |
565 // returns URL and query string for Scaler | 553 // returns URL and query string for Scaler |
566 var getScalerUrl = function (data) { | 554 var getScalerUrl = function (data) { |
567 var settings = data.settings; | 555 var settings = data.settings; |
568 if (settings.scalerBaseUrl == null) { | 556 if (settings.scalerBaseUrl == null) { |
619 } | 607 } |
620 } | 608 } |
621 data.scalerFlags = flags; | 609 data.scalerFlags = flags; |
622 // clop (digilib options) | 610 // clop (digilib options) |
623 var opts = {}; | 611 var opts = {}; |
624 if (settings.clop) { | 612 if (jQuery.cookie) { |
613 // read from cookie | |
614 var ck = "digilib:fn:" + escape(settings.fn) + ":pn:" + settings.pn; | |
615 var cp = jQuery.cookie(ck); | |
616 console.debug("get cookie=", ck, " value=", cp); | |
617 // in query string format | |
618 opts = parseQueryString(cp); | |
619 } | |
620 /* read from parameter clop | |
621 * if (settings.clop) { | |
625 var pa = settings.clop.split(","); | 622 var pa = settings.clop.split(","); |
626 for (var i = 0; i < pa.length ; i++) { | 623 for (var i = 0; i < pa.length ; i++) { |
627 opts[pa[i]] = pa[i]; | 624 opts[pa[i]] = pa[i]; |
628 } | 625 } |
629 } | 626 } */ |
630 data.dlOpts = opts; | 627 data.dlOpts = opts; |
631 // birdview option | 628 // birdview option |
632 if (cookie(data, 'birdview') === '1') { | 629 if (opts.birdview != null) { |
633 settings.isBirdDivVisible = 1; | 630 settings.isBirdDivVisible = opts.birdview; |
634 } | 631 } |
632 // visible button sets | |
633 if (opts.buttons != null) { | |
634 settings.visibleButtonSets = opts.buttons; | |
635 } | |
635 }; | 636 }; |
636 | 637 |
637 // put objects back into parameters | 638 // put objects back into parameters |
638 var packParams = function (data) { | 639 var packParams = function (data) { |
639 var settings = data.settings; | 640 var settings = data.settings; |
663 } | 664 } |
664 mo += f; | 665 mo += f; |
665 } | 666 } |
666 settings.mo = mo; | 667 settings.mo = mo; |
667 } | 668 } |
668 // digilib option birdview | 669 // save digilib settings in options |
669 // cookie(data, 'birdview', settings.isBirdDivVisible ? "1" : "0"); | 670 data.dlOpts.birdview = settings.isBirdDivVisible ? 1 : 0; |
670 | 671 data.dlOpts.buttons = settings.visibleButtonSets; |
671 // digilib options | 672 |
673 // save digilib options in cookie | |
672 if (data.dlOpts) { | 674 if (data.dlOpts) { |
673 var clop = ''; | 675 var clop = ''; |
674 for (var o in data.dlOpts) { | 676 for (var o in data.dlOpts) { |
675 if (clop) { | 677 if (clop) { |
678 clop += '&'; | |
679 } | |
680 clop += o + '=' + data.dlOpts[o]; | |
681 } | |
682 var ck = "digilib:fn:" + escape(settings.fn) + ":pn:" + settings.pn; | |
683 console.debug("set cookie=", ck, " value=", clop); | |
684 jQuery.cookie(ck, clop); | |
685 }; | |
686 /* store in parameter clop | |
687 * if (data.dlOpts) { | |
688 var clop = ''; | |
689 for (var o in data.dlOpts) { | |
690 if (clop) { | |
676 clop += ','; | 691 clop += ','; |
677 } | 692 } |
678 clop += o; | 693 clop += o; |
679 } | 694 } |
680 settings.clop = clop; | 695 settings.clop = clop; |
681 } | 696 } */ |
682 }; | 697 }; |
683 | 698 |
684 // clear digilib data for reset | 699 // clear digilib data for reset |
685 var resetData = function (data) { | 700 var resetData = function (data) { |
686 if (data.zoomArea) delete data.zoomArea; | 701 if (data.zoomArea) delete data.zoomArea; |
919 // move remaining sets left and show new set | 934 // move remaining sets left and show new set |
920 if (animated) { | 935 if (animated) { |
921 $otherSets.animate({left : '-='+btnWidth+'px'}, 'fast', | 936 $otherSets.animate({left : '-='+btnWidth+'px'}, 'fast', |
922 function () {$set.show();}); | 937 function () {$set.show();}); |
923 } else { | 938 } else { |
924 $otherSets.css({left : '-='+btnWidth+'px'}); | 939 var oldpos = $otherSets.position(); |
940 if (oldpos) { | |
941 $otherSets.css({left : oldpos.left-btnWidth+'px'}); | |
942 } | |
925 $set.show(); | 943 $set.show(); |
926 } | 944 } |
927 } else { | 945 } else { |
928 // remove set | 946 // remove set |
929 var $set = data.$buttonSets[setIdx]; | 947 var $set = data.$buttonSets[setIdx]; |