Skip to content

Commit eb014a3

Browse files
committed
Select the dropped thumbnail (bug 2010820)
1 parent 67673ea commit eb014a3

2 files changed

Lines changed: 40 additions & 0 deletions

File tree

test/integration/reorganize_pages_spec.mjs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,5 +231,35 @@ describe("Reorganize Pages View", () => {
231231
})
232232
);
233233
});
234+
235+
it("should select the dropped page (bug 2010820)", async () => {
236+
await Promise.all(
237+
pages.map(async ([browserName, page]) => {
238+
await waitForThumbnailVisible(page, 1);
239+
const rect1 = await getRect(page, getThumbnailSelector(1));
240+
const rect2 = await getRect(page, getThumbnailSelector(2));
241+
242+
await page.click(getThumbnailSelector(2));
243+
await page.waitForSelector(
244+
`${getThumbnailSelector(2)}[aria-current="page"]`
245+
);
246+
247+
const handlePagesEdited = await waitForPagesEdited(page);
248+
await dragAndDrop(
249+
page,
250+
getThumbnailSelector(1),
251+
[[0, rect2.y - rect1.y + rect2.height / 2]],
252+
10
253+
);
254+
await awaitPromise(handlePagesEdited);
255+
await page.waitForSelector(
256+
`${getThumbnailSelector(2)}[aria-current="false"]`
257+
);
258+
await page.waitForSelector(
259+
`${getThumbnailSelector(1)}[aria-current="page"]`
260+
);
261+
})
262+
);
263+
});
234264
});
235265
});

web/pdf_thumbnail_viewer.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,11 @@ class PDFThumbnailViewer {
487487
const N = thumbnails.length;
488488
pagesMapper.pagesNumber = N;
489489
const currentPageId = pagesMapper.getPageId(this._currentPageNumber);
490+
const newCurrentPageId = pagesMapper.getPageId(
491+
isNaN(this.#pageNumberToRemove)
492+
? pagesToMove[0]
493+
: this.#pageNumberToRemove
494+
);
490495

491496
// Move the thumbnails in the DOM.
492497
let thumbnail = thumbnails[pagesToMove[0] - 1];
@@ -532,6 +537,11 @@ class PDFThumbnailViewer {
532537
index: newIndex,
533538
pagesToMove,
534539
});
540+
541+
const newCurrentPageNumber = pagesMapper.getPageNumber(newCurrentPageId);
542+
setTimeout(() => {
543+
this.linkService.goToPage(newCurrentPageNumber);
544+
}, 0);
535545
}
536546

537547
if (!isNaN(this.#pageNumberToRemove)) {

0 commit comments

Comments
 (0)