Only show the status bar in the views manager when it's in thumbnails mode (bug 2016656)

This commit is contained in:
Calixte Denizet 2026-02-20 18:37:06 +01:00 committed by calixteman
parent aaf3ad5a4e
commit 5f9a9f58ce
No known key found for this signature in database
GPG Key ID: 0C5442631EE0691F
3 changed files with 44 additions and 0 deletions

View File

@ -413,6 +413,46 @@ describe("PDF Thumbnail View", () => {
});
});
describe("Views manager status visibility (bug 2016656)", () => {
let pages;
beforeEach(async () => {
pages = await loadAndWait(
"page_with_number_and_link.pdf",
"#viewsManagerToggleButton",
null,
null,
{ enableSplitMerge: true }
);
});
afterEach(async () => {
await closePages(pages);
});
it("should show the manage button in thumbnail view and hide it in outline view", async () => {
await Promise.all(
pages.map(async ([browserName, page]) => {
await page.click("#viewsManagerToggleButton");
await waitForThumbnailVisible(page, 1);
// The status bar (Select pages + Manage button) must be visible in
// thumbnail view.
await page.waitForSelector("#viewsManagerStatus", { visible: true });
// Switch to outline view.
await page.click("#viewsManagerSelectorButton");
await page.waitForSelector("#outlinesViewMenu", { visible: true });
await page.click("#outlinesViewMenu");
await page.waitForSelector("#outlinesView", { visible: true });
// The status bar must no longer be visible in outline view.
await page.waitForSelector("#viewsManagerStatus", { hidden: true });
})
);
});
});
describe("Checkbox keyboard navigation", () => {
let pages;

View File

@ -133,6 +133,7 @@ function getViewerConfiguration() {
viewsManagerHeaderLabel: document.getElementById(
"viewsManagerHeaderLabel"
),
viewsManagerStatus: document.getElementById("viewsManagerStatus"),
manageMenu: {
button: document.getElementById("viewsManagerStatusActionButton"),
menu: document.getElementById("viewsManagerStatusActionOptions"),

View File

@ -90,6 +90,7 @@ class ViewsManager extends Sidebar {
viewsManagerSelectorButton,
viewsManagerSelectorOptions,
viewsManagerHeaderLabel,
viewsManagerStatus,
},
eventBus,
l10n,
@ -132,6 +133,7 @@ class ViewsManager extends Sidebar {
this.viewsManagerCurrentOutlineButton = viewsManagerCurrentOutlineButton;
this.viewsManagerHeaderLabel = viewsManagerHeaderLabel;
this.viewsManagerStatus = viewsManagerStatus;
this.eventBus = eventBus;
@ -245,6 +247,7 @@ class ViewsManager extends Sidebar {
return;
}
this.viewsManagerStatus.hidden = view !== SidebarView.THUMBS;
this.viewsManagerCurrentOutlineButton.hidden = view !== SidebarView.OUTLINE;
this.viewsManagerHeaderLabel.setAttribute(
"data-l10n-id",