Browse Source

fix: load sorts once per view

pull/6645/head
mertmit 11 months ago
parent
commit
3ec58faa05
  1. 12
      packages/nc-gui/components/smartsheet/toolbar/SortListMenu.vue
  2. 6
      packages/nc-gui/composables/useTableNew.ts
  3. 3
      packages/nc-gui/store/views.ts

12
packages/nc-gui/components/smartsheet/toolbar/SortListMenu.vue

@ -79,14 +79,6 @@ const getColumnUidtByID = (key?: string) => {
return columnByID.value[key]?.uidt || '' return columnByID.value[key]?.uidt || ''
} }
watch(
() => view.value?.id,
(viewId) => {
if (viewId) loadSorts()
},
{ immediate: true },
)
const open = ref(false) const open = ref(false)
useMenuCloseOnEsc(open) useMenuCloseOnEsc(open)
@ -105,6 +97,10 @@ watch(open, () => {
showCreateSort.value = false showCreateSort.value = false
} }
}) })
onMounted(() => {
loadSorts()
})
</script> </script>
<template> <template>

6
packages/nc-gui/composables/useTableNew.ts

@ -56,8 +56,6 @@ export function useTableNew(param: { onTableCreate?: (tableMeta: TableType) => v
const tables = computed(() => baseTables.value.get(param.baseId) || []) const tables = computed(() => baseTables.value.get(param.baseId) || [])
const base = computed(() => bases.value.get(param.baseId)) const base = computed(() => bases.value.get(param.baseId))
const { loadViews } = useViewsStore()
const openTable = async (table: TableType) => { const openTable = async (table: TableType) => {
if (!table.base_id) return if (!table.base_id) return
@ -82,10 +80,6 @@ export function useTableNew(param: { onTableCreate?: (tableMeta: TableType) => v
baseIdOrBaseId = route.value.params.baseId as string baseIdOrBaseId = route.value.params.baseId as string
} }
await loadViews({
tableId: table.id,
})
const views = viewsByTable.value.get(table.id as string) ?? [] const views = viewsByTable.value.get(table.id as string) ?? []
if (openedViewsTab.value !== 'view' && views[0].id) { if (openedViewsTab.value !== 'view' && views[0].id) {

3
packages/nc-gui/store/views.ts

@ -170,15 +170,12 @@ export const useViewsStore = defineStore('viewsStore', () => {
return return
} }
isViewsLoading.value = true
isViewDataLoading.value = true isViewDataLoading.value = true
try { try {
await loadViews() await loadViews()
} catch (e) { } catch (e) {
console.error(e) console.error(e)
} finally {
isViewsLoading.value = false
} }
}, },
{ immediate: true }, { immediate: true },

Loading…
Cancel
Save