diff --git a/packages/nc-gui-v2/components/shared-view/Grid.vue b/packages/nc-gui-v2/components/shared-view/Grid.vue index 7a39c09f98..7965fd3964 100644 --- a/packages/nc-gui-v2/components/shared-view/Grid.vue +++ b/packages/nc-gui-v2/components/shared-view/Grid.vue @@ -4,14 +4,14 @@ import type { TableType } from 'nocodb-sdk' import { ActiveViewInj, FieldsInj, IsPublicInj, MetaInj, ReadonlyInj, ReloadViewDataHookInj } from '~/context' -const { sharedView, meta, columns } = useSharedView() +const { sharedView, meta } = useSharedView() const reloadEventHook = createEventHook() provide(ReloadViewDataHookInj, reloadEventHook) -provide(ReadonlyInj, ref(true)) +provide(ReadonlyInj, true) provide(MetaInj, meta) provide(ActiveViewInj, sharedView) -provide(FieldsInj, columns) +provide(FieldsInj, ref(meta.value.columns as any[])) provide(IsPublicInj, ref(true)) useProvideSmartsheetStore(sharedView as Ref, meta) diff --git a/packages/nc-gui-v2/composables/useSharedView.ts b/packages/nc-gui-v2/composables/useSharedView.ts index ce8faa3d5c..e86f89e6b6 100644 --- a/packages/nc-gui-v2/composables/useSharedView.ts +++ b/packages/nc-gui-v2/composables/useSharedView.ts @@ -13,11 +13,10 @@ export function useSharedView() { const password = useState('password') const allowCSVDownload = useState('allowCSVDownload', () => false) - const meta = ref(sharedView.value?.model) - const columns = ref(sharedView.value?.model?.columns) + const meta = useState('meta') const formColumns = computed( () => - columns.value + meta.value.columns .filter( (f: Record) => f.show && f.uidt !== UITypes.Rollup && f.uidt !== UITypes.Lookup && f.uidt !== UITypes.Formula, @@ -39,10 +38,14 @@ export function useSharedView() { allowCSVDownload.value = JSON.parse(viewMeta.meta).allowCSVDownload if (localPassword) password.value = localPassword - sharedView.value = viewMeta + sharedView.value = { ...viewMeta } + meta.value = { ...viewMeta.model } - meta.value = viewMeta.model - columns.value = viewMeta.model.columns + let order = 1 + meta.value.columns = [...viewMeta.model.columns] + .filter((c) => c.show) + .map((c) => ({ ...c, order: order++ })) + .sort((a, b) => a.order - b.order) setMeta(viewMeta.model) @@ -96,7 +99,6 @@ export function useSharedView() { sharedView, loadSharedView, meta, - columns, nestedFilters, fetchSharedViewData, paginationData,