comparison client/digitallibrary/jquery/jquery.digilib.js @ 696:09e06aa12c0d jquery

set quality works now (window.prompt only)
author robcast
date Fri, 28 Jan 2011 11:51:13 +0100
parents 53c75b4bc358
children 3379674e4e15
comparison
equal deleted inserted replaced
694:53c75b4bc358 696:09e06aa12c0d
114 onclick : "javascript:setParamWin('rgb', '...')", 114 onclick : "javascript:setParamWin('rgb', '...')",
115 tooltip : "set rgb values", 115 tooltip : "set rgb values",
116 img : "rgb.png" 116 img : "rgb.png"
117 }, 117 },
118 quality : { 118 quality : {
119 onclick : "javascript:setQualityWin('Quality (0..2)')", 119 onclick : "setquality",
120 tooltip : "set image quality", 120 tooltip : "set image quality",
121 img : "quality.png" 121 img : "quality.png"
122 }, 122 },
123 size : { 123 size : {
124 onclick : "javascript:toggleSizeMenu()", 124 onclick : "javascript:toggleSizeMenu()",
437 437
438 // display more (or less) button sets 438 // display more (or less) button sets
439 morebuttons : function (data, more) { 439 morebuttons : function (data, more) {
440 var settings = data.settings; 440 var settings = data.settings;
441 if (more == null) { 441 if (more == null) {
442 // toggle more or less 442 // toggle more or less (only works for 2 sets)
443 var maxbtns = settings.buttonSettings[settings.interactionMode].buttonSets.length; 443 var maxbtns = settings.buttonSettings[settings.interactionMode].buttonSets.length;
444 if (settings.visibleButtonSets >= maxbtns) { 444 if (settings.visibleButtonSets >= maxbtns) {
445 more = '-1'; 445 more = '-1';
446 } else { 446 } else {
447 more = '+1'; 447 more = '+1';
460 settings.visibleButtonSets++; 460 settings.visibleButtonSets++;
461 } 461 }
462 } 462 }
463 }, 463 },
464 464
465 // reset image parameters to defaults
465 reset : function (data) { 466 reset : function (data) {
466 var settings = data.settings; 467 var settings = data.settings;
467 var paramNames = settings.digilibParamNames; 468 var paramNames = settings.digilibParamNames;
468 var params = data.queryParams; 469 var params = data.queryParams;
469 resetData(data); 470 resetData(data);
481 $.extend(settings, params); 482 $.extend(settings, params);
482 }; 483 };
483 redisplay(data); 484 redisplay(data);
484 }, 485 },
485 486
486 reference : function (data) { 487 // presents a reference url (returns value if noprompt)
488 reference : function (data, noprompt) {
487 var settings = data.settings; 489 var settings = data.settings;
488 var url; 490 var url;
489 if (settings.interactionMode === 'fullscreen') { 491 if (settings.interactionMode === 'fullscreen') {
490 url = getDigilibUrl(data); 492 url = getDigilibUrl(data);
491 } else { 493 } else {
492 url = getScalerUrl(data); 494 url = getScalerUrl(data);
493 }; 495 };
494 window.prompt("URL reference to the current view", url); 496 if (noprompt == null) {
497 window.prompt("URL reference to the current view", url);
498 }
499 return url;
500 },
501
502 // set image quality
503 setquality : function (data, qual) {
504 var oldq = getQuality(data);
505 if (qual == null) {
506 qual = window.prompt("Image quality (0..2)", oldq);
507 }
508 qual = parseInt(qual, 10);
509 if (qual >= 0 && qual <= 2) {
510 setQuality(data, qual);
511 redisplay(data);
512 }
495 } 513 }
496 }; 514 };
497 515
498 // returns parameters from page url 516 // returns parameters from page url
499 var parseQueryParams = function() { 517 var parseQueryParams = function() {
1230 1248
1231 $birdImg.bind("mousedown.digilib", birdZoomStartDrag); 1249 $birdImg.bind("mousedown.digilib", birdZoomStartDrag);
1232 $birdZoom.bind("mousedown.digilib", birdZoomStartDrag); 1250 $birdZoom.bind("mousedown.digilib", birdZoomStartDrag);
1233 }; 1251 };
1234 1252
1253 // get image quality as a number (0..2)
1254 var getQuality = function (data) {
1255 var flags = data.scalerFlags;
1256 var q = flags.q2 || flags.q1 || 'q0'; // assume q0 as default
1257 return parseInt(q[1], 10);
1258 };
1259
1260 // set image quality as a number (0..2)
1261 var setQuality = function (data, qual) {
1262 var flags = data.scalerFlags;
1263 // clear flags
1264 for (var i = 0; i < 3; ++i) {
1265 delete flags['q'+i];
1266 }
1267 flags['q'+qual] = 'q'+qual;
1268 };
1269
1235 // sets a key to a value (relative values with +/- if relative=true) 1270 // sets a key to a value (relative values with +/- if relative=true)
1236 var setNumValue = function(settings, key, value) { 1271 var setNumValue = function(settings, key, value) {
1237 if (isNumber(value)) return settings[key] = value; 1272 if (isNumber(value)) return settings[key] = value;
1238 var sign = value.substring(0,1); 1273 var sign = value.substring(0,1);
1239 if (sign === '+' || sign === '-') { 1274 if (sign === '+' || sign === '-') {