From 8da88f799c554b33b574bac6d5081ca2bff03d6d Mon Sep 17 00:00:00 2001 From: Robert Lange <robert.lange@uni-leipzig.de> Date: Thu, 5 Jan 2023 08:36:23 +0100 Subject: [PATCH] refs #21905 [fid_adlr] * create: use correct finc label for link to saved list * delete: ** make deleting of list items more robust ** do not reload page, try delete list entry by javascript furthermore ** new: reload page when list item could not be deleted ** set focus on next element after delete * adapt finc 20379 --- fid_adlr/languages/de.ini | 1 - fid_adlr/languages/en.ini | 1 - themes/fid_adlr/js/lightbox.js | 8 +++++++- themes/fid_adlr/scss/components/_alerts.scss | 2 +- .../RecordDriver/DefaultRecord/list-entry.phtml | 14 ++++++++++++-- 5 files changed, 20 insertions(+), 6 deletions(-) diff --git a/fid_adlr/languages/de.ini b/fid_adlr/languages/de.ini index c880a3d430a..8167de53e81 100644 --- a/fid_adlr/languages/de.ini +++ b/fid_adlr/languages/de.ini @@ -71,7 +71,6 @@ Authors/Corporations = "Beteiligte" Format = "Medientyp" view_worldcat = "Auch in diesen Bibliotheken vorhanden" Description = "weitere Informationen" -go_to_list = "Zurück zur Ergebnisliste" #myresearch-menu contact_adlr = "Kontakt zu adlr.link" diff --git a/fid_adlr/languages/en.ini b/fid_adlr/languages/en.ini index 2fcf1a9ca5f..0d850f7c90e 100644 --- a/fid_adlr/languages/en.ini +++ b/fid_adlr/languages/en.ini @@ -69,7 +69,6 @@ basic_search_keep_filters = "Retain Filters" Format = "Media Type" view_worldcat = "Also available in these libraries" Description = "further information" -go_to_list = "Back to results" #myresearch-menu contact_adlr = "Contact adlr.link" diff --git a/themes/fid_adlr/js/lightbox.js b/themes/fid_adlr/js/lightbox.js index c551d2af129..baffb1c1839 100644 --- a/themes/fid_adlr/js/lightbox.js +++ b/themes/fid_adlr/js/lightbox.js @@ -207,6 +207,11 @@ VuFind.register('lightbox', function Lightbox() { ajax({ url: _currentUrl || _originalUrl }); } + // finc: restore focus after deleting records, #20379 #21905 + function setOrigin(origin) { + _origin = origin; + } + /** * Evaluate a callback */ @@ -446,6 +451,7 @@ VuFind.register('lightbox', function Lightbox() { // Reset reset: reset, // Init - init: init + init: init, + setOrigin: setOrigin }; }); diff --git a/themes/fid_adlr/scss/components/_alerts.scss b/themes/fid_adlr/scss/components/_alerts.scss index 3eae468bf7a..cd9f1b68082 100644 --- a/themes/fid_adlr/scss/components/_alerts.scss +++ b/themes/fid_adlr/scss/components/_alerts.scss @@ -23,6 +23,6 @@ } a { - color: $state-info-text; + color: $black; } } diff --git a/themes/fid_adlr/templates/RecordDriver/DefaultRecord/list-entry.phtml b/themes/fid_adlr/templates/RecordDriver/DefaultRecord/list-entry.phtml index 8fc35c4c247..3e6c2424e3f 100644 --- a/themes/fid_adlr/templates/RecordDriver/DefaultRecord/list-entry.phtml +++ b/themes/fid_adlr/templates/RecordDriver/DefaultRecord/list-entry.phtml @@ -251,8 +251,18 @@ 'delete':'<?=$this->escapeJs($id) ?>', 'source':'<?=$this->escapeJs($source) ?>', 'confirm':true - }, function(){ - $('input[value=<?=$id?>]').parent().remove(0); + }, function() { + let rowToRemove = $('input[value=<?=$id?>]').parent(); + if (rowToRemove && rowToRemove.length) { + let nextFocus = rowToRemove.next().first().find('input'); + rowToRemove.remove(0); + if (nextFocus && nextFocus.length) { + VuFind.lightbox.setOrigin(nextFocus); + } + } else { + setTimeout('location.reload(true);', 2000); + } + <?php /* reset needed for possible old MyResearchController::mylistAction in instances withot clearMessages */ ?> <?php if (null === $list_id) :?> VuFind.lightbox.alert('<?= $this->transEsc('Item removed from favorites')?>', 'success'); -- GitLab