diff --git a/frontend/src/components/Filter.vue b/frontend/src/components/Filter.vue index 53583242..3a1ed370 100644 --- a/frontend/src/components/Filter.vue +++ b/frontend/src/components/Filter.vue @@ -125,6 +125,10 @@ const props = defineProps({ type: String, required: true, }, + default_filters: { + type: Object, + default: {}, + }, }) const emit = defineEmits(['update']) @@ -155,8 +159,8 @@ const filters = computed(() => { let allFilters = list.value?.params?.filters if (!allFilters || !filterableFields.data) return new Set() // remove default filters - if (list.value.data._defaultFilters) { - allFilters = removeCommonFilters(list.value.data._defaultFilters, allFilters) + if (props.default_filters) { + allFilters = removeCommonFilters(props.default_filters, allFilters) } return convertFilters(filterableFields.data, allFilters) }) @@ -165,11 +169,11 @@ function removeCommonFilters(commonFilters, allFilters) { for (const key in commonFilters) { if (commonFilters.hasOwnProperty(key) && allFilters.hasOwnProperty(key)) { if (commonFilters[key] === allFilters[key]) { - delete allFilters[key]; + delete allFilters[key] } } } - return allFilters; + return allFilters } function convertFilters(data, allFilters) { diff --git a/frontend/src/components/ViewControls.vue b/frontend/src/components/ViewControls.vue index 9492320c..b6c03a24 100644 --- a/frontend/src/components/ViewControls.vue +++ b/frontend/src/components/ViewControls.vue @@ -26,7 +26,12 @@ />
- + { + return { + label: view.value.label || 'List View', + icon: view.value.icon || 'list', + } }) const view = ref({ @@ -163,6 +170,7 @@ function getParams() { list.value = createResource({ url: 'crm.api.doc.get_list_data', params: getParams(), + cache: [props.doctype, route.query.view], onSuccess(data) { setupViews(data.views) setupDefaults(data) @@ -228,10 +236,6 @@ function setupViews(views) { function setupDefaults(data) { let cv = getView(route.query.view) - currentView.value = { - label: cv?.label || 'List View', - icon: cv?.icon || 'list', - } defaultParams.value = { doctype: props.doctype, @@ -241,8 +245,6 @@ function setupDefaults(data) { rows: data.rows, custom_view_name: cv?.name || '', } - - data._defaultFilters = props.filters } function updateFilter(filters) {