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

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 (116) hide show
  1. package/dist/openmrs-esm-stock-management-app.js +1 -1
  2. package/dist/openmrs-esm-stock-management-app.js.map +1 -1
  3. package/dist/routes.json +1 -1
  4. package/package.json +3 -2
  5. package/coverage/__mocks__/index.html +0 -161
  6. package/coverage/__mocks__/index.ts.html +0 -91
  7. package/coverage/__mocks__/operation-type.mock.ts.html +0 -1681
  8. package/coverage/__mocks__/react-i18next.js.html +0 -259
  9. package/coverage/__mocks__/workspace2-props.mock.ts.html +0 -145
  10. package/coverage/base.css +0 -224
  11. package/coverage/block-navigation.js +0 -87
  12. package/coverage/clover.xml +0 -1659
  13. package/coverage/coverage-final.json +0 -69
  14. package/coverage/favicon.png +0 -0
  15. package/coverage/index.html +0 -611
  16. package/coverage/prettify.css +0 -1
  17. package/coverage/prettify.js +0 -2
  18. package/coverage/sort-arrow-sprite.png +0 -0
  19. package/coverage/sorter.js +0 -210
  20. package/coverage/src/constants.ts.html +0 -598
  21. package/coverage/src/core/api/api.ts.html +0 -181
  22. package/coverage/src/core/api/index.html +0 -116
  23. package/coverage/src/core/api/types/BatchJob.ts.html +0 -415
  24. package/coverage/src/core/api/types/index.html +0 -116
  25. package/coverage/src/core/api/types/stockOperation/StockOperationStatus.ts.html +0 -139
  26. package/coverage/src/core/api/types/stockOperation/StockOperationType.ts.html +0 -460
  27. package/coverage/src/core/api/types/stockOperation/index.html +0 -131
  28. package/coverage/src/core/components/carbon/controlled-number-input.component.tsx.html +0 -226
  29. package/coverage/src/core/components/carbon/controlled-radio-button-group.component.tsx.html +0 -253
  30. package/coverage/src/core/components/carbon/controlled-text-input.component.tsx.html +0 -202
  31. package/coverage/src/core/components/carbon/index.html +0 -146
  32. package/coverage/src/core/hooks/debounce-hook.ts.html +0 -181
  33. package/coverage/src/core/hooks/index.html +0 -116
  34. package/coverage/src/core/utils/datetimeUtils.ts.html +0 -289
  35. package/coverage/src/core/utils/index.html +0 -131
  36. package/coverage/src/core/utils/utils.ts.html +0 -382
  37. package/coverage/src/index.html +0 -131
  38. package/coverage/src/stock-items/add-bulk-stock-item/add-stock-items-bulk-import-action-button.component.tsx.html +0 -151
  39. package/coverage/src/stock-items/add-bulk-stock-item/index.html +0 -131
  40. package/coverage/src/stock-items/add-bulk-stock-item/stock-items-bulk-import.modal.tsx.html +0 -340
  41. package/coverage/src/stock-items/add-stock-item/add-stock-action-button.component.tsx.html +0 -145
  42. package/coverage/src/stock-items/add-stock-item/add-stock-item.component.tsx.html +0 -376
  43. package/coverage/src/stock-items/add-stock-item/batch-information/batch-information.resource.ts.html +0 -262
  44. package/coverage/src/stock-items/add-stock-item/batch-information/index.html +0 -116
  45. package/coverage/src/stock-items/add-stock-item/concepts-selector/concepts-selector.component.tsx.html +0 -301
  46. package/coverage/src/stock-items/add-stock-item/concepts-selector/index.html +0 -116
  47. package/coverage/src/stock-items/add-stock-item/drug-selector/drug-selector.component.tsx.html +0 -454
  48. package/coverage/src/stock-items/add-stock-item/drug-selector/index.html +0 -116
  49. package/coverage/src/stock-items/add-stock-item/index.html +0 -131
  50. package/coverage/src/stock-items/add-stock-item/stock-item-category-selector/index.html +0 -116
  51. package/coverage/src/stock-items/add-stock-item/stock-item-category-selector/stock-item-category-selector.component.tsx.html +0 -319
  52. package/coverage/src/stock-items/add-stock-item/stock-item-details/index.html +0 -131
  53. package/coverage/src/stock-items/add-stock-item/stock-item-details/stock-item-details.component.tsx.html +0 -862
  54. package/coverage/src/stock-items/add-stock-item/stock-item-details/stock-item-details.resource.ts.html +0 -142
  55. package/coverage/src/stock-items/components/filter-stock-items/filter-stock-items.component.tsx.html +0 -166
  56. package/coverage/src/stock-items/components/filter-stock-items/index.html +0 -116
  57. package/coverage/src/stock-items/edit-stock-item/edit-stock-item-action-menu.component.tsx.html +0 -169
  58. package/coverage/src/stock-items/edit-stock-item/index.html +0 -116
  59. package/coverage/src/stock-items/index.html +0 -161
  60. package/coverage/src/stock-items/stock-item.utils.tsx.html +0 -103
  61. package/coverage/src/stock-items/stock-items-table.component.tsx.html +0 -910
  62. package/coverage/src/stock-items/stock-items.resource.ts.html +0 -1342
  63. package/coverage/src/stock-items/validationSchema.ts.html +0 -325
  64. package/coverage/src/stock-locations/add-location.modal.tsx.html +0 -289
  65. package/coverage/src/stock-locations/index.html +0 -146
  66. package/coverage/src/stock-locations/location-admin-form.component.tsx.html +0 -574
  67. package/coverage/src/stock-locations/stock-locations-table.resource.ts.html +0 -370
  68. package/coverage/src/stock-lookups/index.html +0 -116
  69. package/coverage/src/stock-lookups/stock-lookups.resource.ts.html +0 -997
  70. package/coverage/src/stock-operations/index.html +0 -131
  71. package/coverage/src/stock-operations/stock-operation.utils.tsx.html +0 -184
  72. package/coverage/src/stock-operations/stock-operations-forms/hooks/index.html +0 -161
  73. package/coverage/src/stock-operations/stock-operations-forms/hooks/useFilterableStockItems.ts.html +0 -211
  74. package/coverage/src/stock-operations/stock-operations-forms/hooks/useOperationTypePermisions.ts.html +0 -172
  75. package/coverage/src/stock-operations/stock-operations-forms/hooks/useSearchUser.ts.html +0 -226
  76. package/coverage/src/stock-operations/stock-operations-forms/hooks/useStockItemBatchNumbers.ts.html +0 -208
  77. package/coverage/src/stock-operations/stock-operations-forms/index.html +0 -116
  78. package/coverage/src/stock-operations/stock-operations-forms/input-components/batch-no-selector.component.tsx.html +0 -439
  79. package/coverage/src/stock-operations/stock-operations-forms/input-components/index.html +0 -176
  80. package/coverage/src/stock-operations/stock-operations-forms/input-components/quantity-uom-selector.component.tsx.html +0 -259
  81. package/coverage/src/stock-operations/stock-operations-forms/input-components/stock-item-search.component.tsx.html +0 -319
  82. package/coverage/src/stock-operations/stock-operations-forms/input-components/stock-operation-reason-selector.component.tsx.html +0 -286
  83. package/coverage/src/stock-operations/stock-operations-forms/input-components/users-selector.component.tsx.html +0 -412
  84. package/coverage/src/stock-operations/stock-operations-forms/steps/base-operation-details-form-step.tsx.html +0 -868
  85. package/coverage/src/stock-operations/stock-operations-forms/steps/index.html +0 -236
  86. package/coverage/src/stock-operations/stock-operations-forms/steps/quantity-uom-cell.component.tsx.html +0 -184
  87. package/coverage/src/stock-operations/stock-operations-forms/steps/received-items.component.tsx.html +0 -433
  88. package/coverage/src/stock-operations/stock-operations-forms/steps/stock-availability-cell.component.tsx.html +0 -238
  89. package/coverage/src/stock-operations/stock-operations-forms/steps/stock-operation-item-batch-no-cell.component.tsx.html +0 -205
  90. package/coverage/src/stock-operations/stock-operations-forms/steps/stock-operation-item-cell.component.tsx.html +0 -232
  91. package/coverage/src/stock-operations/stock-operations-forms/steps/stock-operation-item-expiry-cell.component.tsx.html +0 -208
  92. package/coverage/src/stock-operations/stock-operations-forms/steps/stock-operation-items-form-step.component.tsx.html +0 -910
  93. package/coverage/src/stock-operations/stock-operations-forms/steps/stock-operation-submission-form-step.component.tsx.html +0 -850
  94. package/coverage/src/stock-operations/stock-operations-forms/stock-item-form/index.html +0 -116
  95. package/coverage/src/stock-operations/stock-operations-forms/stock-item-form/stock-item-form.workspace.tsx.html +0 -781
  96. package/coverage/src/stock-operations/stock-operations-forms/stock-operation-form.component.tsx.html +0 -973
  97. package/coverage/src/stock-operations/stock-operations-forms/stock-operation-stepper/index.html +0 -116
  98. package/coverage/src/stock-operations/stock-operations-forms/stock-operation-stepper/stock-operation-stepper.component.tsx.html +0 -238
  99. package/coverage/src/stock-operations/validation-schema.ts.html +0 -847
  100. package/coverage/src/stock-reports/report-list/index.html +0 -116
  101. package/coverage/src/stock-reports/report-list/stock-report-status.utils.ts.html +0 -130
  102. package/coverage/src/stock-sources/add-stock-source-button.component.tsx.html +0 -145
  103. package/coverage/src/stock-sources/add-stock-sources/add-stock-sources.workspace.tsx.html +0 -550
  104. package/coverage/src/stock-sources/add-stock-sources/index.html +0 -116
  105. package/coverage/src/stock-sources/edit-stock-source/edit-stock-source.component.tsx.html +0 -175
  106. package/coverage/src/stock-sources/edit-stock-source/index.html +0 -116
  107. package/coverage/src/stock-sources/index.html +0 -146
  108. package/coverage/src/stock-sources/stock-sources-delete/index.html +0 -116
  109. package/coverage/src/stock-sources/stock-sources-delete/stock-sources-delete.component.tsx.html +0 -277
  110. package/coverage/src/stock-sources/stock-sources-filter/index.html +0 -116
  111. package/coverage/src/stock-sources/stock-sources-filter/stock-sources-filter.component.tsx.html +0 -235
  112. package/coverage/src/stock-sources/stock-sources-items-table.component.tsx.html +0 -661
  113. package/coverage/src/stock-sources/stock-sources.resource.ts.html +0 -295
  114. package/coverage/src/stock-user-role-scopes/delete-stock-user-scope.modal.tsx.html +0 -214
  115. package/coverage/src/stock-user-role-scopes/index.html +0 -116
  116. package/coverage/src/utils.ts.html +0 -133
@@ -1,910 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/stock-items/stock-items-table.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</a> stock-items-table.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'>32/32</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">74.07% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>20/27</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'>16/16</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'>31/31</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>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-neutral">&nbsp;</span>
347
- <span class="cline-any cline-neutral">&nbsp;</span>
348
- <span class="cline-any cline-neutral">&nbsp;</span>
349
- <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-neutral">&nbsp;</span>
351
- <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-neutral">&nbsp;</span>
353
- <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-neutral">&nbsp;</span>
355
- <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-neutral">&nbsp;</span>
365
- <span class="cline-any cline-neutral">&nbsp;</span>
366
- <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-neutral">&nbsp;</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-neutral">&nbsp;</span>
371
- <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-neutral">&nbsp;</span>
379
- <span class="cline-any cline-neutral">&nbsp;</span>
380
- <span class="cline-any cline-neutral">&nbsp;</span>
381
- <span class="cline-any cline-yes">1x</span>
382
- <span class="cline-any cline-yes">19x</span>
383
- <span class="cline-any cline-yes">19x</span>
384
- <span class="cline-any cline-yes">19x</span>
385
- <span class="cline-any cline-neutral">&nbsp;</span>
386
- <span class="cline-any cline-yes">19x</span>
387
- <span class="cline-any cline-yes">1x</span>
388
- <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-neutral">&nbsp;</span>
390
- <span class="cline-any cline-neutral">&nbsp;</span>
391
- <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-neutral">&nbsp;</span>
393
- <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-neutral">&nbsp;</span>
395
- <span class="cline-any cline-neutral">&nbsp;</span>
396
- <span class="cline-any cline-neutral">&nbsp;</span>
397
- <span class="cline-any cline-neutral">&nbsp;</span>
398
- <span class="cline-any cline-neutral">&nbsp;</span>
399
- <span class="cline-any cline-neutral">&nbsp;</span>
400
- <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-yes">19x</span>
402
- <span class="cline-any cline-neutral">&nbsp;</span>
403
- <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-yes">19x</span>
405
- <span class="cline-any cline-yes">11x</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-yes">19x</span>
409
- <span class="cline-any cline-yes">3x</span>
410
- <span class="cline-any cline-neutral">&nbsp;</span>
411
- <span class="cline-any cline-neutral">&nbsp;</span>
412
- <span class="cline-any cline-yes">19x</span>
413
- <span class="cline-any cline-yes">18x</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-yes">19x</span>
417
- <span class="cline-any cline-yes">7x</span>
418
- <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-neutral">&nbsp;</span>
421
- <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-neutral">&nbsp;</span>
429
- <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-neutral">&nbsp;</span>
433
- <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-neutral">&nbsp;</span>
437
- <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-neutral">&nbsp;</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-neutral">&nbsp;</span>
441
- <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-neutral">&nbsp;</span>
443
- <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-neutral">&nbsp;</span>
448
- <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-neutral">&nbsp;</span>
452
- <span class="cline-any cline-neutral">&nbsp;</span>
453
- <span class="cline-any cline-neutral">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-neutral">&nbsp;</span>
458
- <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-neutral">&nbsp;</span>
462
- <span class="cline-any cline-yes">19x</span>
463
- <span class="cline-any cline-yes">150x</span>
464
- <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-neutral">&nbsp;</span>
467
- <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-neutral">&nbsp;</span>
470
- <span class="cline-any cline-neutral">&nbsp;</span>
471
- <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-neutral">&nbsp;</span>
474
- <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-neutral">&nbsp;</span>
479
- <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-neutral">&nbsp;</span>
481
- <span class="cline-any cline-neutral">&nbsp;</span>
482
- <span class="cline-any cline-neutral">&nbsp;</span>
483
- <span class="cline-any cline-neutral">&nbsp;</span>
484
- <span class="cline-any cline-neutral">&nbsp;</span>
485
- <span class="cline-any cline-yes">1x</span>
486
- <span class="cline-any cline-yes">1x</span>
487
- <span class="cline-any cline-neutral">&nbsp;</span>
488
- <span class="cline-any cline-neutral">&nbsp;</span>
489
- <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-neutral">&nbsp;</span>
491
- <span class="cline-any cline-neutral">&nbsp;</span>
492
- <span class="cline-any cline-neutral">&nbsp;</span>
493
- <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-neutral">&nbsp;</span>
495
- <span class="cline-any cline-yes">19x</span>
496
- <span class="cline-any cline-yes">1x</span>
497
- <span class="cline-any cline-neutral">&nbsp;</span>
498
- <span class="cline-any cline-neutral">&nbsp;</span>
499
- <span class="cline-any cline-yes">17x</span>
500
- <span class="cline-any cline-neutral">&nbsp;</span>
501
- <span class="cline-any cline-neutral">&nbsp;</span>
502
- <span class="cline-any cline-neutral">&nbsp;</span>
503
- <span class="cline-any cline-neutral">&nbsp;</span>
504
- <span class="cline-any cline-neutral">&nbsp;</span>
505
- <span class="cline-any cline-neutral">&nbsp;</span>
506
- <span class="cline-any cline-yes">23x</span>
507
- <span class="cline-any cline-neutral">&nbsp;</span>
508
- <span class="cline-any cline-neutral">&nbsp;</span>
509
- <span class="cline-any cline-neutral">&nbsp;</span>
510
- <span class="cline-any cline-neutral">&nbsp;</span>
511
- <span class="cline-any cline-neutral">&nbsp;</span>
512
- <span class="cline-any cline-neutral">&nbsp;</span>
513
- <span class="cline-any cline-neutral">&nbsp;</span>
514
- <span class="cline-any cline-neutral">&nbsp;</span>
515
- <span class="cline-any cline-neutral">&nbsp;</span>
516
- <span class="cline-any cline-neutral">&nbsp;</span>
517
- <span class="cline-any cline-neutral">&nbsp;</span>
518
- <span class="cline-any cline-neutral">&nbsp;</span>
519
- <span class="cline-any cline-neutral">&nbsp;</span>
520
- <span class="cline-any cline-neutral">&nbsp;</span>
521
- <span class="cline-any cline-neutral">&nbsp;</span>
522
- <span class="cline-any cline-neutral">&nbsp;</span>
523
- <span class="cline-any cline-yes">11x</span>
524
- <span class="cline-any cline-neutral">&nbsp;</span>
525
- <span class="cline-any cline-neutral">&nbsp;</span>
526
- <span class="cline-any cline-neutral">&nbsp;</span>
527
- <span class="cline-any cline-neutral">&nbsp;</span>
528
- <span class="cline-any cline-neutral">&nbsp;</span>
529
- <span class="cline-any cline-neutral">&nbsp;</span>
530
- <span class="cline-any cline-neutral">&nbsp;</span>
531
- <span class="cline-any cline-neutral">&nbsp;</span>
532
- <span class="cline-any cline-neutral">&nbsp;</span>
533
- <span class="cline-any cline-neutral">&nbsp;</span>
534
- <span class="cline-any cline-neutral">&nbsp;</span>
535
- <span class="cline-any cline-neutral">&nbsp;</span>
536
- <span class="cline-any cline-neutral">&nbsp;</span>
537
- <span class="cline-any cline-neutral">&nbsp;</span>
538
- <span class="cline-any cline-neutral">&nbsp;</span>
539
- <span class="cline-any cline-neutral">&nbsp;</span>
540
- <span class="cline-any cline-neutral">&nbsp;</span>
541
- <span class="cline-any cline-neutral">&nbsp;</span>
542
- <span class="cline-any cline-neutral">&nbsp;</span>
543
- <span class="cline-any cline-neutral">&nbsp;</span>
544
- <span class="cline-any cline-yes">184x</span>
545
- <span class="cline-any cline-neutral">&nbsp;</span>
546
- <span class="cline-any cline-neutral">&nbsp;</span>
547
- <span class="cline-any cline-neutral">&nbsp;</span>
548
- <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-neutral">&nbsp;</span>
550
- <span class="cline-any cline-neutral">&nbsp;</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
552
- <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-yes">184x</span>
556
- <span class="cline-any cline-yes">184x</span>
557
- <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-neutral">&nbsp;</span>
559
- <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-neutral">&nbsp;</span>
562
- <span class="cline-any cline-neutral">&nbsp;</span>
563
- <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-neutral">&nbsp;</span>
566
- <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-neutral">&nbsp;</span>
568
- <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-neutral">&nbsp;</span>
570
- <span class="cline-any cline-yes">575x</span>
571
- <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-neutral">&nbsp;</span>
573
- <span class="cline-any cline-neutral">&nbsp;</span>
574
- <span class="cline-any cline-neutral">&nbsp;</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-neutral">&nbsp;</span>
578
- <span class="cline-any cline-neutral">&nbsp;</span>
579
- <span class="cline-any cline-yes">4600x</span>
580
- <span class="cline-any cline-neutral">&nbsp;</span>
581
- <span class="cline-any cline-neutral">&nbsp;</span>
582
- <span class="cline-any cline-neutral">&nbsp;</span>
583
- <span class="cline-any cline-neutral">&nbsp;</span>
584
- <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-neutral">&nbsp;</span>
588
- <span class="cline-any cline-neutral">&nbsp;</span>
589
- <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-neutral">&nbsp;</span>
599
- <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-yes">2x</span>
604
- <span class="cline-any cline-yes">2x</span>
605
- <span class="cline-any cline-neutral">&nbsp;</span>
606
- <span class="cline-any cline-neutral">&nbsp;</span>
607
- <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-neutral">&nbsp;</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-neutral">&nbsp;</span>
611
- <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</span>
614
- <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-neutral">&nbsp;</span>
616
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useMemo, useState, useEffect } from 'react';
617
- import { useTranslation } from 'react-i18next';
618
- import {
619
- DataTable,
620
- DataTableSkeleton,
621
- IconButton,
622
- Pagination,
623
- Table,
624
- TableBatchActions,
625
- TableBody,
626
- TableCell,
627
- TableContainer,
628
- TableHead,
629
- TableHeader,
630
- TableRow,
631
- TableToolbar,
632
- TableToolbarAction,
633
- TableToolbarContent,
634
- TableToolbarMenu,
635
- TableToolbarSearch,
636
- Tile,
637
- } from '@carbon/react';
638
- import { Edit } from '@carbon/react/icons';
639
- import { isDesktop, restBaseUrl } from '@openmrs/esm-framework';
640
- import { useHandleMutate } from '../utils';
641
- import { launchAddOrEditStockItemWorkspace } from './stock-item.utils';
642
- import { ResourceRepresentation } from '../core/api/api';
643
- import { useDebounce } from '../core/hooks/debounce-hook';
644
- import { useStockItemsPages } from './stock-items-table.resource';
645
- import AddStockItemActionButton from './add-stock-item/add-stock-action-button.component';
646
- import AddStockItemsBulktImportActionButton from './add-bulk-stock-item/add-stock-items-bulk-import-action-button.component';
647
- import EditStockItemActionsMenu from './edit-stock-item/edit-stock-item-action-menu.component';
648
- import FilterStockItems from './components/filter-stock-items/filter-stock-items.component';
649
- import { type CustomTableHeader } from '../core/components/table/types';
650
- import styles from './stock-items-table.scss';
651
- &nbsp;
652
- interface StockItemsTableProps {
653
- from?: string;
654
- }
655
- &nbsp;
656
- const StockItemsTableComponent: React.FC&lt;StockItemsTableProps&gt; = () =&gt; {
657
- const { t } = useTranslation();
658
- const handleMutate = useHandleMutate();
659
- const [searchInput, setSearchInput] = useState('');
660
- &nbsp;
661
- const handleRefresh = () =&gt; {
662
- handleMutate(`${restBaseUrl}/stockmanagement/stockitem`);
663
- };
664
- &nbsp;
665
- const {
666
- currentPage,
667
- currentPageSize,
668
- isDrug,
669
- isLoading,
670
- items,
671
- pageSizes,
672
- setCurrentPage,
673
- setDrug,
674
- setPageSize,
675
- setSearchString,
676
- totalCount,
677
- } = useStockItemsPages(ResourceRepresentation.Full);
678
- &nbsp;
679
- const handleSearch = (query: string) =&gt; {
680
- setSearchInput(query);
681
- };
682
- &nbsp;
683
- const debouncedSearch = useDebounce((query: string) =&gt; {
684
- setSearchString(query);
685
- }, 1000);
686
- &nbsp;
687
- useEffect(() =&gt; {
688
- debouncedSearch(searchInput);
689
- }, [searchInput, debouncedSearch]);
690
- &nbsp;
691
- const tableHeaders = useMemo(
692
- () =&gt; [
693
- {
694
- id: 0,
695
- header: t('type', 'Type'),
696
- key: 'type',
697
- },
698
- {
699
- id: 1,
700
- header: t('genericName', 'Generic name'),
701
- key: 'genericName',
702
- },
703
- {
704
- id: 2,
705
- header: t('commonName', 'Common name'),
706
- key: 'commonName',
707
- },
708
- {
709
- id: 3,
710
- header: t('tradeName', 'Trade name'),
711
- key: 'tradeName',
712
- },
713
- {
714
- id: 4,
715
- header: t('dispensingUnitName', 'Dispensing UoM'),
716
- key: 'dispensingUnitName',
717
- },
718
- {
719
- id: 5,
720
- header: t('defaultStockOperationsUoMName', 'Bulk packaging'),
721
- key: 'defaultStockOperationsUoMName',
722
- },
723
- {
724
- id: 6,
725
- header: t('reorderLevel', 'Reorder level'),
726
- key: 'reorderLevel',
727
- },
728
- {
729
- id: 7,
730
- header: t('actions', 'Actions'),
731
- key: 'actions',
732
- },
733
- ],
734
- [t],
735
- );
736
- &nbsp;
737
- const tableRows = useMemo(() =&gt; {
738
- return items?.map((stockItem, index) =&gt; ({
739
- ...stockItem,
740
- id: stockItem?.uuid,
741
- key: `key-${stockItem?.uuid}`,
742
- uuid: `${stockItem?.uuid}`,
743
- type: stockItem?.drugUuid ? t('drug', 'Drug') : t('other', 'Other'),
744
- genericName: &lt;EditStockItemActionsMenu data={items[index]} /&gt;,
745
- commonName: stockItem?.commonName,
746
- tradeName: stockItem?.drugUuid ? stockItem?.conceptName : '',
747
- preferredVendorName: stockItem?.preferredVendorName,
748
- dispensingUoM: stockItem?.defaultStockOperationsUoMName,
749
- dispensingUnitName: stockItem?.dispensingUnitName,
750
- defaultStockOperationsUoMName: stockItem?.defaultStockOperationsUoMName,
751
- reorderLevel:
752
- stockItem?.reorderLevelUoMName &amp;&amp; stockItem?.reorderLevel
753
- ? `${stockItem?.reorderLevel?.toLocaleString()} ${stockItem?.reorderLevelUoMName}`
754
- : '',
755
- actions: (
756
- &lt;IconButton
757
- kind="ghost"
758
- label={t('editStockItem', 'Edit stock item')}
759
- onClick={() =&gt; {
760
- stockItem.isDrug = !!stockItem.drugUuid;
761
- launchAddOrEditStockItemWorkspace(stockItem);
762
- }}
763
- &gt;
764
- &lt;Edit size={16} /&gt;
765
- &lt;/IconButton&gt;
766
- ),
767
- }));
768
- }, [items, t]);
769
- &nbsp;
770
- if (isLoading) {
771
- return &lt;DataTableSkeleton role="progressbar" /&gt;;
772
- }
773
- &nbsp;
774
- return (
775
- &lt;&gt;
776
- &lt;h2 className={styles.tableHeader}&gt;
777
- {t('stockItemsTableHeader', 'Drugs and other stock items managed by the system.')}
778
- &lt;/h2&gt;
779
- &lt;DataTable rows={tableRows} headers={tableHeaders} isSortable useZebraStyles&gt;
780
- {({ rows, headers, getHeaderProps, getTableProps, getRowProps, getBatchActionProps }) =&gt; (
781
- &lt;TableContainer&gt;
782
- &lt;TableToolbar
783
- style={{
784
- position: 'static',
785
- overflow: 'visible',
786
- backgroundColor: 'color',
787
- }}
788
- &gt;
789
- &lt;TableBatchActions {...getBatchActionProps()} /&gt;
790
- &lt;TableToolbarContent
791
- style={{
792
- display: 'flex',
793
- alignItems: 'center',
794
- }}
795
- &gt;
796
- &lt;TableToolbarSearch
797
- onChange={(e) =&gt;
798
- handleSearch(typeof e === 'string' ? <span class="branch-0 cbranch-no" title="branch not covered" >e : (e</span> as React.ChangeEvent&lt;HTMLInputElement&gt;).target.value)
799
- }
800
- persistent
801
- placeholder={t('searchStockItems', 'Search stock items')}
802
- value={searchInput}
803
- /&gt;
804
- &lt;FilterStockItems filterType={isDrug} changeFilterType={setDrug} /&gt;
805
- &lt;AddStockItemsBulktImportActionButton /&gt;
806
- &lt;TableToolbarMenu data-testid="stock-items-menu"&gt;
807
- &lt;TableToolbarAction className={styles.toolbarAction} onClick={handleRefresh}&gt;
808
- {t('refresh', 'Refresh')}
809
- &lt;/TableToolbarAction&gt;
810
- &lt;/TableToolbarMenu&gt;
811
- &lt;AddStockItemActionButton /&gt;
812
- &lt;/TableToolbarContent&gt;
813
- &lt;/TableToolbar&gt;
814
- &lt;Table {...getTableProps()}&gt;
815
- &lt;TableHead&gt;
816
- &lt;TableRow&gt;
817
- {headers.map(
818
- (header) =&gt;
819
- header.key !== 'details' &amp;&amp; (
820
- &lt;TableHeader
821
- {...getHeaderProps({
822
- header,
823
- isSortable: (header as CustomTableHeader).isSortable,
824
- })}
825
- className={isDesktop ? styles.desktopHeader : <span class="branch-1 cbranch-no" title="branch not covered" >styles.tabletHeader}</span>
826
- key={`${header.key}`}
827
- isSortable={header.key !== 'name'}
828
- &gt;
829
- {(() =&gt; {
830
- const customHeader = header as CustomTableHeader;
831
- return typeof customHeader.header === 'object' &amp;&amp;
832
- <span class="branch-1 cbranch-no" title="branch not covered" > customHeader.header !== null &amp;&amp;</span>
833
- <span class="branch-2 cbranch-no" title="branch not covered" > 'content' in customHeader.header</span>
834
- ? (<span class="branch-0 cbranch-no" title="branch not covered" >customHeader.header.content as React.ReactNode)</span>
835
- : (customHeader.header as React.ReactNode);
836
- })()}
837
- &lt;/TableHeader&gt;
838
- ),
839
- )}
840
- &lt;TableHeader /&gt;
841
- &lt;/TableRow&gt;
842
- &lt;/TableHead&gt;
843
- &lt;TableBody&gt;
844
- {rows.map((row) =&gt; {
845
- return (
846
- &lt;React.Fragment key={row.id}&gt;
847
- &lt;TableRow
848
- {...getRowProps({ row })}
849
- className={isDesktop ? styles.desktopRow : <span class="branch-1 cbranch-no" title="branch not covered" >styles.tabletRow}</span>
850
- key={row.id}
851
- &gt;
852
- {row.cells.map(
853
- (cell) =&gt;
854
- cell?.info?.header !== 'details' &amp;&amp; &lt;TableCell key={cell.id}&gt;{cell.value}&lt;/TableCell&gt;,
855
- )}
856
- &lt;/TableRow&gt;
857
- &lt;/React.Fragment&gt;
858
- );
859
- })}
860
- &lt;/TableBody&gt;
861
- &lt;/Table&gt;
862
- {rows.length === 0 ? (
863
- <span class="branch-0 cbranch-no" title="branch not covered" > &lt;div className={styles.tileContainer}&gt;</span>
864
- &lt;Tile className={styles.tile}&gt;
865
- &lt;div className={styles.tileContent}&gt;
866
- &lt;p className={styles.content}&gt;{t('noStockItemsToDisplay', 'No stock items to display')}&lt;/p&gt;
867
- &lt;p className={styles.helper}&gt;{t('checkFilters', 'Check the filters above')}&lt;/p&gt;
868
- &lt;/div&gt;
869
- &lt;/Tile&gt;
870
- &lt;/div&gt;
871
- ) : null}
872
- &lt;/TableContainer&gt;
873
- )}
874
- &lt;/DataTable&gt;
875
- &lt;Pagination
876
- className={styles.paginationOverride}
877
- onChange={({ page, pageSize }) =&gt; {
878
- setCurrentPage(page);
879
- setPageSize(pageSize);
880
- }}
881
- page={currentPage}
882
- pageSize={currentPageSize}
883
- pageSizes={pageSizes}
884
- totalItems={totalCount}
885
- /&gt;
886
- &lt;/&gt;
887
- );
888
- };
889
- &nbsp;
890
- export default StockItemsTableComponent;
891
- &nbsp;</pre></td></tr></table></pre>
892
-
893
- <div class='push'></div><!-- for sticky footer -->
894
- </div><!-- /wrapper -->
895
- <div class='footer quiet pad2 space-top1 center small'>
896
- Code coverage generated by
897
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
898
- at 2026-10-19T11:46:33.626Z
899
- </div>
900
- <script src="../../prettify.js"></script>
901
- <script>
902
- window.onload = function () {
903
- prettyPrint();
904
- };
905
- </script>
906
- <script src="../../sorter.js"></script>
907
- <script src="../../block-navigation.js"></script>
908
- </body>
909
- </html>
910
-