{"version":3,"sources":["webpack:///./src/developing/components/communication/data/data-local.js","webpack:///./src/developing/components/communication/data/data-dev.js","webpack:///./src/developing/components/communication/data/index.js","webpack:///./src/developing/components/communication/subcomponents/MessageListItem.vue?6c16","webpack:///src/developing/components/communication/subcomponents/MessageListItem.vue","webpack:///./src/developing/components/communication/subcomponents/MessageListItem.vue?0062","webpack:///./src/developing/components/communication/subcomponents/MessageListItem.vue?aa48","webpack:///./src/developing/components/communication/subcomponents/MessageListItem.vue?4669","webpack:///./src/developing/components/communication/subcomponents/PM/MessageList.vue?bfd1","webpack:///src/developing/components/communication/subcomponents/PM/MessageList.vue","webpack:///./src/developing/components/communication/subcomponents/PM/MessageList.vue?4406","webpack:///./src/developing/components/communication/subcomponents/PM/MessageList.vue"],"names":["Vue","observable","clickNotClose","isLeftSidebarActive","isMessageContentActive","newChatUnread","newPM","newWebboardReply","selectedPanel","panels","currentMessage","currentTopic","currentViewingMessages","currentViewingMessageCursor","currentViewingMessageType","messagePool","pm","webboard","chat","activeListType","unread","getNewUnreadMessage","state","Datastore","store","local","dev","constructTopicsFromList","channel","list_type","Message","getList","storedList","list","topics","data","Array","isArray","diff","i","length","item","load","id","topic","splice","push","map","dispatch","status","success","save","constructMessagesFromList","list_id","messages","topicItem","messageIndex","messageItem","message","loadTopicList","type","getPMTopicList","getChatTopicList","getWebboardTopicList","getState","pool","has","idb","get","set","response","render","_vm","this","_h","$createElement","_c","_self","on","$event","selectMessage","$slots","attrs","_t","staticClass","class","senderUUID","_v","_s","$t","staticStyle","_e","fromUser","sender_name","replace","sender_code","_l","label","index","key","labelColor","_f","time","stopPropagation","model","value","callback","$$v","isSelectedMessage","expression","isStarred","toggleIsStarred","content","subjectCode","subjectName","staticRenderFns","props","Object","default","localData","watch","computed","methods","existMessageIndex","unshift","pop","component","String","style","transitionDelay","messageTopicAdapter","components","MessageListItem","MessageHeader","loading","topicList","$forceUpdate","_topic","subject","photo","readDate","sendDate","messageAdapter"],"mappings":"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","file":"js/chunk-2908ea5a.dde5e8fa.js","sourcesContent":["import Vue from \"vue\";\nimport { getNewUnreadMessage } from \"./index\";\n\nexport default Vue.observable({\n clickNotClose: true,\n isLeftSidebarActive: true,\n isMessageContentActive: false,\n newChatUnread: [],\n newPM: [],\n newWebboardReply: [],\n selectedPanel: 0,\n panels: ['pm', 'chat', 'webboard'],\n currentMessage: null,\n currentTopic: null,\n currentViewingMessages: [],\n currentViewingMessageCursor: 0,\n currentViewingMessageType: \"pm\",\n messagePool: {\n pm: [],\n webboard: [],\n chat: []\n },\n activeListType: \"recent\",\n unread: {\n pm: getNewUnreadMessage(\"pm\"),\n chat: getNewUnreadMessage(\"chat\"),\n webboard: getNewUnreadMessage(\"webboard\"),\n }\n });\n","import Vue from \"vue\";\n\nexport default Vue.observable({\n \n});\n","import Datastore from \"@/developing/datastore\";\nimport store from '@/store'; // Vuex store for import the module's states.\nimport local from \"./data-local\";\nimport dev from \"./data-dev\";\n\n//\nexport const state = { Datastore, store: store.state, local, dev }\n\n//\nexport const createList = async function (channel, list_type, topics) {\n // Get ID of Topics to Generate A List\n // with condition of list (All, Recent, )\n // console.log(channel, list_type, topics);\n if (!channel || !list_type || !topics) { return }\n\n}\n\n//\nexport const constructTopicsFromList = async function (channel, list_type) {\n // console.log(\"constructTopicFromList\");\n\n // const limit = 10;\n // const cursor = 0;\n\n let storedList = await Datastore.Message.getList(channel, list_type);\n let list = null;\n let topics = [];\n\n // console.log(\"storedList\", storedList);\n\n if (typeof storedList === \"undefined\") {\n // console.log(\"Request server to generate and send back a new list\");\n // list = createNewList(channel, type);\n } else {\n list = storedList.data;\n }\n\n // console.log(\"Check constructTopicsFromList\", list);\n\n if (Array.isArray(list)) {\n let diff = [...list];\n for (let i = list.length - 1; i >= 0; i -= 1) {\n const item = list[i];\n const topic = await Datastore.Message.load(\"topic\", channel, item.id);\n if (topic) {\n diff.splice(i, 1);\n topics.push(topic);\n }\n }\n\n // console.log(\"diff\", diff);\n\n if (diff.length > 0) {\n diff = diff.map(({ id }) => ({ id }));\n const { status, data } = await store.dispatch(\"Communication/getMessageTopicsByIds\", { channel, list: diff });\n // console.log(\"Check\", status, data);\n\n if (status.success && data[channel]) {\n topics = [...topics, ...data[channel]];\n topics.map(topic => Datastore.Message.save(\"topic\", channel, topic.id, topic));\n }\n }\n }\n\n return topics\n}\n\n// Construct Messages to Show on UI\nexport const constructMessagesFromList = function (channel, list_id) {\n if (!channel || !list_id) {\n return // Return error\n }\n\n const topics = [];\n const messages = [];\n\n const list = Datastore.Message.load(`list/${channel}`, list_id);\n // console.log(\"List in constructMessageFromList\", list, channel, list_id);\n\n if (list && Array.isArray(list.list)) {\n\n // console.log(\"Load topics and messages to create a new list\")\n for (let topicItem of list.list) {\n const topic = Datastore.Message.load(\"topic/pm\", topicItem.id);\n\n\n if (topic) {\n topics.push(topic);\n\n if (topic.messageIndex.length > 0) {\n\n for (let messageItem of topic.messageIndex) {\n const message = Datastore.Message.load(\"message/pm\", messageItem.id);\n messages.push(message);\n }\n }\n }\n }\n }\n\n return { topics, messages };\n}\n\n//\nexport async function loadTopicList(channel = \"all\", type = \"recent\") {\n\n const data = { list: {} };\n\n switch (channel) {\n case \"pm\":\n data.list.pm = await getPMTopicList(type);\n break;\n case \"chat\":\n data.list.pm = await getChatTopicList(type);\n break;\n case \"webboard\":\n data.list.pm = await getWebboardTopicList(type);\n break;\n default:\n data.list.pm = await getPMTopicList(type);\n data.list.chat = await getChatTopicList(type);\n data.list.webboard = await getWebboardTopicList(type);\n break;\n }\n\n return data;\n /*\n // Create Message\n storeMessagesToCache({ channel: \"pm\", messageKey: \"privateMessageReplies\", data: pm });\n storeMessagesToCache({ channel: \"chat\", messageKey: \"chatMessage\", data: chat });\n storeMessagesToCache({ channel: \"webboard\", messageKey: \"webBoardReplies\", data: webboard });\n\n */\n}\n\n//\nexport function getNewUnreadMessage(channel) {\n return Datastore.Message.getState(channel, \"unread\") || 0;\n // if (channel && this.$data.$local.messagePool[channel]) {\n // const unreadMessages = this.$data.$local.messagePool[channel].filter(message => message.unread === true);\n // return unreadMessages.length;\n // }\n}\n\n\n//////////////////////////\n//* Private Functions */\n//////////////////////////\n\n//\nasync function getPMTopicList(type) {\n // console.log(\"getPMTopicList\", type);\n\n const pool = Datastore.Message.list.has(`pm/${type}`);\n // console.log(\"PM Pool\", pool);\n if (pool) {\n // Send cache key to check/get update, if exists\n } else {\n // const idb_pm_recent_list = null;\n const idb = await Datastore.Message.idb.list.get(`pm/${type}`);\n // console.log(\"PM IDB\", idb);\n\n if (idb) {\n Datastore.Message.list.set(`pm/recent`, idb);\n return idb;\n } else {\n const response = await store.dispatch(\"Communication/getRecentMessageList\", { channel: \"pm\", type });\n // console.log(\"Check\", response);\n\n const { status, data } = response;\n if (!status) {\n // console.log(\"Error on Communication/getRecentMessageList\");\n return\n }\n\n if (status.success && data) {\n const { pm } = data;\n if (pm) {\n await Datastore.Message.save(\"list\", \"pm\", type, pm);\n return pm;\n }\n }\n }\n }\n}\n\n//\nasync function getChatTopicList(type) {\n // console.log(\"getChatTopicList\", type);\n\n const pool = Datastore.Message.list.has(`chat/${type}`);\n // console.log(\"Chat Pool\", pool);\n if (pool) {\n // Send cache key to check/get update, if exists\n } else {\n // const idb_pm_recent_list = null;\n const idb = await Datastore.Message.idb.list.get(`chat/${type}`);\n // console.log(\"Chat IDB\", idb);\n\n if (idb) {\n Datastore.Message.list.set(`chat/recent`, idb);\n return idb;\n } else {\n const response = await store.dispatch(\"Communication/getRecentMessageList\", { channel: \"chat\", type });\n const { status, data } = response;\n if (status.success && data) {\n const { chat } = data;\n if (chat) {\n await Datastore.Message.save(\"list\", \"chat\", type, chat);\n return chat;\n }\n }\n }\n }\n}\n\n//\nasync function getWebboardTopicList(type) {\n // console.log(\"getWebboardTopicList\", type);\n\n const pool = Datastore.Message.list.has(`webboard/${type}`);\n // console.log(\"Webboard Pool\", pool);\n if (pool) {\n // Send cache key to check/get update, if exists\n } else {\n // const idb_webboard_recent_list = null;\n const idb = await Datastore.Message.idb.list.get(`webboard/${type}`);\n // console.log(\"Webboard IDB\", idb);\n\n if (idb) {\n Datastore.Message.list.set(`webboard/recent`, idb);\n return idb;\n } else {\n const response = await store.dispatch(\"Communication/getRecentMessageList\", { channel: \"webboard\", type });\n const { status, data } = response;\n if (status.success && data) {\n const { webboard } = data;\n if (webboard) {\n await Datastore.Message.save(\"list\", \"webboard\", type, webboard);\n return webboard;\n }\n }\n }\n }\n}\n\n/*\nfunction storeMessagesToCache({ channel, messageKey, data } ) {\n // const list = [];\n\n // Message.saveList(channel, data);\n\n // for (let topic of data) {\n // topic.messageIndex = [];\n\n // // // Save all message to flatmap\n // if (topic[messageKey]) {\n // for (let message of topic[messageKey]) {\n // Message.save(`message/${channel}`, message.id, message);\n // // console.log(message);\n // topic.messageIndex.push({ id: message.id, timestamp: new Date(message[\"sendDate\"]).getTime(), read: message.readDate ? true : false });\n // }\n // // delete topic[messageKey];\n // }\n\n // // console.log(topic);\n // list.push({ id: topic.id, timestamp: new Date(topic[\"sendDate\"]).getTime(), read: topic.readDate ? true : false });\n // Message.save(`topic/${channel}`, topic.id, topic);\n\n // }\n\n // Message.save(`list/${channel}`, \"all\", { list });\n}\n*/\n\n//\n/* function createNewList (channel, type) {\n const listOfAll = Message.getList(channel, \"all\");\n let list = null;\n if ((listOfAll) && listOfAll.list) {\n if (listOfAll.list.length > 1) {\n list = [ ...listOfAll.list ];\n if (type === \"recent\") {\n list = listOfAll.list.sort((a, b) => b.timestamp - a.timestamp);\n } else if (type === \"unread\") {\n list = listOfAll.list.filter(x => !x[\"read\"]).sort((a, b) => b.timestamp - a.timestamp);\n }\n\n Message.save(`list/${channel}`, type, { list });\n }\n }\n return list\n}\n*/\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.message)?_c('div',{on:{\"click\":function($event){return _vm.selectMessage(_vm.message)}}},[(_vm.$slots.default)?_c('div',{attrs:{\"message\":_vm.message}},[_vm._t(\"default\")],2):_c('div',{staticClass:\"mail__mail-item sm:px-4 px-2 py-6\",class:{'mail__opened-mail': !_vm.message.unread}},[_c('div',{staticClass:\"flex w-full\"},[_c('vs-avatar',{staticClass:\"sender__avatar flex-shrink-0 mr-3 border-2 border-solid border-white\",attrs:{\"src\":'http://files.xtrathai.com/' + _vm.message.senderUUID,\"size\":\"40px\"}}),_c('div',{staticClass:\"flex w-full justify-between items-start\"},[_c('div',{staticClass:\"mail__details\"},[_c('div',{staticClass:\"mb-1 flex flex-inline justify-between\"},[(_vm.message.topic)?_c('h5',[_vm._v(\" \"+_vm._s(_vm.message.topic))]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('no-subject'))+\" \")]),(_vm.message.unread)?_c('vs-chip',{staticClass:\"ml-2 my-auto\",staticStyle:{\"min-height\":\"20px\"},attrs:{\"transparent\":\"\",\"color\":\"warning\"}},[_c('span',[_vm._v(\"UNREAD\")])]):_vm._e(),(!_vm.message.fromUser)?_c('vs-chip',{staticClass:\"ml-2 my-auto\",staticStyle:{\"min-height\":\"20px\"},attrs:{\"transparent\":\"\",\"color\":\"danger\"}},[_c('span',[_vm._v(\"READ ONLY\")])]):_vm._e()],1),_c('span',{staticClass:\"mt-2 font-bold\"},[_vm._v(_vm._s(_vm.message.sender_name))]),_c('span',{staticClass:\"mt-2 font-semibold\",class:{ '_auto_parentheses' : _vm.message.sender_name.replace(/\\s/g, '') }},[_vm._v(_vm._s(_vm.$t('general.code'))+\" \"+_vm._s(_vm.message.sender_code))])]),_c('div',{staticClass:\"mail-item__meta flex items-center\"},[_c('div',{staticClass:\"email__labels hidden sm:flex items-center\"},_vm._l((_vm.message.labels),function(label,index){return _c('div',{key:index,staticClass:\"h-2 w-2 rounded-full mr-2\",class:'bg-' + _vm.labelColor(label)})}),0),_c('span',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.message.time)))])])])],1),_c('div',{staticClass:\"flex w-full\"},[_c('div',{staticClass:\"flex items-center ml-1\"},[_c('vs-checkbox',{staticClass:\"vs-checkbox-small ml-0 mr-1\",on:{\"click\":function($event){$event.stopPropagation();}},model:{value:(_vm.isSelectedMessage),callback:function ($$v) {_vm.isSelectedMessage=$$v},expression:\"isSelectedMessage\"}}),_c('feather-icon',{staticClass:\"cursor-pointer\",attrs:{\"icon\":\"StarIcon\",\"svgClasses\":[{'text-warning fill-current stroke-current': _vm.message.isStarred}, 'w-5', 'h-5']},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleIsStarred($event)}}})],1),_c('div',{staticClass:\"mail__message truncate ml-3\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"filter_tags\")(_vm.message.content)))])]),_c('div',{staticClass:\"mb-1 flex flex-inline justify-between\"},[(_vm.message.subject)?_c('vs-chip',{staticClass:\"ml-2 my-auto\",staticStyle:{\"min-height\":\"20px\"},attrs:{\"transparent\":\"\",\"color\":\"success\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.message.subjectCode)+\" \"+_vm._s(_vm.message.subjectName)+\" \")])]):_vm._e()],1)])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageListItem.vue?vue&type=template&id=68e7c8d8&\"\nimport script from \"./MessageListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageListItem.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListItem.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{key:'private-message-list'},[(_vm.loading)?_c('div',[_vm._v(\"Loading\")]):(_vm.topics.length > 0)?_vm._l((_vm.topics),function(topic,index){return _c('li',{key:String(topic.id),staticClass:\"cursor-pointer email__mail-item\",style:({transitionDelay: (index * 0.1) + 's'})},[_c('MessageListItem',{attrs:{\"index\":index,\"message\":_vm.messageTopicAdapter(topic),\"isSelected\":false}},[_c('MessageHeader',{attrs:{\"message\":_vm.messageTopicAdapter(topic)}})],1)],1)}):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"no-pm\"))+\" \")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageList.vue?vue&type=template&id=3d4cb5cb&\"\nimport script from \"./MessageList.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}