diff options
Diffstat (limited to 'ui/static/js/app.js')
-rw-r--r-- | ui/static/js/app.js | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/ui/static/js/app.js b/ui/static/js/app.js index 968045e..6164800 100644 --- a/ui/static/js/app.js +++ b/ui/static/js/app.js @@ -404,25 +404,29 @@ function goToPreviousListItem() { if (items[i].classList.contains("current-item")) { items[i].classList.remove("current-item"); + let nextItem; if (i - 1 >= 0) { - items[i - 1].classList.add("current-item"); - DomHelper.scrollPageTo(items[i - 1]); - items[i - 1].querySelector('.item-header a').focus(); + nextItem = items[i - 1]; + } else { + nextItem = items[items.length - 1]; } + nextItem.classList.add("current-item"); + DomHelper.scrollPageTo(nextItem); + nextItem.querySelector('.item-header a').focus(); + break; } } } function goToNextListItem() { - let currentItem = document.querySelector(".current-item"); let items = DomHelper.getVisibleElements(".items .item"); if (items.length === 0) { return; } - if (currentItem === null) { + if (document.querySelector(".current-item") === null) { items[0].classList.add("current-item"); items[0].querySelector('.item-header a').focus(); return; @@ -432,12 +436,17 @@ function goToNextListItem() { if (items[i].classList.contains("current-item")) { items[i].classList.remove("current-item"); + let nextItem; if (i + 1 < items.length) { - items[i + 1].classList.add("current-item"); - DomHelper.scrollPageTo(items[i + 1]); - items[i + 1].querySelector('.item-header a').focus(); + nextItem = items[i + 1]; + } else { + nextItem = items[0]; } + nextItem.classList.add("current-item"); + DomHelper.scrollPageTo(nextItem); + nextItem.querySelector('.item-header a').focus(); + break; } } |