Mercurial > hg > digilib-old
changeset 797:6914ddedaca7 jquery
loadImageInfo sends event when loaded.
author | robcast |
---|---|
date | Fri, 18 Feb 2011 19:46:09 +0100 |
parents | 6aa9908303f1 |
children | b07d1824ca2a |
files | client/digitallibrary/jquery/jquery.digilib.js |
diffstat | 1 files changed, 14 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/client/digitallibrary/jquery/jquery.digilib.js Fri Feb 18 19:18:14 2011 +0100 +++ b/client/digitallibrary/jquery/jquery.digilib.js Fri Feb 18 19:46:09 2011 +0100 @@ -25,7 +25,7 @@ */ // fallback for console.log calls -if (typeof(console) === 'undefined') { +if (typeof console === 'undefined') { var console = { log : function(){}, debug : function(){}, @@ -357,7 +357,8 @@ } // get image info from server if needed if (data.scaleMode === 'pixel' || data.scaleMode === 'size') { - loadImageInfo(data, updateDisplay); // updateDisplay(data) on completion + $(data).bind('imageInfo', handleImageInfo); + loadImageInfo(data); // triggers "imageInfo" on completion } // create buttons before scaler for (var i = 0; i < elemSettings.visibleButtonSets; ++i) { @@ -722,8 +723,8 @@ return settings.digilibBaseUrl + '?' + queryString; }; - // loads image information from digilib server via HTTP (and calls complete-fn) - var loadImageInfo = function (data, complete) { + // loads image information from digilib server via HTTP + var loadImageInfo = function (data) { var settings = data.settings; var p = settings.scalerBaseUrl.indexOf('/servlet/Scaler'); var url = settings.scalerBaseUrl.substring(0, p) + '/ImgInfo-json.jsp'; @@ -732,9 +733,8 @@ $.getJSON(url, function (json) { console.debug("got json data=", json); data.imgInfo = json; - if (complete != null) { - complete.call(this, data, json); - } + // send event + $(data).trigger('imageInfo', [json]); }); }; @@ -1205,7 +1205,7 @@ } }; - // returns function for load event of scaler img + // returns handler for load event of scaler img var scalerImgLoadedHandler = function (data) { return function () { var $img = $(this); @@ -1222,6 +1222,12 @@ }; }; + // handler for imageInfo loaded event + var handleImageInfo = function (evt, json) { + var data = this; + updateDisplay(data); + }; + // place marks on the image var renderMarks = function (data) { if (data.$img == null || data.imgTrafo == null) return;