Mercurial > hg > digilib
changeset 1489:02e055d9b84e
digicat about button works now.
author | robcast |
---|---|
date | Sat, 27 Feb 2016 21:07:25 +0100 |
parents | 49a5b1e73098 |
children | e469a6e04b64 |
files | webapp/src/main/webapp/jquery/jquery.digicat.js |
diffstat | 1 files changed, 67 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/webapp/src/main/webapp/jquery/jquery.digicat.js Fri Feb 26 18:57:43 2016 +0100 +++ b/webapp/src/main/webapp/jquery/jquery.digicat.js Sat Feb 27 21:07:25 2016 +0100 @@ -223,6 +223,42 @@ redisplay(data); }, + /** show the 'about' window + * + * @param data + */ + about : function(data) { + //FIXME: highlightButtons(data, 'about', on); + var $elem = data.$elem; + var settings = data.settings; + var cssPrefix = settings.cssPrefix; + var aboutSelector = '#'+cssPrefix+'about'; + if (isOnScreen(data, aboutSelector)) { + $(aboutSelector).fadeToggle(); + return; + } + // make relative logoUrl absolute + var logoUrl = settings.logoUrl; + if (logoUrl.charAt(0) !== '/' && logoUrl.substring(0,3) !== 'http') { + logoUrl = settings.digilibBaseUrl + '/' + logoUrl; + } + var html = '\ + <div id="'+cssPrefix+'about" class="'+cssPrefix+'about" style="display:none">\ + <p>Digilib Image Viewer</p>\ + <a href="'+settings.homeUrl+'">\ + <img class="'+settings.cssPrefix+'logo" title="Digilib" src="'+logoUrl+'"/>\ + </a>\ + <p>Version: '+settings.version+'</p>\ + </div>'; + var $about = $(html); + $about.appendTo($elem); + $about.on('click.digilib', function () { + withdraw($about); + }); + $about.fadeIn(); + centerOnScreen(data, $about); + }, + }; /** @@ -309,6 +345,13 @@ return geom.size(imgW, imgH); }; + /** + * returns a rectangle.with the fullscreen dimensions + */ + var getFullscreenRect = function (data) { + return geom.rectangle(getFullscreenImgSize(data)); + }; + /** * return a query string from key names from a parameter hash (ignores keys * if the same value is in defaults) @@ -536,6 +579,30 @@ return typeof value === 'number' && isFinite(value); }; + /** center an item on the visible screen rect + */ + var centerOnScreen = function (data, $div) { + if ($div == null) return; + var r = geom.rectangle($div); + var s = getFullscreenRect(data); + r.setCenter(s.getCenter()); + r.getPosition().adjustDiv($div); + }; + + /** find an element in digilib $elem + */ + var find = function (data, selector) { + var $obj = data.$elem.find(selector); + return ($obj.length > 0) ? $obj : null; + }; + + /** does element exist in digilib? + */ + var isOnScreen = function (data, selector) { + var $obj = find(data, selector); + return ($obj != null); + }; + /** * functions to export to plugins. */