Compare commits
No commits in common. "a6838e370366085c44e5e49366d981ee15d3dd9b" and "3a8a25d2e144a870c8f7ea0aa6b84944766178f4" have entirely different histories.
a6838e3703
...
3a8a25d2e1
@ -52,10 +52,6 @@ export default {
|
||||
compact: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
onUpdate: {
|
||||
type: Function,
|
||||
default: ()=>{}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@ -63,9 +59,6 @@ export default {
|
||||
return url.includes('mxc')?getMediaUrl(url):url;
|
||||
},
|
||||
parseMessage
|
||||
},
|
||||
updated() {
|
||||
this.onUpdate();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -15,7 +15,6 @@
|
||||
|
||||
<script>
|
||||
import icon from '@/components/icon';
|
||||
import {readFileBlob} from '@/lib/readFileBlob';
|
||||
|
||||
export default {
|
||||
name: 'soundRecorder',
|
||||
@ -27,11 +26,21 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
setFile({file}){
|
||||
readFileBlob(file).then(blob => {
|
||||
this.readFile(file).then(blob => {
|
||||
blob.name = file.name;
|
||||
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>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div class="newMessageBanner" ref="newMessageBanner">
|
||||
<reply-event v-if="replyTo" :event="replyTo" @click.native="resetReplyTo()"/>
|
||||
<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
|
||||
title="remove"
|
||||
class="remove"
|
||||
@ -13,7 +13,6 @@
|
||||
<textarea
|
||||
@keyup.enter.exact="onSubmit(event)"
|
||||
@input="resizeMessageBanner(); sendTyping(2000);"
|
||||
@paste="onPaste"
|
||||
v-model="event.content.body"
|
||||
ref="newMessageInput" class="newMessageInput"
|
||||
rows="1" placeholder="type a message ..."
|
||||
@ -56,7 +55,6 @@ import {VEmojiPicker} from 'v-emoji-picker';
|
||||
import EventContent from '@/components/eventContent';
|
||||
import SoundRecorder from '@/components/soundRecorder';
|
||||
import FileUpload from '@/components/fileUpload';
|
||||
import {readFileBlob} from '@/lib/readFileBlob';
|
||||
|
||||
export default {
|
||||
name: 'newMessage',
|
||||
@ -159,12 +157,6 @@ export default {
|
||||
'video': 'm.video'
|
||||
}[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,
|
||||
calcUserName
|
||||
},
|
||||
|
@ -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);
|
||||
});
|
||||
}
|
Loading…
Reference in New Issue
Block a user