@eclipse-glsp/client 2.2.0-next.336 → 2.2.0-next.338

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 (544) hide show
  1. package/css/ghost-element.css +7 -0
  2. package/lib/base/default.module.js +4 -4
  3. package/lib/base/default.module.js.map +1 -1
  4. package/lib/base/drag-aware-mouse-listener.d.ts +5 -2
  5. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  6. package/lib/base/drag-aware-mouse-listener.js +13 -3
  7. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  8. package/lib/base/feedback/feedback-action-dispatcher-default.d.ts +34 -0
  9. package/lib/base/feedback/feedback-action-dispatcher-default.d.ts.map +1 -0
  10. package/lib/base/feedback/feedback-action-dispatcher-default.js +120 -0
  11. package/lib/base/feedback/feedback-action-dispatcher-default.js.map +1 -0
  12. package/lib/base/feedback/feedback-action-dispatcher.d.ts +2 -17
  13. package/lib/base/feedback/feedback-action-dispatcher.d.ts.map +1 -1
  14. package/lib/base/feedback/feedback-action-dispatcher.js +1 -100
  15. package/lib/base/feedback/feedback-action-dispatcher.js.map +1 -1
  16. package/lib/base/feedback/{feeback-emitter.d.ts → feedback-emitter.d.ts} +8 -1
  17. package/lib/base/feedback/feedback-emitter.d.ts.map +1 -0
  18. package/lib/base/feedback/{feeback-emitter.js → feedback-emitter.js} +21 -6
  19. package/lib/base/feedback/feedback-emitter.js.map +1 -0
  20. package/lib/base/selection-service.d.ts +1 -1
  21. package/lib/base/selection-service.d.ts.map +1 -1
  22. package/lib/base/tool-manager/tool-manager.d.ts +1 -1
  23. package/lib/base/tool-manager/tool-manager.d.ts.map +1 -1
  24. package/lib/base/ui-extension/ui-extension-registry.d.ts +1 -1
  25. package/lib/base/ui-extension/ui-extension-registry.d.ts.map +1 -1
  26. package/lib/base/view/key-tool.d.ts +1 -1
  27. package/lib/base/view/key-tool.d.ts.map +1 -1
  28. package/lib/base/view/mouse-tool.d.ts +1 -1
  29. package/lib/base/view/mouse-tool.d.ts.map +1 -1
  30. package/lib/features/accessibility/move-zoom/move-handler.d.ts +2 -2
  31. package/lib/features/accessibility/move-zoom/move-handler.d.ts.map +1 -1
  32. package/lib/features/accessibility/move-zoom/move-handler.js +1 -1
  33. package/lib/features/accessibility/move-zoom/move-handler.js.map +1 -1
  34. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts +3 -3
  35. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts.map +1 -1
  36. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js +1 -1
  37. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +1 -1
  38. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +3 -3
  39. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -1
  40. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +4 -4
  41. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -1
  42. package/lib/features/bounds/set-bounds-feedback-command.d.ts.map +1 -1
  43. package/lib/features/bounds/set-bounds-feedback-command.js +2 -2
  44. package/lib/features/bounds/set-bounds-feedback-command.js.map +1 -1
  45. package/lib/features/change-bounds/model.d.ts +7 -3
  46. package/lib/features/change-bounds/model.d.ts.map +1 -1
  47. package/lib/features/change-bounds/model.js +46 -20
  48. package/lib/features/change-bounds/model.js.map +1 -1
  49. package/lib/features/change-bounds/movement-restrictor.d.ts +3 -2
  50. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  51. package/lib/features/change-bounds/movement-restrictor.js +9 -10
  52. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  53. package/lib/features/debug/debug-bounds-decorator.d.ts +1 -1
  54. package/lib/features/debug/debug-bounds-decorator.d.ts.map +1 -1
  55. package/lib/features/debug/debug-bounds-decorator.js +6 -6
  56. package/lib/features/debug/debug-bounds-decorator.js.map +1 -1
  57. package/lib/features/debug/debug-manager.d.ts +2 -1
  58. package/lib/features/debug/debug-manager.d.ts.map +1 -1
  59. package/lib/features/debug/debug-manager.js.map +1 -1
  60. package/lib/features/debug/debug-model.d.ts +1 -1
  61. package/lib/features/debug/debug-model.d.ts.map +1 -1
  62. package/lib/features/debug/debug-model.js +5 -5
  63. package/lib/features/debug/debug-model.js.map +1 -1
  64. package/lib/features/debug/debug-module.js +1 -1
  65. package/lib/features/debug/debug-module.js.map +1 -1
  66. package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts +8 -6
  67. package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts.map +1 -1
  68. package/lib/features/element-template/mouse-tracking-element-position-listener.js +14 -15
  69. package/lib/features/element-template/mouse-tracking-element-position-listener.js.map +1 -1
  70. package/lib/features/grid/grid-manager.d.ts +2 -1
  71. package/lib/features/grid/grid-manager.d.ts.map +1 -1
  72. package/lib/features/grid/grid-manager.js.map +1 -1
  73. package/lib/features/grid/grid-model.d.ts +1 -1
  74. package/lib/features/grid/grid-model.d.ts.map +1 -1
  75. package/lib/features/grid/grid-model.js +5 -5
  76. package/lib/features/grid/grid-model.js.map +1 -1
  77. package/lib/features/grid/grid-module.d.ts +1 -1
  78. package/lib/features/grid/grid-module.d.ts.map +1 -1
  79. package/lib/features/grid/grid-module.js +2 -2
  80. package/lib/features/grid/grid-module.js.map +1 -1
  81. package/lib/features/helper-lines/helper-line-feedback.d.ts +2 -2
  82. package/lib/features/helper-lines/helper-line-feedback.js +3 -3
  83. package/lib/features/helper-lines/helper-line-feedback.js.map +1 -1
  84. package/lib/features/helper-lines/helper-line-manager-default.d.ts +16 -4
  85. package/lib/features/helper-lines/helper-line-manager-default.d.ts.map +1 -1
  86. package/lib/features/helper-lines/helper-line-manager-default.js +56 -15
  87. package/lib/features/helper-lines/helper-line-manager-default.js.map +1 -1
  88. package/lib/features/hints/model.d.ts +6 -2
  89. package/lib/features/hints/model.d.ts.map +1 -1
  90. package/lib/features/hints/model.js.map +1 -1
  91. package/lib/features/hints/type-hint-provider.d.ts +1 -1
  92. package/lib/features/hints/type-hint-provider.d.ts.map +1 -1
  93. package/lib/features/hints/type-hint-provider.js.map +1 -1
  94. package/lib/features/select/select-mouse-listener.d.ts +3 -3
  95. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  96. package/lib/features/select/select-mouse-listener.js +6 -6
  97. package/lib/features/select/select-mouse-listener.js.map +1 -1
  98. package/lib/features/tool-palette/tool-palette.d.ts +3 -3
  99. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  100. package/lib/features/tool-palette/tool-palette.js +9 -9
  101. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  102. package/lib/features/tools/base-tools.d.ts +2 -2
  103. package/lib/features/tools/base-tools.d.ts.map +1 -1
  104. package/lib/features/tools/base-tools.js +1 -1
  105. package/lib/features/tools/change-bounds/change-bounds-manager.d.ts +15 -7
  106. package/lib/features/tools/change-bounds/change-bounds-manager.d.ts.map +1 -1
  107. package/lib/features/tools/change-bounds/change-bounds-manager.js +51 -17
  108. package/lib/features/tools/change-bounds/change-bounds-manager.js.map +1 -1
  109. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts.map +1 -1
  110. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js +3 -3
  111. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js.map +1 -1
  112. package/lib/features/tools/change-bounds/change-bounds-tool-module.d.ts +1 -1
  113. package/lib/features/tools/change-bounds/change-bounds-tool-module.js +2 -2
  114. package/lib/features/tools/change-bounds/change-bounds-tool-module.js.map +1 -1
  115. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts +5 -5
  116. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts.map +1 -1
  117. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js +9 -12
  118. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js.map +1 -1
  119. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +4 -3
  120. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -1
  121. package/lib/features/tools/change-bounds/change-bounds-tool.js +13 -32
  122. package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -1
  123. package/lib/features/tools/change-bounds/change-bounds-tracker.d.ts +11 -4
  124. package/lib/features/tools/change-bounds/change-bounds-tracker.d.ts.map +1 -1
  125. package/lib/features/tools/change-bounds/change-bounds-tracker.js +46 -28
  126. package/lib/features/tools/change-bounds/change-bounds-tracker.js.map +1 -1
  127. package/lib/features/tools/edge-creation/dangling-edge-feedback.d.ts +1 -1
  128. package/lib/features/tools/edge-creation/dangling-edge-feedback.js +3 -3
  129. package/lib/features/tools/edge-creation/dangling-edge-feedback.js.map +1 -1
  130. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts +1 -1
  131. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts.map +1 -1
  132. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts +6 -3
  133. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts.map +1 -1
  134. package/lib/features/tools/edge-creation/edge-creation-tool.js +13 -11
  135. package/lib/features/tools/edge-creation/edge-creation-tool.js.map +1 -1
  136. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts +4 -3
  137. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts.map +1 -1
  138. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js +4 -4
  139. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js.map +1 -1
  140. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts +3 -3
  141. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts.map +1 -1
  142. package/lib/features/tools/edge-edit/edge-edit-tool.js +4 -4
  143. package/lib/features/tools/edge-edit/edge-edit-tool.js.map +1 -1
  144. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts +2 -2
  145. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts.map +1 -1
  146. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js +3 -3
  147. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js.map +1 -1
  148. package/lib/features/tools/node-creation/container-manager.d.ts +41 -0
  149. package/lib/features/tools/node-creation/container-manager.d.ts.map +1 -0
  150. package/lib/features/tools/node-creation/container-manager.js +73 -0
  151. package/lib/features/tools/node-creation/container-manager.js.map +1 -0
  152. package/lib/{base/ui-extension/index.d.ts → features/tools/node-creation/insert-indicator.d.ts} +15 -3
  153. package/lib/features/tools/node-creation/insert-indicator.d.ts.map +1 -0
  154. package/lib/features/tools/node-creation/insert-indicator.js +40 -0
  155. package/lib/features/tools/node-creation/insert-indicator.js.map +1 -0
  156. package/lib/features/tools/node-creation/node-creation-module.d.ts +1 -1
  157. package/lib/features/tools/node-creation/node-creation-module.d.ts.map +1 -1
  158. package/lib/features/tools/node-creation/node-creation-module.js +6 -1
  159. package/lib/features/tools/node-creation/node-creation-module.js.map +1 -1
  160. package/lib/features/tools/node-creation/node-creation-tool.d.ts +26 -16
  161. package/lib/features/tools/node-creation/node-creation-tool.d.ts.map +1 -1
  162. package/lib/features/tools/node-creation/node-creation-tool.js +82 -78
  163. package/lib/features/tools/node-creation/node-creation-tool.js.map +1 -1
  164. package/lib/features/{debug/index.d.ts → tools/node-creation/node-creation-views.d.ts} +10 -5
  165. package/lib/features/tools/node-creation/node-creation-views.d.ts.map +1 -0
  166. package/lib/features/tools/node-creation/node-creation-views.js +60 -0
  167. package/lib/features/tools/node-creation/node-creation-views.js.map +1 -0
  168. package/lib/features/validation/validate.d.ts +1 -1
  169. package/lib/features/validation/validate.d.ts.map +1 -1
  170. package/lib/features/validation/validate.js.map +1 -1
  171. package/lib/features/viewport/viewport-handler.d.ts +1 -1
  172. package/lib/features/viewport/viewport-handler.d.ts.map +1 -1
  173. package/lib/features/viewport/viewport-handler.js +3 -3
  174. package/lib/features/viewport/viewport-handler.js.map +1 -1
  175. package/lib/index.d.ts +223 -5
  176. package/lib/index.d.ts.map +1 -1
  177. package/lib/index.js +223 -5
  178. package/lib/index.js.map +1 -1
  179. package/lib/utils/gmodel-util.d.ts +2 -0
  180. package/lib/utils/gmodel-util.d.ts.map +1 -1
  181. package/lib/utils/gmodel-util.js.map +1 -1
  182. package/lib/views/ggraph-view.d.ts +1 -1
  183. package/lib/views/ggraph-view.d.ts.map +1 -1
  184. package/lib/views/ggraph-view.js +4 -4
  185. package/lib/views/ggraph-view.js.map +1 -1
  186. package/lib/views/glsp-projection-view.d.ts +2 -2
  187. package/lib/views/glsp-projection-view.d.ts.map +1 -1
  188. package/lib/views/glsp-projection-view.js +5 -5
  189. package/lib/views/glsp-projection-view.js.map +1 -1
  190. package/package.json +4 -4
  191. package/src/base/action-dispatcher.spec.ts +1 -1
  192. package/src/base/default.module.ts +2 -2
  193. package/src/base/drag-aware-mouse-listener.ts +18 -2
  194. package/src/base/feedback/feedback-action-dispatcher-default.ts +119 -0
  195. package/src/base/feedback/feedback-action-dispatcher.ts +2 -106
  196. package/src/base/feedback/feedback-emitter.spec.ts +176 -0
  197. package/src/base/feedback/{feeback-emitter.ts → feedback-emitter.ts} +24 -5
  198. package/src/base/selection-service.spec.ts +1 -1
  199. package/src/base/selection-service.ts +1 -1
  200. package/src/base/tool-manager/tool-manager.ts +1 -1
  201. package/src/base/ui-extension/ui-extension-registry.ts +1 -1
  202. package/src/base/view/key-tool.ts +1 -1
  203. package/src/base/view/mouse-tool.ts +1 -1
  204. package/src/features/accessibility/move-zoom/move-handler.ts +2 -2
  205. package/src/features/accessibility/resize-key-tool/resize-key-handler.ts +3 -3
  206. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +4 -4
  207. package/src/features/bounds/set-bounds-feedback-command.ts +1 -1
  208. package/src/features/change-bounds/model.ts +41 -16
  209. package/src/features/change-bounds/movement-restrictor.ts +13 -13
  210. package/src/features/change-bounds/point-position-updater.spec.ts +1 -1
  211. package/src/features/debug/debug-bounds-decorator.tsx +8 -8
  212. package/src/features/debug/debug-manager.ts +2 -1
  213. package/src/features/debug/debug-model.ts +2 -2
  214. package/src/features/debug/debug-module.ts +1 -1
  215. package/src/features/element-template/mouse-tracking-element-position-listener.ts +17 -24
  216. package/src/features/grid/grid-manager.ts +2 -1
  217. package/src/features/grid/grid-model.ts +2 -2
  218. package/src/features/grid/grid-module.ts +3 -3
  219. package/src/features/helper-lines/helper-line-feedback.ts +1 -1
  220. package/src/features/helper-lines/helper-line-manager-default.ts +68 -12
  221. package/src/features/hints/model.ts +7 -2
  222. package/src/features/hints/type-hint-provider.spec.ts +3 -3
  223. package/src/features/hints/type-hint-provider.ts +1 -1
  224. package/src/features/select/select-mouse-listener.ts +6 -6
  225. package/src/features/tool-palette/tool-palette.ts +6 -7
  226. package/src/features/tools/base-tools.ts +2 -2
  227. package/src/features/tools/change-bounds/change-bounds-manager.ts +75 -17
  228. package/src/features/tools/change-bounds/change-bounds-tool-feedback.ts +5 -2
  229. package/src/features/tools/change-bounds/change-bounds-tool-module.ts +2 -2
  230. package/src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts +13 -11
  231. package/src/features/tools/change-bounds/change-bounds-tool.ts +12 -57
  232. package/src/features/tools/change-bounds/change-bounds-tracker.ts +29 -7
  233. package/src/features/tools/edge-creation/dangling-edge-feedback.ts +2 -2
  234. package/src/features/tools/edge-creation/edge-creation-tool-feedback.ts +1 -1
  235. package/src/features/tools/edge-creation/edge-creation-tool.ts +15 -8
  236. package/src/features/tools/edge-edit/edge-edit-tool-feedback.ts +4 -3
  237. package/src/features/tools/edge-edit/edge-edit-tool.ts +4 -5
  238. package/src/features/tools/marquee-selection/marquee-mouse-tool.ts +2 -2
  239. package/src/features/tools/node-creation/container-manager.ts +76 -0
  240. package/src/features/tools/node-creation/insert-indicator.ts +41 -0
  241. package/src/features/tools/node-creation/node-creation-module.ts +14 -2
  242. package/src/features/tools/node-creation/node-creation-tool.ts +101 -92
  243. package/src/features/tools/node-creation/node-creation-views.tsx +49 -0
  244. package/src/features/validation/validate.ts +1 -1
  245. package/src/features/viewport/viewport-handler.ts +1 -1
  246. package/src/index.ts +223 -5
  247. package/src/utils/gmodel-util.ts +4 -1
  248. package/src/views/ggraph-view.tsx +4 -4
  249. package/src/views/glsp-projection-view.tsx +4 -5
  250. package/lib/base/auto-complete/index.d.ts +0 -21
  251. package/lib/base/auto-complete/index.d.ts.map +0 -1
  252. package/lib/base/auto-complete/index.js +0 -37
  253. package/lib/base/auto-complete/index.js.map +0 -1
  254. package/lib/base/feedback/feeback-emitter.d.ts.map +0 -1
  255. package/lib/base/feedback/feeback-emitter.js.map +0 -1
  256. package/lib/base/feedback/index.d.ts +0 -22
  257. package/lib/base/feedback/index.d.ts.map +0 -1
  258. package/lib/base/feedback/index.js +0 -38
  259. package/lib/base/feedback/index.js.map +0 -1
  260. package/lib/base/focus/index.d.ts +0 -18
  261. package/lib/base/focus/index.d.ts.map +0 -1
  262. package/lib/base/focus/index.js +0 -34
  263. package/lib/base/focus/index.js.map +0 -1
  264. package/lib/base/index.d.ts +0 -34
  265. package/lib/base/index.d.ts.map +0 -1
  266. package/lib/base/index.js +0 -50
  267. package/lib/base/index.js.map +0 -1
  268. package/lib/base/model/index.d.ts +0 -20
  269. package/lib/base/model/index.d.ts.map +0 -1
  270. package/lib/base/model/index.js +0 -36
  271. package/lib/base/model/index.js.map +0 -1
  272. package/lib/base/tool-manager/index.d.ts +0 -18
  273. package/lib/base/tool-manager/index.d.ts.map +0 -1
  274. package/lib/base/tool-manager/index.js +0 -34
  275. package/lib/base/tool-manager/index.js.map +0 -1
  276. package/lib/base/ui-extension/index.d.ts.map +0 -1
  277. package/lib/base/ui-extension/index.js +0 -34
  278. package/lib/base/ui-extension/index.js.map +0 -1
  279. package/lib/base/view/index.d.ts +0 -19
  280. package/lib/base/view/index.d.ts.map +0 -1
  281. package/lib/base/view/index.js +0 -35
  282. package/lib/base/view/index.js.map +0 -1
  283. package/lib/features/accessibility/edge-autocomplete/index.d.ts +0 -20
  284. package/lib/features/accessibility/edge-autocomplete/index.d.ts.map +0 -1
  285. package/lib/features/accessibility/edge-autocomplete/index.js +0 -36
  286. package/lib/features/accessibility/edge-autocomplete/index.js.map +0 -1
  287. package/lib/features/accessibility/element-navigation/index.d.ts +0 -22
  288. package/lib/features/accessibility/element-navigation/index.d.ts.map +0 -1
  289. package/lib/features/accessibility/element-navigation/index.js +0 -38
  290. package/lib/features/accessibility/element-navigation/index.js.map +0 -1
  291. package/lib/features/accessibility/focus-tracker/index.d.ts +0 -18
  292. package/lib/features/accessibility/focus-tracker/index.d.ts.map +0 -1
  293. package/lib/features/accessibility/focus-tracker/index.js +0 -34
  294. package/lib/features/accessibility/focus-tracker/index.js.map +0 -1
  295. package/lib/features/accessibility/index.d.ts +0 -31
  296. package/lib/features/accessibility/index.d.ts.map +0 -1
  297. package/lib/features/accessibility/index.js +0 -47
  298. package/lib/features/accessibility/index.js.map +0 -1
  299. package/lib/features/accessibility/key-shortcut/index.d.ts +0 -19
  300. package/lib/features/accessibility/key-shortcut/index.d.ts.map +0 -1
  301. package/lib/features/accessibility/key-shortcut/index.js +0 -35
  302. package/lib/features/accessibility/key-shortcut/index.js.map +0 -1
  303. package/lib/features/accessibility/keyboard-grid/index.d.ts +0 -21
  304. package/lib/features/accessibility/keyboard-grid/index.d.ts.map +0 -1
  305. package/lib/features/accessibility/keyboard-grid/index.js +0 -37
  306. package/lib/features/accessibility/keyboard-grid/index.js.map +0 -1
  307. package/lib/features/accessibility/keyboard-pointer/index.d.ts +0 -22
  308. package/lib/features/accessibility/keyboard-pointer/index.d.ts.map +0 -1
  309. package/lib/features/accessibility/keyboard-pointer/index.js +0 -38
  310. package/lib/features/accessibility/keyboard-pointer/index.js.map +0 -1
  311. package/lib/features/accessibility/keyboard-tool-palette/index.d.ts +0 -18
  312. package/lib/features/accessibility/keyboard-tool-palette/index.d.ts.map +0 -1
  313. package/lib/features/accessibility/keyboard-tool-palette/index.js +0 -34
  314. package/lib/features/accessibility/keyboard-tool-palette/index.js.map +0 -1
  315. package/lib/features/accessibility/move-zoom/index.d.ts +0 -19
  316. package/lib/features/accessibility/move-zoom/index.d.ts.map +0 -1
  317. package/lib/features/accessibility/move-zoom/index.js +0 -35
  318. package/lib/features/accessibility/move-zoom/index.js.map +0 -1
  319. package/lib/features/accessibility/resize-key-tool/index.d.ts +0 -19
  320. package/lib/features/accessibility/resize-key-tool/index.d.ts.map +0 -1
  321. package/lib/features/accessibility/resize-key-tool/index.js +0 -35
  322. package/lib/features/accessibility/resize-key-tool/index.js.map +0 -1
  323. package/lib/features/accessibility/search/index.d.ts +0 -19
  324. package/lib/features/accessibility/search/index.d.ts.map +0 -1
  325. package/lib/features/accessibility/search/index.js +0 -35
  326. package/lib/features/accessibility/search/index.js.map +0 -1
  327. package/lib/features/accessibility/toast/index.d.ts +0 -19
  328. package/lib/features/accessibility/toast/index.d.ts.map +0 -1
  329. package/lib/features/accessibility/toast/index.js +0 -35
  330. package/lib/features/accessibility/toast/index.js.map +0 -1
  331. package/lib/features/accessibility/view-key-tools/index.d.ts +0 -20
  332. package/lib/features/accessibility/view-key-tools/index.d.ts.map +0 -1
  333. package/lib/features/accessibility/view-key-tools/index.js +0 -36
  334. package/lib/features/accessibility/view-key-tools/index.js.map +0 -1
  335. package/lib/features/bounds/index.d.ts +0 -25
  336. package/lib/features/bounds/index.d.ts.map +0 -1
  337. package/lib/features/bounds/index.js +0 -41
  338. package/lib/features/bounds/index.js.map +0 -1
  339. package/lib/features/change-bounds/index.d.ts +0 -22
  340. package/lib/features/change-bounds/index.d.ts.map +0 -1
  341. package/lib/features/change-bounds/index.js +0 -38
  342. package/lib/features/change-bounds/index.js.map +0 -1
  343. package/lib/features/command-palette/index.d.ts +0 -20
  344. package/lib/features/command-palette/index.d.ts.map +0 -1
  345. package/lib/features/command-palette/index.js +0 -36
  346. package/lib/features/command-palette/index.js.map +0 -1
  347. package/lib/features/context-menu/index.d.ts +0 -20
  348. package/lib/features/context-menu/index.d.ts.map +0 -1
  349. package/lib/features/context-menu/index.js +0 -36
  350. package/lib/features/context-menu/index.js.map +0 -1
  351. package/lib/features/copy-paste/index.d.ts +0 -20
  352. package/lib/features/copy-paste/index.d.ts.map +0 -1
  353. package/lib/features/copy-paste/index.js +0 -36
  354. package/lib/features/copy-paste/index.js.map +0 -1
  355. package/lib/features/debug/index.d.ts.map +0 -1
  356. package/lib/features/debug/index.js +0 -36
  357. package/lib/features/debug/index.js.map +0 -1
  358. package/lib/features/decoration/index.d.ts +0 -18
  359. package/lib/features/decoration/index.d.ts.map +0 -1
  360. package/lib/features/decoration/index.js +0 -34
  361. package/lib/features/decoration/index.js.map +0 -1
  362. package/lib/features/element-template/index.d.ts +0 -20
  363. package/lib/features/element-template/index.d.ts.map +0 -1
  364. package/lib/features/element-template/index.js +0 -36
  365. package/lib/features/element-template/index.js.map +0 -1
  366. package/lib/features/export/index.d.ts +0 -19
  367. package/lib/features/export/index.d.ts.map +0 -1
  368. package/lib/features/export/index.js +0 -35
  369. package/lib/features/export/index.js.map +0 -1
  370. package/lib/features/grid/index.d.ts +0 -21
  371. package/lib/features/grid/index.d.ts.map +0 -1
  372. package/lib/features/grid/index.js +0 -37
  373. package/lib/features/grid/index.js.map +0 -1
  374. package/lib/features/helper-lines/index.d.ts +0 -22
  375. package/lib/features/helper-lines/index.d.ts.map +0 -1
  376. package/lib/features/helper-lines/index.js +0 -38
  377. package/lib/features/helper-lines/index.js.map +0 -1
  378. package/lib/features/hints/index.d.ts +0 -19
  379. package/lib/features/hints/index.d.ts.map +0 -1
  380. package/lib/features/hints/index.js +0 -35
  381. package/lib/features/hints/index.js.map +0 -1
  382. package/lib/features/hover/index.d.ts +0 -18
  383. package/lib/features/hover/index.d.ts.map +0 -1
  384. package/lib/features/hover/index.js +0 -34
  385. package/lib/features/hover/index.js.map +0 -1
  386. package/lib/features/index.d.ts +0 -46
  387. package/lib/features/index.d.ts.map +0 -1
  388. package/lib/features/index.js +0 -62
  389. package/lib/features/index.js.map +0 -1
  390. package/lib/features/label-edit/index.d.ts +0 -19
  391. package/lib/features/label-edit/index.d.ts.map +0 -1
  392. package/lib/features/label-edit/index.js +0 -35
  393. package/lib/features/label-edit/index.js.map +0 -1
  394. package/lib/features/label-edit-ui/index.d.ts +0 -18
  395. package/lib/features/label-edit-ui/index.d.ts.map +0 -1
  396. package/lib/features/label-edit-ui/index.js +0 -34
  397. package/lib/features/label-edit-ui/index.js.map +0 -1
  398. package/lib/features/layout/index.d.ts +0 -18
  399. package/lib/features/layout/index.d.ts.map +0 -1
  400. package/lib/features/layout/index.js +0 -34
  401. package/lib/features/layout/index.js.map +0 -1
  402. package/lib/features/navigation/index.d.ts +0 -19
  403. package/lib/features/navigation/index.d.ts.map +0 -1
  404. package/lib/features/navigation/index.js +0 -35
  405. package/lib/features/navigation/index.js.map +0 -1
  406. package/lib/features/reconnect/index.d.ts +0 -17
  407. package/lib/features/reconnect/index.d.ts.map +0 -1
  408. package/lib/features/reconnect/index.js +0 -33
  409. package/lib/features/reconnect/index.js.map +0 -1
  410. package/lib/features/routing/index.d.ts +0 -18
  411. package/lib/features/routing/index.d.ts.map +0 -1
  412. package/lib/features/routing/index.js +0 -34
  413. package/lib/features/routing/index.js.map +0 -1
  414. package/lib/features/save/index.d.ts +0 -18
  415. package/lib/features/save/index.d.ts.map +0 -1
  416. package/lib/features/save/index.js +0 -34
  417. package/lib/features/save/index.js.map +0 -1
  418. package/lib/features/select/index.d.ts +0 -19
  419. package/lib/features/select/index.d.ts.map +0 -1
  420. package/lib/features/select/index.js +0 -35
  421. package/lib/features/select/index.js.map +0 -1
  422. package/lib/features/source-model-watcher/index.d.ts +0 -18
  423. package/lib/features/source-model-watcher/index.d.ts.map +0 -1
  424. package/lib/features/source-model-watcher/index.js +0 -34
  425. package/lib/features/source-model-watcher/index.js.map +0 -1
  426. package/lib/features/status/index.d.ts +0 -18
  427. package/lib/features/status/index.d.ts.map +0 -1
  428. package/lib/features/status/index.js +0 -34
  429. package/lib/features/status/index.js.map +0 -1
  430. package/lib/features/svg-metadata/index.d.ts +0 -18
  431. package/lib/features/svg-metadata/index.d.ts.map +0 -1
  432. package/lib/features/svg-metadata/index.js +0 -34
  433. package/lib/features/svg-metadata/index.js.map +0 -1
  434. package/lib/features/tool-palette/index.d.ts +0 -18
  435. package/lib/features/tool-palette/index.d.ts.map +0 -1
  436. package/lib/features/tool-palette/index.js +0 -34
  437. package/lib/features/tool-palette/index.js.map +0 -1
  438. package/lib/features/tools/change-bounds/index.d.ts +0 -23
  439. package/lib/features/tools/change-bounds/index.d.ts.map +0 -1
  440. package/lib/features/tools/change-bounds/index.js +0 -39
  441. package/lib/features/tools/change-bounds/index.js.map +0 -1
  442. package/lib/features/tools/deletion/index.d.ts +0 -18
  443. package/lib/features/tools/deletion/index.d.ts.map +0 -1
  444. package/lib/features/tools/deletion/index.js +0 -34
  445. package/lib/features/tools/deletion/index.js.map +0 -1
  446. package/lib/features/tools/edge-creation/index.d.ts +0 -21
  447. package/lib/features/tools/edge-creation/index.d.ts.map +0 -1
  448. package/lib/features/tools/edge-creation/index.js +0 -37
  449. package/lib/features/tools/edge-creation/index.js.map +0 -1
  450. package/lib/features/tools/edge-edit/index.d.ts +0 -19
  451. package/lib/features/tools/edge-edit/index.d.ts.map +0 -1
  452. package/lib/features/tools/edge-edit/index.js +0 -35
  453. package/lib/features/tools/edge-edit/index.js.map +0 -1
  454. package/lib/features/tools/index.d.ts +0 -24
  455. package/lib/features/tools/index.d.ts.map +0 -1
  456. package/lib/features/tools/index.js +0 -40
  457. package/lib/features/tools/index.js.map +0 -1
  458. package/lib/features/tools/marquee-selection/index.d.ts +0 -23
  459. package/lib/features/tools/marquee-selection/index.d.ts.map +0 -1
  460. package/lib/features/tools/marquee-selection/index.js +0 -39
  461. package/lib/features/tools/marquee-selection/index.js.map +0 -1
  462. package/lib/features/tools/node-creation/index.d.ts +0 -18
  463. package/lib/features/tools/node-creation/index.d.ts.map +0 -1
  464. package/lib/features/tools/node-creation/index.js +0 -34
  465. package/lib/features/tools/node-creation/index.js.map +0 -1
  466. package/lib/features/undo-redo/index.d.ts +0 -18
  467. package/lib/features/undo-redo/index.d.ts.map +0 -1
  468. package/lib/features/undo-redo/index.js +0 -34
  469. package/lib/features/undo-redo/index.js.map +0 -1
  470. package/lib/features/validation/index.d.ts +0 -20
  471. package/lib/features/validation/index.d.ts.map +0 -1
  472. package/lib/features/validation/index.js +0 -36
  473. package/lib/features/validation/index.js.map +0 -1
  474. package/lib/features/viewport/index.d.ts +0 -21
  475. package/lib/features/viewport/index.d.ts.map +0 -1
  476. package/lib/features/viewport/index.js +0 -37
  477. package/lib/features/viewport/index.js.map +0 -1
  478. package/lib/utils/index.d.ts +0 -23
  479. package/lib/utils/index.d.ts.map +0 -1
  480. package/lib/utils/index.js +0 -39
  481. package/lib/utils/index.js.map +0 -1
  482. package/lib/views/index.d.ts +0 -24
  483. package/lib/views/index.d.ts.map +0 -1
  484. package/lib/views/index.js +0 -40
  485. package/lib/views/index.js.map +0 -1
  486. package/src/base/auto-complete/index.ts +0 -20
  487. package/src/base/feedback/index.ts +0 -21
  488. package/src/base/focus/index.ts +0 -17
  489. package/src/base/index.ts +0 -33
  490. package/src/base/model/index.ts +0 -19
  491. package/src/base/tool-manager/index.ts +0 -17
  492. package/src/base/ui-extension/index.ts +0 -17
  493. package/src/base/view/index.ts +0 -18
  494. package/src/features/accessibility/edge-autocomplete/index.ts +0 -19
  495. package/src/features/accessibility/element-navigation/index.ts +0 -21
  496. package/src/features/accessibility/focus-tracker/index.ts +0 -17
  497. package/src/features/accessibility/index.ts +0 -30
  498. package/src/features/accessibility/key-shortcut/index.ts +0 -18
  499. package/src/features/accessibility/keyboard-grid/index.ts +0 -20
  500. package/src/features/accessibility/keyboard-pointer/index.ts +0 -21
  501. package/src/features/accessibility/keyboard-tool-palette/index.ts +0 -17
  502. package/src/features/accessibility/move-zoom/index.ts +0 -18
  503. package/src/features/accessibility/resize-key-tool/index.ts +0 -18
  504. package/src/features/accessibility/search/index.ts +0 -18
  505. package/src/features/accessibility/toast/index.ts +0 -18
  506. package/src/features/accessibility/view-key-tools/index.ts +0 -19
  507. package/src/features/bounds/index.ts +0 -24
  508. package/src/features/change-bounds/index.ts +0 -21
  509. package/src/features/command-palette/index.ts +0 -19
  510. package/src/features/context-menu/index.ts +0 -19
  511. package/src/features/copy-paste/index.ts +0 -19
  512. package/src/features/debug/index.ts +0 -19
  513. package/src/features/decoration/index.ts +0 -17
  514. package/src/features/element-template/index.ts +0 -19
  515. package/src/features/export/index.ts +0 -18
  516. package/src/features/grid/index.ts +0 -20
  517. package/src/features/helper-lines/index.ts +0 -21
  518. package/src/features/hints/index.ts +0 -18
  519. package/src/features/hover/index.ts +0 -17
  520. package/src/features/index.ts +0 -45
  521. package/src/features/label-edit/index.ts +0 -18
  522. package/src/features/label-edit-ui/index.ts +0 -17
  523. package/src/features/layout/index.ts +0 -17
  524. package/src/features/navigation/index.ts +0 -18
  525. package/src/features/reconnect/index.ts +0 -16
  526. package/src/features/routing/index.ts +0 -17
  527. package/src/features/save/index.ts +0 -17
  528. package/src/features/select/index.ts +0 -18
  529. package/src/features/source-model-watcher/index.ts +0 -17
  530. package/src/features/status/index.ts +0 -17
  531. package/src/features/svg-metadata/index.ts +0 -17
  532. package/src/features/tool-palette/index.ts +0 -17
  533. package/src/features/tools/change-bounds/index.ts +0 -22
  534. package/src/features/tools/deletion/index.ts +0 -17
  535. package/src/features/tools/edge-creation/index.ts +0 -20
  536. package/src/features/tools/edge-edit/index.ts +0 -18
  537. package/src/features/tools/index.ts +0 -23
  538. package/src/features/tools/marquee-selection/index.ts +0 -22
  539. package/src/features/tools/node-creation/index.ts +0 -17
  540. package/src/features/undo-redo/index.ts +0 -17
  541. package/src/features/validation/index.ts +0 -19
  542. package/src/features/viewport/index.ts +0 -20
  543. package/src/utils/index.ts +0 -22
  544. package/src/views/index.ts +0 -23
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2023 EclipseSource and others.
2
+ * Copyright (c) 2023-2024 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -17,16 +17,13 @@
17
17
  import { Action, Dimension, GModelElement, MoveAction, Point, isBoundsAware, isMoveable } from '@eclipse-glsp/sprotty';
18
18
  import { DragAwareMouseListener } from '../../base/drag-aware-mouse-listener';
19
19
  import { CSS_HIDDEN, ModifyCSSFeedbackAction } from '../../base/feedback/css-feedback';
20
- import { FeedbackEmitter } from '../../base/feedback/feeback-emitter';
21
- import { MoveableElement, getAbsolutePosition } from '../../utils';
22
- import {
23
- CSS_RESIZE_MODE,
24
- ChangeBoundsManager,
25
- ChangeBoundsTracker,
26
- FeedbackAwareTool,
27
- MoveFinishedEventAction,
28
- TrackedElementMove
29
- } from '../tools';
20
+ import { FeedbackEmitter } from '../../base/feedback/feedback-emitter';
21
+ import { MoveableElement } from '../../utils/gmodel-util';
22
+ import { getAbsolutePosition } from '../../utils/viewpoint-util';
23
+ import { FeedbackAwareTool } from '../tools/base-tools';
24
+ import { ChangeBoundsManager } from '../tools/change-bounds/change-bounds-manager';
25
+ import { MoveFinishedEventAction } from '../tools/change-bounds/change-bounds-tool-feedback';
26
+ import { ChangeBoundsTracker, TrackedMove } from '../tools/change-bounds/change-bounds-tracker';
30
27
 
31
28
  export interface PositioningTool extends FeedbackAwareTool {
32
29
  readonly changeBoundsManager: ChangeBoundsManager;
@@ -51,16 +48,16 @@ export class MouseTrackingElementPositionListener extends DragAwareMouseListener
51
48
  return !element || !isMoveable(element) ? undefined : element;
52
49
  }
53
50
 
54
- override mouseMove(target: GModelElement, event: MouseEvent): Action[] {
55
- super.mouseMove(target, event);
56
- const element = this.getTrackedElement(target, event);
51
+ override mouseMove(ctx: GModelElement, event: MouseEvent): Action[] {
52
+ super.mouseMove(ctx, event);
53
+ const element = this.getTrackedElement(ctx, event);
57
54
  if (!element) {
58
55
  return [];
59
56
  }
60
57
  if (!this.tracker.isTracking()) {
61
- this.initialize(element, target, event);
58
+ this.initialize(element, ctx, event);
62
59
  }
63
- const move = this.tracker.moveElements([element], { snap: event, restrict: event, validate: true });
60
+ const move = this.tracker.moveElements([element], { snap: event, restrict: event });
64
61
  const elementMove = move.elementMoves[0];
65
62
  if (!elementMove) {
66
63
  return [];
@@ -71,7 +68,7 @@ export class MouseTrackingElementPositionListener extends DragAwareMouseListener
71
68
  MoveAction.create([{ elementId: this.elementId, toPosition: elementMove.toPosition }], { animate: false }),
72
69
  MoveFinishedEventAction.create()
73
70
  );
74
- this.addMoveFeeback(elementMove);
71
+ this.addMoveFeedback(move, ctx, event);
75
72
  this.moveGhostFeedback.submit();
76
73
  this.tracker.updateTrackingPosition(elementMove.moveVector);
77
74
  return [];
@@ -89,13 +86,9 @@ export class MouseTrackingElementPositionListener extends DragAwareMouseListener
89
86
  : mousePosition;
90
87
  }
91
88
 
92
- protected addMoveFeeback(move: TrackedElementMove): void {
93
- this.tool.changeBoundsManager.addRestrictionFeedback(this.moveGhostFeedback, move);
94
- this.moveGhostFeedback.add(ModifyCSSFeedbackAction.create({ elements: [move.element.id], remove: [CSS_HIDDEN] }));
95
- this.moveGhostFeedback.add(
96
- ModifyCSSFeedbackAction.create({ add: [CSS_RESIZE_MODE] }),
97
- ModifyCSSFeedbackAction.create({ remove: [CSS_RESIZE_MODE] })
98
- );
89
+ protected addMoveFeedback(move: TrackedMove, ctx: GModelElement, event: MouseEvent): void {
90
+ this.moveGhostFeedback.add(ModifyCSSFeedbackAction.create({ elements: [this.elementId], remove: [CSS_HIDDEN] }));
91
+ this.tool.changeBoundsManager.addMoveFeedback(this.moveGhostFeedback, move, ctx, event);
99
92
  }
100
93
 
101
94
  override dispose(): void {
@@ -16,7 +16,8 @@
16
16
 
17
17
  import { IActionHandler, PropertiesOfType, TYPES } from '@eclipse-glsp/sprotty';
18
18
  import { inject, injectable, postConstruct } from 'inversify';
19
- import { FeedbackEmitter, IFeedbackActionDispatcher } from '../../base';
19
+ import { IFeedbackActionDispatcher } from '../../base/feedback/feedback-action-dispatcher';
20
+ import { FeedbackEmitter } from '../../base/feedback/feedback-emitter';
20
21
  import { Grid } from './grid';
21
22
  import { ShowGridAction } from './grid-model';
22
23
 
@@ -15,8 +15,8 @@
15
15
  ********************************************************************************/
16
16
  import { Action, CommandExecutionContext, CommandReturn, GModelRoot, TYPES, hasBooleanProp } from '@eclipse-glsp/sprotty';
17
17
  import { inject, injectable } from 'inversify';
18
- import { FeedbackCommand } from '../../base';
19
- import { addCssClasses, removeCssClasses } from '../../utils';
18
+ import { FeedbackCommand } from '../../base/feedback/feedback-command';
19
+ import { addCssClasses, removeCssClasses } from '../../utils/gmodel-util';
20
20
 
21
21
  export interface ShowGridAction extends Action {
22
22
  kind: typeof ShowGridCommand.KIND;
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2023 Axon Ivy AG and others.
2
+ * Copyright (c) 2023-2024 Axon Ivy AG and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -14,7 +14,7 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
 
17
- import { FeatureModule, TYPES, bindAsService, configureActionHandler, configureCommand } from '@eclipse-glsp/sprotty';
17
+ import { FeatureModule, TYPES, configureActionHandler, configureCommand } from '@eclipse-glsp/sprotty';
18
18
  import '../../../css/grid.css';
19
19
  import { GridManager } from './grid-manager';
20
20
  import { ShowGridAction, ShowGridCommand } from './grid-model';
@@ -27,7 +27,7 @@ export const gridModule = new FeatureModule((bind, unbind, isBound, rebind) => {
27
27
 
28
28
  configureCommand(context, ShowGridCommand);
29
29
 
30
- bindAsService(bind, TYPES.IGridManager, GridManager);
30
+ bind(GridManager).toSelf().inSingletonScope();
31
31
  configureActionHandler(context, ShowGridAction.KIND, GridManager);
32
32
 
33
33
  bind(TYPES.ISnapper).to(GridSnapper);
@@ -46,7 +46,7 @@ import {
46
46
  isVisibleOnCanvas
47
47
  } from '../../utils/gmodel-util';
48
48
  import { getViewportBounds, toAbsoluteBounds } from '../../utils/viewpoint-util';
49
- import { feedbackEdgeEndId, feedbackEdgeId } from '../tools';
49
+ import { feedbackEdgeEndId, feedbackEdgeId } from '../tools/edge-creation/dangling-edge-feedback';
50
50
  import { HelperLine, HelperLineType, SelectionBounds, isHelperLine, isSelectionBounds } from './model';
51
51
 
52
52
  export type ViewportLineType = typeof HelperLineType.Center | typeof HelperLineType.Middle | string;
@@ -26,11 +26,12 @@ import {
26
26
  Writable
27
27
  } from '@eclipse-glsp/sprotty';
28
28
  import { inject, injectable, optional, postConstruct } from 'inversify';
29
- import { FeedbackEmitter } from '../../base';
30
29
  import { IFeedbackActionDispatcher } from '../../base/feedback/feedback-action-dispatcher';
30
+ import { FeedbackEmitter } from '../../base/feedback/feedback-emitter';
31
31
  import { ISelectionListener, SelectionService } from '../../base/selection-service';
32
32
  import { SetBoundsFeedbackAction } from '../bounds/set-bounds-feedback-command';
33
- import { Grid } from '../grid';
33
+ import { ResizeHandleLocation, SResizeHandle } from '../change-bounds/model';
34
+ import { Grid } from '../grid/grid';
34
35
  import { MoveFinishedEventAction, MoveInitializedEventAction } from '../tools/change-bounds/change-bounds-tool-feedback';
35
36
  import {
36
37
  AlignmentElementFilter,
@@ -165,32 +166,87 @@ export class HelperLineManager implements IActionHandler, ISelectionListener, IH
165
166
  if (!isSnap) {
166
167
  return 0;
167
168
  }
168
- return direction === Direction.Left || direction === Direction.Right
169
- ? this.options.minimumMoveDelta.x
170
- : this.options.minimumMoveDelta.y;
169
+ const minimumMoveDelta = this.options.minimumMoveDelta;
170
+ return direction === Direction.Left || direction === Direction.Right ? minimumMoveDelta.x : minimumMoveDelta.y;
171
171
  }
172
172
 
173
- getMinimumMoveVector(element: GModelElement, isSnap: boolean, directions: Direction[]): Vector | undefined {
173
+ getMinimumMoveVector(element: GModelElement, isSnap: boolean, move: Direction[]): Vector | undefined {
174
174
  if (!isSnap) {
175
175
  return undefined;
176
176
  }
177
177
 
178
- const helperLines = element.root.children.filter(child => isHelperLine(child)) as HelperLine[];
179
- if (helperLines.length === 0) {
178
+ const state = this.getHelperLineState(element);
179
+ if (state.helperLines.length === 0) {
180
180
  return undefined;
181
181
  }
182
182
 
183
183
  const minimum: Writable<Vector> = { ...Vector.ZERO };
184
- if (directions.includes(Direction.Left) && helperLines.some(line => line.isLeft || line.isCenter)) {
184
+ const resize =
185
+ element instanceof SResizeHandle
186
+ ? ResizeHandleLocation.direction(element.location)
187
+ : [Direction.Left, Direction.Right, Direction.Up, Direction.Down];
188
+
189
+ if ((state.types.left || state.types.center) && move.includes(Direction.Left) && resize.includes(Direction.Left)) {
185
190
  minimum.x = this.getMinimumMoveDelta(element, isSnap, Direction.Left);
186
- } else if (directions.includes(Direction.Right) && helperLines.some(line => line.isRight || line.isCenter)) {
191
+ } else if ((state.types.right || state.types.center) && move.includes(Direction.Right) && resize.includes(Direction.Right)) {
187
192
  minimum.x = this.getMinimumMoveDelta(element, isSnap, Direction.Right);
188
193
  }
189
- if (directions.includes(Direction.Up) && helperLines.some(line => line.isTop || line.isMiddle)) {
194
+ if ((state.types.top || state.types.middle) && move.includes(Direction.Up) && resize.includes(Direction.Up)) {
190
195
  minimum.y = this.getMinimumMoveDelta(element, isSnap, Direction.Up);
191
- } else if (directions.includes(Direction.Down) && helperLines.some(line => line.isBottom || line.isMiddle)) {
196
+ } else if ((state.types.bottom || state.types.middle) && move.includes(Direction.Down) && resize.includes(Direction.Down)) {
192
197
  minimum.y = this.getMinimumMoveDelta(element, isSnap, Direction.Down);
193
198
  }
194
199
  return Vector.isZero(minimum) ? undefined : minimum;
195
200
  }
201
+
202
+ protected getHelperLineState(element: GModelElement): HelperLineState {
203
+ const helperLines = element.root.children.filter(isHelperLine) || [];
204
+ const types = {
205
+ left: false,
206
+ right: false,
207
+ top: false,
208
+ bottom: false,
209
+ center: false,
210
+ middle: false
211
+ };
212
+ for (const line of helperLines) {
213
+ switch (line.lineType) {
214
+ case HelperLineType.Left:
215
+ case HelperLineType.LeftRight:
216
+ types.left = true;
217
+ break;
218
+ case HelperLineType.Right:
219
+ case HelperLineType.RightLeft:
220
+ types.right = true;
221
+ break;
222
+ case HelperLineType.Top:
223
+ case HelperLineType.TopBottom:
224
+ types.top = true;
225
+ break;
226
+ case HelperLineType.Bottom:
227
+ case HelperLineType.BottomTop:
228
+ types.bottom = true;
229
+ break;
230
+ case HelperLineType.Center:
231
+ types.center = true;
232
+ break;
233
+ case HelperLineType.Middle:
234
+ types.middle = true;
235
+ break;
236
+ }
237
+ }
238
+ return { helperLines, types };
239
+ }
240
+ }
241
+
242
+ export interface HelperLineState {
243
+ helperLines: HelperLine[];
244
+ types: {
245
+ left: boolean;
246
+ right: boolean;
247
+ top: boolean;
248
+ bottom: boolean;
249
+ center: boolean;
250
+ middle: boolean;
251
+ };
196
252
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2023 EclipseSource and others.
2
+ * Copyright (c) 2019-2024 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -24,7 +24,12 @@ export interface Containable {
24
24
  isContainableElement(input: GModelElement | GModelElementSchema | string): boolean;
25
25
  }
26
26
 
27
- export function isContainable(element: GModelElement): element is GModelElement & Containable {
27
+ /**
28
+ * A union type for all elements that can contain other elements.
29
+ */
30
+ export type ContainerElement = GModelElement & Containable;
31
+
32
+ export function isContainable(element: GModelElement): element is ContainerElement {
28
33
  return element.hasFeature(containerFeature);
29
34
  }
30
35
 
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2023 EclipseSource and others.
2
+ * Copyright (c) 2023-2024 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -35,14 +35,14 @@ import {
35
35
  import { expect } from 'chai';
36
36
  import { Container } from 'inversify';
37
37
  import * as sinon from 'sinon';
38
- import { FeedbackEmitter } from '../../base';
39
38
  import { GLSPActionDispatcher } from '../../base/action-dispatcher';
40
- import { FeedbackActionDispatcher } from '../../base/feedback/feedback-action-dispatcher';
39
+ import { FeedbackActionDispatcher } from '../../base/feedback/feedback-action-dispatcher-default';
41
40
  import { GEdge } from '../../model';
42
41
  import { isResizable } from '../change-bounds/model';
43
42
  import { isReconnectable } from '../reconnect/model';
44
43
  import { Containable, isContainable, isReparentable } from './model';
45
44
  import { ApplyTypeHintsAction, ApplyTypeHintsCommand, ITypeHintProvider, TypeHintProvider } from './type-hint-provider';
45
+ import { FeedbackEmitter } from '../../base/feedback/feedback-emitter';
46
46
  describe('TypeHintProvider', () => {
47
47
  const container = new Container();
48
48
  container.bind(GLSPActionDispatcher).toConstantValue(sinon.createStubInstance(GLSPActionDispatcher));
@@ -37,10 +37,10 @@ import {
37
37
  } from '@eclipse-glsp/sprotty';
38
38
  import { inject, injectable, postConstruct } from 'inversify';
39
39
 
40
- import { FeedbackEmitter } from '../../base';
41
40
  import { GLSPActionDispatcher } from '../../base/action-dispatcher';
42
41
  import { IFeedbackActionDispatcher } from '../../base/feedback/feedback-action-dispatcher';
43
42
  import { FeedbackCommand } from '../../base/feedback/feedback-command';
43
+ import { FeedbackEmitter } from '../../base/feedback/feedback-emitter';
44
44
  import { IDiagramStartup } from '../../base/model/diagram-loader';
45
45
  import { GEdge } from '../../model';
46
46
  import { getElementTypeId } from '../../utils/gmodel-util';
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2023 EclipseSource and others.
2
+ * Copyright (c) 2019-2024 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,12 +13,12 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, BringToFrontAction, GModelElement, SelectAction, SelectMouseListener, TYPES } from '@eclipse-glsp/sprotty';
16
+ import { Action, BringToFrontAction, GModelElement, SelectAction, SelectMouseListener } from '@eclipse-glsp/sprotty';
17
17
  import { inject, injectable, optional } from 'inversify';
18
18
  import { Ranked } from '../../base/ranked';
19
- import { SelectableElement } from '../../utils';
20
- import { SResizeHandle } from '../change-bounds';
21
- import { ChangeBoundsManager } from '../tools';
19
+ import { SelectableElement } from '../../utils/gmodel-util';
20
+ import { SResizeHandle } from '../change-bounds/model';
21
+ import { ChangeBoundsManager } from '../tools/change-bounds/change-bounds-manager';
22
22
 
23
23
  /**
24
24
  * Ranked select mouse listener that is executed before default mouse listeners when using the RankedMouseTool.
@@ -28,7 +28,7 @@ import { ChangeBoundsManager } from '../tools';
28
28
  export class RankedSelectMouseListener extends SelectMouseListener implements Ranked {
29
29
  rank: number = Ranked.DEFAULT_RANK - 100; /* we want to be executed before all default mouse listeners */
30
30
 
31
- @inject(TYPES.IChangeBoundsManager) @optional() readonly changeBoundsManager?: ChangeBoundsManager;
31
+ @inject(ChangeBoundsManager) @optional() readonly changeBoundsManager?: ChangeBoundsManager;
32
32
 
33
33
  protected override handleSelectTarget(
34
34
  selectableTarget: SelectableElement,
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2023 EclipseSource and others.
2
+ * Copyright (c) 2019-2024 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -26,7 +26,6 @@ import {
26
26
  SetContextActions,
27
27
  SetModelAction,
28
28
  SetUIExtensionVisibilityAction,
29
- TYPES,
30
29
  TriggerNodeCreationAction,
31
30
  UpdateModelAction,
32
31
  codiconCSSClasses,
@@ -38,11 +37,11 @@ import { EditorContextService, IEditModeListener } from '../../base/editor-conte
38
37
  import { FocusTracker } from '../../base/focus/focus-tracker';
39
38
  import { IDiagramStartup } from '../../base/model/diagram-loader';
40
39
  import { EnableDefaultToolsAction, EnableToolsAction } from '../../base/tool-manager/tool';
41
- import { DebugManager } from '../debug';
42
- import { GridManager } from '../grid';
40
+ import { DebugManager } from '../debug/debug-manager';
41
+ import { GridManager } from '../grid/grid-manager';
43
42
  import { MouseDeleteTool } from '../tools/deletion/delete-tool';
44
43
  import { MarqueeMouseTool } from '../tools/marquee-selection/marquee-mouse-tool';
45
- import { OriginViewportAction } from '../viewport';
44
+ import { OriginViewportAction } from '../viewport/origin-viewport';
46
45
 
47
46
  const CLICKED_CSS_CLASS = 'clicked';
48
47
  const SEARCH_ICON_ID = 'search';
@@ -78,11 +77,11 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
78
77
  @inject(FocusTracker)
79
78
  protected focusTracker: FocusTracker;
80
79
 
81
- @inject(TYPES.IGridManager)
80
+ @inject(GridManager)
82
81
  @optional()
83
82
  protected gridManager?: GridManager;
84
83
 
85
- @inject(TYPES.IDebugManager)
84
+ @inject(DebugManager)
86
85
  @optional()
87
86
  protected debugManager?: DebugManager;
88
87
 
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2023 EclipseSource and others.
2
+ * Copyright (c) 2020-2024 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -17,8 +17,8 @@ import { Action, Disposable, DisposableCollection, IActionHandler, TYPES } from
17
17
  import { inject, injectable } from 'inversify';
18
18
  import { GLSPActionDispatcher } from '../../base/action-dispatcher';
19
19
  import { EditorContextService } from '../../base/editor-context-service';
20
- import { FeedbackEmitter } from '../../base/feedback/feeback-emitter';
21
20
  import { IFeedbackActionDispatcher, IFeedbackEmitter, MaybeActions } from '../../base/feedback/feedback-action-dispatcher';
21
+ import { FeedbackEmitter } from '../../base/feedback/feedback-emitter';
22
22
  import { EnableToolsAction, Tool } from '../../base/tool-manager/tool';
23
23
  import { GLSPKeyTool } from '../../base/view/key-tool';
24
24
  import { GLSPMouseTool } from '../../base/view/mouse-tool';
@@ -28,19 +28,32 @@ import {
28
28
  isLocateable
29
29
  } from '@eclipse-glsp/sprotty';
30
30
  import { inject, injectable, optional } from 'inversify';
31
- import { FeedbackEmitter } from '../../../base';
32
- import { isValidMove, minDimensions } from '../../../utils';
31
+
32
+ import {
33
+ CursorCSS,
34
+ ModifyCSSFeedbackAction,
35
+ applyCssClasses,
36
+ cursorFeedbackAction,
37
+ deleteCssClasses,
38
+ toggleCssClasses
39
+ } from '../../../base/feedback/css-feedback';
40
+ import { FeedbackEmitter } from '../../../base/feedback/feedback-emitter';
41
+ import { isValidMove, minDimensions } from '../../../utils/layout-utils';
33
42
  import { LayoutAware } from '../../bounds/layout-data';
43
+ import { ResizeHandleLocation, SResizeHandle } from '../../change-bounds/model';
34
44
  import {
35
45
  IMovementRestrictor,
36
- ResizeHandleLocation,
37
46
  movementRestrictionFeedback,
38
47
  removeMovementRestrictionFeedback
39
- } from '../../change-bounds';
40
- import { IHelperLineManager } from '../../helper-lines';
41
- import { ChangeBoundsTracker, TrackedElementMove } from './change-bounds-tracker';
48
+ } from '../../change-bounds/movement-restrictor';
49
+ import { GridManager } from '../../grid/grid-manager';
50
+ import { IHelperLineManager } from '../../helper-lines/helper-line-manager';
51
+ import { InsertIndicator } from '../node-creation/insert-indicator';
52
+ import { ChangeBoundsTracker, TrackedElementMove, TrackedElementResize, TrackedMove, TrackedResize } from './change-bounds-tracker';
42
53
 
43
54
  export const CSS_RESIZE_MODE = 'resize-mode';
55
+ export const CSS_RESTRICTED_RESIZE = 'resize-not-allowed';
56
+ export const CSS_ACTIVE_HANDLE = 'active';
44
57
 
45
58
  @injectable()
46
59
  export class ChangeBoundsManager {
@@ -48,7 +61,8 @@ export class ChangeBoundsManager {
48
61
  @inject(MousePositionTracker) readonly positionTracker: MousePositionTracker,
49
62
  @optional() @inject(TYPES.IMovementRestrictor) readonly movementRestrictor?: IMovementRestrictor,
50
63
  @optional() @inject(TYPES.ISnapper) readonly snapper?: ISnapper,
51
- @optional() @inject(TYPES.IHelperLineManager) readonly helperLineManager?: IHelperLineManager
64
+ @optional() @inject(TYPES.IHelperLineManager) readonly helperLineManager?: IHelperLineManager,
65
+ @optional() @inject(GridManager) protected gridManager?: GridManager
52
66
  ) {}
53
67
 
54
68
  unsnapModifier(): KeyboardModifier | undefined {
@@ -102,7 +116,7 @@ export class ChangeBoundsManager {
102
116
  }
103
117
 
104
118
  restrictMovement(element: GModelElement, movement: Movement): Movement {
105
- const minimumMovement = this.helperLineManager?.getMinimumMoveVector(element, true, movement.direction);
119
+ const minimumMovement = this.getMinimumMovement(element, movement);
106
120
  if (!minimumMovement) {
107
121
  return movement;
108
122
  }
@@ -116,23 +130,67 @@ export class ChangeBoundsManager {
116
130
  return Point.move(movement.from, targetPosition);
117
131
  }
118
132
 
119
- addRestrictionFeedback(feedback: FeedbackEmitter, move: TrackedElementMove): FeedbackEmitter {
133
+ protected getMinimumMovement(element: GModelElement, movement: Movement): Vector | undefined {
134
+ return element instanceof InsertIndicator && this.gridManager
135
+ ? this.gridManager.grid
136
+ : this.helperLineManager?.getMinimumMoveVector(element, true, movement.direction);
137
+ }
138
+
139
+ addMoveFeedback(feedback: FeedbackEmitter, trackedMove: TrackedMove, ctx?: GModelElement, event?: MouseEvent): FeedbackEmitter {
140
+ // cursor feedback on graph
141
+ feedback.add(cursorFeedbackAction(CursorCSS.MOVE), cursorFeedbackAction(CursorCSS.DEFAULT));
142
+
143
+ // restriction feedback on each element
144
+ trackedMove.elementMoves.forEach(move => this.addMoveRestrictionFeedback(feedback, move, ctx, event));
145
+
146
+ return feedback;
147
+ }
148
+
149
+ addResizeFeedback(feedback: FeedbackEmitter, resize: TrackedResize, ctx?: GModelElement, event?: MouseEvent): FeedbackEmitter {
150
+ // graph feedback
151
+ feedback.add(
152
+ ModifyCSSFeedbackAction.create({ add: [CSS_RESIZE_MODE] }),
153
+ ModifyCSSFeedbackAction.create({ remove: [CSS_RESIZE_MODE] })
154
+ );
155
+
156
+ // cursor feedback on graph
157
+ const cursorClass = SResizeHandle.getCursorCss(resize.handleMove.element);
158
+ feedback.add(cursorFeedbackAction(cursorClass), cursorFeedbackAction(CursorCSS.DEFAULT));
159
+
160
+ // handle feedback
161
+ const handle = resize.handleMove.element;
162
+ feedback.add(applyCssClasses(handle, CSS_ACTIVE_HANDLE), deleteCssClasses(handle, CSS_ACTIVE_HANDLE));
163
+ feedback.add(toggleCssClasses(handle, !resize.valid.size, CSS_RESTRICTED_RESIZE), deleteCssClasses(handle, CSS_RESTRICTED_RESIZE));
164
+
165
+ // restriction feedback on each element
166
+ resize.elementResizes.forEach(elementResize => {
167
+ this.addMoveRestrictionFeedback(feedback, elementResize, ctx, event);
168
+ feedback.add(
169
+ toggleCssClasses(elementResize.element, !elementResize.valid.size, CSS_RESTRICTED_RESIZE),
170
+ deleteCssClasses(elementResize.element, CSS_RESTRICTED_RESIZE)
171
+ );
172
+ });
173
+ return feedback;
174
+ }
175
+
176
+ addMoveRestrictionFeedback(
177
+ feedback: FeedbackEmitter,
178
+ change: TrackedElementResize | TrackedElementMove,
179
+ ctx?: GModelElement,
180
+ event?: MouseEvent
181
+ ): FeedbackEmitter {
120
182
  if (this.movementRestrictor) {
183
+ const valid = TrackedElementMove.is(change) ? change.valid : change.valid.move;
121
184
  feedback.add(
122
- movementRestrictionFeedback(move.element, this.movementRestrictor!, move.valid),
123
- removeMovementRestrictionFeedback(move.element, this.movementRestrictor!)
185
+ movementRestrictionFeedback(change.element, this.movementRestrictor, valid),
186
+ removeMovementRestrictionFeedback(change.element, this.movementRestrictor)
124
187
  );
125
188
  }
126
189
  return feedback;
127
190
  }
128
191
 
129
192
  defaultResizeLocations(): ResizeHandleLocation[] {
130
- return [
131
- ResizeHandleLocation.TopLeft,
132
- ResizeHandleLocation.TopRight,
133
- ResizeHandleLocation.BottomRight,
134
- ResizeHandleLocation.BottomLeft
135
- ];
193
+ return ResizeHandleLocation.CORNERS;
136
194
  }
137
195
 
138
196
  useSymmetricResize(arg: MouseEvent | KeyboardEvent | any): boolean {
@@ -71,7 +71,7 @@ export class ShowChangeBoundsToolResizeFeedbackCommand extends FeedbackCommand {
71
71
  static readonly KIND = ShowChangeBoundsToolResizeFeedbackAction.KIND;
72
72
 
73
73
  @inject(TYPES.Action) protected action: ShowChangeBoundsToolResizeFeedbackAction;
74
- @inject(TYPES.IChangeBoundsManager) protected changeBoundsManager: ChangeBoundsManager;
74
+ @inject(ChangeBoundsManager) protected changeBoundsManager: ChangeBoundsManager;
75
75
 
76
76
  execute(context: CommandExecutionContext): CommandReturn {
77
77
  const index = context.root.index;
@@ -81,7 +81,10 @@ export class ShowChangeBoundsToolResizeFeedbackCommand extends FeedbackCommand {
81
81
  if (this.action.elementId) {
82
82
  const resizeElement = index.getById(this.action.elementId);
83
83
  if (resizeElement && isResizable(resizeElement)) {
84
- addResizeHandles(resizeElement, this.action.resizeLocations ?? this.changeBoundsManager.defaultResizeLocations());
84
+ addResizeHandles(
85
+ resizeElement,
86
+ this.action.resizeLocations ?? resizeElement.resizeLocations ?? this.changeBoundsManager.defaultResizeLocations()
87
+ );
85
88
  }
86
89
  }
87
90
  return context.root;
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2023 EclipseSource and others.
2
+ * Copyright (c) 2019-2024 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -23,7 +23,7 @@ import { SResizeHandleView } from './view';
23
23
 
24
24
  export const changeBoundsToolModule = new FeatureModule((bind, unbind, isBound, rebind) => {
25
25
  const context = { bind, unbind, isBound, rebind };
26
- bindAsService(context, TYPES.IChangeBoundsManager, ChangeBoundsManager);
26
+ bind(ChangeBoundsManager).toSelf().inSingletonScope();
27
27
  bindAsService(context, TYPES.IDefaultTool, ChangeBoundsTool);
28
28
  configureCommand(context, ShowChangeBoundsToolResizeFeedbackCommand);
29
29
  configureCommand(context, HideChangeBoundsToolResizeFeedbackCommand);
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2023 EclipseSource and others.
2
+ * Copyright (c) 2019-2024 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -16,14 +16,20 @@
16
16
  import { Action, ElementMove, GModelElement, GModelRoot, MoveAction, Point, findParentByFeature } from '@eclipse-glsp/sprotty';
17
17
 
18
18
  import { DebouncedFunc, debounce } from 'lodash';
19
- import { ChangeBoundsTracker, TrackedMove } from '.';
20
19
  import { DragAwareMouseListener } from '../../../base/drag-aware-mouse-listener';
21
20
  import { CursorCSS, cursorFeedbackAction } from '../../../base/feedback/css-feedback';
22
- import { FeedbackEmitter } from '../../../base/feedback/feeback-emitter';
23
- import { MoveableElement, filter, getElements, isNonRoutableSelectedMovableBoundsAware, removeDescendants } from '../../../utils';
21
+ import { FeedbackEmitter } from '../../../base/feedback/feedback-emitter';
22
+ import {
23
+ MoveableElement,
24
+ filter,
25
+ getElements,
26
+ isNonRoutableSelectedMovableBoundsAware,
27
+ removeDescendants
28
+ } from '../../../utils/gmodel-util';
24
29
  import { SResizeHandle } from '../../change-bounds/model';
25
30
  import { ChangeBoundsTool } from './change-bounds-tool';
26
31
  import { MoveFinishedEventAction, MoveInitializedEventAction } from './change-bounds-tool-feedback';
32
+ import { ChangeBoundsTracker, TrackedMove } from './change-bounds-tracker';
27
33
 
28
34
  /**
29
35
  * This mouse listener provides visual feedback for moving by sending client-side
@@ -128,7 +134,7 @@ export class FeedbackMoveMouseListener extends DragAwareMouseListener {
128
134
  // cancel any pending move
129
135
  this.pendingMoveInitialized?.cancel();
130
136
  this.moveFeedback.add(this.createMoveAction(move), () => this.resetElementPositions(target));
131
- this.addMovementFeedback(move, target, event);
137
+ this.addMoveFeedback(move, target, event);
132
138
  this.tracker.updateTrackingPosition(move);
133
139
  this.moveFeedback.submit();
134
140
  return [];
@@ -142,12 +148,8 @@ export class FeedbackMoveMouseListener extends DragAwareMouseListener {
142
148
  );
143
149
  }
144
150
 
145
- protected addMovementFeedback(trackedMove: TrackedMove, ctx: GModelElement, event: MouseEvent): void {
146
- // cursor feedback
147
- this.moveFeedback.add(cursorFeedbackAction(CursorCSS.MOVE), cursorFeedbackAction(CursorCSS.DEFAULT));
148
-
149
- // restriction feedback
150
- trackedMove.elementMoves.forEach(move => this.tool.changeBoundsManager.addRestrictionFeedback(this.moveFeedback, move));
151
+ protected addMoveFeedback(trackedMove: TrackedMove, ctx: GModelElement, event: MouseEvent): void {
152
+ this.tool.changeBoundsManager.addMoveFeedback(this.moveFeedback, trackedMove, ctx, event);
151
153
  }
152
154
 
153
155
  protected initializeElementsToMove(root: GModelRoot): void {