fix: made views dropdown options computed
This commit is contained in:
parent
374ef6fc79
commit
5147a22adc
@ -107,9 +107,10 @@ const viewUpdated = ref(false)
|
|||||||
const showViewModal = ref(false)
|
const showViewModal = ref(false)
|
||||||
|
|
||||||
const currentView = computed(() => {
|
const currentView = computed(() => {
|
||||||
|
let _view = getView(route.query.view)
|
||||||
return {
|
return {
|
||||||
label: view.value.label || 'List View',
|
label: _view?.label || 'List View',
|
||||||
icon: view.value.icon || 'list',
|
icon: _view?.icon || 'list',
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -172,7 +173,6 @@ list.value = createResource({
|
|||||||
params: getParams(),
|
params: getParams(),
|
||||||
cache: [props.doctype, route.query.view],
|
cache: [props.doctype, route.query.view],
|
||||||
onSuccess(data) {
|
onSuccess(data) {
|
||||||
setupViews(data.views)
|
|
||||||
setupDefaults(data)
|
setupDefaults(data)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@ -186,8 +186,6 @@ function reload() {
|
|||||||
list.value.reload()
|
list.value.reload()
|
||||||
}
|
}
|
||||||
|
|
||||||
const viewsDropdownOptions = ref([])
|
|
||||||
|
|
||||||
const defaultViews = [
|
const defaultViews = [
|
||||||
{
|
{
|
||||||
label: 'List View',
|
label: 'List View',
|
||||||
@ -199,8 +197,8 @@ const defaultViews = [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
function setupViews(views) {
|
const viewsDropdownOptions = computed(() => {
|
||||||
viewsDropdownOptions.value = [
|
let _views = [
|
||||||
{
|
{
|
||||||
group: 'Default Views',
|
group: 'Default Views',
|
||||||
hideLabel: true,
|
hideLabel: true,
|
||||||
@ -208,31 +206,24 @@ function setupViews(views) {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
views?.forEach((view) => {
|
if (list.value?.data?.views) {
|
||||||
view.icon = view.icon || 'list'
|
let savedViews = list.value.data.views.filter((v) => !v.pinned)
|
||||||
view.filters = JSON.parse(view.filters)
|
let pinnedViews = list.value.data.views.filter((v) => v.pinned)
|
||||||
view.onClick = () => {
|
|
||||||
viewUpdated.value = false
|
|
||||||
router.push({ ...route, query: { view: view.name } })
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
let pinnedViews = views?.filter((v) => v.pinned) || []
|
savedViews.length &&
|
||||||
let savedViews = views?.filter((v) => !v.pinned) || []
|
_views.push({
|
||||||
|
group: 'Saved Views',
|
||||||
|
items: savedViews,
|
||||||
|
})
|
||||||
|
pinnedViews.length &&
|
||||||
|
_views.push({
|
||||||
|
group: 'Pinned Views',
|
||||||
|
items: pinnedViews,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
if (savedViews.length) {
|
return _views
|
||||||
viewsDropdownOptions.value.push({
|
})
|
||||||
group: 'Saved Views',
|
|
||||||
items: savedViews,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
if (pinnedViews.length) {
|
|
||||||
viewsDropdownOptions.value.push({
|
|
||||||
group: 'Pinned Views',
|
|
||||||
items: pinnedViews,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function setupDefaults(data) {
|
function setupDefaults(data) {
|
||||||
let cv = getView(route.query.view)
|
let cv = getView(route.query.view)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user