@fileverse-dev/fortune-core 1.0.2-mod-12 → 1.0.2-mod-10-test-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import _ from 'lodash';
1
+ import _, { isPlainObject } from 'lodash';
2
2
  import { FUNCTION_LOCALE } from '@fileverse-dev/formulajs/crypto-constants';
3
3
  import numeral from 'numeral';
4
4
  import dayjs from 'dayjs';
@@ -8995,7 +8995,6 @@ var en = {
8995
8995
  moreFormats: "More formats",
8996
8996
  "border-all": "Border All",
8997
8997
  "merge-all": "Merge All Cell",
8998
- format: "Format",
8999
8998
  font: "Font",
9000
8999
  "font-size": "Font size",
9001
9000
  bold: "Bold (Ctrl+B)",
@@ -9125,30 +9124,7 @@ var en = {
9125
9124
  tipInputNumberLimit: "The increase range is limited to 1-100",
9126
9125
  tipRowHeightLimit: "Row height must be between 0 ~ 545",
9127
9126
  tipColumnWidthLimit: "The column width must be between 0 ~ 2038",
9128
- pageInfoFull: "Total ${total},${totalPage} page,All data displayed",
9129
- sheetIsFocused: "Sheet focus lock enabled.",
9130
- sheetNotFocused: "Sheet focus lock disabled.",
9131
- sheetSrIntro: "To toggle sheet focus to assist with toolbar and other non-sheet navigation, use Shift, Control, F.",
9132
- currentCellInput: "Current cell input",
9133
- newSheet: "New sheet",
9134
- sheetOptions: "Sheet options",
9135
- Dropdown: "Dropdown",
9136
- zoomIn: "Zoom in",
9137
- zoomOut: "Zoom out",
9138
- toggleSheetFocusShortcut: "Toggle sheet focus lock: Shift, Control, F.",
9139
- selectRangeShortcut: "Select range: Shift, arrow keys.",
9140
- autoFillDownShortcut: "Auto-fill selection down from first cell: Control or Meta key, D.",
9141
- autoFillRightShortcut: "Auto-fill selection right from first cell: Control or Meta key, R.",
9142
- boldTextShortcut: "Bold text: Control or Meta key, B.",
9143
- copyShortcut: "Copy: Control or Meta key, C.",
9144
- pasteShortcut: "Paste: Control or Meta key, V.",
9145
- undoShortcut: "Undo: Control or Meta key, Z.",
9146
- redoShortcut: "Redo: Control or Meta key, Shift, Z.",
9147
- deleteCellContentShortcut: "Delete cell content: Delete or Backspace.",
9148
- confirmCellEditShortcut: "Confirm cell edit and move down: Enter.",
9149
- moveRightShortcut: "Move right: Tab.",
9150
- moveLeftShortcut: "Move left: Shift, Tab.",
9151
- shortcuts: "Keyboard Shortcuts"
9127
+ pageInfoFull: "Total ${total},${totalPage} page,All data displayed"
9152
9128
  },
9153
9129
  currencyDetail: [{
9154
9130
  name: "RMB",
@@ -9745,7 +9721,7 @@ var en = {
9745
9721
  }, {
9746
9722
  name: "Indian Rupee",
9747
9723
  pos: "before",
9748
- value: ""
9724
+ value: "?"
9749
9725
  }, {
9750
9726
  name: "Indonesian Rupiah",
9751
9727
  pos: "before",
@@ -9775,19 +9751,6 @@ var en = {
9775
9751
  pos: "before",
9776
9752
  value: "FCFA"
9777
9753
  }],
9778
- numberFmtList: [{
9779
- name: "Volts",
9780
- pos: "after",
9781
- value: "V"
9782
- }, {
9783
- name: "Ampere",
9784
- pos: "after",
9785
- value: "A"
9786
- }, {
9787
- name: "Ohms",
9788
- pos: "after",
9789
- value: "Ω"
9790
- }],
9791
9754
  defaultFmt: function defaultFmt(currency) {
9792
9755
  return [{
9793
9756
  text: "Auto",
@@ -19568,7 +19531,6 @@ var zh = {
19568
19531
  moreFormats: "更多格式",
19569
19532
  "border-all": "所有边框",
19570
19533
  "merge-all": "全部合并单元格",
19571
- format: "格式",
19572
19534
  font: "字体",
19573
19535
  "font-size": "字号",
19574
19536
  bold: "粗体 (Ctrl+B)",
@@ -19698,30 +19660,7 @@ var zh = {
19698
19660
  tipInputNumberLimit: "增加范围限制在1-100",
19699
19661
  tipRowHeightLimit: "行高必须在0 ~ 545之间",
19700
19662
  tipColumnWidthLimit: "列宽必须在0 ~ 2038之间",
19701
- pageInfoFull: "共${total}条,${totalPage}页,已显示全部数据",
19702
- sheetIsFocused: "已启用工作表焦点锁定。",
19703
- sheetNotFocused: "工作表焦点锁定已禁用。",
19704
- sheetSrIntro: "要切换工作表焦点以辅助工具栏和其他非工作表导航,请使用 Shift、Control、F。",
19705
- currentCellInput: "当前单元格输入",
19706
- newSheet: "新表",
19707
- sheetOptions: "图纸选项",
19708
- Dropdown: "下拉菜单",
19709
- zoomIn: "放大",
19710
- zoomOut: "缩小",
19711
- toggleSheetFocusShortcut: "切换表格焦点锁定: Shift, Control, F。",
19712
- selectRangeShortcut: "选择范围: Shift, 方向键。",
19713
- autoFillDownShortcut: "从首个单元格向下自动填充: Control 或 Meta 键, D。",
19714
- autoFillRightShortcut: "从首个单元格向右自动填充: Control 或 Meta 键, R。",
19715
- boldTextShortcut: "加粗文本: Control 或 Meta 键, B。",
19716
- copyShortcut: "复制: Control 或 Meta 键, C。",
19717
- pasteShortcut: "粘贴: Control 或 Meta 键, V。",
19718
- undoShortcut: "撤销: Control 或 Meta 键, Z。",
19719
- redoShortcut: "重做: Control 或 Meta 键, Shift, Z。",
19720
- deleteCellContentShortcut: "删除单元格内容: Delete 或 Backspace。",
19721
- confirmCellEditShortcut: "确认编辑并向下移动: Enter。",
19722
- moveRightShortcut: "向右移动: Tab。",
19723
- moveLeftShortcut: "向左移动: Shift, Tab。",
19724
- shortcuts: "键盘快捷键"
19663
+ pageInfoFull: "共${total}条,${totalPage}页,已显示全部数据"
19725
19664
  },
19726
19665
  currencyDetail: [{
19727
19666
  name: "人民币",
@@ -20348,19 +20287,6 @@ var zh = {
20348
20287
  pos: "before",
20349
20288
  value: "FCFA"
20350
20289
  }],
20351
- numberFmtList: [{
20352
- name: "Volts",
20353
- pos: "after",
20354
- value: "V"
20355
- }, {
20356
- name: "Ampere",
20357
- pos: "after",
20358
- value: "A"
20359
- }, {
20360
- name: "Ohms",
20361
- pos: "after",
20362
- value: "Ω"
20363
- }],
20364
20290
  defaultFmt: function defaultFmt(currency) {
20365
20291
  return [{
20366
20292
  text: "自动",
@@ -30169,7 +30095,6 @@ var es = {
30169
30095
  numberDecrease: "Menos decimales",
30170
30096
  numberIncrease: "Más decimales",
30171
30097
  moreFormats: "Más formatos",
30172
- format: "Formato",
30173
30098
  font: "Fuente",
30174
30099
  "font-size": "Tamaño Fuente",
30175
30100
  bold: "Negrita (Ctrl+B)",
@@ -30287,30 +30212,7 @@ var es = {
30287
30212
  tipInputNumberLimit: "El rango de aumento está limitado a 1-100",
30288
30213
  tipRowHeightLimit: "La altura de la fila debe estar entre 0 ~ 545",
30289
30214
  tipColumnWidthLimit: "El ancho de la columna debe estar entre 0 ~ 2038",
30290
- pageInfoFull: "Total ${total},página ${totalPage},Se muestran todos los datos",
30291
- sheetIsFocused: "Bloqueo de enfoque de hoja habilitado.",
30292
- sheetNotFocused: "Bloqueo de enfoque de hoja desactivado.",
30293
- sheetSrIntro: "Para alternar el foco de la hoja para ayudar con la barra de herramientas y otra navegación que no sea de hoja, use Mayús, Control, F.",
30294
- currentCellInput: "Entrada de celda actual",
30295
- newSheet: "Nueva hoja",
30296
- sheetOptions: "Opciones de hoja",
30297
- Dropdown: "Menú desplegable",
30298
- zoomIn: "Dar un golpe de zoom",
30299
- zoomOut: "alejar",
30300
- toggleSheetFocusShortcut: "Alternar bloqueo de enfoque de hoja: Shift, Control, F.",
30301
- selectRangeShortcut: "Seleccionar rango: Shift, teclas de flecha.",
30302
- autoFillDownShortcut: "Autocompletar selección hacia abajo desde la primera celda: Control o Meta, D.",
30303
- autoFillRightShortcut: "Autocompletar selección hacia la derecha desde la primera celda: Control o Meta, R.",
30304
- boldTextShortcut: "Texto en negrita: Control o Meta, B.",
30305
- copyShortcut: "Copiar: Control o Meta, C.",
30306
- pasteShortcut: "Pegar: Control o Meta, V.",
30307
- undoShortcut: "Deshacer: Control o Meta, Z.",
30308
- redoShortcut: "Rehacer: Control o Meta, Shift, Z.",
30309
- deleteCellContentShortcut: "Eliminar contenido de celda: Delete o Backspace.",
30310
- confirmCellEditShortcut: "Confirmar edición de celda y mover hacia abajo: Enter.",
30311
- moveRightShortcut: "Mover a la derecha: Tab.",
30312
- moveLeftShortcut: "Mover a la izquierda: Shift, Tab.",
30313
- shortcuts: "Atajos de teclado"
30215
+ pageInfoFull: "Total ${total},página ${totalPage},Se muestran todos los datos"
30314
30216
  },
30315
30217
  currencyDetail: {
30316
30218
  RMB: "RMB",
@@ -30471,19 +30373,6 @@ var es = {
30471
30373
  ChileanPeso: "Chilean Peso",
30472
30374
  CFAFrancBEAC: "CFA Franc BEAC"
30473
30375
  },
30474
- numberFmtList: [{
30475
- name: "Volts",
30476
- pos: "after",
30477
- value: "V"
30478
- }, {
30479
- name: "Ampere",
30480
- pos: "after",
30481
- value: "A"
30482
- }, {
30483
- name: "Ohms",
30484
- pos: "after",
30485
- value: "Ω"
30486
- }],
30487
30376
  defaultFmt: function defaultFmt(currency) {
30488
30377
  return [{
30489
30378
  text: "Automático",
@@ -40232,7 +40121,6 @@ var hi = {
40232
40121
  "number-decrease": "दशमलव स्थान घटाएँ",
40233
40122
  "number-increase": "दशमलव स्थान बढ़ाएँ",
40234
40123
  moreFormats: "अधिक फॉर्मेट",
40235
- format: "प्रारूप",
40236
40124
  "border-all": "सभी सीमाएँ",
40237
40125
  "merge-all": "सभी सेल मिलाएँ",
40238
40126
  font: "फ़ॉन्ट",
@@ -40364,30 +40252,7 @@ var hi = {
40364
40252
  tipInputNumberLimit: "वृद्धि सीमा 1-100 तक सीमित है",
40365
40253
  tipRowHeightLimit: "पंक्ति की ऊँचाई 0 ~ 545 के बीच होनी चाहिए",
40366
40254
  tipColumnWidthLimit: "कॉलम की चौड़ाई 0 ~ 2038 के बीच होनी चाहिए",
40367
- pageInfoFull: "कुल ${total},${totalPage} पृष्ठ,सभी डेटा प्रदर्शित",
40368
- sheetIsFocused: "शीट फोकस लॉक सक्षम।",
40369
- sheetNotFocused: "शीट फ़ोकस लॉक अक्षम किया गया.",
40370
- sheetSrIntro: "टूलबार और अन्य गैर-शीट नेविगेशन में सहायता के लिए शीट फ़ोकस को टॉगल करने के लिए, Shift, Control, F का उपयोग करें।",
40371
- currentCellInput: "वर्तमान सेल इनपुट",
40372
- newSheet: "नई शीट",
40373
- sheetOptions: "शीट विकल्प",
40374
- Dropdown: "ड्रॉप डाउन",
40375
- zoomIn: "ज़ूम इन",
40376
- zoomOut: "ज़ूम आउट",
40377
- toggleSheetFocusShortcut: "Alternar bloqueo de enfoque de hoja: Shift, Control, F.",
40378
- selectRangeShortcut: "Seleccionar rango: Shift, teclas de flecha.",
40379
- autoFillDownShortcut: "Autocompletar selección hacia abajo desde la primera celda: Control o Meta, D.",
40380
- autoFillRightShortcut: "Autocompletar selección hacia la derecha desde la primera celda: Control o Meta, R.",
40381
- boldTextShortcut: "Texto en negrita: Control o Meta, B.",
40382
- copyShortcut: "Copiar: Control o Meta, C.",
40383
- pasteShortcut: "Pegar: Control o Meta, V.",
40384
- undoShortcut: "Deshacer: Control o Meta, Z.",
40385
- redoShortcut: "Rehacer: Control o Meta, Shift, Z.",
40386
- deleteCellContentShortcut: "Eliminar contenido de celda: Delete o Backspace.",
40387
- confirmCellEditShortcut: "Confirmar edición de celda y mover hacia abajo: Enter.",
40388
- moveRightShortcut: "Mover a la derecha: Tab.",
40389
- moveLeftShortcut: "Mover a la izquierda: Shift, Tab.",
40390
- shortcuts: "कुंजीपटल अल्प मार्ग"
40255
+ pageInfoFull: "कुल ${total},${totalPage} पृष्ठ,सभी डेटा प्रदर्शित"
40391
40256
  },
40392
40257
  currencyDetail: [{
40393
40258
  name: "चीनी युआन",
@@ -41014,19 +40879,6 @@ var hi = {
41014
40879
  pos: "before",
41015
40880
  value: "FCFA"
41016
40881
  }],
41017
- numberFmtList: [{
41018
- name: "Volts",
41019
- pos: "after",
41020
- value: "V"
41021
- }, {
41022
- name: "Ampere",
41023
- pos: "after",
41024
- value: "A"
41025
- }, {
41026
- name: "Ohms",
41027
- pos: "after",
41028
- value: "Ω"
41029
- }],
41030
40882
  defaultFmt: function defaultFmt(currency) {
41031
40883
  return [{
41032
40884
  text: "स्वचालित",
@@ -50803,7 +50655,6 @@ var zh_tw = {
50803
50655
  numberDecrease: "减少小數位數",
50804
50656
  numberIncrease: "新增小數位數",
50805
50657
  moreFormats: "更多格式",
50806
- format: "格式",
50807
50658
  font: "字體",
50808
50659
  "font-size": "字型大小",
50809
50660
  bold: "粗體(Ctrl+B)",
@@ -50922,30 +50773,7 @@ var zh_tw = {
50922
50773
  tipInputNumberLimit: "新增範圍限制在1-100",
50923
50774
  tipRowHeightLimit: "行高必須在0 ~ 545之間",
50924
50775
  tipColumnWidthLimit: "列寬必須在0 ~ 2038之間",
50925
- pageInfoFull: "共${total}條,${totalPage}頁,已顯示全部數據",
50926
- sheetIsFocused: "已啟用工作表焦點鎖定。",
50927
- sheetNotFocused: "工作表焦點鎖定已停用。",
50928
- sheetSrIntro: "若要切換工作表焦點以輔助工具列和其他非工作表導航,請使用 Shift、Control、F。",
50929
- currentCellInput: "目前儲存格輸入",
50930
- newSheet: "新表",
50931
- sheetOptions: "圖紙選項",
50932
- Dropdown: "下拉式選單",
50933
- zoomIn: "放大",
50934
- zoomOut: "縮小",
50935
- toggleSheetFocusShortcut: "切換工作表焦點鎖定: Shift, Control, F。",
50936
- selectRangeShortcut: "選擇範圍: Shift, 方向鍵。",
50937
- autoFillDownShortcut: "從第一個儲存格向下自動填充: Control 或 Meta 鍵, D。",
50938
- autoFillRightShortcut: "從第一個儲存格向右自動填充: Control 或 Meta 鍵, R。",
50939
- boldTextShortcut: "加粗文字: Control 或 Meta 鍵, B。",
50940
- copyShortcut: "複製: Control 或 Meta 鍵, C。",
50941
- pasteShortcut: "貼上: Control 或 Meta 鍵, V。",
50942
- undoShortcut: "復原: Control 或 Meta 鍵, Z。",
50943
- redoShortcut: "重做: Control 或 Meta 鍵, Shift, Z。",
50944
- deleteCellContentShortcut: "刪除儲存格內容: Delete 或 Backspace。",
50945
- confirmCellEditShortcut: "確認編輯並向下移動: Enter。",
50946
- moveRightShortcut: "向右移動: Tab。",
50947
- moveLeftShortcut: "向左移動: Shift, Tab。",
50948
- shortcuts: "鍵盤快速鍵"
50776
+ pageInfoFull: "共${total}條,${totalPage}頁,已顯示全部數據"
50949
50777
  },
50950
50778
  currencyDetail: {
50951
50779
  RMB: "人民幣",
@@ -51106,19 +50934,6 @@ var zh_tw = {
51106
50934
  ChileanPeso: "智利比索",
51107
50935
  CFAFrancBEAC: "中非金融合作法郎"
51108
50936
  },
51109
- numberFmtList: [{
51110
- name: "Volts",
51111
- pos: "after",
51112
- value: "V"
51113
- }, {
51114
- name: "Ampere",
51115
- pos: "after",
51116
- value: "A"
51117
- }, {
51118
- name: "Ohms",
51119
- pos: "after",
51120
- value: "Ω"
51121
- }],
51122
50937
  defaultFmt: function defaultFmt(currency) {
51123
50938
  return [{
51124
50939
  text: "自動",
@@ -53320,7 +53135,6 @@ function getCellTextInfo(cell, renderCtx, sheetCtx, option, ctx) {
53320
53135
  }
53321
53136
  } else {
53322
53137
  value = value.toString();
53323
- var parsedTextHeight = 0;
53324
53138
  while (_i5 <= value.length) {
53325
53139
  var str = value.substring(anchor, _i5);
53326
53140
  var _measureText3 = getMeasureText(str, renderCtx, sheetCtx);
@@ -53416,8 +53230,6 @@ function getCellTextInfo(cell, renderCtx, sheetCtx, option, ctx) {
53416
53230
  });
53417
53231
  splitIndex += 1;
53418
53232
  spaceOrTwoByte = null;
53419
- parsedTextHeight += preTextHeight;
53420
- if (parsedTextHeight >= cellHeight) break;
53421
53233
  } else {
53422
53234
  spaceOrTwoByte = null;
53423
53235
  anchor = _i5 - 1;
@@ -53434,8 +53246,6 @@ function getCellTextInfo(cell, renderCtx, sheetCtx, option, ctx) {
53434
53246
  fs: fontSize
53435
53247
  });
53436
53248
  splitIndex += 1;
53437
- parsedTextHeight += preTextHeight;
53438
- if (parsedTextHeight >= cellHeight) break;
53439
53249
  }
53440
53250
  } else if (_i5 === value.length) {
53441
53251
  if (_.isNil(text_all_split[splitIndex])) {
@@ -53815,9 +53625,9 @@ function isRealNum(val) {
53815
53625
  }
53816
53626
  return !Number.isNaN(Number(val));
53817
53627
  }
53818
- function checkDateTime(str, format) {
53819
- var reg1 = format === "24" ? /^(\d{4})-(\d{1,2})-(\d{1,2})(\s(\d{1,2}):(\d{1,2})(:(\d{1,2}))?)?$/ : /^(\d{4})-(\d{1,2})-(\d{1,2})(\s(\d{1,2}):(\d{1,2})(:(\d{1,2}))?)?\s?(AM|PM)?$/;
53820
- var reg2 = format === "24" ? /^(\d{4})\/(\d{1,2})\/(\d{1,2})(\s(\d{1,2}):(\d{1,2})(:(\d{1,2}))?)?$/ : /^(\d{4})\/(\d{1,2})\/(\d{1,2})(\s(\d{1,2}):(\d{1,2})(:(\d{1,2}))?)?\s?(AM|PM)?$/;
53628
+ function checkDateTime(str) {
53629
+ var reg1 = /^(\d{4})-(\d{1,2})-(\d{1,2})(\s(\d{1,2}):(\d{1,2})(:(\d{1,2}))?)?$/;
53630
+ var reg2 = /^(\d{4})\/(\d{1,2})\/(\d{1,2})(\s(\d{1,2}):(\d{1,2})(:(\d{1,2}))?)?$/;
53821
53631
  if (!reg1.test(str) && !reg2.test(str)) {
53822
53632
  return false;
53823
53633
  }
@@ -53844,11 +53654,10 @@ function checkDateTime(str, format) {
53844
53654
  return true;
53845
53655
  }
53846
53656
  function isdatetime(s) {
53847
- var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "24";
53848
53657
  if (s === null || s.toString().length < 5) {
53849
53658
  return false;
53850
53659
  }
53851
- if (checkDateTime(s, format)) {
53660
+ if (checkDateTime(s)) {
53852
53661
  return true;
53853
53662
  }
53854
53663
  return false;
@@ -53978,8 +53787,6 @@ function hasPartMC(ctx, cfg, r1, r2, c1, c2) {
53978
53787
  return ret;
53979
53788
  }
53980
53789
 
53981
- var JAN_1_1900 = 1;
53982
- var DEC_31_9999 = 2958465;
53983
53790
  var SSF = {};
53984
53791
  var make_ssf = function make_ssf(SSF) {
53985
53792
  SSF.version = "0.11.2";
@@ -54137,44 +53944,8 @@ var make_ssf = function make_ssf(SSF) {
54137
53944
  var q = Math.floor(sgn * P / Q);
54138
53945
  return [q, sgn * P - q * Q, Q];
54139
53946
  }
54140
- function convert_to_seconds(timeStr) {
54141
- var hours, minutes;
54142
- if (timeStr.includes("AM") || timeStr.includes("PM")) {
54143
- // Handle hh:mm AM/PM format
54144
- var match = timeStr.match(/^(\d{1,2}):(\d{2})\s?(AM|PM)$/i);
54145
- if (!match) return NaN;
54146
- hours = parseInt(match[1], 10);
54147
- minutes = parseInt(match[2], 10);
54148
- var period = match[3].toUpperCase();
54149
- if (hours < 1 || hours > 12 || minutes < 0 || minutes >= 60) {
54150
- return NaN;
54151
- }
54152
-
54153
- // Convert to 24-hour format
54154
- if (period === "PM" && hours !== 12) {
54155
- hours += 12;
54156
- } else if (period === "AM" && hours === 12) {
54157
- hours = 0;
54158
- }
54159
- } else {
54160
- // Handle hh:mm format
54161
- var _timeStr$split$map = timeStr.split(":").map(Number),
54162
- _timeStr$split$map2 = _slicedToArray(_timeStr$split$map, 2),
54163
- hourPart = _timeStr$split$map2[0],
54164
- minutePart = _timeStr$split$map2[1];
54165
- hours = hourPart;
54166
- minutes = minutePart;
54167
- if (isNaN(hours) || isNaN(minutes) || hours < 0 || hours > 23 || minutes < 0 || minutes >= 60) {
54168
- return NaN;
54169
- }
54170
- }
54171
-
54172
- // Convert to seconds
54173
- return hours * 3600 + minutes * 60;
54174
- }
54175
53947
  function parse_date_code(v, opts, b2) {
54176
- var _v$includes;
54177
- if (v > DEC_31_9999 || v < JAN_1_1900) return null;
53948
+ if (v > 2958465 || v < 0) return null;
54178
53949
  var date = v | 0,
54179
53950
  time = Math.floor(86400 * (v - date)),
54180
53951
  dow = 0;
@@ -54217,9 +53988,6 @@ var make_ssf = function make_ssf(SSF) {
54217
53988
  if (date < 60) dow = (dow + 6) % 7;
54218
53989
  if (b2) dow = fix_hijri(d, dout);
54219
53990
  }
54220
- if ((v === null || v === void 0 ? void 0 : (_v$includes = v.includes) === null || _v$includes === void 0 ? void 0 : _v$includes.call(v, ':')) && isNaN(time)) {
54221
- time = convert_to_seconds(v);
54222
- }
54223
53991
  out.y = dout[0];
54224
53992
  out.m = dout[1];
54225
53993
  out.d = dout[2];
@@ -55123,7 +54891,7 @@ var make_ssf = function make_ssf(SSF) {
55123
54891
  break;
55124
54892
  default:
55125
54893
  // if ("¤฿BsBr₵₡₫ƒFtRs.₭kr£₤Lm₥₦₱PQRSkRp৲৳R$S/.〒₮₩¥NT¥zł₴₪៛руб€$,$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);
55126
- if ("Ω¤฿BsBr₵₡₫ƒFtRs.₭kr£₤Lm₥₦₱PQRSkRp৲৳R$S/.〒₮₩¥NT¥zł₴₪៛руб€₹$,$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP$¥LekdinAf$dhAflRial?£BirrKzMOPPGKRsGsB/R$ррlevkrKMzBsPNuFBuKPkrRD$NfkCFA?CVEGMDFrCDHTGNAfLFdjKGSFGGHSRielKCFknKshLSLL£LtRFRONArRfMWKRMMURsMROS/KMDLMTnRC$kr€GELCHFSLLSCRDbSZLSDGSOSSomFCFPTShT$VUVQUGXгрнsomWSTNT$FtDramRpZMWFCFA".indexOf(c) === -1) throw new Error("unrecognized character " + c + " in " + fmt);
54894
+ if ("¤฿BsBr₵₡₫ƒFtRs.₭kr£₤Lm₥₦₱PQRSkRp৲৳R$S/.〒₮₩¥NT¥zł₴₪៛руб€₹$,$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP$¥LekdinAf$dhAflRial?£BirrKzMOPPGKRsGsB/R$ррlevkrKMzBsPNuFBuKPkrRD$NfkCFA?CVEGMDFrCDHTGNAfLFdjKGSFGGHSRielKCFknKshLSLL£LtRFRONArRfMWKRMMURsMROS/KMDLMTnRC$kr€GELCHFSLLSCRDbSZLSDGSOSSomFCFPTShT$VUVQUGXгрнsomWSTNT$FtDramRpZMWFCFA".indexOf(c) === -1) throw new Error("unrecognized character " + c + " in " + fmt);
55127
54895
  out[out.length] = {
55128
54896
  t: "t",
55129
54897
  v: c
@@ -55798,7 +55566,7 @@ function genarate(value) {
55798
55566
  t: "n"
55799
55567
  };
55800
55568
  v = parseFloat(value);
55801
- } else if (isdatetime(value, "24") && (value.toString().indexOf(".") > -1 || value.toString().indexOf(":") > -1 || value.toString().length < 16)) {
55569
+ } else if (isdatetime(value) && (value.toString().indexOf(".") > -1 || value.toString().indexOf(":") > -1 || value.toString().length < 16)) {
55802
55570
  v = datenum_local(parseDate(value.toString().replace(/-/g, "/")));
55803
55571
  if (v.toString().indexOf(".") > -1) {
55804
55572
  if (value.toString().length > 18) {
@@ -55813,21 +55581,6 @@ function genarate(value) {
55813
55581
  }
55814
55582
  ct.t = "d";
55815
55583
  m = SSF.format(ct.fa, v);
55816
- } else if (isdatetime(value, "12") && (value.toString().indexOf(".") > -1 || value.toString().indexOf(":") > -1 || value.toString().length < 20)) {
55817
- v = datenum_local(parseDate(value.toString().replace(/-/g, "/").replace(/(AM|PM)/gi, " $1").replace(/ +/g, " ")));
55818
- if (v.toString().indexOf(".") > -1) {
55819
- if (value.toString().length > 20) {
55820
- ct.fa = "yyyy-MM-dd hh:mm:ss AM/PM";
55821
- } else if (value.toString().length > 13) {
55822
- ct.fa = "yyyy-MM-dd hh:mm AM/PM";
55823
- } else {
55824
- ct.fa = "yyyy-MM-dd";
55825
- }
55826
- } else {
55827
- ct.fa = "yyyy-MM-dd";
55828
- }
55829
- ct.t = "d";
55830
- m = SSF.format(ct.fa, v);
55831
55584
  } else {
55832
55585
  m = value;
55833
55586
  ct.fa = "General";
@@ -55927,203 +55680,6 @@ function colLocation(x, visibleCol) {
55927
55680
  return colLocationByIndex(col_index, visibleCol);
55928
55681
  }
55929
55682
 
55930
- function setFormulaCellInfo(ctx, formulaCell, data) {
55931
- var key = "r".concat(formulaCell.r, "c").concat(formulaCell.c, "i").concat(formulaCell.id);
55932
- var calc_funcStr = getcellFormula(ctx, formulaCell.r, formulaCell.c, formulaCell.id, data);
55933
- if (_.isNil(calc_funcStr)) {
55934
- var _ctx$formulaCache$for;
55935
- (_ctx$formulaCache$for = ctx.formulaCache.formulaCellInfoMap) === null || _ctx$formulaCache$for === void 0 ? true : delete _ctx$formulaCache$for[key];
55936
- return;
55937
- }
55938
- var txt1 = calc_funcStr.toUpperCase();
55939
- var isOffsetFunc = txt1.indexOf("INDIRECT(") > -1 || txt1.indexOf("OFFSET(") > -1 || txt1.indexOf("INDEX(") > -1;
55940
- var formulaDependency = [];
55941
- if (isOffsetFunc) {
55942
- isFunctionRange(ctx, calc_funcStr, null, null, formulaCell.id, null, function (str_nb) {
55943
- var range = getcellrange(ctx, _.trim(str_nb), formulaCell.id, data);
55944
- if (!_.isNil(range)) {
55945
- formulaDependency.push(range);
55946
- }
55947
- });
55948
- } else if (!(calc_funcStr.substring(0, 2) === '="' && calc_funcStr.substring(calc_funcStr.length - 1, 1) === '"')) {
55949
- var point = 0;
55950
- var squote = -1;
55951
- var dquote = -1;
55952
- var formulaTextArray = [];
55953
- var sq_end_array = [];
55954
- var calc_funcStr_length = calc_funcStr.length;
55955
- for (var j = 0; j < calc_funcStr_length; j += 1) {
55956
- var char = calc_funcStr.charAt(j);
55957
- if (char === "'" && dquote === -1) {
55958
- if (squote === -1) {
55959
- if (point !== j) {
55960
- formulaTextArray.push.apply(formulaTextArray, _toConsumableArray(calc_funcStr.substring(point, j).split(/==|!=|<>|<=|>=|[,()=+-/*%&^><]/)));
55961
- }
55962
- squote = j;
55963
- point = j;
55964
- } else {
55965
- if (j < calc_funcStr_length - 1 && calc_funcStr.charAt(j + 1) === "'") {
55966
- j += 1;
55967
- } else {
55968
- point = j + 1;
55969
- formulaTextArray.push(calc_funcStr.substring(squote, point));
55970
- sq_end_array.push(formulaTextArray.length - 1);
55971
- squote = -1;
55972
- }
55973
- }
55974
- } else if (char === '"' && squote === -1) {
55975
- if (dquote === -1) {
55976
- if (point !== j) {
55977
- formulaTextArray.push.apply(formulaTextArray, _toConsumableArray(calc_funcStr.substring(point, j).split(/==|!=|<>|<=|>=|[,()=+-/*%&^><]/)));
55978
- }
55979
- dquote = j;
55980
- point = j;
55981
- } else {
55982
- if (j < calc_funcStr_length - 1 && calc_funcStr.charAt(j + 1) === '"') {
55983
- j += 1;
55984
- } else {
55985
- point = j + 1;
55986
- formulaTextArray.push(calc_funcStr.substring(dquote, point));
55987
- dquote = -1;
55988
- }
55989
- }
55990
- }
55991
- }
55992
- if (point !== calc_funcStr_length) {
55993
- formulaTextArray.push.apply(formulaTextArray, _toConsumableArray(calc_funcStr.substring(point, calc_funcStr_length).split(/==|!=|<>|<=|>=|[,()=+-/*%&^><]/)));
55994
- }
55995
- for (var _j = sq_end_array.length - 1; _j >= 0; _j -= 1) {
55996
- if (sq_end_array[_j] !== formulaTextArray.length - 1) {
55997
- formulaTextArray[sq_end_array[_j]] += formulaTextArray[sq_end_array[_j] + 1];
55998
- formulaTextArray.splice(sq_end_array[_j] + 1, 1);
55999
- }
56000
- }
56001
- for (var _j2 = 0; _j2 < formulaTextArray.length; _j2 += 1) {
56002
- var t = formulaTextArray[_j2];
56003
- if (t.length <= 1) {
56004
- continue;
56005
- }
56006
- if (t.substring(0, 1) === '"' && t.substring(t.length - 1, 1) === '"' || !iscelldata(t)) {
56007
- continue;
56008
- }
56009
- var range = getcellrange(ctx, _.trim(t), formulaCell.id, data);
56010
- if (_.isNil(range)) {
56011
- continue;
56012
- }
56013
- formulaDependency.push(range);
56014
- }
56015
- }
56016
- var item = {
56017
- formulaDependency: formulaDependency,
56018
- calc_funcStr: calc_funcStr,
56019
- key: key,
56020
- r: formulaCell.r,
56021
- c: formulaCell.c,
56022
- id: formulaCell.id,
56023
- parents: {},
56024
- chidren: {},
56025
- color: "w"
56026
- };
56027
- if (!ctx.formulaCache.formulaCellInfoMap) ctx.formulaCache.formulaCellInfoMap = {};
56028
- ctx.formulaCache.formulaCellInfoMap[key] = item;
56029
- }
56030
- function executeAffectedFormulas(ctx, formulaRunList, calcChains) {
56031
- var calcChainSet = new Set();
56032
- calcChains.forEach(function (item) {
56033
- calcChainSet.add("".concat(item.r, "_").concat(item.c, "_").concat(item.id));
56034
- });
56035
- for (var i = 0; i < formulaRunList.length; i += 1) {
56036
- var formulaCell = formulaRunList[i];
56037
- if (formulaCell.level === Math.max) {
56038
- continue;
56039
- }
56040
- var calc_funcStr = formulaCell.calc_funcStr;
56041
- var v = execfunction(ctx, calc_funcStr, formulaCell.r, formulaCell.c, formulaCell.id, calcChainSet);
56042
- ctx.groupValuesRefreshData.push({
56043
- r: formulaCell.r,
56044
- c: formulaCell.c,
56045
- v: v[1],
56046
- f: v[2],
56047
- spe: v[3],
56048
- id: formulaCell.id
56049
- });
56050
- ctx.formulaCache.execFunctionGlobalData["".concat(formulaCell.r, "_").concat(formulaCell.c, "_").concat(formulaCell.id)] = {
56051
- v: v[1],
56052
- f: v[2]
56053
- };
56054
- }
56055
- }
56056
- function getFormulaRunList(updateValueArray, formulaCellInfoMap) {
56057
- var formulaRunList = [];
56058
- var stack = updateValueArray;
56059
- var existsFormulaRunList = {};
56060
- var _loop = function _loop() {
56061
- var formulaObject = stack.pop();
56062
- if (_.isNil(formulaObject) || formulaObject.key in existsFormulaRunList) {
56063
- return 0; // continue
56064
- }
56065
- if (formulaObject.color === "b") {
56066
- formulaObject.color = "w";
56067
- formulaRunList.push(formulaObject);
56068
- existsFormulaRunList[formulaObject.key] = 1;
56069
- return 0; // continue
56070
- }
56071
- var cacheStack = [];
56072
- Object.keys(formulaObject.parents).forEach(function (parentKey) {
56073
- var parentFormulaObject = formulaCellInfoMap[parentKey];
56074
- if (!_.isNil(parentFormulaObject)) {
56075
- cacheStack.push(parentFormulaObject);
56076
- }
56077
- });
56078
- if (cacheStack.length === 0) {
56079
- formulaRunList.push(formulaObject);
56080
- existsFormulaRunList[formulaObject.key] = 1;
56081
- } else {
56082
- formulaObject.color = "b";
56083
- stack.push(formulaObject);
56084
- stack = stack.concat(cacheStack);
56085
- }
56086
- },
56087
- _ret;
56088
- while (stack.length > 0) {
56089
- _ret = _loop();
56090
- if (_ret === 0) continue;
56091
- }
56092
- formulaRunList.reverse();
56093
- return formulaRunList;
56094
- }
56095
- var arrayMatch = function arrayMatch(arrayMatchCache, formulaDependency, _formulaCellInfoMap, _updateValueObjects, func) {
56096
- for (var a = 0; a < formulaDependency.length; a += 1) {
56097
- var range = formulaDependency[a];
56098
- var cacheKey = "r".concat(range.row[0]).concat(range.row[1], "c").concat(range.column[0]).concat(range.column[1], "id").concat(range.sheetId);
56099
- if (cacheKey in arrayMatchCache) {
56100
- var amc = arrayMatchCache[cacheKey];
56101
- amc.forEach(function (item) {
56102
- func(item.key, item.r, item.c, item.sheetId);
56103
- });
56104
- } else {
56105
- var functionArr = [];
56106
- for (var r = range.row[0]; r <= range.row[1]; r += 1) {
56107
- for (var c = range.column[0]; c <= range.column[1]; c += 1) {
56108
- var key = "r".concat(r, "c").concat(c, "i").concat(range.sheetId);
56109
- func(key, r, c, range.sheetId);
56110
- if (_formulaCellInfoMap && key in _formulaCellInfoMap || _updateValueObjects && key in _updateValueObjects) {
56111
- functionArr.push({
56112
- key: key,
56113
- r: r,
56114
- c: c,
56115
- sheetId: range.sheetId
56116
- });
56117
- }
56118
- }
56119
- }
56120
- if (_formulaCellInfoMap || _updateValueObjects) {
56121
- arrayMatchCache[cacheKey] = functionArr;
56122
- }
56123
- }
56124
- }
56125
- };
56126
-
56127
55683
  var functionHTMLIndex = 0;
56128
55684
  var rangeIndexes = [];
56129
55685
  var operatorPriority = {
@@ -56145,9 +55701,6 @@ var sheetNameRegexp = "(".concat(simpleSheetName, "|").concat(quotedSheetName, "
56145
55701
  var rowColumnRegexp = "[$]?[A-Za-z]+[$]?[0-9]+";
56146
55702
  var rowColumnWithSheetName = "(?:".concat(sheetNameRegexp, ")?(").concat(rowColumnRegexp, ")");
56147
55703
  var LABEL_EXTRACT_REGEXP = new RegExp("^".concat(rowColumnWithSheetName, "(?:[:]").concat(rowColumnWithSheetName, ")?$"));
56148
- function isFormula(value) {
56149
- return _.isString(value) && value.slice(0, 1) === "=" && value.length > 1;
56150
- }
56151
55704
  var FormulaCache = /*#__PURE__*/function () {
56152
55705
  function FormulaCache() {
56153
55706
  _classCallCheck(this, FormulaCache);
@@ -56174,13 +55727,11 @@ var FormulaCache = /*#__PURE__*/function () {
56174
55727
  this.functionlistMap = void 0;
56175
55728
  this.execFunctionExist = void 0;
56176
55729
  this.execFunctionGlobalData = void 0;
56177
- this.formulaCellInfoMap = void 0;
56178
55730
  var that = this;
56179
55731
  this.data_parm_index = 0;
56180
55732
  this.selectingRangeIndex = -1;
56181
55733
  this.functionlistMap = {};
56182
55734
  this.execFunctionGlobalData = {};
56183
- this.formulaCellInfoMap = null;
56184
55735
  this.cellTextToIndexList = {};
56185
55736
  this.parser = new Parser();
56186
55737
  this.parser.on("callCellValue", function (cellCoord, options, done) {
@@ -56241,38 +55792,6 @@ var FormulaCache = /*#__PURE__*/function () {
56241
55792
  }
56242
55793
  return cell === null || cell === void 0 ? void 0 : cell.v;
56243
55794
  }
56244
- }, {
56245
- key: "updateFormulaCache",
56246
- value: function updateFormulaCache(ctx, history, type, data) {
56247
- function requestUpdate(value) {
56248
- if (value instanceof Object) {
56249
- if (!_.isNil(value.r) && !_.isNil(value.c)) {
56250
- var _history$options;
56251
- setFormulaCellInfo(ctx, {
56252
- r: value.r,
56253
- c: value.c,
56254
- id: value.id || ((_history$options = history.options) === null || _history$options === void 0 ? void 0 : _history$options.id) || ctx.currentSheetId
56255
- }, data);
56256
- }
56257
- }
56258
- }
56259
- var changesHistory = type === "undo" ? history.inversePatches : history.patches;
56260
- changesHistory.forEach(function (patch) {
56261
- var _patch$value;
56262
- if (isFormula((_patch$value = patch.value) === null || _patch$value === void 0 ? void 0 : _patch$value.f) || patch.value === null || patch.path[5] === "f") {
56263
- requestUpdate({
56264
- r: patch.path[3],
56265
- c: patch.path[4]
56266
- });
56267
- } else if (Array.isArray(patch.value)) {
56268
- patch.value.forEach(function (value) {
56269
- requestUpdate(value);
56270
- });
56271
- } else {
56272
- requestUpdate(patch.value);
56273
- }
56274
- });
56275
- }
56276
55795
  }]);
56277
55796
  }();
56278
55797
  function parseElement(eleString) {
@@ -56337,14 +55856,14 @@ function addToCellIndexList(ctx, txt, infoObj) {
56337
55856
  ctx.formulaCache.cellTextToIndexList["".concat(txt, "_").concat(infoObj.sheetId)] = infoObj;
56338
55857
  }
56339
55858
  }
56340
- function getcellrange(ctx, txt, formulaId, data) {
55859
+ function getcellrange(ctx, txt, formulaId) {
56341
55860
  if (_.isNil(txt) || txt.length === 0) {
56342
55861
  return null;
56343
55862
  }
56344
- var flowdata = data || getFlowdata(ctx, formulaId);
55863
+ var flowdata = getFlowdata(ctx, formulaId);
56345
55864
  var sheettxt = "";
56346
55865
  var rangetxt = "";
56347
- var sheetId;
55866
+ var sheetId = null;
56348
55867
  var sheetdata = null;
56349
55868
  var luckysheetfile = ctx.luckysheetfile;
56350
55869
  if (txt.indexOf("!") > -1) {
@@ -56408,8 +55927,8 @@ function getcellrange(ctx, txt, formulaId, data) {
56408
55927
  return null;
56409
55928
  }
56410
55929
  var rangetxtArr = rangetxt.split(":");
56411
- var row = [-1, -1];
56412
- var col = [-1, -1];
55930
+ var row = [];
55931
+ var col = [];
56413
55932
  row[0] = parseInt(rangetxtArr[0].replace(/[^0-9]/g, ""), 10) - 1;
56414
55933
  row[1] = parseInt(rangetxtArr[1].replace(/[^0-9]/g, ""), 10) - 1;
56415
55934
  if (Number.isNaN(row[0])) {
@@ -56721,7 +56240,7 @@ function delFunctionGroup(ctx, r, c, id) {
56721
56240
  var calcChain = file.calcChain;
56722
56241
  if (!_.isNil(calcChain)) {
56723
56242
  var modified = false;
56724
- var calcChainClone = calcChain.slice();
56243
+ var calcChainClone = _.cloneDeep(calcChain);
56725
56244
  for (var _i4 = 0; _i4 < calcChainClone.length; _i4 += 1) {
56726
56245
  var calc = calcChainClone[_i4];
56727
56246
  if (calc.r === r && calc.c === c && calc.id === id) {
@@ -56737,7 +56256,7 @@ function delFunctionGroup(ctx, r, c, id) {
56737
56256
  var dynamicArray = file.dynamicArray;
56738
56257
  if (!_.isNil(dynamicArray)) {
56739
56258
  var _modified = false;
56740
- var dynamicArrayClone = dynamicArray.slice();
56259
+ var dynamicArrayClone = _.cloneDeep(dynamicArray);
56741
56260
  for (var _i5 = 0; _i5 < dynamicArrayClone.length; _i5 += 1) {
56742
56261
  var _calc = dynamicArrayClone[_i5];
56743
56262
  if (_calc.r === r && _calc.c === c && (_.isNil(_calc.id) || _calc.id === id)) {
@@ -56905,13 +56424,6 @@ function groupValuesRefresh(ctx) {
56905
56424
  ctx.groupValuesRefreshData = [];
56906
56425
  }
56907
56426
  }
56908
- function setFormulaCellInfoMap(ctx, calcChains, data) {
56909
- if (_.isNil(calcChains)) return;
56910
- for (var _i1 = 0; _i1 < calcChains.length; _i1 += 1) {
56911
- var formulaCell = calcChains[_i1];
56912
- setFormulaCellInfo(ctx, formulaCell, data);
56913
- }
56914
- }
56915
56427
  function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
56916
56428
  var isForce = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
56917
56429
  if (_.isNil(data)) {
@@ -56932,32 +56444,168 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
56932
56444
  ctx.formulaCache.execFunctionGlobalData["".concat(origin_r, "_").concat(origin_c, "_").concat(id)] = _cellCache$[0];
56933
56445
  }
56934
56446
  var calcChains = getAllFunctionGroup(ctx);
56935
- var updateValueObjects = {};
56447
+ var formulaObjects = {};
56448
+ var sheets = ctx.luckysheetfile;
56449
+ var sheetData = {};
56450
+ for (var _i1 = 0; _i1 < sheets.length; _i1 += 1) {
56451
+ var sheet = sheets[_i1];
56452
+ sheetData[sheet.id] = sheet.data;
56453
+ }
56454
+ var updateValueOjects = {};
56455
+ var updateValueArray = [];
56936
56456
  if (_.isNil(ctx.formulaCache.execFunctionExist)) {
56937
56457
  var key = "r".concat(origin_r, "c").concat(origin_c, "i").concat(id);
56938
- updateValueObjects[key] = 1;
56458
+ updateValueOjects[key] = 1;
56939
56459
  } else {
56940
56460
  for (var x = 0; x < ctx.formulaCache.execFunctionExist.length; x += 1) {
56941
56461
  var cell = ctx.formulaCache.execFunctionExist[x];
56942
56462
  var _key = "r".concat(cell.r, "c").concat(cell.c, "i").concat(cell.i);
56943
- updateValueObjects[_key] = 1;
56463
+ updateValueOjects[_key] = 1;
56944
56464
  }
56945
56465
  }
56946
- if (!ctx.formulaCache.formulaCellInfoMap || _.isEmpty(ctx.formulaCache.formulaCellInfoMap)) {
56947
- ctx.formulaCache.formulaCellInfoMap = {};
56948
- setFormulaCellInfoMap(ctx, calcChains, data);
56949
- }
56950
- var formulaCellInfoMap = ctx.formulaCache.formulaCellInfoMap;
56951
- var updateValueArray = [];
56952
56466
  var arrayMatchCache = {};
56953
- Object.keys(formulaCellInfoMap).forEach(function (key) {
56954
- var formulaObject = formulaCellInfoMap[key];
56955
- arrayMatch(arrayMatchCache, formulaObject.formulaDependency, formulaCellInfoMap, updateValueObjects, function (childKey) {
56956
- if (childKey in formulaCellInfoMap) {
56957
- var childFormulaObject = formulaCellInfoMap[childKey];
56467
+ var arrayMatch = function arrayMatch(formulaArray, _formulaObjects, _updateValueOjects, func) {
56468
+ for (var a = 0; a < formulaArray.length; a += 1) {
56469
+ var range = formulaArray[a];
56470
+ var cacheKey = "r".concat(range.row[0]).concat(range.row[1], "c").concat(range.column[0]).concat(range.column[1], "id").concat(range.sheetId);
56471
+ if (cacheKey in arrayMatchCache) {
56472
+ var amc = arrayMatchCache[cacheKey];
56473
+ amc.forEach(function (item) {
56474
+ func(item.key, item.r, item.c, item.sheetId);
56475
+ });
56476
+ } else {
56477
+ var functionArr = [];
56478
+ for (var r = range.row[0]; r <= range.row[1]; r += 1) {
56479
+ for (var c = range.column[0]; c <= range.column[1]; c += 1) {
56480
+ var _key2 = "r".concat(r, "c").concat(c, "i").concat(range.sheetId);
56481
+ func(_key2, r, c, range.sheetId);
56482
+ if (_formulaObjects && _key2 in _formulaObjects || _updateValueOjects && _key2 in _updateValueOjects) {
56483
+ functionArr.push({
56484
+ key: _key2,
56485
+ r: r,
56486
+ c: c,
56487
+ sheetId: range.sheetId
56488
+ });
56489
+ }
56490
+ }
56491
+ }
56492
+ if (_formulaObjects || _updateValueOjects) {
56493
+ arrayMatchCache[cacheKey] = functionArr;
56494
+ }
56495
+ }
56496
+ }
56497
+ };
56498
+ var _loop = function _loop() {
56499
+ var formulaCell = calcChains[_i10];
56500
+ var key = "r".concat(formulaCell.r, "c").concat(formulaCell.c, "i").concat(formulaCell.id);
56501
+ var calc_funcStr = getcellFormula(ctx, formulaCell.r, formulaCell.c, formulaCell.id);
56502
+ if (_.isNil(calc_funcStr)) {
56503
+ return 1; // continue
56504
+ }
56505
+ var txt1 = calc_funcStr.toUpperCase();
56506
+ var isOffsetFunc = txt1.indexOf("INDIRECT(") > -1 || txt1.indexOf("OFFSET(") > -1 || txt1.indexOf("INDEX(") > -1;
56507
+ var formulaArray = [];
56508
+ if (isOffsetFunc) {
56509
+ isFunctionRange(ctx, calc_funcStr, null, null, formulaCell.id, null, function (str_nb) {
56510
+ var range = getcellrange(ctx, _.trim(str_nb), formulaCell.id);
56511
+ if (!_.isNil(range)) {
56512
+ formulaArray.push(range);
56513
+ }
56514
+ });
56515
+ } else if (!(calc_funcStr.substring(0, 2) === '="' && calc_funcStr.substring(calc_funcStr.length - 1, 1) === '"')) {
56516
+ var point = 0;
56517
+ var squote = -1;
56518
+ var dquote = -1;
56519
+ var formulaTextArray = [];
56520
+ var sq_end_array = [];
56521
+ var calc_funcStr_length = calc_funcStr.length;
56522
+ for (var j = 0; j < calc_funcStr_length; j += 1) {
56523
+ var char = calc_funcStr.charAt(j);
56524
+ if (char === "'" && dquote === -1) {
56525
+ if (squote === -1) {
56526
+ if (point !== j) {
56527
+ formulaTextArray.push.apply(formulaTextArray, _toConsumableArray(calc_funcStr.substring(point, j).split(/==|!=|<>|<=|>=|[,()=+-/*%&^><]/)));
56528
+ }
56529
+ squote = j;
56530
+ point = j;
56531
+ } else {
56532
+ if (j < calc_funcStr_length - 1 && calc_funcStr.charAt(j + 1) === "'") {
56533
+ j += 1;
56534
+ } else {
56535
+ point = j + 1;
56536
+ formulaTextArray.push(calc_funcStr.substring(squote, point));
56537
+ sq_end_array.push(formulaTextArray.length - 1);
56538
+ squote = -1;
56539
+ }
56540
+ }
56541
+ }
56542
+ if (char === '"' && squote === -1) {
56543
+ if (dquote === -1) {
56544
+ if (point !== j) {
56545
+ formulaTextArray.push.apply(formulaTextArray, _toConsumableArray(calc_funcStr.substring(point, j).split(/==|!=|<>|<=|>=|[,()=+-/*%&^><]/)));
56546
+ }
56547
+ dquote = j;
56548
+ point = j;
56549
+ } else {
56550
+ if (j < calc_funcStr_length - 1 && calc_funcStr.charAt(j + 1) === '"') {
56551
+ j += 1;
56552
+ } else {
56553
+ point = j + 1;
56554
+ formulaTextArray.push(calc_funcStr.substring(dquote, point));
56555
+ dquote = -1;
56556
+ }
56557
+ }
56558
+ }
56559
+ }
56560
+ if (point !== calc_funcStr_length) {
56561
+ formulaTextArray.push.apply(formulaTextArray, _toConsumableArray(calc_funcStr.substring(point, calc_funcStr_length).split(/==|!=|<>|<=|>=|[,()=+-/*%&^><]/)));
56562
+ }
56563
+ for (var _j = sq_end_array.length - 1; _j >= 0; _j -= 1) {
56564
+ if (sq_end_array[_j] !== formulaTextArray.length - 1) {
56565
+ formulaTextArray[sq_end_array[_j]] += formulaTextArray[sq_end_array[_j] + 1];
56566
+ formulaTextArray.splice(sq_end_array[_j] + 1, 1);
56567
+ }
56568
+ }
56569
+ for (var _j2 = 0; _j2 < formulaTextArray.length; _j2 += 1) {
56570
+ var t = formulaTextArray[_j2];
56571
+ if (t.length <= 1) {
56572
+ continue;
56573
+ }
56574
+ if (t.substring(0, 1) === '"' && t.substring(t.length - 1, 1) === '"' || !iscelldata(t)) {
56575
+ continue;
56576
+ }
56577
+ var range = getcellrange(ctx, _.trim(t), formulaCell.id);
56578
+ if (_.isNil(range)) {
56579
+ continue;
56580
+ }
56581
+ formulaArray.push(range);
56582
+ }
56583
+ }
56584
+ var item = {
56585
+ formulaArray: formulaArray,
56586
+ calc_funcStr: calc_funcStr,
56587
+ key: key,
56588
+ r: formulaCell.r,
56589
+ c: formulaCell.c,
56590
+ id: formulaCell.id,
56591
+ parents: {},
56592
+ chidren: {},
56593
+ color: "w"
56594
+ };
56595
+ formulaObjects[key] = item;
56596
+ };
56597
+ for (var _i10 = 0; _i10 < calcChains.length; _i10 += 1) {
56598
+ if (_loop()) continue;
56599
+ }
56600
+ Object.keys(formulaObjects).forEach(function (key) {
56601
+ var formulaObject = formulaObjects[key];
56602
+ arrayMatch(formulaObject.formulaArray, formulaObjects, updateValueOjects, function (childKey) {
56603
+ if (childKey in formulaObjects) {
56604
+ var childFormulaObject = formulaObjects[childKey];
56605
+ formulaObject.chidren[childKey] = 1;
56958
56606
  childFormulaObject.parents[key] = 1;
56959
56607
  }
56960
- if (!isForce && childKey in updateValueObjects) {
56608
+ if (!isForce && childKey in updateValueOjects) {
56961
56609
  updateValueArray.push(formulaObject);
56962
56610
  }
56963
56611
  });
@@ -56965,8 +56613,65 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
56965
56613
  updateValueArray.push(formulaObject);
56966
56614
  }
56967
56615
  });
56968
- var formulaRunList = getFormulaRunList(updateValueArray, formulaCellInfoMap);
56969
- executeAffectedFormulas(ctx, formulaRunList, calcChains);
56616
+ var formulaRunList = [];
56617
+ var stack = updateValueArray;
56618
+ var existsFormulaRunList = {};
56619
+ var _loop2 = function _loop2() {
56620
+ var formulaObject = stack.pop();
56621
+ if (_.isNil(formulaObject) || formulaObject.key in existsFormulaRunList) {
56622
+ return 0; // continue
56623
+ }
56624
+ if (formulaObject.color === "b") {
56625
+ formulaRunList.push(formulaObject);
56626
+ existsFormulaRunList[formulaObject.key] = 1;
56627
+ return 0; // continue
56628
+ }
56629
+ var cacheStack = [];
56630
+ Object.keys(formulaObject.parents).forEach(function (parentKey) {
56631
+ var parentFormulaObject = formulaObjects[parentKey];
56632
+ if (!_.isNil(parentFormulaObject)) {
56633
+ cacheStack.push(parentFormulaObject);
56634
+ }
56635
+ });
56636
+ if (cacheStack.length === 0) {
56637
+ formulaRunList.push(formulaObject);
56638
+ existsFormulaRunList[formulaObject.key] = 1;
56639
+ } else {
56640
+ formulaObject.color = "b";
56641
+ stack.push(formulaObject);
56642
+ stack = stack.concat(cacheStack);
56643
+ }
56644
+ },
56645
+ _ret;
56646
+ while (stack.length > 0) {
56647
+ _ret = _loop2();
56648
+ if (_ret === 0) continue;
56649
+ }
56650
+ formulaRunList.reverse();
56651
+ var calcChainSet = new Set();
56652
+ calcChains.forEach(function (item) {
56653
+ calcChainSet.add("".concat(item.r, "_").concat(item.c, "_").concat(item.id));
56654
+ });
56655
+ for (var _i11 = 0; _i11 < formulaRunList.length; _i11 += 1) {
56656
+ var formulaCell = formulaRunList[_i11];
56657
+ if (formulaCell.level === Math.max) {
56658
+ continue;
56659
+ }
56660
+ var calc_funcStr = formulaCell.calc_funcStr;
56661
+ var v = execfunction(ctx, calc_funcStr, formulaCell.r, formulaCell.c, formulaCell.id, calcChainSet);
56662
+ ctx.groupValuesRefreshData.push({
56663
+ r: formulaCell.r,
56664
+ c: formulaCell.c,
56665
+ v: v[1],
56666
+ f: v[2],
56667
+ spe: v[3],
56668
+ id: formulaCell.id
56669
+ });
56670
+ ctx.formulaCache.execFunctionGlobalData["".concat(formulaCell.r, "_").concat(formulaCell.c, "_").concat(formulaCell.id)] = {
56671
+ v: v[1],
56672
+ f: v[2]
56673
+ };
56674
+ }
56970
56675
  ctx.formulaCache.execFunctionExist = undefined;
56971
56676
  }
56972
56677
  function findrangeindex(ctx, v, vp) {
@@ -56980,26 +56685,26 @@ function findrangeindex(ctx, v, vp) {
56980
56685
  var vplen = vp_a.length;
56981
56686
  var vlen = v_a.length;
56982
56687
  if (vplen === vlen) {
56983
- var _i10 = pfri[0];
56984
- var p = vp_a[_i10];
56985
- var n = v_a[_i10];
56688
+ var _i12 = pfri[0];
56689
+ var p = vp_a[_i12];
56690
+ var n = v_a[_i12];
56986
56691
  if (_.isNil(p)) {
56987
- if (vp_a.length <= _i10) {
56692
+ if (vp_a.length <= _i12) {
56988
56693
  pfri = [vp_a.length - 1, vp_a.length - 1];
56989
- } else if (v_a.length <= _i10) {
56694
+ } else if (v_a.length <= _i12) {
56990
56695
  pfri = [v_a.length - 1, v_a.length - 1];
56991
56696
  }
56992
56697
  return pfri;
56993
56698
  }
56994
56699
  if (p.length === n.length) {
56995
- if (!_.isNil(vp_a[_i10 + 1]) && !_.isNil(v_a[_i10 + 1]) && vp_a[_i10 + 1].length < v_a[_i10 + 1].length) {
56700
+ if (!_.isNil(vp_a[_i12 + 1]) && !_.isNil(v_a[_i12 + 1]) && vp_a[_i12 + 1].length < v_a[_i12 + 1].length) {
56996
56701
  pfri[0] += 1;
56997
56702
  pfri[1] = 1;
56998
56703
  }
56999
56704
  return pfri;
57000
56705
  }
57001
56706
  if (p.length > n.length) {
57002
- if (!_.isNil(p) && !_.isNil(v_a[_i10 + 1]) && v_a[_i10 + 1].substring(0, 1) === '"' && (p.indexOf("{") > -1 || p.indexOf("}") > -1)) {
56707
+ if (!_.isNil(p) && !_.isNil(v_a[_i12 + 1]) && v_a[_i12 + 1].substring(0, 1) === '"' && (p.indexOf("{") > -1 || p.indexOf("}") > -1)) {
57003
56708
  pfri[0] += 1;
57004
56709
  pfri[1] = 1;
57005
56710
  }
@@ -57012,34 +56717,34 @@ function findrangeindex(ctx, v, vp) {
57012
56717
  return pfri;
57013
56718
  }
57014
56719
  } else if (vplen > vlen) {
57015
- var _i11 = pfri[0];
57016
- var _p = vp_a[_i11];
57017
- var _n = v_a[_i11];
56720
+ var _i13 = pfri[0];
56721
+ var _p = vp_a[_i13];
56722
+ var _n = v_a[_i13];
57018
56723
  if (_.isNil(_n)) {
57019
- if (v_a[_i11 - 1].indexOf("{") > -1) {
56724
+ if (v_a[_i13 - 1].indexOf("{") > -1) {
57020
56725
  pfri[0] -= 1;
57021
- var start = v_a[_i11 - 1].search("{");
56726
+ var start = v_a[_i13 - 1].search("{");
57022
56727
  pfri[1] += start;
57023
56728
  } else {
57024
56729
  pfri[0] = 0;
57025
56730
  pfri[1] = 0;
57026
56731
  }
57027
56732
  } else if (_p.length === _n.length) {
57028
- if (!_.isNil(v_a[_i11 + 1]) && (v_a[_i11 + 1].substring(0, 1) === '"' || v_a[_i11 + 1].substring(0, 1) === "{" || v_a[_i11 + 1].substring(0, 1) === "}")) {
56733
+ if (!_.isNil(v_a[_i13 + 1]) && (v_a[_i13 + 1].substring(0, 1) === '"' || v_a[_i13 + 1].substring(0, 1) === "{" || v_a[_i13 + 1].substring(0, 1) === "}")) {
57029
56734
  pfri[0] += 1;
57030
56735
  pfri[1] = 1;
57031
- } else if (!_.isNil(_p) && _p.length > 2 && _p.substring(0, 1) === '"' && _p.substring(_p.length - 1, 1) === '"') ; else if (!_.isNil(v_a[_i11]) && v_a[_i11] === '")') {
56736
+ } else if (!_.isNil(_p) && _p.length > 2 && _p.substring(0, 1) === '"' && _p.substring(_p.length - 1, 1) === '"') ; else if (!_.isNil(v_a[_i13]) && v_a[_i13] === '")') {
57032
56737
  pfri[1] = 1;
57033
- } else if (!_.isNil(v_a[_i11]) && v_a[_i11] === '"}') {
56738
+ } else if (!_.isNil(v_a[_i13]) && v_a[_i13] === '"}') {
57034
56739
  pfri[1] = 1;
57035
- } else if (!_.isNil(v_a[_i11]) && v_a[_i11] === "{)") {
56740
+ } else if (!_.isNil(v_a[_i13]) && v_a[_i13] === "{)") {
57036
56741
  pfri[1] = 1;
57037
56742
  } else {
57038
56743
  pfri[1] = _n.length;
57039
56744
  }
57040
56745
  return pfri;
57041
56746
  } else if (_p.length > _n.length) {
57042
- if (!_.isNil(v_a[_i11 + 1]) && (v_a[_i11 + 1].substring(0, 1) === '"' || v_a[_i11 + 1].substring(0, 1) === "{" || v_a[_i11 + 1].substring(0, 1) === "}")) {
56747
+ if (!_.isNil(v_a[_i13 + 1]) && (v_a[_i13 + 1].substring(0, 1) === '"' || v_a[_i13 + 1].substring(0, 1) === "{" || v_a[_i13 + 1].substring(0, 1) === "}")) {
57043
56748
  pfri[0] += 1;
57044
56749
  pfri[1] = 1;
57045
56750
  }
@@ -57049,9 +56754,9 @@ function findrangeindex(ctx, v, vp) {
57049
56754
  }
57050
56755
  return pfri;
57051
56756
  } else if (vplen < vlen) {
57052
- var _i12 = pfri[0];
57053
- var _p2 = vp_a[_i12];
57054
- var _n2 = v_a[_i12];
56757
+ var _i14 = pfri[0];
56758
+ var _p2 = vp_a[_i14];
56759
+ var _n2 = v_a[_i14];
57055
56760
  if (_.isNil(_p2)) {
57056
56761
  pfri[0] = v_a.length - 1;
57057
56762
  if (!_.isNil(_n2)) {
@@ -57060,9 +56765,9 @@ function findrangeindex(ctx, v, vp) {
57060
56765
  pfri[1] = 1;
57061
56766
  }
57062
56767
  } else if (_p2.length === _n2.length) {
57063
- if (vp_a[_i12 + 1] != null && (vp_a[_i12 + 1].substring(0, 1) === '"' || vp_a[_i12 + 1].substring(0, 1) === "{" || vp_a[_i12 + 1].substring(0, 1) === "}")) {
56768
+ if (vp_a[_i14 + 1] != null && (vp_a[_i14 + 1].substring(0, 1) === '"' || vp_a[_i14 + 1].substring(0, 1) === "{" || vp_a[_i14 + 1].substring(0, 1) === "}")) {
57064
56769
  pfri[1] = _n2.length;
57065
- } else if (!_.isNil(v_a[_i12 + 1]) && v_a[_i12 + 1].substring(0, 1) === '"' && (v_a[_i12 + 1].substring(0, 1) === "{" || v_a[_i12 + 1].substring(0, 1) === "}")) {
56770
+ } else if (!_.isNil(v_a[_i14 + 1]) && v_a[_i14 + 1].substring(0, 1) === '"' && (v_a[_i14 + 1].substring(0, 1) === "{" || v_a[_i14 + 1].substring(0, 1) === "}")) {
57066
56771
  pfri[0] += 1;
57067
56772
  pfri[1] = 1;
57068
56773
  } else if (!_.isNil(_n2) && _n2.substring(0, 1) === '"' && _n2.substring(_n2.length - 1, 1) === '"' && _p2.substring(0, 1) === '"' && _p2.substring(_p2.length - 1, 1) === ")") {
@@ -57072,7 +56777,7 @@ function findrangeindex(ctx, v, vp) {
57072
56777
  } else {
57073
56778
  pfri[0] = pfri[0] + vlen - vplen;
57074
56779
  if (v_a.length > vp_a.length) {
57075
- pfri[1] = v_a[_i12 + 1].length;
56780
+ pfri[1] = v_a[_i14 + 1].length;
57076
56781
  } else {
57077
56782
  pfri[1] = 1;
57078
56783
  }
@@ -57081,17 +56786,17 @@ function findrangeindex(ctx, v, vp) {
57081
56786
  } else if (_p2.length > _n2.length) {
57082
56787
  if (!_.isNil(_p2) && _p2.substring(0, 1) === '"') {
57083
56788
  pfri[1] = _n2.length;
57084
- } else if (_.isNil(v_a[_i12 + 1]) && /{.*?}/.test(v_a[_i12 + 1])) {
56789
+ } else if (_.isNil(v_a[_i14 + 1]) && /{.*?}/.test(v_a[_i14 + 1])) {
57085
56790
  pfri[0] += 1;
57086
- pfri[1] = v_a[_i12 + 1].length;
57087
- } else if (!_.isNil(_p2) && v_a[_i12 + 1].substring(0, 1) === '"' && (_p2.indexOf("{") > -1 || _p2.indexOf("}") > -1)) {
56791
+ pfri[1] = v_a[_i14 + 1].length;
56792
+ } else if (!_.isNil(_p2) && v_a[_i14 + 1].substring(0, 1) === '"' && (_p2.indexOf("{") > -1 || _p2.indexOf("}") > -1)) {
57088
56793
  pfri[0] += 1;
57089
56794
  pfri[1] = 1;
57090
56795
  } else if (!_.isNil(_p2) && (_p2.indexOf("{") > -1 || _p2.indexOf("}") > -1)) ; else if (!_.isNil(_p2) && !_.startsWith(_p2[0], "=") && _.startsWith(_n2, "=")) {
57091
56796
  return [vlen - 1, v_a[vlen - 1].length];
57092
56797
  } else {
57093
56798
  pfri[0] = pfri[0] + vlen - vplen - 1;
57094
- pfri[1] = v_a[(_i12 || 1) - 1].length;
56799
+ pfri[1] = v_a[(_i14 || 1) - 1].length;
57095
56800
  }
57096
56801
  return pfri;
57097
56802
  } else if (_p2.length < _n2.length) {
@@ -57113,7 +56818,7 @@ function createRangeHightlight(ctx, inputInnerHtmlStr) {
57113
56818
  if (rangeIndex === ignoreRangeIndex) return;
57114
56819
  var cellrange = getcellrange(ctx, ele.textContent || "");
57115
56820
  if (rangeIndex === ctx.formulaCache.selectingRangeIndex || cellrange == null) return;
57116
- if (cellrange.sheetId === ctx.currentSheetId || !cellrange.sheetId && ctx.formulaCache.rangetosheet === ctx.currentSheetId) {
56821
+ if (cellrange.sheetId === ctx.currentSheetId || cellrange.sheetId === -1 && ctx.formulaCache.rangetosheet === ctx.currentSheetId) {
57117
56822
  var rect = seletedHighlistByindex(ctx, cellrange.row[0], cellrange.row[1], cellrange.column[0], cellrange.column[1]);
57118
56823
  if (rect) {
57119
56824
  formulaRanges.push(_objectSpread2(_objectSpread2({
@@ -57165,8 +56870,8 @@ function searchFunction(ctx, searchtxt) {
57165
56870
  var s = [];
57166
56871
  var t = [];
57167
56872
  var result_i = 0;
57168
- for (var _i13 = 0; _i13 < functionlist.length; _i13 += 1) {
57169
- var item = functionlist[_i13];
56873
+ for (var _i15 = 0; _i15 < functionlist.length; _i15 += 1) {
56874
+ var item = functionlist[_i15];
57170
56875
  var n = item.n;
57171
56876
  if (n === searchtxt) {
57172
56877
  f.unshift(item);
@@ -57228,8 +56933,8 @@ function helpFunctionExe($editer, currSelection, ctx) {
57228
56933
  var _locale2 = locale(ctx),
57229
56934
  functionlist = _locale2.functionlist;
57230
56935
  if (_.isEmpty(ctx.formulaCache.functionlistMap)) {
57231
- for (var _i14 = 0; _i14 < functionlist.length; _i14 += 1) {
57232
- ctx.formulaCache.functionlistMap[functionlist[_i14].n] = functionlist[_i14];
56936
+ for (var _i16 = 0; _i16 < functionlist.length; _i16 += 1) {
56937
+ ctx.formulaCache.functionlistMap[functionlist[_i16].n] = functionlist[_i16];
57233
56938
  }
57234
56939
  }
57235
56940
  if (!currSelection) {
@@ -58396,19 +58101,17 @@ function setConditionRules(ctx, protection, generalDialog, conditionformat, rule
58396
58101
  var v = rules.rulesValue;
58397
58102
  var rangeArr = getRangeByTxt(ctx, v);
58398
58103
  if (rangeArr.length > 1) {
58399
- var _rangeArr$, _rangeArr$2, _rangeArr$3, _rangeArr$4;
58400
- var r1 = (_rangeArr$ = rangeArr[0]) === null || _rangeArr$ === void 0 ? void 0 : _rangeArr$.row[0];
58401
- var r2 = (_rangeArr$2 = rangeArr[0]) === null || _rangeArr$2 === void 0 ? void 0 : _rangeArr$2.row[1];
58402
- var c1 = (_rangeArr$3 = rangeArr[0]) === null || _rangeArr$3 === void 0 ? void 0 : _rangeArr$3.column[0];
58403
- var c2 = (_rangeArr$4 = rangeArr[0]) === null || _rangeArr$4 === void 0 ? void 0 : _rangeArr$4.column[1];
58104
+ var r1 = rangeArr[0].row[0];
58105
+ var r2 = rangeArr[0].row[1];
58106
+ var c1 = rangeArr[0].column[0];
58107
+ var c2 = rangeArr[0].column[1];
58404
58108
  if (r1 === r2 && c1 === c2) {
58405
- var _rangeArr$5, _rangeArr$6;
58406
58109
  var d = getFlowdata(ctx);
58407
- if (!d || _.isNil(r1) || _.isNil(c1)) return;
58110
+ if (!d) return;
58408
58111
  v = getCellValue(r1, c1, d);
58409
58112
  conditionRange.push({
58410
- row: rangeArr === null || rangeArr === void 0 ? void 0 : (_rangeArr$5 = rangeArr[0]) === null || _rangeArr$5 === void 0 ? void 0 : _rangeArr$5.row,
58411
- column: rangeArr === null || rangeArr === void 0 ? void 0 : (_rangeArr$6 = rangeArr[0]) === null || _rangeArr$6 === void 0 ? void 0 : _rangeArr$6.column
58113
+ row: rangeArr[0].row,
58114
+ column: rangeArr[0].column
58412
58115
  });
58413
58116
  conditionValue.push(v);
58414
58117
  } else {
@@ -58430,19 +58133,17 @@ function setConditionRules(ctx, protection, generalDialog, conditionformat, rule
58430
58133
  return;
58431
58134
  }
58432
58135
  if (rangeArr1.length === 1) {
58433
- var _rangeArr1$, _rangeArr1$2, _rangeArr1$3, _rangeArr1$4;
58434
- var _r = (_rangeArr1$ = rangeArr1[0]) === null || _rangeArr1$ === void 0 ? void 0 : _rangeArr1$.row[0];
58435
- var _r2 = (_rangeArr1$2 = rangeArr1[0]) === null || _rangeArr1$2 === void 0 ? void 0 : _rangeArr1$2.row[1];
58436
- var _c = (_rangeArr1$3 = rangeArr1[0]) === null || _rangeArr1$3 === void 0 ? void 0 : _rangeArr1$3.column[0];
58437
- var _c2 = (_rangeArr1$4 = rangeArr1[0]) === null || _rangeArr1$4 === void 0 ? void 0 : _rangeArr1$4.column[1];
58136
+ var _r = rangeArr1[0].row[0];
58137
+ var _r2 = rangeArr1[0].row[1];
58138
+ var _c = rangeArr1[0].column[0];
58139
+ var _c2 = rangeArr1[0].column[1];
58438
58140
  if (_r === _r2 && _c === _c2) {
58439
- var _rangeArr1$5, _rangeArr1$6;
58440
58141
  var _d = getFlowdata(ctx);
58441
- if (!_d || _.isNil(_r) || _.isNil(_c)) return;
58142
+ if (!_d) return;
58442
58143
  v1 = getCellValue(_r, _c, _d);
58443
58144
  conditionRange.push({
58444
- row: rangeArr1 === null || rangeArr1 === void 0 ? void 0 : (_rangeArr1$5 = rangeArr1[0]) === null || _rangeArr1$5 === void 0 ? void 0 : _rangeArr1$5.row,
58445
- column: rangeArr1 === null || rangeArr1 === void 0 ? void 0 : (_rangeArr1$6 = rangeArr1[0]) === null || _rangeArr1$6 === void 0 ? void 0 : _rangeArr1$6.column
58145
+ row: rangeArr1[0].row,
58146
+ column: rangeArr1[0].column
58446
58147
  });
58447
58148
  conditionValue.push(v1);
58448
58149
  } else {
@@ -58462,19 +58163,17 @@ function setConditionRules(ctx, protection, generalDialog, conditionformat, rule
58462
58163
  return;
58463
58164
  }
58464
58165
  if (rangeArr2.length === 1) {
58465
- var _rangeArr2$, _rangeArr2$2, _rangeArr2$3, _rangeArr2$4;
58466
- var _r3 = (_rangeArr2$ = rangeArr2[0]) === null || _rangeArr2$ === void 0 ? void 0 : _rangeArr2$.row[0];
58467
- var _r4 = (_rangeArr2$2 = rangeArr2[0]) === null || _rangeArr2$2 === void 0 ? void 0 : _rangeArr2$2.row[1];
58468
- var _c3 = (_rangeArr2$3 = rangeArr2[0]) === null || _rangeArr2$3 === void 0 ? void 0 : _rangeArr2$3.column[0];
58469
- var _c4 = (_rangeArr2$4 = rangeArr2[0]) === null || _rangeArr2$4 === void 0 ? void 0 : _rangeArr2$4.column[1];
58166
+ var _r3 = rangeArr2[0].row[0];
58167
+ var _r4 = rangeArr2[0].row[1];
58168
+ var _c3 = rangeArr2[0].column[0];
58169
+ var _c4 = rangeArr2[0].column[1];
58470
58170
  if (_r3 === _r4 && _c3 === _c4) {
58471
- var _rangeArr2$5, _rangeArr2$6;
58472
58171
  var _d2 = getFlowdata(ctx);
58473
- if (!_d2 || _.isNil(_r3) || _.isNil(_c3)) return;
58172
+ if (!_d2) return;
58474
58173
  v2 = getCellValue(_r3, _c3, _d2);
58475
58174
  conditionRange.push({
58476
- row: rangeArr2 === null || rangeArr2 === void 0 ? void 0 : (_rangeArr2$5 = rangeArr2[0]) === null || _rangeArr2$5 === void 0 ? void 0 : _rangeArr2$5.row,
58477
- column: rangeArr2 === null || rangeArr2 === void 0 ? void 0 : (_rangeArr2$6 = rangeArr2[0]) === null || _rangeArr2$6 === void 0 ? void 0 : _rangeArr2$6.column
58175
+ row: rangeArr2[0].row,
58176
+ column: rangeArr2[0].column
58478
58177
  });
58479
58178
  } else {
58480
58179
  ctx.warnDialog = conditionformat.onlySingleCell;
@@ -58875,7 +58574,7 @@ function compute(ctx, ruleArr, d) {
58875
58574
  if (_.isNil(_cell7) || _.isNil(_cell7.v) || isRealNull(_cell7.v)) {
58876
58575
  continue;
58877
58576
  }
58878
- if (typeof _cell7.v === "number" && _cell7.v >= vSmall && _cell7.v <= vBig) {
58577
+ if (_cell7.v >= vSmall && _cell7.v <= vBig) {
58879
58578
  if ("".concat(_r1, "_").concat(_c1) in computeMap) {
58880
58579
  computeMap["".concat(_r1, "_").concat(_c1)].textColor = textColor;
58881
58580
  computeMap["".concat(_r1, "_").concat(_c1)].cellColor = cellColor;
@@ -59597,15 +59296,14 @@ function dataRangeSelection(ctx, cache, rangT, type, value) {
59597
59296
  ctx.rangeDialog.type = type;
59598
59297
  ctx.rangeDialog.rangeTxt = value;
59599
59298
  if (ctx.luckysheet_select_save && !!rangT) {
59600
- var _range$, _range$2, _ctx$formulaRangeSele, _ctx$formulaRangeSele2;
59299
+ var _ctx$formulaRangeSele, _ctx$formulaRangeSele2;
59601
59300
  var last = ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1];
59602
59301
  var row_index = last.row_focus;
59603
59302
  var col_index = last.column_focus;
59604
59303
  ctx.luckysheetCellUpdate = [row_index, col_index];
59605
59304
  var range = getRangeByTxt(ctx, rangT);
59606
- var r = (_range$ = range[0]) === null || _range$ === void 0 ? void 0 : _range$.row;
59607
- var c = (_range$2 = range[0]) === null || _range$2 === void 0 ? void 0 : _range$2.column;
59608
- if (_.isNil(r) || _.isNil(c)) return;
59305
+ var r = range[0].row;
59306
+ var c = range[0].column;
59609
59307
  var row_pre = rowLocationByIndex(r[0], ctx.visibledatarow)[0];
59610
59308
  var row = rowLocationByIndex(r[1], ctx.visibledatarow)[1];
59611
59309
  var col_pre = colLocationByIndex(c[0], ctx.visibledatacolumn)[0];
@@ -59625,9 +59323,9 @@ function getDropdownList(ctx, txt) {
59625
59323
  var list = [];
59626
59324
  if (iscelldata(txt)) {
59627
59325
  var range = getcellrange(ctx, txt);
59628
- var index = getSheetIndex(ctx, (range === null || range === void 0 ? void 0 : range.sheetId) || ctx.currentSheetId);
59326
+ var index = getSheetIndex(ctx, range.sheetId);
59629
59327
  var d = ctx.luckysheetfile[index].data;
59630
- if (!d || !range) return [];
59328
+ if (!d) return [];
59631
59329
  for (var r = range.row[0]; r <= range.row[1]; r += 1) {
59632
59330
  for (var c = range.column[0]; c <= range.column[1]; c += 1) {
59633
59331
  if (!d[r]) {
@@ -60201,18 +59899,18 @@ function setDropcownValue(ctx, value, arr) {
60201
59899
  jfrefreshgrid(ctx, null, undefined);
60202
59900
  }
60203
59901
  function confirmMessage(ctx, generalDialog, dataVerification) {
60204
- var _ctx$dataVerification0, _ctx$dataVerification1, _range, _range2, _range3, _range4;
59902
+ var _ctx$dataVerification0, _ctx$dataVerification1;
60205
59903
  var range = getRangeByTxt(ctx, (_ctx$dataVerification0 = ctx.dataVerification) === null || _ctx$dataVerification0 === void 0 ? void 0 : (_ctx$dataVerification1 = _ctx$dataVerification0.dataRegulation) === null || _ctx$dataVerification1 === void 0 ? void 0 : _ctx$dataVerification1.rangeTxt);
60206
59904
  if (range.length === 0) {
60207
59905
  ctx.warnDialog = generalDialog.noSeletionError;
60208
59906
  return false;
60209
59907
  }
60210
- var str = (_range = range[range.length - 1]) === null || _range === void 0 ? void 0 : _range.row[0];
60211
- var edr = (_range2 = range[range.length - 1]) === null || _range2 === void 0 ? void 0 : _range2.row[1];
60212
- var stc = (_range3 = range[range.length - 1]) === null || _range3 === void 0 ? void 0 : _range3.column[0];
60213
- var edc = (_range4 = range[range.length - 1]) === null || _range4 === void 0 ? void 0 : _range4.column[1];
59908
+ var str = range[range.length - 1].row[0];
59909
+ var edr = range[range.length - 1].row[1];
59910
+ var stc = range[range.length - 1].column[0];
59911
+ var edc = range[range.length - 1].column[1];
60214
59912
  var d = getFlowdata(ctx);
60215
- if (!d || _.isNil(str) || _.isNil(edr) || _.isNil(stc) || _.isNil(edc)) return false;
59913
+ if (!d) return false;
60216
59914
  if (str < 0) {
60217
59915
  str = 0;
60218
59916
  }
@@ -60802,6 +60500,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
60802
60500
  delete curv.ct.s;
60803
60501
  curv.ct.t = "g";
60804
60502
  curv.ct.fa = "General";
60503
+ curv.tb = "1";
60805
60504
  value = "";
60806
60505
  } else if (isCurInline) {
60807
60506
  if (!_.isPlainObject(curv)) {
@@ -60812,6 +60511,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
60812
60511
  if (!curv.ct) {
60813
60512
  curv.ct = {};
60814
60513
  curv.ct.fa = "General";
60514
+ curv.tb = "1";
60815
60515
  }
60816
60516
  curv.ct.t = "inlineStr";
60817
60517
  curv.ct.s = convertSpanToShareString($input.querySelectorAll("span"), curv);
@@ -60860,7 +60560,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
60860
60560
  var dynamicArrayItem = null;
60861
60561
  if (_.isPlainObject(curv)) {
60862
60562
  if (!isCurInline) {
60863
- if (isFormula(value)) {
60563
+ if (_.isString(value) && value.slice(0, 1) === "=" && value.length > 1) {
60864
60564
  var _d$r;
60865
60565
  var v = execfunction(ctx, value, r, c, undefined, undefined, true);
60866
60566
  curv = _.cloneDeep((d === null || d === void 0 ? void 0 : (_d$r = d[r]) === null || _d$r === void 0 ? void 0 : _d$r[c]) || {});
@@ -60882,7 +60582,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
60882
60582
  }
60883
60583
  } else if (_.isPlainObject(value)) {
60884
60584
  var valueFunction = value.f;
60885
- if (isFormula(valueFunction)) {
60585
+ if (_.isString(valueFunction) && valueFunction.slice(0, 1) === "=" && valueFunction.length > 1) {
60886
60586
  var _d$r2;
60887
60587
  var _v2 = execfunction(ctx, valueFunction, r, c, undefined, undefined, true);
60888
60588
  curv = _.cloneDeep((d === null || d === void 0 ? void 0 : (_d$r2 = d[r]) === null || _d$r2 === void 0 ? void 0 : _d$r2[c]) || {});
@@ -60926,7 +60626,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
60926
60626
  }
60927
60627
  value = curv;
60928
60628
  } else {
60929
- if (isFormula(value)) {
60629
+ if (_.isString(value) && value.slice(0, 1) === "=" && value.length > 1) {
60930
60630
  var _v4 = execfunction(ctx, value, r, c, undefined, undefined, true);
60931
60631
  value = {
60932
60632
  v: _v4[1],
@@ -60945,7 +60645,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
60945
60645
  }
60946
60646
  } else if (_.isPlainObject(value)) {
60947
60647
  var _valueFunction = value.f;
60948
- if (isFormula(_valueFunction)) {
60648
+ if (_.isString(_valueFunction) && _valueFunction.slice(0, 1) === "=" && _valueFunction.length > 1) {
60949
60649
  var _v5 = execfunction(ctx, _valueFunction, r, c, undefined, undefined, true);
60950
60650
  var _v6 = _slicedToArray(_v5, 3);
60951
60651
  value.v = _v6[1];
@@ -61003,11 +60703,6 @@ function updateCell(ctx, r, c, $input, value, canvas) {
61003
60703
  afterUpdateCell === null || afterUpdateCell === void 0 ? void 0 : afterUpdateCell(r, c, oldValue, newValue);
61004
60704
  });
61005
60705
  }
61006
- setFormulaCellInfo(ctx, {
61007
- r: r,
61008
- c: c,
61009
- id: ctx.currentSheetId
61010
- });
61011
60706
  ctx.formulaCache.execFunctionGlobalData = null;
61012
60707
  }
61013
60708
  function getOrigincell(ctx, r, c, i) {
@@ -61405,8 +61100,6 @@ var clipboard = /*#__PURE__*/function () {
61405
61100
  });
61406
61101
  document.execCommand("selectAll");
61407
61102
  document.execCommand("copy");
61408
- var plainText = ele.innerText || ele.textContent || "";
61409
- sessionStorage.setItem("localClipboard", plainText);
61410
61103
  setTimeout(function () {
61411
61104
  var _ele, _previouslyFocusedEle;
61412
61105
  (_ele = ele) === null || _ele === void 0 ? void 0 : _ele.blur();
@@ -61692,7 +61385,7 @@ function pasteHandlerOfPaintModel(ctx, copyRange) {
61692
61385
  }
61693
61386
  dataVerification["".concat(h, "_").concat(c)] = c_dataVerification["".concat(c_r1 + h - mth, "_").concat(c_c1 + c - mtc)];
61694
61387
  }
61695
- if (_.isPlainObject(x[c]) && x[c].mc) {
61388
+ if (isPlainObject(x[c]) && x[c].mc) {
61696
61389
  if (x[c].mc.rs) {
61697
61390
  delete cfg.merge["".concat(x[c].mc.r, "_").concat(x[c].mc.c)];
61698
61391
  }
@@ -61702,7 +61395,7 @@ function pasteHandlerOfPaintModel(ctx, copyRange) {
61702
61395
  if (copyData[h - mth] != null && copyData[h - mth][c - mtc] != null) {
61703
61396
  value = copyData[h - mth][c - mtc];
61704
61397
  }
61705
- if (_.isPlainObject(x[c])) {
61398
+ if (isPlainObject(x[c])) {
61706
61399
  if (x[c].ct && x[c].ct.t === "inlineStr" && value) {
61707
61400
  delete value.ct;
61708
61401
  } else {
@@ -62953,21 +62646,25 @@ function deleteSelectedCellText(ctx) {
62953
62646
  var _r4 = selection[_s].row[1];
62954
62647
  var _c3 = selection[_s].column[0];
62955
62648
  var _c4 = selection[_s].column[1];
62956
- var sheetIndex = getSheetIndex(ctx, ctx.currentSheetId);
62957
- if (sheetIndex !== null && ctx.luckysheetfile[sheetIndex].data) {
62958
- var _ctx$luckysheetfile$s;
62959
- var _ref = (_ctx$luckysheetfile$s = ctx.luckysheetfile[sheetIndex]) !== null && _ctx$luckysheetfile$s !== void 0 ? _ctx$luckysheetfile$s : {},
62960
- _ref$data = _ref.data,
62961
- data = _ref$data === void 0 ? [] : _ref$data;
62962
- for (var r = _r3; r <= _r4; r += 1) {
62963
- for (var c = _c3; c <= _c4; c += 1) {
62964
- if (!data[r]) data[r] = [];
62965
- if (data[r] && data[r][c]) {
62966
- data[r][c] = {};
62649
+ for (var r = _r3; r <= _r4; r += 1) {
62650
+ for (var c = _c3; c <= _c4; c += 1) {
62651
+ if (_.isPlainObject(d[r][c])) {
62652
+ var cell = d[r][c];
62653
+ delete cell.m;
62654
+ delete cell.v;
62655
+ if (cell.f != null) {
62656
+ delete cell.f;
62657
+ delFunctionGroup(ctx, r, c, ctx.currentSheetId);
62658
+ delete cell.spl;
62967
62659
  }
62968
- if (hyperlinkMap && hyperlinkMap["".concat(r, "_").concat(c)]) {
62969
- delete hyperlinkMap["".concat(r, "_").concat(c)];
62660
+ if (cell.ct != null && cell.ct.t === "inlineStr") {
62661
+ delete cell.ct;
62970
62662
  }
62663
+ } else {
62664
+ d[r][c] = null;
62665
+ }
62666
+ if (hyperlinkMap && hyperlinkMap["".concat(r, "_").concat(c)]) {
62667
+ delete hyperlinkMap["".concat(r, "_").concat(c)];
62971
62668
  }
62972
62669
  }
62973
62670
  }
@@ -62976,6 +62673,7 @@ function deleteSelectedCellText(ctx) {
62976
62673
  return "success";
62977
62674
  }
62978
62675
  function selectIsOverlap(ctx, range) {
62676
+ console.log("selectIsOverlap", ctx, range);
62979
62677
  return false;
62980
62678
  }
62981
62679
  function selectAll(ctx) {
@@ -63120,7 +62818,7 @@ function defaultContext(refs) {
63120
62818
  defaultrowNum: 84,
63121
62819
  addDefaultRows: 50,
63122
62820
  fullscreenmode: true,
63123
- devicePixelRatio: (typeof globalThis !== "undefined" ? globalThis : window).devicePixelRatio,
62821
+ devicePixelRatio: (globalThis || window).devicePixelRatio,
63124
62822
  contextMenu: {},
63125
62823
  sheetTabContextMenu: {},
63126
62824
  currentSheetId: "",
@@ -63340,7 +63038,6 @@ function defaultContext(refs) {
63340
63038
  defaultFontSize: 10,
63341
63039
  luckysheetPaintModelOn: false,
63342
63040
  luckysheetPaintSingle: false,
63343
- sheetFocused: true,
63344
63041
  defaultCell: {
63345
63042
  bl: 0,
63346
63043
  ct: {
@@ -65952,7 +65649,6 @@ function insertRowCol(ctx, op) {
65952
65649
  }
65953
65650
  }
65954
65651
  refreshLocalMergeData(merge_new, file);
65955
- ctx.formulaCache.formulaCellInfoMap = null;
65956
65652
  }
65957
65653
  function deleteRowCol(ctx, op) {
65958
65654
  var type = op.type;
@@ -66680,7 +66376,6 @@ function deleteRowCol(ctx, op) {
66680
66376
  file.dataVerification = newDataVerification;
66681
66377
  file.hyperlink = newHyperlink;
66682
66378
  refreshLocalMergeData(merge_new, file);
66683
- ctx.formulaCache.formulaCellInfoMap = null;
66684
66379
  if (file.id === ctx.currentSheetId) {
66685
66380
  ctx.config = cfg;
66686
66381
  }
@@ -66971,22 +66666,12 @@ function copySheet(ctx, sheetId) {
66971
66666
  sheetOrderList[ctx.luckysheetfile[ctx.luckysheetfile.length - 1].id] = order;
66972
66667
  setSheetOrder(ctx, sheetOrderList);
66973
66668
  }
66974
- function calculateSheetFromula(ctx, id, range) {
66669
+ function calculateSheetFromula(ctx, id) {
66975
66670
  var index$1 = getSheetIndex(ctx, id);
66976
66671
  if (!ctx.luckysheetfile[index$1].data) return;
66977
- if (!range) {
66978
- range = {
66979
- row: [0, ctx.luckysheetfile[index$1].data.length - 1],
66980
- column: [0, ctx.luckysheetfile[index$1].data[0].length - 1]
66981
- };
66982
- }
66983
- var rowCount = range.row[1] - range.row[0] + 1;
66984
- var columnCount = range.column[1] - range.column[0] + 1;
66985
- for (var _r = 0; _r < rowCount; _r += 1) {
66986
- for (var _c = 0; _c < columnCount; _c += 1) {
66672
+ for (var r = 0; r < ctx.luckysheetfile[index$1].data.length; r += 1) {
66673
+ for (var c = 0; c < ctx.luckysheetfile[index$1].data[r].length; c += 1) {
66987
66674
  var _ctx$luckysheetfile$i, _ctx$luckysheetfile$i2;
66988
- var r = range.row[0] + _r;
66989
- var c = range.column[0] + _c;
66990
66675
  if (!((_ctx$luckysheetfile$i = ctx.luckysheetfile[index$1].data[r][c]) === null || _ctx$luckysheetfile$i === void 0 ? void 0 : _ctx$luckysheetfile$i.f)) {
66991
66676
  continue;
66992
66677
  }
@@ -66996,15 +66681,6 @@ function calculateSheetFromula(ctx, id, range) {
66996
66681
  }
66997
66682
  }
66998
66683
  }
66999
- function calculateFormula(ctx, id, range) {
67000
- if (id) {
67001
- calculateSheetFromula(ctx, id, range);
67002
- return;
67003
- }
67004
- _.forEach(ctx.luckysheetfile, function (sheet_obj) {
67005
- calculateSheetFromula(ctx, sheet_obj.id, range);
67006
- });
67007
- }
67008
66684
 
67009
66685
  function storeSheetParam(ctx) {
67010
66686
  var index = getSheetIndex(ctx, ctx.currentSheetId);
@@ -67149,11 +66825,6 @@ function updateSheet(ctx, newData) {
67149
66825
  for (var i = 0; i < data.length; i += 1) {
67150
66826
  for (var j = 0; j < data[i].length; j += 1) {
67151
66827
  expandedData[i][j] = data[i][j];
67152
- setFormulaCellInfo(ctx, {
67153
- r: i,
67154
- c: j,
67155
- id: newDatum.id
67156
- }, data);
67157
66828
  }
67158
66829
  }
67159
66830
  newDatum.data = expandedData;
@@ -67163,16 +66834,7 @@ function updateSheet(ctx, newData) {
67163
66834
  ctx.luckysheetfile[index] = newDatum;
67164
66835
  }
67165
66836
  } else if (newDatum.celldata != null) {
67166
- var _newDatum$celldata;
67167
66837
  initSheetData(ctx, index, newDatum);
67168
- var _index = getSheetIndex(ctx, newDatum.id);
67169
- (_newDatum$celldata = newDatum.celldata) === null || _newDatum$celldata === void 0 ? void 0 : _newDatum$celldata.forEach(function (d) {
67170
- setFormulaCellInfo(ctx, {
67171
- r: d.r,
67172
- c: d.c,
67173
- id: newDatum.id
67174
- }, ctx.luckysheetfile[_index].data);
67175
- });
67176
66838
  }
67177
66839
  });
67178
66840
  }
@@ -67466,11 +67128,6 @@ function runExecFunction(ctx, range, index, data) {
67466
67128
  for (var s = 0; s < range.length; s += 1) {
67467
67129
  for (var r = range[s].row[0]; r <= range[s].row[1]; r += 1) {
67468
67130
  for (var c = range[s].column[0]; c <= range[s].column[1]; c += 1) {
67469
- setFormulaCellInfo(ctx, {
67470
- r: r,
67471
- c: c,
67472
- id: index
67473
- }, data);
67474
67131
  ctx.formulaCache.execFunctionExist.push({
67475
67132
  r: r,
67476
67133
  c: c,
@@ -67775,7 +67432,7 @@ function goToLink(ctx, r, c, linkType, linkAddress, scrollbarX, scrollbarY) {
67775
67432
  scrollbarX.scrollLeft = col_pre;
67776
67433
  scrollbarY.scrollLeft = row_pre;
67777
67434
  ctx.luckysheet_select_save = normalizeSelection(ctx, [range]);
67778
- changeSheet(ctx, range.sheetId || ctx.currentSheetId);
67435
+ changeSheet(ctx, range.sheetId);
67779
67436
  }
67780
67437
  ctx.linkCard = undefined;
67781
67438
  }
@@ -68754,13 +68411,6 @@ function autoSelectionFormula(ctx, cellInput, fxInput, formula, cache) {
68754
68411
  });
68755
68412
  if (!isfalse) {
68756
68413
  ctx.formulaCache.execFunctionExist.reverse();
68757
- ctx.formulaCache.execFunctionExist.forEach(function (formulaCell) {
68758
- setFormulaCellInfo(ctx, {
68759
- r: formulaCell.r,
68760
- c: formulaCell.c,
68761
- id: ctx.currentSheetId
68762
- }, flowdata);
68763
- });
68764
68414
  execFunctionGroup(ctx, null, null, null, null, flowdata);
68765
68415
  ctx.formulaCache.execFunctionGlobalData = null;
68766
68416
  }
@@ -69138,9 +68788,7 @@ function handleBorder(ctx, type, borderColor, borderStyle) {
69138
68788
  function handleMerge(ctx, type) {
69139
68789
  var allowEdit = isAllowEdit(ctx);
69140
68790
  if (!allowEdit) return;
69141
- if (selectIsOverlap()) {
69142
- return;
69143
- }
68791
+ if (selectIsOverlap(ctx)) ;
69144
68792
  if (ctx.config.merge != null) {
69145
68793
  var has_PartMC = false;
69146
68794
  if (!ctx.luckysheet_select_save) return;
@@ -76623,7 +76271,7 @@ var index = /*#__PURE__*/Object.freeze({
76623
76271
  hideSheet: hideSheet,
76624
76272
  showSheet: showSheet,
76625
76273
  copySheet: copySheet,
76626
- calculateFormula: calculateFormula,
76274
+ calculateSheetFromula: calculateSheetFromula,
76627
76275
  addSheet: addSheet$1,
76628
76276
  deleteSheet: deleteSheet$1,
76629
76277
  updateSheet: updateSheet$1,
@@ -76731,7 +76379,7 @@ function handleCopy(ctx) {
76731
76379
  isSameCol = false;
76732
76380
  }
76733
76381
  }
76734
- if (!isSameRow && !isSameCol || selectIsOverlap()) {
76382
+ if (!isSameRow && !isSameCol || selectIsOverlap(ctx)) {
76735
76383
  return;
76736
76384
  }
76737
76385
  }
@@ -76929,72 +76577,6 @@ function handleWithCtrlOrMetaKey(ctx, cache, e, cellInput, fxInput, handleUndo,
76929
76577
  return;
76930
76578
  } else if (e.code === "KeyA") {
76931
76579
  selectAll(ctx);
76932
- } else if (e.code === "KeyD") {
76933
- if (!ctx.luckysheet_select_save || ctx.luckysheet_select_save.length === 0) {
76934
- return;
76935
- }
76936
- e.preventDefault();
76937
- e.stopPropagation();
76938
- var selectedRange = ctx.luckysheet_select_save[0];
76939
- var row = selectedRange.row,
76940
- column = selectedRange.column;
76941
- if (!row || !column) return;
76942
- if (!isAllowEdit(ctx)) return;
76943
- for (var col = column[0]; col <= column[1]; col += 1) {
76944
- var _flowdata$row$;
76945
- var sourceCell = flowdata === null || flowdata === void 0 ? void 0 : (_flowdata$row$ = flowdata[row[0]]) === null || _flowdata$row$ === void 0 ? void 0 : _flowdata$row$[col];
76946
- if (!sourceCell) continue;
76947
- var sourceValue = sourceCell.v;
76948
- var sourceFormula = sourceCell.f;
76949
- var _loop = function _loop(r) {
76950
- if (sourceFormula) {
76951
- var newFormula = sourceFormula.replace(/(\$?[A-Z]+)(\$?)(\d+)/g, function (match, colRef, dollar, rowNum) {
76952
- return dollar ? match : "".concat(colRef).concat(parseInt(rowNum, 10) + (r - row[0]));
76953
- });
76954
- updateCell(ctx, r, col, null, newFormula);
76955
- } else {
76956
- updateCell(ctx, r, col, null, sourceValue);
76957
- }
76958
- };
76959
- for (var r = row[0] + 1; r <= row[1]; r += 1) {
76960
- _loop(r);
76961
- }
76962
- }
76963
- jfrefreshgrid(ctx, null, undefined);
76964
- } else if (e.code === "KeyR") {
76965
- if (!ctx.luckysheet_select_save || ctx.luckysheet_select_save.length === 0) {
76966
- return;
76967
- }
76968
- e.preventDefault();
76969
- e.stopPropagation();
76970
- var _selectedRange = ctx.luckysheet_select_save[0];
76971
- var _row = _selectedRange.row,
76972
- _column = _selectedRange.column;
76973
- if (!_row || !_column) return;
76974
- if (!isAllowEdit(ctx)) return;
76975
- for (var _r = _row[0]; _r <= _row[1]; _r += 1) {
76976
- var _flowdata$_r;
76977
- var _sourceCell = flowdata === null || flowdata === void 0 ? void 0 : (_flowdata$_r = flowdata[_r]) === null || _flowdata$_r === void 0 ? void 0 : _flowdata$_r[_column[0]];
76978
- if (!_sourceCell) continue;
76979
- var _sourceValue = _sourceCell.v;
76980
- var _sourceFormula = _sourceCell.f;
76981
- var _loop2 = function _loop2(c) {
76982
- if (_sourceFormula) {
76983
- var newFormula = _sourceFormula.replace(/(\$?[A-Z]+)(\$?)(\d+)/g, function (match, colRef, dollar, rowNum) {
76984
- if (dollar) return match;
76985
- var colIndex = colRef.charCodeAt(0) - 65 + (c - _column[0]);
76986
- return "".concat(String.fromCharCode(65 + colIndex)).concat(rowNum);
76987
- });
76988
- updateCell(ctx, _r, c, null, newFormula);
76989
- } else {
76990
- updateCell(ctx, _r, c, null, _sourceValue);
76991
- }
76992
- };
76993
- for (var c = _column[0] + 1; c <= _column[1]; c += 1) {
76994
- _loop2(c);
76995
- }
76996
- }
76997
- jfrefreshgrid(ctx, null, undefined);
76998
76580
  }
76999
76581
  e.preventDefault();
77000
76582
  }
@@ -77055,27 +76637,6 @@ function handleGlobalKeyDown(ctx, cellInput, fxInput, e, cache, handleUndo, hand
77055
76637
  if (ctx.luckysheetCellUpdate.length > 0 && kstr !== "Enter" && kstr !== "Tab" && kstr !== "ArrowUp" && kstr !== "ArrowDown" && kstr !== "ArrowLeft" && kstr !== "ArrowRight") {
77056
76638
  return;
77057
76639
  }
77058
- if (e.ctrlKey && e.shiftKey && kstr === "F") {
77059
- ctx.sheetFocused = !ctx.sheetFocused;
77060
- e.preventDefault();
77061
- if (ctx.sheetFocused) {
77062
- var selectedCell = document.querySelector(".luckysheet-cell-input");
77063
- if (selectedCell) {
77064
- selectedCell.setAttribute("tabindex", "-1");
77065
- selectedCell.focus();
77066
- }
77067
- } else {
77068
- var toolbar = document.querySelector(".fortune-toolbar");
77069
- if (toolbar) {
77070
- toolbar.setAttribute("tabindex", "-1");
77071
- toolbar.focus();
77072
- }
77073
- }
77074
- return;
77075
- }
77076
- if (!ctx.sheetFocused) {
77077
- return;
77078
- }
77079
76640
  if (kstr === "Enter") {
77080
76641
  if (!allowEdit) return;
77081
76642
  handleGlobalEnter(ctx, cellInput, e, canvas);
@@ -77116,7 +76677,7 @@ function handleGlobalKeyDown(ctx, cellInput, fxInput, e, cache, handleUndo, hand
77116
76677
  handleShiftWithArrowKey(ctx, e);
77117
76678
  } else if (kstr === "Escape") {
77118
76679
  ctx.contextMenu = {};
77119
- } else if (kstr.toLowerCase() === "delete" || kstr.toLowerCase() === "backspace") {
76680
+ } else if (kstr === "Delete" || kstr === "Backspace") {
77120
76681
  if (!allowEdit) return;
77121
76682
  if (ctx.activeImg != null) {
77122
76683
  removeActiveImage(ctx);
@@ -78925,11 +78486,6 @@ function postPasteCut(ctx, source, target, RowlChange) {
78925
78486
  ctx.formulaCache.execFunctionExist = [];
78926
78487
  for (var r = source.range.row[0]; r <= source.range.row[1]; r += 1) {
78927
78488
  for (var c = source.range.column[0]; c <= source.range.column[1]; c += 1) {
78928
- setFormulaCellInfo(ctx, {
78929
- r: r,
78930
- c: c,
78931
- id: source.sheetId
78932
- });
78933
78489
  if ("".concat(r, "_").concat(c, "_").concat(source.sheetId) in execF_rc) {
78934
78490
  continue;
78935
78491
  }
@@ -78943,11 +78499,6 @@ function postPasteCut(ctx, source, target, RowlChange) {
78943
78499
  }
78944
78500
  for (var _r = target.range.row[0]; _r <= target.range.row[1]; _r += 1) {
78945
78501
  for (var _c = target.range.column[0]; _c <= target.range.column[1]; _c += 1) {
78946
- setFormulaCellInfo(ctx, {
78947
- r: _r,
78948
- c: _c,
78949
- id: source.sheetId
78950
- });
78951
78502
  if ("".concat(_r, "_").concat(_c, "_").concat(target.sheetId) in execF_rc) {
78952
78503
  continue;
78953
78504
  }
@@ -80273,4 +79824,4 @@ function handlePasteByClick(ctx, clipboardData, triggerType) {
80273
79824
  } else ;
80274
79825
  }
80275
79826
 
80276
- 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, 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, escapeScriptTag, execFunctionGroup, execfunction, expandRowsAndColumns, extractFormulaCellOps, filterPatch, fixColumnStyleOverflowInFreeze, fixPositionOnFrozenCells, fixRowStyleOverflowInFreeze, functionCopy, functionHTMLGenerate, functionStrChange, genarate, generateRandomId, generateRandomSheetName, getAllFunctionGroup, getArrowCanvasSize, getBorderInfoCompute, getBorderInfoComputeRange, getCellHyperlink, getCellRowColumn, getCellTextInfo, getCellTopRightPostion, getCellValue, getColMerge, getColorGradation, getCommentBoxByRC, getCommentBoxPosition, getComputeMap, getCurrentRules, getDataArr, getDataBySelectionNoCopy, getDropdownList, getFailureText, getFilterColumnColors, getFilterColumnValues, getFlattenedRange, getFlowdata, getFontSet, getFontStyleByCell, getFrozenHandleLeft, getFrozenHandleTop, 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, handleCellAreaMouseDown, 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, 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, isFormula, isFunctionRange, 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, setFormulaCellInfoMap, 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 };
79827
+ 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, 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, escapeScriptTag, execFunctionGroup, execfunction, expandRowsAndColumns, extractFormulaCellOps, filterPatch, fixColumnStyleOverflowInFreeze, fixPositionOnFrozenCells, fixRowStyleOverflowInFreeze, functionCopy, functionHTMLGenerate, functionStrChange, genarate, generateRandomId, generateRandomSheetName, getAllFunctionGroup, getArrowCanvasSize, getBorderInfoCompute, getBorderInfoComputeRange, getCellHyperlink, getCellRowColumn, getCellTextInfo, getCellTopRightPostion, getCellValue, getColMerge, getColorGradation, getCommentBoxByRC, getCommentBoxPosition, getComputeMap, getCurrentRules, getDataArr, getDataBySelectionNoCopy, getDropdownList, getFailureText, getFilterColumnColors, getFilterColumnValues, getFlattenedRange, getFlowdata, getFontSet, getFontStyleByCell, getFrozenHandleLeft, getFrozenHandleTop, 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, handleCellAreaMouseDown, 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, 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, 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 };