Browse Source

fix/Fixed column ordering issue in shared view

pull/3197/head
Muhammed Mustafa 2 years ago
parent
commit
c2b22b0945
  1. 6
      packages/nc-gui-v2/components/shared-view/Grid.vue
  2. 16
      packages/nc-gui-v2/composables/useSharedView.ts

6
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' import { ActiveViewInj, FieldsInj, IsPublicInj, MetaInj, ReadonlyInj, ReloadViewDataHookInj } from '~/context'
const { sharedView, meta, columns } = useSharedView() const { sharedView, meta } = useSharedView()
const reloadEventHook = createEventHook<void>() const reloadEventHook = createEventHook<void>()
provide(ReloadViewDataHookInj, reloadEventHook) provide(ReloadViewDataHookInj, reloadEventHook)
provide(ReadonlyInj, ref(true)) provide(ReadonlyInj, true)
provide(MetaInj, meta) provide(MetaInj, meta)
provide(ActiveViewInj, sharedView) provide(ActiveViewInj, sharedView)
provide(FieldsInj, columns) provide(FieldsInj, ref(meta.value.columns as any[]))
provide(IsPublicInj, ref(true)) provide(IsPublicInj, ref(true))
useProvideSmartsheetStore(sharedView as Ref<TableType>, meta) useProvideSmartsheetStore(sharedView as Ref<TableType>, meta)

16
packages/nc-gui-v2/composables/useSharedView.ts

@ -13,11 +13,10 @@ export function useSharedView() {
const password = useState<string | undefined>('password') const password = useState<string | undefined>('password')
const allowCSVDownload = useState<boolean>('allowCSVDownload', () => false) const allowCSVDownload = useState<boolean>('allowCSVDownload', () => false)
const meta = ref<TableType>(sharedView.value?.model) const meta = useState<TableType>('meta')
const columns = ref<ColumnType[]>(sharedView.value?.model?.columns)
const formColumns = computed( const formColumns = computed(
() => () =>
columns.value meta.value.columns
.filter( .filter(
(f: Record<string, any>) => (f: Record<string, any>) =>
f.show && f.uidt !== UITypes.Rollup && f.uidt !== UITypes.Lookup && f.uidt !== UITypes.Formula, 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 allowCSVDownload.value = JSON.parse(viewMeta.meta).allowCSVDownload
if (localPassword) password.value = localPassword if (localPassword) password.value = localPassword
sharedView.value = viewMeta sharedView.value = { ...viewMeta }
meta.value = { ...viewMeta.model }
meta.value = viewMeta.model let order = 1
columns.value = viewMeta.model.columns 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) setMeta(viewMeta.model)
@ -96,7 +99,6 @@ export function useSharedView() {
sharedView, sharedView,
loadSharedView, loadSharedView,
meta, meta,
columns,
nestedFilters, nestedFilters,
fetchSharedViewData, fetchSharedViewData,
paginationData, paginationData,

Loading…
Cancel
Save