@thienvu18/designable-core 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/esm/drivers/DragDropDriver.d.ts +12 -12
  2. package/esm/drivers/DragDropDriver.js +127 -105
  3. package/esm/drivers/KeyboardDriver.d.ts +5 -5
  4. package/esm/drivers/KeyboardDriver.js +41 -40
  5. package/esm/drivers/MouseClickDriver.d.ts +6 -6
  6. package/esm/drivers/MouseClickDriver.js +55 -47
  7. package/esm/drivers/MouseMoveDriver.d.ts +6 -6
  8. package/esm/drivers/MouseMoveDriver.js +30 -28
  9. package/esm/drivers/ViewportResizeDriver.d.ts +9 -9
  10. package/esm/drivers/ViewportResizeDriver.js +56 -59
  11. package/esm/drivers/ViewportScrollDriver.d.ts +6 -6
  12. package/esm/drivers/ViewportScrollDriver.js +29 -27
  13. package/esm/drivers/index.d.ts +6 -6
  14. package/esm/drivers/index.js +6 -6
  15. package/esm/effects/index.d.ts +11 -11
  16. package/esm/effects/index.js +11 -11
  17. package/esm/effects/useAutoScrollEffect.d.ts +2 -2
  18. package/esm/effects/useAutoScrollEffect.js +70 -59
  19. package/esm/effects/useContentEditableEffect.d.ts +2 -2
  20. package/esm/effects/useContentEditableEffect.js +174 -150
  21. package/esm/effects/useCursorEffect.d.ts +2 -2
  22. package/esm/effects/useCursorEffect.js +58 -54
  23. package/esm/effects/useDragDropEffect.d.ts +2 -2
  24. package/esm/effects/useDragDropEffect.js +170 -145
  25. package/esm/effects/useFreeSelectionEffect.d.ts +2 -2
  26. package/esm/effects/useFreeSelectionEffect.js +58 -36
  27. package/esm/effects/useKeyboardEffect.d.ts +2 -2
  28. package/esm/effects/useKeyboardEffect.js +16 -16
  29. package/esm/effects/useResizeEffect.d.ts +2 -2
  30. package/esm/effects/useResizeEffect.js +84 -73
  31. package/esm/effects/useSelectionEffect.d.ts +2 -2
  32. package/esm/effects/useSelectionEffect.js +62 -65
  33. package/esm/effects/useTranslateEffect.d.ts +2 -2
  34. package/esm/effects/useTranslateEffect.js +55 -52
  35. package/esm/effects/useViewportEffect.d.ts +2 -2
  36. package/esm/effects/useViewportEffect.js +26 -28
  37. package/esm/effects/useWorkspaceEffect.d.ts +2 -2
  38. package/esm/effects/useWorkspaceEffect.js +30 -27
  39. package/esm/events/cursor/AbstractCursorEvent.d.ts +15 -15
  40. package/esm/events/cursor/AbstractCursorEvent.js +35 -33
  41. package/esm/events/cursor/DragMoveEvent.d.ts +7 -4
  42. package/esm/events/cursor/DragMoveEvent.js +5 -5
  43. package/esm/events/cursor/DragStartEvent.d.ts +7 -4
  44. package/esm/events/cursor/DragStartEvent.js +5 -5
  45. package/esm/events/cursor/DragStopEvent.d.ts +7 -4
  46. package/esm/events/cursor/DragStopEvent.js +5 -5
  47. package/esm/events/cursor/MouseClickEvent.d.ts +12 -6
  48. package/esm/events/cursor/MouseClickEvent.js +9 -9
  49. package/esm/events/cursor/MouseMoveEvent.d.ts +7 -4
  50. package/esm/events/cursor/MouseMoveEvent.js +5 -5
  51. package/esm/events/cursor/index.d.ts +5 -5
  52. package/esm/events/cursor/index.js +5 -5
  53. package/esm/events/history/AbstractHistoryEvent.d.ts +4 -4
  54. package/esm/events/history/AbstractHistoryEvent.js +3 -3
  55. package/esm/events/history/HistoryGotoEvent.d.ts +7 -4
  56. package/esm/events/history/HistoryGotoEvent.js +5 -5
  57. package/esm/events/history/HistoryPushEvent.d.ts +7 -4
  58. package/esm/events/history/HistoryPushEvent.js +5 -5
  59. package/esm/events/history/HistoryRedoEvent.d.ts +7 -4
  60. package/esm/events/history/HistoryRedoEvent.js +5 -5
  61. package/esm/events/history/HistoryUndoEvent.d.ts +7 -4
  62. package/esm/events/history/HistoryUndoEvent.js +5 -5
  63. package/esm/events/history/index.d.ts +4 -4
  64. package/esm/events/history/index.js +4 -4
  65. package/esm/events/index.d.ts +6 -6
  66. package/esm/events/index.js +6 -6
  67. package/esm/events/keyboard/AbstractKeyboardEvent.d.ts +13 -13
  68. package/esm/events/keyboard/AbstractKeyboardEvent.js +34 -36
  69. package/esm/events/keyboard/KeyDownEvent.d.ts +7 -4
  70. package/esm/events/keyboard/KeyDownEvent.js +5 -5
  71. package/esm/events/keyboard/KeyUpEvent.d.ts +7 -4
  72. package/esm/events/keyboard/KeyUpEvent.js +5 -5
  73. package/esm/events/keyboard/index.d.ts +2 -2
  74. package/esm/events/keyboard/index.js +2 -2
  75. package/esm/events/mutation/AbstractMutationNodeEvent.d.ts +9 -9
  76. package/esm/events/mutation/AbstractMutationNodeEvent.js +3 -3
  77. package/esm/events/mutation/AppendNodeEvent.d.ts +7 -4
  78. package/esm/events/mutation/AppendNodeEvent.js +5 -5
  79. package/esm/events/mutation/CloneNodeEvent.d.ts +7 -4
  80. package/esm/events/mutation/CloneNodeEvent.js +5 -5
  81. package/esm/events/mutation/DragNodeEvent.d.ts +7 -4
  82. package/esm/events/mutation/DragNodeEvent.js +5 -5
  83. package/esm/events/mutation/DropNodeEvent.d.ts +7 -4
  84. package/esm/events/mutation/DropNodeEvent.js +5 -5
  85. package/esm/events/mutation/FromNodeEvent.d.ts +9 -9
  86. package/esm/events/mutation/FromNodeEvent.js +4 -4
  87. package/esm/events/mutation/HoverNodeEvent.d.ts +7 -4
  88. package/esm/events/mutation/HoverNodeEvent.js +5 -5
  89. package/esm/events/mutation/InsertAfterEvent.d.ts +7 -4
  90. package/esm/events/mutation/InsertAfterEvent.js +5 -5
  91. package/esm/events/mutation/InsertBeforeEvent.d.ts +7 -4
  92. package/esm/events/mutation/InsertBeforeEvent.js +5 -5
  93. package/esm/events/mutation/InsertChildrenEvent.d.ts +7 -4
  94. package/esm/events/mutation/InsertChildrenEvent.js +5 -5
  95. package/esm/events/mutation/PrependNodeEvent.d.ts +7 -4
  96. package/esm/events/mutation/PrependNodeEvent.js +5 -5
  97. package/esm/events/mutation/RemoveNodeEvent.d.ts +7 -4
  98. package/esm/events/mutation/RemoveNodeEvent.js +5 -5
  99. package/esm/events/mutation/SelectNodeEvent.d.ts +7 -4
  100. package/esm/events/mutation/SelectNodeEvent.js +5 -5
  101. package/esm/events/mutation/UnSelectNodeEvent.d.ts +7 -4
  102. package/esm/events/mutation/UnSelectNodeEvent.js +5 -5
  103. package/esm/events/mutation/UpdateChildrenEvent.d.ts +7 -4
  104. package/esm/events/mutation/UpdateChildrenEvent.js +5 -5
  105. package/esm/events/mutation/UpdateNodePropsEvent.d.ts +7 -4
  106. package/esm/events/mutation/UpdateNodePropsEvent.js +5 -5
  107. package/esm/events/mutation/UserSelectNodeEvent.d.ts +7 -4
  108. package/esm/events/mutation/UserSelectNodeEvent.js +5 -5
  109. package/esm/events/mutation/WrapNodeEvent.d.ts +7 -4
  110. package/esm/events/mutation/WrapNodeEvent.js +5 -5
  111. package/esm/events/mutation/index.d.ts +16 -16
  112. package/esm/events/mutation/index.js +16 -16
  113. package/esm/events/viewport/AbstractViewportEvent.d.ts +12 -12
  114. package/esm/events/viewport/AbstractViewportEvent.js +12 -12
  115. package/esm/events/viewport/ViewportResizeEvent.d.ts +7 -4
  116. package/esm/events/viewport/ViewportResizeEvent.js +5 -5
  117. package/esm/events/viewport/ViewportScrollEvent.d.ts +7 -4
  118. package/esm/events/viewport/ViewportScrollEvent.js +5 -5
  119. package/esm/events/viewport/index.d.ts +2 -2
  120. package/esm/events/viewport/index.js +2 -2
  121. package/esm/events/workbench/AbstractWorkspaceEvent.d.ts +5 -5
  122. package/esm/events/workbench/AbstractWorkspaceEvent.js +3 -3
  123. package/esm/events/workbench/AddWorkspaceEvent.d.ts +7 -4
  124. package/esm/events/workbench/AddWorkspaceEvent.js +5 -5
  125. package/esm/events/workbench/RemoveWorkspaceEvent.d.ts +7 -4
  126. package/esm/events/workbench/RemoveWorkspaceEvent.js +5 -5
  127. package/esm/events/workbench/SwitchWorkspaceEvent.d.ts +7 -4
  128. package/esm/events/workbench/SwitchWorkspaceEvent.js +5 -5
  129. package/esm/events/workbench/index.d.ts +3 -3
  130. package/esm/events/workbench/index.js +3 -3
  131. package/esm/exports.d.ts +5 -5
  132. package/esm/exports.js +5 -5
  133. package/esm/externals.d.ts +25 -12
  134. package/esm/externals.js +57 -50
  135. package/esm/index.d.ts +1 -1
  136. package/esm/index.js +11 -12
  137. package/esm/internals.d.ts +3 -3
  138. package/esm/internals.js +34 -30
  139. package/esm/models/Cursor.d.ts +48 -48
  140. package/esm/models/Cursor.js +129 -125
  141. package/esm/models/Engine.d.ts +24 -24
  142. package/esm/models/Engine.js +73 -73
  143. package/esm/models/History.d.ts +26 -26
  144. package/esm/models/History.js +86 -87
  145. package/esm/models/Hover.d.ts +10 -10
  146. package/esm/models/Hover.js +33 -32
  147. package/esm/models/Keyboard.d.ts +25 -25
  148. package/esm/models/Keyboard.js +95 -94
  149. package/esm/models/MoveHelper.d.ts +57 -54
  150. package/esm/models/MoveHelper.js +304 -290
  151. package/esm/models/Operation.d.ts +25 -25
  152. package/esm/models/Operation.js +59 -60
  153. package/esm/models/Screen.d.ts +25 -25
  154. package/esm/models/Screen.js +67 -67
  155. package/esm/models/Selection.d.ts +25 -25
  156. package/esm/models/Selection.js +143 -149
  157. package/esm/models/Shortcut.d.ts +16 -16
  158. package/esm/models/Shortcut.js +56 -57
  159. package/esm/models/SnapLine.d.ts +24 -24
  160. package/esm/models/SnapLine.js +96 -105
  161. package/esm/models/SpaceBlock.d.ts +41 -36
  162. package/esm/models/SpaceBlock.js +154 -115
  163. package/esm/models/TransformHelper.d.ts +88 -74
  164. package/esm/models/TransformHelper.js +546 -450
  165. package/esm/models/TreeNode.d.ts +117 -109
  166. package/esm/models/TreeNode.js +743 -732
  167. package/esm/models/Viewport.d.ts +83 -81
  168. package/esm/models/Viewport.js +406 -384
  169. package/esm/models/Workbench.d.ts +21 -21
  170. package/esm/models/Workbench.js +90 -88
  171. package/esm/models/Workspace.d.ts +33 -33
  172. package/esm/models/Workspace.js +87 -83
  173. package/esm/models/index.d.ts +13 -13
  174. package/esm/models/index.js +13 -13
  175. package/esm/presets.d.ts +20 -4
  176. package/esm/presets.js +67 -35
  177. package/esm/registry.d.ts +21 -15
  178. package/esm/registry.js +106 -108
  179. package/esm/shortcuts/CursorSwitch.d.ts +2 -2
  180. package/esm/shortcuts/CursorSwitch.js +9 -9
  181. package/esm/shortcuts/MultiSelection.d.ts +5 -5
  182. package/esm/shortcuts/MultiSelection.js +23 -23
  183. package/esm/shortcuts/NodeMutation.d.ts +4 -4
  184. package/esm/shortcuts/NodeMutation.js +33 -33
  185. package/esm/shortcuts/QuickSelection.d.ts +3 -3
  186. package/esm/shortcuts/QuickSelection.js +71 -78
  187. package/esm/shortcuts/UndoRedo.d.ts +3 -3
  188. package/esm/shortcuts/UndoRedo.js +25 -25
  189. package/esm/shortcuts/index.d.ts +5 -5
  190. package/esm/shortcuts/index.js +5 -5
  191. package/esm/types.d.ts +138 -105
  192. package/esm/types.js +1 -1
  193. package/lib/drivers/DragDropDriver.d.ts +12 -12
  194. package/lib/drivers/DragDropDriver.js +131 -109
  195. package/lib/drivers/KeyboardDriver.d.ts +5 -5
  196. package/lib/drivers/KeyboardDriver.js +45 -44
  197. package/lib/drivers/MouseClickDriver.d.ts +6 -6
  198. package/lib/drivers/MouseClickDriver.js +59 -51
  199. package/lib/drivers/MouseMoveDriver.d.ts +6 -6
  200. package/lib/drivers/MouseMoveDriver.js +34 -32
  201. package/lib/drivers/ViewportResizeDriver.d.ts +9 -9
  202. package/lib/drivers/ViewportResizeDriver.js +69 -63
  203. package/lib/drivers/ViewportScrollDriver.d.ts +6 -6
  204. package/lib/drivers/ViewportScrollDriver.js +34 -31
  205. package/lib/drivers/index.d.ts +6 -6
  206. package/lib/drivers/index.js +38 -22
  207. package/lib/effects/index.d.ts +11 -11
  208. package/lib/effects/index.js +43 -27
  209. package/lib/effects/useAutoScrollEffect.d.ts +2 -2
  210. package/lib/effects/useAutoScrollEffect.js +81 -63
  211. package/lib/effects/useContentEditableEffect.d.ts +2 -2
  212. package/lib/effects/useContentEditableEffect.js +178 -154
  213. package/lib/effects/useCursorEffect.d.ts +2 -2
  214. package/lib/effects/useCursorEffect.js +57 -58
  215. package/lib/effects/useDragDropEffect.d.ts +2 -2
  216. package/lib/effects/useDragDropEffect.js +175 -149
  217. package/lib/effects/useFreeSelectionEffect.d.ts +2 -2
  218. package/lib/effects/useFreeSelectionEffect.js +60 -40
  219. package/lib/effects/useKeyboardEffect.d.ts +2 -2
  220. package/lib/effects/useKeyboardEffect.js +20 -20
  221. package/lib/effects/useResizeEffect.d.ts +2 -2
  222. package/lib/effects/useResizeEffect.js +88 -77
  223. package/lib/effects/useSelectionEffect.d.ts +2 -2
  224. package/lib/effects/useSelectionEffect.js +69 -69
  225. package/lib/effects/useTranslateEffect.d.ts +2 -2
  226. package/lib/effects/useTranslateEffect.js +59 -56
  227. package/lib/effects/useViewportEffect.d.ts +2 -2
  228. package/lib/effects/useViewportEffect.js +30 -32
  229. package/lib/effects/useWorkspaceEffect.d.ts +2 -2
  230. package/lib/effects/useWorkspaceEffect.js +34 -31
  231. package/lib/events/cursor/AbstractCursorEvent.d.ts +15 -15
  232. package/lib/events/cursor/AbstractCursorEvent.js +42 -37
  233. package/lib/events/cursor/DragMoveEvent.d.ts +7 -4
  234. package/lib/events/cursor/DragMoveEvent.js +9 -9
  235. package/lib/events/cursor/DragStartEvent.d.ts +7 -4
  236. package/lib/events/cursor/DragStartEvent.js +9 -9
  237. package/lib/events/cursor/DragStopEvent.d.ts +7 -4
  238. package/lib/events/cursor/DragStopEvent.js +9 -9
  239. package/lib/events/cursor/MouseClickEvent.d.ts +12 -6
  240. package/lib/events/cursor/MouseClickEvent.js +14 -14
  241. package/lib/events/cursor/MouseMoveEvent.d.ts +7 -4
  242. package/lib/events/cursor/MouseMoveEvent.js +9 -9
  243. package/lib/events/cursor/index.d.ts +5 -5
  244. package/lib/events/cursor/index.js +37 -21
  245. package/lib/events/history/AbstractHistoryEvent.d.ts +4 -4
  246. package/lib/events/history/AbstractHistoryEvent.js +7 -7
  247. package/lib/events/history/HistoryGotoEvent.d.ts +7 -4
  248. package/lib/events/history/HistoryGotoEvent.js +9 -9
  249. package/lib/events/history/HistoryPushEvent.d.ts +7 -4
  250. package/lib/events/history/HistoryPushEvent.js +9 -9
  251. package/lib/events/history/HistoryRedoEvent.d.ts +7 -4
  252. package/lib/events/history/HistoryRedoEvent.js +9 -9
  253. package/lib/events/history/HistoryUndoEvent.d.ts +7 -4
  254. package/lib/events/history/HistoryUndoEvent.js +9 -9
  255. package/lib/events/history/index.d.ts +4 -4
  256. package/lib/events/history/index.js +36 -20
  257. package/lib/events/index.d.ts +6 -6
  258. package/lib/events/index.js +38 -22
  259. package/lib/events/keyboard/AbstractKeyboardEvent.d.ts +13 -13
  260. package/lib/events/keyboard/AbstractKeyboardEvent.js +38 -40
  261. package/lib/events/keyboard/KeyDownEvent.d.ts +7 -4
  262. package/lib/events/keyboard/KeyDownEvent.js +9 -9
  263. package/lib/events/keyboard/KeyUpEvent.d.ts +7 -4
  264. package/lib/events/keyboard/KeyUpEvent.js +9 -9
  265. package/lib/events/keyboard/index.d.ts +2 -2
  266. package/lib/events/keyboard/index.js +34 -18
  267. package/lib/events/mutation/AbstractMutationNodeEvent.d.ts +9 -9
  268. package/lib/events/mutation/AbstractMutationNodeEvent.js +7 -7
  269. package/lib/events/mutation/AppendNodeEvent.d.ts +7 -4
  270. package/lib/events/mutation/AppendNodeEvent.js +9 -9
  271. package/lib/events/mutation/CloneNodeEvent.d.ts +7 -4
  272. package/lib/events/mutation/CloneNodeEvent.js +9 -9
  273. package/lib/events/mutation/DragNodeEvent.d.ts +7 -4
  274. package/lib/events/mutation/DragNodeEvent.js +9 -9
  275. package/lib/events/mutation/DropNodeEvent.d.ts +7 -4
  276. package/lib/events/mutation/DropNodeEvent.js +9 -9
  277. package/lib/events/mutation/FromNodeEvent.d.ts +9 -9
  278. package/lib/events/mutation/FromNodeEvent.js +8 -8
  279. package/lib/events/mutation/HoverNodeEvent.d.ts +7 -4
  280. package/lib/events/mutation/HoverNodeEvent.js +9 -9
  281. package/lib/events/mutation/InsertAfterEvent.d.ts +7 -4
  282. package/lib/events/mutation/InsertAfterEvent.js +9 -9
  283. package/lib/events/mutation/InsertBeforeEvent.d.ts +7 -4
  284. package/lib/events/mutation/InsertBeforeEvent.js +9 -9
  285. package/lib/events/mutation/InsertChildrenEvent.d.ts +7 -4
  286. package/lib/events/mutation/InsertChildrenEvent.js +9 -9
  287. package/lib/events/mutation/PrependNodeEvent.d.ts +7 -4
  288. package/lib/events/mutation/PrependNodeEvent.js +9 -9
  289. package/lib/events/mutation/RemoveNodeEvent.d.ts +7 -4
  290. package/lib/events/mutation/RemoveNodeEvent.js +9 -9
  291. package/lib/events/mutation/SelectNodeEvent.d.ts +7 -4
  292. package/lib/events/mutation/SelectNodeEvent.js +9 -9
  293. package/lib/events/mutation/UnSelectNodeEvent.d.ts +7 -4
  294. package/lib/events/mutation/UnSelectNodeEvent.js +9 -9
  295. package/lib/events/mutation/UpdateChildrenEvent.d.ts +7 -4
  296. package/lib/events/mutation/UpdateChildrenEvent.js +9 -9
  297. package/lib/events/mutation/UpdateNodePropsEvent.d.ts +7 -4
  298. package/lib/events/mutation/UpdateNodePropsEvent.js +9 -9
  299. package/lib/events/mutation/UserSelectNodeEvent.d.ts +7 -4
  300. package/lib/events/mutation/UserSelectNodeEvent.js +9 -9
  301. package/lib/events/mutation/WrapNodeEvent.d.ts +7 -4
  302. package/lib/events/mutation/WrapNodeEvent.js +9 -9
  303. package/lib/events/mutation/index.d.ts +16 -16
  304. package/lib/events/mutation/index.js +48 -32
  305. package/lib/events/viewport/AbstractViewportEvent.d.ts +12 -12
  306. package/lib/events/viewport/AbstractViewportEvent.js +16 -16
  307. package/lib/events/viewport/ViewportResizeEvent.d.ts +7 -4
  308. package/lib/events/viewport/ViewportResizeEvent.js +9 -9
  309. package/lib/events/viewport/ViewportScrollEvent.d.ts +7 -4
  310. package/lib/events/viewport/ViewportScrollEvent.js +9 -9
  311. package/lib/events/viewport/index.d.ts +2 -2
  312. package/lib/events/viewport/index.js +34 -18
  313. package/lib/events/workbench/AbstractWorkspaceEvent.d.ts +5 -5
  314. package/lib/events/workbench/AbstractWorkspaceEvent.js +7 -7
  315. package/lib/events/workbench/AddWorkspaceEvent.d.ts +7 -4
  316. package/lib/events/workbench/AddWorkspaceEvent.js +9 -9
  317. package/lib/events/workbench/RemoveWorkspaceEvent.d.ts +7 -4
  318. package/lib/events/workbench/RemoveWorkspaceEvent.js +9 -9
  319. package/lib/events/workbench/SwitchWorkspaceEvent.d.ts +7 -4
  320. package/lib/events/workbench/SwitchWorkspaceEvent.js +9 -9
  321. package/lib/events/workbench/index.d.ts +3 -3
  322. package/lib/events/workbench/index.js +35 -19
  323. package/lib/exports.d.ts +5 -5
  324. package/lib/exports.js +37 -21
  325. package/lib/externals.d.ts +25 -12
  326. package/lib/externals.js +81 -63
  327. package/lib/index.d.ts +1 -1
  328. package/lib/index.js +65 -40
  329. package/lib/internals.d.ts +3 -3
  330. package/lib/internals.js +43 -36
  331. package/lib/models/Cursor.d.ts +48 -48
  332. package/lib/models/Cursor.js +140 -129
  333. package/lib/models/Engine.d.ts +24 -24
  334. package/lib/models/Engine.js +77 -77
  335. package/lib/models/History.d.ts +26 -26
  336. package/lib/models/History.js +90 -91
  337. package/lib/models/Hover.d.ts +10 -10
  338. package/lib/models/Hover.js +37 -36
  339. package/lib/models/Keyboard.d.ts +25 -25
  340. package/lib/models/Keyboard.js +103 -98
  341. package/lib/models/MoveHelper.d.ts +57 -54
  342. package/lib/models/MoveHelper.js +316 -294
  343. package/lib/models/Operation.d.ts +25 -25
  344. package/lib/models/Operation.js +63 -64
  345. package/lib/models/Screen.d.ts +25 -25
  346. package/lib/models/Screen.js +71 -71
  347. package/lib/models/Selection.d.ts +25 -25
  348. package/lib/models/Selection.js +151 -153
  349. package/lib/models/Shortcut.d.ts +16 -16
  350. package/lib/models/Shortcut.js +65 -61
  351. package/lib/models/SnapLine.d.ts +24 -24
  352. package/lib/models/SnapLine.js +99 -109
  353. package/lib/models/SpaceBlock.d.ts +41 -36
  354. package/lib/models/SpaceBlock.js +156 -119
  355. package/lib/models/TransformHelper.d.ts +88 -74
  356. package/lib/models/TransformHelper.js +561 -454
  357. package/lib/models/TreeNode.d.ts +117 -109
  358. package/lib/models/TreeNode.js +739 -736
  359. package/lib/models/Viewport.d.ts +83 -81
  360. package/lib/models/Viewport.js +411 -388
  361. package/lib/models/Workbench.d.ts +21 -21
  362. package/lib/models/Workbench.js +92 -92
  363. package/lib/models/Workspace.d.ts +33 -33
  364. package/lib/models/Workspace.js +86 -87
  365. package/lib/models/index.d.ts +13 -13
  366. package/lib/models/index.js +45 -29
  367. package/lib/presets.d.ts +20 -4
  368. package/lib/presets.js +41 -38
  369. package/lib/registry.d.ts +21 -15
  370. package/lib/registry.js +112 -111
  371. package/lib/shortcuts/CursorSwitch.d.ts +2 -2
  372. package/lib/shortcuts/CursorSwitch.js +12 -12
  373. package/lib/shortcuts/MultiSelection.d.ts +5 -5
  374. package/lib/shortcuts/MultiSelection.js +30 -26
  375. package/lib/shortcuts/NodeMutation.d.ts +4 -4
  376. package/lib/shortcuts/NodeMutation.js +36 -36
  377. package/lib/shortcuts/QuickSelection.d.ts +3 -3
  378. package/lib/shortcuts/QuickSelection.js +74 -81
  379. package/lib/shortcuts/UndoRedo.d.ts +3 -3
  380. package/lib/shortcuts/UndoRedo.js +28 -28
  381. package/lib/shortcuts/index.d.ts +5 -5
  382. package/lib/shortcuts/index.js +37 -21
  383. package/lib/types.d.ts +138 -105
  384. package/lib/types.js +2 -2
  385. package/package.json +18 -18
@@ -1,313 +1,327 @@
1
- import { TreeNode } from './TreeNode';
2
- import { observable, define, action } from '@formily/reactive';
3
- import { calcDistanceOfPointToRect, calcDistancePointToEdge, isNearAfter, isPointInRect, } from '@thienvu18/designable-shared';
4
- import { DragNodeEvent, DropNodeEvent } from '../events';
5
- import { CursorDragType } from './Cursor';
6
- export var ClosestPosition;
7
- (function (ClosestPosition) {
8
- ClosestPosition["Before"] = "BEFORE";
9
- ClosestPosition["ForbidBefore"] = "FORBID_BEFORE";
10
- ClosestPosition["After"] = "After";
11
- ClosestPosition["ForbidAfter"] = "FORBID_AFTER";
12
- ClosestPosition["Upper"] = "UPPER";
13
- ClosestPosition["ForbidUpper"] = "FORBID_UPPER";
14
- ClosestPosition["Under"] = "UNDER";
15
- ClosestPosition["ForbidUnder"] = "FORBID_UNDER";
16
- ClosestPosition["Inner"] = "INNER";
17
- ClosestPosition["ForbidInner"] = "FORBID_INNER";
18
- ClosestPosition["InnerAfter"] = "INNER_AFTER";
19
- ClosestPosition["ForbidInnerAfter"] = "FORBID_INNER_AFTER";
20
- ClosestPosition["InnerBefore"] = "INNER_BEFORE";
21
- ClosestPosition["ForbidInnerBefore"] = "FORBID_INNER_BEFORE";
22
- ClosestPosition["Forbid"] = "FORBID";
23
- })(ClosestPosition || (ClosestPosition = {}));
1
+ import { action, define, observable } from '@formily/reactive'
2
+ import {
3
+ calcDistanceOfPointToRect,
4
+ calcDistancePointToEdge,
5
+ isNearAfter,
6
+ isPointInRect,
7
+ } from '@thienvu18/designable-shared'
8
+ import { DragNodeEvent, DropNodeEvent } from '../events'
9
+ import { CursorDragType } from './Cursor'
10
+ import { TreeNode } from './TreeNode'
11
+ export var ClosestPosition
12
+ ;(function (ClosestPosition) {
13
+ ClosestPosition['Before'] = 'BEFORE'
14
+ ClosestPosition['ForbidBefore'] = 'FORBID_BEFORE'
15
+ ClosestPosition['After'] = 'After'
16
+ ClosestPosition['ForbidAfter'] = 'FORBID_AFTER'
17
+ ClosestPosition['Upper'] = 'UPPER'
18
+ ClosestPosition['ForbidUpper'] = 'FORBID_UPPER'
19
+ ClosestPosition['Under'] = 'UNDER'
20
+ ClosestPosition['ForbidUnder'] = 'FORBID_UNDER'
21
+ ClosestPosition['Inner'] = 'INNER'
22
+ ClosestPosition['ForbidInner'] = 'FORBID_INNER'
23
+ ClosestPosition['InnerAfter'] = 'INNER_AFTER'
24
+ ClosestPosition['ForbidInnerAfter'] = 'FORBID_INNER_AFTER'
25
+ ClosestPosition['InnerBefore'] = 'INNER_BEFORE'
26
+ ClosestPosition['ForbidInnerBefore'] = 'FORBID_INNER_BEFORE'
27
+ ClosestPosition['Forbid'] = 'FORBID'
28
+ })(ClosestPosition || (ClosestPosition = {}))
24
29
  export class MoveHelper {
25
- constructor(props) {
26
- this.dragNodes = [];
27
- this.touchNode = null;
28
- this.closestNode = null;
29
- this.activeViewport = null;
30
- this.viewportClosestRect = null;
31
- this.outlineClosestRect = null;
32
- this.viewportClosestOffsetRect = null;
33
- this.outlineClosestOffsetRect = null;
34
- this.viewportClosestDirection = null;
35
- this.outlineClosestDirection = null;
36
- this.dragging = false;
37
- this.operation = props.operation;
38
- this.rootNode = this.operation.tree;
39
- this.makeObservable();
30
+ constructor(props) {
31
+ this.dragNodes = []
32
+ this.touchNode = null
33
+ this.closestNode = null
34
+ this.activeViewport = null
35
+ this.viewportClosestRect = null
36
+ this.outlineClosestRect = null
37
+ this.viewportClosestOffsetRect = null
38
+ this.outlineClosestOffsetRect = null
39
+ this.viewportClosestDirection = null
40
+ this.outlineClosestDirection = null
41
+ this.dragging = false
42
+ this.operation = props.operation
43
+ this.rootNode = this.operation.tree
44
+ this.makeObservable()
45
+ }
46
+ get cursor() {
47
+ return this.operation.engine.cursor
48
+ }
49
+ get viewport() {
50
+ return this.operation.workspace.viewport
51
+ }
52
+ get outline() {
53
+ return this.operation.workspace.outline
54
+ }
55
+ get hasDragNodes() {
56
+ return this.dragNodes.length > 0
57
+ }
58
+ get closestDirection() {
59
+ if (this.activeViewport === this.outline) {
60
+ return this.outlineClosestDirection
40
61
  }
41
- get cursor() {
42
- return this.operation.engine.cursor;
62
+ return this.viewportClosestDirection
63
+ }
64
+ getClosestLayout(viewport) {
65
+ return viewport.getValidNodeLayout(this.closestNode)
66
+ }
67
+ calcClosestPosition(point, viewport) {
68
+ const closestNode = this.closestNode
69
+ if (!closestNode || !viewport.isPointInViewport(point))
70
+ return ClosestPosition.Forbid
71
+ const closestRect = viewport.getValidNodeRect(closestNode)
72
+ const isInline = this.getClosestLayout(viewport) === 'horizontal'
73
+ if (!closestRect) {
74
+ return
43
75
  }
44
- get viewport() {
45
- return this.operation.workspace.viewport;
76
+ const isAfter = isNearAfter(
77
+ point,
78
+ closestRect,
79
+ viewport.moveInsertionType === 'block' ? false : isInline
80
+ )
81
+ const getValidParent = (node) => {
82
+ if (!node) return
83
+ if (node.parent?.allowSibling(this.dragNodes)) return node.parent
84
+ return getValidParent(node.parent)
46
85
  }
47
- get outline() {
48
- return this.operation.workspace.outline;
49
- }
50
- get hasDragNodes() {
51
- return this.dragNodes.length > 0;
52
- }
53
- get closestDirection() {
54
- if (this.activeViewport === this.outline) {
55
- return this.outlineClosestDirection;
56
- }
57
- return this.viewportClosestDirection;
58
- }
59
- getClosestLayout(viewport) {
60
- return viewport.getValidNodeLayout(this.closestNode);
61
- }
62
- calcClosestPosition(point, viewport) {
63
- const closestNode = this.closestNode;
64
- if (!closestNode || !viewport.isPointInViewport(point))
65
- return ClosestPosition.Forbid;
66
- const closestRect = viewport.getValidNodeRect(closestNode);
67
- const isInline = this.getClosestLayout(viewport) === 'horizontal';
68
- if (!closestRect) {
69
- return;
70
- }
71
- const isAfter = isNearAfter(point, closestRect, viewport.moveInsertionType === 'block' ? false : isInline);
72
- const getValidParent = (node) => {
73
- if (!node)
74
- return;
75
- if (node.parent?.allowSibling(this.dragNodes))
76
- return node.parent;
77
- return getValidParent(node.parent);
78
- };
79
- if (isPointInRect(point, closestRect, viewport.moveSensitive)) {
80
- if (!closestNode.allowAppend(this.dragNodes)) {
81
- if (!closestNode.allowSibling(this.dragNodes)) {
82
- const parentClosestNode = getValidParent(closestNode);
83
- if (parentClosestNode) {
84
- this.closestNode = parentClosestNode;
85
- }
86
- if (isInline) {
87
- if (parentClosestNode) {
88
- if (isAfter) {
89
- return ClosestPosition.After;
90
- }
91
- return ClosestPosition.Before;
92
- }
93
- if (isAfter) {
94
- return ClosestPosition.ForbidAfter;
95
- }
96
- return ClosestPosition.ForbidBefore;
97
- }
98
- else {
99
- if (parentClosestNode) {
100
- if (isAfter) {
101
- return ClosestPosition.Under;
102
- }
103
- return ClosestPosition.Upper;
104
- }
105
- if (isAfter) {
106
- return ClosestPosition.ForbidUnder;
107
- }
108
- return ClosestPosition.ForbidUpper;
109
- }
110
- }
111
- else {
112
- if (isInline) {
113
- return isAfter ? ClosestPosition.After : ClosestPosition.Before;
114
- }
115
- else {
116
- return isAfter ? ClosestPosition.Under : ClosestPosition.Upper;
117
- }
118
- }
86
+ if (isPointInRect(point, closestRect, viewport.moveSensitive)) {
87
+ if (!closestNode.allowAppend(this.dragNodes)) {
88
+ if (!closestNode.allowSibling(this.dragNodes)) {
89
+ const parentClosestNode = getValidParent(closestNode)
90
+ if (parentClosestNode) {
91
+ this.closestNode = parentClosestNode
92
+ }
93
+ if (isInline) {
94
+ if (parentClosestNode) {
95
+ if (isAfter) {
96
+ return ClosestPosition.After
97
+ }
98
+ return ClosestPosition.Before
119
99
  }
120
- if (closestNode.contains(...this.dragNodes)) {
121
- if (isAfter) {
122
- return ClosestPosition.InnerAfter;
123
- }
124
- return ClosestPosition.InnerBefore;
100
+ if (isAfter) {
101
+ return ClosestPosition.ForbidAfter
125
102
  }
126
- else {
127
- return ClosestPosition.Inner;
103
+ return ClosestPosition.ForbidBefore
104
+ } else {
105
+ if (parentClosestNode) {
106
+ if (isAfter) {
107
+ return ClosestPosition.Under
108
+ }
109
+ return ClosestPosition.Upper
128
110
  }
111
+ if (isAfter) {
112
+ return ClosestPosition.ForbidUnder
113
+ }
114
+ return ClosestPosition.ForbidUpper
115
+ }
116
+ } else {
117
+ if (isInline) {
118
+ return isAfter ? ClosestPosition.After : ClosestPosition.Before
119
+ } else {
120
+ return isAfter ? ClosestPosition.Under : ClosestPosition.Upper
121
+ }
129
122
  }
130
- else if (closestNode === closestNode.root) {
131
- return isAfter ? ClosestPosition.InnerAfter : ClosestPosition.InnerBefore;
123
+ }
124
+ if (closestNode.contains(...this.dragNodes)) {
125
+ if (isAfter) {
126
+ return ClosestPosition.InnerAfter
132
127
  }
133
- else {
134
- if (!closestNode.allowSibling(this.dragNodes)) {
135
- const parentClosestNode = getValidParent(closestNode);
136
- if (parentClosestNode) {
137
- this.closestNode = parentClosestNode;
138
- }
139
- if (isInline) {
140
- if (parentClosestNode) {
141
- if (isAfter) {
142
- return ClosestPosition.After;
143
- }
144
- return ClosestPosition.Before;
145
- }
146
- return isAfter
147
- ? ClosestPosition.ForbidAfter
148
- : ClosestPosition.ForbidBefore;
149
- }
150
- else {
151
- if (parentClosestNode) {
152
- if (isAfter) {
153
- return ClosestPosition.Under;
154
- }
155
- return ClosestPosition.Upper;
156
- }
157
- return isAfter
158
- ? ClosestPosition.ForbidUnder
159
- : ClosestPosition.ForbidUpper;
160
- }
161
- }
162
- if (isInline) {
163
- return isAfter ? ClosestPosition.After : ClosestPosition.Before;
164
- }
165
- else {
166
- return isAfter ? ClosestPosition.Under : ClosestPosition.Upper;
167
- }
128
+ return ClosestPosition.InnerBefore
129
+ } else {
130
+ return ClosestPosition.Inner
131
+ }
132
+ } else if (closestNode === closestNode.root) {
133
+ return isAfter ? ClosestPosition.InnerAfter : ClosestPosition.InnerBefore
134
+ } else {
135
+ if (!closestNode.allowSibling(this.dragNodes)) {
136
+ const parentClosestNode = getValidParent(closestNode)
137
+ if (parentClosestNode) {
138
+ this.closestNode = parentClosestNode
168
139
  }
169
- }
170
- calcClosestNode(point, viewport) {
171
- if (this.touchNode) {
172
- const touchNodeRect = viewport.getValidNodeRect(this.touchNode);
173
- if (!touchNodeRect)
174
- return;
175
- if (this.touchNode?.children?.length) {
176
- const touchDistance = calcDistancePointToEdge(point, touchNodeRect);
177
- let minDistance = touchDistance;
178
- let minDistanceNode = this.touchNode;
179
- this.touchNode.eachChildren((node) => {
180
- const rect = viewport.getElementRectById(node.id);
181
- if (!rect)
182
- return;
183
- const distance = isPointInRect(point, rect, viewport.moveSensitive)
184
- ? 0
185
- : calcDistanceOfPointToRect(point, rect);
186
- if (distance <= minDistance) {
187
- minDistance = distance;
188
- minDistanceNode = node;
189
- }
190
- });
191
- return minDistanceNode;
140
+ if (isInline) {
141
+ if (parentClosestNode) {
142
+ if (isAfter) {
143
+ return ClosestPosition.After
192
144
  }
193
- else {
194
- return this.touchNode;
145
+ return ClosestPosition.Before
146
+ }
147
+ return isAfter
148
+ ? ClosestPosition.ForbidAfter
149
+ : ClosestPosition.ForbidBefore
150
+ } else {
151
+ if (parentClosestNode) {
152
+ if (isAfter) {
153
+ return ClosestPosition.Under
195
154
  }
155
+ return ClosestPosition.Upper
156
+ }
157
+ return isAfter
158
+ ? ClosestPosition.ForbidUnder
159
+ : ClosestPosition.ForbidUpper
196
160
  }
197
- return this.operation.tree;
161
+ }
162
+ if (isInline) {
163
+ return isAfter ? ClosestPosition.After : ClosestPosition.Before
164
+ } else {
165
+ return isAfter ? ClosestPosition.Under : ClosestPosition.Upper
166
+ }
198
167
  }
199
- calcClosestRect(viewport, closestDirection) {
200
- const closestNode = this.closestNode;
201
- if (!closestNode || !closestDirection)
202
- return;
203
- const closestRect = viewport.getValidNodeRect(closestNode);
204
- if (closestDirection === ClosestPosition.InnerAfter ||
205
- closestDirection === ClosestPosition.InnerBefore) {
206
- return viewport.getChildrenRect(closestNode);
207
- }
208
- else {
209
- return closestRect;
210
- }
168
+ }
169
+ calcClosestNode(point, viewport) {
170
+ if (this.touchNode) {
171
+ const touchNodeRect = viewport.getValidNodeRect(this.touchNode)
172
+ if (!touchNodeRect) return
173
+ if (this.touchNode?.children?.length) {
174
+ const touchDistance = calcDistancePointToEdge(point, touchNodeRect)
175
+ let minDistance = touchDistance
176
+ let minDistanceNode = this.touchNode
177
+ this.touchNode.eachChildren((node) => {
178
+ const rect = viewport.getElementRectById(node.id)
179
+ if (!rect) return
180
+ const distance = isPointInRect(point, rect, viewport.moveSensitive)
181
+ ? 0
182
+ : calcDistanceOfPointToRect(point, rect)
183
+ if (distance <= minDistance) {
184
+ minDistance = distance
185
+ minDistanceNode = node
186
+ }
187
+ })
188
+ return minDistanceNode
189
+ } else {
190
+ return this.touchNode
191
+ }
211
192
  }
212
- calcClosestOffsetRect(viewport, closestDirection) {
213
- const closestNode = this.closestNode;
214
- if (!closestNode || !closestDirection)
215
- return;
216
- const closestRect = viewport.getValidNodeOffsetRect(closestNode);
217
- if (closestDirection === ClosestPosition.InnerAfter ||
218
- closestDirection === ClosestPosition.InnerBefore) {
219
- return viewport.getChildrenOffsetRect(closestNode);
220
- }
221
- else {
222
- return closestRect;
223
- }
193
+ return this.operation.tree
194
+ }
195
+ calcClosestRect(viewport, closestDirection) {
196
+ const closestNode = this.closestNode
197
+ if (!closestNode || !closestDirection) return
198
+ const closestRect = viewport.getValidNodeRect(closestNode)
199
+ if (
200
+ closestDirection === ClosestPosition.InnerAfter ||
201
+ closestDirection === ClosestPosition.InnerBefore
202
+ ) {
203
+ return viewport.getChildrenRect(closestNode)
204
+ } else {
205
+ return closestRect
224
206
  }
225
- dragStart(props) {
226
- const nodes = TreeNode.filterDraggable(props?.dragNodes);
227
- if (nodes.length) {
228
- this.dragNodes = nodes;
229
- this.trigger(new DragNodeEvent({
230
- target: this.operation.tree,
231
- source: this.dragNodes,
232
- }));
233
- this.viewport.cacheElements();
234
- this.cursor.setDragType(CursorDragType.Move);
235
- this.dragging = true;
236
- }
207
+ }
208
+ calcClosestOffsetRect(viewport, closestDirection) {
209
+ const closestNode = this.closestNode
210
+ if (!closestNode || !closestDirection) return
211
+ const closestRect = viewport.getValidNodeOffsetRect(closestNode)
212
+ if (
213
+ closestDirection === ClosestPosition.InnerAfter ||
214
+ closestDirection === ClosestPosition.InnerBefore
215
+ ) {
216
+ return viewport.getChildrenOffsetRect(closestNode)
217
+ } else {
218
+ return closestRect
237
219
  }
238
- dragMove(props) {
239
- const { point, touchNode } = props;
240
- if (!this.dragging)
241
- return;
242
- if (this.outline.isPointInViewport(point, false)) {
243
- this.activeViewport = this.outline;
244
- this.touchNode = touchNode;
245
- this.closestNode = this.calcClosestNode(point, this.outline);
246
- }
247
- else if (this.viewport.isPointInViewport(point, false)) {
248
- this.activeViewport = this.viewport;
249
- this.touchNode = touchNode;
250
- this.closestNode = this.calcClosestNode(point, this.viewport);
251
- }
252
- if (!this.activeViewport)
253
- return;
254
- if (this.activeViewport === this.outline) {
255
- this.outlineClosestDirection = this.calcClosestPosition(point, this.outline);
256
- this.viewportClosestDirection = this.outlineClosestDirection;
257
- }
258
- else {
259
- this.viewportClosestDirection = this.calcClosestPosition(point, this.viewport);
260
- this.outlineClosestDirection = this.viewportClosestDirection;
261
- }
262
- if (this.outline.mounted) {
263
- this.outlineClosestRect = this.calcClosestRect(this.outline, this.outlineClosestDirection);
264
- this.outlineClosestOffsetRect = this.calcClosestOffsetRect(this.outline, this.outlineClosestDirection);
265
- }
266
- if (this.viewport.mounted) {
267
- this.viewportClosestRect = this.calcClosestRect(this.viewport, this.viewportClosestDirection);
268
- this.viewportClosestOffsetRect = this.calcClosestOffsetRect(this.viewport, this.viewportClosestDirection);
269
- }
220
+ }
221
+ dragStart(props) {
222
+ const nodes = TreeNode.filterDraggable(props?.dragNodes)
223
+ if (nodes.length) {
224
+ this.dragNodes = nodes
225
+ this.trigger(
226
+ new DragNodeEvent({
227
+ target: this.operation.tree,
228
+ source: this.dragNodes,
229
+ })
230
+ )
231
+ this.viewport.cacheElements()
232
+ this.cursor.setDragType(CursorDragType.Move)
233
+ this.dragging = true
270
234
  }
271
- dragDrop(props) {
272
- this.trigger(new DropNodeEvent({
273
- target: this.operation.tree,
274
- source: props?.dropNode,
275
- }));
235
+ }
236
+ dragMove(props) {
237
+ const { point, touchNode } = props
238
+ if (!this.dragging) return
239
+ if (this.outline.isPointInViewport(point, false)) {
240
+ this.activeViewport = this.outline
241
+ this.touchNode = touchNode
242
+ this.closestNode = this.calcClosestNode(point, this.outline)
243
+ } else if (this.viewport.isPointInViewport(point, false)) {
244
+ this.activeViewport = this.viewport
245
+ this.touchNode = touchNode
246
+ this.closestNode = this.calcClosestNode(point, this.viewport)
276
247
  }
277
- dragEnd() {
278
- this.dragging = false;
279
- this.dragNodes = [];
280
- this.touchNode = null;
281
- this.closestNode = null;
282
- this.activeViewport = null;
283
- this.outlineClosestDirection = null;
284
- this.outlineClosestOffsetRect = null;
285
- this.outlineClosestRect = null;
286
- this.viewportClosestDirection = null;
287
- this.viewportClosestOffsetRect = null;
288
- this.viewportClosestRect = null;
289
- this.viewport.clearCache();
248
+ if (!this.activeViewport) return
249
+ if (this.activeViewport === this.outline) {
250
+ this.outlineClosestDirection = this.calcClosestPosition(
251
+ point,
252
+ this.outline
253
+ )
254
+ this.viewportClosestDirection = this.outlineClosestDirection
255
+ } else {
256
+ this.viewportClosestDirection = this.calcClosestPosition(
257
+ point,
258
+ this.viewport
259
+ )
260
+ this.outlineClosestDirection = this.viewportClosestDirection
290
261
  }
291
- trigger(event) {
292
- if (this.operation) {
293
- return this.operation.dispatch(event);
294
- }
262
+ if (this.outline.mounted) {
263
+ this.outlineClosestRect = this.calcClosestRect(
264
+ this.outline,
265
+ this.outlineClosestDirection
266
+ )
267
+ this.outlineClosestOffsetRect = this.calcClosestOffsetRect(
268
+ this.outline,
269
+ this.outlineClosestDirection
270
+ )
271
+ }
272
+ if (this.viewport.mounted) {
273
+ this.viewportClosestRect = this.calcClosestRect(
274
+ this.viewport,
275
+ this.viewportClosestDirection
276
+ )
277
+ this.viewportClosestOffsetRect = this.calcClosestOffsetRect(
278
+ this.viewport,
279
+ this.viewportClosestDirection
280
+ )
295
281
  }
296
- makeObservable() {
297
- define(this, {
298
- dragging: observable.ref,
299
- dragNodes: observable.ref,
300
- touchNode: observable.ref,
301
- closestNode: observable.ref,
302
- outlineClosestDirection: observable.ref,
303
- outlineClosestOffsetRect: observable.ref,
304
- outlineClosestRect: observable.ref,
305
- viewportClosestDirection: observable.ref,
306
- viewportClosestOffsetRect: observable.ref,
307
- viewportClosestRect: observable.ref,
308
- dragStart: action,
309
- dragMove: action,
310
- dragEnd: action,
311
- });
282
+ }
283
+ dragDrop(props) {
284
+ this.trigger(
285
+ new DropNodeEvent({
286
+ target: this.operation.tree,
287
+ source: props?.dropNode,
288
+ })
289
+ )
290
+ }
291
+ dragEnd() {
292
+ this.dragging = false
293
+ this.dragNodes = []
294
+ this.touchNode = null
295
+ this.closestNode = null
296
+ this.activeViewport = null
297
+ this.outlineClosestDirection = null
298
+ this.outlineClosestOffsetRect = null
299
+ this.outlineClosestRect = null
300
+ this.viewportClosestDirection = null
301
+ this.viewportClosestOffsetRect = null
302
+ this.viewportClosestRect = null
303
+ this.viewport.clearCache()
304
+ }
305
+ trigger(event) {
306
+ if (this.operation) {
307
+ return this.operation.dispatch(event)
312
308
  }
309
+ }
310
+ makeObservable() {
311
+ define(this, {
312
+ dragging: observable.ref,
313
+ dragNodes: observable.ref,
314
+ touchNode: observable.ref,
315
+ closestNode: observable.ref,
316
+ outlineClosestDirection: observable.ref,
317
+ outlineClosestOffsetRect: observable.ref,
318
+ outlineClosestRect: observable.ref,
319
+ viewportClosestDirection: observable.ref,
320
+ viewportClosestOffsetRect: observable.ref,
321
+ viewportClosestRect: observable.ref,
322
+ dragStart: action,
323
+ dragMove: action,
324
+ dragEnd: action,
325
+ })
326
+ }
313
327
  }