Compare commits
No commits in common. "a6838e370366085c44e5e49366d981ee15d3dd9b" and "3a8a25d2e144a870c8f7ea0aa6b84944766178f4" have entirely different histories.
a6838e3703
...
3a8a25d2e1
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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
|
||||||
},
|
},
|
||||||
|
@ -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