[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(
|
await page.waitForSelector(
|
||||||
"#addSignatureSaveContainer > input:not(:disabled)"
|
"#addSignatureSaveContainer > input:not(:disabled)"
|
||||||
);
|
);
|
||||||
await page.waitForSelector("#addSignatureSaveCheckbox[checked=true]");
|
await page.waitForSelector("#addSignatureSaveCheckbox:checked");
|
||||||
|
|
||||||
// The description has been filled in automatically.
|
// The description has been filled in automatically.
|
||||||
await page.waitForFunction(
|
await page.waitForFunction(
|
||||||
@ -260,7 +260,7 @@ describe("Signature Editor", () => {
|
|||||||
await page.waitForSelector(
|
await page.waitForSelector(
|
||||||
"#addSignatureSaveContainer > input:not(:disabled)"
|
"#addSignatureSaveContainer > input:not(:disabled)"
|
||||||
);
|
);
|
||||||
await page.waitForSelector("#addSignatureSaveCheckbox[checked=true]");
|
await page.waitForSelector("#addSignatureSaveCheckbox:checked");
|
||||||
|
|
||||||
// The description has been filled in automatically.
|
// The description has been filled in automatically.
|
||||||
await page.waitForFunction(
|
await page.waitForFunction(
|
||||||
@ -316,7 +316,7 @@ describe("Signature Editor", () => {
|
|||||||
await page.waitForSelector(
|
await page.waitForSelector(
|
||||||
"#addSignatureSaveContainer > input:not(:disabled)"
|
"#addSignatureSaveContainer > input:not(:disabled)"
|
||||||
);
|
);
|
||||||
await page.waitForSelector("#addSignatureSaveCheckbox[checked=true]");
|
await page.waitForSelector("#addSignatureSaveCheckbox:checked");
|
||||||
|
|
||||||
// The description has been filled in automatically.
|
// The description has been filled in automatically.
|
||||||
await page.waitForFunction(
|
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;
|
#eventBus;
|
||||||
|
|
||||||
|
#isStorageFull = false;
|
||||||
|
|
||||||
#l10n;
|
#l10n;
|
||||||
|
|
||||||
#overlayManager;
|
#overlayManager;
|
||||||
@ -322,8 +324,10 @@ class SignatureManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#disableButtons(value) {
|
#disableButtons(value) {
|
||||||
this.#saveCheckbox.disabled =
|
if (!value || !this.#isStorageFull) {
|
||||||
this.#clearButton.disabled =
|
this.#saveCheckbox.disabled = !value;
|
||||||
|
}
|
||||||
|
this.#clearButton.disabled =
|
||||||
this.#addButton.disabled =
|
this.#addButton.disabled =
|
||||||
this.#description.disabled =
|
this.#description.disabled =
|
||||||
!value;
|
!value;
|
||||||
@ -847,7 +851,8 @@ class SignatureManager {
|
|||||||
this.#currentEditor = editor;
|
this.#currentEditor = editor;
|
||||||
this.#uiManager.removeEditListeners();
|
this.#uiManager.removeEditListeners();
|
||||||
|
|
||||||
const isStorageFull = await this.#signatureStorage.isFull();
|
const isStorageFull = (this.#isStorageFull =
|
||||||
|
await this.#signatureStorage.isFull());
|
||||||
this.#saveContainer.classList.toggle("fullStorage", isStorageFull);
|
this.#saveContainer.classList.toggle("fullStorage", isStorageFull);
|
||||||
this.#saveCheckbox.checked = !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>
|
<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>
|
||||||
<div id="addSignatureSaveContainer">
|
<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>
|
<label for="addSignatureSaveCheckbox" data-l10n-id="pdfjs-editor-add-signature-save-checkbox"></label>
|
||||||
<span></span>
|
<span></span>
|
||||||
<span id="addSignatureSaveWarning" data-l10n-id="pdfjs-editor-add-signature-save-warning-message"></span>
|
<span id="addSignatureSaveWarning" data-l10n-id="pdfjs-editor-add-signature-save-warning-message"></span>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user