Skip to content

Commit 77521b2

Browse files
dotansimhadarkbasic
authored andcommitted
Step 9.3: Use removeChat on client side
1 parent 796f949 commit 77521b2

1 file changed

Lines changed: 21 additions & 3 deletions

File tree

src/pages/chats/chats.ts

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Component, OnInit } from '@angular/core';
22
import { Chats, Messages, Users } from 'api/collections';
33
import { Chat, Message } from 'api/models';
4-
import { NavController, PopoverController, ModalController } from 'ionic-angular';
4+
import { NavController, PopoverController, ModalController, AlertController } from 'ionic-angular';
55
import { MeteorObservable } from 'meteor-rxjs';
66
import { Observable, Subscriber } from 'rxjs';
77
import { MessagesPage } from '../messages/messages';
@@ -18,7 +18,8 @@ export class ChatsPage implements OnInit {
1818
constructor(
1919
private navCtrl: NavController,
2020
private popoverCtrl: PopoverController,
21-
private modalCtrl: ModalController) {
21+
private modalCtrl: ModalController,
22+
private alertCtrl: AlertController) {
2223
this.senderId = Meteor.userId();
2324
}
2425

@@ -90,8 +91,25 @@ export class ChatsPage implements OnInit {
9091
}
9192

9293
removeChat(chat: Chat): void {
93-
Chats.remove({_id: chat._id}).subscribe(() => {
94+
MeteorObservable.call('removeChat', chat._id).subscribe({
95+
error: (e: Error) => {
96+
if (e) {
97+
this.handleError(e);
98+
}
99+
}
100+
});
101+
}
102+
103+
handleError(e: Error): void {
104+
console.error(e);
105+
106+
const alert = this.alertCtrl.create({
107+
buttons: ['OK'],
108+
message: e.message,
109+
title: 'Oops!'
94110
});
111+
112+
alert.present();
95113
}
96114

97115
showOptions(): void {

0 commit comments

Comments
 (0)