From 0a53b773b2365be70b9c1298cece049859882b24 Mon Sep 17 00:00:00 2001 From: Dotan Simha Date: Thu, 6 Oct 2016 15:07:42 +0300 Subject: [PATCH] Step 4.15: Add 'sendMessage()' handler to messages component --- .../imports/pages/chat/messages-page.component.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/client/imports/pages/chat/messages-page.component.ts b/client/imports/pages/chat/messages-page.component.ts index 92f6cd7..101ed00 100644 --- a/client/imports/pages/chat/messages-page.component.ts +++ b/client/imports/pages/chat/messages-page.component.ts @@ -6,6 +6,7 @@ import {Observable} from "rxjs"; import {Message} from "../../../../both/models/message.model"; import template from "./messages-page.component.html"; import style from "./messages-page.component.scss"; +import {MeteorObservable} from "meteor-rxjs"; @Component({ selector: "messages-page", @@ -19,6 +20,7 @@ export class MessagesPage implements OnInit { private title: string; private picture: string; private messages: Observable; + private message = ""; constructor(navParams: NavParams) { this.selectedChat = navParams.get('chat'); @@ -41,4 +43,16 @@ export class MessagesPage implements OnInit { return messages; }); } + + onInputKeypress({keyCode}: KeyboardEvent): void { + if (keyCode == 13) { + this.sendMessage(); + } + } + + sendMessage(): void { + MeteorObservable.call('addMessage', this.selectedChat._id, this.message).zone().subscribe(() => { + this.message = ''; + }); + } } \ No newline at end of file