Browse Source

fix/Forced meta loading when tab changes

pull/3342/head
Muhammed Mustafa 2 years ago committed by Pranav C
parent
commit
7e298cce9f
  1. 14
      packages/nc-gui-v2/components/tabs/Smartsheet.vue
  2. 9
      packages/nc-gui-v2/pages/[projectType]/[projectId]/index/index.vue

14
packages/nc-gui-v2/components/tabs/Smartsheet.vue

@ -10,7 +10,6 @@ import {
MetaInj,
OpenNewRecordFormHookInj,
ReloadViewDataHookInj,
TabMetaInj,
computed,
inject,
provide,
@ -18,12 +17,11 @@ import {
useMetas,
useProvideSmartsheetStore,
watch,
watchEffect,
} from '#imports'
import type { TabItem } from '~/composables'
const { getMeta, metas } = useMetas()
const { metas } = useMetas()
const activeView = ref()
@ -35,13 +33,8 @@ const tabMeta = inject(
TabMetaInj,
computed(() => ({} as TabItem)),
)
const meta = computed<TableType>(() => metas.value?.[tabMeta?.value?.id as string])
watchEffect(async () => {
await getMeta(tabMeta?.value?.id as string)
})
const reloadEventHook = createEventHook<void>()
const openNewRecordFormHook = createEventHook<void>()
@ -52,7 +45,6 @@ provideSidebar({ storageKey: 'nc-right-sidebar' })
// todo: move to store
provide(MetaInj, meta)
provide(TabMetaInj, tabMeta)
provide(ActiveViewInj, activeView)
provide(IsLockedInj, isLocked)
provide(ReloadViewDataHookInj, reloadEventHook)
@ -62,10 +54,6 @@ provide(IsFormInj, isForm)
const treeViewIsLockedInj = inject('TreeViewIsLockedInj', ref(false))
watch(tabMeta, async (newTabMeta, oldTabMeta) => {
if (newTabMeta !== oldTabMeta && newTabMeta?.id) await getMeta(newTabMeta.id)
})
watch(isLocked, (nextValue) => (treeViewIsLockedInj.value = nextValue), { immediate: true })
</script>

9
packages/nc-gui-v2/pages/[projectType]/[projectId]/index/index.vue

@ -7,11 +7,20 @@ import MdiView from '~icons/mdi/eye-circle-outline'
import MdiAccountGroup from '~icons/mdi/account-group'
const { tabs, activeTabIndex, activeTab, closeTab } = useTabs()
const { getMeta } = useMetas()
const { isLoading } = useGlobal()
provide(TabMetaInj, activeTab)
watch(
() => activeTab?.value?.id,
async () => {
await getMeta(activeTab?.value?.id as string, true)
},
{ immediate: true },
)
const icon = (tab: TabItem) => {
switch (tab.type) {
case TabType.TABLE:

Loading…
Cancel
Save