{"version":3,"file":"src_app_views_apps_chat_chat_module_ts.js","mappings":";;;;;;;;;;;;;;;;;;;;;AAGkE;;;;;;;;;ICiBlC,wEAA0D;IACtD,uDACJ;IAAA,4DAAI;;;IADA,0DACJ;IADI,wFACJ;;;IAHJ,wEAA6D;IACzD,2HAEI;IACR,qEAAe;;;IAHP,0DAAU;IAAV,yEAAU;;;;;IAT1B,0EAIC;IADG,oXAA6B;IAE7B,wEAAyE;IACzE,0EAAwB;IACpB,yEAAiB;IAAA,uDAAa;IAAA,4DAAK;IACnC,kIAIe;IACnB,4DAAM;IACN,0EAAsC;IAClC,2EAAsC;IAAA,uDAAa;IAAA,4DAAO;IAC9D,4DAAM;IACV,4DAAM;;;;IAhBF,4KAA8C;IAItC,0DAAW;IAAX,oEAAW;IAEE,0DAAa;IAAb,6EAAa;IACC,0DAAa;IAAb,gFAAa;IAON,0DAAa;IAAb,6EAAa;;ADhBxE,MAAM,aAAa;IAOtB,YAAoB,OAAoB,EAAU,GAAsB;QAApD,YAAO,GAAP,OAAO,CAAa;QAAU,QAAG,GAAH,GAAG,CAAmB;QACpE,IAAI,CAAC,KAAK,EAAE;IAChB,CAAC;IAED,QAAQ,KAAW,CAAC;IAEpB,KAAK,CAAC,EAAE,GAAG,GAAG;QACV,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,GAAG,GAAG;YACnB,IAAI,CAAC,IAAI,GAAG,GAAG;YACf,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACxB,IAAG,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE;oBACd,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,EAAE;iBAC3B;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;QAC5B,CAAC,CAAC;IACN,CAAC;IAED,UAAU,CAAC,EAAU;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE;QACpB,IAAI,CAAC,eAAe,GAAG,KAAK;IAChC,CAAC;IAED,UAAU,CAAC,EAAE;QACT,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,CAAC;QACJ,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK;QAClC,IAAG,WAAW,EAAE;YACZ,IAAI,CAAC,QAAQ,GAAG,gFAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;SACzD;aAAM;YACJ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI;SAC3B;IACL,CAAC;IAED,uBAAuB;QACnB,IAAI,CAAC,eAAe,GAAG,IAAI;IAC/B,CAAC;;0EA9CQ,aAAa;2GAAb,aAAa;QCV1B,yEAA4B;QACxB,yEAA0D;QACtD,kFAAmG;QAC/F,yEAAwB;QACpB,yEAA+B;QAC3B,yEAAyB;QACrB,kEAA+C;QAC/C,2EAAsF;QAAzB,0IAAS,kBAAc,IAAC;QAArF,4DAAsF;QAC1F,4DAAM;QACV,4DAAM;QACN,uFAA2C;QACvC,yGAiBM;QACV,4DAAoB;QACxB,4DAAM;QACV,4DAAe;QACf,oFAIC;QAFG,4JAAc,sBAAkB,IAAC,wGACd,6BAAyB,IADX;QAEpC,4DAAe;QACpB,4DAAM;QACV,4DAAM;;QApCmC,0DAAkB;QAAlB,2EAAkB;QAWlB,0DAAW;QAAX,iFAAW;QAoBxC,0DAAqB;QAArB,kFAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;AChCwB;AACV;AACA;AAC4B;AACiB;AAC7B;AAEd;AAC6B;AAEjC;;;AAmBtC,MAAM,UAAU;;oEAAV,UAAU;uGAAV,UAAU;4GAJR;QACP,sDAAW;KACd,YAVQ;YACL,mEAAY;YACZ,sGAAiB;YACjB,qFAAY;YACZ,yEAAsB;YACtB,kEAAqB,CAAC,wDAAM,CAAC;SAChC;mIAMQ,UAAU,mBAff,0DAAa;QACb,uFAAqB,aAGrB,mEAAY;QACZ,sGAAiB;QACjB,qFAAY;QACZ,yEAAsB;;;;;;;;;;;;;;;;ACtBmB;AAE1C,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,0DAAa,EAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;ACKxD,MAAM,WAAW;IAGpB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAFpC,WAAM,GAAG,WAAW,CAAC;IAEkB,CAAC;IAExC,WAAW;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,IAAI,CAAC,MAAM,CAAC;IAClD,CAAC;IAED,aAAa,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAO,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IAED,kBAAkB,CAAC,GAAc,EAAE,EAAmB;QAClD,IAAI,MAAM,GAAG;YACT,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,GAAG;SACX;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,eAAe,EAAE,MAAM,CAAC;IAChE,CAAC;;sEAnBQ,WAAW;4GAAX,WAAW,WAAX,WAAW,mBAFR,MAAM;;;;;;;;;;;;;;;;;;;;;ACLuF;;;;;;;;;ICKpF,uEAAmB;IAAA,uDAAa;IAAA,4DAAO;;;IAApB,0DAAa;IAAb,iFAAa;;;IAOzC,wEAAiG;;;IAA1D,qFAA4B;;;IADvE,0EAAiD;IAC7C,0IAAiG;IACrG,4DAAM;;;IADO,0DAA4B;IAA5B,2FAA4B;;;IAIjC,uEAAqC;IAAA,uDAAa;IAAA,4DAAO;;;IAApB,0DAAa;IAAb,6EAAa;;;IAClD,qEAAyE;;;IAApC,0IAAiB;;;IACtD,0EAA+E;IAC3E,mEAAsD;IACtD,2EAAoD;IAChD,oEAAG;IAAA,uDAAa;IAAA,4DAAI;IACxB,4DAAO;IACX,4DAAM;;;IAFK,0DAAa;IAAb,6EAAa;;;IAKhC,0EAA+D;IAC3D,uDACJ;IAAA,4DAAM;;;IADF,0DACJ;IADI,wFACJ;;;;;;IAlBJ,0EAAsL;IAClL,8HAEM;IACN,0EAAwE;IACpE,0EAAyE;IACrE,+HAAyD;IACzD,8HAAyE;IACzE,8HAKM;IACV,4DAAM;IACV,4DAAM;IACN,8HAEM;IACV,4DAAM;;;IAnByC,uNAAsI;IAC9J,0DAA4B;IAA5B,2FAA4B;IAG1B,0DAAkD;IAAlD,uKAAkD;IACvC,0DAA4C;IAA5C,uKAA4C;IAC7D,0DAA4B;IAA5B,2FAA4B;IAC7B,0DAA6B;IAA7B,4FAA6B;IAC7B,0DAA4B;IAA5B,2FAA4B;IAQP,0DAA0B;IAA1B,yFAA0B;;;IAjBrE,0EAA8B;IAC1B,yHAmBM;IACV,4DAAM;;;IApBgC,0DAAW;IAAX,oFAAW;;ADE9C,MAAM,qBAAqB;IAmB9B,YAAoB,OAAoB,EAAU,GAAsB;QAApD,YAAO,GAAP,OAAO,CAAa;QAAU,QAAG,GAAH,GAAG,CAAmB;QAH9D,eAAU,GAAsB,IAAI,uDAAY,EAAO,CAAC;QACxD,oBAAe,GAAG,IAAI,uDAAY,EAAE,CAAC;IAE6B,CAAC;IAZ7E,IAAa,MAAM,CAAC,EAAE;QACnB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAOD,QAAQ;IAER,CAAC;IAED,kBAAkB;QACd,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,eAAe,CAAC,EAAU;QACtB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAC3C,IAAI,CAAC,IAAI,GAAG,GAAG;YACf,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE;YACzC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;QAC5B,CAAC,CAAC;IACN,CAAC;IAED,WAAW;QACP,MAAM,UAAU,GAAG;YACf,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,MAAM;SAClB;QACD,IAAG,IAAI,CAAC,OAAO,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE;YACxE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;SACrC;QACD,IAAI,CAAC,OAAO,GAAG,EAAE;IACrB,CAAC;IAED,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE;IAC7C,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;IAC/B,CAAC;;0FA3DQ,qBAAqB;mHAArB,qBAAqB;;;;;;;;QCZlC,yEAAiC;QAC7B,yEAAuC;QACnC,yEAA8F;QAA9B,0IAAS,uBAAmB,IAAC;QACzF,kEAAiC;QACrC,4DAAM;QACN,wEAAiB;QAAA,mHAAuC;QAAA,4DAAK;QACjE,4DAAM;QACV,4DAAM;QACN,0FAAqD;QACjD,iHAqBM;QACV,4DAAoB;QACpB,yEAAiC;QAC7B,6EAMC;QAFG,2LAAqB,oGACJ,iBAAa,SAAC,uBAAuB,IADjC;QAJzB,4DAMC;QACD,2EAA6C;QACzC,yEAA0C;QACtC,oEAAgC;QACpC,4DAAI;QACJ,yEAA0C;QACtC,oEAA4B;QAChC,4DAAI;QACR,4DAAM;QACN,8EAA6D;QAAxB,8IAAS,iBAAa,IAAC;QACxD,wEAAM;QAAA,gEAAI;QAAA,4DAAO;QACjB,oEAAiC;QACrC,4DAAS;QACb,4DAAM;;QA/C0B,0DAAU;QAAV,0EAAU;QAIpB,0DAAU;QAAV,0EAAU;QA4BxB,0DAAqB;QAArB,gFAAqB","sources":["./src/app/views/apps/chat/chat.component.ts","./src/app/views/apps/chat/chat.component.html","./src/app/views/apps/chat/chat.module.ts","./src/app/views/apps/chat/chat.routing.module.ts","./src/app/views/apps/chat/chat.service.ts","./src/app/views/apps/chat/conversation/conversation.component.ts","./src/app/views/apps/chat/conversation/conversation.component.html"],"sourcesContent":["import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { ChatService } from './chat.service'\r\nimport { Chat } from './chat.interface'\r\nimport { WildcardSearch } from '@app/shared/utils/WildcardSearch';\r\nimport { NumberFormatStyle } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'chat',\r\n templateUrl: './chat.component.html'\r\n})\r\nexport class ChatComponent implements OnInit {\r\n\r\n temp: Chat[]\r\n chatList: Chat[]\r\n selectedId: string | NumberFormatStyle\r\n mobilePanelOpen: boolean\r\n \r\n constructor(private chatSvc: ChatService, private cdr: ChangeDetectorRef) {\r\n this.fetch()\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n fetch(id = '1') {\r\n this.chatSvc.getChatList().subscribe(res => {\r\n this.chatList = res\r\n this.temp = res\r\n this.chatList.forEach(elm => {\r\n if(elm.id === id) {\r\n this.selectedId = elm.id\r\n }\r\n });\r\n this.cdr.detectChanges()\r\n })\r\n }\r\n\r\n selectChat(id: string) {\r\n this.selectedId = id\r\n this.mobilePanelOpen = false\r\n }\r\n\r\n updateChat(id) {\r\n this.fetch(id)\r\n }\r\n\r\n serach(e) {\r\n const searchValue = e.target.value\r\n if(searchValue) {\r\n this.chatList = WildcardSearch(this.temp, searchValue)\r\n } else {\r\n this.chatList = this.temp\r\n }\r\n }\r\n\r\n onMobilePanelToggleOpen() {\r\n this.mobilePanelOpen = true\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
{{item.name}}
\r\n \r\n

\r\n {{item.text}}\r\n

\r\n
\r\n
\r\n
\r\n {{item.time}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { SharedModule } from '@app/shared/shared.module';\r\nimport { routes } from './chat.routing.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AvatarModule } from '@app/shared/components/avatar/avatar.module';\r\nimport { ColumnPanelModule } from '@app/shared/components/column-panel/column-panel.module';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\n\r\nimport { ChatComponent } from './chat.component';\r\nimport { ConversationComponent } from './conversation/conversation.component';\r\n\r\nimport { ChatService } from './chat.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n ChatComponent,\r\n ConversationComponent\r\n ],\r\n imports: [ \r\n SharedModule,\r\n ColumnPanelModule,\r\n AvatarModule,\r\n PerfectScrollbarModule,\r\n RouterModule.forChild(routes)\r\n ],\r\n exports: [],\r\n providers: [\r\n ChatService\r\n ],\r\n})\r\nexport class ChatModule {}","import { ChatComponent } from './chat.component';\r\n\r\nexport const routes = [{ path: '', component: ChatComponent }];","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Chat, Message } from './chat.interface'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChatService {\r\n apiUrl = `/api/chat`;\r\n \r\n constructor(private http: HttpClient) {}\r\n\r\n getChatList() {\r\n return this.http.get>(this.apiUrl)\r\n }\r\n\r\n getChatDetail(id: string) {\r\n return this.http.get(`${this.apiUrl}/${id}`)\r\n }\r\n\r\n updateConversation(msg: Message[], id: string | number) {\r\n let params = {\r\n id: id,\r\n msg: msg,\r\n }\r\n return this.http.post(`${this.apiUrl}/conversation`, params)\r\n }\r\n}","import { Component, OnInit, Input, ChangeDetectorRef, ViewChild, EventEmitter, Output } from '@angular/core';\r\nimport { ChatService } from '../chat.service'\r\nimport { Chat } from '../chat.interface'\r\nimport { PerfectScrollbarComponent } from 'ngx-perfect-scrollbar';\r\n\r\n@Component({\r\n selector: 'conversation',\r\n templateUrl: './conversation.component.html',\r\n host: {\r\n '[class.conversation]': 'true'\r\n }\r\n})\r\nexport class ConversationComponent implements OnInit {\r\n\r\n @ViewChild('chatPS') chatPS: PerfectScrollbarComponent;\r\n chat: Chat\r\n message: string\r\n private _id: string;\r\n \r\n @Input() set chatId(id) {\r\n this._id = id;\r\n this.fetchChatDetail(id);\r\n }\r\n \r\n get chatId(): string {\r\n return this._id;\r\n }\r\n\r\n @Output() updateChat: EventEmitter = new EventEmitter();\r\n @Output() openMobilePanel = new EventEmitter();\r\n\r\n constructor(private chatSvc: ChatService, private cdr: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n ngAfterViewChecked() { \r\n this.scrollToBottom(); \r\n } \r\n\r\n fetchChatDetail(id: string) {\r\n this.chatSvc.getChatDetail(id).subscribe(res => {\r\n this.chat = res\r\n this.chatPS.directiveRef.scrollToBottom()\r\n this.cdr.detectChanges()\r\n })\r\n }\r\n\r\n sendMessage() {\r\n const newMessage = {\r\n avatar: '',\r\n text: this.message,\r\n from: 'me',\r\n time: '',\r\n msgType: 'text'\r\n }\r\n if(this.message) {\r\n this.chat.msg.push(newMessage) \r\n this.chatSvc.updateConversation(this.chat.msg, this.chat.id).subscribe()\r\n this.updateChat.emit(this.chat.id)\r\n } \r\n this.message = ''\r\n }\r\n\r\n scrollToBottom(): void {\r\n this.chatPS.directiveRef.scrollToBottom() \r\n }\r\n\r\n onMobilePanelOpen() {\r\n this.openMobilePanel.emit()\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
{{chat.name}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
1\">\r\n 1\" [icon]=\"'feather icon-user'\" [src]=\"item.avatar\">\r\n
\r\n
\r\n
\r\n {{item.text}}\r\n \r\n
\r\n \r\n \r\n {{item.text}}\r\n \r\n
\r\n
\r\n
\r\n
1\">\r\n {{item.time}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
"],"names":[],"sourceRoot":"webpack:///"}