@carbon/ibm-products 2.15.1 → 2.16.0
Sign up to get free protection for your applications and to get access to all the features.
- package/css/index-full-carbon.css +217 -9
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +1 -1
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +217 -9
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +27 -9
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/Datagrid/Datagrid/DatagridContent.js +12 -9
- package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -4
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +40 -25
- package/es/components/Datagrid/Datagrid/DatagridRefBody.js +4 -1
- package/es/components/Datagrid/Datagrid/DatagridRow.js +5 -2
- package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +12 -11
- package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +4 -1
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +35 -28
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +2 -2
- package/es/components/Datagrid/Datagrid/addons/stateReducer.js +50 -14
- package/es/components/Datagrid/Datagrid.docs-page.js +8 -2
- package/es/components/Datagrid/useActionsColumn.js +7 -5
- package/es/components/Datagrid/useDatagrid.js +13 -1
- package/es/components/Datagrid/useInfiniteScroll.js +10 -9
- package/es/components/Datagrid/useOnRowClick.js +6 -7
- package/es/components/Datagrid/useParentDimensions.js +6 -6
- package/es/components/Datagrid/useResizeTable.js +7 -7
- package/es/components/Datagrid/useSelectRows.js +8 -5
- package/es/components/Datagrid/useSkeletonRows.js +6 -6
- package/es/components/Datagrid/useSortableColumns.js +5 -7
- package/es/components/Datagrid/useStickyColumn.js +13 -6
- package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +2 -1
- package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +2 -1
- package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +2 -1
- package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +2 -1
- package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +2 -1
- package/es/components/EmptyStates/assets/ErrorIllustration.js +5 -3
- package/es/components/EmptyStates/assets/NoDataIllustration.js +5 -3
- package/es/components/EmptyStates/assets/NoTagsIllustration.js +5 -3
- package/es/components/EmptyStates/assets/NotFoundIllustration.js +5 -3
- package/es/components/EmptyStates/assets/NotificationsIllustration.js +5 -3
- package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +5 -3
- package/es/components/InlineTip/InlineTip.docs-page.js +13 -0
- package/es/components/InlineTip/InlineTip.js +217 -0
- package/es/components/InlineTip/InlineTipButton.js +53 -0
- package/es/components/InlineTip/InlineTipLink.js +57 -0
- package/es/components/InlineTip/index.js +10 -0
- package/es/components/InlineTip/utils.js +36 -0
- package/es/components/SteppedAnimatedMedia/SteppedAnimatedMedia.docs-page.js +11 -0
- package/es/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +140 -0
- package/es/components/SteppedAnimatedMedia/assets/index.js +4 -0
- package/es/components/SteppedAnimatedMedia/index.js +8 -0
- package/es/global/js/package-settings.js +2 -1
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +12 -9
- package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -4
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +45 -32
- package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +4 -1
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +5 -2
- package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +11 -11
- package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +4 -1
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +33 -27
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +2 -2
- package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +51 -15
- package/lib/components/Datagrid/Datagrid.docs-page.js +8 -2
- package/lib/components/Datagrid/useActionsColumn.js +7 -5
- package/lib/components/Datagrid/useDatagrid.js +13 -1
- package/lib/components/Datagrid/useInfiniteScroll.js +9 -9
- package/lib/components/Datagrid/useOnRowClick.js +6 -7
- package/lib/components/Datagrid/useParentDimensions.js +5 -6
- package/lib/components/Datagrid/useResizeTable.js +6 -7
- package/lib/components/Datagrid/useSelectRows.js +8 -5
- package/lib/components/Datagrid/useSkeletonRows.js +6 -6
- package/lib/components/Datagrid/useSortableColumns.js +5 -7
- package/lib/components/Datagrid/useStickyColumn.js +13 -6
- package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +2 -1
- package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +2 -1
- package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +2 -1
- package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +2 -1
- package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +2 -1
- package/lib/components/EmptyStates/assets/ErrorIllustration.js +5 -3
- package/lib/components/EmptyStates/assets/NoDataIllustration.js +5 -3
- package/lib/components/EmptyStates/assets/NoTagsIllustration.js +5 -3
- package/lib/components/EmptyStates/assets/NotFoundIllustration.js +5 -3
- package/lib/components/EmptyStates/assets/NotificationsIllustration.js +5 -3
- package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +5 -3
- package/lib/components/InlineTip/InlineTip.docs-page.js +23 -0
- package/lib/components/InlineTip/InlineTip.js +224 -0
- package/lib/components/InlineTip/InlineTipButton.js +57 -0
- package/lib/components/InlineTip/InlineTipLink.js +61 -0
- package/lib/components/InlineTip/index.js +26 -0
- package/lib/components/InlineTip/utils.js +43 -0
- package/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.docs-page.js +21 -0
- package/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +148 -0
- package/lib/components/SteppedAnimatedMedia/assets/index.js +9 -0
- package/lib/components/SteppedAnimatedMedia/index.js +12 -0
- package/lib/global/js/package-settings.js +2 -1
- package/package.json +2 -2
- package/scss/components/Datagrid/styles/_datagrid.scss +31 -5
- package/scss/components/InlineTip/_index.scss +8 -0
- package/scss/components/InlineTip/_inline-tip.scss +229 -0
- package/scss/components/InlineTip/_storybook-styles.scss +20 -0
- package/scss/components/SidePanel/_side-panel.scss +1 -4
- package/scss/components/SteppedAnimatedMedia/_index.scss +8 -0
- package/scss/components/SteppedAnimatedMedia/_stepped-animated-media.scss +6 -0
- package/scss/components/SteppedAnimatedMedia/_storybook-styles.scss +13 -0
- package/scss/components/_index.scss +1 -0
@@ -19,13 +19,13 @@ var _stateReducer = require("./addons/stateReducer");
|
|
19
19
|
var _getNodeTextContent = require("../../../global/js/utils/getNodeTextContent");
|
20
20
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
21
21
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
22
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
23
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /**
|
24
|
+
* Copyright IBM Corp. 2020, 2023
|
25
|
+
*
|
26
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
27
|
+
* LICENSE file in the root directory of this source tree.
|
28
|
+
*/
|
29
29
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
30
30
|
var getAccessibilityProps = function getAccessibilityProps(header) {
|
31
31
|
var props = {};
|
@@ -38,35 +38,44 @@ var getAccessibilityProps = function getAccessibilityProps(header) {
|
|
38
38
|
return props;
|
39
39
|
};
|
40
40
|
var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
41
|
+
var resizerAriaLabel = datagridState.resizerAriaLabel;
|
41
42
|
// Used to measure the height of the table and uses that value
|
42
43
|
// to display a vertical line to indicate the column you are resizing
|
43
44
|
(0, _react.useEffect)(function () {
|
44
45
|
var tableId = datagridState.tableId;
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
var
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
rowHeight: headerRowElement.clientHeight
|
64
|
-
});
|
65
|
-
}
|
46
|
+
var gridElement = document.querySelector("#".concat(tableId));
|
47
|
+
var tableElement = gridElement.querySelector('table');
|
48
|
+
var headerRowElement = document.querySelector("#".concat(tableId, " .").concat(blockClass, "__head"));
|
49
|
+
var hasHorizontalScrollbar = tableElement.scrollWidth > tableElement.clientWidth;
|
50
|
+
var scrollBuffer = hasHorizontalScrollbar ? 18 : 2;
|
51
|
+
var tableToolbar = gridElement.querySelector(".".concat(blockClass, "__table-toolbar"));
|
52
|
+
var tableToolbarHeight = (tableToolbar === null || tableToolbar === void 0 ? void 0 : tableToolbar.offsetHeight) || 0;
|
53
|
+
var setCustomValues = function setCustomValues(_ref) {
|
54
|
+
var rowHeight = _ref.rowHeight,
|
55
|
+
gridHeight = _ref.gridHeight;
|
56
|
+
headerRowElement.style.setProperty("--".concat(blockClass, "--row-height"), (0, _layout.px)(rowHeight));
|
57
|
+
headerRowElement.style.setProperty("--".concat(blockClass, "--grid-height"), (0, _layout.px)(gridHeight - scrollBuffer - tableToolbarHeight));
|
58
|
+
headerRowElement.style.setProperty("--".concat(blockClass, "--header-height"), (0, _layout.px)(headerRowElement.offsetHeight));
|
59
|
+
};
|
60
|
+
setCustomValues({
|
61
|
+
gridHeight: gridElement.offsetHeight,
|
62
|
+
rowHeight: headerRowElement.clientHeight
|
63
|
+
});
|
66
64
|
}, [datagridState.rowSize, datagridState.tableId, datagridState]);
|
67
65
|
var _useState = (0, _react.useState)(2),
|
68
66
|
_useState2 = (0, _slicedToArray2.default)(_useState, 1),
|
69
67
|
incrementAmount = _useState2[0];
|
68
|
+
var handleOnMouseDownResize = function handleOnMouseDownResize(event, resizeProps) {
|
69
|
+
var _resizeProps = _objectSpread({}, resizeProps()),
|
70
|
+
onMouseDown = _resizeProps.onMouseDown;
|
71
|
+
// When event.button is 2, that is a right click
|
72
|
+
// and we do not want to resize
|
73
|
+
if (event.button === 2 || event.ctrlKey) {
|
74
|
+
event.target.blur();
|
75
|
+
return;
|
76
|
+
}
|
77
|
+
onMouseDown === null || onMouseDown === void 0 || onMouseDown(event);
|
78
|
+
};
|
70
79
|
return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps(), {
|
71
80
|
className: (0, _classnames.default)("".concat(blockClass, "__head"), headerGroup.getHeaderGroupProps().className),
|
72
81
|
ref: headRef
|
@@ -88,13 +97,17 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
|
88
97
|
dispatch = datagridState.dispatch,
|
89
98
|
onColResizeEnd = datagridState.onColResizeEnd;
|
90
99
|
var columnResizing = state.columnResizing;
|
91
|
-
var
|
100
|
+
var _ref4 = columnResizing || {},
|
101
|
+
columnWidths = _ref4.columnWidths;
|
92
102
|
var originalCol = visibleColumns[index];
|
93
103
|
return /*#__PURE__*/_react.default.createElement(_react2.TableHeader, (0, _extends2.default)({}, header.getHeaderProps(), {
|
94
|
-
className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__resizableColumn"), header.getResizerProps), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isResizing"), header.isResizing), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable && header.id !== 'spacer'), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isSorted"), header.isSorted), _cx), header.getHeaderProps().className),
|
104
|
+
className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__resizableColumn"), header.getResizerProps), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isResizing"), header.isResizing), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable && header.id !== 'spacer'), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isSorted"), header.isSorted), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__header-actions-column"), header.isAction), _cx), header.getHeaderProps().className),
|
95
105
|
key: header.id,
|
96
106
|
"aria-hidden": header.id === 'spacer' && 'true'
|
97
|
-
}, getAccessibilityProps(header)), header.render('Header'), header.getResizerProps && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({}, header.getResizerProps(), {
|
107
|
+
}, getAccessibilityProps(header)), header.render('Header'), header.getResizerProps && !header.isAction && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({}, header.getResizerProps(), {
|
108
|
+
onMouseDown: function onMouseDown(event) {
|
109
|
+
return handleOnMouseDownResize(event, header.getResizerProps);
|
110
|
+
},
|
98
111
|
onKeyDown: function onKeyDown(event) {
|
99
112
|
var key = event.key;
|
100
113
|
if (key === 'ArrowLeft' || key === 'ArrowRight') {
|
@@ -118,7 +131,7 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
|
118
131
|
className: (0, _classnames.default)("".concat(blockClass, "__col-resizer-range")),
|
119
132
|
type: "range",
|
120
133
|
defaultValue: originalCol.width,
|
121
|
-
"aria-label":
|
134
|
+
"aria-label": resizerAriaLabel || 'Resize column'
|
122
135
|
})), /*#__PURE__*/_react.default.createElement("span", {
|
123
136
|
className: "".concat(blockClass, "__col-resize-indicator")
|
124
137
|
})));
|
@@ -32,8 +32,11 @@ var DatagridRefBody = function DatagridRefBody(datagridState) {
|
|
32
32
|
className: (0, _classnames.default)("".concat(blockClass, "__simple-body"), getTableBodyProps().className)
|
33
33
|
}), rows.map(function (row) {
|
34
34
|
prepareRow(row);
|
35
|
+
var _row$getRowProps = row.getRowProps(),
|
36
|
+
key = _row$getRowProps.key;
|
35
37
|
return row.RowRenderer(_objectSpread(_objectSpread({}, datagridState), {}, {
|
36
|
-
row: row
|
38
|
+
row: row,
|
39
|
+
key: key
|
37
40
|
}));
|
38
41
|
}));
|
39
42
|
};
|
@@ -37,7 +37,8 @@ var DatagridRow = function DatagridRow(datagridState) {
|
|
37
37
|
var row = datagridState.row,
|
38
38
|
rowSize = datagridState.rowSize,
|
39
39
|
withNestedRows = datagridState.withNestedRows,
|
40
|
-
prepareRow = datagridState.prepareRow
|
40
|
+
prepareRow = datagridState.prepareRow,
|
41
|
+
key = datagridState.key;
|
41
42
|
var getVisibleNestedRowCount = function getVisibleNestedRowCount(_ref) {
|
42
43
|
var isExpanded = _ref.isExpanded,
|
43
44
|
subRows = _ref.subRows;
|
@@ -95,7 +96,9 @@ var DatagridRow = function DatagridRow(datagridState) {
|
|
95
96
|
}
|
96
97
|
};
|
97
98
|
var rowClassNames = (0, _classnames.default)("".concat(blockClass, "__carbon-row"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), (0, _defineProperty2.default)(_cx, "".concat(_settings.carbon.prefix, "--data-table--selected"), row.isSelected), _cx));
|
98
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment,
|
99
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
100
|
+
key: key
|
101
|
+
}, /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({
|
99
102
|
className: rowClassNames
|
100
103
|
}, row.getRowProps(), {
|
101
104
|
key: row.id,
|
@@ -15,14 +15,12 @@ var _react2 = require("@carbon/react");
|
|
15
15
|
var _classnames = _interopRequireDefault(require("classnames"));
|
16
16
|
var _settings = require("../../../settings");
|
17
17
|
var _excluded = ["onChange"];
|
18
|
-
|
19
|
-
*
|
20
|
-
*
|
21
|
-
*
|
22
|
-
*
|
23
|
-
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
18
|
+
/**
|
19
|
+
* Copyright IBM Corp. 2020, 2023
|
20
|
+
*
|
21
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
22
|
+
* LICENSE file in the root directory of this source tree.
|
24
23
|
*/
|
25
|
-
// @flow
|
26
24
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
27
25
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
28
26
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
@@ -33,6 +31,7 @@ var SelectAll = exports.SelectAll = function SelectAll(datagridState) {
|
|
33
31
|
windowSize = _useState2[0],
|
34
32
|
setWindowSize = _useState2[1];
|
35
33
|
(0, _react.useLayoutEffect)(function () {
|
34
|
+
/* istanbul ignore next */
|
36
35
|
function updateSize() {
|
37
36
|
setWindowSize(window.innerWidth);
|
38
37
|
}
|
@@ -53,15 +52,15 @@ var SelectAll = exports.SelectAll = function SelectAll(datagridState) {
|
|
53
52
|
var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
|
54
53
|
if (hideSelectAll || radio) {
|
55
54
|
return /*#__PURE__*/_react.default.createElement("div", {
|
56
|
-
className: (0, _classnames.default)("".concat(blockClass, "__head-hidden-select-all"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__select-all-sticky-left"),
|
55
|
+
className: (0, _classnames.default)("".concat(blockClass, "__head-hidden-select-all"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__select-all-sticky-left"), /* istanbul ignore next */
|
56
|
+
isFirstColumnStickyLeft && windowSize > 671))
|
57
57
|
});
|
58
58
|
}
|
59
59
|
var getProps = DatagridPagination ? getToggleAllPageRowsSelectedProps : getToggleAllRowsSelectedProps;
|
60
60
|
var _getProps = getProps(),
|
61
61
|
onChange = _getProps.onChange,
|
62
62
|
selectProps = (0, _objectWithoutProperties2.default)(_getProps, _excluded);
|
63
|
-
var
|
64
|
-
indeterminate = _ref.indeterminate;
|
63
|
+
var indeterminate = selectProps.indeterminate;
|
65
64
|
var handleSelectAllChange = function handleSelectAllChange(event) {
|
66
65
|
if (indeterminate) {
|
67
66
|
return onChange === null || onChange === void 0 ? void 0 : onChange({
|
@@ -73,7 +72,8 @@ var SelectAll = exports.SelectAll = function SelectAll(datagridState) {
|
|
73
72
|
return onChange === null || onChange === void 0 ? void 0 : onChange(event);
|
74
73
|
};
|
75
74
|
return /*#__PURE__*/_react.default.createElement("div", {
|
76
|
-
className: (0, _classnames.default)("".concat(blockClass, "__head-select-all"), "".concat(blockClass, "__checkbox-cell"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__checkbox-cell-sticky-left"),
|
75
|
+
className: (0, _classnames.default)("".concat(blockClass, "__head-select-all"), "".concat(blockClass, "__checkbox-cell"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__checkbox-cell-sticky-left"), /* istanbul ignore next */
|
76
|
+
isFirstColumnStickyLeft && windowSize > 671))
|
77
77
|
}, /*#__PURE__*/_react.default.createElement(_react2.TableSelectAll, (0, _extends2.default)({}, selectProps, {
|
78
78
|
name: "".concat(tableId, "-select-all-checkbox-name"),
|
79
79
|
onSelect: handleSelectAllChange,
|
@@ -28,8 +28,11 @@ var DatagridSimpleBody = function DatagridSimpleBody(datagridState) {
|
|
28
28
|
className: (0, _classnames.default)("".concat(blockClass, "__simple-body"), getTableBodyProps().className)
|
29
29
|
}), rows.map(function (row) {
|
30
30
|
prepareRow(row);
|
31
|
+
var _row$getRowProps = row.getRowProps(),
|
32
|
+
key = _row$getRowProps.key;
|
31
33
|
return row.RowRenderer(_objectSpread(_objectSpread({}, datagridState), {}, {
|
32
|
-
row: row
|
34
|
+
row: row,
|
35
|
+
key: key
|
33
36
|
}));
|
34
37
|
}));
|
35
38
|
};
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
7
7
|
});
|
8
8
|
exports.default = void 0;
|
9
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
10
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
10
|
var _react = _interopRequireWildcard(require("react"));
|
12
11
|
var _reactWindow = require("react-window");
|
@@ -18,12 +17,11 @@ var _useResizeObserver = require("../../../global/js/hooks/useResizeObserver");
|
|
18
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
19
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
20
19
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
21
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
22
|
-
*
|
23
|
-
*
|
24
|
-
*
|
25
|
-
*
|
26
|
-
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
20
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /**
|
21
|
+
* Copyright IBM Corp. 2020, 2023
|
22
|
+
*
|
23
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
24
|
+
* LICENSE file in the root directory of this source tree.
|
27
25
|
*/
|
28
26
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
29
27
|
var rowSizeMap = {
|
@@ -31,12 +29,7 @@ var rowSizeMap = {
|
|
31
29
|
sm: 32,
|
32
30
|
md: 40,
|
33
31
|
lg: 48,
|
34
|
-
xl: 64
|
35
|
-
// TODO: deprecate the below values in next major release (v8) on carbon-components-react
|
36
|
-
short: 32,
|
37
|
-
compact: 24,
|
38
|
-
normal: 48,
|
39
|
-
tall: 64
|
32
|
+
xl: 64
|
40
33
|
};
|
41
34
|
var defaultRowHeight = rowSizeMap.lg;
|
42
35
|
var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
@@ -54,19 +47,15 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
|
54
47
|
DatagridPagination = datagridState.DatagridPagination,
|
55
48
|
page = datagridState.page,
|
56
49
|
handleResize = datagridState.handleResize,
|
57
|
-
gridRef = datagridState.gridRef
|
50
|
+
gridRef = datagridState.gridRef,
|
51
|
+
tableId = datagridState.tableId;
|
52
|
+
|
53
|
+
/* istanbul ignore next */
|
58
54
|
var handleVirtualGridResize = function handleVirtualGridResize() {
|
59
55
|
var gridRefElement = gridRef === null || gridRef === void 0 ? void 0 : gridRef.current;
|
60
56
|
gridRefElement.style.width = gridRefElement === null || gridRefElement === void 0 ? void 0 : gridRefElement.clientWidth;
|
61
57
|
};
|
62
58
|
(0, _useResizeObserver.useResizeObserver)(gridRef, handleVirtualGridResize);
|
63
|
-
var syncScroll = function syncScroll(e) {
|
64
|
-
var virtualBody = e.target;
|
65
|
-
document.querySelector(".".concat(blockClass, "__head-wrap")).scrollLeft = virtualBody.scrollLeft;
|
66
|
-
var spacerColumn = document.querySelector(".".concat(blockClass, "__head-wrap thead th:last-child"));
|
67
|
-
spacerColumn.style.width = (0, _layout.px)(32 + (virtualBody.offsetWidth - virtualBody.clientWidth)); // scrollbar width to header column to fix header alignment
|
68
|
-
};
|
69
|
-
|
70
59
|
(0, _react.useEffect)(function () {
|
71
60
|
handleResize();
|
72
61
|
}, [handleResize]);
|
@@ -75,17 +64,30 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
|
75
64
|
listRef.current.resetAfterIndex(0);
|
76
65
|
}
|
77
66
|
var visibleRows = DatagridPagination && page || rows;
|
67
|
+
var testRef = (0, _react.useRef)();
|
68
|
+
|
69
|
+
// Sync the scrollLeft position of the virtual body to the table header
|
70
|
+
(0, _react.useEffect)(function () {
|
71
|
+
function handleScroll(event) {
|
72
|
+
var virtualBody = event.target;
|
73
|
+
document.querySelector("#".concat(tableId, " .").concat(blockClass, "__head-wrap")).scrollLeft = virtualBody.scrollLeft;
|
74
|
+
var spacerColumn = document.querySelector("#".concat(tableId, " .").concat(blockClass, "__head-wrap thead th:last-child"));
|
75
|
+
spacerColumn.style.width = (0, _layout.px)(32 + (virtualBody.offsetWidth - virtualBody.clientWidth)); // scrollbar width to header column to fix header alignment
|
76
|
+
}
|
77
|
+
|
78
|
+
var testRefValue = testRef.current;
|
79
|
+
testRefValue.addEventListener('scroll', handleScroll);
|
80
|
+
return function () {
|
81
|
+
testRefValue.removeEventListener('scroll', handleScroll);
|
82
|
+
};
|
83
|
+
});
|
78
84
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
79
85
|
className: "".concat(blockClass, "__head-wrap"),
|
80
86
|
style: {
|
81
87
|
width: (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 ? void 0 : _gridRef$current.clientWidth,
|
82
88
|
overflow: 'hidden'
|
83
89
|
}
|
84
|
-
}, /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState)), /*#__PURE__*/_react.default.createElement(_react2.TableBody, (
|
85
|
-
onScroll: function onScroll(e) {
|
86
|
-
return syncScroll(e);
|
87
|
-
}
|
88
|
-
}), /*#__PURE__*/_react.default.createElement(_reactWindow.VariableSizeList, {
|
90
|
+
}, /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState)), /*#__PURE__*/_react.default.createElement(_react2.TableBody, getTableBodyProps(), /*#__PURE__*/_react.default.createElement(_reactWindow.VariableSizeList, {
|
89
91
|
height: virtualHeight || tableHeight,
|
90
92
|
itemCount: visibleRows.length,
|
91
93
|
itemSize: function itemSize(index) {
|
@@ -94,6 +96,7 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
|
94
96
|
estimatedItemSize: rowHeight,
|
95
97
|
onScroll: onScroll,
|
96
98
|
innerRef: innerListRef,
|
99
|
+
outerRef: testRef,
|
97
100
|
ref: listRef,
|
98
101
|
className: "".concat(blockClass, "__virtual-scrollbar"),
|
99
102
|
style: {
|
@@ -104,10 +107,13 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
|
104
107
|
style = _ref.style;
|
105
108
|
var row = visibleRows[index];
|
106
109
|
prepareRow(row);
|
110
|
+
var _row$getRowProps = row.getRowProps(),
|
111
|
+
key = _row$getRowProps.key;
|
107
112
|
return /*#__PURE__*/_react.default.createElement("div", {
|
108
113
|
style: _objectSpread({}, style)
|
109
114
|
}, row.RowRenderer(_objectSpread(_objectSpread({}, datagridState), {}, {
|
110
|
-
row: row
|
115
|
+
row: row,
|
116
|
+
key: key
|
111
117
|
})));
|
112
118
|
})));
|
113
119
|
};
|
@@ -71,10 +71,10 @@ var DraggableItemsList = exports.DraggableItemsList = function DraggableItemsLis
|
|
71
71
|
if (destOverCol !== null && destOverCol !== void 0 && destOverCol.length && (_destOverCol$ = destOverCol[0]) !== null && _destOverCol$ !== void 0 && _destOverCol$.disabled) {
|
72
72
|
return;
|
73
73
|
}
|
74
|
-
var fromVisibleIndex =
|
74
|
+
var fromVisibleIndex = updatedDragCols.findIndex(function (col) {
|
75
75
|
return matchedColsById(col, active);
|
76
76
|
});
|
77
|
-
var toVisibleIndex =
|
77
|
+
var toVisibleIndex = updatedDragCols.findIndex(function (col) {
|
78
78
|
return matchedColsById(col, over);
|
79
79
|
});
|
80
80
|
var colTitle = (0, _getNodeTextContent.getNodeTextContent)(updatedDragCols[fromVisibleIndex].Header);
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
5
5
|
value: true
|
6
6
|
});
|
7
|
-
exports.stateReducer = exports.handleColumnResizingEvent = exports.handleColumnResizeEndEvent = void 0;
|
7
|
+
exports.stateReducer = exports.handleToggleRowSelected = exports.handleColumnResizingEvent = exports.handleColumnResizeEndEvent = void 0;
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
@@ -20,6 +20,7 @@ var COLUMN_RESIZE_START = 'columnStartResizing';
|
|
20
20
|
var COLUMN_RESIZING = 'columnResizing';
|
21
21
|
var COLUMN_RESIZE_END = 'columnDoneResizing';
|
22
22
|
var INIT = 'init';
|
23
|
+
var TOGGLE_ROW_SELECTED = 'toggleRowSelected';
|
23
24
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
24
25
|
var handleColumnResizeEndEvent = exports.handleColumnResizeEndEvent = function handleColumnResizeEndEvent(dispatch, onColResizeEnd, headerId, isKeyEvent) {
|
25
26
|
dispatch({
|
@@ -51,8 +52,43 @@ var handleColumnResizingEvent = exports.handleColumnResizingEvent = function han
|
|
51
52
|
}
|
52
53
|
});
|
53
54
|
};
|
55
|
+
var handleToggleRowSelected = exports.handleToggleRowSelected = function handleToggleRowSelected(dispatch, rowData, isChecked) {
|
56
|
+
return dispatch({
|
57
|
+
type: TOGGLE_ROW_SELECTED,
|
58
|
+
payload: {
|
59
|
+
rowData: rowData,
|
60
|
+
isChecked: isChecked
|
61
|
+
}
|
62
|
+
});
|
63
|
+
};
|
54
64
|
var stateReducer = exports.stateReducer = function stateReducer(newState, action) {
|
55
65
|
switch (action.type) {
|
66
|
+
case TOGGLE_ROW_SELECTED:
|
67
|
+
{
|
68
|
+
var _ref = action.payload || {},
|
69
|
+
rowData = _ref.rowData,
|
70
|
+
isChecked = _ref.isChecked;
|
71
|
+
if (!rowData) {
|
72
|
+
return;
|
73
|
+
}
|
74
|
+
if (isChecked) {
|
75
|
+
return _objectSpread(_objectSpread({}, newState), {}, {
|
76
|
+
selectedRowData: _objectSpread(_objectSpread({}, newState.selectedRowData), {}, (0, _defineProperty2.default)({}, rowData.index, rowData))
|
77
|
+
});
|
78
|
+
}
|
79
|
+
if (rowData && !isChecked) {
|
80
|
+
var newData = _objectSpread({}, newState.selectedRowData);
|
81
|
+
var dataWithRemovedRow = Object.fromEntries(Object.entries(newData).filter(function (_ref2) {
|
82
|
+
var _ref3 = (0, _slicedToArray2.default)(_ref2, 1),
|
83
|
+
key = _ref3[0];
|
84
|
+
return parseInt(key) !== parseInt(rowData.index);
|
85
|
+
}));
|
86
|
+
return _objectSpread(_objectSpread({}, newState), {}, {
|
87
|
+
selectedRowData: dataWithRemovedRow
|
88
|
+
});
|
89
|
+
}
|
90
|
+
return _objectSpread({}, newState);
|
91
|
+
}
|
56
92
|
case INIT:
|
57
93
|
{
|
58
94
|
return _objectSpread(_objectSpread({}, newState), {}, {
|
@@ -61,27 +97,27 @@ var stateReducer = exports.stateReducer = function stateReducer(newState, action
|
|
61
97
|
}
|
62
98
|
case COLUMN_RESIZE_START:
|
63
99
|
{
|
64
|
-
var
|
65
|
-
headerId =
|
100
|
+
var _ref4 = action.payload || {},
|
101
|
+
headerId = _ref4.headerId;
|
66
102
|
return _objectSpread(_objectSpread({}, newState), {}, {
|
67
103
|
isResizing: headerId
|
68
104
|
});
|
69
105
|
}
|
70
106
|
case COLUMN_RESIZING:
|
71
107
|
{
|
72
|
-
var
|
73
|
-
_headerId =
|
74
|
-
newWidth =
|
75
|
-
defaultWidth =
|
108
|
+
var _ref5 = action.payload || {},
|
109
|
+
_headerId = _ref5.headerId,
|
110
|
+
newWidth = _ref5.newWidth,
|
111
|
+
defaultWidth = _ref5.defaultWidth;
|
76
112
|
var newColumnWidth = {};
|
77
113
|
if (typeof _headerId === 'undefined') {
|
78
114
|
return _objectSpread({}, newState);
|
79
115
|
}
|
80
116
|
newColumnWidth[_headerId] = newWidth;
|
81
|
-
var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (
|
82
|
-
var
|
83
|
-
_ =
|
84
|
-
value =
|
117
|
+
var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (_ref6) {
|
118
|
+
var _ref7 = (0, _slicedToArray2.default)(_ref6, 2),
|
119
|
+
_ = _ref7[0],
|
120
|
+
value = _ref7[1];
|
85
121
|
return !isNaN(value);
|
86
122
|
}));
|
87
123
|
var headerIdArray = newState.columnResizing.headerIdWidths || [];
|
@@ -96,10 +132,10 @@ var stateReducer = exports.stateReducer = function stateReducer(newState, action
|
|
96
132
|
}
|
97
133
|
case COLUMN_RESIZE_END:
|
98
134
|
{
|
99
|
-
var
|
100
|
-
onColResizeEnd =
|
101
|
-
_headerId2 =
|
102
|
-
isKeyEvent =
|
135
|
+
var _ref8 = action.payload || {},
|
136
|
+
onColResizeEnd = _ref8.onColResizeEnd,
|
137
|
+
_headerId2 = _ref8.headerId,
|
138
|
+
isKeyEvent = _ref8.isKeyEvent;
|
103
139
|
var currentColumn = {};
|
104
140
|
currentColumn[_headerId2] = newState.columnResizing.columnWidths[_headerId2];
|
105
141
|
var allChangedColumns = newState.columnResizing.columnWidths;
|
@@ -55,7 +55,13 @@ var DocsPage = exports.DocsPage = function DocsPage() {
|
|
55
55
|
description: "There is also an optional resize callback when resizing columns, allowing you to save the widths of columns that have been resized. The resize callback returns the column that was just resized and it's width, in addition to all of the columns that have been resized and their widths.",
|
56
56
|
source: {
|
57
57
|
language: 'jsx',
|
58
|
-
code: "\nuseDatagrid({\n columns,\n data,\n onColResizeEnd: (currentColumn, allColumns) =>\n console.log(currentColumn, allColumns),\n});\n "
|
58
|
+
code: "\nuseDatagrid({\n columns,\n data,\n onColResizeEnd: (currentColumn, allColumns) =>\n console.log(currentColumn, allColumns),\n resizerAriaLabel: 'Resize column',\n});\n "
|
59
|
+
}
|
60
|
+
}, {
|
61
|
+
description: 'Disabling the resizable columns is possible by specifying `disableResizing: true` within the `useDatagrid` hook. To pass in your own translated label for the column resizer, add the `resizerAriaLabel` property',
|
62
|
+
source: {
|
63
|
+
language: 'jsx',
|
64
|
+
code: "\nuseDatagrid({\n columns,\n data,\n disableResizing: true,\n resizerAriaLabel: 'Resize column',\n});\n "
|
59
65
|
}
|
60
66
|
}, {
|
61
67
|
title: 'Rendering the table toolbar',
|
@@ -90,7 +96,7 @@ var DocsPage = exports.DocsPage = function DocsPage() {
|
|
90
96
|
}, {
|
91
97
|
description: "Infinite scroll:\n- Include `useInfiniteScroll` hook\n- Add `fetchMoreData` property to `useDatagrid`, this will be a function that is called when the scroll threshold is met. Optionally change the height of the grid with the `virtualHeight` property.",
|
92
98
|
source: {
|
93
|
-
code: "\nconst datagridState = useDatagrid(\n {\n columns,\n data,\n isFetching,\n fetchMoreData: fetchData,\n virtualHeight: 540,\n emptyStateTitle: 'Empty state title',\n emptyStateDescription: 'Description explaining why the table is empty',\n },\n useInfiniteScroll\n);"
|
99
|
+
code: "\nconst datagridState = useDatagrid(\n {\n columns,\n data,\n isFetching,\n fetchMoreData: fetchData,\n virtualHeight: 540,\n loadMoreThreshold: 200,\n emptyStateTitle: 'Empty state title',\n emptyStateDescription: 'Description explaining why the table is empty',\n },\n useInfiniteScroll\n);"
|
94
100
|
}
|
95
101
|
}, {
|
96
102
|
description: "Virtualized data:\n- Include `useInfiniteScroll` hook\n- The Datagrid will know to use virtualized data just by providing the `useInfiniteScroll` hook\n ",
|
@@ -50,12 +50,13 @@ var useActionsColumn = function useActionsColumn(hooks) {
|
|
50
50
|
column = cell.column;
|
51
51
|
if (column.isAction) {
|
52
52
|
var _cx3;
|
53
|
+
var isColumnSticky = !!column.sticky;
|
53
54
|
return [props, {
|
54
55
|
children: /*#__PURE__*/_react.default.createElement("div", {
|
55
56
|
className: "".concat(blockClass, "__actions-column-contents")
|
56
57
|
}, isFetching && /*#__PURE__*/_react.default.createElement(_react2.IconSkeleton, {
|
57
58
|
className: "".concat(blockClass, "__actions-column-loading")
|
58
|
-
}), !isFetching && rowActions.length <= 2 && /*#__PURE__*/_react.default.createElement("div", {
|
59
|
+
}), !isFetching && rowActions.length <= 2 && !isColumnSticky && /*#__PURE__*/_react.default.createElement("div", {
|
59
60
|
className: "".concat(blockClass, "_actions-column"),
|
60
61
|
style: {
|
61
62
|
display: 'flex'
|
@@ -90,7 +91,7 @@ var useActionsColumn = function useActionsColumn(hooks) {
|
|
90
91
|
_onClick(id, row, e);
|
91
92
|
}
|
92
93
|
})));
|
93
|
-
})), !isFetching && rowActions.length > 2 && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
|
94
|
+
})), !isFetching && (rowActions.length > 2 || isColumnSticky) && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
|
94
95
|
align: "left",
|
95
96
|
size: "sm",
|
96
97
|
flipped: true,
|
@@ -120,9 +121,9 @@ var useActionsColumn = function useActionsColumn(hooks) {
|
|
120
121
|
key: id
|
121
122
|
}));
|
122
123
|
})))),
|
123
|
-
className: (0, _classnames.default)((_cx3 = {}, (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__actions-column-cell"), true), (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__cell"), true), _cx3)),
|
124
|
+
className: (0, _classnames.default)((_cx3 = {}, (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__actions-column-cell"), true), (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__cell"), true), (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__actions-column-cell-non-sticky"), !isColumnSticky), _cx3)),
|
124
125
|
style: {
|
125
|
-
width: rowActions.length > 2 ? 48 : 96
|
126
|
+
width: rowActions.length > 2 || isColumnSticky ? 48 : 96
|
126
127
|
}
|
127
128
|
}];
|
128
129
|
}
|
@@ -137,9 +138,10 @@ var useActionsColumn = function useActionsColumn(hooks) {
|
|
137
138
|
var addHeaderWidth = function addHeaderWidth(props, cellData) {
|
138
139
|
var column = cellData.column;
|
139
140
|
if (column.isAction) {
|
141
|
+
var isColumnSticky = !!column.sticky;
|
140
142
|
return [props, {
|
141
143
|
style: _objectSpread(_objectSpread({}, props.style), {}, {
|
142
|
-
width: rowActions.length > 2 ? 48 : 96 // set header width based on action length
|
144
|
+
width: rowActions.length > 2 || isColumnSticky ? 48 : 96 // set header width based on action length
|
143
145
|
})
|
144
146
|
}];
|
145
147
|
}
|
@@ -28,8 +28,19 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
28
28
|
*/
|
29
29
|
var useDatagrid = function useDatagrid(params) {
|
30
30
|
var defaultPlugins = [_reactTable.useFlexLayout, _DatagridHeaderRow.default, _useSkeletonRows.default, _reactTable.useResizeColumns, _useRowRenderer.default, _useDefaultStringRenderer.default, _useRowSize.default, _reactTable.useFilters, _reactTable.useGlobalFilter, _reactTable.useSortBy, _reactTable.useExpanded];
|
31
|
+
|
32
|
+
// Disable resizing
|
33
|
+
if (params.disableResizing) {
|
34
|
+
var resizeIndex = defaultPlugins.findIndex(function (p) {
|
35
|
+
return p.pluginName === 'useResizeColumns';
|
36
|
+
});
|
37
|
+
defaultPlugins.splice(resizeIndex, 1);
|
38
|
+
}
|
31
39
|
var defaultEndPlugins = [_reactTable.usePagination, _reactTable.useRowSelect, _useFlexResize.default, _useFloatingScroll.default];
|
32
40
|
var clientEndPlugins = params.endPlugins || [];
|
41
|
+
var defaultColumn = {
|
42
|
+
minWidth: 50
|
43
|
+
};
|
33
44
|
var tableId = (0, _react.useMemo)(function () {
|
34
45
|
return (0, _uniqueId.default)('datagrid-table-id');
|
35
46
|
}, []);
|
@@ -39,7 +50,8 @@ var useDatagrid = function useDatagrid(params) {
|
|
39
50
|
var tableState = _reactTable.useTable.apply(void 0, [_objectSpread(_objectSpread({
|
40
51
|
tableId: tableId
|
41
52
|
}, params), {}, {
|
42
|
-
stateReducer: _stateReducer.stateReducer
|
53
|
+
stateReducer: _stateReducer.stateReducer,
|
54
|
+
defaultColumn: defaultColumn
|
43
55
|
})].concat(defaultPlugins, plugins, defaultEndPlugins, (0, _toConsumableArray2.default)(clientEndPlugins)));
|
44
56
|
return tableState;
|
45
57
|
};
|