1
0
forked from test/crm

fix: allow group by view only for lead & deal

This commit is contained in:
Shariq Ansari 2024-06-01 15:53:48 +05:30
parent 0fcae3e20e
commit d53891c0ca
3 changed files with 22 additions and 10 deletions

View File

@ -320,6 +320,7 @@ const props = defineProps({
default: {
hideColumnsButton: false,
defaultViewName: '',
allowedViews: ['list'],
},
},
})
@ -345,14 +346,14 @@ const currentViewType = computed(() => route.params.viewType || 'list')
function getViewType() {
let types = {
group_by: {
label: __('Group By View'),
icon: h(DetailsIcon, { class: 'size-4' }),
},
list: {
label: __('List View'),
icon: 'list',
},
group_by: {
label: __('Group By View'),
icon: h(DetailsIcon, { class: 'size-4' }),
},
}
return types[currentViewType.value]
@ -512,24 +513,29 @@ async function exportRows() {
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'),
icon: 'list',
onClick() {
viewUpdated.value = false
router.push({ name: route.name })
},
},
{
})
}
if (allowedViews.includes('group_by')) {
defaultViews.push({
label: __(props.options?.defaultViewName) || __('Group By View'),
icon: h(DetailsIcon, { class: 'size-4' }),
onClick() {
viewUpdated.value = false
router.push({ name: route.name, params: { viewType: 'group_by' } })
},
},
]
})
}
function getIcon(icon) {
if (isEmoji(icon)) {

View File

@ -24,6 +24,9 @@
v-model:resizeColumn="triggerResize"
v-model:updatedPageCount="updatedPageCount"
doctype="CRM Deal"
:options="{
allowedViews: ['list', 'group_by'],
}"
/>
<DealsListView
ref="dealsListView"

View File

@ -25,6 +25,9 @@
v-model:updatedPageCount="updatedPageCount"
doctype="CRM Lead"
:filters="{ converted: 0 }"
:options="{
allowedViews: ['list', 'group_by'],
}"
/>
<LeadsListView
ref="leadsListView"