@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,197 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
4
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
5
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
7
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
10
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
11
|
+
/*:: import type {RenderedSection} from '../Grid';*/
|
|
12
|
+
/*:: import type {ScrollIndices} from './types';*/
|
|
13
|
+
import * as React from 'react';
|
|
14
|
+
import { polyfill } from 'react-lifecycles-compat';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* This HOC decorates a virtualized component and responds to arrow-key events by scrolling one row or column at a time.
|
|
18
|
+
*/
|
|
19
|
+
/*:: type ChildrenParams = {
|
|
20
|
+
onSectionRendered: (params: RenderedSection) => void,
|
|
21
|
+
scrollToColumn: number,
|
|
22
|
+
scrollToRow: number,
|
|
23
|
+
};*/
|
|
24
|
+
/*:: type Props = {
|
|
25
|
+
children: (params: ChildrenParams) => React.Element<*>,
|
|
26
|
+
className?: string,
|
|
27
|
+
columnCount: number,
|
|
28
|
+
disabled: boolean,
|
|
29
|
+
isControlled: boolean,
|
|
30
|
+
mode: 'cells' | 'edges',
|
|
31
|
+
onScrollToChange?: (params: ScrollIndices) => void,
|
|
32
|
+
rowCount: number,
|
|
33
|
+
scrollToColumn: number,
|
|
34
|
+
scrollToRow: number,
|
|
35
|
+
};*/
|
|
36
|
+
/*:: type State = ScrollIndices & {
|
|
37
|
+
instanceProps: {
|
|
38
|
+
prevScrollToColumn: number,
|
|
39
|
+
prevScrollToRow: number,
|
|
40
|
+
},
|
|
41
|
+
};*/
|
|
42
|
+
var ArrowKeyStepper = /*#__PURE__*/function (_React$PureComponent) {
|
|
43
|
+
function ArrowKeyStepper() {
|
|
44
|
+
var _this;
|
|
45
|
+
_classCallCheck(this, ArrowKeyStepper);
|
|
46
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
47
|
+
args[_key] = arguments[_key];
|
|
48
|
+
}
|
|
49
|
+
_this = _callSuper(this, ArrowKeyStepper, [].concat(args));
|
|
50
|
+
_defineProperty(_this, "state", {
|
|
51
|
+
scrollToColumn: 0,
|
|
52
|
+
scrollToRow: 0,
|
|
53
|
+
instanceProps: {
|
|
54
|
+
prevScrollToColumn: 0,
|
|
55
|
+
prevScrollToRow: 0
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
_defineProperty(_this, "_columnStartIndex", 0);
|
|
59
|
+
_defineProperty(_this, "_columnStopIndex", 0);
|
|
60
|
+
_defineProperty(_this, "_rowStartIndex", 0);
|
|
61
|
+
_defineProperty(_this, "_rowStopIndex", 0);
|
|
62
|
+
_defineProperty(_this, "_onKeyDown", function (event /*: KeyboardEvent*/) {
|
|
63
|
+
var _this$props = _this.props,
|
|
64
|
+
columnCount = _this$props.columnCount,
|
|
65
|
+
disabled = _this$props.disabled,
|
|
66
|
+
mode = _this$props.mode,
|
|
67
|
+
rowCount = _this$props.rowCount;
|
|
68
|
+
if (disabled) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
var _this$_getScrollState = _this._getScrollState(),
|
|
72
|
+
scrollToColumnPrevious = _this$_getScrollState.scrollToColumn,
|
|
73
|
+
scrollToRowPrevious = _this$_getScrollState.scrollToRow;
|
|
74
|
+
var _this$_getScrollState2 = _this._getScrollState(),
|
|
75
|
+
scrollToColumn = _this$_getScrollState2.scrollToColumn,
|
|
76
|
+
scrollToRow = _this$_getScrollState2.scrollToRow;
|
|
77
|
+
|
|
78
|
+
// The above cases all prevent default event event behavior.
|
|
79
|
+
// This is to keep the grid from scrolling after the snap-to update.
|
|
80
|
+
switch (event.key) {
|
|
81
|
+
case 'ArrowDown':
|
|
82
|
+
scrollToRow = mode === 'cells' ? Math.min(scrollToRow + 1, rowCount - 1) : Math.min(_this._rowStopIndex + 1, rowCount - 1);
|
|
83
|
+
break;
|
|
84
|
+
case 'ArrowLeft':
|
|
85
|
+
scrollToColumn = mode === 'cells' ? Math.max(scrollToColumn - 1, 0) : Math.max(_this._columnStartIndex - 1, 0);
|
|
86
|
+
break;
|
|
87
|
+
case 'ArrowRight':
|
|
88
|
+
scrollToColumn = mode === 'cells' ? Math.min(scrollToColumn + 1, columnCount - 1) : Math.min(_this._columnStopIndex + 1, columnCount - 1);
|
|
89
|
+
break;
|
|
90
|
+
case 'ArrowUp':
|
|
91
|
+
scrollToRow = mode === 'cells' ? Math.max(scrollToRow - 1, 0) : Math.max(_this._rowStartIndex - 1, 0);
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
if (scrollToColumn !== scrollToColumnPrevious || scrollToRow !== scrollToRowPrevious) {
|
|
95
|
+
event.preventDefault();
|
|
96
|
+
_this._updateScrollState({
|
|
97
|
+
scrollToColumn: scrollToColumn,
|
|
98
|
+
scrollToRow: scrollToRow
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
_defineProperty(_this, "_onSectionRendered", function (_ref /*:: */) {
|
|
103
|
+
var columnStartIndex = _ref /*:: */.columnStartIndex,
|
|
104
|
+
columnStopIndex = _ref /*:: */.columnStopIndex,
|
|
105
|
+
rowStartIndex = _ref /*:: */.rowStartIndex,
|
|
106
|
+
rowStopIndex = _ref /*:: */.rowStopIndex;
|
|
107
|
+
_this._columnStartIndex = columnStartIndex;
|
|
108
|
+
_this._columnStopIndex = columnStopIndex;
|
|
109
|
+
_this._rowStartIndex = rowStartIndex;
|
|
110
|
+
_this._rowStopIndex = rowStopIndex;
|
|
111
|
+
});
|
|
112
|
+
return _this;
|
|
113
|
+
}
|
|
114
|
+
_inherits(ArrowKeyStepper, _React$PureComponent);
|
|
115
|
+
return _createClass(ArrowKeyStepper, [{
|
|
116
|
+
key: "setScrollIndexes",
|
|
117
|
+
value: function setScrollIndexes(_ref2 /*:: */) {
|
|
118
|
+
var scrollToColumn = _ref2 /*:: */.scrollToColumn,
|
|
119
|
+
scrollToRow = _ref2 /*:: */.scrollToRow;
|
|
120
|
+
this.setState({
|
|
121
|
+
scrollToRow: scrollToRow,
|
|
122
|
+
scrollToColumn: scrollToColumn
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}, {
|
|
126
|
+
key: "render",
|
|
127
|
+
value: function render() {
|
|
128
|
+
var _this$props2 = this.props,
|
|
129
|
+
className = _this$props2.className,
|
|
130
|
+
children = _this$props2.children;
|
|
131
|
+
var _this$_getScrollState3 = this._getScrollState(),
|
|
132
|
+
scrollToColumn = _this$_getScrollState3.scrollToColumn,
|
|
133
|
+
scrollToRow = _this$_getScrollState3.scrollToRow;
|
|
134
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
135
|
+
className: className,
|
|
136
|
+
onKeyDown: this._onKeyDown
|
|
137
|
+
}, children({
|
|
138
|
+
onSectionRendered: this._onSectionRendered,
|
|
139
|
+
scrollToColumn: scrollToColumn,
|
|
140
|
+
scrollToRow: scrollToRow
|
|
141
|
+
}));
|
|
142
|
+
}
|
|
143
|
+
}, {
|
|
144
|
+
key: "_getScrollState",
|
|
145
|
+
value: function _getScrollState() {
|
|
146
|
+
return this.props.isControlled ? this.props : this.state;
|
|
147
|
+
}
|
|
148
|
+
}, {
|
|
149
|
+
key: "_updateScrollState",
|
|
150
|
+
value: function _updateScrollState(_ref3 /*:: */) {
|
|
151
|
+
var scrollToColumn = _ref3 /*:: */.scrollToColumn,
|
|
152
|
+
scrollToRow = _ref3 /*:: */.scrollToRow;
|
|
153
|
+
var _this$props3 = this.props,
|
|
154
|
+
isControlled = _this$props3.isControlled,
|
|
155
|
+
onScrollToChange = _this$props3.onScrollToChange;
|
|
156
|
+
if (typeof onScrollToChange === 'function') {
|
|
157
|
+
onScrollToChange({
|
|
158
|
+
scrollToColumn: scrollToColumn,
|
|
159
|
+
scrollToRow: scrollToRow
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
if (!isControlled) {
|
|
163
|
+
this.setState({
|
|
164
|
+
scrollToColumn: scrollToColumn,
|
|
165
|
+
scrollToRow: scrollToRow
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}], [{
|
|
170
|
+
key: "getDerivedStateFromProps",
|
|
171
|
+
value: function getDerivedStateFromProps(nextProps /*: Props*/, prevState /*: State*/) /*: $Shape<State>*/{
|
|
172
|
+
if (nextProps.isControlled) {
|
|
173
|
+
return {};
|
|
174
|
+
}
|
|
175
|
+
if (nextProps.scrollToColumn !== prevState.instanceProps.prevScrollToColumn || nextProps.scrollToRow !== prevState.instanceProps.prevScrollToRow) {
|
|
176
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
177
|
+
scrollToColumn: nextProps.scrollToColumn,
|
|
178
|
+
scrollToRow: nextProps.scrollToRow,
|
|
179
|
+
instanceProps: {
|
|
180
|
+
prevScrollToColumn: nextProps.scrollToColumn,
|
|
181
|
+
prevScrollToRow: nextProps.scrollToRow
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
return {};
|
|
186
|
+
}
|
|
187
|
+
}]);
|
|
188
|
+
}(React.PureComponent);
|
|
189
|
+
_defineProperty(ArrowKeyStepper, "defaultProps", {
|
|
190
|
+
disabled: false,
|
|
191
|
+
isControlled: false,
|
|
192
|
+
mode: 'edges',
|
|
193
|
+
scrollToColumn: 0,
|
|
194
|
+
scrollToRow: 0
|
|
195
|
+
});
|
|
196
|
+
polyfill(ArrowKeyStepper);
|
|
197
|
+
export default ArrowKeyStepper;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
5
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
6
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
7
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
9
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
10
|
+
import { List as ImmutableList } from 'immutable';
|
|
11
|
+
import PropTypes from 'prop-types';
|
|
12
|
+
import * as React from 'react';
|
|
13
|
+
import { ContentBox, ContentBoxHeader, ContentBoxParagraph } from '../demo/ContentBox';
|
|
14
|
+
import AutoSizer from './AutoSizer';
|
|
15
|
+
import List from '../List';
|
|
16
|
+
/*:: import { type RowRendererParams } from '../List';*/
|
|
17
|
+
import styles from './AutoSizer.example.css';
|
|
18
|
+
/*:: type State = {
|
|
19
|
+
hideDescription: boolean,
|
|
20
|
+
};*/
|
|
21
|
+
var AutoSizerExample = /*#__PURE__*/function (_React$PureComponent) {
|
|
22
|
+
function AutoSizerExample() {
|
|
23
|
+
var _this;
|
|
24
|
+
_classCallCheck(this, AutoSizerExample);
|
|
25
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
26
|
+
args[_key] = arguments[_key];
|
|
27
|
+
}
|
|
28
|
+
_this = _callSuper(this, AutoSizerExample, [].concat(args));
|
|
29
|
+
_defineProperty(_this, "state", {
|
|
30
|
+
hideDescription: false
|
|
31
|
+
});
|
|
32
|
+
_defineProperty(_this, "_rowRenderer", function (_ref /*:: */) {
|
|
33
|
+
var index = _ref /*:: */.index,
|
|
34
|
+
key = _ref /*:: */.key,
|
|
35
|
+
style = _ref /*:: */.style;
|
|
36
|
+
var list = _this.context.list;
|
|
37
|
+
var row = list.get(index);
|
|
38
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
39
|
+
key: key,
|
|
40
|
+
className: styles.row,
|
|
41
|
+
style: style
|
|
42
|
+
}, row.name);
|
|
43
|
+
});
|
|
44
|
+
return _this;
|
|
45
|
+
}
|
|
46
|
+
_inherits(AutoSizerExample, _React$PureComponent);
|
|
47
|
+
return _createClass(AutoSizerExample, [{
|
|
48
|
+
key: "render",
|
|
49
|
+
value: function render() {
|
|
50
|
+
var _this2 = this;
|
|
51
|
+
var list = this.context.list;
|
|
52
|
+
var hideDescription = this.state.hideDescription;
|
|
53
|
+
return /*#__PURE__*/React.createElement(ContentBox, _extends({}, this.props, {
|
|
54
|
+
style: {
|
|
55
|
+
height: 400
|
|
56
|
+
}
|
|
57
|
+
}), /*#__PURE__*/React.createElement(ContentBoxHeader, {
|
|
58
|
+
text: "AutoSizer",
|
|
59
|
+
sourceLink: "https://github.com/bvaughn/react-virtualized/blob/master/source/AutoSizer/AutoSizer.example.js",
|
|
60
|
+
docsLink: "https://github.com/bvaughn/react-virtualized/blob/master/docs/AutoSizer.md"
|
|
61
|
+
}), /*#__PURE__*/React.createElement(ContentBoxParagraph, null, /*#__PURE__*/React.createElement("label", {
|
|
62
|
+
className: styles.checkboxLabel
|
|
63
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
64
|
+
"aria-label": "Hide description (to show resize)?",
|
|
65
|
+
className: styles.checkbox,
|
|
66
|
+
type: "checkbox",
|
|
67
|
+
checked: hideDescription,
|
|
68
|
+
onChange: function onChange(event) {
|
|
69
|
+
return _this2.setState({
|
|
70
|
+
hideDescription: event.target.checked
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}), "Hide description (to show resize)?")), !hideDescription && /*#__PURE__*/React.createElement(ContentBoxParagraph, null, "This component decorates ", /*#__PURE__*/React.createElement("code", null, "List"), ", ", /*#__PURE__*/React.createElement("code", null, "Table"), ", or any other component and automatically manages its width and height. It uses Sebastian Decima's", ' ', /*#__PURE__*/React.createElement("a", {
|
|
74
|
+
href: "https://github.com/sdecima/javascript-detect-element-resize",
|
|
75
|
+
target: "_blank"
|
|
76
|
+
}, "element resize event"), ' ', "to determine the appropriate size. In this example", ' ', /*#__PURE__*/React.createElement("code", null, "AutoSizer"), " grows to fill the remaining width and height of this flex column."), /*#__PURE__*/React.createElement("div", {
|
|
77
|
+
className: styles.AutoSizerWrapper
|
|
78
|
+
}, /*#__PURE__*/React.createElement(AutoSizer, null, function (_ref2) {
|
|
79
|
+
var width = _ref2.width,
|
|
80
|
+
height = _ref2.height;
|
|
81
|
+
return /*#__PURE__*/React.createElement(List, {
|
|
82
|
+
className: styles.List,
|
|
83
|
+
height: height,
|
|
84
|
+
rowCount: list.size,
|
|
85
|
+
rowHeight: 30,
|
|
86
|
+
rowRenderer: _this2._rowRenderer,
|
|
87
|
+
width: width
|
|
88
|
+
});
|
|
89
|
+
})));
|
|
90
|
+
}
|
|
91
|
+
}]);
|
|
92
|
+
}(React.PureComponent);
|
|
93
|
+
_defineProperty(AutoSizerExample, "contextTypes", {
|
|
94
|
+
list: PropTypes.instanceOf(ImmutableList).isRequired
|
|
95
|
+
});
|
|
96
|
+
export { AutoSizerExample as default };
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { findDOMNode } from 'react-dom';
|
|
5
|
+
import { render } from '../TestUtils';
|
|
6
|
+
import AutoSizer from './AutoSizer';
|
|
7
|
+
function DefaultChildComponent(_ref) {
|
|
8
|
+
var height = _ref.height,
|
|
9
|
+
width = _ref.width,
|
|
10
|
+
foo = _ref.foo,
|
|
11
|
+
bar = _ref.bar;
|
|
12
|
+
return /*#__PURE__*/React.createElement("div", null, "width:".concat(width, ", height:").concat(height, ", foo:").concat(foo, ", bar:").concat(bar));
|
|
13
|
+
}
|
|
14
|
+
describe('AutoSizer', function () {
|
|
15
|
+
function getMarkup() {
|
|
16
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
17
|
+
_ref2$bar = _ref2.bar,
|
|
18
|
+
bar = _ref2$bar === void 0 ? 123 : _ref2$bar,
|
|
19
|
+
_ref2$ChildComponent = _ref2.ChildComponent,
|
|
20
|
+
ChildComponent = _ref2$ChildComponent === void 0 ? DefaultChildComponent : _ref2$ChildComponent,
|
|
21
|
+
_ref2$className = _ref2.className,
|
|
22
|
+
className = _ref2$className === void 0 ? undefined : _ref2$className,
|
|
23
|
+
_ref2$defaultHeight = _ref2.defaultHeight,
|
|
24
|
+
defaultHeight = _ref2$defaultHeight === void 0 ? undefined : _ref2$defaultHeight,
|
|
25
|
+
_ref2$defaultWidth = _ref2.defaultWidth,
|
|
26
|
+
defaultWidth = _ref2$defaultWidth === void 0 ? undefined : _ref2$defaultWidth,
|
|
27
|
+
_ref2$disableHeight = _ref2.disableHeight,
|
|
28
|
+
disableHeight = _ref2$disableHeight === void 0 ? false : _ref2$disableHeight,
|
|
29
|
+
_ref2$disableWidth = _ref2.disableWidth,
|
|
30
|
+
disableWidth = _ref2$disableWidth === void 0 ? false : _ref2$disableWidth,
|
|
31
|
+
_ref2$foo = _ref2.foo,
|
|
32
|
+
foo = _ref2$foo === void 0 ? 456 : _ref2$foo,
|
|
33
|
+
_ref2$height = _ref2.height,
|
|
34
|
+
height = _ref2$height === void 0 ? 100 : _ref2$height,
|
|
35
|
+
onResize = _ref2.onResize,
|
|
36
|
+
_ref2$paddingBottom = _ref2.paddingBottom,
|
|
37
|
+
paddingBottom = _ref2$paddingBottom === void 0 ? 0 : _ref2$paddingBottom,
|
|
38
|
+
_ref2$paddingLeft = _ref2.paddingLeft,
|
|
39
|
+
paddingLeft = _ref2$paddingLeft === void 0 ? 0 : _ref2$paddingLeft,
|
|
40
|
+
_ref2$paddingRight = _ref2.paddingRight,
|
|
41
|
+
paddingRight = _ref2$paddingRight === void 0 ? 0 : _ref2$paddingRight,
|
|
42
|
+
_ref2$paddingTop = _ref2.paddingTop,
|
|
43
|
+
paddingTop = _ref2$paddingTop === void 0 ? 0 : _ref2$paddingTop,
|
|
44
|
+
_ref2$style = _ref2.style,
|
|
45
|
+
style = _ref2$style === void 0 ? undefined : _ref2$style,
|
|
46
|
+
_ref2$width = _ref2.width,
|
|
47
|
+
width = _ref2$width === void 0 ? 200 : _ref2$width;
|
|
48
|
+
var wrapperStyle = {
|
|
49
|
+
boxSizing: 'border-box',
|
|
50
|
+
height: height,
|
|
51
|
+
paddingBottom: paddingBottom,
|
|
52
|
+
paddingLeft: paddingLeft,
|
|
53
|
+
paddingRight: paddingRight,
|
|
54
|
+
paddingTop: paddingTop,
|
|
55
|
+
width: width
|
|
56
|
+
};
|
|
57
|
+
mockOffsetSize(width, height);
|
|
58
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
style: wrapperStyle
|
|
60
|
+
}, /*#__PURE__*/React.createElement(AutoSizer, {
|
|
61
|
+
className: className,
|
|
62
|
+
defaultHeight: defaultHeight,
|
|
63
|
+
defaultWidth: defaultWidth,
|
|
64
|
+
disableHeight: disableHeight,
|
|
65
|
+
disableWidth: disableWidth,
|
|
66
|
+
onResize: onResize,
|
|
67
|
+
style: style
|
|
68
|
+
}, function (_ref3) {
|
|
69
|
+
var height = _ref3.height,
|
|
70
|
+
width = _ref3.width;
|
|
71
|
+
return /*#__PURE__*/React.createElement(ChildComponent, {
|
|
72
|
+
width: disableWidth ? undefined : width,
|
|
73
|
+
height: disableHeight ? undefined : height,
|
|
74
|
+
bar: bar,
|
|
75
|
+
foo: foo
|
|
76
|
+
});
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// AutoSizer uses offsetWidth and offsetHeight.
|
|
81
|
+
// Jest runs in JSDom which doesn't support measurements APIs.
|
|
82
|
+
function mockOffsetSize(width, height) {
|
|
83
|
+
Object.defineProperty(HTMLElement.prototype, 'offsetHeight', {
|
|
84
|
+
configurable: true,
|
|
85
|
+
value: height
|
|
86
|
+
});
|
|
87
|
+
Object.defineProperty(HTMLElement.prototype, 'offsetWidth', {
|
|
88
|
+
configurable: true,
|
|
89
|
+
value: width
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
it('should relay properties to ChildComponent or React child', function () {
|
|
93
|
+
var rendered = findDOMNode(render(getMarkup()));
|
|
94
|
+
expect(rendered.textContent).toContain('foo:456');
|
|
95
|
+
expect(rendered.textContent).toContain('bar:123');
|
|
96
|
+
});
|
|
97
|
+
it('should set the correct initial width and height of ChildComponent or React child', function () {
|
|
98
|
+
var rendered = findDOMNode(render(getMarkup()));
|
|
99
|
+
expect(rendered.textContent).toContain('height:100');
|
|
100
|
+
expect(rendered.textContent).toContain('width:200');
|
|
101
|
+
});
|
|
102
|
+
it('should account for padding when calculating the available width and height', function () {
|
|
103
|
+
var rendered = findDOMNode(render(getMarkup({
|
|
104
|
+
paddingBottom: 10,
|
|
105
|
+
paddingLeft: 4,
|
|
106
|
+
paddingRight: 4,
|
|
107
|
+
paddingTop: 15
|
|
108
|
+
})));
|
|
109
|
+
expect(rendered.textContent).toContain('height:75');
|
|
110
|
+
expect(rendered.textContent).toContain('width:192');
|
|
111
|
+
});
|
|
112
|
+
it('should not update :width if :disableWidth is true', function () {
|
|
113
|
+
var rendered = findDOMNode(render(getMarkup({
|
|
114
|
+
disableWidth: true
|
|
115
|
+
})));
|
|
116
|
+
expect(rendered.textContent).toContain('height:100');
|
|
117
|
+
expect(rendered.textContent).toContain('width:undefined');
|
|
118
|
+
});
|
|
119
|
+
it('should not update :height if :disableHeight is true', function () {
|
|
120
|
+
var rendered = findDOMNode(render(getMarkup({
|
|
121
|
+
disableHeight: true
|
|
122
|
+
})));
|
|
123
|
+
expect(rendered.textContent).toContain('height:undefined');
|
|
124
|
+
expect(rendered.textContent).toContain('width:200');
|
|
125
|
+
});
|
|
126
|
+
function simulateResize(_x) {
|
|
127
|
+
return _simulateResize.apply(this, arguments);
|
|
128
|
+
}
|
|
129
|
+
function _simulateResize() {
|
|
130
|
+
_simulateResize = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref4) {
|
|
131
|
+
var element, height, width, trigger;
|
|
132
|
+
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
133
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
134
|
+
case 0:
|
|
135
|
+
element = _ref4.element, height = _ref4.height, width = _ref4.width;
|
|
136
|
+
mockOffsetSize(width, height);
|
|
137
|
+
|
|
138
|
+
// Trigger detectElementResize library by faking a scroll event
|
|
139
|
+
// TestUtils Simulate doesn't work here in JSDom so we manually dispatch
|
|
140
|
+
trigger = element.querySelector('.contract-trigger');
|
|
141
|
+
trigger.dispatchEvent(new Event('scroll'));
|
|
142
|
+
|
|
143
|
+
// Allow requestAnimationFrame to be invoked before continuing
|
|
144
|
+
_context5.next = 6;
|
|
145
|
+
return new Promise(function (resolve) {
|
|
146
|
+
return setTimeout(resolve, 100);
|
|
147
|
+
});
|
|
148
|
+
case 6:
|
|
149
|
+
case "end":
|
|
150
|
+
return _context5.stop();
|
|
151
|
+
}
|
|
152
|
+
}, _callee5);
|
|
153
|
+
}));
|
|
154
|
+
return _simulateResize.apply(this, arguments);
|
|
155
|
+
}
|
|
156
|
+
it('should update :height after a resize event', /*#__PURE__*/function () {
|
|
157
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(done) {
|
|
158
|
+
var rendered;
|
|
159
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
160
|
+
while (1) switch (_context.prev = _context.next) {
|
|
161
|
+
case 0:
|
|
162
|
+
rendered = findDOMNode(render(getMarkup({
|
|
163
|
+
height: 100,
|
|
164
|
+
width: 200
|
|
165
|
+
})));
|
|
166
|
+
expect(rendered.textContent).toContain('height:100');
|
|
167
|
+
expect(rendered.textContent).toContain('width:200');
|
|
168
|
+
_context.next = 5;
|
|
169
|
+
return simulateResize({
|
|
170
|
+
element: rendered,
|
|
171
|
+
height: 400,
|
|
172
|
+
width: 300
|
|
173
|
+
});
|
|
174
|
+
case 5:
|
|
175
|
+
expect(rendered.textContent).toContain('height:400');
|
|
176
|
+
expect(rendered.textContent).toContain('width:300');
|
|
177
|
+
done();
|
|
178
|
+
case 8:
|
|
179
|
+
case "end":
|
|
180
|
+
return _context.stop();
|
|
181
|
+
}
|
|
182
|
+
}, _callee);
|
|
183
|
+
}));
|
|
184
|
+
return function (_x2) {
|
|
185
|
+
return _ref5.apply(this, arguments);
|
|
186
|
+
};
|
|
187
|
+
}());
|
|
188
|
+
describe('onResize and (re)render', function () {
|
|
189
|
+
it('should trigger when size changes', /*#__PURE__*/function () {
|
|
190
|
+
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(done) {
|
|
191
|
+
var onResize, ChildComponent, rendered;
|
|
192
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
193
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
194
|
+
case 0:
|
|
195
|
+
onResize = jest.fn();
|
|
196
|
+
ChildComponent = jest.fn().mockImplementation(DefaultChildComponent);
|
|
197
|
+
rendered = findDOMNode(render(getMarkup({
|
|
198
|
+
ChildComponent: ChildComponent,
|
|
199
|
+
height: 100,
|
|
200
|
+
onResize: onResize,
|
|
201
|
+
width: 200
|
|
202
|
+
})));
|
|
203
|
+
ChildComponent.mockClear(); // TODO Improve initial check in version 10; see AutoSizer render()
|
|
204
|
+
expect(onResize).toHaveBeenCalledTimes(1);
|
|
205
|
+
_context2.next = 7;
|
|
206
|
+
return simulateResize({
|
|
207
|
+
element: rendered,
|
|
208
|
+
height: 400,
|
|
209
|
+
width: 300
|
|
210
|
+
});
|
|
211
|
+
case 7:
|
|
212
|
+
expect(ChildComponent).toHaveBeenCalledTimes(1);
|
|
213
|
+
expect(onResize).toHaveBeenCalledTimes(2);
|
|
214
|
+
done();
|
|
215
|
+
case 10:
|
|
216
|
+
case "end":
|
|
217
|
+
return _context2.stop();
|
|
218
|
+
}
|
|
219
|
+
}, _callee2);
|
|
220
|
+
}));
|
|
221
|
+
return function (_x3) {
|
|
222
|
+
return _ref6.apply(this, arguments);
|
|
223
|
+
};
|
|
224
|
+
}());
|
|
225
|
+
it('should only trigger when height changes for disableWidth == true', /*#__PURE__*/function () {
|
|
226
|
+
var _ref7 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(done) {
|
|
227
|
+
var onResize, ChildComponent, rendered;
|
|
228
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
229
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
230
|
+
case 0:
|
|
231
|
+
onResize = jest.fn();
|
|
232
|
+
ChildComponent = jest.fn().mockImplementation(DefaultChildComponent);
|
|
233
|
+
rendered = findDOMNode(render(getMarkup({
|
|
234
|
+
ChildComponent: ChildComponent,
|
|
235
|
+
disableWidth: true,
|
|
236
|
+
height: 100,
|
|
237
|
+
onResize: onResize,
|
|
238
|
+
width: 200
|
|
239
|
+
})));
|
|
240
|
+
ChildComponent.mockClear(); // TODO Improve initial check in version 10; see AutoSizer render()
|
|
241
|
+
expect(onResize).toHaveBeenCalledTimes(1);
|
|
242
|
+
_context3.next = 7;
|
|
243
|
+
return simulateResize({
|
|
244
|
+
element: rendered,
|
|
245
|
+
height: 100,
|
|
246
|
+
width: 300
|
|
247
|
+
});
|
|
248
|
+
case 7:
|
|
249
|
+
expect(ChildComponent).toHaveBeenCalledTimes(0);
|
|
250
|
+
expect(onResize).toHaveBeenCalledTimes(1);
|
|
251
|
+
_context3.next = 11;
|
|
252
|
+
return simulateResize({
|
|
253
|
+
element: rendered,
|
|
254
|
+
height: 200,
|
|
255
|
+
width: 300
|
|
256
|
+
});
|
|
257
|
+
case 11:
|
|
258
|
+
expect(ChildComponent).toHaveBeenCalledTimes(1);
|
|
259
|
+
expect(onResize).toHaveBeenCalledTimes(2);
|
|
260
|
+
done();
|
|
261
|
+
case 14:
|
|
262
|
+
case "end":
|
|
263
|
+
return _context3.stop();
|
|
264
|
+
}
|
|
265
|
+
}, _callee3);
|
|
266
|
+
}));
|
|
267
|
+
return function (_x4) {
|
|
268
|
+
return _ref7.apply(this, arguments);
|
|
269
|
+
};
|
|
270
|
+
}());
|
|
271
|
+
it('should only trigger when width changes for disableHeight == true', /*#__PURE__*/function () {
|
|
272
|
+
var _ref8 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(done) {
|
|
273
|
+
var onResize, ChildComponent, rendered;
|
|
274
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
275
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
276
|
+
case 0:
|
|
277
|
+
onResize = jest.fn();
|
|
278
|
+
ChildComponent = jest.fn().mockImplementation(DefaultChildComponent);
|
|
279
|
+
rendered = findDOMNode(render(getMarkup({
|
|
280
|
+
ChildComponent: ChildComponent,
|
|
281
|
+
disableHeight: true,
|
|
282
|
+
height: 100,
|
|
283
|
+
onResize: onResize,
|
|
284
|
+
width: 200
|
|
285
|
+
})));
|
|
286
|
+
ChildComponent.mockClear(); // TODO Improve initial check in version 10; see AutoSizer render()
|
|
287
|
+
expect(onResize).toHaveBeenCalledTimes(1);
|
|
288
|
+
_context4.next = 7;
|
|
289
|
+
return simulateResize({
|
|
290
|
+
element: rendered,
|
|
291
|
+
height: 200,
|
|
292
|
+
width: 200
|
|
293
|
+
});
|
|
294
|
+
case 7:
|
|
295
|
+
expect(ChildComponent).toHaveBeenCalledTimes(0);
|
|
296
|
+
expect(onResize).toHaveBeenCalledTimes(1);
|
|
297
|
+
_context4.next = 11;
|
|
298
|
+
return simulateResize({
|
|
299
|
+
element: rendered,
|
|
300
|
+
height: 200,
|
|
301
|
+
width: 300
|
|
302
|
+
});
|
|
303
|
+
case 11:
|
|
304
|
+
expect(ChildComponent).toHaveBeenCalledTimes(1);
|
|
305
|
+
expect(onResize).toHaveBeenCalledTimes(2);
|
|
306
|
+
done();
|
|
307
|
+
case 14:
|
|
308
|
+
case "end":
|
|
309
|
+
return _context4.stop();
|
|
310
|
+
}
|
|
311
|
+
}, _callee4);
|
|
312
|
+
}));
|
|
313
|
+
return function (_x5) {
|
|
314
|
+
return _ref8.apply(this, arguments);
|
|
315
|
+
};
|
|
316
|
+
}());
|
|
317
|
+
});
|
|
318
|
+
describe('className and style', function () {
|
|
319
|
+
it('should use a custom :className if specified', function () {
|
|
320
|
+
var rendered = findDOMNode(render(getMarkup({
|
|
321
|
+
className: 'foo'
|
|
322
|
+
})));
|
|
323
|
+
expect(rendered.firstChild.className).toContain('foo');
|
|
324
|
+
});
|
|
325
|
+
it('should use a custom :style if specified', function () {
|
|
326
|
+
var style = {
|
|
327
|
+
backgroundColor: 'red'
|
|
328
|
+
};
|
|
329
|
+
var rendered = findDOMNode(render(getMarkup({
|
|
330
|
+
style: style
|
|
331
|
+
})));
|
|
332
|
+
expect(rendered.firstChild.style.backgroundColor).toEqual('red');
|
|
333
|
+
});
|
|
334
|
+
});
|
|
335
|
+
});
|