sheet-happens 0.0.46 → 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 +26 -17
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +26 -17
- 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
|
@@ -972,7 +972,6 @@ var useMouse = function useMouse(hitmapRef, selection, knobArea, editMode, editD
|
|
|
972
972
|
columnDrag = _ref$current2.columnDrag,
|
|
973
973
|
rowDrag = _ref$current2.rowDrag,
|
|
974
974
|
draggingKnob = _ref$current2.draggingKnob,
|
|
975
|
-
hitTarget = _ref$current2.hitTarget,
|
|
976
975
|
_ref$current2$cellLay = _ref$current2.cellLayout,
|
|
977
976
|
pixelToColumn = _ref$current2$cellLay.pixelToColumn,
|
|
978
977
|
pixelToRow = _ref$current2$cellLay.pixelToRow,
|
|
@@ -1053,8 +1052,6 @@ var useMouse = function useMouse(hitmapRef, selection, knobArea, editMode, editD
|
|
|
1053
1052
|
setColumnDrag(null);
|
|
1054
1053
|
setRowResize(null);
|
|
1055
1054
|
setRowDrag(null);
|
|
1056
|
-
if (!xy || !hitTarget) return;
|
|
1057
|
-
setHitTarget(null);
|
|
1058
1055
|
}, [getMousePosition, getMouseHit, onChange, onSelectionChange, onKnobAreaChange, onDropTargetChange, onColumnOrderChange, onRowOrderChange, dontChangeSelectionOnOrderChange]);
|
|
1059
1056
|
var onPointerMove = useCallback(function (e) {
|
|
1060
1057
|
var _ref$current3 = ref.current,
|
|
@@ -1332,6 +1329,7 @@ var useMouse = function useMouse(hitmapRef, selection, knobArea, editMode, editD
|
|
|
1332
1329
|
if (!hitTarget) return;
|
|
1333
1330
|
var xy = getMousePosition(e);
|
|
1334
1331
|
if (!xy) return;
|
|
1332
|
+
setHitTarget(null);
|
|
1335
1333
|
var previousRect = JSON.stringify(hitTarget.rect);
|
|
1336
1334
|
var currentRect = JSON.stringify((_getMouseHit = getMouseHit(xy)) === null || _getMouseHit === void 0 ? void 0 : _getMouseHit.rect);
|
|
1337
1335
|
|
|
@@ -1746,6 +1744,8 @@ var useScroll = function useScroll(offset, maxScroll, cellLayout, onOffsetChange
|
|
|
1746
1744
|
var clipDataOffset = function clipDataOffset(view, offset, freeze, maxCells, cellLayout) {
|
|
1747
1745
|
var newX = offset[0],
|
|
1748
1746
|
newY = offset[1];
|
|
1747
|
+
var freezeX = freeze[0],
|
|
1748
|
+
freezeY = freeze[1];
|
|
1749
1749
|
var maxColumns = maxCells[0],
|
|
1750
1750
|
maxRows = maxCells[1];
|
|
1751
1751
|
var absoluteToColumn = cellLayout.absoluteToColumn,
|
|
@@ -1762,14 +1762,14 @@ var clipDataOffset = function clipDataOffset(view, offset, freeze, maxCells, cel
|
|
|
1762
1762
|
scrollH = _getViewExtent$viewpo[1];
|
|
1763
1763
|
|
|
1764
1764
|
if (rightEdge > maxColumns) {
|
|
1765
|
-
var remainder = columnToAbsolute(maxColumns) - columnToAbsolute(newX);
|
|
1766
|
-
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);
|
|
1767
1767
|
}
|
|
1768
1768
|
|
|
1769
1769
|
if (bottomEdge > maxRows) {
|
|
1770
|
-
var _remainder = rowToAbsolute(maxRows) - rowToAbsolute(newY);
|
|
1770
|
+
var _remainder = rowToAbsolute(maxRows) - rowToAbsolute(newY + freezeY);
|
|
1771
1771
|
|
|
1772
|
-
newY = absoluteToRow(rowToAbsolute(newY) - scrollH + _remainder) + 1;
|
|
1772
|
+
newY = Math.max(0, absoluteToRow(rowToAbsolute(newY + freezeY) - scrollH + _remainder) - freezeY + 1);
|
|
1773
1773
|
}
|
|
1774
1774
|
|
|
1775
1775
|
return [newX, newY];
|
|
@@ -1853,20 +1853,25 @@ var scrollToCell = function scrollToCell(element, cell, view, freeze, offset, ma
|
|
|
1853
1853
|
|
|
1854
1854
|
if (!isSameXY(newOffset, offset)) {
|
|
1855
1855
|
var scroll = cellToAbsolute(newOffset);
|
|
1856
|
-
|
|
1857
|
-
var _cellToAbsolute4 = cellToAbsolute([0, 0], [0.5, 0.5]),
|
|
1858
|
-
nudgeX = _cellToAbsolute4[0],
|
|
1859
|
-
nudgeY = _cellToAbsolute4[1];
|
|
1860
|
-
|
|
1861
1856
|
callback(newOffset, maxXY(maxScroll, scroll));
|
|
1862
1857
|
setTimeout(function () {
|
|
1863
|
-
|
|
1864
|
-
scrollY = scroll[1];
|
|
1865
|
-
element.scrollLeft = scrollX - nudgeX;
|
|
1866
|
-
element.scrollTop = scrollY - nudgeY;
|
|
1858
|
+
updateScrollPosition(element, newOffset, cellLayout);
|
|
1867
1859
|
});
|
|
1868
1860
|
}
|
|
1869
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
|
+
};
|
|
1870
1875
|
|
|
1871
1876
|
var useAutoSizeColumn = function useAutoSizeColumn(rows, displayData, cellStyle, columnHeaders, columnHeaderStyle, canvasWidth) {
|
|
1872
1877
|
var context = useMemo(function () {
|
|
@@ -3725,9 +3730,13 @@ var Sheet = forwardRef(function (props, ref) {
|
|
|
3725
3730
|
_props$maxRows = props.maxRows,
|
|
3726
3731
|
maxRows = _props$maxRows === void 0 ? Infinity : _props$maxRows;
|
|
3727
3732
|
useLayoutEffect(function () {
|
|
3733
|
+
var overlay = overlayRef.current;
|
|
3734
|
+
if (!overlay) return;
|
|
3728
3735
|
var view = [canvasWidth, canvasHeight];
|
|
3729
3736
|
var freeze = [freezeColumns, freezeRows];
|
|
3730
|
-
|
|
3737
|
+
var newOffset = clipDataOffset(view, dataOffset, freeze, [maxColumns, maxRows], cellLayout);
|
|
3738
|
+
setDataOffset(newOffset);
|
|
3739
|
+
updateScrollPosition(overlay, newOffset, cellLayout);
|
|
3731
3740
|
}, [maxRows, maxColumns]);
|
|
3732
3741
|
var hitmapRef = useRef(NO_CLICKABLES);
|
|
3733
3742
|
var isFocused = focused || editMode;
|