@carbon/ibm-products 2.11.3 → 2.12.1
Sign up to get free protection for your applications and to get access to all the features.
- package/css/index-full-carbon.css +43 -12
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +3 -3
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +36 -7
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +2 -2
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +43 -12
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +3 -3
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +43 -12
- package/css/index.css.map +1 -1
- package/css/index.min.css +3 -3
- package/css/index.min.css.map +1 -1
- package/es/components/Card/Card.js +9 -1
- package/es/components/Card/CardFooter.js +8 -2
- package/es/components/Card/CardHeader.js +8 -2
- package/es/components/CreateFullPage/CreateFullPage.docs-page.js +6 -0
- package/es/components/CreateFullPage/CreateFullPage.js +66 -8
- package/es/components/Datagrid/Datagrid/Datagrid.js +2 -1
- package/es/components/Datagrid/Datagrid/DatagridContent.js +7 -1
- package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +1 -3
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +3 -5
- package/es/components/Datagrid/Datagrid/DatagridRefBody.js +1 -3
- package/es/components/Datagrid/Datagrid/DatagridRow.js +2 -6
- package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +13 -1
- package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +1 -3
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +1 -3
- package/es/components/Datagrid/Datagrid/DraggableElement.js +1 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +37 -15
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +18 -17
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +104 -18
- package/es/components/Datagrid/Datagrid/addons/Filtering/OverflowCheckboxes.js +68 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +1 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +120 -54
- package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +9 -3
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +6 -12
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +0 -5
- package/es/components/Datagrid/Datagrid.docs-page.js +1 -1
- package/es/components/Datagrid/useActionsColumn.js +0 -2
- package/es/components/Datagrid/useDisableSelectRows.js +1 -1
- package/es/components/Datagrid/useFiltering.js +4 -1
- package/es/components/Datagrid/useInlineEdit.js +1 -6
- package/es/components/Datagrid/useSelectRows.js +1 -1
- package/es/components/Datagrid/useSortableColumns.js +14 -25
- package/es/components/Datagrid/utils/DatagridActions.js +2 -3
- package/es/components/SimpleHeader/SimpleHeader.docs-page.js +17 -0
- package/es/components/SimpleHeader/SimpleHeader.js +92 -0
- package/es/components/SimpleHeader/index.js +8 -0
- package/es/components/StatusIcon/StatusIcon.js +13 -13
- package/es/global/js/hooks/useCreateComponentStepChange.js +14 -20
- package/es/global/js/utils/StoryDocsPage.js +3 -3
- package/es/global/js/utils/getNodeTextContent.js +4 -0
- package/lib/components/Card/Card.js +9 -1
- package/lib/components/Card/CardFooter.js +8 -2
- package/lib/components/Card/CardHeader.js +8 -2
- package/lib/components/CreateFullPage/CreateFullPage.docs-page.js +6 -0
- package/lib/components/CreateFullPage/CreateFullPage.js +65 -7
- package/lib/components/Datagrid/Datagrid/Datagrid.js +2 -1
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +6 -0
- package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +1 -3
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +3 -5
- package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +1 -3
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +2 -6
- package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +13 -1
- package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +1 -3
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +1 -3
- package/lib/components/Datagrid/Datagrid/DraggableElement.js +1 -0
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +37 -15
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +40 -38
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +109 -24
- package/lib/components/Datagrid/Datagrid/addons/Filtering/OverflowCheckboxes.js +79 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +4 -2
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +136 -70
- package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +10 -4
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +6 -12
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +0 -5
- package/lib/components/Datagrid/Datagrid.docs-page.js +1 -1
- package/lib/components/Datagrid/useActionsColumn.js +0 -2
- package/lib/components/Datagrid/useDisableSelectRows.js +1 -1
- package/lib/components/Datagrid/useFiltering.js +4 -1
- package/lib/components/Datagrid/useInlineEdit.js +1 -6
- package/lib/components/Datagrid/useSelectRows.js +1 -1
- package/lib/components/Datagrid/useSortableColumns.js +14 -25
- package/lib/components/Datagrid/utils/DatagridActions.js +2 -3
- package/lib/components/SimpleHeader/SimpleHeader.docs-page.js +28 -0
- package/lib/components/SimpleHeader/SimpleHeader.js +102 -0
- package/lib/components/SimpleHeader/index.js +12 -0
- package/lib/components/StatusIcon/StatusIcon.js +12 -12
- package/lib/global/js/hooks/useCreateComponentStepChange.js +14 -20
- package/lib/global/js/utils/StoryDocsPage.js +3 -3
- package/lib/global/js/utils/getNodeTextContent.js +4 -0
- package/package.json +2 -2
- package/scss/components/Card/_card.scss +1 -1
- package/scss/components/CreateFullPage/_create-full-page.scss +11 -2
- package/scss/components/Datagrid/styles/_useInlineEdit.scss +8 -11
- package/scss/components/Datagrid/styles/addons/_FilterPanel.scss +4 -0
- package/scss/components/ProductiveCard/_productive-card.scss +0 -1
- package/scss/components/SimpleHeader/_carbon-imports.scss +11 -0
- package/scss/components/SimpleHeader/_index-with-carbon.scss +9 -0
- package/scss/components/SimpleHeader/_index.scss +10 -0
- package/scss/components/SimpleHeader/_simple-header.scss +37 -0
- package/scss/components/StatusIcon/_status-icon.scss +0 -1
- package/scss/components/_index-with-carbon.scss +1 -0
- package/es/components/Datagrid/utils/getColTitle.js +0 -25
- package/lib/components/Datagrid/utils/getColTitle.js +0 -32
@@ -20,7 +20,8 @@ var _ActionSet = require("../ActionSet");
|
|
20
20
|
var _hooks = require("../../global/js/hooks");
|
21
21
|
var _lastIndexInArray = require("../../global/js/utils/lastIndexInArray");
|
22
22
|
var _getNumberOfHiddenSteps = require("../../global/js/utils/getNumberOfHiddenSteps");
|
23
|
-
var
|
23
|
+
var _SimpleHeader = require("../SimpleHeader/SimpleHeader");
|
24
|
+
var _excluded = ["breadcrumbsOverflowAriaLabel", "breadcrumbs", "backButtonText", "cancelButtonText", "children", "className", "initialStep", "maxVisibleBreadcrumbs", "modalDangerButtonText", "modalDescription", "modalSecondaryButtonText", "modalTitle", "nextButtonText", "onClose", "onRequestSubmit", "firstFocusElement", "submitButtonText", "noTrailingSlash", "title", "secondaryTitle"];
|
24
25
|
/**
|
25
26
|
* Copyright IBM Corp. 2021, 2023
|
26
27
|
*
|
@@ -59,11 +60,14 @@ component to get the desired affect.
|
|
59
60
|
*/
|
60
61
|
exports.StepNumberContext = StepNumberContext;
|
61
62
|
var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
62
|
-
var
|
63
|
+
var breadcrumbsOverflowAriaLabel = _ref.breadcrumbsOverflowAriaLabel,
|
64
|
+
breadcrumbs = _ref.breadcrumbs,
|
65
|
+
backButtonText = _ref.backButtonText,
|
63
66
|
cancelButtonText = _ref.cancelButtonText,
|
64
67
|
children = _ref.children,
|
65
68
|
className = _ref.className,
|
66
69
|
initialStep = _ref.initialStep,
|
70
|
+
maxVisibleBreadcrumbs = _ref.maxVisibleBreadcrumbs,
|
67
71
|
modalDangerButtonText = _ref.modalDangerButtonText,
|
68
72
|
modalDescription = _ref.modalDescription,
|
69
73
|
modalSecondaryButtonText = _ref.modalSecondaryButtonText,
|
@@ -73,7 +77,9 @@ var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
|
|
73
77
|
onRequestSubmit = _ref.onRequestSubmit,
|
74
78
|
firstFocusElement = _ref.firstFocusElement,
|
75
79
|
submitButtonText = _ref.submitButtonText,
|
80
|
+
noTrailingSlash = _ref.noTrailingSlash,
|
76
81
|
title = _ref.title,
|
82
|
+
secondaryTitle = _ref.secondaryTitle,
|
77
83
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
78
84
|
var _useState = (0, _react.useState)([]),
|
79
85
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
@@ -123,6 +129,11 @@ var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
|
|
123
129
|
_useState22 = (0, _slicedToArray2.default)(_useState21, 2),
|
124
130
|
lastIncludedStep = _useState22[0],
|
125
131
|
setLastIncludedStep = _useState22[1];
|
132
|
+
var _useState23 = (0, _react.useState)(0),
|
133
|
+
_useState24 = (0, _slicedToArray2.default)(_useState23, 2),
|
134
|
+
headerHeight = _useState24[0],
|
135
|
+
setHeaderHeight = _useState24[1];
|
136
|
+
var headerRef = (0, _react.useRef)(null);
|
126
137
|
(0, _react.useEffect)(function () {
|
127
138
|
var firstItem = stepData.findIndex(function (item) {
|
128
139
|
return item === null || item === void 0 ? void 0 : item.shouldIncludeStep;
|
@@ -139,6 +150,13 @@ var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
|
|
139
150
|
setCurrentStep(Number(initialStep + numberOfHiddenSteps));
|
140
151
|
}
|
141
152
|
}, [stepData, firstIncludedStep, lastIncludedStep, initialStep]);
|
153
|
+
(0, _react.useEffect)(function () {
|
154
|
+
var headerHeight = 0;
|
155
|
+
if (title || (breadcrumbs === null || breadcrumbs === void 0 ? void 0 : breadcrumbs.length) > 0) {
|
156
|
+
headerHeight = headerRef.current.getBoundingClientRect().height;
|
157
|
+
}
|
158
|
+
setHeaderHeight(headerHeight);
|
159
|
+
}, [title, breadcrumbs]);
|
142
160
|
(0, _hooks.useCreateComponentFocus)({
|
143
161
|
previousState: previousState,
|
144
162
|
currentStep: currentStep,
|
@@ -180,18 +198,31 @@ var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
|
|
180
198
|
setCreateComponentActions: setCreateFullPageActions,
|
181
199
|
setModalIsOpen: setModalIsOpen
|
182
200
|
});
|
183
|
-
|
184
201
|
// currently, we are not supporting the use of 'view all' toggle state
|
185
202
|
/* istanbul ignore next */
|
186
203
|
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
|
187
204
|
ref: ref,
|
188
205
|
className: (0, _classnames.default)(blockClass, className)
|
189
|
-
}, (0, _devtools.getDevtoolsProps)(componentName)), /*#__PURE__*/_react.default.createElement("div", {
|
206
|
+
}, (0, _devtools.getDevtoolsProps)(componentName)), (title || (breadcrumbs === null || breadcrumbs === void 0 ? void 0 : breadcrumbs.length) > 0) && /*#__PURE__*/_react.default.createElement("div", {
|
207
|
+
className: "".concat(blockClass, "__header"),
|
208
|
+
ref: headerRef
|
209
|
+
}, /*#__PURE__*/_react.default.createElement(_SimpleHeader.SimpleHeader, {
|
210
|
+
title: title,
|
211
|
+
breadcrumbs: breadcrumbs,
|
212
|
+
noTrailingSlash: noTrailingSlash,
|
213
|
+
overflowAriaLabel: breadcrumbsOverflowAriaLabel,
|
214
|
+
maxVisible: maxVisibleBreadcrumbs
|
215
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
216
|
+
className: "".concat(blockClass, "__influencer-and-body-container"),
|
217
|
+
style: {
|
218
|
+
height: "calc(100vh - ".concat(headerHeight, "px)")
|
219
|
+
}
|
220
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
190
221
|
className: "".concat(blockClass, "__influencer")
|
191
222
|
}, /*#__PURE__*/_react.default.createElement(_CreateInfluencer.CreateInfluencer, {
|
192
223
|
stepData: stepData,
|
193
224
|
currentStep: currentStep,
|
194
|
-
title:
|
225
|
+
title: secondaryTitle
|
195
226
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
196
227
|
className: "".concat(blockClass, "__body")
|
197
228
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
@@ -248,7 +279,7 @@ var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
|
|
248
279
|
type: "button",
|
249
280
|
kind: "danger",
|
250
281
|
onClick: onClose
|
251
|
-
}, modalDangerButtonText))));
|
282
|
+
}, modalDangerButtonText)))));
|
252
283
|
});
|
253
284
|
|
254
285
|
// Return a placeholder if not released and not enabled by feature flag.
|
@@ -267,6 +298,23 @@ CreateFullPage.propTypes = {
|
|
267
298
|
* The back button text
|
268
299
|
*/
|
269
300
|
backButtonText: _propTypes.default.string.isRequired,
|
301
|
+
/** The header breadcrumbs */
|
302
|
+
breadcrumbs: _propTypes.default.arrayOf(_propTypes.default.shape({
|
303
|
+
/** breadcrumb item key */
|
304
|
+
key: _propTypes.default.string.isRequired,
|
305
|
+
/** breadcrumb item label */
|
306
|
+
label: _propTypes.default.string.isRequired,
|
307
|
+
/** breadcrumb item link */
|
308
|
+
href: _propTypes.default.string,
|
309
|
+
/** breadcrumb item title tooltip */
|
310
|
+
title: _propTypes.default.string,
|
311
|
+
/** Provide if this breadcrumb item represents the current page */
|
312
|
+
isCurrentPage: _propTypes.default.bool
|
313
|
+
})),
|
314
|
+
/**
|
315
|
+
* Label for open/close overflow button used for breadcrumb items that do not fit
|
316
|
+
*/
|
317
|
+
breadcrumbsOverflowAriaLabel: _SimpleHeader.overflowAriaLabel_required_if_breadcrumbs_exist,
|
270
318
|
/**
|
271
319
|
* The cancel button text
|
272
320
|
*/
|
@@ -289,6 +337,8 @@ CreateFullPage.propTypes = {
|
|
289
337
|
* is now being completed.
|
290
338
|
*/
|
291
339
|
initialStep: _propTypes.default.number,
|
340
|
+
/** Maximum visible breadcrumb-items before overflow is used (values less than 1 are treated as 1) */
|
341
|
+
maxVisibleBreadcrumbs: _propTypes.default.number,
|
292
342
|
/**
|
293
343
|
* The primary 'danger' button text in the modal
|
294
344
|
*/
|
@@ -309,6 +359,10 @@ CreateFullPage.propTypes = {
|
|
309
359
|
* The next button text
|
310
360
|
*/
|
311
361
|
nextButtonText: _propTypes.default.string.isRequired,
|
362
|
+
/**
|
363
|
+
* A prop to omit the trailing slash for the breadcrumbs
|
364
|
+
*/
|
365
|
+
noTrailingSlash: _propTypes.default.bool,
|
312
366
|
/**
|
313
367
|
* An optional handler that is called when the user closes the full page (by
|
314
368
|
* clicking the secondary button, located in the modal, which triggers after
|
@@ -320,6 +374,10 @@ CreateFullPage.propTypes = {
|
|
320
374
|
* This function can _optionally_ return a promise that is either resolved or rejected and the CreateFullPage will handle the submitting state of the create button.
|
321
375
|
*/
|
322
376
|
onRequestSubmit: _propTypes.default.func.isRequired,
|
377
|
+
/**
|
378
|
+
* A secondary title of the full page, displayed in the influencer area
|
379
|
+
*/
|
380
|
+
secondaryTitle: _propTypes.default.string,
|
323
381
|
/**
|
324
382
|
* @ignore
|
325
383
|
* The aria label to be used for the UI Shell SideNav Carbon component
|
@@ -330,7 +388,7 @@ CreateFullPage.propTypes = {
|
|
330
388
|
*/
|
331
389
|
submitButtonText: _propTypes.default.string.isRequired,
|
332
390
|
/**
|
333
|
-
* The main title of the full page, displayed in the
|
391
|
+
* The main title of the full page, displayed in the header area
|
334
392
|
*/
|
335
393
|
title: _propTypes.default.string
|
336
394
|
};
|
@@ -50,7 +50,8 @@ var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
50
50
|
datagridState: datagridState
|
51
51
|
};
|
52
52
|
return /*#__PURE__*/_react.default.createElement(_FilterProvider.FilterProvider, {
|
53
|
-
filters: filters
|
53
|
+
filters: filters,
|
54
|
+
filterProps: filterProps
|
54
55
|
}, /*#__PURE__*/_react.default.createElement(_InlineEditContext.InlineEditProvider, null, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
|
55
56
|
id: tableId,
|
56
57
|
ref: ref,
|
@@ -25,6 +25,8 @@ var _handleGridKeyPress = require("./addons/InlineEdit/handleGridKeyPress");
|
|
25
25
|
var _layout = require("@carbon/layout");
|
26
26
|
var _hooks = require("../../../global/js/hooks");
|
27
27
|
var _hooks2 = require("../../DataSpreadsheet/hooks");
|
28
|
+
var _hooks3 = require("./addons/Filtering/hooks");
|
29
|
+
var _FilterProvider = require("./addons/Filtering/FilterProvider");
|
28
30
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
29
31
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
30
32
|
/**
|
@@ -69,6 +71,7 @@ var DatagridContent = function DatagridContent(_ref) {
|
|
69
71
|
DatagridActions = datagridState.DatagridActions,
|
70
72
|
totalColumnsWidth = datagridState.totalColumnsWidth,
|
71
73
|
gridRef = datagridState.gridRef,
|
74
|
+
setAllFilters = datagridState.setAllFilters,
|
72
75
|
state = datagridState.state,
|
73
76
|
page = datagridState.page,
|
74
77
|
rows = datagridState.rows;
|
@@ -134,6 +137,9 @@ var DatagridContent = function DatagridContent(_ref) {
|
|
134
137
|
gridElement.style.setProperty("--".concat(blockClass, "--grid-header-height"), (0, _layout.px)((tableHeader === null || tableHeader === void 0 ? void 0 : tableHeader.clientHeight) || 0));
|
135
138
|
}
|
136
139
|
}, [withInlineEdit, tableId, totalColumnsWidth, datagridState, gridActive]);
|
140
|
+
(0, _hooks3.useSubscribeToEventEmitter)(_constants.CLEAR_SINGLE_FILTER, function (id) {
|
141
|
+
return (0, _FilterProvider.clearSingleFilter)(id, setAllFilters, state);
|
142
|
+
});
|
137
143
|
var renderFilterSummary = function renderFilterSummary() {
|
138
144
|
return state.filters.length > 0 && /*#__PURE__*/_react.default.createElement(_FilterSummary.FilterSummary, {
|
139
145
|
className: "".concat(blockClass, "__filter-summary"),
|
@@ -38,9 +38,7 @@ var DatagridEmptyBody = function DatagridEmptyBody(datagridState) {
|
|
38
38
|
link: emptyStateLink
|
39
39
|
};
|
40
40
|
var validEmptyStates = ['error', 'noData', 'notFound'];
|
41
|
-
return /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps({
|
42
|
-
role: false
|
43
|
-
}), {
|
41
|
+
return /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
|
44
42
|
className: "".concat(blockClass, "__empty-state-body")
|
45
43
|
}), /*#__PURE__*/_react.default.createElement(_react2.TableRow, null, /*#__PURE__*/_react.default.createElement(_react2.TableCell, {
|
46
44
|
colSpan: headers.length,
|
@@ -15,8 +15,8 @@ var _react2 = require("@carbon/react");
|
|
15
15
|
var _layout = require("@carbon/layout");
|
16
16
|
var _commonColumnIds = require("../common-column-ids");
|
17
17
|
var _settings = require("../../../settings");
|
18
|
-
var _getColTitle = _interopRequireDefault(require("../utils/getColTitle"));
|
19
18
|
var _stateReducer = require("./addons/stateReducer");
|
19
|
+
var _getNodeTextContent = require("../../../global/js/utils/getNodeTextContent");
|
20
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
21
21
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
22
22
|
/**
|
@@ -31,7 +31,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
31
31
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
32
32
|
var getAccessibilityProps = function getAccessibilityProps(header) {
|
33
33
|
var props = {};
|
34
|
-
var title = (0,
|
34
|
+
var title = (0, _getNodeTextContent.getNodeTextContent)(header.Header);
|
35
35
|
if (title) {
|
36
36
|
props.title = title;
|
37
37
|
} else {
|
@@ -101,9 +101,7 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
|
101
101
|
};
|
102
102
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
103
103
|
}, [datagridState.state.isResizing]);
|
104
|
-
return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps({
|
105
|
-
role: false
|
106
|
-
}), {
|
104
|
+
return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps(), {
|
107
105
|
className: (0, _classnames.default)("".concat(blockClass, "__head"), headerGroup.getHeaderGroupProps().className),
|
108
106
|
ref: headRef
|
109
107
|
}), datagridState.headers.filter(function (_ref2) {
|
@@ -28,9 +28,7 @@ var DatagridRefBody = function DatagridRefBody(datagridState) {
|
|
28
28
|
var getTableBodyProps = datagridState.getTableBodyProps,
|
29
29
|
rows = datagridState.rows,
|
30
30
|
prepareRow = datagridState.prepareRow;
|
31
|
-
return /*#__PURE__*/_react.default.createElement("tbody", (0, _extends2.default)({}, getTableBodyProps({
|
32
|
-
role: false
|
33
|
-
}), {
|
31
|
+
return /*#__PURE__*/_react.default.createElement("tbody", (0, _extends2.default)({}, getTableBodyProps(), {
|
34
32
|
className: (0, _classnames.default)("".concat(blockClass, "__simple-body"), getTableBodyProps().className)
|
35
33
|
}), rows.map(function (row) {
|
36
34
|
prepareRow(row);
|
@@ -97,9 +97,7 @@ var DatagridRow = function DatagridRow(datagridState) {
|
|
97
97
|
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
98
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({
|
99
99
|
className: rowClassNames
|
100
|
-
}, row.getRowProps({
|
101
|
-
role: false
|
102
|
-
}), {
|
100
|
+
}, row.getRowProps(), {
|
103
101
|
key: row.id,
|
104
102
|
onMouseEnter: hoverHandler,
|
105
103
|
onMouseLeave: handleMouseLeave,
|
@@ -108,9 +106,7 @@ var DatagridRow = function DatagridRow(datagridState) {
|
|
108
106
|
onKeyUp: handleOnKeyUp
|
109
107
|
}), row.cells.map(function (cell, index) {
|
110
108
|
var _cell$column;
|
111
|
-
var cellProps = cell.getCellProps(
|
112
|
-
role: false
|
113
|
-
});
|
109
|
+
var cellProps = cell.getCellProps();
|
114
110
|
var children = cellProps.children,
|
115
111
|
restProps = (0, _objectWithoutProperties2.default)(cellProps, _excluded);
|
116
112
|
var content = children || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !row.isSkeleton && cell.render('Cell'), row.isSkeleton && /*#__PURE__*/_react.default.createElement(_react2.SkeletonText, null));
|
@@ -60,11 +60,23 @@ var SelectAll = function SelectAll(datagridState) {
|
|
60
60
|
var _getProps = getProps(),
|
61
61
|
onChange = _getProps.onChange,
|
62
62
|
selectProps = (0, _objectWithoutProperties2.default)(_getProps, _excluded);
|
63
|
+
var _ref = selectProps || {},
|
64
|
+
indeterminate = _ref.indeterminate;
|
65
|
+
var handleSelectAllChange = function handleSelectAllChange(event) {
|
66
|
+
if (indeterminate) {
|
67
|
+
return onChange === null || onChange === void 0 ? void 0 : onChange({
|
68
|
+
target: {
|
69
|
+
checked: false
|
70
|
+
}
|
71
|
+
});
|
72
|
+
}
|
73
|
+
return onChange === null || onChange === void 0 ? void 0 : onChange(event);
|
74
|
+
};
|
63
75
|
return /*#__PURE__*/_react.default.createElement("div", {
|
64
76
|
className: (0, _classnames.default)("".concat(blockClass, "__head-select-all"), "".concat(blockClass, "__checkbox-cell"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__checkbox-cell-sticky-left"), isFirstColumnStickyLeft && windowSize > 671))
|
65
77
|
}, /*#__PURE__*/_react.default.createElement(_react2.TableSelectAll, (0, _extends2.default)({}, selectProps, {
|
66
78
|
name: "".concat(tableId, "-select-all-checkbox-name"),
|
67
|
-
onSelect:
|
79
|
+
onSelect: handleSelectAllChange,
|
68
80
|
disabled: isFetching || selectProps.disabled,
|
69
81
|
id: "".concat(tableId, "-select-all-checkbox-id")
|
70
82
|
})));
|
@@ -24,9 +24,7 @@ var DatagridSimpleBody = function DatagridSimpleBody(datagridState) {
|
|
24
24
|
var getTableBodyProps = datagridState.getTableBodyProps,
|
25
25
|
rows = datagridState.rows,
|
26
26
|
prepareRow = datagridState.prepareRow;
|
27
|
-
return /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps({
|
28
|
-
role: false
|
29
|
-
}), {
|
27
|
+
return /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
|
30
28
|
className: (0, _classnames.default)("".concat(blockClass, "__simple-body"), getTableBodyProps().className)
|
31
29
|
}), rows.map(function (row) {
|
32
30
|
prepareRow(row);
|
@@ -81,9 +81,7 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
|
81
81
|
width: (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 ? void 0 : _gridRef$current.clientWidth,
|
82
82
|
overflow: 'hidden'
|
83
83
|
}
|
84
|
-
}, /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState)), /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps({
|
85
|
-
role: false
|
86
|
-
}), {
|
84
|
+
}, /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState)), /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
|
87
85
|
onScroll: function onScroll(e) {
|
88
86
|
return syncScroll(e);
|
89
87
|
}
|
@@ -6,15 +6,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
});
|
7
7
|
exports.DraggableItemsList = void 0;
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
9
10
|
var _react = _interopRequireDefault(require("react"));
|
10
11
|
var _propTypes = require("prop-types");
|
11
12
|
var _react2 = require("@carbon/react");
|
12
13
|
var _common = require("./common");
|
13
14
|
var _DraggableElement = _interopRequireDefault(require("../../DraggableElement"));
|
14
15
|
var _settings = require("../../../../../settings");
|
15
|
-
var _getColTitle2 = _interopRequireDefault(require("../../../utils/getColTitle"));
|
16
16
|
var _core = require("@dnd-kit/core");
|
17
17
|
var _sortable = require("@dnd-kit/sortable");
|
18
|
+
var _getNodeTextContent = require("../../../../../global/js/utils/getNodeTextContent");
|
18
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; }
|
19
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; } /**
|
20
21
|
* Copyright IBM Corp. 2023, 2023
|
@@ -37,26 +38,47 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
|
|
37
38
|
var visibleCols = columns
|
38
39
|
// hide the columns without Header, e.g the sticky actions, spacer
|
39
40
|
.filter(function (colDef) {
|
40
|
-
return
|
41
|
+
return (0, _getNodeTextContent.getNodeTextContent)(colDef.Header).trim().length !== 0;
|
41
42
|
}).filter(Boolean).filter(function (colDef) {
|
42
43
|
return !colDef.isAction;
|
43
44
|
}).filter(function (colDef) {
|
44
|
-
|
45
|
-
|
45
|
+
return colDef.id !== 'spacer';
|
46
|
+
}).filter(function (colDef) {
|
47
|
+
return filterString.length === 0 || (0, _getNodeTextContent.getNodeTextContent)(colDef.Header).toLowerCase().includes(filterString);
|
46
48
|
});
|
49
|
+
var getUpdatedDragCols = function getUpdatedDragCols() {
|
50
|
+
var tempCols = (0, _toConsumableArray2.default)(visibleCols);
|
51
|
+
tempCols.forEach(function (col) {
|
52
|
+
if (col.sticky) {
|
53
|
+
col.disabled = true;
|
54
|
+
}
|
55
|
+
});
|
56
|
+
return tempCols;
|
57
|
+
};
|
58
|
+
var updatedDragCols = getUpdatedDragCols();
|
47
59
|
|
48
60
|
// let localRefCopy;
|
49
61
|
var handleDragEnd = function handleDragEnd(event) {
|
62
|
+
var _destOverCol$;
|
50
63
|
var active = event.active,
|
51
64
|
over = event.over;
|
65
|
+
|
66
|
+
// Stop any re-ordering updates if the destination column is disabled
|
67
|
+
// ie: it is a frozen column.
|
68
|
+
var destOverCol = updatedDragCols.filter(function (item) {
|
69
|
+
return item.id === over.id;
|
70
|
+
});
|
71
|
+
if (destOverCol !== null && destOverCol !== void 0 && destOverCol.length && (_destOverCol$ = destOverCol[0]) !== null && _destOverCol$ !== void 0 && _destOverCol$.disabled) {
|
72
|
+
return;
|
73
|
+
}
|
52
74
|
var fromVisibleIndex = columns.findIndex(function (col) {
|
53
75
|
return matchedColsById(col, active);
|
54
76
|
});
|
55
77
|
var toVisibleIndex = columns.findIndex(function (col) {
|
56
78
|
return matchedColsById(col, over);
|
57
79
|
});
|
58
|
-
var colTitle = (0,
|
59
|
-
setAriaRegionText("".concat(colTitle, " dropped. New position ").concat(toVisibleIndex + 1, " of ").concat(
|
80
|
+
var colTitle = (0, _getNodeTextContent.getNodeTextContent)(updatedDragCols[fromVisibleIndex].Header);
|
81
|
+
setAriaRegionText("".concat(colTitle, " dropped. New position ").concat(toVisibleIndex + 1, " of ").concat(updatedDragCols.length, "."));
|
60
82
|
var fromIndex = columns.findIndex(function (col) {
|
61
83
|
return matchedColsById(col, active);
|
62
84
|
});
|
@@ -67,23 +89,23 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
|
|
67
89
|
};
|
68
90
|
var handleDragStart = function handleDragStart(event) {
|
69
91
|
var active = event.active;
|
70
|
-
var fromIndex =
|
92
|
+
var fromIndex = updatedDragCols.findIndex(function (col) {
|
71
93
|
return matchedColsById(col, active);
|
72
94
|
});
|
73
|
-
var colTitle = (0,
|
74
|
-
setAriaRegionText("".concat(colTitle, " grabbed. Current position ").concat(fromIndex + 1, " of ").concat(
|
95
|
+
var colTitle = (0, _getNodeTextContent.getNodeTextContent)(updatedDragCols[fromIndex].Header);
|
96
|
+
setAriaRegionText("".concat(colTitle, " grabbed. Current position ").concat(fromIndex + 1, " of ").concat(updatedDragCols.length, "."));
|
75
97
|
};
|
76
98
|
var handleDragUpdate = function handleDragUpdate(event) {
|
77
99
|
var active = event.active,
|
78
100
|
over = event.over;
|
79
|
-
var fromIndex =
|
101
|
+
var fromIndex = updatedDragCols.findIndex(function (col) {
|
80
102
|
return matchedColsById(col, active);
|
81
103
|
});
|
82
|
-
var toIndex =
|
104
|
+
var toIndex = updatedDragCols.findIndex(function (col) {
|
83
105
|
return matchedColsById(col, over);
|
84
106
|
});
|
85
|
-
var colTitle = (0,
|
86
|
-
setAriaRegionText("".concat(colTitle, " grabbed. Original position ").concat(fromIndex + 1, ", new position ").concat(toIndex + 1, " of ").concat(
|
107
|
+
var colTitle = (0, _getNodeTextContent.getNodeTextContent)(updatedDragCols[fromIndex].Header);
|
108
|
+
setAriaRegionText("".concat(colTitle, " grabbed. Original position ").concat(fromIndex + 1, ", new position ").concat(toIndex + 1, " of ").concat(updatedDragCols.length, "."));
|
87
109
|
};
|
88
110
|
var pointerSensor = (0, _core.useSensor)(_core.PointerSensor, {
|
89
111
|
// Require the mouse to move by 10 pixels before activating
|
@@ -142,10 +164,10 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
|
|
142
164
|
key: colDef.id
|
143
165
|
});
|
144
166
|
})), /*#__PURE__*/_react.default.createElement(_sortable.SortableContext, {
|
145
|
-
items:
|
167
|
+
items: updatedDragCols,
|
146
168
|
strategy: _sortable.verticalListSortingStrategy
|
147
169
|
}, visibleCols.map(function (colDef) {
|
148
|
-
var colHeaderTitle = (0,
|
170
|
+
var colHeaderTitle = (0, _getNodeTextContent.getNodeTextContent)(colDef.Header);
|
149
171
|
var searchString = new RegExp('(' + filterString + ')');
|
150
172
|
var res = filterString.length ? colHeaderTitle.toLowerCase().split(searchString) : null;
|
151
173
|
var firstWord = res !== null ? res[0] === '' ? res[1].charAt(0).toUpperCase() + res[1].substring(1) : res[0].charAt(0).toUpperCase() + res[0].substring(1) : null;
|