@leankylin-sheet/core 5.2.44 → 5.2.45

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 CHANGED
@@ -36089,91 +36089,35 @@ function delFunctionGroup(ctx, r, c, id) {
36089
36089
  var calcChain = file.calcChain;
36090
36090
  if (!_.isNil(calcChain)) {
36091
36091
  var modified = false;
36092
- var nextCalcChain = [];
36093
- for (var _i4 = 0; _i4 < calcChain.length; _i4 += 1) {
36094
- var calc = calcChain[_i4];
36092
+ var calcChainClone = _.cloneDeep(calcChain);
36093
+ for (var _i4 = 0; _i4 < calcChainClone.length; _i4 += 1) {
36094
+ var calc = calcChainClone[_i4];
36095
36095
  if (calc.r === r && calc.c === c && calc.id === id) {
36096
+ calcChainClone.splice(_i4, 1);
36096
36097
  modified = true;
36097
- continue;
36098
+ break;
36098
36099
  }
36099
- nextCalcChain.push(calc);
36100
36100
  }
36101
36101
  if (modified) {
36102
- file.calcChain = nextCalcChain;
36102
+ file.calcChain = calcChainClone;
36103
36103
  }
36104
36104
  }
36105
36105
  var dynamicArray = file.dynamicArray;
36106
36106
  if (!_.isNil(dynamicArray)) {
36107
36107
  var _modified = false;
36108
- var nextDynamicArray = [];
36109
- for (var _i5 = 0; _i5 < dynamicArray.length; _i5 += 1) {
36110
- var _calc = dynamicArray[_i5];
36108
+ var dynamicArrayClone = _.cloneDeep(dynamicArray);
36109
+ for (var _i5 = 0; _i5 < dynamicArrayClone.length; _i5 += 1) {
36110
+ var _calc = dynamicArrayClone[_i5];
36111
36111
  if (_calc.r === r && _calc.c === c && (_.isNil(_calc.id) || _calc.id === id)) {
36112
+ dynamicArrayClone.splice(_i5, 1);
36112
36113
  _modified = true;
36113
- continue;
36114
+ break;
36114
36115
  }
36115
- nextDynamicArray.push(_calc);
36116
36116
  }
36117
36117
  if (_modified) {
36118
- file.dynamicArray = nextDynamicArray;
36119
- }
36120
- }
36121
- }
36122
- function delFunctionGroups(ctx, cells, id) {
36123
- if (cells.length === 0) return;
36124
- if (_.isNil(id)) {
36125
- id = ctx.currentSheetId;
36126
- }
36127
- var toDeleteMap = new Map();
36128
- for (var _i6 = 0; _i6 < cells.length; _i6 += 1) {
36129
- var _cell$id;
36130
- var cell = cells[_i6];
36131
- var cellId = (_cell$id = cell.id) !== null && _cell$id !== void 0 ? _cell$id : id;
36132
- var keys = toDeleteMap.get(cellId);
36133
- if (keys == null) {
36134
- keys = new Set();
36135
- toDeleteMap.set(cellId, keys);
36118
+ file.dynamicArray = dynamicArrayClone;
36136
36119
  }
36137
- keys.add("".concat(cell.r, "_").concat(cell.c));
36138
36120
  }
36139
- toDeleteMap.forEach(function (keys, sheetId) {
36140
- var idx = getSheetIndex(ctx, sheetId);
36141
- if (idx == null) return;
36142
- var file = ctx.luckysheetfile[idx];
36143
- if (file == null) return;
36144
- var calcChain = file.calcChain;
36145
- if (!_.isNil(calcChain)) {
36146
- var modified = false;
36147
- var nextCalcChain = [];
36148
- for (var _i7 = 0; _i7 < calcChain.length; _i7 += 1) {
36149
- var calc = calcChain[_i7];
36150
- if (calc.id === sheetId && keys.has("".concat(calc.r, "_").concat(calc.c))) {
36151
- modified = true;
36152
- continue;
36153
- }
36154
- nextCalcChain.push(calc);
36155
- }
36156
- if (modified) {
36157
- file.calcChain = nextCalcChain;
36158
- }
36159
- }
36160
- var dynamicArray = file.dynamicArray;
36161
- if (!_.isNil(dynamicArray)) {
36162
- var _modified2 = false;
36163
- var nextDynamicArray = [];
36164
- for (var _i8 = 0; _i8 < dynamicArray.length; _i8 += 1) {
36165
- var _calc2 = dynamicArray[_i8];
36166
- if ((_.isNil(_calc2.id) || _calc2.id === sheetId) && keys.has("".concat(_calc2.r, "_").concat(_calc2.c))) {
36167
- _modified2 = true;
36168
- continue;
36169
- }
36170
- nextDynamicArray.push(_calc2);
36171
- }
36172
- if (_modified2) {
36173
- file.dynamicArray = nextDynamicArray;
36174
- }
36175
- }
36176
- });
36177
36121
  }
36178
36122
  function checkBracketNum(fp) {
36179
36123
  var bra_l = fp.match(/\(/g);
@@ -36191,16 +36135,16 @@ function checkBracketNum(fp) {
36191
36135
  var bra_tl_len = 0;
36192
36136
  var bra_tr_len = 0;
36193
36137
  if (!_.isNil(bra_tl_txt)) {
36194
- for (var _i9 = 0; _i9 < bra_tl_txt.length; _i9 += 1) {
36195
- var bra_tl = bra_tl_txt[_i9].match(/\(/g);
36138
+ for (var _i6 = 0; _i6 < bra_tl_txt.length; _i6 += 1) {
36139
+ var bra_tl = bra_tl_txt[_i6].match(/\(/g);
36196
36140
  if (!_.isNil(bra_tl)) {
36197
36141
  bra_tl_len += bra_tl.length;
36198
36142
  }
36199
36143
  }
36200
36144
  }
36201
36145
  if (!_.isNil(bra_tr_txt)) {
36202
- for (var _i10 = 0; _i10 < bra_tr_txt.length; _i10 += 1) {
36203
- var bra_tr = bra_tr_txt[_i10].match(/\)/g);
36146
+ for (var _i7 = 0; _i7 < bra_tr_txt.length; _i7 += 1) {
36147
+ var bra_tr = bra_tr_txt[_i7].match(/\)/g);
36204
36148
  if (!_.isNil(bra_tr)) {
36205
36149
  bra_tr_len += bra_tr.length;
36206
36150
  }
@@ -36227,8 +36171,8 @@ function insertUpdateFunctionGroup(ctx, r, c, id) {
36227
36171
  if (_.isNil(calcChain)) {
36228
36172
  calcChain = [];
36229
36173
  }
36230
- for (var _i11 = 0; _i11 < calcChain.length; _i11 += 1) {
36231
- var calc = calcChain[_i11];
36174
+ for (var _i8 = 0; _i8 < calcChain.length; _i8 += 1) {
36175
+ var calc = calcChain[_i8];
36232
36176
  if (calc.r === r && calc.c === c && calc.id === id) {
36233
36177
  return;
36234
36178
  }
@@ -36299,8 +36243,8 @@ function insertUpdateDynamicArray(ctx, dynamicArrayItem) {
36299
36243
  if (_.isNil(dynamicArray)) {
36300
36244
  dynamicArray = [];
36301
36245
  }
36302
- for (var _i12 = 0; _i12 < dynamicArray.length; _i12 += 1) {
36303
- var calc = dynamicArray[_i12];
36246
+ for (var _i9 = 0; _i9 < dynamicArray.length; _i9 += 1) {
36247
+ var calc = dynamicArray[_i9];
36304
36248
  if (calc.r === r && calc.c === c && calc.id === id) {
36305
36249
  calc.data = dynamicArrayItem.data;
36306
36250
  calc.f = dynamicArrayItem.f;
@@ -36313,8 +36257,8 @@ function insertUpdateDynamicArray(ctx, dynamicArrayItem) {
36313
36257
  function groupValuesRefresh(ctx) {
36314
36258
  var luckysheetfile = ctx.luckysheetfile;
36315
36259
  if (ctx.groupValuesRefreshData.length > 0) {
36316
- for (var _i13 = 0; _i13 < ctx.groupValuesRefreshData.length; _i13 += 1) {
36317
- var item = ctx.groupValuesRefreshData[_i13];
36260
+ for (var _i10 = 0; _i10 < ctx.groupValuesRefreshData.length; _i10 += 1) {
36261
+ var item = ctx.groupValuesRefreshData[_i10];
36318
36262
  var idx = getSheetIndex(ctx, item.id);
36319
36263
  if (idx == null) continue;
36320
36264
  var file = luckysheetfile[idx];
@@ -36340,6 +36284,7 @@ function groupValuesRefresh(ctx) {
36340
36284
  function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36341
36285
  var isForce = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
36342
36286
  var notInsertFunc = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : true;
36287
+ console.time('execFunctionGroup-before');
36343
36288
  if (_.isNil(data)) {
36344
36289
  data = getFlowdata(ctx);
36345
36290
  }
@@ -36361,8 +36306,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36361
36306
  var formulaObjects = {};
36362
36307
  var sheets = ctx.luckysheetfile;
36363
36308
  var sheetData = {};
36364
- for (var _i14 = 0; _i14 < sheets.length; _i14 += 1) {
36365
- var sheet = sheets[_i14];
36309
+ for (var _i11 = 0; _i11 < sheets.length; _i11 += 1) {
36310
+ var sheet = sheets[_i11];
36366
36311
  sheetData[sheet.id] = sheet.data;
36367
36312
  }
36368
36313
  var updateValueOjects = {};
@@ -36377,6 +36322,7 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36377
36322
  updateValueOjects[_key] = 1;
36378
36323
  }
36379
36324
  }
36325
+ console.time('arrayMatchCache');
36380
36326
  var arrayMatchCache = {};
36381
36327
  var arrayMatch = function arrayMatch(formulaArray, _formulaObjects, _updateValueOjects, func) {
36382
36328
  for (var a = 0; a < formulaArray.length; a += 1) {
@@ -36409,8 +36355,10 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36409
36355
  }
36410
36356
  }
36411
36357
  };
36358
+ console.timeEnd('arrayMatchCache');
36359
+ console.time('cache1');
36412
36360
  var _loop = function _loop() {
36413
- var formulaCell = calcChains[_i15];
36361
+ var formulaCell = calcChains[_i12];
36414
36362
  var key = "r".concat(formulaCell.r, "c").concat(formulaCell.c, "i").concat(formulaCell.id);
36415
36363
  var calc_funcStr = getcellFormula(ctx, formulaCell.r, formulaCell.c, formulaCell.id);
36416
36364
  if (_.isNil(calc_funcStr)) {
@@ -36508,9 +36456,11 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36508
36456
  };
36509
36457
  formulaObjects[key] = item;
36510
36458
  };
36511
- for (var _i15 = 0; _i15 < calcChains.length; _i15 += 1) {
36459
+ for (var _i12 = 0; _i12 < calcChains.length; _i12 += 1) {
36512
36460
  if (_loop()) continue;
36513
36461
  }
36462
+ console.timeEnd('cache1');
36463
+ console.time('cache2');
36514
36464
  Object.keys(formulaObjects).forEach(function (key) {
36515
36465
  var formulaObject = formulaObjects[key];
36516
36466
  arrayMatch(formulaObject.formulaArray, formulaObjects, updateValueOjects, function (childKey) {
@@ -36527,6 +36477,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36527
36477
  updateValueArray.push(formulaObject);
36528
36478
  }
36529
36479
  });
36480
+ console.timeEnd('cache2');
36481
+ console.time('dev');
36530
36482
  var visited = {};
36531
36483
  var inStack = {};
36532
36484
  var circularNodes = {};
@@ -36536,8 +36488,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36536
36488
  var node = formulaObjects[nodeKey];
36537
36489
  if (!node) return false;
36538
36490
  var children = Object.keys(node.chidren);
36539
- for (var _i16 = 0; _i16 < children.length; _i16 += 1) {
36540
- var childKey = children[_i16];
36491
+ for (var _i13 = 0; _i13 < children.length; _i13 += 1) {
36492
+ var childKey = children[_i13];
36541
36493
  if (inStack[childKey]) {
36542
36494
  Object.keys(inStack).forEach(function (key) {
36543
36495
  if (inStack[key]) {
@@ -36589,6 +36541,7 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36589
36541
  }
36590
36542
  });
36591
36543
  }
36544
+ console.timeEnd('dev');
36592
36545
  var formulaRunList = [];
36593
36546
  var stack = updateValueArray;
36594
36547
  var existsFormulaRunList = {};
@@ -36624,8 +36577,11 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36624
36577
  if (_ret === 0) continue;
36625
36578
  }
36626
36579
  formulaRunList.reverse();
36627
- for (var _i17 = 0; _i17 < formulaRunList.length; _i17 += 1) {
36628
- var formulaCell = formulaRunList[_i17];
36580
+ console.timeEnd('execFunctionGroup-before');
36581
+ console.time('formulaRunList');
36582
+ console.log('formulaRunList', formulaRunList);
36583
+ for (var _i14 = 0; _i14 < formulaRunList.length; _i14 += 1) {
36584
+ var formulaCell = formulaRunList[_i14];
36629
36585
  if (formulaCell.level === Math.max) {
36630
36586
  continue;
36631
36587
  }
@@ -36644,6 +36600,7 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36644
36600
  f: v[2]
36645
36601
  };
36646
36602
  }
36603
+ console.timeEnd('formulaRunList');
36647
36604
  ctx.formulaCache.execFunctionExist = undefined;
36648
36605
  }
36649
36606
  function findrangeindex(ctx, v, vp) {
@@ -36657,26 +36614,26 @@ function findrangeindex(ctx, v, vp) {
36657
36614
  var vplen = vp_a.length;
36658
36615
  var vlen = v_a.length;
36659
36616
  if (vplen === vlen) {
36660
- var _i18 = pfri[0];
36661
- var p = vp_a[_i18];
36662
- var n = v_a[_i18];
36617
+ var _i15 = pfri[0];
36618
+ var p = vp_a[_i15];
36619
+ var n = v_a[_i15];
36663
36620
  if (_.isNil(p)) {
36664
- if (vp_a.length <= _i18) {
36621
+ if (vp_a.length <= _i15) {
36665
36622
  pfri = [vp_a.length - 1, vp_a.length - 1];
36666
- } else if (v_a.length <= _i18) {
36623
+ } else if (v_a.length <= _i15) {
36667
36624
  pfri = [v_a.length - 1, v_a.length - 1];
36668
36625
  }
36669
36626
  return pfri;
36670
36627
  }
36671
36628
  if (p.length === n.length) {
36672
- if (!_.isNil(vp_a[_i18 + 1]) && !_.isNil(v_a[_i18 + 1]) && vp_a[_i18 + 1].length < v_a[_i18 + 1].length) {
36629
+ if (!_.isNil(vp_a[_i15 + 1]) && !_.isNil(v_a[_i15 + 1]) && vp_a[_i15 + 1].length < v_a[_i15 + 1].length) {
36673
36630
  pfri[0] += 1;
36674
36631
  pfri[1] = 1;
36675
36632
  }
36676
36633
  return pfri;
36677
36634
  }
36678
36635
  if (p.length > n.length) {
36679
- if (!_.isNil(p) && !_.isNil(v_a[_i18 + 1]) && v_a[_i18 + 1].substring(0, 1) === '"' && (p.indexOf("{") > -1 || p.indexOf("}") > -1)) {
36636
+ if (!_.isNil(p) && !_.isNil(v_a[_i15 + 1]) && v_a[_i15 + 1].substring(0, 1) === '"' && (p.indexOf("{") > -1 || p.indexOf("}") > -1)) {
36680
36637
  pfri[0] += 1;
36681
36638
  pfri[1] = 1;
36682
36639
  }
@@ -36689,34 +36646,34 @@ function findrangeindex(ctx, v, vp) {
36689
36646
  return pfri;
36690
36647
  }
36691
36648
  } else if (vplen > vlen) {
36692
- var _i19 = pfri[0];
36693
- var _p = vp_a[_i19];
36694
- var _n = v_a[_i19];
36649
+ var _i16 = pfri[0];
36650
+ var _p = vp_a[_i16];
36651
+ var _n = v_a[_i16];
36695
36652
  if (_.isNil(_n)) {
36696
- if (v_a[_i19 - 1].indexOf("{") > -1) {
36653
+ if (v_a[_i16 - 1].indexOf("{") > -1) {
36697
36654
  pfri[0] -= 1;
36698
- var start = v_a[_i19 - 1].search("{");
36655
+ var start = v_a[_i16 - 1].search("{");
36699
36656
  pfri[1] += start;
36700
36657
  } else {
36701
36658
  pfri[0] = 0;
36702
36659
  pfri[1] = 0;
36703
36660
  }
36704
36661
  } else if (_p.length === _n.length) {
36705
- if (!_.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) === "}")) {
36662
+ if (!_.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) === "}")) {
36706
36663
  pfri[0] += 1;
36707
36664
  pfri[1] = 1;
36708
- } else if (!_.isNil(_p) && _p.length > 2 && _p.substring(0, 1) === '"' && _p.substring(_p.length - 1, 1) === '"') ; else if (!_.isNil(v_a[_i19]) && v_a[_i19] === '")') {
36665
+ } else if (!_.isNil(_p) && _p.length > 2 && _p.substring(0, 1) === '"' && _p.substring(_p.length - 1, 1) === '"') ; else if (!_.isNil(v_a[_i16]) && v_a[_i16] === '")') {
36709
36666
  pfri[1] = 1;
36710
- } else if (!_.isNil(v_a[_i19]) && v_a[_i19] === '"}') {
36667
+ } else if (!_.isNil(v_a[_i16]) && v_a[_i16] === '"}') {
36711
36668
  pfri[1] = 1;
36712
- } else if (!_.isNil(v_a[_i19]) && v_a[_i19] === "{)") {
36669
+ } else if (!_.isNil(v_a[_i16]) && v_a[_i16] === "{)") {
36713
36670
  pfri[1] = 1;
36714
36671
  } else {
36715
36672
  pfri[1] = _n.length;
36716
36673
  }
36717
36674
  return pfri;
36718
36675
  } else if (_p.length > _n.length) {
36719
- if (!_.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) === "}")) {
36676
+ if (!_.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) === "}")) {
36720
36677
  pfri[0] += 1;
36721
36678
  pfri[1] = 1;
36722
36679
  }
@@ -36726,9 +36683,9 @@ function findrangeindex(ctx, v, vp) {
36726
36683
  }
36727
36684
  return pfri;
36728
36685
  } else if (vplen < vlen) {
36729
- var _i20 = pfri[0];
36730
- var _p2 = vp_a[_i20];
36731
- var _n2 = v_a[_i20];
36686
+ var _i17 = pfri[0];
36687
+ var _p2 = vp_a[_i17];
36688
+ var _n2 = v_a[_i17];
36732
36689
  if (_.isNil(_p2)) {
36733
36690
  pfri[0] = v_a.length - 1;
36734
36691
  if (!_.isNil(_n2)) {
@@ -36737,9 +36694,9 @@ function findrangeindex(ctx, v, vp) {
36737
36694
  pfri[1] = 1;
36738
36695
  }
36739
36696
  } else if (_p2.length === _n2.length) {
36740
- 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) === "}")) {
36697
+ 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) === "}")) {
36741
36698
  pfri[1] = _n2.length;
36742
- } else if (!_.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) === "}")) {
36699
+ } else if (!_.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) === "}")) {
36743
36700
  pfri[0] += 1;
36744
36701
  pfri[1] = 1;
36745
36702
  } else if (!_.isNil(_n2) && _n2.substring(0, 1) === '"' && _n2.substring(_n2.length - 1, 1) === '"' && _p2.substring(0, 1) === '"' && _p2.substring(_p2.length - 1, 1) === ")") {
@@ -36749,7 +36706,7 @@ function findrangeindex(ctx, v, vp) {
36749
36706
  } else {
36750
36707
  pfri[0] = pfri[0] + vlen - vplen;
36751
36708
  if (v_a.length > vp_a.length) {
36752
- pfri[1] = v_a[_i20 + 1].length;
36709
+ pfri[1] = v_a[_i17 + 1].length;
36753
36710
  } else {
36754
36711
  pfri[1] = 1;
36755
36712
  }
@@ -36758,17 +36715,17 @@ function findrangeindex(ctx, v, vp) {
36758
36715
  } else if (_p2.length > _n2.length) {
36759
36716
  if (!_.isNil(_p2) && _p2.substring(0, 1) === '"') {
36760
36717
  pfri[1] = _n2.length;
36761
- } else if (_.isNil(v_a[_i20 + 1]) && /{.*?}/.test(v_a[_i20 + 1])) {
36718
+ } else if (_.isNil(v_a[_i17 + 1]) && /{.*?}/.test(v_a[_i17 + 1])) {
36762
36719
  pfri[0] += 1;
36763
- pfri[1] = v_a[_i20 + 1].length;
36764
- } else if (!_.isNil(_p2) && v_a[_i20 + 1].substring(0, 1) === '"' && (_p2.indexOf("{") > -1 || _p2.indexOf("}") > -1)) {
36720
+ pfri[1] = v_a[_i17 + 1].length;
36721
+ } else if (!_.isNil(_p2) && v_a[_i17 + 1].substring(0, 1) === '"' && (_p2.indexOf("{") > -1 || _p2.indexOf("}") > -1)) {
36765
36722
  pfri[0] += 1;
36766
36723
  pfri[1] = 1;
36767
36724
  } else if (!_.isNil(_p2) && (_p2.indexOf("{") > -1 || _p2.indexOf("}") > -1)) ; else if (!_.isNil(_p2) && !_.startsWith(_p2[0], "=") && _.startsWith(_n2, "=")) {
36768
36725
  return [vlen - 1, v_a[vlen - 1].length];
36769
36726
  } else {
36770
36727
  pfri[0] = pfri[0] + vlen - vplen - 1;
36771
- pfri[1] = v_a[(_i20 || 1) - 1].length;
36728
+ pfri[1] = v_a[(_i17 || 1) - 1].length;
36772
36729
  }
36773
36730
  return pfri;
36774
36731
  } else if (_p2.length < _n2.length) {
@@ -36842,8 +36799,8 @@ function searchFunction(ctx, searchtxt) {
36842
36799
  var f = [];
36843
36800
  var s = [];
36844
36801
  var t = [];
36845
- for (var _i21 = 0; _i21 < functionlist.length; _i21 += 1) {
36846
- var item = functionlist[_i21];
36802
+ for (var _i18 = 0; _i18 < functionlist.length; _i18 += 1) {
36803
+ var item = functionlist[_i18];
36847
36804
  var n = item.n;
36848
36805
  if (n === searchtxt) {
36849
36806
  f.unshift(item);
@@ -36899,8 +36856,8 @@ function helpFunctionExe($editer, currSelection, ctx) {
36899
36856
  var _locale2 = locale(ctx),
36900
36857
  functionlist = _locale2.functionlist;
36901
36858
  if (_.isEmpty(ctx.formulaCache.functionlistMap)) {
36902
- for (var _i22 = 0; _i22 < functionlist.length; _i22 += 1) {
36903
- ctx.formulaCache.functionlistMap[functionlist[_i22].n] = functionlist[_i22];
36859
+ for (var _i19 = 0; _i19 < functionlist.length; _i19 += 1) {
36860
+ ctx.formulaCache.functionlistMap[functionlist[_i19].n] = functionlist[_i19];
36904
36861
  }
36905
36862
  }
36906
36863
  if (!currSelection) {
@@ -42714,7 +42671,6 @@ function deepClear(ctx) {
42714
42671
  if (selection && !_.isEmpty(selection)) {
42715
42672
  var d = getFlowdata(ctx);
42716
42673
  var hyperlinkMap = ctx.luckysheetfile[getSheetIndex(ctx, ctx.currentSheetId)].hyperlink;
42717
- var deletedFormulas = [];
42718
42674
  for (var s = 0; s < selection.length; s += 1) {
42719
42675
  var r1 = selection[s].row[0];
42720
42676
  var r2 = selection[s].row[1];
@@ -42725,22 +42681,15 @@ function deepClear(ctx) {
42725
42681
  var _d$r2;
42726
42682
  var cell = d === null || d === void 0 ? void 0 : (_d$r2 = d[r]) === null || _d$r2 === void 0 ? void 0 : _d$r2[c];
42727
42683
  d[r][c] = null;
42728
- if ((cell === null || cell === void 0 ? void 0 : cell.f) != null) {
42729
- deletedFormulas.push({
42730
- r: r,
42731
- c: c
42732
- });
42733
- }
42684
+ if ((cell === null || cell === void 0 ? void 0 : cell.f) != null) ;
42734
42685
  if (hyperlinkMap && hyperlinkMap["".concat(r, "_").concat(c)]) {
42735
42686
  delete hyperlinkMap["".concat(r, "_").concat(c)];
42736
42687
  }
42737
42688
  }
42738
42689
  }
42739
42690
  }
42740
- if (deletedFormulas.length > 0) {
42741
- delFunctionGroups(ctx, deletedFormulas, ctx.currentSheetId);
42742
- }
42743
42691
  }
42692
+ updateFunctionGroup(ctx);
42744
42693
  return "success";
42745
42694
  }
42746
42695
  function deleteSelectedCellText(ctx, deep) {
@@ -42770,8 +42719,6 @@ function deleteSelectedCellText(ctx, deep) {
42770
42719
  return "partMC";
42771
42720
  }
42772
42721
  var hyperlinkMap = ctx.luckysheetfile[getSheetIndex(ctx, ctx.currentSheetId)].hyperlink;
42773
- var hasChanged = false;
42774
- var deletedFormulas = [];
42775
42722
  for (var _s = 0; _s < selection.length; _s += 1) {
42776
42723
  var _r3 = selection[_s].row[0];
42777
42724
  var _r4 = selection[_s].row[1];
@@ -42781,39 +42728,27 @@ function deleteSelectedCellText(ctx, deep) {
42781
42728
  for (var c = _c3; c <= _c4; c += 1) {
42782
42729
  if (_.isPlainObject(d[r][c])) {
42783
42730
  var cell = d[r][c];
42784
- if (cell.m != null || cell.v != null || cell.f != null || cell.ct != null && cell.ct.t === "inlineStr") {
42785
- hasChanged = true;
42786
- }
42787
42731
  delete cell.m;
42788
42732
  delete cell.v;
42789
42733
  if (cell.f != null) {
42790
- deletedFormulas.push({
42791
- r: r,
42792
- c: c
42793
- });
42794
42734
  delete cell.f;
42795
42735
  delete cell.spl;
42796
42736
  }
42797
42737
  if (cell.ct != null && cell.ct.t === "inlineStr") {
42798
42738
  delete cell.ct;
42799
42739
  }
42800
- } else if (d[r][c] != null) {
42740
+ } else {
42801
42741
  d[r][c] = null;
42802
- hasChanged = true;
42803
42742
  }
42804
42743
  if (hyperlinkMap && hyperlinkMap["".concat(r, "_").concat(c)]) {
42805
42744
  delete hyperlinkMap["".concat(r, "_").concat(c)];
42806
- hasChanged = true;
42807
42745
  }
42808
42746
  }
42809
42747
  }
42810
42748
  }
42811
- if (deletedFormulas.length > 0) {
42812
- delFunctionGroups(ctx, deletedFormulas, ctx.currentSheetId);
42813
- }
42814
- if (!hasChanged) {
42815
- return "noChange";
42816
- }
42749
+ console.time('deleteSelectedCellText');
42750
+ updateFunctionGroup(ctx);
42751
+ console.timeEnd('deleteSelectedCellText');
42817
42752
  }
42818
42753
  return "success";
42819
42754
  }
@@ -47728,8 +47663,9 @@ function runExecFunction(ctx, range, index, data) {
47728
47663
  }
47729
47664
  }
47730
47665
  ctx.formulaCache.execFunctionExist.reverse();
47666
+ console.time('execFunctionGroup');
47731
47667
  execFunctionGroup(ctx, null, null, null, null, data);
47732
- groupValuesRefresh(ctx);
47668
+ console.timeEnd('execFunctionGroup');
47733
47669
  ctx.formulaCache.execFunctionGlobalData = null;
47734
47670
  updateFunctionGroup(ctx);
47735
47671
  }
@@ -47742,6 +47678,7 @@ function jfrefreshgrid(ctx, data, range) {
47742
47678
  range = ctx.luckysheet_select_save;
47743
47679
  if (range == null) return;
47744
47680
  }
47681
+ console.log('isRunExecFunction', isRunExecFunction);
47745
47682
  if (isRunExecFunction) {
47746
47683
  runExecFunction(ctx, range, ctx.currentSheetId, data);
47747
47684
  }
@@ -57389,10 +57326,7 @@ function handleGlobalKeyDown(ctx, cellInput, fxInput, e, cache, handleUndo, hand
57389
57326
  if (ctx.activeImg != null) {
57390
57327
  removeActiveImage(ctx);
57391
57328
  } else {
57392
- if (deleteSelectedCellText(ctx) === "noChange") {
57393
- e.preventDefault();
57394
- return;
57395
- }
57329
+ deleteSelectedCellText(ctx);
57396
57330
  }
57397
57331
  jfrefreshgrid(ctx, null, undefined);
57398
57332
  e.preventDefault();
@@ -60963,4 +60897,4 @@ function handlePasteByClick(ctx, triggerType) {
60963
60897
  } else if (data.indexOf("leankylin-copy-action-image") > -1) ; else ;
60964
60898
  }
60965
60899
 
60966
- export { CFSplitRange, Canvas, FormulaCache, MAX_ZOOM_RATIO, MIN_ZOOM_RATIO, addSheet, index as api, applyLocation, attrToCssName, autoSelectionFormula, calcSelectionInfo, cancelActiveImgItem, cancelFunctionrangeSelected, cancelNormalSelected, cancelPaintModel, cellFocus, cfSplitRange, changeSheet, chatatABC, checkCF, checkCellIsLocked, checkProtectionAllSelected, checkProtectionFormatCells, checkProtectionSelectLockedOrUnLockedCells, checkboxChange, clearFilter, clearMeasureTextCache, colHasMerged, colLocation, colLocationByIndex, colors, columnCharToIndex, commentBoxProps, compute, computeRowlenArr, confirmMessage, convertCssToStyleList, convertSpanToShareString, copy, copy2, createDropCellRange, createFilter, createFilterOptions, createFormulaRangeSelect, createRangeHightlight, dataRangeSelection, datenum_local, defaultContext, defaultFont, defaultSettings, defaultStyle, delFunctionGroup, delFunctionGroups, deleteCellInSave, deleteComment, deleteRowCol, deleteSelectedCellText, deleteSheet, diff, drawArrow, drawLineInfo, dropCellCache, editComment, editSheetName, ensureSheetIndex, error, escapeHTMLTag, escapeRegExpStr, escapeScriptTag, execFunctionGroup, execfunction, expandRowsAndColumns, extractFormulaCellOps, filterPatch, fixColumnStyleOverflowInFreeze, fixPositionOnFrozenCells, fixRowStyleOverflowInFreeze, functionCopy, functionHTMLGenerate, functionStrChange, genarate, generateRandomId, generateRandomSheetName, getAllFunctionGroup, getArrowCanvasSize, getBorderInfoCompute, getBorderInfoComputeRange, getCellHyperlink, getCellRowColumn, getCellTextInfo, getCellTopRightPostion, getCellValue, getClipboardContent, getColMerge, getColorGradation, getCommentBoxByRC, getCommentBoxPosition, getComputeMap, getCurrentRules, getDataArr, getDataBySelectionNoCopy, getDropdownList, getFailureText, getFilterColumnColors, getFilterColumnValues, getFlattenedRange, getFlowdata, getFontSet, getFontStyleByCell, getFrozenHandleLeft, getFrozenHandleTop, getHLColor, getHintText, getHistoryRules, getInlineStringHTML, getInlineStringNoStyle, getMeasureText, getNowDateTime, getNullData, getOptionValue, getOrigincell, getQKBorder, getRange, getRangeArr, getRangeByTxt, getRangetxt, getRealCellValue, getRegExpStr, getRegStr, getRowMerge, getSearchIndexArr, getSelectRange, getSheetByIndex, getSheetIdByName, getSheetIndex, getStyleByCell, getTypeItemHide, getcellFormula, getcellrange, getdatabyselection, getrangeseleciton, goToLink, groupValuesRefresh, handleArrowKey, handleBold, handleBorder, handleCellAreaDoubleClick, handleCellAreaDragOver, handleCellAreaMouseDown, handleCellAreaMouseMove, handleCellDrop, handleClearFormat, handleColFreezeHandleMouseDown, handleColSizeHandleMouseDown, handleColumnHeaderMouseDown, handleContextMenu, handleCopy, handleCurrencyFormat, handleFormatPainter, handleFormulaInput, handleFreeze, handleGlobalEnter, handleGlobalKeyDown, handleGlobalWheel, handleHorizontalAlign, handleItalic, handleKeydownForZoom, handleLink, handleMerge, handleNumberDecrease, handleNumberIncrease, handleOverlayMouseMove, handleOverlayMouseUp, handleOverlayTouchEnd, handleOverlayTouchMove, handleOverlayTouchStart, handlePaste, handlePasteByClick, handlePasteByLeanklin, handlePercentageFormat, handleRowFreezeHandleMouseDown, handleRowHeaderMouseDown, handleRowSizeHandleMouseDown, handleScreenShot, handleSort, handleStrikeThrough, handleSum, handleTextBackground, handleTextColor, handleTextSize, handleUnderline, handleVerticalAlign, handleWithCtrlOrMetaKey, hasChinaword, hasPartMC, hideCRCount, hideDropCellSelection, hideSelected, imageProps, indexToColumnChar, initFreeze, initSheetIndex, inlineStyleAffectAttribute, inlineStyleAffectCssName, insertImage, insertRowCol, insertUpdateFunctionGroup, inverseRowColOptions, isAllSelectedCellsInStatus, isAllowEdit, isInlineStringCT, isInlineStringCell, isLinkValid, isRealNull, isRealNum, isShowHidenCR, isSupportBoundingBox, is_date, iscelldata, isdatatype, isdatatypemulti, isdatetime, israngeseleciton, jfrefreshgrid, labelFilterOptionState, locale, luckysheetUpdateCell, mergeBorder, mergeCells, mergeMoveMain, mousePosition, moveHighlightCell, moveHighlightRange, moveToEnd, newComment, normalizeSelection, normalizedAttr, normalizedCellAttr, onCellsMove, onCellsMoveEnd, onCellsMoveStart, onCommentBoxMove, onCommentBoxMoveEnd, onCommentBoxMoveStart, onCommentBoxResize, onCommentBoxResizeEnd, onCommentBoxResizeStart, onDropCellSelect, onDropCellSelectEnd, onFormulaRangeDragEnd, onImageMove, onImageMoveEnd, onImageMoveStart, onImageResize, onImageResizeEnd, onImageResizeStart, onRangeSelectionModalMove, onRangeSelectionModalMoveEnd, onRangeSelectionModalMoveStart, onSearchDialogMove, onSearchDialogMoveEnd, onSearchDialogMoveStart, opToPatch, orderbydata, orderbydatafiler, overShowComment, pasteHandlerOfPaintModel, patchToOp, rangeDrag, rangeDragColumn, rangeDragRow, rangeHightlightselected, rangeSetValue, rangeValueToHtml, removeActiveImage, removeEditingComment, removeHyperlink, replace, replaceAll, replaceHtml, rgbToHex, rowHasMerged, rowLocation, rowLocationByIndex, saveFilter, saveHyperlink, saveImage, scrollToFrozenRowCol, scrollToHighlightCell, searchAll, searchNext, selectAll, selectIsOverlap, selectTextContent, selectTextContentCross, selectTitlesMap, selectTitlesRange, selectionCache, selectionCopyShow, seletedHighlistByindex, setCaretPosition, setCellValue, setConditionRules, setDropcownValue, setEditingComment, setNextSheet, showComments, showDropCellSelection, showHideAllComments, showHideComment, showImgChooser, showLinkCard, showSelected, sortDataRange, sortSelection, storeSheetParamALL, toolbarItemClickHandler, toolbarItemSelectedFunc, update, updateCell, updateContextWithCanvas, updateContextWithSheetData, updateDropCell, updateFormat, updateFormatCell, updateInlineStringFormat, updateInlineStringFormatOutside, updateItem, updateMoreCell, updateSheet, validateCellData, validateIdCard, valueIsError, valueShowEs };
60900
+ export { CFSplitRange, Canvas, FormulaCache, MAX_ZOOM_RATIO, MIN_ZOOM_RATIO, addSheet, index as api, applyLocation, attrToCssName, autoSelectionFormula, calcSelectionInfo, cancelActiveImgItem, cancelFunctionrangeSelected, cancelNormalSelected, cancelPaintModel, cellFocus, cfSplitRange, changeSheet, chatatABC, checkCF, checkCellIsLocked, checkProtectionAllSelected, checkProtectionFormatCells, checkProtectionSelectLockedOrUnLockedCells, checkboxChange, clearFilter, clearMeasureTextCache, colHasMerged, colLocation, colLocationByIndex, colors, columnCharToIndex, commentBoxProps, compute, computeRowlenArr, confirmMessage, convertCssToStyleList, convertSpanToShareString, copy, copy2, createDropCellRange, createFilter, createFilterOptions, createFormulaRangeSelect, createRangeHightlight, dataRangeSelection, datenum_local, defaultContext, defaultFont, defaultSettings, defaultStyle, delFunctionGroup, deleteCellInSave, deleteComment, deleteRowCol, deleteSelectedCellText, deleteSheet, diff, drawArrow, drawLineInfo, dropCellCache, editComment, editSheetName, ensureSheetIndex, error, escapeHTMLTag, escapeRegExpStr, escapeScriptTag, execFunctionGroup, execfunction, expandRowsAndColumns, extractFormulaCellOps, filterPatch, fixColumnStyleOverflowInFreeze, fixPositionOnFrozenCells, fixRowStyleOverflowInFreeze, functionCopy, functionHTMLGenerate, functionStrChange, genarate, generateRandomId, generateRandomSheetName, getAllFunctionGroup, getArrowCanvasSize, getBorderInfoCompute, getBorderInfoComputeRange, getCellHyperlink, getCellRowColumn, getCellTextInfo, getCellTopRightPostion, getCellValue, getClipboardContent, getColMerge, getColorGradation, getCommentBoxByRC, getCommentBoxPosition, getComputeMap, getCurrentRules, getDataArr, getDataBySelectionNoCopy, getDropdownList, getFailureText, getFilterColumnColors, getFilterColumnValues, getFlattenedRange, getFlowdata, getFontSet, getFontStyleByCell, getFrozenHandleLeft, getFrozenHandleTop, getHLColor, getHintText, getHistoryRules, getInlineStringHTML, getInlineStringNoStyle, getMeasureText, getNowDateTime, getNullData, getOptionValue, getOrigincell, getQKBorder, getRange, getRangeArr, getRangeByTxt, getRangetxt, getRealCellValue, getRegExpStr, getRegStr, getRowMerge, getSearchIndexArr, getSelectRange, getSheetByIndex, getSheetIdByName, getSheetIndex, getStyleByCell, getTypeItemHide, getcellFormula, getcellrange, getdatabyselection, getrangeseleciton, goToLink, groupValuesRefresh, handleArrowKey, handleBold, handleBorder, handleCellAreaDoubleClick, handleCellAreaDragOver, handleCellAreaMouseDown, handleCellAreaMouseMove, handleCellDrop, handleClearFormat, handleColFreezeHandleMouseDown, handleColSizeHandleMouseDown, handleColumnHeaderMouseDown, handleContextMenu, handleCopy, handleCurrencyFormat, handleFormatPainter, handleFormulaInput, handleFreeze, handleGlobalEnter, handleGlobalKeyDown, handleGlobalWheel, handleHorizontalAlign, handleItalic, handleKeydownForZoom, handleLink, handleMerge, handleNumberDecrease, handleNumberIncrease, handleOverlayMouseMove, handleOverlayMouseUp, handleOverlayTouchEnd, handleOverlayTouchMove, handleOverlayTouchStart, handlePaste, handlePasteByClick, handlePasteByLeanklin, handlePercentageFormat, handleRowFreezeHandleMouseDown, handleRowHeaderMouseDown, handleRowSizeHandleMouseDown, handleScreenShot, handleSort, handleStrikeThrough, handleSum, handleTextBackground, handleTextColor, handleTextSize, handleUnderline, handleVerticalAlign, handleWithCtrlOrMetaKey, hasChinaword, hasPartMC, hideCRCount, hideDropCellSelection, hideSelected, imageProps, indexToColumnChar, initFreeze, initSheetIndex, inlineStyleAffectAttribute, inlineStyleAffectCssName, insertImage, insertRowCol, insertUpdateFunctionGroup, inverseRowColOptions, isAllSelectedCellsInStatus, isAllowEdit, isInlineStringCT, isInlineStringCell, isLinkValid, isRealNull, isRealNum, isShowHidenCR, isSupportBoundingBox, is_date, iscelldata, isdatatype, isdatatypemulti, isdatetime, israngeseleciton, jfrefreshgrid, labelFilterOptionState, locale, luckysheetUpdateCell, mergeBorder, mergeCells, mergeMoveMain, mousePosition, moveHighlightCell, moveHighlightRange, moveToEnd, newComment, normalizeSelection, normalizedAttr, normalizedCellAttr, onCellsMove, onCellsMoveEnd, onCellsMoveStart, onCommentBoxMove, onCommentBoxMoveEnd, onCommentBoxMoveStart, onCommentBoxResize, onCommentBoxResizeEnd, onCommentBoxResizeStart, onDropCellSelect, onDropCellSelectEnd, onFormulaRangeDragEnd, onImageMove, onImageMoveEnd, onImageMoveStart, onImageResize, onImageResizeEnd, onImageResizeStart, onRangeSelectionModalMove, onRangeSelectionModalMoveEnd, onRangeSelectionModalMoveStart, onSearchDialogMove, onSearchDialogMoveEnd, onSearchDialogMoveStart, opToPatch, orderbydata, orderbydatafiler, overShowComment, pasteHandlerOfPaintModel, patchToOp, rangeDrag, rangeDragColumn, rangeDragRow, rangeHightlightselected, rangeSetValue, rangeValueToHtml, removeActiveImage, removeEditingComment, removeHyperlink, replace, replaceAll, replaceHtml, rgbToHex, rowHasMerged, rowLocation, rowLocationByIndex, saveFilter, saveHyperlink, saveImage, scrollToFrozenRowCol, scrollToHighlightCell, searchAll, searchNext, selectAll, selectIsOverlap, selectTextContent, selectTextContentCross, selectTitlesMap, selectTitlesRange, selectionCache, selectionCopyShow, seletedHighlistByindex, setCaretPosition, setCellValue, setConditionRules, setDropcownValue, setEditingComment, setNextSheet, showComments, showDropCellSelection, showHideAllComments, showHideComment, showImgChooser, showLinkCard, showSelected, sortDataRange, sortSelection, storeSheetParamALL, toolbarItemClickHandler, toolbarItemSelectedFunc, update, updateCell, updateContextWithCanvas, updateContextWithSheetData, updateDropCell, updateFormat, updateFormatCell, updateInlineStringFormat, updateInlineStringFormatOutside, updateItem, updateMoreCell, updateSheet, validateCellData, validateIdCard, valueIsError, valueShowEs };
package/dist/index.js CHANGED
@@ -36099,91 +36099,35 @@ 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 nextCalcChain = [];
36103
- for (var _i4 = 0; _i4 < calcChain.length; _i4 += 1) {
36104
- var calc = calcChain[_i4];
36102
+ var calcChainClone = ___default['default'].cloneDeep(calcChain);
36103
+ for (var _i4 = 0; _i4 < calcChainClone.length; _i4 += 1) {
36104
+ var calc = calcChainClone[_i4];
36105
36105
  if (calc.r === r && calc.c === c && calc.id === id) {
36106
+ calcChainClone.splice(_i4, 1);
36106
36107
  modified = true;
36107
- continue;
36108
+ break;
36108
36109
  }
36109
- nextCalcChain.push(calc);
36110
36110
  }
36111
36111
  if (modified) {
36112
- file.calcChain = nextCalcChain;
36112
+ file.calcChain = calcChainClone;
36113
36113
  }
36114
36114
  }
36115
36115
  var dynamicArray = file.dynamicArray;
36116
36116
  if (!___default['default'].isNil(dynamicArray)) {
36117
36117
  var _modified = false;
36118
- var nextDynamicArray = [];
36119
- for (var _i5 = 0; _i5 < dynamicArray.length; _i5 += 1) {
36120
- var _calc = dynamicArray[_i5];
36118
+ var dynamicArrayClone = ___default['default'].cloneDeep(dynamicArray);
36119
+ for (var _i5 = 0; _i5 < dynamicArrayClone.length; _i5 += 1) {
36120
+ var _calc = dynamicArrayClone[_i5];
36121
36121
  if (_calc.r === r && _calc.c === c && (___default['default'].isNil(_calc.id) || _calc.id === id)) {
36122
+ dynamicArrayClone.splice(_i5, 1);
36122
36123
  _modified = true;
36123
- continue;
36124
+ break;
36124
36125
  }
36125
- nextDynamicArray.push(_calc);
36126
36126
  }
36127
36127
  if (_modified) {
36128
- file.dynamicArray = nextDynamicArray;
36129
- }
36130
- }
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);
36128
+ file.dynamicArray = dynamicArrayClone;
36146
36129
  }
36147
- keys.add("".concat(cell.r, "_").concat(cell.c));
36148
36130
  }
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
36131
  }
36188
36132
  function checkBracketNum(fp) {
36189
36133
  var bra_l = fp.match(/\(/g);
@@ -36201,16 +36145,16 @@ function checkBracketNum(fp) {
36201
36145
  var bra_tl_len = 0;
36202
36146
  var bra_tr_len = 0;
36203
36147
  if (!___default['default'].isNil(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);
36148
+ for (var _i6 = 0; _i6 < bra_tl_txt.length; _i6 += 1) {
36149
+ var bra_tl = bra_tl_txt[_i6].match(/\(/g);
36206
36150
  if (!___default['default'].isNil(bra_tl)) {
36207
36151
  bra_tl_len += bra_tl.length;
36208
36152
  }
36209
36153
  }
36210
36154
  }
36211
36155
  if (!___default['default'].isNil(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);
36156
+ for (var _i7 = 0; _i7 < bra_tr_txt.length; _i7 += 1) {
36157
+ var bra_tr = bra_tr_txt[_i7].match(/\)/g);
36214
36158
  if (!___default['default'].isNil(bra_tr)) {
36215
36159
  bra_tr_len += bra_tr.length;
36216
36160
  }
@@ -36237,8 +36181,8 @@ function insertUpdateFunctionGroup(ctx, r, c, id) {
36237
36181
  if (___default['default'].isNil(calcChain)) {
36238
36182
  calcChain = [];
36239
36183
  }
36240
- for (var _i11 = 0; _i11 < calcChain.length; _i11 += 1) {
36241
- var calc = calcChain[_i11];
36184
+ for (var _i8 = 0; _i8 < calcChain.length; _i8 += 1) {
36185
+ var calc = calcChain[_i8];
36242
36186
  if (calc.r === r && calc.c === c && calc.id === id) {
36243
36187
  return;
36244
36188
  }
@@ -36309,8 +36253,8 @@ function insertUpdateDynamicArray(ctx, dynamicArrayItem) {
36309
36253
  if (___default['default'].isNil(dynamicArray)) {
36310
36254
  dynamicArray = [];
36311
36255
  }
36312
- for (var _i12 = 0; _i12 < dynamicArray.length; _i12 += 1) {
36313
- var calc = dynamicArray[_i12];
36256
+ for (var _i9 = 0; _i9 < dynamicArray.length; _i9 += 1) {
36257
+ var calc = dynamicArray[_i9];
36314
36258
  if (calc.r === r && calc.c === c && calc.id === id) {
36315
36259
  calc.data = dynamicArrayItem.data;
36316
36260
  calc.f = dynamicArrayItem.f;
@@ -36323,8 +36267,8 @@ function insertUpdateDynamicArray(ctx, dynamicArrayItem) {
36323
36267
  function groupValuesRefresh(ctx) {
36324
36268
  var luckysheetfile = ctx.luckysheetfile;
36325
36269
  if (ctx.groupValuesRefreshData.length > 0) {
36326
- for (var _i13 = 0; _i13 < ctx.groupValuesRefreshData.length; _i13 += 1) {
36327
- var item = ctx.groupValuesRefreshData[_i13];
36270
+ for (var _i10 = 0; _i10 < ctx.groupValuesRefreshData.length; _i10 += 1) {
36271
+ var item = ctx.groupValuesRefreshData[_i10];
36328
36272
  var idx = getSheetIndex(ctx, item.id);
36329
36273
  if (idx == null) continue;
36330
36274
  var file = luckysheetfile[idx];
@@ -36350,6 +36294,7 @@ function groupValuesRefresh(ctx) {
36350
36294
  function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36351
36295
  var isForce = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
36352
36296
  var notInsertFunc = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : true;
36297
+ console.time('execFunctionGroup-before');
36353
36298
  if (___default['default'].isNil(data)) {
36354
36299
  data = getFlowdata(ctx);
36355
36300
  }
@@ -36371,8 +36316,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36371
36316
  var formulaObjects = {};
36372
36317
  var sheets = ctx.luckysheetfile;
36373
36318
  var sheetData = {};
36374
- for (var _i14 = 0; _i14 < sheets.length; _i14 += 1) {
36375
- var sheet = sheets[_i14];
36319
+ for (var _i11 = 0; _i11 < sheets.length; _i11 += 1) {
36320
+ var sheet = sheets[_i11];
36376
36321
  sheetData[sheet.id] = sheet.data;
36377
36322
  }
36378
36323
  var updateValueOjects = {};
@@ -36387,6 +36332,7 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36387
36332
  updateValueOjects[_key] = 1;
36388
36333
  }
36389
36334
  }
36335
+ console.time('arrayMatchCache');
36390
36336
  var arrayMatchCache = {};
36391
36337
  var arrayMatch = function arrayMatch(formulaArray, _formulaObjects, _updateValueOjects, func) {
36392
36338
  for (var a = 0; a < formulaArray.length; a += 1) {
@@ -36419,8 +36365,10 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36419
36365
  }
36420
36366
  }
36421
36367
  };
36368
+ console.timeEnd('arrayMatchCache');
36369
+ console.time('cache1');
36422
36370
  var _loop = function _loop() {
36423
- var formulaCell = calcChains[_i15];
36371
+ var formulaCell = calcChains[_i12];
36424
36372
  var key = "r".concat(formulaCell.r, "c").concat(formulaCell.c, "i").concat(formulaCell.id);
36425
36373
  var calc_funcStr = getcellFormula(ctx, formulaCell.r, formulaCell.c, formulaCell.id);
36426
36374
  if (___default['default'].isNil(calc_funcStr)) {
@@ -36518,9 +36466,11 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36518
36466
  };
36519
36467
  formulaObjects[key] = item;
36520
36468
  };
36521
- for (var _i15 = 0; _i15 < calcChains.length; _i15 += 1) {
36469
+ for (var _i12 = 0; _i12 < calcChains.length; _i12 += 1) {
36522
36470
  if (_loop()) continue;
36523
36471
  }
36472
+ console.timeEnd('cache1');
36473
+ console.time('cache2');
36524
36474
  Object.keys(formulaObjects).forEach(function (key) {
36525
36475
  var formulaObject = formulaObjects[key];
36526
36476
  arrayMatch(formulaObject.formulaArray, formulaObjects, updateValueOjects, function (childKey) {
@@ -36537,6 +36487,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36537
36487
  updateValueArray.push(formulaObject);
36538
36488
  }
36539
36489
  });
36490
+ console.timeEnd('cache2');
36491
+ console.time('dev');
36540
36492
  var visited = {};
36541
36493
  var inStack = {};
36542
36494
  var circularNodes = {};
@@ -36546,8 +36498,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36546
36498
  var node = formulaObjects[nodeKey];
36547
36499
  if (!node) return false;
36548
36500
  var children = Object.keys(node.chidren);
36549
- for (var _i16 = 0; _i16 < children.length; _i16 += 1) {
36550
- var childKey = children[_i16];
36501
+ for (var _i13 = 0; _i13 < children.length; _i13 += 1) {
36502
+ var childKey = children[_i13];
36551
36503
  if (inStack[childKey]) {
36552
36504
  Object.keys(inStack).forEach(function (key) {
36553
36505
  if (inStack[key]) {
@@ -36599,6 +36551,7 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36599
36551
  }
36600
36552
  });
36601
36553
  }
36554
+ console.timeEnd('dev');
36602
36555
  var formulaRunList = [];
36603
36556
  var stack = updateValueArray;
36604
36557
  var existsFormulaRunList = {};
@@ -36634,8 +36587,11 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36634
36587
  if (_ret === 0) continue;
36635
36588
  }
36636
36589
  formulaRunList.reverse();
36637
- for (var _i17 = 0; _i17 < formulaRunList.length; _i17 += 1) {
36638
- var formulaCell = formulaRunList[_i17];
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];
36639
36595
  if (formulaCell.level === Math.max) {
36640
36596
  continue;
36641
36597
  }
@@ -36654,6 +36610,7 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
36654
36610
  f: v[2]
36655
36611
  };
36656
36612
  }
36613
+ console.timeEnd('formulaRunList');
36657
36614
  ctx.formulaCache.execFunctionExist = undefined;
36658
36615
  }
36659
36616
  function findrangeindex(ctx, v, vp) {
@@ -36667,26 +36624,26 @@ function findrangeindex(ctx, v, vp) {
36667
36624
  var vplen = vp_a.length;
36668
36625
  var vlen = v_a.length;
36669
36626
  if (vplen === vlen) {
36670
- var _i18 = pfri[0];
36671
- var p = vp_a[_i18];
36672
- var n = v_a[_i18];
36627
+ var _i15 = pfri[0];
36628
+ var p = vp_a[_i15];
36629
+ var n = v_a[_i15];
36673
36630
  if (___default['default'].isNil(p)) {
36674
- if (vp_a.length <= _i18) {
36631
+ if (vp_a.length <= _i15) {
36675
36632
  pfri = [vp_a.length - 1, vp_a.length - 1];
36676
- } else if (v_a.length <= _i18) {
36633
+ } else if (v_a.length <= _i15) {
36677
36634
  pfri = [v_a.length - 1, v_a.length - 1];
36678
36635
  }
36679
36636
  return pfri;
36680
36637
  }
36681
36638
  if (p.length === n.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) {
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) {
36683
36640
  pfri[0] += 1;
36684
36641
  pfri[1] = 1;
36685
36642
  }
36686
36643
  return pfri;
36687
36644
  }
36688
36645
  if (p.length > n.length) {
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)) {
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)) {
36690
36647
  pfri[0] += 1;
36691
36648
  pfri[1] = 1;
36692
36649
  }
@@ -36699,34 +36656,34 @@ function findrangeindex(ctx, v, vp) {
36699
36656
  return pfri;
36700
36657
  }
36701
36658
  } else if (vplen > vlen) {
36702
- var _i19 = pfri[0];
36703
- var _p = vp_a[_i19];
36704
- var _n = v_a[_i19];
36659
+ var _i16 = pfri[0];
36660
+ var _p = vp_a[_i16];
36661
+ var _n = v_a[_i16];
36705
36662
  if (___default['default'].isNil(_n)) {
36706
- if (v_a[_i19 - 1].indexOf("{") > -1) {
36663
+ if (v_a[_i16 - 1].indexOf("{") > -1) {
36707
36664
  pfri[0] -= 1;
36708
- var start = v_a[_i19 - 1].search("{");
36665
+ var start = v_a[_i16 - 1].search("{");
36709
36666
  pfri[1] += start;
36710
36667
  } else {
36711
36668
  pfri[0] = 0;
36712
36669
  pfri[1] = 0;
36713
36670
  }
36714
36671
  } else if (_p.length === _n.length) {
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) === "}")) {
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) === "}")) {
36716
36673
  pfri[0] += 1;
36717
36674
  pfri[1] = 1;
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] === '")') {
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] === '")') {
36719
36676
  pfri[1] = 1;
36720
- } else if (!___default['default'].isNil(v_a[_i19]) && v_a[_i19] === '"}') {
36677
+ } else if (!___default['default'].isNil(v_a[_i16]) && v_a[_i16] === '"}') {
36721
36678
  pfri[1] = 1;
36722
- } else if (!___default['default'].isNil(v_a[_i19]) && v_a[_i19] === "{)") {
36679
+ } else if (!___default['default'].isNil(v_a[_i16]) && v_a[_i16] === "{)") {
36723
36680
  pfri[1] = 1;
36724
36681
  } else {
36725
36682
  pfri[1] = _n.length;
36726
36683
  }
36727
36684
  return pfri;
36728
36685
  } else if (_p.length > _n.length) {
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) === "}")) {
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) === "}")) {
36730
36687
  pfri[0] += 1;
36731
36688
  pfri[1] = 1;
36732
36689
  }
@@ -36736,9 +36693,9 @@ function findrangeindex(ctx, v, vp) {
36736
36693
  }
36737
36694
  return pfri;
36738
36695
  } else if (vplen < vlen) {
36739
- var _i20 = pfri[0];
36740
- var _p2 = vp_a[_i20];
36741
- var _n2 = v_a[_i20];
36696
+ var _i17 = pfri[0];
36697
+ var _p2 = vp_a[_i17];
36698
+ var _n2 = v_a[_i17];
36742
36699
  if (___default['default'].isNil(_p2)) {
36743
36700
  pfri[0] = v_a.length - 1;
36744
36701
  if (!___default['default'].isNil(_n2)) {
@@ -36747,9 +36704,9 @@ function findrangeindex(ctx, v, vp) {
36747
36704
  pfri[1] = 1;
36748
36705
  }
36749
36706
  } else if (_p2.length === _n2.length) {
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) === "}")) {
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) === "}")) {
36751
36708
  pfri[1] = _n2.length;
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) === "}")) {
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) === "}")) {
36753
36710
  pfri[0] += 1;
36754
36711
  pfri[1] = 1;
36755
36712
  } 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) === ")") {
@@ -36759,7 +36716,7 @@ function findrangeindex(ctx, v, vp) {
36759
36716
  } else {
36760
36717
  pfri[0] = pfri[0] + vlen - vplen;
36761
36718
  if (v_a.length > vp_a.length) {
36762
- pfri[1] = v_a[_i20 + 1].length;
36719
+ pfri[1] = v_a[_i17 + 1].length;
36763
36720
  } else {
36764
36721
  pfri[1] = 1;
36765
36722
  }
@@ -36768,17 +36725,17 @@ function findrangeindex(ctx, v, vp) {
36768
36725
  } else if (_p2.length > _n2.length) {
36769
36726
  if (!___default['default'].isNil(_p2) && _p2.substring(0, 1) === '"') {
36770
36727
  pfri[1] = _n2.length;
36771
- } else if (___default['default'].isNil(v_a[_i20 + 1]) && /{.*?}/.test(v_a[_i20 + 1])) {
36728
+ } else if (___default['default'].isNil(v_a[_i17 + 1]) && /{.*?}/.test(v_a[_i17 + 1])) {
36772
36729
  pfri[0] += 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)) {
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)) {
36775
36732
  pfri[0] += 1;
36776
36733
  pfri[1] = 1;
36777
36734
  } 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, "=")) {
36778
36735
  return [vlen - 1, v_a[vlen - 1].length];
36779
36736
  } else {
36780
36737
  pfri[0] = pfri[0] + vlen - vplen - 1;
36781
- pfri[1] = v_a[(_i20 || 1) - 1].length;
36738
+ pfri[1] = v_a[(_i17 || 1) - 1].length;
36782
36739
  }
36783
36740
  return pfri;
36784
36741
  } else if (_p2.length < _n2.length) {
@@ -36852,8 +36809,8 @@ function searchFunction(ctx, searchtxt) {
36852
36809
  var f = [];
36853
36810
  var s = [];
36854
36811
  var t = [];
36855
- for (var _i21 = 0; _i21 < functionlist.length; _i21 += 1) {
36856
- var item = functionlist[_i21];
36812
+ for (var _i18 = 0; _i18 < functionlist.length; _i18 += 1) {
36813
+ var item = functionlist[_i18];
36857
36814
  var n = item.n;
36858
36815
  if (n === searchtxt) {
36859
36816
  f.unshift(item);
@@ -36909,8 +36866,8 @@ function helpFunctionExe($editer, currSelection, ctx) {
36909
36866
  var _locale2 = locale(ctx),
36910
36867
  functionlist = _locale2.functionlist;
36911
36868
  if (___default['default'].isEmpty(ctx.formulaCache.functionlistMap)) {
36912
- for (var _i22 = 0; _i22 < functionlist.length; _i22 += 1) {
36913
- ctx.formulaCache.functionlistMap[functionlist[_i22].n] = functionlist[_i22];
36869
+ for (var _i19 = 0; _i19 < functionlist.length; _i19 += 1) {
36870
+ ctx.formulaCache.functionlistMap[functionlist[_i19].n] = functionlist[_i19];
36914
36871
  }
36915
36872
  }
36916
36873
  if (!currSelection) {
@@ -42724,7 +42681,6 @@ function deepClear(ctx) {
42724
42681
  if (selection && !___default['default'].isEmpty(selection)) {
42725
42682
  var d = getFlowdata(ctx);
42726
42683
  var hyperlinkMap = ctx.luckysheetfile[getSheetIndex(ctx, ctx.currentSheetId)].hyperlink;
42727
- var deletedFormulas = [];
42728
42684
  for (var s = 0; s < selection.length; s += 1) {
42729
42685
  var r1 = selection[s].row[0];
42730
42686
  var r2 = selection[s].row[1];
@@ -42735,22 +42691,15 @@ function deepClear(ctx) {
42735
42691
  var _d$r2;
42736
42692
  var cell = d === null || d === void 0 ? void 0 : (_d$r2 = d[r]) === null || _d$r2 === void 0 ? void 0 : _d$r2[c];
42737
42693
  d[r][c] = null;
42738
- if ((cell === null || cell === void 0 ? void 0 : cell.f) != null) {
42739
- deletedFormulas.push({
42740
- r: r,
42741
- c: c
42742
- });
42743
- }
42694
+ if ((cell === null || cell === void 0 ? void 0 : cell.f) != null) ;
42744
42695
  if (hyperlinkMap && hyperlinkMap["".concat(r, "_").concat(c)]) {
42745
42696
  delete hyperlinkMap["".concat(r, "_").concat(c)];
42746
42697
  }
42747
42698
  }
42748
42699
  }
42749
42700
  }
42750
- if (deletedFormulas.length > 0) {
42751
- delFunctionGroups(ctx, deletedFormulas, ctx.currentSheetId);
42752
- }
42753
42701
  }
42702
+ updateFunctionGroup(ctx);
42754
42703
  return "success";
42755
42704
  }
42756
42705
  function deleteSelectedCellText(ctx, deep) {
@@ -42780,8 +42729,6 @@ function deleteSelectedCellText(ctx, deep) {
42780
42729
  return "partMC";
42781
42730
  }
42782
42731
  var hyperlinkMap = ctx.luckysheetfile[getSheetIndex(ctx, ctx.currentSheetId)].hyperlink;
42783
- var hasChanged = false;
42784
- var deletedFormulas = [];
42785
42732
  for (var _s = 0; _s < selection.length; _s += 1) {
42786
42733
  var _r3 = selection[_s].row[0];
42787
42734
  var _r4 = selection[_s].row[1];
@@ -42791,39 +42738,27 @@ function deleteSelectedCellText(ctx, deep) {
42791
42738
  for (var c = _c3; c <= _c4; c += 1) {
42792
42739
  if (___default['default'].isPlainObject(d[r][c])) {
42793
42740
  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
- }
42797
42741
  delete cell.m;
42798
42742
  delete cell.v;
42799
42743
  if (cell.f != null) {
42800
- deletedFormulas.push({
42801
- r: r,
42802
- c: c
42803
- });
42804
42744
  delete cell.f;
42805
42745
  delete cell.spl;
42806
42746
  }
42807
42747
  if (cell.ct != null && cell.ct.t === "inlineStr") {
42808
42748
  delete cell.ct;
42809
42749
  }
42810
- } else if (d[r][c] != null) {
42750
+ } else {
42811
42751
  d[r][c] = null;
42812
- hasChanged = true;
42813
42752
  }
42814
42753
  if (hyperlinkMap && hyperlinkMap["".concat(r, "_").concat(c)]) {
42815
42754
  delete hyperlinkMap["".concat(r, "_").concat(c)];
42816
- hasChanged = true;
42817
42755
  }
42818
42756
  }
42819
42757
  }
42820
42758
  }
42821
- if (deletedFormulas.length > 0) {
42822
- delFunctionGroups(ctx, deletedFormulas, ctx.currentSheetId);
42823
- }
42824
- if (!hasChanged) {
42825
- return "noChange";
42826
- }
42759
+ console.time('deleteSelectedCellText');
42760
+ updateFunctionGroup(ctx);
42761
+ console.timeEnd('deleteSelectedCellText');
42827
42762
  }
42828
42763
  return "success";
42829
42764
  }
@@ -47738,8 +47673,9 @@ function runExecFunction(ctx, range, index, data) {
47738
47673
  }
47739
47674
  }
47740
47675
  ctx.formulaCache.execFunctionExist.reverse();
47676
+ console.time('execFunctionGroup');
47741
47677
  execFunctionGroup(ctx, null, null, null, null, data);
47742
- groupValuesRefresh(ctx);
47678
+ console.timeEnd('execFunctionGroup');
47743
47679
  ctx.formulaCache.execFunctionGlobalData = null;
47744
47680
  updateFunctionGroup(ctx);
47745
47681
  }
@@ -47752,6 +47688,7 @@ function jfrefreshgrid(ctx, data, range) {
47752
47688
  range = ctx.luckysheet_select_save;
47753
47689
  if (range == null) return;
47754
47690
  }
47691
+ console.log('isRunExecFunction', isRunExecFunction);
47755
47692
  if (isRunExecFunction) {
47756
47693
  runExecFunction(ctx, range, ctx.currentSheetId, data);
47757
47694
  }
@@ -57399,10 +57336,7 @@ function handleGlobalKeyDown(ctx, cellInput, fxInput, e, cache, handleUndo, hand
57399
57336
  if (ctx.activeImg != null) {
57400
57337
  removeActiveImage(ctx);
57401
57338
  } else {
57402
- if (deleteSelectedCellText(ctx) === "noChange") {
57403
- e.preventDefault();
57404
- return;
57405
- }
57339
+ deleteSelectedCellText(ctx);
57406
57340
  }
57407
57341
  jfrefreshgrid(ctx, null, undefined);
57408
57342
  e.preventDefault();
@@ -61025,7 +60959,6 @@ exports.defaultFont = defaultFont;
61025
60959
  exports.defaultSettings = defaultSettings;
61026
60960
  exports.defaultStyle = defaultStyle;
61027
60961
  exports.delFunctionGroup = delFunctionGroup;
61028
- exports.delFunctionGroups = delFunctionGroups;
61029
60962
  exports.deleteCellInSave = deleteCellInSave;
61030
60963
  exports.deleteComment = deleteComment;
61031
60964
  exports.deleteRowCol = deleteRowCol;
@@ -31,11 +31,6 @@ export declare function iscelldata(txt: string): boolean;
31
31
  export declare function getcellrange(ctx: Context, txt: string, formulaId?: string): any;
32
32
  export declare function getAllFunctionGroup(ctx: Context): any[];
33
33
  export declare function delFunctionGroup(ctx: Context, r: number, c: number, id?: string): void;
34
- export declare function delFunctionGroups(ctx: Context, cells: {
35
- r: number;
36
- c: number;
37
- id?: string;
38
- }[], id?: string): void;
39
34
  export declare function insertUpdateFunctionGroup(ctx: Context, r: number, c: number, id?: string): void;
40
35
  export declare function execfunction(ctx: Context, txt: string, r: number, c: number, id?: string, isrefresh?: boolean, notInsertFunc?: boolean): any[];
41
36
  export declare function groupValuesRefresh(ctx: Context): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leankylin-sheet/core",
3
- "version": "5.2.44",
3
+ "version": "5.2.45",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.esm.js",
6
6
  "typings": "dist/index.d.ts",
@@ -13,7 +13,7 @@
13
13
  "build": "father-build"
14
14
  },
15
15
  "dependencies": {
16
- "@leankylin-sheet/formula-parser": "5.2.44",
16
+ "@leankylin-sheet/formula-parser": "5.2.45",
17
17
  "dayjs": "^1.11.0",
18
18
  "immer": "^9.0.12",
19
19
  "lodash": "^4.17.21",