From 0d34aa76d0da790bd4de6eaff48bb1e15e0fe69f Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Wed, 14 Sep 2022 12:23:17 +0800 Subject: [PATCH 1/3] fix(nc-gui): use default limit from app info if specified --- packages/nc-gui/composables/useSharedView.ts | 7 +++++-- packages/nc-gui/composables/useViewData.ts | 13 ++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/packages/nc-gui/composables/useSharedView.ts b/packages/nc-gui/composables/useSharedView.ts index d12dbbdbcf..d7595e704e 100644 --- a/packages/nc-gui/composables/useSharedView.ts +++ b/packages/nc-gui/composables/useSharedView.ts @@ -1,13 +1,16 @@ import type { ExportTypes, FilterType, PaginatedType, SortType, TableType, ViewType } from 'nocodb-sdk' import { UITypes } from 'nocodb-sdk' import { useNuxtApp } from '#app' +import { useGlobal } from '#imports' export function useSharedView() { const nestedFilters = useState<(FilterType & { status?: 'update' | 'delete' | 'create'; parentId?: string })[]>( 'nestedFilters', () => [], ) - const paginationData = useState('paginationData', () => ({ page: 1, pageSize: 25 })) + const { appInfo } = $(useGlobal()) + const appInfoDefaultLimit = appInfo?.defaultLimit || 25 + const paginationData = useState('paginationData', () => ({ page: 1, pageSize: appInfoDefaultLimit })) const sharedView = useState('sharedView') const sorts = useState('sorts', () => []) const password = useState('password') @@ -55,7 +58,7 @@ export function useSharedView() { const fetchSharedViewData = async () => { const page = paginationData.value.page || 1 - const pageSize = paginationData.value.pageSize || 25 + const pageSize = paginationData.value.pageSize || appInfoDefaultLimit const { data } = await $api.public.dataList( sharedView?.value?.uuid, diff --git a/packages/nc-gui/composables/useViewData.ts b/packages/nc-gui/composables/useViewData.ts index 1e0c7941e4..32be409e6e 100644 --- a/packages/nc-gui/composables/useViewData.ts +++ b/packages/nc-gui/composables/useViewData.ts @@ -10,6 +10,7 @@ import { extractSdkResponseErrorMsg, getHTMLEncodedText, useApi, + useGlobal, useProject, useUIPermission, } from '#imports' @@ -43,7 +44,9 @@ export function useViewData( const { t } = useI18n() const { api, isLoading, error } = useApi() - const _paginationData = ref({ page: 1, pageSize: 25 }) + const { appInfo } = $(useGlobal()) + const appInfoDefaultLimit = appInfo?.defaultLimit || 25 + const _paginationData = ref({ page: 1, pageSize: appInfoDefaultLimit }) const aggCommentCount = ref<{ row_id: string; count: number }[]>([]) const galleryData = ref() const formColumnData = ref() @@ -79,8 +82,8 @@ export function useViewData( }) const queryParams = computed(() => ({ - offset: ((paginationData.value?.page ?? 0) - 1) * (paginationData.value?.pageSize ?? 25), - limit: paginationData.value?.pageSize ?? 25, + offset: ((paginationData.value?.page ?? 0) - 1) * (paginationData.value?.pageSize ?? appInfoDefaultLimit), + limit: paginationData.value?.pageSize ?? appInfoDefaultLimit, where: where?.value ?? '', })) @@ -116,7 +119,7 @@ export function useViewData( // total records in the current table const count = paginationData.value?.totalRows ?? Infinity // the number of rows in a page - const size = paginationData.value?.pageSize ?? 25 + const size = paginationData.value?.pageSize ?? appInfoDefaultLimit // the current page number const currentPage = paginationData.value?.page ?? 1 // the maximum possible page given the current count and the size @@ -261,7 +264,7 @@ export function useViewData( async function changePage(page: number) { paginationData.value.page = page - await loadData({ offset: (page - 1) * (paginationData.value.pageSize || 25), where: where?.value } as any) + await loadData({ offset: (page - 1) * (paginationData.value.pageSize || appInfoDefaultLimit), where: where?.value } as any) $e('a:grid:pagination') } From 9666c024df96d08b2feab2a546f8bd2a21c8a4d8 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Wed, 14 Sep 2022 17:11:35 +0800 Subject: [PATCH 2/3] fix(nc-gui): remove unnecessary `?` --- packages/nc-gui/composables/useSharedView.ts | 5 ++--- packages/nc-gui/composables/useViewData.ts | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/nc-gui/composables/useSharedView.ts b/packages/nc-gui/composables/useSharedView.ts index d7595e704e..4d0b3bfdfd 100644 --- a/packages/nc-gui/composables/useSharedView.ts +++ b/packages/nc-gui/composables/useSharedView.ts @@ -1,7 +1,6 @@ import type { ExportTypes, FilterType, PaginatedType, SortType, TableType, ViewType } from 'nocodb-sdk' import { UITypes } from 'nocodb-sdk' -import { useNuxtApp } from '#app' -import { useGlobal } from '#imports' +import { useGlobal, useNuxtApp } from '#imports' export function useSharedView() { const nestedFilters = useState<(FilterType & { status?: 'update' | 'delete' | 'create'; parentId?: string })[]>( @@ -9,7 +8,7 @@ export function useSharedView() { () => [], ) const { appInfo } = $(useGlobal()) - const appInfoDefaultLimit = appInfo?.defaultLimit || 25 + const appInfoDefaultLimit = appInfo.defaultLimit || 25 const paginationData = useState('paginationData', () => ({ page: 1, pageSize: appInfoDefaultLimit })) const sharedView = useState('sharedView') const sorts = useState('sorts', () => []) diff --git a/packages/nc-gui/composables/useViewData.ts b/packages/nc-gui/composables/useViewData.ts index 32be409e6e..13c1bc0816 100644 --- a/packages/nc-gui/composables/useViewData.ts +++ b/packages/nc-gui/composables/useViewData.ts @@ -45,7 +45,7 @@ export function useViewData( const { t } = useI18n() const { api, isLoading, error } = useApi() const { appInfo } = $(useGlobal()) - const appInfoDefaultLimit = appInfo?.defaultLimit || 25 + const appInfoDefaultLimit = appInfo.defaultLimit || 25 const _paginationData = ref({ page: 1, pageSize: appInfoDefaultLimit }) const aggCommentCount = ref<{ row_id: string; count: number }[]>([]) const galleryData = ref() @@ -82,7 +82,7 @@ export function useViewData( }) const queryParams = computed(() => ({ - offset: ((paginationData.value?.page ?? 0) - 1) * (paginationData.value?.pageSize ?? appInfoDefaultLimit), + offset: ((paginationData.value.page ?? 0) - 1) * (paginationData.value.pageSize ?? appInfoDefaultLimit), limit: paginationData.value?.pageSize ?? appInfoDefaultLimit, where: where?.value ?? '', })) From c106b8ecc85c418f09c480ceac665f961e9d686c Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Mon, 19 Sep 2022 11:02:50 +0800 Subject: [PATCH 3/3] chore(nc-gui): remove unnecessary ? operator --- packages/nc-gui/composables/useViewData.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/nc-gui/composables/useViewData.ts b/packages/nc-gui/composables/useViewData.ts index 6891f41b15..59cd214718 100644 --- a/packages/nc-gui/composables/useViewData.ts +++ b/packages/nc-gui/composables/useViewData.ts @@ -82,7 +82,7 @@ export function useViewData( const queryParams = computed(() => ({ offset: ((paginationData.value.page ?? 0) - 1) * (paginationData.value.pageSize ?? appInfoDefaultLimit), - limit: paginationData.value?.pageSize ?? appInfoDefaultLimit, + limit: paginationData.value.pageSize ?? appInfoDefaultLimit, where: where?.value ?? '', })) @@ -118,9 +118,9 @@ export function useViewData( // total records in the current table const count = paginationData.value?.totalRows ?? Infinity // the number of rows in a page - const size = paginationData.value?.pageSize ?? appInfoDefaultLimit + const size = paginationData.value.pageSize ?? appInfoDefaultLimit // the current page number - const currentPage = paginationData.value?.page ?? 1 + const currentPage = paginationData.value.page ?? 1 // the maximum possible page given the current count and the size const mxPage = Math.ceil(count / size) // calculate targetPage where 1 <= targetPage <= mxPage