@insticc/react-datagrid-2 1.0.28 → 1.0.30
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
|
|
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 = {
|
package/build/wrapper/index.js
CHANGED
|
@@ -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,13 +202,19 @@ 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
|
|
198
|
-
sortingFn: column.
|
|
199
|
-
|
|
200
|
-
var
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
205
|
+
sortingFn: column.sortingFn ? column.sortingFn : column.isDateColumn // Use custom sorting for date columns
|
|
206
|
+
? function (rowA, rowB, columnId) {
|
|
207
|
+
var valueA = rowA.getValue(columnId);
|
|
208
|
+
var valueB = rowB.getValue(columnId);
|
|
209
|
+
// Parse values as timestamps or handle invalid dates
|
|
210
|
+
var dateA = valueA && !isNaN(new Date(valueA).getTime()) ? new Date(valueA).getTime() : null;
|
|
211
|
+
var dateB = valueB && !isNaN(new Date(valueB).getTime()) ? new Date(valueB).getTime() : null;
|
|
212
|
+
if (dateA === null && dateB === null) return 0; // Both null, equal
|
|
213
|
+
if (dateA === null) return 1; // Null values go last
|
|
214
|
+
if (dateB === null) return -1; // Null values go last
|
|
215
|
+
return dateA - dateB; // Compare by timestamp
|
|
204
216
|
} : 'basic',
|
|
217
|
+
// Use default sorting for non-date columns
|
|
205
218
|
Cell: function Cell(props) {
|
|
206
219
|
return column.cellClass ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
207
220
|
className: column.cellClass
|
|
@@ -329,7 +342,8 @@ var DataGrid = function DataGrid(_ref) {
|
|
|
329
342
|
color: e.color,
|
|
330
343
|
selectionMode: e.selectionMode,
|
|
331
344
|
confirmMessage: e.confirmMessage,
|
|
332
|
-
hasConfirmMessage: e.hasConfirmMessage
|
|
345
|
+
hasConfirmMessage: e.hasConfirmMessage,
|
|
346
|
+
disabled: e.disabled
|
|
333
347
|
});
|
|
334
348
|
}
|
|
335
349
|
}), /*#__PURE__*/_react["default"].createElement(_ExportActions["default"], {
|
|
@@ -349,24 +363,32 @@ var DataGrid = function DataGrid(_ref) {
|
|
|
349
363
|
title: "Clear all rows selected",
|
|
350
364
|
arrow: true
|
|
351
365
|
}, /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Button, {
|
|
366
|
+
circular: true,
|
|
352
367
|
disabled: selectedRows.length < 1,
|
|
353
368
|
onClick: function onClick() {
|
|
354
369
|
return table.resetRowSelection();
|
|
355
370
|
},
|
|
356
|
-
|
|
357
|
-
|
|
371
|
+
content: /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Icon, {
|
|
372
|
+
style: {
|
|
373
|
+
margin: 0,
|
|
374
|
+
color: 'inherit'
|
|
375
|
+
},
|
|
376
|
+
name: "square outline"
|
|
377
|
+
}), /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Icon, {
|
|
378
|
+
style: {
|
|
379
|
+
margin: 0,
|
|
380
|
+
color: 'inherit'
|
|
381
|
+
},
|
|
382
|
+
name: "close"
|
|
383
|
+
})),
|
|
358
384
|
primary: true,
|
|
359
|
-
basic: true
|
|
360
|
-
style:
|
|
361
|
-
display: 'flex',
|
|
362
|
-
height: '40px',
|
|
363
|
-
alignItems: 'center',
|
|
364
|
-
justifyContent: 'center'
|
|
365
|
-
}
|
|
385
|
+
basic: true
|
|
386
|
+
// style={{ display: 'flex', height: '40px', alignItems: 'center', justifyContent: 'center' }}
|
|
366
387
|
}))), /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
|
|
367
388
|
title: "Clear Filters",
|
|
368
389
|
arrow: true
|
|
369
390
|
}, /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Button, {
|
|
391
|
+
circular: true,
|
|
370
392
|
onClick: function onClick() {
|
|
371
393
|
return table.resetColumnFilters();
|
|
372
394
|
},
|
|
@@ -384,13 +406,19 @@ var DataGrid = function DataGrid(_ref) {
|
|
|
384
406
|
name: "close"
|
|
385
407
|
})),
|
|
386
408
|
inverted: true,
|
|
387
|
-
color: "orange"
|
|
388
|
-
style:
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
409
|
+
color: "orange"
|
|
410
|
+
// style={{ display: 'flex', height: '40px', alignItems: 'center', justifyContent: 'center' }}
|
|
411
|
+
}))), gridHelper && /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
|
|
412
|
+
title: "Grid Help",
|
|
413
|
+
arrow: true
|
|
414
|
+
}, /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Button, {
|
|
415
|
+
circular: true,
|
|
416
|
+
onClick: function onClick() {
|
|
417
|
+
return setOpen(true);
|
|
418
|
+
},
|
|
419
|
+
icon: "help",
|
|
420
|
+
color: "blue"
|
|
421
|
+
// style={{ display: 'flex', height: '40px', alignItems: 'center', justifyContent: 'center' }}
|
|
394
422
|
}))))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
395
423
|
style: {
|
|
396
424
|
alignSelf: 'flex-end',
|
|
@@ -537,7 +565,13 @@ var DataGrid = function DataGrid(_ref) {
|
|
|
537
565
|
// </div>
|
|
538
566
|
// )}
|
|
539
567
|
});
|
|
540
|
-
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(
|
|
568
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, open && /*#__PURE__*/_react["default"].createElement(_GridHelper["default"], {
|
|
569
|
+
onClose: function onClose() {
|
|
570
|
+
return setOpen(false);
|
|
571
|
+
},
|
|
572
|
+
open: open,
|
|
573
|
+
content: gridHelper
|
|
574
|
+
}), /*#__PURE__*/_react["default"].createElement(_materialReactTable.MaterialReactTable, {
|
|
541
575
|
table: table
|
|
542
576
|
}));
|
|
543
577
|
};
|
|
@@ -590,7 +624,9 @@ DataGrid.propTypes = {
|
|
|
590
624
|
enableDensityToggle: _propTypes["default"].bool,
|
|
591
625
|
enableGlobalFilter: _propTypes["default"].bool,
|
|
592
626
|
enableVirtualization: _propTypes["default"].bool,
|
|
593
|
-
gridHeight: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string])
|
|
627
|
+
gridHeight: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
|
628
|
+
// defines the height of the grid content, can be a number like 600, or a string like '600px' or 'fit-content'
|
|
629
|
+
gridHelper: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].element])
|
|
594
630
|
};
|
|
595
631
|
var _default = exports["default"] = DataGrid; // DataGrid.defaultProps = {
|
|
596
632
|
// 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;
|