@fileverse-dev/fortune-core 1.0.4 → 1.0.6

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 +66 -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 +197 -197
  22. package/es/context.js +380 -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 +332 -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 +3 -3
  32. package/es/events/paste.js +1358 -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 +992 -992
  36. package/es/locale/en.js +10564 -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 +1055 -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 +700 -0
  65. package/{dist/packages/core/src → es}/modules/dropCell.d.ts +10 -10
  66. package/es/modules/dropCell.js +2266 -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 +2301 -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 +46 -46
  106. package/es/modules/selection.js +1674 -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 +150 -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 +371 -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 +18 -18
  129. package/es/utils/index.js +173 -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 +66 -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 +197 -0
  153. package/lib/context.js +392 -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 +342 -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 +3 -0
  163. package/lib/events/paste.js +1366 -0
  164. package/lib/index.d.ts +10 -0
  165. package/lib/index.js +109 -0
  166. package/lib/locale/en.d.ts +992 -0
  167. package/lib/locale/en.js +10570 -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 +1085 -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 +715 -0
  196. package/lib/modules/dropCell.d.ts +10 -0
  197. package/lib/modules/dropCell.js +2282 -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 +2330 -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 +46 -0
  237. package/lib/modules/selection.js +1703 -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 +159 -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 +371 -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 +18 -0
  260. package/lib/utils/index.js +231 -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,1725 @@
1
+ import _ from "lodash";
2
+ import { getFlowdata } from "../context";
3
+ import { cancelActiveImgItem, cancelPaintModel, functionHTMLGenerate, israngeseleciton, rangeHightlightselected, rangeSetValue, onCommentBoxMove, onCommentBoxMoveEnd, onCommentBoxResize, onCommentBoxResizeEnd, onImageMove, onImageMoveEnd, onImageResize, onImageResizeEnd, removeEditingComment, overShowComment, removeOverShowComment, rangeDrag, onFormulaRangeDragEnd, createFormulaRangeSelect, createRangeHightlight, onCellsMoveEnd, onCellsMove, cellFocus, editComment, onIframeMoveEnd, onIframeResizeEnd } from "../modules";
4
+ import { getFrozenHandleLeft, getFrozenHandleTop, scrollToFrozenRowCol } from "../modules/freeze";
5
+ import { cancelFunctionrangeSelected, mergeBorder, mergeMoveMain, updateCell, luckysheetUpdateCell } from "../modules/cell";
6
+ import { colLocation, colLocationByIndex, rowLocation, rowLocationByIndex } from "../modules/location";
7
+ import { checkProtectionAllSelected, checkProtectionSelectLockedOrUnLockedCells } from "../modules/protection";
8
+ import { normalizeSelection, pasteHandlerOfPaintModel } from "../modules/selection";
9
+ import { getSheetIndex, isAllowEdit } from "../utils";
10
+ import { onDropCellSelectEnd, onDropCellSelect } from "../modules/dropCell";
11
+ import { handleFormulaInput, rangeDragColumn, rangeDragRow } from "../modules/formula";
12
+ import { showLinkCard, onRangeSelectionModalMove, onRangeSelectionModalMoveEnd } from "../modules/hyperlink";
13
+ import { onSearchDialogMove, onSearchDialogMoveEnd } from "../modules/searchReplace";
14
+ var mouseWheelUniqueTimeout;
15
+ var scrollLockTimeout;
16
+ export function handleGlobalWheel(ctx, e, cache, scrollbarX, scrollbarY) {
17
+ var _a;
18
+ removeEditingComment(ctx, cache);
19
+ if (((_a = cache.searchDialog) === null || _a === void 0 ? void 0 : _a.mouseEnter) && ctx.showSearch && ctx.showReplace) return;
20
+ if (ctx.filterContextMenu != null) return;
21
+ var scrollLeft = scrollbarX.scrollLeft;
22
+ var scrollTop = scrollbarY.scrollTop;
23
+ var visibledatacolumn_c = ctx.visibledatacolumn;
24
+ var visibledatarow_c = ctx.visibledatarow;
25
+ clearTimeout(mouseWheelUniqueTimeout);
26
+ clearTimeout(scrollLockTimeout);
27
+ if (cache.visibleColumnsUnique != null) {
28
+ visibledatacolumn_c = cache.visibleColumnsUnique;
29
+ } else {
30
+ visibledatacolumn_c = _.uniq(visibledatacolumn_c);
31
+ cache.visibleColumnsUnique = visibledatacolumn_c;
32
+ }
33
+ if (cache.visibleRowsUnique != null) {
34
+ visibledatarow_c = cache.visibleRowsUnique;
35
+ } else {
36
+ visibledatarow_c = _.uniq(visibledatarow_c);
37
+ cache.visibleRowsUnique = visibledatarow_c;
38
+ }
39
+ var row_st = _.sortedIndex(visibledatarow_c, scrollTop) + 1;
40
+ var rowscroll = 0;
41
+ var scrollNum = 1;
42
+ if (e.deltaY !== 0 && !cache.verticalScrollLock) {
43
+ cache.horizontalScrollLock = true;
44
+ var row_ed = void 0;
45
+ var step = Math.round(scrollNum / ctx.zoomRatio);
46
+ step = step < 1 ? 1 : step;
47
+ if (e.deltaY > 0) {
48
+ row_ed = row_st + step;
49
+ if (row_ed >= visibledatarow_c.length) {
50
+ row_ed = visibledatarow_c.length - 1;
51
+ }
52
+ } else {
53
+ row_ed = row_st - step;
54
+ if (row_ed < 0) {
55
+ row_ed = 0;
56
+ }
57
+ }
58
+ rowscroll = row_ed === 0 ? 0 : visibledatarow_c[row_ed - 1];
59
+ scrollbarY.scrollTop = rowscroll;
60
+ } else if (e.deltaX !== 0 && !cache.horizontalScrollLock) {
61
+ cache.verticalScrollLock = true;
62
+ if (e.deltaX > 0) {
63
+ scrollLeft += 20 * ctx.zoomRatio;
64
+ } else {
65
+ scrollLeft -= 20 * ctx.zoomRatio;
66
+ }
67
+ scrollbarX.scrollLeft = scrollLeft;
68
+ }
69
+ mouseWheelUniqueTimeout = setTimeout(function () {
70
+ delete cache.visibleColumnsUnique;
71
+ delete cache.visibleRowsUnique;
72
+ }, 500);
73
+ scrollLockTimeout = setTimeout(function () {
74
+ delete cache.verticalScrollLock;
75
+ delete cache.horizontalScrollLock;
76
+ }, 50);
77
+ e.preventDefault();
78
+ }
79
+ export function fixPositionOnFrozenCells(freeze, x, y, mouseX, mouseY) {
80
+ var _a, _b;
81
+ var inHorizontalFreeze = false;
82
+ var inVerticalFreeze = false;
83
+ if (!freeze) return {
84
+ x: x,
85
+ y: y,
86
+ inHorizontalFreeze: inHorizontalFreeze,
87
+ inVerticalFreeze: inVerticalFreeze
88
+ };
89
+ var freezenverticaldata = (_a = freeze === null || freeze === void 0 ? void 0 : freeze.vertical) === null || _a === void 0 ? void 0 : _a.freezenverticaldata;
90
+ var freezenhorizontaldata = (_b = freeze === null || freeze === void 0 ? void 0 : freeze.horizontal) === null || _b === void 0 ? void 0 : _b.freezenhorizontaldata;
91
+ if (freezenverticaldata != null && mouseX < freezenverticaldata[0] - freezenverticaldata[2]) {
92
+ x = mouseX + freezenverticaldata[2];
93
+ inVerticalFreeze = true;
94
+ }
95
+ if (freezenhorizontaldata != null && mouseY < freezenhorizontaldata[0] - freezenhorizontaldata[2]) {
96
+ y = mouseY + freezenhorizontaldata[2];
97
+ inHorizontalFreeze = true;
98
+ }
99
+ return {
100
+ x: x,
101
+ y: y,
102
+ inHorizontalFreeze: inHorizontalFreeze,
103
+ inVerticalFreeze: inVerticalFreeze
104
+ };
105
+ }
106
+ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxInput, canvas) {
107
+ var _a, _b;
108
+ var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
109
+ if (!(fxInput === null || fxInput === void 0 ? void 0 : fxInput.innerHTML) && ctx) {
110
+ ctx.defaultCandidates = [];
111
+ }
112
+ ctx.contextMenu = {};
113
+ ctx.filterContextMenu = undefined;
114
+ var flowdata = getFlowdata(ctx);
115
+ if (!flowdata) return;
116
+ removeEditingComment(ctx, globalCache);
117
+ cancelActiveImgItem(ctx, globalCache);
118
+ var rect = container.getBoundingClientRect();
119
+ var mouseX = e.pageX - rect.left - window.scrollX;
120
+ var mouseY = e.pageY - rect.top - window.scrollY;
121
+ var _x = mouseX + ctx.scrollLeft;
122
+ var _y = mouseY + ctx.scrollTop;
123
+ if (_x >= rect.width + ctx.scrollLeft || _y >= rect.height + ctx.scrollTop) {
124
+ return;
125
+ }
126
+ var freeze = (_c = globalCache.freezen) === null || _c === void 0 ? void 0 : _c[ctx.currentSheetId];
127
+ var _p = fixPositionOnFrozenCells(freeze, _x, _y, mouseX, mouseY),
128
+ x = _p.x,
129
+ y = _p.y,
130
+ inHorizontalFreeze = _p.inHorizontalFreeze,
131
+ inVerticalFreeze = _p.inVerticalFreeze;
132
+ var row_location = rowLocation(y, ctx.visibledatarow);
133
+ var row = row_location[1];
134
+ var row_pre = row_location[0];
135
+ var row_index = row_location[2];
136
+ var col_location = colLocation(x, ctx.visibledatacolumn);
137
+ var col = col_location[1];
138
+ var col_pre = col_location[0];
139
+ var col_index = col_location[2];
140
+ var row_index_ed = row_index;
141
+ var col_index_ed = col_index;
142
+ var margeset = mergeBorder(ctx, flowdata, row_index, col_index);
143
+ if (margeset) {
144
+ _a = margeset.row, row_pre = _a[0], row = _a[1], row_index = _a[2], row_index_ed = _a[3];
145
+ _b = margeset.column, col_pre = _b[0], col = _b[1], col_index = _b[2], col_index_ed = _b[3];
146
+ }
147
+ showLinkCard(ctx, row_index, col_index, false, true);
148
+ if (((_e = (_d = ctx.hooks).beforeCellMouseDown) === null || _e === void 0 ? void 0 : _e.call(_d, (_f = flowdata[row_index]) === null || _f === void 0 ? void 0 : _f[col_index], {
149
+ row: row_index,
150
+ column: col_index,
151
+ startRow: row_pre,
152
+ startColumn: col_pre,
153
+ endRow: row,
154
+ endColumn: col
155
+ })) === false) {
156
+ return;
157
+ }
158
+ cellFocus(ctx, row_index, col_index, true);
159
+ editComment(ctx, globalCache, row_index, col_index);
160
+ if (!inHorizontalFreeze && !inVerticalFreeze) {
161
+ if (col_pre < ctx.scrollLeft) {
162
+ ctx.scrollLeft = col_pre;
163
+ }
164
+ if (row_pre < ctx.scrollTop) {
165
+ ctx.scrollTop = row_pre;
166
+ }
167
+ }
168
+ if (e.button === 2) {
169
+ var isInSelection = _.some(ctx.luckysheet_select_save, function (obj_s) {
170
+ return obj_s.row != null && row_index >= obj_s.row[0] && row_index <= obj_s.row[1] && col_index >= obj_s.column[0] && col_index <= obj_s.column[1];
171
+ });
172
+ if (isInSelection) return;
173
+ }
174
+ ctx.luckysheet_scroll_status = true;
175
+ if (ctx.luckysheetCellUpdate.length > 0) {
176
+ if (ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start || israngeseleciton(ctx)) {
177
+ var rowseleted = [row_index, row_index_ed];
178
+ var columnseleted = [col_index, col_index_ed];
179
+ var left = col_pre;
180
+ var width = col - col_pre - 1;
181
+ var top_1 = row_pre;
182
+ var height = row - row_pre - 1;
183
+ if (e.shiftKey) {
184
+ var last = ctx.formulaCache.func_selectedrange;
185
+ top_1 = 0;
186
+ height = 0;
187
+ rowseleted = [];
188
+ if (last == null || last.top == null || last.height == null || last.row_focus == null || last.left == null || last.width == null) return;
189
+ if (last.top > row_pre) {
190
+ top_1 = row_pre;
191
+ height = last.top + last.height - row_pre;
192
+ if (last.row[1] > last.row_focus) {
193
+ last.row[1] = last.row_focus;
194
+ }
195
+ rowseleted = [row_index, last.row[1]];
196
+ } else if (last.top === row_pre) {
197
+ top_1 = row_pre;
198
+ height = last.top + last.height - row_pre;
199
+ rowseleted = [row_index, last.row[0]];
200
+ } else {
201
+ top_1 = last.top;
202
+ height = row - last.top - 1;
203
+ if (last.row[0] < last.row_focus) {
204
+ last.row[0] = last.row_focus;
205
+ }
206
+ rowseleted = [last.row[0], row_index];
207
+ }
208
+ left = 0;
209
+ width = 0;
210
+ columnseleted = [];
211
+ if (last.left > col_pre) {
212
+ left = col_pre;
213
+ width = last.left + last.width - col_pre;
214
+ if (last.column == null || last.column_focus == null) return;
215
+ if (last.column[1] > last.column_focus) {
216
+ last.column[1] = last.column_focus;
217
+ }
218
+ columnseleted = [col_index, last.column[1]];
219
+ } else if (last.left === col_pre) {
220
+ left = col_pre;
221
+ width = last.left + last.width - col_pre;
222
+ columnseleted = [col_index, last.column[0]];
223
+ } else {
224
+ left = last.left;
225
+ width = col - last.left - 1;
226
+ if (last.column == null || last.column_focus == null) return;
227
+ if (last.column[0] < last.column_focus) {
228
+ last.column[0] = last.column_focus;
229
+ }
230
+ columnseleted = [last.column[0], col_index];
231
+ }
232
+ var changeparam = mergeMoveMain(ctx, columnseleted, rowseleted, last, top_1, height, left, width);
233
+ if (changeparam != null) {
234
+ columnseleted = changeparam[0], rowseleted = changeparam[1], top_1 = changeparam[2], height = changeparam[3], left = changeparam[4], width = changeparam[5];
235
+ }
236
+ last.row = rowseleted;
237
+ last.column = columnseleted;
238
+ last.left_move = left;
239
+ last.width_move = width;
240
+ last.top_move = top_1;
241
+ last.height_move = height;
242
+ ctx.formulaCache.func_selectedrange = last;
243
+ } else if (e.ctrlKey && ((_g = _.last(cellInput.querySelectorAll("span"))) === null || _g === void 0 ? void 0 : _g.innerText) !== ",") {
244
+ var vText = cellInput.innerText;
245
+ if (vText[vText.length - 1] === ")") {
246
+ vText = vText.substring(0, vText.length - 1);
247
+ }
248
+ if (vText.length > 0) {
249
+ var lastWord = vText.substring(vText.length - 1, 1);
250
+ if (lastWord !== "," && lastWord !== "=" && lastWord !== "(") {
251
+ vText += ",";
252
+ }
253
+ }
254
+ if (vText.length > 0 && vText.substring(0, 1) === "=") {
255
+ vText = functionHTMLGenerate(vText);
256
+ if (window.getSelection) {
257
+ var currSelection = window.getSelection();
258
+ if (currSelection == null) return;
259
+ ctx.formulaCache.functionRangeIndex = [_.indexOf((_k = (_j = (_h = currSelection.anchorNode) === null || _h === void 0 ? void 0 : _h.parentNode) === null || _j === void 0 ? void 0 : _j.parentNode) === null || _k === void 0 ? void 0 : _k.childNodes, (_l = currSelection.anchorNode) === null || _l === void 0 ? void 0 : _l.parentNode), currSelection.anchorOffset];
260
+ } else {
261
+ var textRange = document.selection.createRange();
262
+ ctx.formulaCache.functionRangeIndex = textRange;
263
+ }
264
+ cellInput.innerHTML = vText;
265
+ cancelFunctionrangeSelected(ctx);
266
+ createRangeHightlight(ctx, vText);
267
+ }
268
+ ctx.formulaCache.rangestart = false;
269
+ ctx.formulaCache.rangedrag_column_start = false;
270
+ ctx.formulaCache.rangedrag_row_start = false;
271
+ if (fxInput) fxInput.innerHTML = vText;
272
+ rangeHightlightselected(ctx, cellInput);
273
+ israngeseleciton(ctx);
274
+ ctx.formulaCache.func_selectedrange = {
275
+ left: left,
276
+ width: width,
277
+ top: top_1,
278
+ height: height,
279
+ left_move: left,
280
+ width_move: width,
281
+ top_move: top_1,
282
+ height_move: height,
283
+ row: rowseleted,
284
+ column: columnseleted,
285
+ row_focus: row_index,
286
+ column_focus: col_index
287
+ };
288
+ } else {
289
+ ctx.formulaCache.func_selectedrange = {
290
+ left: left,
291
+ width: width,
292
+ top: top_1,
293
+ height: height,
294
+ left_move: left,
295
+ width_move: width,
296
+ top_move: top_1,
297
+ height_move: height,
298
+ row: rowseleted,
299
+ column: columnseleted,
300
+ row_focus: row_index,
301
+ column_focus: col_index
302
+ };
303
+ }
304
+ rangeSetValue(ctx, cellInput, {
305
+ row: rowseleted,
306
+ column: columnseleted
307
+ }, fxInput);
308
+ ctx.formulaCache.rangestart = true;
309
+ ctx.formulaCache.rangedrag_column_start = false;
310
+ ctx.formulaCache.rangedrag_row_start = false;
311
+ ctx.formulaCache.selectingRangeIndex = ctx.formulaCache.rangechangeindex;
312
+ if (ctx.formulaCache.rangechangeindex > ctx.formulaRangeHighlight.length) {
313
+ createRangeHightlight(ctx, cellInput.innerHTML, ctx.formulaCache.rangechangeindex);
314
+ }
315
+ createFormulaRangeSelect(ctx, {
316
+ rangeIndex: ctx.formulaCache.rangechangeindex || 0,
317
+ left: left,
318
+ top: top_1,
319
+ width: width,
320
+ height: height
321
+ });
322
+ e.preventDefault();
323
+ return;
324
+ }
325
+ updateCell(ctx, ctx.luckysheetCellUpdate[0], ctx.luckysheetCellUpdate[1], cellInput, undefined, canvas);
326
+ ctx.luckysheet_select_status = true;
327
+ }
328
+ if (checkProtectionSelectLockedOrUnLockedCells(ctx, row_index, col_index, ctx.currentSheetId)) {
329
+ ctx.luckysheet_select_status = true;
330
+ }
331
+ if (ctx.luckysheet_select_status) {
332
+ if (e.shiftKey) {
333
+ var last = (_m = ctx.luckysheet_select_save) === null || _m === void 0 ? void 0 : _m[ctx.luckysheet_select_save.length - 1];
334
+ if (last && last.top != null && last.left != null && last.height != null && last.width != null && last.row_focus != null && last.column_focus != null) {
335
+ var top_2 = 0;
336
+ var height = 0;
337
+ var rowseleted = [];
338
+ if (last.top > row_pre) {
339
+ top_2 = row_pre;
340
+ height = last.top + last.height - row_pre;
341
+ if (last.row[1] > last.row_focus) {
342
+ last.row[1] = last.row_focus;
343
+ }
344
+ rowseleted = [row_index, last.row[1]];
345
+ } else if (last.top === row_pre) {
346
+ top_2 = row_pre;
347
+ height = last.top + last.height - row_pre;
348
+ rowseleted = [row_index, last.row[0]];
349
+ } else {
350
+ top_2 = last.top;
351
+ height = row - last.top - 1;
352
+ if (last.row[0] < last.row_focus) {
353
+ last.row[0] = last.row_focus;
354
+ }
355
+ rowseleted = [last.row[0], row_index];
356
+ }
357
+ var left = 0;
358
+ var width = 0;
359
+ var columnseleted = [];
360
+ if (last.left > col_pre) {
361
+ left = col_pre;
362
+ width = last.left + last.width - col_pre;
363
+ if (last.column[1] > last.column_focus) {
364
+ last.column[1] = last.column_focus;
365
+ }
366
+ columnseleted = [col_index, last.column[1]];
367
+ } else if (last.left === col_pre) {
368
+ left = col_pre;
369
+ width = last.left + last.width - col_pre;
370
+ columnseleted = [col_index, last.column[0]];
371
+ } else {
372
+ left = last.left;
373
+ width = col - last.left - 1;
374
+ if (last.column[0] < last.column_focus) {
375
+ last.column[0] = last.column_focus;
376
+ }
377
+ columnseleted = [last.column[0], col_index];
378
+ }
379
+ var changeparam = mergeMoveMain(ctx, columnseleted, rowseleted, last, top_2, height, left, width);
380
+ if (changeparam != null) {
381
+ columnseleted = changeparam[0], rowseleted = changeparam[1], top_2 = changeparam[2], height = changeparam[3], left = changeparam[4], width = changeparam[5];
382
+ }
383
+ last.row = rowseleted;
384
+ last.column = columnseleted;
385
+ last.left_move = left;
386
+ last.width_move = width;
387
+ last.top_move = top_2;
388
+ last.height_move = height;
389
+ ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1] = last;
390
+ }
391
+ } else if (e.ctrlKey || e.metaKey) {
392
+ (_o = ctx.luckysheet_select_save) === null || _o === void 0 ? void 0 : _o.push({
393
+ left: col_pre,
394
+ width: col - col_pre - 1,
395
+ top: row_pre,
396
+ height: row - row_pre - 1,
397
+ left_move: col_pre,
398
+ width_move: col - col_pre - 1,
399
+ top_move: row_pre,
400
+ height_move: row - row_pre - 1,
401
+ row: [row_index, row_index_ed],
402
+ column: [col_index, col_index_ed],
403
+ row_focus: row_index,
404
+ column_focus: col_index
405
+ });
406
+ } else {
407
+ ctx.luckysheet_select_save = [{
408
+ left: col_pre,
409
+ width: col - col_pre - 1,
410
+ top: row_pre,
411
+ height: row - row_pre - 1,
412
+ left_move: col_pre,
413
+ width_move: col - col_pre - 1,
414
+ top_move: row_pre,
415
+ height_move: row - row_pre - 1,
416
+ row: [row_index, row_index_ed],
417
+ column: [col_index, col_index_ed],
418
+ row_focus: row_index,
419
+ column_focus: col_index
420
+ }];
421
+ }
422
+ }
423
+ ctx.luckysheet_select_save = normalizeSelection(ctx, ctx.luckysheet_select_save);
424
+ if (ctx.hooks.afterCellMouseDown) {
425
+ setTimeout(function () {
426
+ var _a, _b, _c;
427
+ (_b = (_a = ctx.hooks).afterCellMouseDown) === null || _b === void 0 ? void 0 : _b.call(_a, (_c = flowdata[row_index]) === null || _c === void 0 ? void 0 : _c[col_index], {
428
+ row: row_index,
429
+ column: col_index,
430
+ startRow: row_pre,
431
+ startColumn: col_pre,
432
+ endRow: row,
433
+ endColumn: col
434
+ });
435
+ });
436
+ }
437
+ }
438
+ export function handleCellAreaDoubleClick(ctx, globalCache, settings, e, container) {
439
+ var _a, _b;
440
+ var _c;
441
+ var flowdata = getFlowdata(ctx);
442
+ if (!flowdata || ctx.formulaCache.functionlistMap[ctx.functionHint || ""]) return;
443
+ if (ctx.luckysheetCellUpdate.length > 0 && ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start || israngeseleciton(ctx)) {
444
+ return;
445
+ }
446
+ var allowEdit = isAllowEdit(ctx);
447
+ if (!allowEdit) return;
448
+ var rect = container.getBoundingClientRect();
449
+ var mouseX = e.pageX - rect.left;
450
+ var mouseY = e.pageY - rect.top;
451
+ var _x = mouseX + ctx.scrollLeft;
452
+ var _y = mouseY + ctx.scrollTop;
453
+ var freeze = (_c = globalCache.freezen) === null || _c === void 0 ? void 0 : _c[ctx.currentSheetId];
454
+ var _d = fixPositionOnFrozenCells(freeze, _x, _y, mouseX, mouseY),
455
+ x = _d.x,
456
+ y = _d.y;
457
+ var row_location = rowLocation(y, ctx.visibledatarow);
458
+ var row_index = row_location[2];
459
+ var col_location = colLocation(x, ctx.visibledatacolumn);
460
+ var col_index = col_location[2];
461
+ removeOverShowComment(ctx);
462
+ removeEditingComment(ctx, globalCache);
463
+ var index = getSheetIndex(ctx, ctx.currentSheetId);
464
+ var dataVerification = ctx.luckysheetfile[index].dataVerification;
465
+ if (dataVerification) {
466
+ var item = dataVerification["".concat(row_index, "_").concat(col_index)];
467
+ if (item && item.type === "checkbox") return;
468
+ }
469
+ var margeset = mergeBorder(ctx, flowdata, row_index, col_index);
470
+ if (margeset) {
471
+ _a = margeset.row, row_index = _a[2];
472
+ _b = margeset.column, col_index = _b[2];
473
+ }
474
+ var _e = ctx.luckysheet_select_save[0],
475
+ column_focus = _e.column_focus,
476
+ row_focus = _e.row_focus;
477
+ if (!_.isNil(column_focus) && !_.isNil(row_focus) && (column_focus !== col_index || row_focus !== row_index)) {
478
+ row_index = row_focus;
479
+ col_index = column_focus;
480
+ }
481
+ luckysheetUpdateCell(ctx, row_index, col_index);
482
+ }
483
+ export function handleContextMenu(ctx, settings, e, workbookContainer, container, area) {
484
+ var _a, _b, _c, _d, _e, _f, _g;
485
+ if (!ctx.allowEdit) {
486
+ return;
487
+ }
488
+ var flowdata = getFlowdata(ctx);
489
+ if (!flowdata) return;
490
+ var workbookRect = workbookContainer.getBoundingClientRect();
491
+ var cellContextMenu = settings.cellContextMenu;
492
+ if (_.isEmpty(cellContextMenu)) {
493
+ return;
494
+ }
495
+ var x = e.pageX - workbookRect.left;
496
+ var y = e.pageY - workbookRect.top;
497
+ ctx.contextMenu = {
498
+ x: x,
499
+ y: y,
500
+ pageX: e.pageX,
501
+ pageY: e.pageY
502
+ };
503
+ e.preventDefault();
504
+ if (area === "cell") {
505
+ _.set(ctx.contextMenu, "headerMenu", undefined);
506
+ var rect = container.getBoundingClientRect();
507
+ var mouseX = e.pageX - rect.left - window.scrollX;
508
+ var mouseY = e.pageY - rect.top - window.scrollY;
509
+ var _selected_x = mouseX + ctx.scrollLeft;
510
+ var _selected_y = mouseY + ctx.scrollTop;
511
+ var _h = fixPositionOnFrozenCells((_a = ctx.getRefs().globalCache.freezen) === null || _a === void 0 ? void 0 : _a[ctx.currentSheetId], _selected_x, _selected_y, mouseX, mouseY),
512
+ selected_x = _h.x,
513
+ selected_y = _h.y;
514
+ var row_location = rowLocation(selected_y, ctx.visibledatarow);
515
+ var row = row_location[1];
516
+ var row_pre = row_location[0];
517
+ var row_index_1 = row_location[2];
518
+ var col_location = colLocation(selected_x, ctx.visibledatacolumn);
519
+ var col = col_location[1];
520
+ var col_pre = col_location[0];
521
+ var col_index_1 = col_location[2];
522
+ var isInSelection = _.some(ctx.luckysheet_select_save, function (obj_s) {
523
+ return obj_s.row != null && row_index_1 >= obj_s.row[0] && row_index_1 <= obj_s.row[1] && col_index_1 >= obj_s.column[0] && col_index_1 <= obj_s.column[1];
524
+ });
525
+ if (!isInSelection && (e.metaKey || e.ctrlKey)) {
526
+ if ((_b = flowdata[row_index_1][col_index_1]) === null || _b === void 0 ? void 0 : _b.mc) {
527
+ var changeparam = mergeMoveMain(ctx, [col_index_1, col_index_1], [row_index_1, row_index_1], {
528
+ row_focus: row_index_1,
529
+ column_focus: col_index_1
530
+ }, row_pre, row, col_pre, col);
531
+ if (changeparam != null) {
532
+ var columnseleted = changeparam[0],
533
+ rowseleted = changeparam[1],
534
+ top_3 = changeparam[2],
535
+ height = changeparam[3],
536
+ left = changeparam[4],
537
+ width = changeparam[5];
538
+ (_c = ctx.luckysheet_select_save) === null || _c === void 0 ? void 0 : _c.push({
539
+ left: left,
540
+ width: width - 1,
541
+ top: top_3,
542
+ height: height - 1,
543
+ left_move: left,
544
+ width_move: width,
545
+ top_move: top_3,
546
+ height_move: height,
547
+ row: rowseleted,
548
+ column: columnseleted,
549
+ row_focus: rowseleted[0],
550
+ column_focus: columnseleted[0]
551
+ });
552
+ return;
553
+ }
554
+ }
555
+ (_d = ctx.luckysheet_select_save) === null || _d === void 0 ? void 0 : _d.push({
556
+ left: col_pre,
557
+ width: col - col_pre - 1,
558
+ top: row_pre,
559
+ height: row - row_pre - 1,
560
+ left_move: col_pre,
561
+ width_move: col - col_pre - 1,
562
+ top_move: row_pre,
563
+ height_move: row - row_pre - 1,
564
+ row: [row_index_1, row_index_1],
565
+ column: [col_index_1, col_index_1],
566
+ row_focus: row_index_1,
567
+ column_focus: col_index_1
568
+ });
569
+ return;
570
+ }
571
+ if (isInSelection) return;
572
+ var row_index_ed = row_index_1;
573
+ var col_index_ed = col_index_1;
574
+ if ((_e = flowdata[row_index_1][col_index_1]) === null || _e === void 0 ? void 0 : _e.mc) {
575
+ var changeparam = mergeMoveMain(ctx, [col_index_1, col_index_1], [row_index_1, row_index_1], {
576
+ row_focus: row_index_1,
577
+ column_focus: col_index_1
578
+ }, row_pre, row, col_pre, col);
579
+ if (changeparam != null) {
580
+ var columnseleted = changeparam[0],
581
+ rowseleted = changeparam[1],
582
+ top_4 = changeparam[2],
583
+ height = changeparam[3],
584
+ left = changeparam[4],
585
+ width = changeparam[5];
586
+ ctx.luckysheet_select_save = [{
587
+ left: left,
588
+ width: width - 1,
589
+ top: top_4,
590
+ height: height - 1,
591
+ left_move: left,
592
+ width_move: width,
593
+ top_move: top_4,
594
+ height_move: height,
595
+ row: rowseleted,
596
+ column: columnseleted,
597
+ row_focus: rowseleted[0],
598
+ column_focus: columnseleted[0]
599
+ }];
600
+ return;
601
+ }
602
+ }
603
+ ctx.luckysheet_select_save = [{
604
+ left: col_pre,
605
+ width: col - col_pre - 1,
606
+ top: row_pre,
607
+ height: row - row_pre - 1,
608
+ left_move: col_pre,
609
+ width_move: col - col_pre - 1,
610
+ top_move: row_pre,
611
+ height_move: row - row_pre - 1,
612
+ row: [row_index_1, row_index_ed],
613
+ column: [col_index_1, col_index_ed],
614
+ row_focus: row_index_1,
615
+ column_focus: col_index_1
616
+ }];
617
+ } else if (area === "rowHeader") {
618
+ _.set(ctx.contextMenu, "headerMenu", "row");
619
+ var rect = container.getBoundingClientRect();
620
+ var mouseY = e.pageY - rect.top - window.scrollY;
621
+ var _selected_y = mouseY + ctx.scrollTop;
622
+ var selected_y = fixPositionOnFrozenCells((_f = ctx.getRefs().globalCache.freezen) === null || _f === void 0 ? void 0 : _f[ctx.currentSheetId], 0, _selected_y, 0, mouseY).y;
623
+ var row_location = rowLocation(selected_y, ctx.visibledatarow);
624
+ var row = row_location[1];
625
+ var row_pre = row_location[0];
626
+ var row_index_2 = row_location[2];
627
+ var isInSelection = _.some(ctx.luckysheet_select_save, function (obj_s) {
628
+ return obj_s.row != null && row_index_2 >= obj_s.row[0] && row_index_2 <= obj_s.row[1] && !obj_s.column_select;
629
+ });
630
+ if (isInSelection) return;
631
+ var col_index = ctx.visibledatacolumn.length - 1;
632
+ var col = ctx.visibledatacolumn[col_index];
633
+ var col_pre = 0;
634
+ var top_5 = row_pre;
635
+ var height = row - row_pre - 1;
636
+ var rowseleted = [row_index_2, row_index_2];
637
+ ctx.luckysheet_select_save = [];
638
+ ctx.luckysheet_select_save.push({
639
+ left: colLocationByIndex(0, ctx.visibledatacolumn)[0],
640
+ width: colLocationByIndex(0, ctx.visibledatacolumn)[1] - colLocationByIndex(0, ctx.visibledatacolumn)[0] - 1,
641
+ top: top_5,
642
+ height: height,
643
+ left_move: col_pre,
644
+ width_move: col - col_pre - 1,
645
+ top_move: top_5,
646
+ height_move: height,
647
+ row: rowseleted,
648
+ column: [0, col_index],
649
+ row_focus: row_index_2,
650
+ column_focus: 0,
651
+ row_select: true
652
+ });
653
+ } else if (area === "columnHeader") {
654
+ _.set(ctx.contextMenu, "headerMenu", "column");
655
+ var rect = container.getBoundingClientRect();
656
+ var mouseX = e.pageX - rect.left - window.scrollX;
657
+ var _selected_x = mouseX + ctx.scrollLeft;
658
+ var selected_x = fixPositionOnFrozenCells((_g = ctx.getRefs().globalCache.freezen) === null || _g === void 0 ? void 0 : _g[ctx.currentSheetId], _selected_x, 0, mouseX, 0).x;
659
+ var row_index = ctx.visibledatarow.length - 1;
660
+ var row = ctx.visibledatarow[row_index];
661
+ var row_pre = 0;
662
+ var col_location = colLocation(selected_x, ctx.visibledatacolumn);
663
+ var col = col_location[1];
664
+ var col_pre = col_location[0];
665
+ var col_index_2 = col_location[2];
666
+ var isInSelection = _.some(ctx.luckysheet_select_save, function (obj_s) {
667
+ return obj_s.row != null && col_index_2 >= obj_s.column[0] && col_index_2 <= obj_s.column[1] && !obj_s.row_select;
668
+ });
669
+ if (isInSelection) return;
670
+ var left = col_pre;
671
+ var width = col - col_pre - 1;
672
+ var columnseleted = [col_index_2, col_index_2];
673
+ ctx.luckysheet_select_save = [];
674
+ ctx.luckysheet_select_save.push({
675
+ left: left,
676
+ width: width,
677
+ top: rowLocationByIndex(0, ctx.visibledatarow)[0],
678
+ height: rowLocationByIndex(0, ctx.visibledatarow)[1] - rowLocationByIndex(0, ctx.visibledatarow)[0] - 1,
679
+ left_move: left,
680
+ width_move: width,
681
+ top_move: row_pre,
682
+ height_move: row - row_pre - 1,
683
+ row: [0, row_index],
684
+ column: columnseleted,
685
+ row_focus: 0,
686
+ column_focus: col_index_2,
687
+ column_select: true
688
+ });
689
+ }
690
+ }
691
+ function mouseRender(ctx, globalCache, e, cellInput, scrollX, scrollY, container, fxInput) {
692
+ var _a, _b, _c, _d;
693
+ var rect = container.getBoundingClientRect();
694
+ if (ctx.luckysheet_scroll_status && !ctx.luckysheet_cols_change_size && !ctx.luckysheet_rows_change_size) {
695
+ var left = ctx.scrollLeft;
696
+ var top_6 = ctx.scrollTop;
697
+ var x = e.pageX - rect.left - window.scrollX;
698
+ var y = e.pageY - rect.top - window.scrollY;
699
+ var winH = rect.height - 20 * ctx.zoomRatio;
700
+ var winW = rect.width - 60 * ctx.zoomRatio;
701
+ if (y < 0 || y > winH) {
702
+ var stop_1;
703
+ if (y < 0) {
704
+ stop_1 = top_6 + y / 2;
705
+ } else {
706
+ stop_1 = top_6 + (y - winH) / 2;
707
+ }
708
+ scrollY.scrollTop = stop_1;
709
+ }
710
+ if (x < 0 || x > winW) {
711
+ var sleft = void 0;
712
+ if (x < 0) {
713
+ sleft = left + x / 2;
714
+ } else {
715
+ sleft = left + (x - winW) / 2;
716
+ }
717
+ scrollX.scrollLeft = sleft;
718
+ }
719
+ }
720
+ if ((_a = ctx.rangeDialog) === null || _a === void 0 ? void 0 : _a.singleSelect) {
721
+ return;
722
+ }
723
+ if (ctx.luckysheet_select_status) {
724
+ var mouseX = e.pageX - rect.left - window.scrollX;
725
+ var mouseY = e.pageY - rect.top - window.scrollY;
726
+ var _x = mouseX - ctx.rowHeaderWidth + ctx.scrollLeft;
727
+ var _y = mouseY - ctx.columnHeaderHeight + ctx.scrollTop;
728
+ var freeze = (_b = globalCache.freezen) === null || _b === void 0 ? void 0 : _b[ctx.currentSheetId];
729
+ var _e = fixPositionOnFrozenCells(freeze, _x, _y, mouseX - ctx.rowHeaderWidth, mouseY - ctx.columnHeaderHeight),
730
+ x = _e.x,
731
+ y = _e.y;
732
+ var row_location = rowLocation(y, ctx.visibledatarow);
733
+ var row = row_location[1];
734
+ var row_pre = row_location[0];
735
+ var row_index = row_location[2];
736
+ var col_location = colLocation(x, ctx.visibledatacolumn);
737
+ var col = col_location[1];
738
+ var col_pre = col_location[0];
739
+ var col_index = col_location[2];
740
+ if (!checkProtectionSelectLockedOrUnLockedCells(ctx, row_index, col_index, ctx.currentSheetId)) {
741
+ ctx.luckysheet_select_status = false;
742
+ return;
743
+ }
744
+ var last = _.cloneDeep((_c = ctx.luckysheet_select_save) === null || _c === void 0 ? void 0 : _c[ctx.luckysheet_select_save.length - 1]);
745
+ if (!last || _.isNil(last.left) || _.isNil(last.top) || _.isNil(last.height) || _.isNil(last.width) || _.isNil(last.row_focus) || _.isNil(last.column_focus)) {
746
+ return;
747
+ }
748
+ var top_7 = 0;
749
+ var height = 0;
750
+ var rowseleted = [];
751
+ if (last.top > row_pre) {
752
+ top_7 = row_pre;
753
+ height = last.top + last.height - row_pre;
754
+ if (last.row[1] > last.row_focus) {
755
+ last.row[1] = last.row_focus;
756
+ }
757
+ rowseleted = [row_index, last.row[1]];
758
+ } else if (last.top === row_pre) {
759
+ top_7 = row_pre;
760
+ height = last.top + last.height - row_pre;
761
+ rowseleted = [row_index, last.row[0]];
762
+ } else {
763
+ top_7 = last.top;
764
+ height = row - last.top - 1;
765
+ if (last.row[0] < last.row_focus) {
766
+ last.row[0] = last.row_focus;
767
+ }
768
+ rowseleted = [last.row[0], row_index];
769
+ }
770
+ var left = 0;
771
+ var width = 0;
772
+ var columnseleted = [];
773
+ if (last.left > col_pre) {
774
+ left = col_pre;
775
+ width = last.left + last.width - col_pre;
776
+ if (last.column[1] > last.column_focus) {
777
+ last.column[1] = last.column_focus;
778
+ }
779
+ columnseleted = [col_index, last.column[1]];
780
+ } else if (last.left === col_pre) {
781
+ left = col_pre;
782
+ width = last.left + last.width - col_pre;
783
+ columnseleted = [col_index, last.column[0]];
784
+ } else {
785
+ left = last.left;
786
+ width = col - last.left - 1;
787
+ if (last.column[0] < last.column_focus) {
788
+ last.column[0] = last.column_focus;
789
+ }
790
+ columnseleted = [last.column[0], col_index];
791
+ }
792
+ var changeparam = mergeMoveMain(ctx, columnseleted, rowseleted, last, top_7, height, left, width);
793
+ if (changeparam != null) {
794
+ columnseleted = changeparam[0], rowseleted = changeparam[1], top_7 = changeparam[2], height = changeparam[3], left = changeparam[4], width = changeparam[5];
795
+ }
796
+ last.row = rowseleted;
797
+ last.column = columnseleted;
798
+ last.left_move = left;
799
+ last.width_move = width;
800
+ last.top_move = top_7;
801
+ last.height_move = height;
802
+ var isMaxColumn = ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1].column;
803
+ var colMax = ctx.visibledatacolumn.length - 1;
804
+ if (isMaxColumn[0] === 0 && isMaxColumn[1] === colMax) {
805
+ last.column[1] = colMax;
806
+ last.width_move = ctx.visibledatacolumn[colMax] - 1;
807
+ }
808
+ var isMaxRow = ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1].row;
809
+ var rowMax = ctx.visibledatarow.length - 1;
810
+ if (isMaxRow[0] === 0 && isMaxRow[1] === rowMax) {
811
+ last.row[1] = rowMax;
812
+ last.height_move = ctx.visibledatarow[rowMax] - 1;
813
+ }
814
+ ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1] = last;
815
+ scrollToFrozenRowCol(ctx, (_d = globalCache.freezen) === null || _d === void 0 ? void 0 : _d[ctx.currentSheetId]);
816
+ } else if (ctx.formulaCache.rangestart) {
817
+ rangeDrag(ctx, e, cellInput, scrollX.scrollLeft, scrollY.scrollTop, container, fxInput);
818
+ } else if (ctx.formulaCache.rangedrag_row_start) {
819
+ rangeDragRow(ctx, e, cellInput, scrollX.scrollLeft, scrollY.scrollTop, container, fxInput);
820
+ } else if (ctx.formulaCache.rangedrag_column_start) {
821
+ rangeDragColumn(ctx, e, cellInput, scrollX.scrollLeft, scrollY.scrollTop, container, fxInput);
822
+ } else if (ctx.luckysheet_rows_selected_status) {} else if (ctx.luckysheet_cols_selected_status) {} else if (ctx.luckysheet_cell_selected_move) {} else if (ctx.luckysheet_cell_selected_extend) {
823
+ onDropCellSelect(ctx, e, scrollX, scrollY, container);
824
+ } else if (ctx.luckysheet_cols_change_size) {
825
+ var x = e.pageX - rect.left - ctx.rowHeaderWidth + scrollX.scrollLeft - window.scrollX;
826
+ if (x < rect.width + ctx.scrollLeft - 100) {
827
+ var changeSizeLine = container.querySelector(".fortune-change-size-line");
828
+ if (changeSizeLine) {
829
+ changeSizeLine.style.left = "".concat(x, "px");
830
+ }
831
+ var changeSizeCol = container.querySelector(".fortune-cols-change-size");
832
+ if (changeSizeCol) {
833
+ changeSizeCol.style.left = "".concat(x - 2, "px");
834
+ }
835
+ }
836
+ } else if (ctx.luckysheet_rows_change_size) {
837
+ var y = e.pageY - rect.top - ctx.columnHeaderHeight + scrollY.scrollTop - window.scrollY;
838
+ if (y < rect.height + ctx.scrollTop - 20) {
839
+ var changeSizeLine = container.querySelector(".fortune-change-size-line");
840
+ if (changeSizeLine) {
841
+ changeSizeLine.style.top = "".concat(y, "px");
842
+ }
843
+ var changeSizeRow = container.querySelector(".fortune-rows-change-size");
844
+ if (changeSizeRow) {
845
+ changeSizeRow.style.top = "".concat(y, "px");
846
+ }
847
+ }
848
+ } else if (ctx.luckysheet_cols_freeze_drag) {
849
+ var x = e.pageX - rect.left - ctx.rowHeaderWidth + ctx.scrollLeft - window.scrollX;
850
+ var _f = colLocation(x, ctx.visibledatacolumn),
851
+ col_pre = _f[0],
852
+ col_curr = _f[1];
853
+ var col = x > (col_pre + col_curr) / 2 ? col_curr : col_pre;
854
+ if (x < rect.width + ctx.scrollLeft - 100) {
855
+ var freezeLine = container.querySelector(".fortune-freeze-drag-line");
856
+ if (freezeLine) {
857
+ freezeLine.style.left = "".concat(Math.max(0, col - 2), "px");
858
+ }
859
+ var freezeHandle = container.querySelector(".fortune-cols-freeze-handle");
860
+ if (freezeHandle) {
861
+ freezeHandle.style.left = "".concat(x, "px");
862
+ }
863
+ var changeSizeLine = container.querySelector(".fortune-change-size-line");
864
+ if (changeSizeLine) {
865
+ changeSizeLine.style.left = "".concat(x, "px");
866
+ }
867
+ }
868
+ } else if (ctx.luckysheet_rows_freeze_drag) {
869
+ var y = e.pageY - rect.top - ctx.columnHeaderHeight + ctx.scrollTop - window.scrollY;
870
+ var _g = rowLocation(y, ctx.visibledatarow),
871
+ row_pre = _g[0],
872
+ row_curr = _g[1];
873
+ var row = y > (row_curr + row_pre) / 2 ? row_curr : row_pre;
874
+ if (y < rect.height + ctx.scrollTop - 20) {
875
+ var freezeLine = container.querySelector(".fortune-freeze-drag-line");
876
+ if (freezeLine) {
877
+ freezeLine.style.top = "".concat(Math.max(0, row - 2), "px");
878
+ }
879
+ var freezeHandle = container.querySelector(".fortune-rows-freeze-handle");
880
+ if (freezeHandle) {
881
+ freezeHandle.style.top = "".concat(y, "px");
882
+ }
883
+ var changeSizeLine = container.querySelector(".fortune-change-size-line");
884
+ if (changeSizeLine) {
885
+ changeSizeLine.style.top = "".concat(y, "px");
886
+ }
887
+ }
888
+ }
889
+ }
890
+ export function handleOverlayMouseMove(ctx, globalCache, e, cellInput, scrollX, scrollY, container, fxInput) {
891
+ if (onCommentBoxResize(ctx, globalCache, e)) return;
892
+ if (onCommentBoxMove(ctx, globalCache, e)) return;
893
+ if (onImageMove(ctx, globalCache, e)) return;
894
+ if (onImageResize(ctx, globalCache, e)) return;
895
+ onCellsMove(ctx, globalCache, e, scrollX, scrollY, container);
896
+ overShowComment(ctx, e, scrollX, scrollY, container);
897
+ onSearchDialogMove(globalCache, e);
898
+ onRangeSelectionModalMove(globalCache, e);
899
+ if (!!ctx.luckysheet_scroll_status || !!ctx.luckysheet_select_status || !!ctx.luckysheet_rows_selected_status || !!ctx.luckysheet_cols_selected_status || !!ctx.luckysheet_cell_selected_move || !!ctx.luckysheet_cell_selected_extend || !!ctx.luckysheet_cols_change_size || !!ctx.luckysheet_rows_change_size) {
900
+ mouseRender(ctx, globalCache, e, cellInput, scrollX, scrollY, container, fxInput);
901
+ }
902
+ }
903
+ export function handleOverlayMouseUp(ctx, globalCache, settings, e, scrollbarX, scrollbarY, container, cellInput, fxInput) {
904
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
905
+ var rect = container.getBoundingClientRect();
906
+ onImageMoveEnd(ctx, globalCache);
907
+ onImageResizeEnd(ctx, globalCache);
908
+ onIframeMoveEnd(ctx, globalCache);
909
+ onIframeResizeEnd(ctx, globalCache);
910
+ onCommentBoxMoveEnd(ctx, globalCache);
911
+ onCommentBoxResizeEnd(ctx, globalCache);
912
+ onFormulaRangeDragEnd(ctx);
913
+ onSearchDialogMoveEnd(globalCache);
914
+ onRangeSelectionModalMoveEnd(globalCache);
915
+ onCellsMoveEnd(ctx, globalCache, e, scrollbarX, scrollbarY, container);
916
+ if (ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start) {
917
+ if (((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.id) === "luckysheet-functionbox-cell") {
918
+ handleFormulaInput(ctx, cellInput, fxInput, 0, undefined, false);
919
+ } else {
920
+ handleFormulaInput(ctx, fxInput, cellInput, 0, undefined, false);
921
+ }
922
+ }
923
+ if (ctx.luckysheet_select_status) {
924
+ if (ctx.luckysheetPaintModelOn) {
925
+ pasteHandlerOfPaintModel(ctx, ctx.luckysheet_copy_save);
926
+ if (ctx.luckysheetPaintSingle) {
927
+ cancelPaintModel(ctx);
928
+ }
929
+ }
930
+ }
931
+ ctx.luckysheet_select_status = false;
932
+ ctx.luckysheet_scroll_status = false;
933
+ ctx.luckysheet_rows_selected_status = false;
934
+ ctx.luckysheet_cols_selected_status = false;
935
+ ctx.luckysheet_model_move_state = false;
936
+ if (ctx.luckysheet_rows_change_size) {
937
+ ctx.luckysheet_rows_change_size = false;
938
+ var scrollTop = ctx.scrollTop;
939
+ var y = e.pageY - rect.top - ctx.columnHeaderHeight + scrollTop - window.scrollY;
940
+ var winH = rect.height;
941
+ var delta = y + 3 - ctx.luckysheet_rows_change_size_start[0];
942
+ if (y >= winH - 20 + scrollTop) {
943
+ delta = winH - 20 - ctx.luckysheet_rows_change_size_start[0] + scrollTop;
944
+ }
945
+ var cfg_1 = ctx.config;
946
+ if (cfg_1.rowlen == null) {
947
+ cfg_1.rowlen = {};
948
+ }
949
+ if (cfg_1.customHeight == null) {
950
+ cfg_1.customHeight = {};
951
+ }
952
+ var size_1 = ctx.defaultrowlen;
953
+ if (ctx.visibledatarow[ctx.luckysheet_rows_change_size_start[1]] != null) {
954
+ size_1 = ctx.visibledatarow[ctx.luckysheet_rows_change_size_start[1]] - (ctx.visibledatarow[ctx.luckysheet_rows_change_size_start[1] - 1] || 0);
955
+ }
956
+ size_1 += delta;
957
+ if (size_1 < 10) {
958
+ size_1 = 10;
959
+ }
960
+ cfg_1.customHeight[ctx.luckysheet_rows_change_size_start[1]] = 1;
961
+ var changeRowIndex_1 = ctx.luckysheet_rows_change_size_start[1];
962
+ var changeRowSelected_1 = false;
963
+ if (((_c = (_b = ctx.luckysheet_select_save) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > 0) {
964
+ (_e = (_d = ctx.luckysheet_select_save) === null || _d === void 0 ? void 0 : _d.filter(function (select) {
965
+ return select.row_select;
966
+ })) === null || _e === void 0 ? void 0 : _e.some(function (select) {
967
+ if (changeRowIndex_1 >= select.row[0] && changeRowIndex_1 <= select.row[1]) {
968
+ changeRowSelected_1 = true;
969
+ }
970
+ return changeRowSelected_1;
971
+ });
972
+ }
973
+ if (changeRowSelected_1) {
974
+ cfg_1.rowlen || (cfg_1.rowlen = {});
975
+ (_g = (_f = ctx.luckysheet_select_save) === null || _f === void 0 ? void 0 : _f.filter(function (select) {
976
+ return select.row_select;
977
+ })) === null || _g === void 0 ? void 0 : _g.forEach(function (select) {
978
+ for (var r = select.row[0]; r <= select.row[1]; r += 1) {
979
+ cfg_1.rowlen[r] = Math.ceil(size_1 / ctx.zoomRatio);
980
+ }
981
+ });
982
+ } else {
983
+ cfg_1.rowlen[ctx.luckysheet_rows_change_size_start[1]] = Math.ceil(size_1 / ctx.zoomRatio);
984
+ }
985
+ ctx.config = cfg_1;
986
+ var idx = getSheetIndex(ctx, ctx.currentSheetId);
987
+ if (idx == null) return;
988
+ ctx.luckysheetfile[idx].config = ctx.config;
989
+ }
990
+ if (ctx.luckysheet_cols_change_size) {
991
+ ctx.luckysheet_cols_change_size = false;
992
+ var scrollLeft = ctx.scrollLeft;
993
+ var x = e.pageX - rect.left - ctx.rowHeaderWidth + scrollLeft - window.scrollX;
994
+ var winW = rect.width;
995
+ var delta = x + 3 - ctx.luckysheet_cols_change_size_start[0];
996
+ if (x >= winW - 100 + scrollLeft) {
997
+ delta = winW - 100 - ctx.luckysheet_cols_change_size_start[0] + scrollLeft;
998
+ }
999
+ delta /= ctx.zoomRatio;
1000
+ var cfg_2 = ctx.config;
1001
+ if (cfg_2.columnlen == null) {
1002
+ cfg_2.columnlen = {};
1003
+ }
1004
+ if (cfg_2.customWidth == null) {
1005
+ cfg_2.customWidth = {};
1006
+ }
1007
+ var firstcolumnlen = ctx.defaultcollen;
1008
+ if (ctx.config.columnlen != null && ctx.config.columnlen[ctx.luckysheet_cols_change_size_start[1]] != null) {
1009
+ firstcolumnlen = ctx.config.columnlen[ctx.luckysheet_cols_change_size_start[1]];
1010
+ }
1011
+ var size_2 = (cfg_2.columnlen[ctx.luckysheet_cols_change_size_start[1]] || ctx.defaultcollen) + delta;
1012
+ if (Math.abs(size_2 - firstcolumnlen) < 3) {
1013
+ return;
1014
+ }
1015
+ if (size_2 < 10) {
1016
+ size_2 = 10;
1017
+ }
1018
+ cfg_2.customWidth[ctx.luckysheet_cols_change_size_start[1]] = 1;
1019
+ var changeColumnIndex_1 = ctx.luckysheet_cols_change_size_start[1];
1020
+ var changeColumnSelected_1 = false;
1021
+ if (((_j = (_h = ctx.luckysheet_select_save) === null || _h === void 0 ? void 0 : _h.length) !== null && _j !== void 0 ? _j : 0) > 0) {
1022
+ (_l = (_k = ctx.luckysheet_select_save) === null || _k === void 0 ? void 0 : _k.filter(function (select) {
1023
+ return select.column_select;
1024
+ })) === null || _l === void 0 ? void 0 : _l.some(function (select) {
1025
+ if (changeColumnIndex_1 >= select.column[0] && changeColumnIndex_1 <= select.column[1]) {
1026
+ changeColumnSelected_1 = true;
1027
+ }
1028
+ return changeColumnSelected_1;
1029
+ });
1030
+ }
1031
+ if (changeColumnSelected_1) {
1032
+ cfg_2.columnlen || (cfg_2.columnlen = {});
1033
+ (_o = (_m = ctx.luckysheet_select_save) === null || _m === void 0 ? void 0 : _m.filter(function (select) {
1034
+ return select.column_select;
1035
+ })) === null || _o === void 0 ? void 0 : _o.forEach(function (select) {
1036
+ for (var r = select.column[0]; r <= select.column[1]; r += 1) {
1037
+ cfg_2.columnlen[r] = Math.ceil(size_2 / ctx.zoomRatio);
1038
+ }
1039
+ });
1040
+ } else {
1041
+ cfg_2.columnlen[ctx.luckysheet_cols_change_size_start[1]] = Math.ceil(size_2 / ctx.zoomRatio);
1042
+ }
1043
+ ctx.config = cfg_2;
1044
+ var idx = getSheetIndex(ctx, ctx.currentSheetId);
1045
+ if (idx == null) return;
1046
+ ctx.luckysheetfile[idx].config = ctx.config;
1047
+ }
1048
+ if (ctx.luckysheet_cols_freeze_drag) {
1049
+ ctx.luckysheet_cols_freeze_drag = false;
1050
+ var scrollLeft = ctx.scrollLeft;
1051
+ var x = e.pageX - rect.left - ctx.rowHeaderWidth + scrollLeft - window.scrollX;
1052
+ var _p = colLocation(x, ctx.visibledatacolumn),
1053
+ col_pre = _p[0],
1054
+ col_curr = _p[1],
1055
+ col_index_curr = _p[2];
1056
+ var col_index = x > (col_curr + col_pre) / 2 ? col_index_curr : col_index_curr - 1;
1057
+ var idx = getSheetIndex(ctx, ctx.currentSheetId);
1058
+ if (idx == null) return;
1059
+ if (col_index < 0) {
1060
+ var frozen = ctx.luckysheetfile[idx].frozen;
1061
+ if (frozen) {
1062
+ if (frozen.type === "rangeBoth" || frozen.type === "both") {
1063
+ frozen.type = "rangeRow";
1064
+ } else if (frozen.type === "column" || frozen.type === "rangeColumn") {
1065
+ delete ctx.luckysheetfile[idx].frozen;
1066
+ }
1067
+ }
1068
+ var freezeHandle_1 = container.querySelector(".fortune-cols-freeze-handle");
1069
+ if (freezeHandle_1) {
1070
+ freezeHandle_1.style.left = "".concat(ctx.scrollLeft, "px");
1071
+ }
1072
+ } else if (!ctx.luckysheetfile[idx].frozen) {
1073
+ ctx.luckysheetfile[idx].frozen = {
1074
+ type: "rangeColumn",
1075
+ range: {
1076
+ column_focus: col_index,
1077
+ row_focus: 0
1078
+ }
1079
+ };
1080
+ } else {
1081
+ var frozen = ctx.luckysheetfile[idx].frozen;
1082
+ if (!frozen.range) {
1083
+ frozen.range = {
1084
+ column_focus: col_index,
1085
+ row_focus: 0
1086
+ };
1087
+ } else {
1088
+ frozen.range.column_focus = col_index;
1089
+ }
1090
+ if ((frozen === null || frozen === void 0 ? void 0 : frozen.type) === "rangeRow" || (frozen === null || frozen === void 0 ? void 0 : frozen.type) === "row") {
1091
+ frozen.type = "rangeBoth";
1092
+ }
1093
+ }
1094
+ var freezeHandle = container.querySelector(".fortune-cols-freeze-handle");
1095
+ if (freezeHandle) {
1096
+ freezeHandle.style.left = "".concat(getFrozenHandleLeft(ctx), "px");
1097
+ }
1098
+ }
1099
+ if (ctx.luckysheet_rows_freeze_drag) {
1100
+ ctx.luckysheet_rows_freeze_drag = false;
1101
+ var scrollTop = ctx.scrollTop;
1102
+ var y = e.pageY - rect.top - ctx.columnHeaderHeight + scrollTop - window.scrollY;
1103
+ var _q = rowLocation(y, ctx.visibledatarow),
1104
+ row_pre = _q[0],
1105
+ row_curr = _q[1],
1106
+ row_index_curr = _q[2];
1107
+ var row_index = y > (row_curr + row_pre) / 2 ? row_index_curr : row_index_curr - 1;
1108
+ var idx = getSheetIndex(ctx, ctx.currentSheetId);
1109
+ if (idx == null) return;
1110
+ if (row_index < 0) {
1111
+ var frozen = ctx.luckysheetfile[idx].frozen;
1112
+ if (frozen) {
1113
+ if (frozen.type === "rangeBoth" || frozen.type === "both") {
1114
+ frozen.type = "rangeColumn";
1115
+ } else if (frozen.type === "row" || frozen.type === "rangeRow") {
1116
+ delete ctx.luckysheetfile[idx].frozen;
1117
+ }
1118
+ }
1119
+ } else if (!ctx.luckysheetfile[idx].frozen) {
1120
+ ctx.luckysheetfile[idx].frozen = {
1121
+ type: "rangeRow",
1122
+ range: {
1123
+ column_focus: 0,
1124
+ row_focus: row_index
1125
+ }
1126
+ };
1127
+ } else {
1128
+ var frozen = ctx.luckysheetfile[idx].frozen;
1129
+ if (!frozen.range) {
1130
+ frozen.range = {
1131
+ column_focus: 0,
1132
+ row_focus: row_index
1133
+ };
1134
+ } else {
1135
+ frozen.range.row_focus = row_index;
1136
+ }
1137
+ if ((frozen === null || frozen === void 0 ? void 0 : frozen.type) === "rangeColumn" || (frozen === null || frozen === void 0 ? void 0 : frozen.type) === "column") {
1138
+ frozen.type = "rangeBoth";
1139
+ }
1140
+ }
1141
+ var freezeHandle = container.querySelector(".fortune-rows-freeze-handle");
1142
+ if (freezeHandle) {
1143
+ freezeHandle.style.top = "".concat(getFrozenHandleTop(ctx), "px");
1144
+ }
1145
+ }
1146
+ if (ctx.luckysheet_cell_selected_extend) {
1147
+ onDropCellSelectEnd(ctx, e, container);
1148
+ }
1149
+ }
1150
+ export function handleRowHeaderMouseDown(ctx, globalCache, e, container, cellInput, fxInput) {
1151
+ var _a, _b;
1152
+ var _c, _d, _e, _f, _g, _h, _j, _k;
1153
+ if (!checkProtectionAllSelected(ctx, ctx.currentSheetId)) {
1154
+ return;
1155
+ }
1156
+ removeEditingComment(ctx, globalCache);
1157
+ cancelActiveImgItem(ctx, globalCache);
1158
+ var rect = container.getBoundingClientRect();
1159
+ var mouseY = e.pageY - rect.top - window.scrollY;
1160
+ var _y = mouseY + ctx.scrollTop;
1161
+ var freeze = (_c = globalCache.freezen) === null || _c === void 0 ? void 0 : _c[ctx.currentSheetId];
1162
+ var y = fixPositionOnFrozenCells(freeze, 0, _y, 0, mouseY).y;
1163
+ var row_location = rowLocation(y, ctx.visibledatarow);
1164
+ var row = row_location[1];
1165
+ var row_pre = row_location[0];
1166
+ var row_index = row_location[2];
1167
+ var col_index = ctx.visibledatacolumn.length - 1;
1168
+ var col = ctx.visibledatacolumn[col_index];
1169
+ var col_pre = 0;
1170
+ if (e.button === 2) {
1171
+ var flowdata_1 = getFlowdata(ctx);
1172
+ var isInSelection = _.some(ctx.luckysheet_select_save, function (obj_s) {
1173
+ var _a, _b;
1174
+ return obj_s.row != null && row_index >= obj_s.row[0] && row_index <= obj_s.row[1] && obj_s.column[0] === 0 && obj_s.column[1] === ((_b = (_a = flowdata_1 === null || flowdata_1 === void 0 ? void 0 : flowdata_1[0]) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) - 1;
1175
+ });
1176
+ if (isInSelection) return;
1177
+ }
1178
+ var top = row_pre;
1179
+ var height = row - row_pre - 1;
1180
+ var rowseleted = [row_index, row_index];
1181
+ ctx.luckysheet_scroll_status = true;
1182
+ if (!_.isEmpty(ctx.luckysheetCellUpdate)) {
1183
+ if (ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start || israngeseleciton(ctx)) {
1184
+ var changeparam = mergeMoveMain(ctx, [0, col_index], rowseleted, {
1185
+ row_focus: row_index,
1186
+ column_focus: 0
1187
+ }, top, height, col_pre, col);
1188
+ if (changeparam != null) {
1189
+ _a = [changeparam[1], changeparam[2], changeparam[3]], rowseleted = _a[0], top = _a[1], height = _a[2];
1190
+ }
1191
+ if (e.shiftKey) {
1192
+ var last = ctx.formulaCache.func_selectedrange;
1193
+ top = 0;
1194
+ height = 0;
1195
+ rowseleted = [];
1196
+ if (last == null || last.top == null || last.height == null || last.row == null || last.row_focus == null) return;
1197
+ if (last.top > row_pre) {
1198
+ top = row_pre;
1199
+ height = last.top + last.height - row_pre;
1200
+ if (last.row[1] > last.row_focus) {
1201
+ last.row[1] = last.row_focus;
1202
+ }
1203
+ rowseleted = [row_index, last.row[1]];
1204
+ } else if (last.top === row_pre) {
1205
+ top = row_pre;
1206
+ height = last.top + last.height - row_pre;
1207
+ rowseleted = [row_index, last.row[0]];
1208
+ } else {
1209
+ top = last.top;
1210
+ height = row - last.top - 1;
1211
+ if (last.row[0] < last.row_focus) {
1212
+ last.row[0] = last.row_focus;
1213
+ }
1214
+ rowseleted = [last.row[0], row_index];
1215
+ }
1216
+ changeparam = mergeMoveMain(ctx, [0, col_index], rowseleted, {
1217
+ row_focus: row_index,
1218
+ column_focus: 0
1219
+ }, top, height, col_pre, col);
1220
+ if (changeparam != null) {
1221
+ _b = [changeparam[1], changeparam[2], changeparam[3]], rowseleted = _b[0], top = _b[1], height = _b[2];
1222
+ }
1223
+ last.row = rowseleted;
1224
+ last.top_move = top;
1225
+ last.height_move = height;
1226
+ ctx.formulaCache.func_selectedrange = last;
1227
+ } else if (e.ctrlKey && ((_d = _.last(cellInput.querySelectorAll("span"))) === null || _d === void 0 ? void 0 : _d.innerText) !== ",") {
1228
+ var vText = "".concat(cellInput.innerText, ",");
1229
+ if (vText.length > 0 && vText.substring(0, 1) === "=") {
1230
+ vText = functionHTMLGenerate(vText);
1231
+ if (window.getSelection) {
1232
+ var currSelection = window.getSelection();
1233
+ if (currSelection == null) return;
1234
+ ctx.formulaCache.functionRangeIndex = [_.indexOf((_g = (_f = (_e = currSelection.anchorNode) === null || _e === void 0 ? void 0 : _e.parentNode) === null || _f === void 0 ? void 0 : _f.parentNode) === null || _g === void 0 ? void 0 : _g.childNodes, (_h = currSelection.anchorNode) === null || _h === void 0 ? void 0 : _h.parentNode), currSelection.anchorOffset];
1235
+ } else {
1236
+ var textRange = document.selection.createRange();
1237
+ ctx.formulaCache.functionRangeIndex = textRange;
1238
+ }
1239
+ cellInput.innerHTML = vText;
1240
+ cancelFunctionrangeSelected(ctx);
1241
+ createRangeHightlight(ctx, vText);
1242
+ }
1243
+ ctx.formulaCache.rangestart = false;
1244
+ ctx.formulaCache.rangedrag_column_start = false;
1245
+ ctx.formulaCache.rangedrag_row_start = false;
1246
+ if (fxInput) fxInput.innerHTML = vText;
1247
+ rangeHightlightselected(ctx, cellInput);
1248
+ israngeseleciton(ctx);
1249
+ ctx.formulaCache.func_selectedrange = {
1250
+ left: colLocationByIndex(0, ctx.visibledatacolumn)[0],
1251
+ width: colLocationByIndex(0, ctx.visibledatacolumn)[1] - colLocationByIndex(0, ctx.visibledatacolumn)[0] - 1,
1252
+ top: top,
1253
+ height: height,
1254
+ left_move: col_pre,
1255
+ width_move: col - col_pre - 1,
1256
+ top_move: top,
1257
+ height_move: height,
1258
+ row: rowseleted,
1259
+ column: [0, col_index],
1260
+ row_focus: row_index,
1261
+ column_focus: 0
1262
+ };
1263
+ } else {
1264
+ ctx.formulaCache.func_selectedrange = {
1265
+ left: colLocationByIndex(0, ctx.visibledatacolumn)[0],
1266
+ width: colLocationByIndex(0, ctx.visibledatacolumn)[1] - colLocationByIndex(0, ctx.visibledatacolumn)[0] - 1,
1267
+ top: top,
1268
+ height: height,
1269
+ left_move: col_pre,
1270
+ width_move: col - col_pre - 1,
1271
+ top_move: top,
1272
+ height_move: height,
1273
+ row: rowseleted,
1274
+ column: [0, col_index],
1275
+ row_focus: row_index,
1276
+ column_focus: 0
1277
+ };
1278
+ }
1279
+ if (ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start || israngeseleciton(ctx)) {
1280
+ rangeSetValue(ctx, cellInput, {
1281
+ row: rowseleted,
1282
+ column: [null, null]
1283
+ }, fxInput);
1284
+ }
1285
+ ctx.formulaCache.rangedrag_row_start = true;
1286
+ ctx.formulaCache.rangestart = false;
1287
+ ctx.formulaCache.rangedrag_column_start = false;
1288
+ ctx.formulaCache.selectingRangeIndex = ctx.formulaCache.rangechangeindex;
1289
+ if (ctx.formulaCache.rangechangeindex > ctx.formulaRangeHighlight.length) {
1290
+ createRangeHightlight(ctx, cellInput.innerHTML, ctx.formulaCache.rangechangeindex);
1291
+ }
1292
+ createFormulaRangeSelect(ctx, {
1293
+ rangeIndex: ctx.formulaCache.rangechangeindex || 0,
1294
+ left: col_pre,
1295
+ top: top,
1296
+ width: col - col_pre - 1,
1297
+ height: height
1298
+ });
1299
+ e.preventDefault();
1300
+ return;
1301
+ }
1302
+ updateCell(ctx, ctx.luckysheetCellUpdate[0], ctx.luckysheetCellUpdate[1], cellInput);
1303
+ ctx.luckysheet_rows_selected_status = true;
1304
+ } else {
1305
+ ctx.luckysheet_rows_selected_status = true;
1306
+ }
1307
+ if (ctx.luckysheet_rows_selected_status) {
1308
+ if (e.shiftKey) {
1309
+ var last = _.cloneDeep((_j = ctx.luckysheet_select_save) === null || _j === void 0 ? void 0 : _j[ctx.luckysheet_select_save.length - 1]);
1310
+ if (!last || _.isNil(last.top) || _.isNil(last.height) || _.isNil(last.row_focus)) {
1311
+ return;
1312
+ }
1313
+ var _top = 0;
1314
+ var _height = 0;
1315
+ var _rowseleted = [];
1316
+ if (last.top > row_pre) {
1317
+ _top = row_pre;
1318
+ _height = last.top + last.height - row_pre;
1319
+ if (last.row[1] > last.row_focus) {
1320
+ last.row[1] = last.row_focus;
1321
+ }
1322
+ _rowseleted = [row_index, last.row[1]];
1323
+ } else if (last.top === row_pre) {
1324
+ _top = row_pre;
1325
+ _height = last.top + last.height - row_pre;
1326
+ _rowseleted = [row_index, last.row[0]];
1327
+ } else {
1328
+ _top = last.top;
1329
+ _height = row - last.top - 1;
1330
+ if (last.row[0] < last.row_focus) {
1331
+ last.row[0] = last.row_focus;
1332
+ }
1333
+ _rowseleted = [last.row[0], row_index];
1334
+ }
1335
+ last.row = _rowseleted;
1336
+ last.top_move = _top;
1337
+ last.height_move = _height;
1338
+ ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1] = last;
1339
+ } else if (e.ctrlKey || e.metaKey) {
1340
+ (_k = ctx.luckysheet_select_save) === null || _k === void 0 ? void 0 : _k.push({
1341
+ left: colLocationByIndex(0, ctx.visibledatacolumn)[0],
1342
+ width: colLocationByIndex(0, ctx.visibledatacolumn)[1] - colLocationByIndex(0, ctx.visibledatacolumn)[0] - 1,
1343
+ top: top,
1344
+ height: height,
1345
+ left_move: col_pre,
1346
+ width_move: col - col_pre - 1,
1347
+ top_move: top,
1348
+ height_move: height,
1349
+ row: rowseleted,
1350
+ column: [0, col_index],
1351
+ row_focus: row_index,
1352
+ column_focus: 0,
1353
+ row_select: true
1354
+ });
1355
+ } else {
1356
+ ctx.luckysheet_select_save = [];
1357
+ ctx.luckysheet_select_save.push({
1358
+ left: colLocationByIndex(0, ctx.visibledatacolumn)[0],
1359
+ width: colLocationByIndex(0, ctx.visibledatacolumn)[1] - colLocationByIndex(0, ctx.visibledatacolumn)[0] - 1,
1360
+ top: top,
1361
+ height: height,
1362
+ left_move: col_pre,
1363
+ width_move: col - col_pre - 1,
1364
+ top_move: top,
1365
+ height_move: height,
1366
+ row: rowseleted,
1367
+ column: [0, col_index],
1368
+ row_focus: row_index,
1369
+ column_focus: 0,
1370
+ row_select: true
1371
+ });
1372
+ ctx.luckysheet_select_status = true;
1373
+ ctx.luckysheet_scroll_status = true;
1374
+ }
1375
+ }
1376
+ }
1377
+ export function handleColumnHeaderMouseDown(ctx, globalCache, e, container, cellInput, fxInput) {
1378
+ var _a, _b;
1379
+ var _c, _d, _e, _f, _g, _h, _j, _k;
1380
+ if (!checkProtectionAllSelected(ctx, ctx.currentSheetId)) {
1381
+ return;
1382
+ }
1383
+ removeEditingComment(ctx, globalCache);
1384
+ cancelActiveImgItem(ctx, globalCache);
1385
+ var rect = container.getBoundingClientRect();
1386
+ var mouseX = e.pageX - rect.left - window.scrollX;
1387
+ var _x = mouseX + ctx.scrollLeft;
1388
+ var freeze = (_c = globalCache.freezen) === null || _c === void 0 ? void 0 : _c[ctx.currentSheetId];
1389
+ var x = fixPositionOnFrozenCells(freeze, _x, 0, mouseX, 0).x;
1390
+ var row_index = ctx.visibledatarow.length - 1;
1391
+ var row = ctx.visibledatarow[row_index];
1392
+ var row_pre = 0;
1393
+ var col_location = colLocation(x, ctx.visibledatacolumn);
1394
+ var col = col_location[1];
1395
+ var col_pre = col_location[0];
1396
+ var col_index = col_location[2];
1397
+ ctx.orderbyindex = col_index;
1398
+ if (e.button === 2) {
1399
+ var flowdata_2 = getFlowdata(ctx);
1400
+ var isInSelection = _.some(ctx.luckysheet_select_save, function (obj_s) {
1401
+ var _a;
1402
+ return obj_s.column != null && col_index >= obj_s.column[0] && col_index <= obj_s.column[1] && obj_s.row[0] === 0 && obj_s.row[1] === ((_a = flowdata_2 === null || flowdata_2 === void 0 ? void 0 : flowdata_2.length) !== null && _a !== void 0 ? _a : 0) - 1;
1403
+ });
1404
+ if (isInSelection) return;
1405
+ }
1406
+ var left = col_pre;
1407
+ var width = col - col_pre - 1;
1408
+ var columnseleted = [col_index, col_index];
1409
+ ctx.luckysheet_scroll_status = true;
1410
+ if (!_.isEmpty(ctx.luckysheetCellUpdate)) {
1411
+ if (ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start || israngeseleciton(ctx)) {
1412
+ var changeparam = mergeMoveMain(ctx, columnseleted, [0, row_index], {
1413
+ row_focus: 0,
1414
+ column_focus: col_index
1415
+ }, row_pre, row, left, width);
1416
+ if (changeparam != null) {
1417
+ _a = [changeparam[0], changeparam[4], changeparam[5]], columnseleted = _a[0], left = _a[1], width = _a[2];
1418
+ }
1419
+ if (e.shiftKey) {
1420
+ var last = ctx.formulaCache.func_selectedrange;
1421
+ left = 0;
1422
+ width = 0;
1423
+ columnseleted = [];
1424
+ if (last == null || last.width == null || last.height == null || last.left == null || last.column_focus == null) return;
1425
+ if (last.left > col_pre) {
1426
+ left = col_pre;
1427
+ width = last.left + last.width - col_pre;
1428
+ if (last.column[1] > last.column_focus) {
1429
+ last.column[1] = last.column_focus;
1430
+ }
1431
+ columnseleted = [col_index, last.column[1]];
1432
+ } else if (last.left === col_pre) {
1433
+ left = col_pre;
1434
+ width = last.left + last.width - col_pre;
1435
+ columnseleted = [col_index, last.column[0]];
1436
+ } else {
1437
+ left = last.left;
1438
+ width = col - last.left - 1;
1439
+ if (last.column[0] < last.column_focus) {
1440
+ last.column[0] = last.column_focus;
1441
+ }
1442
+ columnseleted = [last.column[0], col_index];
1443
+ }
1444
+ changeparam = mergeMoveMain(ctx, columnseleted, [0, row_index], {
1445
+ row_focus: 0,
1446
+ column_focus: col_index
1447
+ }, row_pre, row, left, width);
1448
+ if (changeparam != null) {
1449
+ _b = [changeparam[0], changeparam[4], changeparam[5]], columnseleted = _b[0], left = _b[1], width = _b[2];
1450
+ }
1451
+ last.column = columnseleted;
1452
+ last.left_move = left;
1453
+ last.width_move = width;
1454
+ ctx.formulaCache.func_selectedrange = last;
1455
+ } else if (e.ctrlKey && ((_d = _.last(cellInput.querySelectorAll("span"))) === null || _d === void 0 ? void 0 : _d.innerText) !== ",") {
1456
+ var vText = "".concat(cellInput.innerText, ",");
1457
+ if (vText.length > 0 && vText.substring(0, 1) === "=") {
1458
+ vText = functionHTMLGenerate(vText);
1459
+ if (window.getSelection) {
1460
+ var currSelection = window.getSelection();
1461
+ if (currSelection == null) return;
1462
+ ctx.formulaCache.functionRangeIndex = [_.indexOf((_g = (_f = (_e = currSelection.anchorNode) === null || _e === void 0 ? void 0 : _e.parentNode) === null || _f === void 0 ? void 0 : _f.parentNode) === null || _g === void 0 ? void 0 : _g.childNodes, (_h = currSelection.anchorNode) === null || _h === void 0 ? void 0 : _h.parentNode), currSelection.anchorOffset];
1463
+ } else {
1464
+ var textRange = document.selection.createRange();
1465
+ ctx.formulaCache.functionRangeIndex = textRange;
1466
+ }
1467
+ cellInput.innerHTML = vText;
1468
+ cancelFunctionrangeSelected(ctx);
1469
+ createRangeHightlight(ctx, vText);
1470
+ }
1471
+ ctx.formulaCache.rangestart = false;
1472
+ ctx.formulaCache.rangedrag_column_start = false;
1473
+ ctx.formulaCache.rangedrag_row_start = false;
1474
+ if (fxInput) {
1475
+ fxInput.innerHTML = vText;
1476
+ }
1477
+ rangeHightlightselected(ctx, cellInput);
1478
+ israngeseleciton(ctx);
1479
+ ctx.formulaCache.func_selectedrange = {
1480
+ left: left,
1481
+ width: width,
1482
+ top: rowLocationByIndex(0, ctx.visibledatarow)[0],
1483
+ height: rowLocationByIndex(0, ctx.visibledatarow)[1] - rowLocationByIndex(0, ctx.visibledatarow)[0] - 1,
1484
+ left_move: left,
1485
+ width_move: width,
1486
+ top_move: row_pre,
1487
+ height_move: row - row_pre - 1,
1488
+ row: [0, row_index],
1489
+ column: columnseleted,
1490
+ row_focus: 0,
1491
+ column_focus: col_index
1492
+ };
1493
+ } else {
1494
+ ctx.formulaCache.func_selectedrange = {
1495
+ left: left,
1496
+ width: width,
1497
+ top: rowLocationByIndex(0, ctx.visibledatarow)[0],
1498
+ height: rowLocationByIndex(0, ctx.visibledatarow)[1] - rowLocationByIndex(0, ctx.visibledatarow)[0] - 1,
1499
+ left_move: left,
1500
+ width_move: width,
1501
+ top_move: row_pre,
1502
+ height_move: row - row_pre - 1,
1503
+ row: [0, row_index],
1504
+ column: columnseleted,
1505
+ row_focus: 0,
1506
+ column_focus: col_index
1507
+ };
1508
+ }
1509
+ if (ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start || israngeseleciton(ctx)) {
1510
+ rangeSetValue(ctx, cellInput, {
1511
+ row: [null, null],
1512
+ column: columnseleted
1513
+ }, fxInput);
1514
+ }
1515
+ ctx.formulaCache.rangedrag_column_start = true;
1516
+ ctx.formulaCache.rangestart = false;
1517
+ ctx.formulaCache.rangedrag_row_start = false;
1518
+ ctx.formulaCache.selectingRangeIndex = ctx.formulaCache.rangechangeindex;
1519
+ if (ctx.formulaCache.rangechangeindex > ctx.formulaRangeHighlight.length) {
1520
+ createRangeHightlight(ctx, cellInput.innerHTML, ctx.formulaCache.rangechangeindex);
1521
+ }
1522
+ createFormulaRangeSelect(ctx, {
1523
+ rangeIndex: ctx.formulaCache.rangechangeindex || 0,
1524
+ left: left,
1525
+ top: row_pre,
1526
+ width: width,
1527
+ height: row - row_pre - 1
1528
+ });
1529
+ e.preventDefault();
1530
+ return;
1531
+ }
1532
+ updateCell(ctx, ctx.luckysheetCellUpdate[0], ctx.luckysheetCellUpdate[1], cellInput);
1533
+ ctx.luckysheet_cols_selected_status = true;
1534
+ } else {
1535
+ ctx.luckysheet_cols_selected_status = true;
1536
+ }
1537
+ if (ctx.luckysheet_cols_selected_status) {
1538
+ if (e.shiftKey) {
1539
+ var last = _.cloneDeep((_j = ctx.luckysheet_select_save) === null || _j === void 0 ? void 0 : _j[ctx.luckysheet_select_save.length - 1]);
1540
+ var _left = 0;
1541
+ var _width = 0;
1542
+ var _columnseleted = [];
1543
+ if (!last || _.isNil(last.left) || _.isNil(last.width) || _.isNil(last.column_focus)) {
1544
+ return;
1545
+ }
1546
+ if (last.left > col_pre) {
1547
+ _left = col_pre;
1548
+ _width = last.left + last.width - col_pre;
1549
+ if (last.column[1] > last.column_focus) {
1550
+ last.column[1] = last.column_focus;
1551
+ }
1552
+ _columnseleted = [col_index, last.column[1]];
1553
+ } else if (last.left === col_pre) {
1554
+ _left = col_pre;
1555
+ _width = last.left + last.width - col_pre;
1556
+ _columnseleted = [col_index, last.column[0]];
1557
+ } else {
1558
+ _left = last.left;
1559
+ _width = col - last.left - 1;
1560
+ if (last.column[0] < last.column_focus) {
1561
+ last.column[0] = last.column_focus;
1562
+ }
1563
+ _columnseleted = [last.column[0], col_index];
1564
+ }
1565
+ last.column = _columnseleted;
1566
+ last.left_move = _left;
1567
+ last.width_move = _width;
1568
+ ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1] = last;
1569
+ } else if (e.ctrlKey || e.metaKey) {
1570
+ (_k = ctx.luckysheet_select_save) === null || _k === void 0 ? void 0 : _k.push({
1571
+ left: left,
1572
+ width: width,
1573
+ top: rowLocationByIndex(0, ctx.visibledatarow)[0],
1574
+ height: rowLocationByIndex(0, ctx.visibledatarow)[1] - rowLocationByIndex(0, ctx.visibledatarow)[0] - 1,
1575
+ left_move: left,
1576
+ width_move: width,
1577
+ top_move: row_pre,
1578
+ height_move: row - row_pre - 1,
1579
+ row: [0, row_index],
1580
+ column: columnseleted,
1581
+ row_focus: 0,
1582
+ column_focus: col_index,
1583
+ column_select: true
1584
+ });
1585
+ } else {
1586
+ ctx.luckysheet_select_save = [];
1587
+ ctx.luckysheet_select_save.push({
1588
+ left: left,
1589
+ width: width,
1590
+ top: rowLocationByIndex(0, ctx.visibledatarow)[0],
1591
+ height: rowLocationByIndex(0, ctx.visibledatarow)[1] - rowLocationByIndex(0, ctx.visibledatarow)[0] - 1,
1592
+ left_move: left,
1593
+ width_move: width,
1594
+ top_move: row_pre,
1595
+ height_move: row - row_pre - 1,
1596
+ row: [0, row_index],
1597
+ column: columnseleted,
1598
+ row_focus: 0,
1599
+ column_focus: col_index,
1600
+ column_select: true
1601
+ });
1602
+ ctx.luckysheet_select_status = true;
1603
+ ctx.luckysheet_scroll_status = true;
1604
+ }
1605
+ }
1606
+ }
1607
+ export function handleColSizeHandleMouseDown(ctx, globalCache, e, headerContainer, workbookContainer, cellArea) {
1608
+ var _a;
1609
+ removeEditingComment(ctx, globalCache);
1610
+ cancelActiveImgItem(ctx, globalCache);
1611
+ ctx.luckysheetCellUpdate = [];
1612
+ var scrollLeft = ctx.scrollLeft;
1613
+ var scrollTop = ctx.scrollTop;
1614
+ var mouseX = e.pageX - headerContainer.getBoundingClientRect().left - window.scrollX;
1615
+ var _x = mouseX + scrollLeft;
1616
+ var freeze = (_a = globalCache.freezen) === null || _a === void 0 ? void 0 : _a[ctx.currentSheetId];
1617
+ var x = fixPositionOnFrozenCells(freeze, _x, 0, mouseX, 0).x;
1618
+ var col_location = colLocation(x, ctx.visibledatacolumn);
1619
+ var col = col_location[1];
1620
+ var col_index = col_location[2];
1621
+ ctx.luckysheet_cols_change_size = true;
1622
+ ctx.luckysheet_scroll_status = true;
1623
+ var changeSizeLine = workbookContainer.querySelector(".fortune-change-size-line");
1624
+ if (changeSizeLine) {
1625
+ var ele = changeSizeLine;
1626
+ ele.style.height = "".concat(cellArea.getBoundingClientRect().height + scrollTop, "px");
1627
+ ele.style.borderWidth = "0 1px 0 0";
1628
+ ele.style.top = "0";
1629
+ ele.style.left = "".concat(col - 3, "px");
1630
+ ele.style.width = "1px";
1631
+ }
1632
+ ctx.luckysheet_cols_change_size_start = [_x, col_index];
1633
+ e.stopPropagation();
1634
+ }
1635
+ export function handleRowSizeHandleMouseDown(ctx, globalCache, e, headerContainer, workbookContainer, cellArea) {
1636
+ var _a;
1637
+ removeEditingComment(ctx, globalCache);
1638
+ cancelActiveImgItem(ctx, globalCache);
1639
+ if (ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start || israngeseleciton(ctx)) return;
1640
+ ctx.luckysheetCellUpdate = [];
1641
+ var scrollLeft = ctx.scrollLeft;
1642
+ var scrollTop = ctx.scrollTop;
1643
+ var mouseY = e.pageY - headerContainer.getBoundingClientRect().top - window.scrollY;
1644
+ var _y = mouseY + scrollTop;
1645
+ var freeze = (_a = globalCache.freezen) === null || _a === void 0 ? void 0 : _a[ctx.currentSheetId];
1646
+ var y = fixPositionOnFrozenCells(freeze, 0, _y, 0, mouseY).y;
1647
+ var row_location = rowLocation(y, ctx.visibledatarow);
1648
+ var row = row_location[1];
1649
+ var row_index = row_location[2];
1650
+ ctx.luckysheet_rows_change_size = true;
1651
+ ctx.luckysheet_scroll_status = true;
1652
+ var changeSizeLine = workbookContainer.querySelector(".fortune-change-size-line");
1653
+ if (changeSizeLine) {
1654
+ var ele = changeSizeLine;
1655
+ ele.style.width = "".concat(cellArea.getBoundingClientRect().width + scrollLeft, "px");
1656
+ ele.style.borderWidth = "0 0 1px 0";
1657
+ ele.style.top = "".concat(row - 3, "px");
1658
+ ele.style.left = "0";
1659
+ ele.style.height = "1px";
1660
+ }
1661
+ ctx.luckysheet_rows_change_size_start = [_y, row_index];
1662
+ e.stopPropagation();
1663
+ }
1664
+ export function handleColFreezeHandleMouseDown(ctx, globalCache, e, headerContainer, workbookContainer, cellArea) {
1665
+ removeEditingComment(ctx, globalCache);
1666
+ cancelActiveImgItem(ctx, globalCache);
1667
+ ctx.luckysheetCellUpdate = [];
1668
+ var scrollLeft = ctx.scrollLeft;
1669
+ var scrollTop = ctx.scrollTop;
1670
+ var x = e.pageX - headerContainer.getBoundingClientRect().left + scrollLeft;
1671
+ var col_location = colLocation(x, ctx.visibledatacolumn);
1672
+ var col = col_location[1];
1673
+ ctx.luckysheet_cols_freeze_drag = true;
1674
+ ctx.luckysheet_scroll_status = true;
1675
+ var freezeDragLine = workbookContainer.querySelector(".fortune-freeze-drag-line");
1676
+ if (freezeDragLine) {
1677
+ var ele = freezeDragLine;
1678
+ ele.style.height = "".concat(cellArea.getBoundingClientRect().height + scrollTop, "px");
1679
+ ele.style.borderWidth = "0 3px 0 0";
1680
+ ele.style.top = "0";
1681
+ ele.style.left = "".concat(col - 3, "px");
1682
+ ele.style.width = "1px";
1683
+ }
1684
+ var changeSizeLine = workbookContainer.querySelector(".fortune-change-size-line");
1685
+ if (changeSizeLine) {
1686
+ var ele = changeSizeLine;
1687
+ ele.style.height = "".concat(cellArea.getBoundingClientRect().height + scrollTop, "px");
1688
+ ele.style.borderWidth = "0 1px 0 0";
1689
+ ele.style.top = "0";
1690
+ ele.style.left = "".concat(col - 3, "px");
1691
+ ele.style.width = "1px";
1692
+ }
1693
+ e.stopPropagation();
1694
+ }
1695
+ export function handleRowFreezeHandleMouseDown(ctx, globalCache, e, headerContainer, workbookContainer, cellArea) {
1696
+ removeEditingComment(ctx, globalCache);
1697
+ cancelActiveImgItem(ctx, globalCache);
1698
+ ctx.luckysheetCellUpdate = [];
1699
+ var scrollLeft = ctx.scrollLeft;
1700
+ var scrollTop = ctx.scrollTop;
1701
+ var y = e.pageY - headerContainer.getBoundingClientRect().top + scrollTop;
1702
+ var row_location = rowLocation(y, ctx.visibledatarow);
1703
+ var row = row_location[1];
1704
+ ctx.luckysheet_rows_freeze_drag = true;
1705
+ ctx.luckysheet_scroll_status = true;
1706
+ var freezeDragLine = workbookContainer.querySelector(".fortune-freeze-drag-line");
1707
+ if (freezeDragLine) {
1708
+ var ele = freezeDragLine;
1709
+ ele.style.width = "".concat(cellArea.getBoundingClientRect().width + scrollLeft, "px");
1710
+ ele.style.borderWidth = "0 0 3px 0";
1711
+ ele.style.top = "".concat(row - 3, "px");
1712
+ ele.style.left = "0";
1713
+ ele.style.height = "1px";
1714
+ }
1715
+ var changeSizeLine = workbookContainer.querySelector(".fortune-change-size-line");
1716
+ if (changeSizeLine) {
1717
+ var ele = changeSizeLine;
1718
+ ele.style.width = "".concat(cellArea.getBoundingClientRect().width + scrollLeft, "px");
1719
+ ele.style.borderWidth = "0 0 1px 0";
1720
+ ele.style.top = "".concat(row - 3, "px");
1721
+ ele.style.left = "0";
1722
+ ele.style.height = "1px";
1723
+ }
1724
+ e.stopPropagation();
1725
+ }