From 9312384cb7ac343e122f570a2db66f568b4423b1 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Sun, 2 Jun 2024 00:03:32 +0530 Subject: [PATCH] fix: load correct view --- frontend/src/components/ViewControls.vue | 10 +++++----- frontend/src/stores/views.js | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/frontend/src/components/ViewControls.vue b/frontend/src/components/ViewControls.vue index 6aeb75e1..0c2e2dc8 100644 --- a/frontend/src/components/ViewControls.vue +++ b/frontend/src/components/ViewControls.vue @@ -360,7 +360,7 @@ function getViewType() { } const currentView = computed(() => { - let _view = getView(route.query.view, currentViewType.value) + let _view = getView(route.query.view, currentViewType.value, props.doctype) return { label: _view?.label || props.options?.defaultViewName || getViewType().label, @@ -467,7 +467,7 @@ list.value = createResource({ } }, onSuccess(data) { - let cv = getView(route.query.view, currentViewType.value) + let cv = getView(route.query.view, currentViewType.value, props.doctype) let params = list.value.params ? list.value.params : getParams() defaultParams.value = { doctype: props.doctype, @@ -831,7 +831,7 @@ const viewModalObj = ref({}) function duplicateView() { let label = - __(getView(route.query.view, currentViewType.type)?.label) || + __(getView(route.query.view, currentViewType.type, props.doctype)?.label) || getViewType().label view.value.name = '' view.value.label = label + __(' (New)') @@ -840,7 +840,7 @@ function duplicateView() { } function editView() { - let cView = getView(route.query.view, currentViewType.type) + let cView = getView(route.query.view, currentViewType.type, props.doctype) view.value.name = route.query.view view.value.label = __(cView?.label) || getViewType().label view.value.icon = cView?.icon || '' @@ -955,7 +955,7 @@ defineExpose({ applyFilter, applyLikeFilter, likeDoc }) // Watchers watch( - () => getView(route.query.view, currentViewType.value), + () => getView(route.query.view, route.params.viewType, props.doctype), (value, old_value) => { if (JSON.stringify(value) === JSON.stringify(old_value)) return reload() diff --git a/frontend/src/stores/views.js b/frontend/src/stores/views.js index 435bce9a..8dfaeba9 100644 --- a/frontend/src/stores/views.js +++ b/frontend/src/stores/views.js @@ -35,7 +35,8 @@ export const viewsStore = defineStore('crm-views', (doctype) => { }) function getView(view, type, doctype = null) { - if (!view && doctype && type) { + type = type || 'list' + if (!view && doctype) { return defaultView.value[doctype + ' ' + type] || null } return viewsByName[view]