@@ -7,10 +7,28 @@ import {
7
7
usePagination ,
8
8
ConfigurableLink ,
9
9
} from "@openmrs/esm-framework" ;
10
- import { DataTableSkeleton , Tag } from "@carbon/react" ;
10
+ import {
11
+ DataTable ,
12
+ Pagination ,
13
+ Table ,
14
+ TableBody ,
15
+ TableCell ,
16
+ TableContainer ,
17
+ TableHead ,
18
+ TableHeader ,
19
+ TableRow ,
20
+ Tile ,
21
+ TableToolbar ,
22
+ TableToolbarContent ,
23
+ Layer ,
24
+ TableToolbarSearch ,
25
+ DatePicker ,
26
+ DatePickerInput ,
27
+ DataTableSkeleton ,
28
+ Tag ,
29
+ } from "@carbon/react" ;
11
30
import styles from "./completed-list.scss" ;
12
31
import { getStatusColor } from "../utils/functions" ;
13
- import OrdersDataTable from "../utils/orders-table/orders-data-table.component" ;
14
32
15
33
interface CompletedListProps {
16
34
fulfillerStatus : string ;
@@ -102,18 +120,106 @@ const CompletedList: React.FC<CompletedListProps> = ({ fulfillerStatus }) => {
102
120
103
121
if ( paginatedWorkListEntries ?. length >= 0 ) {
104
122
return (
105
- < OrdersDataTable
106
- tabTitle = { "Completed" }
107
- orders = { paginatedWorkListEntries }
108
- rows = { tableRows }
109
- columns = { tableColumns }
110
- currentPage = { currentPage }
111
- currentPageSize = { currentPageSize }
112
- pageSizes = { pageSizes }
113
- totalItems = { paginatedWorkListEntries ?. length }
114
- setPageSize = { setPageSize }
115
- goTo = { goTo }
116
- />
123
+ < DataTable rows = { tableRows } headers = { tableColumns } useZebraStyles >
124
+ { ( {
125
+ rows,
126
+ headers,
127
+ getHeaderProps,
128
+ getTableProps,
129
+ getRowProps,
130
+ onInputChange,
131
+ } ) => (
132
+ < TableContainer className = { styles . tableContainer } >
133
+ < TableToolbar
134
+ style = { {
135
+ position : "static" ,
136
+ } }
137
+ >
138
+ < TableToolbarContent >
139
+ < Layer style = { { margin : "5px" } } >
140
+ < DatePicker dateFormat = "Y-m-d" datePickerType = "single" >
141
+ < DatePickerInput
142
+ labelText = { "" }
143
+ id = "activatedOnOrAfterDate"
144
+ placeholder = "YYYY-MM-DD"
145
+ onChange = { ( event ) => {
146
+ setActivatedOnOrAfterDate ( event . target . value ) ;
147
+ } }
148
+ type = "date"
149
+ value = { activatedOnOrAfterDate }
150
+ />
151
+ </ DatePicker >
152
+ </ Layer >
153
+ < Layer style = { { margin : "5px" } } >
154
+ < TableToolbarSearch
155
+ expanded
156
+ onChange = { onInputChange }
157
+ placeholder = { t ( "searchThisList" , "Search this list" ) }
158
+ size = "sm"
159
+ />
160
+ </ Layer >
161
+ </ TableToolbarContent >
162
+ </ TableToolbar >
163
+ < Table { ...getTableProps ( ) } className = { styles . activePatientsTable } >
164
+ < TableHead >
165
+ < TableRow >
166
+ { headers . map ( ( header ) => (
167
+ < TableHeader { ...getHeaderProps ( { header } ) } >
168
+ { header . header ?. content ?? header . header }
169
+ </ TableHeader >
170
+ ) ) }
171
+ </ TableRow >
172
+ </ TableHead >
173
+ < TableBody >
174
+ { rows . map ( ( row , index ) => {
175
+ return (
176
+ < React . Fragment key = { row . id } >
177
+ < TableRow { ...getRowProps ( { row } ) } key = { row . id } >
178
+ { row . cells . map ( ( cell ) => (
179
+ < TableCell key = { cell . id } >
180
+ { cell . value ?. content ?? cell . value }
181
+ </ TableCell >
182
+ ) ) }
183
+ </ TableRow >
184
+ </ React . Fragment >
185
+ ) ;
186
+ } ) }
187
+ </ TableBody >
188
+ </ Table >
189
+ { rows . length === 0 ? (
190
+ < div className = { styles . tileContainer } >
191
+ < Tile className = { styles . tile } >
192
+ < div className = { styles . tileContent } >
193
+ < p className = { styles . content } >
194
+ { t (
195
+ "noWorklistsToDisplay" ,
196
+ "No worklists orders to display"
197
+ ) }
198
+ </ p >
199
+ </ div >
200
+ </ Tile >
201
+ </ div >
202
+ ) : null }
203
+ < Pagination
204
+ forwardText = "Next page"
205
+ backwardText = "Previous page"
206
+ page = { currentPage }
207
+ pageSize = { currentPageSize }
208
+ pageSizes = { pageSizes }
209
+ totalItems = { workListEntries ?. length }
210
+ className = { styles . pagination }
211
+ onChange = { ( { pageSize, page } ) => {
212
+ if ( pageSize !== currentPageSize ) {
213
+ setPageSize ( pageSize ) ;
214
+ }
215
+ if ( page !== currentPage ) {
216
+ goTo ( page ) ;
217
+ }
218
+ } }
219
+ />
220
+ </ TableContainer >
221
+ ) }
222
+ </ DataTable >
117
223
) ;
118
224
}
119
225
} ;
0 commit comments