diff --git a/package.json b/package.json index d9cbd12..b07af1f 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,6 @@ }, "peerDependencies": { "@openmrs/esm-framework": "*", - "@openmrs/esm-patient-common-lib": "*", "dayjs": "1.x", "react": "18.x", "react-i18next": "11.x", diff --git a/src/form/procedures-orders/add-procedures-order/add-procedures-order.workspace.tsx b/src/form/procedures-orders/add-procedures-order/add-procedures-order.workspace.tsx index 90c6de7..834b3bd 100644 --- a/src/form/procedures-orders/add-procedures-order/add-procedures-order.workspace.tsx +++ b/src/form/procedures-orders/add-procedures-order/add-procedures-order.workspace.tsx @@ -7,13 +7,13 @@ import { ArrowLeft } from "@carbon/react/icons"; import { age, formatDate, + launchWorkspace, parseDate, useLayoutType, usePatient, } from "@openmrs/esm-framework"; import { type DefaultWorkspaceProps, - launchPatientWorkspace, type OrderBasketItem, } from "@openmrs/esm-patient-common-lib"; import { TestTypeSearch } from "./procedures-type-search"; @@ -52,7 +52,7 @@ export default function AddProceduresOrderWorkspace({ const cancelOrder = useCallback(() => { closeWorkspace({ ignoreChanges: true, - onWorkspaceClose: () => launchPatientWorkspace("order-basket"), + onWorkspaceClose: () => launchWorkspace("order-basket"), }); }, [closeWorkspace]); diff --git a/src/form/procedures-orders/add-procedures-order/procedures-order-form.component.tsx b/src/form/procedures-orders/add-procedures-order/procedures-order-form.component.tsx index e9c33a5..eb38c69 100644 --- a/src/form/procedures-orders/add-procedures-order/procedures-order-form.component.tsx +++ b/src/form/procedures-orders/add-procedures-order/procedures-order-form.component.tsx @@ -1,22 +1,19 @@ import React, { useCallback, useEffect, useState, useMemo } from "react"; import classNames from "classnames"; +import { useOrderBasket } from "@openmrs/esm-patient-common-lib"; import { type DefaultWorkspaceProps, - launchPatientWorkspace, - useOrderBasket, -} from "@openmrs/esm-patient-common-lib"; -import { translateFrom, useLayoutType, useSession, useConfig, + launchWorkspace, } from "@openmrs/esm-framework"; import { careSettingUuid, prepProceduresOrderPostData, useOrderReasons, useConceptById, - type Concept, } from "../api"; import { Button, @@ -189,7 +186,7 @@ export function ProceduresOrderForm({ newOrders[orderIndex] = data; setOrders(newOrders); closeWorkspaceWithSavedChanges({ - onWorkspaceClose: () => launchPatientWorkspace("order-basket"), + onWorkspaceClose: () => launchWorkspace("order-basket"), }); }, [ @@ -209,7 +206,7 @@ export function ProceduresOrderForm({ ) ); closeWorkspace({ - onWorkspaceClose: () => launchPatientWorkspace("order-basket"), + onWorkspaceClose: () => launchWorkspace("order-basket"), }); }, [closeWorkspace, orders, setOrders, defaultValues]); diff --git a/src/form/procedures-orders/add-procedures-order/procedures-type-search.tsx b/src/form/procedures-orders/add-procedures-order/procedures-type-search.tsx index 8a11bb8..087c6b2 100644 --- a/src/form/procedures-orders/add-procedures-order/procedures-type-search.tsx +++ b/src/form/procedures-orders/add-procedures-order/procedures-type-search.tsx @@ -18,12 +18,10 @@ import { useLayoutType, useSession, ResponsiveWrapper, -} from "@openmrs/esm-framework"; -import { closeWorkspace, - launchPatientWorkspace, - useOrderBasket, -} from "@openmrs/esm-patient-common-lib"; + launchWorkspace, +} from "@openmrs/esm-framework"; +import { useOrderBasket } from "@openmrs/esm-patient-common-lib"; import { prepProceduresOrderPostData } from "../api"; import { type ProceduresType, useProceduresTypes } from "./useProceduresTypes"; import { createEmptyLabOrder } from "./procedures-order"; @@ -224,7 +222,7 @@ const TestTypeSearchResultItem: React.FC = ({ setOrders([...orders, labOrder]); closeWorkspace("add-procedures-order", { ignoreChanges: true, - onWorkspaceClose: () => launchPatientWorkspace("order-basket"), + onWorkspaceClose: () => launchWorkspace("order-basket"), }); }, [orders, setOrders, createLabOrder, testType]); diff --git a/src/form/procedures-orders/procedures-order-basket-panel/procedures-order-basket-panel.extension.tsx b/src/form/procedures-orders/procedures-order-basket-panel/procedures-order-basket-panel.extension.tsx index 9a5217c..66b38e6 100644 --- a/src/form/procedures-orders/procedures-order-basket-panel/procedures-order-basket-panel.extension.tsx +++ b/src/form/procedures-orders/procedures-order-basket-panel/procedures-order-basket-panel.extension.tsx @@ -3,12 +3,14 @@ import classNames from "classnames"; import { useTranslation } from "react-i18next"; import { Button, Tile } from "@carbon/react"; import { Add, ChevronDown, ChevronUp } from "@carbon/react/icons"; -import { useLayoutType } from "@openmrs/esm-framework"; import { - launchPatientWorkspace, + useLayoutType, + closeWorkspace, + launchWorkspace, +} from "@openmrs/esm-framework"; +import { type OrderBasketItem, useOrderBasket, - closeWorkspace, } from "@openmrs/esm-patient-common-lib"; import { ProceduresOrderBasketItemTile } from "./procedures-order-basket-item-tile.component"; import { prepProceduresOrderPostData } from "../api"; @@ -65,8 +67,7 @@ export default function ProceduresOrderBasketPanelExtension() { closeWorkspace("order-basket", { ignoreChanges: true, onWorkspaceClose: () => { - console.warn("basket closed"); - launchPatientWorkspace("add-procedures-order"); + launchWorkspace("add-procedures-order"); }, }); }, []); @@ -75,7 +76,7 @@ export default function ProceduresOrderBasketPanelExtension() { closeWorkspace("order-basket", { ignoreChanges: true, onWorkspaceClose: () => - launchPatientWorkspace("add-procedures-order", { order }), + launchWorkspace("add-procedures-order", { order }), }); }, []); diff --git a/src/index.ts b/src/index.ts index 55d8241..5855dab 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,7 +2,6 @@ import { getAsyncLifecycle, defineConfigSchema, getSyncLifecycle, - translateFrom, } from "@openmrs/esm-framework"; import { configSchema } from "./config-schema"; import { createLeftPanelLink } from "./left-panel-link"; @@ -17,10 +16,10 @@ import completedProcedures from "./procedure-tabs/completed-tab.component"; import notDoneProcedures from "./procedure-tabs/not-done-tab.component"; import addProcedureToWorklistDialog from "./procedures-ordered/pick-procedure-order/add-to-worklist-dialog.component"; import procedureInstructionsModal from "./procedures-ordered/procedure-instructions/procedure-instructions.component"; -import { registerWorkspace } from "@openmrs/esm-patient-common-lib"; import ProceduresOrderBasketPanelExtension from "./form/procedures-orders/procedures-order-basket-panel/procedures-order-basket-panel.extension"; import rejectProcedureOrderDialog from "./procedures-ordered/reject-order-dialog/reject-procedure-order-dialog.component"; import procedureRejectReasonModal from "./procedures-ordered/reject-reason/procedure-reject-reason.component"; +import AddProceduresOrderWorkspace from "./form/procedures-orders/add-procedures-order/add-procedures-order.workspace"; const moduleName = "@kenyaemr/esm-procedure-app"; @@ -101,21 +100,7 @@ export const proceduresOrderPanel = getSyncLifecycle( ProceduresOrderBasketPanelExtension, options ); - -// t('addProcedureOrderWorkspaceTitle', 'Add procedure order') -registerWorkspace({ - name: "add-procedures-order", - type: "order", - title: translateFrom( - moduleName, - "addProceduresOrderWorkspaceTitle", - "Add procedures order" - ), - load: getAsyncLifecycle( - () => - import( - "./form/procedures-orders/add-procedures-order/add-procedures-order.workspace" - ), - options - ), -}); +export const addProceduresOrderWorkspace = getSyncLifecycle( + AddProceduresOrderWorkspace, + options +); diff --git a/src/patient-chart/procedure-active-order/procedure-active-order-results.component.tsx b/src/patient-chart/procedure-active-order/procedure-active-order-results.component.tsx index 9847c50..5de3e8c 100644 --- a/src/patient-chart/procedure-active-order/procedure-active-order-results.component.tsx +++ b/src/patient-chart/procedure-active-order/procedure-active-order-results.component.tsx @@ -14,6 +14,7 @@ import { showModal, useConfig, usePagination, + launchWorkspace, } from "@openmrs/esm-framework"; import { mutate } from "swr"; import { @@ -61,10 +62,7 @@ import { getOrderColor, } from "../patient-procedure-order-results.resource"; import { useLaboratoryOrderResultsPages } from "../patient-procedure-order-results-table.resource"; -import { - CardHeader, - launchPatientWorkspace, -} from "@openmrs/esm-patient-common-lib"; +import { CardHeader } from "@openmrs/esm-patient-common-lib"; interface LaboratoryActiveTestOrderResultsProps { patientUuid: string; @@ -153,7 +151,7 @@ const LaboratoryActiveTestOrderResults: React.FC< }; const launchLabRequestForm = () => { - launchPatientWorkspace("patient-laboratory-referral-workspace", { + launchWorkspace("patient-laboratory-referral-workspace", { workspaceTitle: "Lab Request Form", mutateForm: () => { mutate((key) => true, undefined, { diff --git a/src/patient-chart/procedure-order-referals/procedure-order-referals.component.tsx b/src/patient-chart/procedure-order-referals/procedure-order-referals.component.tsx index da9e39d..20f62c0 100644 --- a/src/patient-chart/procedure-order-referals/procedure-order-referals.component.tsx +++ b/src/patient-chart/procedure-order-referals/procedure-order-referals.component.tsx @@ -13,6 +13,7 @@ import { ErrorState, showModal, useConfig, + launchWorkspace, } from "@openmrs/esm-framework"; import { @@ -59,10 +60,7 @@ import { getOrderColor, } from "../patient-procedure-order-results.resource"; import { useLaboratoryOrderResultsPages } from "../patient-procedure-order-results-table.resource"; -import { - CardHeader, - launchPatientWorkspace, -} from "@openmrs/esm-patient-common-lib"; +import { CardHeader } from "@openmrs/esm-patient-common-lib"; import { mutate } from "swr"; interface LaboratoryOrderReferalResultsProps { @@ -169,7 +167,7 @@ const LaboratoryOrderReferalResults: React.FC< encounterUuid, }) => { const launchForm = () => { - launchPatientWorkspace("patient-laboratory-referral-workspace", { + launchWorkspace("patient-laboratory-referral-workspace", { workspaceTitle: "Edit Referral Form", mutateForm: () => { mutate((key) => true, undefined, { diff --git a/src/procedures-ordered/procedure-tabs.component.tsx b/src/procedures-ordered/procedure-tabs.component.tsx index 2fab4bd..9789717 100644 --- a/src/procedures-ordered/procedure-tabs.component.tsx +++ b/src/procedures-ordered/procedure-tabs.component.tsx @@ -69,6 +69,7 @@ const ProcedureOrdersTabs: React.FC = () => { key={extension.id} value={{ moduleName: extension.moduleName, + featureName: extension.meta.title, extension: { extensionId: extension.id, extensionSlotName: procedurePanelSlot, diff --git a/src/routes.json b/src/routes.json index 9921689..116d437 100644 --- a/src/routes.json +++ b/src/routes.json @@ -129,5 +129,13 @@ "component": "root", "route": "procedure" } + ], + "workspaces": [ + { + "name": "add-procedure-order", + "type": "order", + "title": "Add procedure order", + "component": "addProceduresOrderWorkspace" + } ] } diff --git a/src/summary-tiles/procedure-summary-tiles.component.tsx b/src/summary-tiles/procedure-summary-tiles.component.tsx index ee9dba1..a3dc2f7 100644 --- a/src/summary-tiles/procedure-summary-tiles.component.tsx +++ b/src/summary-tiles/procedure-summary-tiles.component.tsx @@ -23,6 +23,7 @@ const ProcedureSummaryTiles: React.FC = () => {