@leankylin-sheet/core 5.2.42 → 5.2.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +204 -116
- package/dist/index.js +204 -115
- package/dist/modules/formula.d.ts +5 -0
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -36099,36 +36099,92 @@ function delFunctionGroup(ctx, r, c, id) {
|
|
|
36099
36099
|
var calcChain = file.calcChain;
|
|
36100
36100
|
if (!___default['default'].isNil(calcChain)) {
|
|
36101
36101
|
var modified = false;
|
|
36102
|
-
var
|
|
36103
|
-
for (var _i4 = 0; _i4 <
|
|
36104
|
-
var calc =
|
|
36102
|
+
var nextCalcChain = [];
|
|
36103
|
+
for (var _i4 = 0; _i4 < calcChain.length; _i4 += 1) {
|
|
36104
|
+
var calc = calcChain[_i4];
|
|
36105
36105
|
if (calc.r === r && calc.c === c && calc.id === id) {
|
|
36106
|
-
calcChainClone.splice(_i4, 1);
|
|
36107
36106
|
modified = true;
|
|
36108
|
-
|
|
36107
|
+
continue;
|
|
36109
36108
|
}
|
|
36109
|
+
nextCalcChain.push(calc);
|
|
36110
36110
|
}
|
|
36111
36111
|
if (modified) {
|
|
36112
|
-
file.calcChain =
|
|
36112
|
+
file.calcChain = nextCalcChain;
|
|
36113
36113
|
}
|
|
36114
36114
|
}
|
|
36115
36115
|
var dynamicArray = file.dynamicArray;
|
|
36116
36116
|
if (!___default['default'].isNil(dynamicArray)) {
|
|
36117
36117
|
var _modified = false;
|
|
36118
|
-
var
|
|
36119
|
-
for (var _i5 = 0; _i5 <
|
|
36120
|
-
var _calc =
|
|
36118
|
+
var nextDynamicArray = [];
|
|
36119
|
+
for (var _i5 = 0; _i5 < dynamicArray.length; _i5 += 1) {
|
|
36120
|
+
var _calc = dynamicArray[_i5];
|
|
36121
36121
|
if (_calc.r === r && _calc.c === c && (___default['default'].isNil(_calc.id) || _calc.id === id)) {
|
|
36122
|
-
dynamicArrayClone.splice(_i5, 1);
|
|
36123
36122
|
_modified = true;
|
|
36124
|
-
|
|
36123
|
+
continue;
|
|
36125
36124
|
}
|
|
36125
|
+
nextDynamicArray.push(_calc);
|
|
36126
36126
|
}
|
|
36127
36127
|
if (_modified) {
|
|
36128
|
-
file.dynamicArray =
|
|
36128
|
+
file.dynamicArray = nextDynamicArray;
|
|
36129
36129
|
}
|
|
36130
36130
|
}
|
|
36131
36131
|
}
|
|
36132
|
+
function delFunctionGroups(ctx, cells, id) {
|
|
36133
|
+
if (cells.length === 0) return;
|
|
36134
|
+
if (___default['default'].isNil(id)) {
|
|
36135
|
+
id = ctx.currentSheetId;
|
|
36136
|
+
}
|
|
36137
|
+
var toDeleteMap = new Map();
|
|
36138
|
+
for (var _i6 = 0; _i6 < cells.length; _i6 += 1) {
|
|
36139
|
+
var _cell$id;
|
|
36140
|
+
var cell = cells[_i6];
|
|
36141
|
+
var cellId = (_cell$id = cell.id) !== null && _cell$id !== void 0 ? _cell$id : id;
|
|
36142
|
+
var keys = toDeleteMap.get(cellId);
|
|
36143
|
+
if (keys == null) {
|
|
36144
|
+
keys = new Set();
|
|
36145
|
+
toDeleteMap.set(cellId, keys);
|
|
36146
|
+
}
|
|
36147
|
+
keys.add("".concat(cell.r, "_").concat(cell.c));
|
|
36148
|
+
}
|
|
36149
|
+
toDeleteMap.forEach(function (keys, sheetId) {
|
|
36150
|
+
var idx = getSheetIndex(ctx, sheetId);
|
|
36151
|
+
if (idx == null) return;
|
|
36152
|
+
var file = ctx.luckysheetfile[idx];
|
|
36153
|
+
if (file == null) return;
|
|
36154
|
+
var calcChain = file.calcChain;
|
|
36155
|
+
if (!___default['default'].isNil(calcChain)) {
|
|
36156
|
+
var modified = false;
|
|
36157
|
+
var nextCalcChain = [];
|
|
36158
|
+
for (var _i7 = 0; _i7 < calcChain.length; _i7 += 1) {
|
|
36159
|
+
var calc = calcChain[_i7];
|
|
36160
|
+
if (calc.id === sheetId && keys.has("".concat(calc.r, "_").concat(calc.c))) {
|
|
36161
|
+
modified = true;
|
|
36162
|
+
continue;
|
|
36163
|
+
}
|
|
36164
|
+
nextCalcChain.push(calc);
|
|
36165
|
+
}
|
|
36166
|
+
if (modified) {
|
|
36167
|
+
file.calcChain = nextCalcChain;
|
|
36168
|
+
}
|
|
36169
|
+
}
|
|
36170
|
+
var dynamicArray = file.dynamicArray;
|
|
36171
|
+
if (!___default['default'].isNil(dynamicArray)) {
|
|
36172
|
+
var _modified2 = false;
|
|
36173
|
+
var nextDynamicArray = [];
|
|
36174
|
+
for (var _i8 = 0; _i8 < dynamicArray.length; _i8 += 1) {
|
|
36175
|
+
var _calc2 = dynamicArray[_i8];
|
|
36176
|
+
if ((___default['default'].isNil(_calc2.id) || _calc2.id === sheetId) && keys.has("".concat(_calc2.r, "_").concat(_calc2.c))) {
|
|
36177
|
+
_modified2 = true;
|
|
36178
|
+
continue;
|
|
36179
|
+
}
|
|
36180
|
+
nextDynamicArray.push(_calc2);
|
|
36181
|
+
}
|
|
36182
|
+
if (_modified2) {
|
|
36183
|
+
file.dynamicArray = nextDynamicArray;
|
|
36184
|
+
}
|
|
36185
|
+
}
|
|
36186
|
+
});
|
|
36187
|
+
}
|
|
36132
36188
|
function checkBracketNum(fp) {
|
|
36133
36189
|
var bra_l = fp.match(/\(/g);
|
|
36134
36190
|
var bra_r = fp.match(/\)/g);
|
|
@@ -36145,16 +36201,16 @@ function checkBracketNum(fp) {
|
|
|
36145
36201
|
var bra_tl_len = 0;
|
|
36146
36202
|
var bra_tr_len = 0;
|
|
36147
36203
|
if (!___default['default'].isNil(bra_tl_txt)) {
|
|
36148
|
-
for (var
|
|
36149
|
-
var bra_tl = bra_tl_txt[
|
|
36204
|
+
for (var _i9 = 0; _i9 < bra_tl_txt.length; _i9 += 1) {
|
|
36205
|
+
var bra_tl = bra_tl_txt[_i9].match(/\(/g);
|
|
36150
36206
|
if (!___default['default'].isNil(bra_tl)) {
|
|
36151
36207
|
bra_tl_len += bra_tl.length;
|
|
36152
36208
|
}
|
|
36153
36209
|
}
|
|
36154
36210
|
}
|
|
36155
36211
|
if (!___default['default'].isNil(bra_tr_txt)) {
|
|
36156
|
-
for (var
|
|
36157
|
-
var bra_tr = bra_tr_txt[
|
|
36212
|
+
for (var _i10 = 0; _i10 < bra_tr_txt.length; _i10 += 1) {
|
|
36213
|
+
var bra_tr = bra_tr_txt[_i10].match(/\)/g);
|
|
36158
36214
|
if (!___default['default'].isNil(bra_tr)) {
|
|
36159
36215
|
bra_tr_len += bra_tr.length;
|
|
36160
36216
|
}
|
|
@@ -36181,8 +36237,8 @@ function insertUpdateFunctionGroup(ctx, r, c, id) {
|
|
|
36181
36237
|
if (___default['default'].isNil(calcChain)) {
|
|
36182
36238
|
calcChain = [];
|
|
36183
36239
|
}
|
|
36184
|
-
for (var
|
|
36185
|
-
var calc = calcChain[
|
|
36240
|
+
for (var _i11 = 0; _i11 < calcChain.length; _i11 += 1) {
|
|
36241
|
+
var calc = calcChain[_i11];
|
|
36186
36242
|
if (calc.r === r && calc.c === c && calc.id === id) {
|
|
36187
36243
|
return;
|
|
36188
36244
|
}
|
|
@@ -36253,8 +36309,8 @@ function insertUpdateDynamicArray(ctx, dynamicArrayItem) {
|
|
|
36253
36309
|
if (___default['default'].isNil(dynamicArray)) {
|
|
36254
36310
|
dynamicArray = [];
|
|
36255
36311
|
}
|
|
36256
|
-
for (var
|
|
36257
|
-
var calc = dynamicArray[
|
|
36312
|
+
for (var _i12 = 0; _i12 < dynamicArray.length; _i12 += 1) {
|
|
36313
|
+
var calc = dynamicArray[_i12];
|
|
36258
36314
|
if (calc.r === r && calc.c === c && calc.id === id) {
|
|
36259
36315
|
calc.data = dynamicArrayItem.data;
|
|
36260
36316
|
calc.f = dynamicArrayItem.f;
|
|
@@ -36267,8 +36323,8 @@ function insertUpdateDynamicArray(ctx, dynamicArrayItem) {
|
|
|
36267
36323
|
function groupValuesRefresh(ctx) {
|
|
36268
36324
|
var luckysheetfile = ctx.luckysheetfile;
|
|
36269
36325
|
if (ctx.groupValuesRefreshData.length > 0) {
|
|
36270
|
-
for (var
|
|
36271
|
-
var item = ctx.groupValuesRefreshData[
|
|
36326
|
+
for (var _i13 = 0; _i13 < ctx.groupValuesRefreshData.length; _i13 += 1) {
|
|
36327
|
+
var item = ctx.groupValuesRefreshData[_i13];
|
|
36272
36328
|
var idx = getSheetIndex(ctx, item.id);
|
|
36273
36329
|
if (idx == null) continue;
|
|
36274
36330
|
var file = luckysheetfile[idx];
|
|
@@ -36294,7 +36350,6 @@ function groupValuesRefresh(ctx) {
|
|
|
36294
36350
|
function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
36295
36351
|
var isForce = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
36296
36352
|
var notInsertFunc = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : true;
|
|
36297
|
-
console.time('execFunctionGroup-before');
|
|
36298
36353
|
if (___default['default'].isNil(data)) {
|
|
36299
36354
|
data = getFlowdata(ctx);
|
|
36300
36355
|
}
|
|
@@ -36316,8 +36371,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36316
36371
|
var formulaObjects = {};
|
|
36317
36372
|
var sheets = ctx.luckysheetfile;
|
|
36318
36373
|
var sheetData = {};
|
|
36319
|
-
for (var
|
|
36320
|
-
var sheet = sheets[
|
|
36374
|
+
for (var _i14 = 0; _i14 < sheets.length; _i14 += 1) {
|
|
36375
|
+
var sheet = sheets[_i14];
|
|
36321
36376
|
sheetData[sheet.id] = sheet.data;
|
|
36322
36377
|
}
|
|
36323
36378
|
var updateValueOjects = {};
|
|
@@ -36332,7 +36387,6 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36332
36387
|
updateValueOjects[_key] = 1;
|
|
36333
36388
|
}
|
|
36334
36389
|
}
|
|
36335
|
-
console.time('arrayMatchCache');
|
|
36336
36390
|
var arrayMatchCache = {};
|
|
36337
36391
|
var arrayMatch = function arrayMatch(formulaArray, _formulaObjects, _updateValueOjects, func) {
|
|
36338
36392
|
for (var a = 0; a < formulaArray.length; a += 1) {
|
|
@@ -36365,10 +36419,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36365
36419
|
}
|
|
36366
36420
|
}
|
|
36367
36421
|
};
|
|
36368
|
-
console.timeEnd('arrayMatchCache');
|
|
36369
|
-
console.time('cache1');
|
|
36370
36422
|
var _loop = function _loop() {
|
|
36371
|
-
var formulaCell = calcChains[
|
|
36423
|
+
var formulaCell = calcChains[_i15];
|
|
36372
36424
|
var key = "r".concat(formulaCell.r, "c").concat(formulaCell.c, "i").concat(formulaCell.id);
|
|
36373
36425
|
var calc_funcStr = getcellFormula(ctx, formulaCell.r, formulaCell.c, formulaCell.id);
|
|
36374
36426
|
if (___default['default'].isNil(calc_funcStr)) {
|
|
@@ -36466,11 +36518,9 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36466
36518
|
};
|
|
36467
36519
|
formulaObjects[key] = item;
|
|
36468
36520
|
};
|
|
36469
|
-
for (var
|
|
36521
|
+
for (var _i15 = 0; _i15 < calcChains.length; _i15 += 1) {
|
|
36470
36522
|
if (_loop()) continue;
|
|
36471
36523
|
}
|
|
36472
|
-
console.timeEnd('cache1');
|
|
36473
|
-
console.time('cache2');
|
|
36474
36524
|
Object.keys(formulaObjects).forEach(function (key) {
|
|
36475
36525
|
var formulaObject = formulaObjects[key];
|
|
36476
36526
|
arrayMatch(formulaObject.formulaArray, formulaObjects, updateValueOjects, function (childKey) {
|
|
@@ -36487,8 +36537,6 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36487
36537
|
updateValueArray.push(formulaObject);
|
|
36488
36538
|
}
|
|
36489
36539
|
});
|
|
36490
|
-
console.timeEnd('cache2');
|
|
36491
|
-
console.time('dev');
|
|
36492
36540
|
var visited = {};
|
|
36493
36541
|
var inStack = {};
|
|
36494
36542
|
var circularNodes = {};
|
|
@@ -36498,8 +36546,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36498
36546
|
var node = formulaObjects[nodeKey];
|
|
36499
36547
|
if (!node) return false;
|
|
36500
36548
|
var children = Object.keys(node.chidren);
|
|
36501
|
-
for (var
|
|
36502
|
-
var childKey = children[
|
|
36549
|
+
for (var _i16 = 0; _i16 < children.length; _i16 += 1) {
|
|
36550
|
+
var childKey = children[_i16];
|
|
36503
36551
|
if (inStack[childKey]) {
|
|
36504
36552
|
Object.keys(inStack).forEach(function (key) {
|
|
36505
36553
|
if (inStack[key]) {
|
|
@@ -36551,7 +36599,6 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36551
36599
|
}
|
|
36552
36600
|
});
|
|
36553
36601
|
}
|
|
36554
|
-
console.timeEnd('dev');
|
|
36555
36602
|
var formulaRunList = [];
|
|
36556
36603
|
var stack = updateValueArray;
|
|
36557
36604
|
var existsFormulaRunList = {};
|
|
@@ -36587,11 +36634,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36587
36634
|
if (_ret === 0) continue;
|
|
36588
36635
|
}
|
|
36589
36636
|
formulaRunList.reverse();
|
|
36590
|
-
|
|
36591
|
-
|
|
36592
|
-
console.log('formulaRunList', formulaRunList);
|
|
36593
|
-
for (var _i14 = 0; _i14 < formulaRunList.length; _i14 += 1) {
|
|
36594
|
-
var formulaCell = formulaRunList[_i14];
|
|
36637
|
+
for (var _i17 = 0; _i17 < formulaRunList.length; _i17 += 1) {
|
|
36638
|
+
var formulaCell = formulaRunList[_i17];
|
|
36595
36639
|
if (formulaCell.level === Math.max) {
|
|
36596
36640
|
continue;
|
|
36597
36641
|
}
|
|
@@ -36610,7 +36654,6 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36610
36654
|
f: v[2]
|
|
36611
36655
|
};
|
|
36612
36656
|
}
|
|
36613
|
-
console.timeEnd('formulaRunList');
|
|
36614
36657
|
ctx.formulaCache.execFunctionExist = undefined;
|
|
36615
36658
|
}
|
|
36616
36659
|
function findrangeindex(ctx, v, vp) {
|
|
@@ -36624,26 +36667,26 @@ function findrangeindex(ctx, v, vp) {
|
|
|
36624
36667
|
var vplen = vp_a.length;
|
|
36625
36668
|
var vlen = v_a.length;
|
|
36626
36669
|
if (vplen === vlen) {
|
|
36627
|
-
var
|
|
36628
|
-
var p = vp_a[
|
|
36629
|
-
var n = v_a[
|
|
36670
|
+
var _i18 = pfri[0];
|
|
36671
|
+
var p = vp_a[_i18];
|
|
36672
|
+
var n = v_a[_i18];
|
|
36630
36673
|
if (___default['default'].isNil(p)) {
|
|
36631
|
-
if (vp_a.length <=
|
|
36674
|
+
if (vp_a.length <= _i18) {
|
|
36632
36675
|
pfri = [vp_a.length - 1, vp_a.length - 1];
|
|
36633
|
-
} else if (v_a.length <=
|
|
36676
|
+
} else if (v_a.length <= _i18) {
|
|
36634
36677
|
pfri = [v_a.length - 1, v_a.length - 1];
|
|
36635
36678
|
}
|
|
36636
36679
|
return pfri;
|
|
36637
36680
|
}
|
|
36638
36681
|
if (p.length === n.length) {
|
|
36639
|
-
if (!___default['default'].isNil(vp_a[
|
|
36682
|
+
if (!___default['default'].isNil(vp_a[_i18 + 1]) && !___default['default'].isNil(v_a[_i18 + 1]) && vp_a[_i18 + 1].length < v_a[_i18 + 1].length) {
|
|
36640
36683
|
pfri[0] += 1;
|
|
36641
36684
|
pfri[1] = 1;
|
|
36642
36685
|
}
|
|
36643
36686
|
return pfri;
|
|
36644
36687
|
}
|
|
36645
36688
|
if (p.length > n.length) {
|
|
36646
|
-
if (!___default['default'].isNil(p) && !___default['default'].isNil(v_a[
|
|
36689
|
+
if (!___default['default'].isNil(p) && !___default['default'].isNil(v_a[_i18 + 1]) && v_a[_i18 + 1].substring(0, 1) === '"' && (p.indexOf("{") > -1 || p.indexOf("}") > -1)) {
|
|
36647
36690
|
pfri[0] += 1;
|
|
36648
36691
|
pfri[1] = 1;
|
|
36649
36692
|
}
|
|
@@ -36656,34 +36699,34 @@ function findrangeindex(ctx, v, vp) {
|
|
|
36656
36699
|
return pfri;
|
|
36657
36700
|
}
|
|
36658
36701
|
} else if (vplen > vlen) {
|
|
36659
|
-
var
|
|
36660
|
-
var _p = vp_a[
|
|
36661
|
-
var _n = v_a[
|
|
36702
|
+
var _i19 = pfri[0];
|
|
36703
|
+
var _p = vp_a[_i19];
|
|
36704
|
+
var _n = v_a[_i19];
|
|
36662
36705
|
if (___default['default'].isNil(_n)) {
|
|
36663
|
-
if (v_a[
|
|
36706
|
+
if (v_a[_i19 - 1].indexOf("{") > -1) {
|
|
36664
36707
|
pfri[0] -= 1;
|
|
36665
|
-
var start = v_a[
|
|
36708
|
+
var start = v_a[_i19 - 1].search("{");
|
|
36666
36709
|
pfri[1] += start;
|
|
36667
36710
|
} else {
|
|
36668
36711
|
pfri[0] = 0;
|
|
36669
36712
|
pfri[1] = 0;
|
|
36670
36713
|
}
|
|
36671
36714
|
} else if (_p.length === _n.length) {
|
|
36672
|
-
if (!___default['default'].isNil(v_a[
|
|
36715
|
+
if (!___default['default'].isNil(v_a[_i19 + 1]) && (v_a[_i19 + 1].substring(0, 1) === '"' || v_a[_i19 + 1].substring(0, 1) === "{" || v_a[_i19 + 1].substring(0, 1) === "}")) {
|
|
36673
36716
|
pfri[0] += 1;
|
|
36674
36717
|
pfri[1] = 1;
|
|
36675
|
-
} else if (!___default['default'].isNil(_p) && _p.length > 2 && _p.substring(0, 1) === '"' && _p.substring(_p.length - 1, 1) === '"') ; else if (!___default['default'].isNil(v_a[
|
|
36718
|
+
} else if (!___default['default'].isNil(_p) && _p.length > 2 && _p.substring(0, 1) === '"' && _p.substring(_p.length - 1, 1) === '"') ; else if (!___default['default'].isNil(v_a[_i19]) && v_a[_i19] === '")') {
|
|
36676
36719
|
pfri[1] = 1;
|
|
36677
|
-
} else if (!___default['default'].isNil(v_a[
|
|
36720
|
+
} else if (!___default['default'].isNil(v_a[_i19]) && v_a[_i19] === '"}') {
|
|
36678
36721
|
pfri[1] = 1;
|
|
36679
|
-
} else if (!___default['default'].isNil(v_a[
|
|
36722
|
+
} else if (!___default['default'].isNil(v_a[_i19]) && v_a[_i19] === "{)") {
|
|
36680
36723
|
pfri[1] = 1;
|
|
36681
36724
|
} else {
|
|
36682
36725
|
pfri[1] = _n.length;
|
|
36683
36726
|
}
|
|
36684
36727
|
return pfri;
|
|
36685
36728
|
} else if (_p.length > _n.length) {
|
|
36686
|
-
if (!___default['default'].isNil(v_a[
|
|
36729
|
+
if (!___default['default'].isNil(v_a[_i19 + 1]) && (v_a[_i19 + 1].substring(0, 1) === '"' || v_a[_i19 + 1].substring(0, 1) === "{" || v_a[_i19 + 1].substring(0, 1) === "}")) {
|
|
36687
36730
|
pfri[0] += 1;
|
|
36688
36731
|
pfri[1] = 1;
|
|
36689
36732
|
}
|
|
@@ -36693,9 +36736,9 @@ function findrangeindex(ctx, v, vp) {
|
|
|
36693
36736
|
}
|
|
36694
36737
|
return pfri;
|
|
36695
36738
|
} else if (vplen < vlen) {
|
|
36696
|
-
var
|
|
36697
|
-
var _p2 = vp_a[
|
|
36698
|
-
var _n2 = v_a[
|
|
36739
|
+
var _i20 = pfri[0];
|
|
36740
|
+
var _p2 = vp_a[_i20];
|
|
36741
|
+
var _n2 = v_a[_i20];
|
|
36699
36742
|
if (___default['default'].isNil(_p2)) {
|
|
36700
36743
|
pfri[0] = v_a.length - 1;
|
|
36701
36744
|
if (!___default['default'].isNil(_n2)) {
|
|
@@ -36704,9 +36747,9 @@ function findrangeindex(ctx, v, vp) {
|
|
|
36704
36747
|
pfri[1] = 1;
|
|
36705
36748
|
}
|
|
36706
36749
|
} else if (_p2.length === _n2.length) {
|
|
36707
|
-
if (vp_a[
|
|
36750
|
+
if (vp_a[_i20 + 1] != null && (vp_a[_i20 + 1].substring(0, 1) === '"' || vp_a[_i20 + 1].substring(0, 1) === "{" || vp_a[_i20 + 1].substring(0, 1) === "}")) {
|
|
36708
36751
|
pfri[1] = _n2.length;
|
|
36709
|
-
} else if (!___default['default'].isNil(v_a[
|
|
36752
|
+
} else if (!___default['default'].isNil(v_a[_i20 + 1]) && v_a[_i20 + 1].substring(0, 1) === '"' && (v_a[_i20 + 1].substring(0, 1) === "{" || v_a[_i20 + 1].substring(0, 1) === "}")) {
|
|
36710
36753
|
pfri[0] += 1;
|
|
36711
36754
|
pfri[1] = 1;
|
|
36712
36755
|
} else if (!___default['default'].isNil(_n2) && _n2.substring(0, 1) === '"' && _n2.substring(_n2.length - 1, 1) === '"' && _p2.substring(0, 1) === '"' && _p2.substring(_p2.length - 1, 1) === ")") {
|
|
@@ -36716,7 +36759,7 @@ function findrangeindex(ctx, v, vp) {
|
|
|
36716
36759
|
} else {
|
|
36717
36760
|
pfri[0] = pfri[0] + vlen - vplen;
|
|
36718
36761
|
if (v_a.length > vp_a.length) {
|
|
36719
|
-
pfri[1] = v_a[
|
|
36762
|
+
pfri[1] = v_a[_i20 + 1].length;
|
|
36720
36763
|
} else {
|
|
36721
36764
|
pfri[1] = 1;
|
|
36722
36765
|
}
|
|
@@ -36725,17 +36768,17 @@ function findrangeindex(ctx, v, vp) {
|
|
|
36725
36768
|
} else if (_p2.length > _n2.length) {
|
|
36726
36769
|
if (!___default['default'].isNil(_p2) && _p2.substring(0, 1) === '"') {
|
|
36727
36770
|
pfri[1] = _n2.length;
|
|
36728
|
-
} else if (___default['default'].isNil(v_a[
|
|
36771
|
+
} else if (___default['default'].isNil(v_a[_i20 + 1]) && /{.*?}/.test(v_a[_i20 + 1])) {
|
|
36729
36772
|
pfri[0] += 1;
|
|
36730
|
-
pfri[1] = v_a[
|
|
36731
|
-
} else if (!___default['default'].isNil(_p2) && v_a[
|
|
36773
|
+
pfri[1] = v_a[_i20 + 1].length;
|
|
36774
|
+
} else if (!___default['default'].isNil(_p2) && v_a[_i20 + 1].substring(0, 1) === '"' && (_p2.indexOf("{") > -1 || _p2.indexOf("}") > -1)) {
|
|
36732
36775
|
pfri[0] += 1;
|
|
36733
36776
|
pfri[1] = 1;
|
|
36734
36777
|
} else if (!___default['default'].isNil(_p2) && (_p2.indexOf("{") > -1 || _p2.indexOf("}") > -1)) ; else if (!___default['default'].isNil(_p2) && !___default['default'].startsWith(_p2[0], "=") && ___default['default'].startsWith(_n2, "=")) {
|
|
36735
36778
|
return [vlen - 1, v_a[vlen - 1].length];
|
|
36736
36779
|
} else {
|
|
36737
36780
|
pfri[0] = pfri[0] + vlen - vplen - 1;
|
|
36738
|
-
pfri[1] = v_a[(
|
|
36781
|
+
pfri[1] = v_a[(_i20 || 1) - 1].length;
|
|
36739
36782
|
}
|
|
36740
36783
|
return pfri;
|
|
36741
36784
|
} else if (_p2.length < _n2.length) {
|
|
@@ -36809,8 +36852,8 @@ function searchFunction(ctx, searchtxt) {
|
|
|
36809
36852
|
var f = [];
|
|
36810
36853
|
var s = [];
|
|
36811
36854
|
var t = [];
|
|
36812
|
-
for (var
|
|
36813
|
-
var item = functionlist[
|
|
36855
|
+
for (var _i21 = 0; _i21 < functionlist.length; _i21 += 1) {
|
|
36856
|
+
var item = functionlist[_i21];
|
|
36814
36857
|
var n = item.n;
|
|
36815
36858
|
if (n === searchtxt) {
|
|
36816
36859
|
f.unshift(item);
|
|
@@ -36866,8 +36909,8 @@ function helpFunctionExe($editer, currSelection, ctx) {
|
|
|
36866
36909
|
var _locale2 = locale(ctx),
|
|
36867
36910
|
functionlist = _locale2.functionlist;
|
|
36868
36911
|
if (___default['default'].isEmpty(ctx.formulaCache.functionlistMap)) {
|
|
36869
|
-
for (var
|
|
36870
|
-
ctx.formulaCache.functionlistMap[functionlist[
|
|
36912
|
+
for (var _i22 = 0; _i22 < functionlist.length; _i22 += 1) {
|
|
36913
|
+
ctx.formulaCache.functionlistMap[functionlist[_i22].n] = functionlist[_i22];
|
|
36871
36914
|
}
|
|
36872
36915
|
}
|
|
36873
36916
|
if (!currSelection) {
|
|
@@ -42681,6 +42724,7 @@ function deepClear(ctx) {
|
|
|
42681
42724
|
if (selection && !___default['default'].isEmpty(selection)) {
|
|
42682
42725
|
var d = getFlowdata(ctx);
|
|
42683
42726
|
var hyperlinkMap = ctx.luckysheetfile[getSheetIndex(ctx, ctx.currentSheetId)].hyperlink;
|
|
42727
|
+
var deletedFormulas = [];
|
|
42684
42728
|
for (var s = 0; s < selection.length; s += 1) {
|
|
42685
42729
|
var r1 = selection[s].row[0];
|
|
42686
42730
|
var r2 = selection[s].row[1];
|
|
@@ -42691,15 +42735,22 @@ function deepClear(ctx) {
|
|
|
42691
42735
|
var _d$r2;
|
|
42692
42736
|
var cell = d === null || d === void 0 ? void 0 : (_d$r2 = d[r]) === null || _d$r2 === void 0 ? void 0 : _d$r2[c];
|
|
42693
42737
|
d[r][c] = null;
|
|
42694
|
-
if ((cell === null || cell === void 0 ? void 0 : cell.f) != null)
|
|
42738
|
+
if ((cell === null || cell === void 0 ? void 0 : cell.f) != null) {
|
|
42739
|
+
deletedFormulas.push({
|
|
42740
|
+
r: r,
|
|
42741
|
+
c: c
|
|
42742
|
+
});
|
|
42743
|
+
}
|
|
42695
42744
|
if (hyperlinkMap && hyperlinkMap["".concat(r, "_").concat(c)]) {
|
|
42696
42745
|
delete hyperlinkMap["".concat(r, "_").concat(c)];
|
|
42697
42746
|
}
|
|
42698
42747
|
}
|
|
42699
42748
|
}
|
|
42700
42749
|
}
|
|
42750
|
+
if (deletedFormulas.length > 0) {
|
|
42751
|
+
delFunctionGroups(ctx, deletedFormulas, ctx.currentSheetId);
|
|
42752
|
+
}
|
|
42701
42753
|
}
|
|
42702
|
-
updateFunctionGroup(ctx);
|
|
42703
42754
|
return "success";
|
|
42704
42755
|
}
|
|
42705
42756
|
function deleteSelectedCellText(ctx, deep) {
|
|
@@ -42729,6 +42780,8 @@ function deleteSelectedCellText(ctx, deep) {
|
|
|
42729
42780
|
return "partMC";
|
|
42730
42781
|
}
|
|
42731
42782
|
var hyperlinkMap = ctx.luckysheetfile[getSheetIndex(ctx, ctx.currentSheetId)].hyperlink;
|
|
42783
|
+
var hasChanged = false;
|
|
42784
|
+
var deletedFormulas = [];
|
|
42732
42785
|
for (var _s = 0; _s < selection.length; _s += 1) {
|
|
42733
42786
|
var _r3 = selection[_s].row[0];
|
|
42734
42787
|
var _r4 = selection[_s].row[1];
|
|
@@ -42738,27 +42791,39 @@ function deleteSelectedCellText(ctx, deep) {
|
|
|
42738
42791
|
for (var c = _c3; c <= _c4; c += 1) {
|
|
42739
42792
|
if (___default['default'].isPlainObject(d[r][c])) {
|
|
42740
42793
|
var cell = d[r][c];
|
|
42794
|
+
if (cell.m != null || cell.v != null || cell.f != null || cell.ct != null && cell.ct.t === "inlineStr") {
|
|
42795
|
+
hasChanged = true;
|
|
42796
|
+
}
|
|
42741
42797
|
delete cell.m;
|
|
42742
42798
|
delete cell.v;
|
|
42743
42799
|
if (cell.f != null) {
|
|
42800
|
+
deletedFormulas.push({
|
|
42801
|
+
r: r,
|
|
42802
|
+
c: c
|
|
42803
|
+
});
|
|
42744
42804
|
delete cell.f;
|
|
42745
42805
|
delete cell.spl;
|
|
42746
42806
|
}
|
|
42747
42807
|
if (cell.ct != null && cell.ct.t === "inlineStr") {
|
|
42748
42808
|
delete cell.ct;
|
|
42749
42809
|
}
|
|
42750
|
-
} else {
|
|
42810
|
+
} else if (d[r][c] != null) {
|
|
42751
42811
|
d[r][c] = null;
|
|
42812
|
+
hasChanged = true;
|
|
42752
42813
|
}
|
|
42753
42814
|
if (hyperlinkMap && hyperlinkMap["".concat(r, "_").concat(c)]) {
|
|
42754
42815
|
delete hyperlinkMap["".concat(r, "_").concat(c)];
|
|
42816
|
+
hasChanged = true;
|
|
42755
42817
|
}
|
|
42756
42818
|
}
|
|
42757
42819
|
}
|
|
42758
42820
|
}
|
|
42759
|
-
|
|
42760
|
-
|
|
42761
|
-
|
|
42821
|
+
if (deletedFormulas.length > 0) {
|
|
42822
|
+
delFunctionGroups(ctx, deletedFormulas, ctx.currentSheetId);
|
|
42823
|
+
}
|
|
42824
|
+
if (!hasChanged) {
|
|
42825
|
+
return "noChange";
|
|
42826
|
+
}
|
|
42762
42827
|
}
|
|
42763
42828
|
return "success";
|
|
42764
42829
|
}
|
|
@@ -46776,8 +46841,9 @@ function calculateSheetFromula(ctx, id, isrefresh) {
|
|
|
46776
46841
|
console.time("calcTime:all}");
|
|
46777
46842
|
execFunctionGroup(ctx, null, null, null, undefined, [], true);
|
|
46778
46843
|
groupValuesRefresh(ctx);
|
|
46844
|
+
ctx.formulaCache.execFunctionGlobalData = null;
|
|
46845
|
+
console.timeEnd("calcTime:".concat(id));
|
|
46779
46846
|
}
|
|
46780
|
-
console.timeEnd("calcTime:".concat(id));
|
|
46781
46847
|
function updateFunctionGroupBySheetId(ctx, id) {
|
|
46782
46848
|
var _ctx$luckysheetfile$i, _ctx$luckysheetfile$i2, _ctx$luckysheetfile$i3;
|
|
46783
46849
|
var luckysheetfile = ctx.luckysheetfile;
|
|
@@ -46839,8 +46905,8 @@ function calculateSheetByCells(ctx, cells) {
|
|
|
46839
46905
|
var _cells$index = cells[index$1],
|
|
46840
46906
|
r = _cells$index.r,
|
|
46841
46907
|
c = _cells$index.c,
|
|
46842
|
-
|
|
46843
|
-
updatedMap["".concat(sheetIdNameMap[
|
|
46908
|
+
id = _cells$index.id;
|
|
46909
|
+
updatedMap["".concat(sheetIdNameMap[id], "!").concat(indexToColumnChar(c) + (r + 1))] = true;
|
|
46844
46910
|
}
|
|
46845
46911
|
var _loop = function _loop() {
|
|
46846
46912
|
var file = fileList[fIndex];
|
|
@@ -46883,16 +46949,16 @@ function calculateSheetByCells(ctx, cells) {
|
|
|
46883
46949
|
var _needUpdateCell$nInde = needUpdateCell[nIndex],
|
|
46884
46950
|
_r = _needUpdateCell$nInde.r,
|
|
46885
46951
|
_c = _needUpdateCell$nInde.c,
|
|
46886
|
-
|
|
46952
|
+
_id = _needUpdateCell$nInde.id,
|
|
46887
46953
|
_f = _needUpdateCell$nInde.f,
|
|
46888
46954
|
v = _needUpdateCell$nInde.v;
|
|
46889
|
-
var result = execfunction(ctx, _f, _r, _c,
|
|
46955
|
+
var result = execfunction(ctx, _f, _r, _c, _id, undefined, true);
|
|
46890
46956
|
var newV = result[1];
|
|
46891
46957
|
if (newV === v) {
|
|
46892
46958
|
continue;
|
|
46893
46959
|
}
|
|
46894
46960
|
setCellValue$1(ctx, _r, _c, result[1], null, {
|
|
46895
|
-
id:
|
|
46961
|
+
id: _id
|
|
46896
46962
|
});
|
|
46897
46963
|
}
|
|
46898
46964
|
console.timeEnd("calculateSheetByCellsTime");
|
|
@@ -47672,9 +47738,8 @@ function runExecFunction(ctx, range, index, data) {
|
|
|
47672
47738
|
}
|
|
47673
47739
|
}
|
|
47674
47740
|
ctx.formulaCache.execFunctionExist.reverse();
|
|
47675
|
-
console.time('execFunctionGroup');
|
|
47676
47741
|
execFunctionGroup(ctx, null, null, null, null, data);
|
|
47677
|
-
|
|
47742
|
+
groupValuesRefresh(ctx);
|
|
47678
47743
|
ctx.formulaCache.execFunctionGlobalData = null;
|
|
47679
47744
|
updateFunctionGroup(ctx);
|
|
47680
47745
|
}
|
|
@@ -47687,7 +47752,6 @@ function jfrefreshgrid(ctx, data, range) {
|
|
|
47687
47752
|
range = ctx.luckysheet_select_save;
|
|
47688
47753
|
if (range == null) return;
|
|
47689
47754
|
}
|
|
47690
|
-
console.log('isRunExecFunction', isRunExecFunction);
|
|
47691
47755
|
if (isRunExecFunction) {
|
|
47692
47756
|
runExecFunction(ctx, range, ctx.currentSheetId, data);
|
|
47693
47757
|
}
|
|
@@ -56702,11 +56766,17 @@ function setCellValuesByRange(ctx, data, range, cellInput) {
|
|
|
56702
56766
|
cfg.merge = {};
|
|
56703
56767
|
}
|
|
56704
56768
|
var formulaCells = [];
|
|
56769
|
+
var modifiedCells = [];
|
|
56705
56770
|
for (var i = 0; i < rowCount; i += 1) {
|
|
56706
56771
|
for (var j = 0; j < columnCount; j += 1) {
|
|
56707
56772
|
var row = rowStart + i;
|
|
56708
56773
|
var column = colStart + j;
|
|
56709
56774
|
var value = data[i][j];
|
|
56775
|
+
modifiedCells.push({
|
|
56776
|
+
r: row,
|
|
56777
|
+
c: column,
|
|
56778
|
+
i: sheet.id
|
|
56779
|
+
});
|
|
56710
56780
|
setCellValueInBatch(ctx, sheet, row, column, value, cellInput, formulaCells);
|
|
56711
56781
|
if (setMerge) {
|
|
56712
56782
|
var _value$mc, _value$mc2, _value$mc3, _value$mc4;
|
|
@@ -56728,25 +56798,30 @@ function setCellValuesByRange(ctx, data, range, cellInput) {
|
|
|
56728
56798
|
if (setMerge) {
|
|
56729
56799
|
sheet.config = cfg;
|
|
56730
56800
|
}
|
|
56731
|
-
if (
|
|
56732
|
-
ctx.formulaCache.execFunctionExist =
|
|
56733
|
-
|
|
56734
|
-
|
|
56801
|
+
if (modifiedCells.length > 0) {
|
|
56802
|
+
ctx.formulaCache.execFunctionExist = formulaCells.map(function (fc) {
|
|
56803
|
+
return {
|
|
56804
|
+
r: fc.r,
|
|
56805
|
+
c: fc.c,
|
|
56806
|
+
i: sheet.id
|
|
56807
|
+
};
|
|
56808
|
+
});
|
|
56809
|
+
for (var k = 0; k < modifiedCells.length; k += 1) {
|
|
56810
|
+
ctx.formulaCache.execFunctionExist.push(modifiedCells[k]);
|
|
56811
|
+
}
|
|
56812
|
+
for (var _k = 0; _k < formulaCells.length; _k += 1) {
|
|
56813
|
+
var fc = formulaCells[_k];
|
|
56735
56814
|
var v = execfunction(ctx, fc.f, fc.r, fc.c, sheet.id, false, true);
|
|
56736
56815
|
setCellValue(ctx, fc.r, fc.c, flowdata, {
|
|
56737
56816
|
v: v[1],
|
|
56738
56817
|
f: v[2]
|
|
56739
56818
|
});
|
|
56740
|
-
ctx.formulaCache.execFunctionExist.push({
|
|
56741
|
-
r: fc.r,
|
|
56742
|
-
c: fc.c,
|
|
56743
|
-
i: sheet.id
|
|
56744
|
-
});
|
|
56745
56819
|
}
|
|
56746
56820
|
ctx.formulaCache.execFunctionExist.reverse();
|
|
56747
56821
|
execFunctionGroup(ctx, null, null, null, null, flowdata, false, true);
|
|
56748
56822
|
groupValuesRefresh(ctx);
|
|
56749
56823
|
updateFunctionGroup(ctx);
|
|
56824
|
+
ctx.formulaCache.execFunctionGlobalData = null;
|
|
56750
56825
|
}
|
|
56751
56826
|
}
|
|
56752
56827
|
function setCellValues(ctx, data, cellInput) {
|
|
@@ -56790,23 +56865,33 @@ function setCellValues(ctx, data, cellInput) {
|
|
|
56790
56865
|
_v = _data$_j.v;
|
|
56791
56866
|
setCellValueInBatch(ctx, sheet, _r, _c, _v, cellInput, formulaCells);
|
|
56792
56867
|
}
|
|
56793
|
-
|
|
56794
|
-
|
|
56795
|
-
|
|
56796
|
-
|
|
56797
|
-
|
|
56798
|
-
|
|
56799
|
-
|
|
56800
|
-
|
|
56801
|
-
|
|
56802
|
-
|
|
56803
|
-
|
|
56804
|
-
|
|
56805
|
-
|
|
56806
|
-
|
|
56807
|
-
|
|
56808
|
-
|
|
56868
|
+
ctx.formulaCache.execFunctionExist = formulaCells.map(function (fc) {
|
|
56869
|
+
return {
|
|
56870
|
+
r: fc.r,
|
|
56871
|
+
c: fc.c,
|
|
56872
|
+
i: sheet.id
|
|
56873
|
+
};
|
|
56874
|
+
});
|
|
56875
|
+
for (var _j2 = 0; _j2 < data.length; _j2 += 1) {
|
|
56876
|
+
ctx.formulaCache.execFunctionExist.push({
|
|
56877
|
+
r: data[_j2].r,
|
|
56878
|
+
c: data[_j2].c,
|
|
56879
|
+
i: sheet.id
|
|
56880
|
+
});
|
|
56881
|
+
}
|
|
56882
|
+
for (var k = 0; k < formulaCells.length; k += 1) {
|
|
56883
|
+
var fc = formulaCells[k];
|
|
56884
|
+
var val = execfunction(ctx, fc.f, fc.r, fc.c, sheet.id, false, true);
|
|
56885
|
+
setCellValue(ctx, fc.r, fc.c, flowdata, {
|
|
56886
|
+
v: val[1],
|
|
56887
|
+
f: val[2]
|
|
56888
|
+
});
|
|
56809
56889
|
}
|
|
56890
|
+
ctx.formulaCache.execFunctionExist.reverse();
|
|
56891
|
+
execFunctionGroup(ctx, null, null, null, null, flowdata);
|
|
56892
|
+
groupValuesRefresh(ctx);
|
|
56893
|
+
updateFunctionGroup(ctx);
|
|
56894
|
+
ctx.formulaCache.execFunctionGlobalData = null;
|
|
56810
56895
|
}
|
|
56811
56896
|
function setCellFormatByRange(ctx, attr, value, range) {
|
|
56812
56897
|
var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
@@ -57314,7 +57399,10 @@ function handleGlobalKeyDown(ctx, cellInput, fxInput, e, cache, handleUndo, hand
|
|
|
57314
57399
|
if (ctx.activeImg != null) {
|
|
57315
57400
|
removeActiveImage(ctx);
|
|
57316
57401
|
} else {
|
|
57317
|
-
deleteSelectedCellText(ctx)
|
|
57402
|
+
if (deleteSelectedCellText(ctx) === "noChange") {
|
|
57403
|
+
e.preventDefault();
|
|
57404
|
+
return;
|
|
57405
|
+
}
|
|
57318
57406
|
}
|
|
57319
57407
|
jfrefreshgrid(ctx, null, undefined);
|
|
57320
57408
|
e.preventDefault();
|
|
@@ -60937,6 +61025,7 @@ exports.defaultFont = defaultFont;
|
|
|
60937
61025
|
exports.defaultSettings = defaultSettings;
|
|
60938
61026
|
exports.defaultStyle = defaultStyle;
|
|
60939
61027
|
exports.delFunctionGroup = delFunctionGroup;
|
|
61028
|
+
exports.delFunctionGroups = delFunctionGroups;
|
|
60940
61029
|
exports.deleteCellInSave = deleteCellInSave;
|
|
60941
61030
|
exports.deleteComment = deleteComment;
|
|
60942
61031
|
exports.deleteRowCol = deleteRowCol;
|