@openmrs/esm-service-queues-app 8.3.2-pre.4986 → 8.3.2-pre.4998
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +12 -12
- package/dist/1060.js +1 -1
- package/dist/1421.js +1 -0
- package/dist/1421.js.map +1 -0
- package/dist/1531.js +1 -0
- package/dist/{3604.js.map → 1531.js.map} +1 -1
- package/dist/1727.js +1 -1
- package/dist/1727.js.map +1 -1
- package/dist/2022.js +1 -0
- package/dist/2022.js.map +1 -0
- package/dist/2162.js +1 -0
- package/dist/2162.js.map +1 -0
- package/dist/3199.js +1 -1
- package/dist/3341.js +1 -1
- package/dist/3341.js.map +1 -1
- package/dist/3679.js +1 -0
- package/dist/3679.js.map +1 -0
- package/dist/{7569.js → 3813.js} +1 -1
- package/dist/{7569.js.map → 3813.js.map} +1 -1
- package/dist/3828.js +1 -1
- package/dist/4568.js +1 -1
- package/dist/4568.js.map +1 -1
- package/dist/4637.js +1 -1
- package/dist/4637.js.map +1 -1
- package/dist/4911.js +1 -1
- package/dist/4911.js.map +1 -1
- package/dist/5378.js +1 -0
- package/dist/{6670.js.map → 5378.js.map} +1 -1
- package/dist/6992.js +1 -1
- package/dist/6992.js.map +1 -1
- package/dist/7121.js +1 -0
- package/dist/7121.js.map +1 -0
- package/dist/{3994.js → 8297.js} +2 -2
- package/dist/{3994.js.map → 8297.js.map} +1 -1
- package/dist/8794.js +1 -0
- package/dist/{9392.js.map → 8794.js.map} +1 -1
- package/dist/8817.js +1 -0
- package/dist/{5236.js.map → 8817.js.map} +1 -1
- package/dist/9611.js +2 -0
- package/dist/9611.js.map +1 -0
- package/dist/9646.js +1 -1
- package/dist/9646.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/openmrs-esm-service-queues-app.js.buildmanifest.json +232 -205
- package/dist/routes.json +1 -1
- package/package.json +1 -1
- package/src/active-visits/{change-status-dialog.test.tsx → change-status.modal.test.tsx} +7 -7
- package/src/active-visits/{change-status-dialog.component.tsx → change-status.modal.tsx} +4 -4
- package/src/{add-provider-queue-room/add-provider-queue-room.component.tsx → add-provider-queue-room-modal/add-provider-queue-room.modal.tsx} +3 -3
- package/src/{add-provider-queue-room → add-provider-queue-room-modal}/add-provider-queue-room.test.tsx +1 -1
- package/src/{clear-queue-entries-dialog → clear-queue-entries-modal}/clear-queue-entries.component.tsx +2 -3
- package/src/{clear-queue-entries-dialog/clear-queue-entries-dialog.component.tsx → clear-queue-entries-modal/clear-queue-entries.modal.tsx} +5 -5
- package/src/{clear-queue-entries-dialog/clear-queue-entries-dialog.test.tsx → clear-queue-entries-modal/clear-queue-entries.test.tsx} +8 -8
- package/src/current-visit/hooks/{useVitalsConceptMetadata.tsx → useVitalsConceptMetadata.ts} +1 -1
- package/src/index.ts +8 -11
- package/src/patient-queue-metrics/metrics-header.component.tsx +1 -1
- package/src/queue-table/default-queue-table.component.tsx +1 -1
- package/src/queue-table/default-queue-table.test.tsx +3 -3
- package/src/queue-table/queue-entry-actions/queue-entry-actions.modal.tsx +1 -1
- package/src/{remove-queue-entry-dialog/remove-queue-entry.component.tsx → remove-queue-entry-modal/remove-queue-entry.modal.tsx} +3 -3
- package/src/{remove-queue-entry-dialog → remove-queue-entry-modal}/remove-queue-entry.test.tsx +5 -5
- package/src/routes.json +1 -1
- package/src/transition-latest-queue-entry/transition-latest-queue-entry.component.tsx +1 -1
- package/src/transition-latest-queue-entry/transition-latest-queue-entry.resource.ts +1 -1
- package/src/transition-queue-entry/{transition-queue-entry-dialog.component.tsx → transition-queue-entry.modal.tsx} +2 -2
- package/src/transition-queue-entry/{transition-queue-entry-dialog.test.tsx → transition-queue-entry.test.tsx} +1 -1
- package/src/views/queue-table-by-status-view.component.tsx +1 -1
- package/dist/2067.js +0 -1
- package/dist/2067.js.map +0 -1
- package/dist/2760.js +0 -1
- package/dist/2760.js.map +0 -1
- package/dist/2764.js +0 -1
- package/dist/2764.js.map +0 -1
- package/dist/3604.js +0 -1
- package/dist/3649.js +0 -2
- package/dist/3649.js.map +0 -1
- package/dist/5236.js +0 -1
- package/dist/5282.js +0 -1
- package/dist/5282.js.map +0 -1
- package/dist/6670.js +0 -1
- package/dist/9392.js +0 -1
- package/dist/{3994.js.LICENSE.txt → 8297.js.LICENSE.txt} +0 -0
- package/dist/{3649.js.LICENSE.txt → 9611.js.LICENSE.txt} +0 -0
- package/src/active-visits/{change-status-dialog.scss → change-status.scss} +0 -0
- package/src/{add-provider-queue-room → add-provider-queue-room-modal}/add-provider-queue-room.resource.ts +1 -1
- /package/src/{add-provider-queue-room → add-provider-queue-room-modal}/add-provider-queue-room.scss +0 -0
- /package/src/{clear-queue-entries-dialog/clear-queue-entries-dialog.resource.ts → clear-queue-entries-modal/clear-queue-entries.resource.ts} +0 -0
- /package/src/{clear-queue-entries-dialog/clear-queue-entries-dialog.scss → clear-queue-entries-modal/clear-queue-entries.scss} +0 -0
- /package/src/create-queue-entry/hooks/{useQueueLocations.tsx → useQueueLocations.ts} +0 -0
- /package/src/queue-screen/{useActiveTickets.tsx → useActiveTickets.ts} +0 -0
- /package/src/queue-table/queue-entry-actions/{queue-entry-actions-modal.scss → queue-entry-actions.scss} +0 -0
- /package/src/{remove-queue-entry-dialog → remove-queue-entry-modal}/remove-queue-entry.resource.ts +0 -0
- /package/src/{remove-queue-entry-dialog → remove-queue-entry-modal}/remove-queue-entry.scss +0 -0
- /package/src/transition-queue-entry/{transition-queue-entry-dialog.scss → transition-queue-entry.scss} +0 -0
package/dist/routes.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":"^2.2.0","queue":"^2.4.0-0"},"extensions":[{"name":"outpatient-side-nav-ext","component":"outpatientSideNav","slot":"outpatient-sidebar-slot","online":true,"offline":true},{"name":"service-queues-dashboard-link","component":"serviceQueuesDashboardLink","slot":"homepage-dashboard-slot","meta":{"name":"service-queues","slot":"service-queues-dashboard-slot","title":"Service queues"},"online":true,"offline":true},{"name":"queue-table-by-status-menu-dashboard-link","component":"queueTableByStatusMenu","meta":{"name":"service-queues","slot":"service-queues-dashboard-slot","title":"Service queues"},"online":true,"offline":true},{"component":"root","name":"service-queues-dashboard","slot":"service-queues-dashboard-slot"},{"name":"remove-queue-entry","component":"removeQueueEntry"},{"name":"clear-all-queue-entries","component":"clearAllQueueEntries"},{"name":"previous-visit-summary-widget","component":"pastVisitSummary","slot":"previous-visit-summary-slot"},{"name":"active-visits-row-actions","component":"activeVisitsRowActions","slot":"queue-table-serve-patient-slot"},{"name":"visit-form-queue-fields","component":"visitFormQueueFields","slot":"visit-form-bottom-slot"},{"name":"queue-patient-info-queue-entry-status","component":"patientBannerQueueEntryStatus","slot":"patient-banner-tags-slot"}],"modals":[{"name":"add-provider-to-room-modal","component":"addProviderToRoomModal"},{"name":"edit-queue-entry-modal","component":"editQueueEntryModal"},{"name":"edit-queue-entry-status-modal","component":"editQueueEntryStatusModal"},{"name":"end-queue-entry-modal","component":"endQueueEntryModal"},{"name":"transition-patient-to-latest-queue-modal","component":"transitionPatientToLatestQueue"},{"name":"transition-queue-entry-modal","component":"transitionQueueEntryModal"},{"name":"transition-queue-entry-status-modal","component":"transitionQueueEntryStatusModal"},{"name":"undo-transition-queue-entry-modal","component":"undoTransitionQueueEntryModal"},{"name":"void-queue-entry-modal","component":"voidQueueEntryModal"}],"workspaces":[{"name":"service-queues-service-form","title":"addNewQueueService","component":"addNewQueueServiceWorkspace","type":"service-queues"},{"name":"service-queues-room-
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":"^2.2.0","queue":"^2.4.0-0"},"extensions":[{"name":"outpatient-side-nav-ext","component":"outpatientSideNav","slot":"outpatient-sidebar-slot","online":true,"offline":true},{"name":"service-queues-dashboard-link","component":"serviceQueuesDashboardLink","slot":"homepage-dashboard-slot","meta":{"name":"service-queues","slot":"service-queues-dashboard-slot","title":"Service queues"},"online":true,"offline":true},{"name":"queue-table-by-status-menu-dashboard-link","component":"queueTableByStatusMenu","meta":{"name":"service-queues","slot":"service-queues-dashboard-slot","title":"Service queues"},"online":true,"offline":true},{"component":"root","name":"service-queues-dashboard","slot":"service-queues-dashboard-slot"},{"name":"remove-queue-entry","component":"removeQueueEntry"},{"name":"clear-all-queue-entries","component":"clearAllQueueEntries"},{"name":"previous-visit-summary-widget","component":"pastVisitSummary","slot":"previous-visit-summary-slot"},{"name":"active-visits-row-actions","component":"activeVisitsRowActions","slot":"queue-table-serve-patient-slot"},{"name":"visit-form-queue-fields","component":"visitFormQueueFields","slot":"visit-form-bottom-slot"},{"name":"queue-patient-info-queue-entry-status","component":"patientBannerQueueEntryStatus","slot":"patient-banner-tags-slot"}],"modals":[{"name":"add-provider-to-room-modal","component":"addProviderToRoomModal"},{"name":"edit-queue-entry-modal","component":"editQueueEntryModal"},{"name":"edit-queue-entry-status-modal","component":"editQueueEntryStatusModal"},{"name":"end-queue-entry-modal","component":"endQueueEntryModal"},{"name":"transition-patient-to-latest-queue-modal","component":"transitionPatientToLatestQueue"},{"name":"transition-queue-entry-modal","component":"transitionQueueEntryModal"},{"name":"transition-queue-entry-status-modal","component":"transitionQueueEntryStatusModal"},{"name":"undo-transition-queue-entry-modal","component":"undoTransitionQueueEntryModal"},{"name":"void-queue-entry-modal","component":"voidQueueEntryModal"}],"workspaces":[{"name":"service-queues-service-form","title":"addNewQueueService","component":"addNewQueueServiceWorkspace","type":"service-queues"},{"name":"service-queues-room-workspace","title":"addNewQueueServiceRoom","component":"addNewQueueServiceRoomWorkspace","type":"service-queues"},{"name":"service-queues-linelist-filter","title":"filter","component":"queueLinelistFilterWorkspace","type":"service-queues"},{"name":"create-queue-entry-workspace","title":"addPatientToQueue","component":"createQueueEntryWorkspace","type":"service-queues","width":"wider"}],"version":"8.3.2-pre.4998"}
|
package/package.json
CHANGED
@@ -12,7 +12,7 @@ import {
|
|
12
12
|
} from '@openmrs/esm-framework';
|
13
13
|
import { configSchema, type ConfigObject } from '../config-schema';
|
14
14
|
import { updateQueueEntry } from './active-visits-table.resource';
|
15
|
-
import
|
15
|
+
import ChangeStatusModal from './change-status.modal';
|
16
16
|
|
17
17
|
const mockShowSnackbar = jest.mocked(showSnackbar);
|
18
18
|
const mockUpdateQueueEntry = jest.mocked(updateQueueEntry);
|
@@ -39,7 +39,7 @@ jest.mock('../hooks/useQueues', () => {
|
|
39
39
|
};
|
40
40
|
});
|
41
41
|
|
42
|
-
describe('
|
42
|
+
describe('ChangeStatusModal', () => {
|
43
43
|
let consoleSpy: jest.SpyInstance;
|
44
44
|
|
45
45
|
beforeEach(() => {
|
@@ -66,7 +66,7 @@ describe('ChangeStatusDialog', () => {
|
|
66
66
|
statusText: 'Updated',
|
67
67
|
} as FetchResponse);
|
68
68
|
|
69
|
-
|
69
|
+
renderChangeStatusModal();
|
70
70
|
expect(screen.getByText(/queue service/i)).toBeInTheDocument();
|
71
71
|
expect(screen.getByText(/queue priority/i)).toBeInTheDocument();
|
72
72
|
|
@@ -108,7 +108,7 @@ describe('ChangeStatusDialog', () => {
|
|
108
108
|
},
|
109
109
|
});
|
110
110
|
|
111
|
-
|
111
|
+
renderChangeStatusModal();
|
112
112
|
expect(screen.getByText(/move patient to the next service?/i)).toBeInTheDocument();
|
113
113
|
expect(screen.getByText(/queue service/i)).toBeInTheDocument();
|
114
114
|
expect(screen.getByText(/queue priority/i)).toBeInTheDocument();
|
@@ -153,7 +153,7 @@ describe('ChangeStatusDialog', () => {
|
|
153
153
|
statusText: 'Updated',
|
154
154
|
} as FetchResponse);
|
155
155
|
|
156
|
-
|
156
|
+
renderChangeStatusModal();
|
157
157
|
|
158
158
|
await user.click(screen.getByRole('button', { name: /move to next service/i }));
|
159
159
|
expect(screen.getByText(/Queue location is required/i)).toBeInTheDocument();
|
@@ -162,6 +162,6 @@ describe('ChangeStatusDialog', () => {
|
|
162
162
|
});
|
163
163
|
});
|
164
164
|
|
165
|
-
const
|
166
|
-
render(<
|
165
|
+
const renderChangeStatusModal = () => {
|
166
|
+
render(<ChangeStatusModal closeModal={() => false} queueEntry={mockMappedQueueEntry} />);
|
167
167
|
};
|
@@ -26,9 +26,9 @@ import { useQueues } from '../hooks/useQueues';
|
|
26
26
|
import { updateQueueEntry } from './active-visits-table.resource';
|
27
27
|
import { useMutateQueueEntries } from '../hooks/useQueueEntries';
|
28
28
|
import { useQueueLocations } from '../create-queue-entry/hooks/useQueueLocations';
|
29
|
-
import styles from './change-status
|
29
|
+
import styles from './change-status.scss';
|
30
30
|
|
31
|
-
interface
|
31
|
+
interface ChangeStatusModalProps {
|
32
32
|
queueEntry: MappedVisitQueueEntry;
|
33
33
|
closeModal: () => void;
|
34
34
|
}
|
@@ -56,7 +56,7 @@ interface MappedVisitQueueEntry {
|
|
56
56
|
queueLocation: string;
|
57
57
|
}
|
58
58
|
|
59
|
-
const
|
59
|
+
const ChangeStatusModal: React.FC<ChangeStatusModalProps> = ({ queueEntry, closeModal }) => {
|
60
60
|
const { t } = useTranslation();
|
61
61
|
const { concepts } = useConfig<ConfigObject>();
|
62
62
|
const { allowedPriorities, allowedStatuses } = queueEntry.queue ?? {};
|
@@ -303,4 +303,4 @@ const ChangeStatus: React.FC<ChangeStatusDialogProps> = ({ queueEntry, closeModa
|
|
303
303
|
}
|
304
304
|
};
|
305
305
|
|
306
|
-
export default
|
306
|
+
export default ChangeStatusModal;
|
@@ -39,7 +39,7 @@ import {
|
|
39
39
|
import useQueueServices from '../hooks/useQueueService';
|
40
40
|
import styles from './add-provider-queue-room.scss';
|
41
41
|
|
42
|
-
interface
|
42
|
+
interface AddProviderQueueRoomModalProps {
|
43
43
|
closeModal: () => void;
|
44
44
|
providerUuid: string;
|
45
45
|
}
|
@@ -64,7 +64,7 @@ const createProviderQueueRoomSchema = (t: TFunction) =>
|
|
64
64
|
|
65
65
|
type ProviderQueueRoomData = z.infer<ReturnType<typeof createProviderQueueRoomSchema>>;
|
66
66
|
|
67
|
-
const
|
67
|
+
const AddProviderQueueRoomModal: React.FC<AddProviderQueueRoomModalProps> = ({ closeModal, providerUuid }) => {
|
68
68
|
const { t } = useTranslation();
|
69
69
|
const { providerRoom, mutate } = useProvidersQueueRoom(providerUuid);
|
70
70
|
const isPermanentProviderQueueRoom = useIsPermanentProviderQueueRoom() ?? false;
|
@@ -291,4 +291,4 @@ const AddProviderQueueRoom: React.FC<AddProviderQueueRoomProps> = ({ closeModal,
|
|
291
291
|
);
|
292
292
|
};
|
293
293
|
|
294
|
-
export default
|
294
|
+
export default AddProviderQueueRoomModal;
|
@@ -7,7 +7,7 @@ import { useProvidersQueueRoom, useQueueRooms } from './add-provider-queue-room.
|
|
7
7
|
import { useQueueLocations } from '../create-queue-entry/hooks/useQueueLocations';
|
8
8
|
import { useQueues } from '../hooks/useQueues';
|
9
9
|
import useQueueServices from '../hooks/useQueueService';
|
10
|
-
import AddProviderQueueRoom from './add-provider-queue-room.
|
10
|
+
import AddProviderQueueRoom from './add-provider-queue-room.modal';
|
11
11
|
|
12
12
|
const mockCloseModal = jest.fn();
|
13
13
|
const mockShowSnackbar = jest.mocked(showSnackbar);
|
@@ -1,10 +1,9 @@
|
|
1
|
+
import React, { useCallback } from 'react';
|
2
|
+
import { useTranslation } from 'react-i18next';
|
1
3
|
import { Button } from '@carbon/react';
|
2
4
|
import { TrashCan } from '@carbon/react/icons';
|
3
5
|
import { isDesktop, showModal, useLayoutType } from '@openmrs/esm-framework';
|
4
|
-
import React, { useCallback } from 'react';
|
5
|
-
import { useTranslation } from 'react-i18next';
|
6
6
|
import { type QueueEntry } from '../types';
|
7
|
-
import styles from './clear-queue-entries-dialog.scss';
|
8
7
|
|
9
8
|
interface ClearQueueEntriesProps {
|
10
9
|
queueEntries: Array<QueueEntry>;
|
@@ -4,15 +4,15 @@ import { showSnackbar } from '@openmrs/esm-framework';
|
|
4
4
|
import { useTranslation } from 'react-i18next';
|
5
5
|
import { useMutateQueueEntries } from '../hooks/useQueueEntries';
|
6
6
|
import { type QueueEntry } from '../types';
|
7
|
-
import { batchClearQueueEntries } from './clear-queue-entries
|
8
|
-
import styles from './clear-queue-entries
|
7
|
+
import { batchClearQueueEntries } from './clear-queue-entries.resource';
|
8
|
+
import styles from './clear-queue-entries.scss';
|
9
9
|
|
10
|
-
interface
|
10
|
+
interface ClearQueueEntriesModalProps {
|
11
11
|
queueEntries: Array<QueueEntry>;
|
12
12
|
closeModal: () => void;
|
13
13
|
}
|
14
14
|
|
15
|
-
const
|
15
|
+
const ClearQueueEntriesModal: React.FC<ClearQueueEntriesModalProps> = ({ queueEntries, closeModal }) => {
|
16
16
|
const { t } = useTranslation();
|
17
17
|
const { mutateQueueEntries } = useMutateQueueEntries();
|
18
18
|
const [isSubmitting, setIsSubmitting] = useState(false);
|
@@ -75,4 +75,4 @@ const ClearQueueEntriesDialog: React.FC<ClearQueueEntriesDialogProps> = ({ queue
|
|
75
75
|
);
|
76
76
|
};
|
77
77
|
|
78
|
-
export default
|
78
|
+
export default ClearQueueEntriesModal;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import userEvent from '@testing-library/user-event';
|
3
3
|
import { render, screen } from '@testing-library/react';
|
4
|
-
import { batchClearQueueEntries } from './clear-queue-entries
|
5
|
-
import
|
4
|
+
import { batchClearQueueEntries } from './clear-queue-entries.resource';
|
5
|
+
import ClearQueueEntriesModal from './clear-queue-entries.modal';
|
6
6
|
|
7
7
|
const mockBatchClearQueueEntries = jest.mocked(batchClearQueueEntries);
|
8
8
|
const mockCloseModal = jest.fn();
|
@@ -12,7 +12,7 @@ const defaultProps = {
|
|
12
12
|
closeModal: mockCloseModal,
|
13
13
|
};
|
14
14
|
|
15
|
-
jest.mock('./clear-queue-entries
|
15
|
+
jest.mock('./clear-queue-entries.resource', () => ({
|
16
16
|
batchClearQueueEntries: jest.fn(),
|
17
17
|
}));
|
18
18
|
|
@@ -20,9 +20,9 @@ jest.mock('../hooks/useQueueEntries', () => ({
|
|
20
20
|
useMutateQueueEntries: () => ({ mutateQueueEntries: jest.fn() }),
|
21
21
|
}));
|
22
22
|
|
23
|
-
describe('
|
23
|
+
describe('ClearQueueEntriesModal Component', () => {
|
24
24
|
it('renders the component with warning message', () => {
|
25
|
-
|
25
|
+
renderClearQueueEntriesModal();
|
26
26
|
|
27
27
|
expect(screen.getByRole('heading', { name: 'Service queue' })).toBeInTheDocument();
|
28
28
|
expect(screen.getByText('Clear all queue entries?')).toBeInTheDocument();
|
@@ -34,13 +34,13 @@ describe('ClearQueueEntriesDialog Component', () => {
|
|
34
34
|
const user = userEvent.setup();
|
35
35
|
|
36
36
|
mockBatchClearQueueEntries.mockResolvedValue(undefined);
|
37
|
-
|
37
|
+
renderClearQueueEntriesModal();
|
38
38
|
|
39
39
|
await user.click(screen.getByText('Cancel'));
|
40
40
|
expect(mockCloseModal).toHaveBeenCalledTimes(1);
|
41
41
|
});
|
42
42
|
});
|
43
43
|
|
44
|
-
function
|
45
|
-
render(<
|
44
|
+
function renderClearQueueEntriesModal(props = {}) {
|
45
|
+
render(<ClearQueueEntriesModal {...defaultProps} {...props} />);
|
46
46
|
}
|
package/src/current-visit/hooks/{useVitalsConceptMetadata.tsx → useVitalsConceptMetadata.ts}
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
import useSWRImmutable from 'swr/immutable';
|
2
2
|
import { openmrsFetch, useConfig, formatTime, parseDate, restBaseUrl } from '@openmrs/esm-framework';
|
3
|
-
import { type Observation, type PatientVitals
|
3
|
+
import { type Observation, type PatientVitals } from '../../types';
|
4
4
|
import { type ConfigObject } from '../../config-schema';
|
5
5
|
|
6
6
|
export function useVitalsConceptMetadata() {
|
package/src/index.ts
CHANGED
@@ -35,16 +35,13 @@ export const serviceQueuesDashboardLink = getSyncLifecycle(createDashboardLink(d
|
|
35
35
|
|
36
36
|
export const homeDashboard = getAsyncLifecycle(() => import('./home.component'), options);
|
37
37
|
|
38
|
-
export const editQueueEntryStatusModal = getAsyncLifecycle(
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
moduleName,
|
43
|
-
},
|
44
|
-
);
|
38
|
+
export const editQueueEntryStatusModal = getAsyncLifecycle(() => import('./active-visits/change-status.modal'), {
|
39
|
+
featureName: 'edit queue status',
|
40
|
+
moduleName,
|
41
|
+
});
|
45
42
|
|
46
43
|
export const removeQueueEntry = getAsyncLifecycle(
|
47
|
-
() => import('./
|
44
|
+
() => import('./clear-queue-entries-modal/clear-queue-entries.component'),
|
48
45
|
{
|
49
46
|
featureName: 'remove queue entry and end visit',
|
50
47
|
moduleName,
|
@@ -52,7 +49,7 @@ export const removeQueueEntry = getAsyncLifecycle(
|
|
52
49
|
);
|
53
50
|
|
54
51
|
export const clearAllQueueEntries = getAsyncLifecycle(
|
55
|
-
() => import('./clear-queue-entries-
|
52
|
+
() => import('./clear-queue-entries-modal/clear-queue-entries.modal'),
|
56
53
|
{
|
57
54
|
featureName: 'clear all queue entries and end visits',
|
58
55
|
moduleName,
|
@@ -60,7 +57,7 @@ export const clearAllQueueEntries = getAsyncLifecycle(
|
|
60
57
|
);
|
61
58
|
|
62
59
|
export const transitionQueueEntryStatusModal = getAsyncLifecycle(
|
63
|
-
() => import('./transition-queue-entry/transition-queue-entry
|
60
|
+
() => import('./transition-queue-entry/transition-queue-entry.modal'),
|
64
61
|
{
|
65
62
|
featureName: 'transition queue status',
|
66
63
|
moduleName,
|
@@ -70,7 +67,7 @@ export const transitionQueueEntryStatusModal = getAsyncLifecycle(
|
|
70
67
|
export const pastVisitSummary = getAsyncLifecycle(() => import('./past-visit/past-visit.component'), options);
|
71
68
|
|
72
69
|
export const addProviderToRoomModal = getAsyncLifecycle(
|
73
|
-
() => import('./add-provider-queue-room/add-provider-queue-room.
|
70
|
+
() => import('./add-provider-queue-room-modal/add-provider-queue-room.modal'),
|
74
71
|
{
|
75
72
|
featureName: 'add provider queue room',
|
76
73
|
moduleName,
|
@@ -50,7 +50,7 @@ const MetricsHeader = () => {
|
|
50
50
|
/>
|
51
51
|
<MenuItem
|
52
52
|
label={t('addNewServiceRoom', 'Add new service room')}
|
53
|
-
onClick={() => launchWorkspace('service-queues-room-
|
53
|
+
onClick={() => launchWorkspace('service-queues-room-workspace')}
|
54
54
|
/>
|
55
55
|
</UserHasAccess>
|
56
56
|
<MenuItem label={t('addProviderQueueRoom', 'Add provider queue room')} onClick={launchAddProviderToRoomModal} />
|
@@ -22,7 +22,7 @@ import { useColumns } from './cells/columns.resource';
|
|
22
22
|
import { useQueueEntries } from '../hooks/useQueueEntries';
|
23
23
|
import useQueueStatuses from '../hooks/useQueueStatuses';
|
24
24
|
import useQueueServices from '../hooks/useQueueService';
|
25
|
-
import ClearQueueEntries from '../clear-queue-entries-
|
25
|
+
import ClearQueueEntries from '../clear-queue-entries-modal/clear-queue-entries.component';
|
26
26
|
import QueueTableExpandedRow from './queue-table-expanded-row.component';
|
27
27
|
import QueueTable from './queue-table.component';
|
28
28
|
import styles from './queue-table.scss';
|
@@ -10,7 +10,7 @@ import {
|
|
10
10
|
} from '__mocks__';
|
11
11
|
import React from 'react';
|
12
12
|
import { renderWithSwr } from 'tools';
|
13
|
-
import { useQueueRooms } from '../add-provider-queue-room/add-provider-queue-room.resource';
|
13
|
+
import { useQueueRooms } from '../add-provider-queue-room-modal/add-provider-queue-room.resource';
|
14
14
|
import { type ConfigObject, configSchema } from '../config-schema';
|
15
15
|
import { useQueueLocations } from '../create-queue-entry/hooks/useQueueLocations';
|
16
16
|
import { useQueueEntries } from '../hooks/useQueueEntries';
|
@@ -33,8 +33,8 @@ jest.mock('../create-queue-entry/hooks/useQueueLocations', () => ({
|
|
33
33
|
useQueueLocations: jest.fn(),
|
34
34
|
}));
|
35
35
|
|
36
|
-
jest.mock('../add-provider-queue-room/add-provider-queue-room.resource', () => ({
|
37
|
-
...jest.requireActual('../add-provider-queue-room/add-provider-queue-room.resource'),
|
36
|
+
jest.mock('../add-provider-queue-room-modal/add-provider-queue-room.resource', () => ({
|
37
|
+
...jest.requireActual('../add-provider-queue-room-modal/add-provider-queue-room.resource'),
|
38
38
|
useQueueRooms: jest.fn(),
|
39
39
|
}));
|
40
40
|
|
@@ -25,7 +25,7 @@ import { convertTime12to24, type amPm } from '../../helpers/time-helpers';
|
|
25
25
|
import { useMutateQueueEntries } from '../../hooks/useQueueEntries';
|
26
26
|
import { useQueues } from '../../hooks/useQueues';
|
27
27
|
import { type QueueEntry } from '../../types';
|
28
|
-
import styles from './queue-entry-actions
|
28
|
+
import styles from './queue-entry-actions.scss';
|
29
29
|
|
30
30
|
interface QueueEntryActionModalProps {
|
31
31
|
queueEntry: QueueEntry;
|
@@ -8,12 +8,12 @@ import { useCheckedInAppointments, endQueueEntry } from './remove-queue-entry.re
|
|
8
8
|
import { useMutateQueueEntries } from '../hooks/useQueueEntries';
|
9
9
|
import styles from './remove-queue-entry.scss';
|
10
10
|
|
11
|
-
interface
|
11
|
+
interface RemoveQueueEntryModalProps {
|
12
12
|
queueEntry: MappedQueueEntry;
|
13
13
|
closeModal: () => void;
|
14
14
|
}
|
15
15
|
|
16
|
-
const
|
16
|
+
const RemoveQueueEntryModal: React.FC<RemoveQueueEntryModalProps> = ({ queueEntry, closeModal }) => {
|
17
17
|
const { t } = useTranslation();
|
18
18
|
const { currentVisit } = useVisit(queueEntry.patientUuid);
|
19
19
|
const { mutateQueueEntries } = useMutateQueueEntries();
|
@@ -97,4 +97,4 @@ const RemoveQueueEntryDialog: React.FC<RemoveQueueEntryDialogProps> = ({ queueEn
|
|
97
97
|
);
|
98
98
|
};
|
99
99
|
|
100
|
-
export default
|
100
|
+
export default RemoveQueueEntryModal;
|
package/src/{remove-queue-entry-dialog → remove-queue-entry-modal}/remove-queue-entry.test.tsx
RENAMED
@@ -4,11 +4,11 @@ import { render, screen } from '@testing-library/react';
|
|
4
4
|
import { getDefaultsFromConfigSchema, useConfig } from '@openmrs/esm-framework';
|
5
5
|
import { type ConfigObject, configSchema } from '../config-schema';
|
6
6
|
import { type MappedQueueEntry } from '../types';
|
7
|
-
import
|
7
|
+
import RemoveQueueEntryModal from './remove-queue-entry.modal';
|
8
8
|
|
9
9
|
const mockUseConfig = jest.mocked(useConfig<ConfigObject>);
|
10
10
|
|
11
|
-
describe('
|
11
|
+
describe('RemoveQueueEntryModal', () => {
|
12
12
|
const queueEntry = {
|
13
13
|
queueUuid: 'fa1e98f1-f002-4174-9e55-34d60951e710',
|
14
14
|
queueEntryUuid: '712289ab-32c0-430f-87b6-d9c1e4e4686e',
|
@@ -23,9 +23,9 @@ describe('RemoveQueueEntryDialog', () => {
|
|
23
23
|
});
|
24
24
|
});
|
25
25
|
|
26
|
-
it('renders
|
26
|
+
it('renders the remove queue entry modal content', () => {
|
27
27
|
const closeModal = jest.fn();
|
28
|
-
render(<
|
28
|
+
render(<RemoveQueueEntryModal queueEntry={queueEntry} closeModal={closeModal} />);
|
29
29
|
|
30
30
|
expect(screen.getByText('Service queue')).toBeInTheDocument();
|
31
31
|
expect(screen.getByText('Remove patient from queue and end active visit?')).toBeInTheDocument();
|
@@ -38,7 +38,7 @@ describe('RemoveQueueEntryDialog', () => {
|
|
38
38
|
const user = userEvent.setup();
|
39
39
|
const closeModal = jest.fn();
|
40
40
|
|
41
|
-
render(<
|
41
|
+
render(<RemoveQueueEntryModal queueEntry={queueEntry} closeModal={closeModal} />);
|
42
42
|
|
43
43
|
await user.click(screen.getByText('Cancel'));
|
44
44
|
expect(closeModal).toHaveBeenCalledTimes(1);
|
package/src/routes.json
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import React
|
1
|
+
import React from 'react';
|
2
2
|
import { useTranslation } from 'react-i18next';
|
3
3
|
import { useLatestQueueEntry } from './transition-latest-queue-entry.resource';
|
4
4
|
import TransitionQueueEntryModal from '../queue-table/queue-entry-actions/transition-queue-entry.modal';
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { type FetchResponse, openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
|
2
1
|
import useSWR from 'swr';
|
2
|
+
import { type FetchResponse, openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
|
3
3
|
import { type QueueEntry } from '../types';
|
4
4
|
|
5
5
|
export function useLatestQueueEntry(patientUuid: string) {
|
@@ -10,7 +10,7 @@ import {
|
|
10
10
|
} from '../active-visits/active-visits-table.resource';
|
11
11
|
import { requeueQueueEntry } from './transition-queue-entry.resource';
|
12
12
|
import { useMutateQueueEntries } from '../hooks/useQueueEntries';
|
13
|
-
import styles from './transition-queue-entry
|
13
|
+
import styles from './transition-queue-entry.scss';
|
14
14
|
|
15
15
|
interface TransitionQueueEntryModalProps {
|
16
16
|
closeModal: () => void;
|
@@ -45,7 +45,7 @@ const TransitionQueueEntryModal: React.FC<TransitionQueueEntryModalProps> = ({ c
|
|
45
45
|
endedAt,
|
46
46
|
queueEntry?.sortWeight,
|
47
47
|
).then(
|
48
|
-
(
|
48
|
+
() => {
|
49
49
|
serveQueueEntry(queueEntry?.queue.name, queueEntry?.visitQueueNumber, 'serving').then(({ status }) => {
|
50
50
|
showSnackbar({
|
51
51
|
isLowContrast: true,
|
@@ -9,7 +9,7 @@ import {
|
|
9
9
|
updateQueueEntry,
|
10
10
|
} from '../active-visits/active-visits-table.resource';
|
11
11
|
import { requeueQueueEntry } from './transition-queue-entry.resource';
|
12
|
-
import TransitionQueueEntryModal from './transition-queue-entry
|
12
|
+
import TransitionQueueEntryModal from './transition-queue-entry.modal';
|
13
13
|
|
14
14
|
const mockNavigate = jest.mocked(navigate);
|
15
15
|
const mockUseConfig = jest.mocked(useConfig<ConfigObject>);
|
@@ -4,7 +4,7 @@ import { useQueue } from '../hooks/useQueue';
|
|
4
4
|
import QueueTablesForAllStatuses from './queue-tables-for-all-statuses.component';
|
5
5
|
|
6
6
|
const QueueTableByStatusView: React.FC = () => {
|
7
|
-
const { queueUuid
|
7
|
+
const { queueUuid } = useParams();
|
8
8
|
const { queue, isLoading: isLoadingQueue, error } = useQueue(queueUuid);
|
9
9
|
|
10
10
|
return <QueueTablesForAllStatuses selectedQueue={queue} isLoadingQueue={isLoadingQueue} errorFetchingQueue={error} />;
|