{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.number.parse-int.js","webpack:///./src/shared/dtos/collaborative-area-type.ts","webpack:///./src/shared/dtos/collaborative-area.ts","webpack:///./src/shared/dtos/message.ts","webpack:///./src/store/modules/chat-module.ts","webpack:///./src/store/modules/collaborative-area.module.ts","webpack:///./node_modules/core-js/internals/number-parse-int.js"],"names":["$","parseInt","target","stat","forced","Number","CollaborativeAreaType","id","name","CollaborativeArea","messages","rooms","myId","messagesLoaded","roomsLoaded","this","context","commit","url","Format","chat","get","catch","error","toast","TypeError","then","value","roomId","room","find","x","unreadCount","Array","isArray","lastMessage","length","messagesLeft","idMensajeMasAntiguo","_id","mensaje","currentRoomId","post","idMensaje","indice","indexOf","seen","content","message","senderId","res","roomsLeft","chatRoomCrud","ambitId","val","salas","lastMessages","reverse","namespaced","store","dynamic","CollaborativeAreaModule","collaborativeAreasInfo","nameUsersByCollaborativeAreas","selectedCollaborativeArea","collaborativeAreaTypes","usersAndRolesArea","collaborativeAreaMember","areaEditMode","users","collaborativeArea","active","toJson","collaborativeAreaDB","put","userId","roleId","state","type","usersAndRoles","editar","global","fails","uncurryThis","toString","trim","whitespaces","$parseInt","Symbol","ITERATOR","iterator","hex","exec","FORCED","Object","module","exports","string","radix","S"],"mappings":"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","file":"js/chunk-58255da3.f362429a.js","sourcesContent":["var $ = require('../internals/export');\nvar parseInt = require('../internals/number-parse-int');\n\n// `Number.parseInt` method\n// https://tc39.es/ecma262/#sec-number.parseint\n// eslint-disable-next-line es/no-number-parseint -- required for testing\n$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, {\n parseInt: parseInt\n});\n","import { ItiBaseDto } from '@/iti-core-vue';\n\nexport class CollaborativeAreaType extends ItiBaseDto {\n public name !: string;\n\n constructor(id: number, name: string) {\n super();\n this.id = id;\n this.name = name;\n }\n}","import { ItiBaseDto } from '@/iti-core-vue';\nimport { CollaborativeAreaMember } from './collaborative-area-member';\nimport { CollaborativeAreaType } from './collaborative-area-type';\n\nexport class CollaborativeArea extends ItiBaseDto {\n public name !: string;\n public description !: string;\n public active !: boolean;\n public type !: any; //CollaborativeAreaType || number;\n public users !: CollaborativeAreaMember[];\n public numberUsers !: number;\n public numberFiles !: number;\n public lastFileDate !: Date;\n public lastFileName !: string;\n public lastFileId!: number;\n public numberChatMessages !: number;\n public lastMessageDate !: Date;\n public lastMessage !: string;\n public roomId !: number;\n public lastPostId !: number\n public lastPostTitle !: string;\n public lastPostDate !: Date;\n public numberEvents !: number;\n public nextEventDate !: Date;\n public nameNextEvent !: string;\n public allDay !: boolean;\n public nameUsers !: string[];\n\n}","import { ItiBaseDto } from '@/iti-core-vue';\n\nexport class Message extends ItiBaseDto {\n public _id!: number;\n public content!: string;\n public senderId!: number;\n public username!: string;\n public avatar!: string;\n public dateTime!: Date;\n public date!: string;\n public timestamp!: string;\n public system!: boolean;\n public saved!: boolean;\n public distributed!: boolean;\n public seen!: boolean;\n public new!: boolean;\n public disableActions!: boolean;\n public disableReactions!: boolean;\n public roomId!: number;\n}\n","import { store, itiHttpService, itiMessageService, itiSignalRService, ItiString} from '@/iti-core-vue';\nimport { Action, getModule, Module, Mutation, VuexModule } from 'vuex-module-decorators';\nimport { API } from '@/shared/api';\nimport { Room } from '@/shared/dtos/room';\nimport { EnvioMensaje } from '@/shared/dtos/envioMensaje';\nimport { Message } from '@/shared/dtos/message';\n// import { JsonHubProtocol } from '@aspnet/signalr';\n\n@Module({\n namespaced: true,\n name: 'ChatModule',\n store,\n dynamic: true,\n})\nclass ChatModule extends VuexModule {\n public messages: Message[] = [];\n public rooms: Room[] = [];\n public myId: number = 0;\n public messagesLoaded: boolean = false;\n public roomsLoaded: boolean = false;\n\n@Mutation\npublic setMyId(myId: number){\n this.myId = myId;\n \n}\n@Action\npublic async fetchId(){\n this.context.commit('setMessages', []);\n this.context.commit('setRooms', []);\n const url = ItiString.Format('{0}',API.chat+'/id');\n await itiHttpService.get(url,null,false)\n .catch((error) => { itiMessageService.toast(error, itiMessageService.TypeError); })\n .then((value) => this.context.commit('setMyId', Number.parseInt(value)));\n}\n@Mutation\npublic setMessages(messages: Message[]) {\n this.messages = [...messages];\n}\n@Mutation\npublic setMessagesLoaded(messagesLoaded: boolean) {\n this.messagesLoaded = messagesLoaded;\n}\n@Action\npublic async updateMessagesLoaded(messagesLoaded: boolean){\n this.context.commit(\"setMessagesLoaded\", messagesLoaded);\n}\n\n@Action\npublic async fetchInitialRoomMessages(roomId: number){\n //The loading spinner is wonky, just setting it to false doesn't work all of the time.\n this.context.commit('setMessagesLoaded', true);\n this.context.commit('setMessagesLoaded', false);\n const url = ItiString.Format('{0}?roomId={1}&oldestMessageId={2}',API.chat, roomId, 0);\n await itiHttpService.get(url,null,false)\n .catch((error) => { itiMessageService.toast(error, itiMessageService.TypeError); })\n .then((value:any) => {\n var room = this.rooms.find(x => x.roomId == roomId);\n //Update room info\n if(room){\n room.unreadCount = 0;\n if(value.messages){\n if(Array.isArray(value.messages)){\n room.lastMessage = value.messages[value.messages.length-1];\n }\n else{\n room.lastMessage = value.messages;\n }\n }\n }\n //Update messages\n if(value.messages){\n if(Array.isArray(value.messages)){\n this.context.commit('setMessages', value.messages);\n if(value.messages.length === 0){\n //There's no messages in the room\n this.context.commit('setMessagesLoaded', true);\n }else{\n this.context.commit('setMessagesLoaded', !value.messagesLeft);\n }\n }\n else{\n //If there's only one message in the response\n this.context.commit('setMessages', [value.messages]);\n this.context.commit('setMessagesLoaded', !value.messagesLeft);\n }\n }\n else{\n this.context.commit('setMessagesLoaded', true);\n }\n });\n}\n\n@Mutation\npublic addMessages(messages: Message[]) {\n this.messages = [...messages,...this.messages];\n}\n@Action\npublic async fetchMoreRoomMessages(roomId: number){\n this.context.commit('setMessagesLoaded', true);\n this.context.commit('setMessagesLoaded', false);\n var idMensajeMasAntiguo = this.messages[0]._id;\n const url = ItiString.Format('{0}?roomId={1}&oldestMessageId={2}',API.chat, roomId, idMensajeMasAntiguo);\n await itiHttpService.get(url,null,false)\n .catch((error) => { itiMessageService.toast(error, itiMessageService.TypeError); })\n .then((value) =>{\n if(value.messages){\n if(Array.isArray(value.messages)){\n this.context.commit('addMessages', value.messages);\n }\n else{\n this.context.commit('addMessages', [value.messages]);\n }\n }\n this.context.commit('setMessagesLoaded', !value.messagesLeft);\n } );\n}\n@Mutation\npublic addMessage(mensaje: Message) {\n this.messages = [...this.messages,mensaje];\n}\n@Action\npublic async receiveMessage({mensaje, currentRoomId, roomId}:{mensaje: Message, currentRoomId: number, roomId: number}){\n if(currentRoomId == roomId){\n //We're currently in the room, show message\n this.context.commit(\"addMessage\", mensaje);\n //Notify the server that we have read the message\n const url = ItiString.Format('{0}/readMessage?messageId={1}', API.chat, mensaje._id);\n await itiHttpService.post(url, null, false)\n .catch((error) => { itiMessageService.toast(error, itiMessageService.TypeError); });\n }\n else{\n //We're in a different room, modify \"lastMessage\" so it shows this message, add 1 to the counter of unread messages\n var room = this.rooms.find(x => x.roomId == roomId);\n if(room){\n room.unreadCount++;\n room.lastMessage = mensaje;\n }\n }\n}\n@Mutation\npublic setMessageAsRead(idMensaje: number){\n var mensaje = this.messages.find(x => x._id == idMensaje);\n if(mensaje){\n var indice = this.messages.indexOf(mensaje);\n if(mensaje){\n mensaje.seen = true;\n }\n this.messages[indice] = mensaje;\n this.messages = [...this.messages];\n }\n}\n@Action\npublic async messageRead(idMensaje: number){\n this.context.commit(\"setMessageAsRead\",idMensaje);\n}\n\n@Action\npublic async sendMessage( {content, roomId} : {content: string, roomId: number}) {\n //Use the content and user id to build the message\n var message: Message = new Message();\n message.content = content;\n message.senderId = this.myId;\n\n //Send message to server, server will pass on the message to every user in the room ( including this one )\n const url = ItiString.Format('{0}?roomId={1}', API.chat, roomId);\n await itiHttpService.post(url, message, false)\n .catch((error) => { itiMessageService.toast(error, itiMessageService.TypeError); });\n}\n\n\n\n@Mutation\npublic setRooms(res: any[]) {\n this.rooms = [...res]\n}\n@Mutation\npublic setRoomsLoaded(roomsLoaded: boolean) {\n this.roomsLoaded = roomsLoaded;\n}\n@Action \npublic async loadRooms(){\n const url = ItiString.Format('{0}',API.chat+'/rooms');\n await itiHttpService.get(url, null, false, false, true)\n .catch((error) => { })\n .then((value) => {\n if(Array.isArray(value.rooms)){\n this.context.commit('setRooms', value.rooms);\n }\n else{\n this.context.commit('setRooms', [value.rooms]);\n }\n this.context.commit('setRoomsLoaded', !value.roomsLeft);\n });\n}\n\n@Action\npublic async loadRoom(roomId: number): Promise{\n const url = ItiString.Format('{0}/forChat/{1}',API.chatRoomCrud, roomId);\n await itiHttpService.get(url, null, false, false, true)\n .catch((error) => { return false;\n })\n .then((value) => {this.context.commit('setRooms', [value]); return true; });\n return false;\n}\n\n@Action\npublic async loadRoomId(ambitId: number): Promise{\n const url = ItiString.Format('{0}/roomId/{1}',API.chatRoomCrud, ambitId);\n var val = await itiHttpService.get(url, null, false, false, true)\n .catch((error) => { return -1;\n })\n .then((value) => { return value; });\n return val;\n}\n\n@Mutation\npublic addRooms(salas: Room[]) {\n this.rooms = [...this.rooms,...salas];\n}\n\n@Mutation\npublic setLastMessagesByAmbitId(lastMessages: Message[]) {\n this.messages = [...lastMessages];\n}\n\n@Action\npublic async getLastMessagesByAmbitId(ambitId: number) {\n const res = await itiHttpService.get(API.chat + '/GetLastMessagesByAmbitId?ambitId=' + ambitId);\n this.context.commit('setLastMessagesByAmbitId', res.reverse());\n}\n\n\n\n\n}\nexport default getModule(ChatModule);\n","import { store, itiHttpService, itiMessageService, itiSignalRService, ItiString } from '@/iti-core-vue';\nimport { Action, getModule, Module, Mutation, VuexModule } from 'vuex-module-decorators';\nimport { API } from '@/shared/api';\nimport { CollaborativeArea } from '@/shared/dtos/collaborative-area';\nimport { CollaborativeAreaType } from '@/shared/dtos/collaborative-area-type';\nimport { CollaborativeAreaMember } from '@/shared/dtos/collaborative-area-member';\nimport { Rol } from '@/shared/dtos/rol';\n\n@Module({\n namespaced: true,\n name: 'CollaborativeAreaModule',\n store,\n dynamic: true,\n})\nclass CollaborativeAreaModule extends VuexModule {\n\n public collaborativeAreasInfo: CollaborativeArea[] = [];\n public nameUsersByCollaborativeAreas: CollaborativeArea[] = [];\n public selectedCollaborativeArea: CollaborativeArea = new CollaborativeArea();\n public collaborativeAreaTypes: CollaborativeAreaType[] = [];\n public usersAndRolesArea: CollaborativeAreaMember[] = [];\n public collaborativeAreaMember: CollaborativeAreaMember = new CollaborativeAreaMember();\n public myId: number = 0;\n public areaEditMode: boolean = false;\n\n @Mutation\n public newCollaborativeArea() {\n this.selectedCollaborativeArea = new CollaborativeArea();\n this.selectedCollaborativeArea.users = [];\n }\n\n @Action\n public async saveCollaborativeArea(collaborativeArea: CollaborativeArea) {\n let res = null;\n if (collaborativeArea.id == null) {\n collaborativeArea.id = 0;\n collaborativeArea.active = true;\n res = await itiHttpService.post(API.collaborativeArea + \"/Create_CollaborativeArea\", collaborativeArea.toJson());\n } else {\n const collaborativeAreaDB: CollaborativeArea = new CollaborativeArea(collaborativeArea);\n res = await itiHttpService.put(API.collaborativeArea + \"/Put\", collaborativeAreaDB.toJson());\n }\n this.context.commit('setCollaborativeAreaById', res);\n }\n\n @Action\n public async asociateUserToCollaborativeArea() {\n await itiHttpService.post(API.collaborativeArea + \"/AsociateUserToCollaborativeArea?userId=\" + this.collaborativeAreaMember.userId + \"&collaborativeAreaId=\" + this.collaborativeAreaMember.ambitId + \"&roleId=\" + this.collaborativeAreaMember.roleId, \"\");\n }\n\n @Action\n public async disassociateUserToCollaborativeArea() {\n await itiHttpService.post(API.collaborativeArea + \"/DisassociateUserToCollaborativeArea?userId=\" + this.collaborativeAreaMember.userId + \"&collaborativeAreaId=\" + this.collaborativeAreaMember.ambitId, \"\");\n }\n\n @Action\n public async changeStateCollaborativeArea(state: boolean) {\n this.selectedCollaborativeArea.active = state;\n await itiHttpService.post(API.collaborativeArea + \"/ChangeStateCollaborativeArea\", this.selectedCollaborativeArea);\n }\n\n @Mutation\n public setMyId(myId: number) {\n this.myId = myId;\n }\n\n @Action\n public async fetchId() {\n await itiHttpService.get(API.chat + '/id', null, false)\n .catch((error) => { itiMessageService.toast(error, itiMessageService.TypeError); })\n .then((value) => this.context.commit('setMyId', Number.parseInt(value)));\n }\n\n @Mutation\n public setCollaborativeAreaById(collaborativeArea: CollaborativeArea) {\n this.selectedCollaborativeArea = collaborativeArea;\n }\n\n @Action\n public async getCollaborativeAreaById(ambitId: number) {\n const res = await itiHttpService.get(API.collaborativeArea + '/(' + ambitId + ')');\n this.context.commit('setCollaborativeAreaById', res);\n }\n\n @Mutation\n public setCollaborativeAreasInfo(collaborativeAreasInfo: CollaborativeArea[]) {\n this.collaborativeAreasInfo = collaborativeAreasInfo;\n }\n\n @Action\n public async getCollaborativeAreasInfo() {\n const res = await itiHttpService.get(API.collaborativeArea + '/GetCollaborativeAreasInfo');\n this.context.commit('setCollaborativeAreasInfo', res);\n }\n\n @Action\n public async getActiveCollaborativeAreasInfoByType(type: number) {\n const res = await itiHttpService.get(API.collaborativeArea + '/GetActiveCollaborativeAreasInfoByType?typeId=' + type);\n this.context.commit('setCollaborativeAreasInfo', res);\n }\n\n @Action\n public async getInactiveCollaborativeAreasInfoByType(type: number) {\n const res = await itiHttpService.get(API.collaborativeArea + '/GetInactiveCollaborativeAreasInfoByType?typeId=' + type);\n this.context.commit('setCollaborativeAreasInfo', res);\n }\n\n @Mutation\n public setNameUsersByCollaborativesAreas(nameUsersByCollaborativeAreas: CollaborativeArea[]) {\n this.nameUsersByCollaborativeAreas = nameUsersByCollaborativeAreas;\n }\n\n @Action\n public async getNameUsersByCollaborativesAreas() {\n const res = await itiHttpService.get(API.collaborativeArea + '/GetNameUsersByCollaborativeAreas');\n this.context.commit('setNameUsersByCollaborativesAreas', res);\n }\n\n @Mutation\n public setCollaborativeAreaTypes() {\n this.collaborativeAreaTypes = [];\n this.collaborativeAreaTypes[0] = new CollaborativeAreaType(0, \"PublicArea\");\n this.collaborativeAreaTypes[1] = new CollaborativeAreaType(1, \"WorkGroups\");\n //this.collaborativeAreaTypes[2] = new CollaborativeAreaType(2, \"PrivateArea\"); \n }\n\n @Mutation\n public setUsersAndRolesByAmbitId(usersAndRoles: CollaborativeAreaMember[]) {\n this.usersAndRolesArea = usersAndRoles;\n }\n\n @Action\n public async getUsersAndRolesByAmbitId(ambitId: number) {\n const res = await itiHttpService.get(API.collaborativeArea + '/GetUsersAndRolesByAmbitId?ambitId=' + ambitId);\n this.context.commit('setUsersAndRolesByAmbitId', res);\n }\n\n // @Action\n // public async getUsersAndRolesByAmbitIdExceptPublicArea(ambitId: number) { \n // const res = await itiHttpService.get(API.collaborativeArea + '/GetUsersAndRolesByAmbitIdExceptPublicArea?ambitId=' + ambitId);\n // this.context.commit('setUsersAndRolesByAmbitId', res);\n // }\n\n @Mutation\n public setAreaEditMode(editar: boolean) {\n this.areaEditMode = editar;\n }\n\n @Mutation\n public setNewCollaborativeAreaMember() {\n this.collaborativeAreaMember = new CollaborativeAreaMember();\n }\n\n}\nexport default getModule(CollaborativeAreaModule);\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseInt = global.parseInt;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar hex = /^[+-]?0x/i;\nvar exec = uncurryThis(hex.exec);\nvar FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); }));\n\n// `parseInt` method\n// https://tc39.es/ecma262/#sec-parseint-string-radix\nmodule.exports = FORCED ? function parseInt(string, radix) {\n var S = trim(toString(string));\n return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10));\n} : $parseInt;\n"],"sourceRoot":""}