Attempt to simplify the fileattachmentannotation event dispatching

This attempts to reduced the level of indirection, and the amount of code, when dispatching `fileattachmentannotation` events, by removing the `PDFLinkService.onFileAttachmentAnnotation` method and just accessing `PDFLinkService.eventBus` directly in the `FileAttachmentAnnotationElement` constructor.
Given that other properties, such as `externalLinkTarget`/`externalLinkRel`, are already being accessed directly this pattern seems fine here as well.
This commit is contained in:
Jonas Jenwald 2018-10-01 11:55:25 +02:00
parent ec10cae5b6
commit d60ce998f1
3 changed files with 11 additions and 30 deletions

View File

@ -1130,15 +1130,18 @@ class FileAttachmentAnnotationElement extends AnnotationElement {
constructor(parameters) {
super(parameters, /* isRenderable = */ true);
let file = this.data.file;
this.filename = getFilenameFromUrl(file.filename);
this.content = file.content;
const { filename, content, } = this.data.file;
this.filename = getFilenameFromUrl(filename);
this.content = content;
this.linkService.onFileAttachmentAnnotation({
id: stringToPDFString(file.filename),
filename: file.filename,
content: file.content,
});
if (this.linkService.eventBus) {
this.linkService.eventBus.dispatch('fileattachmentannotation', {
source: this,
id: stringToPDFString(filename),
filename,
content,
});
}
}
/**

View File

@ -67,11 +67,6 @@ class IPDFLinkService {
*/
executeNamedAction(action) {}
/**
* @param {Object} params
*/
onFileAttachmentAnnotation({ id, filename, content, }) {}
/**
* @param {number} pageNum - page number.
* @param {Object} pageRef - reference to the page.

View File

@ -337,18 +337,6 @@ class PDFLinkService {
});
}
/**
* @param {Object} params
*/
onFileAttachmentAnnotation({ id, filename, content, }) {
this.eventBus.dispatch('fileattachmentannotation', {
source: this,
id,
filename,
content,
});
}
/**
* @param {number} pageNum - page number.
* @param {Object} pageRef - reference to the page.
@ -481,11 +469,6 @@ class SimpleLinkService {
*/
executeNamedAction(action) {}
/**
* @param {Object} params
*/
onFileAttachmentAnnotation({ id, filename, content, }) {}
/**
* @param {number} pageNum - page number.
* @param {Object} pageRef - reference to the page.