refactor: statusOptions code
(cherry picked from commit 881126c7f1145fb2db1143b63c1e0f2f81ebb2ea)
This commit is contained in:
parent
6647a83485
commit
9b315c2e0c
@ -26,9 +26,10 @@
|
||||
:options="
|
||||
statusOptions(
|
||||
'deal',
|
||||
document,
|
||||
deal.data._customStatuses,
|
||||
triggerOnChange,
|
||||
document.statuses?.length
|
||||
? document.statuses
|
||||
: deal.data._customStatuses,
|
||||
triggerStatusChange,
|
||||
)
|
||||
"
|
||||
>
|
||||
@ -755,6 +756,11 @@ const { assignees, document, triggerOnChange } = useDocument(
|
||||
props.dealId,
|
||||
)
|
||||
|
||||
async function triggerStatusChange(value) {
|
||||
await triggerOnChange('status', value)
|
||||
document.save.submit()
|
||||
}
|
||||
|
||||
function reloadAssignees(data) {
|
||||
if (data?.hasOwnProperty('deal_owner')) {
|
||||
assignees.reload()
|
||||
|
||||
@ -26,9 +26,10 @@
|
||||
:options="
|
||||
statusOptions(
|
||||
'lead',
|
||||
document,
|
||||
lead.data._customStatuses,
|
||||
triggerOnChange,
|
||||
document.statuses?.length
|
||||
? document.statuses
|
||||
: lead.data._customStatuses,
|
||||
triggerStatusChange,
|
||||
)
|
||||
"
|
||||
>
|
||||
@ -320,6 +321,11 @@ const { triggerOnChange, assignees, document } = useDocument(
|
||||
props.leadId,
|
||||
)
|
||||
|
||||
async function triggerStatusChange(value) {
|
||||
await triggerOnChange('status', value)
|
||||
document.save.submit()
|
||||
}
|
||||
|
||||
const lead = createResource({
|
||||
url: 'crm.fcrm.doctype.crm_lead.api.get_lead',
|
||||
params: { name: props.leadId },
|
||||
|
||||
@ -14,9 +14,10 @@
|
||||
:options="
|
||||
statusOptions(
|
||||
'deal',
|
||||
document,
|
||||
deal.data._customStatuses,
|
||||
triggerOnChange,
|
||||
document.statuses?.length
|
||||
? document.statuses
|
||||
: deal.data._customStatuses,
|
||||
triggerStatusChange,
|
||||
)
|
||||
"
|
||||
>
|
||||
@ -624,6 +625,11 @@ const { assignees, document, triggerOnChange } = useDocument(
|
||||
props.dealId,
|
||||
)
|
||||
|
||||
async function triggerStatusChange(value) {
|
||||
await triggerOnChange('status', value)
|
||||
document.save.submit()
|
||||
}
|
||||
|
||||
function reloadAssignees(data) {
|
||||
if (data?.hasOwnProperty('deal_owner')) {
|
||||
assignees.reload()
|
||||
|
||||
@ -14,9 +14,10 @@
|
||||
:options="
|
||||
statusOptions(
|
||||
'lead',
|
||||
document,
|
||||
lead.data._customStatuses,
|
||||
triggerOnChange,
|
||||
document.statuses?.length
|
||||
? document.statuses
|
||||
: lead.data._customStatuses,
|
||||
triggerStatusChange,
|
||||
)
|
||||
"
|
||||
>
|
||||
@ -473,6 +474,11 @@ const { assignees, document, triggerOnChange } = useDocument(
|
||||
props.leadId,
|
||||
)
|
||||
|
||||
async function triggerStatusChange(value) {
|
||||
await triggerOnChange('status', value)
|
||||
document.save.submit()
|
||||
}
|
||||
|
||||
function reloadAssignees(data) {
|
||||
if (data?.hasOwnProperty('lead_owner')) {
|
||||
assignees.reload()
|
||||
|
||||
@ -77,19 +77,10 @@ export const statusesStore = defineStore('crm-statuses', () => {
|
||||
return communicationStatuses[name]
|
||||
}
|
||||
|
||||
function statusOptions(
|
||||
doctype,
|
||||
document,
|
||||
statuses = [],
|
||||
triggerOnChange = null,
|
||||
) {
|
||||
function statusOptions(doctype, statuses = [], triggerStatusChange = null) {
|
||||
let statusesByName =
|
||||
doctype == 'deal' ? dealStatusesByName : leadStatusesByName
|
||||
|
||||
if (document?.statuses?.length) {
|
||||
statuses = document.statuses
|
||||
}
|
||||
|
||||
if (statuses?.length) {
|
||||
statusesByName = statuses.reduce((acc, status) => {
|
||||
acc[status] = statusesByName[status]
|
||||
@ -104,11 +95,8 @@ export const statusesStore = defineStore('crm-statuses', () => {
|
||||
value: statusesByName[status]?.name,
|
||||
icon: () => h(IndicatorIcon, { class: statusesByName[status]?.color }),
|
||||
onClick: async () => {
|
||||
await triggerStatusChange?.(statusesByName[status]?.name)
|
||||
capture('status_changed', { doctype, status })
|
||||
if (document) {
|
||||
await triggerOnChange?.('status', statusesByName[status]?.name)
|
||||
document.save.submit()
|
||||
}
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user