@redsift/table 9.2.0-muiv5 → 9.2.1-muiv5
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/index.js +67 -35
- package/index.js.map +1 -1
- package/package.json +2 -2
package/index.js
CHANGED
|
@@ -24165,14 +24165,29 @@ process.env.NODE_ENV !== "production" ? TablePagination.propTypes /* remove-prop
|
|
|
24165
24165
|
} : void 0;
|
|
24166
24166
|
var TablePagination$1 = TablePagination;
|
|
24167
24167
|
|
|
24168
|
-
const _excluded$1 = ["apiRef", "autoHeight", "className", "components", "componentsProps", "filterModel", "height", "hideToolbar", "initialState", "license", "onFilterModelChange", "onPageChange", "onPageSizeChange", "onSelectionModelChange", "page", "pageSize", "pagination", "paginationPlacement", "rows", "rowsPerPageOptions", "sx"];
|
|
24168
|
+
const _excluded$1 = ["apiRef", "autoHeight", "className", "components", "componentsProps", "filterModel", "height", "hideToolbar", "initialState", "isRowSelectable", "license", "onFilterModelChange", "onPageChange", "onPageSizeChange", "onSelectionModelChange", "page", "pageSize", "pagination", "paginationPlacement", "rows", "rowsPerPageOptions", "sx"];
|
|
24169
24169
|
const COMPONENT_NAME$1 = 'DataGrid';
|
|
24170
24170
|
const CLASSNAME$1 = 'redsift-datagrid';
|
|
24171
24171
|
const DEFAULT_PROPS = {
|
|
24172
24172
|
license: process.env.MUI_LICENSE_KEY,
|
|
24173
24173
|
paginationPlacement: 'both'
|
|
24174
24174
|
};
|
|
24175
|
-
const
|
|
24175
|
+
const getSelectableRowsInTable = (apiRef, isRowSelectable) => {
|
|
24176
|
+
return isRowSelectable && typeof isRowSelectable === 'function' ? gridFilteredSortedRowEntriesSelector(apiRef).filter(_ref => {
|
|
24177
|
+
let {
|
|
24178
|
+
model
|
|
24179
|
+
} = _ref;
|
|
24180
|
+
return isRowSelectable === null || isRowSelectable === void 0 ? void 0 : isRowSelectable({
|
|
24181
|
+
row: model
|
|
24182
|
+
});
|
|
24183
|
+
}).map(_ref2 => {
|
|
24184
|
+
let {
|
|
24185
|
+
id
|
|
24186
|
+
} = _ref2;
|
|
24187
|
+
return id;
|
|
24188
|
+
}) : gridFilteredSortedRowIdsSelector(apiRef);
|
|
24189
|
+
};
|
|
24190
|
+
const Pagination = _ref3 => {
|
|
24176
24191
|
let {
|
|
24177
24192
|
displaySelection = false,
|
|
24178
24193
|
displayRowsPerPage = false,
|
|
@@ -24183,9 +24198,13 @@ const Pagination = _ref => {
|
|
|
24183
24198
|
onPageChange,
|
|
24184
24199
|
pageSize,
|
|
24185
24200
|
onPageSizeChange,
|
|
24186
|
-
rowsPerPageOptions
|
|
24187
|
-
|
|
24188
|
-
|
|
24201
|
+
rowsPerPageOptions,
|
|
24202
|
+
isRowSelectable
|
|
24203
|
+
} = _ref3;
|
|
24204
|
+
const filteredRowsInTable = getSelectableRowsInTable(apiRef);
|
|
24205
|
+
const selectableRowsInTable = getSelectableRowsInTable(apiRef, isRowSelectable);
|
|
24206
|
+
const numberOfFilteredRowsInTable = filteredRowsInTable.length;
|
|
24207
|
+
const numberOfSelectableRowsInTable = selectableRowsInTable.length;
|
|
24189
24208
|
return /*#__PURE__*/React__default.createElement(Flexbox, {
|
|
24190
24209
|
flexDirection: "row",
|
|
24191
24210
|
alignItems: "center",
|
|
@@ -24193,13 +24212,13 @@ const Pagination = _ref => {
|
|
|
24193
24212
|
marginBottom: "7px"
|
|
24194
24213
|
}, displaySelection ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, selectionStatus.type === 'page' ? /*#__PURE__*/React__default.createElement(Text, {
|
|
24195
24214
|
fontSize: "14px"
|
|
24196
|
-
}, `All ${selectionStatus.numberOfSelectedRows}${
|
|
24215
|
+
}, `All ${selectionStatus.numberOfSelectedRows}${numberOfFilteredRowsInTable !== numberOfSelectableRowsInTable ? ' selectable' : ''} rows on this page are selected. `, /*#__PURE__*/React__default.createElement(LinkButton, {
|
|
24197
24216
|
onClick: () => {
|
|
24198
|
-
apiRef.current.selectRows(apiRef.current.getAllRowIds());
|
|
24217
|
+
apiRef.current.selectRows(numberOfSelectableRowsInTable ? selectableRowsInTable : apiRef.current.getAllRowIds());
|
|
24199
24218
|
}
|
|
24200
|
-
}, "Select all ",
|
|
24219
|
+
}, "Select all ", numberOfSelectableRowsInTable, numberOfFilteredRowsInTable !== numberOfSelectableRowsInTable ? ' selectable' : '', " rows in the table.")) : selectionStatus.type === 'table' ? /*#__PURE__*/React__default.createElement(Text, {
|
|
24201
24220
|
fontSize: "14px"
|
|
24202
|
-
}, `All ${selectionStatus.numberOfSelectedRows}${
|
|
24221
|
+
}, `All ${selectionStatus.numberOfSelectedRows}${numberOfFilteredRowsInTable !== numberOfSelectableRowsInTable ? ' selectable' : ''} rows in the table are selected. `, /*#__PURE__*/React__default.createElement(LinkButton, {
|
|
24203
24222
|
onClick: () => {
|
|
24204
24223
|
apiRef.current.selectRows([], false, true);
|
|
24205
24224
|
}
|
|
@@ -24207,11 +24226,13 @@ const Pagination = _ref => {
|
|
|
24207
24226
|
fontSize: "14px"
|
|
24208
24227
|
}, `${selectionStatus.numberOfSelectedRows} row${selectionStatus.numberOfSelectedRows > 1 ? 's' : ''} selected`) : /*#__PURE__*/React__default.createElement(Text, null)) : null, displayPagination ? /*#__PURE__*/React__default.createElement(TablePagination$1, {
|
|
24209
24228
|
component: "div",
|
|
24210
|
-
count:
|
|
24229
|
+
count: numberOfFilteredRowsInTable,
|
|
24211
24230
|
page: page,
|
|
24212
24231
|
onPageChange: (event, newPage) => onPageChange(newPage),
|
|
24213
24232
|
rowsPerPage: pageSize,
|
|
24214
|
-
onRowsPerPageChange: event =>
|
|
24233
|
+
onRowsPerPageChange: event => {
|
|
24234
|
+
onPageSizeChange(parseInt(event.target.value, 10));
|
|
24235
|
+
},
|
|
24215
24236
|
rowsPerPageOptions: displayRowsPerPage ? rowsPerPageOptions : []
|
|
24216
24237
|
}) : null);
|
|
24217
24238
|
};
|
|
@@ -24228,6 +24249,7 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
24228
24249
|
height: propsHeight,
|
|
24229
24250
|
hideToolbar,
|
|
24230
24251
|
initialState,
|
|
24252
|
+
isRowSelectable,
|
|
24231
24253
|
license,
|
|
24232
24254
|
onFilterModelChange: propsOnFilterModelChange,
|
|
24233
24255
|
onPageChange: propsOnPageChange,
|
|
@@ -24249,9 +24271,7 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
24249
24271
|
const height = propsHeight !== null && propsHeight !== void 0 ? propsHeight : autoHeight ? undefined : '500px';
|
|
24250
24272
|
const selectionStatus = useRef({
|
|
24251
24273
|
type: 'none',
|
|
24252
|
-
numberOfSelectedRows: 0
|
|
24253
|
-
numberOfSelectableRowsInPage: 0,
|
|
24254
|
-
numberOfSelectableRowsInTable: 0
|
|
24274
|
+
numberOfSelectedRows: 0
|
|
24255
24275
|
});
|
|
24256
24276
|
const [filterModel, setFilterModel] = useState(propsFilterModel);
|
|
24257
24277
|
useEffect(() => {
|
|
@@ -24274,13 +24294,18 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
24274
24294
|
}
|
|
24275
24295
|
};
|
|
24276
24296
|
const onPageSizeChange = pageSize => {
|
|
24297
|
+
onPageChange(0);
|
|
24277
24298
|
if (propsOnPageSizeChange) {
|
|
24278
24299
|
propsOnPageSizeChange(pageSize, undefined);
|
|
24279
24300
|
} else {
|
|
24280
24301
|
setPageSize(pageSize);
|
|
24281
|
-
setPage(0);
|
|
24282
24302
|
}
|
|
24283
24303
|
};
|
|
24304
|
+
useEffect(() => {
|
|
24305
|
+
if (propsPageSize) {
|
|
24306
|
+
setPageSize(propsPageSize);
|
|
24307
|
+
}
|
|
24308
|
+
}, [propsPageSize]);
|
|
24284
24309
|
if (!Array.isArray(rows)) {
|
|
24285
24310
|
return null;
|
|
24286
24311
|
}
|
|
@@ -24346,7 +24371,8 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
24346
24371
|
onPageChange: onPageChange,
|
|
24347
24372
|
pageSize: pageSize,
|
|
24348
24373
|
onPageSizeChange: onPageSizeChange,
|
|
24349
|
-
rowsPerPageOptions: rowsPerPageOptions
|
|
24374
|
+
rowsPerPageOptions: rowsPerPageOptions,
|
|
24375
|
+
isRowSelectable: isRowSelectable
|
|
24350
24376
|
}) : null);
|
|
24351
24377
|
},
|
|
24352
24378
|
Pagination: props => pagination ? /*#__PURE__*/React__default.createElement(Pagination, _extends$2({}, props, {
|
|
@@ -24359,7 +24385,8 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
24359
24385
|
onPageChange: onPageChange,
|
|
24360
24386
|
pageSize: pageSize,
|
|
24361
24387
|
onPageSizeChange: onPageSizeChange,
|
|
24362
|
-
rowsPerPageOptions: rowsPerPageOptions
|
|
24388
|
+
rowsPerPageOptions: rowsPerPageOptions,
|
|
24389
|
+
isRowSelectable: isRowSelectable
|
|
24363
24390
|
})) : null
|
|
24364
24391
|
}),
|
|
24365
24392
|
componentsProps: _objectSpread2(_objectSpread2({}, componentsProps), {}, {
|
|
@@ -24367,6 +24394,7 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
24367
24394
|
}),
|
|
24368
24395
|
filterModel: filterModel,
|
|
24369
24396
|
initialState: initialState,
|
|
24397
|
+
isRowSelectable: isRowSelectable,
|
|
24370
24398
|
onFilterModelChange: onFilterModelChange,
|
|
24371
24399
|
pagination: pagination,
|
|
24372
24400
|
rows: rows,
|
|
@@ -24377,24 +24405,36 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
24377
24405
|
onPageSizeChange: onPageSizeChange,
|
|
24378
24406
|
onSelectionModelChange: (newSelectionModel, details) => {
|
|
24379
24407
|
if (pagination) {
|
|
24380
|
-
const
|
|
24408
|
+
const selectableRowsInPage = props.isRowSelectable && typeof props.isRowSelectable === 'function' ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef).filter(_ref4 => {
|
|
24381
24409
|
var _props$isRowSelectabl;
|
|
24382
24410
|
let {
|
|
24383
24411
|
model
|
|
24384
|
-
} =
|
|
24412
|
+
} = _ref4;
|
|
24385
24413
|
return (_props$isRowSelectabl = props.isRowSelectable) === null || _props$isRowSelectabl === void 0 ? void 0 : _props$isRowSelectabl.call(props, {
|
|
24386
24414
|
row: model
|
|
24387
24415
|
});
|
|
24388
|
-
}).
|
|
24389
|
-
|
|
24416
|
+
}).map(_ref5 => {
|
|
24417
|
+
let {
|
|
24418
|
+
id
|
|
24419
|
+
} = _ref5;
|
|
24420
|
+
return id;
|
|
24421
|
+
}) : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);
|
|
24422
|
+
const numberOfSelectableRowsInPage = selectableRowsInPage.length;
|
|
24423
|
+
const selectableRowsInTable = props.isRowSelectable && typeof props.isRowSelectable === 'function' ? gridFilteredSortedRowEntriesSelector(apiRef).filter(_ref6 => {
|
|
24390
24424
|
var _props$isRowSelectabl2;
|
|
24391
24425
|
let {
|
|
24392
24426
|
model
|
|
24393
|
-
} =
|
|
24427
|
+
} = _ref6;
|
|
24394
24428
|
return (_props$isRowSelectabl2 = props.isRowSelectable) === null || _props$isRowSelectabl2 === void 0 ? void 0 : _props$isRowSelectabl2.call(props, {
|
|
24395
24429
|
row: model
|
|
24396
24430
|
});
|
|
24397
|
-
}).
|
|
24431
|
+
}).map(_ref7 => {
|
|
24432
|
+
let {
|
|
24433
|
+
id
|
|
24434
|
+
} = _ref7;
|
|
24435
|
+
return id;
|
|
24436
|
+
}) : gridFilteredSortedRowIdsSelector(apiRef);
|
|
24437
|
+
const numberOfSelectableRowsInTable = selectableRowsInTable.length;
|
|
24398
24438
|
const numberOfSelectedRows = newSelectionModel.length;
|
|
24399
24439
|
if (selectionStatus.current.type === 'table' && numberOfSelectedRows === numberOfSelectableRowsInTable - numberOfSelectableRowsInPage) {
|
|
24400
24440
|
setTimeout(() => {
|
|
@@ -24404,30 +24444,22 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
24404
24444
|
if (numberOfSelectedRows === numberOfSelectableRowsInPage && numberOfSelectableRowsInPage < numberOfSelectableRowsInTable) {
|
|
24405
24445
|
selectionStatus.current = {
|
|
24406
24446
|
type: 'page',
|
|
24407
|
-
numberOfSelectedRows
|
|
24408
|
-
numberOfSelectableRowsInPage,
|
|
24409
|
-
numberOfSelectableRowsInTable
|
|
24447
|
+
numberOfSelectedRows
|
|
24410
24448
|
};
|
|
24411
24449
|
} else if (numberOfSelectedRows === numberOfSelectableRowsInTable && numberOfSelectableRowsInPage < numberOfSelectableRowsInTable) {
|
|
24412
24450
|
selectionStatus.current = {
|
|
24413
24451
|
type: 'table',
|
|
24414
|
-
numberOfSelectedRows
|
|
24415
|
-
numberOfSelectableRowsInPage,
|
|
24416
|
-
numberOfSelectableRowsInTable
|
|
24452
|
+
numberOfSelectedRows
|
|
24417
24453
|
};
|
|
24418
24454
|
} else if (numberOfSelectedRows > 0) {
|
|
24419
24455
|
selectionStatus.current = {
|
|
24420
24456
|
type: 'other',
|
|
24421
|
-
numberOfSelectedRows
|
|
24422
|
-
numberOfSelectableRowsInPage,
|
|
24423
|
-
numberOfSelectableRowsInTable
|
|
24457
|
+
numberOfSelectedRows
|
|
24424
24458
|
};
|
|
24425
24459
|
} else {
|
|
24426
24460
|
selectionStatus.current = {
|
|
24427
24461
|
type: 'none',
|
|
24428
|
-
numberOfSelectedRows
|
|
24429
|
-
numberOfSelectableRowsInPage,
|
|
24430
|
-
numberOfSelectableRowsInTable
|
|
24462
|
+
numberOfSelectedRows
|
|
24431
24463
|
};
|
|
24432
24464
|
}
|
|
24433
24465
|
}
|