comparison client/digitallibrary/jquery/jquery.digilib.js @ 781:29de7131a5a8 jquery

make plugins available to other plugins
author hertzhaft
date Thu, 17 Feb 2011 22:50:32 +0100
parents fd86688e6be0
children 16cff012d7c1
comparison
equal deleted inserted replaced
780:fd86688e6be0 781:29de7131a5a8
251 'scalerInset' : 10 251 'scalerInset' : 10
252 }; 252 };
253 253
254 // list of plugins 254 // list of plugins
255 var plugins = {}; 255 var plugins = {};
256
257 // object to export functions to plugins 256 // object to export functions to plugins
258 var fn; 257 var fn;
259
260 // affine geometry plugin stub 258 // affine geometry plugin stub
261 var geom; 259 var geom;
262 260
263 var FULL_AREA; 261 var FULL_AREA;
264 262
271 geom = dlGeometry(); 269 geom = dlGeometry();
272 } else { 270 } else {
273 geom = plugins.geometry.init(); 271 geom = plugins.geometry.init();
274 } 272 }
275 FULL_AREA = geom.rectangle(0, 0, 1, 1); 273 FULL_AREA = geom.rectangle(0, 0, 1, 1);
276 274
277 // settings for this digilib instance are merged from defaults and options 275 // settings for this digilib instance are merged from defaults and options
278 var settings = $.extend({}, defaults, options); 276 var settings = $.extend({}, defaults, options);
279 var isFullscreen = settings.interactionMode === 'fullscreen'; 277 var isFullscreen = settings.interactionMode === 'fullscreen';
280 var queryParams = {}; 278 var queryParams = {};
281 if (isFullscreen) { 279 if (isFullscreen) {
322 // store $(this) element in the settings 320 // store $(this) element in the settings
323 elemSettings = $.extend({}, settings, params); 321 elemSettings = $.extend({}, settings, params);
324 data = { 322 data = {
325 $elem : $elem, 323 $elem : $elem,
326 settings : elemSettings, 324 settings : elemSettings,
327 queryParams : params 325 queryParams : params,
326 plugins : plugins
328 }; 327 };
329 // store in data element 328 // store in data element
330 $elem.data('digilib', data); 329 $elem.data('digilib', data);
331 } 330 }
332 unpackParams(data); 331 unpackParams(data);
1791 setQuality : setQuality, 1790 setQuality : setQuality,
1792 getScaleMode : getScaleMode, 1791 getScaleMode : getScaleMode,
1793 setScaleMode : setScaleMode, 1792 setScaleMode : setScaleMode,
1794 isFullArea : isFullArea 1793 isFullArea : isFullArea
1795 }; 1794 };
1796 1795
1797 // hook plugin into jquery 1796 // hook plugin into jquery
1798 $.fn.digilib = function (action) { 1797 $.fn.digilib = function (action) {
1799 // plugin extension mechanism 1798 // plugin extension mechanism
1800 if (action === 'plugin') { 1799 if (action === 'plugin') {
1801 var plugin = arguments[1]; 1800 var plugin = arguments[1];