From 7769eb91ff07691682332236d403626150ee85c2 Mon Sep 17 00:00:00 2001 From: Sulochan Khadka <122200551+Sulochan-khadka@users.noreply.github.com> Date: Tue, 10 Sep 2024 13:34:09 +0530 Subject: [PATCH 1/6] Remove clear all filters when no filters are applied. (#8466) --- .../Facility/DischargedPatientsList.tsx | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Components/Facility/DischargedPatientsList.tsx b/src/Components/Facility/DischargedPatientsList.tsx index 5a7d706ee87..6603f3964af 100644 --- a/src/Components/Facility/DischargedPatientsList.tsx +++ b/src/Components/Facility/DischargedPatientsList.tsx @@ -417,12 +417,15 @@ const DischargedPatientsList = ({ ), ]} children={ - <> - {qParams.last_consultation_admitted_bed_type_list && - LastAdmittedToTypeBadges()} - {qParams.last_consultation__consent_types && - HasConsentTypesBadges()} - + (qParams.last_consultation_admitted_bed_type_list || + qParams.last_consultation__consent_types) && ( + <> + {qParams.last_consultation_admitted_bed_type_list && + LastAdmittedToTypeBadges()} + {qParams.last_consultation__consent_types && + HasConsentTypesBadges()} + + ) } /> From 80a8a4761d3629bfb30a501e66e1d54d58c80ba2 Mon Sep 17 00:00:00 2001 From: JOSHIK ROSHAN <96165631+JOSHIK27@users.noreply.github.com> Date: Tue, 10 Sep 2024 09:04:38 +0100 Subject: [PATCH 2/6] enhanced AutocompleteFormField (#8414) --- src/Components/Form/FormFields/Autocomplete.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Components/Form/FormFields/Autocomplete.tsx b/src/Components/Form/FormFields/Autocomplete.tsx index 2addbfa9b33..c5bec6f99d6 100644 --- a/src/Components/Form/FormFields/Autocomplete.tsx +++ b/src/Components/Form/FormFields/Autocomplete.tsx @@ -163,6 +163,7 @@ export const Autocomplete = (props: AutocompleteProps) => { id={props.id} > props.onChange(selection.value)} From ca468236105c8fe5077278eb20f9efbd0e425653 Mon Sep 17 00:00:00 2001 From: Rithvik Nishad Date: Tue, 10 Sep 2024 13:35:46 +0530 Subject: [PATCH 3/6] Fixes Autocomplete input erroring when combobox input is cleared (#8501) --- src/Components/Form/FormFields/Autocomplete.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Components/Form/FormFields/Autocomplete.tsx b/src/Components/Form/FormFields/Autocomplete.tsx index c5bec6f99d6..f1c52853e37 100644 --- a/src/Components/Form/FormFields/Autocomplete.tsx +++ b/src/Components/Form/FormFields/Autocomplete.tsx @@ -166,7 +166,7 @@ export const Autocomplete = (props: AutocompleteProps) => { immediate disabled={props.disabled} value={(value ?? props.placeholder ?? "Select") as T} - onChange={(selection: any) => props.onChange(selection.value)} + onChange={(selection: any) => props.onChange(selection?.value)} >
From b2a72c39cc5e01ec48c7de1425d387f43345205e Mon Sep 17 00:00:00 2001 From: Rithvik Nishad Date: Tue, 10 Sep 2024 13:36:31 +0530 Subject: [PATCH 4/6] Fixes PDF Viewer clipping out in different display zoom settings (#8496) --- src/Components/Common/PDFViewer.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Components/Common/PDFViewer.tsx b/src/Components/Common/PDFViewer.tsx index 28cacc09b48..a9566a01fc7 100644 --- a/src/Components/Common/PDFViewer.tsx +++ b/src/Components/Common/PDFViewer.tsx @@ -13,7 +13,7 @@ export default function PDFViewer( pdfjs.GlobalWorkerOptions.workerSrc = "/pdf.worker.min.mjs"; return ( -
+
Date: Tue, 10 Sep 2024 13:37:10 +0530 Subject: [PATCH 5/6] Procedures: consultation #8366 (#8477) Co-authored-by: Rithvik Nishad --- src/Components/Facility/ConsultationForm.tsx | 2 +- src/Locale/en/Consultation.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Components/Facility/ConsultationForm.tsx b/src/Components/Facility/ConsultationForm.tsx index f9faffaba0f..2cfe9c8f4df 100644 --- a/src/Components/Facility/ConsultationForm.tsx +++ b/src/Components/Facility/ConsultationForm.tsx @@ -1361,7 +1361,7 @@ export const ConsultationForm = ({ facilityId, patientId, id }: Props) => { className="col-span-6" ref={fieldRef["procedure"]} > - Procedures + {t("procedure_suggestions")} Date: Tue, 10 Sep 2024 13:51:14 +0530 Subject: [PATCH 6/6] =?UTF-8?q?Adds=20support=20for=20=F0=9F=94=8D=20Zoom?= =?UTF-8?q?=20In=20&=20Out=20for=20=F0=9F=96=A8=EF=B8=8F=20Print=20Preview?= =?UTF-8?q?=20component=20(#8487)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/CAREUI/interactive/Zoom.tsx | 97 ++++++++++++++++++++++++++++++++ src/CAREUI/misc/PrintPreview.tsx | 32 +++++++---- src/Locale/en/Common.json | 3 +- 3 files changed, 120 insertions(+), 12 deletions(-) create mode 100644 src/CAREUI/interactive/Zoom.tsx diff --git a/src/CAREUI/interactive/Zoom.tsx b/src/CAREUI/interactive/Zoom.tsx new file mode 100644 index 00000000000..bf5747f9b91 --- /dev/null +++ b/src/CAREUI/interactive/Zoom.tsx @@ -0,0 +1,97 @@ +import { createContext, ReactNode, useContext, useState } from "react"; +import ButtonV2 from "../../Components/Common/components/ButtonV2"; +import CareIcon from "../icons/CareIcon"; + +type ProviderValue = { + scale: number; + zoomIn: () => void; + zoomOut: () => void; +}; + +const ZoomContext = createContext(null); + +type Props = { + initialScale?: number; + scaleRatio?: number; + children: ReactNode; +}; + +export const ZoomProvider = ({ + initialScale = 1, + scaleRatio = 1.25, + children, +}: Props) => { + const [scale, setScale] = useState(initialScale); + + return ( + setScale((scale) => scale * scaleRatio), + zoomOut: () => setScale((scale) => scale / scaleRatio), + }} + > + {children} + + ); +}; + +export const ZoomTransform = (props: { + children: ReactNode; + className?: string; +}) => { + const ctx = useContext(ZoomContext); + + if (ctx == null) { + throw new Error("Component must be used with ZoomProvider"); + } + + return ( +
+ {props.children} +
+ ); +}; + +export const ZoomControls = (props: { disabled?: boolean }) => { + const ctx = useContext(ZoomContext); + + if (ctx == null) { + throw new Error("Component must be used with ZoomProvider"); + } + + return ( +
+ + + + + {Math.round(ctx.scale * 100)}% + + + + +
+ ); +}; diff --git a/src/CAREUI/misc/PrintPreview.tsx b/src/CAREUI/misc/PrintPreview.tsx index 243826c7337..fe8b09b173c 100644 --- a/src/CAREUI/misc/PrintPreview.tsx +++ b/src/CAREUI/misc/PrintPreview.tsx @@ -3,6 +3,9 @@ import ButtonV2 from "../../Components/Common/components/ButtonV2"; import CareIcon from "../icons/CareIcon"; import { classNames } from "../../Utils/utils"; import Page from "../../Components/Common/components/Page"; +import useBreakpoints from "../../Common/hooks/useBreakpoints"; +import { useTranslation } from "react-i18next"; +import { ZoomControls, ZoomProvider, ZoomTransform } from "../interactive/Zoom"; type Props = { children: ReactNode; @@ -12,24 +15,31 @@ type Props = { }; export default function PrintPreview(props: Props) { + const normalScale = useBreakpoints({ default: 0.44, md: 1 }); + const { t } = useTranslation(); + return (
-
- window.print()}> +
+ - Print + {t("print")}
-
-
- {props.children} -
-
+ + +
+ {props.children} +
+
+ + +
); diff --git a/src/Locale/en/Common.json b/src/Locale/en/Common.json index 24855e05d70..0d021ba2f9e 100644 --- a/src/Locale/en/Common.json +++ b/src/Locale/en/Common.json @@ -66,6 +66,7 @@ "contact_person_number": "Contact person number", "referral_letter": "Referral Letter", "close": "Close", + "print": "Print", "print_referral_letter": "Print Referral Letter", "date_of_positive_covid_19_swab": "Date of Positive Covid 19 Swab", "patient_no": "OP/IP No", @@ -201,4 +202,4 @@ "oxygen_information": "Oxygen Information", "deleted_successfully": "{{name}} deleted successfully", "delete_item": "Delete {{name}}" -} +} \ No newline at end of file