@openmrs/esm-appointments-app 8.5.1-pre.5723 → 8.5.1-pre.5754

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.
Files changed (93) hide show
  1. package/.turbo/turbo-build.log +17 -17
  2. package/dist/1431.js +1 -0
  3. package/dist/1431.js.map +1 -0
  4. package/dist/1559.js +2 -0
  5. package/dist/1559.js.map +1 -0
  6. package/dist/3379.js +1 -0
  7. package/dist/3379.js.map +1 -0
  8. package/dist/4300.js +1 -1
  9. package/dist/4599.js +1 -0
  10. package/dist/4599.js.map +1 -0
  11. package/dist/4863.js +1 -0
  12. package/dist/4863.js.map +1 -0
  13. package/dist/4889.js +1 -1
  14. package/dist/4889.js.map +1 -1
  15. package/dist/5160.js +1 -0
  16. package/dist/5160.js.map +1 -0
  17. package/dist/525.js +1 -0
  18. package/dist/525.js.map +1 -0
  19. package/dist/5449.js +1 -1
  20. package/dist/5449.js.map +1 -1
  21. package/dist/5755.js +1 -0
  22. package/dist/5755.js.map +1 -0
  23. package/dist/592.js +1 -1
  24. package/dist/592.js.map +1 -1
  25. package/dist/6467.js +1 -0
  26. package/dist/6467.js.map +1 -0
  27. package/dist/66.js +2 -0
  28. package/dist/66.js.LICENSE.txt +9 -0
  29. package/dist/66.js.map +1 -0
  30. package/dist/6766.js +2 -0
  31. package/dist/{7881.js.LICENSE.txt → 6766.js.LICENSE.txt} +0 -10
  32. package/dist/6766.js.map +1 -0
  33. package/dist/7698.js +1 -1
  34. package/dist/7698.js.map +1 -1
  35. package/dist/8784.js +1 -0
  36. package/dist/8784.js.map +1 -0
  37. package/dist/main.js +1 -1
  38. package/dist/main.js.map +1 -1
  39. package/dist/openmrs-esm-appointments-app.js +1 -1
  40. package/dist/openmrs-esm-appointments-app.js.buildmanifest.json +278 -154
  41. package/dist/openmrs-esm-appointments-app.js.map +1 -1
  42. package/dist/routes.json +1 -1
  43. package/package.json +1 -1
  44. package/src/appointments/common-components/appointments-table.component.tsx +1 -0
  45. package/src/appointments/scheduled/scheduled-appointments.component.tsx +2 -2
  46. package/src/appointments.component.tsx +7 -12
  47. package/src/appointments.test.tsx +1 -3
  48. package/src/calendar/appointments-calendar-view.component.tsx +8 -10
  49. package/src/calendar/header/calendar-header.component.tsx +2 -2
  50. package/src/calendar/monthly/monthly-calendar-view.component.tsx +2 -2
  51. package/src/calendar/monthly/monthly-header.component.tsx +4 -4
  52. package/src/calendar/monthly/monthly-workload-view.component.tsx +2 -2
  53. package/src/form/appointments-form.workspace.tsx +2 -2
  54. package/src/header/appointments-header.component.tsx +12 -18
  55. package/src/hooks/useAppointmentList.ts +3 -3
  56. package/src/hooks/useClinicalMetrics.ts +3 -3
  57. package/src/hooks/usePatientAppointmentHistory.ts +2 -2
  58. package/src/hooks/useUnscheduledAppointments.ts +2 -2
  59. package/src/index.ts +15 -0
  60. package/src/metrics/metrics-cards/highest-volume-service.extension.tsx +26 -0
  61. package/src/metrics/metrics-cards/metrics-card.component.tsx +47 -0
  62. package/src/metrics/{metrics-card.scss → metrics-cards/metrics-card.scss} +0 -7
  63. package/src/metrics/metrics-cards/metrics-error-card.component.tsx +30 -0
  64. package/src/metrics/metrics-cards/metrics-error-card.scss +33 -0
  65. package/src/metrics/metrics-cards/providers-booked.extension.tsx +21 -0
  66. package/src/metrics/metrics-cards/scheduled-appointments.extension.tsx +33 -0
  67. package/src/metrics/metrics-container.component.tsx +19 -0
  68. package/src/metrics/metrics-container.scss +22 -0
  69. package/src/metrics/metrics-header.component.tsx +2 -2
  70. package/src/routes.json +18 -0
  71. package/src/store.ts +46 -0
  72. package/src/workload/monthly-view-workload/monthly-view.component.tsx +2 -2
  73. package/translations/en.json +3 -1
  74. package/dist/1293.js +0 -1
  75. package/dist/1293.js.map +0 -1
  76. package/dist/1625.js +0 -1
  77. package/dist/1625.js.map +0 -1
  78. package/dist/2164.js +0 -2
  79. package/dist/2164.js.map +0 -1
  80. package/dist/2694.js +0 -1
  81. package/dist/2694.js.map +0 -1
  82. package/dist/6708.js +0 -1
  83. package/dist/6708.js.map +0 -1
  84. package/dist/7881.js +0 -2
  85. package/dist/7881.js.map +0 -1
  86. package/dist/8963.js +0 -1
  87. package/dist/8963.js.map +0 -1
  88. package/src/hooks/selected-date-context.ts +0 -23
  89. package/src/metrics/appointments-metrics.component.tsx +0 -72
  90. package/src/metrics/appointments-metrics.scss +0 -14
  91. package/src/metrics/appointments-metrics.test.tsx +0 -42
  92. package/src/metrics/metrics-card.component.tsx +0 -49
  93. /package/dist/{2164.js.LICENSE.txt → 1559.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"openmrs-esm-appointments-app.js","mappings":"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","sources":["webpack://@openmrs/esm-appointments-app/webpack/runtime/create fake namespace object","webpack://@openmrs/esm-appointments-app/webpack/runtime/load script","webpack://@openmrs/esm-appointments-app/webpack/runtime/consumes","webpack://@openmrs/esm-appointments-app/webpack/container-entry","webpack://@openmrs/esm-appointments-app/webpack/bootstrap","webpack://@openmrs/esm-appointments-app/webpack/runtime/compat get default export","webpack://@openmrs/esm-appointments-app/webpack/runtime/define property getters","webpack://@openmrs/esm-appointments-app/webpack/runtime/ensure chunk","webpack://@openmrs/esm-appointments-app/webpack/runtime/get javascript chunk filename","webpack://@openmrs/esm-appointments-app/webpack/runtime/global","webpack://@openmrs/esm-appointments-app/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-appointments-app/webpack/runtime/make namespace object","webpack://@openmrs/esm-appointments-app/webpack/runtime/sharing","webpack://@openmrs/esm-appointments-app/webpack/runtime/publicPath","webpack://@openmrs/esm-appointments-app/webpack/runtime/jsonp chunk loading","webpack://@openmrs/esm-appointments-app/webpack/runtime/nonce","webpack://@openmrs/esm-appointments-app/webpack/startup"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","exists","get","eagerOnly","findSingletonVersionKey","getInvalidSingletonVersionMessage","fail","warn","useFallback","loadSingletonVersion","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","moduleMap","Promise","all","__webpack_require__","e","then","module","getScope","R","o","resolve","Error","undefined","init","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","__webpack_modules__","call","m","c","n","getter","__esModule","a","Object","getPrototypeOf","obj","t","value","mode","this","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","defineProperty","enumerable","f","chunkId","keys","reduce","promises","u","g","globalThis","Function","window","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","fn","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","initPromises","initTokens","initToken","scope","uniqueName","register","version","factory","eager","versions","activeVersion","loaded","from","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","replace","p","str","split","map","exec","apply","b","range","pop","entry","filtered","requiredVersion","msg","console","scopeName","fallback","failAsNotExist","promise","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
1
+ {"version":3,"file":"openmrs-esm-appointments-app.js","mappings":"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","sources":["webpack://@openmrs/esm-appointments-app/webpack/runtime/create fake namespace object","webpack://@openmrs/esm-appointments-app/webpack/runtime/load script","webpack://@openmrs/esm-appointments-app/webpack/runtime/consumes","webpack://@openmrs/esm-appointments-app/webpack/container-entry","webpack://@openmrs/esm-appointments-app/webpack/bootstrap","webpack://@openmrs/esm-appointments-app/webpack/runtime/compat get default export","webpack://@openmrs/esm-appointments-app/webpack/runtime/define property getters","webpack://@openmrs/esm-appointments-app/webpack/runtime/ensure chunk","webpack://@openmrs/esm-appointments-app/webpack/runtime/get javascript chunk filename","webpack://@openmrs/esm-appointments-app/webpack/runtime/global","webpack://@openmrs/esm-appointments-app/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-appointments-app/webpack/runtime/make namespace object","webpack://@openmrs/esm-appointments-app/webpack/runtime/sharing","webpack://@openmrs/esm-appointments-app/webpack/runtime/publicPath","webpack://@openmrs/esm-appointments-app/webpack/runtime/jsonp chunk loading","webpack://@openmrs/esm-appointments-app/webpack/runtime/nonce","webpack://@openmrs/esm-appointments-app/webpack/startup"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","exists","get","eagerOnly","findSingletonVersionKey","getInvalidSingletonVersionMessage","fail","warn","useFallback","loadSingletonVersion","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","moduleMap","Promise","all","__webpack_require__","e","then","module","getScope","R","o","resolve","Error","undefined","init","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","__webpack_modules__","call","m","c","n","getter","__esModule","a","Object","getPrototypeOf","obj","t","value","mode","this","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","defineProperty","enumerable","f","chunkId","keys","reduce","promises","u","g","globalThis","Function","window","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","fn","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","initPromises","initTokens","initToken","scope","uniqueName","register","version","factory","eager","versions","activeVersion","loaded","from","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","replace","p","str","split","map","exec","apply","b","range","pop","entry","filtered","requiredVersion","msg","console","scopeName","fallback","failAsNotExist","promise","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
package/dist/routes.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":"^2.2.0"},"extensions":[{"name":"home-appointments","slot":"homepage-widgets-slot","component":"homeAppointments","order":1},{"name":"clinical-appointments-dashboard-link","slot":"homepage-dashboard-slot","component":"appointmentsDashboardLink","meta":{"name":"appointments","slot":"clinical-appointments-dashboard-slot","title":"Appointments"},"order":2},{"component":"root","name":"clinical-appointments-dashboard","slot":"clinical-appointments-dashboard-slot"},{"name":"appointments-dashboard","slot":"appointments-dashboard-slot","component":"appointmentsDashboard"},{"name":"appointments-calendar-dashboard-link","slot":"calendar-dashboard-slot","component":"appointmentsCalendarDashboardLink"},{"name":"todays-appointments-dashboard","slot":"todays-appointment-slot","component":"homeAppointments"},{"name":"expected-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"checked-in-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"completed-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"missed-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"cancelled-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"early-appointments-panel","component":"earlyAppointments"},{"name":"patient-appointments-summary-dashboard","component":"patientAppointmentsSummaryDashboardLink","slot":"patient-chart-dashboard-slot","order":11,"meta":{"columns":1,"columnSpan":1,"hideDashboardTitle":true,"path":"Appointments","slot":"patient-chart-appointments-dashboard-slot","title":"Appointments"}},{"name":"appointments-details-widget","component":"patientAppointmentsDetailedSummary","slot":"patient-chart-appointments-dashboard-slot","meta":{"columnSpan":1}},{"name":"patient-upcoming-appointment-widget","component":"patientUpcomingAppointmentsWidget","slot":"visit-form-top-slot"},{"name":"search-patient","component":"searchPatient"},{"name":"home-appointments-tile","slot":"home-metrics-tiles-slot","component":"homeAppointmentsTile"}],"modals":[{"name":"end-appointment-modal","component":"endAppointmentModal"},{"name":"cancel-appointment-modal","component":"cancelAppointmentModal"}],"workspaces":[{"name":"appointments-form-workspace","component":"appointmentsFormWorkspace","title":"createNewAppointment","type":"form"}],"version":"8.5.1-pre.5723"}
1
+ {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":"^2.2.0"},"extensions":[{"name":"home-appointments","slot":"homepage-widgets-slot","component":"homeAppointments","order":1},{"name":"clinical-appointments-dashboard-link","slot":"homepage-dashboard-slot","component":"appointmentsDashboardLink","meta":{"name":"appointments","slot":"clinical-appointments-dashboard-slot","title":"Appointments"},"order":2},{"component":"root","name":"clinical-appointments-dashboard","slot":"clinical-appointments-dashboard-slot"},{"name":"appointments-dashboard","slot":"appointments-dashboard-slot","component":"appointmentsDashboard"},{"name":"appointments-calendar-dashboard-link","slot":"calendar-dashboard-slot","component":"appointmentsCalendarDashboardLink"},{"name":"todays-appointments-dashboard","slot":"todays-appointment-slot","component":"homeAppointments"},{"name":"expected-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"checked-in-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"completed-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"missed-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"cancelled-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"early-appointments-panel","component":"earlyAppointments"},{"name":"patient-appointments-summary-dashboard","component":"patientAppointmentsSummaryDashboardLink","slot":"patient-chart-dashboard-slot","order":11,"meta":{"columns":1,"columnSpan":1,"hideDashboardTitle":true,"path":"Appointments","slot":"patient-chart-appointments-dashboard-slot","title":"Appointments"}},{"name":"appointments-details-widget","component":"patientAppointmentsDetailedSummary","slot":"patient-chart-appointments-dashboard-slot","meta":{"columnSpan":1}},{"name":"patient-upcoming-appointment-widget","component":"patientUpcomingAppointmentsWidget","slot":"visit-form-top-slot"},{"name":"search-patient","component":"searchPatient"},{"name":"home-appointments-tile","slot":"home-metrics-tiles-slot","component":"homeAppointmentsTile"},{"name":"metrics-card-scheduled-appointments","component":"metricsCardScheduledAppointments","slot":"appointments-metrics-slot","order":1},{"name":"metrics-card-highest-volume-service","component":"metricsCardHighestVolumeService","slot":"appointments-metrics-slot","order":2},{"name":"metrics-card-providers-booked","component":"metricsCardProvidersBooked","slot":"appointments-metrics-slot","order":3}],"modals":[{"name":"end-appointment-modal","component":"endAppointmentModal"},{"name":"cancel-appointment-modal","component":"cancelAppointmentModal"}],"workspaces":[{"name":"appointments-form-workspace","component":"appointmentsFormWorkspace","title":"createNewAppointment","type":"form"}],"version":"8.5.1-pre.5754"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmrs/esm-appointments-app",
3
- "version": "8.5.1-pre.5723",
3
+ "version": "8.5.1-pre.5754",
4
4
  "description": "Appointments front-end module for O3",
5
5
  "browser": "dist/openmrs-esm-appointments-app.js",
6
6
  "main": "src/index.ts",
@@ -143,6 +143,7 @@ const AppointmentsTable: React.FC<AppointmentsTableProps> = ({
143
143
  ? t('appointmentsScheduledForToday', 'appointments scheduled for today')
144
144
  : `${t(tableHeading)} ${t('appointments_lower', 'appointments')}`
145
145
  }
146
+ // TODO @brandones: Make this a workspace, not an extension
146
147
  launchForm={() => launchWorkspace('search-patient')}
147
148
  />
148
149
  );
@@ -12,7 +12,7 @@ import {
12
12
  useLayoutType,
13
13
  isDesktop,
14
14
  } from '@openmrs/esm-framework';
15
- import { useSelectedDateContext } from '../../hooks/selected-date-context';
15
+ import { useAppointmentsStore } from '../../store';
16
16
  import styles from './scheduled-appointments.scss';
17
17
 
18
18
  dayjs.extend(isSameOrBefore);
@@ -27,7 +27,7 @@ const scheduledAppointmentsPanelsSlot = 'scheduled-appointments-panels-slot';
27
27
 
28
28
  const ScheduledAppointments: React.FC<ScheduledAppointmentsProps> = ({ appointmentServiceTypes }) => {
29
29
  const { t } = useTranslation();
30
- const { selectedDate } = useSelectedDateContext();
30
+ const { selectedDate } = useAppointmentsStore();
31
31
  const layout = useLayoutType();
32
32
  const responsiveSize = isDesktop(layout) ? 'sm' : 'md';
33
33
 
@@ -1,17 +1,16 @@
1
- import React, { useEffect, useState } from 'react';
1
+ import React, { useEffect } from 'react';
2
2
  import dayjs from 'dayjs';
3
3
  import { useTranslation } from 'react-i18next';
4
4
  import { useParams } from 'react-router-dom';
5
5
  import { omrsDateFormat } from './constants';
6
- import { SelectedDateContextProvider } from './hooks/selected-date-context';
7
6
  import AppointmentTabs from './appointments/appointment-tabs.component';
8
7
  import AppointmentsHeader from './header/appointments-header.component';
9
- import AppointmentMetrics from './metrics/appointments-metrics.component';
8
+ import AppointmentMetrics from './metrics/metrics-container.component';
9
+ import { useAppointmentsStore, setAppointmentServiceTypes, setSelectedDate } from './store';
10
10
 
11
11
  const Appointments: React.FC = () => {
12
12
  const { t } = useTranslation();
13
- const [appointmentServiceTypes, setAppointmentServiceTypes] = useState<Array<string>>([]);
14
- const [selectedDate, setSelectedDate] = useState(dayjs().startOf('day').format(omrsDateFormat));
13
+ const { appointmentServiceTypes } = useAppointmentsStore();
15
14
 
16
15
  const params = useParams();
17
16
 
@@ -28,15 +27,11 @@ const Appointments: React.FC = () => {
28
27
  }, [params.serviceType]);
29
28
 
30
29
  return (
31
- <SelectedDateContextProvider value={{ selectedDate, setSelectedDate }}>
32
- <AppointmentsHeader
33
- appointmentServiceTypes={appointmentServiceTypes}
34
- onChange={setAppointmentServiceTypes}
35
- title={t('appointments', 'Appointments')}
36
- />
30
+ <>
31
+ <AppointmentsHeader title={t('appointments', 'Appointments')} showServiceTypeFilter />
37
32
  <AppointmentMetrics appointmentServiceTypes={appointmentServiceTypes} />
38
33
  <AppointmentTabs appointmentServiceTypes={appointmentServiceTypes} />
39
- </SelectedDateContextProvider>
34
+ </>
40
35
  );
41
36
  };
42
37
 
@@ -11,8 +11,6 @@ describe('Appointments', () => {
11
11
 
12
12
  expect(screen.getByRole('button', { name: /appointments calendar/i })).toBeInTheDocument();
13
13
  expect(screen.getByText(/filter appointments by service type/i)).toBeInTheDocument();
14
- expect(screen.getByText(/scheduled appointments/i)).toBeInTheDocument();
15
- expect(screen.getByText(/highest volume service/i)).toBeInTheDocument();
16
- expect(screen.getByText(/providers booked/i)).toBeInTheDocument();
14
+ expect(screen.getByText(/appointments calendar/i)).toBeInTheDocument();
17
15
  });
18
16
  });
@@ -1,17 +1,17 @@
1
- import React, { useEffect, useState } from 'react';
1
+ import React, { useEffect } from 'react';
2
2
  import dayjs from 'dayjs';
3
3
  import { useParams } from 'react-router-dom';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import { omrsDateFormat } from '../constants';
6
6
  import { useAppointmentsCalendar } from '../hooks/useAppointmentsCalendar';
7
- import { SelectedDateContextProvider } from '../hooks/selected-date-context';
8
7
  import AppointmentsHeader from '../header/appointments-header.component';
9
8
  import CalendarHeader from './header/calendar-header.component';
10
9
  import MonthlyCalendarView from './monthly/monthly-calendar-view.component';
10
+ import { useAppointmentsStore, setSelectedDate } from '../store';
11
11
 
12
12
  const AppointmentsCalendarView: React.FC = () => {
13
13
  const { t } = useTranslation();
14
- const [selectedDate, setSelectedDate] = useState(dayjs().startOf('day').format(omrsDateFormat));
14
+ const { selectedDate } = useAppointmentsStore();
15
15
  const { calendarEvents } = useAppointmentsCalendar(dayjs(selectedDate).toISOString(), 'monthly');
16
16
 
17
17
  let params = useParams();
@@ -23,13 +23,11 @@ const AppointmentsCalendarView: React.FC = () => {
23
23
  }, [params.date]);
24
24
 
25
25
  return (
26
- <SelectedDateContextProvider value={{ selectedDate, setSelectedDate }}>
27
- <div data-testid="appointments-calendar">
28
- <AppointmentsHeader title={t('calendar', 'Calendar')} />
29
- <CalendarHeader />
30
- <MonthlyCalendarView events={calendarEvents} />
31
- </div>
32
- </SelectedDateContextProvider>
26
+ <div data-testid="appointments-calendar">
27
+ <AppointmentsHeader title={t('calendar', 'Calendar')} />
28
+ <CalendarHeader />
29
+ <MonthlyCalendarView events={calendarEvents} />
30
+ </div>
33
31
  );
34
32
  };
35
33
 
@@ -5,12 +5,12 @@ import { Button } from '@carbon/react';
5
5
  import { ArrowLeft } from '@carbon/react/icons';
6
6
  import { navigate } from '@openmrs/esm-framework';
7
7
  import { spaHomePage } from '../../constants';
8
- import { useSelectedDateContext } from '../../hooks/selected-date-context';
8
+ import { useAppointmentsStore } from '../../store';
9
9
  import styles from './calendar-header.scss';
10
10
 
11
11
  const CalendarHeader: React.FC = () => {
12
12
  const { t } = useTranslation();
13
- const { selectedDate } = useSelectedDateContext();
13
+ const { selectedDate } = useAppointmentsStore();
14
14
 
15
15
  const handleClick = () => {
16
16
  navigate({ to: `${spaHomePage}/appointments/${dayjs(selectedDate).format('YYYY-MM-DD')}` });
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import dayjs from 'dayjs';
3
3
  import isBetween from 'dayjs/plugin/isBetween';
4
4
  import { type DailyAppointmentsCountByService } from '../../types';
5
- import { useSelectedDateContext } from '../../hooks/selected-date-context';
5
+ import { useAppointmentsStore } from '../../store';
6
6
  import { monthDays } from '../../helpers';
7
7
  import MonthlyViewWorkload from './monthly-workload-view.component';
8
8
  import MonthlyHeader from './monthly-header.component';
@@ -15,7 +15,7 @@ interface MonthlyCalendarViewProps {
15
15
  }
16
16
 
17
17
  const MonthlyCalendarView: React.FC<MonthlyCalendarViewProps> = ({ events }) => {
18
- const { selectedDate } = useSelectedDateContext();
18
+ const { selectedDate } = useAppointmentsStore();
19
19
 
20
20
  return (
21
21
  <div className={styles.calendarViewContainer}>
@@ -4,7 +4,7 @@ import { useTranslation } from 'react-i18next';
4
4
  import { Button } from '@carbon/react';
5
5
  import { formatDate } from '@openmrs/esm-framework';
6
6
  import { omrsDateFormat } from '../../constants';
7
- import { useSelectedDateContext } from '../../hooks/selected-date-context';
7
+ import { useAppointmentsStore, setSelectedDate } from '../../store';
8
8
  import DaysOfWeekCard from './days-of-week.component';
9
9
  import styles from './monthly-header.scss';
10
10
 
@@ -12,15 +12,15 @@ const DAYS_IN_WEEK = ['SUN', 'MON', 'TUE', 'WED', 'THUR', 'FRI', 'SAT'];
12
12
 
13
13
  const MonthlyHeader: React.FC = () => {
14
14
  const { t } = useTranslation();
15
- const { selectedDate, setSelectedDate } = useSelectedDateContext();
15
+ const { selectedDate } = useAppointmentsStore();
16
16
 
17
17
  const handleSelectPrevMonth = useCallback(() => {
18
18
  setSelectedDate(dayjs(selectedDate).subtract(1, 'month').format(omrsDateFormat));
19
- }, [selectedDate, setSelectedDate]);
19
+ }, [selectedDate]);
20
20
 
21
21
  const handleSelectNextMonth = useCallback(() => {
22
22
  setSelectedDate(dayjs(selectedDate).add(1, 'month').format(omrsDateFormat));
23
- }, [selectedDate, setSelectedDate]);
23
+ }, [selectedDate]);
24
24
 
25
25
  return (
26
26
  <>
@@ -6,7 +6,7 @@ import { navigate, useLayoutType } from '@openmrs/esm-framework';
6
6
  import { spaHomePage } from '../../constants';
7
7
  import { isSameMonth } from '../../helpers';
8
8
  import { type DailyAppointmentsCountByService } from '../../types';
9
- import { useSelectedDateContext } from '../../hooks/selected-date-context';
9
+ import { useAppointmentsStore } from '../../store';
10
10
  import MonthlyWorkloadViewExpanded from './monthly-workload-view-expanded.component';
11
11
  import styles from './monthly-view-workload.scss';
12
12
 
@@ -18,7 +18,7 @@ export interface MonthlyWorkloadViewProps {
18
18
 
19
19
  const MonthlyWorkloadView: React.FC<MonthlyWorkloadViewProps> = ({ dateTime, events, showAllServices = false }) => {
20
20
  const layout = useLayoutType();
21
- const { selectedDate } = useSelectedDateContext();
21
+ const { selectedDate } = useAppointmentsStore();
22
22
 
23
23
  const currentData = useMemo(
24
24
  () =>
@@ -55,7 +55,7 @@ import {
55
55
  } from '../constants';
56
56
  import { useProviders } from '../hooks/useProviders';
57
57
  import type { Appointment, AppointmentPayload, RecurringPattern } from '../types';
58
- import { useSelectedDateContext } from '../hooks/selected-date-context';
58
+ import { useAppointmentsStore } from '../store';
59
59
  import Workload from '../workload/workload.component';
60
60
  import styles from './appointments-form.scss';
61
61
 
@@ -91,7 +91,7 @@ const AppointmentsForm: React.FC<AppointmentsFormProps & DefaultWorkspaceProps>
91
91
  const locations = useLocations(appointmentLocationTagName);
92
92
  const providers = useProviders();
93
93
  const session = useSession();
94
- const { selectedDate } = useSelectedDateContext();
94
+ const { selectedDate } = useAppointmentsStore();
95
95
  const { data: services, isLoading } = useAppointmentService();
96
96
  const { appointmentStatuses, appointmentTypes, allowAllDayAppointments } = useConfig<ConfigObject>();
97
97
 
@@ -1,34 +1,27 @@
1
- import React, { useCallback, useMemo, useState } from 'react';
1
+ import React, { useCallback, useMemo } from 'react';
2
2
  import dayjs from 'dayjs';
3
3
  import { useTranslation } from 'react-i18next';
4
4
  import { MultiSelect } from '@carbon/react';
5
5
  import { PageHeader, PageHeaderContent, AppointmentsPictogram, OpenmrsDatePicker } from '@openmrs/esm-framework';
6
6
  import { omrsDateFormat } from '../constants';
7
7
  import { useAppointmentServices } from '../hooks/useAppointmentService';
8
- import { useSelectedDateContext } from '../hooks/selected-date-context';
8
+ import { useAppointmentsStore, setSelectedDate, setAppointmentServiceTypes } from '../store';
9
9
  import styles from './appointments-header.scss';
10
10
 
11
11
  interface AppointmentHeaderProps {
12
12
  title: string;
13
- appointmentServiceTypes?: Array<string>;
14
- onChange?: (evt) => void;
13
+ showServiceTypeFilter?: boolean;
15
14
  }
16
15
 
17
- const AppointmentsHeader: React.FC<AppointmentHeaderProps> = ({ title, onChange }) => {
16
+ const AppointmentsHeader: React.FC<AppointmentHeaderProps> = ({ title, showServiceTypeFilter }) => {
18
17
  const { t } = useTranslation();
19
- const { selectedDate, setSelectedDate } = useSelectedDateContext();
18
+ const { selectedDate, appointmentServiceTypes } = useAppointmentsStore();
20
19
  const { serviceTypes } = useAppointmentServices();
21
20
 
22
- const [selectedItems, setSelectedItems] = useState([]);
23
-
24
- const handleMultiSelectChange = useCallback(
25
- ({ selectedItems }) => {
26
- const selectedUuids = selectedItems.map((item) => item.id);
27
- setSelectedItems(selectedUuids);
28
- onChange?.(selectedUuids);
29
- },
30
- [onChange],
31
- );
21
+ const handleChangeServiceTypeFilter = useCallback(({ selectedItems }) => {
22
+ const selectedUuids = selectedItems.map((item) => item.id);
23
+ setAppointmentServiceTypes(selectedUuids);
24
+ }, []);
32
25
 
33
26
  const serviceTypeOptions = useMemo(
34
27
  () => serviceTypes?.map((item) => ({ id: item.uuid, label: item.name })) ?? [],
@@ -46,14 +39,15 @@ const AppointmentsHeader: React.FC<AppointmentHeaderProps> = ({ title, onChange
46
39
  onChange={(date) => setSelectedDate(dayjs(date).startOf('day').format(omrsDateFormat))}
47
40
  value={dayjs(selectedDate).toDate()}
48
41
  />
49
- {typeof onChange === 'function' && (
42
+ {showServiceTypeFilter && (
50
43
  <MultiSelect
51
44
  id="serviceTypeMultiSelect"
52
45
  items={serviceTypeOptions}
53
46
  itemToString={(item) => (item ? item.label : '')}
54
47
  label={t('filterAppointmentsByServiceType', 'Filter appointments by service type')}
55
- onChange={handleMultiSelectChange}
48
+ onChange={handleChangeServiceTypeFilter}
56
49
  type="inline"
50
+ selectedItems={serviceTypeOptions.filter((item) => appointmentServiceTypes.includes(item.id))}
57
51
  />
58
52
  )}
59
53
  </div>
@@ -2,10 +2,10 @@ import dayjs from 'dayjs';
2
2
  import useSWR from 'swr';
3
3
  import { openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
4
4
  import { type AppointmentsFetchResponse } from '../types';
5
- import { useSelectedDateContext } from './selected-date-context';
5
+ import { useAppointmentsStore } from '../store';
6
6
 
7
7
  export const useAppointmentList = (appointmentStatus: string, date?: string) => {
8
- const { selectedDate } = useSelectedDateContext();
8
+ const { selectedDate } = useAppointmentsStore();
9
9
  const startDate = date ? date : selectedDate;
10
10
  const endDate = dayjs(startDate).endOf('day').format('YYYY-MM-DDTHH:mm:ss.SSSZZ'); // TODO: fix? is this correct?
11
11
  const searchUrl = `${restBaseUrl}/appointments/search`;
@@ -35,7 +35,7 @@ export const useAppointmentList = (appointmentStatus: string, date?: string) =>
35
35
  };
36
36
 
37
37
  export const useEarlyAppointmentList = (startDate?: string) => {
38
- const { selectedDate } = useSelectedDateContext();
38
+ const { selectedDate } = useAppointmentsStore();
39
39
  const forDate = startDate ? startDate : selectedDate;
40
40
  const url = `${restBaseUrl}/appointment/earlyAppointment?forDate=${forDate}`;
41
41
 
@@ -4,7 +4,7 @@ import dayjs from 'dayjs';
4
4
  import useSWR from 'swr';
5
5
  import { openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
6
6
  import { omrsDateFormat } from '../constants';
7
- import { useSelectedDateContext } from './selected-date-context';
7
+ import { useAppointmentsStore } from '../store';
8
8
  import {
9
9
  flattenAppointmentSummary,
10
10
  getHighestAppointmentServiceLoad,
@@ -13,7 +13,7 @@ import {
13
13
  import { type Appointment, type AppointmentSummary } from '../types';
14
14
 
15
15
  export const useClinicalMetrics = () => {
16
- const { selectedDate } = useSelectedDateContext();
16
+ const { selectedDate } = useAppointmentsStore();
17
17
  const endDate = dayjs(new Date(selectedDate).setHours(23, 59, 59, 59)).format(omrsDateFormat);
18
18
  const url = `${restBaseUrl}/appointment/appointmentSummary?startDate=${selectedDate}&endDate=${endDate}`;
19
19
  const { data, error, isLoading } = useSWR<{
@@ -37,7 +37,7 @@ export const useClinicalMetrics = () => {
37
37
  };
38
38
 
39
39
  export const useAppointmentsForDate = () => {
40
- const { selectedDate } = useSelectedDateContext();
40
+ const { selectedDate } = useAppointmentsStore();
41
41
  const url = selectedDate ? `${restBaseUrl}/appointment/all?forDate=${selectedDate}` : null;
42
42
 
43
43
  const { data, error, isLoading, isValidating, mutate } = useSWR<{ data: Array<Appointment> }, Error>(
@@ -2,12 +2,12 @@ import dayjs from 'dayjs';
2
2
  import useSWR from 'swr';
3
3
  import { openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
4
4
  import { type AppointmentsFetchResponse } from '../types';
5
- import { useSelectedDateContext } from './selected-date-context';
5
+ import { useAppointmentsStore } from '../store';
6
6
 
7
7
  export function usePatientAppointmentHistory(patientUuid: string) {
8
8
  const abortController = new AbortController();
9
9
  const appointmentsSearchUrl = `${restBaseUrl}/appointments/search`;
10
- const { selectedDate } = useSelectedDateContext();
10
+ const { selectedDate } = useAppointmentsStore();
11
11
 
12
12
  const fetcher = () =>
13
13
  openmrsFetch(appointmentsSearchUrl, {
@@ -2,7 +2,7 @@ import useSWR from 'swr';
2
2
  import { openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
3
3
  import { type Identifier } from '../types';
4
4
  import { configSchema } from '../config-schema';
5
- import { useSelectedDateContext } from './selected-date-context';
5
+ import { useAppointmentsStore } from '../store';
6
6
 
7
7
  export interface Response {
8
8
  age: number;
@@ -20,7 +20,7 @@ export interface Response {
20
20
  }
21
21
 
22
22
  export function useUnscheduledAppointments() {
23
- const { selectedDate } = useSelectedDateContext();
23
+ const { selectedDate } = useAppointmentsStore();
24
24
  // TODO/NOTE: this endpoint is not implemented in main Bahmni Appointments backend
25
25
  const url = `${restBaseUrl}/appointment/unScheduledAppointment?forDate=${selectedDate}`;
26
26
  const { data, error, isLoading } = useSWR<{ data: Array<Response> }>(url, openmrsFetch, { errorRetryCount: 2 });
package/src/index.ts CHANGED
@@ -75,6 +75,21 @@ export const earlyAppointments = getAsyncLifecycle(
75
75
  options,
76
76
  );
77
77
 
78
+ export const metricsCardScheduledAppointments = getAsyncLifecycle(
79
+ () => import('./metrics/metrics-cards/scheduled-appointments.extension'),
80
+ options,
81
+ );
82
+
83
+ export const metricsCardHighestVolumeService = getAsyncLifecycle(
84
+ () => import('./metrics/metrics-cards/highest-volume-service.extension'),
85
+ options,
86
+ );
87
+
88
+ export const metricsCardProvidersBooked = getAsyncLifecycle(
89
+ () => import('./metrics/metrics-cards/providers-booked.extension'),
90
+ options,
91
+ );
92
+
78
93
  export const searchPatient = getAsyncLifecycle(() => import('./patient-search/patient-search.component'), options);
79
94
 
80
95
  // t('Appointments', 'Appointments')
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { useTranslation } from 'react-i18next';
3
+ import MetricsCard from './metrics-card.component';
4
+ import MetricsErrorCard from './metrics-error-card.component';
5
+ import { useClinicalMetrics } from '../../hooks/useClinicalMetrics';
6
+ import { formatDate, parseDate } from '@openmrs/esm-framework';
7
+ import { useAppointmentsStore } from '../../store';
8
+
9
+ export default function HighestVolumeServiceExtension() {
10
+ const { t } = useTranslation();
11
+ const { highestServiceLoad, error } = useClinicalMetrics();
12
+ const { selectedDate } = useAppointmentsStore();
13
+ const formattedStartDate = formatDate(parseDate(selectedDate), { mode: 'standard', time: false });
14
+
15
+ if (error) {
16
+ return <MetricsErrorCard headerLabel={t('highestServiceVolumeCardTitle', 'Highest volume service')} />;
17
+ }
18
+
19
+ return (
20
+ <MetricsCard
21
+ headerLabel={t('highestServiceVolume', 'Highest volume service: {{time}}', { time: formattedStartDate })}
22
+ label={highestServiceLoad?.count !== 0 ? t(highestServiceLoad?.serviceName) : t('serviceName', 'Service name')}
23
+ value={highestServiceLoad?.count ?? '--'}
24
+ />
25
+ );
26
+ }
@@ -0,0 +1,47 @@
1
+ import React, { useMemo } from 'react';
2
+ import dayjs from 'dayjs';
3
+ import isSameOrBefore from 'dayjs/plugin/isSameOrBefore';
4
+ import { useTranslation } from 'react-i18next';
5
+ import { isEmpty } from 'lodash-es';
6
+ import { useAppointmentsStore } from '../../store';
7
+ import styles from './metrics-card.scss';
8
+ dayjs.extend(isSameOrBefore);
9
+
10
+ interface MetricsCardProps {
11
+ label: string;
12
+ value: number;
13
+ headerLabel: string;
14
+ count?: { pendingAppointments: Array<any>; arrivedAppointments: Array<any> };
15
+ }
16
+
17
+ const MetricsCard: React.FC<MetricsCardProps> = ({ label, value, headerLabel, count }) => {
18
+ const { t } = useTranslation();
19
+ const { selectedDate } = useAppointmentsStore();
20
+ const isSelectedDateInPast = useMemo(() => dayjs(selectedDate).isBefore(dayjs(), 'date'), [selectedDate]);
21
+
22
+ return (
23
+ <article className={styles.tileContainer}>
24
+ <div className={styles.tileHeader}>
25
+ <div className={styles.headerLabelContainer}>
26
+ <span className={styles.headerLabel}>{headerLabel}</span>
27
+ </div>
28
+ </div>
29
+ <div className={styles.metricsGrid}>
30
+ <div>
31
+ <span className={styles.totalsLabel}>{label}</span>
32
+ <p className={styles.totalsValue}>{value}</p>
33
+ </div>
34
+ {!isEmpty(count) && (
35
+ <div className={styles.countGrid}>
36
+ <span>{t('checkedIn', 'Checked in')}</span>
37
+ <span>{isSelectedDateInPast ? t('missed', 'Missed') : t('notArrived', 'Not arrived')}</span>
38
+ <p style={{ color: '#22651B' }}>{count.arrivedAppointments?.length}</p>
39
+ <p style={{ color: '#da1e28' }}>{count.pendingAppointments?.length}</p>
40
+ </div>
41
+ )}
42
+ </div>
43
+ </article>
44
+ );
45
+ };
46
+
47
+ export default MetricsCard;
@@ -3,17 +3,10 @@
3
3
  @use '@carbon/type';
4
4
  @use '@openmrs/esm-styleguide/src/vars' as *;
5
5
 
6
- .container {
7
- flex-grow: 1;
8
- }
9
-
10
6
  .tileContainer {
11
7
  border: 1px solid $ui-03;
12
8
  height: 7.875rem;
13
9
  padding: layout.$spacing-05;
14
- display: flex;
15
- justify-content: space-between;
16
- flex-direction: column;
17
10
  }
18
11
 
19
12
  .tileHeader {