Mercurial > hg > digilib-old
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/>'); |