Skip to content

Commit

Permalink
ft : add date activated on orders list items (#15)
Browse files Browse the repository at this point in the history
* ft : add date activated on orders list items

* fix : build error
  • Loading branch information
jabahum authored Nov 22, 2023
1 parent dfb0a75 commit 3e5fa9a
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 28 deletions.
32 changes: 23 additions & 9 deletions src/completed-list/completed-list.component.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
import React, { useMemo, useState } from "react";
import { useTranslation } from "react-i18next";
import { useGetOrdersWorklist } from "../work-list/work-list.resource";
import { ErrorState, usePagination } from "@openmrs/esm-framework";
import {
ErrorState,
formatDate,
parseDate,
usePagination,
} from "@openmrs/esm-framework";
import {
DataTable,
DataTableSkeleton,
Expand Down Expand Up @@ -55,24 +60,33 @@ const CompletedList: React.FC<CompletedlistProps> = ({ fulfillerStatus }) => {

// get picked orders
let columns = [
{ id: 0, header: t("orderNumber", "Order Number"), key: "orderNumber" },
{ id: 0, header: t("date", "Date"), key: "date" },

{ id: 1, header: t("orderNumber", "Order Number"), key: "orderNumber" },
{
id: 1,
id: 2,
header: t("accessionNumber", "Accession Number"),
key: "accessionNumber",
},
{ id: 2, header: t("test", "Test"), key: "test" },
{ id: 3, header: t("action", "Action"), key: "action" },
{ id: 4, header: t("status", "Status"), key: "status" },
{ id: 5, header: t("orderer", "Orderer"), key: "orderer" },
{ id: 6, header: t("orderType", "Order Type"), key: "orderType" },
{ id: 7, header: t("urgency", "Urgency"), key: "urgency" },
{ id: 3, header: t("test", "Test"), key: "test" },
{ id: 4, header: t("action", "Action"), key: "action" },
{ id: 5, header: t("status", "Status"), key: "status" },
{ id: 6, header: t("orderer", "Orderer"), key: "orderer" },
{ id: 7, header: t("orderType", "Order Type"), key: "orderType" },
{ id: 8, header: t("urgency", "Urgency"), key: "urgency" },
];

const tableRows = useMemo(() => {
return paginatedWorkListEntries?.map((entry, index) => ({
...entry,
id: entry.uuid,
date: {
content: (
<>
<span>{formatDate(parseDate(entry.dateActivated))}</span>
</>
),
},
orderNumber: { content: <span>{entry.orderNumber}</span> },
accessionNumber: { content: <span>{entry.accessionNumber}</span> },
test: { content: <span>{entry.concept.display}</span> },
Expand Down
33 changes: 24 additions & 9 deletions src/review-list/review-list.component.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
import React, { useCallback, useMemo, useState } from "react";
import { useTranslation } from "react-i18next";
import { useGetOrdersWorklist } from "../work-list/work-list.resource";
import { ErrorState, showModal, usePagination } from "@openmrs/esm-framework";
import {
ErrorState,
formatDate,
parseDate,
showModal,
usePagination,
} from "@openmrs/esm-framework";
import {
DataTable,
DataTableSkeleton,
Expand Down Expand Up @@ -85,24 +91,33 @@ const ReviewList: React.FC<ReviewlistProps> = ({ fulfillerStatus }) => {

// get picked orders
let columns = [
{ id: 0, header: t("orderNumber", "Order Number"), key: "orderNumber" },
{ id: 0, header: t("date", "Date"), key: "date" },

{ id: 1, header: t("orderNumber", "Order Number"), key: "orderNumber" },
{
id: 1,
id: 2,
header: t("accessionNumber", "Accession Number"),
key: "accessionNumber",
},
{ id: 2, header: t("test", "Test"), key: "test" },
{ id: 3, header: t("action", "Action"), key: "action" },
{ id: 4, header: t("status", "Status"), key: "status" },
{ id: 5, header: t("orderer", "Orderer"), key: "orderer" },
{ id: 6, header: t("orderType", "Order Type"), key: "orderType" },
{ id: 7, header: t("urgency", "Urgency"), key: "urgency" },
{ id: 3, header: t("test", "Test"), key: "test" },
{ id: 4, header: t("action", "Action"), key: "action" },
{ id: 5, header: t("status", "Status"), key: "status" },
{ id: 6, header: t("orderer", "Orderer"), key: "orderer" },
{ id: 7, header: t("orderType", "Order Type"), key: "orderType" },
{ id: 8, header: t("urgency", "Urgency"), key: "urgency" },
];

const tableRows = useMemo(() => {
return paginatedWorkListEntries?.map((entry, index) => ({
...entry,
id: entry.uuid,
date: {
content: (
<>
<span>{formatDate(parseDate(entry.dateActivated))}</span>
</>
),
},
orderNumber: { content: <span>{entry.orderNumber}</span> },
accessionNumber: { content: <span>{entry.accessionNumber}</span> },
test: { content: <span>{entry.concept.display}</span> },
Expand Down
29 changes: 19 additions & 10 deletions src/work-list/work-list.component.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ import {
} from "@carbon/react";
import { Result, useGetOrdersWorklist } from "./work-list.resource";
import styles from "./work-list.scss";
import { usePagination } from "@openmrs/esm-framework";
import { formatDate, parseDate, usePagination } from "@openmrs/esm-framework";
import { launchOverlay } from "../components/overlay/hook";
import ResultForm from "../results/result-form.component";
import { getStatusColor } from "../utils/functions";
Expand Down Expand Up @@ -70,19 +70,21 @@ const WorkList: React.FC<WorklistProps> = ({ fulfillerStatus }) => {

// get picked orders
let columns = [
{ id: 0, header: t("orderNumber", "Order Number"), key: "orderNumber" },
{ id: 0, header: t("date", "Date"), key: "date" },

{ id: 1, header: t("orderNumber", "Order Number"), key: "orderNumber" },
{
id: 1,
id: 2,
header: t("accessionNumber", "Accession Number"),
key: "accessionNumber",
},
{ id: 2, header: t("test", "Test"), key: "test" },
{ id: 3, header: t("action", "Action"), key: "action" },
{ id: 4, header: t("status", "Status"), key: "status" },
{ id: 5, header: t("orderer", "Orderer"), key: "orderer" },
{ id: 6, header: t("orderType", "Order Type"), key: "orderType" },
{ id: 7, header: t("urgency", "Urgency"), key: "urgency" },
{ id: 8, header: t("actions", "Actions"), key: "actions" },
{ id: 3, header: t("test", "Test"), key: "test" },
{ id: 4, header: t("action", "Action"), key: "action" },
{ id: 5, header: t("status", "Status"), key: "status" },
{ id: 6, header: t("orderer", "Orderer"), key: "orderer" },
{ id: 7, header: t("orderType", "Order Type"), key: "orderType" },
{ id: 8, header: t("urgency", "Urgency"), key: "urgency" },
{ id: 9, header: t("actions", "Actions"), key: "actions" },
];

const ResultsOrder: React.FC<ResultsOrderProps> = ({

Check warning on line 90 in src/work-list/work-list.component.tsx

View workflow job for this annotation

GitHub Actions / build

The 'ResultsOrder' function makes the dependencies of useMemo Hook (at line 149) change on every render. Move it inside the useMemo callback. Alternatively, wrap the definition of 'ResultsOrder' in its own useCallback() Hook
Expand All @@ -107,6 +109,13 @@ const WorkList: React.FC<WorklistProps> = ({ fulfillerStatus }) => {
return paginatedWorkListEntries?.map((entry, index) => ({
...entry,
id: entry.uuid,
date: {
content: (
<>
<span>{formatDate(parseDate(entry.dateActivated))}</span>
</>
),
},
orderNumber: { content: <span>{entry.orderNumber}</span> },
accessionNumber: { content: <span>{entry.accessionNumber}</span> },
test: { content: <span>{entry.concept.display}</span> },
Expand Down

0 comments on commit 3e5fa9a

Please sign in to comment.