fix: allow group by view only for lead & deal
This commit is contained in:
parent
0fcae3e20e
commit
d53891c0ca
@ -320,6 +320,7 @@ const props = defineProps({
|
|||||||
default: {
|
default: {
|
||||||
hideColumnsButton: false,
|
hideColumnsButton: false,
|
||||||
defaultViewName: '',
|
defaultViewName: '',
|
||||||
|
allowedViews: ['list'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@ -345,14 +346,14 @@ const currentViewType = computed(() => route.params.viewType || 'list')
|
|||||||
|
|
||||||
function getViewType() {
|
function getViewType() {
|
||||||
let types = {
|
let types = {
|
||||||
group_by: {
|
|
||||||
label: __('Group By View'),
|
|
||||||
icon: h(DetailsIcon, { class: 'size-4' }),
|
|
||||||
},
|
|
||||||
list: {
|
list: {
|
||||||
label: __('List View'),
|
label: __('List View'),
|
||||||
icon: 'list',
|
icon: 'list',
|
||||||
},
|
},
|
||||||
|
group_by: {
|
||||||
|
label: __('Group By View'),
|
||||||
|
icon: h(DetailsIcon, { class: 'size-4' }),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
return types[currentViewType.value]
|
return types[currentViewType.value]
|
||||||
@ -512,24 +513,29 @@ async function exportRows() {
|
|||||||
export_type.value = 'Excel'
|
export_type.value = 'Excel'
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultViews = [
|
let defaultViews = []
|
||||||
{
|
let allowedViews = props.options.allowedViews || ['list']
|
||||||
|
|
||||||
|
if (allowedViews.includes('list')) {
|
||||||
|
defaultViews.push({
|
||||||
label: __(props.options?.defaultViewName) || __('List View'),
|
label: __(props.options?.defaultViewName) || __('List View'),
|
||||||
icon: 'list',
|
icon: 'list',
|
||||||
onClick() {
|
onClick() {
|
||||||
viewUpdated.value = false
|
viewUpdated.value = false
|
||||||
router.push({ name: route.name })
|
router.push({ name: route.name })
|
||||||
},
|
},
|
||||||
},
|
})
|
||||||
{
|
}
|
||||||
|
if (allowedViews.includes('group_by')) {
|
||||||
|
defaultViews.push({
|
||||||
label: __(props.options?.defaultViewName) || __('Group By View'),
|
label: __(props.options?.defaultViewName) || __('Group By View'),
|
||||||
icon: h(DetailsIcon, { class: 'size-4' }),
|
icon: h(DetailsIcon, { class: 'size-4' }),
|
||||||
onClick() {
|
onClick() {
|
||||||
viewUpdated.value = false
|
viewUpdated.value = false
|
||||||
router.push({ name: route.name, params: { viewType: 'group_by' } })
|
router.push({ name: route.name, params: { viewType: 'group_by' } })
|
||||||
},
|
},
|
||||||
},
|
})
|
||||||
]
|
}
|
||||||
|
|
||||||
function getIcon(icon) {
|
function getIcon(icon) {
|
||||||
if (isEmoji(icon)) {
|
if (isEmoji(icon)) {
|
||||||
|
|||||||
@ -24,6 +24,9 @@
|
|||||||
v-model:resizeColumn="triggerResize"
|
v-model:resizeColumn="triggerResize"
|
||||||
v-model:updatedPageCount="updatedPageCount"
|
v-model:updatedPageCount="updatedPageCount"
|
||||||
doctype="CRM Deal"
|
doctype="CRM Deal"
|
||||||
|
:options="{
|
||||||
|
allowedViews: ['list', 'group_by'],
|
||||||
|
}"
|
||||||
/>
|
/>
|
||||||
<DealsListView
|
<DealsListView
|
||||||
ref="dealsListView"
|
ref="dealsListView"
|
||||||
|
|||||||
@ -25,6 +25,9 @@
|
|||||||
v-model:updatedPageCount="updatedPageCount"
|
v-model:updatedPageCount="updatedPageCount"
|
||||||
doctype="CRM Lead"
|
doctype="CRM Lead"
|
||||||
:filters="{ converted: 0 }"
|
:filters="{ converted: 0 }"
|
||||||
|
:options="{
|
||||||
|
allowedViews: ['list', 'group_by'],
|
||||||
|
}"
|
||||||
/>
|
/>
|
||||||
<LeadsListView
|
<LeadsListView
|
||||||
ref="leadsListView"
|
ref="leadsListView"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user