Skip to content

Commit

Permalink
Rename files and move them around
Browse files Browse the repository at this point in the history
  • Loading branch information
brandones committed Aug 5, 2024
1 parent 659cdc5 commit 95ab9e0
Show file tree
Hide file tree
Showing 19 changed files with 58 additions and 185 deletions.
2 changes: 1 addition & 1 deletion packages/esm-ward-app/src/beds/occupied-bed.component.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React from 'react';
import { useTranslation } from 'react-i18next';
import { Tag } from '@carbon/react';
import { type WardBedProps } from '../ward-view/ward-bed.component';
import WardPatientCard from '../ward-patient-card/ward-patient-card';
import WardPatientCard from '../ward-patient-card/ward-patient-card.component';
import styles from './occupied-bed.scss';

const OccupiedBed: React.FC<WardBedProps> = ({ wardPatients, bed }) => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import WardPatientCard from '../ward-patient-card/ward-patient-card';
import WardPatientCard from '../ward-patient-card/ward-patient-card.component';
import styles from './unassigned-patient.scss';
import { type WardPatient } from '../types';

Expand Down
32 changes: 32 additions & 0 deletions packages/esm-ward-app/src/hooks/useCurrentWardCardConfig.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import { useConfig } from '@openmrs/esm-framework';
import { useMemo } from 'react';
import { type WardConfigObject, defaultWardPatientCard } from '../config-schema';
import useWardLocation from './useWardLocation';

export function useCurrentWardCardConfig() {
const { wardPatientCards } = useConfig<WardConfigObject>();
const {
location: { uuid: locationUuid },
} = useWardLocation();

const currentWardCardConfig = useMemo(() => {
const cardDefinition = wardPatientCards.cardDefinitions.find((cardDef) => {
return (
cardDef.appliedTo == null ||
cardDef.appliedTo?.length == 0 ||
cardDef.appliedTo.some((criteria) => criteria.location == locationUuid)
);
});

return cardDefinition;
}, [wardPatientCards, locationUuid]);

if (!currentWardCardConfig) {
console.warn(
'No ward card configuration has `appliedTo` criteria that matches the current location. Using the default configuration.',
);
return defaultWardPatientCard;
}

return currentWardCardConfig;
}
2 changes: 1 addition & 1 deletion packages/esm-ward-app/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export const wardDashboardLink = getSyncLifecycle(createDashboardLink({ name: 'w

// t('admissionRequests', 'Admission Requests')
export const admissionRequestWorkspace = getAsyncLifecycle(
() => import('./ward-workspace/admission-requests.workspace'),
() => import('./ward-workspace/admission-request-workspace/admission-requests.workspace'),
options,
);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import { type WardPatientCardExtensionProps } from '../ward-patient-card';
import { type WardPatientCardExtensionProps } from '../ward-patient-card.component';
import WardPatientCodedObsTags from '../row-elements/ward-patient-coded-obs-tags';
import { useConfig } from '@openmrs/esm-framework';
import { type ColoredObsTagsCardRowConfigObject } from '../../config-schema-extension-colored-obs-tags';
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,46 +1,16 @@
import React, { useMemo } from 'react';
import React from 'react';
import { useTranslation } from 'react-i18next';
import { InlineNotification } from '@carbon/react';
import { type Patient, useConfig, type Visit } from '@openmrs/esm-framework';
import { defaultWardPatientCard, type WardConfigObject } from '../config-schema';
import useWardLocation from '../hooks/useWardLocation';
import { type WardConfigObject } from '../config-schema';
import WardPatientAge from './row-elements/ward-patient-age';
import WardPatientTimeOnWard from './row-elements/ward-patient-time-on-ward';
import WardPatientTimeSinceAdmission from './row-elements/ward-patient-time-since-admission';
import WardPatientObs from './row-elements/ward-patient-obs';
import WardPatientIdentifier from './row-elements/ward-patient-identifier';
import WardPatientAddress from './row-elements/ward-patient-header-address';
import type { WardPatientCardProps } from './ward-patient-card';
import { type Encounter } from '../types';

export function useCurrentWardCardConfig() {
const { wardPatientCards } = useConfig<WardConfigObject>();
const {
location: { uuid: locationUuid },
} = useWardLocation();

const currentWardCardConfig = useMemo(() => {
const cardDefinition = wardPatientCards.cardDefinitions.find((cardDef) => {
return (
cardDef.appliedTo == null ||
cardDef.appliedTo?.length == 0 ||
cardDef.appliedTo.some((criteria) => criteria.location == locationUuid)
);
});

return cardDefinition;
}, [wardPatientCards, locationUuid]);

if (!currentWardCardConfig) {
console.warn(
'No ward card configuration has `appliedTo` criteria that matches the current location. Using the default configuration.',
);
return defaultWardPatientCard;
}

return currentWardCardConfig;
}

export interface WardPatientCardElementProps {
elementId: string;
patient: Patient;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import React, { useMemo } from 'react';
import { type Encounter, type Bed } from '../types';
import { useCurrentWardCardConfig, WardPatientCardElement } from './ward-patient-card-row.resources';
import { WardPatientCardElement } from './ward-patient-card-element.component';
import { useCurrentWardCardConfig } from '../hooks/useCurrentWardCardConfig';
import styles from './ward-patient-card.scss';
import { ExtensionSlot, getPatientName, launchWorkspace, type Patient, type Visit } from '@openmrs/esm-framework';
import WardPatientName from './row-elements/ward-patient-name';
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
import React from 'react';
import { screen } from '@testing-library/react';
import { defineConfigSchema, getLocale } from '@openmrs/esm-framework';
import { useInpatientRequest } from '../hooks/useInpatientRequest';
import { configSchema } from '../config-schema';
import useWardLocation from '../hooks/useWardLocation';
import { defineConfigSchema } from '@openmrs/esm-framework';
import { useInpatientRequest } from '../../hooks/useInpatientRequest';
import { configSchema } from '../../config-schema';
import useWardLocation from '../../hooks/useWardLocation';
import AdmissionRequestsWorkspace from './admission-requests.workspace';
import { mockInpatientRequest, mockLocationInpatientWard } from '../../../../__mocks__';
import { renderWithSwr } from '../../../../tools';
import { mockInpatientRequest, mockLocationInpatientWard } from '../../../../../__mocks__';
import { renderWithSwr } from '../../../../../tools';

defineConfigSchema('@openmrs/esm-ward-app', configSchema);

jest.mock('../hooks/useInpatientRequest', () => ({
jest.mock('../../hooks/useInpatientRequest', () => ({
useInpatientRequest: jest.fn(),
}));
jest.mock('../hooks/useWardLocation', () => jest.fn());
jest.mock('../../hooks/useWardLocation', () => jest.fn());

const mockUseWardLocation = useWardLocation as jest.Mock;
mockUseWardLocation.mockReturnValue({
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import React from 'react';
import styles from './admission-requests-workspace.scss';
import AdmissionRequestCard from './components/admission-request-card.component';
import AdmissionRequestCard from '../admission-request-card/admission-request-card.component';
import { Search } from '@carbon/react';
import { ErrorState } from '@openmrs/esm-framework';
import { useTranslation } from 'react-i18next';
import { useInpatientRequest } from '../hooks/useInpatientRequest';
import { InpatientRequest } from '../types';
import { useInpatientRequest } from '../../hooks/useInpatientRequest';
import { type InpatientRequest } from '../../types';

interface AdmissionRequestsWorkspaceProps {}
const AdmissionRequestsWorkspace: React.FC<AdmissionRequestsWorkspaceProps> = () => {
Expand Down Expand Up @@ -42,12 +42,14 @@ const AdmissionRequestsWorkspace: React.FC<AdmissionRequestsWorkspaceProps> = ()
) : (
<>
{inpatientRequests.map((request: InpatientRequest, i) => (
<AdmissionRequestCard key={`admission-request-card-${i}`}
<AdmissionRequestCard
key={`admission-request-card-${i}`}
patient={request.patient}
visit={request.visit}
disposition={request.disposition}
dispositionEncounter={request.dispositionEncounter}
dispositionType={request.dispositionType} />
dispositionType={request.dispositionType}
/>
))}
</>
)}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import React from 'react';
import type { WardPatient } from '../../types';
import {
useCurrentWardCardConfig,
WardPatientCardElement,
} from '../../ward-patient-card/ward-patient-card-row.resources';
import { WardPatientCardElement } from '../../ward-patient-card/ward-patient-card-element.component';
import { useCurrentWardCardConfig } from '../../hooks/useCurrentWardCardConfig';
import styles from './style.scss';

const WardPatientWorkspaceBanner = (props: WardPatient) => {
Expand Down
1 change: 1 addition & 0 deletions packages/esm-ward-app/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"female": "Female",
"fetchingEmrConfigurationFailed": "Fetching EMR configuration failed. Try refreshing the page or contact your system administrator.",
"inpatientNotesWorkspaceTitle": "In-patient notes",
"invalidElementIdCopy": "The configuration provided is invalid. It contains the following unknown element ID:",
"invalidLocationSpecified": "Invalid location specified",
"invalidWardLocation": "Invalid ward location: {{location}}",
"male": "Male",
Expand Down

0 comments on commit 95ab9e0

Please sign in to comment.