@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/events/paste.js
CHANGED
|
@@ -216,19 +216,19 @@ var handleFormulaOnPaste = function handleFormulaOnPaste(ctx, d) {
|
|
|
216
216
|
cell.f = f;
|
|
217
217
|
cell.m = v.toString();
|
|
218
218
|
x[c] = cell;
|
|
219
|
+
changes.push({
|
|
220
|
+
sheetId: ctx.currentSheetId,
|
|
221
|
+
path: ["celldata"],
|
|
222
|
+
value: {
|
|
223
|
+
r: r,
|
|
224
|
+
c: c,
|
|
225
|
+
v: d[r][c]
|
|
226
|
+
},
|
|
227
|
+
key: "".concat(r, "_").concat(c),
|
|
228
|
+
type: "update"
|
|
229
|
+
});
|
|
219
230
|
}
|
|
220
231
|
d[r] = x;
|
|
221
|
-
changes.push({
|
|
222
|
-
sheetId: ctx.currentSheetId,
|
|
223
|
-
path: ["celldata"],
|
|
224
|
-
value: {
|
|
225
|
-
r: r,
|
|
226
|
-
c: c,
|
|
227
|
-
v: d[r][c]
|
|
228
|
-
},
|
|
229
|
-
key: "".concat(r, "_").concat(c),
|
|
230
|
-
type: "update"
|
|
231
|
-
});
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
if ((_b = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _b === void 0 ? void 0 : _b.updateCellYdoc) {
|
|
@@ -362,7 +362,9 @@ function pasteHandler(ctx, data, borderInfo) {
|
|
|
362
362
|
ctx.luckysheetfile[(0, _utils.getSheetIndex)(ctx, ctx.currentSheetId)].config = cfg;
|
|
363
363
|
}
|
|
364
364
|
(0, _refresh.jfrefreshgrid)(ctx, null, undefined);
|
|
365
|
-
|
|
365
|
+
if (data.includes("=")) {
|
|
366
|
+
handleFormulaOnPaste(ctx, d);
|
|
367
|
+
}
|
|
366
368
|
} else {
|
|
367
369
|
data = data.replace(/\r/g, "");
|
|
368
370
|
var dataChe = [];
|
|
@@ -492,17 +494,17 @@ function pasteHandler(ctx, data, borderInfo) {
|
|
|
492
494
|
}
|
|
493
495
|
x[c + curC] = cell;
|
|
494
496
|
}
|
|
495
|
-
changes.push(
|
|
497
|
+
changes.push({
|
|
496
498
|
sheetId: ctx.currentSheetId,
|
|
497
499
|
path: ["celldata"],
|
|
498
500
|
value: {
|
|
499
|
-
r: r,
|
|
500
|
-
c: c,
|
|
501
|
-
v: d[r][c]
|
|
501
|
+
r: r + curR,
|
|
502
|
+
c: c + curC,
|
|
503
|
+
v: d[r + curR][c + curC]
|
|
502
504
|
},
|
|
503
|
-
key: "".concat(r, "_").concat(c),
|
|
505
|
+
key: "".concat(r + curR, "_").concat(c + curC),
|
|
504
506
|
type: "update"
|
|
505
|
-
})
|
|
507
|
+
});
|
|
506
508
|
}
|
|
507
509
|
d[r + curR] = x;
|
|
508
510
|
}
|
|
@@ -512,7 +514,9 @@ function pasteHandler(ctx, data, borderInfo) {
|
|
|
512
514
|
last.row = [curR, curR + rlen - 1];
|
|
513
515
|
last.column = [curC, curC + clen - 1];
|
|
514
516
|
(0, _refresh.jfrefreshgrid)(ctx, null, undefined);
|
|
515
|
-
|
|
517
|
+
if (data.includes("=")) {
|
|
518
|
+
handleFormulaOnPaste(ctx, d);
|
|
519
|
+
}
|
|
516
520
|
}
|
|
517
521
|
}
|
|
518
522
|
function setCellHyperlink(ctx, id, r, c, link) {
|
|
@@ -523,7 +527,7 @@ function setCellHyperlink(ctx, id, r, c, link) {
|
|
|
523
527
|
ctx.luckysheetfile[index].hyperlink["".concat(r, "_").concat(c)] = link;
|
|
524
528
|
}
|
|
525
529
|
function pasteHandlerOfCutPaste(ctx, copyRange) {
|
|
526
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
530
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
527
531
|
var allowEdit = (0, _utils.isAllowEdit)(ctx);
|
|
528
532
|
if (!allowEdit || ctx.isFlvReadOnly) return;
|
|
529
533
|
if (!copyRange) return;
|
|
@@ -566,6 +570,7 @@ function pasteHandlerOfCutPaste(ctx, copyRange) {
|
|
|
566
570
|
if (addr > 0 || addc > 0) {
|
|
567
571
|
(0, _sheet.expandRowsAndColumns)(d, addr, addc);
|
|
568
572
|
}
|
|
573
|
+
var changes = [];
|
|
569
574
|
var borderInfoCompute = (0, _border.getBorderInfoCompute)(ctx, copySheetId);
|
|
570
575
|
var c_dataVerification = _lodash.default.cloneDeep(ctx.luckysheetfile[(0, _utils.getSheetIndex)(ctx, copySheetId)].dataVerification) || {};
|
|
571
576
|
var dataVerification = _lodash.default.cloneDeep(ctx.luckysheetfile[(0, _utils.getSheetIndex)(ctx, ctx.currentSheetId)].dataVerification) || {};
|
|
@@ -597,6 +602,17 @@ function pasteHandlerOfCutPaste(ctx, copyRange) {
|
|
|
597
602
|
delete cell.mc;
|
|
598
603
|
}
|
|
599
604
|
d[i][j] = null;
|
|
605
|
+
changes.push({
|
|
606
|
+
sheetId: ctx.currentSheetId,
|
|
607
|
+
path: ["celldata"],
|
|
608
|
+
value: {
|
|
609
|
+
r: i,
|
|
610
|
+
c: j,
|
|
611
|
+
v: null
|
|
612
|
+
},
|
|
613
|
+
key: "".concat(i, "_").concat(j),
|
|
614
|
+
type: "update"
|
|
615
|
+
});
|
|
600
616
|
delete dataVerification["".concat(i, "_").concat(j)];
|
|
601
617
|
(_f = ctx.luckysheetfile[(0, _utils.getSheetIndex)(ctx, ctx.currentSheetId)].hyperlink) === null || _f === void 0 ? true : delete _f["".concat(i, "_").concat(j)];
|
|
602
618
|
}
|
|
@@ -696,6 +712,17 @@ function pasteHandlerOfCutPaste(ctx, copyRange) {
|
|
|
696
712
|
value = copyData[h - minh][c - minc];
|
|
697
713
|
}
|
|
698
714
|
x[c] = _lodash.default.cloneDeep(value);
|
|
715
|
+
changes.push({
|
|
716
|
+
sheetId: ctx.currentSheetId,
|
|
717
|
+
path: ["celldata"],
|
|
718
|
+
value: {
|
|
719
|
+
r: h,
|
|
720
|
+
c: c,
|
|
721
|
+
v: d[h][c]
|
|
722
|
+
},
|
|
723
|
+
key: "".concat(h, "_").concat(c),
|
|
724
|
+
type: "update"
|
|
725
|
+
});
|
|
699
726
|
if (value != null && copyHasMC && ((_k = x[c]) === null || _k === void 0 ? void 0 : _k.mc)) {
|
|
700
727
|
if (x[c].mc.rs != null) {
|
|
701
728
|
x[c].mc.r = h;
|
|
@@ -716,6 +743,9 @@ function pasteHandlerOfCutPaste(ctx, copyRange) {
|
|
|
716
743
|
}
|
|
717
744
|
last.row = [minh, maxh];
|
|
718
745
|
last.column = [minc, maxc];
|
|
746
|
+
if (changes.length > 0 && ((_l = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _l === void 0 ? void 0 : _l.updateCellYdoc)) {
|
|
747
|
+
ctx.hooks.updateCellYdoc(changes);
|
|
748
|
+
}
|
|
719
749
|
if (copyRowlChange) {}
|
|
720
750
|
var source;
|
|
721
751
|
var target;
|
|
@@ -798,7 +828,7 @@ function pasteHandlerOfCutPaste(ctx, copyRange) {
|
|
|
798
828
|
}
|
|
799
829
|
source_curCdformat[i].cellrange = emptyRange;
|
|
800
830
|
if (emptyRange2.length > 0) {
|
|
801
|
-
var ruleObj = (
|
|
831
|
+
var ruleObj = (_m = source_curCdformat[i]) !== null && _m !== void 0 ? _m : {};
|
|
802
832
|
ruleObj.cellrange = emptyRange2;
|
|
803
833
|
ruleArr.push(ruleObj);
|
|
804
834
|
}
|
|
@@ -902,7 +932,7 @@ function pasteHandlerOfCutPaste(ctx, copyRange) {
|
|
|
902
932
|
}
|
|
903
933
|
}
|
|
904
934
|
function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
905
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
935
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
906
936
|
var allowEdit = (0, _utils.isAllowEdit)(ctx);
|
|
907
937
|
if (!allowEdit || ctx.isFlvReadOnly) return;
|
|
908
938
|
if (!copyRange) return;
|
|
@@ -993,6 +1023,7 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
993
1023
|
if (addr > 0 || addc > 0) {
|
|
994
1024
|
(0, _sheet.expandRowsAndColumns)(d, addr, addc);
|
|
995
1025
|
}
|
|
1026
|
+
var changes = [];
|
|
996
1027
|
var borderInfoCompute = (0, _border.getBorderInfoCompute)(ctx, copySheetIndex);
|
|
997
1028
|
var c_dataVerification = _lodash.default.cloneDeep(ctx.luckysheetfile[(0, _utils.getSheetIndex)(ctx, copySheetIndex)].dataVerification) || {};
|
|
998
1029
|
var dataVerification = null;
|
|
@@ -1082,6 +1113,7 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
1082
1113
|
value.m = "Loading...";
|
|
1083
1114
|
}
|
|
1084
1115
|
}
|
|
1116
|
+
var afterHookCalled = false;
|
|
1085
1117
|
if (!_lodash.default.isNil(value) && !_lodash.default.isNil(value.f)) {
|
|
1086
1118
|
var adjustedFormula = value.f;
|
|
1087
1119
|
var isError = false;
|
|
@@ -1134,6 +1166,7 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
1134
1166
|
v: arr.length === 1 ? funcV[1] : value.v,
|
|
1135
1167
|
m: funcV[1] instanceof Promise ? "[object Promise]" : funcV[1]
|
|
1136
1168
|
}));
|
|
1169
|
+
afterHookCalled = true;
|
|
1137
1170
|
}
|
|
1138
1171
|
}
|
|
1139
1172
|
if (!_lodash.default.isNil(value.spl)) {}
|
|
@@ -1154,6 +1187,19 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
1154
1187
|
};
|
|
1155
1188
|
}
|
|
1156
1189
|
}
|
|
1190
|
+
if (!(((_k = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _k === void 0 ? void 0 : _k.afterUpdateCell) && afterHookCalled)) {
|
|
1191
|
+
changes.push({
|
|
1192
|
+
sheetId: ctx.currentSheetId,
|
|
1193
|
+
path: ["celldata"],
|
|
1194
|
+
value: {
|
|
1195
|
+
r: h,
|
|
1196
|
+
c: c,
|
|
1197
|
+
v: d[h][c]
|
|
1198
|
+
},
|
|
1199
|
+
key: "".concat(h, "_").concat(c),
|
|
1200
|
+
type: "update"
|
|
1201
|
+
});
|
|
1202
|
+
}
|
|
1157
1203
|
}
|
|
1158
1204
|
d[h] = x;
|
|
1159
1205
|
}
|
|
@@ -1165,7 +1211,7 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
1165
1211
|
var a_file = ctx.luckysheetfile[(0, _utils.getSheetIndex)(ctx, ctx.currentSheetId)];
|
|
1166
1212
|
var ruleArr_cf = _lodash.default.cloneDeep(c_file.luckysheet_conditionformat_save);
|
|
1167
1213
|
if (!_lodash.default.isNil(ruleArr_cf) && ruleArr_cf.length > 0) {
|
|
1168
|
-
cdformat = (
|
|
1214
|
+
cdformat = (_l = _lodash.default.cloneDeep(a_file.luckysheet_conditionformat_save)) !== null && _l !== void 0 ? _l : [];
|
|
1169
1215
|
for (var i = 0; i < ruleArr_cf.length; i += 1) {
|
|
1170
1216
|
var cf_range = ruleArr_cf[i].cellrange;
|
|
1171
1217
|
var emptyRange = [];
|
|
@@ -1201,8 +1247,8 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
1201
1247
|
file.config = cfg;
|
|
1202
1248
|
file.luckysheet_conditionformat_save = cdformat;
|
|
1203
1249
|
file.dataVerification = __assign(__assign({}, file.dataVerification), dataVerification);
|
|
1204
|
-
if (((
|
|
1205
|
-
var srcIndex = (0, _utils.getSheetIndex)(ctx, (
|
|
1250
|
+
if (((_m = ctx.luckysheet_select_save) === null || _m === void 0 ? void 0 : _m.length) === 1 && ((_o = ctx.luckysheet_copy_save) === null || _o === void 0 ? void 0 : _o.copyRange.length) === 1) {
|
|
1251
|
+
var srcIndex = (0, _utils.getSheetIndex)(ctx, (_p = ctx.luckysheet_copy_save) === null || _p === void 0 ? void 0 : _p.dataSheetId);
|
|
1206
1252
|
var targetSheetIndex = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
|
|
1207
1253
|
var srcHyperlinks = ctx.luckysheetfile[srcIndex].hyperlink;
|
|
1208
1254
|
var srcData = ctx.luckysheetfile[srcIndex].data;
|
|
@@ -1213,7 +1259,7 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
1213
1259
|
var isSingleCell = copyh === 1 && copyc === 1;
|
|
1214
1260
|
var cachedSrcLinkKey = isSingleCell ? "".concat(c_r1, "_").concat(c_c1) : null;
|
|
1215
1261
|
var cachedSrcLink = isSingleCell && srcHyperlinks ? srcHyperlinks[cachedSrcLinkKey] : null;
|
|
1216
|
-
var cachedSrcCell = isSingleCell && srcData ? (
|
|
1262
|
+
var cachedSrcCell = isSingleCell && srcData ? (_q = srcData[c_r1]) === null || _q === void 0 ? void 0 : _q[c_c1] : null;
|
|
1217
1263
|
for (var th = 1; th <= timesH; th += 1) {
|
|
1218
1264
|
for (var tc = 1; tc <= timesC; tc += 1) {
|
|
1219
1265
|
var linkMth = minh + (th - 1) * copyh;
|
|
@@ -1233,7 +1279,7 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
1233
1279
|
if (!srcLink) continue;
|
|
1234
1280
|
var targetKey = "".concat(h, "_").concat(c);
|
|
1235
1281
|
targetHyperlinks[targetKey] = srcLink;
|
|
1236
|
-
var cell = (
|
|
1282
|
+
var cell = (_r = d[h]) === null || _r === void 0 ? void 0 : _r[c];
|
|
1237
1283
|
if (cell) {
|
|
1238
1284
|
var srcCell = void 0;
|
|
1239
1285
|
if (isSingleCell && cachedSrcCell) {
|
|
@@ -1241,7 +1287,7 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
1241
1287
|
} else {
|
|
1242
1288
|
var srcRow = c_r1 + (h - linkMth);
|
|
1243
1289
|
var srcCol = c_c1 + (c - linkMtc);
|
|
1244
|
-
srcCell = (
|
|
1290
|
+
srcCell = (_s = srcData === null || srcData === void 0 ? void 0 : srcData[srcRow]) === null || _s === void 0 ? void 0 : _s[srcCol];
|
|
1245
1291
|
}
|
|
1246
1292
|
cell.hl = {
|
|
1247
1293
|
r: h,
|
|
@@ -1261,6 +1307,9 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
1261
1307
|
}
|
|
1262
1308
|
}
|
|
1263
1309
|
}
|
|
1310
|
+
if (changes.length > 0 && ((_t = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _t === void 0 ? void 0 : _t.updateCellYdoc)) {
|
|
1311
|
+
ctx.hooks.updateCellYdoc(changes);
|
|
1312
|
+
}
|
|
1264
1313
|
if (copyRowlChange || addr > 0 || addc > 0) {
|
|
1265
1314
|
(0, _refresh.jfrefreshgrid)(ctx, d, ctx.luckysheet_select_save);
|
|
1266
1315
|
} else {
|
package/lib/modules/cell.js
CHANGED
|
@@ -574,6 +574,8 @@ function cancelNormalSelected(ctx) {
|
|
|
574
574
|
ctx.formulaCache.rangestart = false;
|
|
575
575
|
ctx.formulaCache.rangedrag_column_start = false;
|
|
576
576
|
ctx.formulaCache.rangedrag_row_start = false;
|
|
577
|
+
ctx.formulaCache.rangeSelectionActive = null;
|
|
578
|
+
ctx.formulaCache.formulaEditorOwner = null;
|
|
577
579
|
}
|
|
578
580
|
function updateCell(ctx, r, c, $input, value, canvas) {
|
|
579
581
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
@@ -842,7 +844,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
842
844
|
var newValue_1 = _lodash.default.cloneDeep(d[r][c]);
|
|
843
845
|
setTimeout(function () {
|
|
844
846
|
var _a, _b;
|
|
845
|
-
return (_b = (_a = ctx.hooks).afterUpdateCell) === null || _b === void 0 ? void 0 : _b.call(_a, r, c,
|
|
847
|
+
return (_b = (_a = ctx.hooks).afterUpdateCell) === null || _b === void 0 ? void 0 : _b.call(_a, r, c, oldValue_1, newValue_1);
|
|
846
848
|
});
|
|
847
849
|
}
|
|
848
850
|
ctx.formulaCache.execFunctionGlobalData = null;
|
|
@@ -1295,13 +1297,16 @@ function keepOnlyValueParts(cell) {
|
|
|
1295
1297
|
} : null;
|
|
1296
1298
|
}
|
|
1297
1299
|
function clearSelectedCellFormat(ctx) {
|
|
1300
|
+
var _a;
|
|
1298
1301
|
var activeSheetIndex = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
|
|
1299
1302
|
if (activeSheetIndex == null) return;
|
|
1303
|
+
var changeMap = new Map();
|
|
1300
1304
|
var activeSheetFile = ctx.luckysheetfile[activeSheetIndex];
|
|
1301
1305
|
var selectedRanges = ctx.luckysheet_select_save;
|
|
1302
1306
|
if (!activeSheetFile || !selectedRanges) return;
|
|
1303
1307
|
var sheetData = activeSheetFile.data;
|
|
1304
1308
|
selectedRanges.forEach(function (_a) {
|
|
1309
|
+
var _b;
|
|
1305
1310
|
var rowRange = _a.row,
|
|
1306
1311
|
columnRange = _a.column;
|
|
1307
1312
|
var startRow = rowRange[0],
|
|
@@ -1314,20 +1319,38 @@ function clearSelectedCellFormat(ctx) {
|
|
|
1314
1319
|
for (var columnIndex = startColumn; columnIndex <= endColumn; columnIndex++) {
|
|
1315
1320
|
if (rowCells[columnIndex] === undefined) continue;
|
|
1316
1321
|
rowCells[columnIndex] = keepOnlyValueParts(rowCells[columnIndex]);
|
|
1322
|
+
var v = (_b = rowCells[columnIndex]) !== null && _b !== void 0 ? _b : null;
|
|
1323
|
+
var key = "".concat(rowIndex, "_").concat(columnIndex);
|
|
1324
|
+
changeMap.set(key, {
|
|
1325
|
+
sheetId: ctx.currentSheetId,
|
|
1326
|
+
path: ["celldata"],
|
|
1327
|
+
key: key,
|
|
1328
|
+
value: {
|
|
1329
|
+
r: rowIndex,
|
|
1330
|
+
c: columnIndex,
|
|
1331
|
+
v: v
|
|
1332
|
+
},
|
|
1333
|
+
type: v == null ? "delete" : "update"
|
|
1334
|
+
});
|
|
1317
1335
|
}
|
|
1318
1336
|
}
|
|
1319
1337
|
});
|
|
1338
|
+
if (((_a = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _a === void 0 ? void 0 : _a.updateCellYdoc) && changeMap.size > 0) {
|
|
1339
|
+
ctx.hooks.updateCellYdoc(Array.from(changeMap.values()));
|
|
1340
|
+
}
|
|
1320
1341
|
}
|
|
1321
1342
|
function clearRowsCellsFormat(ctx) {
|
|
1322
|
-
var _a, _b;
|
|
1343
|
+
var _a, _b, _c;
|
|
1323
1344
|
var activeSheetIndex = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
|
|
1324
1345
|
if (activeSheetIndex == null) return;
|
|
1346
|
+
var changeMap = new Map();
|
|
1325
1347
|
var activeSheetFile = ctx.luckysheetfile[activeSheetIndex];
|
|
1326
1348
|
var selectedRanges = ctx.luckysheet_select_save;
|
|
1327
1349
|
if (!activeSheetFile || !selectedRanges) return;
|
|
1328
1350
|
var sheetData = activeSheetFile.data;
|
|
1329
1351
|
var columnCount = (_b = (_a = sheetData === null || sheetData === void 0 ? void 0 : sheetData[0]) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
|
|
1330
1352
|
selectedRanges.forEach(function (_a) {
|
|
1353
|
+
var _b;
|
|
1331
1354
|
var rowRange = _a.row;
|
|
1332
1355
|
var startRow = rowRange[0],
|
|
1333
1356
|
endRow = rowRange[1];
|
|
@@ -1337,19 +1360,38 @@ function clearRowsCellsFormat(ctx) {
|
|
|
1337
1360
|
for (var columnIndex = 0; columnIndex < columnCount; columnIndex++) {
|
|
1338
1361
|
if (rowCells[columnIndex] === undefined) continue;
|
|
1339
1362
|
rowCells[columnIndex] = keepOnlyValueParts(rowCells[columnIndex]);
|
|
1363
|
+
var v = (_b = rowCells[columnIndex]) !== null && _b !== void 0 ? _b : null;
|
|
1364
|
+
var key = "".concat(rowIndex, "_").concat(columnIndex);
|
|
1365
|
+
changeMap.set(key, {
|
|
1366
|
+
sheetId: ctx.currentSheetId,
|
|
1367
|
+
path: ["celldata"],
|
|
1368
|
+
key: key,
|
|
1369
|
+
value: {
|
|
1370
|
+
r: rowIndex,
|
|
1371
|
+
c: columnIndex,
|
|
1372
|
+
v: v
|
|
1373
|
+
},
|
|
1374
|
+
type: v == null ? "delete" : "update"
|
|
1375
|
+
});
|
|
1340
1376
|
}
|
|
1341
1377
|
}
|
|
1342
1378
|
});
|
|
1379
|
+
if (((_c = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _c === void 0 ? void 0 : _c.updateCellYdoc) && changeMap.size > 0) {
|
|
1380
|
+
ctx.hooks.updateCellYdoc(Array.from(changeMap.values()));
|
|
1381
|
+
}
|
|
1343
1382
|
}
|
|
1344
1383
|
function clearColumnsCellsFormat(ctx) {
|
|
1384
|
+
var _a;
|
|
1345
1385
|
var activeSheetIndex = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
|
|
1346
1386
|
if (activeSheetIndex == null) return;
|
|
1387
|
+
var changeMap = new Map();
|
|
1347
1388
|
var activeSheetFile = ctx.luckysheetfile[activeSheetIndex];
|
|
1348
1389
|
var selectedRanges = ctx.luckysheet_select_save;
|
|
1349
1390
|
if (!activeSheetFile || !selectedRanges) return;
|
|
1350
1391
|
var sheetData = activeSheetFile.data;
|
|
1351
1392
|
var rowCount = sheetData.length;
|
|
1352
1393
|
selectedRanges.forEach(function (_a) {
|
|
1394
|
+
var _b;
|
|
1353
1395
|
var columnRange = _a.column;
|
|
1354
1396
|
var startColumn = columnRange[0],
|
|
1355
1397
|
endColumn = columnRange[1];
|
|
@@ -1359,7 +1401,23 @@ function clearColumnsCellsFormat(ctx) {
|
|
|
1359
1401
|
for (var columnIndex = startColumn; columnIndex <= endColumn; columnIndex++) {
|
|
1360
1402
|
if (rowCells[columnIndex] === undefined) continue;
|
|
1361
1403
|
rowCells[columnIndex] = keepOnlyValueParts(rowCells[columnIndex]);
|
|
1404
|
+
var v = (_b = rowCells[columnIndex]) !== null && _b !== void 0 ? _b : null;
|
|
1405
|
+
var key = "".concat(rowIndex, "_").concat(columnIndex);
|
|
1406
|
+
changeMap.set(key, {
|
|
1407
|
+
sheetId: ctx.currentSheetId,
|
|
1408
|
+
path: ["celldata"],
|
|
1409
|
+
key: key,
|
|
1410
|
+
value: {
|
|
1411
|
+
r: rowIndex,
|
|
1412
|
+
c: columnIndex,
|
|
1413
|
+
v: v
|
|
1414
|
+
},
|
|
1415
|
+
type: v == null ? "delete" : "update"
|
|
1416
|
+
});
|
|
1362
1417
|
}
|
|
1363
1418
|
}
|
|
1364
1419
|
});
|
|
1420
|
+
if (((_a = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _a === void 0 ? void 0 : _a.updateCellYdoc) && changeMap.size > 0) {
|
|
1421
|
+
ctx.hooks.updateCellYdoc(Array.from(changeMap.values()));
|
|
1422
|
+
}
|
|
1365
1423
|
}
|
package/lib/modules/comment.js
CHANGED
|
@@ -191,7 +191,7 @@ function setEditingComment(ctx, flowdata, r, c) {
|
|
|
191
191
|
ctx.editingCommentBox = getCommentBoxByRC(ctx, flowdata, r, c);
|
|
192
192
|
}
|
|
193
193
|
function removeEditingComment(ctx, globalCache) {
|
|
194
|
-
var _a, _b;
|
|
194
|
+
var _a, _b, _c;
|
|
195
195
|
var editingCommentBoxEle = globalCache.editingCommentBoxEle;
|
|
196
196
|
ctx.editingCommentBox = undefined;
|
|
197
197
|
var r = editingCommentBoxEle === null || editingCommentBoxEle === void 0 ? void 0 : editingCommentBoxEle.dataset.r;
|
|
@@ -215,6 +215,19 @@ function removeEditingComment(ctx, globalCache) {
|
|
|
215
215
|
return v.rc !== "".concat(r, "_").concat(c);
|
|
216
216
|
});
|
|
217
217
|
}
|
|
218
|
+
if ((_c = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _c === void 0 ? void 0 : _c.updateCellYdoc) {
|
|
219
|
+
ctx.hooks.updateCellYdoc([{
|
|
220
|
+
sheetId: ctx.currentSheetId,
|
|
221
|
+
path: ["celldata"],
|
|
222
|
+
value: {
|
|
223
|
+
r: r,
|
|
224
|
+
c: c,
|
|
225
|
+
v: cell
|
|
226
|
+
},
|
|
227
|
+
key: "".concat(r, "_").concat(c),
|
|
228
|
+
type: "update"
|
|
229
|
+
}]);
|
|
230
|
+
}
|
|
218
231
|
if (ctx.hooks.afterUpdateComment) {
|
|
219
232
|
setTimeout(function () {
|
|
220
233
|
var _a, _b;
|
|
@@ -223,7 +236,7 @@ function removeEditingComment(ctx, globalCache) {
|
|
|
223
236
|
}
|
|
224
237
|
}
|
|
225
238
|
function newComment(ctx, globalCache, r, c) {
|
|
226
|
-
var _a, _b;
|
|
239
|
+
var _a, _b, _c, _d;
|
|
227
240
|
if (((_b = (_a = ctx.hooks).beforeInsertComment) === null || _b === void 0 ? void 0 : _b.call(_a, r, c)) === false) {
|
|
228
241
|
return;
|
|
229
242
|
}
|
|
@@ -248,6 +261,19 @@ function newComment(ctx, globalCache, r, c) {
|
|
|
248
261
|
ctx.editingCommentBox = __assign(__assign({}, getCommentBoxByRC(ctx, flowdata, r, c)), {
|
|
249
262
|
autoFocus: true
|
|
250
263
|
});
|
|
264
|
+
if ((_c = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _c === void 0 ? void 0 : _c.updateCellYdoc) {
|
|
265
|
+
ctx.hooks.updateCellYdoc([{
|
|
266
|
+
sheetId: ctx.currentSheetId,
|
|
267
|
+
path: ["celldata"],
|
|
268
|
+
value: {
|
|
269
|
+
r: r,
|
|
270
|
+
c: c,
|
|
271
|
+
v: (_d = flowdata[r][c]) !== null && _d !== void 0 ? _d : null
|
|
272
|
+
},
|
|
273
|
+
key: "".concat(r, "_").concat(c),
|
|
274
|
+
type: "update"
|
|
275
|
+
}]);
|
|
276
|
+
}
|
|
251
277
|
if (ctx.hooks.afterInsertComment) {
|
|
252
278
|
setTimeout(function () {
|
|
253
279
|
var _a, _b;
|
|
@@ -274,7 +300,7 @@ function editComment(ctx, globalCache, r, c) {
|
|
|
274
300
|
}
|
|
275
301
|
}
|
|
276
302
|
function deleteComment(ctx, globalCache, r, c) {
|
|
277
|
-
var _a, _b;
|
|
303
|
+
var _a, _b, _c;
|
|
278
304
|
var allowEdit = (0, _utils.isAllowEdit)(ctx);
|
|
279
305
|
if (!allowEdit) return;
|
|
280
306
|
if (((_b = (_a = ctx.hooks).beforeDeleteComment) === null || _b === void 0 ? void 0 : _b.call(_a, r, c)) === false) {
|
|
@@ -285,6 +311,19 @@ function deleteComment(ctx, globalCache, r, c) {
|
|
|
285
311
|
var cell = flowdata[r][c];
|
|
286
312
|
if (!cell) return;
|
|
287
313
|
cell.ps = undefined;
|
|
314
|
+
if ((_c = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _c === void 0 ? void 0 : _c.updateCellYdoc) {
|
|
315
|
+
ctx.hooks.updateCellYdoc([{
|
|
316
|
+
sheetId: ctx.currentSheetId,
|
|
317
|
+
path: ["celldata"],
|
|
318
|
+
value: {
|
|
319
|
+
r: r,
|
|
320
|
+
c: c,
|
|
321
|
+
v: cell
|
|
322
|
+
},
|
|
323
|
+
key: "".concat(r, "_").concat(c),
|
|
324
|
+
type: "update"
|
|
325
|
+
}]);
|
|
326
|
+
}
|
|
288
327
|
if (ctx.hooks.afterDeleteComment) {
|
|
289
328
|
setTimeout(function () {
|
|
290
329
|
var _a, _b;
|
|
@@ -304,7 +343,7 @@ function showComments(ctx, commentShowCells) {
|
|
|
304
343
|
}
|
|
305
344
|
}
|
|
306
345
|
function showHideComment(ctx, globalCache, r, c) {
|
|
307
|
-
var _a;
|
|
346
|
+
var _a, _b, _c;
|
|
308
347
|
var flowdata = (0, _context.getFlowdata)(ctx);
|
|
309
348
|
var comment = (_a = flowdata === null || flowdata === void 0 ? void 0 : flowdata[r][c]) === null || _a === void 0 ? void 0 : _a.ps;
|
|
310
349
|
if (!comment) return;
|
|
@@ -318,9 +357,23 @@ function showHideComment(ctx, globalCache, r, c) {
|
|
|
318
357
|
} else {
|
|
319
358
|
comment.isShow = true;
|
|
320
359
|
}
|
|
360
|
+
var cell = (_b = flowdata === null || flowdata === void 0 ? void 0 : flowdata[r]) === null || _b === void 0 ? void 0 : _b[c];
|
|
361
|
+
if (cell && ((_c = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _c === void 0 ? void 0 : _c.updateCellYdoc)) {
|
|
362
|
+
ctx.hooks.updateCellYdoc([{
|
|
363
|
+
sheetId: ctx.currentSheetId,
|
|
364
|
+
path: ["celldata"],
|
|
365
|
+
value: {
|
|
366
|
+
r: r,
|
|
367
|
+
c: c,
|
|
368
|
+
v: cell
|
|
369
|
+
},
|
|
370
|
+
key: "".concat(r, "_").concat(c),
|
|
371
|
+
type: "update"
|
|
372
|
+
}]);
|
|
373
|
+
}
|
|
321
374
|
}
|
|
322
375
|
function showHideAllComments(ctx) {
|
|
323
|
-
var _a, _b;
|
|
376
|
+
var _a, _b, _c, _d, _e;
|
|
324
377
|
var flowdata = (0, _context.getFlowdata)(ctx);
|
|
325
378
|
if (!flowdata) return;
|
|
326
379
|
var isAllShow = true;
|
|
@@ -341,29 +394,55 @@ function showHideAllComments(ctx) {
|
|
|
341
394
|
}
|
|
342
395
|
var rcs = [];
|
|
343
396
|
if (allComments.length > 0) {
|
|
397
|
+
var cellChanges = [];
|
|
344
398
|
if (isAllShow) {
|
|
345
399
|
for (var i = 0; i < allComments.length; i += 1) {
|
|
346
|
-
var
|
|
347
|
-
r =
|
|
348
|
-
c =
|
|
400
|
+
var _f = allComments[i],
|
|
401
|
+
r = _f.r,
|
|
402
|
+
c = _f.c;
|
|
349
403
|
var comment = (_a = flowdata[r][c]) === null || _a === void 0 ? void 0 : _a.ps;
|
|
350
404
|
if (comment === null || comment === void 0 ? void 0 : comment.isShow) {
|
|
351
405
|
comment.isShow = false;
|
|
352
406
|
rcs.push("".concat(r, "_").concat(c));
|
|
407
|
+
cellChanges.push({
|
|
408
|
+
sheetId: ctx.currentSheetId,
|
|
409
|
+
path: ["celldata"],
|
|
410
|
+
value: {
|
|
411
|
+
r: r,
|
|
412
|
+
c: c,
|
|
413
|
+
v: (_b = flowdata[r][c]) !== null && _b !== void 0 ? _b : null
|
|
414
|
+
},
|
|
415
|
+
key: "".concat(r, "_").concat(c),
|
|
416
|
+
type: "update"
|
|
417
|
+
});
|
|
353
418
|
}
|
|
354
419
|
}
|
|
355
420
|
ctx.commentBoxes = [];
|
|
356
421
|
} else {
|
|
357
422
|
for (var i = 0; i < allComments.length; i += 1) {
|
|
358
|
-
var
|
|
359
|
-
r =
|
|
360
|
-
c =
|
|
361
|
-
var comment = (
|
|
423
|
+
var _g = allComments[i],
|
|
424
|
+
r = _g.r,
|
|
425
|
+
c = _g.c;
|
|
426
|
+
var comment = (_c = flowdata[r][c]) === null || _c === void 0 ? void 0 : _c.ps;
|
|
362
427
|
if (comment && !comment.isShow) {
|
|
363
428
|
comment.isShow = true;
|
|
429
|
+
cellChanges.push({
|
|
430
|
+
sheetId: ctx.currentSheetId,
|
|
431
|
+
path: ["celldata"],
|
|
432
|
+
value: {
|
|
433
|
+
r: r,
|
|
434
|
+
c: c,
|
|
435
|
+
v: (_d = flowdata[r][c]) !== null && _d !== void 0 ? _d : null
|
|
436
|
+
},
|
|
437
|
+
key: "".concat(r, "_").concat(c),
|
|
438
|
+
type: "update"
|
|
439
|
+
});
|
|
364
440
|
}
|
|
365
441
|
}
|
|
366
442
|
}
|
|
443
|
+
if (cellChanges.length > 0 && ((_e = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _e === void 0 ? void 0 : _e.updateCellYdoc)) {
|
|
444
|
+
ctx.hooks.updateCellYdoc(cellChanges);
|
|
445
|
+
}
|
|
367
446
|
}
|
|
368
447
|
}
|
|
369
448
|
function removeOverShowComment(ctx) {
|
|
@@ -525,13 +604,13 @@ function onCommentBoxResize(ctx, globalCache, e) {
|
|
|
525
604
|
return false;
|
|
526
605
|
}
|
|
527
606
|
function onCommentBoxResizeEnd(ctx, globalCache) {
|
|
528
|
-
var _a;
|
|
607
|
+
var _a, _b;
|
|
529
608
|
if ((_a = globalCache.commentBox) === null || _a === void 0 ? void 0 : _a.resizingId) {
|
|
530
|
-
var
|
|
531
|
-
resizingId =
|
|
532
|
-
|
|
533
|
-
r =
|
|
534
|
-
c =
|
|
609
|
+
var _c = globalCache.commentBox,
|
|
610
|
+
resizingId = _c.resizingId,
|
|
611
|
+
_d = _c.commentRC,
|
|
612
|
+
r = _d.r,
|
|
613
|
+
c = _d.c;
|
|
535
614
|
globalCache.commentBox.resizingId = undefined;
|
|
536
615
|
var position = getCommentBoxPosition(resizingId);
|
|
537
616
|
if (position) {
|
|
@@ -547,6 +626,19 @@ function onCommentBoxResizeEnd(ctx, globalCache) {
|
|
|
547
626
|
cell.ps.width = width / ctx.zoomRatio;
|
|
548
627
|
cell.ps.height = height / ctx.zoomRatio;
|
|
549
628
|
setEditingComment(ctx, flowdata, r, c);
|
|
629
|
+
if ((_b = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _b === void 0 ? void 0 : _b.updateCellYdoc) {
|
|
630
|
+
ctx.hooks.updateCellYdoc([{
|
|
631
|
+
sheetId: ctx.currentSheetId,
|
|
632
|
+
path: ["celldata"],
|
|
633
|
+
value: {
|
|
634
|
+
r: r,
|
|
635
|
+
c: c,
|
|
636
|
+
v: cell
|
|
637
|
+
},
|
|
638
|
+
key: "".concat(r, "_").concat(c),
|
|
639
|
+
type: "update"
|
|
640
|
+
}]);
|
|
641
|
+
}
|
|
550
642
|
}
|
|
551
643
|
}
|
|
552
644
|
}
|
|
@@ -598,13 +690,13 @@ function onCommentBoxMove(ctx, globalCache, e) {
|
|
|
598
690
|
return false;
|
|
599
691
|
}
|
|
600
692
|
function onCommentBoxMoveEnd(ctx, globalCache) {
|
|
601
|
-
var _a;
|
|
693
|
+
var _a, _b;
|
|
602
694
|
if ((_a = globalCache.commentBox) === null || _a === void 0 ? void 0 : _a.movingId) {
|
|
603
|
-
var
|
|
604
|
-
movingId =
|
|
605
|
-
|
|
606
|
-
r =
|
|
607
|
-
c =
|
|
695
|
+
var _c = globalCache.commentBox,
|
|
696
|
+
movingId = _c.movingId,
|
|
697
|
+
_d = _c.commentRC,
|
|
698
|
+
r = _d.r,
|
|
699
|
+
c = _d.c;
|
|
608
700
|
globalCache.commentBox.movingId = undefined;
|
|
609
701
|
var position = getCommentBoxPosition(movingId);
|
|
610
702
|
if (position) {
|
|
@@ -616,6 +708,19 @@ function onCommentBoxMoveEnd(ctx, globalCache) {
|
|
|
616
708
|
cell.ps.left = left / ctx.zoomRatio;
|
|
617
709
|
cell.ps.top = top_5 / ctx.zoomRatio;
|
|
618
710
|
setEditingComment(ctx, flowdata, r, c);
|
|
711
|
+
if ((_b = ctx === null || ctx === void 0 ? void 0 : ctx.hooks) === null || _b === void 0 ? void 0 : _b.updateCellYdoc) {
|
|
712
|
+
ctx.hooks.updateCellYdoc([{
|
|
713
|
+
sheetId: ctx.currentSheetId,
|
|
714
|
+
path: ["celldata"],
|
|
715
|
+
value: {
|
|
716
|
+
r: r,
|
|
717
|
+
c: c,
|
|
718
|
+
v: cell
|
|
719
|
+
},
|
|
720
|
+
key: "".concat(r, "_").concat(c),
|
|
721
|
+
type: "update"
|
|
722
|
+
}]);
|
|
723
|
+
}
|
|
619
724
|
}
|
|
620
725
|
}
|
|
621
726
|
}
|