@openmrs/esm-patient-chart-app 11.3.1-patch.9064 → 11.3.1-patch.9310

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 (131) hide show
  1. package/.turbo/turbo-build.log +24 -21
  2. package/dist/1815.js +2 -0
  3. package/dist/1815.js.map +1 -0
  4. package/dist/2761.js +1 -1
  5. package/dist/2761.js.map +1 -1
  6. package/dist/2859.js +1 -1
  7. package/dist/2859.js.map +1 -1
  8. package/dist/3697.js +1 -0
  9. package/dist/3697.js.map +1 -0
  10. package/dist/4055.js +1 -1
  11. package/dist/4300.js +1 -1
  12. package/dist/4718.js +1 -1
  13. package/dist/4754.js +1 -1
  14. package/dist/5205.js +1 -1
  15. package/dist/5670.js +1 -1
  16. package/dist/5670.js.map +1 -1
  17. package/dist/5827.js +1 -0
  18. package/dist/5827.js.map +1 -0
  19. package/dist/6336.js +1 -0
  20. package/dist/6336.js.map +1 -0
  21. package/dist/6411.js +1 -1
  22. package/dist/6411.js.map +1 -1
  23. package/dist/6529.js +1 -1
  24. package/dist/6568.js +1 -0
  25. package/dist/6568.js.map +1 -0
  26. package/dist/6924.js +1 -0
  27. package/dist/6924.js.map +1 -0
  28. package/dist/7816.js +2 -0
  29. package/dist/7816.js.map +1 -0
  30. package/dist/7818.js +1 -0
  31. package/dist/7818.js.map +1 -0
  32. package/dist/7822.js +1 -1
  33. package/dist/7822.js.map +1 -1
  34. package/dist/8260.js +1 -0
  35. package/dist/8260.js.map +1 -0
  36. package/dist/8278.js +1 -0
  37. package/dist/8278.js.map +1 -0
  38. package/dist/8454.js +1 -1
  39. package/dist/8454.js.map +1 -1
  40. package/dist/8709.js +1 -1
  41. package/dist/8709.js.map +1 -1
  42. package/dist/{4727.js → 9294.js} +1 -1
  43. package/dist/9294.js.map +1 -0
  44. package/dist/9329.js +1 -0
  45. package/dist/9329.js.map +1 -0
  46. package/dist/main.js +1 -1
  47. package/dist/main.js.map +1 -1
  48. package/dist/openmrs-esm-patient-chart-app.js +1 -1
  49. package/dist/openmrs-esm-patient-chart-app.js.buildmanifest.json +312 -287
  50. package/dist/openmrs-esm-patient-chart-app.js.map +1 -1
  51. package/dist/routes.json +1 -1
  52. package/package.json +3 -3
  53. package/src/actions-buttons/delete-visit.component.tsx +8 -3
  54. package/src/actions-buttons/mark-patient-deceased.component.tsx +2 -2
  55. package/src/actions-buttons/start-visit.component.tsx +10 -5
  56. package/src/actions-buttons/start-visit.test.tsx +9 -5
  57. package/src/actions-buttons/stop-visit.component.tsx +1 -1
  58. package/src/clinical-views/encounter-list/{encounter-list-tabs.component.tsx → encounter-list-tabs.extension.tsx} +10 -6
  59. package/src/clinical-views/encounter-list/tag.component.test.tsx +306 -0
  60. package/src/clinical-views/encounter-list/tag.component.tsx +27 -28
  61. package/src/clinical-views/utils/helpers.ts +2 -2
  62. package/src/config-schema.ts +0 -7
  63. package/src/index.ts +21 -22
  64. package/src/mark-patient-deceased/mark-patient-deceased-form.test.tsx +22 -11
  65. package/src/mark-patient-deceased/mark-patient-deceased-form.workspace.tsx +147 -138
  66. package/src/patient-banner-tags/{visit-attribute-tags.component.tsx → visit-attribute-tags.extension.tsx} +9 -4
  67. package/src/patient-chart/chart-review/dashboard-view.component.tsx +2 -2
  68. package/src/patient-chart/patient-chart.component.tsx +19 -36
  69. package/src/patient-chart/patient-chart.resources.ts +150 -0
  70. package/src/routes.json +17 -6
  71. package/src/visit/hooks/useDeleteVisit.test.tsx +39 -42
  72. package/src/visit/hooks/useDeleteVisit.tsx +33 -17
  73. package/src/visit/start-visit-button.component.tsx +2 -2
  74. package/src/visit/start-visit-button.test.tsx +2 -2
  75. package/src/visit/visit-action-items/edit-visit-details.component.tsx +29 -8
  76. package/src/visit/visit-form/base-visit-type.component.tsx +2 -2
  77. package/src/visit/visit-form/exported-visit-form.workspace.tsx +697 -0
  78. package/src/visit/visit-form/visit-attribute-type.component.tsx +2 -1
  79. package/src/visit/visit-form/visit-form.resource.ts +2 -1
  80. package/src/visit/visit-form/visit-form.test.tsx +28 -25
  81. package/src/visit/visit-form/visit-form.workspace.tsx +63 -643
  82. package/src/visit/visit-history-table/visit-actions-cell.component.tsx +3 -2
  83. package/src/visit/visit-history-table/visit-date-cell.component.tsx +1 -0
  84. package/src/visit/visit-history-table/visit-diagnoses-cell.component.tsx +1 -0
  85. package/src/visit/visit-history-table/visit-history-table.component.tsx +3 -2
  86. package/src/visit/visit-history-table/visit-type-cell.component.tsx +1 -0
  87. package/src/visit/visit-prompt/{delete-visit-dialog.component.tsx → delete-visit-dialog.modal.tsx} +10 -4
  88. package/src/visit/visit-prompt/delete-visit-dialog.test.tsx +21 -3
  89. package/src/visit/visit-prompt/{end-visit-dialog.component.tsx → end-visit-dialog.modal.tsx} +7 -1
  90. package/src/visit/visit-prompt/end-visit-dialog.test.tsx +20 -1
  91. package/src/visit/visit-prompt/{start-visit-dialog.component.tsx → start-visit-dialog.modal.tsx} +10 -4
  92. package/src/visit/visit-prompt/start-visit-dialog.test.tsx +3 -3
  93. package/src/visit/visits-widget/active-visit-buttons/active-visit-buttons.tsx +7 -6
  94. package/src/visit/visits-widget/current-visit-summary.extension.tsx +48 -0
  95. package/src/visit/visits-widget/current-visit-summary.test.tsx +45 -25
  96. package/src/visit/visits-widget/past-visits-components/encounters-table/encounters-table.component.tsx +15 -37
  97. package/src/visit/visits-widget/past-visits-components/encounters-table/encounters-table.resource.ts +0 -1
  98. package/src/visit/visits-widget/visit-context/retrospective-data-date-time-picker/retrospective-date-time-picker.component.tsx +6 -7
  99. package/src/visit/visits-widget/visit-context/{visit-context-header.component.tsx → visit-context-header.extension.tsx} +17 -15
  100. package/src/visit/visits-widget/visit-context/visit-context-header.test.tsx +35 -29
  101. package/src/visit/visits-widget/visit-context/visit-context-switcher.modal.tsx +15 -13
  102. package/src/visit/visits-widget/visit-context/visit-context-switcher.test.tsx +31 -9
  103. package/src/visit/visits-widget/visit-detail-overview.component.tsx +3 -2
  104. package/src/visit/visits-widget/visit-detail-overview.test.tsx +4 -4
  105. package/src/visit/visits-widget/visit.resource.tsx +1 -1
  106. package/translations/en.json +1 -2
  107. package/translations/fr.json +15 -15
  108. package/dist/1568.js +0 -2
  109. package/dist/1568.js.map +0 -1
  110. package/dist/2442.js +0 -1
  111. package/dist/2442.js.map +0 -1
  112. package/dist/2537.js +0 -1
  113. package/dist/2537.js.map +0 -1
  114. package/dist/276.js +0 -1
  115. package/dist/276.js.map +0 -1
  116. package/dist/3042.js +0 -1
  117. package/dist/3042.js.map +0 -1
  118. package/dist/3119.js +0 -1
  119. package/dist/3119.js.map +0 -1
  120. package/dist/3905.js +0 -1
  121. package/dist/3905.js.map +0 -1
  122. package/dist/4713.js +0 -1
  123. package/dist/4713.js.map +0 -1
  124. package/dist/4727.js.map +0 -1
  125. package/dist/5048.js +0 -1
  126. package/dist/5048.js.map +0 -1
  127. package/dist/6650.js +0 -2
  128. package/dist/6650.js.map +0 -1
  129. package/src/visit/visits-widget/current-visit-summary.component.tsx +0 -55
  130. /package/dist/{1568.js.LICENSE.txt → 1815.js.LICENSE.txt} +0 -0
  131. /package/dist/{6650.js.LICENSE.txt → 7816.js.LICENSE.txt} +0 -0
@@ -115,7 +115,8 @@ const AttributeTypeField: React.FC<AttributeTypeFieldProps> = ({
115
115
  } = useConceptAnswersForVisitAttributeType(data?.datatypeConfig);
116
116
  const { t } = useTranslation();
117
117
  const baseId = useId();
118
- const labelText = !required ? `${data?.display} (${t('optional', 'optional')})` : data?.display;
118
+ const displayText = data?.display?.trim() || data?.name?.trim() || '--';
119
+ const labelText = !required ? `${displayText} (${t('optional', 'optional')})` : displayText;
119
120
 
120
121
  const {
121
122
  formState: { errors },
@@ -1,5 +1,6 @@
1
1
  import { useMemo, useState } from 'react';
2
- import { useTranslation, type TFunction } from 'react-i18next';
2
+ import { useTranslation } from 'react-i18next';
3
+ import type { TFunction } from 'i18next';
3
4
  import dayjs from 'dayjs';
4
5
  import { z } from 'zod';
5
6
  import {
@@ -11,7 +11,6 @@ import {
11
11
  useConfig,
12
12
  useEmrConfiguration,
13
13
  useLocations,
14
- useVisitContextStore,
15
14
  useVisitTypes,
16
15
  type Visit,
17
16
  } from '@openmrs/esm-framework';
@@ -27,10 +26,8 @@ import {
27
26
  useVisitFormCallbacks,
28
27
  useVisitFormSchemaAndDefaultValues,
29
28
  } from './visit-form.resource';
30
- import VisitForm from './visit-form.workspace';
31
-
32
- // Fixed reference time used in time-dependent tests
33
- const FIXED_NOW = new Date('2023-01-01T08:00:00.000Z');
29
+ import VisitForm, { type VisitFormProps } from './visit-form.workspace';
30
+ import { type PatientWorkspace2DefinitionProps } from '@openmrs/esm-patient-common-lib/src';
34
31
 
35
32
  const visitUuid = 'test_visit_uuid';
36
33
  const visitAttributes = {
@@ -57,17 +54,23 @@ const visitAttributes = {
57
54
  };
58
55
 
59
56
  const mockCloseWorkspace = jest.fn();
60
- const mockPromptBeforeClosing = jest.fn();
61
- const mockSetTitle = jest.fn();
62
-
63
- const testProps = {
64
- openedFrom: 'test',
65
- patientUuid: mockPatient.id,
66
- patient: mockPatient,
57
+ const mockMutateVisitContext = jest.fn();
58
+ const defaultProps: PatientWorkspace2DefinitionProps<VisitFormProps, {}> = {
67
59
  closeWorkspace: mockCloseWorkspace,
68
- closeWorkspaceWithSavedChanges: mockCloseWorkspace,
69
- promptBeforeClosing: mockPromptBeforeClosing,
70
- setTitle: mockSetTitle,
60
+ workspaceProps: {
61
+ openedFrom: 'test',
62
+ },
63
+ windowProps: {},
64
+ groupProps: {
65
+ patientUuid: mockPatient.id,
66
+ patient: mockPatient,
67
+ visitContext: null,
68
+ mutateVisitContext: mockMutateVisitContext,
69
+ },
70
+ workspaceName: '',
71
+ launchChildWorkspace: jest.fn(),
72
+ windowName: '',
73
+ isRootWorkspace: false,
71
74
  };
72
75
 
73
76
  const mockSaveVisit = jest.mocked(saveVisit);
@@ -153,9 +156,10 @@ jest.mock('../hooks/useDefaultFacilityLocation', () => {
153
156
 
154
157
  return {
155
158
  ...requireActual,
156
- useDefaultLoginLocation: jest.fn(() => ({
159
+ useDefaultFacilityLocation: jest.fn(() => ({
157
160
  defaultFacility: null,
158
161
  isLoading: false,
162
+ error: null,
159
163
  })),
160
164
  };
161
165
  });
@@ -181,14 +185,6 @@ mockSaveVisit.mockResolvedValue({
181
185
  },
182
186
  } as unknown as FetchResponse<Visit>);
183
187
 
184
- jest.mocked(useVisitContextStore).mockReturnValue({
185
- manuallySetVisitUuid: null,
186
- patientUuid: null,
187
- setVisitContext: jest.fn(),
188
- mutateVisitCallbacks: {},
189
- mutateVisit: jest.fn(),
190
- });
191
-
192
188
  describe('Visit form', () => {
193
189
  beforeEach(() => {
194
190
  mockUseConfig.mockReturnValue({
@@ -873,5 +869,12 @@ describe('useVisitFormSchemaAndDefaultValues', () => {
873
869
  });
874
870
 
875
871
  function renderVisitForm(visitToEdit?: Visit) {
876
- return render(<VisitForm {...{ ...testProps, visitToEdit }} />);
872
+ const props: PatientWorkspace2DefinitionProps<VisitFormProps, {}> = {
873
+ ...defaultProps,
874
+ groupProps: {
875
+ ...defaultProps.groupProps,
876
+ visitContext: visitToEdit ?? null,
877
+ },
878
+ };
879
+ return render(<VisitForm {...props} />);
877
880
  }