ngx-admin/src/app/pages/extra-components/chat/chat.component.ts
2018-11-19 16:57:35 +02:00

44 lines
1,018 B
TypeScript

import { Component } from '@angular/core';
import { ChatService } from './chat.service';
@Component({
selector: 'ngx-chat',
templateUrl: 'chat.component.html',
styleUrls: ['chat.component.scss'],
providers: [ ChatService ],
})
export class ChatComponent {
messages: any[];
constructor(protected chatService: ChatService) {
this.messages = this.chatService.loadMessages();
}
sendMessage(event: any) {
const files = !event.files ? [] : event.files.map((file) => {
return {
url: file.src,
type: file.type,
icon: 'nb-compose',
};
});
this.messages.push({
text: event.message,
date: new Date(),
reply: true,
type: files.length ? 'file' : 'text',
files: files,
user: {
name: 'Jonh Doe',
avatar: 'https://i.gifer.com/no.gif',
},
});
const botReply = this.chatService.reply(event.message);
if (botReply) {
setTimeout(() => { this.messages.push(botReply); }, 500);
}
}
}