@carbon/ibm-products 1.27.0 → 1.32.0
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.
- package/css/index-full-carbon.css +570 -80
- 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 +942 -23
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +3 -3
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +569 -79
- 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 +570 -80
- 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/AddSelect/AddSelect.js +0 -3
- package/es/components/AddSelect/AddSelectBody.js +20 -3
- package/es/components/AddSelect/AddSelectBreadcrumbs.js +11 -3
- package/es/components/AddSelect/AddSelectColumn.js +4 -3
- package/es/components/AddSelect/AddSelectFilter.js +4 -3
- package/es/components/AddSelect/AddSelectList.js +40 -14
- package/es/components/Card/Card.js +16 -6
- package/es/components/Card/CardFooter.js +3 -1
- package/es/components/Card/CardHeader.js +20 -1
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +63 -11
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
- package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +31 -0
- package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
- package/es/components/Datagrid/Datagrid/Datagrid.js +10 -38
- package/es/components/Datagrid/Datagrid/DatagridContent.js +127 -0
- package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
- package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +10 -3
- package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +12 -3
- package/es/components/Datagrid/Datagrid/DraggableElement.js +5 -1
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +5 -40
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +35 -10
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +61 -24
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +60 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +1 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +467 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +1 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +112 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +27 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +1 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +39 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +19 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +263 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +66 -0
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +6 -5
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +1 -2
- package/es/components/Datagrid/index.js +3 -1
- package/es/components/Datagrid/useActionsColumn.js +28 -12
- package/es/components/Datagrid/useColumnOrder.js +8 -0
- package/es/components/Datagrid/useCustomizeColumns.js +5 -0
- package/es/components/Datagrid/useDisableSelectRows.js +6 -2
- package/es/components/Datagrid/useExpandedRow.js +0 -1
- package/es/components/Datagrid/useInlineEdit.js +71 -0
- package/es/components/Datagrid/useNestedRowExpander.js +42 -0
- package/es/components/Datagrid/useNestedRows.js +2 -2
- package/es/components/Datagrid/useRowSize.js +17 -6
- package/es/components/Datagrid/useSelectAllToggle.js +17 -4
- package/es/components/Datagrid/useSelectRows.js +12 -2
- package/es/components/Datagrid/useStickyColumn.js +11 -0
- package/es/components/Datagrid/utils/DatagridActions.js +121 -0
- package/es/components/Datagrid/utils/DatagridPagination.js +33 -0
- package/es/components/Datagrid/utils/Wrapper.js +21 -0
- package/es/components/Datagrid/utils/getArgTypes.js +85 -0
- package/es/components/Datagrid/utils/getInlineEditColumns.js +121 -0
- package/es/components/Datagrid/utils/makeData.js +17 -1
- package/es/components/ImportModal/ImportModal.js +2 -2
- package/es/components/InlineEdit/InlineEdit.js +4 -2
- package/es/components/ProductiveCard/ProductiveCard.js +5 -0
- package/es/components/index.js +1 -1
- package/es/global/js/hooks/useClickOutside.js +1 -1
- package/es/global/js/package-settings.js +3 -3
- package/es/global/js/utils/rangeWithCallback.js +13 -0
- package/es/global/js/utils/story-helper.js +5 -1
- package/es/global/js/utils/uuidv4.spec.js +4 -0
- package/lib/components/AddSelect/AddSelect.js +0 -4
- package/lib/components/AddSelect/AddSelectBody.js +20 -3
- package/lib/components/AddSelect/AddSelectBreadcrumbs.js +14 -3
- package/lib/components/AddSelect/AddSelectColumn.js +3 -2
- package/lib/components/AddSelect/AddSelectFilter.js +3 -2
- package/lib/components/AddSelect/AddSelectList.js +39 -13
- package/lib/components/Card/Card.js +16 -6
- package/lib/components/Card/CardFooter.js +3 -1
- package/lib/components/Card/CardHeader.js +21 -1
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +63 -10
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
- package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +42 -0
- package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
- package/lib/components/Datagrid/Datagrid/Datagrid.js +12 -45
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +160 -0
- package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
- package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +12 -3
- package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +14 -3
- package/lib/components/Datagrid/Datagrid/DraggableElement.js +5 -1
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +12 -41
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +47 -25
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +59 -23
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +76 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +13 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +491 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +13 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +129 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +36 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +19 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +45 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +28 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +272 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +78 -0
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +6 -5
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +1 -2
- package/lib/components/Datagrid/index.js +17 -1
- package/lib/components/Datagrid/useActionsColumn.js +28 -13
- package/lib/components/Datagrid/useColumnOrder.js +17 -0
- package/lib/components/Datagrid/useCustomizeColumns.js +5 -0
- package/lib/components/Datagrid/useDisableSelectRows.js +6 -2
- package/lib/components/Datagrid/useExpandedRow.js +0 -1
- package/lib/components/Datagrid/useInlineEdit.js +85 -0
- package/lib/components/Datagrid/useNestedRowExpander.js +57 -0
- package/lib/components/Datagrid/useNestedRows.js +3 -3
- package/lib/components/Datagrid/useRowSize.js +18 -13
- package/lib/components/Datagrid/useSelectAllToggle.js +18 -4
- package/lib/components/Datagrid/useSelectRows.js +12 -2
- package/lib/components/Datagrid/useStickyColumn.js +11 -0
- package/lib/components/Datagrid/utils/DatagridActions.js +139 -0
- package/lib/components/Datagrid/utils/DatagridPagination.js +46 -0
- package/lib/components/Datagrid/utils/Wrapper.js +33 -0
- package/lib/components/Datagrid/utils/getArgTypes.js +93 -0
- package/lib/components/Datagrid/utils/getInlineEditColumns.js +133 -0
- package/lib/components/Datagrid/utils/makeData.js +17 -1
- package/lib/components/ImportModal/ImportModal.js +2 -2
- package/lib/components/InlineEdit/InlineEdit.js +4 -2
- package/lib/components/ProductiveCard/ProductiveCard.js +5 -0
- package/lib/components/index.js +12 -0
- package/lib/global/js/hooks/useClickOutside.js +1 -1
- package/lib/global/js/package-settings.js +3 -3
- package/lib/global/js/utils/rangeWithCallback.js +22 -0
- package/lib/global/js/utils/story-helper.js +5 -1
- package/lib/global/js/utils/uuidv4.spec.js +4 -0
- package/package.json +13 -13
- package/scss/components/AddSelect/_add-select.scss +126 -28
- package/scss/components/Card/_card.scss +1 -0
- package/scss/components/Cascade/_cascade.scss +1 -1
- package/scss/components/CreateTearsheet/_create-tearsheet.scss +1 -0
- package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +18 -1
- package/scss/components/Datagrid/_storybook-styles.scss +1 -1
- package/scss/components/Datagrid/styles/_datagrid.scss +27 -4
- package/scss/components/Datagrid/styles/_draggableElement.scss +26 -9
- package/scss/components/Datagrid/styles/_index.scss +1 -0
- package/scss/components/Datagrid/styles/_useActionsColumn.scss +12 -0
- package/scss/components/Datagrid/styles/_useExpandedRow.scss +30 -0
- package/scss/components/Datagrid/styles/_useInlineEdit.scss +211 -0
- package/scss/components/Datagrid/styles/_useNestedRows.scss +15 -1
- package/scss/components/Datagrid/styles/_useStickyColumn.scss +30 -2
- package/scss/components/Datagrid/styles/addons/_CustomizeColumnsModal.scss +44 -6
- package/scss/components/NotificationsPanel/_notifications-panel.scss +5 -6
- package/scss/components/ProductiveCard/_productive-card.scss +39 -0
- package/scss/components/RemoveModal/_remove-modal.scss +0 -4
- package/scss/components/SidePanel/_side-panel.scss +4 -6
- package/scss/components/_index-released-only.scss +1 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
3
|
var _excluded = ["datagridState"];
|
|
5
4
|
|
|
@@ -11,21 +10,15 @@ var _excluded = ["datagridState"];
|
|
|
11
10
|
*/
|
|
12
11
|
import React from 'react';
|
|
13
12
|
import PropTypes from 'prop-types';
|
|
14
|
-
import { DataTable } from 'carbon-components-react';
|
|
15
13
|
import cx from 'classnames';
|
|
16
|
-
import DatagridHead from './DatagridHead';
|
|
17
|
-
import DatagridBody from './DatagridBody';
|
|
18
|
-
import DatagridToolbar from './DatagridToolbar';
|
|
19
14
|
import { getDevtoolsProps } from '../../../global/js/utils/devtools';
|
|
20
15
|
import { pkg } from '../../../settings';
|
|
21
16
|
import pconsole from '../../../global/js/utils/pconsole';
|
|
17
|
+
import { InlineEditProvider } from './addons/InlineEdit/InlineEditContext';
|
|
18
|
+
import { DatagridContent } from './DatagridContent';
|
|
22
19
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
|
23
20
|
var componentName = 'Datagrid';
|
|
24
|
-
var TableContainer = DataTable.TableContainer,
|
|
25
|
-
Table = DataTable.Table;
|
|
26
21
|
export var Datagrid = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
27
|
-
var _getTableProps;
|
|
28
|
-
|
|
29
22
|
var datagridState = _ref.datagridState,
|
|
30
23
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
31
24
|
|
|
@@ -34,45 +27,24 @@ export var Datagrid = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
34
27
|
return null;
|
|
35
28
|
}
|
|
36
29
|
|
|
37
|
-
var
|
|
38
|
-
getTableProps = _datagridState$getTab === void 0 ? function () {} : _datagridState$getTab,
|
|
39
|
-
withVirtualScroll = datagridState.withVirtualScroll,
|
|
30
|
+
var withVirtualScroll = datagridState.withVirtualScroll,
|
|
40
31
|
DatagridPagination = datagridState.DatagridPagination,
|
|
41
32
|
isFetching = datagridState.isFetching,
|
|
42
33
|
tableId = datagridState.tableId,
|
|
43
|
-
CustomizeColumnsModal = datagridState.CustomizeColumnsModal,
|
|
44
34
|
leftPanel = datagridState.leftPanel,
|
|
45
|
-
|
|
46
|
-
_datagridState$vertic = datagridState.verticalAlign,
|
|
47
|
-
verticalAlign = _datagridState$vertic === void 0 ? 'center' : _datagridState$vertic,
|
|
48
|
-
variableRowHeight = datagridState.variableRowHeight,
|
|
49
|
-
className = datagridState.className,
|
|
50
|
-
gridTitle = datagridState.gridTitle,
|
|
51
|
-
gridDescription = datagridState.gridDescription,
|
|
52
|
-
useDenseHeader = datagridState.useDenseHeader;
|
|
35
|
+
className = datagridState.className;
|
|
53
36
|
var rows = DatagridPagination && datagridState.page || datagridState.rows;
|
|
54
|
-
|
|
55
|
-
className: cx("".concat(blockClass, "__grid-container"), withVirtualScroll || fullHeightDatagrid ? "".concat(blockClass, "__full-height") : '', DatagridPagination ? "".concat(blockClass, "__with-pagination") : '', useDenseHeader ? "".concat(blockClass, "__dense-header") : ''),
|
|
56
|
-
title: gridTitle,
|
|
57
|
-
description: gridDescription
|
|
58
|
-
}, /*#__PURE__*/React.createElement(DatagridToolbar, datagridState), /*#__PURE__*/React.createElement("div", {
|
|
59
|
-
className: "".concat(blockClass, "__table-container")
|
|
60
|
-
}, leftPanel && leftPanel.isOpen && /*#__PURE__*/React.createElement("div", {
|
|
61
|
-
className: "".concat(blockClass, "__datagridLeftPanel")
|
|
62
|
-
}, leftPanel.panelContent), /*#__PURE__*/React.createElement(Table, _extends({}, getTableProps(), {
|
|
63
|
-
className: cx(withVirtualScroll ? '' : "".concat(blockClass, "__table-simple"), "".concat(blockClass, "__vertical-align-").concat(verticalAlign), _defineProperty({}, "".concat(blockClass, "__variable-row-height"), variableRowHeight), (_getTableProps = getTableProps()) === null || _getTableProps === void 0 ? void 0 : _getTableProps.className)
|
|
64
|
-
}), /*#__PURE__*/React.createElement(DatagridHead, datagridState), /*#__PURE__*/React.createElement(DatagridBody, _extends({}, datagridState, {
|
|
65
|
-
rows: rows
|
|
66
|
-
}))))), (rows === null || rows === void 0 ? void 0 : rows.length) > 0 && !isFetching && DatagridPagination && DatagridPagination(datagridState), CustomizeColumnsModal && /*#__PURE__*/React.createElement(CustomizeColumnsModal, {
|
|
67
|
-
instance: datagridState
|
|
68
|
-
}));
|
|
69
|
-
return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
37
|
+
return /*#__PURE__*/React.createElement(InlineEditProvider, null, /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
70
38
|
id: tableId,
|
|
71
39
|
ref: ref,
|
|
72
40
|
className: cx(className, blockClass, withVirtualScroll ? "".concat(blockClass, "__datagridWrap") : "".concat(blockClass, "__datagridWrap-simple"), !isFetching && rows.length === 0 ? "".concat(blockClass, "__empty-state") : '')
|
|
73
41
|
}, getDevtoolsProps(componentName)), leftPanel && /*#__PURE__*/React.createElement("div", {
|
|
74
42
|
className: "".concat(blockClass, "__datagridWithPanel ").concat(blockClass, "__displayFlex ").concat(blockClass, "__leftPanel-position")
|
|
75
|
-
},
|
|
43
|
+
}, /*#__PURE__*/React.createElement(DatagridContent, {
|
|
44
|
+
datagridState: datagridState
|
|
45
|
+
})), leftPanel === undefined && /*#__PURE__*/React.createElement(DatagridContent, {
|
|
46
|
+
datagridState: datagridState
|
|
47
|
+
})));
|
|
76
48
|
}); // Return a placeholder if not released and not enabled by feature flag
|
|
77
49
|
|
|
78
50
|
Datagrid = pkg.checkComponentEnabled(Datagrid, componentName); // The display name of the component, used by React. Note that displayName
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
import React, { useContext, useRef } from 'react';
|
|
4
|
+
import cx from 'classnames';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import { DataTable } from 'carbon-components-react';
|
|
7
|
+
import DatagridHead from './DatagridHead';
|
|
8
|
+
import DatagridBody from './DatagridBody';
|
|
9
|
+
import DatagridToolbar from './DatagridToolbar';
|
|
10
|
+
import { handleGridKeyPress } from './addons/InlineEdit/handleGridKeyPress';
|
|
11
|
+
import { pkg } from '../../../settings';
|
|
12
|
+
import { InlineEditContext } from './addons/InlineEdit/InlineEditContext';
|
|
13
|
+
import { handleGridFocus } from './addons/InlineEdit/handleGridFocus';
|
|
14
|
+
import { useClickOutside } from '../../../global/js/hooks';
|
|
15
|
+
import { useMultipleKeyTracking } from '../../DataSpreadsheet/hooks';
|
|
16
|
+
var TableContainer = DataTable.TableContainer,
|
|
17
|
+
Table = DataTable.Table;
|
|
18
|
+
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
|
19
|
+
export var DatagridContent = function DatagridContent(_ref) {
|
|
20
|
+
var _getTableProps;
|
|
21
|
+
|
|
22
|
+
var datagridState = _ref.datagridState;
|
|
23
|
+
|
|
24
|
+
var _useContext = useContext(InlineEditContext),
|
|
25
|
+
state = _useContext.state,
|
|
26
|
+
dispatch = _useContext.dispatch;
|
|
27
|
+
|
|
28
|
+
var activeCellId = state.activeCellId;
|
|
29
|
+
var _datagridState$getTab = datagridState.getTableProps,
|
|
30
|
+
getTableProps = _datagridState$getTab === void 0 ? function () {} : _datagridState$getTab,
|
|
31
|
+
withVirtualScroll = datagridState.withVirtualScroll,
|
|
32
|
+
DatagridPagination = datagridState.DatagridPagination,
|
|
33
|
+
isFetching = datagridState.isFetching,
|
|
34
|
+
CustomizeColumnsModal = datagridState.CustomizeColumnsModal,
|
|
35
|
+
leftPanel = datagridState.leftPanel,
|
|
36
|
+
fullHeightDatagrid = datagridState.fullHeightDatagrid,
|
|
37
|
+
_datagridState$vertic = datagridState.verticalAlign,
|
|
38
|
+
verticalAlign = _datagridState$vertic === void 0 ? 'center' : _datagridState$vertic,
|
|
39
|
+
variableRowHeight = datagridState.variableRowHeight,
|
|
40
|
+
gridTitle = datagridState.gridTitle,
|
|
41
|
+
gridDescription = datagridState.gridDescription,
|
|
42
|
+
useDenseHeader = datagridState.useDenseHeader,
|
|
43
|
+
withInlineEdit = datagridState.withInlineEdit;
|
|
44
|
+
var rows = DatagridPagination && datagridState.page || datagridState.rows;
|
|
45
|
+
var gridActive = state.gridActive,
|
|
46
|
+
editId = state.editId;
|
|
47
|
+
var gridAreaRef = useRef();
|
|
48
|
+
var multiKeyTrackingRef = useRef();
|
|
49
|
+
useClickOutside(gridAreaRef, function (target) {
|
|
50
|
+
if (!withInlineEdit) {
|
|
51
|
+
return;
|
|
52
|
+
} // We return from here if we find a parent element with the selector below
|
|
53
|
+
// because that element was initially part of the grid area but was removed
|
|
54
|
+
// and swapped out with an input, i.e. text, number, selection, or date picker
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
if (target.closest(".".concat(blockClass, "__inline-edit-button")) || target.closest(".".concat(blockClass, "__inline-edit--select"))) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
dispatch({
|
|
62
|
+
type: 'REMOVE_GRID_ACTIVE_FOCUS',
|
|
63
|
+
payload: activeCellId
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
var _useMultipleKeyTracki = useMultipleKeyTracking({
|
|
68
|
+
ref: multiKeyTrackingRef,
|
|
69
|
+
containerHasFocus: gridActive,
|
|
70
|
+
isEditing: !!editId
|
|
71
|
+
}),
|
|
72
|
+
keysPressedList = _useMultipleKeyTracki.keysPressedList,
|
|
73
|
+
usingMac = _useMultipleKeyTracki.usingMac;
|
|
74
|
+
|
|
75
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TableContainer, {
|
|
76
|
+
className: cx("".concat(blockClass, "__grid-container"), withVirtualScroll || fullHeightDatagrid ? "".concat(blockClass, "__full-height") : '', DatagridPagination ? "".concat(blockClass, "__with-pagination") : '', useDenseHeader ? "".concat(blockClass, "__dense-header") : ''),
|
|
77
|
+
title: gridTitle,
|
|
78
|
+
description: gridDescription
|
|
79
|
+
}, /*#__PURE__*/React.createElement(DatagridToolbar, datagridState), /*#__PURE__*/React.createElement("div", {
|
|
80
|
+
className: "".concat(blockClass, "__table-container"),
|
|
81
|
+
ref: gridAreaRef
|
|
82
|
+
}, leftPanel && leftPanel.isOpen && /*#__PURE__*/React.createElement("div", {
|
|
83
|
+
className: "".concat(blockClass, "__datagridLeftPanel")
|
|
84
|
+
}, leftPanel.panelContent), /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
ref: multiKeyTrackingRef
|
|
86
|
+
}, /*#__PURE__*/React.createElement(Table, _extends({}, getTableProps(), {
|
|
87
|
+
className: cx(withVirtualScroll ? '' : "".concat(blockClass, "__table-simple"), "".concat(blockClass, "__vertical-align-").concat(verticalAlign), _defineProperty({}, "".concat(blockClass, "__variable-row-height"), variableRowHeight), _defineProperty({}, "".concat(blockClass, "__table-with-inline-edit"), withInlineEdit), _defineProperty({}, "".concat(blockClass, "__table-grid-active"), gridActive), (_getTableProps = getTableProps()) === null || _getTableProps === void 0 ? void 0 : _getTableProps.className),
|
|
88
|
+
role: withInlineEdit && 'grid',
|
|
89
|
+
tabIndex: withInlineEdit && 0,
|
|
90
|
+
onKeyDown: withInlineEdit ? function (event) {
|
|
91
|
+
return handleGridKeyPress({
|
|
92
|
+
event: event,
|
|
93
|
+
dispatch: dispatch,
|
|
94
|
+
state: state,
|
|
95
|
+
instance: datagridState,
|
|
96
|
+
keysPressedList: keysPressedList,
|
|
97
|
+
usingMac: usingMac
|
|
98
|
+
});
|
|
99
|
+
} : null,
|
|
100
|
+
onFocus: withInlineEdit ? function () {
|
|
101
|
+
return handleGridFocus(state, dispatch);
|
|
102
|
+
} : null
|
|
103
|
+
}), /*#__PURE__*/React.createElement(DatagridHead, datagridState), /*#__PURE__*/React.createElement(DatagridBody, _extends({}, datagridState, {
|
|
104
|
+
rows: rows
|
|
105
|
+
})))))), (rows === null || rows === void 0 ? void 0 : rows.length) > 0 && !isFetching && DatagridPagination && DatagridPagination(datagridState), CustomizeColumnsModal && /*#__PURE__*/React.createElement(CustomizeColumnsModal, {
|
|
106
|
+
instance: datagridState
|
|
107
|
+
}));
|
|
108
|
+
};
|
|
109
|
+
DatagridContent.propTypes = {
|
|
110
|
+
datagridState: PropTypes.shape({
|
|
111
|
+
getTableProps: PropTypes.func,
|
|
112
|
+
withVirtualScroll: PropTypes.bool,
|
|
113
|
+
DatagridPagination: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),
|
|
114
|
+
CustomizeColumnsModal: PropTypes.element,
|
|
115
|
+
isFetching: PropTypes.bool,
|
|
116
|
+
leftPanel: PropTypes.object,
|
|
117
|
+
fullHeightDatagrid: PropTypes.bool,
|
|
118
|
+
variableRowHeight: PropTypes.bool,
|
|
119
|
+
useDenseHeader: PropTypes.bool,
|
|
120
|
+
withInlineEdit: PropTypes.bool,
|
|
121
|
+
verticalAlign: PropTypes.string,
|
|
122
|
+
gridTitle: PropTypes.node,
|
|
123
|
+
gridDescription: PropTypes.node,
|
|
124
|
+
page: PropTypes.arrayOf(PropTypes.object),
|
|
125
|
+
rows: PropTypes.arrayOf(PropTypes.object)
|
|
126
|
+
})
|
|
127
|
+
};
|
|
@@ -13,13 +13,21 @@ var DatagridExpandedRow = function DatagridExpandedRow(PreviousRowRenderer, Expa
|
|
|
13
13
|
return function (datagridState) {
|
|
14
14
|
var row = datagridState.row;
|
|
15
15
|
|
|
16
|
+
var _ref = row || {},
|
|
17
|
+
expandedContentHeight = _ref.expandedContentHeight;
|
|
18
|
+
|
|
16
19
|
if (!row.isExpanded) {
|
|
17
20
|
return PreviousRowRenderer(datagridState);
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
return /*#__PURE__*/React.createElement("div", {
|
|
21
24
|
className: "".concat(blockClass, "__expanded-row")
|
|
22
|
-
}, PreviousRowRenderer(datagridState),
|
|
25
|
+
}, PreviousRowRenderer(datagridState), /*#__PURE__*/React.createElement("div", {
|
|
26
|
+
className: "".concat(blockClass, "__expanded-row-content"),
|
|
27
|
+
style: {
|
|
28
|
+
height: expandedContentHeight ? expandedContentHeight : null
|
|
29
|
+
}
|
|
30
|
+
}, ExpandedRowContentComponent(datagridState)));
|
|
23
31
|
};
|
|
24
32
|
};
|
|
25
33
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
4
|
var _excluded = ["onChange"];
|
|
4
5
|
|
|
5
6
|
/*
|
|
@@ -12,21 +13,27 @@ var _excluded = ["onChange"];
|
|
|
12
13
|
// @flow
|
|
13
14
|
import React from 'react';
|
|
14
15
|
import { DataTable } from 'carbon-components-react';
|
|
16
|
+
import cx from 'classnames';
|
|
15
17
|
import { pkg } from '../../../settings';
|
|
16
18
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
|
17
19
|
|
|
18
20
|
var SelectAll = function SelectAll(datagridState) {
|
|
21
|
+
var _columns$;
|
|
22
|
+
|
|
19
23
|
var isFetching = datagridState.isFetching,
|
|
20
24
|
getToggleAllRowsSelectedProps = datagridState.getToggleAllRowsSelectedProps,
|
|
21
25
|
getToggleAllPageRowsSelectedProps = datagridState.getToggleAllPageRowsSelectedProps,
|
|
22
26
|
tableId = datagridState.tableId,
|
|
23
27
|
hideSelectAll = datagridState.hideSelectAll,
|
|
24
28
|
DatagridPagination = datagridState.DatagridPagination,
|
|
25
|
-
radio = datagridState.radio
|
|
29
|
+
radio = datagridState.radio,
|
|
30
|
+
columns = datagridState.columns,
|
|
31
|
+
withStickyColumn = datagridState.withStickyColumn;
|
|
32
|
+
var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
|
|
26
33
|
|
|
27
34
|
if (hideSelectAll || radio) {
|
|
28
35
|
return /*#__PURE__*/React.createElement("div", {
|
|
29
|
-
className: "".concat(blockClass, "__head-hidden-select-all")
|
|
36
|
+
className: cx("".concat(blockClass, "__head-hidden-select-all"), _defineProperty({}, "".concat(blockClass, "__select-all-sticky-left"), isFirstColumnStickyLeft))
|
|
30
37
|
});
|
|
31
38
|
}
|
|
32
39
|
|
|
@@ -37,7 +44,7 @@ var SelectAll = function SelectAll(datagridState) {
|
|
|
37
44
|
selectProps = _objectWithoutProperties(_getProps, _excluded);
|
|
38
45
|
|
|
39
46
|
return /*#__PURE__*/React.createElement("div", {
|
|
40
|
-
className: "".concat(blockClass, "__head-select-all ").concat(blockClass, "__checkbox-cell")
|
|
47
|
+
className: cx("".concat(blockClass, "__head-select-all"), "".concat(blockClass, "__checkbox-cell"), _defineProperty({}, "".concat(blockClass, "__checkbox-cell-sticky-left"), isFirstColumnStickyLeft))
|
|
41
48
|
}, /*#__PURE__*/React.createElement(TableSelectAll, _extends({}, selectProps, {
|
|
42
49
|
name: "".concat(tableId, "-select-all-checkbox-name"),
|
|
43
50
|
onSelect: onChange,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
4
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
5
|
var _excluded = ["onChange"];
|
|
@@ -13,6 +14,7 @@ var _excluded = ["onChange"];
|
|
|
13
14
|
// @flow
|
|
14
15
|
import React, { useEffect, useState } from 'react';
|
|
15
16
|
import PropTypes from 'prop-types';
|
|
17
|
+
import cx from 'classnames';
|
|
16
18
|
import { OverflowMenu, OverflowMenuItem, Checkbox } from 'carbon-components-react';
|
|
17
19
|
import { CaretDown16 } from '@carbon/icons-react';
|
|
18
20
|
import { pkg } from '../../../settings'; // cspell:words columnheader
|
|
@@ -22,6 +24,8 @@ var SELECT_ALL_PAGE_ROWS = 'pageRows';
|
|
|
22
24
|
var SELECT_ALL_ROWS = 'allRows';
|
|
23
25
|
|
|
24
26
|
var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
|
|
27
|
+
var _columns$;
|
|
28
|
+
|
|
25
29
|
var tableId = _ref.tableId,
|
|
26
30
|
isFetching = _ref.isFetching,
|
|
27
31
|
isAllRowsSelected = _ref.isAllRowsSelected,
|
|
@@ -31,7 +35,9 @@ var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
|
|
|
31
35
|
_ref$allPageRowsLabel = _ref.allPageRowsLabel,
|
|
32
36
|
allPageRowsLabel = _ref$allPageRowsLabel === void 0 ? 'Select all on page' : _ref$allPageRowsLabel,
|
|
33
37
|
_ref$allRowsLabel = _ref.allRowsLabel,
|
|
34
|
-
allRowsLabel = _ref$allRowsLabel === void 0 ? 'Select all' : _ref$allRowsLabel
|
|
38
|
+
allRowsLabel = _ref$allRowsLabel === void 0 ? 'Select all' : _ref$allRowsLabel,
|
|
39
|
+
columns = _ref.columns,
|
|
40
|
+
withStickyColumn = _ref.withStickyColumn;
|
|
35
41
|
|
|
36
42
|
var _useState = useState(SELECT_ALL_PAGE_ROWS),
|
|
37
43
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -60,10 +66,11 @@ var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
|
|
|
60
66
|
selectProps = _objectWithoutProperties(_getProps, _excluded);
|
|
61
67
|
|
|
62
68
|
var disabled = isFetching || selectProps.disabled;
|
|
69
|
+
var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
|
|
63
70
|
return /*#__PURE__*/React.createElement("th", {
|
|
64
71
|
role: "columnheader",
|
|
65
72
|
scope: "col",
|
|
66
|
-
className: "".concat(blockClass, "__select-all-toggle-on")
|
|
73
|
+
className: cx("".concat(blockClass, "__select-all-toggle-on"), _defineProperty({}, "".concat(blockClass, "__select-all-sticky-left"), isFirstColumnStickyLeft))
|
|
67
74
|
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(Checkbox, _extends({}, selectProps, {
|
|
68
75
|
name: "".concat(tableId, "-select-all-checkbox-name"),
|
|
69
76
|
onClick: function onClick(e) {
|
|
@@ -111,11 +118,13 @@ var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
|
|
|
111
118
|
SelectAllWithToggle.propTypes = {
|
|
112
119
|
allPageRowsLabel: PropTypes.string,
|
|
113
120
|
allRowsLabel: PropTypes.string,
|
|
121
|
+
columns: PropTypes.arrayOf(PropTypes.object),
|
|
114
122
|
getToggleAllPageRowsSelectedProps: PropTypes.func.isRequired,
|
|
115
123
|
getToggleAllRowsSelectedProps: PropTypes.func.isRequired,
|
|
116
124
|
isAllRowsSelected: PropTypes.bool.isRequired,
|
|
117
125
|
isFetching: PropTypes.bool,
|
|
118
126
|
selectAllToggle: PropTypes.object,
|
|
119
|
-
tableId: PropTypes.string.isRequired
|
|
127
|
+
tableId: PropTypes.string.isRequired,
|
|
128
|
+
withStickyColumn: PropTypes.bool
|
|
120
129
|
};
|
|
121
130
|
export default SelectAllWithToggle;
|
|
@@ -22,6 +22,8 @@ var blockClass = "".concat(pkg.prefix, "--datagrid");
|
|
|
22
22
|
var DRAG_TYPE = "".concat(blockClass, "__shared-ui-draggable-element");
|
|
23
23
|
|
|
24
24
|
var DraggableElement = function DraggableElement(_ref) {
|
|
25
|
+
var _cx;
|
|
26
|
+
|
|
25
27
|
var id = _ref.id,
|
|
26
28
|
index = _ref.index,
|
|
27
29
|
listData = _ref.listData,
|
|
@@ -33,6 +35,7 @@ var DraggableElement = function DraggableElement(_ref) {
|
|
|
33
35
|
onArrowKeyDown = _ref.onArrowKeyDown,
|
|
34
36
|
isFocused = _ref.isFocused,
|
|
35
37
|
moveElement = _ref.moveElement,
|
|
38
|
+
selected = _ref.selected,
|
|
36
39
|
_ref$positionLabel = _ref.positionLabel,
|
|
37
40
|
positionLabel = _ref$positionLabel === void 0 ? 'Current position {index} of {total}' : _ref$positionLabel,
|
|
38
41
|
_ref$grabbedLabel = _ref.grabbedLabel,
|
|
@@ -119,7 +122,7 @@ var DraggableElement = function DraggableElement(_ref) {
|
|
|
119
122
|
}, "".concat(blockClass, "__draggable-handleStyle"))
|
|
120
123
|
}, /*#__PURE__*/React.createElement(Draggable16, null)), children);
|
|
121
124
|
return /*#__PURE__*/React.createElement("li", {
|
|
122
|
-
className: cx(
|
|
125
|
+
className: cx((_cx = {}, _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-isOver"), isOver && !disabled), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-grabbed"), isGrabbed), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-selected"), selected), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder"), !selected), _cx)),
|
|
123
126
|
ref: ref,
|
|
124
127
|
"aria-selected": isFocused,
|
|
125
128
|
role: "option",
|
|
@@ -173,6 +176,7 @@ DraggableElement.propTypes = {
|
|
|
173
176
|
onArrowKeyDown: PropTypes.func.isRequired,
|
|
174
177
|
onGrab: PropTypes.func.isRequired,
|
|
175
178
|
positionLabel: PropTypes.string,
|
|
179
|
+
selected: PropTypes.bool,
|
|
176
180
|
type: PropTypes.string.isRequired
|
|
177
181
|
};
|
|
178
182
|
export default DraggableElement;
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
|
|
3
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
-
|
|
5
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
|
-
|
|
7
1
|
// @flow
|
|
8
2
|
|
|
9
3
|
/*
|
|
@@ -13,28 +7,18 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
13
7
|
* US Government Users Restricted Rights - Use, duplication or disclosure
|
|
14
8
|
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
|
15
9
|
*/
|
|
16
|
-
import { Reset16 } from '@carbon/icons-react';
|
|
17
10
|
import PropTypes from 'prop-types';
|
|
18
|
-
import {
|
|
11
|
+
import { Search } from 'carbon-components-react';
|
|
19
12
|
import * as React from 'react';
|
|
20
|
-
import keyBy from 'lodash/keyBy';
|
|
21
13
|
import { pkg } from '../../../../../settings';
|
|
22
|
-
import { isColumnVisible } from './common';
|
|
23
14
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
|
24
15
|
|
|
25
16
|
var Actions = function Actions(_ref) {
|
|
26
17
|
var searchText = _ref.searchText,
|
|
27
|
-
columns = _ref.columns,
|
|
28
|
-
originalColumnDefinitions = _ref.originalColumnDefinitions,
|
|
29
|
-
setColumnsObject = _ref.setColumnsObject,
|
|
30
18
|
setSearchText = _ref.setSearchText,
|
|
31
|
-
|
|
32
|
-
findColumnPlaceholderLabel = _ref$findColumnPlaceh === void 0 ? 'Find column' : _ref$findColumnPlaceh,
|
|
33
|
-
_ref$resetToDefaultLa = _ref.resetToDefaultLabel,
|
|
34
|
-
resetToDefaultLabel = _ref$resetToDefaultLa === void 0 ? 'Reset to default' : _ref$resetToDefaultLa;
|
|
19
|
+
findColumnPlaceholderLabel = _ref.findColumnPlaceholderLabel;
|
|
35
20
|
return /*#__PURE__*/React.createElement("div", {
|
|
36
|
-
className: "".concat(blockClass, "__customize-columns-modal--actions")
|
|
37
|
-
"test-id": "".concat(blockClass, "__customize-columns-modal--actions")
|
|
21
|
+
className: "".concat(blockClass, "__customize-columns-modal--actions")
|
|
38
22
|
}, /*#__PURE__*/React.createElement(Search, {
|
|
39
23
|
placeholder: findColumnPlaceholderLabel,
|
|
40
24
|
value: searchText,
|
|
@@ -43,27 +27,8 @@ var Actions = function Actions(_ref) {
|
|
|
43
27
|
onChange: function onChange(e) {
|
|
44
28
|
// TODO: is it performant?
|
|
45
29
|
setSearchText(e.target.value);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
}), /*#__PURE__*/React.createElement(Button, {
|
|
49
|
-
onClick: function onClick() {
|
|
50
|
-
var reset = resetToOriginal(columns, originalColumnDefinitions);
|
|
51
|
-
setColumnsObject(reset);
|
|
52
|
-
},
|
|
53
|
-
size: "sm",
|
|
54
|
-
kind: "ghost",
|
|
55
|
-
renderIcon: Reset16,
|
|
56
|
-
"test-id": "".concat(blockClass, "__customize-columns-modal--reset")
|
|
57
|
-
}, resetToDefaultLabel));
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
var resetToOriginal = function resetToOriginal(columnDefinitions, originalColumnDefinitions) {
|
|
61
|
-
var keyedDefs = keyBy(columnDefinitions, 'id');
|
|
62
|
-
return originalColumnDefinitions.map(function (colDef) {
|
|
63
|
-
return _objectSpread(_objectSpread({}, keyedDefs[colDef.id]), {}, {
|
|
64
|
-
isVisible: isColumnVisible(colDef)
|
|
65
|
-
});
|
|
66
|
-
});
|
|
30
|
+
}
|
|
31
|
+
}));
|
|
67
32
|
};
|
|
68
33
|
|
|
69
34
|
Actions.propTypes = {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
3
|
// @flow
|
|
3
4
|
|
|
@@ -8,7 +9,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
8
9
|
* US Government Users Restricted Rights - Use, duplication or disclosure
|
|
9
10
|
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
|
10
11
|
*/
|
|
11
|
-
import
|
|
12
|
+
import React from 'react';
|
|
12
13
|
import PropTypes from 'prop-types';
|
|
13
14
|
import { DndProvider } from 'react-dnd';
|
|
14
15
|
import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
@@ -17,6 +18,7 @@ import update from 'immutability-helper';
|
|
|
17
18
|
import { pkg } from '../../../../../settings';
|
|
18
19
|
import DraggableElement from '../../DraggableElement';
|
|
19
20
|
import { isColumnVisible } from './common';
|
|
21
|
+
import classNames from 'classnames';
|
|
20
22
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
|
21
23
|
|
|
22
24
|
var getNextIndex = function getNextIndex(array, currentIndex, key) {
|
|
@@ -34,14 +36,16 @@ var getNextIndex = function getNextIndex(array, currentIndex, key) {
|
|
|
34
36
|
};
|
|
35
37
|
|
|
36
38
|
var Columns = function Columns(_ref) {
|
|
37
|
-
var
|
|
39
|
+
var _classNames;
|
|
40
|
+
|
|
41
|
+
var getVisibleColumnsCount = _ref.getVisibleColumnsCount,
|
|
42
|
+
filterString = _ref.filterString,
|
|
38
43
|
columns = _ref.columns,
|
|
39
44
|
setColumnsObject = _ref.setColumnsObject,
|
|
40
45
|
onSelectColumn = _ref.onSelectColumn,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
disabledInstructionsLabel = _ref$disabledInstruct === void 0 ? 'Reordering columns are disabled because they are filtered currently.' : _ref$disabledInstruct;
|
|
46
|
+
assistiveTextInstructionsLabel = _ref.assistiveTextInstructionsLabel,
|
|
47
|
+
assistiveTextDisabledInstructionsLabel = _ref.assistiveTextDisabledInstructionsLabel,
|
|
48
|
+
selectAllLabel = _ref.selectAllLabel;
|
|
45
49
|
|
|
46
50
|
var _React$useState = React.useState(''),
|
|
47
51
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -88,7 +92,21 @@ var Columns = function Columns(_ref) {
|
|
|
88
92
|
}, ariaRegionText), /*#__PURE__*/React.createElement("span", {
|
|
89
93
|
id: "".concat(blockClass, "__customize-columns--instructions"),
|
|
90
94
|
className: "".concat(blockClass, "__shared-ui--assistive-text")
|
|
91
|
-
}, filterString.length === 0 ?
|
|
95
|
+
}, filterString.length === 0 ? assistiveTextInstructionsLabel : assistiveTextDisabledInstructionsLabel), /*#__PURE__*/React.createElement("div", {
|
|
96
|
+
id: "".concat(blockClass, "__customize-columns-select-all"),
|
|
97
|
+
className: classNames((_classNames = {}, _defineProperty(_classNames, "".concat(blockClass, "__customize-columns-select-all"), getVisibleColumnsCount() === 0), _defineProperty(_classNames, "".concat(blockClass, "__customize-columns-select-all-selected"), getVisibleColumnsCount() > 0), _classNames)),
|
|
98
|
+
selected: getVisibleColumnsCount() > 0
|
|
99
|
+
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
100
|
+
wrapperClassName: "".concat(blockClass, "__customize-columns-checkbox-wrapper"),
|
|
101
|
+
checked: getVisibleColumnsCount() === columns.length,
|
|
102
|
+
empty: !!getVisibleColumnsCount() === 0,
|
|
103
|
+
indeterminate: getVisibleColumnsCount() < columns.length && getVisibleColumnsCount() > 0,
|
|
104
|
+
onChange: function onChange() {
|
|
105
|
+
onSelectColumn(columns, getVisibleColumnsCount() !== columns.length);
|
|
106
|
+
},
|
|
107
|
+
id: "".concat(blockClass, "__customization-column-select-all"),
|
|
108
|
+
labelText: selectAllLabel
|
|
109
|
+
})), columns.filter(function (colDef) {
|
|
92
110
|
return filterString.length === 0 || colDef.Header.props.title.toLowerCase().includes(filterString);
|
|
93
111
|
}).map(function (colDef, i) {
|
|
94
112
|
return /*#__PURE__*/React.createElement(DraggableElement, {
|
|
@@ -117,24 +135,31 @@ var Columns = function Columns(_ref) {
|
|
|
117
135
|
});
|
|
118
136
|
}
|
|
119
137
|
}
|
|
120
|
-
}
|
|
138
|
+
},
|
|
139
|
+
selected: isColumnVisible(colDef)
|
|
121
140
|
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
122
|
-
wrapperClassName: "".concat(blockClass, "__customize-columns-checkbox"),
|
|
141
|
+
wrapperClassName: "".concat(blockClass, "__customize-columns-checkbox-wrapper"),
|
|
123
142
|
checked: isColumnVisible(colDef),
|
|
124
143
|
onChange: onSelectColumn.bind(null, colDef),
|
|
125
144
|
id: "".concat(blockClass, "__customization-column-").concat(colDef.id),
|
|
126
145
|
labelText: colDef.Header.props.title,
|
|
127
|
-
title: colDef.Header.props.title
|
|
146
|
+
title: colDef.Header.props.title,
|
|
147
|
+
className: "".concat(blockClass, "__customize-columns-checkbox")
|
|
128
148
|
}));
|
|
129
149
|
}))));
|
|
130
150
|
};
|
|
131
151
|
|
|
132
152
|
Columns.propTypes = {
|
|
153
|
+
assistiveTextDisabledInstructionsLabel: PropTypes.string,
|
|
154
|
+
assistiveTextInstructionsLabel: PropTypes.string,
|
|
133
155
|
columns: PropTypes.array.isRequired,
|
|
134
156
|
disabledInstructionsLabel: PropTypes.string,
|
|
135
157
|
filterString: PropTypes.string.isRequired,
|
|
158
|
+
getVisibleColumnsCount: PropTypes.func.isRequired,
|
|
136
159
|
instructionsLabel: PropTypes.string,
|
|
137
160
|
onSelectColumn: PropTypes.func.isRequired,
|
|
161
|
+
selectAllLabel: PropTypes.string,
|
|
162
|
+
setColumnStatus: PropTypes.func,
|
|
138
163
|
setColumnsObject: PropTypes.func.isRequired
|
|
139
164
|
};
|
|
140
165
|
export default Columns;
|