@openmrs/esm-stock-management-app 3.3.1 → 3.3.2-pre.16

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 (118) hide show
  1. package/dist/2392.js +1 -1
  2. package/dist/2392.js.map +1 -1
  3. package/dist/openmrs-esm-stock-management-app.js +2 -2
  4. package/dist/openmrs-esm-stock-management-app.js.map +1 -1
  5. package/dist/routes.json +1 -1
  6. package/package.json +3 -2
  7. package/coverage/__mocks__/index.html +0 -161
  8. package/coverage/__mocks__/index.ts.html +0 -91
  9. package/coverage/__mocks__/operation-type.mock.ts.html +0 -1681
  10. package/coverage/__mocks__/react-i18next.js.html +0 -259
  11. package/coverage/__mocks__/workspace2-props.mock.ts.html +0 -145
  12. package/coverage/base.css +0 -224
  13. package/coverage/block-navigation.js +0 -87
  14. package/coverage/clover.xml +0 -1659
  15. package/coverage/coverage-final.json +0 -69
  16. package/coverage/favicon.png +0 -0
  17. package/coverage/index.html +0 -611
  18. package/coverage/prettify.css +0 -1
  19. package/coverage/prettify.js +0 -2
  20. package/coverage/sort-arrow-sprite.png +0 -0
  21. package/coverage/sorter.js +0 -210
  22. package/coverage/src/constants.ts.html +0 -598
  23. package/coverage/src/core/api/api.ts.html +0 -181
  24. package/coverage/src/core/api/index.html +0 -116
  25. package/coverage/src/core/api/types/BatchJob.ts.html +0 -415
  26. package/coverage/src/core/api/types/index.html +0 -116
  27. package/coverage/src/core/api/types/stockOperation/StockOperationStatus.ts.html +0 -139
  28. package/coverage/src/core/api/types/stockOperation/StockOperationType.ts.html +0 -460
  29. package/coverage/src/core/api/types/stockOperation/index.html +0 -131
  30. package/coverage/src/core/components/carbon/controlled-number-input.component.tsx.html +0 -226
  31. package/coverage/src/core/components/carbon/controlled-radio-button-group.component.tsx.html +0 -253
  32. package/coverage/src/core/components/carbon/controlled-text-input.component.tsx.html +0 -202
  33. package/coverage/src/core/components/carbon/index.html +0 -146
  34. package/coverage/src/core/hooks/debounce-hook.ts.html +0 -181
  35. package/coverage/src/core/hooks/index.html +0 -116
  36. package/coverage/src/core/utils/datetimeUtils.ts.html +0 -289
  37. package/coverage/src/core/utils/index.html +0 -131
  38. package/coverage/src/core/utils/utils.ts.html +0 -382
  39. package/coverage/src/index.html +0 -131
  40. package/coverage/src/stock-items/add-bulk-stock-item/add-stock-items-bulk-import-action-button.component.tsx.html +0 -151
  41. package/coverage/src/stock-items/add-bulk-stock-item/index.html +0 -131
  42. package/coverage/src/stock-items/add-bulk-stock-item/stock-items-bulk-import.modal.tsx.html +0 -340
  43. package/coverage/src/stock-items/add-stock-item/add-stock-action-button.component.tsx.html +0 -145
  44. package/coverage/src/stock-items/add-stock-item/add-stock-item.component.tsx.html +0 -376
  45. package/coverage/src/stock-items/add-stock-item/batch-information/batch-information.resource.ts.html +0 -262
  46. package/coverage/src/stock-items/add-stock-item/batch-information/index.html +0 -116
  47. package/coverage/src/stock-items/add-stock-item/concepts-selector/concepts-selector.component.tsx.html +0 -301
  48. package/coverage/src/stock-items/add-stock-item/concepts-selector/index.html +0 -116
  49. package/coverage/src/stock-items/add-stock-item/drug-selector/drug-selector.component.tsx.html +0 -454
  50. package/coverage/src/stock-items/add-stock-item/drug-selector/index.html +0 -116
  51. package/coverage/src/stock-items/add-stock-item/index.html +0 -131
  52. package/coverage/src/stock-items/add-stock-item/stock-item-category-selector/index.html +0 -116
  53. package/coverage/src/stock-items/add-stock-item/stock-item-category-selector/stock-item-category-selector.component.tsx.html +0 -319
  54. package/coverage/src/stock-items/add-stock-item/stock-item-details/index.html +0 -131
  55. package/coverage/src/stock-items/add-stock-item/stock-item-details/stock-item-details.component.tsx.html +0 -862
  56. package/coverage/src/stock-items/add-stock-item/stock-item-details/stock-item-details.resource.ts.html +0 -142
  57. package/coverage/src/stock-items/components/filter-stock-items/filter-stock-items.component.tsx.html +0 -166
  58. package/coverage/src/stock-items/components/filter-stock-items/index.html +0 -116
  59. package/coverage/src/stock-items/edit-stock-item/edit-stock-item-action-menu.component.tsx.html +0 -169
  60. package/coverage/src/stock-items/edit-stock-item/index.html +0 -116
  61. package/coverage/src/stock-items/index.html +0 -161
  62. package/coverage/src/stock-items/stock-item.utils.tsx.html +0 -103
  63. package/coverage/src/stock-items/stock-items-table.component.tsx.html +0 -910
  64. package/coverage/src/stock-items/stock-items.resource.ts.html +0 -1342
  65. package/coverage/src/stock-items/validationSchema.ts.html +0 -325
  66. package/coverage/src/stock-locations/add-location.modal.tsx.html +0 -289
  67. package/coverage/src/stock-locations/index.html +0 -146
  68. package/coverage/src/stock-locations/location-admin-form.component.tsx.html +0 -574
  69. package/coverage/src/stock-locations/stock-locations-table.resource.ts.html +0 -370
  70. package/coverage/src/stock-lookups/index.html +0 -116
  71. package/coverage/src/stock-lookups/stock-lookups.resource.ts.html +0 -997
  72. package/coverage/src/stock-operations/index.html +0 -131
  73. package/coverage/src/stock-operations/stock-operation.utils.tsx.html +0 -184
  74. package/coverage/src/stock-operations/stock-operations-forms/hooks/index.html +0 -161
  75. package/coverage/src/stock-operations/stock-operations-forms/hooks/useFilterableStockItems.ts.html +0 -211
  76. package/coverage/src/stock-operations/stock-operations-forms/hooks/useOperationTypePermisions.ts.html +0 -172
  77. package/coverage/src/stock-operations/stock-operations-forms/hooks/useSearchUser.ts.html +0 -226
  78. package/coverage/src/stock-operations/stock-operations-forms/hooks/useStockItemBatchNumbers.ts.html +0 -208
  79. package/coverage/src/stock-operations/stock-operations-forms/index.html +0 -116
  80. package/coverage/src/stock-operations/stock-operations-forms/input-components/batch-no-selector.component.tsx.html +0 -439
  81. package/coverage/src/stock-operations/stock-operations-forms/input-components/index.html +0 -176
  82. package/coverage/src/stock-operations/stock-operations-forms/input-components/quantity-uom-selector.component.tsx.html +0 -259
  83. package/coverage/src/stock-operations/stock-operations-forms/input-components/stock-item-search.component.tsx.html +0 -319
  84. package/coverage/src/stock-operations/stock-operations-forms/input-components/stock-operation-reason-selector.component.tsx.html +0 -286
  85. package/coverage/src/stock-operations/stock-operations-forms/input-components/users-selector.component.tsx.html +0 -412
  86. package/coverage/src/stock-operations/stock-operations-forms/steps/base-operation-details-form-step.tsx.html +0 -868
  87. package/coverage/src/stock-operations/stock-operations-forms/steps/index.html +0 -236
  88. package/coverage/src/stock-operations/stock-operations-forms/steps/quantity-uom-cell.component.tsx.html +0 -184
  89. package/coverage/src/stock-operations/stock-operations-forms/steps/received-items.component.tsx.html +0 -433
  90. package/coverage/src/stock-operations/stock-operations-forms/steps/stock-availability-cell.component.tsx.html +0 -238
  91. package/coverage/src/stock-operations/stock-operations-forms/steps/stock-operation-item-batch-no-cell.component.tsx.html +0 -205
  92. package/coverage/src/stock-operations/stock-operations-forms/steps/stock-operation-item-cell.component.tsx.html +0 -232
  93. package/coverage/src/stock-operations/stock-operations-forms/steps/stock-operation-item-expiry-cell.component.tsx.html +0 -208
  94. package/coverage/src/stock-operations/stock-operations-forms/steps/stock-operation-items-form-step.component.tsx.html +0 -910
  95. package/coverage/src/stock-operations/stock-operations-forms/steps/stock-operation-submission-form-step.component.tsx.html +0 -850
  96. package/coverage/src/stock-operations/stock-operations-forms/stock-item-form/index.html +0 -116
  97. package/coverage/src/stock-operations/stock-operations-forms/stock-item-form/stock-item-form.workspace.tsx.html +0 -781
  98. package/coverage/src/stock-operations/stock-operations-forms/stock-operation-form.component.tsx.html +0 -973
  99. package/coverage/src/stock-operations/stock-operations-forms/stock-operation-stepper/index.html +0 -116
  100. package/coverage/src/stock-operations/stock-operations-forms/stock-operation-stepper/stock-operation-stepper.component.tsx.html +0 -238
  101. package/coverage/src/stock-operations/validation-schema.ts.html +0 -847
  102. package/coverage/src/stock-reports/report-list/index.html +0 -116
  103. package/coverage/src/stock-reports/report-list/stock-report-status.utils.ts.html +0 -130
  104. package/coverage/src/stock-sources/add-stock-source-button.component.tsx.html +0 -145
  105. package/coverage/src/stock-sources/add-stock-sources/add-stock-sources.workspace.tsx.html +0 -550
  106. package/coverage/src/stock-sources/add-stock-sources/index.html +0 -116
  107. package/coverage/src/stock-sources/edit-stock-source/edit-stock-source.component.tsx.html +0 -175
  108. package/coverage/src/stock-sources/edit-stock-source/index.html +0 -116
  109. package/coverage/src/stock-sources/index.html +0 -146
  110. package/coverage/src/stock-sources/stock-sources-delete/index.html +0 -116
  111. package/coverage/src/stock-sources/stock-sources-delete/stock-sources-delete.component.tsx.html +0 -277
  112. package/coverage/src/stock-sources/stock-sources-filter/index.html +0 -116
  113. package/coverage/src/stock-sources/stock-sources-filter/stock-sources-filter.component.tsx.html +0 -235
  114. package/coverage/src/stock-sources/stock-sources-items-table.component.tsx.html +0 -661
  115. package/coverage/src/stock-sources/stock-sources.resource.ts.html +0 -295
  116. package/coverage/src/stock-user-role-scopes/delete-stock-user-scope.modal.tsx.html +0 -214
  117. package/coverage/src/stock-user-role-scopes/index.html +0 -116
  118. package/coverage/src/utils.ts.html +0 -133
@@ -1,145 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/stock-items/add-stock-item/add-stock-action-button.component.tsx</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/stock-items/add-stock-item</a> add-stock-action-button.component.tsx</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">80% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>4/5</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">50% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>1/2</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">80% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>4/5</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
87
- <span class="cline-any cline-neutral">&nbsp;</span>
88
- <span class="cline-any cline-neutral">&nbsp;</span>
89
- <span class="cline-any cline-neutral">&nbsp;</span>
90
- <span class="cline-any cline-neutral">&nbsp;</span>
91
- <span class="cline-any cline-yes">1x</span>
92
- <span class="cline-any cline-yes">23x</span>
93
- <span class="cline-any cline-neutral">&nbsp;</span>
94
- <span class="cline-any cline-yes">23x</span>
95
- <span class="cline-any cline-no">&nbsp;</span>
96
- <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-neutral">&nbsp;</span>
98
- <span class="cline-any cline-yes">23x</span>
99
- <span class="cline-any cline-neutral">&nbsp;</span>
100
- <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-neutral">&nbsp;</span>
102
- <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-neutral">&nbsp;</span>
104
- <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useCallback } from 'react';
107
- import { useTranslation } from 'react-i18next';
108
- import { Button } from '@carbon/react';
109
- import { launchAddOrEditStockItemWorkspace } from '../stock-item.utils';
110
- &nbsp;
111
- const AddStockItemActionButton: React.FC = () =&gt; {
112
- const { t } = useTranslation();
113
- &nbsp;
114
- const handleAddOrLaunchStockItemWorkspace = <span class="fstat-no" title="function not covered" >useCallback(() =&gt; {</span>
115
- <span class="cstat-no" title="statement not covered" > launchAddOrEditStockItemWorkspace();</span>
116
- }, []);
117
- &nbsp;
118
- return (
119
- &lt;Button onClick={handleAddOrLaunchStockItemWorkspace} size="md" kind="primary"&gt;
120
- {t('addStockItem', 'Add stock item')}
121
- &lt;/Button&gt;
122
- );
123
- };
124
- &nbsp;
125
- export default AddStockItemActionButton;
126
- &nbsp;</pre></td></tr></table></pre>
127
-
128
- <div class='push'></div><!-- for sticky footer -->
129
- </div><!-- /wrapper -->
130
- <div class='footer quiet pad2 space-top1 center small'>
131
- Code coverage generated by
132
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
133
- at 2026-10-19T11:46:33.626Z
134
- </div>
135
- <script src="../../../prettify.js"></script>
136
- <script>
137
- window.onload = function () {
138
- prettyPrint();
139
- };
140
- </script>
141
- <script src="../../../sorter.js"></script>
142
- <script src="../../../block-navigation.js"></script>
143
- </body>
144
- </html>
145
-
@@ -1,376 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/stock-items/add-stock-item/add-stock-item.component.tsx</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/stock-items/add-stock-item</a> add-stock-item.component.tsx</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>10/10</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">88.88% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>8/9</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>3/3</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>10/10</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
164
- <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-neutral">&nbsp;</span>
172
- <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-neutral">&nbsp;</span>
181
- <span class="cline-any cline-yes">2x</span>
182
- <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-yes">16x</span>
186
- <span class="cline-any cline-yes">16x</span>
187
- <span class="cline-any cline-yes">16x</span>
188
- <span class="cline-any cline-yes">16x</span>
189
- <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-yes">16x</span>
191
- <span class="cline-any cline-yes">8x</span>
192
- <span class="cline-any cline-neutral">&nbsp;</span>
193
- <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-yes">16x</span>
195
- <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-neutral">&nbsp;</span>
198
- <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-neutral">&nbsp;</span>
200
- <span class="cline-any cline-neutral">&nbsp;</span>
201
- <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-neutral">&nbsp;</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-neutral">&nbsp;</span>
209
- <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-neutral">&nbsp;</span>
229
- <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-neutral">&nbsp;</span>
236
- <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-neutral">&nbsp;</span>
238
- <span class="cline-any cline-yes">16x</span>
239
- <span class="cline-any cline-neutral">&nbsp;</span>
240
- <span class="cline-any cline-neutral">&nbsp;</span>
241
- <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-neutral">&nbsp;</span>
243
- <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-neutral">&nbsp;</span>
245
- <span class="cline-any cline-neutral">&nbsp;</span>
246
- <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-yes">112x</span>
248
- <span class="cline-any cline-neutral">&nbsp;</span>
249
- <span class="cline-any cline-neutral">&nbsp;</span>
250
- <span class="cline-any cline-neutral">&nbsp;</span>
251
- <span class="cline-any cline-neutral">&nbsp;</span>
252
- <span class="cline-any cline-neutral">&nbsp;</span>
253
- <span class="cline-any cline-neutral">&nbsp;</span>
254
- <span class="cline-any cline-neutral">&nbsp;</span>
255
- <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-neutral">&nbsp;</span>
258
- <span class="cline-any cline-neutral">&nbsp;</span>
259
- <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useState } from 'react';
261
- import { useTranslation } from 'react-i18next';
262
- import { Workspace2, type Workspace2DefinitionProps } from '@openmrs/esm-framework';
263
- import { type StockItemDTO } from '../../core/api/types/stockItem/StockItem';
264
- import { type TabItem } from '../../core/components/tabs/types';
265
- import BatchInformation from './batch-information/batch-information.component';
266
- import PackagingUnits from './packaging-units/packaging-units.component';
267
- import StockItemDetails from './stock-item-details/stock-item-details.component';
268
- import StockItemRules from './stock-item-rules/stock-item-rules.component';
269
- import StockOperationStepper from '../../stock-operations/stock-operations-forms/stock-operation-stepper/stock-operation-stepper.component';
270
- import StockQuantities from './quantities/quantities.component';
271
- import StockReferences from './stock-item-references/stock-item-references.component';
272
- import Transactions from './transactions/transactions.component';
273
- &nbsp;
274
- interface AddStockItemProps {
275
- stockItem?: StockItemDTO;
276
- }
277
- &nbsp;
278
- const AddEditStockItem: React.FC&lt;Workspace2DefinitionProps&lt;AddStockItemProps&gt;&gt; = ({
279
- workspaceProps,
280
- closeWorkspace,
281
- }) =&gt; {
282
- const { stockItem } = workspaceProps ?? <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
283
- const { t } = useTranslation();
284
- const [selectedTab, setSelectedTab] = useState(0);
285
- const isEditing = Boolean(stockItem);
286
- &nbsp;
287
- const handleTabChange = (index: number) =&gt; {
288
- setSelectedTab(index);
289
- };
290
- &nbsp;
291
- const tabs: TabItem[] = [
292
- {
293
- name: t('stockItemDetails', 'Stock Item Details'),
294
- component: (
295
- &lt;StockItemDetails
296
- key={stockItem?.uuid}
297
- handleTabChange={handleTabChange}
298
- stockItem={stockItem}
299
- onCloseWorkspace={closeWorkspace}
300
- /&gt;
301
- ),
302
- },
303
- {
304
- name: t('packagingUnits', 'Packaging Units'),
305
- component: &lt;PackagingUnits isEditing handleTabChange={handleTabChange} stockItemUuid={stockItem?.uuid} /&gt;,
306
- disabled: !isEditing,
307
- },
308
- {
309
- name: t('transactions', 'Transactions'),
310
- component: &lt;Transactions stockItemUuid={stockItem?.uuid} /&gt;,
311
- disabled: !isEditing,
312
- },
313
- {
314
- name: t('batchInformation', 'Batch Information'),
315
- component: &lt;BatchInformation stockItemUuid={stockItem?.uuid} /&gt;,
316
- disabled: !isEditing,
317
- },
318
- {
319
- name: t('quantities', 'Quantities'),
320
- component: &lt;StockQuantities stockItemUuid={stockItem?.uuid} /&gt;,
321
- disabled: !isEditing,
322
- },
323
- {
324
- name: t('rules', 'Rules'),
325
- component: &lt;StockItemRules stockItemUuid={stockItem?.uuid} /&gt;,
326
- disabled: !isEditing,
327
- },
328
- {
329
- name: t('references', 'References'),
330
- component: &lt;StockReferences stockItemUuid={stockItem?.uuid} isEditing={isEditing} /&gt;,
331
- disabled: !isEditing,
332
- },
333
- ];
334
- &nbsp;
335
- return (
336
- &lt;Workspace2
337
- title={
338
- stockItem
339
- ? `Edit ${stockItem.drugName || stockItem.conceptName || ''} ${stockItem.isDrug ? '(Drug)' : '(Non Drug)'}`
340
- : t('addItem', 'Add stock item')
341
- }
342
- &gt;
343
- &lt;StockOperationStepper
344
- steps={tabs.map((tab) =&gt; ({
345
- title: tab.name,
346
- component: tab.component,
347
- disabled: tab.disabled,
348
- }))}
349
- selectedIndex={selectedTab}
350
- onChange={handleTabChange}
351
- /&gt;
352
- &lt;/Workspace2&gt;
353
- );
354
- };
355
- &nbsp;
356
- export default AddEditStockItem;
357
- &nbsp;</pre></td></tr></table></pre>
358
-
359
- <div class='push'></div><!-- for sticky footer -->
360
- </div><!-- /wrapper -->
361
- <div class='footer quiet pad2 space-top1 center small'>
362
- Code coverage generated by
363
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
364
- at 2026-10-19T11:46:33.626Z
365
- </div>
366
- <script src="../../../prettify.js"></script>
367
- <script>
368
- window.onload = function () {
369
- prettyPrint();
370
- };
371
- </script>
372
- <script src="../../../sorter.js"></script>
373
- <script src="../../../block-navigation.js"></script>
374
- </body>
375
- </html>
376
-