From 2a1384bdd13ad4ec1f1b4b44f70b31ae0296191c Mon Sep 17 00:00:00 2001 From: Dennis Kigen Date: Mon, 12 Aug 2024 21:18:40 +0300 Subject: [PATCH] Fixup --- .../listOrderDetails.component.tsx | 28 ++++++----- .../orders-table/orderDetail.component.tsx | 2 +- .../orders-data-table.component.tsx | 48 +++++++++---------- .../orders-table/orders-data-table.scss | 7 ++- src/results/result-form.component.tsx | 18 ++++--- src/results/result-form.resource.ts | 8 ++-- translations/en.json | 3 +- 7 files changed, 61 insertions(+), 53 deletions(-) diff --git a/src/components/orders-table/listOrderDetails.component.tsx b/src/components/orders-table/listOrderDetails.component.tsx index 159aabc..55a5958 100644 --- a/src/components/orders-table/listOrderDetails.component.tsx +++ b/src/components/orders-table/listOrderDetails.component.tsx @@ -1,18 +1,18 @@ import React from "react"; -import styles from "./listOrderDetails.scss"; - import { useTranslation } from "react-i18next"; -import { showModal } from "@openmrs/esm-framework"; import { Button, Tile } from "@carbon/react"; -import { OrderDetail } from "./orderDetail.component"; -import { ListOrdersDetailsProps } from "../../types"; +import { showModal } from "@openmrs/esm-framework"; import { launchOverlay } from "../overlay/store"; +import { ListOrdersDetailsProps } from "../../types"; +import { OrderDetail } from "./orderDetail.component"; import ResultForm from "../../results/result-form.component"; +import styles from "./listOrderDetails.scss"; const ListOrderDetails: React.FC = (props) => { + const { t } = useTranslation(); const orders = props.groupedOrders?.orders; const patientId = props.groupedOrders?.patientId; - const { t } = useTranslation(); + return (
{orders && @@ -32,6 +32,7 @@ const ListOrderDetails: React.FC = (props) => { return (
- = ({

{label} - {" : "} + {": "} {value}

diff --git a/src/components/orders-table/orders-data-table.component.tsx b/src/components/orders-table/orders-data-table.component.tsx index fc7ca01..703d6f9 100644 --- a/src/components/orders-table/orders-data-table.component.tsx +++ b/src/components/orders-table/orders-data-table.component.tsx @@ -1,27 +1,28 @@ import React, { useMemo, useState } from "react"; +import dayjs from "dayjs"; import { useTranslation } from "react-i18next"; import { DataTable, DataTableSkeleton, + DatePicker, + DatePickerInput, + Dropdown, + Layer, Pagination, Table, TableBody, TableCell, TableContainer, - TableHead, - TableHeader, + TableExpandedRow, TableExpandHeader, TableExpandRow, - TableExpandedRow, + TableHead, + TableHeader, TableRow, - Tile, - Dropdown, TableToolbar, TableToolbarContent, - Layer, TableToolbarSearch, - DatePicker, - DatePickerInput, + Tile, } from "@carbon/react"; import { formatDate, @@ -29,15 +30,14 @@ import { useConfig, usePagination, } from "@openmrs/esm-framework"; -import styles from "./orders-data-table.scss"; +import { isoDateTimeString } from "../../constants"; import { FulfillerStatus, OrdersDataTableProps } from "../../types"; import { useLabOrders, useSearchGroupedResults, } from "../../laboratory-resource"; -import dayjs from "dayjs"; -import { isoDateTimeString } from "../../constants"; import ListOrderDetails from "./listOrderDetails.component"; +import styles from "./orders-data-table.scss"; const OrdersDataTable: React.FC = (props) => { const { t } = useTranslation(); @@ -57,18 +57,18 @@ const OrdersDataTable: React.FC = (props) => { activatedOnOrAfterDate ); - const flattenedLabOrders = useMemo(() => { - return labOrders.map((eachObject) => { - return { - ...eachObject, - dateActivated: formatDate(parseDate(eachObject.dateActivated)), - patientName: eachObject.patient?.display.split("-")[1], - patientUuid: eachObject.patient?.uuid, - status: eachObject.fulfillerStatus ?? "--", - orderer: eachObject.orderer?.display.split("-")[1], - }; - }); - }, [labOrders]); + const flattenedLabOrders = useMemo( + () => + labOrders.map((labOrder) => ({ + ...labOrder, + dateActivated: formatDate(parseDate(labOrder.dateActivated)), + patientName: labOrder.patient?.display.split("-")[1], + patientUuid: labOrder.patient?.uuid, + status: labOrder.fulfillerStatus ?? "--", + orderer: labOrder.orderer, + })), + [labOrders] + ); function groupOrdersById(orders) { if (orders && orders.length > 0) { @@ -203,7 +203,7 @@ const OrdersDataTable: React.FC = (props) => {

{t( "onOrAfterDateFilter", - "Filter orders on or after : " + "Filter orders on or after: " )}

= ({ order, patientUuid }) => { const { control, - register, formState: { isSubmitting }, getValues, handleSubmit, + register, } = useForm<{ testResult: string }>({ defaultValues: {}, }); @@ -114,6 +115,7 @@ const ResultForm: React.FC = ({ order, patientUuid }) => { }); } else if (!concept.set && concept.setMembers.length === 0) { let value; + if ( concept.datatype.display === "Numeric" || concept.datatype.display === "Text" @@ -152,10 +154,10 @@ const ResultForm: React.FC = ({ order, patientUuid }) => { encounter: order.encounter.uuid, patient: order.patient.uuid, concept: order.concept.uuid, - orderer: order.orderer, + orderer: order.orderer?.uuid, }; - UpdateOrderResult(encounterPayload, orderDiscontinuationPayload).then( + updateOrderResult(encounterPayload, orderDiscontinuationPayload).then( (response) => { if (response.ok) { showSnackbar({ @@ -254,13 +256,17 @@ const ResultForm: React.FC = ({ order, patientUuid }) => { diff --git a/src/results/result-form.resource.ts b/src/results/result-form.resource.ts index e1f7917..4be536c 100644 --- a/src/results/result-form.resource.ts +++ b/src/results/result-form.resource.ts @@ -308,7 +308,7 @@ export interface ObPayload { } // get order concept -export async function GetOrderConceptByUuid(uuid: string) { +export async function getOrderConceptByUuid(uuid: string) { const abortController = new AbortController(); return openmrsFetch(`${restBaseUrl}/concept/${uuid}?v=full`, { headers: { @@ -334,7 +334,7 @@ export function useGetOrderConceptByUuid(uuid: string) { }; } -export async function UpdateEncounter(uuid: string, payload: any) { +export async function updateEncounter(uuid: string, payload: any) { const abortController = new AbortController(); return openmrsFetch(`${restBaseUrl}/encounter/${uuid}`, { method: "POST", @@ -346,8 +346,8 @@ export async function UpdateEncounter(uuid: string, payload: any) { }); } -//TODO: the calls to update order and observations for results should be transactional to allow for rollback -export async function UpdateOrderResult( +// TODO: the calls to update order and observations for results should be transactional to allow for rollback +export async function updateOrderResult( encounterPayload: any, orderPayload: any ): Promise> { diff --git a/translations/en.json b/translations/en.json index 74f2dc6..cc8cdbd 100644 --- a/translations/en.json +++ b/translations/en.json @@ -27,7 +27,7 @@ "nextPage": "Next page", "noLabRequestsFoundCheckFilters": "No lab requests found. Please check your filters and try again.", "onHoldStatus": "ON_HOLD", - "onOrAfterDateFilter": "Filter orders on or after : ", + "onOrAfterDateFilter": "Filter orders on or after: ", "option": "Choose an Option", "orderer": "orderer", "orderNumber": "Order Number", @@ -48,6 +48,7 @@ "rejectLabRequestTitle": "Lab Request Rejected", "results": "Results", "save": "Save", + "saving": "Saving", "searchThisList": "Search this list", "status": "Status", "tabletOverlay": "Tablet overlay",