Skip to content

Commit 2e722f0

Browse files
dotansimhadarkbasic
authored andcommitted
Step 6.6: Add basic messages component
1 parent b2c18fa commit 2e722f0

1 file changed

Lines changed: 21 additions & 4 deletions

File tree

src/pages/messages/messages.ts

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,38 @@
11
import { Component, OnInit } from '@angular/core';
22
import { NavParams } from 'ionic-angular';
3-
import { Chat } from 'api/models';
3+
import { Chat, Message } from 'api/models';
4+
import { Observable } from 'rxjs';
5+
import { Messages } from 'api/collections';
46

57
@Component({
68
selector: 'messages-page',
7-
template: `Messages Page`
9+
templateUrl: 'messages.html'
810
})
911
export class MessagesPage implements OnInit {
1012
selectedChat: Chat;
13+
title: string;
14+
picture: string;
15+
messages: Observable<Message[]>;
1116

1217
constructor(navParams: NavParams) {
1318
this.selectedChat = <Chat>navParams.get('chat');
14-
15-
console.log('Selected chat is: ', this.selectedChat);
19+
this.title = this.selectedChat.title;
20+
this.picture = this.selectedChat.picture;
1621
}
1722

1823
ngOnInit() {
24+
let isEven = false;
25+
26+
this.messages = Messages.find(
27+
{chatId: this.selectedChat._id},
28+
{sort: {createdAt: 1}}
29+
).map((messages: Message[]) => {
30+
messages.forEach((message: Message) => {
31+
message.ownership = isEven ? 'mine' : 'other';
32+
isEven = !isEven;
33+
});
1934

35+
return messages;
36+
});
2037
}
2138
}

0 commit comments

Comments
 (0)