@dhis2-ui/table 10.16.2 → 10.16.3-alpha.1
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.
- package/package.json +5 -4
- package/src/data-table/__tests__/data-table-cell.test.js +168 -0
- package/src/data-table/__tests__/data-table-column-header/filter-handle.test.js +43 -0
- package/src/data-table/__tests__/data-table-column-header/sorter.test.js +41 -0
- package/src/data-table/__tests__/data-table-column-header.test.js +227 -0
- package/src/data-table/__tests__/data-table-row/expand-handle-cell.js +32 -0
- package/src/data-table/__tests__/data-table-row/expanded-row.test.js +57 -0
- package/src/data-table/__tests__/data-table-row.test.js +162 -0
- package/src/data-table/__tests__/data-table.test.js +85 -0
- package/src/data-table/data-table-body.js +3 -0
- package/src/data-table/data-table-cell.js +111 -0
- package/src/data-table/data-table-column-header/data-table-column-header.js +130 -0
- package/src/data-table/data-table-column-header/data-table-column-header.styles.js +30 -0
- package/src/data-table/data-table-column-header/filter-handle.js +30 -0
- package/src/data-table/data-table-column-header/sorter.js +67 -0
- package/src/data-table/data-table-foot.js +3 -0
- package/src/data-table/data-table-head.js +3 -0
- package/src/data-table/data-table-row/data-table-row.js +103 -0
- package/src/data-table/data-table-row/data-table-row.styles.js +20 -0
- package/src/data-table/data-table-row/drag-handle-cell.js +9 -0
- package/src/data-table/data-table-row/expand-handle-cell.js +28 -0
- package/src/data-table/data-table-row/expanded-row.js +51 -0
- package/src/data-table/data-table-toolbar.js +3 -0
- package/src/data-table/data-table.e2e.stories.js +192 -0
- package/src/data-table/data-table.js +75 -0
- package/src/data-table/data-table.prod.stories.js +1342 -0
- package/src/data-table/features/can_scroll/index.js +48 -0
- package/src/data-table/features/can_scroll.feature +31 -0
- package/src/data-table/index.js +8 -0
- package/src/data-table/table-elements/__tests__/table-body.test.js +40 -0
- package/src/data-table/table-elements/__tests__/table-data-cell.test.js +123 -0
- package/src/data-table/table-elements/__tests__/table-foot.test.js +40 -0
- package/src/data-table/table-elements/__tests__/table-head.test.js +40 -0
- package/src/data-table/table-elements/__tests__/table-header-cell-action.test.js +46 -0
- package/src/data-table/table-elements/__tests__/table-header-cell.test.js +130 -0
- package/src/data-table/table-elements/__tests__/table-row.test.js +52 -0
- package/src/data-table/table-elements/__tests__/table-scroll-box.test.js +40 -0
- package/src/data-table/table-elements/__tests__/table-toolbar.test.js +44 -0
- package/src/data-table/table-elements/__tests__/table.test.js +53 -0
- package/src/data-table/table-elements/features/can_scroll/index.js +42 -0
- package/src/data-table/table-elements/features/can_scroll.feature +31 -0
- package/src/data-table/table-elements/index.js +10 -0
- package/src/data-table/table-elements/table-body.js +75 -0
- package/src/data-table/table-elements/table-data-cell/table-data-cell.js +126 -0
- package/src/data-table/table-elements/table-data-cell/table-data-cell.styles.js +42 -0
- package/src/data-table/table-elements/table-foot.js +35 -0
- package/src/data-table/table-elements/table-head.js +26 -0
- package/src/data-table/table-elements/table-header-cell/table-header-cell.js +121 -0
- package/src/data-table/table-elements/table-header-cell/table-header-cell.styles.js +71 -0
- package/src/data-table/table-elements/table-header-cell-action.js +62 -0
- package/src/data-table/table-elements/table-row.js +52 -0
- package/src/data-table/table-elements/table-scroll-box.js +41 -0
- package/src/data-table/table-elements/table-toolbar.js +50 -0
- package/src/data-table/table-elements/table.e2e.stories.js +190 -0
- package/src/data-table/table-elements/table.js +70 -0
- package/src/data-table/table-elements/table.stories.internal.js +1144 -0
- package/src/index.js +32 -0
- package/src/locales/ar/translations.json +4 -0
- package/src/locales/cs/translations.json +4 -0
- package/src/locales/en/translations.json +4 -0
- package/src/locales/es/translations.json +4 -0
- package/src/locales/es_419/translations.json +4 -0
- package/src/locales/fr/translations.json +4 -0
- package/src/locales/index.js +44 -0
- package/src/locales/km/translations.json +4 -0
- package/src/locales/lo/translations.json +4 -0
- package/src/locales/nb/translations.json +4 -0
- package/src/locales/nl/translations.json +4 -0
- package/src/locales/pt/translations.json +4 -0
- package/src/locales/ru/translations.json +4 -0
- package/src/locales/uk/translations.json +4 -0
- package/src/locales/uz_UZ_Cyrl/translations.json +4 -0
- package/src/locales/zh/translations.json +4 -0
- package/src/stacked-table/add-col-num-to-children.js +16 -0
- package/src/stacked-table/content-with-title.js +40 -0
- package/src/stacked-table/extract-header-labels.js +99 -0
- package/src/stacked-table/index.js +8 -0
- package/src/stacked-table/stacked-table-body.js +23 -0
- package/src/stacked-table/stacked-table-cell-head.js +39 -0
- package/src/stacked-table/stacked-table-cell.js +60 -0
- package/src/stacked-table/stacked-table-foot.js +24 -0
- package/src/stacked-table/stacked-table-head.js +23 -0
- package/src/stacked-table/stacked-table-row-head.js +19 -0
- package/src/stacked-table/stacked-table-row.js +50 -0
- package/src/stacked-table/stacked-table.js +33 -0
- package/src/stacked-table/stacked-table.prod.stories.js +463 -0
- package/src/stacked-table/stacked-table.test.js +127 -0
- package/src/stacked-table/supply-header-labels-to-children.js +7 -0
- package/src/stacked-table/table-context.js +4 -0
- package/src/stacked-table/table.js +28 -0
- package/src/table/index.js +8 -0
- package/src/table/table-body.js +21 -0
- package/src/table/table-cell-head.js +56 -0
- package/src/table/table-cell.js +56 -0
- package/src/table/table-context.js +7 -0
- package/src/table/table-foot.js +21 -0
- package/src/table/table-head.js +21 -0
- package/src/table/table-row-head.js +30 -0
- package/src/table/table-row.js +51 -0
- package/src/table/table.js +41 -0
- package/src/table/table.prod.stories.js +724 -0
|
@@ -0,0 +1,1342 @@
|
|
|
1
|
+
import { Box } from '@dhis2-ui/box'
|
|
2
|
+
import { Checkbox } from '@dhis2-ui/checkbox'
|
|
3
|
+
import { Input } from '@dhis2-ui/input'
|
|
4
|
+
import React, { useState } from 'react'
|
|
5
|
+
import { DataTableBody } from './data-table-body.js'
|
|
6
|
+
import { DataTableCell } from './data-table-cell.js'
|
|
7
|
+
import { DataTableColumnHeader } from './data-table-column-header/data-table-column-header.js'
|
|
8
|
+
import { DataTableFoot } from './data-table-foot.js'
|
|
9
|
+
import { DataTableHead } from './data-table-head.js'
|
|
10
|
+
import { DataTableRow } from './data-table-row/data-table-row.js'
|
|
11
|
+
import { DataTableToolbar } from './data-table-toolbar.js'
|
|
12
|
+
import { DataTable } from './data-table.js'
|
|
13
|
+
|
|
14
|
+
const subtitle = 'Used to display information in a standard, effective way.'
|
|
15
|
+
|
|
16
|
+
const description = `
|
|
17
|
+
Should be used with multiple DataTable-related child components - see the datatable and examples below.
|
|
18
|
+
|
|
19
|
+
\`\`\`js
|
|
20
|
+
import {
|
|
21
|
+
DataTable,
|
|
22
|
+
DataTableToolbar,
|
|
23
|
+
DataTableHead,
|
|
24
|
+
DataTableBody,
|
|
25
|
+
DataTableFoot,
|
|
26
|
+
DataTableRow,
|
|
27
|
+
DataTableCell,
|
|
28
|
+
DataTableColumnHeader,
|
|
29
|
+
} from '@dhis2/ui'
|
|
30
|
+
\`\`\`
|
|
31
|
+
`
|
|
32
|
+
|
|
33
|
+
export default {
|
|
34
|
+
title: 'DataTable',
|
|
35
|
+
component: DataTable,
|
|
36
|
+
// Add subcomponents to the args datatable
|
|
37
|
+
subcomponents: {
|
|
38
|
+
DataTableToolbar,
|
|
39
|
+
DataTableHead,
|
|
40
|
+
DataTableBody,
|
|
41
|
+
DataTableFoot,
|
|
42
|
+
DataTableRow,
|
|
43
|
+
DataTableCell,
|
|
44
|
+
DataTableColumnHeader,
|
|
45
|
+
},
|
|
46
|
+
parameters: {
|
|
47
|
+
componentSubtitle: subtitle,
|
|
48
|
+
docs: { description: { component: description } },
|
|
49
|
+
},
|
|
50
|
+
argTypes: {
|
|
51
|
+
// hide control from `children` because that can't be live edited
|
|
52
|
+
children: { control: { disable: true } },
|
|
53
|
+
// hide child component controls completely to avoid confusion
|
|
54
|
+
bordered: { datatable: { disable: true } },
|
|
55
|
+
large: { datatable: { disable: true } },
|
|
56
|
+
draggable: { datatable: { disable: true } },
|
|
57
|
+
},
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const BasicTemplate = ({ bordered, large, draggable, bodyProps, ...args }) => (
|
|
61
|
+
<DataTable {...args}>
|
|
62
|
+
<DataTableHead>
|
|
63
|
+
<DataTableRow>
|
|
64
|
+
{draggable && <DataTableColumnHeader large={large} />}
|
|
65
|
+
<DataTableColumnHeader large={large}>
|
|
66
|
+
First name
|
|
67
|
+
</DataTableColumnHeader>
|
|
68
|
+
<DataTableColumnHeader large={large}>
|
|
69
|
+
Last name
|
|
70
|
+
</DataTableColumnHeader>
|
|
71
|
+
<DataTableColumnHeader large={large}>
|
|
72
|
+
Incident date
|
|
73
|
+
</DataTableColumnHeader>
|
|
74
|
+
<DataTableColumnHeader large={large}>
|
|
75
|
+
Last updated
|
|
76
|
+
</DataTableColumnHeader>
|
|
77
|
+
</DataTableRow>
|
|
78
|
+
</DataTableHead>
|
|
79
|
+
<DataTableBody {...bodyProps}>
|
|
80
|
+
<DataTableRow draggable={draggable}>
|
|
81
|
+
<DataTableCell large={large} bordered={bordered}>
|
|
82
|
+
Onyekachukwu
|
|
83
|
+
</DataTableCell>
|
|
84
|
+
<DataTableCell large={large} bordered={bordered}>
|
|
85
|
+
Kariuki
|
|
86
|
+
</DataTableCell>
|
|
87
|
+
<DataTableCell large={large} bordered={bordered}>
|
|
88
|
+
02/06/2007
|
|
89
|
+
</DataTableCell>
|
|
90
|
+
<DataTableCell large={large} bordered={bordered}>
|
|
91
|
+
05/25/1972
|
|
92
|
+
</DataTableCell>
|
|
93
|
+
</DataTableRow>
|
|
94
|
+
<DataTableRow draggable={draggable}>
|
|
95
|
+
<DataTableCell large={large} bordered={bordered}>
|
|
96
|
+
Kwasi
|
|
97
|
+
</DataTableCell>
|
|
98
|
+
<DataTableCell large={large} bordered={bordered}>
|
|
99
|
+
Okafor
|
|
100
|
+
</DataTableCell>
|
|
101
|
+
<DataTableCell large={large} bordered={bordered}>
|
|
102
|
+
08/11/2010
|
|
103
|
+
</DataTableCell>
|
|
104
|
+
<DataTableCell large={large} bordered={bordered}>
|
|
105
|
+
02/26/1991
|
|
106
|
+
</DataTableCell>
|
|
107
|
+
</DataTableRow>
|
|
108
|
+
<DataTableRow draggable={draggable}>
|
|
109
|
+
<DataTableCell large={large} bordered={bordered}>
|
|
110
|
+
Siyabonga
|
|
111
|
+
</DataTableCell>
|
|
112
|
+
<DataTableCell large={large} bordered={bordered}>
|
|
113
|
+
Abiodun
|
|
114
|
+
</DataTableCell>
|
|
115
|
+
<DataTableCell large={large} bordered={bordered}>
|
|
116
|
+
07/21/1981
|
|
117
|
+
</DataTableCell>
|
|
118
|
+
<DataTableCell large={large} bordered={bordered}>
|
|
119
|
+
02/06/2007
|
|
120
|
+
</DataTableCell>
|
|
121
|
+
</DataTableRow>
|
|
122
|
+
</DataTableBody>
|
|
123
|
+
<DataTableFoot>
|
|
124
|
+
<DataTableRow>
|
|
125
|
+
<DataTableCell colSpan={draggable ? '5' : '4'}>
|
|
126
|
+
Footer content
|
|
127
|
+
</DataTableCell>
|
|
128
|
+
</DataTableRow>
|
|
129
|
+
</DataTableFoot>
|
|
130
|
+
</DataTable>
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
export const Default = BasicTemplate.bind({})
|
|
134
|
+
Default.args = {}
|
|
135
|
+
|
|
136
|
+
export const Loading = BasicTemplate.bind({})
|
|
137
|
+
Loading.args = { bodyProps: { loading: true } }
|
|
138
|
+
|
|
139
|
+
export const BorderedCells = BasicTemplate.bind({})
|
|
140
|
+
BorderedCells.args = {
|
|
141
|
+
bordered: true,
|
|
142
|
+
}
|
|
143
|
+
export const LargeCells = BasicTemplate.bind({})
|
|
144
|
+
LargeCells.args = {
|
|
145
|
+
large: true,
|
|
146
|
+
}
|
|
147
|
+
export const DraggableRows = BasicTemplate.bind({})
|
|
148
|
+
DraggableRows.args = {
|
|
149
|
+
draggable: true,
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const IndividualCellTemplate = (args) => (
|
|
153
|
+
<DataTable {...args}>
|
|
154
|
+
<DataTableHead>
|
|
155
|
+
<DataTableRow>
|
|
156
|
+
<DataTableColumnHeader>Header</DataTableColumnHeader>
|
|
157
|
+
<DataTableColumnHeader>Header</DataTableColumnHeader>
|
|
158
|
+
<DataTableColumnHeader>Header</DataTableColumnHeader>
|
|
159
|
+
<DataTableColumnHeader>Header</DataTableColumnHeader>
|
|
160
|
+
</DataTableRow>
|
|
161
|
+
</DataTableHead>
|
|
162
|
+
<DataTableBody>
|
|
163
|
+
<DataTableRow>
|
|
164
|
+
<DataTableCell tag="th">Active Cells</DataTableCell>
|
|
165
|
+
<DataTableCell>Inactive cell</DataTableCell>
|
|
166
|
+
<DataTableCell
|
|
167
|
+
active
|
|
168
|
+
onClick={() => {
|
|
169
|
+
console.log('You clicked on a DataTableCell')
|
|
170
|
+
}}
|
|
171
|
+
>
|
|
172
|
+
Acive Cell with onClick
|
|
173
|
+
</DataTableCell>
|
|
174
|
+
<DataTableCell>Inactive cell</DataTableCell>
|
|
175
|
+
</DataTableRow>
|
|
176
|
+
<DataTableRow>
|
|
177
|
+
<DataTableCell tag="th">Alignment</DataTableCell>
|
|
178
|
+
<DataTableCell align="left">Left</DataTableCell>
|
|
179
|
+
<DataTableCell align="center">Center</DataTableCell>
|
|
180
|
+
<DataTableCell align="right">Right</DataTableCell>
|
|
181
|
+
</DataTableRow>
|
|
182
|
+
<DataTableRow>
|
|
183
|
+
<DataTableCell tag="th">Built in formatting</DataTableCell>
|
|
184
|
+
<DataTableCell error>Error</DataTableCell>
|
|
185
|
+
<DataTableCell valid>Valid</DataTableCell>
|
|
186
|
+
<DataTableCell muted>Muted</DataTableCell>
|
|
187
|
+
</DataTableRow>
|
|
188
|
+
<DataTableRow>
|
|
189
|
+
<DataTableCell tag="th" backgroundColor="lightgreen">
|
|
190
|
+
Custom background (lightgreen)
|
|
191
|
+
</DataTableCell>
|
|
192
|
+
<DataTableCell backgroundColor="#eff">#eff</DataTableCell>
|
|
193
|
+
<DataTableCell active backgroundColor="yellow">
|
|
194
|
+
yellow
|
|
195
|
+
</DataTableCell>
|
|
196
|
+
<DataTableCell>None</DataTableCell>
|
|
197
|
+
</DataTableRow>
|
|
198
|
+
<DataTableRow selected>
|
|
199
|
+
<DataTableCell tag="th">
|
|
200
|
+
Custom background (on selected row )
|
|
201
|
+
</DataTableCell>
|
|
202
|
+
<DataTableCell backgroundColor="#eff">#eff</DataTableCell>
|
|
203
|
+
<DataTableCell backgroundColor="yellow">yellow</DataTableCell>
|
|
204
|
+
<DataTableCell>None</DataTableCell>
|
|
205
|
+
</DataTableRow>
|
|
206
|
+
</DataTableBody>
|
|
207
|
+
</DataTable>
|
|
208
|
+
)
|
|
209
|
+
|
|
210
|
+
export const CellStyling = IndividualCellTemplate.bind({})
|
|
211
|
+
CellStyling.args = {}
|
|
212
|
+
|
|
213
|
+
const ToolbarsTemplate = (args) => (
|
|
214
|
+
<>
|
|
215
|
+
<DataTableToolbar>
|
|
216
|
+
<p>Content</p>
|
|
217
|
+
</DataTableToolbar>
|
|
218
|
+
<DataTable {...args}>
|
|
219
|
+
<DataTableHead>
|
|
220
|
+
<DataTableRow>
|
|
221
|
+
<DataTableColumnHeader>First name</DataTableColumnHeader>
|
|
222
|
+
<DataTableColumnHeader>Last name</DataTableColumnHeader>
|
|
223
|
+
<DataTableColumnHeader>Incident date</DataTableColumnHeader>
|
|
224
|
+
<DataTableColumnHeader>Last updated</DataTableColumnHeader>
|
|
225
|
+
</DataTableRow>
|
|
226
|
+
</DataTableHead>
|
|
227
|
+
<DataTableBody>
|
|
228
|
+
<DataTableRow>
|
|
229
|
+
<DataTableCell>Onyekachukwu</DataTableCell>
|
|
230
|
+
<DataTableCell>Kariuki</DataTableCell>
|
|
231
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
232
|
+
<DataTableCell>05/25/1972</DataTableCell>
|
|
233
|
+
</DataTableRow>
|
|
234
|
+
<DataTableRow>
|
|
235
|
+
<DataTableCell>Kwasi</DataTableCell>
|
|
236
|
+
<DataTableCell>Okafor</DataTableCell>
|
|
237
|
+
<DataTableCell>08/11/2010</DataTableCell>
|
|
238
|
+
<DataTableCell>02/26/1991</DataTableCell>
|
|
239
|
+
</DataTableRow>
|
|
240
|
+
<DataTableRow>
|
|
241
|
+
<DataTableCell>Siyabonga</DataTableCell>
|
|
242
|
+
<DataTableCell>Abiodun</DataTableCell>
|
|
243
|
+
<DataTableCell>07/21/1981</DataTableCell>
|
|
244
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
245
|
+
</DataTableRow>
|
|
246
|
+
</DataTableBody>
|
|
247
|
+
</DataTable>
|
|
248
|
+
<DataTableToolbar position="bottom">
|
|
249
|
+
<p>Content (bottom)</p>
|
|
250
|
+
</DataTableToolbar>
|
|
251
|
+
</>
|
|
252
|
+
)
|
|
253
|
+
export const Toolbars = ToolbarsTemplate.bind({})
|
|
254
|
+
Toolbars.args = {}
|
|
255
|
+
|
|
256
|
+
const ExpandableContentTemplate = (args) => {
|
|
257
|
+
const [openRowIndex, setOpenRowIndex] = useState(null)
|
|
258
|
+
const toggleOpenRow = (index) =>
|
|
259
|
+
setOpenRowIndex(openRowIndex === index ? null : index)
|
|
260
|
+
const style = {
|
|
261
|
+
margin: 8,
|
|
262
|
+
padding: 4,
|
|
263
|
+
backgroundColor: 'lightblue',
|
|
264
|
+
}
|
|
265
|
+
const expandableContent = <div style={style}>More info about this row!</div>
|
|
266
|
+
return (
|
|
267
|
+
<DataTable {...args}>
|
|
268
|
+
<DataTableHead>
|
|
269
|
+
<DataTableRow>
|
|
270
|
+
<DataTableColumnHeader />
|
|
271
|
+
<DataTableColumnHeader>First name</DataTableColumnHeader>
|
|
272
|
+
<DataTableColumnHeader>Last name</DataTableColumnHeader>
|
|
273
|
+
<DataTableColumnHeader>Incident date</DataTableColumnHeader>
|
|
274
|
+
<DataTableColumnHeader>Last updated</DataTableColumnHeader>
|
|
275
|
+
</DataTableRow>
|
|
276
|
+
</DataTableHead>
|
|
277
|
+
<DataTableBody>
|
|
278
|
+
<DataTableRow
|
|
279
|
+
expanded={openRowIndex === 0}
|
|
280
|
+
onExpandToggle={(payload) => {
|
|
281
|
+
console.log(payload)
|
|
282
|
+
toggleOpenRow(0)
|
|
283
|
+
}}
|
|
284
|
+
expandableContent={expandableContent}
|
|
285
|
+
>
|
|
286
|
+
<DataTableCell>Onyekachukwu</DataTableCell>
|
|
287
|
+
<DataTableCell>Kariuki</DataTableCell>
|
|
288
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
289
|
+
<DataTableCell>05/25/1972</DataTableCell>
|
|
290
|
+
</DataTableRow>
|
|
291
|
+
<DataTableRow
|
|
292
|
+
expanded={openRowIndex === 1}
|
|
293
|
+
onExpandToggle={() => toggleOpenRow(1)}
|
|
294
|
+
expandableContent={expandableContent}
|
|
295
|
+
>
|
|
296
|
+
<DataTableCell>Kwasi</DataTableCell>
|
|
297
|
+
<DataTableCell>Okafor</DataTableCell>
|
|
298
|
+
<DataTableCell>08/11/2010</DataTableCell>
|
|
299
|
+
<DataTableCell>02/26/1991</DataTableCell>
|
|
300
|
+
</DataTableRow>
|
|
301
|
+
<DataTableRow
|
|
302
|
+
expanded={openRowIndex === 2}
|
|
303
|
+
onExpandToggle={() => toggleOpenRow(2)}
|
|
304
|
+
expandableContent={expandableContent}
|
|
305
|
+
>
|
|
306
|
+
<DataTableCell>Siyabonga</DataTableCell>
|
|
307
|
+
<DataTableCell>Abiodun</DataTableCell>
|
|
308
|
+
<DataTableCell>07/21/1981</DataTableCell>
|
|
309
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
310
|
+
</DataTableRow>
|
|
311
|
+
</DataTableBody>
|
|
312
|
+
</DataTable>
|
|
313
|
+
)
|
|
314
|
+
}
|
|
315
|
+
export const ExpandableContent = ExpandableContentTemplate.bind({})
|
|
316
|
+
ExpandableContent.args = {}
|
|
317
|
+
|
|
318
|
+
const SelectableRowsTemplate = (args) => {
|
|
319
|
+
const [selected, setSelected] = useState({ id_2: true })
|
|
320
|
+
const toggleSelected = ({ value, checked }) => {
|
|
321
|
+
setSelected({
|
|
322
|
+
...selected,
|
|
323
|
+
[value]: checked,
|
|
324
|
+
})
|
|
325
|
+
}
|
|
326
|
+
const toggleAll = ({ checked }) => {
|
|
327
|
+
setSelected({
|
|
328
|
+
id_1: checked,
|
|
329
|
+
id_2: checked,
|
|
330
|
+
id_3: checked,
|
|
331
|
+
})
|
|
332
|
+
}
|
|
333
|
+
const allSelected = () =>
|
|
334
|
+
Object.values(selected).filter((value) => value).length === 3
|
|
335
|
+
|
|
336
|
+
return (
|
|
337
|
+
<DataTable {...args}>
|
|
338
|
+
<DataTableHead>
|
|
339
|
+
<DataTableRow>
|
|
340
|
+
<DataTableColumnHeader width="48px">
|
|
341
|
+
<Checkbox
|
|
342
|
+
checked={allSelected()}
|
|
343
|
+
onChange={toggleAll}
|
|
344
|
+
/>
|
|
345
|
+
</DataTableColumnHeader>
|
|
346
|
+
<DataTableColumnHeader>First name</DataTableColumnHeader>
|
|
347
|
+
<DataTableColumnHeader>Last name</DataTableColumnHeader>
|
|
348
|
+
<DataTableColumnHeader>Incident date</DataTableColumnHeader>
|
|
349
|
+
<DataTableColumnHeader>Last updated</DataTableColumnHeader>
|
|
350
|
+
</DataTableRow>
|
|
351
|
+
</DataTableHead>
|
|
352
|
+
<DataTableBody>
|
|
353
|
+
<DataTableRow selected={!!selected.id_1}>
|
|
354
|
+
<DataTableCell width="48px">
|
|
355
|
+
<Checkbox
|
|
356
|
+
value="id_1"
|
|
357
|
+
checked={!!selected.id_1}
|
|
358
|
+
onChange={toggleSelected}
|
|
359
|
+
/>
|
|
360
|
+
</DataTableCell>
|
|
361
|
+
<DataTableCell>Onyekachukwu</DataTableCell>
|
|
362
|
+
<DataTableCell>Kariuki</DataTableCell>
|
|
363
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
364
|
+
<DataTableCell>05/25/1972</DataTableCell>
|
|
365
|
+
</DataTableRow>
|
|
366
|
+
<DataTableRow selected={!!selected.id_2}>
|
|
367
|
+
<DataTableCell width="48px">
|
|
368
|
+
<Checkbox
|
|
369
|
+
value="id_2"
|
|
370
|
+
checked={!!selected.id_2}
|
|
371
|
+
onChange={toggleSelected}
|
|
372
|
+
/>
|
|
373
|
+
</DataTableCell>
|
|
374
|
+
<DataTableCell>Kwasi</DataTableCell>
|
|
375
|
+
<DataTableCell>Okafor</DataTableCell>
|
|
376
|
+
<DataTableCell>08/11/2010</DataTableCell>
|
|
377
|
+
<DataTableCell>02/26/1991</DataTableCell>
|
|
378
|
+
</DataTableRow>
|
|
379
|
+
<DataTableRow selected={!!selected.id_3}>
|
|
380
|
+
<DataTableCell width="48px">
|
|
381
|
+
<Checkbox
|
|
382
|
+
value="id_3"
|
|
383
|
+
checked={!!selected.id_3}
|
|
384
|
+
onChange={toggleSelected}
|
|
385
|
+
/>
|
|
386
|
+
</DataTableCell>
|
|
387
|
+
<DataTableCell>Siyabonga</DataTableCell>
|
|
388
|
+
<DataTableCell>Abiodun</DataTableCell>
|
|
389
|
+
<DataTableCell>07/21/1981</DataTableCell>
|
|
390
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
391
|
+
</DataTableRow>
|
|
392
|
+
</DataTableBody>
|
|
393
|
+
</DataTable>
|
|
394
|
+
)
|
|
395
|
+
}
|
|
396
|
+
export const SelectableRows = SelectableRowsTemplate.bind({})
|
|
397
|
+
SelectableRows.args = {}
|
|
398
|
+
|
|
399
|
+
const FixedHeaderTemplate = (args) => (
|
|
400
|
+
<DataTable {...args}>
|
|
401
|
+
<DataTableHead>
|
|
402
|
+
<DataTableRow>
|
|
403
|
+
<DataTableColumnHeader fixed top="0">
|
|
404
|
+
First name
|
|
405
|
+
</DataTableColumnHeader>
|
|
406
|
+
<DataTableColumnHeader fixed top="0">
|
|
407
|
+
Last name
|
|
408
|
+
</DataTableColumnHeader>
|
|
409
|
+
<DataTableColumnHeader fixed top="0">
|
|
410
|
+
Incident date
|
|
411
|
+
</DataTableColumnHeader>
|
|
412
|
+
<DataTableColumnHeader fixed top="0">
|
|
413
|
+
Last updated
|
|
414
|
+
</DataTableColumnHeader>
|
|
415
|
+
<DataTableColumnHeader fixed top="0">
|
|
416
|
+
Age
|
|
417
|
+
</DataTableColumnHeader>
|
|
418
|
+
<DataTableColumnHeader fixed top="0">
|
|
419
|
+
Registering unit
|
|
420
|
+
</DataTableColumnHeader>
|
|
421
|
+
<DataTableColumnHeader fixed top="0">
|
|
422
|
+
Assigned user
|
|
423
|
+
</DataTableColumnHeader>
|
|
424
|
+
<DataTableColumnHeader fixed top="0">
|
|
425
|
+
Status
|
|
426
|
+
</DataTableColumnHeader>
|
|
427
|
+
</DataTableRow>
|
|
428
|
+
</DataTableHead>
|
|
429
|
+
<DataTableBody>
|
|
430
|
+
<DataTableRow>
|
|
431
|
+
<DataTableCell>Onyekachukwu</DataTableCell>
|
|
432
|
+
<DataTableCell>Kariuki</DataTableCell>
|
|
433
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
434
|
+
<DataTableCell>05/25/1972</DataTableCell>
|
|
435
|
+
<DataTableCell>66</DataTableCell>
|
|
436
|
+
<DataTableCell>Jawi</DataTableCell>
|
|
437
|
+
<DataTableCell>Sofie Hubert</DataTableCell>
|
|
438
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
439
|
+
</DataTableRow>
|
|
440
|
+
<DataTableRow>
|
|
441
|
+
<DataTableCell>Kwasi</DataTableCell>
|
|
442
|
+
<DataTableCell>Okafor</DataTableCell>
|
|
443
|
+
<DataTableCell>08/11/2010</DataTableCell>
|
|
444
|
+
<DataTableCell>02/26/1991</DataTableCell>
|
|
445
|
+
<DataTableCell>38</DataTableCell>
|
|
446
|
+
<DataTableCell>Mokassie MCHP</DataTableCell>
|
|
447
|
+
<DataTableCell>Dashonte Clarke</DataTableCell>
|
|
448
|
+
<DataTableCell>Complete</DataTableCell>
|
|
449
|
+
</DataTableRow>
|
|
450
|
+
<DataTableRow>
|
|
451
|
+
<DataTableCell>Siyabonga</DataTableCell>
|
|
452
|
+
<DataTableCell>Abiodun</DataTableCell>
|
|
453
|
+
<DataTableCell>07/21/1981</DataTableCell>
|
|
454
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
455
|
+
<DataTableCell>98</DataTableCell>
|
|
456
|
+
<DataTableCell>Bathurst MCHP</DataTableCell>
|
|
457
|
+
<DataTableCell>Unassigned</DataTableCell>
|
|
458
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
459
|
+
</DataTableRow>
|
|
460
|
+
<DataTableRow>
|
|
461
|
+
<DataTableCell>Chiyembekezo</DataTableCell>
|
|
462
|
+
<DataTableCell>Okeke</DataTableCell>
|
|
463
|
+
<DataTableCell>01/23/1982</DataTableCell>
|
|
464
|
+
<DataTableCell>07/15/2003</DataTableCell>
|
|
465
|
+
<DataTableCell>2</DataTableCell>
|
|
466
|
+
<DataTableCell>Mayolla MCHP</DataTableCell>
|
|
467
|
+
<DataTableCell>Wan Gengxin</DataTableCell>
|
|
468
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
469
|
+
</DataTableRow>
|
|
470
|
+
<DataTableRow>
|
|
471
|
+
<DataTableCell>Mtendere</DataTableCell>
|
|
472
|
+
<DataTableCell>Afolayan</DataTableCell>
|
|
473
|
+
<DataTableCell>08/12/1994</DataTableCell>
|
|
474
|
+
<DataTableCell>05/12/1972</DataTableCell>
|
|
475
|
+
<DataTableCell>37</DataTableCell>
|
|
476
|
+
<DataTableCell>Gbangadu MCHP</DataTableCell>
|
|
477
|
+
<DataTableCell>Gvozden Boskovsky</DataTableCell>
|
|
478
|
+
<DataTableCell>Complete</DataTableCell>
|
|
479
|
+
</DataTableRow>
|
|
480
|
+
<DataTableRow>
|
|
481
|
+
<DataTableCell>Inyene</DataTableCell>
|
|
482
|
+
<DataTableCell>Okonkwo</DataTableCell>
|
|
483
|
+
<DataTableCell>04/01/1971</DataTableCell>
|
|
484
|
+
<DataTableCell>03/16/2000</DataTableCell>
|
|
485
|
+
<DataTableCell>70</DataTableCell>
|
|
486
|
+
<DataTableCell>Kunike Barina</DataTableCell>
|
|
487
|
+
<DataTableCell>Oscar de la Cavallería</DataTableCell>
|
|
488
|
+
<DataTableCell>Complete</DataTableCell>
|
|
489
|
+
</DataTableRow>
|
|
490
|
+
<DataTableRow>
|
|
491
|
+
<DataTableCell>Amaka</DataTableCell>
|
|
492
|
+
<DataTableCell>Pretorius</DataTableCell>
|
|
493
|
+
<DataTableCell>01/25/1996</DataTableCell>
|
|
494
|
+
<DataTableCell>09/15/1986</DataTableCell>
|
|
495
|
+
<DataTableCell>32</DataTableCell>
|
|
496
|
+
<DataTableCell>Bargbo</DataTableCell>
|
|
497
|
+
<DataTableCell>Alberto Raya</DataTableCell>
|
|
498
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
499
|
+
</DataTableRow>
|
|
500
|
+
<DataTableRow>
|
|
501
|
+
<DataTableCell>Meti</DataTableCell>
|
|
502
|
+
<DataTableCell>Abiodun</DataTableCell>
|
|
503
|
+
<DataTableCell>10/24/2010</DataTableCell>
|
|
504
|
+
<DataTableCell>07/26/1989</DataTableCell>
|
|
505
|
+
<DataTableCell>8</DataTableCell>
|
|
506
|
+
<DataTableCell>Majihun MCHP</DataTableCell>
|
|
507
|
+
<DataTableCell>Unassigned</DataTableCell>
|
|
508
|
+
<DataTableCell>Complete</DataTableCell>
|
|
509
|
+
</DataTableRow>
|
|
510
|
+
<DataTableRow>
|
|
511
|
+
<DataTableCell>Eshe</DataTableCell>
|
|
512
|
+
<DataTableCell>Okeke</DataTableCell>
|
|
513
|
+
<DataTableCell>01/31/1995</DataTableCell>
|
|
514
|
+
<DataTableCell>01/31/1995</DataTableCell>
|
|
515
|
+
<DataTableCell>63</DataTableCell>
|
|
516
|
+
<DataTableCell>Mambiama CHP</DataTableCell>
|
|
517
|
+
<DataTableCell>Shadrias Pearson</DataTableCell>
|
|
518
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
519
|
+
</DataTableRow>
|
|
520
|
+
<DataTableRow>
|
|
521
|
+
<DataTableCell>Obi</DataTableCell>
|
|
522
|
+
<DataTableCell>Okafor</DataTableCell>
|
|
523
|
+
<DataTableCell>06/07/1990</DataTableCell>
|
|
524
|
+
<DataTableCell>01/03/2006</DataTableCell>
|
|
525
|
+
<DataTableCell>28</DataTableCell>
|
|
526
|
+
<DataTableCell>Dalakuru CHP</DataTableCell>
|
|
527
|
+
<DataTableCell>Anatoliy Shcherbatykh</DataTableCell>
|
|
528
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
529
|
+
</DataTableRow>
|
|
530
|
+
</DataTableBody>
|
|
531
|
+
</DataTable>
|
|
532
|
+
)
|
|
533
|
+
export const FixedHeader = FixedHeaderTemplate.bind({})
|
|
534
|
+
FixedHeader.args = {
|
|
535
|
+
scrollHeight: '350px',
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
const FixedFirstColumnTemplate = (args) => (
|
|
539
|
+
<DataTable {...args}>
|
|
540
|
+
<DataTableHead>
|
|
541
|
+
<DataTableRow>
|
|
542
|
+
<DataTableColumnHeader fixed top="0" left="0">
|
|
543
|
+
First name
|
|
544
|
+
</DataTableColumnHeader>
|
|
545
|
+
<DataTableColumnHeader>Last name</DataTableColumnHeader>
|
|
546
|
+
<DataTableColumnHeader>Incident date</DataTableColumnHeader>
|
|
547
|
+
<DataTableColumnHeader>Last updated</DataTableColumnHeader>
|
|
548
|
+
<DataTableColumnHeader>Age</DataTableColumnHeader>
|
|
549
|
+
<DataTableColumnHeader>Registering unit</DataTableColumnHeader>
|
|
550
|
+
<DataTableColumnHeader>Assigned user</DataTableColumnHeader>
|
|
551
|
+
<DataTableColumnHeader>Status</DataTableColumnHeader>
|
|
552
|
+
</DataTableRow>
|
|
553
|
+
</DataTableHead>
|
|
554
|
+
<DataTableBody>
|
|
555
|
+
<DataTableRow>
|
|
556
|
+
<DataTableCell fixed left="0">
|
|
557
|
+
Onyekachukwu
|
|
558
|
+
</DataTableCell>
|
|
559
|
+
<DataTableCell>Kariuki</DataTableCell>
|
|
560
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
561
|
+
<DataTableCell>05/25/1972</DataTableCell>
|
|
562
|
+
<DataTableCell>66</DataTableCell>
|
|
563
|
+
<DataTableCell>Jawi</DataTableCell>
|
|
564
|
+
<DataTableCell>Sofie Hubert</DataTableCell>
|
|
565
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
566
|
+
</DataTableRow>
|
|
567
|
+
<DataTableRow>
|
|
568
|
+
<DataTableCell fixed left="0">
|
|
569
|
+
Kwasi
|
|
570
|
+
</DataTableCell>
|
|
571
|
+
<DataTableCell>Okafor</DataTableCell>
|
|
572
|
+
<DataTableCell>08/11/2010</DataTableCell>
|
|
573
|
+
<DataTableCell>02/26/1991</DataTableCell>
|
|
574
|
+
<DataTableCell>38</DataTableCell>
|
|
575
|
+
<DataTableCell>Mokassie MCHP</DataTableCell>
|
|
576
|
+
<DataTableCell>Dashonte Clarke</DataTableCell>
|
|
577
|
+
<DataTableCell>Complete</DataTableCell>
|
|
578
|
+
</DataTableRow>
|
|
579
|
+
<DataTableRow>
|
|
580
|
+
<DataTableCell fixed left="0">
|
|
581
|
+
Siyabonga
|
|
582
|
+
</DataTableCell>
|
|
583
|
+
<DataTableCell>Abiodun</DataTableCell>
|
|
584
|
+
<DataTableCell>07/21/1981</DataTableCell>
|
|
585
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
586
|
+
<DataTableCell>98</DataTableCell>
|
|
587
|
+
<DataTableCell>Bathurst MCHP</DataTableCell>
|
|
588
|
+
<DataTableCell>Unassigned</DataTableCell>
|
|
589
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
590
|
+
</DataTableRow>
|
|
591
|
+
<DataTableRow>
|
|
592
|
+
<DataTableCell fixed left="0">
|
|
593
|
+
Chiyembekezo
|
|
594
|
+
</DataTableCell>
|
|
595
|
+
<DataTableCell>Okeke</DataTableCell>
|
|
596
|
+
<DataTableCell>01/23/1982</DataTableCell>
|
|
597
|
+
<DataTableCell>07/15/2003</DataTableCell>
|
|
598
|
+
<DataTableCell>2</DataTableCell>
|
|
599
|
+
<DataTableCell>Mayolla MCHP</DataTableCell>
|
|
600
|
+
<DataTableCell>Wan Gengxin</DataTableCell>
|
|
601
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
602
|
+
</DataTableRow>
|
|
603
|
+
<DataTableRow>
|
|
604
|
+
<DataTableCell fixed left="0">
|
|
605
|
+
Mtendere
|
|
606
|
+
</DataTableCell>
|
|
607
|
+
<DataTableCell>Afolayan</DataTableCell>
|
|
608
|
+
<DataTableCell>08/12/1994</DataTableCell>
|
|
609
|
+
<DataTableCell>05/12/1972</DataTableCell>
|
|
610
|
+
<DataTableCell>37</DataTableCell>
|
|
611
|
+
<DataTableCell>Gbangadu MCHP</DataTableCell>
|
|
612
|
+
<DataTableCell>Gvozden Boskovsky</DataTableCell>
|
|
613
|
+
<DataTableCell>Complete</DataTableCell>
|
|
614
|
+
</DataTableRow>
|
|
615
|
+
<DataTableRow>
|
|
616
|
+
<DataTableCell fixed left="0">
|
|
617
|
+
Inyene
|
|
618
|
+
</DataTableCell>
|
|
619
|
+
<DataTableCell>Okonkwo</DataTableCell>
|
|
620
|
+
<DataTableCell>04/01/1971</DataTableCell>
|
|
621
|
+
<DataTableCell>03/16/2000</DataTableCell>
|
|
622
|
+
<DataTableCell>70</DataTableCell>
|
|
623
|
+
<DataTableCell>Kunike Barina</DataTableCell>
|
|
624
|
+
<DataTableCell>Oscar de la Cavallería</DataTableCell>
|
|
625
|
+
<DataTableCell>Complete</DataTableCell>
|
|
626
|
+
</DataTableRow>
|
|
627
|
+
<DataTableRow>
|
|
628
|
+
<DataTableCell fixed left="0">
|
|
629
|
+
Amaka
|
|
630
|
+
</DataTableCell>
|
|
631
|
+
<DataTableCell>Pretorius</DataTableCell>
|
|
632
|
+
<DataTableCell>01/25/1996</DataTableCell>
|
|
633
|
+
<DataTableCell>09/15/1986</DataTableCell>
|
|
634
|
+
<DataTableCell>32</DataTableCell>
|
|
635
|
+
<DataTableCell>Bargbo</DataTableCell>
|
|
636
|
+
<DataTableCell>Alberto Raya</DataTableCell>
|
|
637
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
638
|
+
</DataTableRow>
|
|
639
|
+
<DataTableRow>
|
|
640
|
+
<DataTableCell fixed left="0">
|
|
641
|
+
Meti
|
|
642
|
+
</DataTableCell>
|
|
643
|
+
<DataTableCell>Abiodun</DataTableCell>
|
|
644
|
+
<DataTableCell>10/24/2010</DataTableCell>
|
|
645
|
+
<DataTableCell>07/26/1989</DataTableCell>
|
|
646
|
+
<DataTableCell>8</DataTableCell>
|
|
647
|
+
<DataTableCell>Majihun MCHP</DataTableCell>
|
|
648
|
+
<DataTableCell>Unassigned</DataTableCell>
|
|
649
|
+
<DataTableCell>Complete</DataTableCell>
|
|
650
|
+
</DataTableRow>
|
|
651
|
+
<DataTableRow>
|
|
652
|
+
<DataTableCell fixed left="0">
|
|
653
|
+
Eshe
|
|
654
|
+
</DataTableCell>
|
|
655
|
+
<DataTableCell>Okeke</DataTableCell>
|
|
656
|
+
<DataTableCell>01/31/1995</DataTableCell>
|
|
657
|
+
<DataTableCell>01/31/1995</DataTableCell>
|
|
658
|
+
<DataTableCell>63</DataTableCell>
|
|
659
|
+
<DataTableCell>Mambiama CHP</DataTableCell>
|
|
660
|
+
<DataTableCell>Shadrias Pearson</DataTableCell>
|
|
661
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
662
|
+
</DataTableRow>
|
|
663
|
+
<DataTableRow>
|
|
664
|
+
<DataTableCell fixed left="0">
|
|
665
|
+
Obi
|
|
666
|
+
</DataTableCell>
|
|
667
|
+
<DataTableCell>Okafor</DataTableCell>
|
|
668
|
+
<DataTableCell>06/07/1990</DataTableCell>
|
|
669
|
+
<DataTableCell>01/03/2006</DataTableCell>
|
|
670
|
+
<DataTableCell>28</DataTableCell>
|
|
671
|
+
<DataTableCell>Dalakuru CHP</DataTableCell>
|
|
672
|
+
<DataTableCell>Anatoliy Shcherbatykh</DataTableCell>
|
|
673
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
674
|
+
</DataTableRow>
|
|
675
|
+
</DataTableBody>
|
|
676
|
+
</DataTable>
|
|
677
|
+
)
|
|
678
|
+
export const FixedFirstColumn = FixedFirstColumnTemplate.bind({})
|
|
679
|
+
FixedFirstColumn.args = {
|
|
680
|
+
scrollWidth: '500px',
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
const FixedHeaderAndTwoColumnsTemplate = (args) => (
|
|
684
|
+
<DataTable {...args}>
|
|
685
|
+
<DataTableHead>
|
|
686
|
+
<DataTableRow>
|
|
687
|
+
<DataTableColumnHeader fixed top="0" left="0" width="120px">
|
|
688
|
+
First name
|
|
689
|
+
</DataTableColumnHeader>
|
|
690
|
+
<DataTableColumnHeader fixed top="0" left="120px">
|
|
691
|
+
Last name
|
|
692
|
+
</DataTableColumnHeader>
|
|
693
|
+
<DataTableColumnHeader fixed top="0">
|
|
694
|
+
Incident date
|
|
695
|
+
</DataTableColumnHeader>
|
|
696
|
+
<DataTableColumnHeader fixed top="0">
|
|
697
|
+
Last updated
|
|
698
|
+
</DataTableColumnHeader>
|
|
699
|
+
<DataTableColumnHeader fixed top="0">
|
|
700
|
+
Age
|
|
701
|
+
</DataTableColumnHeader>
|
|
702
|
+
<DataTableColumnHeader fixed top="0">
|
|
703
|
+
Registering unit
|
|
704
|
+
</DataTableColumnHeader>
|
|
705
|
+
<DataTableColumnHeader fixed top="0">
|
|
706
|
+
Assigned user
|
|
707
|
+
</DataTableColumnHeader>
|
|
708
|
+
<DataTableColumnHeader fixed top="0">
|
|
709
|
+
Status
|
|
710
|
+
</DataTableColumnHeader>
|
|
711
|
+
</DataTableRow>
|
|
712
|
+
</DataTableHead>
|
|
713
|
+
<DataTableBody>
|
|
714
|
+
<DataTableRow>
|
|
715
|
+
<DataTableCell fixed left="0" width="120px">
|
|
716
|
+
Onyekachukwu
|
|
717
|
+
</DataTableCell>
|
|
718
|
+
<DataTableCell fixed left="120px">
|
|
719
|
+
Kariuki
|
|
720
|
+
</DataTableCell>
|
|
721
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
722
|
+
<DataTableCell>05/25/1972</DataTableCell>
|
|
723
|
+
<DataTableCell>66</DataTableCell>
|
|
724
|
+
<DataTableCell>Jawi</DataTableCell>
|
|
725
|
+
<DataTableCell>Sofie Hubert</DataTableCell>
|
|
726
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
727
|
+
</DataTableRow>
|
|
728
|
+
<DataTableRow>
|
|
729
|
+
<DataTableCell fixed left="0" width="120px">
|
|
730
|
+
Kwasi
|
|
731
|
+
</DataTableCell>
|
|
732
|
+
<DataTableCell fixed left="120px">
|
|
733
|
+
Okafor
|
|
734
|
+
</DataTableCell>
|
|
735
|
+
<DataTableCell>08/11/2010</DataTableCell>
|
|
736
|
+
<DataTableCell>02/26/1991</DataTableCell>
|
|
737
|
+
<DataTableCell>38</DataTableCell>
|
|
738
|
+
<DataTableCell>Mokassie MCHP</DataTableCell>
|
|
739
|
+
<DataTableCell>Dashonte Clarke</DataTableCell>
|
|
740
|
+
<DataTableCell>Complete</DataTableCell>
|
|
741
|
+
</DataTableRow>
|
|
742
|
+
<DataTableRow>
|
|
743
|
+
<DataTableCell fixed left="0" width="120px">
|
|
744
|
+
Siyabonga
|
|
745
|
+
</DataTableCell>
|
|
746
|
+
<DataTableCell fixed left="120px">
|
|
747
|
+
Abiodun
|
|
748
|
+
</DataTableCell>
|
|
749
|
+
<DataTableCell>07/21/1981</DataTableCell>
|
|
750
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
751
|
+
<DataTableCell>98</DataTableCell>
|
|
752
|
+
<DataTableCell>Bathurst MCHP</DataTableCell>
|
|
753
|
+
<DataTableCell>Unassigned</DataTableCell>
|
|
754
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
755
|
+
</DataTableRow>
|
|
756
|
+
<DataTableRow>
|
|
757
|
+
<DataTableCell fixed left="0" width="120px">
|
|
758
|
+
Chiyembekezo
|
|
759
|
+
</DataTableCell>
|
|
760
|
+
<DataTableCell fixed left="120px">
|
|
761
|
+
Okeke
|
|
762
|
+
</DataTableCell>
|
|
763
|
+
<DataTableCell>01/23/1982</DataTableCell>
|
|
764
|
+
<DataTableCell>07/15/2003</DataTableCell>
|
|
765
|
+
<DataTableCell>2</DataTableCell>
|
|
766
|
+
<DataTableCell>Mayolla MCHP</DataTableCell>
|
|
767
|
+
<DataTableCell>Wan Gengxin</DataTableCell>
|
|
768
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
769
|
+
</DataTableRow>
|
|
770
|
+
<DataTableRow>
|
|
771
|
+
<DataTableCell fixed left="0" width="120px">
|
|
772
|
+
Mtendere
|
|
773
|
+
</DataTableCell>
|
|
774
|
+
<DataTableCell fixed left="120px">
|
|
775
|
+
Afolayan
|
|
776
|
+
</DataTableCell>
|
|
777
|
+
<DataTableCell>08/12/1994</DataTableCell>
|
|
778
|
+
<DataTableCell>05/12/1972</DataTableCell>
|
|
779
|
+
<DataTableCell>37</DataTableCell>
|
|
780
|
+
<DataTableCell>Gbangadu MCHP</DataTableCell>
|
|
781
|
+
<DataTableCell>Gvozden Boskovsky</DataTableCell>
|
|
782
|
+
<DataTableCell>Complete</DataTableCell>
|
|
783
|
+
</DataTableRow>
|
|
784
|
+
<DataTableRow>
|
|
785
|
+
<DataTableCell fixed left="0" width="120px">
|
|
786
|
+
Inyene
|
|
787
|
+
</DataTableCell>
|
|
788
|
+
<DataTableCell fixed left="120px">
|
|
789
|
+
Okonkwo
|
|
790
|
+
</DataTableCell>
|
|
791
|
+
<DataTableCell>04/01/1971</DataTableCell>
|
|
792
|
+
<DataTableCell>03/16/2000</DataTableCell>
|
|
793
|
+
<DataTableCell>70</DataTableCell>
|
|
794
|
+
<DataTableCell>Kunike Barina</DataTableCell>
|
|
795
|
+
<DataTableCell>Oscar de la Cavallería</DataTableCell>
|
|
796
|
+
<DataTableCell>Complete</DataTableCell>
|
|
797
|
+
</DataTableRow>
|
|
798
|
+
<DataTableRow>
|
|
799
|
+
<DataTableCell fixed left="0" width="120px">
|
|
800
|
+
Amaka
|
|
801
|
+
</DataTableCell>
|
|
802
|
+
<DataTableCell fixed left="120px">
|
|
803
|
+
Pretorius
|
|
804
|
+
</DataTableCell>
|
|
805
|
+
<DataTableCell>01/25/1996</DataTableCell>
|
|
806
|
+
<DataTableCell>09/15/1986</DataTableCell>
|
|
807
|
+
<DataTableCell>32</DataTableCell>
|
|
808
|
+
<DataTableCell>Bargbo</DataTableCell>
|
|
809
|
+
<DataTableCell>Alberto Raya</DataTableCell>
|
|
810
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
811
|
+
</DataTableRow>
|
|
812
|
+
<DataTableRow>
|
|
813
|
+
<DataTableCell fixed left="0" width="120px">
|
|
814
|
+
Meti
|
|
815
|
+
</DataTableCell>
|
|
816
|
+
<DataTableCell fixed left="120px">
|
|
817
|
+
Abiodun
|
|
818
|
+
</DataTableCell>
|
|
819
|
+
<DataTableCell>10/24/2010</DataTableCell>
|
|
820
|
+
<DataTableCell>07/26/1989</DataTableCell>
|
|
821
|
+
<DataTableCell>8</DataTableCell>
|
|
822
|
+
<DataTableCell>Majihun MCHP</DataTableCell>
|
|
823
|
+
<DataTableCell>Unassigned</DataTableCell>
|
|
824
|
+
<DataTableCell>Complete</DataTableCell>
|
|
825
|
+
</DataTableRow>
|
|
826
|
+
<DataTableRow>
|
|
827
|
+
<DataTableCell fixed left="0" width="120px">
|
|
828
|
+
Eshe
|
|
829
|
+
</DataTableCell>
|
|
830
|
+
<DataTableCell fixed left="120px">
|
|
831
|
+
Okeke
|
|
832
|
+
</DataTableCell>
|
|
833
|
+
<DataTableCell>01/31/1995</DataTableCell>
|
|
834
|
+
<DataTableCell>01/31/1995</DataTableCell>
|
|
835
|
+
<DataTableCell>63</DataTableCell>
|
|
836
|
+
<DataTableCell>Mambiama CHP</DataTableCell>
|
|
837
|
+
<DataTableCell>Shadrias Pearson</DataTableCell>
|
|
838
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
839
|
+
</DataTableRow>
|
|
840
|
+
<DataTableRow>
|
|
841
|
+
<DataTableCell fixed left="0" width="120px">
|
|
842
|
+
Obi
|
|
843
|
+
</DataTableCell>
|
|
844
|
+
<DataTableCell fixed left="120px">
|
|
845
|
+
Okafor
|
|
846
|
+
</DataTableCell>
|
|
847
|
+
<DataTableCell>06/07/1990</DataTableCell>
|
|
848
|
+
<DataTableCell>01/03/2006</DataTableCell>
|
|
849
|
+
<DataTableCell>28</DataTableCell>
|
|
850
|
+
<DataTableCell>Dalakuru CHP</DataTableCell>
|
|
851
|
+
<DataTableCell>Anatoliy Shcherbatykh</DataTableCell>
|
|
852
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
853
|
+
</DataTableRow>
|
|
854
|
+
</DataTableBody>
|
|
855
|
+
</DataTable>
|
|
856
|
+
)
|
|
857
|
+
|
|
858
|
+
export const FixedHeaderAndTwoColumns = FixedHeaderAndTwoColumnsTemplate.bind(
|
|
859
|
+
{}
|
|
860
|
+
)
|
|
861
|
+
FixedHeaderAndTwoColumns.args = {
|
|
862
|
+
layout: 'fixed',
|
|
863
|
+
width: '1000px',
|
|
864
|
+
scrollWidth: '500px',
|
|
865
|
+
scrollHeight: '400px',
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
const ScrollingDataTableWithToolbarsTemplate = (args) => (
|
|
869
|
+
<Box width="500px">
|
|
870
|
+
<DataTableToolbar>
|
|
871
|
+
<p>Content</p>
|
|
872
|
+
</DataTableToolbar>
|
|
873
|
+
<DataTable
|
|
874
|
+
{...args}
|
|
875
|
+
layout="fixed"
|
|
876
|
+
width="1000px"
|
|
877
|
+
scrollWidth="500px"
|
|
878
|
+
scrollHeight="400px"
|
|
879
|
+
>
|
|
880
|
+
<DataTableHead>
|
|
881
|
+
<DataTableRow>
|
|
882
|
+
<DataTableColumnHeader fixed top="0" left="0" width="120px">
|
|
883
|
+
First name
|
|
884
|
+
</DataTableColumnHeader>
|
|
885
|
+
<DataTableColumnHeader fixed top="0" left="120px">
|
|
886
|
+
Last name
|
|
887
|
+
</DataTableColumnHeader>
|
|
888
|
+
<DataTableColumnHeader fixed top="0">
|
|
889
|
+
Incident date
|
|
890
|
+
</DataTableColumnHeader>
|
|
891
|
+
<DataTableColumnHeader fixed top="0">
|
|
892
|
+
Last updated
|
|
893
|
+
</DataTableColumnHeader>
|
|
894
|
+
<DataTableColumnHeader fixed top="0">
|
|
895
|
+
Age
|
|
896
|
+
</DataTableColumnHeader>
|
|
897
|
+
<DataTableColumnHeader fixed top="0">
|
|
898
|
+
Registering unit
|
|
899
|
+
</DataTableColumnHeader>
|
|
900
|
+
<DataTableColumnHeader fixed top="0">
|
|
901
|
+
Assigned user
|
|
902
|
+
</DataTableColumnHeader>
|
|
903
|
+
<DataTableColumnHeader fixed top="0">
|
|
904
|
+
Status
|
|
905
|
+
</DataTableColumnHeader>
|
|
906
|
+
</DataTableRow>
|
|
907
|
+
</DataTableHead>
|
|
908
|
+
<DataTableBody>
|
|
909
|
+
<DataTableRow>
|
|
910
|
+
<DataTableCell fixed left="0" width="120px">
|
|
911
|
+
Onyekachukwu
|
|
912
|
+
</DataTableCell>
|
|
913
|
+
<DataTableCell fixed left="120px">
|
|
914
|
+
Kariuki
|
|
915
|
+
</DataTableCell>
|
|
916
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
917
|
+
<DataTableCell>05/25/1972</DataTableCell>
|
|
918
|
+
<DataTableCell>66</DataTableCell>
|
|
919
|
+
<DataTableCell>Jawi</DataTableCell>
|
|
920
|
+
<DataTableCell>Sofie Hubert</DataTableCell>
|
|
921
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
922
|
+
</DataTableRow>
|
|
923
|
+
<DataTableRow>
|
|
924
|
+
<DataTableCell fixed left="0" width="120px">
|
|
925
|
+
Kwasi
|
|
926
|
+
</DataTableCell>
|
|
927
|
+
<DataTableCell fixed left="120px">
|
|
928
|
+
Okafor
|
|
929
|
+
</DataTableCell>
|
|
930
|
+
<DataTableCell>08/11/2010</DataTableCell>
|
|
931
|
+
<DataTableCell>02/26/1991</DataTableCell>
|
|
932
|
+
<DataTableCell>38</DataTableCell>
|
|
933
|
+
<DataTableCell>Mokassie MCHP</DataTableCell>
|
|
934
|
+
<DataTableCell>Dashonte Clarke</DataTableCell>
|
|
935
|
+
<DataTableCell>Complete</DataTableCell>
|
|
936
|
+
</DataTableRow>
|
|
937
|
+
<DataTableRow>
|
|
938
|
+
<DataTableCell fixed left="0" width="120px">
|
|
939
|
+
Siyabonga
|
|
940
|
+
</DataTableCell>
|
|
941
|
+
<DataTableCell fixed left="120px">
|
|
942
|
+
Abiodun
|
|
943
|
+
</DataTableCell>
|
|
944
|
+
<DataTableCell>07/21/1981</DataTableCell>
|
|
945
|
+
<DataTableCell>02/06/2007</DataTableCell>
|
|
946
|
+
<DataTableCell>98</DataTableCell>
|
|
947
|
+
<DataTableCell>Bathurst MCHP</DataTableCell>
|
|
948
|
+
<DataTableCell>Unassigned</DataTableCell>
|
|
949
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
950
|
+
</DataTableRow>
|
|
951
|
+
<DataTableRow>
|
|
952
|
+
<DataTableCell fixed left="0" width="120px">
|
|
953
|
+
Chiyembekezo
|
|
954
|
+
</DataTableCell>
|
|
955
|
+
<DataTableCell fixed left="120px">
|
|
956
|
+
Okeke
|
|
957
|
+
</DataTableCell>
|
|
958
|
+
<DataTableCell>01/23/1982</DataTableCell>
|
|
959
|
+
<DataTableCell>07/15/2003</DataTableCell>
|
|
960
|
+
<DataTableCell>2</DataTableCell>
|
|
961
|
+
<DataTableCell>Mayolla MCHP</DataTableCell>
|
|
962
|
+
<DataTableCell>Wan Gengxin</DataTableCell>
|
|
963
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
964
|
+
</DataTableRow>
|
|
965
|
+
<DataTableRow>
|
|
966
|
+
<DataTableCell fixed left="0" width="120px">
|
|
967
|
+
Mtendere
|
|
968
|
+
</DataTableCell>
|
|
969
|
+
<DataTableCell fixed left="120px">
|
|
970
|
+
Afolayan
|
|
971
|
+
</DataTableCell>
|
|
972
|
+
<DataTableCell>08/12/1994</DataTableCell>
|
|
973
|
+
<DataTableCell>05/12/1972</DataTableCell>
|
|
974
|
+
<DataTableCell>37</DataTableCell>
|
|
975
|
+
<DataTableCell>Gbangadu MCHP</DataTableCell>
|
|
976
|
+
<DataTableCell>Gvozden Boskovsky</DataTableCell>
|
|
977
|
+
<DataTableCell>Complete</DataTableCell>
|
|
978
|
+
</DataTableRow>
|
|
979
|
+
<DataTableRow>
|
|
980
|
+
<DataTableCell fixed left="0" width="120px">
|
|
981
|
+
Inyene
|
|
982
|
+
</DataTableCell>
|
|
983
|
+
<DataTableCell fixed left="120px">
|
|
984
|
+
Okonkwo
|
|
985
|
+
</DataTableCell>
|
|
986
|
+
<DataTableCell>04/01/1971</DataTableCell>
|
|
987
|
+
<DataTableCell>03/16/2000</DataTableCell>
|
|
988
|
+
<DataTableCell>70</DataTableCell>
|
|
989
|
+
<DataTableCell>Kunike Barina</DataTableCell>
|
|
990
|
+
<DataTableCell>Oscar de la Cavallería</DataTableCell>
|
|
991
|
+
<DataTableCell>Complete</DataTableCell>
|
|
992
|
+
</DataTableRow>
|
|
993
|
+
<DataTableRow>
|
|
994
|
+
<DataTableCell fixed left="0" width="120px">
|
|
995
|
+
Amaka
|
|
996
|
+
</DataTableCell>
|
|
997
|
+
<DataTableCell fixed left="120px">
|
|
998
|
+
Pretorius
|
|
999
|
+
</DataTableCell>
|
|
1000
|
+
<DataTableCell>01/25/1996</DataTableCell>
|
|
1001
|
+
<DataTableCell>09/15/1986</DataTableCell>
|
|
1002
|
+
<DataTableCell>32</DataTableCell>
|
|
1003
|
+
<DataTableCell>Bargbo</DataTableCell>
|
|
1004
|
+
<DataTableCell>Alberto Raya</DataTableCell>
|
|
1005
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
1006
|
+
</DataTableRow>
|
|
1007
|
+
<DataTableRow>
|
|
1008
|
+
<DataTableCell fixed left="0" width="120px">
|
|
1009
|
+
Meti
|
|
1010
|
+
</DataTableCell>
|
|
1011
|
+
<DataTableCell fixed left="120px">
|
|
1012
|
+
Abiodun
|
|
1013
|
+
</DataTableCell>
|
|
1014
|
+
<DataTableCell>10/24/2010</DataTableCell>
|
|
1015
|
+
<DataTableCell>07/26/1989</DataTableCell>
|
|
1016
|
+
<DataTableCell>8</DataTableCell>
|
|
1017
|
+
<DataTableCell>Majihun MCHP</DataTableCell>
|
|
1018
|
+
<DataTableCell>Unassigned</DataTableCell>
|
|
1019
|
+
<DataTableCell>Complete</DataTableCell>
|
|
1020
|
+
</DataTableRow>
|
|
1021
|
+
<DataTableRow>
|
|
1022
|
+
<DataTableCell fixed left="0" width="120px">
|
|
1023
|
+
Eshe
|
|
1024
|
+
</DataTableCell>
|
|
1025
|
+
<DataTableCell fixed left="120px">
|
|
1026
|
+
Okeke
|
|
1027
|
+
</DataTableCell>
|
|
1028
|
+
<DataTableCell>01/31/1995</DataTableCell>
|
|
1029
|
+
<DataTableCell>01/31/1995</DataTableCell>
|
|
1030
|
+
<DataTableCell>63</DataTableCell>
|
|
1031
|
+
<DataTableCell>Mambiama CHP</DataTableCell>
|
|
1032
|
+
<DataTableCell>Shadrias Pearson</DataTableCell>
|
|
1033
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
1034
|
+
</DataTableRow>
|
|
1035
|
+
<DataTableRow>
|
|
1036
|
+
<DataTableCell fixed left="0" width="120px">
|
|
1037
|
+
Obi
|
|
1038
|
+
</DataTableCell>
|
|
1039
|
+
<DataTableCell fixed left="120px">
|
|
1040
|
+
Okafor
|
|
1041
|
+
</DataTableCell>
|
|
1042
|
+
<DataTableCell>06/07/1990</DataTableCell>
|
|
1043
|
+
<DataTableCell>01/03/2006</DataTableCell>
|
|
1044
|
+
<DataTableCell>28</DataTableCell>
|
|
1045
|
+
<DataTableCell>Dalakuru CHP</DataTableCell>
|
|
1046
|
+
<DataTableCell>Anatoliy Shcherbatykh</DataTableCell>
|
|
1047
|
+
<DataTableCell>Incomplete</DataTableCell>
|
|
1048
|
+
</DataTableRow>
|
|
1049
|
+
</DataTableBody>
|
|
1050
|
+
</DataTable>
|
|
1051
|
+
<DataTableToolbar position="bottom">
|
|
1052
|
+
<p>Content (bottom)</p>
|
|
1053
|
+
</DataTableToolbar>
|
|
1054
|
+
</Box>
|
|
1055
|
+
)
|
|
1056
|
+
|
|
1057
|
+
export const ScrollingDataTableWithToolbars =
|
|
1058
|
+
ScrollingDataTableWithToolbarsTemplate.bind({})
|
|
1059
|
+
ScrollingDataTableWithToolbars.args = {
|
|
1060
|
+
layout: 'fixed',
|
|
1061
|
+
width: '1000px',
|
|
1062
|
+
scrollWidth: '500px',
|
|
1063
|
+
scrollHeight: '400px',
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
const ColumnHeaderSortingTemplate = (args) => {
|
|
1067
|
+
const rows = [
|
|
1068
|
+
{
|
|
1069
|
+
firstName: 'Onyekachukwu',
|
|
1070
|
+
lastName: 'Kariuki',
|
|
1071
|
+
},
|
|
1072
|
+
{
|
|
1073
|
+
firstName: 'Kwasi',
|
|
1074
|
+
lastName: 'Okafor',
|
|
1075
|
+
},
|
|
1076
|
+
{
|
|
1077
|
+
firstName: 'Siyabonga',
|
|
1078
|
+
lastName: 'Abiodun',
|
|
1079
|
+
},
|
|
1080
|
+
]
|
|
1081
|
+
const [{ column, direction }, setSortInstructions] = useState({
|
|
1082
|
+
column: 'firstName',
|
|
1083
|
+
direction: 'default',
|
|
1084
|
+
})
|
|
1085
|
+
const getSortDirection = (columnName) =>
|
|
1086
|
+
columnName === column ? direction : 'default'
|
|
1087
|
+
const onSortIconClick = ({ name, direction }) => {
|
|
1088
|
+
setSortInstructions({
|
|
1089
|
+
column: name,
|
|
1090
|
+
direction,
|
|
1091
|
+
})
|
|
1092
|
+
}
|
|
1093
|
+
return (
|
|
1094
|
+
<DataTable {...args}>
|
|
1095
|
+
<DataTableHead>
|
|
1096
|
+
<DataTableRow>
|
|
1097
|
+
<DataTableColumnHeader
|
|
1098
|
+
onSortIconClick={onSortIconClick}
|
|
1099
|
+
sortDirection={getSortDirection('firstName')}
|
|
1100
|
+
name={'firstName'}
|
|
1101
|
+
sortIconTitle="Sort by first name"
|
|
1102
|
+
>
|
|
1103
|
+
First name
|
|
1104
|
+
</DataTableColumnHeader>
|
|
1105
|
+
<DataTableColumnHeader
|
|
1106
|
+
onSortIconClick={onSortIconClick}
|
|
1107
|
+
sortDirection={getSortDirection('lastName')}
|
|
1108
|
+
name={'lastName'}
|
|
1109
|
+
sortIconTitle="Sort by last name"
|
|
1110
|
+
>
|
|
1111
|
+
Last name
|
|
1112
|
+
</DataTableColumnHeader>
|
|
1113
|
+
</DataTableRow>
|
|
1114
|
+
</DataTableHead>
|
|
1115
|
+
<DataTableBody>
|
|
1116
|
+
{rows
|
|
1117
|
+
.sort((a, b) => {
|
|
1118
|
+
const strA = a[column]
|
|
1119
|
+
const strB = b[column]
|
|
1120
|
+
|
|
1121
|
+
if (
|
|
1122
|
+
(direction === 'asc' && strA < strB) ||
|
|
1123
|
+
(direction === 'desc' && strA > strB)
|
|
1124
|
+
) {
|
|
1125
|
+
return -1
|
|
1126
|
+
}
|
|
1127
|
+
if (
|
|
1128
|
+
(direction === 'desc' && strA < strB) ||
|
|
1129
|
+
(direction === 'asc' && strA > strB)
|
|
1130
|
+
) {
|
|
1131
|
+
return 1
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
return 0
|
|
1135
|
+
})
|
|
1136
|
+
.map(({ firstName, lastName }) => (
|
|
1137
|
+
<DataTableRow key={firstName + lastName}>
|
|
1138
|
+
<DataTableCell>{firstName}</DataTableCell>
|
|
1139
|
+
<DataTableCell>{lastName}</DataTableCell>
|
|
1140
|
+
</DataTableRow>
|
|
1141
|
+
))}
|
|
1142
|
+
</DataTableBody>
|
|
1143
|
+
</DataTable>
|
|
1144
|
+
)
|
|
1145
|
+
}
|
|
1146
|
+
|
|
1147
|
+
export const ColumnHeaderSorting = ColumnHeaderSortingTemplate.bind({})
|
|
1148
|
+
ColumnHeaderSorting.args = {}
|
|
1149
|
+
|
|
1150
|
+
const InlineFilteringTemplate = (args) => {
|
|
1151
|
+
const rows = [
|
|
1152
|
+
{
|
|
1153
|
+
firstName: 'Onyekachukwu',
|
|
1154
|
+
lastName: 'Kariuki',
|
|
1155
|
+
},
|
|
1156
|
+
{
|
|
1157
|
+
firstName: 'Kwasi',
|
|
1158
|
+
lastName: 'Okafor',
|
|
1159
|
+
},
|
|
1160
|
+
{
|
|
1161
|
+
firstName: 'Siyabonga',
|
|
1162
|
+
lastName: 'Abiodun',
|
|
1163
|
+
},
|
|
1164
|
+
]
|
|
1165
|
+
const [{ column, value }, setFilter] = useState({
|
|
1166
|
+
column: null,
|
|
1167
|
+
value: '',
|
|
1168
|
+
})
|
|
1169
|
+
const onFilterIconClick = ({ name, show }) => {
|
|
1170
|
+
setFilter({
|
|
1171
|
+
column: show ? name : null,
|
|
1172
|
+
value: '',
|
|
1173
|
+
})
|
|
1174
|
+
}
|
|
1175
|
+
const onFilterInputChange = ({ value }) => {
|
|
1176
|
+
setFilter({
|
|
1177
|
+
column: column,
|
|
1178
|
+
value,
|
|
1179
|
+
})
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
return (
|
|
1183
|
+
<DataTable {...args}>
|
|
1184
|
+
<DataTableHead>
|
|
1185
|
+
<DataTableRow>
|
|
1186
|
+
<DataTableColumnHeader
|
|
1187
|
+
onFilterIconClick={onFilterIconClick}
|
|
1188
|
+
name="firstName"
|
|
1189
|
+
showFilter={column === 'firstName'}
|
|
1190
|
+
filter={
|
|
1191
|
+
<Input
|
|
1192
|
+
dense
|
|
1193
|
+
onChange={onFilterInputChange}
|
|
1194
|
+
name="firstName"
|
|
1195
|
+
value={value}
|
|
1196
|
+
/>
|
|
1197
|
+
}
|
|
1198
|
+
>
|
|
1199
|
+
First name
|
|
1200
|
+
</DataTableColumnHeader>
|
|
1201
|
+
<DataTableColumnHeader
|
|
1202
|
+
onFilterIconClick={onFilterIconClick}
|
|
1203
|
+
name="lastName"
|
|
1204
|
+
showFilter={column === 'lastName'}
|
|
1205
|
+
filter={
|
|
1206
|
+
<Input
|
|
1207
|
+
dense
|
|
1208
|
+
onChange={onFilterInputChange}
|
|
1209
|
+
name="lastName"
|
|
1210
|
+
value={value}
|
|
1211
|
+
/>
|
|
1212
|
+
}
|
|
1213
|
+
>
|
|
1214
|
+
Last name
|
|
1215
|
+
</DataTableColumnHeader>
|
|
1216
|
+
</DataTableRow>
|
|
1217
|
+
</DataTableHead>
|
|
1218
|
+
<DataTableBody>
|
|
1219
|
+
{rows
|
|
1220
|
+
.filter((row) => {
|
|
1221
|
+
if (!column || !value) {
|
|
1222
|
+
return true
|
|
1223
|
+
}
|
|
1224
|
+
return row[column]
|
|
1225
|
+
.toUpperCase()
|
|
1226
|
+
.includes(value.toUpperCase())
|
|
1227
|
+
})
|
|
1228
|
+
.map(({ firstName, lastName }) => (
|
|
1229
|
+
<DataTableRow key={firstName + lastName}>
|
|
1230
|
+
<DataTableCell>{firstName}</DataTableCell>
|
|
1231
|
+
<DataTableCell>{lastName}</DataTableCell>
|
|
1232
|
+
</DataTableRow>
|
|
1233
|
+
))}
|
|
1234
|
+
</DataTableBody>
|
|
1235
|
+
</DataTable>
|
|
1236
|
+
)
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
export const InlineFiltering = InlineFilteringTemplate.bind({})
|
|
1240
|
+
InlineFiltering.args = {
|
|
1241
|
+
layout: 'fixed',
|
|
1242
|
+
}
|
|
1243
|
+
|
|
1244
|
+
const LongCellContentTemplate = ({ large }) => (
|
|
1245
|
+
<DataTable>
|
|
1246
|
+
<DataTableHead>
|
|
1247
|
+
<DataTableRow>
|
|
1248
|
+
<DataTableColumnHeader
|
|
1249
|
+
large={large}
|
|
1250
|
+
onSortIconClick={() => {}}
|
|
1251
|
+
sortDirection="asc"
|
|
1252
|
+
name="first"
|
|
1253
|
+
>
|
|
1254
|
+
FIRST - Lorem ipsum dolor sit amet, consectetur adipisicing
|
|
1255
|
+
elit. Eligendi non quis exercitationem culpa nesciunt nihil
|
|
1256
|
+
aut nostrum explicabo reprehenderit optio amet ab temporibus
|
|
1257
|
+
asperiores quasi cupiditate. Voluptatum ducimus voluptates
|
|
1258
|
+
voluptas?
|
|
1259
|
+
</DataTableColumnHeader>
|
|
1260
|
+
<DataTableColumnHeader
|
|
1261
|
+
large={large}
|
|
1262
|
+
onFilterIconClick={() => {}}
|
|
1263
|
+
name="firstName"
|
|
1264
|
+
showFilter={true}
|
|
1265
|
+
filter={
|
|
1266
|
+
<Input
|
|
1267
|
+
dense
|
|
1268
|
+
onChange={() => {}}
|
|
1269
|
+
name="firstName"
|
|
1270
|
+
value="Filter value"
|
|
1271
|
+
/>
|
|
1272
|
+
}
|
|
1273
|
+
>
|
|
1274
|
+
SECOND - Lorem ipsum dolor sit amet, consectetur adipisicing
|
|
1275
|
+
elit. Eligendi non quis exercitationem culpa nesciunt nihil
|
|
1276
|
+
aut nostrum explicabo reprehenderit optio amet ab temporibus
|
|
1277
|
+
asperiores quasi cupiditate. Voluptatum ducimus voluptates
|
|
1278
|
+
voluptas?
|
|
1279
|
+
</DataTableColumnHeader>
|
|
1280
|
+
<DataTableColumnHeader
|
|
1281
|
+
large={large}
|
|
1282
|
+
onSortIconClick={() => {}}
|
|
1283
|
+
sortDirection="asc"
|
|
1284
|
+
name="third"
|
|
1285
|
+
>
|
|
1286
|
+
Third (short)
|
|
1287
|
+
</DataTableColumnHeader>
|
|
1288
|
+
<DataTableColumnHeader
|
|
1289
|
+
large={large}
|
|
1290
|
+
onSortIconClick={() => {}}
|
|
1291
|
+
sortDirection="asc"
|
|
1292
|
+
name="fourth"
|
|
1293
|
+
>
|
|
1294
|
+
Fourth - Lorem ipsum dolor sit amet, consectetur adipisicing
|
|
1295
|
+
elit. Eligendi non quis exercitationem culpa nesciunt nihil
|
|
1296
|
+
aut nostrum explicabo reprehenderit optio amet ab temporibus
|
|
1297
|
+
asperiores quasi cupiditate. Voluptatum ducimus voluptates
|
|
1298
|
+
voluptas?
|
|
1299
|
+
</DataTableColumnHeader>
|
|
1300
|
+
</DataTableRow>
|
|
1301
|
+
</DataTableHead>
|
|
1302
|
+
<DataTableBody>
|
|
1303
|
+
<DataTableRow>
|
|
1304
|
+
<DataTableCell large={large}>
|
|
1305
|
+
FIRST - Lorem ipsum dolor sit amet, consectetur adipisicing
|
|
1306
|
+
elit. Eligendi non quis exercitationem culpa nesciunt nihil
|
|
1307
|
+
aut nostrum explicabo reprehenderit optio amet ab temporibus
|
|
1308
|
+
asperiores quasi cupiditate. Voluptatum ducimus voluptates
|
|
1309
|
+
voluptas?
|
|
1310
|
+
</DataTableCell>
|
|
1311
|
+
<DataTableCell large={large}>
|
|
1312
|
+
SECOND - Lorem ipsum dolor sit amet, consectetur adipisicing
|
|
1313
|
+
elit. Eligendi non quis exercitationem culpa nesciunt nihil
|
|
1314
|
+
aut nostrum explicabo reprehenderit optio amet ab temporibus
|
|
1315
|
+
asperiores quasi cupiditate. Voluptatum ducimus voluptates
|
|
1316
|
+
voluptas?
|
|
1317
|
+
</DataTableCell>
|
|
1318
|
+
<DataTableCell large={large}>Third (short)</DataTableCell>
|
|
1319
|
+
<DataTableCell large={large}>
|
|
1320
|
+
Fourth - Lorem ipsum dolor sit amet, consectetur adipisicing
|
|
1321
|
+
elit. Eligendi non quis exercitationem culpa nesciunt nihil
|
|
1322
|
+
aut nostrum explicabo reprehenderit optio amet ab temporibus
|
|
1323
|
+
asperiores quasi cupiditate. Voluptatum ducimus voluptates
|
|
1324
|
+
voluptas?
|
|
1325
|
+
</DataTableCell>
|
|
1326
|
+
</DataTableRow>
|
|
1327
|
+
</DataTableBody>
|
|
1328
|
+
</DataTable>
|
|
1329
|
+
)
|
|
1330
|
+
|
|
1331
|
+
export const LongCellContent = LongCellContentTemplate.bind({})
|
|
1332
|
+
|
|
1333
|
+
export const LongCellContentLargeCells = LongCellContentTemplate.bind({})
|
|
1334
|
+
LongCellContentLargeCells.args = {
|
|
1335
|
+
large: 'true',
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
export const RTL = (args) => (
|
|
1339
|
+
<div dir="rtl">
|
|
1340
|
+
<BasicTemplate {...args} />
|
|
1341
|
+
</div>
|
|
1342
|
+
)
|