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

Fix: [Clear Button is active when no input is selected in Dropdown] #9264

Merged
merged 14 commits into from
Dec 11, 2024
Merged
25 changes: 16 additions & 9 deletions src/components/Assets/AssetsList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,14 @@ const AssetsList = () => {
const [isLoading, setIsLoading] = useState(false);
const [isScannerActive, setIsScannerActive] = useState(false);
const [totalCount, setTotalCount] = useState(0);
const [facility, setFacility] = useState<FacilityModel>();
const [facility, setFacility] = useState<FacilityModel | null>(null);
Rustix69 marked this conversation as resolved.
Show resolved Hide resolved
const [status, setStatus] = useState<string>();
const [asset_class, setAssetClass] = useState<string>();
const [importAssetModalOpen, setImportAssetModalOpen] = useState(false);
const assetsExist = assets.length > 0 && Object.keys(assets[0]).length > 0;
const [showFacilityDialog, setShowFacilityDialog] = useState(false);
const [selectedFacility, setSelectedFacility] = useState<FacilityModel>({
name: "",
});
const [selectedFacility, setSelectedFacility] =
useState<FacilityModel | null>(null);
Rustix69 marked this conversation as resolved.
Show resolved Hide resolved
const params = {
limit: resultsPerPage,
page: qParams.page,
Expand Down Expand Up @@ -459,7 +458,7 @@ const AssetsList = () => {
</div>
</>
)}
{typeof facility === "undefined" && (
{facility === null && (
Rustix69 marked this conversation as resolved.
Show resolved Hide resolved
<FacilitiesSelectDialogue
show={importAssetModalOpen}
setSelected={(e) => setFacility(e)}
Expand All @@ -478,12 +477,12 @@ const AssetsList = () => {
)}
{facility && (
<AssetImportModal
open={importAssetModalOpen}
open={importAssetModalOpen} // Reset selected facility to null on cancel
Jacobjeevan marked this conversation as resolved.
Show resolved Hide resolved
onClose={() => {
setImportAssetModalOpen(false);
setFacility((f) => {
if (!qParams.facility) {
return undefined;
return null;
}
return f;
});
Expand All @@ -496,10 +495,18 @@ const AssetsList = () => {
show={showFacilityDialog}
setSelected={(e) => setSelectedFacility(e)}
selectedFacility={selectedFacility}
handleOk={() => navigate(`facility/${selectedFacility.id}/assets/new`)}
handleOk={() => {
if (selectedFacility) {
// Proceed with navigation if selectedFacility is not null
navigate(`facility/${selectedFacility.id}/assets/new`);
} else {
// Handle case when selectedFacility is null (e.g., show an error message)
console.error("No facility selected");
Jacobjeevan marked this conversation as resolved.
Show resolved Hide resolved
}
}}
handleCancel={() => {
setShowFacilityDialog(false);
setSelectedFacility({ name: "" });
setSelectedFacility(null);
}}
/>
</Page>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ interface Props {
show: boolean;
handleOk: () => void;
handleCancel: () => void;
selectedFacility: FacilityModel;
selectedFacility: FacilityModel | null;
setSelected: (e: any) => void;
}

Expand Down
28 changes: 17 additions & 11 deletions src/components/Patient/ManagePatients.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,8 @@ export const PatientManager = () => {
"emergency_phone_number",
],
});
const [selectedFacility, setSelectedFacility] = useState<FacilityModel>({
name: "",
});
const [selectedFacility, setSelectedFacility] =
useState<FacilityModel | null>(null);
Rustix69 marked this conversation as resolved.
Show resolved Hide resolved
const authUser = useAuthUser();
const [diagnoses, setDiagnoses] = useState<ICD11DiagnosisModel[]>([]);
const [showDialog, setShowDialog] = useState<"create" | "list-discharged">();
Expand Down Expand Up @@ -958,18 +957,25 @@ export const PatientManager = () => {
setSelected={(e) => setSelectedFacility(e)}
selectedFacility={selectedFacility}
handleOk={() => {
switch (showDialog) {
case "create":
navigate(`facility/${selectedFacility.id}/patient`);
break;
case "list-discharged":
navigate(`facility/${selectedFacility.id}/discharged-patients`);
break;
if (selectedFacility) {
switch (showDialog) {
case "create":
navigate(`facility/${selectedFacility.id}/patient`);
break;
case "list-discharged":
navigate(`facility/${selectedFacility.id}/discharged-patients`);
break;
default:
console.error("Unknown dialog state");
Jacobjeevan marked this conversation as resolved.
Show resolved Hide resolved
break;
}
} else {
console.error("No facility selected");
Jacobjeevan marked this conversation as resolved.
Show resolved Hide resolved
}
}}
handleCancel={() => {
setShowDialog(undefined);
setSelectedFacility({ name: "" });
setSelectedFacility(null);
}}
/>

Expand Down
Loading