fix: added communication status in statuses store

This commit is contained in:
Shariq Ansari 2023-12-13 15:32:55 +05:30
parent 70584ac35f
commit 86984abd2b

View File

@ -6,6 +6,7 @@ import IndicatorIcon from '@/components/Icons/IndicatorIcon.vue'
export const statusesStore = defineStore('crm-statuses', () => {
let leadStatusesByName = reactive({})
let dealStatusesByName = reactive({})
let communicationStatusesByName = reactive({})
const leadStatuses = createListResource({
doctype: 'CRM Lead Status',
@ -41,6 +42,20 @@ export const statusesStore = defineStore('crm-statuses', () => {
},
})
const communicationStatuses = createListResource({
doctype: 'CRM Communication Status',
fields: ['name'],
cache: 'communication-statuses',
initialData: [],
auto: true,
transform(statuses) {
for (let status of statuses) {
communicationStatusesByName[status.name] = status
}
return statuses
},
})
function colorClasses(color, onlyIcon = false) {
let textColor = `!text-${color}-600`
if (color == 'black') {
@ -62,6 +77,10 @@ export const statusesStore = defineStore('crm-statuses', () => {
return dealStatusesByName[name]
}
function getCommunicationStatus(name) {
return communicationStatuses[name]
}
function statusOptions(doctype, action) {
let statusesByName =
doctype == 'deal' ? dealStatusesByName : leadStatusesByName
@ -84,8 +103,10 @@ export const statusesStore = defineStore('crm-statuses', () => {
return {
leadStatuses,
dealStatuses,
communicationStatuses,
getLeadStatus,
getDealStatus,
getCommunicationStatus,
statusOptions,
}
})