sheet-happens 0.0.58 → 0.0.60
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 +31 -13
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +31 -13
- package/dist/index.modern.js.map +1 -1
- package/dist/mouse.d.ts +1 -1
- package/dist/scroll.d.ts +1 -1
- package/dist/sheet.d.ts +2 -1
- package/package.json +5 -4
package/dist/index.js
CHANGED
|
@@ -657,7 +657,7 @@ var findInDisplayData = function findInDisplayData(displayData, start, direction
|
|
|
657
657
|
return maxXY(cell, [0, 0]);
|
|
658
658
|
};
|
|
659
659
|
|
|
660
|
-
var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, knobArea, editMode, editData, sourceData, cellReadOnly, canSizeColumn, canSizeRow, canOrderColumn, canOrderRow, cellLayout, visibleCells, sheetStyle, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, getAutoSizeWidth, getAutoSizeHeight, onEdit, onCommit, onKnobAreaChange, onDragIndicesChange, onDragOffsetChange, onDropTargetChange, onSelectionChange, onFocusChange, onInvalidateColumn, onInvalidateRow, onChange, onColumnOrderChange, onRowOrderChange, onCellWidthChange, onCellHeightChange, onRightClick, dontCommitEditOnSelectionChange, dontChangeSelectionOnOrderChange) {
|
|
660
|
+
var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, knobArea, editMode, editData, sourceData, cellReadOnly, maxColumns, maxRows, canSizeColumn, canSizeRow, canOrderColumn, canOrderRow, cellLayout, visibleCells, sheetStyle, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, getAutoSizeWidth, getAutoSizeHeight, onEdit, onCommit, onKnobAreaChange, onDragIndicesChange, onDragOffsetChange, onDropTargetChange, onSelectionChange, onFocusChange, onInvalidateColumn, onInvalidateRow, onChange, onColumnOrderChange, onRowOrderChange, onCellWidthChange, onCellHeightChange, onRightClick, dontCommitEditOnSelectionChange, dontChangeSelectionOnOrderChange) {
|
|
661
661
|
var _useState = React.useState(null),
|
|
662
662
|
columnResize = _useState[0],
|
|
663
663
|
setColumnResize = _useState[1];
|
|
@@ -935,6 +935,14 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
|
|
|
935
935
|
}
|
|
936
936
|
}
|
|
937
937
|
}
|
|
938
|
+
if (!hideColumnHeaders && !hideRowHeaders && y < getIndentY() && x < getIndentX()) {
|
|
939
|
+
var lastCol = (Number.isFinite(maxColumns) ? maxColumns : MAX_SEARCHABLE_INDEX) - 1;
|
|
940
|
+
var lastRow = (Number.isFinite(maxRows) ? maxRows : MAX_SEARCHABLE_INDEX) - 1;
|
|
941
|
+
if (lastCol >= 0 && lastRow >= 0) {
|
|
942
|
+
onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange([[0, 0], [lastCol, lastRow]], false, true);
|
|
943
|
+
}
|
|
944
|
+
return;
|
|
945
|
+
}
|
|
938
946
|
if (knobPosition) {
|
|
939
947
|
var knobX = knobPosition[0],
|
|
940
948
|
knobY = knobPosition[1];
|
|
@@ -1371,10 +1379,16 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
|
|
|
1371
1379
|
if (!xy) return;
|
|
1372
1380
|
var x = xy[0],
|
|
1373
1381
|
y = xy[1];
|
|
1374
|
-
if (x <= getIndentX()
|
|
1382
|
+
if (x <= getIndentX() && y <= getIndentY()) {
|
|
1375
1383
|
return;
|
|
1376
1384
|
}
|
|
1377
1385
|
var cell = pixelToCell(xy);
|
|
1386
|
+
if (!hideRowHeaders && x < getIndentX()) {
|
|
1387
|
+
cell[0] = -1;
|
|
1388
|
+
}
|
|
1389
|
+
if (!hideColumnHeaders && y < getIndentY()) {
|
|
1390
|
+
cell[1] = -1;
|
|
1391
|
+
}
|
|
1378
1392
|
if (!isPointInsideSelection(selection, cell)) {
|
|
1379
1393
|
onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange([cell, cell]);
|
|
1380
1394
|
}
|
|
@@ -1640,7 +1654,7 @@ var useKeyboard = function useKeyboard(arrowKeyCommitMode, overlayRef, cellReadO
|
|
|
1640
1654
|
};
|
|
1641
1655
|
};
|
|
1642
1656
|
|
|
1643
|
-
var useScroll = function useScroll(offset, maxScroll, cellLayout, onOffsetChange, onMaxScrollChange) {
|
|
1657
|
+
var useScroll = function useScroll(offset, maxScroll, cellLayout, onOffsetChange, onMaxScrollChange, onScrollAction) {
|
|
1644
1658
|
return React.useCallback(function (e) {
|
|
1645
1659
|
if (!e.target || !(e.target instanceof Element)) {
|
|
1646
1660
|
return;
|
|
@@ -1654,6 +1668,7 @@ var useScroll = function useScroll(offset, maxScroll, cellLayout, onOffsetChange
|
|
|
1654
1668
|
var cell = absoluteToCell(xy);
|
|
1655
1669
|
if (!isSameXY(cell, offset)) {
|
|
1656
1670
|
onOffsetChange === null || onOffsetChange === void 0 ? void 0 : onOffsetChange(cell);
|
|
1671
|
+
onScrollAction === null || onScrollAction === void 0 ? void 0 : onScrollAction();
|
|
1657
1672
|
}
|
|
1658
1673
|
var x = xy[0],
|
|
1659
1674
|
y = xy[1];
|
|
@@ -3678,14 +3693,14 @@ var Sheet = React.forwardRef(function (props, ref) {
|
|
|
3678
3693
|
scrollToSelection(newSelection, toHead);
|
|
3679
3694
|
}
|
|
3680
3695
|
if (props.onSelectionChanged) {
|
|
3681
|
-
var
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3687
|
-
|
|
3688
|
-
props.onSelectionChanged(
|
|
3696
|
+
var _validateSelection = validateSelection(newSelection),
|
|
3697
|
+
_validateSelection$ = _validateSelection[0],
|
|
3698
|
+
anchorX = _validateSelection$[0],
|
|
3699
|
+
anchorY = _validateSelection$[1],
|
|
3700
|
+
_validateSelection$2 = _validateSelection[1],
|
|
3701
|
+
headX = _validateSelection$2[0],
|
|
3702
|
+
headY = _validateSelection$2[1];
|
|
3703
|
+
props.onSelectionChanged(anchorX, anchorY, headX, headY);
|
|
3689
3704
|
}
|
|
3690
3705
|
};
|
|
3691
3706
|
var cancelEditingCell = function cancelEditingCell() {
|
|
@@ -3748,15 +3763,18 @@ var Sheet = React.forwardRef(function (props, ref) {
|
|
|
3748
3763
|
setDataOffset(newOffset);
|
|
3749
3764
|
updateScrollPosition(overlay, newOffset, cellLayout);
|
|
3750
3765
|
}, [maxRows, maxColumns]);
|
|
3766
|
+
React.useLayoutEffect(function () {
|
|
3767
|
+
scrollToSelection(selectionProp, true);
|
|
3768
|
+
}, [selectionProp]);
|
|
3751
3769
|
var hitmapRef = React.useRef(NO_CLICKABLES);
|
|
3752
3770
|
var isFocused = focused || editMode;
|
|
3753
3771
|
var _useClipboardAPI = useClipboardAPI(selection, editData, sourceData, cellReadOnly, isFocused && !editMode, changeSelection, props.onChange, props.onCopy, props.onPaste, (_props$clipboardOrigi = props.clipboardOrigin) != null ? _props$clipboardOrigi : location.origin),
|
|
3754
3772
|
clipboardApi = _useClipboardAPI.clipboardApi,
|
|
3755
3773
|
onClipboardCopy = _useClipboardAPI.onClipboardCopy;
|
|
3756
|
-
var onScroll = useScroll(dataOffset, maxScroll, cellLayout, setDataOffset, setMaxScroll);
|
|
3774
|
+
var onScroll = useScroll(dataOffset, maxScroll, cellLayout, setDataOffset, setMaxScroll, props.onScrollAction);
|
|
3757
3775
|
var getAutoSizeWidth = useAutoSizeColumn(visibleCells.rows, displayData, cellLayout, cellStyle, columnHeaders, columnHeaderStyle, canvasWidth, freezeColumns);
|
|
3758
3776
|
var getAutoSizeHeight = useAutoSizeRow(visibleCells.columns, displayData, cellLayout, cellStyle, columnHeaders, columnHeaderStyle, cellWidth, canvasHeight, freezeRows);
|
|
3759
|
-
var _useMouse = useMouse(overlayRef, dataOffset, hitmapRef, selection, knobArea, editMode, editData, sourceData, cellReadOnly, canSizeColumn, canSizeRow, canOrderColumn, canOrderRow, cellLayout, visibleCells, sheetStyle, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, getAutoSizeWidth, getAutoSizeHeight, startEditingCell, commitEditingCell, setKnobArea, setDragIndices, setDragOffset, setDropTarget, changeSelection, setFocused, props.cacheLayout ? columnLayout.clearAfter : undefined, props.cacheLayout ? rowLayout.clearAfter : undefined, props.onChange, props.onColumnOrderChange, props.onRowOrderChange, props.onCellWidthChange, props.onCellHeightChange, props.onRightClick, props.dontCommitEditOnSelectionChange, props.dontChangeSelectionOnOrderChange),
|
|
3777
|
+
var _useMouse = useMouse(overlayRef, dataOffset, hitmapRef, selection, knobArea, editMode, editData, sourceData, cellReadOnly, maxColumns, maxRows, canSizeColumn, canSizeRow, canOrderColumn, canOrderRow, cellLayout, visibleCells, sheetStyle, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, getAutoSizeWidth, getAutoSizeHeight, startEditingCell, commitEditingCell, setKnobArea, setDragIndices, setDragOffset, setDropTarget, changeSelection, setFocused, props.cacheLayout ? columnLayout.clearAfter : undefined, props.cacheLayout ? rowLayout.clearAfter : undefined, props.onChange, props.onColumnOrderChange, props.onRowOrderChange, props.onCellWidthChange, props.onCellHeightChange, props.onRightClick, props.dontCommitEditOnSelectionChange, props.dontChangeSelectionOnOrderChange),
|
|
3760
3778
|
mouseHandlers = _useMouse.mouseHandlers,
|
|
3761
3779
|
knobPosition = _useMouse.knobPosition;
|
|
3762
3780
|
var _useKeyboard = useKeyboard(arrowKeyCommitMode, overlayRef, cellReadOnly, displayData, editCell, editMode, focused, rawSelection, selection, startEditingCell, commitEditingCell, cancelEditingCell, changeSelection, setFocused, onClipboardCopy, props.onChange),
|