mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-24 09:08:07 +02:00
[Editor] Update the parameters in the UI of the last selected editor when undoing/redoing
This commit is contained in:
parent
ae62787080
commit
d713df28c3
5 changed files with 149 additions and 51 deletions
|
@ -866,7 +866,7 @@ describe("FreeText Editor", () => {
|
|||
.toEqual([13, 13]);
|
||||
|
||||
// Change the colors for all the annotations.
|
||||
page.evaluate(() => {
|
||||
await page.evaluate(() => {
|
||||
window.PDFViewerApplication.eventBus.dispatch(
|
||||
"switchannotationeditorparams",
|
||||
{
|
||||
|
@ -3293,4 +3293,83 @@ describe("FreeText Editor", () => {
|
|||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe("Freetext UI when undoing/redoing", () => {
|
||||
let pages;
|
||||
|
||||
beforeAll(async () => {
|
||||
pages = await loadAndWait("empty.pdf", ".annotationEditorLayer");
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await closePages(pages);
|
||||
});
|
||||
|
||||
it("must check that the parameters are updated when undoing/redoing", async () => {
|
||||
await Promise.all(
|
||||
pages.map(async ([browserName, page]) => {
|
||||
await switchToFreeText(page);
|
||||
|
||||
const rect = await page.$eval(".annotationEditorLayer", el => {
|
||||
// With Chrome something is wrong when serializing a DomRect,
|
||||
// hence we extract the values and just return them.
|
||||
const { x, y } = el.getBoundingClientRect();
|
||||
return { x, y };
|
||||
});
|
||||
|
||||
const data = "Hello PDF.js World !!";
|
||||
await page.mouse.click(rect.x + 100, rect.y + 100);
|
||||
await page.waitForSelector(getEditorSelector(0), {
|
||||
visible: true,
|
||||
});
|
||||
await page.type(`${getEditorSelector(0)} .internal`, data);
|
||||
|
||||
// Commit.
|
||||
await page.keyboard.press("Escape");
|
||||
await page.waitForSelector(
|
||||
`${getEditorSelector(0)} .overlay.enabled`
|
||||
);
|
||||
|
||||
await page.evaluate(() => {
|
||||
window.PDFViewerApplication.eventBus.dispatch(
|
||||
"switchannotationeditorparams",
|
||||
{
|
||||
source: null,
|
||||
type: window.pdfjsLib.AnnotationEditorParamsType.FREETEXT_COLOR,
|
||||
value: "#FF0000",
|
||||
}
|
||||
);
|
||||
});
|
||||
await page.waitForFunction(
|
||||
() =>
|
||||
getComputedStyle(
|
||||
document.querySelector(".selectedEditor .internal")
|
||||
).color === "rgb(255, 0, 0)"
|
||||
);
|
||||
await kbUndo(page);
|
||||
await page.waitForFunction(
|
||||
() =>
|
||||
getComputedStyle(
|
||||
document.querySelector(".selectedEditor .internal")
|
||||
).color === "rgb(0, 0, 0)"
|
||||
);
|
||||
await page.waitForFunction(
|
||||
() =>
|
||||
document.getElementById("editorFreeTextColor").value === "#000000"
|
||||
);
|
||||
await kbRedo(page);
|
||||
await page.waitForFunction(
|
||||
() =>
|
||||
getComputedStyle(
|
||||
document.querySelector(".selectedEditor .internal")
|
||||
).color === "rgb(255, 0, 0)"
|
||||
);
|
||||
await page.waitForFunction(
|
||||
() =>
|
||||
document.getElementById("editorFreeTextColor").value === "#ff0000"
|
||||
);
|
||||
})
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue