Compare commits

..

No commits in common. "a6838e370366085c44e5e49366d981ee15d3dd9b" and "3a8a25d2e144a870c8f7ea0aa6b84944766178f4" have entirely different histories.

4 changed files with 13 additions and 27 deletions

View File

@ -52,10 +52,6 @@ export default {
compact: { compact: {
type: Boolean, type: Boolean,
default: false default: false
},
onUpdate: {
type: Function,
default: ()=>{}
} }
}, },
methods: { methods: {
@ -63,9 +59,6 @@ export default {
return url.includes('mxc')?getMediaUrl(url):url; return url.includes('mxc')?getMediaUrl(url):url;
}, },
parseMessage parseMessage
},
updated() {
this.onUpdate();
} }
} }
</script> </script>

View File

@ -15,7 +15,6 @@
<script> <script>
import icon from '@/components/icon'; import icon from '@/components/icon';
import {readFileBlob} from '@/lib/readFileBlob';
export default { export default {
name: 'soundRecorder', name: 'soundRecorder',
@ -27,11 +26,21 @@ export default {
}, },
methods: { methods: {
setFile({file}){ setFile({file}){
readFileBlob(file).then(blob => { this.readFile(file).then(blob => {
blob.name = file.name; blob.name = file.name;
this.onChange({blob}) this.onChange({blob})
}); });
} },
readFile(file){
return new Promise(resolve => {
let reader = new FileReader();
reader.onerror = console.error;
reader.onload = async event => {
resolve(await (await fetch(event.target.result)).blob());
}
reader.readAsDataURL(file);
});
},
} }
} }
</script> </script>

View File

@ -2,7 +2,7 @@
<div class="newMessageBanner" ref="newMessageBanner"> <div class="newMessageBanner" ref="newMessageBanner">
<reply-event v-if="replyTo" :event="replyTo" @click.native="resetReplyTo()"/> <reply-event v-if="replyTo" :event="replyTo" @click.native="resetReplyTo()"/>
<div v-if="attachment" class="attachment"> <div v-if="attachment" class="attachment">
<event-content :content="attachment" class="attachmentContent" :compact="true" :onUpdate="resizeMessageBanner()"/> <event-content :content="attachment" class="attachmentContent" :compact="true"/>
<icon <icon
title="remove" title="remove"
class="remove" class="remove"
@ -13,7 +13,6 @@
<textarea <textarea
@keyup.enter.exact="onSubmit(event)" @keyup.enter.exact="onSubmit(event)"
@input="resizeMessageBanner(); sendTyping(2000);" @input="resizeMessageBanner(); sendTyping(2000);"
@paste="onPaste"
v-model="event.content.body" v-model="event.content.body"
ref="newMessageInput" class="newMessageInput" ref="newMessageInput" class="newMessageInput"
rows="1" placeholder="type a message ..." rows="1" placeholder="type a message ..."
@ -56,7 +55,6 @@ import {VEmojiPicker} from 'v-emoji-picker';
import EventContent from '@/components/eventContent'; import EventContent from '@/components/eventContent';
import SoundRecorder from '@/components/soundRecorder'; import SoundRecorder from '@/components/soundRecorder';
import FileUpload from '@/components/fileUpload'; import FileUpload from '@/components/fileUpload';
import {readFileBlob} from '@/lib/readFileBlob';
export default { export default {
name: 'newMessage', name: 'newMessage',
@ -159,12 +157,6 @@ export default {
'video': 'm.video' 'video': 'm.video'
}[fileType.split('/', 1)[0]] || 'm.file'; }[fileType.split('/', 1)[0]] || 'm.file';
}, },
onPaste(event){
let item = (event.clipboardData || event.originalEvent.clipboardData).items[0];
if (item.kind !== 'file') return false;
let file = item.getAsFile();
return readFileBlob(file).then(blob => this.setAttachment({blob, file}));
},
parseMessage, parseMessage,
calcUserName calcUserName
}, },

View File

@ -1,8 +0,0 @@
export function readFileBlob(file){
return new Promise(resolve => {
let reader = new FileReader();
reader.onerror = console.error;
reader.onload = async event => resolve(await (await fetch(event.target.result)).blob());
reader.readAsDataURL(file);
});
}