@digihmis/esm-home-app 1.0.0 → 1.0.2

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.
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import ModuleDashboard from '../../generic-dashboard/module-dashboard.component';
3
+
4
+ export default function RadiologyDashboard() {
5
+ return <ModuleDashboard moduleName="radiology" />;
6
+ }
@@ -1,72 +1,8 @@
1
1
  import React from 'react';
2
- import {
3
- ExtensionSlot,
4
- WorkspaceContainer,
5
- useLayoutType,
6
- isDesktop,
7
- useConfig,
8
- useLeftNav,
9
- useExtensionStore,
10
- } from '@openmrs/esm-framework';
11
- import classNames from 'classnames';
12
- import styles from '../../generic-dashboard/generic-dashboard.scss';
13
- import { ConfigObject } from '../../config-schema';
14
- import { useParams, useLocation } from 'react-router-dom';
15
- import { DashboardConfig } from '../../type';
16
- import DashboardView from '../../generic-dashboard/generic-dashboard-view.component';
2
+ import ModuleDashboard from '../../generic-dashboard/module-dashboard.component';
17
3
 
18
4
  export default function TriageDashboard() {
19
- const extensionStore = useExtensionStore();
20
- const params = useParams();
21
- const location = useLocation();
22
- const layout = useLayoutType();
23
- const { leftNavMode } = useConfig<ConfigObject>();
24
-
25
- // Check if we're on the vitals route
26
- const isVitalsRoute = location.pathname.includes('/vitals');
27
- const { patientUuid } = params;
28
-
29
- useLeftNav({
30
- name: 'triage-dashboard-slot',
31
- basePath: `${window.spaBase}/home/triage`,
32
- mode: leftNavMode,
33
- });
34
-
35
- const ungroupedDashboards =
36
- extensionStore.slots['triage-dashboard-slot']?.assignedExtensions
37
- .map((e) => e.meta)
38
- .filter((e) => Object.keys(e).length) || [];
39
-
40
- const dashboards = ungroupedDashboards as Array<DashboardConfig>;
41
-
42
- const matchedDashboard = dashboards.find((dashboard) => dashboard.name === params?.dashboard);
43
- const activeDashboard = matchedDashboard || dashboards[0];
44
-
45
5
  return (
46
- <div className={styles.homePageWrapper}>
47
- <section
48
- className={classNames([
49
- isDesktop(layout) ? styles.dashboardContainer : styles.dashboardContainerTablet,
50
- leftNavMode === 'normal' ? styles.hasLeftNav : '',
51
- ])}>
52
- {isDesktop(layout) && <ExtensionSlot name="triage-sidebar-slot" />}
53
-
54
- {isVitalsRoute && patientUuid ? (
55
- <DashboardView
56
- title={activeDashboard?.title || activeDashboard?.name}
57
- dashboardSlot="triage-vitals-dashboard-slot"
58
- state={{ patientUuid }}
59
- />
60
- ) : (
61
- activeDashboard && (
62
- <DashboardView
63
- title={activeDashboard?.title || activeDashboard?.name}
64
- dashboardSlot={activeDashboard?.slot}
65
- />
66
- )
67
- )}
68
- </section>
69
- <WorkspaceContainer overlay contextKey="home/triage" />
70
- </div>
6
+ <ModuleDashboard moduleName="triage" patientRoute={{ pathSegment: '/vitals', slot: 'triage-vitals-dashboard-slot' }} />
71
7
  );
72
8
  }
@@ -0,0 +1,100 @@
1
+ import React, { useEffect } from 'react';
2
+ import {
3
+ ExtensionSlot,
4
+ WorkspaceContainer,
5
+ useLayoutType,
6
+ isDesktop,
7
+ useConfig,
8
+ useLeftNav,
9
+ useExtensionStore,
10
+ } from '@openmrs/esm-framework';
11
+ import classNames from 'classnames';
12
+ import { useParams, useLocation, useNavigate } from 'react-router-dom';
13
+ import styles from './generic-dashboard.scss';
14
+ import { type ConfigObject } from '../config-schema';
15
+ import { type DashboardConfig } from '../type';
16
+ import DashboardView from './generic-dashboard-view.component';
17
+
18
+ interface PatientRoute {
19
+ /** Path segment that switches the dashboard into its patient-scoped slot, e.g. '/vitals'. */
20
+ pathSegment: string;
21
+ /** The slot rendered on that patient route (receives the patientUuid in its state). */
22
+ slot: string;
23
+ }
24
+
25
+ interface ModuleDashboardProps {
26
+ /**
27
+ * The module key, e.g. 'triage'. Every per-module value is derived from it: the dashboard slot
28
+ * (`${moduleName}-dashboard-slot`), the sidebar slot (`${moduleName}-sidebar-slot`), the left-nav
29
+ * base path and the workspace context key (`home/${moduleName}`).
30
+ */
31
+ moduleName: string;
32
+ /** Optional patient-scoped route that swaps in a different slot with the patientUuid in state. */
33
+ patientRoute?: PatientRoute;
34
+ /** Redirect the bare module path to its first dashboard (the administration behaviour). */
35
+ redirectToFirstDashboard?: boolean;
36
+ }
37
+
38
+ /**
39
+ * The shared shell for a home sub-module dashboard: it wires up the left nav, reads the module's
40
+ * dashboards from the extension store, resolves the active one from the route, and renders the
41
+ * sidebar + dashboard view inside the standard home layout. Each concrete dashboard is just a call
42
+ * to this with its module name (and, where it has one, a patient-scoped route).
43
+ */
44
+ export default function ModuleDashboard({ moduleName, patientRoute, redirectToFirstDashboard = false }: ModuleDashboardProps) {
45
+ const extensionStore = useExtensionStore();
46
+ const params = useParams();
47
+ const location = useLocation();
48
+ const navigate = useNavigate();
49
+ const layout = useLayoutType();
50
+ const { leftNavMode } = useConfig<ConfigObject>();
51
+
52
+ const dashboardSlot = `${moduleName}-dashboard-slot`;
53
+ const sidebarSlot = `${moduleName}-sidebar-slot`;
54
+ const contextKey = `home/${moduleName}`;
55
+
56
+ useLeftNav({
57
+ name: dashboardSlot,
58
+ basePath: `${window.spaBase}/${contextKey}`,
59
+ mode: leftNavMode,
60
+ });
61
+
62
+ const dashboards = (extensionStore.slots[dashboardSlot]?.assignedExtensions
63
+ .map((e) => e.meta)
64
+ .filter((e) => Object.keys(e).length) || []) as Array<DashboardConfig>;
65
+
66
+ const dashboardParam = params?.dashboard || params?.['*'];
67
+ const activeDashboard = dashboards.find((dashboard) => dashboard.name === dashboardParam) || dashboards[0];
68
+
69
+ useEffect(() => {
70
+ if (!redirectToFirstDashboard) {
71
+ return;
72
+ }
73
+ const basePaths = [`/${contextKey}`, `/${contextKey}/`];
74
+ if (basePaths.includes(location.pathname) && dashboards[0]?.name) {
75
+ navigate(`/${contextKey}/${dashboards[0].name}`, { replace: true });
76
+ }
77
+ }, [redirectToFirstDashboard, contextKey, location.pathname, dashboards, navigate]);
78
+
79
+ const title = activeDashboard?.title || activeDashboard?.name;
80
+ const onPatientRoute = patientRoute && location.pathname.includes(patientRoute.pathSegment) && params?.patientUuid;
81
+
82
+ return (
83
+ <div className={styles.homePageWrapper}>
84
+ <section
85
+ className={classNames([
86
+ isDesktop(layout) ? styles.dashboardContainer : styles.dashboardContainerTablet,
87
+ leftNavMode === 'normal' ? styles.hasLeftNav : '',
88
+ ])}>
89
+ {isDesktop(layout) && <ExtensionSlot name={sidebarSlot} />}
90
+
91
+ {onPatientRoute ? (
92
+ <DashboardView title={title} dashboardSlot={patientRoute.slot} state={{ patientUuid: params.patientUuid }} />
93
+ ) : (
94
+ activeDashboard && <DashboardView title={title} dashboardSlot={activeDashboard.slot} />
95
+ )}
96
+ </section>
97
+ <WorkspaceContainer overlay contextKey={contextKey} />
98
+ </div>
99
+ );
100
+ }
package/src/index.ts CHANGED
@@ -22,6 +22,10 @@ export const administrationNavMenu = getSyncLifecycle(SideMenu, options);
22
22
  export const triageNavMenu = getSyncLifecycle(SideMenu, options);
23
23
  export const outpatientNavMenu = getSyncLifecycle(SideMenu, options);
24
24
  export const billingNavMenu = getSyncLifecycle(SideMenu, options);
25
+ export const laboratoryNavMenu = getSyncLifecycle(SideMenu, options);
26
+ export const radiologyNavMenu = getSyncLifecycle(SideMenu, options);
27
+ export const proceduresNavMenu = getSyncLifecycle(SideMenu, options);
28
+ export const appointmentsNavMenu = getSyncLifecycle(SideMenu, options);
25
29
 
26
30
  // t('clockIn', 'Clock In')
27
31
  export const genericClockInModal = getSyncLifecycle(GenericClockIn, options);
@@ -6,6 +6,10 @@ import TriageDashboard from './dashboards/triage-dashboard/triage-dashboard.comp
6
6
  import AdministrationDashboard from './dashboards/administration-dashboard/administration-dashboard.component';
7
7
  import OutpatientDashboard from './dashboards/outpatient-dashboard/outpatient-dashboard.component';
8
8
  import BillingDashboard from './dashboards/billing-dashboard/billing-dashboard.component';
9
+ import LaboratoryDashboard from './dashboards/laboratory-dashboard/laboratory-dashboard.component';
10
+ import RadiologyDashboard from './dashboards/radiology-dashboard/radiology-dashboard.component';
11
+ import ProceduresDashboard from './dashboards/procedures-dashboard/procedures-dashboard.component';
12
+ import AppointmentsDashboard from './dashboards/appointments-dashboard/appointments-dashboard.component';
9
13
 
10
14
  const Root: React.FC = () => {
11
15
  const spaBasePath = window.spaBase;
@@ -34,6 +38,18 @@ const Root: React.FC = () => {
34
38
  {/* billing */}
35
39
  <Route path="/home/billing" element={<BillingDashboard />} />
36
40
  <Route path="/home/billing/patient/:patientUuid/bill" element={<BillingDashboard />} />
41
+
42
+ {/* laboratory */}
43
+ <Route path="/home/laboratory" element={<LaboratoryDashboard />} />
44
+
45
+ {/* radiology */}
46
+ <Route path="/home/radiology" element={<RadiologyDashboard />} />
47
+
48
+ {/* procedures */}
49
+ <Route path="/home/procedures" element={<ProceduresDashboard />} />
50
+
51
+ {/* appointments */}
52
+ <Route path="/home/appointments" element={<AppointmentsDashboard />} />
37
53
  </Routes>
38
54
  </BrowserRouter>
39
55
  </main>
package/src/routes.json CHANGED
@@ -2,44 +2,72 @@
2
2
  "$schema": "https://json.openmrs.org/routes.schema.json",
3
3
  "backendDependencies": {
4
4
  "fhir2": ">=1.2",
5
- "webservices.rest": "^2.24.0"
5
+ "webservices.rest": ">=2.24.0"
6
6
  },
7
7
  "extensions": [
8
- {
8
+ {
9
9
  "name": "registration-nav-menu",
10
10
  "slot": "registration-sidebar-slot",
11
11
  "component": "registrationNavMenu",
12
12
  "online": true,
13
13
  "offline": true
14
14
  },
15
- {
16
- "name": "administration-nav-menu",
17
- "slot": "administration-sidebar-slot",
18
- "component": "administrationNavMenu",
19
- "online": true,
20
- "offline": true
21
- },
22
- {
23
- "name": "triage-nav-menu",
24
- "slot": "triage-sidebar-slot",
25
- "component": "triageNavMenu",
26
- "online": true,
27
- "offline": true
28
- },
29
- {
15
+ {
16
+ "name": "administration-nav-menu",
17
+ "slot": "administration-sidebar-slot",
18
+ "component": "administrationNavMenu",
19
+ "online": true,
20
+ "offline": true
21
+ },
22
+ {
23
+ "name": "triage-nav-menu",
24
+ "slot": "triage-sidebar-slot",
25
+ "component": "triageNavMenu",
26
+ "online": true,
27
+ "offline": true
28
+ },
29
+ {
30
30
  "name": "outpatient-nav-menu",
31
31
  "slot": "outpatient-sidebar-slot",
32
32
  "component": "outpatientNavMenu",
33
33
  "online": true,
34
34
  "offline": true
35
- },
36
- {
35
+ },
36
+ {
37
37
  "name": "billing-nav-menu",
38
38
  "slot": "billing-sidebar-slot",
39
39
  "component": "billingNavMenu",
40
40
  "online": true,
41
41
  "offline": true
42
42
  },
43
+ {
44
+ "name": "laboratory-nav-menu",
45
+ "slot": "laboratory-sidebar-slot",
46
+ "component": "laboratoryNavMenu",
47
+ "online": true,
48
+ "offline": true
49
+ },
50
+ {
51
+ "name": "radiology-nav-menu",
52
+ "slot": "radiology-sidebar-slot",
53
+ "component": "radiologyNavMenu",
54
+ "online": true,
55
+ "offline": true
56
+ },
57
+ {
58
+ "name": "procedures-nav-menu",
59
+ "slot": "procedures-sidebar-slot",
60
+ "component": "proceduresNavMenu",
61
+ "online": true,
62
+ "offline": true
63
+ },
64
+ {
65
+ "name": "appointments-nav-menu",
66
+ "slot": "appointments-sidebar-slot",
67
+ "component": "appointmentsNavMenu",
68
+ "online": true,
69
+ "offline": true
70
+ },
43
71
  {
44
72
  "name": "patient-banner",
45
73
  "slot": "patient-banner-slot",
@@ -54,15 +82,14 @@
54
82
  "online": true,
55
83
  "offline": true
56
84
  }
57
-
58
85
  ],
59
86
  "modals": [
60
- {
87
+ {
61
88
  "name": "generic-clock-in-modal",
62
89
  "component": "genericClockInModal"
63
90
  }
64
91
  ],
65
- "pages": [
92
+ "pages": [
66
93
  {
67
94
  "component": "root",
68
95
  "route": "home",
@@ -70,5 +97,4 @@
70
97
  "offline": true
71
98
  }
72
99
  ]
73
-
74
100
  }
package/dist/567.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"567.js","sources":["webpack://@digihmis/esm-home-app/./src/generic-dashboard/generic-dashboard-view.scss","webpack://@digihmis/esm-home-app/./src/generic-dashboard/generic-dashboard.scss","webpack://@digihmis/esm-home-app/./src/home-grid-dashboard/home-grid-dashboard.scss","webpack://@digihmis/esm-home-app/./src/module-card/module-card.scss","webpack://@digihmis/esm-home-app/./src/welcome-back-banner/welcome-back-banner.scss","webpack://@digihmis/esm-home-app/./src/home-grid-dashboard/home-grid-dashboard.scss?b53e","webpack://@digihmis/esm-home-app/./src/module-card/module-card.scss?7a33","webpack://@digihmis/esm-home-app/./src/module-card/module-card.component.tsx","webpack://@digihmis/esm-home-app/./src/module-card/module-card-utils.component.tsx","webpack://@digihmis/esm-home-app/./src/welcome-back-banner/welcome-back-banner.scss?8de0","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_castSlice.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_hasUnicode.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_unicodeToArray.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_stringToArray.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/upperFirst.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_createCaseFirst.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_asciiToArray.js","webpack://@digihmis/esm-home-app/./src/welcome-back-banner/welcome-back-banner.component.tsx","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/capitalize.js","webpack://@digihmis/esm-home-app/./src/home-grid-dashboard/home-grid-dashboard.component.tsx","webpack://@digihmis/esm-home-app/./src/generic-dashboard/generic-dashboard.scss?7dbb","webpack://@digihmis/esm-home-app/./src/dashboards/registration-dashboard/registration-dashboard.component.tsx","webpack://@digihmis/esm-home-app/./src/generic-dashboard/generic-dashboard-view.scss?964c","webpack://@digihmis/esm-home-app/./src/generic-dashboard/generic-dashboard-view.component.tsx","webpack://@digihmis/esm-home-app/./src/dashboards/triage-dashboard/triage-dashboard.component.tsx","webpack://@digihmis/esm-home-app/./src/dashboards/administration-dashboard/administration-dashboard.component.tsx","webpack://@digihmis/esm-home-app/./src/dashboards/outpatient-dashboard/outpatient-dashboard.component.tsx","webpack://@digihmis/esm-home-app/./src/dashboards/billing-dashboard/billing-dashboard.component.tsx","webpack://@digihmis/esm-home-app/./src/root.component.tsx","webpack://@digihmis/esm-home-app/../../node_modules/classnames/index.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_Symbol.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_arrayMap.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_getRawTag.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_objectToString.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_baseGetTag.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_baseSlice.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_freeGlobal.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_root.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/isArray.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/isObjectLike.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/isSymbol.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/_baseToString.js","webpack://@digihmis/esm-home-app/../../node_modules/lodash-es/toString.js"],"names":["imgSrc","alt","label","url","onClick","privilege","handleClick","invalidateAllSessionData","navigate","styles","e","openmrsSpaBase","window","useModuleLinks","t","useTranslation","_useConfig","excludeLinks","administrationIcon","appointmentsIcon","billingIcon","dentalIcon","inpatientIcon","inventoryIcon","laboratoryIcon","mchIcon","pharmacyIcon","outpatientIcon","proceduresIcon","radiologyIcon","triageIcon","referralIcon","registrationIcon","specialClinicIcon","staffManagementIcon","reportsIcon","facilityDashboardIcon","legacyUIIcon","moduleLinks","link","excludeLink","RegExp","hour","_useSession","user","currentProvider","userFullName","userNameParts","currentProviderUuid","providerAttributes","useProviderAttributes","getAttributeValue","attributes","displayName","attribute","attr","hwi","licenseExpiry","formattedExpiry","formatDate","dateString","date","Date","isNaN","licenseStatus","getLicenseStatus","expiryDate","today","daysDiff","Math","timeDiff","expiry","firstName","RuleTest","Calendar","Tag","UserBanner","index","ModuleCard","RegistrationDashboard","location","useLocation","layout","useLayoutType","leftNavMode","useConfig","useLeftNav","isPatientRegistrationRoute","classNames","isDesktop","ExtensionSlot","WorkspaceContainer","dashboardSlot","title","state","TriageDashboard","_extensionStore_slots_triagedashboardslot","extensionStore","useExtensionStore","params","useParams","isVitalsRoute","patientUuid","ungroupedDashboards","Object","activeDashboard","matchedDashboard","dashboards","dashboard","DashboardView","AdministrationDashboard","_extensionStore_slots_administrationdashboardslot","useNavigate","dashboardParam","useEffect","_dashboards_","basePaths","OutpatientDashboard","_extensionStore_slots_outpatientdashboardslot","isFileRoute","BillingDashboard","_extensionStore_slots_billingdashboardslot","spaBasePath","BrowserRouter","Routes","Route","GridDashboard","Navigate","arguments","Array","n","define","l","global","self","Function"],"mappings":"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"}