Mercurial > hg > digilib-old
comparison webapp/src/main/webapp/jquery/jquery.digilib.js @ 1052:0d2491acfe70
simplify 'about' div
author | hertzhaft |
---|---|
date | Mon, 26 Mar 2012 22:22:08 +0200 |
parents | 4f17420392a9 |
children | 86ba65b86d52 |
comparison
equal
deleted
inserted
replaced
1051:ad769aaea759 | 1052:0d2491acfe70 |
---|---|
79 'suppressParamNames' : null, | 79 'suppressParamNames' : null, |
80 // mode of operation: | 80 // mode of operation: |
81 // fullscreen = take parameters from page URL, keep state in page URL | 81 // fullscreen = take parameters from page URL, keep state in page URL |
82 // embedded = take parameters from Javascript options, keep state inside object | 82 // embedded = take parameters from Javascript options, keep state inside object |
83 'interactionMode' : 'fullscreen', | 83 'interactionMode' : 'fullscreen', |
84 // is the "about" window shown? | |
85 'isAboutDivVisible' : false, | |
86 // default size of preview image for drag-scroll (preferrably same as Bird's Eye View image) | 84 // default size of preview image for drag-scroll (preferrably same as Bird's Eye View image) |
87 'previewImgWidth' : 200, | 85 'previewImgWidth' : 200, |
88 'previewImgHeight' : 200, | 86 'previewImgHeight' : 200, |
89 // maximum width or height of preview background image for drag-scroll | 87 // maximum width or height of preview background image for drag-scroll |
90 'maxBgSize' : 10000, | 88 'maxBgSize' : 10000, |
238 if (data.scaleMode === 'pixel' || data.scaleMode === 'size') { | 236 if (data.scaleMode === 'pixel' || data.scaleMode === 'size') { |
239 loadImageInfo(data); // triggers "imageInfo" on completion | 237 loadImageInfo(data); // triggers "imageInfo" on completion |
240 } | 238 } |
241 // create HTML structure for scaler | 239 // create HTML structure for scaler |
242 setupScalerDiv(data); | 240 setupScalerDiv(data); |
243 // about window creation - TODO: could be deferred? restrict to only one item? | |
244 setupAboutDiv(data); | |
245 // send setup event | 241 // send setup event |
246 $(data).trigger('setup'); | 242 $(data).trigger('setup'); |
247 }); | 243 }); |
248 }, | 244 }, |
249 | 245 |
259 data.digilib.remove(); | 255 data.digilib.remove(); |
260 $elem.removeData('digilib'); | 256 $elem.removeData('digilib'); |
261 }); | 257 }); |
262 }, | 258 }, |
263 | 259 |
264 /** show or hide the 'about' window | 260 /** show the 'about' window |
265 * | 261 * |
266 * @param data | 262 * @param data |
267 * @param show | 263 */ |
268 */ | 264 about : function(data) { |
269 showAboutDiv : function(data, show) { | 265 //FIXME: highlightButtons(data, 'about', on); |
270 var on = showDiv(data.settings.isAboutDivVisible, data.$aboutDiv, show); | 266 var $elem = data.$elem; |
271 data.settings.isAboutDivVisible = on; | 267 var settings = data.settings; |
272 //FIXME: highlightButtons(data, 'help', on); | 268 var cssPrefix = settings.cssPrefix; |
269 var $about = $elem.find('#'+cssPrefix+'about'); | |
270 if ($about.length > 0) return; // already onscreen | |
271 // make relative logoUrl absolute | |
272 var logoUrl = settings.logoUrl; | |
273 if (logoUrl.charAt(0) !== '/' && logoUrl.substring(0,3) !== 'http') { | |
274 logoUrl = settings.digilibBaseUrl + '/' + logoUrl; | |
275 } | |
276 var html = '\ | |
277 <div id="'+cssPrefix+'about" class="'+cssPrefix+'about" style="display:none">\ | |
278 <p>Digilib Image Viewer</p>\ | |
279 <a href="'+settings.homeUrl+'">\ | |
280 <img class="'+settings.cssPrefix+'logo" title="Digilib" src="'+logoUrl+'"/>\ | |
281 </a>\ | |
282 <p>Version: '+settings.version+'</p>\ | |
283 </div>'; | |
284 $about = $(html); | |
285 $about.appendTo($elem); | |
286 $about.on('click.digilib', function () { | |
287 withdraw($about); | |
288 }); | |
289 $about.fadeIn(); | |
290 centerOnScreen(data, $about); | |
273 }, | 291 }, |
274 | 292 |
275 /** goto given page nr (+/-: relative) | 293 /** goto given page nr (+/-: relative) |
276 * | 294 * |
277 * @param data | 295 * @param data |
434 } | 452 } |
435 } | 453 } |
436 } else { | 454 } else { |
437 if (rgbm != null) data.settings.rgbm = rgbm; | 455 if (rgbm != null) data.settings.rgbm = rgbm; |
438 if (rgba != null) data.settings.rgba = rgba; | 456 if (rgba != null) data.settings.rgba = rgba; |
439 redisplay(data); | 457 redisplay(data); |
440 } | 458 } |
441 }, | 459 }, |
442 | 460 |
443 /** reset image parameters to defaults | 461 /** reset image parameters to defaults |
444 * TODO: improve this! | 462 * TODO: improve this! |
1035 $img.load(scalerImgLoadedHandler(data)); | 1053 $img.load(scalerImgLoadedHandler(data)); |
1036 $img.error(function () {console.error("error loading scaler image");}); | 1054 $img.error(function () {console.error("error loading scaler image");}); |
1037 $img.attr('src', scalerUrl); | 1055 $img.attr('src', scalerUrl); |
1038 }; | 1056 }; |
1039 | 1057 |
1040 /** creates HTML structure for the about view in elem | 1058 /** shows some div (toggle visibility if show is null) |
1041 * | |
1042 */ | |
1043 var setupAboutDiv = function (data) { | |
1044 var $elem = data.$elem; | |
1045 var settings = data.settings; | |
1046 var $aboutDiv = $('<div class="'+settings.cssPrefix+'about" style="display:none"/>'); | |
1047 var $header = $('<p>Digilib Image Viewer</p>'); | |
1048 var $link = $('<a/>'); | |
1049 var $logo = $('<img class="'+settings.cssPrefix+'logo" title="digilib"/>'); | |
1050 var $content = $('<p/>'); | |
1051 $elem.append($aboutDiv); | |
1052 $aboutDiv.append($header); | |
1053 $aboutDiv.append($link); | |
1054 $aboutDiv.append($content); | |
1055 $link.append($logo); | |
1056 logoUrl = settings.logoUrl; | |
1057 // make relative logoUrl absolute | |
1058 if (logoUrl.charAt(0) !== '/' && logoUrl.substring(0,3) !== 'http') { | |
1059 logoUrl = settings.digilibBaseUrl + '/' + logoUrl; | |
1060 } | |
1061 $logo.attr('src', logoUrl); | |
1062 $link.attr('href', settings.homeUrl); | |
1063 $content.text('Version: ' + settings.version); | |
1064 data.$aboutDiv = $aboutDiv; | |
1065 // click hides | |
1066 $aboutDiv.on('click.digilib', function () { | |
1067 actions['showAboutDiv'](data, false); | |
1068 }); | |
1069 }; | |
1070 | |
1071 /** shows some window e.g. 'about' (toggle visibility if show is null) | |
1072 * | 1059 * |
1073 */ | 1060 */ |
1074 var showDiv = function (isVisible, $div, show) { | 1061 var showDiv = function (isVisible, $div, show) { |
1075 if (show == null) { | 1062 if (show == null) { |
1076 // toggle visibility | 1063 // toggle visibility |