diff --git a/themes/finc-accessibility/js/account_ajax.js b/themes/finc-accessibility/js/account_ajax.js deleted file mode 100644 index 9d657d9f5d95421a30dd8782a76fa4205947137f..0000000000000000000000000000000000000000 --- a/themes/finc-accessibility/js/account_ajax.js +++ /dev/null @@ -1,256 +0,0 @@ -/*global userIsLoggedIn, VuFind */ -VuFind.register('account', function Account() { - // Retrieved statuses - var LOADING = -1 * Math.PI; // waiting for request - var MISSING = -2 * Math.PI; // no data available - var INACTIVE = -3 * Math.PI; // status element missing - var _statuses = {}; - - // Account Icons - var ICON_LEVELS = { - "NONE": 0, - "GOOD": 1, - "WARNING": 2, - "DANGER": 3 - }; - var _accountIcons = {}; - _accountIcons[ICON_LEVELS.NONE] = "fa fa-user-circle"; - _accountIcons[ICON_LEVELS.GOOD] = "fa fa-bell text-success"; - _accountIcons[ICON_LEVELS.WARNING] = "fa fa-bell text-warning"; - _accountIcons[ICON_LEVELS.DANGER] = "fa fa-exclamation-triangle text-danger"; - - var _submodules = []; - - var _sessionDataPrefix = "vf-account-status-"; - var _save = function _save(module) { - sessionStorage.setItem( - _sessionDataPrefix + module, - JSON.stringify(_statuses[module]) - ); - }; - - // Clearing save forces AJAX update next page load - var clearCache = function clearCache(name) { - if (typeof name === "undefined") { - for (var sub in _submodules) { - if (Object.prototype.hasOwnProperty.call(_submodules, sub)) { - clearCache(sub); - } - } - } else { - sessionStorage.removeItem(_sessionDataPrefix + name); - } - }; - - var _getStatus = function _getStatus(module) { - return (typeof _statuses[module] === "undefined") ? LOADING : _statuses[module]; - }; - - var _render = function _render() { - var accountStatus = ICON_LEVELS.NONE; - for (var sub in _submodules) { - if (Object.prototype.hasOwnProperty.call(_submodules, sub)) { - var $element = $(_submodules[sub].selector); - if (!$element) { - _statuses[sub] = INACTIVE; - continue; - } - var status = _getStatus(sub); - if (status === MISSING) { - $element.addClass('hidden'); - } else { - $element.removeClass('hidden'); - if (status === LOADING) { - $element.html('<i class="fa fa-spin fa-spinner"></i>'); - } else { - var moduleStatus = _submodules[sub].render($element, _statuses[sub], ICON_LEVELS); - if (moduleStatus > accountStatus) { - accountStatus = moduleStatus; - } - } - } - } - } - $("#account-icon").attr("class", _accountIcons[accountStatus]); - if (accountStatus > ICON_LEVELS.NONE) { - $("#account-icon") - .attr("data-toggle", "tooltip") - .attr("data-placement", "bottom") - .attr("title", VuFind.translate("account_has_alerts")) - ; - } else { - $("#account-icon").tooltip("destroy"); - } - }; - var _ajaxLookup = function _ajaxLookup(module) { - $.ajax({ - url: VuFind.path + '/AJAX/JSON?method=' + _submodules[module].ajaxMethod, - dataType: 'json' - }) - .done(function ajaxLookupDone(response) { - _statuses[module] = response.data; - }) - .fail(function ajaxLookupFail() { - _statuses[module] = MISSING; - }) - .always(function ajaxLookupAlways() { - _save(module); - _render(); - }); - }; - - var _load = function _load(module) { - var $element = $(_submodules[module].selector); - if (!$element) { - _statuses[module] = INACTIVE; - } else { - var json = sessionStorage.getItem(_sessionDataPrefix + module); - var session = typeof json === "undefined" ? null : JSON.parse(json); - if ( - session === null || - session === LOADING || - session === MISSING - ) { - _statuses[module] = LOADING; - _ajaxLookup(module); - } else { - _statuses[module] = session; - } - _render(); - } - }; - - var init = function init() { - // Update information when certain actions are performed - $("#renewals").submit(function clearCheckedOut() { - clearCache("checkedOut"); - }); - $('#cancelHold, [name="placeHold"]').submit(function clearHolds() { - clearCache("holds"); - }); - $('#ILLRequestForm, #cancelILLRequest').submit(function clearHolds() { - clearCache("illRequests"); - }); - $('[name="placeStorageRetrievalRequest"], #cancelStorageRetrievalRequest').submit(function clearStorageRetrievals() { - clearCache("storageRetrievalRequests"); - }); - $("#library_card").change(function clearChangeLibraryCard() { - clearCache(/* all */); - }); - }; - - var register = function register(name, module) { - if (typeof _submodules[name] === "undefined") { - _submodules[name] = typeof module == 'function' ? module() : module; - } - var $el = $(_submodules[name].selector); - if ($el.length > 0) { - $el.removeClass("hidden"); - _statuses[name] = LOADING; - _load(name); - } else { - _statuses[name] = INACTIVE; - } - }; - - return { - init: init, - clearCache: clearCache, - // if user is logged out, clear cache instead of register - register: userIsLoggedIn ? register : clearCache - }; -}); - -$(document).ready(function registerAccountAjax() { - - VuFind.account.register("fines", { - selector: ".fines-status", - ajaxMethod: "getUserFines", - render: function render($element, status, ICON_LEVELS) { - if (status.value === 0) { - $element.addClass("hidden"); - return ICON_LEVELS.NONE; - } - $element.html('<span class="badge overdue">' + status.display + '</span>'); - return ICON_LEVELS.DANGER; - } - }); - - VuFind.account.register("checkedOut", { - selector: ".checkedout-status", - ajaxMethod: "getUserTransactions", - render: function render($element, status, ICON_LEVELS) { - var html = ''; - var level = ICON_LEVELS.NONE; - if (status.ok > 0) { - html += '<span class="badge ok" data-toggle="tooltip" title="' + VuFind.translate('Checked Out Items') + '">' + status.ok + '</span>'; - } - if (status.warn > 0) { - html += '<span class="badge warn" data-toggle="tooltip" title="' + VuFind.translate('renew_item_due_tooltip') + '">' + status.warn + '</span>'; - level = ICON_LEVELS.WARNING; - } - if (status.overdue > 0) { - html += '<span class="badge overdue" data-toggle="tooltip" title="' + VuFind.translate('renew_item_overdue_tooltip') + '">' + status.overdue + '</span>'; - level = ICON_LEVELS.DANGER; - } - $element.html(html); - $('[data-toggle="tooltip"]', $element).tooltip(); - return level; - } - }); - - VuFind.account.register("holds", { - selector: ".holds-status", - ajaxMethod: "getUserHolds", - render: function render($element, status, ICON_LEVELS) { - var level = ICON_LEVELS.NONE; - if (status.available > 0) { - $element.html('<i class="fa fa-bell text-success" data-toggle="tooltip" title="' + VuFind.translate('hold_available') + '"></i>'); - level = ICON_LEVELS.GOOD; - } else if (status.in_transit > 0) { - $element.html('<i class="fa fa-clock-o text-warning" data-toggle="tooltip" title="' + VuFind.translate('request_in_transit') + '"></i>'); - } else { - $element.addClass("holds-status hidden"); - } - $('[data-toggle="tooltip"]', $element).tooltip(); - return level; - } - }); - - VuFind.account.register("illRequests", { - selector: ".illrequests-status", - ajaxMethod: "getUserILLRequests", - render: function render($element, status, ICON_LEVELS) { - var level = ICON_LEVELS.NONE; - if (status.available > 0) { - $element.html('<i class="fa fa-bell text-success" data-toggle="tooltip" title="' + VuFind.translate('ill_request_available') + '"></i>'); - level = ICON_LEVELS.GOOD; - } else if (status.in_transit > 0) { - $element.html('<i class="fa fa-clock-o text-warning" data-toggle="tooltip" title="' + VuFind.translate('request_in_transit') + '"></i>'); - } else { - $element.addClass("holds-status hidden"); - } - $('[data-toggle="tooltip"]', $element).tooltip(); - return level; - } - }); - - VuFind.account.register("storageRetrievalRequests", { - selector: ".storageretrievalrequests-status", - ajaxMethod: "getUserStorageRetrievalRequests", - render: function render($element, status, ICON_LEVELS) { - var level = ICON_LEVELS.NONE; - if (status.available > 0) { - $element.html('<i class="fa fa-bell text-success" data-toggle="tooltip" title="' + VuFind.translate('storage_retrieval_request_available') + '"></i>'); - level = ICON_LEVELS.GOOD; - } else if (status.in_transit > 0) { - $element.html('<i class="fa fa-clock-o text-warning" data-toggle="tooltip" title="' + VuFind.translate('request_in_transit') + '"></i>'); - } else { - $element.addClass("holds-status hidden"); - } - $('[data-toggle="tooltip"]', $element).tooltip(); - return level; - } - }); - -}); diff --git a/themes/finc/images/dfg_logo_text.png b/themes/finc/images/dfg_logo_text.png old mode 100755 new mode 100644 diff --git a/themes/finc/templates/RecordDriver/DefaultRecord/offcanvas-toggler-myresearch.phtml b/themes/finc/templates/RecordDriver/DefaultRecord/offcanvas-toggler-myresearch.phtml index 3a0f991d8c718e6956ad65a2ad51fe92f3830328..c185ad9f4c1002ef73e9729f58209e1cbb5693ab 100644 --- a/themes/finc/templates/RecordDriver/DefaultRecord/offcanvas-toggler-myresearch.phtml +++ b/themes/finc/templates/RecordDriver/DefaultRecord/offcanvas-toggler-myresearch.phtml @@ -1,7 +1,7 @@ <!-- finc: RecordDriver - DefaultRecord - offcanvas-toggler-myresearch --> <?php ?> <span class="offcanvas-toggler"> - <a class="search-filter-toggle btn btn-primary visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="<?=$this->transEsc('sidebar_expand')?>"> + <a class="search-filter-toggle btn btn-primary visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>"> <?=$this->transEsc('offcanvas-toggler-myresearch')?> </a> </span> diff --git a/themes/finc/templates/RecordDriver/DefaultRecord/offcanvas-toggler.phtml b/themes/finc/templates/RecordDriver/DefaultRecord/offcanvas-toggler.phtml index aa6b8054f3cc968367097f1c570c0f9ef6d3db7b..bd8ba5bf89242ef3e8d353c2b6bb3218df06f3b6 100644 --- a/themes/finc/templates/RecordDriver/DefaultRecord/offcanvas-toggler.phtml +++ b/themes/finc/templates/RecordDriver/DefaultRecord/offcanvas-toggler.phtml @@ -1,7 +1,7 @@ <!-- finc: RecordDriver - DefaultRecord - offcanvas-toggler --> <?php ?> <span class="offcanvas-toggler"> - <a class="search-filter-toggle btn btn-primary visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="<?=$this->transEsc('sidebar_expand')?>"> + <a class="search-filter-toggle btn btn-primary visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>"> <?=$this->transEsc('offcanvas-toggler-record-view')?> </a> </span> diff --git a/themes/finc/templates/search/advanced/layout.phtml b/themes/finc/templates/search/advanced/layout.phtml index 9298d19437392defad3a3205ad534266e2fe72b1..10453d28ce049b94643f250672bbbd6111ad451d 100644 --- a/themes/finc/templates/search/advanced/layout.phtml +++ b/themes/finc/templates/search/advanced/layout.phtml @@ -78,7 +78,7 @@ if (isset($searchDetails) && is_object($searchDetails)) { <div class="clearfix"> <?php ?> <span class="offcanvas-toggler"> - <a class="search-filter-toggle btn btn-primary visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="<?=$this->transEsc('sidebar_expand')?>"> + <a class="search-filter-toggle btn btn-primary visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>"> <?=$this->transEsc('offcanvas-toggler-search-tips')?> </a> </span> diff --git a/themes/finc/templates/search/results.phtml b/themes/finc/templates/search/results.phtml index d5c200b30de591ff488b6242b07328cdbeb46164..aa934d4a6d4c84fee4f5487b6025e6b02bd0aa55 100644 --- a/themes/finc/templates/search/results.phtml +++ b/themes/finc/templates/search/results.phtml @@ -71,7 +71,7 @@ $this->headScript()->appendFile("check_save_statuses.js"); <?=$this->context()->renderInContext('search/controls/showing.phtml', ['lookfor' => $lookfor, 'recordTotal' => $recordTotal]) ?> </span> <span class="offcanvas-toggler"> - <a class="search-filter-toggle btn btn-primary visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="<?=$this->transEsc('sidebar_expand') ?>"> + <a class="search-filter-toggle btn btn-primary visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand') ?>"> <?=$this->transEsc('Refine Results') ?> </a> </span>