Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migration to useQuery: Removed PaginatedList.tsx and Update Dependent Components #10350

Merged
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
52a3fae
Migrate `PaginatedList` to useQuery
rajku-dev Feb 1, 2025
881aadb
migrate questionaire response to useQuery
rajku-dev Feb 2, 2025
6c28f88
migrate EncounterHistory to useQuery | add skeleton Loaders
rajku-dev Feb 2, 2025
d54168f
reduce limit to 5 for encounter history
rajku-dev Feb 2, 2025
0a6a30b
increase skeleton loader count to default limit
rajku-dev Feb 2, 2025
bca1bf5
migrate ResourceCommentSection to useQuery | fix CommentModel | add s…
rajku-dev Feb 2, 2025
b627460
switch to route path for query key
rajku-dev Feb 2, 2025
693bbd6
migrate patientUpdates to useQuery
rajku-dev Feb 2, 2025
09fc1ec
Delete `PaginatedList.tsx`
rajku-dev Feb 2, 2025
ccef985
set limit to results per page
rajku-dev Feb 2, 2025
66c3284
set skeleton count to resultsPerPage too
rajku-dev Feb 2, 2025
52e2e2d
Merge branch 'develop' into issue/9837/paginated-list-usequery
rajku-dev Feb 2, 2025
a8bb39e
drop debouncing | update query keys
rajku-dev Feb 2, 2025
40de037
Merge branch 'issue/9837/paginated-list-usequery' of https://github.c…
rajku-dev Feb 2, 2025
5a49388
Update src/components/Facility/ConsultationDetails/QuestionnaireRespo…
rajku-dev Feb 2, 2025
ac109e1
switch to useMutaion for comment creation
rajku-dev Feb 2, 2025
e3622c9
Merge branch 'issue/9837/paginated-list-usequery' of https://github.c…
rajku-dev Feb 2, 2025
ad8e3d5
drop blacklist
rajku-dev Feb 2, 2025
6a7118e
Merge branch 'develop' into issue/9837/paginated-list-usequery
rajku-dev Feb 2, 2025
5cb5ba1
use `useQueryParams` instead of `useFilters`
rajku-dev Feb 3, 2025
c3f1fb6
Merge branch 'issue/9837/paginated-list-usequery' of https://github.c…
rajku-dev Feb 3, 2025
865aa8f
drop loading alias and fetching
rajku-dev Feb 3, 2025
e205f00
add type to useQueryParams
rajku-dev Feb 3, 2025
febc096
set page items limit to RESULT_PER_PAGE_LIMIT
rajku-dev Feb 3, 2025
379fa05
Merge branch 'develop' into issue/9837/paginated-list-usequery
rajku-dev Feb 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
211 changes: 0 additions & 211 deletions src/CAREUI/misc/PaginatedList.tsx
rajku-dev marked this conversation as resolved.
Outdated
Show resolved Hide resolved

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
import { useQuery } from "@tanstack/react-query";
import { t } from "i18next";
import { useTranslation } from "react-i18next";

import PaginatedList from "@/CAREUI/misc/PaginatedList";

import { Badge } from "@/components/ui/badge";
import { Card } from "@/components/ui/card";
import { Separator } from "@/components/ui/separator";

import { CardListSkeleton } from "@/components/Common/SkeletonLoading";

import useFilters from "@/hooks/useFilters";

import routes from "@/Utils/request/api";
import query from "@/Utils/request/query";
import { formatDateTime, properCase } from "@/Utils/utils";
import { AllergyIntoleranceRequest } from "@/types/emr/allergyIntolerance/allergyIntolerance";
import { DiagnosisRequest } from "@/types/emr/diagnosis/diagnosis";
Expand Down Expand Up @@ -276,43 +278,65 @@ export default function QuestionnaireResponsesList({
}: Props) {
const { t } = useTranslation();

const { qParams, Pagination, resultsPerPage } = useFilters({
limit: 15,
cacheBlacklist: ["questionnaire"],
rajku-dev marked this conversation as resolved.
Show resolved Hide resolved
});

const {
data: questionnarieResponses,
isFetching: questionnaireFetching,
isLoading: questionnaireLoading,
} = useQuery({
rajku-dev marked this conversation as resolved.
Show resolved Hide resolved
queryKey: [
routes.getQuestionnaireResponses.path,
patientId,
qParams,
encounter?.id,
],
rajku-dev marked this conversation as resolved.
Show resolved Hide resolved
queryFn: query.debounced(routes.getQuestionnaireResponses, {
rajku-dev marked this conversation as resolved.
Show resolved Hide resolved
pathParams: { patientId },
queryParams: {
encounter: encounter?.id,
limit: resultsPerPage,
offset: ((qParams.page ?? 1) - 1) * resultsPerPage,
},
}),
});

return (
<PaginatedList
route={routes.getQuestionnaireResponses}
pathParams={{
patientId: patientId,
}}
query={{
...(encounter && { encounter: encounter.id }),
}}
>
{() => (
<div className="mt-4 flex w-full flex-col gap-4">
<div className="mt-4 gap-4">
<div className="max-w-full">
{questionnaireLoading ? (
<div className="grid gap-5">
<CardListSkeleton count={resultsPerPage} />
</div>
) : (
<div>
<PaginatedList.WhenEmpty>
{!questionnaireFetching &&
questionnarieResponses?.results?.length === 0 ? (
<Card className="p-6">
<div className="text-lg font-medium text-gray-500">
{t("no_questionnaire_responses")}
</div>
</Card>
</PaginatedList.WhenEmpty>

<PaginatedList.WhenLoading>
<div className="grid gap-5">
<CardListSkeleton count={3} />
</div>
</PaginatedList.WhenLoading>

<PaginatedList.Items<QuestionnaireResponse> className="grid gap-4">
{(item) => <ResponseCard key={item.id} item={item} />}
</PaginatedList.Items>

<div className="flex w-full items-center justify-center mt-4">
<PaginatedList.Paginator hideIfSinglePage />
</div>
) : (
<ul className="grid gap-4">
{questionnarieResponses?.results?.map(
(item: QuestionnaireResponse) => (
<li key={item.id} className="w-full">
<ResponseCard key={item.id} item={item} />
</li>
),
)}
<div className="flex w-full items-center justify-center mt-4">
<Pagination totalCount={questionnarieResponses?.count || 0} />
</div>
</ul>
)}
</div>
</div>
)}
</PaginatedList>
)}
</div>
</div>
);
}
3 changes: 1 addition & 2 deletions src/components/Facility/models.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,8 @@ export type FacilityRequest = Omit<FacilityModel, "location" | "id">;

export interface CommentModel {
id: string;
created_by_object: UserBareMinimum;
created_date: string;
modified_date: string;
comment: string;
created_by: number;
created_by: UserBareMinimum;
}
Loading
Loading