@fileverse-dev/fortune-core 1.3.12 → 1.3.13-create-2

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.
Files changed (65) hide show
  1. package/es/events/keyboard.d.ts +2 -2
  2. package/es/events/keyboard.js +204 -30
  3. package/es/events/mouse.js +79 -44
  4. package/es/events/paste.js +240 -56
  5. package/es/locale/en.d.ts +3 -0
  6. package/es/locale/en.js +3 -0
  7. package/es/locale/es.d.ts +3 -0
  8. package/es/locale/es.js +3 -0
  9. package/es/locale/hi.d.ts +3 -0
  10. package/es/locale/hi.js +3 -0
  11. package/es/locale/index.d.ts +3 -0
  12. package/es/locale/zh.d.ts +3 -0
  13. package/es/locale/zh.js +3 -0
  14. package/es/locale/zh_tw.d.ts +3 -0
  15. package/es/locale/zh_tw.js +3 -0
  16. package/es/modules/ConditionFormat.js +26 -0
  17. package/es/modules/cell.d.ts +5 -1
  18. package/es/modules/cell.js +182 -38
  19. package/es/modules/clipboard.js +111 -2
  20. package/es/modules/format.js +12 -7
  21. package/es/modules/formula.d.ts +23 -0
  22. package/es/modules/formula.js +610 -51
  23. package/es/modules/hyperlink.js +18 -6
  24. package/es/modules/inline-string.js +61 -8
  25. package/es/modules/moveCells.js +52 -9
  26. package/es/modules/selection.d.ts +1 -0
  27. package/es/modules/selection.js +102 -16
  28. package/es/modules/validation.js +6 -3
  29. package/es/paste-helpers/calculate-range-cell-size.js +5 -4
  30. package/es/paste-table-helpers.d.ts +1 -1
  31. package/es/paste-table-helpers.js +170 -21
  32. package/es/types.d.ts +3 -0
  33. package/lib/events/keyboard.d.ts +2 -2
  34. package/lib/events/keyboard.js +203 -29
  35. package/lib/events/mouse.js +78 -43
  36. package/lib/events/paste.js +238 -54
  37. package/lib/locale/en.d.ts +3 -0
  38. package/lib/locale/en.js +3 -0
  39. package/lib/locale/es.d.ts +3 -0
  40. package/lib/locale/es.js +3 -0
  41. package/lib/locale/hi.d.ts +3 -0
  42. package/lib/locale/hi.js +3 -0
  43. package/lib/locale/index.d.ts +3 -0
  44. package/lib/locale/zh.d.ts +3 -0
  45. package/lib/locale/zh.js +3 -0
  46. package/lib/locale/zh_tw.d.ts +3 -0
  47. package/lib/locale/zh_tw.js +3 -0
  48. package/lib/modules/ConditionFormat.js +26 -0
  49. package/lib/modules/cell.d.ts +5 -1
  50. package/lib/modules/cell.js +180 -36
  51. package/lib/modules/clipboard.js +111 -2
  52. package/lib/modules/format.js +12 -7
  53. package/lib/modules/formula.d.ts +23 -0
  54. package/lib/modules/formula.js +623 -51
  55. package/lib/modules/hyperlink.js +18 -6
  56. package/lib/modules/inline-string.js +61 -8
  57. package/lib/modules/moveCells.js +52 -9
  58. package/lib/modules/selection.d.ts +1 -0
  59. package/lib/modules/selection.js +101 -15
  60. package/lib/modules/validation.js +6 -3
  61. package/lib/paste-helpers/calculate-range-cell-size.js +5 -4
  62. package/lib/paste-table-helpers.d.ts +1 -1
  63. package/lib/paste-table-helpers.js +170 -21
  64. package/lib/types.d.ts +3 -0
  65. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import _ from "lodash";
2
2
  import { getFlowdata } from "../context";
3
- import { cancelActiveImgItem, cancelPaintModel, functionHTMLGenerate, israngeseleciton, rangeHightlightselected, rangeSetValue, onCommentBoxMove, onCommentBoxMoveEnd, onCommentBoxResize, onCommentBoxResizeEnd, onImageMove, onImageMoveEnd, onImageResize, onImageResizeEnd, removeEditingComment, removeOverShowComment, rangeDrag, onFormulaRangeDragEnd, createFormulaRangeSelect, createRangeHightlight, onCellsMoveEnd, onCellsMove, cellFocus, editComment, onIframeMoveEnd, onIframeResizeEnd, overShowError } from "../modules";
3
+ import { cancelActiveImgItem, cancelPaintModel, functionHTMLGenerate, israngeseleciton, maybeRecoverDirtyRangeSelection, rangeHightlightselected, rangeSetValue, getFormulaEditorOwner, onCommentBoxMove, onCommentBoxMoveEnd, onCommentBoxResize, onCommentBoxResizeEnd, onImageMove, onImageMoveEnd, onImageResize, onImageResizeEnd, removeEditingComment, removeOverShowComment, rangeDrag, onFormulaRangeDragEnd, createFormulaRangeSelect, createRangeHightlight, onCellsMoveEnd, onCellsMove, cellFocus, editComment, onIframeMoveEnd, onIframeResizeEnd, overShowError } from "../modules";
4
4
  import { getFrozenHandleLeft, getFrozenHandleTop, scrollToFrozenRowCol } from "../modules/freeze";
5
5
  import { cancelFunctionrangeSelected, mergeBorder, mergeMoveMain, updateCell, luckysheetUpdateCell } from "../modules/cell";
6
6
  import { colLocation, colLocationByIndex, rowLocation, rowLocationByIndex } from "../modules/location";
@@ -106,7 +106,7 @@ export function fixPositionOnFrozenCells(freeze, x, y, mouseX, mouseY) {
106
106
  }
107
107
  export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxInput, canvas) {
108
108
  var _a, _b;
109
- var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
109
+ var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
110
110
  if (!(fxInput === null || fxInput === void 0 ? void 0 : fxInput.innerHTML) && ctx) {
111
111
  ctx.defaultCandidates = [];
112
112
  }
@@ -125,11 +125,11 @@ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, containe
125
125
  return;
126
126
  }
127
127
  var freeze = (_c = globalCache.freezen) === null || _c === void 0 ? void 0 : _c[ctx.currentSheetId];
128
- var _q = fixPositionOnFrozenCells(freeze, _x, _y, mouseX, mouseY),
129
- x = _q.x,
130
- y = _q.y,
131
- inHorizontalFreeze = _q.inHorizontalFreeze,
132
- inVerticalFreeze = _q.inVerticalFreeze;
128
+ var _p = fixPositionOnFrozenCells(freeze, _x, _y, mouseX, mouseY),
129
+ x = _p.x,
130
+ y = _p.y,
131
+ inHorizontalFreeze = _p.inHorizontalFreeze,
132
+ inVerticalFreeze = _p.inVerticalFreeze;
133
133
  var row_location = rowLocation(y, ctx.visibledatarow);
134
134
  var row = row_location[1];
135
135
  var row_pre = row_location[0];
@@ -174,12 +174,8 @@ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, containe
174
174
  }
175
175
  ctx.luckysheet_scroll_status = true;
176
176
  if (ctx.luckysheetCellUpdate.length > 0) {
177
- var parser = new DOMParser();
178
- var doc = parser.parseFromString("<div>".concat((_g = document.getElementById("luckysheet-rich-text-editor")) === null || _g === void 0 ? void 0 : _g.innerHTML, "</div>"), "text/html");
179
- var spans = doc.querySelectorAll("span");
180
- var firstSpan = spans[0];
181
- var lastSpan = spans[spans.length - 1];
182
- if ((ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start || israngeseleciton(ctx) || (firstSpan === null || firstSpan === void 0 ? void 0 : firstSpan.innerText.includes("=")) && !(lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText.includes(")"))) && lastSpan && ctx.luckysheetCellUpdate.length === 2) {
177
+ if (ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start || israngeseleciton(ctx)) {
178
+ var formulaEditorForCmdComma = getFormulaEditorOwner(ctx) === "fx" && fxInput ? fxInput : cellInput;
183
179
  var rowseleted = [row_index, row_index_ed];
184
180
  var columnseleted = [col_index, col_index_ed];
185
181
  var left = col_pre;
@@ -246,13 +242,14 @@ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, containe
246
242
  last.top_move = top_1;
247
243
  last.height_move = height;
248
244
  ctx.formulaCache.func_selectedrange = last;
249
- } else if (e.ctrlKey && ((_h = _.last(cellInput.querySelectorAll("span"))) === null || _h === void 0 ? void 0 : _h.innerText) !== ",") {
250
- var vText = cellInput.innerText;
245
+ } else if ((e.ctrlKey || e.metaKey) && ((_g = _.last(formulaEditorForCmdComma.querySelectorAll("span"))) === null || _g === void 0 ? void 0 : _g.innerText) !== ",") {
246
+ var didCmdCommaFormulaHtml = false;
247
+ var vText = formulaEditorForCmdComma.innerText;
251
248
  if (vText[vText.length - 1] === ")") {
252
249
  vText = vText.substring(0, vText.length - 1);
253
250
  }
254
251
  if (vText.length > 0) {
255
- var lastWord = vText.substring(vText.length - 1, 1);
252
+ var lastWord = vText.slice(-1);
256
253
  if (lastWord !== "," && lastWord !== "=" && lastWord !== "(") {
257
254
  vText += ",";
258
255
  }
@@ -262,21 +259,27 @@ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, containe
262
259
  if (window.getSelection) {
263
260
  var currSelection = window.getSelection();
264
261
  if (currSelection == null) return;
265
- ctx.formulaCache.functionRangeIndex = [_.indexOf((_l = (_k = (_j = currSelection.anchorNode) === null || _j === void 0 ? void 0 : _j.parentNode) === null || _k === void 0 ? void 0 : _k.parentNode) === null || _l === void 0 ? void 0 : _l.childNodes, (_m = currSelection.anchorNode) === null || _m === void 0 ? void 0 : _m.parentNode), currSelection.anchorOffset];
262
+ ctx.formulaCache.functionRangeIndex = [_.indexOf((_k = (_j = (_h = currSelection.anchorNode) === null || _h === void 0 ? void 0 : _h.parentNode) === null || _j === void 0 ? void 0 : _j.parentNode) === null || _k === void 0 ? void 0 : _k.childNodes, (_l = currSelection.anchorNode) === null || _l === void 0 ? void 0 : _l.parentNode), currSelection.anchorOffset];
266
263
  } else {
267
264
  var textRange = document.selection.createRange();
268
265
  ctx.formulaCache.functionRangeIndex = textRange;
269
266
  }
270
267
  cellInput.innerHTML = vText;
268
+ if (fxInput) fxInput.innerHTML = vText;
271
269
  cancelFunctionrangeSelected(ctx);
272
270
  createRangeHightlight(ctx, vText);
271
+ didCmdCommaFormulaHtml = true;
273
272
  }
274
273
  ctx.formulaCache.rangestart = false;
275
274
  ctx.formulaCache.rangedrag_column_start = false;
276
275
  ctx.formulaCache.rangedrag_row_start = false;
277
- if (fxInput) fxInput.innerHTML = vText;
278
- rangeHightlightselected(ctx, cellInput);
276
+ rangeHightlightselected(ctx, formulaEditorForCmdComma);
279
277
  israngeseleciton(ctx);
278
+ if (didCmdCommaFormulaHtml) {
279
+ ctx.formulaCache.rangechangeindex = undefined;
280
+ var ch = formulaEditorForCmdComma.childNodes;
281
+ ctx.formulaCache.rangeSetValueTo = ch.length > 0 ? ch[ch.length - 1] : undefined;
282
+ }
280
283
  ctx.formulaCache.func_selectedrange = {
281
284
  left: left,
282
285
  width: width,
@@ -307,13 +310,15 @@ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, containe
307
310
  column_focus: col_index
308
311
  };
309
312
  }
313
+ ctx.formulaCache.rangestart = true;
314
+ ctx.formulaCache.rangedrag_column_start = false;
315
+ ctx.formulaCache.rangedrag_row_start = false;
316
+ ctx.formulaCache.rangeSelectionActive = true;
310
317
  rangeSetValue(ctx, cellInput, {
311
318
  row: rowseleted,
312
319
  column: columnseleted
313
320
  }, fxInput);
314
- ctx.formulaCache.rangestart = true;
315
- ctx.formulaCache.rangedrag_column_start = false;
316
- ctx.formulaCache.rangedrag_row_start = false;
321
+ rangeHightlightselected(ctx, cellInput);
317
322
  ctx.formulaCache.selectingRangeIndex = ctx.formulaCache.rangechangeindex;
318
323
  if (ctx.formulaCache.rangechangeindex > ctx.formulaRangeHighlight.length) {
319
324
  createRangeHightlight(ctx, cellInput.innerHTML, ctx.formulaCache.rangechangeindex);
@@ -336,7 +341,7 @@ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, containe
336
341
  }
337
342
  if (ctx.luckysheet_select_status) {
338
343
  if (e.shiftKey) {
339
- var last = (_o = ctx.luckysheet_select_save) === null || _o === void 0 ? void 0 : _o[ctx.luckysheet_select_save.length - 1];
344
+ var last = (_m = ctx.luckysheet_select_save) === null || _m === void 0 ? void 0 : _m[ctx.luckysheet_select_save.length - 1];
340
345
  if (last && last.top != null && last.left != null && last.height != null && last.width != null && last.row_focus != null && last.column_focus != null) {
341
346
  var top_2 = 0;
342
347
  var height = 0;
@@ -395,7 +400,7 @@ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, containe
395
400
  ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1] = last;
396
401
  }
397
402
  } else if (e.ctrlKey || e.metaKey) {
398
- (_p = ctx.luckysheet_select_save) === null || _p === void 0 ? void 0 : _p.push({
403
+ (_o = ctx.luckysheet_select_save) === null || _o === void 0 ? void 0 : _o.push({
399
404
  left: col_pre,
400
405
  width: col - col_pre - 1,
401
406
  top: row_pre,
@@ -487,6 +492,8 @@ export function handleCellAreaDoubleClick(ctx, globalCache, settings, e, contain
487
492
  row_index = row_focus;
488
493
  col_index = column_focus;
489
494
  }
495
+ globalCache.enteredEditByTyping = false;
496
+ delete globalCache.pendingTypeOverCell;
490
497
  luckysheetUpdateCell(ctx, row_index, col_index);
491
498
  }
492
499
  export function handleContextMenu(ctx, settings, e, workbookContainer, container, area) {
@@ -827,10 +834,28 @@ export function mouseRender(ctx, globalCache, e, cellInput, scrollX, scrollY, co
827
834
  ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1] = last;
828
835
  scrollToFrozenRowCol(ctx, (_d = globalCache.freezen) === null || _d === void 0 ? void 0 : _d[ctx.currentSheetId]);
829
836
  } else if (ctx.formulaCache.rangestart) {
837
+ if (ctx.formulaCache.rangeSelectionActive === false && !maybeRecoverDirtyRangeSelection(ctx)) {
838
+ if (ctx.luckysheetCellUpdate.length > 0) {
839
+ updateCell(ctx, ctx.luckysheetCellUpdate[0], ctx.luckysheetCellUpdate[1], cellInput);
840
+ }
841
+ return;
842
+ }
830
843
  rangeDrag(ctx, e, cellInput, scrollX.scrollLeft, scrollY.scrollTop, container, fxInput);
831
844
  } else if (ctx.formulaCache.rangedrag_row_start) {
845
+ if (ctx.formulaCache.rangeSelectionActive === false && !maybeRecoverDirtyRangeSelection(ctx)) {
846
+ if (ctx.luckysheetCellUpdate.length > 0) {
847
+ updateCell(ctx, ctx.luckysheetCellUpdate[0], ctx.luckysheetCellUpdate[1], cellInput);
848
+ }
849
+ return;
850
+ }
832
851
  rangeDragRow(ctx, e, cellInput, scrollX.scrollLeft, scrollY.scrollTop, container, fxInput);
833
852
  } else if (ctx.formulaCache.rangedrag_column_start) {
853
+ if (ctx.formulaCache.rangeSelectionActive === false && !maybeRecoverDirtyRangeSelection(ctx)) {
854
+ if (ctx.luckysheetCellUpdate.length > 0) {
855
+ updateCell(ctx, ctx.luckysheetCellUpdate[0], ctx.luckysheetCellUpdate[1], cellInput);
856
+ }
857
+ return;
858
+ }
834
859
  rangeDragColumn(ctx, e, cellInput, scrollX.scrollLeft, scrollY.scrollTop, container, fxInput);
835
860
  } else if (ctx.luckysheet_rows_selected_status) {} else if (ctx.luckysheet_cols_selected_status) {} else if (ctx.luckysheet_cell_selected_move) {} else if (ctx.luckysheet_cell_selected_extend) {
836
861
  onDropCellSelect(ctx, e, scrollX, scrollY, container);
@@ -936,7 +961,7 @@ export function handleOverlayMouseMove(ctx, globalCache, e, cellInput, scrollX,
936
961
  }
937
962
  }
938
963
  export function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX, scrollbarY, container, cellInput, fxInput) {
939
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
964
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
940
965
  var rect = container.getBoundingClientRect();
941
966
  onImageMoveEnd(ctx, globalCache);
942
967
  onImageResizeEnd(ctx, globalCache);
@@ -949,11 +974,17 @@ export function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX,
949
974
  onRangeSelectionModalMoveEnd(globalCache);
950
975
  onCellsMoveEnd(ctx, globalCache, e, scrollbarX, scrollbarY, container);
951
976
  if (ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start) {
952
- if (((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.id) === "luckysheet-functionbox-cell") {
977
+ if (getFormulaEditorOwner(ctx) === "fx") {
953
978
  handleFormulaInput(ctx, cellInput, fxInput, 0, undefined, false);
954
979
  } else {
955
980
  handleFormulaInput(ctx, fxInput, cellInput, 0, undefined, false);
956
981
  }
982
+ ctx.luckysheet_select_status = false;
983
+ ctx.luckysheet_scroll_status = false;
984
+ ctx.luckysheet_rows_selected_status = false;
985
+ ctx.luckysheet_cols_selected_status = false;
986
+ e.preventDefault();
987
+ return;
957
988
  }
958
989
  if (ctx.luckysheet_select_status) {
959
990
  if (ctx.luckysheetPaintModelOn) {
@@ -995,10 +1026,10 @@ export function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX,
995
1026
  cfg_1.customHeight[ctx.luckysheet_rows_change_size_start[1]] = 1;
996
1027
  var changeRowIndex_1 = ctx.luckysheet_rows_change_size_start[1];
997
1028
  var changeRowSelected_1 = false;
998
- if (((_c = (_b = ctx.luckysheet_select_save) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > 0) {
999
- (_e = (_d = ctx.luckysheet_select_save) === null || _d === void 0 ? void 0 : _d.filter(function (select) {
1029
+ if (((_b = (_a = ctx.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0) {
1030
+ (_d = (_c = ctx.luckysheet_select_save) === null || _c === void 0 ? void 0 : _c.filter(function (select) {
1000
1031
  return select.row_select;
1001
- })) === null || _e === void 0 ? void 0 : _e.some(function (select) {
1032
+ })) === null || _d === void 0 ? void 0 : _d.some(function (select) {
1002
1033
  if (changeRowIndex_1 >= select.row[0] && changeRowIndex_1 <= select.row[1]) {
1003
1034
  changeRowSelected_1 = true;
1004
1035
  }
@@ -1007,9 +1038,9 @@ export function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX,
1007
1038
  }
1008
1039
  if (changeRowSelected_1) {
1009
1040
  cfg_1.rowlen || (cfg_1.rowlen = {});
1010
- (_g = (_f = ctx.luckysheet_select_save) === null || _f === void 0 ? void 0 : _f.filter(function (select) {
1041
+ (_f = (_e = ctx.luckysheet_select_save) === null || _e === void 0 ? void 0 : _e.filter(function (select) {
1011
1042
  return select.row_select;
1012
- })) === null || _g === void 0 ? void 0 : _g.forEach(function (select) {
1043
+ })) === null || _f === void 0 ? void 0 : _f.forEach(function (select) {
1013
1044
  for (var r = select.row[0]; r <= select.row[1]; r += 1) {
1014
1045
  cfg_1.rowlen[r] = Math.ceil(size_1 / ctx.zoomRatio);
1015
1046
  }
@@ -1053,10 +1084,10 @@ export function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX,
1053
1084
  cfg_2.customWidth[ctx.luckysheet_cols_change_size_start[1]] = 1;
1054
1085
  var changeColumnIndex_1 = ctx.luckysheet_cols_change_size_start[1];
1055
1086
  var changeColumnSelected_1 = false;
1056
- if (((_j = (_h = ctx.luckysheet_select_save) === null || _h === void 0 ? void 0 : _h.length) !== null && _j !== void 0 ? _j : 0) > 0) {
1057
- (_l = (_k = ctx.luckysheet_select_save) === null || _k === void 0 ? void 0 : _k.filter(function (select) {
1087
+ if (((_h = (_g = ctx.luckysheet_select_save) === null || _g === void 0 ? void 0 : _g.length) !== null && _h !== void 0 ? _h : 0) > 0) {
1088
+ (_k = (_j = ctx.luckysheet_select_save) === null || _j === void 0 ? void 0 : _j.filter(function (select) {
1058
1089
  return select.column_select;
1059
- })) === null || _l === void 0 ? void 0 : _l.some(function (select) {
1090
+ })) === null || _k === void 0 ? void 0 : _k.some(function (select) {
1060
1091
  if (changeColumnIndex_1 >= select.column[0] && changeColumnIndex_1 <= select.column[1]) {
1061
1092
  changeColumnSelected_1 = true;
1062
1093
  }
@@ -1065,9 +1096,9 @@ export function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX,
1065
1096
  }
1066
1097
  if (changeColumnSelected_1) {
1067
1098
  cfg_2.columnlen || (cfg_2.columnlen = {});
1068
- (_o = (_m = ctx.luckysheet_select_save) === null || _m === void 0 ? void 0 : _m.filter(function (select) {
1099
+ (_m = (_l = ctx.luckysheet_select_save) === null || _l === void 0 ? void 0 : _l.filter(function (select) {
1069
1100
  return select.column_select;
1070
- })) === null || _o === void 0 ? void 0 : _o.forEach(function (select) {
1101
+ })) === null || _m === void 0 ? void 0 : _m.forEach(function (select) {
1071
1102
  for (var r = select.column[0]; r <= select.column[1]; r += 1) {
1072
1103
  cfg_2.columnlen[r] = Math.ceil(size_2 / ctx.zoomRatio);
1073
1104
  }
@@ -1084,10 +1115,10 @@ export function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX,
1084
1115
  ctx.luckysheet_cols_freeze_drag = false;
1085
1116
  var scrollLeft = ctx.scrollLeft;
1086
1117
  var x = e.pageX - rect.left - ctx.rowHeaderWidth + scrollLeft - window.scrollX;
1087
- var _p = colLocation(x, ctx.visibledatacolumn),
1088
- col_pre = _p[0],
1089
- col_curr = _p[1],
1090
- col_index_curr = _p[2];
1118
+ var _o = colLocation(x, ctx.visibledatacolumn),
1119
+ col_pre = _o[0],
1120
+ col_curr = _o[1],
1121
+ col_index_curr = _o[2];
1091
1122
  var col_index = x > (col_curr + col_pre) / 2 ? col_index_curr : col_index_curr - 1;
1092
1123
  var idx = getSheetIndex(ctx, ctx.currentSheetId);
1093
1124
  if (idx == null) return;
@@ -1135,10 +1166,10 @@ export function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX,
1135
1166
  ctx.luckysheet_rows_freeze_drag = false;
1136
1167
  var scrollTop = ctx.scrollTop;
1137
1168
  var y = e.pageY - rect.top - ctx.columnHeaderHeight + scrollTop - window.scrollY;
1138
- var _q = rowLocation(y, ctx.visibledatarow),
1139
- row_pre = _q[0],
1140
- row_curr = _q[1],
1141
- row_index_curr = _q[2];
1169
+ var _p = rowLocation(y, ctx.visibledatarow),
1170
+ row_pre = _p[0],
1171
+ row_curr = _p[1],
1172
+ row_index_curr = _p[2];
1142
1173
  var row_index = y > (row_curr + row_pre) / 2 ? row_index_curr : row_index_curr - 1;
1143
1174
  var idx = getSheetIndex(ctx, ctx.currentSheetId);
1144
1175
  if (idx == null) return;
@@ -1317,10 +1348,12 @@ export function handleRowHeaderMouseDown(ctx, globalCache, e, container, cellInp
1317
1348
  row: rowseleted,
1318
1349
  column: [null, null]
1319
1350
  }, fxInput);
1351
+ rangeHightlightselected(ctx, cellInput);
1320
1352
  }
1321
1353
  ctx.formulaCache.rangedrag_row_start = true;
1322
1354
  ctx.formulaCache.rangestart = false;
1323
1355
  ctx.formulaCache.rangedrag_column_start = false;
1356
+ ctx.formulaCache.rangeSelectionActive = true;
1324
1357
  ctx.formulaCache.selectingRangeIndex = ctx.formulaCache.rangechangeindex;
1325
1358
  if (ctx.formulaCache.rangechangeindex > ctx.formulaRangeHighlight.length) {
1326
1359
  createRangeHightlight(ctx, cellInput.innerHTML, ctx.formulaCache.rangechangeindex);
@@ -1548,10 +1581,12 @@ export function handleColumnHeaderMouseDown(ctx, globalCache, e, container, cell
1548
1581
  row: [null, null],
1549
1582
  column: columnseleted
1550
1583
  }, fxInput);
1584
+ rangeHightlightselected(ctx, cellInput);
1551
1585
  }
1552
1586
  ctx.formulaCache.rangedrag_column_start = true;
1553
1587
  ctx.formulaCache.rangestart = false;
1554
1588
  ctx.formulaCache.rangedrag_row_start = false;
1589
+ ctx.formulaCache.rangeSelectionActive = true;
1555
1590
  ctx.formulaCache.selectingRangeIndex = ctx.formulaCache.rangechangeindex;
1556
1591
  if (ctx.formulaCache.rangechangeindex > ctx.formulaRangeHighlight.length) {
1557
1592
  createRangeHightlight(ctx, cellInput.innerHTML, ctx.formulaCache.rangechangeindex);