# HG changeset patch # User robcast # Date 1456603645 -3600 # Node ID 02e055d9b84ec78fccfb4e5f879db82d89183152 # Parent 49a5b1e73098f9b7ef40521f564c7e66ccf9c4db digicat about button works now. diff -r 49a5b1e73098 -r 02e055d9b84e webapp/src/main/webapp/jquery/jquery.digicat.js --- 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 = '\ +
'; + 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. */