mirror of
https://github.com/akveo/ngx-admin.git
synced 2025-09-22 05:50:48 +02:00
44 lines
1,018 B
TypeScript
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);
|
|
}
|
|
}
|
|
}
|