109 lines
2.6 KiB
JavaScript
109 lines
2.6 KiB
JavaScript
import {
|
|
requestListEntityChats,
|
|
requestListChatsEntries,
|
|
requestCreateChatEntry
|
|
} from '@/api/ADempiere/window'
|
|
import { isEmptyValue } from '@/utils/ADempiere/valueUtils'
|
|
|
|
const initStateChatEntries = {
|
|
listRecordChats: [],
|
|
listChatEntries: [],
|
|
chatText: '',
|
|
isNote: false
|
|
}
|
|
|
|
export default {
|
|
state: initStateChatEntries,
|
|
mutations: {
|
|
setChatText(state, payload) {
|
|
state.chatText = payload
|
|
},
|
|
addListChatEntries(state, payload) {
|
|
state.listChatEntries = payload
|
|
},
|
|
addListRecordChats(state, payload) {
|
|
state.listRecordChats = payload
|
|
},
|
|
isNote(state, payload) {
|
|
state.isNote = payload
|
|
}
|
|
},
|
|
actions: {
|
|
createChatEntry({ commit, dispatch }, {
|
|
tableName,
|
|
recordId,
|
|
comment
|
|
}) {
|
|
return requestCreateChatEntry({
|
|
tableName,
|
|
recordId,
|
|
comment
|
|
})
|
|
.then(() => {
|
|
commit('isNote', true)
|
|
commit('setChatText', '')
|
|
|
|
dispatch('listChatEntries', {
|
|
tableName,
|
|
recordId
|
|
})
|
|
})
|
|
.catch(error => {
|
|
console.warn(`Error getting ProductInfo error en guardar: ${error.message}. Code: ${error.code}.`)
|
|
})
|
|
},
|
|
listChatEntries({ commit }, {
|
|
tableName,
|
|
recordId,
|
|
recordUuid,
|
|
pageSize,
|
|
pageToken
|
|
}) {
|
|
return requestListEntityChats({
|
|
tableName,
|
|
recordId,
|
|
recordUuid,
|
|
pageSize,
|
|
pageToken
|
|
})
|
|
.then(responseList => {
|
|
const { entityChatsList: chatList } = responseList
|
|
|
|
chatList.forEach(chat => {
|
|
const uuid = chat.chatUuid
|
|
|
|
requestListChatsEntries({
|
|
uuid,
|
|
pageSize
|
|
})
|
|
.then(responseChat => {
|
|
commit('addListChatEntries', responseChat.chatEntriesList)
|
|
})
|
|
.catch(error => {
|
|
console.warn(`Error getting List Chat Entries: ${error.message}. Code: ${error.code}.`)
|
|
})
|
|
})
|
|
commit('isNote', !isEmptyValue(chatList))
|
|
commit('addListRecordChats', responseList)
|
|
})
|
|
.catch(error => {
|
|
console.warn(`Error getting List Chat: ${error.message}. Code: ${error.code}.`)
|
|
})
|
|
}
|
|
},
|
|
getters: {
|
|
getChatTextLong: (state) => {
|
|
return state.chatText
|
|
},
|
|
getListRecordChats: (state) => {
|
|
return state.listRecordChats.entityChatsList
|
|
},
|
|
getChatEntries: (state) => {
|
|
return state.listChatEntries
|
|
},
|
|
getIsNote: (state) => {
|
|
return state.isNote
|
|
}
|
|
}
|
|
}
|