[Editor] In the signature modal, disable the save checkbox when the storage is full (bug 1974257)
This commit is contained in:
parent
85b67f19bc
commit
9acd16a0c7
@ -105,7 +105,7 @@ describe("Signature Editor", () => {
|
||||
await page.waitForSelector(
|
||||
"#addSignatureSaveContainer > input:not(:disabled)"
|
||||
);
|
||||
await page.waitForSelector("#addSignatureSaveCheckbox[checked=true]");
|
||||
await page.waitForSelector("#addSignatureSaveCheckbox:checked");
|
||||
|
||||
// The description has been filled in automatically.
|
||||
await page.waitForFunction(
|
||||
@ -260,7 +260,7 @@ describe("Signature Editor", () => {
|
||||
await page.waitForSelector(
|
||||
"#addSignatureSaveContainer > input:not(:disabled)"
|
||||
);
|
||||
await page.waitForSelector("#addSignatureSaveCheckbox[checked=true]");
|
||||
await page.waitForSelector("#addSignatureSaveCheckbox:checked");
|
||||
|
||||
// The description has been filled in automatically.
|
||||
await page.waitForFunction(
|
||||
@ -316,7 +316,7 @@ describe("Signature Editor", () => {
|
||||
await page.waitForSelector(
|
||||
"#addSignatureSaveContainer > input:not(:disabled)"
|
||||
);
|
||||
await page.waitForSelector("#addSignatureSaveCheckbox[checked=true]");
|
||||
await page.waitForSelector("#addSignatureSaveCheckbox:checked");
|
||||
|
||||
// The description has been filled in automatically.
|
||||
await page.waitForFunction(
|
||||
@ -671,4 +671,48 @@ describe("Signature Editor", () => {
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe("Bug 1974257", () => {
|
||||
let pages;
|
||||
|
||||
beforeEach(async () => {
|
||||
pages = await loadAndWait("empty.pdf", ".annotationEditorLayer");
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
await closePages(pages);
|
||||
});
|
||||
|
||||
it("must check that the signature save checkbox is disabled if storage is full", async () => {
|
||||
await Promise.all(
|
||||
pages.map(async ([_, page]) => {
|
||||
await switchToSignature(page);
|
||||
|
||||
for (let i = 0; i < 6; i++) {
|
||||
await page.click("#editorSignatureAddSignature");
|
||||
await page.waitForSelector("#addSignatureDialog", {
|
||||
visible: true,
|
||||
});
|
||||
await page.click("#addSignatureTypeInput");
|
||||
await page.type("#addSignatureTypeInput", `PDF.js ${i}`);
|
||||
if (i === 5) {
|
||||
await page.waitForSelector(
|
||||
"#addSignatureSaveCheckbox:not(checked)"
|
||||
);
|
||||
await page.waitForSelector("#addSignatureSaveCheckbox:disabled");
|
||||
} else {
|
||||
await page.waitForSelector("#addSignatureSaveCheckbox:checked");
|
||||
await page.waitForSelector(
|
||||
"#addSignatureSaveCheckbox:not(:disabled)"
|
||||
);
|
||||
}
|
||||
await page.click("#addSignatureAddButton");
|
||||
await page.waitForSelector("#addSignatureDialog", {
|
||||
visible: false,
|
||||
});
|
||||
}
|
||||
})
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -88,6 +88,8 @@ class SignatureManager {
|
||||
|
||||
#eventBus;
|
||||
|
||||
#isStorageFull = false;
|
||||
|
||||
#l10n;
|
||||
|
||||
#overlayManager;
|
||||
@ -322,8 +324,10 @@ class SignatureManager {
|
||||
}
|
||||
|
||||
#disableButtons(value) {
|
||||
this.#saveCheckbox.disabled =
|
||||
this.#clearButton.disabled =
|
||||
if (!value || !this.#isStorageFull) {
|
||||
this.#saveCheckbox.disabled = !value;
|
||||
}
|
||||
this.#clearButton.disabled =
|
||||
this.#addButton.disabled =
|
||||
this.#description.disabled =
|
||||
!value;
|
||||
@ -847,7 +851,8 @@ class SignatureManager {
|
||||
this.#currentEditor = editor;
|
||||
this.#uiManager.removeEditListeners();
|
||||
|
||||
const isStorageFull = await this.#signatureStorage.isFull();
|
||||
const isStorageFull = (this.#isStorageFull =
|
||||
await this.#signatureStorage.isFull());
|
||||
this.#saveContainer.classList.toggle("fullStorage", isStorageFull);
|
||||
this.#saveCheckbox.checked = !isStorageFull;
|
||||
|
||||
|
||||
@ -725,7 +725,7 @@ See https://github.com/adobe-type-tools/cmap-resources
|
||||
<button id="clearSignatureButton" type="button" data-l10n-id="pdfjs-editor-add-signature-clear-button" tabindex="0"><span data-l10n-id="pdfjs-editor-add-signature-clear-button-label"></span></button>
|
||||
</div>
|
||||
<div id="addSignatureSaveContainer">
|
||||
<input type="checkbox" id="addSignatureSaveCheckbox" checked="true"></input>
|
||||
<input type="checkbox" id="addSignatureSaveCheckbox"></input>
|
||||
<label for="addSignatureSaveCheckbox" data-l10n-id="pdfjs-editor-add-signature-save-checkbox"></label>
|
||||
<span></span>
|
||||
<span id="addSignatureSaveWarning" data-l10n-id="pdfjs-editor-add-signature-save-warning-message"></span>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user