Skip to content

Commit 1118050

Browse files
authored
Merge pull request #20696 from calixteman/bug2016656
Only show the status bar in the views manager when it's in thumbnails mode (bug 2016656)
2 parents b798fd8 + 5f9a9f5 commit 1118050

3 files changed

Lines changed: 44 additions & 0 deletions

File tree

test/integration/thumbnail_view_spec.mjs

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,46 @@ describe("PDF Thumbnail View", () => {
413413
});
414414
});
415415

416+
describe("Views manager status visibility (bug 2016656)", () => {
417+
let pages;
418+
419+
beforeEach(async () => {
420+
pages = await loadAndWait(
421+
"page_with_number_and_link.pdf",
422+
"#viewsManagerToggleButton",
423+
null,
424+
null,
425+
{ enableSplitMerge: true }
426+
);
427+
});
428+
429+
afterEach(async () => {
430+
await closePages(pages);
431+
});
432+
433+
it("should show the manage button in thumbnail view and hide it in outline view", async () => {
434+
await Promise.all(
435+
pages.map(async ([browserName, page]) => {
436+
await page.click("#viewsManagerToggleButton");
437+
await waitForThumbnailVisible(page, 1);
438+
439+
// The status bar (Select pages + Manage button) must be visible in
440+
// thumbnail view.
441+
await page.waitForSelector("#viewsManagerStatus", { visible: true });
442+
443+
// Switch to outline view.
444+
await page.click("#viewsManagerSelectorButton");
445+
await page.waitForSelector("#outlinesViewMenu", { visible: true });
446+
await page.click("#outlinesViewMenu");
447+
await page.waitForSelector("#outlinesView", { visible: true });
448+
449+
// The status bar must no longer be visible in outline view.
450+
await page.waitForSelector("#viewsManagerStatus", { hidden: true });
451+
})
452+
);
453+
});
454+
});
455+
416456
describe("Checkbox keyboard navigation", () => {
417457
let pages;
418458

web/viewer.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ function getViewerConfiguration() {
133133
viewsManagerHeaderLabel: document.getElementById(
134134
"viewsManagerHeaderLabel"
135135
),
136+
viewsManagerStatus: document.getElementById("viewsManagerStatus"),
136137
manageMenu: {
137138
button: document.getElementById("viewsManagerStatusActionButton"),
138139
menu: document.getElementById("viewsManagerStatusActionOptions"),

web/views_manager.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ class ViewsManager extends Sidebar {
9090
viewsManagerSelectorButton,
9191
viewsManagerSelectorOptions,
9292
viewsManagerHeaderLabel,
93+
viewsManagerStatus,
9394
},
9495
eventBus,
9596
l10n,
@@ -132,6 +133,7 @@ class ViewsManager extends Sidebar {
132133

133134
this.viewsManagerCurrentOutlineButton = viewsManagerCurrentOutlineButton;
134135
this.viewsManagerHeaderLabel = viewsManagerHeaderLabel;
136+
this.viewsManagerStatus = viewsManagerStatus;
135137

136138
this.eventBus = eventBus;
137139

@@ -245,6 +247,7 @@ class ViewsManager extends Sidebar {
245247
return;
246248
}
247249

250+
this.viewsManagerStatus.hidden = view !== SidebarView.THUMBS;
248251
this.viewsManagerCurrentOutlineButton.hidden = view !== SidebarView.OUTLINE;
249252
this.viewsManagerHeaderLabel.setAttribute(
250253
"data-l10n-id",

0 commit comments

Comments
 (0)