sheet-happens 0.0.47 → 0.0.48
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/dist/index.js +25 -14
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +25 -14
- package/dist/index.modern.js.map +1 -1
- package/dist/scroll.d.ts +1 -0
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
|
@@ -1744,6 +1744,8 @@ var useScroll = function useScroll(offset, maxScroll, cellLayout, onOffsetChange
|
|
|
1744
1744
|
var clipDataOffset = function clipDataOffset(view, offset, freeze, maxCells, cellLayout) {
|
|
1745
1745
|
var newX = offset[0],
|
|
1746
1746
|
newY = offset[1];
|
|
1747
|
+
var freezeX = freeze[0],
|
|
1748
|
+
freezeY = freeze[1];
|
|
1747
1749
|
var maxColumns = maxCells[0],
|
|
1748
1750
|
maxRows = maxCells[1];
|
|
1749
1751
|
var absoluteToColumn = cellLayout.absoluteToColumn,
|
|
@@ -1760,14 +1762,14 @@ var clipDataOffset = function clipDataOffset(view, offset, freeze, maxCells, cel
|
|
|
1760
1762
|
scrollH = _getViewExtent$viewpo[1];
|
|
1761
1763
|
|
|
1762
1764
|
if (rightEdge > maxColumns) {
|
|
1763
|
-
var remainder = columnToAbsolute(maxColumns) - columnToAbsolute(newX);
|
|
1764
|
-
newX = absoluteToColumn(columnToAbsolute(newX) - scrollW + remainder) + 1;
|
|
1765
|
+
var remainder = columnToAbsolute(maxColumns) - columnToAbsolute(newX + freezeX);
|
|
1766
|
+
newX = Math.max(0, absoluteToColumn(columnToAbsolute(newX + freezeX) - scrollW + remainder) - freezeX + 1);
|
|
1765
1767
|
}
|
|
1766
1768
|
|
|
1767
1769
|
if (bottomEdge > maxRows) {
|
|
1768
|
-
var _remainder = rowToAbsolute(maxRows) - rowToAbsolute(newY);
|
|
1770
|
+
var _remainder = rowToAbsolute(maxRows) - rowToAbsolute(newY + freezeY);
|
|
1769
1771
|
|
|
1770
|
-
newY = absoluteToRow(rowToAbsolute(newY) - scrollH + _remainder) + 1;
|
|
1772
|
+
newY = Math.max(0, absoluteToRow(rowToAbsolute(newY + freezeY) - scrollH + _remainder) - freezeY + 1);
|
|
1771
1773
|
}
|
|
1772
1774
|
|
|
1773
1775
|
return [newX, newY];
|
|
@@ -1851,20 +1853,25 @@ var scrollToCell = function scrollToCell(element, cell, view, freeze, offset, ma
|
|
|
1851
1853
|
|
|
1852
1854
|
if (!isSameXY(newOffset, offset)) {
|
|
1853
1855
|
var scroll = cellToAbsolute(newOffset);
|
|
1854
|
-
|
|
1855
|
-
var _cellToAbsolute4 = cellToAbsolute([0, 0], [0.5, 0.5]),
|
|
1856
|
-
nudgeX = _cellToAbsolute4[0],
|
|
1857
|
-
nudgeY = _cellToAbsolute4[1];
|
|
1858
|
-
|
|
1859
1856
|
callback(newOffset, maxXY(maxScroll, scroll));
|
|
1860
1857
|
setTimeout(function () {
|
|
1861
|
-
|
|
1862
|
-
scrollY = scroll[1];
|
|
1863
|
-
element.scrollLeft = scrollX - nudgeX;
|
|
1864
|
-
element.scrollTop = scrollY - nudgeY;
|
|
1858
|
+
updateScrollPosition(element, newOffset, cellLayout);
|
|
1865
1859
|
});
|
|
1866
1860
|
}
|
|
1867
1861
|
};
|
|
1862
|
+
var updateScrollPosition = function updateScrollPosition(element, dataOffset, cellLayout) {
|
|
1863
|
+
var cellToAbsolute = cellLayout.cellToAbsolute;
|
|
1864
|
+
var scroll = cellToAbsolute(dataOffset);
|
|
1865
|
+
|
|
1866
|
+
var _cellToAbsolute4 = cellToAbsolute([0, 0], [0.5, 0.5]),
|
|
1867
|
+
nudgeX = _cellToAbsolute4[0],
|
|
1868
|
+
nudgeY = _cellToAbsolute4[1];
|
|
1869
|
+
|
|
1870
|
+
var scrollX = scroll[0],
|
|
1871
|
+
scrollY = scroll[1];
|
|
1872
|
+
element.scrollLeft = scrollX - nudgeX;
|
|
1873
|
+
element.scrollTop = scrollY - nudgeY;
|
|
1874
|
+
};
|
|
1868
1875
|
|
|
1869
1876
|
var useAutoSizeColumn = function useAutoSizeColumn(rows, displayData, cellStyle, columnHeaders, columnHeaderStyle, canvasWidth) {
|
|
1870
1877
|
var context = useMemo(function () {
|
|
@@ -3723,9 +3730,13 @@ var Sheet = forwardRef(function (props, ref) {
|
|
|
3723
3730
|
_props$maxRows = props.maxRows,
|
|
3724
3731
|
maxRows = _props$maxRows === void 0 ? Infinity : _props$maxRows;
|
|
3725
3732
|
useLayoutEffect(function () {
|
|
3733
|
+
var overlay = overlayRef.current;
|
|
3734
|
+
if (!overlay) return;
|
|
3726
3735
|
var view = [canvasWidth, canvasHeight];
|
|
3727
3736
|
var freeze = [freezeColumns, freezeRows];
|
|
3728
|
-
|
|
3737
|
+
var newOffset = clipDataOffset(view, dataOffset, freeze, [maxColumns, maxRows], cellLayout);
|
|
3738
|
+
setDataOffset(newOffset);
|
|
3739
|
+
updateScrollPosition(overlay, newOffset, cellLayout);
|
|
3729
3740
|
}, [maxRows, maxColumns]);
|
|
3730
3741
|
var hitmapRef = useRef(NO_CLICKABLES);
|
|
3731
3742
|
var isFocused = focused || editMode;
|