{"version":3,"file":"js/discussion-forum-store-getter-d37f926a729c41ca2845.chunk.js","mappings":"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","sources":["webpack://agra/./app/javascript/discussion-forum/store/shared/mutations.js","webpack://agra/./app/javascript/discussion-forum/store/shared/actions.js","webpack://agra/./app/javascript/discussion-forum/store/forum/actions.js","webpack://agra/./app/javascript/discussion-forum/store/forum/mutations.js","webpack://agra/./app/javascript/discussion-forum/store/forum/state.js","webpack://agra/./app/javascript/discussion-forum/store/forum/getters.js","webpack://agra/./app/javascript/discussion-forum/store/forum/index.js","webpack://agra/./app/javascript/discussion-forum/api/forums.js"],"sourcesContent":["export default {\n setCanDelete(state, canDelete) {\n state.canDelete = canDelete\n },\n setCanFlag(state, canFlag) {\n state.canFlag = canFlag\n },\n setCanPost(state, canPost) {\n state.canPost = canPost\n },\n updateThread(state, updatedThread) {\n const threadItemIndex = state.threads.findIndex(t => t.id === updatedThread.id)\n state.threads[threadItemIndex] = updatedThread\n },\n setMessage(state, {threadId, message}) {\n const { id: messageId } = message\n const thread = state.threads.find(t => t.id === threadId)\n\n if (thread) {\n if (thread.originalMessage.id === messageId) {\n thread.originalMessage = message\n } else {\n let messageIndex = thread.replies.findIndex(r => r.id === messageId)\n\n if (messageIndex < 0 ) {\n thread.replies = thread.replies.concat([message])\n }\n else {\n thread.replies.splice(messageIndex, 1, message)\n }\n }\n }\n },\n setThreadOriginalMessageFlagged(state, {threadId}) {\n const thread = state.threads.find(t => t.id === threadId)\n thread.originalMessage.isFlaggedByUser = true\n },\n setThreadReplyFlagged(state, {threadId, messageId}) {\n const thread = state.threads.find(t => t.id === threadId)\n if (thread) {\n const reply = thread.replies.find(r => r.id === messageId)\n reply.isFlaggedByUser = true\n }\n },\n setCurrentUser(state, currentUser) {\n state.currentUser = currentUser\n }\n}\n","import ForumsService from '../../api/forums'\n\nexport default {\n deleteOriginalMessage: async function({ commit}, {threadId, messageId}) {\n const updatedThread = await deleteMessage({threadId, messageId})\n commit('updateThread', updatedThread)\n },\n restoreOriginalMessage: async function({ commit}, {threadId, messageId}) {\n const updatedThread = await restoreMessage( {threadId, messageId})\n commit('updateThread', updatedThread)\n },\n flagOriginalMessage: async function({commit}, {threadId, messageId, reason}) {\n await flagMessage({threadId, messageId, reason})\n commit('setThreadOriginalMessageFlagged', {threadId})\n },\n createReply: async function({commit}, {threadId, content}) {\n const response = await ForumsService.createReply(threadId, content)\n commit('setMessage', {threadId, message: response})\n return response\n },\n deleteReply: async function({commit}, {threadId, messageId}) {\n const updatedReply = await deleteMessage({threadId, messageId})\n commit('setMessage', {threadId, messageId, message: updatedReply})\n },\n restoreReply: async function({commit}, {threadId, messageId}) {\n const updatedReply = await restoreMessage({threadId, messageId})\n commit('setMessage', {threadId, messageId, message: updatedReply})\n },\n flagReply: async function({commit}, {threadId, messageId, reason}) {\n await flagMessage({threadId, messageId, reason})\n commit('setThreadReplyFlagged', {threadId, messageId})\n },\n updateThread: function({commit}, {threadId, title, content}) {\n return ForumsService.updateThread(threadId, title, content).then(({ data }) => {\n commit('updateThread', data)\n })\n },\n updateMessage: function({commit}, {threadId, messageId, content}) {\n return ForumsService.updateMessage(threadId, messageId, content).then(({ data }) => {\n commit('setMessage', {threadId, messageId, message: data})\n })\n }\n}\n\nfunction deleteMessage({threadId, messageId}) {\n return ForumsService.deleteMessage(threadId, messageId)\n}\n\nfunction restoreMessage({threadId, messageId}) {\n return ForumsService.restoreMessage(threadId, messageId)\n}\n\nfunction flagMessage({threadId, messageId, reason}) {\n return ForumsService.flagMessage(threadId, messageId, reason)\n}\n\n","import ForumsService from '../../api/forums'\nimport sharedActions from '../shared/actions'\n\nexport default {\n ...sharedActions,\n getThreads: async function({commit}, {url}) {\n const response = await ForumsService.getThreads({url, page: 1})\n commit('setThreads', response.data)\n commit('setPagination', {currentPage: response.meta.page, totalPages: response.meta.totalPages})\n },\n getMoreThreads: async function({state, commit}, url) {\n const response = await ForumsService.getThreads({url, page: state.pagination.currentPage + 1})\n commit('setMoreThreads', response.data)\n commit('setPagination', {currentPage: response.meta.page, totalPages: response.meta.totalPages})\n },\n createThread: async function({commit}, {url, title, messageAttributes}) {\n const response = await ForumsService.createThread(url, {title, messageAttributes})\n commit('setCreatedThread', response)\n }\n}\n","import sharedMutations from '../shared/mutations'\nimport Cookies from 'js-cookie'\n\nconst COOKIE_NAME_VIEW_TYPE = 'preferredForumViewType'\nconst VIEW_TYPE_ARCHIVE = 'archive'\n\nexport default {\n ...sharedMutations,\n setCreatedThread(state, thread) {\n state.threads = [thread].concat(state.threads)\n },\n setMoreThreads(state, threads) {\n state.threads = state.threads.concat(threads)\n },\n setPagination(state, {currentPage, totalPages}) {\n state.pagination.currentPage = currentPage\n state.pagination.totalPages = totalPages\n },\n setThreads(state, threads) {\n state.threads = threads\n },\n setViewType(state, viewType = (Cookies.get(COOKIE_NAME_VIEW_TYPE) || VIEW_TYPE_ARCHIVE)) {\n Cookies.set(COOKIE_NAME_VIEW_TYPE, viewType)\n state.viewType = viewType\n }\n}\n","const VIEW_TYPE_FEED = 'feed'\n\nexport default {\n canDelete: false,\n canFlag: false,\n canPost: false,\n currentUser: null,\n pagination: {\n currentPage: 1,\n totalPages: null\n },\n threads: [],\n viewType: VIEW_TYPE_FEED\n}\n","export default {\n threadsForDisplay: (state) => {\n return state.threads.filter((t) => {\n // Filter out deleted threads with no replies, unless user can restore the thread\n return !t.isDeleted || state.canDelete || t.replies.length > 0\n })\n },\n\n threadsAvailableForLoading: (state) => {\n return state.pagination.currentPage < state.pagination.totalPages\n }\n}\n","import { createStore } from 'vuex'\n\nimport actions from './actions'\nimport mutations from './mutations'\nimport state from './state'\nimport getters from './getters'\n\n// This is the store for the full discussion forum component.\nexport default function buildStore() {\n return createStore({\n state,\n getters,\n actions,\n mutations\n })\n}\n","import ajax from '../../helpers/ajax'\n\nfunction messageDetailUrl(threadId, messageId) {\n return `${messageListUrl(threadId)}/${messageId}`\n}\n\nfunction messageFlagsUrl(threadId, messageId) {\n return `${messageDetailUrl(threadId, messageId)}/flags`\n}\n\nfunction messageRestoreUrl(threadId, messageId) {\n return `${messageDetailUrl(threadId, messageId)}/restore`\n}\n\nfunction messageListUrl(threadId) {\n return `/forum_threads/${threadId}/messages`\n}\n\nfunction threadDetailUrl(threadId) {\n return `/forum_threads/${threadId}`\n}\n\nconst ForumsService = {\n getThreads({url, page}) {\n return new Promise((resolve, reject) => {\n ajax.get({\n url,\n params: { page },\n successHandler: (response) => {\n resolve(response)\n },\n errorHandler: (err) => {\n reject(err)\n }\n })\n })\n },\n getThread({url}) {\n return new Promise((resolve, reject) => {\n ajax.get({\n url,\n successHandler: (response) => {\n resolve(response)\n },\n errorHandler: (err) => {\n reject(err)\n }\n })\n })\n },\n createThread(url, {title, messageAttributes}) {\n return new Promise((resolve, reject) => {\n ajax.post({\n url: url,\n data: {\n thread: {\n title,\n messages_attributes: [messageAttributes]\n }\n },\n successHandler: (response) => {\n resolve(response)\n },\n errorHandler: (err) => {\n reject(err)\n }\n })\n })\n },\n createReply(threadId, content) {\n return new Promise((resolve, reject) => {\n ajax.post({\n url: messageListUrl(threadId),\n data: {\n forum_message: { content }\n },\n successHandler: (response) => {\n resolve(response)\n },\n errorHandler: (err) => {\n reject(err)\n }\n })\n })\n },\n deleteMessage(threadId, messageId) {\n return new Promise((resolve, reject) => {\n ajax.delete({\n url: messageDetailUrl(threadId, messageId),\n successHandler: (response) => {\n resolve(response)\n },\n errorHandler: (err) => {\n reject(err)\n }\n })\n })\n },\n restoreMessage(threadId, messageId) {\n return new Promise((resolve, reject) => {\n ajax.put({\n url: messageRestoreUrl(threadId, messageId),\n data: {\n forum_message: { is_deleted: false }\n },\n successHandler: (response) => {\n resolve(response)\n },\n errorHandler: (err) => {\n reject(err)\n }\n })\n })\n },\n flagMessage(threadId, messageId, reason) {\n return new Promise((resolve, reject) => {\n ajax.post({\n url: messageFlagsUrl(threadId, messageId),\n data: {\n flag: { reason }\n },\n successHandler: (response) => {\n resolve(response)\n },\n errorHandler: (err) => {\n reject(err)\n }\n })\n })\n },\n updateMessage(threadId, messageId, newContent) {\n return new Promise((resolve, reject) => {\n ajax.put({\n url: messageDetailUrl(threadId, messageId),\n data: {\n forum_message: { content: newContent }\n },\n successHandler: (response) => {\n resolve(response)\n },\n errorHandler: (err) => {\n reject(err)\n }\n })\n })\n },\n updateThread(threadId, newTitle, newContent) {\n return new Promise((resolve, reject) => {\n ajax.put({\n url: threadDetailUrl(threadId),\n data: {\n thread: { title: newTitle },\n forum_message: { content: newContent }\n },\n successHandler: (response) => {\n resolve(response)\n },\n errorHandler: (err) => {\n reject(err)\n }\n })\n })\n }\n}\n\nexport default ForumsService\n"],"names":["setCanDelete","state","canDelete","setCanFlag","canFlag","setCanPost","canPost","updateThread","updatedThread","threadItemIndex","threads","findIndex","t","id","setMessage","threadId","message","messageId","thread","find","originalMessage","messageIndex","replies","r","concat","splice","setThreadOriginalMessageFlagged","isFlaggedByUser","setThreadReplyFlagged","setCurrentUser","currentUser","deleteMessage","ForumsService","restoreMessage","flagMessage","reason","deleteOriginalMessage","async","commit","restoreOriginalMessage","flagOriginalMessage","createReply","content","response","deleteReply","restoreReply","flagReply","title","then","data","updateMessage","sharedActions","getThreads","url","page","currentPage","meta","totalPages","getMoreThreads","pagination","createThread","messageAttributes","COOKIE_NAME_VIEW_TYPE","sharedMutations","setCreatedThread","setMoreThreads","setPagination","setThreads","setViewType","viewType","Cookies","get","set","threadsForDisplay","filter","isDeleted","length","threadsAvailableForLoading","buildStore","createStore","getters","actions","mutations","messageDetailUrl","messageListUrl","messageFlagsUrl","messageRestoreUrl","threadDetailUrl","Promise","resolve","reject","ajax","params","successHandler","errorHandler","err","getThread","post","messages_attributes","forum_message","delete","put","is_deleted","flag","newContent","newTitle"],"sourceRoot":""}