@fileverse-dev/fortune-core 1.3.10 → 1.3.11-input-ref-1
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/es/api/range.js +20 -0
- package/es/api/sheet.js +30 -2
- package/es/events/keyboard.js +50 -15
- package/es/events/mouse.js +62 -40
- package/es/events/paste.js +77 -28
- package/es/modules/cell.js +60 -2
- package/es/modules/comment.js +129 -24
- package/es/modules/dataVerification.js +34 -1
- package/es/modules/dropCell.js +65 -1
- package/es/modules/formula.d.ts +11 -0
- package/es/modules/formula.js +390 -47
- package/es/modules/hyperlink.js +52 -5
- package/es/modules/merge.js +93 -1
- package/es/modules/moveCells.js +35 -9
- package/es/modules/rowcol.js +75 -2
- package/es/modules/searchReplace.js +58 -2
- package/es/modules/selection.js +152 -42
- package/es/modules/sort.js +74 -9
- package/es/modules/splitColumn.js +21 -0
- package/es/modules/toolbar.js +46 -3
- package/es/settings.d.ts +5 -0
- package/lib/api/range.js +20 -0
- package/lib/api/sheet.js +29 -1
- package/lib/events/keyboard.js +49 -14
- package/lib/events/mouse.js +61 -39
- package/lib/events/paste.js +77 -28
- package/lib/modules/cell.js +60 -2
- package/lib/modules/comment.js +129 -24
- package/lib/modules/dataVerification.js +34 -1
- package/lib/modules/dropCell.js +65 -1
- package/lib/modules/formula.d.ts +11 -0
- package/lib/modules/formula.js +399 -47
- package/lib/modules/hyperlink.js +52 -5
- package/lib/modules/merge.js +93 -1
- package/lib/modules/moveCells.js +35 -9
- package/lib/modules/rowcol.js +75 -2
- package/lib/modules/searchReplace.js +58 -2
- package/lib/modules/selection.js +152 -42
- package/lib/modules/sort.js +74 -9
- package/lib/modules/splitColumn.js +21 -0
- package/lib/modules/toolbar.js +46 -3
- package/lib/settings.d.ts +5 -0
- package/package.json +1 -1
package/lib/api/range.js
CHANGED
|
@@ -93,6 +93,7 @@ function setSelection(ctx, range, options) {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
function setCellValuesByRange(ctx, data, range, cellInput, options, callAfterUpdate) {
|
|
96
|
+
var _a, _b, _c, _d, _e;
|
|
96
97
|
if (options === void 0) {
|
|
97
98
|
options = {};
|
|
98
99
|
}
|
|
@@ -110,13 +111,32 @@ function setCellValuesByRange(ctx, data, range, cellInput, options, callAfterUpd
|
|
|
110
111
|
if (data.length !== rowCount || data[0].length !== columnCount) {
|
|
111
112
|
throw new Error("data size does not match range");
|
|
112
113
|
}
|
|
114
|
+
var sheet = (0, _common.getSheet)(ctx, options);
|
|
115
|
+
var sheetId = sheet.id || ctx.currentSheetId;
|
|
116
|
+
var cellChanges = [];
|
|
113
117
|
for (var i = 0; i < rowCount; i += 1) {
|
|
114
118
|
for (var j = 0; j < columnCount; j += 1) {
|
|
115
119
|
var row = range.row[0] + i;
|
|
116
120
|
var column = range.column[0] + j;
|
|
117
121
|
(0, _cell.setCellValue)(ctx, row, column, data[i][j], cellInput, options, callAfterUpdate);
|
|
122
|
+
if (((_a = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _a === void 0 ? void 0 : _a.updateCellYdoc) && sheet.data) {
|
|
123
|
+
cellChanges.push({
|
|
124
|
+
sheetId: sheetId,
|
|
125
|
+
path: ["celldata"],
|
|
126
|
+
value: {
|
|
127
|
+
r: row,
|
|
128
|
+
c: column,
|
|
129
|
+
v: (_d = (_c = (_b = sheet.data) === null || _b === void 0 ? void 0 : _b[row]) === null || _c === void 0 ? void 0 : _c[column]) !== null && _d !== void 0 ? _d : null
|
|
130
|
+
},
|
|
131
|
+
key: "".concat(row, "_").concat(column),
|
|
132
|
+
type: "update"
|
|
133
|
+
});
|
|
134
|
+
}
|
|
118
135
|
}
|
|
119
136
|
}
|
|
137
|
+
if (cellChanges.length > 0 && ((_e = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _e === void 0 ? void 0 : _e.updateCellYdoc)) {
|
|
138
|
+
ctx.hooks.updateCellYdoc(cellChanges);
|
|
139
|
+
}
|
|
120
140
|
}
|
|
121
141
|
function setCellFormatByRange(ctx, attr, value, range, options) {
|
|
122
142
|
if (options === void 0) {
|
package/lib/api/sheet.js
CHANGED
|
@@ -164,7 +164,7 @@ function generateCopySheetName(ctx, sheetId) {
|
|
|
164
164
|
return sheetCopyName;
|
|
165
165
|
}
|
|
166
166
|
function copySheet(ctx, sheetId) {
|
|
167
|
-
var _a, _b, _c;
|
|
167
|
+
var _a, _b, _c, _d, _e;
|
|
168
168
|
var index = (0, _utils.getSheetIndex)(ctx, sheetId);
|
|
169
169
|
var order = ctx.luckysheetfile[index].order + 1;
|
|
170
170
|
var sheetName = generateCopySheetName(ctx, sheetId);
|
|
@@ -201,6 +201,34 @@ function copySheet(ctx, sheetId) {
|
|
|
201
201
|
var sheetOrderList = {};
|
|
202
202
|
sheetOrderList[newSheetId] = order;
|
|
203
203
|
_2.api.setSheetOrder(ctx, sheetOrderList);
|
|
204
|
+
(0, _2.changeSheet)(ctx, newSheetId, undefined, true, true);
|
|
205
|
+
if ((_d = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _d === void 0 ? void 0 : _d.updateAllCell) {
|
|
206
|
+
ctx.hooks.updateAllCell(newSheetId);
|
|
207
|
+
} else if ((_e = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _e === void 0 ? void 0 : _e.updateCellYdoc) {
|
|
208
|
+
var changes_1 = [];
|
|
209
|
+
var celldata = newSheet.celldata || (0, _common.dataToCelldata)(newSheet.data);
|
|
210
|
+
if (Array.isArray(celldata)) {
|
|
211
|
+
celldata.forEach(function (d) {
|
|
212
|
+
var _a;
|
|
213
|
+
if (d == null) return;
|
|
214
|
+
var r = d.r;
|
|
215
|
+
var c = d.c;
|
|
216
|
+
if (!_lodash.default.isNumber(r) || !_lodash.default.isNumber(c)) return;
|
|
217
|
+
changes_1.push({
|
|
218
|
+
sheetId: newSheetId,
|
|
219
|
+
path: ["celldata"],
|
|
220
|
+
key: "".concat(r, "_").concat(c),
|
|
221
|
+
value: {
|
|
222
|
+
r: r,
|
|
223
|
+
c: c,
|
|
224
|
+
v: (_a = d.v) !== null && _a !== void 0 ? _a : null
|
|
225
|
+
},
|
|
226
|
+
type: d.v == null ? "delete" : "update"
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
if (changes_1.length > 0) ctx.hooks.updateCellYdoc(changes_1);
|
|
231
|
+
}
|
|
204
232
|
}
|
|
205
233
|
function calculateSheetFromula(ctx, id) {
|
|
206
234
|
var _a, _b, _c;
|
package/lib/events/keyboard.js
CHANGED
|
@@ -134,6 +134,9 @@ var __generator = void 0 && (void 0).__generator || function (thisArg, body) {
|
|
|
134
134
|
};
|
|
135
135
|
}
|
|
136
136
|
};
|
|
137
|
+
function isLegacyFormulaRangeMode(ctx) {
|
|
138
|
+
return !!ctx.formulaCache.rangestart || !!ctx.formulaCache.rangedrag_column_start || !!ctx.formulaCache.rangedrag_row_start || ctx.formulaCache.rangeSelectionActive === true || (0, _formula.israngeseleciton)(ctx);
|
|
139
|
+
}
|
|
137
140
|
function handleGlobalEnter(ctx, cellInput, e, canvas) {
|
|
138
141
|
var _a, _b, _c;
|
|
139
142
|
if ((e.altKey || e.metaKey) && ctx.luckysheetCellUpdate.length > 0) {
|
|
@@ -179,11 +182,20 @@ function moveToEdge(sheetData, key, curr, rowDelta, colDelta, startR, endR, star
|
|
|
179
182
|
return colDelta === 0 ? r : c;
|
|
180
183
|
}
|
|
181
184
|
function handleControlPlusArrowKey(ctx, e, shiftPressed) {
|
|
182
|
-
if (ctx.
|
|
185
|
+
if (ctx.formulaCache.rangeSelectionActive === false && !(0, _formula.maybeRecoverDirtyRangeSelection)(ctx)) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
var isFormulaRefMode = isLegacyFormulaRangeMode(ctx);
|
|
189
|
+
if (isFormulaRefMode) {
|
|
190
|
+
ctx.formulaCache.rangeSelectionActive = true;
|
|
191
|
+
}
|
|
192
|
+
if (ctx.luckysheetCellUpdate.length > 0 && !isFormulaRefMode) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
183
195
|
var idx = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
|
|
184
196
|
if (_lodash.default.isNil(idx)) return;
|
|
185
197
|
var file = ctx.luckysheetfile[idx];
|
|
186
|
-
if (!file ||
|
|
198
|
+
if (!file || _lodash.default.isNil(file.row) || _lodash.default.isNil(file.column)) return;
|
|
187
199
|
var maxRow = file.row;
|
|
188
200
|
var maxCol = file.column;
|
|
189
201
|
var last;
|
|
@@ -334,7 +346,14 @@ function handleWithCtrlOrMetaKey(ctx, cache, e, cellInput, fxInput, handleUndo,
|
|
|
334
346
|
}
|
|
335
347
|
function handleShiftWithArrowKey(ctx, e) {
|
|
336
348
|
var _a;
|
|
337
|
-
if (ctx.
|
|
349
|
+
if (ctx.formulaCache.rangeSelectionActive === false && !(0, _formula.maybeRecoverDirtyRangeSelection)(ctx)) {
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
var isFormulaMode = isLegacyFormulaRangeMode(ctx);
|
|
353
|
+
if (isFormulaMode) {
|
|
354
|
+
ctx.formulaCache.rangeSelectionActive = true;
|
|
355
|
+
}
|
|
356
|
+
if (ctx.luckysheetCellUpdate.length > 0 && !isFormulaMode) {
|
|
338
357
|
return;
|
|
339
358
|
}
|
|
340
359
|
ctx.luckysheet_shiftpositon = _lodash.default.cloneDeep((_a = ctx.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[ctx.luckysheet_select_save.length - 1]);
|
|
@@ -358,17 +377,15 @@ function handleShiftWithArrowKey(ctx, e) {
|
|
|
358
377
|
e.preventDefault();
|
|
359
378
|
}
|
|
360
379
|
function handleArrowKey(ctx, e) {
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
var parser = new DOMParser();
|
|
364
|
-
var doc = parser.parseFromString("<div>".concat((_a = document.getElementById("luckysheet-rich-text-editor")) === null || _a === void 0 ? void 0 : _a.innerHTML, "</div>"), "text/html");
|
|
365
|
-
var spans = doc.querySelectorAll("span");
|
|
366
|
-
var lastSpan = spans[spans.length - 1];
|
|
367
|
-
var notFunctionInit = !((_b = document.getElementById("luckysheet-rich-text-editor")) === null || _b === void 0 ? void 0 : _b.innerText.includes("("));
|
|
368
|
-
if ((lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText.includes(")")) || (lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText.includes('"')) || notFunctionInit && /^[a-zA-Z]+$/.test(lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText) && !_lodash.default.includes(["="], lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText) || /^[a-zA-Z]+$/.test(lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText)) {
|
|
369
|
-
return;
|
|
370
|
-
}
|
|
380
|
+
if (ctx.formulaCache.rangeSelectionActive === false && !(0, _formula.maybeRecoverDirtyRangeSelection)(ctx)) {
|
|
381
|
+
return;
|
|
371
382
|
}
|
|
383
|
+
var isFormulaRefMode = isLegacyFormulaRangeMode(ctx);
|
|
384
|
+
if (isFormulaRefMode) ctx.formulaCache.rangeSelectionActive = true;
|
|
385
|
+
if (ctx.luckysheetCellUpdate.length > 0 && !isFormulaRefMode) {
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
if (ctx.luckysheetCellUpdate.length > 0 || ctx.luckysheet_cell_selected_move || ctx.luckysheet_cell_selected_extend) {}
|
|
372
389
|
var moveCount = (0, _2.hideCRCount)(ctx, e.key);
|
|
373
390
|
switch (e.key) {
|
|
374
391
|
case "ArrowUp":
|
|
@@ -386,11 +403,12 @@ function handleArrowKey(ctx, e) {
|
|
|
386
403
|
default:
|
|
387
404
|
break;
|
|
388
405
|
}
|
|
406
|
+
e.preventDefault();
|
|
389
407
|
}
|
|
390
408
|
function handleGlobalKeyDown(ctx, cellInput, fxInput, e, cache, handleUndo, handleRedo, canvas) {
|
|
391
409
|
var _a, _b, _c;
|
|
392
410
|
return __awaiter(this, void 0, void 0, function () {
|
|
393
|
-
var kcode, kstr, allowEdit, isFxInput, ignoredKeys, restCod, last, row_index, col_index, last, row_index, col_index;
|
|
411
|
+
var handledFlvShortcut, kcode, kstr, allowEdit, isFxInput, ignoredKeys, restCod, last, row_index, col_index, last, row_index, col_index;
|
|
394
412
|
return __generator(this, function (_d) {
|
|
395
413
|
if (e.shiftKey && e.code === "Space") {
|
|
396
414
|
e.stopImmediatePropagation();
|
|
@@ -398,27 +416,41 @@ function handleGlobalKeyDown(ctx, cellInput, fxInput, e, cache, handleUndo, hand
|
|
|
398
416
|
e.preventDefault();
|
|
399
417
|
return [2];
|
|
400
418
|
}
|
|
419
|
+
handledFlvShortcut = false;
|
|
401
420
|
if ((e.ctrlKey || e.metaKey && e.shiftKey) && e.code === "KeyE") {
|
|
402
421
|
(0, _selection.textFormat)(ctx, "center");
|
|
422
|
+
handledFlvShortcut = true;
|
|
403
423
|
} else if ((e.ctrlKey || e.metaKey && e.shiftKey) && e.code === "KeyL") {
|
|
404
424
|
(0, _selection.textFormat)(ctx, "left");
|
|
425
|
+
handledFlvShortcut = true;
|
|
405
426
|
} else if ((e.ctrlKey || e.metaKey && e.shiftKey) && e.code === "KeyR") {
|
|
406
427
|
(0, _selection.textFormat)(ctx, "right");
|
|
428
|
+
handledFlvShortcut = true;
|
|
407
429
|
}
|
|
408
430
|
if ((e.metaKey || e.ctrlKey) && e.code === "KeyK") {
|
|
409
431
|
(0, _toolbar.handleLink)(ctx, cellInput);
|
|
410
432
|
}
|
|
411
433
|
if ((e.metaKey || e.ctrlKey) && !e.shiftKey && e.code === "Semicolon") {
|
|
412
434
|
(0, _selection.fillDate)(ctx);
|
|
435
|
+
handledFlvShortcut = true;
|
|
413
436
|
}
|
|
414
437
|
if ((e.metaKey || e.ctrlKey) && e.shiftKey && e.code === "Semicolon") {
|
|
415
438
|
(0, _selection.fillTime)(ctx);
|
|
439
|
+
handledFlvShortcut = true;
|
|
416
440
|
}
|
|
417
441
|
if ((e.metaKey || e.ctrlKey) && !e.shiftKey && e.code === "KeyR") {
|
|
418
442
|
(0, _selection.fillRightData)(ctx);
|
|
443
|
+
handledFlvShortcut = true;
|
|
419
444
|
}
|
|
420
445
|
if ((e.metaKey || e.ctrlKey) && e.code === "KeyD") {
|
|
421
446
|
(0, _selection.fillDownData)(ctx);
|
|
447
|
+
handledFlvShortcut = true;
|
|
448
|
+
}
|
|
449
|
+
if (handledFlvShortcut) {
|
|
450
|
+
(0, _refresh.jfrefreshgrid)(ctx, null, undefined);
|
|
451
|
+
e.stopPropagation();
|
|
452
|
+
e.preventDefault();
|
|
453
|
+
return [2];
|
|
422
454
|
}
|
|
423
455
|
ctx.luckysheet_select_status = false;
|
|
424
456
|
kcode = e.keyCode;
|
|
@@ -480,6 +512,9 @@ function handleGlobalKeyDown(ctx, cellInput, fxInput, e, cache, handleUndo, hand
|
|
|
480
512
|
if (ctx.activeImg != null) {
|
|
481
513
|
(0, _2.removeActiveImage)(ctx);
|
|
482
514
|
} else {
|
|
515
|
+
if (ctx.formulaCache.rangeSelectionActive === true) {
|
|
516
|
+
(0, _formula.markRangeSelectionDirty)(ctx);
|
|
517
|
+
}
|
|
483
518
|
(0, _selection.deleteSelectedCellText)(ctx);
|
|
484
519
|
}
|
|
485
520
|
(0, _refresh.jfrefreshgrid)(ctx, null, undefined);
|
package/lib/events/mouse.js
CHANGED
|
@@ -127,7 +127,7 @@ function fixPositionOnFrozenCells(freeze, x, y, mouseX, mouseY) {
|
|
|
127
127
|
}
|
|
128
128
|
function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxInput, canvas) {
|
|
129
129
|
var _a, _b;
|
|
130
|
-
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o
|
|
130
|
+
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
131
131
|
if (!(fxInput === null || fxInput === void 0 ? void 0 : fxInput.innerHTML) && ctx) {
|
|
132
132
|
ctx.defaultCandidates = [];
|
|
133
133
|
}
|
|
@@ -146,11 +146,11 @@ function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxIn
|
|
|
146
146
|
return;
|
|
147
147
|
}
|
|
148
148
|
var freeze = (_c = globalCache.freezen) === null || _c === void 0 ? void 0 : _c[ctx.currentSheetId];
|
|
149
|
-
var
|
|
150
|
-
x =
|
|
151
|
-
y =
|
|
152
|
-
inHorizontalFreeze =
|
|
153
|
-
inVerticalFreeze =
|
|
149
|
+
var _p = fixPositionOnFrozenCells(freeze, _x, _y, mouseX, mouseY),
|
|
150
|
+
x = _p.x,
|
|
151
|
+
y = _p.y,
|
|
152
|
+
inHorizontalFreeze = _p.inHorizontalFreeze,
|
|
153
|
+
inVerticalFreeze = _p.inVerticalFreeze;
|
|
154
154
|
var row_location = (0, _location.rowLocation)(y, ctx.visibledatarow);
|
|
155
155
|
var row = row_location[1];
|
|
156
156
|
var row_pre = row_location[0];
|
|
@@ -195,12 +195,7 @@ function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxIn
|
|
|
195
195
|
}
|
|
196
196
|
ctx.luckysheet_scroll_status = true;
|
|
197
197
|
if (ctx.luckysheetCellUpdate.length > 0) {
|
|
198
|
-
|
|
199
|
-
var doc = parser.parseFromString("<div>".concat((_g = document.getElementById("luckysheet-rich-text-editor")) === null || _g === void 0 ? void 0 : _g.innerHTML, "</div>"), "text/html");
|
|
200
|
-
var spans = doc.querySelectorAll("span");
|
|
201
|
-
var firstSpan = spans[0];
|
|
202
|
-
var lastSpan = spans[spans.length - 1];
|
|
203
|
-
if ((ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start || (0, _modules.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) {
|
|
198
|
+
if (ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start || (0, _modules.israngeseleciton)(ctx)) {
|
|
204
199
|
var rowseleted = [row_index, row_index_ed];
|
|
205
200
|
var columnseleted = [col_index, col_index_ed];
|
|
206
201
|
var left = col_pre;
|
|
@@ -267,7 +262,7 @@ function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxIn
|
|
|
267
262
|
last.top_move = top_1;
|
|
268
263
|
last.height_move = height;
|
|
269
264
|
ctx.formulaCache.func_selectedrange = last;
|
|
270
|
-
} else if (e.ctrlKey && ((
|
|
265
|
+
} else if (e.ctrlKey && ((_g = _lodash.default.last(cellInput.querySelectorAll("span"))) === null || _g === void 0 ? void 0 : _g.innerText) !== ",") {
|
|
271
266
|
var vText = cellInput.innerText;
|
|
272
267
|
if (vText[vText.length - 1] === ")") {
|
|
273
268
|
vText = vText.substring(0, vText.length - 1);
|
|
@@ -283,7 +278,7 @@ function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxIn
|
|
|
283
278
|
if (window.getSelection) {
|
|
284
279
|
var currSelection = window.getSelection();
|
|
285
280
|
if (currSelection == null) return;
|
|
286
|
-
ctx.formulaCache.functionRangeIndex = [_lodash.default.indexOf((
|
|
281
|
+
ctx.formulaCache.functionRangeIndex = [_lodash.default.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];
|
|
287
282
|
} else {
|
|
288
283
|
var textRange = document.selection.createRange();
|
|
289
284
|
ctx.formulaCache.functionRangeIndex = textRange;
|
|
@@ -328,13 +323,14 @@ function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxIn
|
|
|
328
323
|
column_focus: col_index
|
|
329
324
|
};
|
|
330
325
|
}
|
|
326
|
+
ctx.formulaCache.rangestart = true;
|
|
327
|
+
ctx.formulaCache.rangedrag_column_start = false;
|
|
328
|
+
ctx.formulaCache.rangedrag_row_start = false;
|
|
331
329
|
(0, _modules.rangeSetValue)(ctx, cellInput, {
|
|
332
330
|
row: rowseleted,
|
|
333
331
|
column: columnseleted
|
|
334
332
|
}, fxInput);
|
|
335
|
-
ctx
|
|
336
|
-
ctx.formulaCache.rangedrag_column_start = false;
|
|
337
|
-
ctx.formulaCache.rangedrag_row_start = false;
|
|
333
|
+
(0, _modules.rangeHightlightselected)(ctx, cellInput);
|
|
338
334
|
ctx.formulaCache.selectingRangeIndex = ctx.formulaCache.rangechangeindex;
|
|
339
335
|
if (ctx.formulaCache.rangechangeindex > ctx.formulaRangeHighlight.length) {
|
|
340
336
|
(0, _modules.createRangeHightlight)(ctx, cellInput.innerHTML, ctx.formulaCache.rangechangeindex);
|
|
@@ -357,7 +353,7 @@ function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxIn
|
|
|
357
353
|
}
|
|
358
354
|
if (ctx.luckysheet_select_status) {
|
|
359
355
|
if (e.shiftKey) {
|
|
360
|
-
var last = (
|
|
356
|
+
var last = (_m = ctx.luckysheet_select_save) === null || _m === void 0 ? void 0 : _m[ctx.luckysheet_select_save.length - 1];
|
|
361
357
|
if (last && last.top != null && last.left != null && last.height != null && last.width != null && last.row_focus != null && last.column_focus != null) {
|
|
362
358
|
var top_2 = 0;
|
|
363
359
|
var height = 0;
|
|
@@ -416,7 +412,7 @@ function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxIn
|
|
|
416
412
|
ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1] = last;
|
|
417
413
|
}
|
|
418
414
|
} else if (e.ctrlKey || e.metaKey) {
|
|
419
|
-
(
|
|
415
|
+
(_o = ctx.luckysheet_select_save) === null || _o === void 0 ? void 0 : _o.push({
|
|
420
416
|
left: col_pre,
|
|
421
417
|
width: col - col_pre - 1,
|
|
422
418
|
top: row_pre,
|
|
@@ -848,10 +844,28 @@ function mouseRender(ctx, globalCache, e, cellInput, scrollX, scrollY, container
|
|
|
848
844
|
ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1] = last;
|
|
849
845
|
(0, _freeze.scrollToFrozenRowCol)(ctx, (_d = globalCache.freezen) === null || _d === void 0 ? void 0 : _d[ctx.currentSheetId]);
|
|
850
846
|
} else if (ctx.formulaCache.rangestart) {
|
|
847
|
+
if (ctx.formulaCache.rangeSelectionActive === false && !(0, _modules.maybeRecoverDirtyRangeSelection)(ctx)) {
|
|
848
|
+
if (ctx.luckysheetCellUpdate.length > 0) {
|
|
849
|
+
(0, _cell.updateCell)(ctx, ctx.luckysheetCellUpdate[0], ctx.luckysheetCellUpdate[1], cellInput);
|
|
850
|
+
}
|
|
851
|
+
return;
|
|
852
|
+
}
|
|
851
853
|
(0, _modules.rangeDrag)(ctx, e, cellInput, scrollX.scrollLeft, scrollY.scrollTop, container, fxInput);
|
|
852
854
|
} else if (ctx.formulaCache.rangedrag_row_start) {
|
|
855
|
+
if (ctx.formulaCache.rangeSelectionActive === false && !(0, _modules.maybeRecoverDirtyRangeSelection)(ctx)) {
|
|
856
|
+
if (ctx.luckysheetCellUpdate.length > 0) {
|
|
857
|
+
(0, _cell.updateCell)(ctx, ctx.luckysheetCellUpdate[0], ctx.luckysheetCellUpdate[1], cellInput);
|
|
858
|
+
}
|
|
859
|
+
return;
|
|
860
|
+
}
|
|
853
861
|
(0, _formula.rangeDragRow)(ctx, e, cellInput, scrollX.scrollLeft, scrollY.scrollTop, container, fxInput);
|
|
854
862
|
} else if (ctx.formulaCache.rangedrag_column_start) {
|
|
863
|
+
if (ctx.formulaCache.rangeSelectionActive === false && !(0, _modules.maybeRecoverDirtyRangeSelection)(ctx)) {
|
|
864
|
+
if (ctx.luckysheetCellUpdate.length > 0) {
|
|
865
|
+
(0, _cell.updateCell)(ctx, ctx.luckysheetCellUpdate[0], ctx.luckysheetCellUpdate[1], cellInput);
|
|
866
|
+
}
|
|
867
|
+
return;
|
|
868
|
+
}
|
|
855
869
|
(0, _formula.rangeDragColumn)(ctx, e, cellInput, scrollX.scrollLeft, scrollY.scrollTop, container, fxInput);
|
|
856
870
|
} 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) {
|
|
857
871
|
(0, _dropCell.onDropCellSelect)(ctx, e, scrollX, scrollY, container);
|
|
@@ -957,7 +971,7 @@ function handleOverlayMouseMove(ctx, globalCache, e, cellInput, scrollX, scrollY
|
|
|
957
971
|
}
|
|
958
972
|
}
|
|
959
973
|
function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX, scrollbarY, container, cellInput, fxInput) {
|
|
960
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m
|
|
974
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
961
975
|
var rect = container.getBoundingClientRect();
|
|
962
976
|
(0, _modules.onImageMoveEnd)(ctx, globalCache);
|
|
963
977
|
(0, _modules.onImageResizeEnd)(ctx, globalCache);
|
|
@@ -970,11 +984,17 @@ function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX, scrollb
|
|
|
970
984
|
(0, _hyperlink.onRangeSelectionModalMoveEnd)(globalCache);
|
|
971
985
|
(0, _modules.onCellsMoveEnd)(ctx, globalCache, e, scrollbarX, scrollbarY, container);
|
|
972
986
|
if (ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start) {
|
|
973
|
-
if ((
|
|
987
|
+
if ((0, _modules.getFormulaEditorOwner)(ctx) === "fx") {
|
|
974
988
|
(0, _formula.handleFormulaInput)(ctx, cellInput, fxInput, 0, undefined, false);
|
|
975
989
|
} else {
|
|
976
990
|
(0, _formula.handleFormulaInput)(ctx, fxInput, cellInput, 0, undefined, false);
|
|
977
991
|
}
|
|
992
|
+
ctx.luckysheet_select_status = false;
|
|
993
|
+
ctx.luckysheet_scroll_status = false;
|
|
994
|
+
ctx.luckysheet_rows_selected_status = false;
|
|
995
|
+
ctx.luckysheet_cols_selected_status = false;
|
|
996
|
+
e.preventDefault();
|
|
997
|
+
return;
|
|
978
998
|
}
|
|
979
999
|
if (ctx.luckysheet_select_status) {
|
|
980
1000
|
if (ctx.luckysheetPaintModelOn) {
|
|
@@ -1016,10 +1036,10 @@ function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX, scrollb
|
|
|
1016
1036
|
cfg_1.customHeight[ctx.luckysheet_rows_change_size_start[1]] = 1;
|
|
1017
1037
|
var changeRowIndex_1 = ctx.luckysheet_rows_change_size_start[1];
|
|
1018
1038
|
var changeRowSelected_1 = false;
|
|
1019
|
-
if (((
|
|
1020
|
-
(
|
|
1039
|
+
if (((_b = (_a = ctx.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0) {
|
|
1040
|
+
(_d = (_c = ctx.luckysheet_select_save) === null || _c === void 0 ? void 0 : _c.filter(function (select) {
|
|
1021
1041
|
return select.row_select;
|
|
1022
|
-
})) === null ||
|
|
1042
|
+
})) === null || _d === void 0 ? void 0 : _d.some(function (select) {
|
|
1023
1043
|
if (changeRowIndex_1 >= select.row[0] && changeRowIndex_1 <= select.row[1]) {
|
|
1024
1044
|
changeRowSelected_1 = true;
|
|
1025
1045
|
}
|
|
@@ -1028,9 +1048,9 @@ function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX, scrollb
|
|
|
1028
1048
|
}
|
|
1029
1049
|
if (changeRowSelected_1) {
|
|
1030
1050
|
cfg_1.rowlen || (cfg_1.rowlen = {});
|
|
1031
|
-
(
|
|
1051
|
+
(_f = (_e = ctx.luckysheet_select_save) === null || _e === void 0 ? void 0 : _e.filter(function (select) {
|
|
1032
1052
|
return select.row_select;
|
|
1033
|
-
})) === null ||
|
|
1053
|
+
})) === null || _f === void 0 ? void 0 : _f.forEach(function (select) {
|
|
1034
1054
|
for (var r = select.row[0]; r <= select.row[1]; r += 1) {
|
|
1035
1055
|
cfg_1.rowlen[r] = Math.ceil(size_1 / ctx.zoomRatio);
|
|
1036
1056
|
}
|
|
@@ -1074,10 +1094,10 @@ function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX, scrollb
|
|
|
1074
1094
|
cfg_2.customWidth[ctx.luckysheet_cols_change_size_start[1]] = 1;
|
|
1075
1095
|
var changeColumnIndex_1 = ctx.luckysheet_cols_change_size_start[1];
|
|
1076
1096
|
var changeColumnSelected_1 = false;
|
|
1077
|
-
if (((
|
|
1078
|
-
(
|
|
1097
|
+
if (((_h = (_g = ctx.luckysheet_select_save) === null || _g === void 0 ? void 0 : _g.length) !== null && _h !== void 0 ? _h : 0) > 0) {
|
|
1098
|
+
(_k = (_j = ctx.luckysheet_select_save) === null || _j === void 0 ? void 0 : _j.filter(function (select) {
|
|
1079
1099
|
return select.column_select;
|
|
1080
|
-
})) === null ||
|
|
1100
|
+
})) === null || _k === void 0 ? void 0 : _k.some(function (select) {
|
|
1081
1101
|
if (changeColumnIndex_1 >= select.column[0] && changeColumnIndex_1 <= select.column[1]) {
|
|
1082
1102
|
changeColumnSelected_1 = true;
|
|
1083
1103
|
}
|
|
@@ -1086,9 +1106,9 @@ function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX, scrollb
|
|
|
1086
1106
|
}
|
|
1087
1107
|
if (changeColumnSelected_1) {
|
|
1088
1108
|
cfg_2.columnlen || (cfg_2.columnlen = {});
|
|
1089
|
-
(
|
|
1109
|
+
(_m = (_l = ctx.luckysheet_select_save) === null || _l === void 0 ? void 0 : _l.filter(function (select) {
|
|
1090
1110
|
return select.column_select;
|
|
1091
|
-
})) === null ||
|
|
1111
|
+
})) === null || _m === void 0 ? void 0 : _m.forEach(function (select) {
|
|
1092
1112
|
for (var r = select.column[0]; r <= select.column[1]; r += 1) {
|
|
1093
1113
|
cfg_2.columnlen[r] = Math.ceil(size_2 / ctx.zoomRatio);
|
|
1094
1114
|
}
|
|
@@ -1105,10 +1125,10 @@ function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX, scrollb
|
|
|
1105
1125
|
ctx.luckysheet_cols_freeze_drag = false;
|
|
1106
1126
|
var scrollLeft = ctx.scrollLeft;
|
|
1107
1127
|
var x = e.pageX - rect.left - ctx.rowHeaderWidth + scrollLeft - window.scrollX;
|
|
1108
|
-
var
|
|
1109
|
-
col_pre =
|
|
1110
|
-
col_curr =
|
|
1111
|
-
col_index_curr =
|
|
1128
|
+
var _o = (0, _location.colLocation)(x, ctx.visibledatacolumn),
|
|
1129
|
+
col_pre = _o[0],
|
|
1130
|
+
col_curr = _o[1],
|
|
1131
|
+
col_index_curr = _o[2];
|
|
1112
1132
|
var col_index = x > (col_curr + col_pre) / 2 ? col_index_curr : col_index_curr - 1;
|
|
1113
1133
|
var idx = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
|
|
1114
1134
|
if (idx == null) return;
|
|
@@ -1156,10 +1176,10 @@ function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX, scrollb
|
|
|
1156
1176
|
ctx.luckysheet_rows_freeze_drag = false;
|
|
1157
1177
|
var scrollTop = ctx.scrollTop;
|
|
1158
1178
|
var y = e.pageY - rect.top - ctx.columnHeaderHeight + scrollTop - window.scrollY;
|
|
1159
|
-
var
|
|
1160
|
-
row_pre =
|
|
1161
|
-
row_curr =
|
|
1162
|
-
row_index_curr =
|
|
1179
|
+
var _p = (0, _location.rowLocation)(y, ctx.visibledatarow),
|
|
1180
|
+
row_pre = _p[0],
|
|
1181
|
+
row_curr = _p[1],
|
|
1182
|
+
row_index_curr = _p[2];
|
|
1163
1183
|
var row_index = y > (row_curr + row_pre) / 2 ? row_index_curr : row_index_curr - 1;
|
|
1164
1184
|
var idx = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
|
|
1165
1185
|
if (idx == null) return;
|
|
@@ -1338,6 +1358,7 @@ function handleRowHeaderMouseDown(ctx, globalCache, e, container, cellInput, fxI
|
|
|
1338
1358
|
row: rowseleted,
|
|
1339
1359
|
column: [null, null]
|
|
1340
1360
|
}, fxInput);
|
|
1361
|
+
(0, _modules.rangeHightlightselected)(ctx, cellInput);
|
|
1341
1362
|
}
|
|
1342
1363
|
ctx.formulaCache.rangedrag_row_start = true;
|
|
1343
1364
|
ctx.formulaCache.rangestart = false;
|
|
@@ -1569,6 +1590,7 @@ function handleColumnHeaderMouseDown(ctx, globalCache, e, container, cellInput,
|
|
|
1569
1590
|
row: [null, null],
|
|
1570
1591
|
column: columnseleted
|
|
1571
1592
|
}, fxInput);
|
|
1593
|
+
(0, _modules.rangeHightlightselected)(ctx, cellInput);
|
|
1572
1594
|
}
|
|
1573
1595
|
ctx.formulaCache.rangedrag_column_start = true;
|
|
1574
1596
|
ctx.formulaCache.rangestart = false;
|