comparison client/digitallibrary/jquery/jquery.digilib.js @ 753:8452a485e0e7 jquery

primitive plugin extension mechanism - unsure how useful this is
author hertzhaft
date Tue, 08 Feb 2011 23:57:39 +0100
parents fb4ffac2950d
children 17539f6838b6
comparison
equal deleted inserted replaced
749:4b492b7900fb 753:8452a485e0e7
583 if (qual >= 0 && qual <= 2) { 583 if (qual >= 0 && qual <= 2) {
584 setQuality(data, qual); 584 setQuality(data, qual);
585 redisplay(data); 585 redisplay(data);
586 } 586 }
587 }, 587 },
588 588
589 // calibrate (only faking) 589 // calibrate (only faking)
590 calibrate : function (data) { 590 calibrate : function (data) {
591 getImageInfo(data); 591 getImageInfo(data);
592 } 592 },
593
593 }; 594 };
594 595
595 // returns parameters from page url 596 // returns parameters from page url
596 var parseQueryParams = function() { 597 var parseQueryParams = function() {
597 return parseQueryString(window.location.search.slice(1)); 598 return parseQueryString(window.location.search.slice(1));
1119 // returns function for load event of scaler img 1120 // returns function for load event of scaler img
1120 var scalerImgLoadedHandler = function (data) { 1121 var scalerImgLoadedHandler = function (data) {
1121 return function () { 1122 return function () {
1122 var $img = $(this); 1123 var $img = $(this);
1123 var $scaler = data.$scaler; 1124 var $scaler = data.$scaler;
1124 // create Transform from current area and picsize 1125 // create Transform from current zoomArea and image size
1125 data.imgTrafo = getImgTrafo($img, data.zoomArea, 1126 data.imgTrafo = getImgTrafo($img, data.zoomArea,
1126 data.settings.rot, data.scalerFlags.hmir, data.scalerFlags.vmir); 1127 data.settings.rot, data.scalerFlags.hmir, data.scalerFlags.vmir);
1127 console.debug("imgTrafo=", data.imgTrafo); 1128 // console.debug("imgTrafo=", data.imgTrafo);
1129 var imgRect = geom.rectangle($img);
1130 // console.debug("imgrect=", imgRect);
1128 // adjust scaler div size 1131 // adjust scaler div size
1129 var imgRect = geom.rectangle($img);
1130 console.debug("imgrect=", imgRect);
1131 imgRect.adjustDiv($scaler); 1132 imgRect.adjustDiv($scaler);
1132 // show image in case it was hidden (for example in zoomDrag) 1133 // show image in case it was hidden (for example in zoomDrag)
1133 $img.css('visibility', 'visible'); 1134 $img.css('visibility', 'visible');
1134 $scaler.css({'opacity' : '1', 'background-image' : 'none'}); 1135 $scaler.css({'opacity' : '1', 'background-image' : 'none'});
1135 // display marks 1136 // display marks
1578 console.debug = logFunction('_debug'); 1579 console.debug = logFunction('_debug');
1579 console.error = logFunction('_error'); 1580 console.error = logFunction('_error');
1580 } 1581 }
1581 1582
1582 // hook plugin into jquery 1583 // hook plugin into jquery
1583 $.fn.digilib = function(action) { 1584 $.fn.digilib = function(action, obj) {
1584 if (actions[action]) { 1585 // plugin extension mechanism
1586 if (action === 'extendPlugin') {
1587 // for each digilib $elem extend data.settings with obj.options
1588 if (obj.options) {
1589 this.each(function() {
1590 var $elem = $(this);
1591 // console.debug('extending:', $elem);
1592 var data = $elem.data('digilib');
1593 if (!data) {
1594 return console.log('cannot extend digilib plugin, element not initialised!');
1595 }
1596 var settings = data.settings;
1597 $.extend(settings, obj.options);
1598 // console.log('settings:', settings);
1599 });
1600 }
1601 delete(obj.options);
1602 // extend the plugin actions (to make this useful,
1603 // maybe we need to expose some more internal functions)
1604 $.extend(actions, obj);
1605 } else if (actions[action]) {
1585 // call action on this with the remaining arguments (inserting data as first argument) 1606 // call action on this with the remaining arguments (inserting data as first argument)
1586 var $elem = $(this); 1607 var $elem = $(this);
1587 var data = $elem.data('digilib'); 1608 var data = $elem.data('digilib');
1588 var args = Array.prototype.slice.call(arguments, 1); 1609 var args = Array.prototype.slice.call(arguments, 1);
1589 args.unshift(data); 1610 args.unshift(data);