@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,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _SectionManager = _interopRequireDefault(require("./SectionManager"));
|
|
5
|
+
var _TestData = require("./TestData");
|
|
6
|
+
function initSectionManager() {
|
|
7
|
+
var sectionManager = new _SectionManager["default"](_TestData.SECTION_SIZE);
|
|
8
|
+
_TestData.CELLS.forEach(function (cellMetadatum, index) {
|
|
9
|
+
sectionManager.registerCell({
|
|
10
|
+
cellMetadatum: cellMetadatum,
|
|
11
|
+
index: index
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
return sectionManager;
|
|
15
|
+
}
|
|
16
|
+
function verifySections(sectionManager, sizeAndPosition, expectedSizeAndPositionInfos) {
|
|
17
|
+
var sections = sectionManager.getSections(sizeAndPosition);
|
|
18
|
+
expect(sections.length).toEqual(expectedSizeAndPositionInfos.length);
|
|
19
|
+
expectedSizeAndPositionInfos.forEach(function (sizeAndPosition) {
|
|
20
|
+
var match = sections.find(function (section) {
|
|
21
|
+
return section.x === sizeAndPosition.x && section.y === sizeAndPosition.y;
|
|
22
|
+
});
|
|
23
|
+
expect(!!match).toEqual(true);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
describe('SectionManager', function () {
|
|
27
|
+
it('creates the appropriate number of Sections', function () {
|
|
28
|
+
var sectionManager = initSectionManager();
|
|
29
|
+
expect(sectionManager.getTotalSectionCount()).toEqual(6);
|
|
30
|
+
});
|
|
31
|
+
it('returns the proper Sections based on the specified area', function () {
|
|
32
|
+
var sectionManager = initSectionManager();
|
|
33
|
+
verifySections(sectionManager, {
|
|
34
|
+
x: 0,
|
|
35
|
+
y: 0,
|
|
36
|
+
width: 1,
|
|
37
|
+
height: 1
|
|
38
|
+
}, [{
|
|
39
|
+
x: 0,
|
|
40
|
+
y: 0
|
|
41
|
+
}]);
|
|
42
|
+
verifySections(sectionManager, {
|
|
43
|
+
x: 1,
|
|
44
|
+
y: 1,
|
|
45
|
+
width: 1,
|
|
46
|
+
height: 1
|
|
47
|
+
}, [{
|
|
48
|
+
x: 0,
|
|
49
|
+
y: 0
|
|
50
|
+
}]);
|
|
51
|
+
verifySections(sectionManager, {
|
|
52
|
+
x: 0,
|
|
53
|
+
y: 0,
|
|
54
|
+
width: 4,
|
|
55
|
+
height: 4
|
|
56
|
+
}, [{
|
|
57
|
+
x: 0,
|
|
58
|
+
y: 0
|
|
59
|
+
}, {
|
|
60
|
+
x: 2,
|
|
61
|
+
y: 0
|
|
62
|
+
}, {
|
|
63
|
+
x: 0,
|
|
64
|
+
y: 2
|
|
65
|
+
}, {
|
|
66
|
+
x: 2,
|
|
67
|
+
y: 2
|
|
68
|
+
}]);
|
|
69
|
+
verifySections(sectionManager, {
|
|
70
|
+
x: 4,
|
|
71
|
+
y: 0,
|
|
72
|
+
width: 2,
|
|
73
|
+
height: 3
|
|
74
|
+
}, [{
|
|
75
|
+
x: 4,
|
|
76
|
+
y: 0
|
|
77
|
+
}, {
|
|
78
|
+
x: 4,
|
|
79
|
+
y: 2
|
|
80
|
+
}]);
|
|
81
|
+
});
|
|
82
|
+
it('assigns cells to the appropriate sections', function () {
|
|
83
|
+
var sectionManager = initSectionManager();
|
|
84
|
+
expect(sectionManager.getCellIndices({
|
|
85
|
+
x: 0,
|
|
86
|
+
y: 0,
|
|
87
|
+
width: 2,
|
|
88
|
+
height: 2
|
|
89
|
+
})).toEqual([0]);
|
|
90
|
+
expect(sectionManager.getCellIndices({
|
|
91
|
+
x: 2,
|
|
92
|
+
y: 0,
|
|
93
|
+
width: 2,
|
|
94
|
+
height: 2
|
|
95
|
+
})).toEqual([1, 2, 3]);
|
|
96
|
+
expect(sectionManager.getCellIndices({
|
|
97
|
+
x: 4,
|
|
98
|
+
y: 0,
|
|
99
|
+
width: 2,
|
|
100
|
+
height: 2
|
|
101
|
+
})).toEqual([6]);
|
|
102
|
+
expect(sectionManager.getCellIndices({
|
|
103
|
+
x: 0,
|
|
104
|
+
y: 2,
|
|
105
|
+
width: 2,
|
|
106
|
+
height: 2
|
|
107
|
+
})).toEqual([4]);
|
|
108
|
+
expect(sectionManager.getCellIndices({
|
|
109
|
+
x: 2,
|
|
110
|
+
y: 2,
|
|
111
|
+
width: 2,
|
|
112
|
+
height: 2
|
|
113
|
+
})).toEqual([3, 4, 5]);
|
|
114
|
+
expect(sectionManager.getCellIndices({
|
|
115
|
+
x: 4,
|
|
116
|
+
y: 2,
|
|
117
|
+
width: 2,
|
|
118
|
+
height: 2
|
|
119
|
+
})).toEqual([7, 8, 9]);
|
|
120
|
+
});
|
|
121
|
+
});
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _Section = _interopRequireDefault(require("./Section"));
|
|
11
|
+
/**
|
|
12
|
+
* Window Sections are used to group nearby cells.
|
|
13
|
+
* This enables us to more quickly determine which cells to display in a given region of the Window.
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
/*:: import type {Index, SizeAndPositionInfo} from './types';*/
|
|
17
|
+
var SECTION_SIZE = 100;
|
|
18
|
+
/*:: type RegisterCellParams = {
|
|
19
|
+
cellMetadatum: SizeAndPositionInfo,
|
|
20
|
+
index: number,
|
|
21
|
+
};*/
|
|
22
|
+
/**
|
|
23
|
+
* Contains 0 to many Sections.
|
|
24
|
+
* Grows (and adds Sections) dynamically as cells are registered.
|
|
25
|
+
* Automatically adds cells to the appropriate Section(s).
|
|
26
|
+
*/
|
|
27
|
+
var SectionManager = exports["default"] = /*#__PURE__*/function () {
|
|
28
|
+
function SectionManager() {
|
|
29
|
+
var sectionSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SECTION_SIZE;
|
|
30
|
+
(0, _classCallCheck2["default"])(this, SectionManager);
|
|
31
|
+
this._sectionSize = sectionSize;
|
|
32
|
+
this._cellMetadata = [];
|
|
33
|
+
this._sections = {};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Gets all cell indices contained in the specified region.
|
|
38
|
+
* A region may encompass 1 or more Sections.
|
|
39
|
+
*/
|
|
40
|
+
return (0, _createClass2["default"])(SectionManager, [{
|
|
41
|
+
key: "getCellIndices",
|
|
42
|
+
value: function getCellIndices(_ref /*:: */) /*: Array<number>*/{
|
|
43
|
+
var height = _ref /*:: */.height,
|
|
44
|
+
width = _ref /*:: */.width,
|
|
45
|
+
x = _ref /*:: */.x,
|
|
46
|
+
y = _ref /*:: */.y;
|
|
47
|
+
var indices = {};
|
|
48
|
+
this.getSections({
|
|
49
|
+
height: height,
|
|
50
|
+
width: width,
|
|
51
|
+
x: x,
|
|
52
|
+
y: y
|
|
53
|
+
}).forEach(function (section) {
|
|
54
|
+
return section.getCellIndices().forEach(function (index) {
|
|
55
|
+
indices[index] = index;
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// Object keys are strings; this function returns numbers
|
|
60
|
+
return Object.keys(indices).map(function (index) {
|
|
61
|
+
return indices[index];
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** Get size and position information for the cell specified. */
|
|
66
|
+
}, {
|
|
67
|
+
key: "getCellMetadata",
|
|
68
|
+
value: function getCellMetadata(_ref2 /*:: */) /*: SizeAndPositionInfo*/{
|
|
69
|
+
var index = _ref2 /*:: */.index;
|
|
70
|
+
return this._cellMetadata[index];
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/** Get all Sections overlapping the specified region. */
|
|
74
|
+
}, {
|
|
75
|
+
key: "getSections",
|
|
76
|
+
value: function getSections(_ref3 /*:: */) /*: Array<Section>*/{
|
|
77
|
+
var height = _ref3 /*:: */.height,
|
|
78
|
+
width = _ref3 /*:: */.width,
|
|
79
|
+
x = _ref3 /*:: */.x,
|
|
80
|
+
y = _ref3 /*:: */.y;
|
|
81
|
+
var sectionXStart = Math.floor(x / this._sectionSize);
|
|
82
|
+
var sectionXStop = Math.floor((x + width - 1) / this._sectionSize);
|
|
83
|
+
var sectionYStart = Math.floor(y / this._sectionSize);
|
|
84
|
+
var sectionYStop = Math.floor((y + height - 1) / this._sectionSize);
|
|
85
|
+
var sections = [];
|
|
86
|
+
for (var sectionX = sectionXStart; sectionX <= sectionXStop; sectionX++) {
|
|
87
|
+
for (var sectionY = sectionYStart; sectionY <= sectionYStop; sectionY++) {
|
|
88
|
+
var key = "".concat(sectionX, ".").concat(sectionY);
|
|
89
|
+
if (!this._sections[key]) {
|
|
90
|
+
this._sections[key] = new _Section["default"]({
|
|
91
|
+
height: this._sectionSize,
|
|
92
|
+
width: this._sectionSize,
|
|
93
|
+
x: sectionX * this._sectionSize,
|
|
94
|
+
y: sectionY * this._sectionSize
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
sections.push(this._sections[key]);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return sections;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/** Total number of Sections based on the currently registered cells. */
|
|
104
|
+
}, {
|
|
105
|
+
key: "getTotalSectionCount",
|
|
106
|
+
value: function getTotalSectionCount() {
|
|
107
|
+
return Object.keys(this._sections).length;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/** Intended for debugger/test purposes only */
|
|
111
|
+
}, {
|
|
112
|
+
key: "toString",
|
|
113
|
+
value: function toString() {
|
|
114
|
+
var _this = this;
|
|
115
|
+
return Object.keys(this._sections).map(function (index) {
|
|
116
|
+
return _this._sections[index].toString();
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/** Adds a cell to the appropriate Sections and registers it metadata for later retrievable. */
|
|
121
|
+
}, {
|
|
122
|
+
key: "registerCell",
|
|
123
|
+
value: function registerCell(_ref4 /*:: */) {
|
|
124
|
+
var cellMetadatum = _ref4 /*:: */.cellMetadatum,
|
|
125
|
+
index = _ref4 /*:: */.index;
|
|
126
|
+
this._cellMetadata[index] = cellMetadatum;
|
|
127
|
+
this.getSections(cellMetadatum).forEach(function (section) {
|
|
128
|
+
return section.addCellIndex({
|
|
129
|
+
index: index
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}]);
|
|
134
|
+
}();
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SECTION_SIZE = exports.CELLS = void 0;
|
|
7
|
+
/*
|
|
8
|
+
0 1 2 3 4 5
|
|
9
|
+
┏━━━┯━━━┯━━━┓
|
|
10
|
+
0┃0 0┊1 3┊6 6┃
|
|
11
|
+
1┃0 0┊2 3┊6 6┃
|
|
12
|
+
┠┈┈┈┼┈┈┈┼┈┈┈┨
|
|
13
|
+
2┃4 4┊4 3┊7 8┃
|
|
14
|
+
3┃4 4┊4 5┊9 9┃
|
|
15
|
+
┗━━━┷━━━┷━━━┛
|
|
16
|
+
|
|
17
|
+
Sections to Cells map:
|
|
18
|
+
0.0 [0]
|
|
19
|
+
1.0 [1, 2, 3]
|
|
20
|
+
2.0 [6]
|
|
21
|
+
0.1 [4]
|
|
22
|
+
1.1 [3, 4, 5]
|
|
23
|
+
2.1 [7, 8, 9]
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
var CELLS = exports.CELLS = [{
|
|
27
|
+
x: 0,
|
|
28
|
+
y: 0,
|
|
29
|
+
width: 2,
|
|
30
|
+
height: 2
|
|
31
|
+
}, {
|
|
32
|
+
x: 2,
|
|
33
|
+
y: 0,
|
|
34
|
+
width: 1,
|
|
35
|
+
height: 1
|
|
36
|
+
}, {
|
|
37
|
+
x: 2,
|
|
38
|
+
y: 1,
|
|
39
|
+
width: 1,
|
|
40
|
+
height: 1
|
|
41
|
+
}, {
|
|
42
|
+
x: 3,
|
|
43
|
+
y: 0,
|
|
44
|
+
width: 1,
|
|
45
|
+
height: 3
|
|
46
|
+
}, {
|
|
47
|
+
x: 0,
|
|
48
|
+
y: 2,
|
|
49
|
+
width: 3,
|
|
50
|
+
height: 2
|
|
51
|
+
}, {
|
|
52
|
+
x: 3,
|
|
53
|
+
y: 3,
|
|
54
|
+
width: 1,
|
|
55
|
+
height: 1
|
|
56
|
+
}, {
|
|
57
|
+
x: 4,
|
|
58
|
+
y: 0,
|
|
59
|
+
width: 2,
|
|
60
|
+
height: 2
|
|
61
|
+
}, {
|
|
62
|
+
x: 4,
|
|
63
|
+
y: 2,
|
|
64
|
+
width: 1,
|
|
65
|
+
height: 1
|
|
66
|
+
}, {
|
|
67
|
+
x: 5,
|
|
68
|
+
y: 2,
|
|
69
|
+
width: 1,
|
|
70
|
+
height: 1
|
|
71
|
+
}, {
|
|
72
|
+
x: 4,
|
|
73
|
+
y: 3,
|
|
74
|
+
width: 2,
|
|
75
|
+
height: 1
|
|
76
|
+
}];
|
|
77
|
+
var SECTION_SIZE = exports.SECTION_SIZE = 2;
|
|
@@ -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, "Collection", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _Collection["default"];
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
exports["default"] = void 0;
|
|
14
|
+
var _Collection = _interopRequireDefault(require("./Collection"));
|
|
15
|
+
var _default = exports["default"] = _Collection["default"];
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*:: export type Index = {
|
|
2
|
+
index: number,
|
|
3
|
+
};*/
|
|
4
|
+
/*:: export type PositionInfo = {
|
|
5
|
+
x: number,
|
|
6
|
+
y: number,
|
|
7
|
+
};*/
|
|
8
|
+
/*:: export type ScrollPosition = {
|
|
9
|
+
scrollLeft: number,
|
|
10
|
+
scrollTop: number,
|
|
11
|
+
};*/
|
|
12
|
+
/*:: export type SizeAndPositionInfo = {
|
|
13
|
+
height: number,
|
|
14
|
+
width: number,
|
|
15
|
+
x: number,
|
|
16
|
+
y: number,
|
|
17
|
+
};*/
|
|
18
|
+
/*:: export type SizeInfo = {
|
|
19
|
+
height: number,
|
|
20
|
+
width: number,
|
|
21
|
+
};*/
|
|
22
|
+
"use strict";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _calculateSizeAndPositionData = _interopRequireDefault(require("./calculateSizeAndPositionData"));
|
|
5
|
+
describe('calculateSizeAndPositionData', function () {
|
|
6
|
+
it('should query for size and position of each cell', function () {
|
|
7
|
+
var cellSizeAndPositionGetterCalls = [];
|
|
8
|
+
function cellSizeAndPositionGetter(_ref) {
|
|
9
|
+
var index = _ref.index;
|
|
10
|
+
cellSizeAndPositionGetterCalls.push(index);
|
|
11
|
+
return {
|
|
12
|
+
x: index * 50,
|
|
13
|
+
y: 0,
|
|
14
|
+
width: 50,
|
|
15
|
+
height: 50
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
var _calculateSizeAndPosi = (0, _calculateSizeAndPositionData["default"])({
|
|
19
|
+
cellCount: 3,
|
|
20
|
+
cellSizeAndPositionGetter: cellSizeAndPositionGetter
|
|
21
|
+
}),
|
|
22
|
+
sectionManager = _calculateSizeAndPosi.sectionManager;
|
|
23
|
+
expect(cellSizeAndPositionGetterCalls).toEqual([0, 1, 2]);
|
|
24
|
+
expect(sectionManager.getTotalSectionCount()).toEqual(2);
|
|
25
|
+
});
|
|
26
|
+
it('should throw an error if invalid metadata is returned for a cell', function () {
|
|
27
|
+
expect(function () {
|
|
28
|
+
return (0, _calculateSizeAndPositionData["default"])({
|
|
29
|
+
cellCount: 3,
|
|
30
|
+
cellSizeAndPositionGetter: function cellSizeAndPositionGetter() {}
|
|
31
|
+
});
|
|
32
|
+
}).toThrow();
|
|
33
|
+
});
|
|
34
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = calculateSizeAndPositionData;
|
|
8
|
+
var _SectionManager = _interopRequireDefault(require("../SectionManager"));
|
|
9
|
+
function calculateSizeAndPositionData(_ref) {
|
|
10
|
+
var cellCount = _ref.cellCount,
|
|
11
|
+
cellSizeAndPositionGetter = _ref.cellSizeAndPositionGetter,
|
|
12
|
+
sectionSize = _ref.sectionSize;
|
|
13
|
+
var cellMetadata = [];
|
|
14
|
+
var sectionManager = new _SectionManager["default"](sectionSize);
|
|
15
|
+
var height = 0;
|
|
16
|
+
var width = 0;
|
|
17
|
+
for (var index = 0; index < cellCount; index++) {
|
|
18
|
+
var cellMetadatum = cellSizeAndPositionGetter({
|
|
19
|
+
index: index
|
|
20
|
+
});
|
|
21
|
+
if (cellMetadatum.height == null || isNaN(cellMetadatum.height) || cellMetadatum.width == null || isNaN(cellMetadatum.width) || cellMetadatum.x == null || isNaN(cellMetadatum.x) || cellMetadatum.y == null || isNaN(cellMetadatum.y)) {
|
|
22
|
+
throw Error("Invalid metadata returned for cell ".concat(index, ":\n x:").concat(cellMetadatum.x, ", y:").concat(cellMetadatum.y, ", width:").concat(cellMetadatum.width, ", height:").concat(cellMetadatum.height));
|
|
23
|
+
}
|
|
24
|
+
height = Math.max(height, cellMetadatum.y + cellMetadatum.height);
|
|
25
|
+
width = Math.max(width, cellMetadatum.x + cellMetadatum.width);
|
|
26
|
+
cellMetadata[index] = cellMetadatum;
|
|
27
|
+
sectionManager.registerCell({
|
|
28
|
+
cellMetadatum: cellMetadatum,
|
|
29
|
+
index: index
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
cellMetadata: cellMetadata,
|
|
34
|
+
height: height,
|
|
35
|
+
sectionManager: sectionManager,
|
|
36
|
+
width: width
|
|
37
|
+
};
|
|
38
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
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 _ColumnSizerExample = _interopRequireDefault(require("./ColumnSizer.example.css"));
|
|
16
|
+
var _AutoSizer = _interopRequireDefault(require("../AutoSizer"));
|
|
17
|
+
var _ColumnSizer = _interopRequireDefault(require("./ColumnSizer"));
|
|
18
|
+
var _Grid = _interopRequireDefault(require("../Grid"));
|
|
19
|
+
var _ContentBox = require("../demo/ContentBox");
|
|
20
|
+
var _LabeledInput = require("../demo/LabeledInput");
|
|
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
|
+
var ColumnSizerExample = exports["default"] = /*#__PURE__*/function (_React$PureComponent) {
|
|
26
|
+
function ColumnSizerExample(props) {
|
|
27
|
+
var _this;
|
|
28
|
+
(0, _classCallCheck2["default"])(this, ColumnSizerExample);
|
|
29
|
+
_this = _callSuper(this, ColumnSizerExample, [props]);
|
|
30
|
+
_this.state = {
|
|
31
|
+
columnMaxWidth: 100,
|
|
32
|
+
columnMinWidth: 75,
|
|
33
|
+
columnCount: 10
|
|
34
|
+
};
|
|
35
|
+
_this._noColumnMaxWidthChange = _this._noColumnMaxWidthChange.bind(_this);
|
|
36
|
+
_this._noColumnMinWidthChange = _this._noColumnMinWidthChange.bind(_this);
|
|
37
|
+
_this._onColumnCountChange = _this._onColumnCountChange.bind(_this);
|
|
38
|
+
_this._noContentRenderer = _this._noContentRenderer.bind(_this);
|
|
39
|
+
_this._cellRenderer = _this._cellRenderer.bind(_this);
|
|
40
|
+
return _this;
|
|
41
|
+
}
|
|
42
|
+
(0, _inherits2["default"])(ColumnSizerExample, _React$PureComponent);
|
|
43
|
+
return (0, _createClass2["default"])(ColumnSizerExample, [{
|
|
44
|
+
key: "render",
|
|
45
|
+
value: function render() {
|
|
46
|
+
var _this2 = this;
|
|
47
|
+
var _this$state = this.state,
|
|
48
|
+
columnMaxWidth = _this$state.columnMaxWidth,
|
|
49
|
+
columnMinWidth = _this$state.columnMinWidth,
|
|
50
|
+
columnCount = _this$state.columnCount;
|
|
51
|
+
return /*#__PURE__*/React.createElement(_ContentBox.ContentBox, null, /*#__PURE__*/React.createElement(_ContentBox.ContentBoxHeader, {
|
|
52
|
+
text: "ColumnSizer",
|
|
53
|
+
sourceLink: "https://github.com/bvaughn/react-virtualized/blob/master/source/ColumnSizer/ColumnSizer.example.js",
|
|
54
|
+
docsLink: "https://github.com/bvaughn/react-virtualized/blob/master/docs/ColumnSizer.md"
|
|
55
|
+
}), /*#__PURE__*/React.createElement(_ContentBox.ContentBoxParagraph, null, "This component decorates a ", /*#__PURE__*/React.createElement("code", null, "Grid"), " and calculates the width of its columns based on the current (", /*#__PURE__*/React.createElement("code", null, "Grid"), ") width."), /*#__PURE__*/React.createElement(_LabeledInput.InputRow, null, /*#__PURE__*/React.createElement(_LabeledInput.LabeledInput, {
|
|
56
|
+
label: "Num Columns",
|
|
57
|
+
name: "columnCount",
|
|
58
|
+
onChange: this._onColumnCountChange,
|
|
59
|
+
value: columnCount
|
|
60
|
+
}), /*#__PURE__*/React.createElement(_LabeledInput.LabeledInput, {
|
|
61
|
+
label: "Column Min Width",
|
|
62
|
+
name: "columnMinWidth",
|
|
63
|
+
onChange: this._noColumnMinWidthChange,
|
|
64
|
+
value: columnMinWidth
|
|
65
|
+
}), /*#__PURE__*/React.createElement(_LabeledInput.LabeledInput, {
|
|
66
|
+
label: "Column Max Width",
|
|
67
|
+
name: "columnMaxWidth",
|
|
68
|
+
onChange: this._noColumnMaxWidthChange,
|
|
69
|
+
value: columnMaxWidth
|
|
70
|
+
})), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_AutoSizer["default"], {
|
|
71
|
+
disableHeight: true
|
|
72
|
+
}, function (_ref) {
|
|
73
|
+
var width = _ref.width;
|
|
74
|
+
return /*#__PURE__*/React.createElement(_ColumnSizer["default"], {
|
|
75
|
+
columnMaxWidth: columnMaxWidth,
|
|
76
|
+
columnMinWidth: columnMinWidth,
|
|
77
|
+
columnCount: columnCount,
|
|
78
|
+
key: "GridColumnSizer",
|
|
79
|
+
width: width
|
|
80
|
+
}, function (_ref2) {
|
|
81
|
+
var adjustedWidth = _ref2.adjustedWidth,
|
|
82
|
+
columnWidth = _ref2.columnWidth,
|
|
83
|
+
registerChild = _ref2.registerChild;
|
|
84
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
className: _ColumnSizerExample["default"].GridContainer,
|
|
86
|
+
style: {
|
|
87
|
+
height: 50,
|
|
88
|
+
width: adjustedWidth
|
|
89
|
+
}
|
|
90
|
+
}, /*#__PURE__*/React.createElement(_Grid["default"], {
|
|
91
|
+
ref: registerChild,
|
|
92
|
+
columnWidth: columnWidth,
|
|
93
|
+
columnCount: columnCount,
|
|
94
|
+
height: 50,
|
|
95
|
+
noContentRenderer: _this2._noContentRenderer,
|
|
96
|
+
cellRenderer: _this2._cellRenderer,
|
|
97
|
+
rowHeight: 50,
|
|
98
|
+
rowCount: 1,
|
|
99
|
+
width: adjustedWidth
|
|
100
|
+
}));
|
|
101
|
+
});
|
|
102
|
+
})));
|
|
103
|
+
}
|
|
104
|
+
}, {
|
|
105
|
+
key: "_noColumnMaxWidthChange",
|
|
106
|
+
value: function _noColumnMaxWidthChange(event) {
|
|
107
|
+
var columnMaxWidth = parseInt(event.target.value, 10);
|
|
108
|
+
if (isNaN(columnMaxWidth)) {
|
|
109
|
+
columnMaxWidth = undefined;
|
|
110
|
+
} else {
|
|
111
|
+
columnMaxWidth = Math.min(1000, columnMaxWidth);
|
|
112
|
+
}
|
|
113
|
+
this.setState({
|
|
114
|
+
columnMaxWidth: columnMaxWidth
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}, {
|
|
118
|
+
key: "_noColumnMinWidthChange",
|
|
119
|
+
value: function _noColumnMinWidthChange(event) {
|
|
120
|
+
var columnMinWidth = parseInt(event.target.value, 10);
|
|
121
|
+
if (isNaN(columnMinWidth)) {
|
|
122
|
+
columnMinWidth = undefined;
|
|
123
|
+
} else {
|
|
124
|
+
columnMinWidth = Math.max(1, columnMinWidth);
|
|
125
|
+
}
|
|
126
|
+
this.setState({
|
|
127
|
+
columnMinWidth: columnMinWidth
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}, {
|
|
131
|
+
key: "_onColumnCountChange",
|
|
132
|
+
value: function _onColumnCountChange(event) {
|
|
133
|
+
this.setState({
|
|
134
|
+
columnCount: parseInt(event.target.value, 10) || 0
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}, {
|
|
138
|
+
key: "_noContentRenderer",
|
|
139
|
+
value: function _noContentRenderer() {
|
|
140
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
141
|
+
className: _ColumnSizerExample["default"].noCells
|
|
142
|
+
}, "No cells");
|
|
143
|
+
}
|
|
144
|
+
}, {
|
|
145
|
+
key: "_cellRenderer",
|
|
146
|
+
value: function _cellRenderer(_ref3) {
|
|
147
|
+
var columnIndex = _ref3.columnIndex,
|
|
148
|
+
key = _ref3.key,
|
|
149
|
+
rowIndex = _ref3.rowIndex,
|
|
150
|
+
style = _ref3.style;
|
|
151
|
+
var className = columnIndex === 0 ? _ColumnSizerExample["default"].firstCell : _ColumnSizerExample["default"].cell;
|
|
152
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
153
|
+
className: className,
|
|
154
|
+
key: key,
|
|
155
|
+
style: style
|
|
156
|
+
}, "R:".concat(rowIndex, ", C:").concat(columnIndex));
|
|
157
|
+
}
|
|
158
|
+
}]);
|
|
159
|
+
}(React.PureComponent);
|