mirror of
https://github.com/documenso/documenso.git
synced 2026-07-26 18:04:55 +10:00
fix: keep previous table data during pagination to avoid skeleton flash
This commit is contained in:
@@ -38,11 +38,16 @@ export const AdminClaimsTable = ({ licenseFlags }: AdminClaimsTableProps) => {
|
|||||||
|
|
||||||
const parsedSearchParams = ZUrlSearchParamsSchema.parse(Object.fromEntries(searchParams ?? []));
|
const parsedSearchParams = ZUrlSearchParamsSchema.parse(Object.fromEntries(searchParams ?? []));
|
||||||
|
|
||||||
const { data, isLoading, isLoadingError } = trpc.admin.claims.find.useQuery({
|
const { data, isLoading, isLoadingError } = trpc.admin.claims.find.useQuery(
|
||||||
query: parsedSearchParams.query,
|
{
|
||||||
page: parsedSearchParams.page,
|
query: parsedSearchParams.query,
|
||||||
perPage: parsedSearchParams.perPage,
|
page: parsedSearchParams.page,
|
||||||
});
|
perPage: parsedSearchParams.perPage,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
placeholderData: (previousData) => previousData,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
const onPaginationChange = (page: number, perPage: number) => {
|
const onPaginationChange = (page: number, perPage: number) => {
|
||||||
updateSearchParams({
|
updateSearchParams({
|
||||||
|
|||||||
@@ -19,11 +19,16 @@ export const AdminDocumentJobsTable = ({ envelopeId }: { envelopeId: string }) =
|
|||||||
|
|
||||||
const parsedSearchParams = ZUrlSearchParamsSchema.parse(Object.fromEntries(searchParams ?? []));
|
const parsedSearchParams = ZUrlSearchParamsSchema.parse(Object.fromEntries(searchParams ?? []));
|
||||||
|
|
||||||
const { data, isLoading, isLoadingError, refetch, isFetching } = trpc.admin.document.findJobs.useQuery({
|
const { data, isLoading, isLoadingError, refetch, isFetching } = trpc.admin.document.findJobs.useQuery(
|
||||||
envelopeId: envelopeId,
|
{
|
||||||
page: parsedSearchParams.page,
|
envelopeId: envelopeId,
|
||||||
perPage: parsedSearchParams.perPage,
|
page: parsedSearchParams.page,
|
||||||
});
|
perPage: parsedSearchParams.perPage,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
placeholderData: (previousData) => previousData,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
const onPaginationChange = (page: number, perPage: number) => {
|
const onPaginationChange = (page: number, perPage: number) => {
|
||||||
updateSearchParams({
|
updateSearchParams({
|
||||||
|
|||||||
@@ -30,11 +30,16 @@ export const AdminEmailTransportsTable = () => {
|
|||||||
|
|
||||||
const parsedSearchParams = ZUrlSearchParamsSchema.parse(Object.fromEntries(searchParams ?? []));
|
const parsedSearchParams = ZUrlSearchParamsSchema.parse(Object.fromEntries(searchParams ?? []));
|
||||||
|
|
||||||
const { data, isLoading, isLoadingError } = trpc.admin.emailTransport.find.useQuery({
|
const { data, isLoading, isLoadingError } = trpc.admin.emailTransport.find.useQuery(
|
||||||
query: parsedSearchParams.query,
|
{
|
||||||
page: parsedSearchParams.page,
|
query: parsedSearchParams.query,
|
||||||
perPage: parsedSearchParams.perPage,
|
page: parsedSearchParams.page,
|
||||||
});
|
perPage: parsedSearchParams.perPage,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
placeholderData: (previousData) => previousData,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
const onPaginationChange = (page: number, perPage: number) => {
|
const onPaginationChange = (page: number, perPage: number) => {
|
||||||
updateSearchParams({
|
updateSearchParams({
|
||||||
|
|||||||
@@ -77,15 +77,20 @@ export const AdminOrganisationStatsTable = ({ displayMode = 'usage' }: AdminOrga
|
|||||||
const orderByColumn = parseOrderByColumn(searchParams?.get('orderByColumn') ?? undefined);
|
const orderByColumn = parseOrderByColumn(searchParams?.get('orderByColumn') ?? undefined);
|
||||||
const orderByDirection = parseOrderByDirection(searchParams?.get('orderByDirection') ?? undefined);
|
const orderByDirection = parseOrderByDirection(searchParams?.get('orderByDirection') ?? undefined);
|
||||||
|
|
||||||
const { data, isLoading, isLoadingError } = trpc.admin.organisation.stats.find.useQuery({
|
const { data, isLoading, isLoadingError } = trpc.admin.organisation.stats.find.useQuery(
|
||||||
query: parsedSearchParams.query,
|
{
|
||||||
page: parsedSearchParams.page,
|
query: parsedSearchParams.query,
|
||||||
perPage: parsedSearchParams.perPage,
|
page: parsedSearchParams.page,
|
||||||
period,
|
perPage: parsedSearchParams.perPage,
|
||||||
claimId,
|
period,
|
||||||
orderByColumn,
|
claimId,
|
||||||
orderByDirection,
|
orderByColumn,
|
||||||
});
|
orderByDirection,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
placeholderData: (previousData) => previousData,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
const onPaginationChange = (page: number, perPage: number) => {
|
const onPaginationChange = (page: number, perPage: number) => {
|
||||||
updateSearchParams({
|
updateSearchParams({
|
||||||
|
|||||||
@@ -55,13 +55,18 @@ export const AdminOrganisationsTable = ({
|
|||||||
|
|
||||||
const parsedSearchParams = ZUrlSearchParamsSchema.parse(Object.fromEntries(searchParams ?? []));
|
const parsedSearchParams = ZUrlSearchParamsSchema.parse(Object.fromEntries(searchParams ?? []));
|
||||||
|
|
||||||
const { data, isLoading, isLoadingError } = trpc.admin.organisation.find.useQuery({
|
const { data, isLoading, isLoadingError } = trpc.admin.organisation.find.useQuery(
|
||||||
query: parsedSearchParams.query,
|
{
|
||||||
page: parsedSearchParams.page,
|
query: parsedSearchParams.query,
|
||||||
perPage: parsedSearchParams.perPage,
|
page: parsedSearchParams.page,
|
||||||
ownerUserId,
|
perPage: parsedSearchParams.perPage,
|
||||||
memberUserId,
|
ownerUserId,
|
||||||
});
|
memberUserId,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
placeholderData: (previousData) => previousData,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
const onPaginationChange = (page: number, perPage: number) => {
|
const onPaginationChange = (page: number, perPage: number) => {
|
||||||
updateSearchParams({
|
updateSearchParams({
|
||||||
|
|||||||
@@ -28,12 +28,17 @@ export const AdminUserTeamsTable = ({ userId }: AdminUserTeamsTableProps) => {
|
|||||||
|
|
||||||
const parsedSearchParams = ZUrlSearchParamsSchema.parse(Object.fromEntries(searchParams ?? []));
|
const parsedSearchParams = ZUrlSearchParamsSchema.parse(Object.fromEntries(searchParams ?? []));
|
||||||
|
|
||||||
const { data, isLoading, isLoadingError } = trpc.admin.user.findTeams.useQuery({
|
const { data, isLoading, isLoadingError } = trpc.admin.user.findTeams.useQuery(
|
||||||
userId,
|
{
|
||||||
query: parsedSearchParams.query,
|
userId,
|
||||||
page: parsedSearchParams.page,
|
query: parsedSearchParams.query,
|
||||||
perPage: parsedSearchParams.perPage,
|
page: parsedSearchParams.page,
|
||||||
});
|
perPage: parsedSearchParams.perPage,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
placeholderData: (previousData) => previousData,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
const onPaginationChange = (page: number, perPage: number) => {
|
const onPaginationChange = (page: number, perPage: number) => {
|
||||||
updateSearchParams({
|
updateSearchParams({
|
||||||
|
|||||||
@@ -46,10 +46,15 @@ export const InboxTable = () => {
|
|||||||
const page = searchParams?.get?.('page') ? Number(searchParams.get('page')) : undefined;
|
const page = searchParams?.get?.('page') ? Number(searchParams.get('page')) : undefined;
|
||||||
const perPage = searchParams?.get?.('perPage') ? Number(searchParams.get('perPage')) : undefined;
|
const perPage = searchParams?.get?.('perPage') ? Number(searchParams.get('perPage')) : undefined;
|
||||||
|
|
||||||
const { data, isLoading, isLoadingError } = trpc.document.inbox.find.useQuery({
|
const { data, isLoading, isLoadingError } = trpc.document.inbox.find.useQuery(
|
||||||
page: page || 1,
|
{
|
||||||
perPage: perPage || 10,
|
page: page || 1,
|
||||||
});
|
perPage: perPage || 10,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
placeholderData: (previousData) => previousData,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
const columns = useMemo(() => {
|
const columns = useMemo(() => {
|
||||||
return [
|
return [
|
||||||
|
|||||||
@@ -28,12 +28,17 @@ export const OrganisationTeamsTable = () => {
|
|||||||
|
|
||||||
const parsedSearchParams = ZUrlSearchParamsSchema.parse(Object.fromEntries(searchParams ?? []));
|
const parsedSearchParams = ZUrlSearchParamsSchema.parse(Object.fromEntries(searchParams ?? []));
|
||||||
|
|
||||||
const { data, isLoading, isLoadingError } = trpc.team.find.useQuery({
|
const { data, isLoading, isLoadingError } = trpc.team.find.useQuery(
|
||||||
organisationId: organisation.id,
|
{
|
||||||
query: parsedSearchParams.query,
|
organisationId: organisation.id,
|
||||||
page: parsedSearchParams.page,
|
query: parsedSearchParams.query,
|
||||||
perPage: parsedSearchParams.perPage,
|
page: parsedSearchParams.page,
|
||||||
});
|
perPage: parsedSearchParams.perPage,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
placeholderData: (previousData) => previousData,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
const onPaginationChange = (page: number, perPage: number) => {
|
const onPaginationChange = (page: number, perPage: number) => {
|
||||||
updateSearchParams({
|
updateSearchParams({
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ export default function DocumentsPage() {
|
|||||||
folderId,
|
folderId,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
placeholderData: (previousData) => previousData,
|
||||||
...SKIP_QUERY_BATCH_META,
|
...SKIP_QUERY_BATCH_META,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -72,14 +72,19 @@ export default function WebhookPage({ params }: Route.ComponentProps) {
|
|||||||
data,
|
data,
|
||||||
isLoading: isLogsLoading,
|
isLoading: isLogsLoading,
|
||||||
isLoadingError: isLogsLoadingError,
|
isLoadingError: isLogsLoadingError,
|
||||||
} = trpc.webhook.calls.find.useQuery({
|
} = trpc.webhook.calls.find.useQuery(
|
||||||
webhookId: params.id,
|
{
|
||||||
page: parsedSearchParams.page,
|
webhookId: params.id,
|
||||||
perPage: parsedSearchParams.perPage,
|
page: parsedSearchParams.page,
|
||||||
status: parsedSearchParams.status,
|
perPage: parsedSearchParams.perPage,
|
||||||
events: parsedSearchParams.events,
|
status: parsedSearchParams.status,
|
||||||
query: parsedSearchParams.query,
|
events: parsedSearchParams.events,
|
||||||
});
|
query: parsedSearchParams.query,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
placeholderData: (previousData) => previousData,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle debouncing the search query.
|
* Handle debouncing the search query.
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ export default function TemplatesPage() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
enabled: !isOrgView,
|
enabled: !isOrgView,
|
||||||
|
placeholderData: (previousData) => previousData,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -76,6 +77,7 @@ export default function TemplatesPage() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
enabled: isOrgView,
|
enabled: isOrgView,
|
||||||
|
placeholderData: (previousData) => previousData,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user