@depup/react-virtualized 9.22.6-depup.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/LICENSE +22 -0
- package/README.md +34 -0
- package/changes.json +22 -0
- package/dist/commonjs/ArrowKeyStepper/ArrowKeyStepper.example.js +184 -0
- package/dist/commonjs/ArrowKeyStepper/ArrowKeyStepper.jest.js +338 -0
- package/dist/commonjs/ArrowKeyStepper/ArrowKeyStepper.js +204 -0
- package/dist/commonjs/ArrowKeyStepper/index.js +19 -0
- package/dist/commonjs/ArrowKeyStepper/types.js +5 -0
- package/dist/commonjs/AutoSizer/AutoSizer.example.js +104 -0
- package/dist/commonjs/AutoSizer/AutoSizer.jest.js +341 -0
- package/dist/commonjs/AutoSizer/AutoSizer.js +199 -0
- package/dist/commonjs/AutoSizer/AutoSizer.ssr.js +25 -0
- package/dist/commonjs/AutoSizer/index.js +19 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicHeightGrid.example.js +100 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicHeightList.example.js +99 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicHeightTableColumn.example.js +107 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicWidthGrid.example.js +102 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicWidthMultiGrid.example.js +107 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.example.js +129 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.jest.js +345 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.js +195 -0
- package/dist/commonjs/CellMeasurer/CellMeasurerCache.jest.js +298 -0
- package/dist/commonjs/CellMeasurer/CellMeasurerCache.js +202 -0
- package/dist/commonjs/CellMeasurer/index.js +22 -0
- package/dist/commonjs/CellMeasurer/types.js +14 -0
- package/dist/commonjs/Collection/Collection.example.js +231 -0
- package/dist/commonjs/Collection/Collection.jest.js +829 -0
- package/dist/commonjs/Collection/Collection.js +266 -0
- package/dist/commonjs/Collection/CollectionView.js +553 -0
- package/dist/commonjs/Collection/Section.jest.js +63 -0
- package/dist/commonjs/Collection/Section.js +57 -0
- package/dist/commonjs/Collection/SectionManager.jest.js +121 -0
- package/dist/commonjs/Collection/SectionManager.js +134 -0
- package/dist/commonjs/Collection/TestData.js +77 -0
- package/dist/commonjs/Collection/index.js +15 -0
- package/dist/commonjs/Collection/types.js +22 -0
- package/dist/commonjs/Collection/utils/calculateSizeAndPositionData.jest.js +34 -0
- package/dist/commonjs/Collection/utils/calculateSizeAndPositionData.js +38 -0
- package/dist/commonjs/ColumnSizer/ColumnSizer.example.js +159 -0
- package/dist/commonjs/ColumnSizer/ColumnSizer.jest.js +129 -0
- package/dist/commonjs/ColumnSizer/ColumnSizer.js +103 -0
- package/dist/commonjs/ColumnSizer/index.js +15 -0
- package/dist/commonjs/Grid/Grid.example.js +330 -0
- package/dist/commonjs/Grid/Grid.jest.js +2561 -0
- package/dist/commonjs/Grid/Grid.js +1432 -0
- package/dist/commonjs/Grid/Grid.ssr.js +62 -0
- package/dist/commonjs/Grid/accessibilityOverscanIndicesGetter.jest.js +92 -0
- package/dist/commonjs/Grid/accessibilityOverscanIndicesGetter.js +40 -0
- package/dist/commonjs/Grid/defaultCellRangeRenderer.js +139 -0
- package/dist/commonjs/Grid/defaultOverscanIndicesGetter.jest.js +92 -0
- package/dist/commonjs/Grid/defaultOverscanIndicesGetter.js +36 -0
- package/dist/commonjs/Grid/index.js +40 -0
- package/dist/commonjs/Grid/types.js +8 -0
- package/dist/commonjs/Grid/utils/CellSizeAndPositionManager.jest.js +375 -0
- package/dist/commonjs/Grid/utils/CellSizeAndPositionManager.js +296 -0
- package/dist/commonjs/Grid/utils/ScalingCellSizeAndPositionManager.jest.js +201 -0
- package/dist/commonjs/Grid/utils/ScalingCellSizeAndPositionManager.js +204 -0
- package/dist/commonjs/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.jest.js +84 -0
- package/dist/commonjs/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.js +59 -0
- package/dist/commonjs/Grid/utils/maxElementSize.js +22 -0
- package/dist/commonjs/Grid/utils/updateScrollIndexHelper.jest.js +180 -0
- package/dist/commonjs/Grid/utils/updateScrollIndexHelper.js +85 -0
- package/dist/commonjs/InfiniteLoader/InfiniteLoader.example.js +179 -0
- package/dist/commonjs/InfiniteLoader/InfiniteLoader.jest.js +571 -0
- package/dist/commonjs/InfiniteLoader/InfiniteLoader.js +274 -0
- package/dist/commonjs/InfiniteLoader/index.js +15 -0
- package/dist/commonjs/List/List.example.js +236 -0
- package/dist/commonjs/List/List.jest.js +517 -0
- package/dist/commonjs/List/List.js +318 -0
- package/dist/commonjs/List/index.js +19 -0
- package/dist/commonjs/List/types.js +6 -0
- package/dist/commonjs/Masonry/Masonry.example.js +287 -0
- package/dist/commonjs/Masonry/Masonry.jest.js +450 -0
- package/dist/commonjs/Masonry/Masonry.js +431 -0
- package/dist/commonjs/Masonry/PositionCache.js +88 -0
- package/dist/commonjs/Masonry/createCellPositioner.js +59 -0
- package/dist/commonjs/Masonry/index.js +22 -0
- package/dist/commonjs/MultiGrid/CellMeasurerCacheDecorator.js +106 -0
- package/dist/commonjs/MultiGrid/MultiGrid.example.js +131 -0
- package/dist/commonjs/MultiGrid/MultiGrid.jest.js +584 -0
- package/dist/commonjs/MultiGrid/MultiGrid.js +743 -0
- package/dist/commonjs/MultiGrid/index.js +15 -0
- package/dist/commonjs/ScrollSync/ScrollSync.example.js +257 -0
- package/dist/commonjs/ScrollSync/ScrollSync.jest.js +66 -0
- package/dist/commonjs/ScrollSync/ScrollSync.js +88 -0
- package/dist/commonjs/ScrollSync/index.js +15 -0
- package/dist/commonjs/Table/Column.jest.js +90 -0
- package/dist/commonjs/Table/Column.js +93 -0
- package/dist/commonjs/Table/SortDirection.js +19 -0
- package/dist/commonjs/Table/SortIndicator.js +40 -0
- package/dist/commonjs/Table/Table.example.js +325 -0
- package/dist/commonjs/Table/Table.jest.js +1257 -0
- package/dist/commonjs/Table/Table.js +742 -0
- package/dist/commonjs/Table/createMultiSort.jest.js +165 -0
- package/dist/commonjs/Table/createMultiSort.js +99 -0
- package/dist/commonjs/Table/defaultCellDataGetter.js +21 -0
- package/dist/commonjs/Table/defaultCellRenderer.js +19 -0
- package/dist/commonjs/Table/defaultHeaderRenderer.js +35 -0
- package/dist/commonjs/Table/defaultHeaderRowRenderer.js +21 -0
- package/dist/commonjs/Table/defaultRowRenderer.js +87 -0
- package/dist/commonjs/Table/index.js +78 -0
- package/dist/commonjs/Table/types.js +39 -0
- package/dist/commonjs/WindowScroller/WindowScroller.e2e.js +298 -0
- package/dist/commonjs/WindowScroller/WindowScroller.example.js +167 -0
- package/dist/commonjs/WindowScroller/WindowScroller.header-resize.e2e.js +359 -0
- package/dist/commonjs/WindowScroller/WindowScroller.jest.js +536 -0
- package/dist/commonjs/WindowScroller/WindowScroller.js +268 -0
- package/dist/commonjs/WindowScroller/WindowScroller.ssr.js +25 -0
- package/dist/commonjs/WindowScroller/index.js +23 -0
- package/dist/commonjs/WindowScroller/utils/dimensions.js +89 -0
- package/dist/commonjs/WindowScroller/utils/onScroll.js +70 -0
- package/dist/commonjs/index.js +180 -0
- package/dist/commonjs/jest-setup.js +7 -0
- package/dist/commonjs/utils/TestHelper.js +36 -0
- package/dist/commonjs/utils/animationFrame.js +29 -0
- package/dist/commonjs/utils/createCallbackMemoizer.jest.js +219 -0
- package/dist/commonjs/utils/createCallbackMemoizer.js +31 -0
- package/dist/commonjs/utils/getUpdatedOffsetForIndex.jest.js +68 -0
- package/dist/commonjs/utils/getUpdatedOffsetForIndex.js +38 -0
- package/dist/commonjs/utils/initCellMetadata.js +37 -0
- package/dist/commonjs/utils/requestAnimationTimeout.js +38 -0
- package/dist/commonjs/vendor/binarySearchBounds.js +200 -0
- package/dist/commonjs/vendor/detectElementResize.js +192 -0
- package/dist/commonjs/vendor/intervalTree.js +361 -0
- package/dist/es/ArrowKeyStepper/ArrowKeyStepper.example.js +176 -0
- package/dist/es/ArrowKeyStepper/ArrowKeyStepper.jest.js +332 -0
- package/dist/es/ArrowKeyStepper/ArrowKeyStepper.js +197 -0
- package/dist/es/ArrowKeyStepper/index.js +3 -0
- package/dist/es/ArrowKeyStepper/types.js +4 -0
- package/dist/es/AutoSizer/AutoSizer.example.js +96 -0
- package/dist/es/AutoSizer/AutoSizer.jest.js +335 -0
- package/dist/es/AutoSizer/AutoSizer.js +190 -0
- package/dist/es/AutoSizer/AutoSizer.js.flow +200 -0
- package/dist/es/AutoSizer/AutoSizer.ssr.js +19 -0
- package/dist/es/AutoSizer/index.js +2 -0
- package/dist/es/AutoSizer/index.js.flow +4 -0
- package/dist/es/CellMeasurer/CellMeasurer.DynamicHeightGrid.example.js +91 -0
- package/dist/es/CellMeasurer/CellMeasurer.DynamicHeightList.example.js +90 -0
- package/dist/es/CellMeasurer/CellMeasurer.DynamicHeightTableColumn.example.js +98 -0
- package/dist/es/CellMeasurer/CellMeasurer.DynamicWidthGrid.example.js +93 -0
- package/dist/es/CellMeasurer/CellMeasurer.DynamicWidthMultiGrid.example.js +98 -0
- package/dist/es/CellMeasurer/CellMeasurer.example.js +120 -0
- package/dist/es/CellMeasurer/CellMeasurer.jest.js +340 -0
- package/dist/es/CellMeasurer/CellMeasurer.js +187 -0
- package/dist/es/CellMeasurer/CellMeasurerCache.jest.js +293 -0
- package/dist/es/CellMeasurer/CellMeasurerCache.js +196 -0
- package/dist/es/CellMeasurer/index.js +4 -0
- package/dist/es/CellMeasurer/types.js +13 -0
- package/dist/es/Collection/Collection.example.js +223 -0
- package/dist/es/Collection/Collection.jest.js +824 -0
- package/dist/es/Collection/Collection.js +257 -0
- package/dist/es/Collection/CollectionView.js +544 -0
- package/dist/es/Collection/Section.jest.js +60 -0
- package/dist/es/Collection/Section.js +51 -0
- package/dist/es/Collection/SectionManager.jest.js +118 -0
- package/dist/es/Collection/SectionManager.js +128 -0
- package/dist/es/Collection/TestData.js +71 -0
- package/dist/es/Collection/index.js +3 -0
- package/dist/es/Collection/types.js +21 -0
- package/dist/es/Collection/utils/calculateSizeAndPositionData.jest.js +31 -0
- package/dist/es/Collection/utils/calculateSizeAndPositionData.js +31 -0
- package/dist/es/ColumnSizer/ColumnSizer.example.js +150 -0
- package/dist/es/ColumnSizer/ColumnSizer.jest.js +123 -0
- package/dist/es/ColumnSizer/ColumnSizer.js +95 -0
- package/dist/es/ColumnSizer/index.js +3 -0
- package/dist/es/Grid/Grid.example.js +321 -0
- package/dist/es/Grid/Grid.jest.js +2555 -0
- package/dist/es/Grid/Grid.js +1425 -0
- package/dist/es/Grid/Grid.ssr.js +57 -0
- package/dist/es/Grid/accessibilityOverscanIndicesGetter.jest.js +87 -0
- package/dist/es/Grid/accessibilityOverscanIndicesGetter.js +33 -0
- package/dist/es/Grid/defaultCellRangeRenderer.js +134 -0
- package/dist/es/Grid/defaultOverscanIndicesGetter.jest.js +87 -0
- package/dist/es/Grid/defaultOverscanIndicesGetter.js +29 -0
- package/dist/es/Grid/index.js +15 -0
- package/dist/es/Grid/types.js +96 -0
- package/dist/es/Grid/utils/CellSizeAndPositionManager.jest.js +372 -0
- package/dist/es/Grid/utils/CellSizeAndPositionManager.js +290 -0
- package/dist/es/Grid/utils/ScalingCellSizeAndPositionManager.jest.js +198 -0
- package/dist/es/Grid/utils/ScalingCellSizeAndPositionManager.js +198 -0
- package/dist/es/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.jest.js +81 -0
- package/dist/es/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.js +53 -0
- package/dist/es/Grid/utils/maxElementSize.js +16 -0
- package/dist/es/Grid/utils/updateScrollIndexHelper.jest.js +174 -0
- package/dist/es/Grid/utils/updateScrollIndexHelper.js +79 -0
- package/dist/es/InfiniteLoader/InfiniteLoader.example.js +170 -0
- package/dist/es/InfiniteLoader/InfiniteLoader.jest.js +565 -0
- package/dist/es/InfiniteLoader/InfiniteLoader.js +263 -0
- package/dist/es/InfiniteLoader/index.js +3 -0
- package/dist/es/List/List.example.js +227 -0
- package/dist/es/List/List.jest.js +511 -0
- package/dist/es/List/List.js +312 -0
- package/dist/es/List/index.js +3 -0
- package/dist/es/List/types.js +21 -0
- package/dist/es/Masonry/Masonry.example.js +278 -0
- package/dist/es/Masonry/Masonry.jest.js +444 -0
- package/dist/es/Masonry/Masonry.js +421 -0
- package/dist/es/Masonry/PositionCache.js +82 -0
- package/dist/es/Masonry/createCellPositioner.js +53 -0
- package/dist/es/Masonry/index.js +4 -0
- package/dist/es/MultiGrid/CellMeasurerCacheDecorator.js +100 -0
- package/dist/es/MultiGrid/MultiGrid.example.js +122 -0
- package/dist/es/MultiGrid/MultiGrid.jest.js +579 -0
- package/dist/es/MultiGrid/MultiGrid.js +733 -0
- package/dist/es/MultiGrid/index.js +3 -0
- package/dist/es/ScrollSync/ScrollSync.example.js +248 -0
- package/dist/es/ScrollSync/ScrollSync.jest.js +60 -0
- package/dist/es/ScrollSync/ScrollSync.js +80 -0
- package/dist/es/ScrollSync/index.js +3 -0
- package/dist/es/Table/Column.jest.js +84 -0
- package/dist/es/Table/Column.js +85 -0
- package/dist/es/Table/SortDirection.js +13 -0
- package/dist/es/Table/SortIndicator.js +31 -0
- package/dist/es/Table/Table.example.js +316 -0
- package/dist/es/Table/Table.jest.js +1251 -0
- package/dist/es/Table/Table.js +735 -0
- package/dist/es/Table/createMultiSort.jest.js +162 -0
- package/dist/es/Table/createMultiSort.js +93 -0
- package/dist/es/Table/defaultCellDataGetter.js +15 -0
- package/dist/es/Table/defaultCellRenderer.js +13 -0
- package/dist/es/Table/defaultHeaderRenderer.js +25 -0
- package/dist/es/Table/defaultHeaderRowRenderer.js +12 -0
- package/dist/es/Table/defaultRowRenderer.js +77 -0
- package/dist/es/Table/index.js +12 -0
- package/dist/es/Table/types.js +38 -0
- package/dist/es/WindowScroller/WindowScroller.e2e.js +295 -0
- package/dist/es/WindowScroller/WindowScroller.example.js +158 -0
- package/dist/es/WindowScroller/WindowScroller.header-resize.e2e.js +356 -0
- package/dist/es/WindowScroller/WindowScroller.jest.js +530 -0
- package/dist/es/WindowScroller/WindowScroller.js +259 -0
- package/dist/es/WindowScroller/WindowScroller.js.flow +277 -0
- package/dist/es/WindowScroller/WindowScroller.ssr.js +19 -0
- package/dist/es/WindowScroller/index.js +3 -0
- package/dist/es/WindowScroller/index.js.flow +6 -0
- package/dist/es/WindowScroller/utils/dimensions.js +81 -0
- package/dist/es/WindowScroller/utils/dimensions.js.flow +91 -0
- package/dist/es/WindowScroller/utils/onScroll.js +64 -0
- package/dist/es/WindowScroller/utils/onScroll.js.flow +94 -0
- package/dist/es/index.js +13 -0
- package/dist/es/jest-setup.js +5 -0
- package/dist/es/utils/TestHelper.js +30 -0
- package/dist/es/utils/animationFrame.js +23 -0
- package/dist/es/utils/createCallbackMemoizer.jest.js +216 -0
- package/dist/es/utils/createCallbackMemoizer.js +25 -0
- package/dist/es/utils/getUpdatedOffsetForIndex.jest.js +65 -0
- package/dist/es/utils/getUpdatedOffsetForIndex.js +32 -0
- package/dist/es/utils/initCellMetadata.js +31 -0
- package/dist/es/utils/requestAnimationTimeout.js +32 -0
- package/dist/es/vendor/binarySearchBounds.js +194 -0
- package/dist/es/vendor/detectElementResize.js +186 -0
- package/dist/es/vendor/intervalTree.js +354 -0
- package/dist/umd/react-virtualized.js +4638 -0
- package/package.json +188 -0
- package/styles.css +80 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(exports, "MultiGrid", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _MultiGrid["default"];
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
exports["default"] = void 0;
|
|
14
|
+
var _MultiGrid = _interopRequireDefault(require("./MultiGrid"));
|
|
15
|
+
var _default = exports["default"] = _MultiGrid["default"];
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var React = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _ContentBox = require("../demo/ContentBox");
|
|
16
|
+
var _AutoSizer = _interopRequireDefault(require("../AutoSizer"));
|
|
17
|
+
var _Grid = _interopRequireDefault(require("../Grid"));
|
|
18
|
+
var _ScrollSync = _interopRequireDefault(require("./ScrollSync"));
|
|
19
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
20
|
+
var _ScrollSyncExample = _interopRequireDefault(require("./ScrollSync.example.css"));
|
|
21
|
+
var _scrollbarSize = _interopRequireDefault(require("dom-helpers/scrollbarSize"));
|
|
22
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
23
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
24
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
25
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
26
|
+
var LEFT_COLOR_FROM = hexToRgb('#471061');
|
|
27
|
+
var LEFT_COLOR_TO = hexToRgb('#BC3959');
|
|
28
|
+
var TOP_COLOR_FROM = hexToRgb('#000000');
|
|
29
|
+
var TOP_COLOR_TO = hexToRgb('#333333');
|
|
30
|
+
var GridExample = exports["default"] = /*#__PURE__*/function (_React$PureComponent) {
|
|
31
|
+
function GridExample(props, context) {
|
|
32
|
+
var _this;
|
|
33
|
+
(0, _classCallCheck2["default"])(this, GridExample);
|
|
34
|
+
_this = _callSuper(this, GridExample, [props, context]);
|
|
35
|
+
_this.state = {
|
|
36
|
+
columnWidth: 75,
|
|
37
|
+
columnCount: 50,
|
|
38
|
+
height: 300,
|
|
39
|
+
overscanColumnCount: 0,
|
|
40
|
+
overscanRowCount: 5,
|
|
41
|
+
rowHeight: 40,
|
|
42
|
+
rowCount: 100
|
|
43
|
+
};
|
|
44
|
+
_this._renderBodyCell = _this._renderBodyCell.bind(_this);
|
|
45
|
+
_this._renderHeaderCell = _this._renderHeaderCell.bind(_this);
|
|
46
|
+
_this._renderLeftSideCell = _this._renderLeftSideCell.bind(_this);
|
|
47
|
+
return _this;
|
|
48
|
+
}
|
|
49
|
+
(0, _inherits2["default"])(GridExample, _React$PureComponent);
|
|
50
|
+
return (0, _createClass2["default"])(GridExample, [{
|
|
51
|
+
key: "render",
|
|
52
|
+
value: function render() {
|
|
53
|
+
var _this2 = this;
|
|
54
|
+
var _this$state = this.state,
|
|
55
|
+
columnCount = _this$state.columnCount,
|
|
56
|
+
columnWidth = _this$state.columnWidth,
|
|
57
|
+
height = _this$state.height,
|
|
58
|
+
overscanColumnCount = _this$state.overscanColumnCount,
|
|
59
|
+
overscanRowCount = _this$state.overscanRowCount,
|
|
60
|
+
rowHeight = _this$state.rowHeight,
|
|
61
|
+
rowCount = _this$state.rowCount;
|
|
62
|
+
return /*#__PURE__*/React.createElement(_ContentBox.ContentBox, null, /*#__PURE__*/React.createElement(_ContentBox.ContentBoxHeader, {
|
|
63
|
+
text: "ScrollSync",
|
|
64
|
+
sourceLink: "https://github.com/bvaughn/react-virtualized/blob/master/source/ScrollSync/ScrollSync.example.js",
|
|
65
|
+
docsLink: "https://github.com/bvaughn/react-virtualized/blob/master/docs/ScrollSync.md"
|
|
66
|
+
}), /*#__PURE__*/React.createElement(_ContentBox.ContentBoxParagraph, null, "High order component that simplifies the process of synchronizing scrolling between two or more virtualized components."), /*#__PURE__*/React.createElement(_ContentBox.ContentBoxParagraph, null, "This example shows two ", /*#__PURE__*/React.createElement("code", null, "Grid"), "s and one ", /*#__PURE__*/React.createElement("code", null, "List"), ' ', "configured to mimic a spreadsheet with a fixed header and first column. It also shows how a scroll callback can be used to control UI properties such as background color."), /*#__PURE__*/React.createElement(_ScrollSync["default"], null, function (_ref) {
|
|
67
|
+
var clientHeight = _ref.clientHeight,
|
|
68
|
+
clientWidth = _ref.clientWidth,
|
|
69
|
+
onScroll = _ref.onScroll,
|
|
70
|
+
scrollHeight = _ref.scrollHeight,
|
|
71
|
+
scrollLeft = _ref.scrollLeft,
|
|
72
|
+
scrollTop = _ref.scrollTop,
|
|
73
|
+
scrollWidth = _ref.scrollWidth;
|
|
74
|
+
var x = scrollLeft / (scrollWidth - clientWidth);
|
|
75
|
+
var y = scrollTop / (scrollHeight - clientHeight);
|
|
76
|
+
var leftBackgroundColor = mixColors(LEFT_COLOR_FROM, LEFT_COLOR_TO, y);
|
|
77
|
+
var leftColor = '#ffffff';
|
|
78
|
+
var topBackgroundColor = mixColors(TOP_COLOR_FROM, TOP_COLOR_TO, x);
|
|
79
|
+
var topColor = '#ffffff';
|
|
80
|
+
var middleBackgroundColor = mixColors(leftBackgroundColor, topBackgroundColor, 0.5);
|
|
81
|
+
var middleColor = '#ffffff';
|
|
82
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
83
|
+
className: _ScrollSyncExample["default"].GridRow
|
|
84
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
className: _ScrollSyncExample["default"].LeftSideGridContainer,
|
|
86
|
+
style: {
|
|
87
|
+
position: 'absolute',
|
|
88
|
+
left: 0,
|
|
89
|
+
top: 0,
|
|
90
|
+
color: leftColor,
|
|
91
|
+
backgroundColor: "rgb(".concat(topBackgroundColor.r, ",").concat(topBackgroundColor.g, ",").concat(topBackgroundColor.b, ")")
|
|
92
|
+
}
|
|
93
|
+
}, /*#__PURE__*/React.createElement(_Grid["default"], {
|
|
94
|
+
cellRenderer: _this2._renderLeftHeaderCell,
|
|
95
|
+
className: _ScrollSyncExample["default"].HeaderGrid,
|
|
96
|
+
width: columnWidth,
|
|
97
|
+
height: rowHeight,
|
|
98
|
+
rowHeight: rowHeight,
|
|
99
|
+
columnWidth: columnWidth,
|
|
100
|
+
rowCount: 1,
|
|
101
|
+
columnCount: 1
|
|
102
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
103
|
+
className: _ScrollSyncExample["default"].LeftSideGridContainer,
|
|
104
|
+
style: {
|
|
105
|
+
position: 'absolute',
|
|
106
|
+
left: 0,
|
|
107
|
+
top: rowHeight,
|
|
108
|
+
color: leftColor,
|
|
109
|
+
backgroundColor: "rgb(".concat(leftBackgroundColor.r, ",").concat(leftBackgroundColor.g, ",").concat(leftBackgroundColor.b, ")")
|
|
110
|
+
}
|
|
111
|
+
}, /*#__PURE__*/React.createElement(_Grid["default"], {
|
|
112
|
+
overscanColumnCount: overscanColumnCount,
|
|
113
|
+
overscanRowCount: overscanRowCount,
|
|
114
|
+
cellRenderer: _this2._renderLeftSideCell,
|
|
115
|
+
columnWidth: columnWidth,
|
|
116
|
+
columnCount: 1,
|
|
117
|
+
className: _ScrollSyncExample["default"].LeftSideGrid,
|
|
118
|
+
height: height - (0, _scrollbarSize["default"])(),
|
|
119
|
+
rowHeight: rowHeight,
|
|
120
|
+
rowCount: rowCount,
|
|
121
|
+
scrollTop: scrollTop,
|
|
122
|
+
width: columnWidth
|
|
123
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
124
|
+
className: _ScrollSyncExample["default"].GridColumn
|
|
125
|
+
}, /*#__PURE__*/React.createElement(_AutoSizer["default"], {
|
|
126
|
+
disableHeight: true
|
|
127
|
+
}, function (_ref2) {
|
|
128
|
+
var width = _ref2.width;
|
|
129
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
|
|
130
|
+
style: {
|
|
131
|
+
backgroundColor: "rgb(".concat(topBackgroundColor.r, ",").concat(topBackgroundColor.g, ",").concat(topBackgroundColor.b, ")"),
|
|
132
|
+
color: topColor,
|
|
133
|
+
height: rowHeight,
|
|
134
|
+
width: width - (0, _scrollbarSize["default"])()
|
|
135
|
+
}
|
|
136
|
+
}, /*#__PURE__*/React.createElement(_Grid["default"], {
|
|
137
|
+
className: _ScrollSyncExample["default"].HeaderGrid,
|
|
138
|
+
columnWidth: columnWidth,
|
|
139
|
+
columnCount: columnCount,
|
|
140
|
+
height: rowHeight,
|
|
141
|
+
overscanColumnCount: overscanColumnCount,
|
|
142
|
+
cellRenderer: _this2._renderHeaderCell,
|
|
143
|
+
rowHeight: rowHeight,
|
|
144
|
+
rowCount: 1,
|
|
145
|
+
scrollLeft: scrollLeft,
|
|
146
|
+
width: width - (0, _scrollbarSize["default"])()
|
|
147
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
148
|
+
style: {
|
|
149
|
+
backgroundColor: "rgb(".concat(middleBackgroundColor.r, ",").concat(middleBackgroundColor.g, ",").concat(middleBackgroundColor.b, ")"),
|
|
150
|
+
color: middleColor,
|
|
151
|
+
height: height,
|
|
152
|
+
width: width
|
|
153
|
+
}
|
|
154
|
+
}, /*#__PURE__*/React.createElement(_Grid["default"], {
|
|
155
|
+
className: _ScrollSyncExample["default"].BodyGrid,
|
|
156
|
+
columnWidth: columnWidth,
|
|
157
|
+
columnCount: columnCount,
|
|
158
|
+
height: height,
|
|
159
|
+
onScroll: onScroll,
|
|
160
|
+
overscanColumnCount: overscanColumnCount,
|
|
161
|
+
overscanRowCount: overscanRowCount,
|
|
162
|
+
cellRenderer: _this2._renderBodyCell,
|
|
163
|
+
rowHeight: rowHeight,
|
|
164
|
+
rowCount: rowCount,
|
|
165
|
+
width: width
|
|
166
|
+
})));
|
|
167
|
+
})));
|
|
168
|
+
}));
|
|
169
|
+
}
|
|
170
|
+
}, {
|
|
171
|
+
key: "_renderBodyCell",
|
|
172
|
+
value: function _renderBodyCell(_ref3) {
|
|
173
|
+
var columnIndex = _ref3.columnIndex,
|
|
174
|
+
key = _ref3.key,
|
|
175
|
+
rowIndex = _ref3.rowIndex,
|
|
176
|
+
style = _ref3.style;
|
|
177
|
+
if (columnIndex < 1) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
return this._renderLeftSideCell({
|
|
181
|
+
columnIndex: columnIndex,
|
|
182
|
+
key: key,
|
|
183
|
+
rowIndex: rowIndex,
|
|
184
|
+
style: style
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}, {
|
|
188
|
+
key: "_renderHeaderCell",
|
|
189
|
+
value: function _renderHeaderCell(_ref4) {
|
|
190
|
+
var columnIndex = _ref4.columnIndex,
|
|
191
|
+
key = _ref4.key,
|
|
192
|
+
rowIndex = _ref4.rowIndex,
|
|
193
|
+
style = _ref4.style;
|
|
194
|
+
if (columnIndex < 1) {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
return this._renderLeftHeaderCell({
|
|
198
|
+
columnIndex: columnIndex,
|
|
199
|
+
key: key,
|
|
200
|
+
rowIndex: rowIndex,
|
|
201
|
+
style: style
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}, {
|
|
205
|
+
key: "_renderLeftHeaderCell",
|
|
206
|
+
value: function _renderLeftHeaderCell(_ref5) {
|
|
207
|
+
var columnIndex = _ref5.columnIndex,
|
|
208
|
+
key = _ref5.key,
|
|
209
|
+
style = _ref5.style;
|
|
210
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
211
|
+
className: _ScrollSyncExample["default"].headerCell,
|
|
212
|
+
key: key,
|
|
213
|
+
style: style
|
|
214
|
+
}, "C".concat(columnIndex));
|
|
215
|
+
}
|
|
216
|
+
}, {
|
|
217
|
+
key: "_renderLeftSideCell",
|
|
218
|
+
value: function _renderLeftSideCell(_ref6) {
|
|
219
|
+
var columnIndex = _ref6.columnIndex,
|
|
220
|
+
key = _ref6.key,
|
|
221
|
+
rowIndex = _ref6.rowIndex,
|
|
222
|
+
style = _ref6.style;
|
|
223
|
+
var rowClass = rowIndex % 2 === 0 ? columnIndex % 2 === 0 ? _ScrollSyncExample["default"].evenRow : _ScrollSyncExample["default"].oddRow : columnIndex % 2 !== 0 ? _ScrollSyncExample["default"].evenRow : _ScrollSyncExample["default"].oddRow;
|
|
224
|
+
var classNames = (0, _clsx["default"])(rowClass, _ScrollSyncExample["default"].cell);
|
|
225
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
226
|
+
className: classNames,
|
|
227
|
+
key: key,
|
|
228
|
+
style: style
|
|
229
|
+
}, "R".concat(rowIndex, ", C").concat(columnIndex));
|
|
230
|
+
}
|
|
231
|
+
}]);
|
|
232
|
+
}(React.PureComponent);
|
|
233
|
+
function hexToRgb(hex) {
|
|
234
|
+
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
235
|
+
return result ? {
|
|
236
|
+
r: parseInt(result[1], 16),
|
|
237
|
+
g: parseInt(result[2], 16),
|
|
238
|
+
b: parseInt(result[3], 16)
|
|
239
|
+
} : null;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Ported from sass implementation in C
|
|
244
|
+
* https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209
|
|
245
|
+
*/
|
|
246
|
+
function mixColors(color1, color2, amount) {
|
|
247
|
+
var weight1 = amount;
|
|
248
|
+
var weight2 = 1 - amount;
|
|
249
|
+
var r = Math.round(weight1 * color1.r + weight2 * color2.r);
|
|
250
|
+
var g = Math.round(weight1 * color1.g + weight2 * color2.g);
|
|
251
|
+
var b = Math.round(weight1 * color1.b + weight2 * color2.b);
|
|
252
|
+
return {
|
|
253
|
+
r: r,
|
|
254
|
+
g: g,
|
|
255
|
+
b: b
|
|
256
|
+
};
|
|
257
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
var React = _interopRequireWildcard(require("react"));
|
|
6
|
+
var _reactDom = require("react-dom");
|
|
7
|
+
var _TestUtils = require("../TestUtils");
|
|
8
|
+
var _ScrollSync = _interopRequireDefault(require("./ScrollSync"));
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
11
|
+
function ChildComponent(_ref) {
|
|
12
|
+
var clientHeight = _ref.clientHeight,
|
|
13
|
+
clientWidth = _ref.clientWidth,
|
|
14
|
+
scrollHeight = _ref.scrollHeight,
|
|
15
|
+
scrollLeft = _ref.scrollLeft,
|
|
16
|
+
scrollTop = _ref.scrollTop,
|
|
17
|
+
scrollWidth = _ref.scrollWidth;
|
|
18
|
+
return /*#__PURE__*/React.createElement("div", null, "clientHeight:".concat(clientHeight), "clientWidth:".concat(clientWidth), "scrollHeight:".concat(scrollHeight), "scrollLeft:".concat(scrollLeft), "scrollTop:".concat(scrollTop), "scrollWidth:".concat(scrollWidth));
|
|
19
|
+
}
|
|
20
|
+
describe('ScrollSync', function () {
|
|
21
|
+
it('should pass through an initial value of 0 for :scrollLeft and :scrollTop', function () {
|
|
22
|
+
var component = (0, _TestUtils.render)(/*#__PURE__*/React.createElement(_ScrollSync["default"], null, function (_ref2) {
|
|
23
|
+
var clientHeight = _ref2.clientHeight,
|
|
24
|
+
clientWidth = _ref2.clientWidth,
|
|
25
|
+
scrollHeight = _ref2.scrollHeight,
|
|
26
|
+
scrollLeft = _ref2.scrollLeft,
|
|
27
|
+
scrollTop = _ref2.scrollTop,
|
|
28
|
+
scrollWidth = _ref2.scrollWidth;
|
|
29
|
+
return /*#__PURE__*/React.createElement(ChildComponent, {
|
|
30
|
+
clientHeight: clientHeight,
|
|
31
|
+
clientWidth: clientWidth,
|
|
32
|
+
scrollHeight: scrollHeight,
|
|
33
|
+
scrollLeft: scrollLeft,
|
|
34
|
+
scrollTop: scrollTop,
|
|
35
|
+
scrollWidth: scrollWidth
|
|
36
|
+
});
|
|
37
|
+
}));
|
|
38
|
+
expect((0, _reactDom.findDOMNode)(component).textContent).toContain('clientHeight:0');
|
|
39
|
+
expect((0, _reactDom.findDOMNode)(component).textContent).toContain('clientWidth:0');
|
|
40
|
+
expect((0, _reactDom.findDOMNode)(component).textContent).toContain('scrollHeight:0');
|
|
41
|
+
expect((0, _reactDom.findDOMNode)(component).textContent).toContain('scrollLeft:0');
|
|
42
|
+
expect((0, _reactDom.findDOMNode)(component).textContent).toContain('scrollTop:0');
|
|
43
|
+
expect((0, _reactDom.findDOMNode)(component).textContent).toContain('scrollWidth:0');
|
|
44
|
+
});
|
|
45
|
+
it('should update :scrollLeft and :scrollTop when :onScroll is called', function () {
|
|
46
|
+
var onScroll;
|
|
47
|
+
var component = (0, _TestUtils.render)(/*#__PURE__*/React.createElement(_ScrollSync["default"], null, function (params) {
|
|
48
|
+
onScroll = params.onScroll;
|
|
49
|
+
return /*#__PURE__*/React.createElement(ChildComponent, params);
|
|
50
|
+
}));
|
|
51
|
+
onScroll({
|
|
52
|
+
clientHeight: 400,
|
|
53
|
+
clientWidth: 200,
|
|
54
|
+
scrollHeight: 1000,
|
|
55
|
+
scrollLeft: 50,
|
|
56
|
+
scrollTop: 100,
|
|
57
|
+
scrollWidth: 500
|
|
58
|
+
});
|
|
59
|
+
expect((0, _reactDom.findDOMNode)(component).textContent).toContain('clientHeight:400');
|
|
60
|
+
expect((0, _reactDom.findDOMNode)(component).textContent).toContain('clientWidth:200');
|
|
61
|
+
expect((0, _reactDom.findDOMNode)(component).textContent).toContain('scrollHeight:1000');
|
|
62
|
+
expect((0, _reactDom.findDOMNode)(component).textContent).toContain('scrollLeft:50');
|
|
63
|
+
expect((0, _reactDom.findDOMNode)(component).textContent).toContain('scrollTop:100');
|
|
64
|
+
expect((0, _reactDom.findDOMNode)(component).textContent).toContain('scrollWidth:500');
|
|
65
|
+
});
|
|
66
|
+
});
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
var React = _interopRequireWildcard(require("react"));
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
18
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
19
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
20
|
+
/**
|
|
21
|
+
* HOC that simplifies the process of synchronizing scrolling between two or more virtualized components.
|
|
22
|
+
*/
|
|
23
|
+
var ScrollSync = exports["default"] = /*#__PURE__*/function (_React$PureComponent) {
|
|
24
|
+
function ScrollSync(props, context) {
|
|
25
|
+
var _this;
|
|
26
|
+
(0, _classCallCheck2["default"])(this, ScrollSync);
|
|
27
|
+
_this = _callSuper(this, ScrollSync, [props, context]);
|
|
28
|
+
_this.state = {
|
|
29
|
+
clientHeight: 0,
|
|
30
|
+
clientWidth: 0,
|
|
31
|
+
scrollHeight: 0,
|
|
32
|
+
scrollLeft: 0,
|
|
33
|
+
scrollTop: 0,
|
|
34
|
+
scrollWidth: 0
|
|
35
|
+
};
|
|
36
|
+
_this._onScroll = _this._onScroll.bind(_this);
|
|
37
|
+
return _this;
|
|
38
|
+
}
|
|
39
|
+
(0, _inherits2["default"])(ScrollSync, _React$PureComponent);
|
|
40
|
+
return (0, _createClass2["default"])(ScrollSync, [{
|
|
41
|
+
key: "render",
|
|
42
|
+
value: function render() {
|
|
43
|
+
var children = this.props.children;
|
|
44
|
+
var _this$state = this.state,
|
|
45
|
+
clientHeight = _this$state.clientHeight,
|
|
46
|
+
clientWidth = _this$state.clientWidth,
|
|
47
|
+
scrollHeight = _this$state.scrollHeight,
|
|
48
|
+
scrollLeft = _this$state.scrollLeft,
|
|
49
|
+
scrollTop = _this$state.scrollTop,
|
|
50
|
+
scrollWidth = _this$state.scrollWidth;
|
|
51
|
+
return children({
|
|
52
|
+
clientHeight: clientHeight,
|
|
53
|
+
clientWidth: clientWidth,
|
|
54
|
+
onScroll: this._onScroll,
|
|
55
|
+
scrollHeight: scrollHeight,
|
|
56
|
+
scrollLeft: scrollLeft,
|
|
57
|
+
scrollTop: scrollTop,
|
|
58
|
+
scrollWidth: scrollWidth
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}, {
|
|
62
|
+
key: "_onScroll",
|
|
63
|
+
value: function _onScroll(_ref) {
|
|
64
|
+
var clientHeight = _ref.clientHeight,
|
|
65
|
+
clientWidth = _ref.clientWidth,
|
|
66
|
+
scrollHeight = _ref.scrollHeight,
|
|
67
|
+
scrollLeft = _ref.scrollLeft,
|
|
68
|
+
scrollTop = _ref.scrollTop,
|
|
69
|
+
scrollWidth = _ref.scrollWidth;
|
|
70
|
+
this.setState({
|
|
71
|
+
clientHeight: clientHeight,
|
|
72
|
+
clientWidth: clientWidth,
|
|
73
|
+
scrollHeight: scrollHeight,
|
|
74
|
+
scrollLeft: scrollLeft,
|
|
75
|
+
scrollTop: scrollTop,
|
|
76
|
+
scrollWidth: scrollWidth
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}]);
|
|
80
|
+
}(React.PureComponent);
|
|
81
|
+
ScrollSync.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
82
|
+
/**
|
|
83
|
+
* Function responsible for rendering 2 or more virtualized components.
|
|
84
|
+
* This function should implement the following signature:
|
|
85
|
+
* ({ onScroll, scrollLeft, scrollTop }) => PropTypes.element
|
|
86
|
+
*/
|
|
87
|
+
children: _propTypes["default"].func.isRequired
|
|
88
|
+
} : {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(exports, "ScrollSync", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _ScrollSync["default"];
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
exports["default"] = void 0;
|
|
14
|
+
var _ScrollSync = _interopRequireDefault(require("./ScrollSync"));
|
|
15
|
+
var _default = exports["default"] = _ScrollSync["default"];
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
var React = _interopRequireWildcard(require("react"));
|
|
6
|
+
var _immutable = _interopRequireDefault(require("immutable"));
|
|
7
|
+
var _defaultCellDataGetter = _interopRequireDefault(require("./defaultCellDataGetter"));
|
|
8
|
+
var _defaultCellRenderer = _interopRequireDefault(require("./defaultCellRenderer"));
|
|
9
|
+
var _defaultHeaderRenderer = _interopRequireDefault(require("./defaultHeaderRenderer"));
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
12
|
+
describe('Column', function () {
|
|
13
|
+
var rowData = _immutable["default"].Map({
|
|
14
|
+
foo: 'Foo',
|
|
15
|
+
bar: 1
|
|
16
|
+
});
|
|
17
|
+
describe('defaultCellDataGetter', function () {
|
|
18
|
+
it('should return a value for specified attributes', function () {
|
|
19
|
+
expect((0, _defaultCellDataGetter["default"])({
|
|
20
|
+
dataKey: 'foo',
|
|
21
|
+
rowData: rowData
|
|
22
|
+
})).toEqual('Foo');
|
|
23
|
+
expect((0, _defaultCellDataGetter["default"])({
|
|
24
|
+
dataKey: 'bar',
|
|
25
|
+
rowData: rowData
|
|
26
|
+
})).toEqual(1);
|
|
27
|
+
});
|
|
28
|
+
it('should return undefined for missing attributes', function () {
|
|
29
|
+
expect((0, _defaultCellDataGetter["default"])({
|
|
30
|
+
dataKey: 'baz',
|
|
31
|
+
rowData: rowData
|
|
32
|
+
})).toEqual(undefined);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
describe('defaultCellRenderer', function () {
|
|
36
|
+
it('should render a value for specified attributes', function () {
|
|
37
|
+
expect((0, _defaultCellRenderer["default"])({
|
|
38
|
+
cellData: 'Foo',
|
|
39
|
+
dataKey: 'foo',
|
|
40
|
+
rowData: rowData,
|
|
41
|
+
rowIndex: 0
|
|
42
|
+
})).toEqual('Foo');
|
|
43
|
+
expect((0, _defaultCellRenderer["default"])({
|
|
44
|
+
cellData: 1,
|
|
45
|
+
dataKey: 'bar',
|
|
46
|
+
rowData: rowData,
|
|
47
|
+
rowIndex: 0
|
|
48
|
+
})).toEqual('1');
|
|
49
|
+
});
|
|
50
|
+
it('should render empty string for null or missing attributes', function () {
|
|
51
|
+
expect((0, _defaultCellRenderer["default"])({
|
|
52
|
+
cellData: null,
|
|
53
|
+
dataKey: 'baz',
|
|
54
|
+
rowData: rowData,
|
|
55
|
+
rowIndex: 0
|
|
56
|
+
})).toEqual('');
|
|
57
|
+
expect((0, _defaultCellRenderer["default"])({
|
|
58
|
+
cellData: undefined,
|
|
59
|
+
dataKey: 'baz',
|
|
60
|
+
rowData: rowData,
|
|
61
|
+
rowIndex: 0
|
|
62
|
+
})).toEqual('');
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
describe('defaultHeaderRenderer', function () {
|
|
66
|
+
it('should render a value for specified attributes', function () {
|
|
67
|
+
expect((0, _defaultHeaderRenderer["default"])({
|
|
68
|
+
dataKey: 'foo',
|
|
69
|
+
label: 'squirrel'
|
|
70
|
+
})[0].props.children).toEqual('squirrel');
|
|
71
|
+
var label = /*#__PURE__*/React.createElement("div", {
|
|
72
|
+
className: "rabbit"
|
|
73
|
+
}, "Rabbit");
|
|
74
|
+
expect((0, _defaultHeaderRenderer["default"])({
|
|
75
|
+
dataKey: 'bar',
|
|
76
|
+
label: label
|
|
77
|
+
})[0].props.children).toEqual(label);
|
|
78
|
+
});
|
|
79
|
+
it('should render empty string for null or missing attributes', function () {
|
|
80
|
+
expect((0, _defaultHeaderRenderer["default"])({
|
|
81
|
+
dataKey: 'foo',
|
|
82
|
+
label: null
|
|
83
|
+
})[0].props.children).toBeNull();
|
|
84
|
+
expect((0, _defaultHeaderRenderer["default"])({
|
|
85
|
+
dataKey: 'bar',
|
|
86
|
+
label: undefined
|
|
87
|
+
})[0].props.children).toBeUndefined();
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
});
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
16
|
+
var React = _interopRequireWildcard(require("react"));
|
|
17
|
+
var _defaultHeaderRenderer = _interopRequireDefault(require("./defaultHeaderRenderer"));
|
|
18
|
+
var _defaultCellRenderer = _interopRequireDefault(require("./defaultCellRenderer"));
|
|
19
|
+
var _defaultCellDataGetter = _interopRequireDefault(require("./defaultCellDataGetter"));
|
|
20
|
+
var _SortDirection = _interopRequireDefault(require("./SortDirection"));
|
|
21
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
22
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
23
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
24
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
25
|
+
/**
|
|
26
|
+
* Describes the header and cell contents of a table column.
|
|
27
|
+
*/
|
|
28
|
+
var Column = exports["default"] = /*#__PURE__*/function (_React$Component) {
|
|
29
|
+
function Column() {
|
|
30
|
+
(0, _classCallCheck2["default"])(this, Column);
|
|
31
|
+
return _callSuper(this, Column, arguments);
|
|
32
|
+
}
|
|
33
|
+
(0, _inherits2["default"])(Column, _React$Component);
|
|
34
|
+
return (0, _createClass2["default"])(Column);
|
|
35
|
+
}(React.Component);
|
|
36
|
+
(0, _defineProperty2["default"])(Column, "defaultProps", {
|
|
37
|
+
cellDataGetter: _defaultCellDataGetter["default"],
|
|
38
|
+
cellRenderer: _defaultCellRenderer["default"],
|
|
39
|
+
defaultSortDirection: _SortDirection["default"].ASC,
|
|
40
|
+
flexGrow: 0,
|
|
41
|
+
flexShrink: 1,
|
|
42
|
+
headerRenderer: _defaultHeaderRenderer["default"],
|
|
43
|
+
style: {}
|
|
44
|
+
});
|
|
45
|
+
Column.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
46
|
+
/** Optional aria-label value to set on the column header */
|
|
47
|
+
'aria-label': _propTypes["default"].string,
|
|
48
|
+
/**
|
|
49
|
+
* Callback responsible for returning a cell's data, given its :dataKey
|
|
50
|
+
* ({ columnData: any, dataKey: string, rowData: any }): any
|
|
51
|
+
*/
|
|
52
|
+
cellDataGetter: _propTypes["default"].func,
|
|
53
|
+
/**
|
|
54
|
+
* Callback responsible for rendering a cell's contents.
|
|
55
|
+
* ({ cellData: any, columnData: any, dataKey: string, rowData: any, rowIndex: number }): node
|
|
56
|
+
*/
|
|
57
|
+
cellRenderer: _propTypes["default"].func,
|
|
58
|
+
/** Optional CSS class to apply to cell */
|
|
59
|
+
className: _propTypes["default"].string,
|
|
60
|
+
/** Optional additional data passed to this column's :cellDataGetter */
|
|
61
|
+
columnData: _propTypes["default"].object,
|
|
62
|
+
/** Uniquely identifies the row-data attribute corresponding to this cell */
|
|
63
|
+
dataKey: _propTypes["default"].any.isRequired,
|
|
64
|
+
/** Optional direction to be used when clicked the first time */
|
|
65
|
+
defaultSortDirection: _propTypes["default"].oneOf([_SortDirection["default"].ASC, _SortDirection["default"].DESC]),
|
|
66
|
+
/** If sort is enabled for the table at large, disable it for this column */
|
|
67
|
+
disableSort: _propTypes["default"].bool,
|
|
68
|
+
/** Flex grow style; defaults to 0 */
|
|
69
|
+
flexGrow: _propTypes["default"].number,
|
|
70
|
+
/** Flex shrink style; defaults to 1 */
|
|
71
|
+
flexShrink: _propTypes["default"].number,
|
|
72
|
+
/** Optional CSS class to apply to this column's header */
|
|
73
|
+
headerClassName: _propTypes["default"].string,
|
|
74
|
+
/**
|
|
75
|
+
* Optional callback responsible for rendering a column header contents.
|
|
76
|
+
* ({ columnData: object, dataKey: string, disableSort: boolean, label: node, sortBy: string, sortDirection: string }): PropTypes.node
|
|
77
|
+
*/
|
|
78
|
+
headerRenderer: _propTypes["default"].func.isRequired,
|
|
79
|
+
/** Optional inline style to apply to this column's header */
|
|
80
|
+
headerStyle: _propTypes["default"].object,
|
|
81
|
+
/** Optional id to set on the column header */
|
|
82
|
+
id: _propTypes["default"].string,
|
|
83
|
+
/** Header label for this column */
|
|
84
|
+
label: _propTypes["default"].node,
|
|
85
|
+
/** Maximum width of column; this property will only be used if :flexGrow is > 0. */
|
|
86
|
+
maxWidth: _propTypes["default"].number,
|
|
87
|
+
/** Minimum width of column. */
|
|
88
|
+
minWidth: _propTypes["default"].number,
|
|
89
|
+
/** Optional inline style to apply to cell */
|
|
90
|
+
style: _propTypes["default"].object,
|
|
91
|
+
/** Flex basis (width) for this column; This value can grow or shrink based on :flexGrow and :flexShrink properties. */
|
|
92
|
+
width: _propTypes["default"].number.isRequired
|
|
93
|
+
} : {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var SortDirection = {
|
|
8
|
+
/**
|
|
9
|
+
* Sort items in ascending order.
|
|
10
|
+
* This means arranging from the lowest value to the highest (e.g. a-z, 0-9).
|
|
11
|
+
*/
|
|
12
|
+
ASC: 'ASC',
|
|
13
|
+
/**
|
|
14
|
+
* Sort items in descending order.
|
|
15
|
+
* This means arranging from the highest value to the lowest (e.g. z-a, 9-0).
|
|
16
|
+
*/
|
|
17
|
+
DESC: 'DESC'
|
|
18
|
+
};
|
|
19
|
+
var _default = exports["default"] = SortDirection;
|