This commit is contained in:
zadam 2023-05-26 10:36:05 +02:00
parent 579ed7e194
commit 8e913cb453
2 changed files with 18 additions and 6 deletions

View File

@ -170,8 +170,20 @@ export default class AttachmentDetailWidget extends BasicWidget {
this.$wrapper.find('.attachment-content-wrapper').append((await contentRenderer.getRenderedContent(this.attachment)).$renderedContent); this.$wrapper.find('.attachment-content-wrapper').append((await contentRenderer.getRenderedContent(this.attachment)).$renderedContent);
} }
copyAttachmentReferenceToClipboard() { async copyAttachmentLinkToClipboard() {
imageService.copyImageReferenceToClipboard(this.$wrapper.find('.attachment-content-wrapper')); if (this.attachment.role === 'image') {
imageService.copyImageReferenceToClipboard(this.$wrapper.find('.attachment-content-wrapper'));
} else if (this.attachment.role === 'file') {
const $link = await linkService.createNoteLink(this.attachment.parentId, {
referenceLink: true,
viewScope: {
viewMode: 'attachments',
attachmentId: this.attachment.attachmentId
}
});
} else {
throw new Error(`Unrecognized attachment role '${this.attachment.role}'.`);
}
} }
async entitiesReloadedEvent({loadResults}) { async entitiesReloadedEvent({loadResults}) {

View File

@ -33,7 +33,7 @@ const TPL = `
title="File will be open in an external application and watched for changes. You'll then be able to upload the modified version back to Trilium.">Open externally</a> title="File will be open in an external application and watched for changes. You'll then be able to upload the modified version back to Trilium.">Open externally</a>
<a data-trigger-command="downloadAttachment" class="dropdown-item">Download</a> <a data-trigger-command="downloadAttachment" class="dropdown-item">Download</a>
<a data-trigger-command="uploadNewAttachmentRevision" class="dropdown-item">Upload new revision</a> <a data-trigger-command="uploadNewAttachmentRevision" class="dropdown-item">Upload new revision</a>
<a data-trigger-command="copyAttachmentReferenceToClipboard" class="dropdown-item">Copy reference to clipboard</a> <a data-trigger-command="copyAttachmentLinkToClipboard" class="dropdown-item">Copy link to clipboard</a>
<a data-trigger-command="convertAttachmentIntoNote" class="dropdown-item">Convert attachment into note</a> <a data-trigger-command="convertAttachmentIntoNote" class="dropdown-item">Convert attachment into note</a>
<a data-trigger-command="deleteAttachment" class="dropdown-item">Delete attachment</a> <a data-trigger-command="deleteAttachment" class="dropdown-item">Delete attachment</a>
</div> </div>
@ -56,7 +56,7 @@ export default class AttachmentActionsWidget extends BasicWidget {
doRender() { doRender() {
this.$widget = $(TPL); this.$widget = $(TPL);
this.$widget.on('click', '.dropdown-item', () => this.$widget.find("[data-toggle='dropdown']").dropdown('toggle')); this.$widget.on('click', '.dropdown-item', () => this.$widget.find("[data-toggle='dropdown']").dropdown('toggle'));
this.$widget.find("[data-trigger-command='copyAttachmentReferenceToClipboard']").toggle(this.attachment.role === 'image'); this.$widget.find("[data-trigger-command='copyAttachmentLinkToClipboard']").toggle(this.attachment.role === 'image');
this.$uploadNewRevisionInput = this.$widget.find(".attachment-upload-new-revision-input"); this.$uploadNewRevisionInput = this.$widget.find(".attachment-upload-new-revision-input");
this.$uploadNewRevisionInput.on('change', async () => { this.$uploadNewRevisionInput.on('change', async () => {
@ -107,8 +107,8 @@ export default class AttachmentActionsWidget extends BasicWidget {
this.$uploadNewRevisionInput.trigger('click'); this.$uploadNewRevisionInput.trigger('click');
} }
async copyAttachmentReferenceToClipboardCommand() { async copyAttachmentLinkToClipboardCommand() {
this.parent.copyAttachmentReferenceToClipboard(); this.parent.copyAttachmentLinkToClipboard();
} }
async deleteAttachmentCommand() { async deleteAttachmentCommand() {