@rowsncolumns/grid 9.0.3 → 9.0.4

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.
@@ -132,7 +132,7 @@ export interface SelectionResults {
132
132
  *
133
133
  * Fill selections
134
134
  */
135
- fillSelection: SelectionArea | null;
135
+ fillSelection: SelectionArea | undefined;
136
136
  /**
137
137
  * Clears the last selection
138
138
  */
@@ -13,12 +13,13 @@ const defaultSelectionSpan = () => true;
13
13
  const useSelection = ({ gridRef, initialActiveCell = null, initialSelections = EMPTY_SELECTION, columnCount = 0, rowCount = 0, selectionPolicy = "multiple", newSelectionMode = "clear", allowDeselectSelection = true, onFill, isHiddenRow = defaultIsHidden, isHiddenColumn = defaultIsHidden, alwaysScrollToActiveCell = true, selectionTopBound = 0, selectionBottomBound = rowCount - 1, selectionLeftBound = 0, selectionRightBound = columnCount - 1, mouseDownInterceptor, mouseMoveInterceptor, mergedCells = [], canSelectionSpanMergedCells = defaultSelectionSpan, getValue, onSelectionMove, }) => {
14
14
  const [activeCell, setActiveCell] = (0, react_1.useState)(initialActiveCell);
15
15
  const [selections, setSelections] = (0, react_1.useState)(initialSelections);
16
- const [fillSelection, setFillSelection] = (0, react_1.useState)(null);
16
+ const [fillSelection, setFillSelection] = (0, react_1.useState)();
17
17
  const selectionStart = (0, react_1.useRef)(null);
18
18
  const selectionEnd = (0, react_1.useRef)(null);
19
19
  const isSelecting = (0, react_1.useRef)(false);
20
20
  const isFilling = (0, react_1.useRef)(false);
21
21
  const firstActiveCell = (0, react_1.useRef)(null);
22
+ const fillSelectionRef = (0, react_1.useRef)();
22
23
  /* Drag drop selection */
23
24
  const [_, forceRender] = (0, react_1.useReducer)((s) => s + 1, 0);
24
25
  const isDragging = (0, react_1.useRef)(false);
@@ -43,6 +44,9 @@ const useSelection = ({ gridRef, initialActiveCell = null, initialSelections = E
43
44
  (0, react_1.useEffect)(() => {
44
45
  mergedCellsRef.current = mergedCells;
45
46
  }, [mergedCells]);
47
+ (0, react_1.useEffect)(() => {
48
+ fillSelectionRef.current = fillSelection;
49
+ }, [fillSelection]);
46
50
  /* Check if cell is out of bounds */
47
51
  const isCellOutOfBounds = (0, react_1.useCallback)((cell) => {
48
52
  return (cell.rowIndex < selectionTopBound ||
@@ -716,12 +720,6 @@ const useSelection = ({ gridRef, initialActiveCell = null, initialSelections = E
716
720
  gridRef.current.scrollToItem(coords);
717
721
  }
718
722
  }, []);
719
- const handleFillHandleMouseDown = (0, react_1.useCallback)((e) => {
720
- e.stopPropagation();
721
- isFilling.current = true;
722
- document.addEventListener("mousemove", handleFillHandleMouseMove);
723
- document.addEventListener("mouseup", handleFillHandleMouseUp);
724
- }, [selections]);
725
723
  /**
726
724
  * TODO
727
725
  * 1. Fill does not extend to merged cells
@@ -777,7 +775,7 @@ const useSelection = ({ gridRef, initialActiveCell = null, initialSelections = E
777
775
  */
778
776
  if (hasSelections &&
779
777
  boundsSubsetOfSelection(bounds, selections[0].bounds)) {
780
- setFillSelection(null);
778
+ setFillSelection(undefined);
781
779
  return;
782
780
  }
783
781
  setFillSelection({ bounds });
@@ -796,11 +794,9 @@ const useSelection = ({ gridRef, initialActiveCell = null, initialSelections = E
796
794
  if (!gridRef || !activeCellRef.current)
797
795
  return;
798
796
  /* Update last selection */
799
- let fillSelection = null;
800
- setFillSelection((prev) => {
801
- fillSelection = prev;
802
- return null;
803
- });
797
+ let fillSelection = fillSelectionRef.current;
798
+ /* Update last selection */
799
+ setFillSelection(undefined);
804
800
  /* Use ref, as we are binding to document */
805
801
  const selections = activeSelectionsRef.current;
806
802
  const activeCell = activeCellRef.current;
@@ -829,7 +825,13 @@ const useSelection = ({ gridRef, initialActiveCell = null, initialSelections = E
829
825
  return sel;
830
826
  });
831
827
  });
832
- }, []);
828
+ }, [onFill]);
829
+ const handleFillHandleMouseDown = (0, react_1.useCallback)((e) => {
830
+ e.stopPropagation();
831
+ isFilling.current = true;
832
+ document.addEventListener("mousemove", handleFillHandleMouseMove);
833
+ document.addEventListener("mouseup", handleFillHandleMouseUp);
834
+ }, [handleFillHandleMouseMove, handleFillHandleMouseUp]);
833
835
  /**
834
836
  * Remove the last selection from state
835
837
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useSelection.js","sourceRoot":"","sources":["../../src/hooks/useSelection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSelection.js","sourceRoot":"","sources":["../../src/hooks/useSelection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rowsncolumns/grid",
3
3
  "description": "Declarative React Canvas Grid primitive for Data table, Pivot table, Excel Worksheets",
4
- "version": "9.0.3",
4
+ "version": "9.0.4",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",
7
7
  "files": [
@@ -43,5 +43,5 @@
43
43
  "react": "^18.2.0",
44
44
  "react-dom": "^18.2.0"
45
45
  },
46
- "gitHead": "614e64cee1c47b2902d7d0bf8ad53fa036e25a1e"
46
+ "gitHead": "02a87374a592c095aad87bb7c339eee7ac919d37"
47
47
  }
@@ -181,7 +181,7 @@ export interface SelectionResults {
181
181
  *
182
182
  * Fill selections
183
183
  */
184
- fillSelection: SelectionArea | null;
184
+ fillSelection: SelectionArea | undefined;
185
185
  /**
186
186
  * Clears the last selection
187
187
  */
@@ -259,14 +259,13 @@ const useSelection = ({
259
259
  );
260
260
  const [selections, setSelections] =
261
261
  useState<SelectionArea[]>(initialSelections);
262
- const [fillSelection, setFillSelection] = useState<SelectionArea | null>(
263
- null
264
- );
262
+ const [fillSelection, setFillSelection] = useState<SelectionArea>();
265
263
  const selectionStart = useRef<CellInterface | null>(null);
266
264
  const selectionEnd = useRef<CellInterface | null>(null);
267
265
  const isSelecting = useRef<boolean>(false);
268
266
  const isFilling = useRef<boolean>(false);
269
267
  const firstActiveCell = useRef<CellInterface | null>(null);
268
+ const fillSelectionRef = useRef<SelectionArea>();
270
269
 
271
270
  /* Drag drop selection */
272
271
  const [_, forceRender] = useReducer((s) => s + 1, 0);
@@ -293,6 +292,9 @@ const useSelection = ({
293
292
  useEffect(() => {
294
293
  mergedCellsRef.current = mergedCells;
295
294
  }, [mergedCells]);
295
+ useEffect(() => {
296
+ fillSelectionRef.current = fillSelection;
297
+ }, [fillSelection]);
296
298
 
297
299
  /* Check if cell is out of bounds */
298
300
  const isCellOutOfBounds = useCallback(
@@ -1106,16 +1108,6 @@ const useSelection = ({
1106
1108
  []
1107
1109
  );
1108
1110
 
1109
- const handleFillHandleMouseDown = useCallback(
1110
- (e: React.MouseEvent<HTMLDivElement>) => {
1111
- e.stopPropagation();
1112
- isFilling.current = true;
1113
- document.addEventListener("mousemove", handleFillHandleMouseMove);
1114
- document.addEventListener("mouseup", handleFillHandleMouseUp);
1115
- },
1116
- [selections]
1117
- );
1118
-
1119
1111
  /**
1120
1112
  * TODO
1121
1113
  * 1. Fill does not extend to merged cells
@@ -1183,7 +1175,7 @@ const useSelection = ({
1183
1175
  hasSelections &&
1184
1176
  boundsSubsetOfSelection(bounds, selections[0].bounds)
1185
1177
  ) {
1186
- setFillSelection(null);
1178
+ setFillSelection(undefined);
1187
1179
  return;
1188
1180
  }
1189
1181
 
@@ -1195,55 +1187,66 @@ const useSelection = ({
1195
1187
  /**
1196
1188
  * When user releases mouse on the fill handle
1197
1189
  */
1198
- const handleFillHandleMouseUp = useCallback((e: globalThis.MouseEvent) => {
1199
- isFilling.current = false;
1190
+ const handleFillHandleMouseUp = useCallback(
1191
+ (e: globalThis.MouseEvent) => {
1192
+ isFilling.current = false;
1200
1193
 
1201
- /* Remove listener */
1202
- document.removeEventListener("mousemove", handleFillHandleMouseMove);
1203
- document.removeEventListener("mouseup", handleFillHandleMouseUp);
1194
+ /* Remove listener */
1195
+ document.removeEventListener("mousemove", handleFillHandleMouseMove);
1196
+ document.removeEventListener("mouseup", handleFillHandleMouseUp);
1204
1197
 
1205
- /* Exit early */
1206
- if (!gridRef || !activeCellRef.current) return;
1198
+ /* Exit early */
1199
+ if (!gridRef || !activeCellRef.current) return;
1207
1200
 
1208
- /* Update last selection */
1209
- let fillSelection: SelectionArea | null = null;
1201
+ /* Update last selection */
1202
+ let fillSelection = fillSelectionRef.current;
1210
1203
 
1211
- setFillSelection((prev) => {
1212
- fillSelection = prev;
1213
- return null;
1214
- });
1204
+ /* Update last selection */
1205
+ setFillSelection(undefined);
1215
1206
 
1216
- /* Use ref, as we are binding to document */
1217
- const selections = activeSelectionsRef.current;
1218
- const activeCell = activeCellRef.current;
1219
- if (!activeCell || !fillSelection) return;
1207
+ /* Use ref, as we are binding to document */
1208
+ const selections = activeSelectionsRef.current;
1209
+ const activeCell = activeCellRef.current;
1210
+ if (!activeCell || !fillSelection) return;
1220
1211
 
1221
- const newBounds = (fillSelection as SelectionArea)?.bounds;
1222
- if (!newBounds) return;
1212
+ const newBounds = (fillSelection as SelectionArea)?.bounds;
1213
+ if (!newBounds) return;
1223
1214
 
1224
- /* Focus on the grid */
1225
- gridRef.current?.focus();
1215
+ /* Focus on the grid */
1216
+ gridRef.current?.focus();
1226
1217
 
1227
- /* Callback */
1228
- onFill && onFill(activeCell, fillSelection, selections);
1218
+ /* Callback */
1219
+ onFill && onFill(activeCell, fillSelection, selections);
1229
1220
 
1230
- /* Modify last selection */
1231
- setSelections((prevSelection) => {
1232
- const len = prevSelection.length;
1233
- if (!len) {
1234
- return [{ bounds: newBounds }];
1235
- }
1236
- return prevSelection.map((sel, i) => {
1237
- if (len - 1 === i) {
1238
- return {
1239
- ...sel,
1240
- bounds: newBounds,
1241
- };
1221
+ /* Modify last selection */
1222
+ setSelections((prevSelection) => {
1223
+ const len = prevSelection.length;
1224
+ if (!len) {
1225
+ return [{ bounds: newBounds }];
1242
1226
  }
1243
- return sel;
1227
+ return prevSelection.map((sel, i) => {
1228
+ if (len - 1 === i) {
1229
+ return {
1230
+ ...sel,
1231
+ bounds: newBounds,
1232
+ };
1233
+ }
1234
+ return sel;
1235
+ });
1244
1236
  });
1245
- });
1246
- }, []);
1237
+ },
1238
+ [onFill]
1239
+ );
1240
+
1241
+ const handleFillHandleMouseDown = useCallback(
1242
+ (e: React.MouseEvent<HTMLDivElement>) => {
1243
+ e.stopPropagation();
1244
+ isFilling.current = true;
1245
+ document.addEventListener("mousemove", handleFillHandleMouseMove);
1246
+ document.addEventListener("mouseup", handleFillHandleMouseUp);
1247
+ },
1248
+ [handleFillHandleMouseMove, handleFillHandleMouseUp]
1249
+ );
1247
1250
 
1248
1251
  /**
1249
1252
  * Remove the last selection from state