Site > Chat > Add messages sending

This commit is contained in:
brunosimon
2017-08-14 23:02:02 +02:00
parent 2b0dec5d0a
commit 3aacc7fcc1
4 changed files with 40 additions and 4 deletions
+16 -2
View File
@@ -5,7 +5,8 @@ export default
data() data()
{ {
return { return {
userName: '' userName: '',
messageText: ''
} }
}, },
@@ -38,7 +39,7 @@ export default
{ {
onUserNameChange() onUserNameChange()
{ {
this.$store.commit('askUpdateUser', { name: this.userName }) this.$store.commit('setPendingUser', { name: this.userName })
}, },
onUserNameKeyDown(event) onUserNameKeyDown(event)
@@ -48,6 +49,19 @@ export default
{ {
event.target.blur() event.target.blur()
} }
},
onMessageTextKeyDown(event)
{
// Blur if enter pressed
if(event.keyCode === 13)
{
event.preventDefault()
event.target.blur()
this.$store.commit('setPendingMessage', { text: this.messageText })
this.messageText = ''
}
} }
} }
} }
+3
View File
@@ -18,4 +18,7 @@
<div class="infos" v-if="user"> <div class="infos" v-if="user">
Your nickname is <input class="user-name" :style="`color: ${user.color};`" v-model="userName" @change="onUserNameChange($event)" @keydown="onUserNameKeyDown($event)"/> Your nickname is <input class="user-name" :style="`color: ${user.color};`" v-model="userName" @change="onUserNameChange($event)" @keydown="onUserNameKeyDown($event)"/>
</div> </div>
<div class="message">
<textarea class="text" v-model="messageText" @keydown="onMessageTextKeyDown($event)"></textarea>
</div>
</div> </div>
+15 -1
View File
@@ -14,13 +14,19 @@ export default
pendingUser() pendingUser()
{ {
return this.$store.state.chat.pendingUser return this.$store.state.chat.pendingUser
},
pendingMessage()
{
return this.$store.state.chat.pendingMessage
} }
}, },
watch: watch:
{ {
project: 'onProjectChange', project: 'onProjectChange',
pendingUser: 'onPendingUser' pendingUser: 'onPendingUser',
pendingMessage: 'onPendingMessage'
}, },
created() created()
@@ -105,6 +111,14 @@ export default
{ {
this.chatSocket.emit('update_user', value) this.chatSocket.emit('update_user', value)
} }
},
onPendingMessage(value)
{
if(value)
{
this.chatSocket.emit('message', value)
}
} }
} }
} }
+6 -1
View File
@@ -24,9 +24,14 @@ export default {
state.user = data state.user = data
}, },
askUpdateUser(state, data) setPendingUser(state, data)
{ {
state.pendingUser = data state.pendingUser = data
},
setPendingMessage(state, data)
{
state.pendingMessage = data
} }
} }
} }