react-live-data-table 1.0.6 → 1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +1 -1
- package/src/ReactDataTable.jsx +24 -11
package/package.json
CHANGED
package/src/ReactDataTable.jsx
CHANGED
@@ -15,6 +15,7 @@ function ReactDataTable({
|
|
15
15
|
staticData = null,
|
16
16
|
emptyText,
|
17
17
|
rowHeights = 40,
|
18
|
+
checkboxStyle,
|
18
19
|
headerProps = {} // Added default value
|
19
20
|
}) {
|
20
21
|
const tableContainerRef = React.useRef(null);
|
@@ -159,6 +160,24 @@ function ReactDataTable({
|
|
159
160
|
|
160
161
|
const flatData = data.pages.flatMap(page => page.data);
|
161
162
|
|
163
|
+
const checkBoxStyle = checkboxStyle ? checkboxStyle : {
|
164
|
+
cursor: 'pointer',
|
165
|
+
background: 'rgb(249, 250, 251)',
|
166
|
+
height: '18px',
|
167
|
+
width: '18px',
|
168
|
+
display: 'flex',
|
169
|
+
alignItems: 'center',
|
170
|
+
justifyContent: 'center',
|
171
|
+
borderRadius: '4px',
|
172
|
+
border: '1px solid rgb(204, 204, 204)',
|
173
|
+
fontSize: '12px',
|
174
|
+
color: 'rgb(0, 122, 179)',
|
175
|
+
position: 'absolute',
|
176
|
+
top: '50%',
|
177
|
+
left: '50%',
|
178
|
+
transform: 'translate(-50%, -50%)'
|
179
|
+
};
|
180
|
+
|
162
181
|
const checkboxColumn = {
|
163
182
|
id: 'select',
|
164
183
|
size: 50,
|
@@ -167,6 +186,7 @@ function ReactDataTable({
|
|
167
186
|
header: ({ data }) => (
|
168
187
|
<div className="flex items-center justify-center h-[40px]">
|
169
188
|
<input
|
189
|
+
id={data.id}
|
170
190
|
type="checkbox"
|
171
191
|
checked={Object.keys(selectedRows).length > 0 && data.every(row => selectedRows[row.id])}
|
172
192
|
onChange={(e) => handleSelectAll(e.target.checked, flatData)}
|
@@ -176,9 +196,11 @@ function ReactDataTable({
|
|
176
196
|
cell: ({ row }) => (
|
177
197
|
<div className="flex items-center justify-center h-[40px]">
|
178
198
|
<input
|
199
|
+
style={checkBoxStyle}
|
179
200
|
type="checkbox"
|
180
201
|
checked={!!selectedRows[row.id]}
|
181
|
-
|
202
|
+
onClick={(e) => e.stopPropagation()}
|
203
|
+
onChange={(e) => { e.stopPropagation(); handleSelectRow(e.target.checked, row, flatData) }}
|
182
204
|
/>
|
183
205
|
</div>
|
184
206
|
),
|
@@ -201,16 +223,7 @@ function ReactDataTable({
|
|
201
223
|
xmlns="http://www.w3.org/2000/svg"
|
202
224
|
>
|
203
225
|
<style>
|
204
|
-
{`
|
205
|
-
@keyframes spin {
|
206
|
-
from {
|
207
|
-
transform: rotate(0deg);
|
208
|
-
}
|
209
|
-
to {
|
210
|
-
transform: rotate(360deg);
|
211
|
-
}
|
212
|
-
}
|
213
|
-
`}
|
226
|
+
{`@keyframes spin {from {transform: rotate(0deg)} to {transform: rotate(360deg)}}`}
|
214
227
|
</style>
|
215
228
|
<circle
|
216
229
|
style={{ opacity: 0.25 }}
|