diff --git a/packages/esm-patient-queues-app/src/active-visits/active-visits-table.component.tsx b/packages/esm-patient-queues-app/src/active-visits/active-visits-table.component.tsx index 6a427569..bb302e42 100644 --- a/packages/esm-patient-queues-app/src/active-visits/active-visits-table.component.tsx +++ b/packages/esm-patient-queues-app/src/active-visits/active-visits-table.component.tsx @@ -31,32 +31,29 @@ import { Add, Dashboard } from '@carbon/react/icons'; import { ConfigObject, - ExtensionSlot, interpolateUrl, isDesktop, navigate, useConfig, useLayoutType, usePagination, - UserHasAccess, useSession, } from '@openmrs/esm-framework'; import React, { AnchorHTMLAttributes, MouseEvent, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { PRIVILEGE_CHECKIN } from '../constants'; -import { buildStatusString, formatWaitTime, getTagColor, getTagType, trimVisitNumber } from '../helpers/functions'; +import { buildStatusString, formatWaitTime, getTagColor, trimVisitNumber } from '../helpers/functions'; import PastVisit from '../past-visit/past-visit.component'; import PatientSearch from '../patient-search/patient-search.component'; import StatusIcon from '../queue-entry-table-components/status-icon.component'; -import { SearchTypes } from '../types'; import { getOriginFromPathName } from './active-visits-table.resource'; import styles from './active-visits-table.scss'; import EditActionsMenu from './edit-action-menu.components'; -import { usePatientQueuesList, useParentLocation } from './patient-queues.resource'; +import { usePatientQueuesList } from './patient-queues.resource'; import PickPatientActionMenu from '../queue-entry-table-components/pick-patient-queue-entry-menu.component'; import EmptyState from '../utils/empty-state/empty-state.component'; import ViewActionsMenu from './view-action-menu.components'; import CurrentVisit from '../current-visit/current-visit-summary.component'; +import NotesActionsMenu from './notes-action-menu.components'; type FilterProps = { rowIds: Array; @@ -110,7 +107,6 @@ const ActiveVisitsTable: React.FC = ({ status }) => { const [viewState, setViewState] = useState<{ selectedPatientUuid: string }>(null); const layout = useLayoutType(); const config = useConfig() as ConfigObject; - const useQueueTableTabs = config.showQueueTableTab; const currentPathName: string = window.location.pathname; const fromPage: string = getOriginFromPathName(currentPathName); @@ -191,6 +187,7 @@ const ActiveVisitsTable: React.FC = ({ status }) => { true} /> + ), }, diff --git a/packages/esm-patient-queues-app/src/active-visits/notes-action-menu.components.tsx b/packages/esm-patient-queues-app/src/active-visits/notes-action-menu.components.tsx new file mode 100644 index 00000000..fe91fed9 --- /dev/null +++ b/packages/esm-patient-queues-app/src/active-visits/notes-action-menu.components.tsx @@ -0,0 +1,31 @@ +import { Button, Tooltip } from '@carbon/react'; +import { CatalogPublish } from '@carbon/react/icons'; +import React, { useCallback } from 'react'; +import { useTranslation } from 'react-i18next'; +import { showModal } from '@openmrs/esm-framework'; +import { MappedPatientQueueEntry } from './patient-queues.resource'; + +interface NotesActionsMenuProps { + note: MappedPatientQueueEntry; +} + +const NotesActionsMenu: React.FC = ({ note }) => { + const { t } = useTranslation(); + const launchNotesModal = useCallback(() => { + const dispose = showModal('notes-dialog-modal', { + queueEntry: note, + closeModal: () => dispose(), + }); + }, [note]); + return ( + + + + + + + ); +}; + +export default NotesDialog; diff --git a/packages/esm-patient-queues-app/src/active-visits/patient-queues.resource.ts b/packages/esm-patient-queues-app/src/active-visits/patient-queues.resource.ts index 89dbfc0f..73d3307b 100644 --- a/packages/esm-patient-queues-app/src/active-visits/patient-queues.resource.ts +++ b/packages/esm-patient-queues-app/src/active-visits/patient-queues.resource.ts @@ -13,6 +13,7 @@ export interface MappedPatientQueueEntry { patientUuid: string; priority: string; priorityComment: string; + comment: string; status: string; waitTime: string; locationFrom?: string; diff --git a/packages/esm-patient-queues-app/src/index.ts b/packages/esm-patient-queues-app/src/index.ts index afbd9bd8..625991f5 100644 --- a/packages/esm-patient-queues-app/src/index.ts +++ b/packages/esm-patient-queues-app/src/index.ts @@ -115,6 +115,8 @@ export const addProviderToRoomModal = getAsyncLifecycle( }, ); +export const notesModal = getAsyncLifecycle(() => import('./active-visits/notes-dialog.component'), options); + export const addQueueEntryWidget = getAsyncLifecycle( () => import('./patient-search/visit-form-queue-fields/visit-form-queue-fields.component'), options, diff --git a/packages/esm-patient-queues-app/src/patient-queue-metrics/clinic-metrics.component.tsx b/packages/esm-patient-queues-app/src/patient-queue-metrics/clinic-metrics.component.tsx index 59bc15de..134ebf7c 100644 --- a/packages/esm-patient-queues-app/src/patient-queue-metrics/clinic-metrics.component.tsx +++ b/packages/esm-patient-queues-app/src/patient-queue-metrics/clinic-metrics.component.tsx @@ -44,9 +44,6 @@ function ClinicMetrics() { value: 0, }); }); - - console.info(JSON.stringify(childLocations, null, 2)); - // receptionist ui return ( <> diff --git a/packages/esm-patient-queues-app/src/routes.json b/packages/esm-patient-queues-app/src/routes.json index c312b665..f90ecbcc 100644 --- a/packages/esm-patient-queues-app/src/routes.json +++ b/packages/esm-patient-queues-app/src/routes.json @@ -86,6 +86,10 @@ "name": "add-queue-entry-widget", "slot": "add-queue-entry-slot", "component": "addQueueEntryWidget" + }, + { + "name" :"notes-dialog-modal", + "component": "notesModal" } ] } \ No newline at end of file