[vue.auth.channel] fix textearea cleared when message received

This commit is contained in:
xdrm-brackets 2018-04-04 12:33:44 +02:00
parent 17a3438e5b
commit 32863dbe26
1 changed files with 20 additions and 18 deletions

View File

@ -22,7 +22,7 @@
</section> </section>
<section class='message-input'> <section class='message-input'>
<textarea :value='message' :placeholder='`Message #${gs.room.get(`text`).name}`' @keydown='keydown' @keyup='keyup'></textarea> <textarea v-model='message' :placeholder='`Message #${gs.room.get(`text`).name}`' @keydown='keydown' @keyup='keyup'></textarea>
</section> </section>
</div> </div>
@ -44,6 +44,10 @@ export default {
}; }, }; },
beforeMount(){
console.warn('beforeMount');
},
methods: { methods: {
/* (1) Auto-grow text area /* (1) Auto-grow text area
@ -70,23 +74,6 @@ export default {
// register pressed keys // register pressed keys
this.pressed[e.keyCode] = true; this.pressed[e.keyCode] = true;
// if not ENTER OR SHIFT -> do nothing
if( e.keyCode !== 13 || this.pressed[16] )
return;
// bufferize message + remove trailing line
let buffer = e.target.value.replace(/\n*$/, '');
this.message = buffer;
// send message
if( !gs.get.content.send_message(buffer) )
return;
// empty message
this.message = '';
}, },
@ -98,6 +85,21 @@ export default {
// unregister pressed keys // unregister pressed keys
this.pressed[e.keyCode] = false; this.pressed[e.keyCode] = false;
// if not ENTER OR SHIFT -> do nothing
if( e.keyCode !== 13 || this.pressed[16] )
return;
// bufferize message + remove trailing line
this.message = this.message.replace(/\n*$/, '');
// send message
if( !gs.get.content.send_message(this.message) )
return;
// empty message
this.message = '';
this.auto_grow(e);
} }
}, },