@fileverse-dev/fortune-core 1.0.2-mod-11 → 1.0.2-mod-12
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/api/sheet.d.ts +2 -2
- package/dist/context.d.ts +1 -0
- package/dist/index.esm.js +781 -332
- package/dist/index.js +782 -330
- package/dist/locale/en.d.ts +29 -0
- package/dist/locale/es.d.ts +29 -0
- package/dist/locale/hi.d.ts +29 -0
- package/dist/locale/index.d.ts +29 -0
- package/dist/locale/zh.d.ts +29 -0
- package/dist/locale/zh_tw.d.ts +29 -0
- package/dist/modules/cell.d.ts +2 -2
- package/dist/modules/formula.d.ts +8 -3
- package/dist/modules/formulaHelper.d.ts +5 -0
- package/dist/modules/validation.d.ts +1 -1
- package/dist/types.d.ts +33 -0
- package/package.json +2 -2
package/dist/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _
|
|
1
|
+
import _ 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,6 +8995,7 @@ var en = {
|
|
|
8995
8995
|
moreFormats: "More formats",
|
|
8996
8996
|
"border-all": "Border All",
|
|
8997
8997
|
"merge-all": "Merge All Cell",
|
|
8998
|
+
format: "Format",
|
|
8998
8999
|
font: "Font",
|
|
8999
9000
|
"font-size": "Font size",
|
|
9000
9001
|
bold: "Bold (Ctrl+B)",
|
|
@@ -9124,7 +9125,30 @@ var en = {
|
|
|
9124
9125
|
tipInputNumberLimit: "The increase range is limited to 1-100",
|
|
9125
9126
|
tipRowHeightLimit: "Row height must be between 0 ~ 545",
|
|
9126
9127
|
tipColumnWidthLimit: "The column width must be between 0 ~ 2038",
|
|
9127
|
-
pageInfoFull: "Total ${total},${totalPage} page,All data displayed"
|
|
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"
|
|
9128
9152
|
},
|
|
9129
9153
|
currencyDetail: [{
|
|
9130
9154
|
name: "RMB",
|
|
@@ -9721,7 +9745,7 @@ var en = {
|
|
|
9721
9745
|
}, {
|
|
9722
9746
|
name: "Indian Rupee",
|
|
9723
9747
|
pos: "before",
|
|
9724
|
-
value: "
|
|
9748
|
+
value: "₹"
|
|
9725
9749
|
}, {
|
|
9726
9750
|
name: "Indonesian Rupiah",
|
|
9727
9751
|
pos: "before",
|
|
@@ -9751,6 +9775,19 @@ var en = {
|
|
|
9751
9775
|
pos: "before",
|
|
9752
9776
|
value: "FCFA"
|
|
9753
9777
|
}],
|
|
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
|
+
}],
|
|
9754
9791
|
defaultFmt: function defaultFmt(currency) {
|
|
9755
9792
|
return [{
|
|
9756
9793
|
text: "Auto",
|
|
@@ -19531,6 +19568,7 @@ var zh = {
|
|
|
19531
19568
|
moreFormats: "更多格式",
|
|
19532
19569
|
"border-all": "所有边框",
|
|
19533
19570
|
"merge-all": "全部合并单元格",
|
|
19571
|
+
format: "格式",
|
|
19534
19572
|
font: "字体",
|
|
19535
19573
|
"font-size": "字号",
|
|
19536
19574
|
bold: "粗体 (Ctrl+B)",
|
|
@@ -19660,7 +19698,30 @@ var zh = {
|
|
|
19660
19698
|
tipInputNumberLimit: "增加范围限制在1-100",
|
|
19661
19699
|
tipRowHeightLimit: "行高必须在0 ~ 545之间",
|
|
19662
19700
|
tipColumnWidthLimit: "列宽必须在0 ~ 2038之间",
|
|
19663
|
-
pageInfoFull: "共${total}条,${totalPage}页,已显示全部数据"
|
|
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: "键盘快捷键"
|
|
19664
19725
|
},
|
|
19665
19726
|
currencyDetail: [{
|
|
19666
19727
|
name: "人民币",
|
|
@@ -20287,6 +20348,19 @@ var zh = {
|
|
|
20287
20348
|
pos: "before",
|
|
20288
20349
|
value: "FCFA"
|
|
20289
20350
|
}],
|
|
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
|
+
}],
|
|
20290
20364
|
defaultFmt: function defaultFmt(currency) {
|
|
20291
20365
|
return [{
|
|
20292
20366
|
text: "自动",
|
|
@@ -30095,6 +30169,7 @@ var es = {
|
|
|
30095
30169
|
numberDecrease: "Menos decimales",
|
|
30096
30170
|
numberIncrease: "Más decimales",
|
|
30097
30171
|
moreFormats: "Más formatos",
|
|
30172
|
+
format: "Formato",
|
|
30098
30173
|
font: "Fuente",
|
|
30099
30174
|
"font-size": "Tamaño Fuente",
|
|
30100
30175
|
bold: "Negrita (Ctrl+B)",
|
|
@@ -30212,7 +30287,30 @@ var es = {
|
|
|
30212
30287
|
tipInputNumberLimit: "El rango de aumento está limitado a 1-100",
|
|
30213
30288
|
tipRowHeightLimit: "La altura de la fila debe estar entre 0 ~ 545",
|
|
30214
30289
|
tipColumnWidthLimit: "El ancho de la columna debe estar entre 0 ~ 2038",
|
|
30215
|
-
pageInfoFull: "Total ${total},página ${totalPage},Se muestran todos los datos"
|
|
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"
|
|
30216
30314
|
},
|
|
30217
30315
|
currencyDetail: {
|
|
30218
30316
|
RMB: "RMB",
|
|
@@ -30373,6 +30471,19 @@ var es = {
|
|
|
30373
30471
|
ChileanPeso: "Chilean Peso",
|
|
30374
30472
|
CFAFrancBEAC: "CFA Franc BEAC"
|
|
30375
30473
|
},
|
|
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
|
+
}],
|
|
30376
30487
|
defaultFmt: function defaultFmt(currency) {
|
|
30377
30488
|
return [{
|
|
30378
30489
|
text: "Automático",
|
|
@@ -40121,6 +40232,7 @@ var hi = {
|
|
|
40121
40232
|
"number-decrease": "दशमलव स्थान घटाएँ",
|
|
40122
40233
|
"number-increase": "दशमलव स्थान बढ़ाएँ",
|
|
40123
40234
|
moreFormats: "अधिक फॉर्मेट",
|
|
40235
|
+
format: "प्रारूप",
|
|
40124
40236
|
"border-all": "सभी सीमाएँ",
|
|
40125
40237
|
"merge-all": "सभी सेल मिलाएँ",
|
|
40126
40238
|
font: "फ़ॉन्ट",
|
|
@@ -40252,7 +40364,30 @@ var hi = {
|
|
|
40252
40364
|
tipInputNumberLimit: "वृद्धि सीमा 1-100 तक सीमित है",
|
|
40253
40365
|
tipRowHeightLimit: "पंक्ति की ऊँचाई 0 ~ 545 के बीच होनी चाहिए",
|
|
40254
40366
|
tipColumnWidthLimit: "कॉलम की चौड़ाई 0 ~ 2038 के बीच होनी चाहिए",
|
|
40255
|
-
pageInfoFull: "कुल ${total},${totalPage} पृष्ठ,सभी डेटा प्रदर्शित"
|
|
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: "कुंजीपटल अल्प मार्ग"
|
|
40256
40391
|
},
|
|
40257
40392
|
currencyDetail: [{
|
|
40258
40393
|
name: "चीनी युआन",
|
|
@@ -40879,6 +41014,19 @@ var hi = {
|
|
|
40879
41014
|
pos: "before",
|
|
40880
41015
|
value: "FCFA"
|
|
40881
41016
|
}],
|
|
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
|
+
}],
|
|
40882
41030
|
defaultFmt: function defaultFmt(currency) {
|
|
40883
41031
|
return [{
|
|
40884
41032
|
text: "स्वचालित",
|
|
@@ -50655,6 +50803,7 @@ var zh_tw = {
|
|
|
50655
50803
|
numberDecrease: "减少小數位數",
|
|
50656
50804
|
numberIncrease: "新增小數位數",
|
|
50657
50805
|
moreFormats: "更多格式",
|
|
50806
|
+
format: "格式",
|
|
50658
50807
|
font: "字體",
|
|
50659
50808
|
"font-size": "字型大小",
|
|
50660
50809
|
bold: "粗體(Ctrl+B)",
|
|
@@ -50773,7 +50922,30 @@ var zh_tw = {
|
|
|
50773
50922
|
tipInputNumberLimit: "新增範圍限制在1-100",
|
|
50774
50923
|
tipRowHeightLimit: "行高必須在0 ~ 545之間",
|
|
50775
50924
|
tipColumnWidthLimit: "列寬必須在0 ~ 2038之間",
|
|
50776
|
-
pageInfoFull: "共${total}條,${totalPage}頁,已顯示全部數據"
|
|
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: "鍵盤快速鍵"
|
|
50777
50949
|
},
|
|
50778
50950
|
currencyDetail: {
|
|
50779
50951
|
RMB: "人民幣",
|
|
@@ -50934,6 +51106,19 @@ var zh_tw = {
|
|
|
50934
51106
|
ChileanPeso: "智利比索",
|
|
50935
51107
|
CFAFrancBEAC: "中非金融合作法郎"
|
|
50936
51108
|
},
|
|
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
|
+
}],
|
|
50937
51122
|
defaultFmt: function defaultFmt(currency) {
|
|
50938
51123
|
return [{
|
|
50939
51124
|
text: "自動",
|
|
@@ -53135,6 +53320,7 @@ function getCellTextInfo(cell, renderCtx, sheetCtx, option, ctx) {
|
|
|
53135
53320
|
}
|
|
53136
53321
|
} else {
|
|
53137
53322
|
value = value.toString();
|
|
53323
|
+
var parsedTextHeight = 0;
|
|
53138
53324
|
while (_i5 <= value.length) {
|
|
53139
53325
|
var str = value.substring(anchor, _i5);
|
|
53140
53326
|
var _measureText3 = getMeasureText(str, renderCtx, sheetCtx);
|
|
@@ -53230,6 +53416,8 @@ function getCellTextInfo(cell, renderCtx, sheetCtx, option, ctx) {
|
|
|
53230
53416
|
});
|
|
53231
53417
|
splitIndex += 1;
|
|
53232
53418
|
spaceOrTwoByte = null;
|
|
53419
|
+
parsedTextHeight += preTextHeight;
|
|
53420
|
+
if (parsedTextHeight >= cellHeight) break;
|
|
53233
53421
|
} else {
|
|
53234
53422
|
spaceOrTwoByte = null;
|
|
53235
53423
|
anchor = _i5 - 1;
|
|
@@ -53246,6 +53434,8 @@ function getCellTextInfo(cell, renderCtx, sheetCtx, option, ctx) {
|
|
|
53246
53434
|
fs: fontSize
|
|
53247
53435
|
});
|
|
53248
53436
|
splitIndex += 1;
|
|
53437
|
+
parsedTextHeight += preTextHeight;
|
|
53438
|
+
if (parsedTextHeight >= cellHeight) break;
|
|
53249
53439
|
}
|
|
53250
53440
|
} else if (_i5 === value.length) {
|
|
53251
53441
|
if (_.isNil(text_all_split[splitIndex])) {
|
|
@@ -53625,9 +53815,9 @@ function isRealNum(val) {
|
|
|
53625
53815
|
}
|
|
53626
53816
|
return !Number.isNaN(Number(val));
|
|
53627
53817
|
}
|
|
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}))?)?$/;
|
|
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)?$/;
|
|
53631
53821
|
if (!reg1.test(str) && !reg2.test(str)) {
|
|
53632
53822
|
return false;
|
|
53633
53823
|
}
|
|
@@ -53654,10 +53844,11 @@ function checkDateTime(str) {
|
|
|
53654
53844
|
return true;
|
|
53655
53845
|
}
|
|
53656
53846
|
function isdatetime(s) {
|
|
53847
|
+
var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "24";
|
|
53657
53848
|
if (s === null || s.toString().length < 5) {
|
|
53658
53849
|
return false;
|
|
53659
53850
|
}
|
|
53660
|
-
if (checkDateTime(s)) {
|
|
53851
|
+
if (checkDateTime(s, format)) {
|
|
53661
53852
|
return true;
|
|
53662
53853
|
}
|
|
53663
53854
|
return false;
|
|
@@ -53787,6 +53978,8 @@ function hasPartMC(ctx, cfg, r1, r2, c1, c2) {
|
|
|
53787
53978
|
return ret;
|
|
53788
53979
|
}
|
|
53789
53980
|
|
|
53981
|
+
var JAN_1_1900 = 1;
|
|
53982
|
+
var DEC_31_9999 = 2958465;
|
|
53790
53983
|
var SSF = {};
|
|
53791
53984
|
var make_ssf = function make_ssf(SSF) {
|
|
53792
53985
|
SSF.version = "0.11.2";
|
|
@@ -53944,8 +54137,44 @@ var make_ssf = function make_ssf(SSF) {
|
|
|
53944
54137
|
var q = Math.floor(sgn * P / Q);
|
|
53945
54138
|
return [q, sgn * P - q * Q, Q];
|
|
53946
54139
|
}
|
|
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
|
+
}
|
|
53947
54175
|
function parse_date_code(v, opts, b2) {
|
|
53948
|
-
|
|
54176
|
+
var _v$includes;
|
|
54177
|
+
if (v > DEC_31_9999 || v < JAN_1_1900) return null;
|
|
53949
54178
|
var date = v | 0,
|
|
53950
54179
|
time = Math.floor(86400 * (v - date)),
|
|
53951
54180
|
dow = 0;
|
|
@@ -53988,6 +54217,9 @@ var make_ssf = function make_ssf(SSF) {
|
|
|
53988
54217
|
if (date < 60) dow = (dow + 6) % 7;
|
|
53989
54218
|
if (b2) dow = fix_hijri(d, dout);
|
|
53990
54219
|
}
|
|
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
|
+
}
|
|
53991
54223
|
out.y = dout[0];
|
|
53992
54224
|
out.m = dout[1];
|
|
53993
54225
|
out.d = dout[2];
|
|
@@ -54891,7 +55123,7 @@ var make_ssf = function make_ssf(SSF) {
|
|
|
54891
55123
|
break;
|
|
54892
55124
|
default:
|
|
54893
55125
|
// if ("¤฿BsBr₵₡₫ƒFtRs.₭kr£₤Lm₥₦₱PQRSkRp৲৳R$S/.〒₮₩¥NT¥zł₴₪៛руб€$,$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);
|
|
54894
|
-
if ("
|
|
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);
|
|
54895
55127
|
out[out.length] = {
|
|
54896
55128
|
t: "t",
|
|
54897
55129
|
v: c
|
|
@@ -55566,7 +55798,7 @@ function genarate(value) {
|
|
|
55566
55798
|
t: "n"
|
|
55567
55799
|
};
|
|
55568
55800
|
v = parseFloat(value);
|
|
55569
|
-
} else if (isdatetime(value) && (value.toString().indexOf(".") > -1 || value.toString().indexOf(":") > -1 || value.toString().length < 16)) {
|
|
55801
|
+
} else if (isdatetime(value, "24") && (value.toString().indexOf(".") > -1 || value.toString().indexOf(":") > -1 || value.toString().length < 16)) {
|
|
55570
55802
|
v = datenum_local(parseDate(value.toString().replace(/-/g, "/")));
|
|
55571
55803
|
if (v.toString().indexOf(".") > -1) {
|
|
55572
55804
|
if (value.toString().length > 18) {
|
|
@@ -55581,6 +55813,21 @@ function genarate(value) {
|
|
|
55581
55813
|
}
|
|
55582
55814
|
ct.t = "d";
|
|
55583
55815
|
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);
|
|
55584
55831
|
} else {
|
|
55585
55832
|
m = value;
|
|
55586
55833
|
ct.fa = "General";
|
|
@@ -55680,6 +55927,203 @@ function colLocation(x, visibleCol) {
|
|
|
55680
55927
|
return colLocationByIndex(col_index, visibleCol);
|
|
55681
55928
|
}
|
|
55682
55929
|
|
|
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
|
+
|
|
55683
56127
|
var functionHTMLIndex = 0;
|
|
55684
56128
|
var rangeIndexes = [];
|
|
55685
56129
|
var operatorPriority = {
|
|
@@ -55701,6 +56145,9 @@ var sheetNameRegexp = "(".concat(simpleSheetName, "|").concat(quotedSheetName, "
|
|
|
55701
56145
|
var rowColumnRegexp = "[$]?[A-Za-z]+[$]?[0-9]+";
|
|
55702
56146
|
var rowColumnWithSheetName = "(?:".concat(sheetNameRegexp, ")?(").concat(rowColumnRegexp, ")");
|
|
55703
56147
|
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
|
+
}
|
|
55704
56151
|
var FormulaCache = /*#__PURE__*/function () {
|
|
55705
56152
|
function FormulaCache() {
|
|
55706
56153
|
_classCallCheck(this, FormulaCache);
|
|
@@ -55727,11 +56174,13 @@ var FormulaCache = /*#__PURE__*/function () {
|
|
|
55727
56174
|
this.functionlistMap = void 0;
|
|
55728
56175
|
this.execFunctionExist = void 0;
|
|
55729
56176
|
this.execFunctionGlobalData = void 0;
|
|
56177
|
+
this.formulaCellInfoMap = void 0;
|
|
55730
56178
|
var that = this;
|
|
55731
56179
|
this.data_parm_index = 0;
|
|
55732
56180
|
this.selectingRangeIndex = -1;
|
|
55733
56181
|
this.functionlistMap = {};
|
|
55734
56182
|
this.execFunctionGlobalData = {};
|
|
56183
|
+
this.formulaCellInfoMap = null;
|
|
55735
56184
|
this.cellTextToIndexList = {};
|
|
55736
56185
|
this.parser = new Parser();
|
|
55737
56186
|
this.parser.on("callCellValue", function (cellCoord, options, done) {
|
|
@@ -55792,6 +56241,38 @@ var FormulaCache = /*#__PURE__*/function () {
|
|
|
55792
56241
|
}
|
|
55793
56242
|
return cell === null || cell === void 0 ? void 0 : cell.v;
|
|
55794
56243
|
}
|
|
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
|
+
}
|
|
55795
56276
|
}]);
|
|
55796
56277
|
}();
|
|
55797
56278
|
function parseElement(eleString) {
|
|
@@ -55856,14 +56337,14 @@ function addToCellIndexList(ctx, txt, infoObj) {
|
|
|
55856
56337
|
ctx.formulaCache.cellTextToIndexList["".concat(txt, "_").concat(infoObj.sheetId)] = infoObj;
|
|
55857
56338
|
}
|
|
55858
56339
|
}
|
|
55859
|
-
function getcellrange(ctx, txt, formulaId) {
|
|
56340
|
+
function getcellrange(ctx, txt, formulaId, data) {
|
|
55860
56341
|
if (_.isNil(txt) || txt.length === 0) {
|
|
55861
56342
|
return null;
|
|
55862
56343
|
}
|
|
55863
|
-
var flowdata = getFlowdata(ctx, formulaId);
|
|
56344
|
+
var flowdata = data || getFlowdata(ctx, formulaId);
|
|
55864
56345
|
var sheettxt = "";
|
|
55865
56346
|
var rangetxt = "";
|
|
55866
|
-
var sheetId
|
|
56347
|
+
var sheetId;
|
|
55867
56348
|
var sheetdata = null;
|
|
55868
56349
|
var luckysheetfile = ctx.luckysheetfile;
|
|
55869
56350
|
if (txt.indexOf("!") > -1) {
|
|
@@ -55927,8 +56408,8 @@ function getcellrange(ctx, txt, formulaId) {
|
|
|
55927
56408
|
return null;
|
|
55928
56409
|
}
|
|
55929
56410
|
var rangetxtArr = rangetxt.split(":");
|
|
55930
|
-
var row = [];
|
|
55931
|
-
var col = [];
|
|
56411
|
+
var row = [-1, -1];
|
|
56412
|
+
var col = [-1, -1];
|
|
55932
56413
|
row[0] = parseInt(rangetxtArr[0].replace(/[^0-9]/g, ""), 10) - 1;
|
|
55933
56414
|
row[1] = parseInt(rangetxtArr[1].replace(/[^0-9]/g, ""), 10) - 1;
|
|
55934
56415
|
if (Number.isNaN(row[0])) {
|
|
@@ -56240,7 +56721,7 @@ function delFunctionGroup(ctx, r, c, id) {
|
|
|
56240
56721
|
var calcChain = file.calcChain;
|
|
56241
56722
|
if (!_.isNil(calcChain)) {
|
|
56242
56723
|
var modified = false;
|
|
56243
|
-
var calcChainClone =
|
|
56724
|
+
var calcChainClone = calcChain.slice();
|
|
56244
56725
|
for (var _i4 = 0; _i4 < calcChainClone.length; _i4 += 1) {
|
|
56245
56726
|
var calc = calcChainClone[_i4];
|
|
56246
56727
|
if (calc.r === r && calc.c === c && calc.id === id) {
|
|
@@ -56256,7 +56737,7 @@ function delFunctionGroup(ctx, r, c, id) {
|
|
|
56256
56737
|
var dynamicArray = file.dynamicArray;
|
|
56257
56738
|
if (!_.isNil(dynamicArray)) {
|
|
56258
56739
|
var _modified = false;
|
|
56259
|
-
var dynamicArrayClone =
|
|
56740
|
+
var dynamicArrayClone = dynamicArray.slice();
|
|
56260
56741
|
for (var _i5 = 0; _i5 < dynamicArrayClone.length; _i5 += 1) {
|
|
56261
56742
|
var _calc = dynamicArrayClone[_i5];
|
|
56262
56743
|
if (_calc.r === r && _calc.c === c && (_.isNil(_calc.id) || _calc.id === id)) {
|
|
@@ -56424,6 +56905,13 @@ function groupValuesRefresh(ctx) {
|
|
|
56424
56905
|
ctx.groupValuesRefreshData = [];
|
|
56425
56906
|
}
|
|
56426
56907
|
}
|
|
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
|
+
}
|
|
56427
56915
|
function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
56428
56916
|
var isForce = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
56429
56917
|
if (_.isNil(data)) {
|
|
@@ -56444,168 +56932,32 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
56444
56932
|
ctx.formulaCache.execFunctionGlobalData["".concat(origin_r, "_").concat(origin_c, "_").concat(id)] = _cellCache$[0];
|
|
56445
56933
|
}
|
|
56446
56934
|
var calcChains = getAllFunctionGroup(ctx);
|
|
56447
|
-
var
|
|
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 = [];
|
|
56935
|
+
var updateValueObjects = {};
|
|
56456
56936
|
if (_.isNil(ctx.formulaCache.execFunctionExist)) {
|
|
56457
56937
|
var key = "r".concat(origin_r, "c").concat(origin_c, "i").concat(id);
|
|
56458
|
-
|
|
56938
|
+
updateValueObjects[key] = 1;
|
|
56459
56939
|
} else {
|
|
56460
56940
|
for (var x = 0; x < ctx.formulaCache.execFunctionExist.length; x += 1) {
|
|
56461
56941
|
var cell = ctx.formulaCache.execFunctionExist[x];
|
|
56462
56942
|
var _key = "r".concat(cell.r, "c").concat(cell.c, "i").concat(cell.i);
|
|
56463
|
-
|
|
56943
|
+
updateValueObjects[_key] = 1;
|
|
56464
56944
|
}
|
|
56465
56945
|
}
|
|
56466
|
-
|
|
56467
|
-
|
|
56468
|
-
|
|
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;
|
|
56946
|
+
if (!ctx.formulaCache.formulaCellInfoMap || _.isEmpty(ctx.formulaCache.formulaCellInfoMap)) {
|
|
56947
|
+
ctx.formulaCache.formulaCellInfoMap = {};
|
|
56948
|
+
setFormulaCellInfoMap(ctx, calcChains, data);
|
|
56599
56949
|
}
|
|
56600
|
-
|
|
56601
|
-
|
|
56602
|
-
|
|
56603
|
-
|
|
56604
|
-
|
|
56605
|
-
|
|
56950
|
+
var formulaCellInfoMap = ctx.formulaCache.formulaCellInfoMap;
|
|
56951
|
+
var updateValueArray = [];
|
|
56952
|
+
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];
|
|
56606
56958
|
childFormulaObject.parents[key] = 1;
|
|
56607
56959
|
}
|
|
56608
|
-
if (!isForce && childKey in
|
|
56960
|
+
if (!isForce && childKey in updateValueObjects) {
|
|
56609
56961
|
updateValueArray.push(formulaObject);
|
|
56610
56962
|
}
|
|
56611
56963
|
});
|
|
@@ -56613,65 +56965,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
56613
56965
|
updateValueArray.push(formulaObject);
|
|
56614
56966
|
}
|
|
56615
56967
|
});
|
|
56616
|
-
var formulaRunList =
|
|
56617
|
-
|
|
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
|
-
}
|
|
56968
|
+
var formulaRunList = getFormulaRunList(updateValueArray, formulaCellInfoMap);
|
|
56969
|
+
executeAffectedFormulas(ctx, formulaRunList, calcChains);
|
|
56675
56970
|
ctx.formulaCache.execFunctionExist = undefined;
|
|
56676
56971
|
}
|
|
56677
56972
|
function findrangeindex(ctx, v, vp) {
|
|
@@ -56685,26 +56980,26 @@ function findrangeindex(ctx, v, vp) {
|
|
|
56685
56980
|
var vplen = vp_a.length;
|
|
56686
56981
|
var vlen = v_a.length;
|
|
56687
56982
|
if (vplen === vlen) {
|
|
56688
|
-
var
|
|
56689
|
-
var p = vp_a[
|
|
56690
|
-
var n = v_a[
|
|
56983
|
+
var _i10 = pfri[0];
|
|
56984
|
+
var p = vp_a[_i10];
|
|
56985
|
+
var n = v_a[_i10];
|
|
56691
56986
|
if (_.isNil(p)) {
|
|
56692
|
-
if (vp_a.length <=
|
|
56987
|
+
if (vp_a.length <= _i10) {
|
|
56693
56988
|
pfri = [vp_a.length - 1, vp_a.length - 1];
|
|
56694
|
-
} else if (v_a.length <=
|
|
56989
|
+
} else if (v_a.length <= _i10) {
|
|
56695
56990
|
pfri = [v_a.length - 1, v_a.length - 1];
|
|
56696
56991
|
}
|
|
56697
56992
|
return pfri;
|
|
56698
56993
|
}
|
|
56699
56994
|
if (p.length === n.length) {
|
|
56700
|
-
if (!_.isNil(vp_a[
|
|
56995
|
+
if (!_.isNil(vp_a[_i10 + 1]) && !_.isNil(v_a[_i10 + 1]) && vp_a[_i10 + 1].length < v_a[_i10 + 1].length) {
|
|
56701
56996
|
pfri[0] += 1;
|
|
56702
56997
|
pfri[1] = 1;
|
|
56703
56998
|
}
|
|
56704
56999
|
return pfri;
|
|
56705
57000
|
}
|
|
56706
57001
|
if (p.length > n.length) {
|
|
56707
|
-
if (!_.isNil(p) && !_.isNil(v_a[
|
|
57002
|
+
if (!_.isNil(p) && !_.isNil(v_a[_i10 + 1]) && v_a[_i10 + 1].substring(0, 1) === '"' && (p.indexOf("{") > -1 || p.indexOf("}") > -1)) {
|
|
56708
57003
|
pfri[0] += 1;
|
|
56709
57004
|
pfri[1] = 1;
|
|
56710
57005
|
}
|
|
@@ -56717,34 +57012,34 @@ function findrangeindex(ctx, v, vp) {
|
|
|
56717
57012
|
return pfri;
|
|
56718
57013
|
}
|
|
56719
57014
|
} else if (vplen > vlen) {
|
|
56720
|
-
var
|
|
56721
|
-
var _p = vp_a[
|
|
56722
|
-
var _n = v_a[
|
|
57015
|
+
var _i11 = pfri[0];
|
|
57016
|
+
var _p = vp_a[_i11];
|
|
57017
|
+
var _n = v_a[_i11];
|
|
56723
57018
|
if (_.isNil(_n)) {
|
|
56724
|
-
if (v_a[
|
|
57019
|
+
if (v_a[_i11 - 1].indexOf("{") > -1) {
|
|
56725
57020
|
pfri[0] -= 1;
|
|
56726
|
-
var start = v_a[
|
|
57021
|
+
var start = v_a[_i11 - 1].search("{");
|
|
56727
57022
|
pfri[1] += start;
|
|
56728
57023
|
} else {
|
|
56729
57024
|
pfri[0] = 0;
|
|
56730
57025
|
pfri[1] = 0;
|
|
56731
57026
|
}
|
|
56732
57027
|
} else if (_p.length === _n.length) {
|
|
56733
|
-
if (!_.isNil(v_a[
|
|
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) === "}")) {
|
|
56734
57029
|
pfri[0] += 1;
|
|
56735
57030
|
pfri[1] = 1;
|
|
56736
|
-
} else if (!_.isNil(_p) && _p.length > 2 && _p.substring(0, 1) === '"' && _p.substring(_p.length - 1, 1) === '"') ; else if (!_.isNil(v_a[
|
|
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] === '")') {
|
|
56737
57032
|
pfri[1] = 1;
|
|
56738
|
-
} else if (!_.isNil(v_a[
|
|
57033
|
+
} else if (!_.isNil(v_a[_i11]) && v_a[_i11] === '"}') {
|
|
56739
57034
|
pfri[1] = 1;
|
|
56740
|
-
} else if (!_.isNil(v_a[
|
|
57035
|
+
} else if (!_.isNil(v_a[_i11]) && v_a[_i11] === "{)") {
|
|
56741
57036
|
pfri[1] = 1;
|
|
56742
57037
|
} else {
|
|
56743
57038
|
pfri[1] = _n.length;
|
|
56744
57039
|
}
|
|
56745
57040
|
return pfri;
|
|
56746
57041
|
} else if (_p.length > _n.length) {
|
|
56747
|
-
if (!_.isNil(v_a[
|
|
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) === "}")) {
|
|
56748
57043
|
pfri[0] += 1;
|
|
56749
57044
|
pfri[1] = 1;
|
|
56750
57045
|
}
|
|
@@ -56754,9 +57049,9 @@ function findrangeindex(ctx, v, vp) {
|
|
|
56754
57049
|
}
|
|
56755
57050
|
return pfri;
|
|
56756
57051
|
} else if (vplen < vlen) {
|
|
56757
|
-
var
|
|
56758
|
-
var _p2 = vp_a[
|
|
56759
|
-
var _n2 = v_a[
|
|
57052
|
+
var _i12 = pfri[0];
|
|
57053
|
+
var _p2 = vp_a[_i12];
|
|
57054
|
+
var _n2 = v_a[_i12];
|
|
56760
57055
|
if (_.isNil(_p2)) {
|
|
56761
57056
|
pfri[0] = v_a.length - 1;
|
|
56762
57057
|
if (!_.isNil(_n2)) {
|
|
@@ -56765,9 +57060,9 @@ function findrangeindex(ctx, v, vp) {
|
|
|
56765
57060
|
pfri[1] = 1;
|
|
56766
57061
|
}
|
|
56767
57062
|
} else if (_p2.length === _n2.length) {
|
|
56768
|
-
if (vp_a[
|
|
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) === "}")) {
|
|
56769
57064
|
pfri[1] = _n2.length;
|
|
56770
|
-
} else if (!_.isNil(v_a[
|
|
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) === "}")) {
|
|
56771
57066
|
pfri[0] += 1;
|
|
56772
57067
|
pfri[1] = 1;
|
|
56773
57068
|
} else if (!_.isNil(_n2) && _n2.substring(0, 1) === '"' && _n2.substring(_n2.length - 1, 1) === '"' && _p2.substring(0, 1) === '"' && _p2.substring(_p2.length - 1, 1) === ")") {
|
|
@@ -56777,7 +57072,7 @@ function findrangeindex(ctx, v, vp) {
|
|
|
56777
57072
|
} else {
|
|
56778
57073
|
pfri[0] = pfri[0] + vlen - vplen;
|
|
56779
57074
|
if (v_a.length > vp_a.length) {
|
|
56780
|
-
pfri[1] = v_a[
|
|
57075
|
+
pfri[1] = v_a[_i12 + 1].length;
|
|
56781
57076
|
} else {
|
|
56782
57077
|
pfri[1] = 1;
|
|
56783
57078
|
}
|
|
@@ -56786,17 +57081,17 @@ function findrangeindex(ctx, v, vp) {
|
|
|
56786
57081
|
} else if (_p2.length > _n2.length) {
|
|
56787
57082
|
if (!_.isNil(_p2) && _p2.substring(0, 1) === '"') {
|
|
56788
57083
|
pfri[1] = _n2.length;
|
|
56789
|
-
} else if (_.isNil(v_a[
|
|
57084
|
+
} else if (_.isNil(v_a[_i12 + 1]) && /{.*?}/.test(v_a[_i12 + 1])) {
|
|
56790
57085
|
pfri[0] += 1;
|
|
56791
|
-
pfri[1] = v_a[
|
|
56792
|
-
} else if (!_.isNil(_p2) && v_a[
|
|
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)) {
|
|
56793
57088
|
pfri[0] += 1;
|
|
56794
57089
|
pfri[1] = 1;
|
|
56795
57090
|
} else if (!_.isNil(_p2) && (_p2.indexOf("{") > -1 || _p2.indexOf("}") > -1)) ; else if (!_.isNil(_p2) && !_.startsWith(_p2[0], "=") && _.startsWith(_n2, "=")) {
|
|
56796
57091
|
return [vlen - 1, v_a[vlen - 1].length];
|
|
56797
57092
|
} else {
|
|
56798
57093
|
pfri[0] = pfri[0] + vlen - vplen - 1;
|
|
56799
|
-
pfri[1] = v_a[(
|
|
57094
|
+
pfri[1] = v_a[(_i12 || 1) - 1].length;
|
|
56800
57095
|
}
|
|
56801
57096
|
return pfri;
|
|
56802
57097
|
} else if (_p2.length < _n2.length) {
|
|
@@ -56818,7 +57113,7 @@ function createRangeHightlight(ctx, inputInnerHtmlStr) {
|
|
|
56818
57113
|
if (rangeIndex === ignoreRangeIndex) return;
|
|
56819
57114
|
var cellrange = getcellrange(ctx, ele.textContent || "");
|
|
56820
57115
|
if (rangeIndex === ctx.formulaCache.selectingRangeIndex || cellrange == null) return;
|
|
56821
|
-
if (cellrange.sheetId === ctx.currentSheetId || cellrange.sheetId
|
|
57116
|
+
if (cellrange.sheetId === ctx.currentSheetId || !cellrange.sheetId && ctx.formulaCache.rangetosheet === ctx.currentSheetId) {
|
|
56822
57117
|
var rect = seletedHighlistByindex(ctx, cellrange.row[0], cellrange.row[1], cellrange.column[0], cellrange.column[1]);
|
|
56823
57118
|
if (rect) {
|
|
56824
57119
|
formulaRanges.push(_objectSpread2(_objectSpread2({
|
|
@@ -56870,8 +57165,8 @@ function searchFunction(ctx, searchtxt) {
|
|
|
56870
57165
|
var s = [];
|
|
56871
57166
|
var t = [];
|
|
56872
57167
|
var result_i = 0;
|
|
56873
|
-
for (var
|
|
56874
|
-
var item = functionlist[
|
|
57168
|
+
for (var _i13 = 0; _i13 < functionlist.length; _i13 += 1) {
|
|
57169
|
+
var item = functionlist[_i13];
|
|
56875
57170
|
var n = item.n;
|
|
56876
57171
|
if (n === searchtxt) {
|
|
56877
57172
|
f.unshift(item);
|
|
@@ -56933,8 +57228,8 @@ function helpFunctionExe($editer, currSelection, ctx) {
|
|
|
56933
57228
|
var _locale2 = locale(ctx),
|
|
56934
57229
|
functionlist = _locale2.functionlist;
|
|
56935
57230
|
if (_.isEmpty(ctx.formulaCache.functionlistMap)) {
|
|
56936
|
-
for (var
|
|
56937
|
-
ctx.formulaCache.functionlistMap[functionlist[
|
|
57231
|
+
for (var _i14 = 0; _i14 < functionlist.length; _i14 += 1) {
|
|
57232
|
+
ctx.formulaCache.functionlistMap[functionlist[_i14].n] = functionlist[_i14];
|
|
56938
57233
|
}
|
|
56939
57234
|
}
|
|
56940
57235
|
if (!currSelection) {
|
|
@@ -58101,17 +58396,19 @@ function setConditionRules(ctx, protection, generalDialog, conditionformat, rule
|
|
|
58101
58396
|
var v = rules.rulesValue;
|
|
58102
58397
|
var rangeArr = getRangeByTxt(ctx, v);
|
|
58103
58398
|
if (rangeArr.length > 1) {
|
|
58104
|
-
var
|
|
58105
|
-
var
|
|
58106
|
-
var
|
|
58107
|
-
var
|
|
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];
|
|
58108
58404
|
if (r1 === r2 && c1 === c2) {
|
|
58405
|
+
var _rangeArr$5, _rangeArr$6;
|
|
58109
58406
|
var d = getFlowdata(ctx);
|
|
58110
|
-
if (!d) return;
|
|
58407
|
+
if (!d || _.isNil(r1) || _.isNil(c1)) return;
|
|
58111
58408
|
v = getCellValue(r1, c1, d);
|
|
58112
58409
|
conditionRange.push({
|
|
58113
|
-
row: rangeArr[0].row,
|
|
58114
|
-
column: rangeArr[0].column
|
|
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
|
|
58115
58412
|
});
|
|
58116
58413
|
conditionValue.push(v);
|
|
58117
58414
|
} else {
|
|
@@ -58133,17 +58430,19 @@ function setConditionRules(ctx, protection, generalDialog, conditionformat, rule
|
|
|
58133
58430
|
return;
|
|
58134
58431
|
}
|
|
58135
58432
|
if (rangeArr1.length === 1) {
|
|
58136
|
-
var
|
|
58137
|
-
var
|
|
58138
|
-
var
|
|
58139
|
-
var
|
|
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];
|
|
58140
58438
|
if (_r === _r2 && _c === _c2) {
|
|
58439
|
+
var _rangeArr1$5, _rangeArr1$6;
|
|
58141
58440
|
var _d = getFlowdata(ctx);
|
|
58142
|
-
if (!_d) return;
|
|
58441
|
+
if (!_d || _.isNil(_r) || _.isNil(_c)) return;
|
|
58143
58442
|
v1 = getCellValue(_r, _c, _d);
|
|
58144
58443
|
conditionRange.push({
|
|
58145
|
-
row: rangeArr1[0].row,
|
|
58146
|
-
column: rangeArr1[0].column
|
|
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
|
|
58147
58446
|
});
|
|
58148
58447
|
conditionValue.push(v1);
|
|
58149
58448
|
} else {
|
|
@@ -58163,17 +58462,19 @@ function setConditionRules(ctx, protection, generalDialog, conditionformat, rule
|
|
|
58163
58462
|
return;
|
|
58164
58463
|
}
|
|
58165
58464
|
if (rangeArr2.length === 1) {
|
|
58166
|
-
var
|
|
58167
|
-
var
|
|
58168
|
-
var
|
|
58169
|
-
var
|
|
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];
|
|
58170
58470
|
if (_r3 === _r4 && _c3 === _c4) {
|
|
58471
|
+
var _rangeArr2$5, _rangeArr2$6;
|
|
58171
58472
|
var _d2 = getFlowdata(ctx);
|
|
58172
|
-
if (!_d2) return;
|
|
58473
|
+
if (!_d2 || _.isNil(_r3) || _.isNil(_c3)) return;
|
|
58173
58474
|
v2 = getCellValue(_r3, _c3, _d2);
|
|
58174
58475
|
conditionRange.push({
|
|
58175
|
-
row: rangeArr2[0].row,
|
|
58176
|
-
column: rangeArr2[0].column
|
|
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
|
|
58177
58478
|
});
|
|
58178
58479
|
} else {
|
|
58179
58480
|
ctx.warnDialog = conditionformat.onlySingleCell;
|
|
@@ -58574,7 +58875,7 @@ function compute(ctx, ruleArr, d) {
|
|
|
58574
58875
|
if (_.isNil(_cell7) || _.isNil(_cell7.v) || isRealNull(_cell7.v)) {
|
|
58575
58876
|
continue;
|
|
58576
58877
|
}
|
|
58577
|
-
if (_cell7.v >= vSmall && _cell7.v <= vBig) {
|
|
58878
|
+
if (typeof _cell7.v === "number" && _cell7.v >= vSmall && _cell7.v <= vBig) {
|
|
58578
58879
|
if ("".concat(_r1, "_").concat(_c1) in computeMap) {
|
|
58579
58880
|
computeMap["".concat(_r1, "_").concat(_c1)].textColor = textColor;
|
|
58580
58881
|
computeMap["".concat(_r1, "_").concat(_c1)].cellColor = cellColor;
|
|
@@ -59296,14 +59597,15 @@ function dataRangeSelection(ctx, cache, rangT, type, value) {
|
|
|
59296
59597
|
ctx.rangeDialog.type = type;
|
|
59297
59598
|
ctx.rangeDialog.rangeTxt = value;
|
|
59298
59599
|
if (ctx.luckysheet_select_save && !!rangT) {
|
|
59299
|
-
var _ctx$formulaRangeSele, _ctx$formulaRangeSele2;
|
|
59600
|
+
var _range$, _range$2, _ctx$formulaRangeSele, _ctx$formulaRangeSele2;
|
|
59300
59601
|
var last = ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1];
|
|
59301
59602
|
var row_index = last.row_focus;
|
|
59302
59603
|
var col_index = last.column_focus;
|
|
59303
59604
|
ctx.luckysheetCellUpdate = [row_index, col_index];
|
|
59304
59605
|
var range = getRangeByTxt(ctx, rangT);
|
|
59305
|
-
var r = range[0]
|
|
59306
|
-
var c = range[0].column;
|
|
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;
|
|
59307
59609
|
var row_pre = rowLocationByIndex(r[0], ctx.visibledatarow)[0];
|
|
59308
59610
|
var row = rowLocationByIndex(r[1], ctx.visibledatarow)[1];
|
|
59309
59611
|
var col_pre = colLocationByIndex(c[0], ctx.visibledatacolumn)[0];
|
|
@@ -59323,9 +59625,9 @@ function getDropdownList(ctx, txt) {
|
|
|
59323
59625
|
var list = [];
|
|
59324
59626
|
if (iscelldata(txt)) {
|
|
59325
59627
|
var range = getcellrange(ctx, txt);
|
|
59326
|
-
var index = getSheetIndex(ctx, range.sheetId);
|
|
59628
|
+
var index = getSheetIndex(ctx, (range === null || range === void 0 ? void 0 : range.sheetId) || ctx.currentSheetId);
|
|
59327
59629
|
var d = ctx.luckysheetfile[index].data;
|
|
59328
|
-
if (!d) return [];
|
|
59630
|
+
if (!d || !range) return [];
|
|
59329
59631
|
for (var r = range.row[0]; r <= range.row[1]; r += 1) {
|
|
59330
59632
|
for (var c = range.column[0]; c <= range.column[1]; c += 1) {
|
|
59331
59633
|
if (!d[r]) {
|
|
@@ -59899,18 +60201,18 @@ function setDropcownValue(ctx, value, arr) {
|
|
|
59899
60201
|
jfrefreshgrid(ctx, null, undefined);
|
|
59900
60202
|
}
|
|
59901
60203
|
function confirmMessage(ctx, generalDialog, dataVerification) {
|
|
59902
|
-
var _ctx$dataVerification0, _ctx$dataVerification1;
|
|
60204
|
+
var _ctx$dataVerification0, _ctx$dataVerification1, _range, _range2, _range3, _range4;
|
|
59903
60205
|
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);
|
|
59904
60206
|
if (range.length === 0) {
|
|
59905
60207
|
ctx.warnDialog = generalDialog.noSeletionError;
|
|
59906
60208
|
return false;
|
|
59907
60209
|
}
|
|
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];
|
|
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];
|
|
59912
60214
|
var d = getFlowdata(ctx);
|
|
59913
|
-
if (!d) return false;
|
|
60215
|
+
if (!d || _.isNil(str) || _.isNil(edr) || _.isNil(stc) || _.isNil(edc)) return false;
|
|
59914
60216
|
if (str < 0) {
|
|
59915
60217
|
str = 0;
|
|
59916
60218
|
}
|
|
@@ -60500,7 +60802,6 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
60500
60802
|
delete curv.ct.s;
|
|
60501
60803
|
curv.ct.t = "g";
|
|
60502
60804
|
curv.ct.fa = "General";
|
|
60503
|
-
curv.tb = "1";
|
|
60504
60805
|
value = "";
|
|
60505
60806
|
} else if (isCurInline) {
|
|
60506
60807
|
if (!_.isPlainObject(curv)) {
|
|
@@ -60511,7 +60812,6 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
60511
60812
|
if (!curv.ct) {
|
|
60512
60813
|
curv.ct = {};
|
|
60513
60814
|
curv.ct.fa = "General";
|
|
60514
|
-
curv.tb = "1";
|
|
60515
60815
|
}
|
|
60516
60816
|
curv.ct.t = "inlineStr";
|
|
60517
60817
|
curv.ct.s = convertSpanToShareString($input.querySelectorAll("span"), curv);
|
|
@@ -60560,7 +60860,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
60560
60860
|
var dynamicArrayItem = null;
|
|
60561
60861
|
if (_.isPlainObject(curv)) {
|
|
60562
60862
|
if (!isCurInline) {
|
|
60563
|
-
if (
|
|
60863
|
+
if (isFormula(value)) {
|
|
60564
60864
|
var _d$r;
|
|
60565
60865
|
var v = execfunction(ctx, value, r, c, undefined, undefined, true);
|
|
60566
60866
|
curv = _.cloneDeep((d === null || d === void 0 ? void 0 : (_d$r = d[r]) === null || _d$r === void 0 ? void 0 : _d$r[c]) || {});
|
|
@@ -60582,7 +60882,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
60582
60882
|
}
|
|
60583
60883
|
} else if (_.isPlainObject(value)) {
|
|
60584
60884
|
var valueFunction = value.f;
|
|
60585
|
-
if (
|
|
60885
|
+
if (isFormula(valueFunction)) {
|
|
60586
60886
|
var _d$r2;
|
|
60587
60887
|
var _v2 = execfunction(ctx, valueFunction, r, c, undefined, undefined, true);
|
|
60588
60888
|
curv = _.cloneDeep((d === null || d === void 0 ? void 0 : (_d$r2 = d[r]) === null || _d$r2 === void 0 ? void 0 : _d$r2[c]) || {});
|
|
@@ -60626,7 +60926,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
60626
60926
|
}
|
|
60627
60927
|
value = curv;
|
|
60628
60928
|
} else {
|
|
60629
|
-
if (
|
|
60929
|
+
if (isFormula(value)) {
|
|
60630
60930
|
var _v4 = execfunction(ctx, value, r, c, undefined, undefined, true);
|
|
60631
60931
|
value = {
|
|
60632
60932
|
v: _v4[1],
|
|
@@ -60645,7 +60945,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
60645
60945
|
}
|
|
60646
60946
|
} else if (_.isPlainObject(value)) {
|
|
60647
60947
|
var _valueFunction = value.f;
|
|
60648
|
-
if (
|
|
60948
|
+
if (isFormula(_valueFunction)) {
|
|
60649
60949
|
var _v5 = execfunction(ctx, _valueFunction, r, c, undefined, undefined, true);
|
|
60650
60950
|
var _v6 = _slicedToArray(_v5, 3);
|
|
60651
60951
|
value.v = _v6[1];
|
|
@@ -60703,6 +61003,11 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
60703
61003
|
afterUpdateCell === null || afterUpdateCell === void 0 ? void 0 : afterUpdateCell(r, c, oldValue, newValue);
|
|
60704
61004
|
});
|
|
60705
61005
|
}
|
|
61006
|
+
setFormulaCellInfo(ctx, {
|
|
61007
|
+
r: r,
|
|
61008
|
+
c: c,
|
|
61009
|
+
id: ctx.currentSheetId
|
|
61010
|
+
});
|
|
60706
61011
|
ctx.formulaCache.execFunctionGlobalData = null;
|
|
60707
61012
|
}
|
|
60708
61013
|
function getOrigincell(ctx, r, c, i) {
|
|
@@ -61100,6 +61405,8 @@ var clipboard = /*#__PURE__*/function () {
|
|
|
61100
61405
|
});
|
|
61101
61406
|
document.execCommand("selectAll");
|
|
61102
61407
|
document.execCommand("copy");
|
|
61408
|
+
var plainText = ele.innerText || ele.textContent || "";
|
|
61409
|
+
sessionStorage.setItem("localClipboard", plainText);
|
|
61103
61410
|
setTimeout(function () {
|
|
61104
61411
|
var _ele, _previouslyFocusedEle;
|
|
61105
61412
|
(_ele = ele) === null || _ele === void 0 ? void 0 : _ele.blur();
|
|
@@ -61385,7 +61692,7 @@ function pasteHandlerOfPaintModel(ctx, copyRange) {
|
|
|
61385
61692
|
}
|
|
61386
61693
|
dataVerification["".concat(h, "_").concat(c)] = c_dataVerification["".concat(c_r1 + h - mth, "_").concat(c_c1 + c - mtc)];
|
|
61387
61694
|
}
|
|
61388
|
-
if (isPlainObject(x[c]) && x[c].mc) {
|
|
61695
|
+
if (_.isPlainObject(x[c]) && x[c].mc) {
|
|
61389
61696
|
if (x[c].mc.rs) {
|
|
61390
61697
|
delete cfg.merge["".concat(x[c].mc.r, "_").concat(x[c].mc.c)];
|
|
61391
61698
|
}
|
|
@@ -61395,7 +61702,7 @@ function pasteHandlerOfPaintModel(ctx, copyRange) {
|
|
|
61395
61702
|
if (copyData[h - mth] != null && copyData[h - mth][c - mtc] != null) {
|
|
61396
61703
|
value = copyData[h - mth][c - mtc];
|
|
61397
61704
|
}
|
|
61398
|
-
if (isPlainObject(x[c])) {
|
|
61705
|
+
if (_.isPlainObject(x[c])) {
|
|
61399
61706
|
if (x[c].ct && x[c].ct.t === "inlineStr" && value) {
|
|
61400
61707
|
delete value.ct;
|
|
61401
61708
|
} else {
|
|
@@ -62646,25 +62953,21 @@ function deleteSelectedCellText(ctx) {
|
|
|
62646
62953
|
var _r4 = selection[_s].row[1];
|
|
62647
62954
|
var _c3 = selection[_s].column[0];
|
|
62648
62955
|
var _c4 = selection[_s].column[1];
|
|
62649
|
-
|
|
62650
|
-
|
|
62651
|
-
|
|
62652
|
-
|
|
62653
|
-
|
|
62654
|
-
|
|
62655
|
-
|
|
62656
|
-
|
|
62657
|
-
|
|
62658
|
-
|
|
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] = {};
|
|
62659
62967
|
}
|
|
62660
|
-
if (
|
|
62661
|
-
delete
|
|
62968
|
+
if (hyperlinkMap && hyperlinkMap["".concat(r, "_").concat(c)]) {
|
|
62969
|
+
delete hyperlinkMap["".concat(r, "_").concat(c)];
|
|
62662
62970
|
}
|
|
62663
|
-
} else {
|
|
62664
|
-
d[r][c] = null;
|
|
62665
|
-
}
|
|
62666
|
-
if (hyperlinkMap && hyperlinkMap["".concat(r, "_").concat(c)]) {
|
|
62667
|
-
delete hyperlinkMap["".concat(r, "_").concat(c)];
|
|
62668
62971
|
}
|
|
62669
62972
|
}
|
|
62670
62973
|
}
|
|
@@ -62673,7 +62976,6 @@ function deleteSelectedCellText(ctx) {
|
|
|
62673
62976
|
return "success";
|
|
62674
62977
|
}
|
|
62675
62978
|
function selectIsOverlap(ctx, range) {
|
|
62676
|
-
console.log("selectIsOverlap", ctx, range);
|
|
62677
62979
|
return false;
|
|
62678
62980
|
}
|
|
62679
62981
|
function selectAll(ctx) {
|
|
@@ -62818,7 +63120,7 @@ function defaultContext(refs) {
|
|
|
62818
63120
|
defaultrowNum: 84,
|
|
62819
63121
|
addDefaultRows: 50,
|
|
62820
63122
|
fullscreenmode: true,
|
|
62821
|
-
devicePixelRatio: (globalThis
|
|
63123
|
+
devicePixelRatio: (typeof globalThis !== "undefined" ? globalThis : window).devicePixelRatio,
|
|
62822
63124
|
contextMenu: {},
|
|
62823
63125
|
sheetTabContextMenu: {},
|
|
62824
63126
|
currentSheetId: "",
|
|
@@ -63038,6 +63340,7 @@ function defaultContext(refs) {
|
|
|
63038
63340
|
defaultFontSize: 10,
|
|
63039
63341
|
luckysheetPaintModelOn: false,
|
|
63040
63342
|
luckysheetPaintSingle: false,
|
|
63343
|
+
sheetFocused: true,
|
|
63041
63344
|
defaultCell: {
|
|
63042
63345
|
bl: 0,
|
|
63043
63346
|
ct: {
|
|
@@ -65649,6 +65952,7 @@ function insertRowCol(ctx, op) {
|
|
|
65649
65952
|
}
|
|
65650
65953
|
}
|
|
65651
65954
|
refreshLocalMergeData(merge_new, file);
|
|
65955
|
+
ctx.formulaCache.formulaCellInfoMap = null;
|
|
65652
65956
|
}
|
|
65653
65957
|
function deleteRowCol(ctx, op) {
|
|
65654
65958
|
var type = op.type;
|
|
@@ -66376,6 +66680,7 @@ function deleteRowCol(ctx, op) {
|
|
|
66376
66680
|
file.dataVerification = newDataVerification;
|
|
66377
66681
|
file.hyperlink = newHyperlink;
|
|
66378
66682
|
refreshLocalMergeData(merge_new, file);
|
|
66683
|
+
ctx.formulaCache.formulaCellInfoMap = null;
|
|
66379
66684
|
if (file.id === ctx.currentSheetId) {
|
|
66380
66685
|
ctx.config = cfg;
|
|
66381
66686
|
}
|
|
@@ -66666,12 +66971,22 @@ function copySheet(ctx, sheetId) {
|
|
|
66666
66971
|
sheetOrderList[ctx.luckysheetfile[ctx.luckysheetfile.length - 1].id] = order;
|
|
66667
66972
|
setSheetOrder(ctx, sheetOrderList);
|
|
66668
66973
|
}
|
|
66669
|
-
function calculateSheetFromula(ctx, id) {
|
|
66974
|
+
function calculateSheetFromula(ctx, id, range) {
|
|
66670
66975
|
var index$1 = getSheetIndex(ctx, id);
|
|
66671
66976
|
if (!ctx.luckysheetfile[index$1].data) return;
|
|
66672
|
-
|
|
66673
|
-
|
|
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) {
|
|
66674
66987
|
var _ctx$luckysheetfile$i, _ctx$luckysheetfile$i2;
|
|
66988
|
+
var r = range.row[0] + _r;
|
|
66989
|
+
var c = range.column[0] + _c;
|
|
66675
66990
|
if (!((_ctx$luckysheetfile$i = ctx.luckysheetfile[index$1].data[r][c]) === null || _ctx$luckysheetfile$i === void 0 ? void 0 : _ctx$luckysheetfile$i.f)) {
|
|
66676
66991
|
continue;
|
|
66677
66992
|
}
|
|
@@ -66681,6 +66996,15 @@ function calculateSheetFromula(ctx, id) {
|
|
|
66681
66996
|
}
|
|
66682
66997
|
}
|
|
66683
66998
|
}
|
|
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
|
+
}
|
|
66684
67008
|
|
|
66685
67009
|
function storeSheetParam(ctx) {
|
|
66686
67010
|
var index = getSheetIndex(ctx, ctx.currentSheetId);
|
|
@@ -66825,6 +67149,11 @@ function updateSheet(ctx, newData) {
|
|
|
66825
67149
|
for (var i = 0; i < data.length; i += 1) {
|
|
66826
67150
|
for (var j = 0; j < data[i].length; j += 1) {
|
|
66827
67151
|
expandedData[i][j] = data[i][j];
|
|
67152
|
+
setFormulaCellInfo(ctx, {
|
|
67153
|
+
r: i,
|
|
67154
|
+
c: j,
|
|
67155
|
+
id: newDatum.id
|
|
67156
|
+
}, data);
|
|
66828
67157
|
}
|
|
66829
67158
|
}
|
|
66830
67159
|
newDatum.data = expandedData;
|
|
@@ -66834,7 +67163,16 @@ function updateSheet(ctx, newData) {
|
|
|
66834
67163
|
ctx.luckysheetfile[index] = newDatum;
|
|
66835
67164
|
}
|
|
66836
67165
|
} else if (newDatum.celldata != null) {
|
|
67166
|
+
var _newDatum$celldata;
|
|
66837
67167
|
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
|
+
});
|
|
66838
67176
|
}
|
|
66839
67177
|
});
|
|
66840
67178
|
}
|
|
@@ -67128,6 +67466,11 @@ function runExecFunction(ctx, range, index, data) {
|
|
|
67128
67466
|
for (var s = 0; s < range.length; s += 1) {
|
|
67129
67467
|
for (var r = range[s].row[0]; r <= range[s].row[1]; r += 1) {
|
|
67130
67468
|
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);
|
|
67131
67474
|
ctx.formulaCache.execFunctionExist.push({
|
|
67132
67475
|
r: r,
|
|
67133
67476
|
c: c,
|
|
@@ -67432,7 +67775,7 @@ function goToLink(ctx, r, c, linkType, linkAddress, scrollbarX, scrollbarY) {
|
|
|
67432
67775
|
scrollbarX.scrollLeft = col_pre;
|
|
67433
67776
|
scrollbarY.scrollLeft = row_pre;
|
|
67434
67777
|
ctx.luckysheet_select_save = normalizeSelection(ctx, [range]);
|
|
67435
|
-
changeSheet(ctx, range.sheetId);
|
|
67778
|
+
changeSheet(ctx, range.sheetId || ctx.currentSheetId);
|
|
67436
67779
|
}
|
|
67437
67780
|
ctx.linkCard = undefined;
|
|
67438
67781
|
}
|
|
@@ -68411,6 +68754,13 @@ function autoSelectionFormula(ctx, cellInput, fxInput, formula, cache) {
|
|
|
68411
68754
|
});
|
|
68412
68755
|
if (!isfalse) {
|
|
68413
68756
|
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
|
+
});
|
|
68414
68764
|
execFunctionGroup(ctx, null, null, null, null, flowdata);
|
|
68415
68765
|
ctx.formulaCache.execFunctionGlobalData = null;
|
|
68416
68766
|
}
|
|
@@ -68788,7 +69138,9 @@ function handleBorder(ctx, type, borderColor, borderStyle) {
|
|
|
68788
69138
|
function handleMerge(ctx, type) {
|
|
68789
69139
|
var allowEdit = isAllowEdit(ctx);
|
|
68790
69140
|
if (!allowEdit) return;
|
|
68791
|
-
if (selectIsOverlap(
|
|
69141
|
+
if (selectIsOverlap()) {
|
|
69142
|
+
return;
|
|
69143
|
+
}
|
|
68792
69144
|
if (ctx.config.merge != null) {
|
|
68793
69145
|
var has_PartMC = false;
|
|
68794
69146
|
if (!ctx.luckysheet_select_save) return;
|
|
@@ -76271,7 +76623,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
76271
76623
|
hideSheet: hideSheet,
|
|
76272
76624
|
showSheet: showSheet,
|
|
76273
76625
|
copySheet: copySheet,
|
|
76274
|
-
|
|
76626
|
+
calculateFormula: calculateFormula,
|
|
76275
76627
|
addSheet: addSheet$1,
|
|
76276
76628
|
deleteSheet: deleteSheet$1,
|
|
76277
76629
|
updateSheet: updateSheet$1,
|
|
@@ -76379,7 +76731,7 @@ function handleCopy(ctx) {
|
|
|
76379
76731
|
isSameCol = false;
|
|
76380
76732
|
}
|
|
76381
76733
|
}
|
|
76382
|
-
if (!isSameRow && !isSameCol || selectIsOverlap(
|
|
76734
|
+
if (!isSameRow && !isSameCol || selectIsOverlap()) {
|
|
76383
76735
|
return;
|
|
76384
76736
|
}
|
|
76385
76737
|
}
|
|
@@ -76577,6 +76929,72 @@ function handleWithCtrlOrMetaKey(ctx, cache, e, cellInput, fxInput, handleUndo,
|
|
|
76577
76929
|
return;
|
|
76578
76930
|
} else if (e.code === "KeyA") {
|
|
76579
76931
|
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);
|
|
76580
76998
|
}
|
|
76581
76999
|
e.preventDefault();
|
|
76582
77000
|
}
|
|
@@ -76637,6 +77055,27 @@ function handleGlobalKeyDown(ctx, cellInput, fxInput, e, cache, handleUndo, hand
|
|
|
76637
77055
|
if (ctx.luckysheetCellUpdate.length > 0 && kstr !== "Enter" && kstr !== "Tab" && kstr !== "ArrowUp" && kstr !== "ArrowDown" && kstr !== "ArrowLeft" && kstr !== "ArrowRight") {
|
|
76638
77056
|
return;
|
|
76639
77057
|
}
|
|
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
|
+
}
|
|
76640
77079
|
if (kstr === "Enter") {
|
|
76641
77080
|
if (!allowEdit) return;
|
|
76642
77081
|
handleGlobalEnter(ctx, cellInput, e, canvas);
|
|
@@ -76677,7 +77116,7 @@ function handleGlobalKeyDown(ctx, cellInput, fxInput, e, cache, handleUndo, hand
|
|
|
76677
77116
|
handleShiftWithArrowKey(ctx, e);
|
|
76678
77117
|
} else if (kstr === "Escape") {
|
|
76679
77118
|
ctx.contextMenu = {};
|
|
76680
|
-
} else if (kstr === "
|
|
77119
|
+
} else if (kstr.toLowerCase() === "delete" || kstr.toLowerCase() === "backspace") {
|
|
76681
77120
|
if (!allowEdit) return;
|
|
76682
77121
|
if (ctx.activeImg != null) {
|
|
76683
77122
|
removeActiveImage(ctx);
|
|
@@ -78486,6 +78925,11 @@ function postPasteCut(ctx, source, target, RowlChange) {
|
|
|
78486
78925
|
ctx.formulaCache.execFunctionExist = [];
|
|
78487
78926
|
for (var r = source.range.row[0]; r <= source.range.row[1]; r += 1) {
|
|
78488
78927
|
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
|
+
});
|
|
78489
78933
|
if ("".concat(r, "_").concat(c, "_").concat(source.sheetId) in execF_rc) {
|
|
78490
78934
|
continue;
|
|
78491
78935
|
}
|
|
@@ -78499,6 +78943,11 @@ function postPasteCut(ctx, source, target, RowlChange) {
|
|
|
78499
78943
|
}
|
|
78500
78944
|
for (var _r = target.range.row[0]; _r <= target.range.row[1]; _r += 1) {
|
|
78501
78945
|
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
|
+
});
|
|
78502
78951
|
if ("".concat(_r, "_").concat(_c, "_").concat(target.sheetId) in execF_rc) {
|
|
78503
78952
|
continue;
|
|
78504
78953
|
}
|
|
@@ -79824,4 +80273,4 @@ function handlePasteByClick(ctx, clipboardData, triggerType) {
|
|
|
79824
80273
|
} else ;
|
|
79825
80274
|
}
|
|
79826
80275
|
|
|
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 };
|
|
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 };
|