Browse Source

fix(nc-gui): incorrect load more kanban data logic

pull/5269/head
Wing-Kam Wong 2 years ago
parent
commit
1ac5e8dd20
  1. 13
      packages/nc-gui/composables/useKanbanViewStore.ts
  2. 21
      packages/nc-gui/composables/useSharedView.ts

13
packages/nc-gui/composables/useKanbanViewStore.ts

@ -154,7 +154,7 @@ const [useProvideKanbanViewStore, useKanbanViewStore] = useInjectionState(
) )
} }
for (const data of groupData) { for (const data of groupData ?? []) {
const key = data.key const key = data.key
formattedData.value.set(key, formatData(data.value.list)) formattedData.value.set(key, formatData(data.value.list))
countByStack.value.set(key, data.value.pageInfo.totalRows || 0) countByStack.value.set(key, data.value.pageInfo.totalRows || 0)
@ -176,9 +176,16 @@ const [useProvideKanbanViewStore, useKanbanViewStore] = useInjectionState(
...(isUIAllowed('filterSync') ? {} : { filterArrJson: JSON.stringify(nestedFilters.value) }), ...(isUIAllowed('filterSync') ? {} : { filterArrJson: JSON.stringify(nestedFilters.value) }),
where, where,
}) })
: await fetchSharedViewData({ sortsArr: sorts.value, filtersArr: nestedFilters.value, offset: params.offset }) : await fetchSharedViewData({
...{ where: xWhere.value },
...params,
sortsArr: sorts.value,
filtersArr: nestedFilters.value,
offset: params.offset,
where,
})
formattedData.value.set(stackTitle, [...formattedData.value.get(stackTitle)!, ...formatData(response!.list)]) formattedData.value.set(stackTitle, [...formattedData.value.get(stackTitle)!, ...formatData(response!.list!)])
} }
async function loadKanbanMeta() { async function loadKanbanMeta() {

21
packages/nc-gui/composables/useSharedView.ts

@ -83,13 +83,14 @@ export function useSharedView() {
Object.keys(relatedMetas).forEach((key) => setMeta(relatedMetas[key])) Object.keys(relatedMetas).forEach((key) => setMeta(relatedMetas[key]))
} }
const fetchSharedViewData = async ({ const fetchSharedViewData = async (param: {
sortsArr,
filtersArr,
offset,
}: {
sortsArr: SortType[] sortsArr: SortType[]
filtersArr: FilterType[] filtersArr: FilterType[]
fields?: any[]
sort?: any[]
where?: string
/** Query params for nested data */
nested?: any
offset?: number offset?: number
}) => { }) => {
if (!sharedView.value) if (!sharedView.value)
@ -98,18 +99,18 @@ export function useSharedView() {
pageInfo: {}, pageInfo: {},
} }
if (!offset) { if (!param.offset) {
const page = paginationData.value.page || 1 const page = paginationData.value.page || 1
const pageSize = paginationData.value.pageSize || appInfoDefaultLimit const pageSize = paginationData.value.pageSize || appInfoDefaultLimit
offset = (page - 1) * pageSize param.offset = (page - 1) * pageSize
} }
return await $api.public.dataList( return await $api.public.dataList(
sharedView.value.uuid!, sharedView.value.uuid!,
{ {
offset, ...param,
filterArrJson: JSON.stringify(filtersArr ?? nestedFilters.value), filterArrJson: JSON.stringify(param.filtersArr ?? nestedFilters.value),
sortArrJson: JSON.stringify(sortsArr ?? sorts.value), sortArrJson: JSON.stringify(param.sortsArr ?? sorts.value),
} as any, } as any,
{ {
headers: { headers: {

Loading…
Cancel
Save