@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.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 calcChainClone = ___default['default'].cloneDeep(calcChain);
36103
- for (var _i4 = 0; _i4 < calcChainClone.length; _i4 += 1) {
36104
- var calc = calcChainClone[_i4];
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
- break;
36107
+ continue;
36109
36108
  }
36109
+ nextCalcChain.push(calc);
36110
36110
  }
36111
36111
  if (modified) {
36112
- file.calcChain = calcChainClone;
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 dynamicArrayClone = ___default['default'].cloneDeep(dynamicArray);
36119
- for (var _i5 = 0; _i5 < dynamicArrayClone.length; _i5 += 1) {
36120
- var _calc = dynamicArrayClone[_i5];
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
- break;
36123
+ continue;
36125
36124
  }
36125
+ nextDynamicArray.push(_calc);
36126
36126
  }
36127
36127
  if (_modified) {
36128
- file.dynamicArray = dynamicArrayClone;
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 _i6 = 0; _i6 < bra_tl_txt.length; _i6 += 1) {
36149
- var bra_tl = bra_tl_txt[_i6].match(/\(/g);
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 _i7 = 0; _i7 < bra_tr_txt.length; _i7 += 1) {
36157
- var bra_tr = bra_tr_txt[_i7].match(/\)/g);
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 _i8 = 0; _i8 < calcChain.length; _i8 += 1) {
36185
- var calc = calcChain[_i8];
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 _i9 = 0; _i9 < dynamicArray.length; _i9 += 1) {
36257
- var calc = dynamicArray[_i9];
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 _i10 = 0; _i10 < ctx.groupValuesRefreshData.length; _i10 += 1) {
36271
- var item = ctx.groupValuesRefreshData[_i10];
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 _i11 = 0; _i11 < sheets.length; _i11 += 1) {
36320
- var sheet = sheets[_i11];
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[_i12];
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 _i12 = 0; _i12 < calcChains.length; _i12 += 1) {
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 _i13 = 0; _i13 < children.length; _i13 += 1) {
36502
- var childKey = children[_i13];
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
- console.timeEnd('execFunctionGroup-before');
36591
- console.time('formulaRunList');
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 _i15 = pfri[0];
36628
- var p = vp_a[_i15];
36629
- var n = v_a[_i15];
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 <= _i15) {
36674
+ if (vp_a.length <= _i18) {
36632
36675
  pfri = [vp_a.length - 1, vp_a.length - 1];
36633
- } else if (v_a.length <= _i15) {
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[_i15 + 1]) && !___default['default'].isNil(v_a[_i15 + 1]) && vp_a[_i15 + 1].length < v_a[_i15 + 1].length) {
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[_i15 + 1]) && v_a[_i15 + 1].substring(0, 1) === '"' && (p.indexOf("{") > -1 || p.indexOf("}") > -1)) {
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 _i16 = pfri[0];
36660
- var _p = vp_a[_i16];
36661
- var _n = v_a[_i16];
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[_i16 - 1].indexOf("{") > -1) {
36706
+ if (v_a[_i19 - 1].indexOf("{") > -1) {
36664
36707
  pfri[0] -= 1;
36665
- var start = v_a[_i16 - 1].search("{");
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[_i16 + 1]) && (v_a[_i16 + 1].substring(0, 1) === '"' || v_a[_i16 + 1].substring(0, 1) === "{" || v_a[_i16 + 1].substring(0, 1) === "}")) {
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[_i16]) && v_a[_i16] === '")') {
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[_i16]) && v_a[_i16] === '"}') {
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[_i16]) && v_a[_i16] === "{)") {
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[_i16 + 1]) && (v_a[_i16 + 1].substring(0, 1) === '"' || v_a[_i16 + 1].substring(0, 1) === "{" || v_a[_i16 + 1].substring(0, 1) === "}")) {
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 _i17 = pfri[0];
36697
- var _p2 = vp_a[_i17];
36698
- var _n2 = v_a[_i17];
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[_i17 + 1] != null && (vp_a[_i17 + 1].substring(0, 1) === '"' || vp_a[_i17 + 1].substring(0, 1) === "{" || vp_a[_i17 + 1].substring(0, 1) === "}")) {
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[_i17 + 1]) && v_a[_i17 + 1].substring(0, 1) === '"' && (v_a[_i17 + 1].substring(0, 1) === "{" || v_a[_i17 + 1].substring(0, 1) === "}")) {
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[_i17 + 1].length;
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[_i17 + 1]) && /{.*?}/.test(v_a[_i17 + 1])) {
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[_i17 + 1].length;
36731
- } else if (!___default['default'].isNil(_p2) && v_a[_i17 + 1].substring(0, 1) === '"' && (_p2.indexOf("{") > -1 || _p2.indexOf("}") > -1)) {
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[(_i17 || 1) - 1].length;
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 _i18 = 0; _i18 < functionlist.length; _i18 += 1) {
36813
- var item = functionlist[_i18];
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 _i19 = 0; _i19 < functionlist.length; _i19 += 1) {
36870
- ctx.formulaCache.functionlistMap[functionlist[_i19].n] = functionlist[_i19];
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
- console.time('deleteSelectedCellText');
42760
- updateFunctionGroup(ctx);
42761
- console.timeEnd('deleteSelectedCellText');
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
- _id = _cells$index.id;
46843
- updatedMap["".concat(sheetIdNameMap[_id], "!").concat(indexToColumnChar(c) + (r + 1))] = true;
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
- _id2 = _needUpdateCell$nInde.id,
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, _id2, undefined, true);
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: _id2
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
- console.timeEnd('execFunctionGroup');
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 (formulaCells.length > 0) {
56732
- ctx.formulaCache.execFunctionExist = [];
56733
- for (var k = 0; k < formulaCells.length; k += 1) {
56734
- var fc = formulaCells[k];
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
- if (formulaCells.length > 0) {
56794
- ctx.formulaCache.execFunctionExist = [];
56795
- for (var k = 0; k < formulaCells.length; k += 1) {
56796
- var fc = formulaCells[k];
56797
- var val = execfunction(ctx, fc.f, fc.r, fc.c, sheet.id, false, false);
56798
- setCellValue(ctx, fc.r, fc.c, flowdata, {
56799
- v: val[1],
56800
- f: val[2]
56801
- });
56802
- ctx.formulaCache.execFunctionExist.push({
56803
- r: fc.r,
56804
- c: fc.c,
56805
- i: sheet.id
56806
- });
56807
- }
56808
- ctx.formulaCache.execFunctionExist.reverse();
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;