{"version":3,"sources":["webpack:///./src/developing/components/communication/dev.vue?02a1","webpack:///src/developing/components/communication/dev.vue","webpack:///./src/developing/components/communication/dev.vue?5e1e","webpack:///./src/developing/components/communication/dev.vue?02a6","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/dev.vue?c6d6"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","_v","development","staticClass","on","$event","devtool","example","_s","localData","selectedPanel","isLeftSidebarActive","isMessageContentActive","_e","_b","tag","active","devData","showAllMessages","messagePool","staticRenderFns","components","Production","Example","data","methods","closeMessageContentView","mounted","pool","findIndex","component","Vue","observable","clickNotClose","newChatUnread","newPM","newWebboardReply","panels","currentMessage","currentTopic","currentViewingMessages","currentViewingMessageCursor","currentViewingMessageType","pm","webboard","chat","activeListType","unread","getNewUnreadMessage","state","Datastore","store","local","dev","constructTopicsFromList","channel","list_type","Message","getList","storedList","list","topics","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","has","idb","get","set","response"],"mappings":"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","file":"js/chunk-427a405f.569fd1dc.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"dev-component\"}},[_vm._v(\" Communication Center: { Subscription ID } \"),(_vm.development.active)?_c('div',{staticClass:\"in-page-devtool\"},[_c('div',{staticClass:\"flex flex-inline justify-between\"},[_c('div',{staticClass:\"flex items-center h-8\",on:{\"click\":function($event){_vm.development.devtool = !_vm.development.devtool}}},[_c('feather-icon',{staticClass:\"text-grey mr-2\",attrs:{\"icon\":\"HexagonIcon\",\"svgClasses\":[{ 'text-success': _vm.development.devtool },'h-6 w-6']}}),_c('h5',[_vm._v(\"Development Mode\")])],1)]),(_vm.development.devtool)?_c('div',[_c('button',{on:{\"click\":function($event){_vm.development.example = !_vm.development.example}}},[_vm._v(\"Example\")]),_vm._v(\" Selected Panel: \"+_vm._s(_vm.localData.selectedPanel)+\" \"),_c('button',{on:{\"click\":function($event){_vm.localData.isLeftSidebarActive = !_vm.localData.isLeftSidebarActive}}},[_vm._v(\"Left Sidebar\")]),_c('button',{on:{\"click\":function($event){_vm.localData.isMessageContentActive = !_vm.localData.isMessageContentActive}}},[_vm._v(\"Content Pane\")])]):_vm._e()]):_vm._e(),_c('production',_vm._b({tag:\"component\",attrs:{\"dev\":_vm.development.active}},'component',{ devData: _vm.devData },false)),(_vm.development.active && _vm.development.example === true)?_c('Example'):_vm._e(),(_vm.development.active && _vm.development.showAllMessages)?_c('div',[_vm._v(\" \"+_vm._s(_vm.localData.messagePool)+\" \")]):_vm._e()],1)}\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!./dev.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!./dev.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./dev.vue?vue&type=template&id=8ebfc278&\"\nimport script from \"./dev.vue?vue&type=script&lang=js&\"\nexport * from \"./dev.vue?vue&type=script&lang=js&\"\nimport style0 from \"./dev.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","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","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!./dev.vue?vue&type=style&index=0&lang=scss&\""],"sourceRoot":""}