refactor: cache assignees
This commit is contained in:
parent
e62eac91d1
commit
cf8a1ce8a3
@ -5,6 +5,7 @@ import { reactive } from 'vue'
|
|||||||
|
|
||||||
const documentsCache = {}
|
const documentsCache = {}
|
||||||
const controllersCache = {}
|
const controllersCache = {}
|
||||||
|
const assigneesCache = {}
|
||||||
|
|
||||||
export function useDocument(doctype, docname) {
|
export function useDocument(doctype, docname) {
|
||||||
const { setupScript } = getScript(doctype)
|
const { setupScript } = getScript(doctype)
|
||||||
@ -46,16 +47,20 @@ export function useDocument(doctype, docname) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const assignees = createResource({
|
assigneesCache[doctype] = assigneesCache[doctype] || {}
|
||||||
url: 'crm.api.doc.get_assigned_users',
|
|
||||||
cache: `assignees:${doctype}:${docname}`,
|
if (!assigneesCache[doctype][docname || '']) {
|
||||||
auto: docname ? true : false,
|
assigneesCache[doctype][docname || ''] = createResource({
|
||||||
params: {
|
url: 'crm.api.doc.get_assigned_users',
|
||||||
doctype: doctype,
|
cache: `assignees:${doctype}:${docname}`,
|
||||||
name: docname,
|
auto: docname ? true : false,
|
||||||
},
|
params: {
|
||||||
transform: (data) => parseAssignees(data),
|
doctype: doctype,
|
||||||
})
|
name: docname,
|
||||||
|
},
|
||||||
|
transform: (data) => parseAssignees(data),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
async function setupFormScript() {
|
async function setupFormScript() {
|
||||||
if (
|
if (
|
||||||
@ -224,7 +229,7 @@ export function useDocument(doctype, docname) {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
document: documentsCache[doctype][docname || ''],
|
document: documentsCache[doctype][docname || ''],
|
||||||
assignees,
|
assignees: assigneesCache[doctype][docname || ''],
|
||||||
getControllers,
|
getControllers,
|
||||||
triggerOnLoad,
|
triggerOnLoad,
|
||||||
triggerOnBeforeCreate,
|
triggerOnBeforeCreate,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user