# HG changeset patch # User hertzhaft # Date 1297979432 -3600 # Node ID ddb28f6b066a7598d83f826116227ab325a4d9b7 # Parent b322f553f92e41ada69b5807a95f042772344494 make plugins available to other plugins diff -r b322f553f92e -r ddb28f6b066a client/digitallibrary/jquery/jquery-test-svg.html --- a/client/digitallibrary/jquery/jquery-test-svg.html Thu Feb 17 22:36:49 2011 +0100 +++ b/client/digitallibrary/jquery/jquery-test-svg.html Thu Feb 17 22:50:32 2011 +0100 @@ -8,9 +8,9 @@ - + diff -r b322f553f92e -r ddb28f6b066a client/digitallibrary/jquery/jquery.digilib.geometry.js --- a/client/digitallibrary/jquery/jquery.digilib.geometry.js Thu Feb 17 22:36:49 2011 +0100 +++ b/client/digitallibrary/jquery/jquery.digilib.geometry.js Thu Feb 17 22:50:32 2011 +0100 @@ -481,7 +481,7 @@ position : position, rectangle : rectangle, transform : transform - }; + }; }; if ($.fn.digilib == null) { $.error("jquery.digilib.geometry must be loaded after jquery.digilib!"); diff -r b322f553f92e -r ddb28f6b066a client/digitallibrary/jquery/jquery.digilib.js --- a/client/digitallibrary/jquery/jquery.digilib.js Thu Feb 17 22:36:49 2011 +0100 +++ b/client/digitallibrary/jquery/jquery.digilib.js Thu Feb 17 22:50:32 2011 +0100 @@ -253,10 +253,8 @@ // list of plugins var plugins = {}; - // object to export functions to plugins var fn; - // affine geometry plugin stub var geom; @@ -273,7 +271,7 @@ geom = plugins.geometry.init(); } FULL_AREA = geom.rectangle(0, 0, 1, 1); - + // settings for this digilib instance are merged from defaults and options var settings = $.extend({}, defaults, options); var isFullscreen = settings.interactionMode === 'fullscreen'; @@ -324,7 +322,8 @@ data = { $elem : $elem, settings : elemSettings, - queryParams : params + queryParams : params, + plugins : plugins }; // store in data element $elem.data('digilib', data); @@ -1793,7 +1792,7 @@ setScaleMode : setScaleMode, isFullArea : isFullArea }; - + // hook plugin into jquery $.fn.digilib = function (action) { // plugin extension mechanism diff -r b322f553f92e -r ddb28f6b066a client/digitallibrary/jquery/svg/jquery.digilibSVG.js --- a/client/digitallibrary/jquery/svg/jquery.digilibSVG.js Thu Feb 17 22:36:49 2011 +0100 +++ b/client/digitallibrary/jquery/svg/jquery.digilibSVG.js Thu Feb 17 22:50:32 2011 +0100 @@ -39,7 +39,7 @@ console.debug('installing jquery.digilibSVG'); var pluginName = 'digilibSVG'; - var geom = dlGeometry(); + var geom; var defaults = { // choice of colors offered by toolbar @@ -169,6 +169,8 @@ "init" : function(options) { var $digilib = this; var data = $digilib.data('digilib'); + var plugins = data.plugins; + geom = plugins.geometry.init(); var settings = $.extend({}, defaults, options); // prepare the AJAX callback // TODO: return unless interactiveMode === 'fullscreen'?