1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-22 16:18:08 +02:00

Simplify the "fileattachmentannotation"-event handling a little bit

*This patch can be tested, in the viewer, using the `annotation-fileattachment.pdf` document from the test-suite.*

Note how the `FileSpec`-implementation already uses `stringToPDFString` during the filename lookup, see cfac6fa511/src/core/file_spec.js (L70)
Hence there's no reason to repeat that again in the `FileAttachmentAnnotationElement`-constructor, and we can thus simplify the "fileattachmentannotation"-event handling a little bit.
This commit is contained in:
Jonas Jenwald 2022-05-06 20:45:53 +02:00
parent cfac6fa511
commit 7f40ef41a5
2 changed files with 7 additions and 14 deletions

View file

@ -38,7 +38,7 @@ class PDFAttachmentViewer extends BaseTreeViewer {
this.eventBus._on(
"fileattachmentannotation",
this._appendAttachment.bind(this)
this.#appendAttachment.bind(this)
);
}
@ -140,27 +140,22 @@ class PDFAttachmentViewer extends BaseTreeViewer {
/**
* Used to append FileAttachment annotations to the sidebar.
* @private
*/
_appendAttachment({ id, filename, content }) {
#appendAttachment({ filename, content }) {
const renderedPromise = this._renderedCapability.promise;
renderedPromise.then(() => {
if (renderedPromise !== this._renderedCapability.promise) {
return; // The FileAttachment annotation belongs to a previous document.
}
let attachments = this._attachments;
const attachments = this._attachments || Object.create(null);
if (!attachments) {
attachments = Object.create(null);
} else {
for (const name in attachments) {
if (id === name) {
return; // Ignore the new attachment if it already exists.
}
for (const name in attachments) {
if (filename === name) {
return; // Ignore the new attachment if it already exists.
}
}
attachments[id] = {
attachments[filename] = {
filename,
content,
};