@insticc/react-datagrid-2 1.0.27 → 1.0.29

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.
@@ -31,7 +31,9 @@ var ActionButton = function ActionButton(_ref) {
31
31
  _ref$confirmMessage = _ref.confirmMessage,
32
32
  confirmMessage = _ref$confirmMessage === void 0 ? 'Are you sure you want to perform this action?' : _ref$confirmMessage,
33
33
  _ref$hasConfirmMessag = _ref.hasConfirmMessage,
34
- hasConfirmMessage = _ref$hasConfirmMessag === void 0 ? true : _ref$hasConfirmMessag;
34
+ hasConfirmMessage = _ref$hasConfirmMessag === void 0 ? true : _ref$hasConfirmMessag,
35
+ _ref$disabled = _ref.disabled,
36
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled;
35
37
  var _useState = (0, _react.useState)(false),
36
38
  _useState2 = _slicedToArray(_useState, 2),
37
39
  enableConfirmMessage = _useState2[0],
@@ -125,7 +127,7 @@ var ActionButton = function ActionButton(_ref) {
125
127
  title: tooltip || name,
126
128
  arrow: true
127
129
  }, /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Button, {
128
- disabled: shouldDisableActionButton(table),
130
+ disabled: disabled || shouldDisableActionButton(table),
129
131
  onClick: function onClick() {
130
132
  return hasConfirmMessage ? setEnableConfirmMessage(true) : handleConfirm();
131
133
  },
@@ -189,7 +191,9 @@ ActionButton.propTypes = {
189
191
  // the action button selection mode
190
192
  confirmMessage: _propTypes["default"].string,
191
193
  // the action confirming message
192
- hasConfirmMessage: _propTypes["default"].bool // defines whether there is a confirm message for the action button
194
+ hasConfirmMessage: _propTypes["default"].bool,
195
+ // defines whether there is a confirm message for the action button
196
+ disabled: _propTypes["default"].bool // defines whether the button is disabled
193
197
  };
194
198
 
195
199
  // ActionButton.defaultProps = {
@@ -13,6 +13,7 @@ var _material = require("@mui/material");
13
13
  var _ColumnFilter = _interopRequireDefault(require("./ColumnFilter"));
14
14
  var _ExportActions = _interopRequireDefault(require("./ExportActions"));
15
15
  var _ActionButton = _interopRequireDefault(require("./ActionButton"));
16
+ var _GridHelper = _interopRequireDefault(require("./utils/GridHelper"));
16
17
  var _filters = require("./utils/filters");
17
18
  require("bootstrap/dist/css/bootstrap.min.css");
18
19
  require("semantic-ui-css/semantic.min.css");
@@ -80,7 +81,9 @@ var DataGrid = function DataGrid(_ref) {
80
81
  _ref$enableVirtualiza = _ref.enableVirtualization,
81
82
  enableVirtualization = _ref$enableVirtualiza === void 0 ? false : _ref$enableVirtualiza,
82
83
  _ref$gridHeight = _ref.gridHeight,
83
- gridHeight = _ref$gridHeight === void 0 ? 600 : _ref$gridHeight;
84
+ gridHeight = _ref$gridHeight === void 0 ? 600 : _ref$gridHeight,
85
+ _ref$gridHelper = _ref.gridHelper,
86
+ gridHelper = _ref$gridHelper === void 0 ? null : _ref$gridHelper;
84
87
  var _useState = (0, _react.useState)(selectedIds.reduce(function (a, v) {
85
88
  return _objectSpread(_objectSpread({}, a), {}, _defineProperty({}, v, true));
86
89
  }, {})),
@@ -95,6 +98,10 @@ var DataGrid = function DataGrid(_ref) {
95
98
  _useState6 = _slicedToArray(_useState5, 2),
96
99
  sorting = _useState6[0],
97
100
  setSorting = _useState6[1];
101
+ var _useState7 = (0, _react.useState)(false),
102
+ _useState8 = _slicedToArray(_useState7, 2),
103
+ open = _useState8[0],
104
+ setOpen = _useState8[1];
98
105
  //optionally access the underlying virtualizer instance
99
106
  var rowVirtualizerInstanceRef = (0, _react.useRef)(null);
100
107
 
@@ -195,6 +202,13 @@ var DataGrid = function DataGrid(_ref) {
195
202
  enableClickToCopy: (_column$enableClickTo = column.enableClickToCopy) !== null && _column$enableClickTo !== void 0 ? _column$enableClickTo : false,
196
203
  enableColumnActions: (_column$enableColumnA = column.enableColumnActions) !== null && _column$enableColumnA !== void 0 ? _column$enableColumnA : false,
197
204
  // sortingFn: --> basic default, datetime for date
205
+ sortingFn: column.isDateColumn ? function (rowA, rowB, columnId) {
206
+ var dateA = rowA.getValue(columnId) ? new Date(rowA.getValue(columnId)).getTime() : null;
207
+ var dateB = rowB.getValue(columnId) ? new Date(rowB.getValue(columnId)).getTime() : null;
208
+ if (dateA === null) return 1;
209
+ if (dateB === null) return -1;
210
+ return dateA - dateB; // Sort by timestamp
211
+ } : 'basic',
198
212
  Cell: function Cell(props) {
199
213
  return column.cellClass ? /*#__PURE__*/_react["default"].createElement("div", {
200
214
  className: column.cellClass
@@ -322,7 +336,8 @@ var DataGrid = function DataGrid(_ref) {
322
336
  color: e.color,
323
337
  selectionMode: e.selectionMode,
324
338
  confirmMessage: e.confirmMessage,
325
- hasConfirmMessage: e.hasConfirmMessage
339
+ hasConfirmMessage: e.hasConfirmMessage,
340
+ disabled: e.disabled
326
341
  });
327
342
  }
328
343
  }), /*#__PURE__*/_react["default"].createElement(_ExportActions["default"], {
@@ -342,24 +357,32 @@ var DataGrid = function DataGrid(_ref) {
342
357
  title: "Clear all rows selected",
343
358
  arrow: true
344
359
  }, /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Button, {
360
+ circular: true,
345
361
  disabled: selectedRows.length < 1,
346
362
  onClick: function onClick() {
347
363
  return table.resetRowSelection();
348
364
  },
349
- icon: "redo",
350
- content: "Clear Selection",
365
+ content: /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Icon, {
366
+ style: {
367
+ margin: 0,
368
+ color: 'inherit'
369
+ },
370
+ name: "square outline"
371
+ }), /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Icon, {
372
+ style: {
373
+ margin: 0,
374
+ color: 'inherit'
375
+ },
376
+ name: "close"
377
+ })),
351
378
  primary: true,
352
- basic: true,
353
- style: {
354
- display: 'flex',
355
- height: '40px',
356
- alignItems: 'center',
357
- justifyContent: 'center'
358
- }
379
+ basic: true
380
+ // style={{ display: 'flex', height: '40px', alignItems: 'center', justifyContent: 'center' }}
359
381
  }))), /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
360
382
  title: "Clear Filters",
361
383
  arrow: true
362
384
  }, /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Button, {
385
+ circular: true,
363
386
  onClick: function onClick() {
364
387
  return table.resetColumnFilters();
365
388
  },
@@ -377,13 +400,19 @@ var DataGrid = function DataGrid(_ref) {
377
400
  name: "close"
378
401
  })),
379
402
  inverted: true,
380
- color: "orange",
381
- style: {
382
- display: 'flex',
383
- height: '40px',
384
- alignItems: 'center',
385
- justifyContent: 'center'
386
- }
403
+ color: "orange"
404
+ // style={{ display: 'flex', height: '40px', alignItems: 'center', justifyContent: 'center' }}
405
+ }))), gridHelper && /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
406
+ title: "Grid Help",
407
+ arrow: true
408
+ }, /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Button, {
409
+ circular: true,
410
+ onClick: function onClick() {
411
+ return setOpen(true);
412
+ },
413
+ icon: "help",
414
+ color: "blue"
415
+ // style={{ display: 'flex', height: '40px', alignItems: 'center', justifyContent: 'center' }}
387
416
  }))))), /*#__PURE__*/_react["default"].createElement("div", {
388
417
  style: {
389
418
  alignSelf: 'flex-end',
@@ -530,7 +559,13 @@ var DataGrid = function DataGrid(_ref) {
530
559
  // </div>
531
560
  // )}
532
561
  });
533
- return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_materialReactTable.MaterialReactTable, {
562
+ return /*#__PURE__*/_react["default"].createElement("div", null, open && /*#__PURE__*/_react["default"].createElement(_GridHelper["default"], {
563
+ onClose: function onClose() {
564
+ return setOpen(false);
565
+ },
566
+ open: open,
567
+ content: gridHelper
568
+ }), /*#__PURE__*/_react["default"].createElement(_materialReactTable.MaterialReactTable, {
534
569
  table: table
535
570
  }));
536
571
  };
@@ -583,7 +618,9 @@ DataGrid.propTypes = {
583
618
  enableDensityToggle: _propTypes["default"].bool,
584
619
  enableGlobalFilter: _propTypes["default"].bool,
585
620
  enableVirtualization: _propTypes["default"].bool,
586
- gridHeight: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]) // defines the height of the grid content, can be a number like 600, or a string like '600px' or 'fit-content'
621
+ gridHeight: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
622
+ // defines the height of the grid content, can be a number like 600, or a string like '600px' or 'fit-content'
623
+ gridHelper: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].element])
587
624
  };
588
625
  var _default = exports["default"] = DataGrid; // DataGrid.defaultProps = {
589
626
  // hasExcelExport: false,
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _semanticUiReact = require("semantic-ui-react");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
+ var GridHelper = function GridHelper(_ref) {
11
+ var open = _ref.open,
12
+ content = _ref.content,
13
+ onClose = _ref.onClose;
14
+ return /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Modal, {
15
+ open: open,
16
+ centered: true,
17
+ style: {
18
+ top: 'auto',
19
+ right: 'auto',
20
+ left: 'auto',
21
+ bottom: 'auto',
22
+ height: 'fit-content'
23
+ }
24
+ }, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Modal.Header, null, "Grid Helper"), /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Modal.Content, null, content), /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Modal.Actions, null, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Button, {
25
+ primary: true,
26
+ onClick: onClose
27
+ }, "Close")));
28
+ };
29
+ var _default = exports["default"] = GridHelper;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@insticc/react-datagrid-2",
3
- "version": "1.0.27",
3
+ "version": "1.0.29",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "scripts": {