@carbon/ibm-products 1.13.0 → 1.16.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/components/Datagrid/styles/addons/CustomizeColumnsModal.css +47 -0
- package/css/components/Datagrid/styles/addons/CustomizeColumnsModal.css.map +1 -0
- package/css/components/Datagrid/styles/addons/RowSizeDropdown.css +20 -0
- package/css/components/Datagrid/styles/addons/RowSizeDropdown.css.map +1 -0
- package/css/components/Datagrid/styles/datagrid.css +268 -0
- package/css/components/Datagrid/styles/datagrid.css.map +1 -0
- package/css/components/Datagrid/styles/index.css +513 -0
- package/css/components/Datagrid/styles/index.css.map +1 -0
- package/css/components/Datagrid/styles/useActionsColumn.css +23 -0
- package/css/components/Datagrid/styles/useActionsColumn.css.map +1 -0
- package/css/components/Datagrid/styles/useColumnRightAlign.css +28 -0
- package/css/components/Datagrid/styles/useColumnRightAlign.css.map +1 -0
- package/css/components/Datagrid/styles/useNestedRows.css +15 -0
- package/css/components/Datagrid/styles/useNestedRows.css.map +1 -0
- package/css/components/Datagrid/styles/useNestedTable.css +25 -0
- package/css/components/Datagrid/styles/useNestedTable.css.map +1 -0
- package/css/components/Datagrid/styles/useSelectAllToggle.css +28 -0
- package/css/components/Datagrid/styles/useSelectAllToggle.css.map +1 -0
- package/css/components/Datagrid/styles/useSortableColumns.css +50 -0
- package/css/components/Datagrid/styles/useSortableColumns.css.map +1 -0
- package/css/components/Datagrid/styles/useStickyColumn.css +35 -0
- package/css/components/Datagrid/styles/useStickyColumn.css.map +1 -0
- package/css/index-full-carbon.css +611 -10
- 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 +7 -4
- 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 +611 -10
- 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 +611 -10
- 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 +106 -43
- package/es/components/AddSelect/AddSelectFilter.js +172 -0
- package/es/components/AddSelect/add-select-utils.js +30 -0
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +255 -175
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +78 -17
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +65 -20
- package/es/components/DataSpreadsheet/hooks/index.js +11 -0
- package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +139 -0
- package/es/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +2 -4
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +68 -0
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +1 -3
- package/es/components/DataSpreadsheet/utils/createCellSelectionArea.js +20 -8
- package/es/components/DataSpreadsheet/utils/generateData.js +17 -9
- package/es/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +18 -0
- package/es/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +30 -0
- package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +121 -0
- package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +108 -0
- package/es/components/DataSpreadsheet/utils/handleEditSubmit.js +87 -0
- package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +42 -8
- package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +225 -13
- package/es/components/DataSpreadsheet/utils/selectAllCells.js +53 -0
- package/es/components/Datagrid/Datagrid/Datagrid.js +70 -0
- package/es/components/Datagrid/Datagrid/DatagridBody.js +36 -0
- package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +19 -0
- package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +26 -0
- package/es/components/Datagrid/Datagrid/DatagridHead.js +31 -0
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +57 -0
- package/es/components/Datagrid/Datagrid/DatagridRefBody.js +37 -0
- package/es/components/Datagrid/Datagrid/DatagridRow.js +60 -0
- package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +50 -0
- package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +122 -0
- package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +36 -0
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +22 -0
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +87 -0
- package/es/components/Datagrid/Datagrid/DraggableElement.js +188 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +78 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +51 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +140 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +157 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +62 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +13 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +9 -0
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +62 -0
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +139 -0
- package/es/components/Datagrid/Datagrid/addons/RowSize/index.js +8 -0
- package/es/components/Datagrid/Datagrid/index.js +8 -0
- package/es/components/Datagrid/Datagrid.stories/CustomizeColumnStory.js +6 -0
- package/es/components/Datagrid/Datagrid.stories/LeftPanelStory.js +6 -0
- package/es/components/Datagrid/Datagrid.stories/RowSizeDropdownStory.js +6 -0
- package/es/components/Datagrid/Datagrid.stories/SelectAllWithToggleStory.js +6 -0
- package/es/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +92 -0
- package/es/components/Datagrid/Datagrid.stories/common.js +199 -0
- package/es/components/Datagrid/Datagrid.stories/index.js +5 -0
- package/es/components/Datagrid/common-column-ids.js +8 -0
- package/es/components/Datagrid/index.js +22 -0
- package/es/components/Datagrid/useActionsColumn.js +86 -0
- package/es/components/Datagrid/useColumnRightAlign.js +52 -0
- package/es/components/Datagrid/useCustomizeColumns.js +45 -0
- package/es/components/Datagrid/useDatagrid.js +44 -0
- package/es/components/Datagrid/useDefaultStringRenderer.js +48 -0
- package/es/components/Datagrid/useDisableSelectRows.js +84 -0
- package/es/components/Datagrid/useExpandedRow.js +52 -0
- package/es/components/Datagrid/useFlexResize.js +51 -0
- package/es/components/Datagrid/useFloatingScroll.js +88 -0
- package/es/components/Datagrid/useInfiniteScroll.js +54 -0
- package/es/components/Datagrid/useNestedRows.js +53 -0
- package/es/components/Datagrid/useOnRowClick.js +37 -0
- package/es/components/Datagrid/useParentDimensions.js +65 -0
- package/es/components/Datagrid/useResizeTable.js +40 -0
- package/es/components/Datagrid/useRowExpander.js +34 -0
- package/es/components/Datagrid/useRowIsMouseOver.js +61 -0
- package/es/components/Datagrid/useRowRenderer.js +30 -0
- package/es/components/Datagrid/useRowSize.js +56 -0
- package/es/components/Datagrid/useSelectAllToggle.js +74 -0
- package/es/components/Datagrid/useSelectRows.js +107 -0
- package/es/components/Datagrid/useSkeletonRows.js +32 -0
- package/es/components/Datagrid/useSortableColumns.js +110 -0
- package/es/components/Datagrid/useStickyColumn.js +183 -0
- package/es/components/MultiAddSelect/MultiAddSelect.js +150 -3
- package/es/components/PageHeader/PageHeader.js +3 -1
- package/es/components/SingleAddSelect/SingleAddSelect.js +90 -4
- package/es/components/TagSet/TagSet.js +13 -6
- package/es/components/Tearsheet/TearsheetShell.js +34 -10
- package/es/components/index.js +2 -1
- package/es/global/js/package-settings.js +4 -2
- package/lib/components/AddSelect/AddSelect.js +105 -41
- package/lib/components/AddSelect/AddSelectFilter.js +190 -0
- package/lib/components/AddSelect/add-select-utils.js +35 -2
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +261 -177
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +79 -23
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +67 -21
- package/lib/components/DataSpreadsheet/hooks/index.js +45 -0
- package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +151 -0
- package/lib/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +2 -4
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +79 -0
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +1 -3
- package/lib/components/DataSpreadsheet/utils/createCellSelectionArea.js +21 -8
- package/lib/components/DataSpreadsheet/utils/generateData.js +17 -9
- package/lib/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +27 -0
- package/lib/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +40 -0
- package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +127 -0
- package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +118 -0
- package/lib/components/DataSpreadsheet/utils/handleEditSubmit.js +94 -0
- package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +44 -8
- package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +235 -20
- package/lib/components/DataSpreadsheet/utils/selectAllCells.js +60 -0
- package/lib/components/Datagrid/Datagrid/Datagrid.js +86 -0
- package/lib/components/Datagrid/Datagrid/DatagridBody.js +50 -0
- package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +31 -0
- package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +38 -0
- package/lib/components/Datagrid/Datagrid/DatagridHead.js +43 -0
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +73 -0
- package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +44 -0
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +68 -0
- package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +55 -0
- package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +139 -0
- package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +44 -0
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +35 -0
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +101 -0
- package/lib/components/Datagrid/Datagrid/DraggableElement.js +210 -0
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +92 -0
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +65 -0
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +166 -0
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +173 -0
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +73 -0
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +25 -0
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +23 -0
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +80 -0
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +160 -0
- package/lib/components/Datagrid/Datagrid/addons/RowSize/index.js +15 -0
- package/lib/components/Datagrid/Datagrid/index.js +15 -0
- package/lib/components/Datagrid/Datagrid.stories/CustomizeColumnStory.js +13 -0
- package/lib/components/Datagrid/Datagrid.stories/LeftPanelStory.js +13 -0
- package/lib/components/Datagrid/Datagrid.stories/RowSizeDropdownStory.js +13 -0
- package/lib/components/Datagrid/Datagrid.stories/SelectAllWithToggleStory.js +13 -0
- package/lib/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +112 -0
- package/lib/components/Datagrid/Datagrid.stories/common.js +215 -0
- package/lib/components/Datagrid/Datagrid.stories/index.js +47 -0
- package/lib/components/Datagrid/common-column-ids.js +16 -0
- package/lib/components/Datagrid/index.js +127 -0
- package/lib/components/Datagrid/useActionsColumn.js +94 -0
- package/lib/components/Datagrid/useColumnRightAlign.js +59 -0
- package/lib/components/Datagrid/useCustomizeColumns.js +55 -0
- package/lib/components/Datagrid/useDatagrid.js +58 -0
- package/lib/components/Datagrid/useDefaultStringRenderer.js +54 -0
- package/lib/components/Datagrid/useDisableSelectRows.js +92 -0
- package/lib/components/Datagrid/useExpandedRow.js +58 -0
- package/lib/components/Datagrid/useFlexResize.js +61 -0
- package/lib/components/Datagrid/useFloatingScroll.js +101 -0
- package/lib/components/Datagrid/useInfiniteScroll.js +67 -0
- package/lib/components/Datagrid/useNestedRows.js +65 -0
- package/lib/components/Datagrid/useOnRowClick.js +45 -0
- package/lib/components/Datagrid/useParentDimensions.js +75 -0
- package/lib/components/Datagrid/useResizeTable.js +48 -0
- package/lib/components/Datagrid/useRowExpander.js +45 -0
- package/lib/components/Datagrid/useRowIsMouseOver.js +66 -0
- package/lib/components/Datagrid/useRowRenderer.js +40 -0
- package/lib/components/Datagrid/useRowSize.js +67 -0
- package/lib/components/Datagrid/useSelectAllToggle.js +88 -0
- package/lib/components/Datagrid/useSelectRows.js +119 -0
- package/lib/components/Datagrid/useSkeletonRows.js +42 -0
- package/lib/components/Datagrid/useSortableColumns.js +117 -0
- package/lib/components/Datagrid/useStickyColumn.js +190 -0
- package/lib/components/MultiAddSelect/MultiAddSelect.js +150 -2
- package/lib/components/PageHeader/PageHeader.js +3 -1
- package/lib/components/SingleAddSelect/SingleAddSelect.js +91 -3
- package/lib/components/TagSet/TagSet.js +13 -6
- package/lib/components/Tearsheet/TearsheetShell.js +36 -10
- package/lib/components/index.js +9 -1
- package/lib/global/js/package-settings.js +4 -2
- package/package.json +16 -12
- package/scss/components/AboutModal/_about-modal.scss +4 -0
- package/scss/components/AddSelect/_add-select.scss +46 -2
- package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +41 -4
- package/scss/components/Datagrid/_datagrid.scss +66 -0
- package/scss/components/Datagrid/_index.scss +8 -0
- package/scss/components/Datagrid/_storybook-styles.scss +26 -0
- package/scss/components/Datagrid/styles/_variables.scss +9 -0
- package/scss/components/Datagrid/styles/addons/CustomizeColumnsModal.scss +48 -0
- package/scss/components/Datagrid/styles/addons/RowSizeDropdown.scss +23 -0
- package/scss/components/Datagrid/styles/datagrid.scss +326 -0
- package/scss/components/Datagrid/styles/index.scss +17 -0
- package/scss/components/Datagrid/styles/useActionsColumn.scss +24 -0
- package/scss/components/Datagrid/styles/useColumnRightAlign.scss +29 -0
- package/scss/components/Datagrid/styles/useNestedRows.scss +17 -0
- package/scss/components/Datagrid/styles/useNestedTable.scss +28 -0
- package/scss/components/Datagrid/styles/useSelectAllToggle.scss +28 -0
- package/scss/components/Datagrid/styles/useSortableColumns.scss +55 -0
- package/scss/components/Datagrid/styles/useStickyColumn.scss +38 -0
- package/scss/components/ExportModal/_export-modal.scss +0 -4
- package/scss/components/Tearsheet/_tearsheet.scss +4 -0
- package/scss/components/_index.scss +1 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var React = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _CustomizeColumns = require("./Datagrid/addons/CustomizeColumns");
|
|
21
|
+
|
|
22
|
+
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); }
|
|
23
|
+
|
|
24
|
+
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; }
|
|
25
|
+
|
|
26
|
+
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; }
|
|
27
|
+
|
|
28
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
29
|
+
|
|
30
|
+
var useCustomizeColumns = function useCustomizeColumns(hooks) {
|
|
31
|
+
var _React$useState = React.useState(false),
|
|
32
|
+
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
33
|
+
isModalOpen = _React$useState2[0],
|
|
34
|
+
setIsModalOpen = _React$useState2[1];
|
|
35
|
+
|
|
36
|
+
hooks.useInstance.push(function (instance) {
|
|
37
|
+
var customizeColumnsProps = instance.customizeColumnsProps;
|
|
38
|
+
Object.assign(instance, {
|
|
39
|
+
customizeColumnsProps: _objectSpread(_objectSpread({}, customizeColumnsProps), {}, {
|
|
40
|
+
isModalOpen: isModalOpen,
|
|
41
|
+
setIsModalOpen: setIsModalOpen
|
|
42
|
+
}),
|
|
43
|
+
CustomizeColumnsButton: function CustomizeColumnsButton(props) {
|
|
44
|
+
return /*#__PURE__*/React.createElement(_CustomizeColumns.ToggleButtonWrapper, (0, _extends2.default)({
|
|
45
|
+
isModalOpen: isModalOpen,
|
|
46
|
+
setIsModalOpen: setIsModalOpen
|
|
47
|
+
}, props));
|
|
48
|
+
},
|
|
49
|
+
CustomizeColumnsModal: _CustomizeColumns.CustomizeColumnsModalWrapper
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
var _default = useCustomizeColumns;
|
|
55
|
+
exports.default = _default;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _react = require("react");
|
|
15
|
+
|
|
16
|
+
var _reactTable = require("react-table");
|
|
17
|
+
|
|
18
|
+
var _uniqueId = _interopRequireDefault(require("lodash/uniqueId"));
|
|
19
|
+
|
|
20
|
+
var _useSkeletonRows = _interopRequireDefault(require("./useSkeletonRows"));
|
|
21
|
+
|
|
22
|
+
var _useDefaultStringRenderer = _interopRequireDefault(require("./useDefaultStringRenderer"));
|
|
23
|
+
|
|
24
|
+
var _useRowRenderer = _interopRequireDefault(require("./useRowRenderer"));
|
|
25
|
+
|
|
26
|
+
var _useRowSize = _interopRequireDefault(require("./useRowSize"));
|
|
27
|
+
|
|
28
|
+
var _DatagridHeaderRow = _interopRequireDefault(require("./Datagrid/DatagridHeaderRow"));
|
|
29
|
+
|
|
30
|
+
var _useFlexResize = _interopRequireDefault(require("./useFlexResize"));
|
|
31
|
+
|
|
32
|
+
var _useFloatingScroll = _interopRequireDefault(require("./useFloatingScroll"));
|
|
33
|
+
|
|
34
|
+
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; }
|
|
35
|
+
|
|
36
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
37
|
+
|
|
38
|
+
var useDatagrid = function useDatagrid(params) {
|
|
39
|
+
var defaultPlugins = [_reactTable.useFlexLayout, _DatagridHeaderRow.default, _useSkeletonRows.default, _reactTable.useResizeColumns, _useRowRenderer.default, _useDefaultStringRenderer.default, _useRowSize.default, _reactTable.useFilters, _reactTable.useGlobalFilter, _reactTable.useSortBy, _reactTable.useExpanded];
|
|
40
|
+
var defaultEndPlugins = [_reactTable.usePagination, _reactTable.useRowSelect, _useFlexResize.default, _useFloatingScroll.default];
|
|
41
|
+
var clientEndPlugins = params.endPlugins || [];
|
|
42
|
+
var tableId = (0, _react.useMemo)(function () {
|
|
43
|
+
return (0, _uniqueId.default)('datagrid-table-id');
|
|
44
|
+
}, []);
|
|
45
|
+
|
|
46
|
+
for (var _len = arguments.length, plugins = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
47
|
+
plugins[_key - 1] = arguments[_key];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
var tableState = _reactTable.useTable.apply(void 0, [_objectSpread({
|
|
51
|
+
tableId: tableId
|
|
52
|
+
}, params)].concat(defaultPlugins, plugins, defaultEndPlugins, (0, _toConsumableArray2.default)(clientEndPlugins)));
|
|
53
|
+
|
|
54
|
+
return tableState;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
var _default = useDatagrid;
|
|
58
|
+
exports.default = _default;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _settings = require("../../settings");
|
|
17
|
+
|
|
18
|
+
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; }
|
|
19
|
+
|
|
20
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
21
|
+
|
|
22
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
|
23
|
+
|
|
24
|
+
var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
|
|
25
|
+
var StringRenderer = function StringRenderer(tableProps) {
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
27
|
+
className: "".concat(blockClass, "__defaultStringRenderer"),
|
|
28
|
+
title: tableProps.value
|
|
29
|
+
}, tableProps.value);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
var HeaderRenderer = function HeaderRenderer(header) {
|
|
33
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
34
|
+
className: "".concat(blockClass, "__defaultStringRenderer"),
|
|
35
|
+
title: typeof header === 'string' ? header : ''
|
|
36
|
+
}, header);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
var visibleColumns = function visibleColumns(columns) {
|
|
40
|
+
var columnsWithDefaultCells = columns.map(function (column) {
|
|
41
|
+
return _objectSpread(_objectSpread({
|
|
42
|
+
Cell: StringRenderer
|
|
43
|
+
}, column), {}, {
|
|
44
|
+
Header: column.HeaderRenderer || HeaderRenderer(column.Header)
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
return (0, _toConsumableArray2.default)(columnsWithDefaultCells);
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
hooks.visibleColumns.push(visibleColumns);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
var _default = useDefaultStringRenderer;
|
|
54
|
+
exports.default = _default;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
* Licensed Materials - Property of IBM
|
|
10
|
+
* 5724-Q36
|
|
11
|
+
* (c) Copyright IBM Corp. 2020
|
|
12
|
+
* US Government Users Restricted Rights - Use, duplication or disclosure
|
|
13
|
+
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
|
14
|
+
*/
|
|
15
|
+
var useDisableSelectRows = function useDisableSelectRows(hooks) {
|
|
16
|
+
updateSelectAll(hooks);
|
|
17
|
+
updatePageSelectAll(hooks);
|
|
18
|
+
|
|
19
|
+
var getRowProps = function getRowProps(props, _ref) {
|
|
20
|
+
var row = _ref.row,
|
|
21
|
+
instance = _ref.instance;
|
|
22
|
+
return [props, {
|
|
23
|
+
selectDisabled: instance.shouldDisableSelectRow && instance.shouldDisableSelectRow(row)
|
|
24
|
+
}];
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
hooks.getRowProps.push(getRowProps);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
var updateSelectAll = function updateSelectAll(hooks) {
|
|
31
|
+
var getToggleAllRowsSelectedProps = function getToggleAllRowsSelectedProps(props, _ref2) {
|
|
32
|
+
var instance = _ref2.instance;
|
|
33
|
+
var selectableRows = instance.rows.filter(function (row) {
|
|
34
|
+
return !(instance.shouldDisableSelectRow && instance.shouldDisableSelectRow(row));
|
|
35
|
+
});
|
|
36
|
+
var isAllRowsSelected = selectableRows.length > 0 && selectableRows.every(function (_ref3) {
|
|
37
|
+
var id = _ref3.id;
|
|
38
|
+
return instance.state.selectedRowIds[id];
|
|
39
|
+
});
|
|
40
|
+
return [props, {
|
|
41
|
+
onChange: function onChange(e) {
|
|
42
|
+
selectableRows.forEach(function (row) {
|
|
43
|
+
return row.toggleRowSelected(e.target.checked);
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
style: {
|
|
47
|
+
cursor: 'pointer'
|
|
48
|
+
},
|
|
49
|
+
checked: isAllRowsSelected,
|
|
50
|
+
disabled: instance.disableSelectAll,
|
|
51
|
+
title: 'Toggle All Rows Selected',
|
|
52
|
+
indeterminate: Boolean(!isAllRowsSelected && Object.keys(instance.state.selectedRowIds).length)
|
|
53
|
+
}];
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
hooks.getToggleAllRowsSelectedProps.push(getToggleAllRowsSelectedProps);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
var updatePageSelectAll = function updatePageSelectAll(hooks) {
|
|
60
|
+
var getToggleAllPageRowsSelectedProps = function getToggleAllPageRowsSelectedProps(props, _ref4) {
|
|
61
|
+
var instance = _ref4.instance;
|
|
62
|
+
var selectableRows = instance.page.filter(function (row) {
|
|
63
|
+
return !(instance.shouldDisableSelectRow && instance.shouldDisableSelectRow(row));
|
|
64
|
+
});
|
|
65
|
+
var isAllRowsSelected = selectableRows.length > 0 && selectableRows.every(function (_ref5) {
|
|
66
|
+
var id = _ref5.id;
|
|
67
|
+
return instance.state.selectedRowIds[id];
|
|
68
|
+
});
|
|
69
|
+
return [props, {
|
|
70
|
+
onChange: function onChange(e) {
|
|
71
|
+
selectableRows.forEach(function (row) {
|
|
72
|
+
return row.toggleRowSelected(e.target.checked);
|
|
73
|
+
});
|
|
74
|
+
},
|
|
75
|
+
style: {
|
|
76
|
+
cursor: 'pointer'
|
|
77
|
+
},
|
|
78
|
+
checked: isAllRowsSelected,
|
|
79
|
+
disabled: instance.disableSelectAll,
|
|
80
|
+
title: 'Toggle All Rows Selected',
|
|
81
|
+
indeterminate: Boolean(!isAllRowsSelected && instance.page.some(function (_ref6) {
|
|
82
|
+
var id = _ref6.id;
|
|
83
|
+
return instance.state.selectedRowIds[id];
|
|
84
|
+
}))
|
|
85
|
+
}];
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
hooks.getToggleAllPageRowsSelectedProps.push(getToggleAllPageRowsSelectedProps);
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
var _default = useDisableSelectRows;
|
|
92
|
+
exports.default = _default;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = require("react");
|
|
15
|
+
|
|
16
|
+
var _DatagridExpandedRow = _interopRequireDefault(require("./Datagrid/DatagridExpandedRow"));
|
|
17
|
+
|
|
18
|
+
var _useRowExpander = _interopRequireDefault(require("./useRowExpander"));
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
23
|
+
|
|
24
|
+
var useExpandedRow = function useExpandedRow(hooks) {
|
|
25
|
+
(0, _useRowExpander.default)(hooks);
|
|
26
|
+
|
|
27
|
+
var useInstance = function useInstance(instance) {
|
|
28
|
+
var rows = instance.rows,
|
|
29
|
+
expandedContentHeight = instance.expandedContentHeight,
|
|
30
|
+
ExpandedRowContentComponent = instance.ExpandedRowContentComponent;
|
|
31
|
+
|
|
32
|
+
var _useState = (0, _react.useState)({}),
|
|
33
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
34
|
+
expandedRowsHeight = _useState2[0],
|
|
35
|
+
setExpandedRowsHeight = _useState2[1];
|
|
36
|
+
|
|
37
|
+
var setExpandedRowHeight = function setExpandedRowHeight(rowIndex, height) {
|
|
38
|
+
return setExpandedRowsHeight(_objectSpread(_objectSpread({}, expandedRowsHeight), {}, (0, _defineProperty2.default)({}, rowIndex, height)));
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
var rowsWithExpand = rows.map(function (row) {
|
|
42
|
+
return _objectSpread(_objectSpread({}, row), {}, {
|
|
43
|
+
canExpand: row.original && !row.original.notExpandable,
|
|
44
|
+
expandedContentHeight: expandedRowsHeight[row.index] || expandedContentHeight,
|
|
45
|
+
RowRenderer: (0, _DatagridExpandedRow.default)(row.RowRenderer, ExpandedRowContentComponent)
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
Object.assign(instance, {
|
|
49
|
+
rows: rowsWithExpand,
|
|
50
|
+
setExpandedRowHeight: setExpandedRowHeight
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
hooks.useInstance.push(useInstance);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
var _default = useExpandedRow;
|
|
58
|
+
exports.default = _default;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* Licensed Materials - Property of IBM
|
|
14
|
+
* 5724-Q36
|
|
15
|
+
* (c) Copyright IBM Corp. 2020
|
|
16
|
+
* US Government Users Restricted Rights - Use, duplication or disclosure
|
|
17
|
+
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
|
18
|
+
*/
|
|
19
|
+
var useFlexResize = function useFlexResize(hooks) {
|
|
20
|
+
var spacerColumn = {
|
|
21
|
+
id: 'spacer',
|
|
22
|
+
width: 0,
|
|
23
|
+
disableSortBy: true,
|
|
24
|
+
disableResizing: true
|
|
25
|
+
};
|
|
26
|
+
hooks.visibleColumns.push(function (columns) {
|
|
27
|
+
return [].concat((0, _toConsumableArray2.default)(columns), [spacerColumn]);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
var changeProps = function changeProps(props, data) {
|
|
31
|
+
var column = data.column;
|
|
32
|
+
|
|
33
|
+
if (!column && data.cell) {
|
|
34
|
+
column = data.cell.column;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (column.id === spacerColumn.id) {
|
|
38
|
+
return [props, {
|
|
39
|
+
style: {
|
|
40
|
+
flex: '1 1 0'
|
|
41
|
+
}
|
|
42
|
+
}];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return [props, {
|
|
46
|
+
style: {
|
|
47
|
+
flex: '0 0 auto'
|
|
48
|
+
}
|
|
49
|
+
}];
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
hooks.getHeaderProps.push(function (props, data) {
|
|
53
|
+
return changeProps(props, data);
|
|
54
|
+
});
|
|
55
|
+
hooks.getCellProps.push(function (props, data) {
|
|
56
|
+
return changeProps(props, data);
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
var _default = useFlexResize;
|
|
61
|
+
exports.default = _default;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
|
|
12
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
|
|
14
|
+
var _settings = require("../../settings");
|
|
15
|
+
|
|
16
|
+
/*
|
|
17
|
+
* Licensed Materials - Property of IBM
|
|
18
|
+
* 5724-Q36
|
|
19
|
+
* (c) Copyright IBM Corp. 2021
|
|
20
|
+
* US Government Users Restricted Rights - Use, duplication or disclosure
|
|
21
|
+
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
|
22
|
+
*/
|
|
23
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
|
24
|
+
|
|
25
|
+
var useFloatingScroll = function useFloatingScroll(hooks) {
|
|
26
|
+
var useInstance = function useInstance(instance) {
|
|
27
|
+
var tableId = instance.tableId,
|
|
28
|
+
withVirtualScroll = instance.withVirtualScroll,
|
|
29
|
+
ExpandedRowContentComponent = instance.ExpandedRowContentComponent;
|
|
30
|
+
(0, _react.useEffect)(function () {
|
|
31
|
+
// Floating scroll doesn't work with expanded rows and virtual scroll
|
|
32
|
+
if (withVirtualScroll || ExpandedRowContentComponent) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
var datagrid = document.getElementById(tableId); // eslint-disable-next-line no-unused-expressions
|
|
37
|
+
|
|
38
|
+
datagrid === null || datagrid === void 0 ? void 0 : datagrid.classList.add("".concat(blockClass, "__sticky"));
|
|
39
|
+
}, [ExpandedRowContentComponent, tableId, withVirtualScroll]);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
var useAddStickyClass = function useAddStickyClass(instance) {
|
|
43
|
+
var withVirtualScroll = instance.withVirtualScroll,
|
|
44
|
+
ExpandedRowContentComponent = instance.ExpandedRowContentComponent; // Floating scroll doesn't work with expanded rows and virtual scroll
|
|
45
|
+
|
|
46
|
+
if (withVirtualScroll || ExpandedRowContentComponent) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
var addStickyClass = function addStickyClass(props) {
|
|
51
|
+
return [props, {
|
|
52
|
+
className: (0, _classnames.default)(props.className, "".concat(blockClass, "__sticky"))
|
|
53
|
+
}];
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
hooks.getTableProps.push(addStickyClass);
|
|
57
|
+
hooks.getTableBodyProps.push(addStickyClass);
|
|
58
|
+
hooks.getHeaderGroupProps.push(addStickyClass);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
var useAddScrollListener = function useAddScrollListener(instance) {
|
|
62
|
+
var withVirtualScroll = instance.withVirtualScroll,
|
|
63
|
+
ExpandedRowContentComponent = instance.ExpandedRowContentComponent,
|
|
64
|
+
tableId = instance.tableId; // Floating scroll doesn't work with expanded rows and virtual scroll
|
|
65
|
+
|
|
66
|
+
if (withVirtualScroll || ExpandedRowContentComponent) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
var memoHead;
|
|
71
|
+
|
|
72
|
+
var addOnScroll = function addOnScroll(props) {
|
|
73
|
+
return [props, {
|
|
74
|
+
onScroll: function onScroll(e) {
|
|
75
|
+
var simpleThead;
|
|
76
|
+
|
|
77
|
+
if (memoHead) {
|
|
78
|
+
simpleThead = memoHead;
|
|
79
|
+
} else {
|
|
80
|
+
var datagrid = document.getElementById(tableId);
|
|
81
|
+
simpleThead = datagrid === null || datagrid === void 0 ? void 0 : datagrid.querySelector(".".concat(blockClass, "__table-simple thead > div"));
|
|
82
|
+
memoHead = simpleThead;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (simpleThead) {
|
|
86
|
+
simpleThead.scrollLeft = e.target.scrollLeft;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}];
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
hooks.getTableBodyProps.push(addOnScroll);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
hooks.useInstance.push(useAddStickyClass);
|
|
96
|
+
hooks.useInstance.push(useAddScrollListener);
|
|
97
|
+
hooks.useInstance.push(useInstance);
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
var _default = useFloatingScroll;
|
|
101
|
+
exports.default = _default;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
|
|
12
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
13
|
+
|
|
14
|
+
var _useParentDimensions = _interopRequireDefault(require("./useParentDimensions"));
|
|
15
|
+
|
|
16
|
+
var _useResizeTable = _interopRequireDefault(require("./useResizeTable"));
|
|
17
|
+
|
|
18
|
+
/*
|
|
19
|
+
* Licensed Materials - Property of IBM
|
|
20
|
+
* 5724-Q36
|
|
21
|
+
* (c) Copyright IBM Corp. 2020
|
|
22
|
+
* US Government Users Restricted Rights - Use, duplication or disclosure
|
|
23
|
+
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
|
24
|
+
*/
|
|
25
|
+
var useInfiniteScroll = function useInfiniteScroll(hooks) {
|
|
26
|
+
(0, _useParentDimensions.default)(hooks);
|
|
27
|
+
(0, _useResizeTable.default)(hooks);
|
|
28
|
+
|
|
29
|
+
var useInstance = function useInstance(instance) {
|
|
30
|
+
var isFetching = instance.isFetching,
|
|
31
|
+
tableHeight = instance.tableHeight,
|
|
32
|
+
innerListRef = instance.innerListRef,
|
|
33
|
+
fetchMoreData = instance.fetchMoreData;
|
|
34
|
+
var loadMoreThreshold = 200;
|
|
35
|
+
|
|
36
|
+
var emptyFetchData = function emptyFetchData() {}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
var fetchMore = (0, _react.useCallback)((0, _debounce.default)(fetchMoreData || emptyFetchData, 3000, {
|
|
40
|
+
leading: true,
|
|
41
|
+
trailing: false
|
|
42
|
+
}), [fetchMoreData]);
|
|
43
|
+
|
|
44
|
+
var onScroll = function onScroll(_ref) {
|
|
45
|
+
var scrollDirection = _ref.scrollDirection,
|
|
46
|
+
scrollOffset = _ref.scrollOffset;
|
|
47
|
+
|
|
48
|
+
if (innerListRef && innerListRef.current) {
|
|
49
|
+
if (!isFetching && scrollDirection === 'forward' && scrollOffset + tableHeight >= innerListRef.current.clientHeight - loadMoreThreshold) {
|
|
50
|
+
if (fetchMoreData) {
|
|
51
|
+
fetchMore();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
Object.assign(instance, {
|
|
58
|
+
onScroll: onScroll,
|
|
59
|
+
withVirtualScroll: true
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
hooks.useInstance.push(useInstance);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
var _default = useInfiniteScroll;
|
|
67
|
+
exports.default = _default;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _useRowExpander = _interopRequireDefault(require("./useRowExpander"));
|
|
11
|
+
|
|
12
|
+
var _settings = require("../../settings");
|
|
13
|
+
|
|
14
|
+
/*
|
|
15
|
+
* Licensed Materials - Property of IBM
|
|
16
|
+
* 5724-Q36
|
|
17
|
+
* (c) Copyright IBM Corp. 2020
|
|
18
|
+
* US Government Users Restricted Rights - Use, duplication or disclosure
|
|
19
|
+
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
|
20
|
+
*/
|
|
21
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
|
22
|
+
|
|
23
|
+
var useNestedRows = function useNestedRows(hooks) {
|
|
24
|
+
(0, _useRowExpander.default)(hooks);
|
|
25
|
+
var marginLeft = 24;
|
|
26
|
+
|
|
27
|
+
var getRowProps = function getRowProps(props, _ref) {
|
|
28
|
+
var row = _ref.row;
|
|
29
|
+
return [props, {
|
|
30
|
+
className: row.depth > 0 ? "".concat(blockClass, "__carbon-nested-row") : ''
|
|
31
|
+
}];
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
var getRowStyles = function getRowStyles(props, _ref2) {
|
|
35
|
+
var row = _ref2.row;
|
|
36
|
+
return [props, {
|
|
37
|
+
style: {
|
|
38
|
+
marginLeft: "".concat(row.depth > 0 ? marginLeft : 0, "px"),
|
|
39
|
+
paddingLeft: "".concat(row.depth > 1 ? marginLeft * (row.depth - 1) + marginLeft : row.depth === 1 ? marginLeft : 0, "px"),
|
|
40
|
+
maxWidth: "calc(100% - ".concat(marginLeft * row.depth, "px)")
|
|
41
|
+
}
|
|
42
|
+
}];
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
var getCellProps = function getCellProps(props, _ref3) {
|
|
46
|
+
var cell = _ref3.cell,
|
|
47
|
+
instance = _ref3.instance;
|
|
48
|
+
// reduce the "first cell"s width to compensate added (left) margin
|
|
49
|
+
var isFirstCell = instance.columns.findIndex(function (c) {
|
|
50
|
+
return c.id === cell.column.id;
|
|
51
|
+
}) === 0;
|
|
52
|
+
return [props, {
|
|
53
|
+
style: {
|
|
54
|
+
marginRight: "".concat(isFirstCell && cell.row.depth > 0 ? "-".concat(marginLeft * (cell.row.depth + 1), "px") : '')
|
|
55
|
+
}
|
|
56
|
+
}];
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
hooks.getRowProps.push(getRowProps);
|
|
60
|
+
hooks.getRowProps.push(getRowStyles);
|
|
61
|
+
hooks.getCellProps.push(getCellProps);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var _default = useNestedRows;
|
|
65
|
+
exports.default = _default;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
* Licensed Materials - Property of IBM
|
|
10
|
+
* 5724-Q36
|
|
11
|
+
* (c) Copyright IBM Corp. 2020
|
|
12
|
+
* US Government Users Restricted Rights - Use, duplication or disclosure
|
|
13
|
+
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
|
14
|
+
*/
|
|
15
|
+
var useOnRowClick = function useOnRowClick(hooks) {
|
|
16
|
+
var useInstance = function useInstance(instance) {
|
|
17
|
+
var onRowClick = instance.onRowClick;
|
|
18
|
+
|
|
19
|
+
var getRowProps = function getRowProps(props, datagridState) {
|
|
20
|
+
var isFetching = datagridState.isFetching,
|
|
21
|
+
row = datagridState.row;
|
|
22
|
+
|
|
23
|
+
var onClick = function onClick() {
|
|
24
|
+
if (!isFetching && onRowClick) {
|
|
25
|
+
onRowClick(row);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
return [props, {
|
|
30
|
+
onClick: onClick
|
|
31
|
+
}, {
|
|
32
|
+
style: {
|
|
33
|
+
cursor: 'pointer'
|
|
34
|
+
}
|
|
35
|
+
}];
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
hooks.getRowProps.push(getRowProps);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
hooks.useInstance.push(useInstance);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
var _default = useOnRowClick;
|
|
45
|
+
exports.default = _default;
|