@fileverse-dev/fortune-core 1.0.26 → 2.0.0

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/index.esm.js +80254 -0
  2. package/dist/index.js +80600 -0
  3. package/{es → dist/packages/core/src}/api/cell.d.ts +10 -10
  4. package/{lib → dist/packages/core/src}/api/common.d.ts +66 -71
  5. package/{es → dist/packages/core/src}/api/errors.d.ts +2 -2
  6. package/{es → dist/packages/core/src}/api/index.d.ts +9 -9
  7. package/{es → dist/packages/core/src}/api/merge.d.ts +5 -5
  8. package/{lib → dist/packages/core/src}/api/range.d.ts +22 -22
  9. package/{lib → dist/packages/core/src}/api/rowcol.d.ts +14 -14
  10. package/{lib → dist/packages/core/src}/api/sheet.d.ts +10 -10
  11. package/{lib → dist/packages/core/src}/api/workbook.d.ts +15 -15
  12. package/{lib → dist/packages/core/src}/canvas.d.ts +46 -46
  13. package/{es → dist/packages/core/src}/context.d.ts +197 -198
  14. package/{es → dist/packages/core/src}/events/copy.d.ts +2 -2
  15. package/{lib → dist/packages/core/src}/events/index.d.ts +4 -4
  16. package/{lib → dist/packages/core/src}/events/keyboard.d.ts +6 -6
  17. package/{es → dist/packages/core/src}/events/mouse.d.ts +22 -22
  18. package/{es → dist/packages/core/src}/events/paste.d.ts +3 -3
  19. package/{lib → dist/packages/core/src}/index.d.ts +10 -10
  20. package/{lib → dist/packages/core/src}/locale/en.d.ts +992 -992
  21. package/{lib → dist/packages/core/src}/locale/es.d.ts +1134 -1134
  22. package/{lib → dist/packages/core/src}/locale/hi.d.ts +1030 -1030
  23. package/{lib → dist/packages/core/src}/locale/index.d.ts +1049 -1049
  24. package/{es → dist/packages/core/src}/locale/zh.d.ts +1048 -1048
  25. package/{lib → dist/packages/core/src}/locale/zh_tw.d.ts +1187 -1187
  26. package/{lib → dist/packages/core/src}/modules/ConditionFormat.d.ts +17 -17
  27. package/{lib → dist/packages/core/src}/modules/border.d.ts +3 -3
  28. package/{lib → dist/packages/core/src}/modules/cell.d.ts +32 -32
  29. package/{es → dist/packages/core/src}/modules/clipboard.d.ts +3 -3
  30. package/{es → dist/packages/core/src}/modules/color.d.ts +1 -1
  31. package/{lib → dist/packages/core/src}/modules/comment.d.ts +97 -97
  32. package/{es → dist/packages/core/src}/modules/conditionalFormat.d.ts +2 -2
  33. package/{es → dist/packages/core/src}/modules/cursor.d.ts +3 -3
  34. package/{es → dist/packages/core/src}/modules/dataVerification.d.ts +11 -11
  35. package/{es → dist/packages/core/src}/modules/dropCell.d.ts +10 -10
  36. package/{lib → dist/packages/core/src}/modules/filter.d.ts +45 -45
  37. package/{es → dist/packages/core/src}/modules/format.d.ts +6 -6
  38. package/{lib → dist/packages/core/src}/modules/formula.d.ts +54 -54
  39. package/{es → dist/packages/core/src}/modules/freeze.d.ts +5 -5
  40. package/{es → dist/packages/core/src}/modules/hyperlink.d.ts +21 -21
  41. package/{lib → dist/packages/core/src}/modules/iframe.d.ts +12 -12
  42. package/{es → dist/packages/core/src}/modules/image.d.ts +31 -31
  43. package/{es → dist/packages/core/src}/modules/index.d.ts +36 -36
  44. package/{lib → dist/packages/core/src}/modules/inline-string.d.ts +36 -36
  45. package/{es → dist/packages/core/src}/modules/location.d.ts +6 -6
  46. package/{es → dist/packages/core/src}/modules/locationCondition.d.ts +21 -21
  47. package/{es → dist/packages/core/src}/modules/merge.d.ts +3 -3
  48. package/{es → dist/packages/core/src}/modules/mobile.d.ts +5 -5
  49. package/{lib → dist/packages/core/src}/modules/moveCells.d.ts +5 -5
  50. package/{lib → dist/packages/core/src}/modules/protection.d.ts +5 -5
  51. package/{lib → dist/packages/core/src}/modules/refresh.d.ts +3 -3
  52. package/{es → dist/packages/core/src}/modules/rowcol.d.ts +19 -19
  53. package/{lib → dist/packages/core/src}/modules/screenshot.d.ts +2 -2
  54. package/{es → dist/packages/core/src}/modules/searchReplace.d.ts +36 -36
  55. package/{lib → dist/packages/core/src}/modules/selection.d.ts +46 -46
  56. package/{es → dist/packages/core/src}/modules/sheet.d.ts +10 -10
  57. package/{es → dist/packages/core/src}/modules/sort.d.ts +7 -7
  58. package/{es → dist/packages/core/src}/modules/splitColumn.d.ts +5 -5
  59. package/{es → dist/packages/core/src}/modules/text.d.ts +10 -10
  60. package/{lib → dist/packages/core/src}/modules/toolbar.d.ts +32 -32
  61. package/{es → dist/packages/core/src}/modules/validation.d.ts +19 -19
  62. package/{es → dist/packages/core/src}/modules/zoom.d.ts +3 -3
  63. package/{es → dist/packages/core/src}/settings.d.ts +100 -100
  64. package/{es → dist/packages/core/src}/types.d.ts +371 -376
  65. package/{es → dist/packages/core/src}/utils/freeze.d.ts +7 -7
  66. package/{es → dist/packages/core/src}/utils/index.d.ts +18 -19
  67. package/{lib → dist/packages/core/src}/utils/patch.d.ts +37 -37
  68. package/dist/packages/react/src/components/ChangeColor/index.d.ts +7 -0
  69. package/dist/packages/react/src/components/ConditionFormat/ConditionRules.d.ts +6 -0
  70. package/dist/packages/react/src/components/ConditionFormat/index.d.ts +7 -0
  71. package/dist/packages/react/src/components/ContextMenu/Divider.d.ts +3 -0
  72. package/dist/packages/react/src/components/ContextMenu/FilterMenu.d.ts +3 -0
  73. package/dist/packages/react/src/components/ContextMenu/Menu.d.ts +8 -0
  74. package/dist/packages/react/src/components/ContextMenu/SheetTab.d.ts +4 -0
  75. package/dist/packages/react/src/components/ContextMenu/index.d.ts +5 -0
  76. package/dist/packages/react/src/components/CustomSort/index.d.ts +4 -0
  77. package/dist/packages/react/src/components/DataVerification/DropdownList.d.ts +4 -0
  78. package/dist/packages/react/src/components/DataVerification/RangeDialog.d.ts +4 -0
  79. package/dist/packages/react/src/components/DataVerification/getDisplayedRangeTxt.d.ts +2 -0
  80. package/dist/packages/react/src/components/DataVerification/index.d.ts +4 -0
  81. package/dist/packages/react/src/components/Dialog/index.d.ts +15 -0
  82. package/dist/packages/react/src/components/DuneChartsInputModal/DuneChartsInputModal.d.ts +11 -0
  83. package/dist/packages/react/src/components/DunePreview/DunePreview.d.ts +13 -0
  84. package/dist/packages/react/src/components/FilterOption/index.d.ts +5 -0
  85. package/dist/packages/react/src/components/FormatSearch/index.d.ts +6 -0
  86. package/dist/packages/react/src/components/FormulaSearch/index.d.ts +5 -0
  87. package/dist/packages/react/src/components/FxEditor/NameBox.d.ts +3 -0
  88. package/dist/packages/react/src/components/FxEditor/index.d.ts +4 -0
  89. package/dist/packages/react/src/components/IFrameBoxs/iFrameBoxs.d.ts +4 -0
  90. package/dist/packages/react/src/components/ImgBoxs/index.d.ts +3 -0
  91. package/dist/packages/react/src/components/LinkEidtCard/index.d.ts +5 -0
  92. package/dist/packages/react/src/components/LocationCondition/index.d.ts +3 -0
  93. package/dist/packages/react/src/components/MessageBox/index.d.ts +9 -0
  94. package/dist/packages/react/src/components/NotationBoxes/index.d.ts +3 -0
  95. package/dist/packages/react/src/components/ResetColumnWidth/index.d.ts +2 -0
  96. package/dist/packages/react/src/components/SVGDefines.d.ts +5 -0
  97. package/dist/packages/react/src/components/SVGIcon.d.ts +9 -0
  98. package/dist/packages/react/src/components/SearchReplace/index.d.ts +6 -0
  99. package/dist/packages/react/src/components/Sheet/index.d.ts +8 -0
  100. package/dist/packages/react/src/components/SheetList/SheetHiddenButton.d.ts +8 -0
  101. package/dist/packages/react/src/components/SheetList/SheetListItem.d.ts +9 -0
  102. package/dist/packages/react/src/components/SheetList/index.d.ts +4 -0
  103. package/dist/packages/react/src/components/SheetOverlay/ColumnHeader.d.ts +3 -0
  104. package/dist/packages/react/src/components/SheetOverlay/ContentEditable.d.ts +11 -0
  105. package/dist/packages/react/src/components/SheetOverlay/FormulaHint/index.d.ts +4 -0
  106. package/dist/packages/react/src/components/SheetOverlay/FormulaSearch/constant.d.ts +63 -0
  107. package/dist/packages/react/src/components/SheetOverlay/FormulaSearch/index.d.ts +4 -0
  108. package/dist/packages/react/src/components/SheetOverlay/InputBox.d.ts +3 -0
  109. package/dist/packages/react/src/components/SheetOverlay/RowHeader.d.ts +3 -0
  110. package/dist/packages/react/src/components/SheetOverlay/ScrollBar/index.d.ts +7 -0
  111. package/dist/packages/react/src/components/SheetOverlay/index.d.ts +4 -0
  112. package/dist/packages/react/src/components/SheetTab/SheetItem.d.ts +8 -0
  113. package/dist/packages/react/src/components/SheetTab/index.d.ts +4 -0
  114. package/dist/packages/react/src/components/SplitColumn/index.d.ts +3 -0
  115. package/dist/packages/react/src/components/Toolbar/Button.d.ts +12 -0
  116. package/dist/packages/react/src/components/Toolbar/ColorPicker.d.ts +6 -0
  117. package/dist/packages/react/src/components/Toolbar/Combo.d.ts +12 -0
  118. package/dist/packages/react/src/components/Toolbar/CustomBorder.d.ts +7 -0
  119. package/dist/packages/react/src/components/Toolbar/CustomButton.d.ts +11 -0
  120. package/dist/packages/react/src/components/Toolbar/CustomColor.d.ts +8 -0
  121. package/dist/packages/react/src/components/Toolbar/CustomIcon.d.ts +9 -0
  122. package/dist/packages/react/src/components/Toolbar/Divider.d.ts +4 -0
  123. package/dist/packages/react/src/components/Toolbar/MoreItemsContainer.d.ts +6 -0
  124. package/dist/packages/react/src/components/Toolbar/Select.d.ts +14 -0
  125. package/dist/packages/react/src/components/Toolbar/index.d.ts +10 -0
  126. package/dist/packages/react/src/components/Workbook/api.d.ts +1177 -0
  127. package/dist/packages/react/src/components/Workbook/index.d.ts +1185 -0
  128. package/dist/packages/react/src/components/ZoomControl/index.d.ts +4 -0
  129. package/dist/packages/react/src/components/index.d.ts +4 -0
  130. package/dist/packages/react/src/constants.d.ts +1 -0
  131. package/dist/packages/react/src/context/index.d.ts +25 -0
  132. package/dist/packages/react/src/context/modal.d.ts +10 -0
  133. package/dist/packages/react/src/hooks/useAlert.d.ts +4 -0
  134. package/dist/packages/react/src/hooks/useDialog.d.ts +5 -0
  135. package/dist/packages/react/src/hooks/useOutsideClick.d.ts +2 -0
  136. package/dist/packages/react/src/hooks/usePrevious.d.ts +2 -0
  137. package/dist/packages/react/src/index.d.ts +1 -0
  138. package/dist/packages/react/src/utils/datepickerStyles.d.ts +2 -0
  139. package/dist/stories/API.stories.d.ts +1210 -0
  140. package/dist/stories/Collabration.stories.d.ts +2359 -0
  141. package/dist/stories/Features.stories.d.ts +9430 -0
  142. package/dist/stories/data/cell.d.ts +983 -0
  143. package/dist/stories/data/dataVerification.d.ts +131 -0
  144. package/dist/stories/data/empty.d.ts +10 -0
  145. package/dist/stories/data/formula.d.ts +362 -0
  146. package/dist/stories/data/freeze.d.ts +34 -0
  147. package/dist/stories/data/protected.d.ts +40 -0
  148. package/dist/stories/utils.d.ts +1 -0
  149. package/package.json +6 -7
  150. package/es/api/cell.js +0 -204
  151. package/es/api/common.d.ts +0 -71
  152. package/es/api/common.js +0 -79
  153. package/es/api/errors.js +0 -2
  154. package/es/api/index.js +0 -8
  155. package/es/api/merge.js +0 -15
  156. package/es/api/range.d.ts +0 -22
  157. package/es/api/range.js +0 -123
  158. package/es/api/rowcol.d.ts +0 -14
  159. package/es/api/rowcol.js +0 -207
  160. package/es/api/sheet.d.ts +0 -10
  161. package/es/api/sheet.js +0 -128
  162. package/es/api/workbook.d.ts +0 -15
  163. package/es/api/workbook.js +0 -85
  164. package/es/canvas.d.ts +0 -46
  165. package/es/canvas.js +0 -1350
  166. package/es/context.js +0 -381
  167. package/es/events/copy.js +0 -78
  168. package/es/events/index.d.ts +0 -4
  169. package/es/events/index.js +0 -4
  170. package/es/events/keyboard.d.ts +0 -6
  171. package/es/events/keyboard.js +0 -332
  172. package/es/events/mouse.js +0 -1725
  173. package/es/events/paste.js +0 -1378
  174. package/es/index.d.ts +0 -10
  175. package/es/index.js +0 -10
  176. package/es/locale/en.d.ts +0 -992
  177. package/es/locale/en.js +0 -10564
  178. package/es/locale/es.d.ts +0 -1134
  179. package/es/locale/es.js +0 -10010
  180. package/es/locale/hi.d.ts +0 -1030
  181. package/es/locale/hi.js +0 -10550
  182. package/es/locale/index.d.ts +0 -1049
  183. package/es/locale/index.js +0 -23
  184. package/es/locale/zh.js +0 -10568
  185. package/es/locale/zh_tw.d.ts +0 -1187
  186. package/es/locale/zh_tw.js +0 -10072
  187. package/es/modules/ConditionFormat.d.ts +0 -17
  188. package/es/modules/ConditionFormat.js +0 -1258
  189. package/es/modules/border.d.ts +0 -3
  190. package/es/modules/border.js +0 -1240
  191. package/es/modules/cell.d.ts +0 -32
  192. package/es/modules/cell.js +0 -1055
  193. package/es/modules/clipboard.js +0 -36
  194. package/es/modules/color.js +0 -1
  195. package/es/modules/comment.d.ts +0 -97
  196. package/es/modules/comment.js +0 -597
  197. package/es/modules/conditionalFormat.js +0 -441
  198. package/es/modules/cursor.js +0 -62
  199. package/es/modules/dataVerification.js +0 -701
  200. package/es/modules/dropCell.js +0 -2267
  201. package/es/modules/filter.d.ts +0 -45
  202. package/es/modules/filter.js +0 -434
  203. package/es/modules/format.js +0 -323
  204. package/es/modules/formula.d.ts +0 -54
  205. package/es/modules/formula.js +0 -2301
  206. package/es/modules/freeze.js +0 -148
  207. package/es/modules/hyperlink.js +0 -216
  208. package/es/modules/iframe.d.ts +0 -12
  209. package/es/modules/iframe.js +0 -220
  210. package/es/modules/image.js +0 -253
  211. package/es/modules/index.js +0 -36
  212. package/es/modules/inline-string.d.ts +0 -36
  213. package/es/modules/inline-string.js +0 -437
  214. package/es/modules/location.js +0 -46
  215. package/es/modules/locationCondition.js +0 -218
  216. package/es/modules/merge.js +0 -216
  217. package/es/modules/mobile.js +0 -33
  218. package/es/modules/moveCells.d.ts +0 -5
  219. package/es/modules/moveCells.js +0 -348
  220. package/es/modules/protection.d.ts +0 -5
  221. package/es/modules/protection.js +0 -96
  222. package/es/modules/refresh.d.ts +0 -3
  223. package/es/modules/refresh.js +0 -34
  224. package/es/modules/rowcol.js +0 -1922
  225. package/es/modules/screenshot.d.ts +0 -2
  226. package/es/modules/screenshot.js +0 -90
  227. package/es/modules/searchReplace.js +0 -388
  228. package/es/modules/selection.d.ts +0 -46
  229. package/es/modules/selection.js +0 -1674
  230. package/es/modules/sheet.js +0 -237
  231. package/es/modules/sort.js +0 -134
  232. package/es/modules/splitColumn.js +0 -126
  233. package/es/modules/ssf.js +0 -1533
  234. package/es/modules/text.js +0 -1207
  235. package/es/modules/toolbar.d.ts +0 -32
  236. package/es/modules/toolbar.js +0 -970
  237. package/es/modules/validation.js +0 -190
  238. package/es/modules/zoom.js +0 -29
  239. package/es/settings.js +0 -36
  240. package/es/types.js +0 -1
  241. package/es/utils/freeze.js +0 -86
  242. package/es/utils/index.js +0 -198
  243. package/es/utils/patch.d.ts +0 -37
  244. package/es/utils/patch.js +0 -381
  245. package/lib/api/cell.d.ts +0 -10
  246. package/lib/api/cell.js +0 -215
  247. package/lib/api/common.js +0 -88
  248. package/lib/api/errors.d.ts +0 -2
  249. package/lib/api/errors.js +0 -8
  250. package/lib/api/index.d.ts +0 -9
  251. package/lib/api/index.js +0 -101
  252. package/lib/api/merge.d.ts +0 -5
  253. package/lib/api/merge.js +0 -22
  254. package/lib/api/range.js +0 -138
  255. package/lib/api/rowcol.js +0 -222
  256. package/lib/api/sheet.js +0 -145
  257. package/lib/api/workbook.js +0 -98
  258. package/lib/canvas.js +0 -1356
  259. package/lib/context.d.ts +0 -198
  260. package/lib/context.js +0 -393
  261. package/lib/events/copy.d.ts +0 -2
  262. package/lib/events/copy.js +0 -85
  263. package/lib/events/index.js +0 -49
  264. package/lib/events/keyboard.js +0 -342
  265. package/lib/events/mouse.d.ts +0 -22
  266. package/lib/events/mouse.js +0 -1744
  267. package/lib/events/paste.d.ts +0 -3
  268. package/lib/events/paste.js +0 -1386
  269. package/lib/index.js +0 -109
  270. package/lib/locale/en.js +0 -10570
  271. package/lib/locale/es.js +0 -10016
  272. package/lib/locale/hi.js +0 -10556
  273. package/lib/locale/index.js +0 -29
  274. package/lib/locale/zh.d.ts +0 -1048
  275. package/lib/locale/zh.js +0 -10574
  276. package/lib/locale/zh_tw.js +0 -10078
  277. package/lib/modules/ConditionFormat.js +0 -1273
  278. package/lib/modules/border.js +0 -1248
  279. package/lib/modules/cell.js +0 -1085
  280. package/lib/modules/clipboard.d.ts +0 -3
  281. package/lib/modules/clipboard.js +0 -42
  282. package/lib/modules/color.d.ts +0 -1
  283. package/lib/modules/color.js +0 -7
  284. package/lib/modules/comment.js +0 -625
  285. package/lib/modules/conditionalFormat.d.ts +0 -2
  286. package/lib/modules/conditionalFormat.js +0 -447
  287. package/lib/modules/cursor.d.ts +0 -3
  288. package/lib/modules/cursor.js +0 -70
  289. package/lib/modules/dataVerification.d.ts +0 -11
  290. package/lib/modules/dataVerification.js +0 -716
  291. package/lib/modules/dropCell.d.ts +0 -10
  292. package/lib/modules/dropCell.js +0 -2283
  293. package/lib/modules/filter.js +0 -448
  294. package/lib/modules/format.d.ts +0 -6
  295. package/lib/modules/format.js +0 -334
  296. package/lib/modules/formula.js +0 -2330
  297. package/lib/modules/freeze.d.ts +0 -5
  298. package/lib/modules/freeze.js +0 -158
  299. package/lib/modules/hyperlink.d.ts +0 -21
  300. package/lib/modules/hyperlink.js +0 -232
  301. package/lib/modules/iframe.js +0 -236
  302. package/lib/modules/image.d.ts +0 -31
  303. package/lib/modules/image.js +0 -272
  304. package/lib/modules/index.d.ts +0 -36
  305. package/lib/modules/index.js +0 -401
  306. package/lib/modules/inline-string.js +0 -452
  307. package/lib/modules/location.d.ts +0 -6
  308. package/lib/modules/location.js +0 -57
  309. package/lib/modules/locationCondition.d.ts +0 -21
  310. package/lib/modules/locationCondition.js +0 -229
  311. package/lib/modules/merge.d.ts +0 -3
  312. package/lib/modules/merge.js +0 -223
  313. package/lib/modules/mobile.d.ts +0 -5
  314. package/lib/modules/mobile.js +0 -41
  315. package/lib/modules/moveCells.js +0 -357
  316. package/lib/modules/protection.js +0 -106
  317. package/lib/modules/refresh.js +0 -40
  318. package/lib/modules/rowcol.d.ts +0 -19
  319. package/lib/modules/rowcol.js +0 -1935
  320. package/lib/modules/screenshot.js +0 -96
  321. package/lib/modules/searchReplace.d.ts +0 -36
  322. package/lib/modules/searchReplace.js +0 -402
  323. package/lib/modules/selection.js +0 -1703
  324. package/lib/modules/sheet.d.ts +0 -10
  325. package/lib/modules/sheet.js +0 -250
  326. package/lib/modules/sort.d.ts +0 -7
  327. package/lib/modules/sort.js +0 -143
  328. package/lib/modules/splitColumn.d.ts +0 -5
  329. package/lib/modules/splitColumn.js +0 -136
  330. package/lib/modules/ssf.js +0 -1539
  331. package/lib/modules/text.d.ts +0 -10
  332. package/lib/modules/text.js +0 -1221
  333. package/lib/modules/toolbar.js +0 -1003
  334. package/lib/modules/validation.d.ts +0 -19
  335. package/lib/modules/validation.js +0 -205
  336. package/lib/modules/zoom.d.ts +0 -3
  337. package/lib/modules/zoom.js +0 -36
  338. package/lib/settings.d.ts +0 -100
  339. package/lib/settings.js +0 -42
  340. package/lib/types.d.ts +0 -376
  341. package/lib/types.js +0 -5
  342. package/lib/utils/freeze.d.ts +0 -7
  343. package/lib/utils/freeze.js +0 -92
  344. package/lib/utils/index.d.ts +0 -19
  345. package/lib/utils/index.js +0 -258
  346. package/lib/utils/patch.js +0 -392
@@ -1,1725 +0,0 @@
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
- }