sheet-happens 0.0.59 → 0.0.61
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 +126 -66
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +126 -66
- package/dist/index.modern.js.map +1 -1
- package/dist/mouse.d.ts +1 -1
- package/dist/render.d.ts +1 -1
- package/dist/sheet.d.ts +3 -1
- package/package.json +1 -1
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, 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) {
|
|
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, onColumnDrop, onRowDrop, onCellWidthChange, onCellHeightChange, onRightClick, dontCommitEditOnSelectionChange, dontChangeSelectionOnOrderChange) {
|
|
661
661
|
var _useState = React.useState(null),
|
|
662
662
|
columnResize = _useState[0],
|
|
663
663
|
setColumnResize = _useState[1];
|
|
@@ -806,7 +806,7 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
|
|
|
806
806
|
return i;
|
|
807
807
|
});
|
|
808
808
|
if (!hideColumnHeaders && y < getIndentY()) {
|
|
809
|
-
if (onColumnOrderChange) {
|
|
809
|
+
if (onColumnOrderChange || onColumnDrop) {
|
|
810
810
|
var start = columnToPixel(minX) + SIZES.resizeZone;
|
|
811
811
|
var end = columnToPixel(maxX, 1) - SIZES.resizeZone;
|
|
812
812
|
if (isInRange(x, start, end) || selectedColumnGroups) {
|
|
@@ -870,7 +870,7 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
|
|
|
870
870
|
}
|
|
871
871
|
}
|
|
872
872
|
if (!hideRowHeaders && x < getIndentX()) {
|
|
873
|
-
if (onRowOrderChange) {
|
|
873
|
+
if (onRowOrderChange || onRowDrop) {
|
|
874
874
|
var _start2 = rowToPixel(minY) + SIZES.resizeZone;
|
|
875
875
|
var _end2 = rowToPixel(maxY, 1) - SIZES.resizeZone;
|
|
876
876
|
if (isInRange(y, _start2, _end2) || selectedRowGroups) {
|
|
@@ -1009,33 +1009,45 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
|
|
|
1009
1009
|
_normalizeSelection2$2 = _normalizeSelection2[1],
|
|
1010
1010
|
maxX = _normalizeSelection2$2[0],
|
|
1011
1011
|
maxY = _normalizeSelection2$2[1];
|
|
1012
|
-
var cellX = pixelToColumn(x, 0.5);
|
|
1013
|
-
var cellY = pixelToRow(y, 0.5);
|
|
1014
1012
|
if (columnDrag) {
|
|
1015
1013
|
var indices = columnDrag.indices;
|
|
1016
|
-
var
|
|
1017
|
-
var
|
|
1018
|
-
|
|
1014
|
+
var startX = pixelToColumn(x, 0);
|
|
1015
|
+
var midX = pixelToColumn(x, 0.5);
|
|
1016
|
+
var leftX = pixelToColumn(x, 0.25);
|
|
1017
|
+
var rightX = pixelToColumn(x, 0.75) - 1;
|
|
1018
|
+
var insideGroup = isBoundaryInsideGroup(midX, columnGroupKeys);
|
|
1019
|
+
var dropOn = onColumnDrop && (insideGroup || leftX === rightX) || !onColumnOrderChange;
|
|
1020
|
+
var dropX = dropOn ? startX : midX;
|
|
1021
|
+
var insideSelection = dropX >= minX && dropX <= maxX + +!dropOn;
|
|
1022
|
+
if (!insideSelection && (dropOn || !insideGroup)) {
|
|
1023
|
+
var _ref;
|
|
1019
1024
|
var preceding = indices.filter(function (i) {
|
|
1020
|
-
return i <
|
|
1025
|
+
return i < dropX;
|
|
1021
1026
|
});
|
|
1022
|
-
var order =
|
|
1023
|
-
dontChangeSelectionOnOrderChange || (onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange([[order, minY], [order + indices.length - 1, maxY]]));
|
|
1024
|
-
onColumnOrderChange === null ||
|
|
1027
|
+
var order = dropX - preceding.length;
|
|
1028
|
+
dontChangeSelectionOnOrderChange || (onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange([[order, minY], [order + (dropOn ? 0 : indices.length - 1), maxY]]));
|
|
1029
|
+
(_ref = dropOn ? onColumnDrop : onColumnOrderChange) === null || _ref === void 0 ? void 0 : _ref(indices, order);
|
|
1025
1030
|
onInvalidateColumn === null || onInvalidateColumn === void 0 ? void 0 : onInvalidateColumn(Math.min(minX, order));
|
|
1026
1031
|
}
|
|
1027
1032
|
}
|
|
1028
1033
|
if (rowDrag) {
|
|
1029
1034
|
var _indices4 = rowDrag.indices;
|
|
1030
|
-
var
|
|
1031
|
-
var
|
|
1032
|
-
|
|
1035
|
+
var startY = pixelToRow(y, 0);
|
|
1036
|
+
var midY = pixelToRow(y, 0.5);
|
|
1037
|
+
var topY = pixelToRow(y, 0.25);
|
|
1038
|
+
var bottomY = pixelToRow(y, 0.75) - 1;
|
|
1039
|
+
var _insideGroup = isBoundaryInsideGroup(midY, rowGroupKeys);
|
|
1040
|
+
var _dropOn = onRowDrop && (_insideGroup || topY === bottomY) || !onRowOrderChange;
|
|
1041
|
+
var dropY = _dropOn ? startY : midY;
|
|
1042
|
+
var _insideSelection = dropY >= minY && dropY <= maxY + +!_dropOn;
|
|
1043
|
+
if (!_insideSelection && (_dropOn || !_insideGroup)) {
|
|
1044
|
+
var _ref2;
|
|
1033
1045
|
var _preceding = _indices4.filter(function (i) {
|
|
1034
|
-
return i <
|
|
1046
|
+
return i < dropY;
|
|
1035
1047
|
});
|
|
1036
|
-
var _order =
|
|
1037
|
-
dontChangeSelectionOnOrderChange || (onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange([[minX, _order], [maxX, _order + _indices4.length - 1]]));
|
|
1038
|
-
onRowOrderChange === null ||
|
|
1048
|
+
var _order = dropY - _preceding.length;
|
|
1049
|
+
dontChangeSelectionOnOrderChange || (onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange([[minX, _order], [maxX, _order + (_dropOn ? 0 : _indices4.length - 1)]]));
|
|
1050
|
+
(_ref2 = _dropOn ? onRowDrop : onRowOrderChange) === null || _ref2 === void 0 ? void 0 : _ref2(_indices4, _order);
|
|
1039
1051
|
onInvalidateRow === null || onInvalidateRow === void 0 ? void 0 : onInvalidateRow(Math.min(minY, _order));
|
|
1040
1052
|
}
|
|
1041
1053
|
}
|
|
@@ -1111,7 +1123,7 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
|
|
|
1111
1123
|
};
|
|
1112
1124
|
if (!isDragging) {
|
|
1113
1125
|
if (!hideColumnHeaders && y < getIndentY()) {
|
|
1114
|
-
if (onColumnOrderChange) {
|
|
1126
|
+
if (onColumnOrderChange || onColumnDrop) {
|
|
1115
1127
|
var start = columnToPixel(minX) + SIZES.resizeZone;
|
|
1116
1128
|
var end = columnToPixel(maxX, 1) - SIZES.resizeZone;
|
|
1117
1129
|
if (isInRange(x, start, end) || selectedColumnGroups) {
|
|
@@ -1138,7 +1150,7 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
|
|
|
1138
1150
|
}
|
|
1139
1151
|
}
|
|
1140
1152
|
if (!hideRowHeaders && x < getIndentX()) {
|
|
1141
|
-
if (onRowOrderChange) {
|
|
1153
|
+
if (onRowOrderChange || onRowDrop) {
|
|
1142
1154
|
var _start5 = rowToPixel(minY) + SIZES.resizeZone;
|
|
1143
1155
|
var _end5 = rowToPixel(maxY, 1) - SIZES.resizeZone;
|
|
1144
1156
|
if (isInRange(y, _start5, _end5) || selectedRowGroups) {
|
|
@@ -1253,31 +1265,61 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
|
|
|
1253
1265
|
var _x = xy[0],
|
|
1254
1266
|
_y = xy[1];
|
|
1255
1267
|
if (columnDrag) {
|
|
1256
|
-
var
|
|
1257
|
-
|
|
1258
|
-
|
|
1268
|
+
var _expandSelectionToRow7 = expandSelectionToRowOrColumnGroups(selection, columnGroupKeys, selectedColumnGroups, 0),
|
|
1269
|
+
_expandSelectionToRow8 = _expandSelectionToRow7[0],
|
|
1270
|
+
_minX2 = _expandSelectionToRow8[0],
|
|
1271
|
+
_expandSelectionToRow9 = _expandSelectionToRow7[1],
|
|
1272
|
+
_maxX2 = _expandSelectionToRow9[0];
|
|
1273
|
+
var startX = pixelToColumn(_x, 0);
|
|
1274
|
+
var midX = pixelToColumn(_x, 0.5);
|
|
1275
|
+
var leftX = pixelToColumn(_x, 0.25);
|
|
1276
|
+
var rightX = pixelToColumn(_x, 0.75) - 1;
|
|
1277
|
+
var insideGroup = isBoundaryInsideGroup(midX, columnGroupKeys);
|
|
1278
|
+
var dropOn = onColumnDrop && (insideGroup || leftX === rightX) && startX < maxColumns || !onColumnOrderChange;
|
|
1279
|
+
var dropX = dropOn ? startX : midX;
|
|
1259
1280
|
var _anchor3 = columnDrag.anchor,
|
|
1260
1281
|
_offset2 = columnDrag.offset;
|
|
1261
1282
|
var shift = _x - _anchor3[0];
|
|
1262
1283
|
var _getDragScrollOffset3 = getDragScrollOffset(_offset2),
|
|
1263
1284
|
_scrollOffset2 = _getDragScrollOffset3[0];
|
|
1285
|
+
var insideSelection = dropX >= _minX2 && dropX <= _maxX2 + +!dropOn;
|
|
1286
|
+
var dropSelection = [[dropX, -1], [dropX, -1]];
|
|
1287
|
+
if (dropOn) {
|
|
1288
|
+
var dropOnColumnGroup = new Set([columnGroupKeys(dropX)]);
|
|
1289
|
+
dropSelection = expandSelectionToRowOrColumnGroups(dropSelection, columnGroupKeys, dropOnColumnGroup, 0);
|
|
1290
|
+
}
|
|
1264
1291
|
onDragOffsetChange === null || onDragOffsetChange === void 0 ? void 0 : onDragOffsetChange([shift + _scrollOffset2, 0]);
|
|
1265
|
-
onDropTargetChange === null || onDropTargetChange === void 0 ? void 0 : onDropTargetChange(insideSelection || insideGroup ?
|
|
1292
|
+
onDropTargetChange === null || onDropTargetChange === void 0 ? void 0 : onDropTargetChange(!insideSelection && (dropOn || !insideGroup) ? dropSelection : null, dropOn);
|
|
1266
1293
|
}
|
|
1267
1294
|
if (rowDrag) {
|
|
1268
|
-
var
|
|
1269
|
-
|
|
1270
|
-
|
|
1295
|
+
var _expandSelectionToRow10 = expandSelectionToRowOrColumnGroups(selection, rowGroupKeys, selectedRowGroups, 1),
|
|
1296
|
+
_expandSelectionToRow11 = _expandSelectionToRow10[0],
|
|
1297
|
+
_minY2 = _expandSelectionToRow11[1],
|
|
1298
|
+
_expandSelectionToRow12 = _expandSelectionToRow10[1],
|
|
1299
|
+
_maxY2 = _expandSelectionToRow12[1];
|
|
1300
|
+
var startY = pixelToRow(_y, 0);
|
|
1301
|
+
var midY = pixelToRow(_y, 0.5);
|
|
1302
|
+
var topY = pixelToRow(_y, 0.25);
|
|
1303
|
+
var bottomY = pixelToRow(_y, 0.75) - 1;
|
|
1304
|
+
var _insideGroup2 = isBoundaryInsideGroup(midY, rowGroupKeys);
|
|
1305
|
+
var _dropOn2 = onRowDrop && (_insideGroup2 || topY === bottomY) && startY < maxRows || !onRowOrderChange;
|
|
1306
|
+
var dropY = _dropOn2 ? startY : midY;
|
|
1271
1307
|
var _anchor4 = rowDrag.anchor,
|
|
1272
1308
|
_offset3 = rowDrag.offset;
|
|
1273
1309
|
var _shift = _y - _anchor4[1];
|
|
1274
1310
|
var _getDragScrollOffset4 = getDragScrollOffset(_offset3),
|
|
1275
1311
|
_scrollOffset3 = _getDragScrollOffset4[1];
|
|
1312
|
+
var _insideSelection2 = dropY >= _minY2 && dropY <= _maxY2 + +!_dropOn2;
|
|
1313
|
+
var _dropSelection = [[-1, dropY], [-1, dropY]];
|
|
1314
|
+
if (_dropOn2) {
|
|
1315
|
+
var dropOnRowGroup = new Set([rowGroupKeys(dropY)]);
|
|
1316
|
+
_dropSelection = expandSelectionToRowOrColumnGroups(_dropSelection, rowGroupKeys, dropOnRowGroup, 1);
|
|
1317
|
+
}
|
|
1276
1318
|
onDragOffsetChange === null || onDragOffsetChange === void 0 ? void 0 : onDragOffsetChange([0, _shift + _scrollOffset3]);
|
|
1277
|
-
onDropTargetChange === null || onDropTargetChange === void 0 ? void 0 : onDropTargetChange(_insideSelection2 || _insideGroup2 ?
|
|
1319
|
+
onDropTargetChange === null || onDropTargetChange === void 0 ? void 0 : onDropTargetChange(!_insideSelection2 && (_dropOn2 || !_insideGroup2) ? _dropSelection : null, _dropOn2);
|
|
1278
1320
|
}
|
|
1279
1321
|
}
|
|
1280
|
-
}, [getMousePosition, getMouseOutOfBounds, getMouseHit, onCellWidthChange, onCellHeightChange, onDragIndicesChange, onDragOffsetChange, onDropTargetChange, onSelectionChange, onKnobAreaChange, onInvalidateRow, onInvalidateColumn, columnGroupKeys, rowGroupKeys]);
|
|
1322
|
+
}, [getMousePosition, getMouseOutOfBounds, getMouseHit, onCellWidthChange, onCellHeightChange, onDragIndicesChange, onDragOffsetChange, onDropTargetChange, onSelectionChange, onKnobAreaChange, onInvalidateRow, onInvalidateColumn, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, maxColumns, maxRows]);
|
|
1281
1323
|
var onClick = React.useCallback(function (e) {
|
|
1282
1324
|
var xy = getMousePosition(e);
|
|
1283
1325
|
if (!xy) return;
|
|
@@ -1379,10 +1421,16 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
|
|
|
1379
1421
|
if (!xy) return;
|
|
1380
1422
|
var x = xy[0],
|
|
1381
1423
|
y = xy[1];
|
|
1382
|
-
if (x <= getIndentX()
|
|
1424
|
+
if (x <= getIndentX() && y <= getIndentY()) {
|
|
1383
1425
|
return;
|
|
1384
1426
|
}
|
|
1385
1427
|
var cell = pixelToCell(xy);
|
|
1428
|
+
if (!hideRowHeaders && x < getIndentX()) {
|
|
1429
|
+
cell[0] = -1;
|
|
1430
|
+
}
|
|
1431
|
+
if (!hideColumnHeaders && y < getIndentY()) {
|
|
1432
|
+
cell[1] = -1;
|
|
1433
|
+
}
|
|
1386
1434
|
if (!isPointInsideSelection(selection, cell)) {
|
|
1387
1435
|
onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange([cell, cell]);
|
|
1388
1436
|
}
|
|
@@ -2955,7 +3003,7 @@ var makeIntMap = function makeIntMap(initialSize) {
|
|
|
2955
3003
|
};
|
|
2956
3004
|
};
|
|
2957
3005
|
|
|
2958
|
-
var renderSheet = function renderSheet(context, imageRenderer, cellLayout, visibleCells, sheetStyle, cellStyle, selection, secondarySelections, isFocused, knobPosition, knobArea, dragIndices, dragOffset, dropTarget, columnHeaders, columnHeaderStyle, displayData, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, dataOffset) {
|
|
3006
|
+
var renderSheet = function renderSheet(context, imageRenderer, cellLayout, visibleCells, sheetStyle, cellStyle, selection, secondarySelections, isFocused, knobPosition, knobArea, dragIndices, dragOffset, dropTarget, dropOn, columnHeaders, columnHeaderStyle, displayData, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, dataOffset) {
|
|
2959
3007
|
var canvas = context.canvas;
|
|
2960
3008
|
var width = canvas.width,
|
|
2961
3009
|
height = canvas.height;
|
|
@@ -3086,7 +3134,8 @@ var renderSheet = function renderSheet(context, imageRenderer, cellLayout, visib
|
|
|
3086
3134
|
var isInRowGroup = groupKey != null && (selectedRowGroups === null || selectedRowGroups === void 0 ? void 0 : selectedRowGroups.has(groupKey));
|
|
3087
3135
|
var isSelfSelected = rowSelectionActive && isActive;
|
|
3088
3136
|
var isGroupSelected = rowSelectionActive && isInRowGroup;
|
|
3089
|
-
var
|
|
3137
|
+
var isDropSelected = dropOn && dropTarget && row >= dropTarget[0][1] && row <= dropTarget[1][1];
|
|
3138
|
+
var style = isSelfSelected ? HEADER_SELECTED_STYLE : isGroupSelected || isDropSelected ? HEADER_GROUP_SELECTED_STYLE : isActive ? HEADER_ACTIVE_STYLE : NO_STYLE;
|
|
3090
3139
|
var resolvedStyle = _extends({}, DEFAULT_COLUMN_HEADER_STYLE, style);
|
|
3091
3140
|
var _top2 = rowToPixel(row);
|
|
3092
3141
|
var _bottom2 = rowToPixel(row, 1);
|
|
@@ -3103,7 +3152,8 @@ var renderSheet = function renderSheet(context, imageRenderer, cellLayout, visib
|
|
|
3103
3152
|
var _groupKey = columnGroupKeys(column);
|
|
3104
3153
|
var isInColumnGroup = _groupKey != null && (selectedColumnGroups === null || selectedColumnGroups === void 0 ? void 0 : selectedColumnGroups.has(_groupKey));
|
|
3105
3154
|
var isSelected = columnSelectionActive && !rowSelectionActive && (_isActive || isInColumnGroup);
|
|
3106
|
-
var
|
|
3155
|
+
var _isDropSelected = dropOn && dropTarget && column >= dropTarget[0][0] && column <= dropTarget[1][0];
|
|
3156
|
+
var selectedStyle = isSelected ? HEADER_SELECTED_STYLE : _isDropSelected ? HEADER_GROUP_SELECTED_STYLE : NO_STYLE;
|
|
3107
3157
|
var activeStyle = _isActive ? HEADER_ACTIVE_STYLE : NO_STYLE;
|
|
3108
3158
|
var _style = _extends({}, DEFAULT_COLUMN_HEADER_STYLE, columnHeaderStyle(column), activeStyle, selectedStyle);
|
|
3109
3159
|
var _left2 = columnToPixel(column);
|
|
@@ -3190,7 +3240,7 @@ var renderSheet = function renderSheet(context, imageRenderer, cellLayout, visib
|
|
|
3190
3240
|
}
|
|
3191
3241
|
}
|
|
3192
3242
|
}
|
|
3193
|
-
if (dropTarget) {
|
|
3243
|
+
if (dropTarget && !dropOn) {
|
|
3194
3244
|
var _resolveSelection = resolveSelection(dropTarget, cellLayout),
|
|
3195
3245
|
_resolveSelection$ = _resolveSelection[0],
|
|
3196
3246
|
_left6 = _resolveSelection$[0],
|
|
@@ -3524,28 +3574,31 @@ var Sheet = React.forwardRef(function (props, ref) {
|
|
|
3524
3574
|
var _useState7 = React.useState(null),
|
|
3525
3575
|
dropTarget = _useState7[0],
|
|
3526
3576
|
setDropTarget = _useState7[1];
|
|
3527
|
-
var _useState8 = React.useState(
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
var _useState9 = React.useState(
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
var _useState10 = React.useState(
|
|
3534
|
-
|
|
3535
|
-
|
|
3577
|
+
var _useState8 = React.useState(false),
|
|
3578
|
+
dropOn = _useState8[0],
|
|
3579
|
+
setDropOn = _useState8[1];
|
|
3580
|
+
var _useState9 = React.useState(NO_CELL),
|
|
3581
|
+
editCell = _useState9[0],
|
|
3582
|
+
setEditCell = _useState9[1];
|
|
3583
|
+
var _useState10 = React.useState(!!props.autoFocus),
|
|
3584
|
+
focused = _useState10[0],
|
|
3585
|
+
setFocused = _useState10[1];
|
|
3586
|
+
var _useState11 = React.useState(selectionProp),
|
|
3587
|
+
lastSelectionProp = _useState11[0],
|
|
3588
|
+
setLastSelectionProp = _useState11[1];
|
|
3536
3589
|
if (lastSelectionProp !== selectionProp) {
|
|
3537
3590
|
setLastSelectionProp(selectionProp);
|
|
3538
3591
|
setRawSelection(selectionProp);
|
|
3539
3592
|
}
|
|
3540
|
-
var
|
|
3541
|
-
editValue =
|
|
3542
|
-
setEditValue =
|
|
3543
|
-
var
|
|
3544
|
-
sourceValue =
|
|
3545
|
-
setSourceValue =
|
|
3546
|
-
var
|
|
3547
|
-
arrowKeyCommitMode =
|
|
3548
|
-
setArrowKeyCommitMode =
|
|
3593
|
+
var _useState12 = React.useState(''),
|
|
3594
|
+
editValue = _useState12[0],
|
|
3595
|
+
setEditValue = _useState12[1];
|
|
3596
|
+
var _useState13 = React.useState(null),
|
|
3597
|
+
sourceValue = _useState13[0],
|
|
3598
|
+
setSourceValue = _useState13[1];
|
|
3599
|
+
var _useState14 = React.useState(false),
|
|
3600
|
+
arrowKeyCommitMode = _useState14[0],
|
|
3601
|
+
setArrowKeyCommitMode = _useState14[1];
|
|
3549
3602
|
var _useResizeObserver = useResizeObserver({
|
|
3550
3603
|
ref: overlayRef
|
|
3551
3604
|
}),
|
|
@@ -3671,6 +3724,13 @@ var Sheet = React.forwardRef(function (props, ref) {
|
|
|
3671
3724
|
setMaxScroll(maxScroll);
|
|
3672
3725
|
});
|
|
3673
3726
|
};
|
|
3727
|
+
var changeDropTarget = function changeDropTarget(newSelection, dropOn) {
|
|
3728
|
+
if (dropOn === void 0) {
|
|
3729
|
+
dropOn = false;
|
|
3730
|
+
}
|
|
3731
|
+
setDropTarget(newSelection);
|
|
3732
|
+
setDropOn(dropOn);
|
|
3733
|
+
};
|
|
3674
3734
|
var changeSelection = function changeSelection(newSelection, scrollTo, toHead) {
|
|
3675
3735
|
if (scrollTo === void 0) {
|
|
3676
3736
|
scrollTo = true;
|
|
@@ -3687,14 +3747,14 @@ var Sheet = React.forwardRef(function (props, ref) {
|
|
|
3687
3747
|
scrollToSelection(newSelection, toHead);
|
|
3688
3748
|
}
|
|
3689
3749
|
if (props.onSelectionChanged) {
|
|
3690
|
-
var
|
|
3691
|
-
|
|
3692
|
-
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
props.onSelectionChanged(
|
|
3750
|
+
var _validateSelection = validateSelection(newSelection),
|
|
3751
|
+
_validateSelection$ = _validateSelection[0],
|
|
3752
|
+
anchorX = _validateSelection$[0],
|
|
3753
|
+
anchorY = _validateSelection$[1],
|
|
3754
|
+
_validateSelection$2 = _validateSelection[1],
|
|
3755
|
+
headX = _validateSelection$2[0],
|
|
3756
|
+
headY = _validateSelection$2[1];
|
|
3757
|
+
props.onSelectionChanged(anchorX, anchorY, headX, headY);
|
|
3698
3758
|
}
|
|
3699
3759
|
};
|
|
3700
3760
|
var cancelEditingCell = function cancelEditingCell() {
|
|
@@ -3768,7 +3828,7 @@ var Sheet = React.forwardRef(function (props, ref) {
|
|
|
3768
3828
|
var onScroll = useScroll(dataOffset, maxScroll, cellLayout, setDataOffset, setMaxScroll, props.onScrollAction);
|
|
3769
3829
|
var getAutoSizeWidth = useAutoSizeColumn(visibleCells.rows, displayData, cellLayout, cellStyle, columnHeaders, columnHeaderStyle, canvasWidth, freezeColumns);
|
|
3770
3830
|
var getAutoSizeHeight = useAutoSizeRow(visibleCells.columns, displayData, cellLayout, cellStyle, columnHeaders, columnHeaderStyle, cellWidth, canvasHeight, freezeRows);
|
|
3771
|
-
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,
|
|
3831
|
+
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, changeDropTarget, changeSelection, setFocused, props.cacheLayout ? columnLayout.clearAfter : undefined, props.cacheLayout ? rowLayout.clearAfter : undefined, props.onChange, props.onColumnOrderChange, props.onRowOrderChange, props.onColumnDrop, props.onRowDrop, props.onCellWidthChange, props.onCellHeightChange, props.onRightClick, props.dontCommitEditOnSelectionChange, props.dontChangeSelectionOnOrderChange),
|
|
3772
3832
|
mouseHandlers = _useMouse.mouseHandlers,
|
|
3773
3833
|
knobPosition = _useMouse.knobPosition;
|
|
3774
3834
|
var _useKeyboard = useKeyboard(arrowKeyCommitMode, overlayRef, cellReadOnly, displayData, editCell, editMode, focused, rawSelection, selection, startEditingCell, commitEditingCell, cancelEditingCell, changeSelection, setFocused, onClipboardCopy, props.onChange),
|
|
@@ -3787,15 +3847,15 @@ var Sheet = React.forwardRef(function (props, ref) {
|
|
|
3787
3847
|
return;
|
|
3788
3848
|
}
|
|
3789
3849
|
var animationFrameId = window.requestAnimationFrame(function () {
|
|
3790
|
-
hitmapRef.current = renderSheet(context, imageRenderer, cellLayout, visibleCells, sheetStyle, cellStyle, selection, secondarySelections, isFocused, knobPosition, knobArea, dragIndices, dragOffset, dropTarget, columnHeaders, columnHeaderStyle, displayData, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, dataOffset);
|
|
3850
|
+
hitmapRef.current = renderSheet(context, imageRenderer, cellLayout, visibleCells, sheetStyle, cellStyle, selection, secondarySelections, isFocused, knobPosition, knobArea, dragIndices, dragOffset, dropTarget, dropOn, columnHeaders, columnHeaderStyle, displayData, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, dataOffset);
|
|
3791
3851
|
});
|
|
3792
3852
|
return function () {
|
|
3793
3853
|
window.cancelAnimationFrame(animationFrameId);
|
|
3794
3854
|
};
|
|
3795
3855
|
}, [cellLayout, visibleCells, sheetStyle, cellStyle, selection, secondarySelections, isFocused, knobPosition, knobArea, dragOffset, dropTarget, columnHeaders, columnHeaderStyle, displayData, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, dataOffset]);
|
|
3796
|
-
var
|
|
3797
|
-
lastEditKey =
|
|
3798
|
-
setLastEditKey =
|
|
3856
|
+
var _useState15 = React.useState(''),
|
|
3857
|
+
lastEditKey = _useState15[0],
|
|
3858
|
+
setLastEditKey = _useState15[1];
|
|
3799
3859
|
var editTextPosition = ORIGIN;
|
|
3800
3860
|
var editTextWidth = 0;
|
|
3801
3861
|
var editTextHeight = 0;
|