comparison client/digitallibrary/jquery/jquery.digilib.js @ 628:1f077f8afc5e jquery

changed methods to pass "data" around instead of "settings" renamed makeParamString to getParamString
author robcast
date Tue, 18 Jan 2011 00:11:53 +0100
parents c2566e470569
children b426efcc8a8e
comparison
equal deleted inserted replaced
627:c2566e470569 628:1f077f8afc5e
213 // store in data element 213 // store in data element
214 $elem.data('digilib', data); 214 $elem.data('digilib', data);
215 } 215 }
216 // create HTML structure 216 // create HTML structure
217 setupScalerDiv(data); 217 setupScalerDiv(data);
218 setupButtons($elem, elemSettings, 'actionsStandard'); 218 setupButtons(data, 'actionsStandard');
219 // bird's eye view creation - TODO: could be deferred? 219 // bird's eye view creation - TODO: could be deferred?
220 setupBirdviewDiv($elem, elemSettings); 220 setupBirdviewDiv(data);
221 // about window creation - TODO: could be deferred? restrict to only one item? 221 // about window creation - TODO: could be deferred? restrict to only one item?
222 setupAboutDiv($elem, elemSettings); 222 setupAboutDiv(data);
223 }); 223 });
224 }, 224 },
225 225
226 // clean up digilib 226 // clean up digilib
227 destroy : function() { 227 destroy : function() {
338 }; 338 };
339 return params; 339 return params;
340 }; 340 };
341 341
342 // returns a query string from key names from a parameter hash 342 // returns a query string from key names from a parameter hash
343 var makeParamString = function (settings, keys) { 343 var getParamString = function (settings, keys) {
344 var paramString = ''; 344 var paramString = '';
345 var latter = false; 345 var latter = false;
346 for (i = 0; i < keys.length; ++i) { 346 for (i = 0; i < keys.length; ++i) {
347 var key = keys[i]; 347 var key = keys[i];
348 if (settings[key]) { 348 if (settings[key]) {
357 }; 357 };
358 358
359 // returns URL and query string for Scaler 359 // returns URL and query string for Scaler
360 var getScalerString = function (settings) { 360 var getScalerString = function (settings) {
361 var keys = settings.scalerParamNames; 361 var keys = settings.scalerParamNames;
362 var queryString = makeParamString(settings, keys); 362 var queryString = getParamString(settings, keys);
363 var url = settings.scalerBaseUrl + '?' + queryString; 363 var url = settings.scalerBaseUrl + '?' + queryString;
364 return url; 364 return url;
365 }; 365 };
366 366
367 // returns maximum size for scaler img in fullscreen mode 367 // returns maximum size for scaler img in fullscreen mode
412 data.img = $img; 412 data.img = $img;
413 $img.load(scalerImgLoadedFn(data)); 413 $img.load(scalerImgLoadedFn(data));
414 }; 414 };
415 415
416 // creates HTML structure for buttons in elem 416 // creates HTML structure for buttons in elem
417 var setupButtons = function ($elem, settings, actionGroup) { 417 var setupButtons = function (data, actionGroup) {
418 var $elem = data.target;
419 var settings = data.settings;
418 if (settings.interactionMode === 'fullscreen') { 420 if (settings.interactionMode === 'fullscreen') {
419 // fullscreen -- create new 421 // fullscreen -- create new
420 var $buttonsDiv = $('<div class="buttons"></div>'); 422 var $buttonsDiv = $('<div class="buttons"></div>');
421 $elem.append($buttonsDiv); 423 $elem.append($buttonsDiv);
422 var actionNames = settings[actionGroup]; 424 var actionNames = settings[actionGroup];
457 } 459 }
458 return $buttonsDiv; 460 return $buttonsDiv;
459 }; 461 };
460 462
461 // creates HTML structure for the bird's eye view in elem 463 // creates HTML structure for the bird's eye view in elem
462 var setupBirdviewDiv = function ($elem, settings) { 464 var setupBirdviewDiv = function (data) {
465 var $elem = data.target;
466 var settings = data.settings;
463 // use only the relevant parameters 467 // use only the relevant parameters
464 var keys = ['fn','pn','dw','dh']; 468 var keys = ['fn','pn','dw','dh'];
465 var birdDimensions = { 469 var birdDimensions = {
466 'dw' : settings.birdMaxX, 470 'dw' : settings.birdMaxX,
467 'dh' : settings.birdMaxY 471 'dh' : settings.birdMaxY
468 }; 472 };
469 var birdSettings = $.extend({}, settings, birdDimensions); 473 var birdSettings = $.extend({}, settings, birdDimensions);
470 var birdUrl = settings.scalerBaseUrl + '?' + makeParamString(birdSettings, keys); 474 var birdUrl = settings.scalerBaseUrl + '?' + getParamString(birdSettings, keys);
471 // the bird's eye div 475 // the bird's eye div
472 var $birdviewDiv = $('<div class="birdview" style="display:none"/>'); 476 var $birdviewDiv = $('<div class="birdview" style="display:none"/>');
473 // the detail indicator frame 477 // the detail indicator frame
474 var $birdzoomDiv = $('<div class="birdzoom"/>'); 478 var $birdzoomDiv = $('<div class="birdzoom"/>');
475 // the small image 479 // the small image
479 $birdviewDiv.append($birdImg); 483 $birdviewDiv.append($birdImg);
480 $birdImg.attr('src', birdUrl); 484 $birdImg.attr('src', birdUrl);
481 }; 485 };
482 486
483 // creates HTML structure for the about view in elem 487 // creates HTML structure for the about view in elem
484 var setupAboutDiv = function ($elem, settings) { 488 var setupAboutDiv = function (data) {
489 var $elem = data.target;
490 var settings = data.settings;
485 var $aboutDiv = $('<div class="about" style="display:none"/>'); 491 var $aboutDiv = $('<div class="about" style="display:none"/>');
486 var $header = $('<p>Digilib Graphic Viewer</p>'); 492 var $header = $('<p>Digilib Graphic Viewer</p>');
487 var $link = $('<a/>'); 493 var $link = $('<a/>');
488 var $logo = $('<img class="logo" title="digilib"/>'); 494 var $logo = $('<img class="logo" title="digilib"/>');
489 var $content = $('<p/>'); 495 var $content = $('<p/>');