mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
1 line
23 KiB
JSON
1 line
23 KiB
JSON
{"ast":null,"code":"import _asyncToGenerator from \"C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./group-contacts.page.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./group-contacts.page.scss?ngResource\";\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ModalController } from '@ionic/angular';\nimport { ChatService } from 'src/app/services/chat.service';\nimport { NewGroupPage } from '../../new-group/new-group.page';\nimport { GroupMessagesPage } from '../group-messages.page';\nimport { ThemeService } from 'src/app/services/theme.service';\nimport { SessionStore } from 'src/app/store/session.service';\nimport { ChatSystemService } from 'src/app/services/chat/chat-system.service';\nlet GroupContactsPage = class GroupContactsPage {\n constructor(modalController, chatService, ThemeService, ChatSystemService) {\n this.modalController = modalController;\n this.chatService = chatService;\n this.ThemeService = ThemeService;\n this.ChatSystemService = ChatSystemService;\n this.users = [];\n this.contact = [\" Ana M.\", \"Andre F.\", \"Bruno G.\", \"Catarina T\", \"Tiago\"];\n this.sessionStore = SessionStore;\n this.openGroupMessage = new EventEmitter();\n this.loggedUser = SessionStore.user.ChatData['data'];\n this.textSearch = \"\";\n this.dm = null;\n this.room = null;\n }\n ngOnInit() {\n // this.chatService.refreshtoken();\n //this.getRoomInfo();\n this.loadUsers();\n this.getChatInfo();\n //\n }\n\n getChatInfo() {\n this.chatService.getRoomInfo(this.roomId).subscribe(room => {\n this.getGroupContacts(room['room']);\n });\n }\n deleteMember(data) {\n let body = {\n \"roomId\": this.roomId,\n \"userId\": data._id\n };\n this.chatService.getRoomInfo(this.roomId).subscribe(room => {\n if (room['room'].t == \"p\") {\n this.chatService.removeGroupMember(body).subscribe(res => {\n this.getMembers();\n this.getChatInfo();\n });\n } else if (room['room'].t == \"c\") {\n this.chatService.removeChannelMember(body).subscribe(res => {\n this.getMembers();\n this.getChatInfo();\n });\n }\n });\n }\n getMembers() {\n this.chatService.getRoomInfo(this.roomId).subscribe(res => {\n let room = res['room'];\n if (room.t == \"p\") {\n this.chatService.getGroupMembers(this.roomId).subscribe(res => {\n this.members = res['members'];\n });\n } else if (room.t == \"c\") {\n this.chatService.getChannelMembers(this.roomId).subscribe(res => {\n this.members = res['members'];\n });\n }\n });\n }\n getGroupContacts(room) {\n this.showLoader = true;\n if (room.t === 'p') {\n this.chatService.getGroupMembers(this.roomId).subscribe(res => {\n this.members = res['members'];\n this.loadUsers1(this.members);\n this.showLoader = false;\n });\n } else {\n this.chatService.getChannelMembers(this.roomId).subscribe(res => {\n this.members = res['members'];\n this.loadUsers1(this.members);\n this.showLoader = false;\n });\n }\n }\n updateGroup() {\n this.showLoader = true;\n this.addContacts(this.roomId);\n this.openGroupMessage.emit(this.roomId);\n this.showLoader = false;\n }\n openGroupMessagesPage() {\n this.showLoader = true;\n this.openGroupMessage.emit(this.roomId);\n this.showLoader = false;\n }\n loadUsers1(members) {\n this.chatService.getAllUsers().subscribe(res => {\n if (members) {\n this.contacts = res.users.filter(f => !this.members.some(item => item._id === f._id));\n } else {\n this.contacts = res.users.filter(data => data.username != this.sessionStore.user.UserName);\n }\n this.users = this.contacts.sort((a, b) => {\n if (a.name < b.name) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\n return 0;\n });\n this.showLoader = false;\n });\n }\n loadUsers() {\n this.chatService.getAllUsers().subscribe(res => {\n if (this.members) {\n this.contacts = res.users.filter(f => !this.members.some(item => item._id === f._id));\n } else {\n this.contacts = res.users.filter(data => data.username != this.sessionStore.user.UserName);\n }\n this.users = this.contacts.sort((a, b) => {\n if (a.name < b.name) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\n return 0;\n });\n this.showLoader = false;\n });\n }\n separateLetter(record, recordIndex, records) {\n if (recordIndex == 0) {\n return record.name[0];\n }\n let first_prev = records[recordIndex - 1].name[0];\n let first_current = record.name[0];\n if (first_prev != first_current) {\n return first_current;\n }\n return null;\n }\n doRefresh(ev) {\n ev.target.complete();\n }\n close() {\n var _this = this;\n return _asyncToGenerator(function* () {\n _this.modalController.dismiss();\n if (_this.isGroupCreated) {} else {\n _this.modalController.dismiss();\n const modal = yield _this.modalController.create({\n component: NewGroupPage,\n componentProps: {\n name: _this.groupName,\n duration: ''\n },\n cssClass: 'new-group modal-desktop',\n backdropDismiss: false\n });\n yield modal.present();\n }\n })();\n }\n onChange(event) {\n this.textSearch = event.detail.value;\n }\n clicked() {}\n selectedContact(user) {\n /* this.groupName = this.room.name; */\n user.isChecked = !user.isChecked;\n const userIndex = this.users.findIndex(e => e._id == user._id);\n this.users[userIndex] = user;\n }\n addContacts(roomId) {\n this.selectedUserList = this.users.filter(function (contact) {\n return contact.isChecked == true;\n });\n this.selectedUserList.forEach(user => {\n let body = {\n \"roomId\": roomId,\n \"userId\": user._id\n };\n this.chatService.addUserToGroup(body).subscribe(res => {});\n });\n }\n newGroup() {\n var _this2 = this;\n return _asyncToGenerator(function* () {\n _this2.close();\n const modal = yield _this2.modalController.create({\n component: NewGroupPage,\n cssClass: 'new-group modal-desktop',\n backdropDismiss: false\n });\n yield modal.present();\n modal.onDidDismiss();\n })();\n }\n openGroupMessages(room) {\n var _this3 = this;\n return _asyncToGenerator(function* () {\n _this3.close();\n const modal = yield _this3.modalController.create({\n component: GroupMessagesPage,\n componentProps: {\n room: room\n },\n cssClass: 'group-messages',\n backdropDismiss: false\n });\n yield modal.present();\n modal.onDidDismiss();\n })();\n }\n};\nGroupContactsPage.ctorParameters = () => [{\n type: ModalController\n}, {\n type: ChatService\n}, {\n type: ThemeService\n}, {\n type: ChatSystemService\n}];\nGroupContactsPage.propDecorators = {\n roomId: [{\n type: Input\n }],\n openGroupMessage: [{\n type: Output\n }]\n};\nGroupContactsPage = __decorate([Component({\n selector: 'app-group-contacts',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n})], GroupContactsPage);\nexport { GroupContactsPage };","map":{"version":3,"mappings":"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","names":["Component","EventEmitter","Input","Output","ModalController","ChatService","NewGroupPage","GroupMessagesPage","ThemeService","SessionStore","ChatSystemService","GroupContactsPage","constructor","modalController","chatService","loggedUser","user","ChatData","textSearch","dm","room","ngOnInit","loadUsers","getChatInfo","getRoomInfo","roomId","subscribe","getGroupContacts","deleteMember","data","body","_id","t","removeGroupMember","res","getMembers","removeChannelMember","getGroupMembers","members","getChannelMembers","showLoader","loadUsers1","updateGroup","addContacts","openGroupMessage","emit","openGroupMessagesPage","getAllUsers","contacts","users","filter","f","some","item","username","sessionStore","UserName","sort","a","b","name","separateLetter","record","recordIndex","records","first_prev","first_current","doRefresh","ev","target","complete","close","_this","dismiss","isGroupCreated","modal","create","component","componentProps","groupName","duration","cssClass","backdropDismiss","present","onChange","event","detail","value","clicked","selectedContact","isChecked","userIndex","findIndex","e","selectedUserList","contact","forEach","addUserToGroup","newGroup","_this2","onDidDismiss","openGroupMessages","_this3","selector","template"],"sourceRoot":"","sources":["C:\\Users\\eudes.inacio\\GabineteDigital\\gabinete-digital-fo\\src\\app\\shared\\chat\\group-messages\\group-contacts\\group-contacts.page.ts"],"sourcesContent":["import { HttpHeaders } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ModalController } from '@ionic/angular';\r\nimport * as _ from 'lodash';\r\nimport { ChatService } from 'src/app/services/chat.service';\r\nimport { NewGroupPage } from '../../new-group/new-group.page';\r\nimport { GroupMessagesPage } from '../group-messages.page';\r\nimport { ThemeService } from 'src/app/services/theme.service'\r\nimport { SessionStore } from 'src/app/store/session.service';\r\nimport { ChatSystemService } from 'src/app/services/chat/chat-system.service';\r\n\r\n@Component({\r\n selector: 'app-group-contacts',\r\n templateUrl: './group-contacts.page.html',\r\n styleUrls: ['./group-contacts.page.scss'],\r\n})\r\nexport class GroupContactsPage implements OnInit {\r\n showLoader: boolean;\r\n loggedUser: any;\r\n users = [];\r\n\r\n contact: string[] = [\" Ana M.\", \"Andre F.\", \"Bruno G.\", \"Catarina T\", \"Tiago\"];\r\n\r\n options:any;\r\n listContacts: any[];\r\n contacts: any;\r\n textSearch:string;\r\n room:any;\r\n members:any;\r\n dm:any;\r\n isGroupCreated:boolean;\r\n groupName:string;\r\n selectedUserList:any;\r\n sessionStore = SessionStore\r\n\r\n @Input() roomId:string;\r\n @Output() openGroupMessage:EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n private modalController: ModalController,\r\n private chatService: ChatService,\r\n public ThemeService: ThemeService,\r\n public ChatSystemService: ChatSystemService\r\n )\r\n {\r\n this.loggedUser = SessionStore.user.ChatData['data'];\r\n this.textSearch=\"\";\r\n this.dm=null;\r\n this.room=null;\r\n }\r\n\r\n ngOnInit() {\r\n // this.chatService.refreshtoken();\r\n //this.getRoomInfo();\r\n this.loadUsers();\r\n \r\n this.getChatInfo();\r\n //\r\n }\r\n\r\n getChatInfo(){\r\n \r\n this.chatService.getRoomInfo(this.roomId).subscribe(room=>{\r\n \r\n \r\n this.getGroupContacts(room['room']);\r\n });\r\n }\r\n deleteMember(data:any){\r\n \r\n\r\n let body = {\r\n \"roomId\": this.roomId,\r\n \"userId\": data._id,\r\n }\r\n \r\n this.chatService.getRoomInfo(this.roomId).subscribe(room=>{\r\n if(room['room'].t == \"p\"){\r\n this.chatService.removeGroupMember(body).subscribe(res=>{\r\n \r\n this.getMembers();\r\n this.getChatInfo();\r\n });\r\n }\r\n else if(room['room'].t == \"c\"){\r\n this.chatService.removeChannelMember(body).subscribe(res=>{\r\n \r\n this.getMembers();\r\n this.getChatInfo();\r\n });\r\n }\r\n });\r\n }\r\n\r\n getMembers(){\r\n this.chatService.getRoomInfo(this.roomId).subscribe(res=>{\r\n \r\n let room = res['room'];\r\n\r\n if(room.t == \"p\"){\r\n this.chatService.getGroupMembers(this.roomId).subscribe(res=>{\r\n this.members = res['members'];\r\n });\r\n }\r\n else if(room.t == \"c\"){\r\n this.chatService.getChannelMembers(this.roomId).subscribe(res=>{\r\n this.members = res['members'];\r\n });\r\n }\r\n });\r\n }\r\n\r\n getGroupContacts(room:any){\r\n this.showLoader = true;\r\n if(room.t === 'p'){\r\n this.chatService.getGroupMembers(this.roomId).subscribe(res=>{\r\n this.members = res['members'];\r\n this.loadUsers1(this.members);\r\n this.showLoader = false;\r\n });\r\n }\r\n else{\r\n this.chatService.getChannelMembers(this.roomId).subscribe(res=>{\r\n this.members = res['members'];\r\n this.loadUsers1(this.members);\r\n this.showLoader = false;\r\n });\r\n }\r\n }\r\n\r\n updateGroup(){\r\n this.showLoader = true;\r\n this.addContacts(this.roomId);\r\n this.openGroupMessage.emit(this.roomId);\r\n this.showLoader = false;\r\n }\r\n openGroupMessagesPage(){\r\n this.showLoader = true;\r\n this.openGroupMessage.emit(this.roomId)\r\n this.showLoader = false;\r\n }\r\n\r\n loadUsers1(members:any) {\r\n\r\n this.chatService.getAllUsers().subscribe((res:any)=>{\r\n\r\n\r\n\r\n if(members){\r\n this.contacts = res.users.filter(f => !this.members.some(item => item._id === f._id));\r\n }\r\n else{\r\n this.contacts = res.users.filter(data => data.username != this.sessionStore.user.UserName);\r\n }\r\n\r\n this.users = this.contacts.sort((a,b) => {\r\n if(a.name < b.name){\r\n return -1;\r\n }\r\n if(a.name > b.name){\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n \r\n\r\n this.showLoader = false;\r\n });\r\n }\r\n\r\n loadUsers(){\r\n\r\n this.chatService.getAllUsers().subscribe((res:any)=>{\r\n\r\n\r\n\r\n if(this.members){\r\n this.contacts = res.users.filter(f => !this.members.some(item => item._id === f._id));\r\n }\r\n else{\r\n this.contacts = res.users.filter(data => data.username != this.sessionStore.user.UserName);\r\n }\r\n\r\n this.users = this.contacts.sort((a,b) => {\r\n if(a.name < b.name){\r\n return -1;\r\n }\r\n if(a.name > b.name){\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n \r\n\r\n this.showLoader = false;\r\n });\r\n }\r\n\r\n separateLetter(record, recordIndex, records){\r\n if(recordIndex == 0){\r\n return record.name[0];\r\n }\r\n\r\n let first_prev = records[recordIndex - 1].name[0];\r\n let first_current = record.name[0];\r\n\r\n if(first_prev != first_current){\r\n return first_current;\r\n }\r\n return null;\r\n }\r\n\r\n doRefresh(ev){\r\n ev.target.complete();\r\n }\r\n\r\n async close(){\r\n this.modalController.dismiss();\r\n if(this.isGroupCreated){\r\n \r\n }\r\n else{\r\n this.modalController.dismiss();\r\n \r\n const modal = await this.modalController.create({\r\n component: NewGroupPage,\r\n componentProps: {\r\n name:this.groupName,\r\n duration:'',\r\n },\r\n cssClass: 'new-group modal-desktop',\r\n backdropDismiss: false,\r\n });\r\n await modal.present();\r\n }\r\n }\r\n\r\n onChange(event){\r\n this.textSearch = event.detail.value;\r\n }\r\n\r\n clicked(){\r\n \r\n }\r\n\r\n selectedContact(user:any){\r\n /* this.groupName = this.room.name; */\r\n user.isChecked = !user.isChecked;\r\n\r\n const userIndex = this.users.findIndex((e) => e._id == user._id)\r\n this.users[userIndex] = user \r\n\r\n }\r\n\r\n addContacts(roomId:any){\r\n \r\n this.selectedUserList = this.users.filter(function(contact) {\r\n return contact.isChecked == true;\r\n });\r\n \r\n this.selectedUserList.forEach(user=>{\r\n let body ={\r\n \"roomId\":roomId,\r\n \"userId\":user._id,\r\n }\r\n this.chatService.addUserToGroup(body).subscribe(res=>{\r\n \r\n });\r\n });\r\n }\r\n\r\n\r\n async newGroup(){\r\n this.close();\r\n const modal = await this.modalController.create({\r\n component: NewGroupPage,\r\n cssClass: 'new-group modal-desktop',\r\n backdropDismiss: false,\r\n });\r\n await modal.present();\r\n modal.onDidDismiss();\r\n }\r\n\r\n async openGroupMessages(room:any){\r\n this.close();\r\n const modal = await this.modalController.create({\r\n component: GroupMessagesPage,\r\n componentProps: {\r\n room: room,\r\n },\r\n cssClass: 'group-messages',\r\n backdropDismiss: false\r\n });\r\n\r\n await modal.present();\r\n modal.onDidDismiss();\r\n }\r\n\r\n}\r\n"]},"metadata":{},"sourceType":"module"} |