Skip to content

Commit 7e1e84a

Browse files
fix: open non-image attachment
Signed-off-by: Luka Trovic <luka@nextcloud.com>
1 parent 46225f3 commit 7e1e84a

2 files changed

Lines changed: 22 additions & 16 deletions

File tree

src/components/Editor/MediaHandler.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ export default {
186186
const src = dirname + '/'
187187
+ encodeURIComponent(name).replace(/[!'()*]/g, (c) => {
188188
return '%' + c.charCodeAt(0).toString(16).toUpperCase()
189-
})
189+
}) + '?fileId=' + fileId
190190
// simply get rid of brackets to make sure link text is valid
191191
// as it does not need to be unique and matching the real file name
192192
const alt = name.replaceAll(/[[\]]/g, '')

src/nodes/ImageView.vue

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,19 @@
3434
<transition name="fade">
3535
<template v-if="!failed">
3636
<div v-if="isMediaAttachment"
37-
class="media"
38-
@click="handleImageClick(src)">
37+
class="media">
3938
<div class="media__wrapper">
40-
<img v-show="loaded"
41-
:src="imageUrl"
42-
class="image__main"
43-
@load="onLoaded">
44-
<div class="metadata">
45-
<span class="name">{{ alt }}</span>
46-
<span class="size">{{ attachmentMetadata.size }}</span>
47-
</div>
39+
<a :href="internalLinkOrImage"
40+
target="_blank">
41+
<img v-show="loaded"
42+
:src="imageUrl"
43+
class="image__main"
44+
@load="onLoaded">
45+
<div class="metadata">
46+
<span class="name">{{ alt }}</span>
47+
<span class="size">{{ attachmentMetadata.size }}</span>
48+
</div>
49+
</a>
4850
</div>
4951
<div v-if="showDeleteIcon"
5052
class="buttons">
@@ -225,16 +227,13 @@ export default {
225227
226228
return this.loaded && this.imageLoaded
227229
},
228-
imageFileId() {
229-
return getQueryVariable(this.src, 'fileId')
230-
},
231230
isSupportedImage() {
232231
return typeof this.mime === 'undefined'
233232
|| IMAGE_MIMES.indexOf(this.mime) !== -1
234233
},
235234
internalLinkOrImage() {
236-
if (this.imageFileId) {
237-
return generateUrl('/f/' + this.imageFileId)
235+
if (this.fileId) {
236+
return generateUrl('/f/' + this.fileId)
238237
}
239238
return this.src
240239
},
@@ -258,6 +257,9 @@ export default {
258257
})
259258
},
260259
},
260+
fileId() {
261+
return getQueryVariable(this.src, 'fileId')
262+
},
261263
t() {
262264
return (a, s) => window.t(a, s)
263265
},
@@ -464,6 +466,10 @@ export default {
464466
border-radius: var(--border-radius-large);
465467
padding: 8px;
466468
469+
a {
470+
display: contents;
471+
}
472+
467473
img {
468474
width: 44px;
469475
height: 44px;

0 commit comments

Comments
 (0)