Skip to content

Commit aa53723

Browse files
committed
(feat) add openFile event
1 parent 88471c9 commit aa53723

File tree

5 files changed

+16
-3
lines changed

5 files changed

+16
-3
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ messages="[
226226
| sendMessage | `{ roomId, content, file (3) }` | A user has sent a message |
227227
| editMessage | `{ roomId, messageId, newContent, file (3) }` | A user has edited a message |
228228
| deleteMessage | `{ roomId, messageId }` | A user has deleted a message |
229-
| uploadFile | `{ roomId, messageId, file (3) }` | A user has uploaded a file |
229+
| openFile | `{ message }` | A user has clicked to view or download a file |
230230
| addRoom | - | A user clicks on the plus icon next to searchbar |
231231
| menuActionHandler (2) | `{ roomId, action }` | A user clicks on the vertical dots icon inside a room |
232232

demo/src/ChatContainer.vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
@editMessage="editMessage"
5959
@deleteMessage="deleteMessage"
6060
@uploadFile="uploadFile"
61+
@openFile="openFile"
6162
@addRoom="addRoom"
6263
@menuActionHandler="menuActionHandler"
6364
/>
@@ -384,6 +385,10 @@ export default {
384385
if (file) this.uploadFile({ file, messageId: id, roomId })
385386
},
386387
388+
openFile(message) {
389+
window.open(message.file.url, '_blank')
390+
},
391+
387392
async editMessage({ messageId, newContent, roomId, file }) {
388393
const newMessage = { edited: new Date() }
389394
newMessage.content = newContent

src/ChatWindow/ChatMessage.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@ export default {
200200
this.$emit('deleteMessage', this.message)
201201
this.onLeaveMessage()
202202
},
203-
openFile({ url }) {
204-
window.open(url, '_blank')
203+
openFile() {
204+
this.$emit('openFile', this.message)
205205
},
206206
checkImageFile() {
207207
if (!this.message.file) return

src/ChatWindow/ChatWindow.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
@editMessage="editMessage"
2424
@deleteMessage="deleteMessage"
2525
@uploadFile="uploadFile"
26+
@openFile="openFile"
2627
@menuActionHandler="menuActionHandler"
2728
>
2829
</messages-list>
@@ -124,6 +125,9 @@ export default {
124125
uploadFile(file) {
125126
this.$emit('uploadFile', file)
126127
},
128+
openFile(message) {
129+
this.$emit('openFile', message)
130+
},
127131
menuActionHandler(ev) {
128132
this.$emit('menuActionHandler', { action: ev, roomId: this.room.roomId })
129133
}

src/ChatWindow/MessagesList.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
:textMessages="textMessages"
6161
@editMessage="editMessage"
6262
@deleteMessage="deleteMessage"
63+
@openFile="openFile"
6364
></chat-message>
6465
</div>
6566
</transition-group>
@@ -339,6 +340,9 @@ export default {
339340
const { type } = file
340341
return imageTypes.some(t => type.includes(t))
341342
},
343+
openFile(message) {
344+
this.$emit('openFile', message)
345+
},
342346
menuActionHandler(action) {
343347
this.closeMenu()
344348
this.$emit('menuActionHandler', action)

0 commit comments

Comments
 (0)