From f57dc2bcd2152b3bd80a067a53cdbb9db8a16efc Mon Sep 17 00:00:00 2001 From: mertmit Date: Wed, 11 Oct 2023 00:44:57 +0000 Subject: [PATCH] fix: shared view injections --- packages/nc-gui/components/shared-view/Gallery.vue | 2 ++ packages/nc-gui/components/shared-view/Grid.vue | 2 ++ packages/nc-gui/components/shared-view/Kanban.vue | 2 ++ packages/nc-gui/components/shared-view/Map.vue | 2 ++ .../components/smartsheet/column/BarcodeOptions.vue | 2 -- .../components/smartsheet/column/QrCodeOptions.vue | 2 -- packages/nc-gui/composables/useViewColumns.ts | 9 ++++----- 7 files changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/nc-gui/components/shared-view/Gallery.vue b/packages/nc-gui/components/shared-view/Gallery.vue index 363001839e..4f544411d6 100644 --- a/packages/nc-gui/components/shared-view/Gallery.vue +++ b/packages/nc-gui/components/shared-view/Gallery.vue @@ -17,6 +17,8 @@ provide(FieldsInj, ref(meta.value?.columns || [])) provide(IsPublicInj, ref(true)) +useProvideViewColumns(sharedView, meta, () => reloadEventHook?.trigger(), true) + useProvideSmartsheetStore(sharedView, meta, true, sorts, nestedFilters) diff --git a/packages/nc-gui/components/shared-view/Grid.vue b/packages/nc-gui/components/shared-view/Grid.vue index 227d7a547d..2d109d25e0 100644 --- a/packages/nc-gui/components/shared-view/Grid.vue +++ b/packages/nc-gui/components/shared-view/Grid.vue @@ -37,6 +37,8 @@ provide(FieldsInj, columns) provide(IsPublicInj, ref(true)) provide(IsLockedInj, isLocked) +useProvideViewColumns(sharedView, meta, () => reloadEventHook?.trigger(), true) + const { loadGridViewColumns } = useProvideGridViewColumn(sharedView, true) if (signedIn.value) { diff --git a/packages/nc-gui/components/shared-view/Kanban.vue b/packages/nc-gui/components/shared-view/Kanban.vue index f595c85b32..a71643d9e3 100644 --- a/packages/nc-gui/components/shared-view/Kanban.vue +++ b/packages/nc-gui/components/shared-view/Kanban.vue @@ -25,6 +25,8 @@ provide(FieldsInj, ref(meta.value?.columns || [])) provide(IsPublicInj, ref(true)) +useProvideViewColumns(sharedView, meta, () => reloadEventHook?.trigger(), true) + useProvideSmartsheetStore(sharedView, meta, true, sorts, nestedFilters) useProvideKanbanViewStore(meta, sharedView, true) diff --git a/packages/nc-gui/components/shared-view/Map.vue b/packages/nc-gui/components/shared-view/Map.vue index ae2c69aa27..6e5ba8846f 100644 --- a/packages/nc-gui/components/shared-view/Map.vue +++ b/packages/nc-gui/components/shared-view/Map.vue @@ -25,6 +25,8 @@ provide(FieldsInj, ref(meta.value?.columns || [])) provide(IsPublicInj, ref(true)) +useProvideViewColumns(sharedView, meta, () => reloadEventHook?.trigger(), true) + useProvideSmartsheetStore(sharedView, meta, true, sorts, nestedFilters) useProvideMapViewStore(meta, sharedView, true) diff --git a/packages/nc-gui/components/smartsheet/column/BarcodeOptions.vue b/packages/nc-gui/components/smartsheet/column/BarcodeOptions.vue index 942087cb61..6187d711bf 100644 --- a/packages/nc-gui/components/smartsheet/column/BarcodeOptions.vue +++ b/packages/nc-gui/components/smartsheet/column/BarcodeOptions.vue @@ -14,8 +14,6 @@ const meta = inject(MetaInj, ref()) const activeView = inject(ActiveViewInj, ref()) -const reloadDataHook = inject(ReloadViewDataHookInj)! - const { fields, metaColumnById } = useViewColumnsOrThrow(activeView, meta) const vModel = useVModel(props, 'modelValue', emit) diff --git a/packages/nc-gui/components/smartsheet/column/QrCodeOptions.vue b/packages/nc-gui/components/smartsheet/column/QrCodeOptions.vue index a74aaf654c..3f27b939c6 100644 --- a/packages/nc-gui/components/smartsheet/column/QrCodeOptions.vue +++ b/packages/nc-gui/components/smartsheet/column/QrCodeOptions.vue @@ -16,8 +16,6 @@ const activeView = inject(ActiveViewInj, ref()) const { t } = useI18n() -const reloadDataHook = inject(ReloadViewDataHookInj)! - const { fields, metaColumnById } = useViewColumnsOrThrow(activeView, meta) const vModel = useVModel(props, 'modelValue', emit) diff --git a/packages/nc-gui/composables/useViewColumns.ts b/packages/nc-gui/composables/useViewColumns.ts index 34dca96b69..654b6a5660 100644 --- a/packages/nc-gui/composables/useViewColumns.ts +++ b/packages/nc-gui/composables/useViewColumns.ts @@ -1,7 +1,7 @@ import { ViewTypes, isSystemColumn } from 'nocodb-sdk' import type { ColumnType, MapType, TableType, ViewType } from 'nocodb-sdk' import type { ComputedRef, Ref } from 'vue' -import { IsPublicInj, computed, inject, ref, storeToRefs, useBase, useNuxtApp, useRoles, useUndoRedo, watch } from '#imports' +import { computed, ref, storeToRefs, useBase, useNuxtApp, useRoles, useUndoRedo, watch } from '#imports' import type { Field } from '#imports' const [useProvideViewColumns, useViewColumns] = useInjectionState( @@ -9,9 +9,8 @@ const [useProvideViewColumns, useViewColumns] = useInjectionState( view: Ref, meta: Ref | ComputedRef, reloadData?: () => void, + isPublic = false, ) => { - const isPublic = inject(IsPublicInj, ref(false)) - const fields = ref() const filterQuery = ref('') @@ -27,7 +26,7 @@ const [useProvideViewColumns, useViewColumns] = useInjectionState( const { addUndo, defineViewScope } = useUndoRedo() const isLocalMode = computed( - () => isPublic.value || !isUIAllowed('viewFieldEdit') || !isUIAllowed('viewFieldEdit') || isSharedBase.value, + () => isPublic || !isUIAllowed('viewFieldEdit') || !isUIAllowed('viewFieldEdit') || isSharedBase.value, ) const localChanges = ref([]) @@ -57,7 +56,7 @@ const [useProvideViewColumns, useViewColumns] = useInjectionState( let order = 1 if (view.value?.id) { - const data = (isPublic.value ? meta.value?.columns : (await $api.dbViewColumn.list(view.value.id)).list) as any[] + const data = (isPublic ? meta.value?.columns : (await $api.dbViewColumn.list(view.value.id)).list) as any[] const fieldById = data.reduce>((acc, curr) => { curr.show = !!curr.show