@insticc/react-datagrid-2 1.1.27 → 1.1.28

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.
@@ -44,6 +44,8 @@ var DataGrid = function DataGrid(_ref) {
44
44
  createRows = _ref.createRows,
45
45
  _ref$actions = _ref.actions,
46
46
  actions = _ref$actions === void 0 ? null : _ref$actions,
47
+ _ref$filerActions = _ref.filerActions,
48
+ filerActions = _ref$filerActions === void 0 ? null : _ref$filerActions,
47
49
  _ref$extraActions = _ref.extraActions,
48
50
  extraActions = _ref$extraActions === void 0 ? null : _ref$extraActions,
49
51
  _ref$hasExcelExport = _ref.hasExcelExport,
@@ -253,6 +255,12 @@ var DataGrid = function DataGrid(_ref) {
253
255
  var renderTopToolbarCustomActions = function renderTopToolbarCustomActions(_ref2) {
254
256
  var table = _ref2.table;
255
257
  var selectedRows = table.getSelectedRowModel().flatRows;
258
+ var defaultStyle = {
259
+ display: 'flex',
260
+ height: '36px',
261
+ alignItems: 'center',
262
+ justifyContent: 'center'
263
+ };
256
264
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
257
265
  style: {
258
266
  display: 'flex',
@@ -272,7 +280,9 @@ var DataGrid = function DataGrid(_ref) {
272
280
  gap: '.5em',
273
281
  flexWrap: 'wrap'
274
282
  },
275
- children: (actions === null || actions === void 0 ? void 0 : actions.length) > 0 && actions.map(function (e) {
283
+ children: (actions === null || actions === void 0 ? void 0 : actions.length) > 0 && actions.filter(function (e) {
284
+ return e.visible !== undefined ? e.visible : true;
285
+ }).map(function (e) {
276
286
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionButton["default"], {
277
287
  table: table,
278
288
  toggle: e.toggle,
@@ -297,7 +307,9 @@ var DataGrid = function DataGrid(_ref) {
297
307
  flexWrap: 'wrap',
298
308
  gap: 3
299
309
  },
300
- children: [(extraActions === null || extraActions === void 0 ? void 0 : extraActions.length) > 0 && extraActions.map(function (a, idx) {
310
+ children: [(extraActions === null || extraActions === void 0 ? void 0 : extraActions.length) > 0 && extraActions.filter(function (e) {
311
+ return e.visible !== undefined ? e.visible : true;
312
+ }).map(function (a, idx) {
301
313
  var _ref3 = a || {},
302
314
  fnc = _ref3["function"],
303
315
  content = _ref3.content,
@@ -307,12 +319,6 @@ var DataGrid = function DataGrid(_ref) {
307
319
  _ref3$style = _ref3.style,
308
320
  style = _ref3$style === void 0 ? {} : _ref3$style,
309
321
  propsButton = _ref3.propsButton;
310
- var defaultStyle = {
311
- display: 'flex',
312
- height: '36px',
313
- alignItems: 'center',
314
- justifyContent: 'center'
315
- };
316
322
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tooltip, {
317
323
  title: tooltip || content,
318
324
  arrow: true,
@@ -328,6 +334,41 @@ var DataGrid = function DataGrid(_ref) {
328
334
  }, propsButton))
329
335
  })
330
336
  }, "extraActions" + idx);
337
+ }), (filerActions === null || filerActions === void 0 ? void 0 : filerActions.length) > 0 && filerActions.filter(function (e) {
338
+ return e.visible !== undefined ? e.visible : true;
339
+ }).map(function (e, idx) {
340
+ var _ref4 = e || {},
341
+ state = _ref4.state,
342
+ fnc = _ref4["function"],
343
+ key = _ref4.key,
344
+ name = _ref4.name,
345
+ _ref4$tooltip = _ref4.tooltip,
346
+ tooltip = _ref4$tooltip === void 0 ? '' : _ref4$tooltip,
347
+ disabled = _ref4.disabled;
348
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tooltip, {
349
+ title: tooltip || name,
350
+ arrow: true,
351
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
352
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_semanticUiReact.Button, _objectSpread(_objectSpread({
353
+ circular: true,
354
+ toggle: true,
355
+ active: !state,
356
+ inverted: true,
357
+ color: state ? "orange" : "green"
358
+ }, name ? {
359
+ content: name
360
+ } : {}), {}, {
361
+ onClick: fnc,
362
+ icon: state ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_semanticUiReact.Icon, {
363
+ name: "eye slash"
364
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_semanticUiReact.Icon, {
365
+ name: "eye"
366
+ }),
367
+ disabled: disabled,
368
+ style: defaultStyle
369
+ }), key || name)
370
+ })
371
+ }, "filterActions" + idx);
331
372
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExportActions["default"], {
332
373
  table: table,
333
374
  data: createRows,
@@ -353,12 +394,7 @@ var DataGrid = function DataGrid(_ref) {
353
394
  }),
354
395
  primary: true,
355
396
  inverted: true,
356
- style: {
357
- display: 'flex',
358
- height: '36px',
359
- alignItems: 'center',
360
- justifyContent: 'center'
361
- }
397
+ style: defaultStyle
362
398
  })
363
399
  })
364
400
  }), hasClearSelectionBtn && (!disableSelect || disableRows.length > 0) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tooltip, {
@@ -518,16 +554,16 @@ var DataGrid = function DataGrid(_ref) {
518
554
  filterRegex: 'Regex',
519
555
  filterLogical: 'Logical'
520
556
  },
521
- renderColumnFilterModeMenuItems: function renderColumnFilterModeMenuItems(_ref4) {
522
- var internalFilterOptions = _ref4.internalFilterOptions,
523
- onSelectFilterMode = _ref4.onSelectFilterMode;
557
+ renderColumnFilterModeMenuItems: function renderColumnFilterModeMenuItems(_ref5) {
558
+ var internalFilterOptions = _ref5.internalFilterOptions,
559
+ onSelectFilterMode = _ref5.onSelectFilterMode;
524
560
  return [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ColumnFilter["default"], {
525
561
  filterOptions: internalFilterOptions,
526
562
  onSelectFilterMode: onSelectFilterMode
527
563
  }, "filters")];
528
564
  },
529
- renderTopToolbar: function renderTopToolbar(_ref5) {
530
- var table = _ref5.table;
565
+ renderTopToolbar: function renderTopToolbar(_ref6) {
566
+ var table = _ref6.table;
531
567
  var selectedRows = table.getSelectedRowModel().flatRows;
532
568
  var _table$getState$pagin = table.getState().pagination,
533
569
  pageIndex = _table$getState$pagin.pageIndex,
@@ -654,8 +690,8 @@ var DataGrid = function DataGrid(_ref) {
654
690
  padding: 'auto'
655
691
  })
656
692
  },
657
- muiTableBodyCellProps: function muiTableBodyCellProps(_ref6) {
658
- var row = _ref6.row;
693
+ muiTableBodyCellProps: function muiTableBodyCellProps(_ref7) {
694
+ var row = _ref7.row;
659
695
  var isDisabled = disableRows.length > 0 ? disableRows.includes(row.original[rowKey]) : false;
660
696
  return {
661
697
  sx: _objectSpread(_objectSpread({
@@ -750,8 +786,8 @@ var DataGrid = function DataGrid(_ref) {
750
786
  };
751
787
  },
752
788
  onRowSelectionChange: setRowSelection,
753
- muiTableBodyRowProps: function muiTableBodyRowProps(_ref7) {
754
- var row = _ref7.row;
789
+ muiTableBodyRowProps: function muiTableBodyRowProps(_ref8) {
790
+ var row = _ref8.row;
755
791
  return {
756
792
  sx: {
757
793
  backgroundColor: row.depth > 0 ? '#f0f0f0' : 'white'
@@ -763,8 +799,8 @@ var DataGrid = function DataGrid(_ref) {
763
799
  enableTopToolbar: enableTopToolbar,
764
800
  enableBottomToolbar: enableBottomToolbar,
765
801
  enableExpanding: enableExpanding,
766
- muiSelectCheckboxProps: function muiSelectCheckboxProps(_ref8) {
767
- var row = _ref8.row;
802
+ muiSelectCheckboxProps: function muiSelectCheckboxProps(_ref9) {
803
+ var row = _ref9.row;
768
804
  return {
769
805
  checked: rowSelection[row.id] || false,
770
806
  onChange: function onChange() {
@@ -815,7 +851,7 @@ var DataGrid = function DataGrid(_ref) {
815
851
  return r.original;
816
852
  });
817
853
  if (onVisibleRowsChange) onVisibleRowsChange(rows);
818
- }, [table, onVisibleRowsChange]);
854
+ }, [table.getRowModel().rows, onVisibleRowsChange]);
819
855
  (0, _react.useEffect)(function () {
820
856
  if (enableFixedHeader) (0, _gridFixedHeader["default"])('fixed-header', enableFixedActions);
821
857
  }, [enableFixedHeader, enableFixedActions]);
@@ -853,16 +889,26 @@ DataGrid.propTypes = {
853
889
  icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].string]),
854
890
  selectionMode: _propTypes["default"].oneOf(['single', 'multi', 'always']),
855
891
  confirmMessage: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].string]),
856
- hasConfirmMessage: _propTypes["default"].bool
892
+ hasConfirmMessage: _propTypes["default"].bool,
893
+ visible: _propTypes["default"].bool
857
894
  })),
858
895
  // array of objects -> each object represents a single data grid action button
896
+ filerActions: _propTypes["default"].arrayOf(_propTypes["default"].shape({
897
+ name: _propTypes["default"].string,
898
+ "function": _propTypes["default"].func.isRequired,
899
+ tooltip: _propTypes["default"].string,
900
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].string]),
901
+ visible: _propTypes["default"].bool
902
+ })),
903
+ // array of objects -> each object represents a single data grid filter action button
859
904
  extraActions: _propTypes["default"].arrayOf(_propTypes["default"].shape({
860
905
  tooltip: _propTypes["default"].string,
861
906
  "function": _propTypes["default"].func.isRequired,
862
907
  content: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].element]).isRequired,
863
908
  icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].string]),
864
909
  style: _propTypes["default"].object,
865
- propsButton: _propTypes["default"].object
910
+ propsButton: _propTypes["default"].object,
911
+ visible: _propTypes["default"].bool
866
912
  })),
867
913
  // array of objects -> each object represents a single data grid extra action button
868
914
  hasExcelExport: _propTypes["default"].bool,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@insticc/react-datagrid-2",
3
- "version": "1.1.27",
3
+ "version": "1.1.28",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "files": [