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 ) { this . messages = this . chatService . loadMessages ( ) ; } sendMessage ( event ) { 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 ) ; } } }