@redsift/table 9.2.0 → 9.2.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.
Files changed (3) hide show
  1. package/index.js +45 -54
  2. package/index.js.map +1 -1
  3. package/package.json +2 -2
package/index.js CHANGED
@@ -24166,14 +24166,29 @@ process.env.NODE_ENV !== "production" ? TablePagination.propTypes /* remove-prop
24166
24166
  } : void 0;
24167
24167
  var TablePagination$1 = TablePagination;
24168
24168
 
24169
- const _excluded$1 = ["apiRef", "autoHeight", "className", "slots", "slotProps", "filterModel", "height", "hideToolbar", "initialState", "license", "onFilterModelChange", "paginationModel", "onPaginationModelChange", "onRowSelectionModelChange", "pagination", "paginationPlacement", "rows", "pageSizeOptions", "sx"];
24169
+ const _excluded$1 = ["apiRef", "autoHeight", "className", "slots", "slotProps", "filterModel", "height", "hideToolbar", "initialState", "isRowSelectable", "license", "onFilterModelChange", "paginationModel", "onPaginationModelChange", "onRowSelectionModelChange", "pagination", "paginationPlacement", "rows", "pageSizeOptions", "sx"];
24170
24170
  const COMPONENT_NAME$1 = 'DataGrid';
24171
24171
  const CLASSNAME$1 = 'redsift-datagrid';
24172
24172
  const DEFAULT_PROPS = {
24173
24173
  license: process.env.MUI_LICENSE_KEY,
24174
24174
  paginationPlacement: 'both'
24175
24175
  };
24176
- const Pagination = _ref => {
24176
+ const getSelectableRowsInTable = (apiRef, isRowSelectable) => {
24177
+ return isRowSelectable && typeof isRowSelectable === 'function' ? gridFilteredSortedRowEntriesSelector(apiRef).filter(_ref => {
24178
+ let {
24179
+ model
24180
+ } = _ref;
24181
+ return isRowSelectable === null || isRowSelectable === void 0 ? void 0 : isRowSelectable({
24182
+ row: model
24183
+ });
24184
+ }).map(_ref2 => {
24185
+ let {
24186
+ id
24187
+ } = _ref2;
24188
+ return id;
24189
+ }) : gridFilteredSortedRowIdsSelector(apiRef);
24190
+ };
24191
+ const Pagination = _ref3 => {
24177
24192
  let {
24178
24193
  displaySelection = false,
24179
24194
  displayRowsPerPage = false,
@@ -24182,9 +24197,13 @@ const Pagination = _ref => {
24182
24197
  apiRef,
24183
24198
  paginationModel,
24184
24199
  onPaginationModelChange,
24185
- pageSizeOptions
24186
- } = _ref;
24187
- const rowsCount = apiRef.current.state.rows.totalRowCount;
24200
+ pageSizeOptions,
24201
+ isRowSelectable
24202
+ } = _ref3;
24203
+ const filteredRowsInTable = getSelectableRowsInTable(apiRef);
24204
+ const selectableRowsInTable = getSelectableRowsInTable(apiRef, isRowSelectable);
24205
+ const numberOfFilteredRowsInTable = filteredRowsInTable.length;
24206
+ const numberOfSelectableRowsInTable = selectableRowsInTable.length;
24188
24207
  return /*#__PURE__*/React__default.createElement(Flexbox, {
24189
24208
  flexDirection: "row",
24190
24209
  alignItems: "center",
@@ -24192,13 +24211,13 @@ const Pagination = _ref => {
24192
24211
  marginBottom: "7px"
24193
24212
  }, displaySelection ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, selectionStatus.type === 'page' ? /*#__PURE__*/React__default.createElement(Text, {
24194
24213
  fontSize: "14px"
24195
- }, `All ${selectionStatus.numberOfSelectedRows}${rowsCount !== selectionStatus.numberOfSelectableRowsInTable ? ' selectable' : ''} rows on this page are selected. `, /*#__PURE__*/React__default.createElement(LinkButton, {
24214
+ }, `All ${selectionStatus.numberOfSelectedRows}${numberOfFilteredRowsInTable !== numberOfSelectableRowsInTable ? ' selectable' : ''} rows on this page are selected. `, /*#__PURE__*/React__default.createElement(LinkButton, {
24196
24215
  onClick: () => {
24197
- apiRef.current.selectRows(selectionStatus.selectableRowsInTable ? selectionStatus.selectableRowsInTable : apiRef.current.getAllRowIds());
24216
+ apiRef.current.selectRows(numberOfSelectableRowsInTable ? selectableRowsInTable : apiRef.current.getAllRowIds());
24198
24217
  }
24199
- }, "Select all ", selectionStatus.numberOfSelectableRowsInTable, rowsCount !== selectionStatus.numberOfSelectableRowsInTable ? ' selectable' : '', " rows in the table.")) : selectionStatus.type === 'table' ? /*#__PURE__*/React__default.createElement(Text, {
24218
+ }, "Select all ", numberOfSelectableRowsInTable, numberOfFilteredRowsInTable !== numberOfSelectableRowsInTable ? ' selectable' : '', " rows in the table.")) : selectionStatus.type === 'table' ? /*#__PURE__*/React__default.createElement(Text, {
24200
24219
  fontSize: "14px"
24201
- }, `All ${selectionStatus.numberOfSelectedRows}${rowsCount !== selectionStatus.numberOfSelectableRowsInTable ? ' selectable' : ''} rows in the table are selected. `, /*#__PURE__*/React__default.createElement(LinkButton, {
24220
+ }, `All ${selectionStatus.numberOfSelectedRows}${numberOfFilteredRowsInTable !== numberOfSelectableRowsInTable ? ' selectable' : ''} rows in the table are selected. `, /*#__PURE__*/React__default.createElement(LinkButton, {
24202
24221
  onClick: () => {
24203
24222
  apiRef.current.selectRows([], false, true);
24204
24223
  }
@@ -24206,7 +24225,7 @@ const Pagination = _ref => {
24206
24225
  fontSize: "14px"
24207
24226
  }, `${selectionStatus.numberOfSelectedRows} row${selectionStatus.numberOfSelectedRows > 1 ? 's' : ''} selected`) : /*#__PURE__*/React__default.createElement(Text, null)) : null, displayPagination ? /*#__PURE__*/React__default.createElement(TablePagination$1, {
24208
24227
  component: "div",
24209
- count: selectionStatus.selectableRowsInTable.length ? selectionStatus.selectableRowsInTable.length : apiRef.current.getAllRowIds().length,
24228
+ count: numberOfFilteredRowsInTable,
24210
24229
  page: paginationModel.page,
24211
24230
  onPageChange: (event, page) => onPaginationModelChange({
24212
24231
  page,
@@ -24217,7 +24236,7 @@ const Pagination = _ref => {
24217
24236
  page: paginationModel.page,
24218
24237
  pageSize: parseInt(event.target.value, 10)
24219
24238
  }),
24220
- rowsPerPageOptions: displayRowsPerPage ? pageSizeOptions || [] : []
24239
+ rowsPerPageOptions: displayRowsPerPage ? pageSizeOptions : []
24221
24240
  }) : null);
24222
24241
  };
24223
24242
  const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
@@ -24233,6 +24252,7 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
24233
24252
  height: propsHeight,
24234
24253
  hideToolbar,
24235
24254
  initialState,
24255
+ isRowSelectable,
24236
24256
  license,
24237
24257
  onFilterModelChange: propsOnFilterModelChange,
24238
24258
  paginationModel: propsPaginationModel,
@@ -24252,10 +24272,7 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
24252
24272
  const height = propsHeight !== null && propsHeight !== void 0 ? propsHeight : autoHeight ? undefined : '500px';
24253
24273
  const selectionStatus = useRef({
24254
24274
  type: 'none',
24255
- numberOfSelectedRows: 0,
24256
- numberOfSelectableRowsInPage: 0,
24257
- numberOfSelectableRowsInTable: 0,
24258
- selectableRowsInTable: []
24275
+ numberOfSelectedRows: 0
24259
24276
  });
24260
24277
  const [filterModel, setFilterModel] = useState(propsFilterModel);
24261
24278
  useEffect(() => {
@@ -24267,23 +24284,6 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
24267
24284
  } else {
24268
24285
  setFilterModel(model);
24269
24286
  }
24270
- const selectableRowsInTable = props.isRowSelectable && typeof props.isRowSelectable === 'function' ? gridFilteredSortedRowEntriesSelector(apiRef).filter(_ref2 => {
24271
- var _props$isRowSelectabl;
24272
- let {
24273
- model
24274
- } = _ref2;
24275
- return (_props$isRowSelectabl = props.isRowSelectable) === null || _props$isRowSelectabl === void 0 ? void 0 : _props$isRowSelectabl.call(props, {
24276
- row: model
24277
- });
24278
- }).map(_ref3 => {
24279
- let {
24280
- id
24281
- } = _ref3;
24282
- return id;
24283
- }) : gridFilteredSortedRowIdsSelector(apiRef);
24284
- const numberOfSelectableRowsInTable = selectableRowsInTable.length;
24285
- selectionStatus.current.selectableRowsInTable = selectableRowsInTable;
24286
- selectionStatus.current.numberOfSelectableRowsInTable = numberOfSelectableRowsInTable;
24287
24287
  };
24288
24288
  const [paginationModel, setPaginationModel] = useState({
24289
24289
  pageSize: (initialState === null || initialState === void 0 ? void 0 : (_initialState$paginat = initialState.pagination) === null || _initialState$paginat === void 0 ? void 0 : (_initialState$paginat2 = _initialState$paginat.paginationModel) === null || _initialState$paginat2 === void 0 ? void 0 : _initialState$paginat2.pageSize) || (propsPaginationModel === null || propsPaginationModel === void 0 ? void 0 : propsPaginationModel.pageSize) || 100,
@@ -24364,7 +24364,8 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
24364
24364
  apiRef: apiRef,
24365
24365
  paginationModel: paginationModel,
24366
24366
  onPaginationModelChange: onPaginationModelChange,
24367
- pageSizeOptions: pageSizeOptions
24367
+ pageSizeOptions: pageSizeOptions,
24368
+ isRowSelectable: isRowSelectable
24368
24369
  }) : null);
24369
24370
  },
24370
24371
  pagination: props => pagination ? /*#__PURE__*/React__default.createElement(Pagination, _extends$2({}, props, {
@@ -24375,7 +24376,8 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
24375
24376
  apiRef: apiRef,
24376
24377
  paginationModel: paginationModel,
24377
24378
  onPaginationModelChange: onPaginationModelChange,
24378
- pageSizeOptions: pageSizeOptions
24379
+ pageSizeOptions: pageSizeOptions,
24380
+ isRowSelectable: isRowSelectable
24379
24381
  })) : null
24380
24382
  }),
24381
24383
  slotProps: _objectSpread2(_objectSpread2({}, slotProps), {}, {
@@ -24383,6 +24385,7 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
24383
24385
  }),
24384
24386
  filterModel: filterModel,
24385
24387
  initialState: initialState,
24388
+ isRowSelectable: isRowSelectable,
24386
24389
  onFilterModelChange: onFilterModelChange,
24387
24390
  pagination: pagination,
24388
24391
  rows: rows,
@@ -24392,11 +24395,11 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
24392
24395
  onRowSelectionModelChange: (newSelectionModel, details) => {
24393
24396
  if (pagination) {
24394
24397
  const selectableRowsInPage = props.isRowSelectable && typeof props.isRowSelectable === 'function' ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef).filter(_ref6 => {
24395
- var _props$isRowSelectabl2;
24398
+ var _props$isRowSelectabl;
24396
24399
  let {
24397
24400
  model
24398
24401
  } = _ref6;
24399
- return (_props$isRowSelectabl2 = props.isRowSelectable) === null || _props$isRowSelectabl2 === void 0 ? void 0 : _props$isRowSelectabl2.call(props, {
24402
+ return (_props$isRowSelectabl = props.isRowSelectable) === null || _props$isRowSelectabl === void 0 ? void 0 : _props$isRowSelectabl.call(props, {
24400
24403
  row: model
24401
24404
  });
24402
24405
  }).map(_ref7 => {
@@ -24407,11 +24410,11 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
24407
24410
  }) : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);
24408
24411
  const numberOfSelectableRowsInPage = selectableRowsInPage.length;
24409
24412
  const selectableRowsInTable = props.isRowSelectable && typeof props.isRowSelectable === 'function' ? gridFilteredSortedRowEntriesSelector(apiRef).filter(_ref8 => {
24410
- var _props$isRowSelectabl3;
24413
+ var _props$isRowSelectabl2;
24411
24414
  let {
24412
24415
  model
24413
24416
  } = _ref8;
24414
- return (_props$isRowSelectabl3 = props.isRowSelectable) === null || _props$isRowSelectabl3 === void 0 ? void 0 : _props$isRowSelectabl3.call(props, {
24417
+ return (_props$isRowSelectabl2 = props.isRowSelectable) === null || _props$isRowSelectabl2 === void 0 ? void 0 : _props$isRowSelectabl2.call(props, {
24415
24418
  row: model
24416
24419
  });
24417
24420
  }).map(_ref9 => {
@@ -24430,34 +24433,22 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
24430
24433
  if (numberOfSelectedRows === numberOfSelectableRowsInPage && numberOfSelectableRowsInPage < numberOfSelectableRowsInTable) {
24431
24434
  selectionStatus.current = {
24432
24435
  type: 'page',
24433
- numberOfSelectedRows,
24434
- numberOfSelectableRowsInPage,
24435
- numberOfSelectableRowsInTable,
24436
- selectableRowsInTable
24436
+ numberOfSelectedRows
24437
24437
  };
24438
24438
  } else if (numberOfSelectedRows === numberOfSelectableRowsInTable && numberOfSelectableRowsInPage < numberOfSelectableRowsInTable) {
24439
24439
  selectionStatus.current = {
24440
24440
  type: 'table',
24441
- numberOfSelectedRows,
24442
- numberOfSelectableRowsInPage,
24443
- numberOfSelectableRowsInTable,
24444
- selectableRowsInTable
24441
+ numberOfSelectedRows
24445
24442
  };
24446
24443
  } else if (numberOfSelectedRows > 0) {
24447
24444
  selectionStatus.current = {
24448
24445
  type: 'other',
24449
- numberOfSelectedRows,
24450
- numberOfSelectableRowsInPage,
24451
- numberOfSelectableRowsInTable,
24452
- selectableRowsInTable
24446
+ numberOfSelectedRows
24453
24447
  };
24454
24448
  } else {
24455
24449
  selectionStatus.current = {
24456
24450
  type: 'none',
24457
- numberOfSelectedRows,
24458
- numberOfSelectableRowsInPage,
24459
- numberOfSelectableRowsInTable,
24460
- selectableRowsInTable
24451
+ numberOfSelectedRows
24461
24452
  };
24462
24453
  }
24463
24454
  }