Mercurial > hg > digilib
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 === '-') { |
