@fileverse-dev/fortune-core 1.1.0 → 1.1.2

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.
Files changed (346) hide show
  1. package/{dist/packages/core/src → es}/api/cell.d.ts +10 -10
  2. package/es/api/cell.js +204 -0
  3. package/{dist/packages/core/src → es}/api/common.d.ts +71 -66
  4. package/es/api/common.js +79 -0
  5. package/{dist/packages/core/src → es}/api/errors.d.ts +2 -2
  6. package/es/api/errors.js +2 -0
  7. package/{dist/packages/core/src → es}/api/index.d.ts +9 -9
  8. package/es/api/index.js +8 -0
  9. package/{dist/packages/core/src → es}/api/merge.d.ts +5 -5
  10. package/es/api/merge.js +15 -0
  11. package/{dist/packages/core/src → es}/api/range.d.ts +22 -22
  12. package/es/api/range.js +123 -0
  13. package/{dist/packages/core/src → es}/api/rowcol.d.ts +14 -14
  14. package/es/api/rowcol.js +207 -0
  15. package/{dist/packages/core/src → es}/api/sheet.d.ts +10 -10
  16. package/es/api/sheet.js +128 -0
  17. package/{dist/packages/core/src → es}/api/workbook.d.ts +15 -15
  18. package/es/api/workbook.js +85 -0
  19. package/{dist/packages/core/src → es}/canvas.d.ts +46 -46
  20. package/es/canvas.js +1350 -0
  21. package/{dist/packages/core/src → es}/context.d.ts +198 -197
  22. package/es/context.js +381 -0
  23. package/{dist/packages/core/src → es}/events/copy.d.ts +2 -2
  24. package/es/events/copy.js +78 -0
  25. package/{dist/packages/core/src → es}/events/index.d.ts +4 -4
  26. package/es/events/index.js +4 -0
  27. package/{dist/packages/core/src → es}/events/keyboard.d.ts +6 -6
  28. package/es/events/keyboard.js +360 -0
  29. package/{dist/packages/core/src → es}/events/mouse.d.ts +22 -22
  30. package/es/events/mouse.js +1725 -0
  31. package/{dist/packages/core/src → es}/events/paste.d.ts +4 -3
  32. package/es/events/paste.js +1416 -0
  33. package/{dist/packages/core/src → es}/index.d.ts +10 -10
  34. package/es/index.js +10 -0
  35. package/{dist/packages/core/src → es}/locale/en.d.ts +993 -992
  36. package/es/locale/en.js +10140 -0
  37. package/{dist/packages/core/src → es}/locale/es.d.ts +1134 -1134
  38. package/es/locale/es.js +10010 -0
  39. package/{dist/packages/core/src → es}/locale/hi.d.ts +1030 -1030
  40. package/es/locale/hi.js +10550 -0
  41. package/{dist/packages/core/src → es}/locale/index.d.ts +1049 -1049
  42. package/es/locale/index.js +23 -0
  43. package/{dist/packages/core/src → es}/locale/zh.d.ts +1048 -1048
  44. package/es/locale/zh.js +10568 -0
  45. package/{dist/packages/core/src → es}/locale/zh_tw.d.ts +1187 -1187
  46. package/es/locale/zh_tw.js +10072 -0
  47. package/{dist/packages/core/src → es}/modules/ConditionFormat.d.ts +17 -17
  48. package/es/modules/ConditionFormat.js +1258 -0
  49. package/{dist/packages/core/src → es}/modules/border.d.ts +3 -3
  50. package/es/modules/border.js +1240 -0
  51. package/{dist/packages/core/src → es}/modules/cell.d.ts +32 -32
  52. package/es/modules/cell.js +1092 -0
  53. package/{dist/packages/core/src → es}/modules/clipboard.d.ts +3 -3
  54. package/es/modules/clipboard.js +36 -0
  55. package/{dist/packages/core/src → es}/modules/color.d.ts +1 -1
  56. package/es/modules/color.js +1 -0
  57. package/{dist/packages/core/src → es}/modules/comment.d.ts +97 -97
  58. package/es/modules/comment.js +597 -0
  59. package/{dist/packages/core/src → es}/modules/conditionalFormat.d.ts +2 -2
  60. package/es/modules/conditionalFormat.js +441 -0
  61. package/{dist/packages/core/src → es}/modules/cursor.d.ts +3 -3
  62. package/es/modules/cursor.js +62 -0
  63. package/{dist/packages/core/src → es}/modules/dataVerification.d.ts +11 -11
  64. package/es/modules/dataVerification.js +701 -0
  65. package/{dist/packages/core/src → es}/modules/dropCell.d.ts +10 -10
  66. package/es/modules/dropCell.js +2267 -0
  67. package/{dist/packages/core/src → es}/modules/filter.d.ts +45 -45
  68. package/es/modules/filter.js +434 -0
  69. package/{dist/packages/core/src → es}/modules/format.d.ts +6 -6
  70. package/es/modules/format.js +323 -0
  71. package/{dist/packages/core/src → es}/modules/formula.d.ts +54 -54
  72. package/es/modules/formula.js +2346 -0
  73. package/{dist/packages/core/src → es}/modules/freeze.d.ts +5 -5
  74. package/es/modules/freeze.js +148 -0
  75. package/{dist/packages/core/src → es}/modules/hyperlink.d.ts +21 -21
  76. package/es/modules/hyperlink.js +216 -0
  77. package/{dist/packages/core/src → es}/modules/iframe.d.ts +12 -12
  78. package/es/modules/iframe.js +220 -0
  79. package/{dist/packages/core/src → es}/modules/image.d.ts +31 -31
  80. package/es/modules/image.js +253 -0
  81. package/{dist/packages/core/src → es}/modules/index.d.ts +36 -36
  82. package/es/modules/index.js +36 -0
  83. package/{dist/packages/core/src → es}/modules/inline-string.d.ts +36 -36
  84. package/es/modules/inline-string.js +437 -0
  85. package/{dist/packages/core/src → es}/modules/location.d.ts +6 -6
  86. package/es/modules/location.js +46 -0
  87. package/{dist/packages/core/src → es}/modules/locationCondition.d.ts +21 -21
  88. package/es/modules/locationCondition.js +218 -0
  89. package/{dist/packages/core/src → es}/modules/merge.d.ts +3 -3
  90. package/es/modules/merge.js +216 -0
  91. package/{dist/packages/core/src → es}/modules/mobile.d.ts +5 -5
  92. package/es/modules/mobile.js +33 -0
  93. package/{dist/packages/core/src → es}/modules/moveCells.d.ts +5 -5
  94. package/es/modules/moveCells.js +348 -0
  95. package/{dist/packages/core/src → es}/modules/protection.d.ts +5 -5
  96. package/es/modules/protection.js +96 -0
  97. package/{dist/packages/core/src → es}/modules/refresh.d.ts +3 -3
  98. package/es/modules/refresh.js +34 -0
  99. package/{dist/packages/core/src → es}/modules/rowcol.d.ts +19 -19
  100. package/es/modules/rowcol.js +1922 -0
  101. package/{dist/packages/core/src → es}/modules/screenshot.d.ts +2 -2
  102. package/es/modules/screenshot.js +90 -0
  103. package/{dist/packages/core/src → es}/modules/searchReplace.d.ts +36 -36
  104. package/es/modules/searchReplace.js +388 -0
  105. package/{dist/packages/core/src → es}/modules/selection.d.ts +50 -46
  106. package/es/modules/selection.js +1856 -0
  107. package/{dist/packages/core/src → es}/modules/sheet.d.ts +10 -10
  108. package/es/modules/sheet.js +237 -0
  109. package/{dist/packages/core/src → es}/modules/sort.d.ts +7 -7
  110. package/es/modules/sort.js +134 -0
  111. package/{dist/packages/core/src → es}/modules/splitColumn.d.ts +5 -5
  112. package/es/modules/splitColumn.js +126 -0
  113. package/es/modules/ssf.js +1533 -0
  114. package/{dist/packages/core/src → es}/modules/text.d.ts +10 -10
  115. package/es/modules/text.js +1207 -0
  116. package/{dist/packages/core/src → es}/modules/toolbar.d.ts +32 -32
  117. package/es/modules/toolbar.js +970 -0
  118. package/{dist/packages/core/src → es}/modules/validation.d.ts +19 -19
  119. package/es/modules/validation.js +190 -0
  120. package/{dist/packages/core/src → es}/modules/zoom.d.ts +3 -3
  121. package/es/modules/zoom.js +29 -0
  122. package/{dist/packages/core/src → es}/settings.d.ts +100 -100
  123. package/es/settings.js +36 -0
  124. package/{dist/packages/core/src → es}/types.d.ts +380 -371
  125. package/es/types.js +1 -0
  126. package/{dist/packages/core/src → es}/utils/freeze.d.ts +7 -7
  127. package/es/utils/freeze.js +86 -0
  128. package/{dist/packages/core/src → es}/utils/index.d.ts +19 -18
  129. package/es/utils/index.js +198 -0
  130. package/{dist/packages/core/src → es}/utils/patch.d.ts +37 -37
  131. package/es/utils/patch.js +381 -0
  132. package/lib/api/cell.d.ts +10 -0
  133. package/lib/api/cell.js +215 -0
  134. package/lib/api/common.d.ts +71 -0
  135. package/lib/api/common.js +88 -0
  136. package/lib/api/errors.d.ts +2 -0
  137. package/lib/api/errors.js +8 -0
  138. package/lib/api/index.d.ts +9 -0
  139. package/lib/api/index.js +101 -0
  140. package/lib/api/merge.d.ts +5 -0
  141. package/lib/api/merge.js +22 -0
  142. package/lib/api/range.d.ts +22 -0
  143. package/lib/api/range.js +138 -0
  144. package/lib/api/rowcol.d.ts +14 -0
  145. package/lib/api/rowcol.js +222 -0
  146. package/lib/api/sheet.d.ts +10 -0
  147. package/lib/api/sheet.js +145 -0
  148. package/lib/api/workbook.d.ts +15 -0
  149. package/lib/api/workbook.js +98 -0
  150. package/lib/canvas.d.ts +46 -0
  151. package/lib/canvas.js +1356 -0
  152. package/lib/context.d.ts +198 -0
  153. package/lib/context.js +393 -0
  154. package/lib/events/copy.d.ts +2 -0
  155. package/lib/events/copy.js +85 -0
  156. package/lib/events/index.d.ts +4 -0
  157. package/lib/events/index.js +49 -0
  158. package/lib/events/keyboard.d.ts +6 -0
  159. package/lib/events/keyboard.js +370 -0
  160. package/lib/events/mouse.d.ts +22 -0
  161. package/lib/events/mouse.js +1744 -0
  162. package/lib/events/paste.d.ts +4 -0
  163. package/lib/events/paste.js +1425 -0
  164. package/lib/index.d.ts +10 -0
  165. package/lib/index.js +109 -0
  166. package/lib/locale/en.d.ts +993 -0
  167. package/lib/locale/en.js +10146 -0
  168. package/lib/locale/es.d.ts +1134 -0
  169. package/lib/locale/es.js +10016 -0
  170. package/lib/locale/hi.d.ts +1030 -0
  171. package/lib/locale/hi.js +10556 -0
  172. package/lib/locale/index.d.ts +1049 -0
  173. package/lib/locale/index.js +29 -0
  174. package/lib/locale/zh.d.ts +1048 -0
  175. package/lib/locale/zh.js +10574 -0
  176. package/lib/locale/zh_tw.d.ts +1187 -0
  177. package/lib/locale/zh_tw.js +10078 -0
  178. package/lib/modules/ConditionFormat.d.ts +17 -0
  179. package/lib/modules/ConditionFormat.js +1273 -0
  180. package/lib/modules/border.d.ts +3 -0
  181. package/lib/modules/border.js +1248 -0
  182. package/lib/modules/cell.d.ts +32 -0
  183. package/lib/modules/cell.js +1122 -0
  184. package/lib/modules/clipboard.d.ts +3 -0
  185. package/lib/modules/clipboard.js +42 -0
  186. package/lib/modules/color.d.ts +1 -0
  187. package/lib/modules/color.js +7 -0
  188. package/lib/modules/comment.d.ts +97 -0
  189. package/lib/modules/comment.js +625 -0
  190. package/lib/modules/conditionalFormat.d.ts +2 -0
  191. package/lib/modules/conditionalFormat.js +447 -0
  192. package/lib/modules/cursor.d.ts +3 -0
  193. package/lib/modules/cursor.js +70 -0
  194. package/lib/modules/dataVerification.d.ts +11 -0
  195. package/lib/modules/dataVerification.js +716 -0
  196. package/lib/modules/dropCell.d.ts +10 -0
  197. package/lib/modules/dropCell.js +2283 -0
  198. package/lib/modules/filter.d.ts +45 -0
  199. package/lib/modules/filter.js +448 -0
  200. package/lib/modules/format.d.ts +6 -0
  201. package/lib/modules/format.js +334 -0
  202. package/lib/modules/formula.d.ts +54 -0
  203. package/lib/modules/formula.js +2375 -0
  204. package/lib/modules/freeze.d.ts +5 -0
  205. package/lib/modules/freeze.js +158 -0
  206. package/lib/modules/hyperlink.d.ts +21 -0
  207. package/lib/modules/hyperlink.js +232 -0
  208. package/lib/modules/iframe.d.ts +12 -0
  209. package/lib/modules/iframe.js +236 -0
  210. package/lib/modules/image.d.ts +31 -0
  211. package/lib/modules/image.js +272 -0
  212. package/lib/modules/index.d.ts +36 -0
  213. package/lib/modules/index.js +401 -0
  214. package/lib/modules/inline-string.d.ts +36 -0
  215. package/lib/modules/inline-string.js +452 -0
  216. package/lib/modules/location.d.ts +6 -0
  217. package/lib/modules/location.js +57 -0
  218. package/lib/modules/locationCondition.d.ts +21 -0
  219. package/lib/modules/locationCondition.js +229 -0
  220. package/lib/modules/merge.d.ts +3 -0
  221. package/lib/modules/merge.js +223 -0
  222. package/lib/modules/mobile.d.ts +5 -0
  223. package/lib/modules/mobile.js +41 -0
  224. package/lib/modules/moveCells.d.ts +5 -0
  225. package/lib/modules/moveCells.js +357 -0
  226. package/lib/modules/protection.d.ts +5 -0
  227. package/lib/modules/protection.js +106 -0
  228. package/lib/modules/refresh.d.ts +3 -0
  229. package/lib/modules/refresh.js +40 -0
  230. package/lib/modules/rowcol.d.ts +19 -0
  231. package/lib/modules/rowcol.js +1935 -0
  232. package/lib/modules/screenshot.d.ts +2 -0
  233. package/lib/modules/screenshot.js +96 -0
  234. package/lib/modules/searchReplace.d.ts +36 -0
  235. package/lib/modules/searchReplace.js +402 -0
  236. package/lib/modules/selection.d.ts +50 -0
  237. package/lib/modules/selection.js +1889 -0
  238. package/lib/modules/sheet.d.ts +10 -0
  239. package/lib/modules/sheet.js +250 -0
  240. package/lib/modules/sort.d.ts +7 -0
  241. package/lib/modules/sort.js +143 -0
  242. package/lib/modules/splitColumn.d.ts +5 -0
  243. package/lib/modules/splitColumn.js +136 -0
  244. package/lib/modules/ssf.js +1539 -0
  245. package/lib/modules/text.d.ts +10 -0
  246. package/lib/modules/text.js +1221 -0
  247. package/lib/modules/toolbar.d.ts +32 -0
  248. package/lib/modules/toolbar.js +1003 -0
  249. package/lib/modules/validation.d.ts +19 -0
  250. package/lib/modules/validation.js +205 -0
  251. package/lib/modules/zoom.d.ts +3 -0
  252. package/lib/modules/zoom.js +36 -0
  253. package/lib/settings.d.ts +100 -0
  254. package/lib/settings.js +42 -0
  255. package/lib/types.d.ts +380 -0
  256. package/lib/types.js +5 -0
  257. package/lib/utils/freeze.d.ts +7 -0
  258. package/lib/utils/freeze.js +92 -0
  259. package/lib/utils/index.d.ts +19 -0
  260. package/lib/utils/index.js +258 -0
  261. package/lib/utils/patch.d.ts +37 -0
  262. package/lib/utils/patch.js +392 -0
  263. package/package.json +7 -6
  264. package/dist/index.esm.js +0 -80255
  265. package/dist/index.js +0 -80601
  266. package/dist/packages/react/src/components/ChangeColor/index.d.ts +0 -7
  267. package/dist/packages/react/src/components/ConditionFormat/ConditionRules.d.ts +0 -6
  268. package/dist/packages/react/src/components/ConditionFormat/index.d.ts +0 -7
  269. package/dist/packages/react/src/components/ContextMenu/Divider.d.ts +0 -3
  270. package/dist/packages/react/src/components/ContextMenu/FilterMenu.d.ts +0 -3
  271. package/dist/packages/react/src/components/ContextMenu/Menu.d.ts +0 -8
  272. package/dist/packages/react/src/components/ContextMenu/SheetTab.d.ts +0 -4
  273. package/dist/packages/react/src/components/ContextMenu/index.d.ts +0 -5
  274. package/dist/packages/react/src/components/CustomSort/index.d.ts +0 -4
  275. package/dist/packages/react/src/components/DataVerification/DropdownList.d.ts +0 -4
  276. package/dist/packages/react/src/components/DataVerification/RangeDialog.d.ts +0 -4
  277. package/dist/packages/react/src/components/DataVerification/getDisplayedRangeTxt.d.ts +0 -2
  278. package/dist/packages/react/src/components/DataVerification/index.d.ts +0 -4
  279. package/dist/packages/react/src/components/Dialog/index.d.ts +0 -15
  280. package/dist/packages/react/src/components/DuneChartsInputModal/DuneChartsInputModal.d.ts +0 -11
  281. package/dist/packages/react/src/components/DunePreview/DunePreview.d.ts +0 -13
  282. package/dist/packages/react/src/components/FilterOption/index.d.ts +0 -5
  283. package/dist/packages/react/src/components/FormatSearch/index.d.ts +0 -6
  284. package/dist/packages/react/src/components/FormulaSearch/index.d.ts +0 -5
  285. package/dist/packages/react/src/components/FxEditor/NameBox.d.ts +0 -3
  286. package/dist/packages/react/src/components/FxEditor/index.d.ts +0 -4
  287. package/dist/packages/react/src/components/IFrameBoxs/iFrameBoxs.d.ts +0 -4
  288. package/dist/packages/react/src/components/ImgBoxs/index.d.ts +0 -3
  289. package/dist/packages/react/src/components/LinkEidtCard/index.d.ts +0 -5
  290. package/dist/packages/react/src/components/LocationCondition/index.d.ts +0 -3
  291. package/dist/packages/react/src/components/MessageBox/index.d.ts +0 -9
  292. package/dist/packages/react/src/components/NotationBoxes/index.d.ts +0 -3
  293. package/dist/packages/react/src/components/ResetColumnWidth/index.d.ts +0 -2
  294. package/dist/packages/react/src/components/SVGDefines.d.ts +0 -5
  295. package/dist/packages/react/src/components/SVGIcon.d.ts +0 -9
  296. package/dist/packages/react/src/components/SearchReplace/index.d.ts +0 -6
  297. package/dist/packages/react/src/components/Sheet/index.d.ts +0 -8
  298. package/dist/packages/react/src/components/SheetList/SheetHiddenButton.d.ts +0 -8
  299. package/dist/packages/react/src/components/SheetList/SheetListItem.d.ts +0 -9
  300. package/dist/packages/react/src/components/SheetList/index.d.ts +0 -4
  301. package/dist/packages/react/src/components/SheetOverlay/ColumnHeader.d.ts +0 -3
  302. package/dist/packages/react/src/components/SheetOverlay/ContentEditable.d.ts +0 -11
  303. package/dist/packages/react/src/components/SheetOverlay/FormulaHint/index.d.ts +0 -4
  304. package/dist/packages/react/src/components/SheetOverlay/FormulaSearch/constant.d.ts +0 -63
  305. package/dist/packages/react/src/components/SheetOverlay/FormulaSearch/index.d.ts +0 -4
  306. package/dist/packages/react/src/components/SheetOverlay/InputBox.d.ts +0 -3
  307. package/dist/packages/react/src/components/SheetOverlay/RowHeader.d.ts +0 -3
  308. package/dist/packages/react/src/components/SheetOverlay/ScrollBar/index.d.ts +0 -7
  309. package/dist/packages/react/src/components/SheetOverlay/index.d.ts +0 -4
  310. package/dist/packages/react/src/components/SheetTab/SheetItem.d.ts +0 -8
  311. package/dist/packages/react/src/components/SheetTab/index.d.ts +0 -4
  312. package/dist/packages/react/src/components/SplitColumn/index.d.ts +0 -3
  313. package/dist/packages/react/src/components/Toolbar/Button.d.ts +0 -12
  314. package/dist/packages/react/src/components/Toolbar/ColorPicker.d.ts +0 -6
  315. package/dist/packages/react/src/components/Toolbar/Combo.d.ts +0 -12
  316. package/dist/packages/react/src/components/Toolbar/CustomBorder.d.ts +0 -7
  317. package/dist/packages/react/src/components/Toolbar/CustomButton.d.ts +0 -11
  318. package/dist/packages/react/src/components/Toolbar/CustomColor.d.ts +0 -8
  319. package/dist/packages/react/src/components/Toolbar/CustomIcon.d.ts +0 -9
  320. package/dist/packages/react/src/components/Toolbar/Divider.d.ts +0 -4
  321. package/dist/packages/react/src/components/Toolbar/MoreItemsContainer.d.ts +0 -6
  322. package/dist/packages/react/src/components/Toolbar/Select.d.ts +0 -14
  323. package/dist/packages/react/src/components/Toolbar/index.d.ts +0 -10
  324. package/dist/packages/react/src/components/Workbook/api.d.ts +0 -1177
  325. package/dist/packages/react/src/components/Workbook/index.d.ts +0 -1185
  326. package/dist/packages/react/src/components/ZoomControl/index.d.ts +0 -4
  327. package/dist/packages/react/src/components/index.d.ts +0 -4
  328. package/dist/packages/react/src/constants.d.ts +0 -1
  329. package/dist/packages/react/src/context/index.d.ts +0 -25
  330. package/dist/packages/react/src/context/modal.d.ts +0 -10
  331. package/dist/packages/react/src/hooks/useAlert.d.ts +0 -4
  332. package/dist/packages/react/src/hooks/useDialog.d.ts +0 -5
  333. package/dist/packages/react/src/hooks/useOutsideClick.d.ts +0 -2
  334. package/dist/packages/react/src/hooks/usePrevious.d.ts +0 -2
  335. package/dist/packages/react/src/index.d.ts +0 -1
  336. package/dist/packages/react/src/utils/datepickerStyles.d.ts +0 -2
  337. package/dist/stories/API.stories.d.ts +0 -1210
  338. package/dist/stories/Collabration.stories.d.ts +0 -2359
  339. package/dist/stories/Features.stories.d.ts +0 -9430
  340. package/dist/stories/data/cell.d.ts +0 -983
  341. package/dist/stories/data/dataVerification.d.ts +0 -131
  342. package/dist/stories/data/empty.d.ts +0 -10
  343. package/dist/stories/data/formula.d.ts +0 -362
  344. package/dist/stories/data/freeze.d.ts +0 -34
  345. package/dist/stories/data/protected.d.ts +0 -40
  346. package/dist/stories/utils.d.ts +0 -1
@@ -0,0 +1,1889 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.calcSelectionInfo = calcSelectionInfo;
7
+ exports.colHasMerged = colHasMerged;
8
+ exports.copy = copy;
9
+ exports.deleteSelectedCellFormat = deleteSelectedCellFormat;
10
+ exports.deleteSelectedCellText = deleteSelectedCellText;
11
+ exports.fillDate = fillDate;
12
+ exports.fillTime = fillTime;
13
+ exports.fixColumnStyleOverflowInFreeze = fixColumnStyleOverflowInFreeze;
14
+ exports.fixRowStyleOverflowInFreeze = fixRowStyleOverflowInFreeze;
15
+ exports.getColMerge = getColMerge;
16
+ exports.getRowMerge = getRowMerge;
17
+ exports.moveHighlightCell = moveHighlightCell;
18
+ exports.moveHighlightRange = moveHighlightRange;
19
+ exports.normalizeSelection = normalizeSelection;
20
+ exports.pasteHandlerOfPaintModel = pasteHandlerOfPaintModel;
21
+ exports.rangeValueToHtml = rangeValueToHtml;
22
+ exports.rowHasMerged = rowHasMerged;
23
+ exports.scrollToHighlightCell = scrollToHighlightCell;
24
+ exports.selectAll = selectAll;
25
+ exports.selectIsOverlap = selectIsOverlap;
26
+ exports.selectTitlesMap = selectTitlesMap;
27
+ exports.selectTitlesRange = selectTitlesRange;
28
+ exports.selectionCache = void 0;
29
+ exports.selectionCopyShow = selectionCopyShow;
30
+ exports.seletedHighlistByindex = seletedHighlistByindex;
31
+ exports.textFormat = textFormat;
32
+ var _lodash = _interopRequireWildcard(require("lodash"));
33
+ var _context = require("../context");
34
+ var _cell = require("./cell");
35
+ var _formula = require("./formula");
36
+ var _clipboard = _interopRequireDefault(require("./clipboard"));
37
+ var _border = require("./border");
38
+ var _utils = require("../utils");
39
+ var _validation = require("./validation");
40
+ var _format = require("./format");
41
+ var _ssf = _interopRequireDefault(require("./ssf"));
42
+ var _ConditionFormat = require("./ConditionFormat");
43
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
44
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
45
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
46
+ var selectionCache = exports.selectionCache = {
47
+ isPasteAction: false
48
+ };
49
+ function scrollToHighlightCell(ctx, r, c) {
50
+ var _a, _b, _c, _d;
51
+ var scrollLeft = ctx.scrollLeft,
52
+ scrollTop = ctx.scrollTop;
53
+ var winH = ctx.cellmainHeight;
54
+ var winW = ctx.cellmainWidth;
55
+ var sheetIndex = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
56
+ var sheet = sheetIndex == null ? null : ctx.luckysheetfile[sheetIndex];
57
+ if (!sheet) return;
58
+ var frozen = sheet === null || sheet === void 0 ? void 0 : sheet.frozen;
59
+ if (r >= 0) {
60
+ var row_focus = ((_b = (_a = sheet === null || sheet === void 0 ? void 0 : sheet.frozen) === null || _a === void 0 ? void 0 : _a.range) === null || _b === void 0 ? void 0 : _b.row_focus) || 0;
61
+ var freezeH = frozen && r > row_focus ? ctx.visibledatarow[row_focus] : 0;
62
+ var row = ctx.visibledatarow[r];
63
+ var row_pre = r - 1 === -1 ? 0 : ctx.visibledatarow[r - 1];
64
+ if (row - scrollTop - winH + 20 > 0) {
65
+ ctx.scrollTop = row - winH + 20;
66
+ } else if (row_pre - scrollTop - freezeH < 0) {
67
+ var scrollAmount = Math.max(20, freezeH);
68
+ ctx.scrollTop = row_pre - scrollAmount;
69
+ }
70
+ }
71
+ if (c >= 0) {
72
+ var column_focus = ((_d = (_c = sheet === null || sheet === void 0 ? void 0 : sheet.frozen) === null || _c === void 0 ? void 0 : _c.range) === null || _d === void 0 ? void 0 : _d.column_focus) || 0;
73
+ var freezeW = frozen && c > column_focus ? ctx.visibledatacolumn[column_focus] : 0;
74
+ var col = ctx.visibledatacolumn[c];
75
+ var col_pre = c - 1 === -1 ? 0 : ctx.visibledatacolumn[c - 1];
76
+ if (col - scrollLeft - winW + 20 > 0) {
77
+ ctx.scrollLeft = col - winW + 20;
78
+ } else if (col_pre - scrollLeft - freezeW < 0) {
79
+ var scrollAmount = Math.max(20, freezeW);
80
+ ctx.scrollLeft = col_pre - scrollAmount;
81
+ }
82
+ }
83
+ }
84
+ function seletedHighlistByindex(ctx, r1, r2, c1, c2) {
85
+ var row = ctx.visibledatarow[r2];
86
+ var row_pre = r1 - 1 === -1 ? 0 : ctx.visibledatarow[r1 - 1];
87
+ var col = ctx.visibledatacolumn[c2];
88
+ var col_pre = c1 - 1 === -1 ? 0 : ctx.visibledatacolumn[c1 - 1];
89
+ if (_lodash.default.isNumber(row) && _lodash.default.isNumber(row_pre) && _lodash.default.isNumber(col) && _lodash.default.isNumber(col_pre)) {
90
+ return {
91
+ left: col_pre,
92
+ width: col - col_pre - 1,
93
+ top: row_pre,
94
+ height: row - row_pre - 1
95
+ };
96
+ }
97
+ return null;
98
+ }
99
+ function normalizeSelection(ctx, selection) {
100
+ var _a, _b;
101
+ if (!selection) return selection;
102
+ var flowdata = (0, _context.getFlowdata)(ctx);
103
+ if (!flowdata) return selection;
104
+ for (var i = 0; i < selection.length; i += 1) {
105
+ var r1 = selection[i].row[0];
106
+ var r2 = selection[i].row[1];
107
+ var c1 = selection[i].column[0];
108
+ var c2 = selection[i].column[1];
109
+ var rf = void 0;
110
+ var cf = void 0;
111
+ if (_lodash.default.isNil(selection[i].row_focus)) {
112
+ rf = r1;
113
+ } else {
114
+ rf = selection[i].row_focus;
115
+ }
116
+ if (_lodash.default.isNil(selection[i].column_focus)) {
117
+ cf = c1;
118
+ } else {
119
+ cf = selection[i].column_focus;
120
+ }
121
+ if (_lodash.default.isNil(rf) || _lodash.default.isNil(cf)) {
122
+ console.error("normalizeSelection: rf and cf is nil");
123
+ return selection;
124
+ }
125
+ var row = ctx.visibledatarow[r2];
126
+ var row_pre = r1 - 1 === -1 ? 0 : ctx.visibledatarow[r1 - 1];
127
+ var col = ctx.visibledatacolumn[c2];
128
+ var col_pre = c1 - 1 === -1 ? 0 : ctx.visibledatacolumn[c1 - 1];
129
+ var row_f = ctx.visibledatarow[rf];
130
+ var row_pre_f = rf - 1 === -1 ? 0 : ctx.visibledatarow[rf - 1];
131
+ var col_f = ctx.visibledatacolumn[cf];
132
+ var col_pre_f = cf - 1 === -1 ? 0 : ctx.visibledatacolumn[cf - 1];
133
+ var margeset = (0, _cell.mergeBorder)(ctx, flowdata, rf, cf);
134
+ if (margeset) {
135
+ _a = margeset.row, row_pre_f = _a[0], row_f = _a[1];
136
+ _b = margeset.column, col_pre_f = _b[0], col_f = _b[1];
137
+ }
138
+ selection[i].row = [r1, r2];
139
+ selection[i].column = [c1, c2];
140
+ selection[i].row_focus = rf;
141
+ selection[i].column_focus = cf;
142
+ selection[i].left = col_pre_f;
143
+ selection[i].width = col_f - col_pre_f <= 0 ? 0 : col_f - col_pre_f - 1;
144
+ selection[i].top = row_pre_f;
145
+ selection[i].height = row_f - row_pre_f <= 0 ? 0 : row_f - row_pre_f - 1;
146
+ selection[i].left_move = col_pre;
147
+ selection[i].width_move = col - col_pre <= 0 ? 0 : col - col_pre - 1;
148
+ selection[i].top_move = row_pre;
149
+ selection[i].height_move = row - row_pre <= 0 ? 0 : row - row_pre - 1;
150
+ }
151
+ return selection;
152
+ }
153
+ function selectTitlesMap(rangeMap, range1, range2) {
154
+ var map = rangeMap || {};
155
+ for (var i = range1; i <= range2; i += 1) {
156
+ if (i in map) {
157
+ continue;
158
+ }
159
+ map[i] = 0;
160
+ }
161
+ return map;
162
+ }
163
+ function selectTitlesRange(map) {
164
+ var mapArr = Object.keys(map).map(Number);
165
+ mapArr.sort(function (a, b) {
166
+ return a - b;
167
+ });
168
+ var rangeArr;
169
+ var item = [];
170
+ if (mapArr.length > 1) {
171
+ rangeArr = [];
172
+ for (var j = 1; j < mapArr.length; j += 1) {
173
+ if (mapArr[j] - mapArr[j - 1] === 1) {
174
+ item.push(mapArr[j - 1]);
175
+ if (j === mapArr.length - 1) {
176
+ item.push(mapArr[j]);
177
+ rangeArr.push(item);
178
+ }
179
+ } else {
180
+ if (j === 1) {
181
+ if (j === mapArr.length - 1) {
182
+ item.push(mapArr[j - 1]);
183
+ rangeArr.push(item);
184
+ rangeArr.push([mapArr[j]]);
185
+ } else {
186
+ rangeArr.push([mapArr[0]]);
187
+ }
188
+ } else if (j === mapArr.length - 1) {
189
+ item.push(mapArr[j - 1]);
190
+ rangeArr.push(item);
191
+ rangeArr.push([mapArr[j]]);
192
+ } else {
193
+ item.push(mapArr[j - 1]);
194
+ rangeArr.push(item);
195
+ item = [];
196
+ }
197
+ }
198
+ }
199
+ } else {
200
+ rangeArr = [];
201
+ rangeArr.push([mapArr[0]]);
202
+ }
203
+ return rangeArr;
204
+ }
205
+ function pasteHandlerOfPaintModel(ctx, copyRange) {
206
+ var cfg = ctx.config;
207
+ if (cfg.merge == null) {
208
+ cfg.merge = {};
209
+ }
210
+ if (!copyRange) return;
211
+ var copyHasMC = copyRange.HasMC;
212
+ var copySheetIndex = copyRange.dataSheetId;
213
+ var c_r1 = copyRange.copyRange[0].row[0];
214
+ var c_r2 = copyRange.copyRange[0].row[1];
215
+ var c_c1 = copyRange.copyRange[0].column[0];
216
+ var c_c2 = copyRange.copyRange[0].column[1];
217
+ var copyData = _lodash.default.cloneDeep((0, _cell.getdatabyselection)(ctx, {
218
+ row: [c_r1, c_r2],
219
+ column: [c_c1, c_c2]
220
+ }, copySheetIndex));
221
+ if (!ctx.luckysheet_select_save) return;
222
+ var last = ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1];
223
+ var minh = last.row[0];
224
+ var maxh = last.row[1];
225
+ var minc = last.column[0];
226
+ var maxc = last.column[1];
227
+ var copyh = copyData.length;
228
+ var copyc = copyData[0].length;
229
+ if (minh === maxh && minc === maxc) {
230
+ var has_PartMC = false;
231
+ if (cfg.merge != null) {
232
+ has_PartMC = (0, _validation.hasPartMC)(ctx, cfg, minh, minh + copyh - 1, minc, minc + copyc - 1);
233
+ }
234
+ if (has_PartMC) {
235
+ return;
236
+ }
237
+ maxh = minh + copyh - 1;
238
+ maxc = minc + copyc - 1;
239
+ }
240
+ var timesH = Math.ceil((maxh - minh + 1) / copyh);
241
+ var timesC = Math.ceil((maxc - minc + 1) / copyc);
242
+ var flowdata = (0, _context.getFlowdata)(ctx);
243
+ if (flowdata == null) return;
244
+ var cellMaxLength = flowdata[0].length;
245
+ var rowMaxLength = flowdata.length;
246
+ var borderInfoCompute = (0, _border.getBorderInfoCompute)(ctx, copySheetIndex);
247
+ var c_dataVerification = _lodash.default.cloneDeep(ctx.luckysheetfile[(0, _utils.getSheetIndex)(ctx, copySheetIndex)].dataVerification) || {};
248
+ var dataVerification = null;
249
+ var mth = 0;
250
+ var mtc = 0;
251
+ var maxcellCahe = 0;
252
+ var maxrowCache = 0;
253
+ for (var th = 1; th <= timesH; th += 1) {
254
+ for (var tc = 1; tc <= timesC; tc += 1) {
255
+ mth = minh + (th - 1) * copyh;
256
+ mtc = minc + (tc - 1) * copyc;
257
+ maxrowCache = minh + th * copyh > rowMaxLength ? rowMaxLength : minh + th * copyh;
258
+ if (maxrowCache > maxh + 1) {
259
+ maxrowCache = maxh + 1;
260
+ }
261
+ maxcellCahe = minc + tc * copyc > cellMaxLength ? cellMaxLength : minc + tc * copyc;
262
+ if (maxcellCahe > maxc + 1) {
263
+ maxcellCahe = maxc + 1;
264
+ }
265
+ var offsetMC = {};
266
+ var _loop_1 = function _loop_1(h) {
267
+ if (h == null) return {
268
+ value: void 0
269
+ };
270
+ if (flowdata[h] == null) return {
271
+ value: void 0
272
+ };
273
+ var x = [];
274
+ x = flowdata[h];
275
+ var _loop_2 = function _loop_2(c) {
276
+ if (borderInfoCompute["".concat(c_r1 + h - mth, "_").concat(c_c1 + c - mtc)]) {
277
+ var bd_obj = {
278
+ rangeType: "cell",
279
+ value: {
280
+ row_index: h,
281
+ col_index: c,
282
+ l: borderInfoCompute["".concat(c_r1 + h - mth, "_").concat(c_c1 + c - mtc)].l,
283
+ r: borderInfoCompute["".concat(c_r1 + h - mth, "_").concat(c_c1 + c - mtc)].r,
284
+ t: borderInfoCompute["".concat(c_r1 + h - mth, "_").concat(c_c1 + c - mtc)].t,
285
+ b: borderInfoCompute["".concat(c_r1 + h - mth, "_").concat(c_c1 + c - mtc)].b
286
+ }
287
+ };
288
+ if (cfg.borderInfo == null) {
289
+ cfg.borderInfo = [];
290
+ }
291
+ cfg.borderInfo.push(bd_obj);
292
+ } else if (borderInfoCompute["".concat(h, "_").concat(c)]) {
293
+ var bd_obj = {
294
+ rangeType: "cell",
295
+ value: {
296
+ row_index: h,
297
+ col_index: c,
298
+ l: null,
299
+ r: null,
300
+ t: null,
301
+ b: null
302
+ }
303
+ };
304
+ if (cfg.borderInfo == null) {
305
+ cfg.borderInfo = [];
306
+ }
307
+ cfg.borderInfo.push(bd_obj);
308
+ }
309
+ if (c_dataVerification["".concat(c_r1 + h - mth, "_").concat(c_c1 + c - mtc)]) {
310
+ if (dataVerification == null) {
311
+ dataVerification = _lodash.default.cloneDeep(ctx.luckysheetfile[(0, _utils.getSheetIndex)(ctx, ctx.currentSheetId)].dataVerification);
312
+ }
313
+ dataVerification["".concat(h, "_").concat(c)] = c_dataVerification["".concat(c_r1 + h - mth, "_").concat(c_c1 + c - mtc)];
314
+ }
315
+ if ((0, _lodash.isPlainObject)(x[c]) && x[c].mc) {
316
+ if (x[c].mc.rs) {
317
+ delete cfg.merge["".concat(x[c].mc.r, "_").concat(x[c].mc.c)];
318
+ }
319
+ delete x[c].mc;
320
+ }
321
+ var value = null;
322
+ if (copyData[h - mth] != null && copyData[h - mth][c - mtc] != null) {
323
+ value = copyData[h - mth][c - mtc];
324
+ }
325
+ if ((0, _lodash.isPlainObject)(x[c])) {
326
+ if (x[c].ct && x[c].ct.t === "inlineStr" && value) {
327
+ delete value.ct;
328
+ } else {
329
+ var format = ["bg", "fc", "ct", "ht", "vt", "bl", "it", "cl", "un", "fs", "ff", "tb"];
330
+ format.forEach(function (item) {
331
+ Reflect.deleteProperty(x[c], item);
332
+ });
333
+ }
334
+ } else {
335
+ x[c] = {
336
+ v: x[c]
337
+ };
338
+ }
339
+ if (value != null) {
340
+ delete value.v;
341
+ delete value.m;
342
+ delete value.f;
343
+ delete value.spl;
344
+ if (value.ct && value.ct.t === "inlineStr") {
345
+ delete value.ct;
346
+ }
347
+ x[c] = _lodash.default.assign(x[c], _lodash.default.cloneDeep(value));
348
+ if (x[c].ct && x[c].ct.t === "inlineStr") {
349
+ x[c].ct.s.forEach(function (item) {
350
+ return _lodash.default.assign(item, value);
351
+ });
352
+ }
353
+ if (copyHasMC && x[c].mc) {
354
+ if (x[c].mc.rs != null) {
355
+ x[c].mc.r = h;
356
+ if (x[c].mc.rs + h >= maxrowCache) {
357
+ x[c].mc.rs = maxrowCache - h;
358
+ }
359
+ x[c].mc.c = c;
360
+ if (x[c].mc.cs + c >= maxcellCahe) {
361
+ x[c].mc.cs = maxcellCahe - c;
362
+ }
363
+ cfg.merge["".concat(x[c].mc.r, "_").concat(x[c].mc.c)] = x[c].mc;
364
+ offsetMC["".concat(value.mc.r, "_").concat(value.mc.c)] = [x[c].mc.r, x[c].mc.c];
365
+ } else {
366
+ x[c] = {
367
+ mc: {
368
+ r: offsetMC["".concat(value.mc.r, "_").concat(value.mc.c)][0],
369
+ c: offsetMC["".concat(value.mc.r, "_").concat(value.mc.c)][1]
370
+ }
371
+ };
372
+ }
373
+ }
374
+ if (x[c].v != null) {
375
+ if (value.ct != null && value.ct.fa != null) {
376
+ var mask = (0, _format.update)(value.ct.fa, x[c].v);
377
+ x[c].m = mask;
378
+ }
379
+ }
380
+ }
381
+ };
382
+ for (var c = mtc; c < maxcellCahe; c += 1) {
383
+ _loop_2(c);
384
+ }
385
+ flowdata[h] = x;
386
+ };
387
+ for (var h = mth; h < maxrowCache; h += 1) {
388
+ var state_1 = _loop_1(h);
389
+ if (_typeof(state_1) === "object") return state_1.value;
390
+ }
391
+ }
392
+ }
393
+ var currFile = ctx.luckysheetfile[(0, _utils.getSheetIndex)(ctx, ctx.currentSheetId)];
394
+ currFile.config = cfg;
395
+ currFile.dataVerification = dataVerification;
396
+ var cdformat = null;
397
+ var copyIndex = (0, _utils.getSheetIndex)(ctx, copySheetIndex);
398
+ if (!copyIndex) return;
399
+ var ruleArr = _lodash.default.cloneDeep(ctx.luckysheetfile[copyIndex].luckysheet_conditionformat_save);
400
+ if (!_lodash.default.isNil(ruleArr) && ruleArr.length > 0) {
401
+ var currentIndex = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
402
+ cdformat = _lodash.default.cloneDeep(ctx.luckysheetfile[currentIndex].luckysheet_conditionformat_save);
403
+ for (var i = 0; i < ruleArr.length; i += 1) {
404
+ var cdformat_cellrange = ruleArr[i].cellrange;
405
+ var emptyRange = [];
406
+ for (var j = 0; j < cdformat_cellrange.length; j += 1) {
407
+ var range = (0, _ConditionFormat.CFSplitRange)(cdformat_cellrange[j], {
408
+ row: [c_r1, c_r2],
409
+ column: [c_c1, c_c2]
410
+ }, {
411
+ row: [minh, maxh],
412
+ column: [minc, maxc]
413
+ }, "operatePart");
414
+ if (range.length > 0) {
415
+ emptyRange = emptyRange.concat(range);
416
+ }
417
+ }
418
+ if (emptyRange.length > 0) {
419
+ ruleArr[i].cellrange = [{
420
+ row: [minh, maxh],
421
+ column: [minc, maxc]
422
+ }];
423
+ cdformat.push(ruleArr[i]);
424
+ }
425
+ }
426
+ }
427
+ }
428
+ function selectionCopyShow(range, ctx) {
429
+ if (range == null) {
430
+ range = ctx.luckysheet_selection_range;
431
+ }
432
+ range = JSON.parse(JSON.stringify(range));
433
+ }
434
+ function rowHasMerged(ctx, r, c1, c2) {
435
+ var hasMerged = false;
436
+ var flowData = (0, _context.getFlowdata)(ctx);
437
+ if (_lodash.default.isNil(flowData) || _lodash.default.isNil(flowData[r])) return false;
438
+ for (var c = c1; c <= c2; c += 1) {
439
+ var cell = flowData[r][c];
440
+ if (!_lodash.default.isNil(cell) && "mc" in cell) {
441
+ hasMerged = true;
442
+ break;
443
+ }
444
+ }
445
+ return hasMerged;
446
+ }
447
+ function colHasMerged(ctx, c, r1, r2) {
448
+ var _a;
449
+ var hasMerged = false;
450
+ var flowData = (0, _context.getFlowdata)(ctx);
451
+ if (_lodash.default.isNil(flowData)) return false;
452
+ for (var r = r1; r <= r2; r += 1) {
453
+ var cell = (_a = flowData[r]) === null || _a === void 0 ? void 0 : _a[c];
454
+ if (!_lodash.default.isNil(ctx.config.merge) && !_lodash.default.isNil(cell) && "mc" in cell && !_lodash.default.isNil(cell.mc)) {
455
+ hasMerged = true;
456
+ break;
457
+ }
458
+ }
459
+ return hasMerged;
460
+ }
461
+ function getRowMerge(ctx, rIndex, c1, c2) {
462
+ var flowData = (0, _context.getFlowdata)(ctx);
463
+ if (_lodash.default.isNil(flowData)) return [null, null];
464
+ var r2 = flowData.length - 1;
465
+ var str = null;
466
+ if (rIndex > 0) {
467
+ for (var r = rIndex; r >= 0; r -= 1) {
468
+ for (var c = c1; c <= c2; c += 1) {
469
+ var cell = flowData[r][c];
470
+ if (!_lodash.default.isNil(cell) && !_lodash.default.isNil(cell.mc) && "mc" in cell && !_lodash.default.isNil(ctx.config.merge)) {
471
+ var mc = ctx.config.merge["".concat(cell.mc.r, "_").concat(cell.mc.c)];
472
+ if (_lodash.default.isNil(str) || mc.r < str) {
473
+ str = mc.r;
474
+ }
475
+ }
476
+ }
477
+ if (!_lodash.default.isNil(str) && rowHasMerged(ctx, str - 1, c1, c2) && str > 0) {
478
+ r = str;
479
+ } else {
480
+ break;
481
+ }
482
+ }
483
+ } else {
484
+ str = 0;
485
+ }
486
+ var end = null;
487
+ if (rIndex < r2) {
488
+ for (var r = rIndex; r <= r2; r += 1) {
489
+ for (var c = c1; c <= c2; c += 1) {
490
+ var cell = flowData[r][c];
491
+ if (!_lodash.default.isNil(cell) && !_lodash.default.isNil(cell.mc) && "mc" in cell && !_lodash.default.isNil(ctx.config.merge)) {
492
+ var mc = ctx.config.merge["".concat(cell.mc.r, "_").concat(cell.mc.c)];
493
+ if (_lodash.default.isNil(end) || mc.r + mc.rs - 1 > end) {
494
+ end = mc.r + mc.rs - 1;
495
+ }
496
+ }
497
+ }
498
+ if (!_lodash.default.isNil(end) && rowHasMerged(ctx, end + 1, c1, c2) && end < r2) {
499
+ r = end;
500
+ } else {
501
+ break;
502
+ }
503
+ }
504
+ } else {
505
+ end = r2;
506
+ }
507
+ return [str, end];
508
+ }
509
+ function getColMerge(ctx, cIndex, r1, r2) {
510
+ var flowData = (0, _context.getFlowdata)(ctx);
511
+ if (_lodash.default.isNil(flowData)) {
512
+ return [null, null];
513
+ }
514
+ var c2 = flowData[0].length - 1;
515
+ var str = null;
516
+ if (cIndex > 0) {
517
+ for (var c = cIndex; c >= 0; c -= 1) {
518
+ for (var r = r1; r <= r2; r += 1) {
519
+ var cell = flowData[r][c];
520
+ if (!_lodash.default.isNil(ctx.config.merge) && !_lodash.default.isNil(cell) && "mc" in cell && !_lodash.default.isNil(cell.mc)) {
521
+ var mc = ctx.config.merge["".concat(cell.mc.r, "_").concat(cell.mc.c)];
522
+ if (_lodash.default.isNil(str) || mc.c < str) {
523
+ str = mc.c;
524
+ }
525
+ }
526
+ }
527
+ if (!_lodash.default.isNil(str) && colHasMerged(ctx, str - 1, r1, r2) && str > 0) {
528
+ c = str;
529
+ } else {
530
+ break;
531
+ }
532
+ }
533
+ } else {
534
+ str = 0;
535
+ }
536
+ var end = null;
537
+ if (cIndex < c2) {
538
+ for (var c = cIndex; c <= c2; c += 1) {
539
+ for (var r = r1; r <= r2; r += 1) {
540
+ var cell = flowData[r][c];
541
+ if (!_lodash.default.isNil(ctx.config.merge) && !_lodash.default.isNil(cell) && "mc" in cell && !_lodash.default.isNil(cell.mc)) {
542
+ var mc = ctx.config.merge["".concat(cell.mc.r, "_").concat(cell.mc.c)];
543
+ if (_lodash.default.isNil(end) || mc.c + mc.cs - 1 > end) {
544
+ end = mc.c + mc.cs - 1;
545
+ }
546
+ }
547
+ }
548
+ if (!_lodash.default.isNil(end) && colHasMerged(ctx, end + 1, r1, r2) && end < c2) {
549
+ c = end;
550
+ } else {
551
+ break;
552
+ }
553
+ }
554
+ } else {
555
+ end = c2;
556
+ }
557
+ return [str, end];
558
+ }
559
+ function moveHighlightCell(ctx, postion, index, type) {
560
+ var _a, _b, _c, _d;
561
+ var _e;
562
+ var flowdata = (0, _context.getFlowdata)(ctx);
563
+ if (!flowdata) return;
564
+ var datarowlen = flowdata.length;
565
+ var datacolumnlen = flowdata[0].length;
566
+ var row;
567
+ var row_pre;
568
+ var row_index;
569
+ var row_index_ed;
570
+ var col;
571
+ var col_pre;
572
+ var col_index;
573
+ var col_index_ed;
574
+ if (type === "rangeOfSelect") {
575
+ var last = (_e = ctx.luckysheet_select_save) === null || _e === void 0 ? void 0 : _e[ctx.luckysheet_select_save.length - 1];
576
+ if (!last) {
577
+ console.error("moveHighlightCell: no selection found");
578
+ return;
579
+ }
580
+ var curR = void 0;
581
+ if (_lodash.default.isNil(last.row_focus)) {
582
+ curR = last.row[0];
583
+ } else {
584
+ curR = last.row_focus;
585
+ }
586
+ var curC = void 0;
587
+ if (_lodash.default.isNil(last.column_focus)) {
588
+ curC = last.column[0];
589
+ } else {
590
+ curC = last.column_focus;
591
+ }
592
+ var margeset = (0, _cell.mergeBorder)(ctx, flowdata, curR, curC);
593
+ if (margeset) {
594
+ var str_r = margeset.row[2];
595
+ var end_r = margeset.row[3];
596
+ var str_c = margeset.column[2];
597
+ var end_c = margeset.column[3];
598
+ if (index > 0) {
599
+ if (postion === "down") {
600
+ curR = end_r;
601
+ curC = str_c;
602
+ } else if (postion === "right") {
603
+ curR = str_r;
604
+ curC = end_c;
605
+ }
606
+ } else {
607
+ curR = str_r;
608
+ curC = str_c;
609
+ }
610
+ }
611
+ if (_lodash.default.isNil(curR) || _lodash.default.isNil(curC)) {
612
+ console.error("moveHighlightCell: curR or curC is nil");
613
+ return;
614
+ }
615
+ var moveX = _lodash.default.isNil(last.moveXY) ? curR : last.moveXY.x;
616
+ var moveY = _lodash.default.isNil(last.moveXY) ? curC : last.moveXY.y;
617
+ if (postion === "down") {
618
+ curR += index;
619
+ moveX = curR;
620
+ } else if (postion === "right") {
621
+ curC += index;
622
+ moveY = curC;
623
+ }
624
+ if (curR >= datarowlen) {
625
+ curR = datarowlen - 1;
626
+ moveX = curR;
627
+ }
628
+ if (curR < 0) {
629
+ curR = 0;
630
+ moveX = curR;
631
+ }
632
+ if (curC >= datacolumnlen) {
633
+ curC = datacolumnlen - 1;
634
+ moveY = curC;
635
+ }
636
+ if (curC < 0) {
637
+ curC = 0;
638
+ moveY = curC;
639
+ }
640
+ var margeset2 = (0, _cell.mergeBorder)(ctx, flowdata, curR, curC);
641
+ if (margeset2) {
642
+ _a = margeset2.row, row_pre = _a[0], row = _a[1], row_index = _a[2], row_index_ed = _a[3];
643
+ _b = margeset2.column, col_pre = _b[0], col = _b[1], col_index = _b[2], col_index_ed = _b[3];
644
+ } else {
645
+ row = ctx.visibledatarow[moveX];
646
+ row_pre = moveX - 1 === -1 ? 0 : ctx.visibledatarow[moveX - 1];
647
+ col = ctx.visibledatacolumn[moveY];
648
+ col_pre = moveY - 1 === -1 ? 0 : ctx.visibledatacolumn[moveY - 1];
649
+ row_index = curR;
650
+ row_index_ed = curR;
651
+ col_index = curC;
652
+ col_index_ed = curC;
653
+ }
654
+ if (_lodash.default.isNil(row_index) || _lodash.default.isNil(row_index_ed) || _lodash.default.isNil(col_index) || _lodash.default.isNil(col_index_ed)) {
655
+ console.error("moveHighlightCell: row_index or row_index_ed or col_index or col_index_ed is nil");
656
+ return;
657
+ }
658
+ last.row = [row_index, row_index_ed];
659
+ last.column = [col_index, col_index_ed];
660
+ last.row_focus = row_index;
661
+ last.column_focus = col_index;
662
+ last.moveXY = {
663
+ x: moveX,
664
+ y: moveY
665
+ };
666
+ normalizeSelection(ctx, ctx.luckysheet_select_save);
667
+ scrollToHighlightCell(ctx, row_index, col_index);
668
+ } else if (type === "rangeOfFormula") {
669
+ var last = ctx.formulaCache.func_selectedrange;
670
+ if (!last) return;
671
+ var curR = void 0;
672
+ if (_lodash.default.isNil(last.row_focus)) {
673
+ curR = last.row[0];
674
+ } else {
675
+ curR = last.row_focus;
676
+ }
677
+ var curC = void 0;
678
+ if (_lodash.default.isNil(last.column_focus)) {
679
+ curC = last.column[0];
680
+ } else {
681
+ curC = last.column_focus;
682
+ }
683
+ var margeset = (0, _cell.mergeBorder)(ctx, flowdata, curR, curC);
684
+ if (margeset) {
685
+ var str_r = margeset.row[2];
686
+ var end_r = margeset.row[3];
687
+ var str_c = margeset.column[2];
688
+ var end_c = margeset.column[3];
689
+ if (index > 0) {
690
+ if (postion === "down") {
691
+ curR = end_r;
692
+ curC = str_c;
693
+ } else if (postion === "right") {
694
+ curR = str_r;
695
+ curC = end_c;
696
+ }
697
+ } else {
698
+ curR = str_r;
699
+ curC = str_c;
700
+ }
701
+ }
702
+ if (_lodash.default.isNil(curR) || _lodash.default.isNil(curC)) {
703
+ console.error("moveHighlightCell: curR or curC is nil");
704
+ return;
705
+ }
706
+ var moveX = _lodash.default.isNil(last.moveXY) ? curR : last.moveXY.x;
707
+ var moveY = _lodash.default.isNil(last.moveXY) ? curC : last.moveXY.y;
708
+ if (postion === "down") {
709
+ curR += index;
710
+ moveX = curR;
711
+ } else if (postion === "right") {
712
+ curC += index;
713
+ moveY = curC;
714
+ }
715
+ if (curR >= datarowlen) {
716
+ curR = datarowlen - 1;
717
+ moveX = curR;
718
+ }
719
+ if (curR < 0) {
720
+ curR = 0;
721
+ moveX = curR;
722
+ }
723
+ if (curC >= datacolumnlen) {
724
+ curC = datacolumnlen - 1;
725
+ moveY = curC;
726
+ }
727
+ if (curC < 0) {
728
+ curC = 0;
729
+ moveY = curC;
730
+ }
731
+ var margeset2 = (0, _cell.mergeBorder)(ctx, flowdata, curR, curC);
732
+ if (margeset2) {
733
+ _c = margeset2.row, row_pre = _c[0], row = _c[1], row_index = _c[2], row_index_ed = _c[3];
734
+ _d = margeset2.column, col_pre = _d[0], col = _d[1], col_index = _d[2], col_index_ed = _d[3];
735
+ } else {
736
+ row = ctx.visibledatarow[moveX];
737
+ row_pre = moveX - 1 === -1 ? 0 : ctx.visibledatarow[moveX - 1];
738
+ row_index = moveX;
739
+ row_index_ed = moveX;
740
+ col = ctx.visibledatacolumn[moveY];
741
+ col_pre = moveY - 1 === -1 ? 0 : ctx.visibledatacolumn[moveY - 1];
742
+ col_index = moveY;
743
+ col_index_ed = moveY;
744
+ }
745
+ if (_lodash.default.isNil(col) || _lodash.default.isNil(col_pre) || _lodash.default.isNil(row) || _lodash.default.isNil(row_pre) || _lodash.default.isNil(row_index) || _lodash.default.isNil(row_index_ed) || _lodash.default.isNil(col_index) || _lodash.default.isNil(col_index_ed)) {
746
+ console.error("moveHighlightCell: some values of func_selectedrange is nil");
747
+ return;
748
+ }
749
+ ctx.formulaCache.func_selectedrange = {
750
+ left: col_pre,
751
+ width: col - col_pre - 1,
752
+ top: row_pre,
753
+ height: row - row_pre - 1,
754
+ left_move: col_pre,
755
+ width_move: col - col_pre - 1,
756
+ top_move: row_pre,
757
+ height_move: row - row_pre - 1,
758
+ row: [row_index, row_index_ed],
759
+ column: [col_index, col_index_ed],
760
+ row_focus: row_index,
761
+ column_focus: col_index,
762
+ moveXY: {
763
+ x: moveX,
764
+ y: moveY
765
+ }
766
+ };
767
+ }
768
+ }
769
+ function moveHighlightRange(ctx, postion, index, type) {
770
+ var row;
771
+ var row_pre;
772
+ var col;
773
+ var col_pre;
774
+ var flowData = (0, _context.getFlowdata)(ctx);
775
+ if (_lodash.default.isNil(flowData)) return;
776
+ if (_lodash.default.isNil(ctx.luckysheet_select_save)) return;
777
+ if (type === "rangeOfSelect") {
778
+ var last = ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1];
779
+ var curR = last.row[0];
780
+ var endR = last.row[1];
781
+ var curC = last.column[0];
782
+ var endC = last.column[1];
783
+ var rf = last.row_focus;
784
+ var cf = last.column_focus;
785
+ if (_lodash.default.isNil(rf) || _lodash.default.isNil(cf)) return;
786
+ var datarowlen = flowData.length;
787
+ var datacolumnlen = flowData[0].length;
788
+ if (postion === "down") {
789
+ if (rowHasMerged(ctx, rf, curC, endC)) {
790
+ var rfMerge = getRowMerge(ctx, rf, curC, endC);
791
+ var rf_str = rfMerge[0];
792
+ var rf_end = rfMerge[1];
793
+ if (!_lodash.default.isNil(rf_str) && rf_str > curR && rf_end === endR) {
794
+ if (index > 0 && rowHasMerged(ctx, curR, curC, endC)) {
795
+ var v = getRowMerge(ctx, curR, curC, endC)[1];
796
+ if (!_lodash.default.isNil(v)) {
797
+ curR = v;
798
+ }
799
+ }
800
+ curR += index;
801
+ } else if (!_lodash.default.isNil(rf_end) && rf_end < endR && rf_str === curR) {
802
+ if (index < 0 && rowHasMerged(ctx, endR, curC, endC)) {
803
+ var v = getRowMerge(ctx, curR, curC, endC)[0];
804
+ if (!_lodash.default.isNil(v)) {
805
+ endR = v;
806
+ }
807
+ }
808
+ endR += index;
809
+ } else {
810
+ if (index > 0) {
811
+ endR += index;
812
+ } else {
813
+ curR += index;
814
+ }
815
+ }
816
+ } else {
817
+ if (rf > curR && rf === endR) {
818
+ if (index > 0 && rowHasMerged(ctx, curR, curC, endC)) {
819
+ var v = getRowMerge(ctx, curR, curC, endC)[1];
820
+ if (!_lodash.default.isNil(v)) {
821
+ curR = v;
822
+ }
823
+ }
824
+ curR += index;
825
+ } else if (rf < endR && rf === curR) {
826
+ if (index < 0 && rowHasMerged(ctx, endR, curC, endC)) {
827
+ var v = getRowMerge(ctx, endR, curC, endC)[0];
828
+ if (!_lodash.default.isNil(v)) {
829
+ endR = v;
830
+ }
831
+ }
832
+ endR += index;
833
+ } else if (rf === curR && rf === endR) {
834
+ if (index > 0) {
835
+ endR += index;
836
+ } else {
837
+ curR += index;
838
+ }
839
+ }
840
+ }
841
+ if (endR >= datarowlen) {
842
+ endR = datarowlen - 1;
843
+ }
844
+ if (endR < 0) {
845
+ endR = 0;
846
+ }
847
+ if (curR >= datarowlen) {
848
+ curR = datarowlen - 1;
849
+ }
850
+ if (curR < 0) {
851
+ curR = 0;
852
+ }
853
+ } else {
854
+ if (colHasMerged(ctx, cf, curR, endR)) {
855
+ var cfMerge = getColMerge(ctx, cf, curR, endR);
856
+ var cf_str = cfMerge[0];
857
+ var cf_end = cfMerge[1];
858
+ if (!_lodash.default.isNil(cf_str) && cf_str > curC && cf_end === endC) {
859
+ if (index > 0 && colHasMerged(ctx, curC, curR, endR)) {
860
+ var v = getColMerge(ctx, curC, curR, endR)[1];
861
+ if (!_lodash.default.isNil(v)) {
862
+ curC = v;
863
+ }
864
+ curC += index;
865
+ }
866
+ curC += index;
867
+ } else if (!_lodash.default.isNil(cf_end) && cf_end < endC && cf_str === curC) {
868
+ if (index < 0 && colHasMerged(ctx, endC, curR, endR)) {
869
+ var v = getColMerge(ctx, endC, curR, endR)[0];
870
+ if (!_lodash.default.isNil(v)) {
871
+ endC = v;
872
+ }
873
+ }
874
+ endC += index;
875
+ } else {
876
+ if (index > 0) {
877
+ endC += index;
878
+ } else {
879
+ curC += index;
880
+ }
881
+ }
882
+ } else {
883
+ if (cf > curC && cf === endC) {
884
+ if (index > 0 && colHasMerged(ctx, curC, curR, endR)) {
885
+ var v = getColMerge(ctx, curC, curR, endR)[1];
886
+ if (!_lodash.default.isNil(v)) {
887
+ curC = v;
888
+ }
889
+ curC += index;
890
+ }
891
+ curC += index;
892
+ } else if (cf < endC && cf === curC) {
893
+ if (index < 0 && colHasMerged(ctx, endC, curR, endR)) {
894
+ var v = getColMerge(ctx, endC, curR, endR)[0];
895
+ if (!_lodash.default.isNil(v)) {
896
+ endC = v;
897
+ }
898
+ }
899
+ endC += index;
900
+ } else if (cf === curC && cf === endC) {
901
+ if (index > 0) {
902
+ endC += index;
903
+ } else {
904
+ curC += index;
905
+ }
906
+ }
907
+ }
908
+ if (endC >= datacolumnlen) {
909
+ endC = datacolumnlen - 1;
910
+ }
911
+ if (endC < 0) {
912
+ endC = 0;
913
+ }
914
+ if (curC >= datacolumnlen) {
915
+ curC = datacolumnlen - 1;
916
+ }
917
+ if (curC < 0) {
918
+ curC = 0;
919
+ }
920
+ }
921
+ var rowseleted = [curR, endR];
922
+ var columnseleted = [curC, endC];
923
+ row = ctx.visibledatarow[endR];
924
+ row_pre = curR - 1 === -1 ? 0 : ctx.visibledatarow[curR - 1];
925
+ col = ctx.visibledatacolumn[endC];
926
+ col_pre = curC - 1 === -1 ? 0 : ctx.visibledatacolumn[curC - 1];
927
+ var changeparam = (0, _cell.mergeMoveMain)(ctx, columnseleted, rowseleted, last, row_pre, row - row_pre - 1, col_pre, col - col_pre - 1);
928
+ if (!_lodash.default.isNil(changeparam)) {
929
+ columnseleted = changeparam[0], rowseleted = changeparam[1];
930
+ }
931
+ last.row = rowseleted;
932
+ last.column = columnseleted;
933
+ normalizeSelection(ctx, ctx.luckysheet_select_save);
934
+ if (postion === "down") {
935
+ var rowToScroll = last.row_focus === last.row[0] ? last.row[1] : last.row[0];
936
+ scrollToHighlightCell(ctx, rowToScroll, -1);
937
+ } else {
938
+ var columnToScroll = last.column_focus === last.column[0] ? last.column[1] : last.column[0];
939
+ scrollToHighlightCell(ctx, -1, columnToScroll);
940
+ }
941
+ } else if (type === "rangeOfFormula") {
942
+ var last = ctx.formulaCache.func_selectedrange;
943
+ if (_lodash.default.isNil(last)) return;
944
+ var curR = last.row[0];
945
+ var endR = last.row[1];
946
+ var curC = last.column[0];
947
+ var endC = last.column[1];
948
+ var rf = last.row_focus;
949
+ var cf = last.column_focus;
950
+ var datarowlen = flowData.length;
951
+ var datacolumnlen = flowData[0].length;
952
+ if (postion === "down") {
953
+ if (!_lodash.default.isNil(rf) && rowHasMerged(ctx, rf, curC, endC)) {
954
+ var rfMerge = getRowMerge(ctx, rf, curC, endC);
955
+ var rf_str = rfMerge[0];
956
+ var rf_end = rfMerge[1];
957
+ if (!_lodash.default.isNil(rf_str) && rf_str > curR && rf_end === endR) {
958
+ if (index > 0 && rowHasMerged(ctx, curR, curC, endC)) {
959
+ var v = getRowMerge(ctx, curR, curC, endC)[1];
960
+ if (!_lodash.default.isNil(v)) {
961
+ curR = v;
962
+ }
963
+ }
964
+ curR += index;
965
+ } else if (!_lodash.default.isNil(rf_end) && rf_end < endR && rf_str === curR) {
966
+ if (index < 0 && rowHasMerged(ctx, endR, curC, endC)) {
967
+ var v = getRowMerge(ctx, endR, curC, endC)[0];
968
+ if (!_lodash.default.isNil(v)) {
969
+ endR = v;
970
+ }
971
+ endR += index;
972
+ }
973
+ } else {
974
+ if (index > 0) {
975
+ endR += index;
976
+ } else {
977
+ curR += index;
978
+ }
979
+ }
980
+ } else {
981
+ if (!_lodash.default.isNil(rf) && rf > curR && rf === endR) {
982
+ if (index > 0 && rowHasMerged(ctx, curR, curC, endC)) {
983
+ var v = getRowMerge(ctx, curR, curC, endC)[1];
984
+ if (!_lodash.default.isNil(v)) {
985
+ curR = v;
986
+ }
987
+ }
988
+ curR += index;
989
+ } else if (!_lodash.default.isNil(rf) && rf < endR && rf === curR) {
990
+ if (index < 0 && rowHasMerged(ctx, endR, curC, endC)) {
991
+ var v = getRowMerge(ctx, endR, curC, endC)[0];
992
+ if (!_lodash.default.isNil(v)) {
993
+ endR = v;
994
+ }
995
+ }
996
+ endR += index;
997
+ } else if (rf === curR && rf === endR) {
998
+ if (index > 0) {
999
+ endR += index;
1000
+ } else {
1001
+ curR += index;
1002
+ }
1003
+ }
1004
+ }
1005
+ if (endR >= datarowlen) {
1006
+ endR = datarowlen - 1;
1007
+ }
1008
+ if (endR < 0) {
1009
+ endR = 0;
1010
+ }
1011
+ if (curR >= datarowlen) {
1012
+ curR = datarowlen - 1;
1013
+ }
1014
+ if (curR < 0) {
1015
+ curR = 0;
1016
+ }
1017
+ } else {
1018
+ if (!_lodash.default.isNil(cf) && colHasMerged(ctx, cf, curR, endR)) {
1019
+ var cfMerge = getColMerge(ctx, cf, curR, endR);
1020
+ var cf_str = cfMerge[0];
1021
+ var cf_end = cfMerge[1];
1022
+ if (!_lodash.default.isNil(cf_str) && cf_str > curC && cf_end === endC) {
1023
+ if (index > 0 && colHasMerged(ctx, curC, curR, endR)) {
1024
+ var v = getColMerge(ctx, curC, curR, endR)[1];
1025
+ if (!_lodash.default.isNil(v)) {
1026
+ curC = v;
1027
+ }
1028
+ }
1029
+ curC += index;
1030
+ } else if (!_lodash.default.isNil(cf_end) && cf_end < endC && cf_str === curC) {
1031
+ if (index < 0 && colHasMerged(ctx, endC, curR, endR)) {
1032
+ var v = getColMerge(ctx, endC, curR, endR)[0];
1033
+ if (!_lodash.default.isNil(v)) {
1034
+ endC = v;
1035
+ }
1036
+ }
1037
+ endC += index;
1038
+ } else {
1039
+ if (index > 0) {
1040
+ endC += index;
1041
+ } else {
1042
+ curC += index;
1043
+ }
1044
+ }
1045
+ } else {
1046
+ if (!_lodash.default.isNil(cf) && cf > curC && cf === endC) {
1047
+ if (index > 0 && colHasMerged(ctx, curC, curR, endR)) {
1048
+ var v = getColMerge(ctx, curC, curR, endR)[1];
1049
+ if (!_lodash.default.isNil(v)) {
1050
+ curC = v;
1051
+ }
1052
+ }
1053
+ curC += index;
1054
+ } else if (!_lodash.default.isNil(cf) && cf < endC && cf === curC) {
1055
+ if (index < 0 && colHasMerged(ctx, endC, curR, endR)) {
1056
+ var v = getColMerge(ctx, endC, curR, endR)[0];
1057
+ if (!_lodash.default.isNil(v)) {
1058
+ endC = v;
1059
+ }
1060
+ }
1061
+ endC += index;
1062
+ } else if (cf === curC && cf === endC) {
1063
+ if (index > 0) {
1064
+ endC += index;
1065
+ } else {
1066
+ curC += index;
1067
+ }
1068
+ }
1069
+ }
1070
+ if (endC >= datacolumnlen) {
1071
+ endC = datacolumnlen - 1;
1072
+ }
1073
+ if (endC < 0) {
1074
+ endC = 0;
1075
+ }
1076
+ if (curC >= datacolumnlen) {
1077
+ curC = datacolumnlen - 1;
1078
+ }
1079
+ if (curC < 0) {
1080
+ curC = 0;
1081
+ }
1082
+ }
1083
+ var rowseleted = [curR, endR];
1084
+ var columnseleted = [curC, endC];
1085
+ row = ctx.visibledatarow[endR];
1086
+ row_pre = curR - 1 === -1 ? 0 : ctx.visibledatarow[curR - 1];
1087
+ col = ctx.visibledatacolumn[endC];
1088
+ col_pre = curC - 1 === -1 ? 0 : ctx.visibledatacolumn[curC - 1];
1089
+ var top_1 = row_pre;
1090
+ var height = row - row_pre - 1;
1091
+ var left = col_pre;
1092
+ var width = col - col_pre - 1;
1093
+ var changeparam = (0, _cell.mergeMoveMain)(ctx, columnseleted, rowseleted, last, top_1, height, left, width);
1094
+ if (!_lodash.default.isNil(changeparam)) {
1095
+ columnseleted = changeparam[0], rowseleted = changeparam[1], top_1 = changeparam[2], height = changeparam[3], left = changeparam[4], width = changeparam[5];
1096
+ }
1097
+ ctx.formulaCache.func_selectedrange = {
1098
+ left: left,
1099
+ width: width,
1100
+ top: top_1,
1101
+ height: height,
1102
+ left_move: left,
1103
+ width_move: width,
1104
+ top_move: top_1,
1105
+ height_move: height,
1106
+ row: rowseleted,
1107
+ column: columnseleted,
1108
+ row_focus: rf,
1109
+ column_focus: cf
1110
+ };
1111
+ }
1112
+ }
1113
+ function getHtmlBorderStyle(type, color) {
1114
+ var style = "";
1115
+ var borderType = {
1116
+ "0": "none",
1117
+ "1": "Thin",
1118
+ "2": "Hair",
1119
+ "3": "Dotted",
1120
+ "4": "Dashed",
1121
+ "5": "DashDot",
1122
+ "6": "DashDotDot",
1123
+ "7": "Double",
1124
+ "8": "Medium",
1125
+ "9": "MediumDashed",
1126
+ "10": "MediumDashDot",
1127
+ "11": "MediumDashDotDot",
1128
+ "12": "SlantedDashDot",
1129
+ "13": "Thick"
1130
+ };
1131
+ type = borderType[type.toString()];
1132
+ if (type.indexOf("Medium") > -1) {
1133
+ style += "1pt ";
1134
+ } else if (type === "Thick") {
1135
+ style += "1.5pt ";
1136
+ } else {
1137
+ style += "0.5pt ";
1138
+ }
1139
+ if (type === "Hair") {
1140
+ style += "double ";
1141
+ } else if (type.indexOf("DashDotDot") > -1) {
1142
+ style += "dotted ";
1143
+ } else if (type.indexOf("DashDot") > -1) {
1144
+ style += "dashed ";
1145
+ } else if (type.indexOf("Dotted") > -1) {
1146
+ style += "dotted ";
1147
+ } else if (type.indexOf("Dashed") > -1) {
1148
+ style += "dashed ";
1149
+ } else {
1150
+ style += "solid ";
1151
+ }
1152
+ return "".concat(style + color, ";");
1153
+ }
1154
+ function rangeValueToHtml(ctx, sheetId, ranges) {
1155
+ var _a, _b, _c;
1156
+ var idx = (0, _utils.getSheetIndex)(ctx, sheetId);
1157
+ if (idx == null) return "";
1158
+ var sheet = ctx.luckysheetfile[idx];
1159
+ var rowIndexArr = [];
1160
+ var colIndexArr = [];
1161
+ for (var s = 0; s < ((_a = ranges === null || ranges === void 0 ? void 0 : ranges.length) !== null && _a !== void 0 ? _a : 0); s += 1) {
1162
+ var range = ranges[s];
1163
+ var r1 = range.row[0];
1164
+ var r2 = range.row[1];
1165
+ var c1 = range.column[0];
1166
+ var c2 = range.column[1];
1167
+ for (var copyR = r1; copyR <= r2; copyR += 1) {
1168
+ if (!rowIndexArr.includes(copyR)) {
1169
+ rowIndexArr.push(copyR);
1170
+ }
1171
+ for (var copyC = c1; copyC <= c2; copyC += 1) {
1172
+ if (!colIndexArr.includes(copyC)) {
1173
+ colIndexArr.push(copyC);
1174
+ }
1175
+ }
1176
+ }
1177
+ }
1178
+ var borderInfoCompute;
1179
+ if (((_b = sheet.config) === null || _b === void 0 ? void 0 : _b.borderInfo) && sheet.config.borderInfo.length > 0) {
1180
+ borderInfoCompute = (0, _border.getBorderInfoCompute)(ctx, sheetId);
1181
+ }
1182
+ var cpdata = "";
1183
+ var d = sheet.data;
1184
+ if (!d) return null;
1185
+ var colgroup = "";
1186
+ for (var i = 0; i < rowIndexArr.length; i += 1) {
1187
+ var r = rowIndexArr[i];
1188
+ cpdata += "<tr>";
1189
+ var _loop_3 = function _loop_3(j) {
1190
+ var c = colIndexArr[j];
1191
+ var column = '<td ${span} style="${style}">';
1192
+ var cell = (_c = d[r]) === null || _c === void 0 ? void 0 : _c[c];
1193
+ if (cell != null) {
1194
+ var style = "";
1195
+ var span = "";
1196
+ if (r === rowIndexArr[0]) {
1197
+ if (_lodash.default.isNil(sheet.config) || _lodash.default.isNil(sheet.config.columnlen) || _lodash.default.isNil(sheet.config.columnlen[c.toString()])) {
1198
+ colgroup += '<colgroup width="72px"></colgroup>';
1199
+ } else {
1200
+ colgroup += "<colgroup width=\"".concat(sheet.config.columnlen[c.toString()], "px\"></colgroup>");
1201
+ }
1202
+ }
1203
+ if (c === colIndexArr[0]) {
1204
+ if (_lodash.default.isNil(sheet.config) || _lodash.default.isNil(sheet.config.rowlen) || _lodash.default.isNil(sheet.config.rowlen[r.toString()])) {
1205
+ style += "height:19px;";
1206
+ } else {
1207
+ style += "height:".concat(sheet.config.rowlen[r.toString()], "px;");
1208
+ }
1209
+ }
1210
+ var reg = /^(w|W)((0?)|(0\.0+))$/;
1211
+ var c_value = void 0;
1212
+ if (!_lodash.default.isNil(cell.ct) && !_lodash.default.isNil(cell.ct.fa) && cell.ct.fa.match(reg)) {
1213
+ c_value = (0, _cell.getCellValue)(r, c, d);
1214
+ } else {
1215
+ c_value = (0, _cell.getCellValue)(r, c, d, "m");
1216
+ }
1217
+ var styleObj = (0, _cell.getStyleByCell)(ctx, d, r, c);
1218
+ style += _lodash.default.map(styleObj, function (v, key) {
1219
+ return "".concat(_lodash.default.kebabCase(key), ":").concat(_lodash.default.isNumber(v) ? "".concat(v, "px") : v, ";");
1220
+ }).join("");
1221
+ if (cell.mc) {
1222
+ if ("rs" in cell.mc) {
1223
+ span = "rowspan=\"".concat(cell.mc.rs, "\" colspan=\"").concat(cell.mc.cs, "\"");
1224
+ if (borderInfoCompute && borderInfoCompute["".concat(r, "_").concat(c)]) {
1225
+ var bl_obj_1 = {
1226
+ color: {},
1227
+ style: {}
1228
+ };
1229
+ var br_obj_1 = {
1230
+ color: {},
1231
+ style: {}
1232
+ };
1233
+ var bt_obj_1 = {
1234
+ color: {},
1235
+ style: {}
1236
+ };
1237
+ var bb_obj_1 = {
1238
+ color: {},
1239
+ style: {}
1240
+ };
1241
+ for (var bd_r = r; bd_r < r + cell.mc.rs; bd_r += 1) {
1242
+ for (var bd_c = c; bd_c < c + cell.mc.cs; bd_c += 1) {
1243
+ if (bd_r === r && borderInfoCompute["".concat(bd_r, "_").concat(bd_c)] && borderInfoCompute["".concat(bd_r, "_").concat(bd_c)].t) {
1244
+ var linetype = borderInfoCompute["".concat(bd_r, "_").concat(bd_c)].t.style;
1245
+ var bcolor = borderInfoCompute["".concat(bd_r, "_").concat(bd_c)].t.color;
1246
+ if (_lodash.default.isNil(bt_obj_1.style[linetype])) {
1247
+ bt_obj_1.style[linetype] = 1;
1248
+ } else {
1249
+ bt_obj_1.style[linetype] += 1;
1250
+ }
1251
+ if (_lodash.default.isNil(bt_obj_1.color[bcolor])) {
1252
+ bt_obj_1.color[bcolor] = 1;
1253
+ } else {
1254
+ bt_obj_1.color[bcolor] += 1;
1255
+ }
1256
+ }
1257
+ if (bd_r === r + cell.mc.rs - 1 && borderInfoCompute["".concat(bd_r, "_").concat(bd_c)] && borderInfoCompute["".concat(bd_r, "_").concat(bd_c)].b) {
1258
+ var linetype = borderInfoCompute["".concat(bd_r, "_").concat(bd_c)].b.style;
1259
+ var bcolor = borderInfoCompute["".concat(bd_r, "_").concat(bd_c)].b.color;
1260
+ if (_lodash.default.isNil(bb_obj_1.style[linetype])) {
1261
+ bb_obj_1.style[linetype] = 1;
1262
+ } else {
1263
+ bb_obj_1.style[linetype] += 1;
1264
+ }
1265
+ if (_lodash.default.isNil(bb_obj_1.color[bcolor])) {
1266
+ bb_obj_1.color[bcolor] = 1;
1267
+ } else {
1268
+ bb_obj_1.color[bcolor] += 1;
1269
+ }
1270
+ }
1271
+ if (bd_c === c && borderInfoCompute["".concat(bd_r, "_").concat(bd_c)] && borderInfoCompute["".concat(bd_r, "_").concat(bd_c)].l) {
1272
+ var linetype = borderInfoCompute["".concat(r, "_").concat(c)].l.style;
1273
+ var bcolor = borderInfoCompute["".concat(bd_r, "_").concat(bd_c)].l.color;
1274
+ if (_lodash.default.isNil(bl_obj_1.style[linetype])) {
1275
+ bl_obj_1.style[linetype] = 1;
1276
+ } else {
1277
+ bl_obj_1.style[linetype] += 1;
1278
+ }
1279
+ if (_lodash.default.isNil(bl_obj_1.color[bcolor])) {
1280
+ bl_obj_1.color[bcolor] = 1;
1281
+ } else {
1282
+ bl_obj_1.color[bcolor] += 1;
1283
+ }
1284
+ }
1285
+ if (bd_c === c + cell.mc.cs - 1 && borderInfoCompute["".concat(bd_r, "_").concat(bd_c)] && borderInfoCompute["".concat(bd_r, "_").concat(bd_c)].r) {
1286
+ var linetype = borderInfoCompute["".concat(bd_r, "_").concat(bd_c)].r.style;
1287
+ var bcolor = borderInfoCompute["".concat(bd_r, "_").concat(bd_c)].r.color;
1288
+ if (_lodash.default.isNil(br_obj_1.style[linetype])) {
1289
+ br_obj_1.style[linetype] = 1;
1290
+ } else {
1291
+ br_obj_1.style[linetype] += 1;
1292
+ }
1293
+ if (_lodash.default.isNil(br_obj_1.color[bcolor])) {
1294
+ br_obj_1.color[bcolor] = 1;
1295
+ } else {
1296
+ br_obj_1.color[bcolor] += 1;
1297
+ }
1298
+ }
1299
+ }
1300
+ }
1301
+ var rowlen_1 = cell.mc.rs;
1302
+ var collen_1 = cell.mc.cs;
1303
+ if (JSON.stringify(bl_obj_1).length > 23) {
1304
+ var bl_color_1 = null;
1305
+ var bl_style_1 = null;
1306
+ Object.keys(bl_obj_1.color).forEach(function (x) {
1307
+ if (bl_obj_1.color[x] >= rowlen_1 / 2) {
1308
+ bl_color_1 = x;
1309
+ }
1310
+ });
1311
+ Object.keys(bl_obj_1.style).forEach(function (x) {
1312
+ if (bl_obj_1.style[x] >= rowlen_1 / 2) {
1313
+ bl_style_1 = x;
1314
+ }
1315
+ });
1316
+ if (!_lodash.default.isNil(bl_color_1) && !_lodash.default.isNil(bl_style_1)) {
1317
+ style += "border-left:".concat(getHtmlBorderStyle(bl_style_1, bl_color_1));
1318
+ }
1319
+ }
1320
+ if (JSON.stringify(br_obj_1).length > 23) {
1321
+ var br_color_1 = null;
1322
+ var br_style_1 = null;
1323
+ Object.keys(br_obj_1.color).forEach(function (x) {
1324
+ if (br_obj_1.color[x] >= rowlen_1 / 2) {
1325
+ br_color_1 = x;
1326
+ }
1327
+ });
1328
+ Object.keys(br_obj_1.style).forEach(function (x) {
1329
+ if (br_obj_1.style[x] >= rowlen_1 / 2) {
1330
+ br_style_1 = x;
1331
+ }
1332
+ });
1333
+ if (!_lodash.default.isNil(br_color_1) && !_lodash.default.isNil(br_style_1)) {
1334
+ style += "border-right:".concat(getHtmlBorderStyle(br_style_1, br_color_1));
1335
+ }
1336
+ }
1337
+ if (JSON.stringify(bt_obj_1).length > 23) {
1338
+ var bt_color_1 = null;
1339
+ var bt_style_1 = null;
1340
+ Object.keys(bt_obj_1.color).forEach(function (x) {
1341
+ if (bt_obj_1.color[x] >= collen_1 / 2) {
1342
+ bt_color_1 = x;
1343
+ }
1344
+ });
1345
+ Object.keys(bt_obj_1.style).forEach(function (x) {
1346
+ if (bt_obj_1.style[x] >= collen_1 / 2) {
1347
+ bt_style_1 = x;
1348
+ }
1349
+ });
1350
+ if (!_lodash.default.isNil(bt_color_1) && !_lodash.default.isNil(bt_style_1)) {
1351
+ style += "border-top:".concat(getHtmlBorderStyle(bt_style_1, bt_color_1));
1352
+ }
1353
+ }
1354
+ if (JSON.stringify(bb_obj_1).length > 23) {
1355
+ var bb_color_1 = null;
1356
+ var bb_style_1 = null;
1357
+ Object.keys(bb_obj_1.color).forEach(function (x) {
1358
+ if (bb_obj_1.color[x] >= collen_1 / 2) {
1359
+ bb_color_1 = x;
1360
+ }
1361
+ });
1362
+ Object.keys(bb_obj_1.style).forEach(function (x) {
1363
+ if (bb_obj_1.style[x] >= collen_1 / 2) {
1364
+ bb_style_1 = x;
1365
+ }
1366
+ });
1367
+ if (!_lodash.default.isNil(bb_color_1) && !_lodash.default.isNil(bb_style_1)) {
1368
+ style += "border-bottom:".concat(getHtmlBorderStyle(bb_style_1, bb_color_1));
1369
+ }
1370
+ }
1371
+ }
1372
+ } else {
1373
+ return "continue";
1374
+ }
1375
+ } else {
1376
+ if (borderInfoCompute && borderInfoCompute["".concat(r, "_").concat(c)]) {
1377
+ if (borderInfoCompute["".concat(r, "_").concat(c)].l) {
1378
+ var linetype = borderInfoCompute["".concat(r, "_").concat(c)].l.style;
1379
+ var bcolor = borderInfoCompute["".concat(r, "_").concat(c)].l.color;
1380
+ style += "border-left:".concat(getHtmlBorderStyle(linetype, bcolor));
1381
+ }
1382
+ if (borderInfoCompute["".concat(r, "_").concat(c)].r) {
1383
+ var linetype = borderInfoCompute["".concat(r, "_").concat(c)].r.style;
1384
+ var bcolor = borderInfoCompute["".concat(r, "_").concat(c)].r.color;
1385
+ style += "border-right:".concat(getHtmlBorderStyle(linetype, bcolor));
1386
+ }
1387
+ if (borderInfoCompute["".concat(r, "_").concat(c)].b) {
1388
+ var linetype = borderInfoCompute["".concat(r, "_").concat(c)].b.style;
1389
+ var bcolor = borderInfoCompute["".concat(r, "_").concat(c)].b.color;
1390
+ style += "border-bottom:".concat(getHtmlBorderStyle(linetype, bcolor));
1391
+ }
1392
+ if (borderInfoCompute["".concat(r, "_").concat(c)].t) {
1393
+ var linetype = borderInfoCompute["".concat(r, "_").concat(c)].t.style;
1394
+ var bcolor = borderInfoCompute["".concat(r, "_").concat(c)].t.color;
1395
+ style += "border-top:".concat(getHtmlBorderStyle(linetype, bcolor));
1396
+ }
1397
+ }
1398
+ }
1399
+ column = (0, _utils.replaceHtml)(column, {
1400
+ style: style,
1401
+ span: span
1402
+ });
1403
+ if (_lodash.default.isNil(c_value)) {
1404
+ c_value = (0, _cell.getCellValue)(r, c, d);
1405
+ }
1406
+ if (_lodash.default.isNil(c_value)) {
1407
+ c_value = "";
1408
+ }
1409
+ column += (0, _utils.escapeHTMLTag)(c_value);
1410
+ } else {
1411
+ var style = "";
1412
+ if (borderInfoCompute && borderInfoCompute["".concat(r, "_").concat(c)]) {
1413
+ if (borderInfoCompute["".concat(r, "_").concat(c)].l) {
1414
+ var linetype = borderInfoCompute["".concat(r, "_").concat(c)].l.style;
1415
+ var bcolor = borderInfoCompute["".concat(r, "_").concat(c)].l.color;
1416
+ style += "border-left:".concat(getHtmlBorderStyle(linetype, bcolor));
1417
+ }
1418
+ if (borderInfoCompute["".concat(r, "_").concat(c)].r) {
1419
+ var linetype = borderInfoCompute["".concat(r, "_").concat(c)].r.style;
1420
+ var bcolor = borderInfoCompute["".concat(r, "_").concat(c)].r.color;
1421
+ style += "border-right:".concat(getHtmlBorderStyle(linetype, bcolor));
1422
+ }
1423
+ if (borderInfoCompute["".concat(r, "_").concat(c)].b) {
1424
+ var linetype = borderInfoCompute["".concat(r, "_").concat(c)].b.style;
1425
+ var bcolor = borderInfoCompute["".concat(r, "_").concat(c)].b.color;
1426
+ style += "border-bottom:".concat(getHtmlBorderStyle(linetype, bcolor));
1427
+ }
1428
+ if (borderInfoCompute["".concat(r, "_").concat(c)].t) {
1429
+ var linetype = borderInfoCompute["".concat(r, "_").concat(c)].t.style;
1430
+ var bcolor = borderInfoCompute["".concat(r, "_").concat(c)].t.color;
1431
+ style += "border-top:".concat(getHtmlBorderStyle(linetype, bcolor));
1432
+ }
1433
+ }
1434
+ column += "";
1435
+ if (r === rowIndexArr[0]) {
1436
+ if (_lodash.default.isNil(sheet.config) || _lodash.default.isNil(sheet.config.columnlen) || _lodash.default.isNil(sheet.config.columnlen[c.toString()])) {
1437
+ colgroup += '<colgroup width="72px"></colgroup>';
1438
+ } else {
1439
+ colgroup += "<colgroup width=\"".concat(sheet.config.columnlen[c.toString()], "px\"></colgroup>");
1440
+ }
1441
+ }
1442
+ if (c === colIndexArr[0]) {
1443
+ if (_lodash.default.isNil(sheet.config) || _lodash.default.isNil(sheet.config.rowlen) || _lodash.default.isNil(sheet.config.rowlen[r.toString()])) {
1444
+ style += "height:19px;";
1445
+ } else {
1446
+ style += "height:".concat(sheet.config.rowlen[r.toString()], "px;");
1447
+ }
1448
+ }
1449
+ column = (0, _utils.replaceHtml)(column, {
1450
+ style: style,
1451
+ span: ""
1452
+ });
1453
+ column += "";
1454
+ }
1455
+ column += "</td>";
1456
+ cpdata += column;
1457
+ };
1458
+ for (var j = 0; j < colIndexArr.length; j += 1) {
1459
+ _loop_3(j);
1460
+ }
1461
+ cpdata += "</tr>";
1462
+ }
1463
+ return "<table data-type=\"fortune-copy-action-table\">".concat(colgroup).concat(cpdata, "</table>");
1464
+ }
1465
+ function copy(ctx) {
1466
+ var _a, _b, _c, _d;
1467
+ var flowdata = (0, _context.getFlowdata)(ctx);
1468
+ ctx.luckysheet_selection_range = [];
1469
+ var copyRange = [];
1470
+ var RowlChange = false;
1471
+ var HasMC = false;
1472
+ for (var s = 0; s < ((_b = (_a = ctx.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0); s += 1) {
1473
+ var range = ctx.luckysheet_select_save[s];
1474
+ var r1 = range.row[0];
1475
+ var r2 = range.row[1];
1476
+ var c1 = range.column[0];
1477
+ var c2 = range.column[1];
1478
+ for (var copyR = r1; copyR <= r2; copyR += 1) {
1479
+ if (!_lodash.default.isNil(ctx.config.rowhidden) && !_lodash.default.isNil(ctx.config.rowhidden[copyR])) {
1480
+ continue;
1481
+ }
1482
+ if (!_lodash.default.isNil(ctx.config.rowlen) && copyR in ctx.config.rowlen) {
1483
+ RowlChange = true;
1484
+ }
1485
+ for (var copyC = c1; copyC <= c2; copyC += 1) {
1486
+ if (!_lodash.default.isNil(ctx.config.colhidden) && !_lodash.default.isNil(ctx.config.colhidden[copyC])) {
1487
+ continue;
1488
+ }
1489
+ var cell = (_c = flowdata === null || flowdata === void 0 ? void 0 : flowdata[copyR]) === null || _c === void 0 ? void 0 : _c[copyC];
1490
+ if (!_lodash.default.isNil((_d = cell === null || cell === void 0 ? void 0 : cell.mc) === null || _d === void 0 ? void 0 : _d.rs)) {
1491
+ HasMC = true;
1492
+ }
1493
+ }
1494
+ }
1495
+ ctx.luckysheet_selection_range.push({
1496
+ row: range.row,
1497
+ column: range.column
1498
+ });
1499
+ copyRange.push({
1500
+ row: range.row,
1501
+ column: range.column
1502
+ });
1503
+ }
1504
+ ctx.luckysheet_copy_save = {
1505
+ dataSheetId: ctx.currentSheetId,
1506
+ copyRange: copyRange,
1507
+ RowlChange: RowlChange,
1508
+ HasMC: HasMC
1509
+ };
1510
+ var cpdata = rangeValueToHtml(ctx, ctx.currentSheetId, ctx.luckysheet_select_save);
1511
+ if (cpdata) {
1512
+ ctx.iscopyself = true;
1513
+ _clipboard.default.writeHtml(cpdata);
1514
+ }
1515
+ }
1516
+ function deleteSelectedCellText(ctx) {
1517
+ var _a, _b, _c;
1518
+ var allowEdit = (0, _utils.isAllowEdit)(ctx);
1519
+ if (allowEdit === false) {
1520
+ return "allowEdit";
1521
+ }
1522
+ var selection = ctx.luckysheet_select_save;
1523
+ if (selection && !_lodash.default.isEmpty(selection)) {
1524
+ var d = (0, _context.getFlowdata)(ctx);
1525
+ if (!d) return "dataNullError";
1526
+ var has_PartMC = false;
1527
+ for (var s = 0; s < selection.length; s += 1) {
1528
+ var r1 = selection[s].row[0];
1529
+ var r2 = selection[s].row[1];
1530
+ var c1 = selection[s].column[0];
1531
+ var c2 = selection[s].column[1];
1532
+ if ((0, _validation.hasPartMC)(ctx, ctx.config, r1, r2, c1, c2)) {
1533
+ has_PartMC = true;
1534
+ break;
1535
+ }
1536
+ }
1537
+ if (has_PartMC) {
1538
+ return "partMC";
1539
+ }
1540
+ var hyperlinkMap = ctx.luckysheetfile[(0, _utils.getSheetIndex)(ctx, ctx.currentSheetId)].hyperlink;
1541
+ for (var s = 0; s < selection.length; s += 1) {
1542
+ var r1 = selection[s].row[0];
1543
+ var r2 = selection[s].row[1];
1544
+ var c1 = selection[s].column[0];
1545
+ var c2 = selection[s].column[1];
1546
+ for (var r = r1; r <= r2; r += 1) {
1547
+ for (var c = c1; c <= c2; c += 1) {
1548
+ if (_lodash.default.isPlainObject(d[r][c])) {
1549
+ var cell = d[r][c];
1550
+ delete cell.m;
1551
+ delete cell.v;
1552
+ if (cell.f != null) {
1553
+ delete cell.f;
1554
+ (0, _formula.delFunctionGroup)(ctx, r, c, ctx.currentSheetId);
1555
+ delete cell.spl;
1556
+ }
1557
+ if (cell.ct != null && (cell.ct.t === "inlineStr" || ((_a = cell.ct.fa) === null || _a === void 0 ? void 0 : _a.includes("BTC")) || ((_b = cell.ct.fa) === null || _b === void 0 ? void 0 : _b.includes("ETH")) || ((_c = cell.ct.fa) === null || _c === void 0 ? void 0 : _c.includes("SOL")))) {
1558
+ delete cell.ct;
1559
+ cell === null || cell === void 0 ? true : delete cell.baseValue;
1560
+ cell === null || cell === void 0 ? true : delete cell.baseCurrency;
1561
+ }
1562
+ } else {
1563
+ d[r][c] = null;
1564
+ }
1565
+ if (hyperlinkMap && hyperlinkMap["".concat(r, "_").concat(c)]) {
1566
+ delete hyperlinkMap["".concat(r, "_").concat(c)];
1567
+ }
1568
+ }
1569
+ }
1570
+ }
1571
+ }
1572
+ return "success";
1573
+ }
1574
+ function deleteSelectedCellFormat(ctx) {
1575
+ var allowEdit = (0, _utils.isAllowEdit)(ctx);
1576
+ if (allowEdit === false) {
1577
+ return "allowEdit";
1578
+ }
1579
+ var selection = ctx.luckysheet_select_save;
1580
+ if (selection && !_lodash.default.isEmpty(selection)) {
1581
+ var d = (0, _context.getFlowdata)(ctx);
1582
+ if (!d) return "dataNullError";
1583
+ var has_PartMC = false;
1584
+ for (var s = 0; s < selection.length; s += 1) {
1585
+ var r1 = selection[s].row[0];
1586
+ var r2 = selection[s].row[1];
1587
+ var c1 = selection[s].column[0];
1588
+ var c2 = selection[s].column[1];
1589
+ if ((0, _validation.hasPartMC)(ctx, ctx.config, r1, r2, c1, c2)) {
1590
+ has_PartMC = true;
1591
+ break;
1592
+ }
1593
+ }
1594
+ if (has_PartMC) {
1595
+ return "partMC";
1596
+ }
1597
+ for (var s = 0; s < selection.length; s += 1) {
1598
+ var r1 = selection[s].row[0];
1599
+ var r2 = selection[s].row[1];
1600
+ var c1 = selection[s].column[0];
1601
+ var c2 = selection[s].column[1];
1602
+ for (var r = r1; r <= r2; r += 1) {
1603
+ for (var c = c1; c <= c2; c += 1) {
1604
+ if (_lodash.default.isPlainObject(d[r][c])) {
1605
+ var cell = d[r][c];
1606
+ if (cell.ct) {
1607
+ delete cell.ct;
1608
+ delete cell.ff;
1609
+ delete cell.fs;
1610
+ delete cell.bl;
1611
+ delete cell.fc;
1612
+ delete cell.bg;
1613
+ delete cell.tb;
1614
+ }
1615
+ }
1616
+ }
1617
+ }
1618
+ }
1619
+ }
1620
+ return "success";
1621
+ }
1622
+ function textFormat(ctx, type) {
1623
+ var allowEdit = (0, _utils.isAllowEdit)(ctx);
1624
+ if (allowEdit === false) {
1625
+ return "allowEdit";
1626
+ }
1627
+ var selection = ctx.luckysheet_select_save;
1628
+ if (selection && !_lodash.default.isEmpty(selection)) {
1629
+ var d = (0, _context.getFlowdata)(ctx);
1630
+ if (!d) return "dataNullError";
1631
+ var has_PartMC = false;
1632
+ for (var s = 0; s < selection.length; s += 1) {
1633
+ var r1 = selection[s].row[0];
1634
+ var r2 = selection[s].row[1];
1635
+ var c1 = selection[s].column[0];
1636
+ var c2 = selection[s].column[1];
1637
+ if ((0, _validation.hasPartMC)(ctx, ctx.config, r1, r2, c1, c2)) {
1638
+ has_PartMC = true;
1639
+ break;
1640
+ }
1641
+ }
1642
+ if (has_PartMC) {
1643
+ return "partMC";
1644
+ }
1645
+ for (var s = 0; s < selection.length; s += 1) {
1646
+ var r1 = selection[s].row[0];
1647
+ var r2 = selection[s].row[1];
1648
+ var c1 = selection[s].column[0];
1649
+ var c2 = selection[s].column[1];
1650
+ for (var r = r1; r <= r2; r += 1) {
1651
+ for (var c = c1; c <= c2; c += 1) {
1652
+ if (_lodash.default.isPlainObject(d[r][c])) {
1653
+ var cell = d[r][c];
1654
+ if (type === "left") {
1655
+ cell.tb = "1";
1656
+ cell.ht = 1;
1657
+ } else if (type === "center") {
1658
+ cell.tb = "1";
1659
+ cell.ht = 0;
1660
+ } else if (type === "right") {
1661
+ cell.tb = "1";
1662
+ cell.ht = 2;
1663
+ }
1664
+ }
1665
+ }
1666
+ }
1667
+ }
1668
+ }
1669
+ return "success";
1670
+ }
1671
+ function fillDate(ctx) {
1672
+ var allowEdit = (0, _utils.isAllowEdit)(ctx);
1673
+ if (allowEdit === false) {
1674
+ return "allowEdit";
1675
+ }
1676
+ var selection = ctx.luckysheet_select_save;
1677
+ if (selection && !_lodash.default.isEmpty(selection)) {
1678
+ var d = (0, _context.getFlowdata)(ctx);
1679
+ if (!d) return "dataNullError";
1680
+ var has_PartMC = false;
1681
+ for (var s = 0; s < selection.length; s += 1) {
1682
+ var r1 = selection[s].row[0];
1683
+ var r2 = selection[s].row[1];
1684
+ var c1 = selection[s].column[0];
1685
+ var c2 = selection[s].column[1];
1686
+ if ((0, _validation.hasPartMC)(ctx, ctx.config, r1, r2, c1, c2)) {
1687
+ has_PartMC = true;
1688
+ break;
1689
+ }
1690
+ }
1691
+ if (has_PartMC) {
1692
+ return "partMC";
1693
+ }
1694
+ for (var s = 0; s < selection.length; s += 1) {
1695
+ var r1 = selection[s].row[0];
1696
+ var r2 = selection[s].row[1];
1697
+ var c1 = selection[s].column[0];
1698
+ var c2 = selection[s].column[1];
1699
+ for (var r = r1; r <= r2; r += 1) {
1700
+ for (var c = c1; c <= c2; c += 1) {
1701
+ var today = new Date();
1702
+ var formattedDate = "".concat(String(today.getDate()).padStart(2, "0"), "/").concat(String(today.getMonth() + 1).padStart(2, "0"), "/").concat(today.getFullYear());
1703
+ d[r][c] = {
1704
+ v: formattedDate
1705
+ };
1706
+ }
1707
+ }
1708
+ }
1709
+ }
1710
+ return "success";
1711
+ }
1712
+ function fillTime(ctx) {
1713
+ var allowEdit = (0, _utils.isAllowEdit)(ctx);
1714
+ if (allowEdit === false) {
1715
+ return "allowEdit";
1716
+ }
1717
+ var selection = ctx.luckysheet_select_save;
1718
+ if (selection && !_lodash.default.isEmpty(selection)) {
1719
+ var d = (0, _context.getFlowdata)(ctx);
1720
+ if (!d) return "dataNullError";
1721
+ var has_PartMC = false;
1722
+ for (var s = 0; s < selection.length; s += 1) {
1723
+ var r1 = selection[s].row[0];
1724
+ var r2 = selection[s].row[1];
1725
+ var c1 = selection[s].column[0];
1726
+ var c2 = selection[s].column[1];
1727
+ if ((0, _validation.hasPartMC)(ctx, ctx.config, r1, r2, c1, c2)) {
1728
+ has_PartMC = true;
1729
+ break;
1730
+ }
1731
+ }
1732
+ if (has_PartMC) {
1733
+ return "partMC";
1734
+ }
1735
+ for (var s = 0; s < selection.length; s += 1) {
1736
+ var r1 = selection[s].row[0];
1737
+ var r2 = selection[s].row[1];
1738
+ var c1 = selection[s].column[0];
1739
+ var c2 = selection[s].column[1];
1740
+ for (var r = r1; r <= r2; r += 1) {
1741
+ for (var c = c1; c <= c2; c += 1) {
1742
+ var now = new Date();
1743
+ var formattedTime = "".concat(String(now.getHours()).padStart(2, "0"), ":").concat(String(now.getMinutes()).padStart(2, "0"), ":").concat(String(now.getSeconds()).padStart(2, "0"));
1744
+ d[r][c] = {
1745
+ v: formattedTime
1746
+ };
1747
+ }
1748
+ }
1749
+ }
1750
+ }
1751
+ return "success";
1752
+ }
1753
+ function selectIsOverlap(ctx, range) {
1754
+ return false;
1755
+ }
1756
+ function selectAll(ctx) {
1757
+ var flowdata = (0, _context.getFlowdata)(ctx);
1758
+ if (!flowdata) return;
1759
+ ctx.luckysheet_select_status = false;
1760
+ ctx.luckysheet_select_save = [{
1761
+ row: [0, flowdata.length - 1],
1762
+ column: [0, flowdata[0].length - 1],
1763
+ row_focus: 0,
1764
+ column_focus: 0,
1765
+ row_select: true,
1766
+ column_select: true
1767
+ }];
1768
+ normalizeSelection(ctx, ctx.luckysheet_select_save);
1769
+ }
1770
+ function fixRowStyleOverflowInFreeze(ctx, r1, r2, freeze) {
1771
+ var _a;
1772
+ if (!freeze) return {};
1773
+ var ret = {};
1774
+ var scrollTop = ctx.scrollTop;
1775
+ var freezenhorizontaldata = (_a = freeze.horizontal) === null || _a === void 0 ? void 0 : _a.freezenhorizontaldata;
1776
+ var rangeshow = true;
1777
+ if (freezenhorizontaldata != null) {
1778
+ var freezenTop = freezenhorizontaldata[0];
1779
+ var freezen_rowindex = freezenhorizontaldata[1];
1780
+ var offTop = scrollTop - freezenhorizontaldata[2];
1781
+ var row = ctx.visibledatarow[r2];
1782
+ var row_pre = r1 - 1 === -1 ? 0 : ctx.visibledatarow[r1 - 1];
1783
+ var top_move = row_pre;
1784
+ var height_move = row - row_pre - 1;
1785
+ if (r1 >= freezen_rowindex) {
1786
+ if (top_move + height_move < freezenTop + offTop) {
1787
+ rangeshow = false;
1788
+ } else if (top_move < freezenTop + offTop) {
1789
+ ret.top = freezenTop + offTop;
1790
+ ret.height = height_move - (freezenTop + offTop - top_move);
1791
+ } else {}
1792
+ } else if (r2 >= freezen_rowindex) {
1793
+ if (top_move + height_move < freezenTop + offTop) {
1794
+ ret.top = top_move + offTop;
1795
+ ret.height = freezenTop - top_move;
1796
+ } else {
1797
+ ret.top = top_move + offTop;
1798
+ ret.height = height_move - offTop;
1799
+ }
1800
+ } else {
1801
+ ret.top = top_move + offTop;
1802
+ }
1803
+ }
1804
+ if (!rangeshow) {
1805
+ ret.display = "none";
1806
+ }
1807
+ return ret;
1808
+ }
1809
+ function fixColumnStyleOverflowInFreeze(ctx, c1, c2, freeze) {
1810
+ var _a;
1811
+ if (!freeze) return {};
1812
+ var ret = {};
1813
+ var scrollLeft = ctx.scrollLeft;
1814
+ var freezenverticaldata = (_a = freeze.vertical) === null || _a === void 0 ? void 0 : _a.freezenverticaldata;
1815
+ var rangeshow = true;
1816
+ if (freezenverticaldata != null) {
1817
+ var freezenLeft = freezenverticaldata[0];
1818
+ var freezen_colindex = freezenverticaldata[1];
1819
+ var offLeft = scrollLeft - freezenverticaldata[2];
1820
+ var col = ctx.visibledatacolumn[c2];
1821
+ var col_pre = c1 - 1 === -1 ? 0 : ctx.visibledatacolumn[c1 - 1];
1822
+ var left_move = col_pre;
1823
+ var width_move = col - col_pre - 1;
1824
+ if (c1 >= freezen_colindex) {
1825
+ if (left_move + width_move < freezenLeft + offLeft) {
1826
+ rangeshow = false;
1827
+ } else if (left_move < freezenLeft + offLeft) {
1828
+ ret.left = freezenLeft + offLeft;
1829
+ ret.width = width_move - (freezenLeft + offLeft - left_move);
1830
+ } else {}
1831
+ } else if (c2 >= freezen_colindex) {
1832
+ if (left_move + width_move < freezenLeft + offLeft) {
1833
+ ret.left = left_move + offLeft;
1834
+ ret.width = freezenLeft - left_move;
1835
+ } else {
1836
+ ret.left = left_move + offLeft;
1837
+ ret.width = width_move - offLeft;
1838
+ }
1839
+ } else {
1840
+ ret.left = left_move + offLeft;
1841
+ }
1842
+ }
1843
+ if (!rangeshow) {
1844
+ ret.display = "none";
1845
+ }
1846
+ return ret;
1847
+ }
1848
+ function calcSelectionInfo(ctx, lang) {
1849
+ var _a, _b, _c;
1850
+ var selection = ctx.luckysheet_select_save;
1851
+ var numberC = 0;
1852
+ var count = 0;
1853
+ var sum = 0;
1854
+ var max = -Infinity;
1855
+ var min = Infinity;
1856
+ for (var s = 0; s < selection.length; s += 1) {
1857
+ var data = (0, _cell.getDataBySelectionNoCopy)(ctx, selection[s]);
1858
+ for (var r = 0; r < data.length; r += 1) {
1859
+ for (var c = 0; c < data[0].length; c += 1) {
1860
+ if (r >= data.length || c >= data[0].length) break;
1861
+ var ct = (_b = (_a = data[r][c]) === null || _a === void 0 ? void 0 : _a.ct) === null || _b === void 0 ? void 0 : _b.t;
1862
+ var value = (_c = data[r][c]) === null || _c === void 0 ? void 0 : _c.m;
1863
+ if (ct === "n" || ct === "g" && parseFloat(value).toString() !== "NaN") {
1864
+ var valueNumber = parseFloat(value);
1865
+ count += 1;
1866
+ sum += valueNumber;
1867
+ max = Math.max(valueNumber, max);
1868
+ min = Math.min(valueNumber, min);
1869
+ numberC += 1;
1870
+ } else if (value != null) {
1871
+ count += 1;
1872
+ }
1873
+ }
1874
+ }
1875
+ }
1876
+ var formatString = lang && !["zh", "zh_tw"].includes(lang) ? "0.00" : "w0.00";
1877
+ var average = _ssf.default.format(formatString, sum / numberC);
1878
+ sum = _ssf.default.format(formatString, sum);
1879
+ max = _ssf.default.format(formatString, max);
1880
+ min = _ssf.default.format(formatString, min);
1881
+ return {
1882
+ numberC: numberC,
1883
+ count: count,
1884
+ sum: sum,
1885
+ max: max,
1886
+ min: min,
1887
+ average: average
1888
+ };
1889
+ }