From 7287c890eb85255763feeba6c5f96389b27e3fc4 Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Fri, 8 Aug 2025 20:03:37 +0300 Subject: [PATCH] Remove version navigation list ids --- app/assets/javascripts/numbered_pagination.js | 20 +++++++++---------- app/helpers/numbered_pagination_helper.rb | 9 +++------ 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/app/assets/javascripts/numbered_pagination.js b/app/assets/javascripts/numbered_pagination.js index eabeba99e..7b8e793d2 100644 --- a/app/assets/javascripts/numbered_pagination.js +++ b/app/assets/javascripts/numbered_pagination.js @@ -2,18 +2,18 @@ let shadowEffect; class ShadowEffect { - constructor() { - const $scrollableList = $("#versions-navigation-list-middle"); - const [scrollableFirstItem] = $scrollableList.children().first(); - const [scrollableLastItem] = $scrollableList.children().last(); + constructor(target) { + const [startList, scrollableList, endList] = $(target).children(); + const [scrollableFirstItem] = $(scrollableList).children().first(); + const [scrollableLastItem] = $(scrollableList).children().last(); if (scrollableFirstItem) { - this.scrollStartObserver = createScrollObserver("#versions-navigation-list-start", "2px 0px"); + this.scrollStartObserver = createScrollObserver(startList, "2px 0px"); this.scrollStartObserver.observe(scrollableFirstItem); } if (scrollableLastItem) { - this.scrollEndObserver = createScrollObserver("#versions-navigation-list-end", "-2px 0px"); + this.scrollEndObserver = createScrollObserver(endList, "-2px 0px"); this.scrollEndObserver.observe(scrollableLastItem); } @@ -43,7 +43,7 @@ }); $(document).on("numbered_pagination:enable", ".numbered_pagination", function () { - shadowEffect = new ShadowEffect(); + shadowEffect = new ShadowEffect(this); $(this).trigger("numbered_pagination:center"); }); @@ -53,12 +53,12 @@ }); $(document).on("numbered_pagination:center", ".numbered_pagination", function () { - const [scrollableList] = $("#versions-navigation-list-middle"); + const [startList, scrollableList] = $(this).children(); if (!scrollableList) return; - const [activeStartItem] = $("#versions-navigation-list-start #versions-navigation-active-page-item"); - const [activeScrollableItem] = $("#versions-navigation-list-middle #versions-navigation-active-page-item"); + const [activeStartItem] = $(startList).find(".page-item.active"); + const [activeScrollableItem] = $(scrollableList).find(".page-item.active"); if (activeStartItem) { scrollableList.scrollLeft = 0; diff --git a/app/helpers/numbered_pagination_helper.rb b/app/helpers/numbered_pagination_helper.rb index 4a9b3b831..a30e8b12b 100644 --- a/app/helpers/numbered_pagination_helper.rb +++ b/app/helpers/numbered_pagination_helper.rb @@ -30,16 +30,14 @@ module NumberedPaginationHelper end middle_list_pages = middle_list_pages_with_small_gaps_filled - lists << tag.ul(:id => "versions-navigation-list-start", - :class => "pagination pagination-sm mt-1") do + lists << tag.ul(:class => "pagination pagination-sm mt-1") do start_list_pages.each do |page| concat numbered_pagination_item(page, **yield(page), :active_id => (active_id if page == active_page), :edge => [false, page == start_list_pages.last], :edge_border => true) end end - lists << tag.ul(:id => "versions-navigation-list-middle", - :class => [ + lists << tag.ul(:class => [ "pagination pagination-sm", "overflow-x-auto pb-3", # horizontal scrollbar with reserved space below "pt-1 px-1 mx-n1", # space reserved for focus outlines @@ -55,8 +53,7 @@ module NumberedPaginationHelper end end end - lists << tag.ul(:id => "versions-navigation-list-end", - :class => "pagination pagination-sm mt-1") do + lists << tag.ul(:class => "pagination pagination-sm mt-1") do end_list_pages.each do |page| concat numbered_pagination_item(page, **yield(page), :active_id => (active_id if page == active_page), :edge => [page == end_list_pages.first, false], -- 2.39.5