@insticc/react-datagrid-2 1.1.26 → 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,
@@ -183,7 +185,7 @@ var DataGrid = function DataGrid(_ref) {
183
185
  }, {});
184
186
  setRowSelection(newSelection);
185
187
  }
186
- }, [selectedIds, rowSelection]);
188
+ }, [selectedIds]);
187
189
  (0, _react.useEffect)(function () {
188
190
  if (typeof window !== 'undefined') {
189
191
  setIsLoading(false);
@@ -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,
@@ -60,14 +60,23 @@ var DEFAULT_CELL_TYPES = exports.DEFAULT_CELL_TYPES = {
60
60
  var cell = _ref.cell;
61
61
  return cell.getValue();
62
62
  },
63
- textTitle: function textTitle(_ref2) {
63
+ textJustify: function textJustify(_ref2) {
64
64
  var cell = _ref2.cell;
65
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
65
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
66
+ style: {
67
+ textAlign: "justify"
68
+ },
66
69
  children: cell.getValue()
67
70
  });
68
71
  },
69
- textDescription: function textDescription(_ref3) {
72
+ textTitle: function textTitle(_ref3) {
70
73
  var cell = _ref3.cell;
74
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
75
+ children: cell.getValue()
76
+ });
77
+ },
78
+ textDescription: function textDescription(_ref4) {
79
+ var cell = _ref4.cell;
71
80
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
72
81
  style: {
73
82
  color: '#666'
@@ -75,65 +84,65 @@ var DEFAULT_CELL_TYPES = exports.DEFAULT_CELL_TYPES = {
75
84
  children: cell.getValue()
76
85
  });
77
86
  },
78
- textSmall: function textSmall(_ref4) {
79
- var cell = _ref4.cell;
87
+ textSmall: function textSmall(_ref5) {
88
+ var cell = _ref5.cell;
80
89
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("small", {
81
90
  children: cell.getValue()
82
91
  });
83
92
  },
84
- date: function date(_ref5) {
85
- var cell = _ref5.cell,
86
- column = _ref5.column;
93
+ date: function date(_ref6) {
94
+ var cell = _ref6.cell,
95
+ column = _ref6.column;
87
96
  return (0, _FormatDate["default"])(cell.getValue(), {
88
97
  onlyDate: true,
89
98
  locale: column.locale || 'pt-PT'
90
99
  });
91
100
  },
92
- datetime: function datetime(_ref6) {
93
- var cell = _ref6.cell,
94
- column = _ref6.column;
101
+ datetime: function datetime(_ref7) {
102
+ var cell = _ref7.cell,
103
+ column = _ref7.column;
95
104
  return (0, _FormatDate["default"])(cell.getValue(), {
96
105
  onlyDate: false,
97
106
  locale: column.locale || 'pt-PT'
98
107
  });
99
108
  },
100
- number: function number(_ref7) {
101
- var cell = _ref7.cell;
109
+ number: function number(_ref8) {
110
+ var cell = _ref8.cell;
102
111
  return cell.getValue();
103
112
  },
104
- integer: function integer(_ref8) {
105
- var cell = _ref8.cell;
113
+ integer: function integer(_ref9) {
114
+ var cell = _ref9.cell;
106
115
  return Number.isFinite(cell.getValue()) ? Math.round(cell.getValue()) : cell.getValue();
107
116
  },
108
- currency: function currency(_ref9) {
109
- var cell = _ref9.cell;
117
+ currency: function currency(_ref10) {
118
+ var cell = _ref10.cell;
110
119
  var v = cell.getValue();
111
120
  return typeof v === 'number' ? v.toLocaleString(undefined, {
112
121
  style: 'currency',
113
122
  currency: 'EUR'
114
123
  }) : v;
115
124
  },
116
- percentage: function percentage(_ref10) {
117
- var cell = _ref10.cell;
125
+ percentage: function percentage(_ref11) {
126
+ var cell = _ref11.cell;
118
127
  var v = cell.getValue();
119
128
  return typeof v === 'number' ? "".concat((v * 100).toFixed(2), "%") : v;
120
129
  },
121
- email: function email(_ref11) {
122
- var cell = _ref11.cell;
130
+ email: function email(_ref12) {
131
+ var cell = _ref12.cell;
123
132
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
124
133
  href: "mailto:".concat(cell.getValue()),
125
134
  children: cell.getValue()
126
135
  });
127
136
  },
128
- phone: function phone(_ref12) {
129
- var cell = _ref12.cell;
137
+ phone: function phone(_ref13) {
138
+ var cell = _ref13.cell;
130
139
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
131
140
  href: "tel:".concat(cell.getValue()),
132
141
  children: cell.getValue()
133
142
  });
134
143
  },
135
- link: function link(_ref13) {
136
- var cell = _ref13.cell;
144
+ link: function link(_ref14) {
145
+ var cell = _ref14.cell;
137
146
  var value = cell.getValue();
138
147
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
139
148
  title: value,
@@ -145,8 +154,8 @@ var DEFAULT_CELL_TYPES = exports.DEFAULT_CELL_TYPES = {
145
154
  })
146
155
  });
147
156
  },
148
- array: function array(_ref14) {
149
- var cell = _ref14.cell;
157
+ array: function array(_ref15) {
158
+ var cell = _ref15.cell;
150
159
  var value = cell.getValue();
151
160
  var arr = Array.isArray(value) ? value : [];
152
161
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
@@ -154,8 +163,8 @@ var DEFAULT_CELL_TYPES = exports.DEFAULT_CELL_TYPES = {
154
163
  children: arr.join(', ')
155
164
  });
156
165
  },
157
- json: function json(_ref15) {
158
- var cell = _ref15.cell;
166
+ json: function json(_ref16) {
167
+ var cell = _ref16.cell;
159
168
  var value = cell.getValue();
160
169
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
161
170
  title: JSON.stringify(value),
@@ -164,9 +173,9 @@ var DEFAULT_CELL_TYPES = exports.DEFAULT_CELL_TYPES = {
164
173
  })
165
174
  });
166
175
  },
167
- countryFlag: function countryFlag(_ref16) {
168
- var cell = _ref16.cell,
169
- column = _ref16.column;
176
+ countryFlag: function countryFlag(_ref17) {
177
+ var cell = _ref17.cell,
178
+ column = _ref17.column;
170
179
  var v = cell.getValue();
171
180
  if (!v) return "";
172
181
  var iso2 = String(v).toUpperCase();
@@ -189,9 +198,9 @@ var DEFAULT_CELL_TYPES = exports.DEFAULT_CELL_TYPES = {
189
198
  })]
190
199
  });
191
200
  },
192
- persons: function persons(_ref17) {
193
- var cell = _ref17.cell,
194
- column = _ref17.column;
201
+ persons: function persons(_ref18) {
202
+ var cell = _ref18.cell,
203
+ column = _ref18.column;
195
204
  var value = cell.getValue();
196
205
  var arr;
197
206
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@insticc/react-datagrid-2",
3
- "version": "1.1.26",
3
+ "version": "1.1.28",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "files": [