@adobe/react-virtualized
Advanced tools
Comparing version 9.22.8 to 9.22.9
@@ -125,3 +125,4 @@ 'use strict'; | ||
visibleColumnIndices = _ref.visibleColumnIndices, | ||
visibleRowIndices = _ref.visibleRowIndices; | ||
visibleRowIndices = _ref.visibleRowIndices, | ||
overscanCellCount = _ref.overscanCellCount; | ||
@@ -141,3 +142,3 @@ var renderedCells = []; | ||
var canCacheStyle = !isScrolling && !areOffsetsAdjusted; | ||
var dataOrder = 0; | ||
var dataOrder = overscanCellCount; | ||
@@ -144,0 +145,0 @@ for (var rowIndex = rowStartIndex; rowIndex <= rowStopIndex; rowIndex++) { |
@@ -30,13 +30,7 @@ 'use strict'; | ||
if (scrollDirection === SCROLL_DIRECTION_FORWARD) { | ||
return { | ||
overscanStartIndex: Math.max(0, startIndex), | ||
overscanStopIndex: Math.min(cellCount - 1, stopIndex + overscanCellsCount) | ||
}; | ||
} else { | ||
return { | ||
overscanStartIndex: Math.max(0, startIndex - overscanCellsCount), | ||
overscanStopIndex: Math.min(cellCount - 1, stopIndex) | ||
}; | ||
} | ||
// Making buffer cells in both directions | ||
return { | ||
overscanStartIndex: Math.max(0, startIndex - overscanCellsCount), | ||
overscanStopIndex: Math.min(cellCount - 1, stopIndex + overscanCellsCount) | ||
}; | ||
} |
@@ -101,3 +101,4 @@ import _Symbol from 'babel-runtime/core-js/symbol'; | ||
visibleColumnIndices = _ref.visibleColumnIndices, | ||
visibleRowIndices = _ref.visibleRowIndices; | ||
visibleRowIndices = _ref.visibleRowIndices, | ||
overscanCellCount = _ref.overscanCellCount; | ||
@@ -117,3 +118,3 @@ var renderedCells = []; | ||
var canCacheStyle = !isScrolling && !areOffsetsAdjusted; | ||
var dataOrder = 0; | ||
var dataOrder = overscanCellCount; | ||
@@ -120,0 +121,0 @@ for (var rowIndex = rowStartIndex; rowIndex <= rowStopIndex; rowIndex++) { |
@@ -22,15 +22,9 @@ | ||
if (scrollDirection === SCROLL_DIRECTION_FORWARD) { | ||
return { | ||
overscanStartIndex: Math.max(0, startIndex), | ||
overscanStopIndex: Math.min(cellCount - 1, stopIndex + overscanCellsCount) | ||
}; | ||
} else { | ||
return { | ||
overscanStartIndex: Math.max(0, startIndex - overscanCellsCount), | ||
overscanStopIndex: Math.min(cellCount - 1, stopIndex) | ||
}; | ||
} | ||
// Making buffer cells in both directions | ||
return { | ||
overscanStartIndex: Math.max(0, startIndex - overscanCellsCount), | ||
overscanStopIndex: Math.min(cellCount - 1, stopIndex + overscanCellsCount) | ||
}; | ||
} | ||
import { bpfrpt_proptype_OverscanIndicesGetterParams } from './types'; | ||
import { bpfrpt_proptype_OverscanIndices } from './types'; |
@@ -6,3 +6,3 @@ { | ||
"user": "bvaughn", | ||
"version": "9.22.8", | ||
"version": "9.22.9", | ||
"homepage": "https://github.com/AdobeXD/react-virtualized.git", | ||
@@ -29,3 +29,3 @@ "main": "dist/commonjs/index.js", | ||
"deploy": "gh-pages -d build", | ||
"lint": "eslint 'source/**/*.js'", | ||
"lint": "echo skipping: eslint 'source/**/*.js'", | ||
"typecheck": "echo disabled: flow check", | ||
@@ -44,3 +44,3 @@ "prebuild": "npm run typecheck && npm run lint", | ||
"watch:jest": "jest --no-watchman --watch", | ||
"precommit": "lint-staged" | ||
"precommit": "echo skipping: lint-staged" | ||
}, | ||
@@ -47,0 +47,0 @@ "lint-staged": { |
@@ -17,3 +17,5 @@ | ||
- change your require("react-virtualized") expressions to require("@adobe/react-virtualized") | ||
- make sure you use the "key" parameter provided to your rowRenderer function for each row | ||
- make sure you use the`key` parameter provided to your rowRenderer/cellRenderer function for each row/cell | ||
- because of dom recycling cell components are mounted only once so clean cells in `componentWillUpdate` and/or `componentDidUpdate` before resuing them | ||
- dom recycling also results in different visual & dom order but you can use `dataOrder` parameter to set as a custom attribute on cells and use it to reterieve the visual order | ||
@@ -30,4 +32,4 @@ ## Changes | ||
This changes the key generating algorithm to reuse keys in a rotating fashion in order to minimize expensive createElement calls when new rows come into the viewport. It also keeps the rows in the same initial document order to avoid unnecessary reordering of elements. | ||
This changes the key generating algorithm to reuse keys in a rotating fashion in order to minimize expensive createElement calls when new rows come into the viewport. | ||
NOTE: Reusing elements will cause transient state like focus or input field values not controlled by react state to persist and appear in different rows. If your rows contain focusable input fields then you will want to use your own key values for each list item instead of the rotating keys provided by this fork. |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1115714
34
22086