@eclipse-glsp/client 0.9.0-next.d9bed812 → 0.9.0-next.e99d24cc

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 (627) hide show
  1. package/LICENSE +642 -277
  2. package/README.md +2 -1
  3. package/css/command-palette.css +9 -5
  4. package/css/decoration.css +3 -2
  5. package/css/glsp-sprotty.css +16 -7
  6. package/css/tool-palette.css +44 -27
  7. package/lib/base/action-dispatcher.d.ts +18 -2
  8. package/lib/base/action-dispatcher.d.ts.map +1 -1
  9. package/lib/base/action-dispatcher.js +41 -61
  10. package/lib/base/action-dispatcher.js.map +1 -1
  11. package/lib/base/actions/focus-change-action.d.ts +1 -1
  12. package/lib/base/actions/focus-change-action.d.ts.map +1 -1
  13. package/lib/base/actions/focus-change-action.js +4 -5
  14. package/lib/base/actions/focus-change-action.js.map +1 -1
  15. package/lib/base/{args.d.ts → argumentable.d.ts} +4 -6
  16. package/lib/base/argumentable.d.ts.map +1 -0
  17. package/lib/base/{args.js → argumentable.js} +1 -1
  18. package/lib/base/argumentable.js.map +1 -0
  19. package/lib/base/auto-complete/auto-complete-actions.d.ts +1 -1
  20. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  21. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  22. package/lib/base/auto-complete/auto-complete-widget.d.ts +5 -5
  23. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  24. package/lib/base/auto-complete/auto-complete-widget.js +121 -152
  25. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  26. package/lib/base/auto-complete/validation-decorator.d.ts +3 -18
  27. package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -1
  28. package/lib/base/auto-complete/validation-decorator.js +49 -65
  29. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  30. package/lib/base/command-stack.d.ts +1 -1
  31. package/lib/base/command-stack.d.ts.map +1 -1
  32. package/lib/base/command-stack.js +19 -37
  33. package/lib/base/command-stack.js.map +1 -1
  34. package/lib/base/container-modules.d.ts +40 -0
  35. package/lib/base/container-modules.d.ts.map +1 -0
  36. package/lib/base/container-modules.js +100 -0
  37. package/lib/base/container-modules.js.map +1 -0
  38. package/lib/base/di.config.d.ts +13 -3
  39. package/lib/base/di.config.d.ts.map +1 -1
  40. package/lib/base/di.config.js +50 -33
  41. package/lib/base/di.config.js.map +1 -1
  42. package/lib/base/drag-aware-mouse-listener.d.ts +3 -2
  43. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  44. package/lib/base/drag-aware-mouse-listener.js +23 -62
  45. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  46. package/lib/base/editor-context-service.d.ts +42 -0
  47. package/lib/base/editor-context-service.d.ts.map +1 -0
  48. package/lib/base/editor-context-service.js +109 -0
  49. package/lib/base/editor-context-service.js.map +1 -0
  50. package/lib/base/focus-tracker.d.ts +17 -1
  51. package/lib/base/focus-tracker.d.ts.map +1 -1
  52. package/lib/base/focus-tracker.js +19 -39
  53. package/lib/base/focus-tracker.js.map +1 -1
  54. package/lib/base/model/model-registry.d.ts +5 -0
  55. package/lib/base/model/model-registry.d.ts.map +1 -0
  56. package/lib/base/model/model-registry.js +43 -0
  57. package/lib/base/model/model-registry.js.map +1 -0
  58. package/lib/base/model/update-model-command.d.ts +20 -6
  59. package/lib/base/model/update-model-command.d.ts.map +1 -1
  60. package/lib/base/model/update-model-command.js +69 -94
  61. package/lib/base/model/update-model-command.js.map +1 -1
  62. package/lib/base/model-initialization-constraint.d.ts +17 -2
  63. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  64. package/lib/base/model-initialization-constraint.js +34 -54
  65. package/lib/base/model-initialization-constraint.js.map +1 -1
  66. package/lib/base/selection-clearing-mouse-listener.d.ts +1 -1
  67. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  68. package/lib/base/selection-clearing-mouse-listener.js +11 -28
  69. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  70. package/lib/base/source-uri-aware.js +2 -5
  71. package/lib/base/source-uri-aware.js.map +1 -1
  72. package/lib/base/tool-manager/glsp-tool-manager.d.ts +2 -2
  73. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  74. package/lib/base/tool-manager/glsp-tool-manager.js +59 -141
  75. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  76. package/lib/base/types.d.ts +3 -1
  77. package/lib/base/types.d.ts.map +1 -1
  78. package/lib/base/types.js +23 -21
  79. package/lib/base/types.js.map +1 -1
  80. package/lib/base/view/view-registry.d.ts +5 -0
  81. package/lib/base/view/view-registry.d.ts.map +1 -0
  82. package/lib/base/view/view-registry.js +43 -0
  83. package/lib/base/view/view-registry.js.map +1 -0
  84. package/lib/features/change-bounds/model.d.ts +4 -2
  85. package/lib/features/change-bounds/model.d.ts.map +1 -1
  86. package/lib/features/change-bounds/model.js +21 -32
  87. package/lib/features/change-bounds/model.js.map +1 -1
  88. package/lib/features/change-bounds/movement-restrictor.d.ts +18 -2
  89. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  90. package/lib/features/change-bounds/movement-restrictor.js +34 -46
  91. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  92. package/lib/features/change-bounds/snap.d.ts +17 -1
  93. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  94. package/lib/features/change-bounds/snap.js +13 -39
  95. package/lib/features/change-bounds/snap.js.map +1 -1
  96. package/lib/features/command-palette/command-palette-tool.d.ts +1 -1
  97. package/lib/features/command-palette/command-palette-tool.d.ts.map +1 -1
  98. package/lib/features/command-palette/command-palette-tool.js +30 -38
  99. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  100. package/lib/features/command-palette/di.config.d.ts +2 -2
  101. package/lib/features/command-palette/di.config.js +6 -6
  102. package/lib/features/command-palette/di.config.js.map +1 -1
  103. package/lib/features/command-palette/server-command-palette-provider.d.ts +19 -3
  104. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  105. package/lib/features/command-palette/server-command-palette-provider.js +31 -36
  106. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  107. package/lib/features/context-menu/delete-element-context-menu.d.ts +2 -2
  108. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  109. package/lib/features/context-menu/delete-element-context-menu.js +24 -72
  110. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  111. package/lib/features/context-menu/di.config.d.ts +2 -2
  112. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  113. package/lib/features/context-menu/di.config.js +14 -18
  114. package/lib/features/context-menu/di.config.js.map +1 -1
  115. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +2 -2
  116. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  117. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +29 -67
  118. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  119. package/lib/features/context-menu/server-context-menu-provider.d.ts +19 -3
  120. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  121. package/lib/features/context-menu/server-context-menu-provider.js +31 -32
  122. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  123. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +22 -2
  124. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  125. package/lib/features/copy-paste/copy-paste-context-menu.js +99 -72
  126. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  127. package/lib/features/copy-paste/copy-paste-handler.d.ts +21 -4
  128. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  129. package/lib/features/copy-paste/copy-paste-handler.js +70 -70
  130. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  131. package/lib/features/copy-paste/di.config.d.ts +2 -2
  132. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  133. package/lib/features/copy-paste/di.config.js +11 -11
  134. package/lib/features/copy-paste/di.config.js.map +1 -1
  135. package/lib/features/decoration/decoration-placer.d.ts +17 -1
  136. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  137. package/lib/features/decoration/decoration-placer.js +14 -47
  138. package/lib/features/decoration/decoration-placer.js.map +1 -1
  139. package/lib/features/decoration/di.config.d.ts +2 -2
  140. package/lib/features/decoration/di.config.d.ts.map +1 -1
  141. package/lib/features/decoration/di.config.js +4 -6
  142. package/lib/features/decoration/di.config.js.map +1 -1
  143. package/lib/features/edit-label/di.config.d.ts +1 -1
  144. package/lib/features/edit-label/di.config.js +7 -7
  145. package/lib/features/edit-label/di.config.js.map +1 -1
  146. package/lib/features/edit-label/edit-label-tool.d.ts +2 -2
  147. package/lib/features/edit-label/edit-label-tool.js +20 -43
  148. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  149. package/lib/features/edit-label/edit-label-validator.d.ts +18 -3
  150. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  151. package/lib/features/edit-label/edit-label-validator.js +40 -62
  152. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  153. package/lib/features/hints/di.config.d.ts +1 -16
  154. package/lib/features/hints/di.config.d.ts.map +1 -1
  155. package/lib/features/hints/di.config.js +9 -9
  156. package/lib/features/hints/di.config.js.map +1 -1
  157. package/lib/features/hints/model.d.ts +3 -2
  158. package/lib/features/hints/model.d.ts.map +1 -1
  159. package/lib/features/hints/model.js +2 -2
  160. package/lib/features/hints/model.js.map +1 -1
  161. package/lib/features/hints/type-hints.d.ts +21 -49
  162. package/lib/features/hints/type-hints.d.ts.map +1 -1
  163. package/lib/features/hints/type-hints.js +83 -142
  164. package/lib/features/hints/type-hints.js.map +1 -1
  165. package/lib/features/hover/di.config.d.ts +2 -2
  166. package/lib/features/hover/di.config.d.ts.map +1 -1
  167. package/lib/features/hover/di.config.js +8 -8
  168. package/lib/features/hover/di.config.js.map +1 -1
  169. package/lib/features/hover/hover.d.ts +18 -2
  170. package/lib/features/hover/hover.d.ts.map +1 -1
  171. package/lib/features/hover/hover.js +37 -75
  172. package/lib/features/hover/hover.js.map +1 -1
  173. package/lib/features/layout/di.config.d.ts +6 -2
  174. package/lib/features/layout/di.config.d.ts.map +1 -1
  175. package/lib/features/layout/di.config.js +47 -7
  176. package/lib/features/layout/di.config.js.map +1 -1
  177. package/lib/features/layout/freeform-layout.d.ts +16 -0
  178. package/lib/features/layout/freeform-layout.d.ts.map +1 -0
  179. package/lib/features/layout/freeform-layout.js +107 -0
  180. package/lib/features/layout/freeform-layout.js.map +1 -0
  181. package/lib/features/layout/layout-commands.d.ts +26 -10
  182. package/lib/features/layout/layout-commands.d.ts.map +1 -1
  183. package/lib/features/layout/layout-commands.js +189 -264
  184. package/lib/features/layout/layout-commands.js.map +1 -1
  185. package/lib/features/layout/layout-commands.spec.d.ts +2 -17
  186. package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
  187. package/lib/features/layout/layout-commands.spec.js +124 -117
  188. package/lib/features/layout/layout-commands.spec.js.map +1 -1
  189. package/lib/features/layout/vbox-layout.d.ts +25 -0
  190. package/lib/features/layout/vbox-layout.d.ts.map +1 -0
  191. package/lib/features/layout/vbox-layout.js +188 -0
  192. package/lib/features/layout/vbox-layout.js.map +1 -0
  193. package/lib/features/model-source-watcher/di.config.d.ts +1 -16
  194. package/lib/features/model-source-watcher/di.config.d.ts.map +1 -1
  195. package/lib/features/model-source-watcher/di.config.js +7 -7
  196. package/lib/features/model-source-watcher/di.config.js.map +1 -1
  197. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +17 -2
  198. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
  199. package/lib/features/model-source-watcher/model-source-changed-action-handler.js +38 -46
  200. package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
  201. package/lib/features/mouse-tool/di.config.d.ts +1 -1
  202. package/lib/features/mouse-tool/di.config.js +5 -5
  203. package/lib/features/mouse-tool/di.config.js.map +1 -1
  204. package/lib/features/mouse-tool/mouse-tool.d.ts +3 -2
  205. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  206. package/lib/features/mouse-tool/mouse-tool.js +74 -217
  207. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  208. package/lib/features/navigation/di.config.d.ts +1 -16
  209. package/lib/features/navigation/di.config.d.ts.map +1 -1
  210. package/lib/features/navigation/di.config.js +11 -10
  211. package/lib/features/navigation/di.config.js.map +1 -1
  212. package/lib/features/navigation/navigation-action-handler.d.ts +19 -39
  213. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  214. package/lib/features/navigation/navigation-action-handler.js +118 -255
  215. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  216. package/lib/features/navigation/navigation-target-resolver.d.ts +18 -40
  217. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  218. package/lib/features/navigation/navigation-target-resolver.js +46 -188
  219. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  220. package/lib/features/navigation/navigation-target-resolver.spec.d.ts +2 -17
  221. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -1
  222. package/lib/features/navigation/navigation-target-resolver.spec.js +27 -26
  223. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  224. package/lib/features/rank/model.d.ts +2 -2
  225. package/lib/features/rank/model.d.ts.map +1 -1
  226. package/lib/features/rank/model.js +2 -2
  227. package/lib/features/rank/model.js.map +1 -1
  228. package/lib/features/reconnect/model.d.ts +2 -2
  229. package/lib/features/reconnect/model.d.ts.map +1 -1
  230. package/lib/features/reconnect/model.js +10 -28
  231. package/lib/features/reconnect/model.js.map +1 -1
  232. package/lib/features/save/di.config.d.ts +2 -2
  233. package/lib/features/save/di.config.d.ts.map +1 -1
  234. package/lib/features/save/di.config.js +6 -6
  235. package/lib/features/save/di.config.js.map +1 -1
  236. package/lib/features/save/model.d.ts +1 -1
  237. package/lib/features/save/{save.d.ts → save-keylistener.d.ts} +4 -10
  238. package/lib/features/save/save-keylistener.d.ts.map +1 -0
  239. package/lib/features/{undo-redo/model.d.ts → save/save-keylistener.js} +16 -12
  240. package/lib/features/save/save-keylistener.js.map +1 -0
  241. package/lib/features/select/di.config.d.ts +1 -1
  242. package/lib/features/select/di.config.js +11 -11
  243. package/lib/features/select/di.config.js.map +1 -1
  244. package/lib/features/select/select-feedback-action.d.ts +1 -1
  245. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  246. package/lib/features/select/select-feedback-action.js +45 -71
  247. package/lib/features/select/select-feedback-action.js.map +1 -1
  248. package/lib/features/select/select-mouse-listener.d.ts +2 -2
  249. package/lib/features/select/select-mouse-listener.js +7 -23
  250. package/lib/features/select/select-mouse-listener.js.map +1 -1
  251. package/lib/features/select/selection-service.d.ts +19 -3
  252. package/lib/features/select/selection-service.d.ts.map +1 -1
  253. package/lib/features/select/selection-service.js +134 -236
  254. package/lib/features/select/selection-service.js.map +1 -1
  255. package/lib/features/select/selection-service.spec.js +96 -138
  256. package/lib/features/select/selection-service.spec.js.map +1 -1
  257. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +21 -4
  258. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  259. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +117 -149
  260. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  261. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +19 -2
  262. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  263. package/lib/features/tool-feedback/creation-tool-feedback.js +81 -115
  264. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  265. package/lib/features/tool-feedback/css-feedback.d.ts +21 -3
  266. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  267. package/lib/features/tool-feedback/css-feedback.js +37 -81
  268. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  269. package/lib/features/tool-feedback/di.config.d.ts +2 -2
  270. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  271. package/lib/features/tool-feedback/di.config.js +27 -27
  272. package/lib/features/tool-feedback/di.config.js.map +1 -1
  273. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +21 -4
  274. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  275. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +160 -204
  276. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  277. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +19 -3
  278. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  279. package/lib/features/tool-feedback/feedback-action-dispatcher.js +35 -72
  280. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  281. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +18 -2
  282. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  283. package/lib/features/tool-feedback/marquee-tool-feedback.js +44 -86
  284. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  285. package/lib/features/tool-feedback/model.d.ts +2 -2
  286. package/lib/features/tool-feedback/model.js +11 -27
  287. package/lib/features/tool-feedback/model.js.map +1 -1
  288. package/lib/features/tool-feedback/view.d.ts +22 -6
  289. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  290. package/lib/features/tool-feedback/view.js +30 -51
  291. package/lib/features/tool-feedback/view.js.map +1 -1
  292. package/lib/features/tool-palette/di.config.d.ts +2 -2
  293. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  294. package/lib/features/tool-palette/di.config.js +6 -6
  295. package/lib/features/tool-palette/di.config.js.map +1 -1
  296. package/lib/features/tool-palette/palette-item.d.ts +2 -3
  297. package/lib/features/tool-palette/palette-item.d.ts.map +1 -1
  298. package/lib/features/tool-palette/palette-item.js +6 -6
  299. package/lib/features/tool-palette/palette-item.js.map +1 -1
  300. package/lib/features/tool-palette/tool-palette.d.ts +22 -6
  301. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  302. package/lib/features/tool-palette/tool-palette.js +225 -291
  303. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  304. package/lib/features/tools/base-glsp-tool.d.ts +21 -5
  305. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  306. package/lib/features/tools/base-glsp-tool.js +37 -59
  307. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  308. package/lib/features/tools/change-bounds-tool.d.ts +26 -9
  309. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  310. package/lib/features/tools/change-bounds-tool.js +192 -241
  311. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  312. package/lib/features/tools/delete-tool.d.ts +20 -4
  313. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  314. package/lib/features/tools/delete-tool.js +71 -104
  315. package/lib/features/tools/delete-tool.js.map +1 -1
  316. package/lib/features/tools/di.config.d.ts +1 -16
  317. package/lib/features/tools/di.config.d.ts.map +1 -1
  318. package/lib/features/tools/di.config.js +19 -19
  319. package/lib/features/tools/di.config.js.map +1 -1
  320. package/lib/features/tools/edge-creation-tool.d.ts +20 -5
  321. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  322. package/lib/features/tools/edge-creation-tool.js +64 -89
  323. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  324. package/lib/features/tools/edge-edit-tool.d.ts +22 -6
  325. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  326. package/lib/features/tools/edge-edit-tool.js +125 -189
  327. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  328. package/lib/features/tools/marquee-behavior.d.ts +42 -0
  329. package/lib/features/tools/marquee-behavior.d.ts.map +1 -0
  330. package/lib/features/tools/marquee-behavior.js +128 -0
  331. package/lib/features/tools/marquee-behavior.js.map +1 -0
  332. package/{src/features/undo-redo/model.ts → lib/features/tools/marquee-behavior.spec.d.ts} +3 -12
  333. package/lib/features/tools/marquee-behavior.spec.d.ts.map +1 -0
  334. package/lib/features/tools/marquee-behavior.spec.js +165 -0
  335. package/lib/features/tools/marquee-behavior.spec.js.map +1 -0
  336. package/lib/features/tools/marquee-mouse-tool.d.ts +27 -15
  337. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  338. package/lib/features/tools/marquee-mouse-tool.js +90 -184
  339. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  340. package/lib/features/tools/marquee-tool.d.ts +18 -2
  341. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  342. package/lib/features/tools/marquee-tool.js +32 -73
  343. package/lib/features/tools/marquee-tool.js.map +1 -1
  344. package/lib/features/tools/model.d.ts +1 -1
  345. package/lib/features/tools/model.d.ts.map +1 -1
  346. package/lib/features/tools/model.js +6 -24
  347. package/lib/features/tools/model.js.map +1 -1
  348. package/lib/features/tools/node-creation-tool.d.ts +20 -5
  349. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  350. package/lib/features/tools/node-creation-tool.js +60 -90
  351. package/lib/features/tools/node-creation-tool.js.map +1 -1
  352. package/lib/features/tools/view.d.ts +3 -18
  353. package/lib/features/tools/view.d.ts.map +1 -1
  354. package/lib/features/tools/view.js +21 -39
  355. package/lib/features/tools/view.js.map +1 -1
  356. package/lib/features/validation/di.config.d.ts +1 -1
  357. package/lib/features/validation/di.config.js +12 -12
  358. package/lib/features/validation/di.config.js.map +1 -1
  359. package/lib/features/validation/issue-marker.d.ts +3 -3
  360. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  361. package/lib/features/validation/issue-marker.js +18 -56
  362. package/lib/features/validation/issue-marker.js.map +1 -1
  363. package/lib/features/validation/marker-navigator.d.ts +19 -3
  364. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  365. package/lib/features/validation/marker-navigator.js +131 -164
  366. package/lib/features/validation/marker-navigator.js.map +1 -1
  367. package/lib/features/validation/marker-navigator.spec.d.ts +2 -17
  368. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  369. package/lib/features/validation/marker-navigator.spec.js +84 -77
  370. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  371. package/lib/features/validation/validate.d.ts +20 -31
  372. package/lib/features/validation/validate.d.ts.map +1 -1
  373. package/lib/features/validation/validate.js +148 -299
  374. package/lib/features/validation/validate.js.map +1 -1
  375. package/lib/features/viewport/di.config.d.ts +16 -1
  376. package/lib/features/viewport/di.config.d.ts.map +1 -1
  377. package/lib/features/viewport/di.config.js +10 -10
  378. package/lib/features/viewport/di.config.js.map +1 -1
  379. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +3 -2
  380. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  381. package/lib/features/viewport/glsp-scroll-mouse-listener.js +16 -47
  382. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  383. package/lib/index.d.ts +32 -35
  384. package/lib/index.d.ts.map +1 -1
  385. package/lib/index.js +33 -35
  386. package/lib/index.js.map +1 -1
  387. package/lib/lib/model.d.ts +3 -3
  388. package/lib/lib/model.d.ts.map +1 -1
  389. package/lib/lib/model.js +11 -27
  390. package/lib/lib/model.js.map +1 -1
  391. package/lib/model-source/glsp-diagram-server.d.ts +4 -6
  392. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  393. package/lib/model-source/glsp-diagram-server.js +63 -122
  394. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  395. package/lib/protocol-reexport.d.ts +45 -0
  396. package/lib/protocol-reexport.d.ts.map +1 -0
  397. package/lib/protocol-reexport.js +75 -0
  398. package/lib/protocol-reexport.js.map +1 -0
  399. package/lib/utils/argument-utils.d.ts +50 -0
  400. package/lib/utils/argument-utils.d.ts.map +1 -0
  401. package/lib/utils/argument-utils.js +110 -0
  402. package/lib/utils/argument-utils.js.map +1 -0
  403. package/lib/utils/html-utils.js +2 -2
  404. package/lib/utils/html-utils.js.map +1 -1
  405. package/lib/utils/layout-utils.d.ts +4 -3
  406. package/lib/utils/layout-utils.d.ts.map +1 -1
  407. package/lib/utils/layout-utils.js +5 -5
  408. package/lib/utils/layout-utils.js.map +1 -1
  409. package/lib/utils/marker.d.ts +1 -39
  410. package/lib/utils/marker.d.ts.map +1 -1
  411. package/lib/utils/marker.js +14 -61
  412. package/lib/utils/marker.js.map +1 -1
  413. package/lib/utils/smodel-util.d.ts +7 -17
  414. package/lib/utils/smodel-util.d.ts.map +1 -1
  415. package/lib/utils/smodel-util.js +18 -67
  416. package/lib/utils/smodel-util.js.map +1 -1
  417. package/lib/utils/viewpoint-util.d.ts +3 -2
  418. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  419. package/lib/utils/viewpoint-util.js +15 -30
  420. package/lib/utils/viewpoint-util.js.map +1 -1
  421. package/lib/views/base-view-module.d.ts +9 -0
  422. package/lib/views/base-view-module.d.ts.map +1 -0
  423. package/lib/views/base-view-module.js +59 -0
  424. package/lib/views/base-view-module.js.map +1 -0
  425. package/lib/views/compartments.d.ts +6 -0
  426. package/lib/views/compartments.d.ts.map +1 -0
  427. package/lib/views/compartments.js +43 -0
  428. package/lib/views/compartments.js.map +1 -0
  429. package/lib/views/glsp-edge-view.d.ts +27 -0
  430. package/lib/views/glsp-edge-view.d.ts.map +1 -0
  431. package/lib/views/glsp-edge-view.js +55 -0
  432. package/lib/views/glsp-edge-view.js.map +1 -0
  433. package/lib/{features/model-source-watcher/model-source-changed-action.d.ts → views/index.d.ts} +8 -10
  434. package/lib/views/index.d.ts.map +1 -0
  435. package/lib/views/index.js +34 -0
  436. package/lib/views/index.js.map +1 -0
  437. package/lib/views/issue-marker-view.d.ts +9 -0
  438. package/lib/views/issue-marker-view.d.ts.map +1 -0
  439. package/lib/views/issue-marker-view.js +68 -0
  440. package/lib/views/issue-marker-view.js.map +1 -0
  441. package/lib/views/rounded-corner-view.d.ts +13 -0
  442. package/lib/views/rounded-corner-view.d.ts.map +1 -0
  443. package/lib/views/rounded-corner-view.js +82 -0
  444. package/lib/views/rounded-corner-view.js.map +1 -0
  445. package/lib/views/rounded-corner.d.ts +38 -0
  446. package/lib/views/rounded-corner.d.ts.map +1 -0
  447. package/lib/views/rounded-corner.js +62 -0
  448. package/lib/views/rounded-corner.js.map +1 -0
  449. package/package.json +24 -32
  450. package/src/base/action-dispatcher.ts +7 -8
  451. package/src/base/actions/focus-change-action.ts +2 -2
  452. package/src/base/{args.ts → argumentable.ts} +3 -4
  453. package/src/base/auto-complete/auto-complete-actions.ts +2 -2
  454. package/src/base/auto-complete/auto-complete-widget.ts +66 -48
  455. package/src/base/auto-complete/validation-decorator.ts +21 -15
  456. package/src/base/command-stack.ts +4 -7
  457. package/src/base/container-modules.ts +112 -0
  458. package/src/base/di.config.ts +44 -27
  459. package/src/base/drag-aware-mouse-listener.ts +7 -8
  460. package/src/base/{editor-context.ts → editor-context-service.ts} +13 -40
  461. package/src/base/focus-tracker.ts +4 -6
  462. package/src/base/model/model-registry.ts +31 -0
  463. package/src/base/model/update-model-command.ts +14 -22
  464. package/src/base/model-initialization-constraint.ts +16 -11
  465. package/src/base/selection-clearing-mouse-listener.ts +4 -3
  466. package/src/base/tool-manager/glsp-tool-manager.ts +12 -14
  467. package/src/base/types.ts +23 -21
  468. package/src/{features/model-source-watcher/model-source-changed-action.ts → base/view/view-registry.ts} +15 -10
  469. package/src/features/change-bounds/model.ts +23 -13
  470. package/src/features/change-bounds/movement-restrictor.ts +28 -18
  471. package/src/features/change-bounds/snap.ts +6 -5
  472. package/src/features/command-palette/command-palette-tool.ts +4 -4
  473. package/src/features/command-palette/di.config.ts +7 -7
  474. package/src/features/command-palette/server-command-palette-provider.ts +16 -14
  475. package/src/features/context-menu/delete-element-context-menu.ts +10 -11
  476. package/src/features/context-menu/di.config.ts +10 -12
  477. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +8 -7
  478. package/src/features/context-menu/server-context-menu-provider.ts +13 -10
  479. package/src/features/copy-paste/copy-paste-context-menu.ts +66 -37
  480. package/src/features/copy-paste/copy-paste-handler.ts +30 -20
  481. package/src/features/copy-paste/di.config.ts +6 -7
  482. package/src/features/decoration/decoration-placer.ts +6 -15
  483. package/src/features/decoration/di.config.ts +4 -6
  484. package/src/features/edit-label/di.config.ts +5 -5
  485. package/src/features/edit-label/edit-label-tool.ts +4 -4
  486. package/src/features/edit-label/edit-label-validator.ts +18 -19
  487. package/src/features/hints/di.config.ts +6 -7
  488. package/src/features/hints/model.ts +7 -6
  489. package/src/features/hints/type-hints.ts +46 -113
  490. package/src/features/hover/di.config.ts +6 -7
  491. package/src/features/hover/hover.ts +11 -14
  492. package/src/features/layout/di.config.ts +32 -6
  493. package/src/features/layout/freeform-layout.ts +133 -0
  494. package/src/features/layout/layout-commands.spec.ts +104 -85
  495. package/src/features/layout/layout-commands.ts +65 -54
  496. package/src/features/layout/vbox-layout.ts +256 -0
  497. package/src/features/model-source-watcher/di.config.ts +5 -6
  498. package/src/features/model-source-watcher/model-source-changed-action-handler.ts +16 -12
  499. package/src/features/mouse-tool/di.config.ts +4 -4
  500. package/src/features/mouse-tool/mouse-tool.ts +44 -32
  501. package/src/features/navigation/di.config.ts +6 -12
  502. package/src/features/navigation/navigation-action-handler.ts +46 -78
  503. package/src/features/navigation/navigation-target-resolver.spec.ts +6 -9
  504. package/src/features/navigation/navigation-target-resolver.ts +16 -94
  505. package/src/features/rank/model.ts +3 -3
  506. package/src/features/reconnect/model.ts +9 -11
  507. package/src/features/save/di.config.ts +4 -5
  508. package/src/features/save/model.ts +1 -1
  509. package/src/features/save/{save.ts → save-keylistener.ts} +4 -12
  510. package/src/features/select/di.config.ts +6 -6
  511. package/src/features/select/select-feedback-action.ts +6 -8
  512. package/src/features/select/select-mouse-listener.ts +2 -2
  513. package/src/features/select/selection-service.spec.ts +25 -19
  514. package/src/features/select/selection-service.ts +25 -22
  515. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +56 -39
  516. package/src/features/tool-feedback/creation-tool-feedback.ts +49 -24
  517. package/src/features/tool-feedback/css-feedback.ts +16 -13
  518. package/src/features/tool-feedback/di.config.ts +12 -15
  519. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +56 -35
  520. package/src/features/tool-feedback/feedback-action-dispatcher.ts +13 -14
  521. package/src/features/tool-feedback/marquee-tool-feedback.ts +12 -12
  522. package/src/features/tool-feedback/model.ts +2 -3
  523. package/src/features/tool-feedback/view.tsx +20 -13
  524. package/src/features/tool-palette/di.config.ts +5 -7
  525. package/src/features/tool-palette/palette-item.ts +5 -7
  526. package/src/features/tool-palette/tool-palette.ts +118 -110
  527. package/src/features/tools/base-glsp-tool.ts +12 -12
  528. package/src/features/tools/change-bounds-tool.ts +83 -53
  529. package/src/features/tools/delete-tool.ts +23 -20
  530. package/src/features/tools/di.config.ts +16 -17
  531. package/src/features/tools/edge-creation-tool.ts +20 -25
  532. package/src/features/tools/edge-edit-tool.ts +43 -46
  533. package/src/features/tools/marquee-behavior.spec.ts +175 -0
  534. package/src/features/tools/marquee-behavior.ts +158 -0
  535. package/src/features/tools/marquee-mouse-tool.ts +67 -118
  536. package/src/features/tools/marquee-tool.ts +6 -6
  537. package/src/features/tools/model.ts +1 -2
  538. package/src/features/tools/node-creation-tool.ts +16 -23
  539. package/src/features/tools/view.tsx +21 -15
  540. package/src/features/validation/di.config.ts +5 -5
  541. package/src/features/validation/issue-marker.ts +4 -5
  542. package/src/features/validation/marker-navigator.spec.ts +38 -33
  543. package/src/features/validation/marker-navigator.ts +39 -26
  544. package/src/features/validation/validate.ts +25 -59
  545. package/src/features/viewport/di.config.ts +4 -4
  546. package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
  547. package/src/index.ts +53 -38
  548. package/src/lib/model.ts +4 -4
  549. package/src/model-source/glsp-diagram-server.ts +19 -33
  550. package/src/protocol-reexport.ts +64 -0
  551. package/src/utils/argument-utils.ts +130 -0
  552. package/src/utils/layout-utils.ts +19 -11
  553. package/src/utils/marker.ts +8 -32
  554. package/src/utils/smodel-util.ts +28 -22
  555. package/src/utils/viewpoint-util.ts +5 -6
  556. package/src/views/base-view-module.ts +97 -0
  557. package/src/views/compartments.tsx +37 -0
  558. package/src/views/glsp-edge-view.tsx +79 -0
  559. package/src/views/index.ts +21 -0
  560. package/src/views/issue-marker-view.tsx +65 -0
  561. package/src/views/rounded-corner-view.tsx +103 -0
  562. package/src/views/rounded-corner.ts +87 -0
  563. package/lib/base/actions/context-actions.d.ts +0 -36
  564. package/lib/base/actions/context-actions.d.ts.map +0 -1
  565. package/lib/base/actions/context-actions.js +0 -51
  566. package/lib/base/actions/context-actions.js.map +0 -1
  567. package/lib/base/actions/edit-mode-action.d.ts +0 -13
  568. package/lib/base/actions/edit-mode-action.d.ts.map +0 -1
  569. package/lib/base/actions/edit-mode-action.js +0 -56
  570. package/lib/base/actions/edit-mode-action.js.map +0 -1
  571. package/lib/base/actions/edit-validation-actions.d.ts +0 -78
  572. package/lib/base/actions/edit-validation-actions.d.ts.map +0 -1
  573. package/lib/base/actions/edit-validation-actions.js +0 -82
  574. package/lib/base/actions/edit-validation-actions.js.map +0 -1
  575. package/lib/base/actions/protocol-actions.d.ts +0 -41
  576. package/lib/base/actions/protocol-actions.d.ts.map +0 -1
  577. package/lib/base/actions/protocol-actions.js +0 -151
  578. package/lib/base/actions/protocol-actions.js.map +0 -1
  579. package/lib/base/args.d.ts.map +0 -1
  580. package/lib/base/args.js.map +0 -1
  581. package/lib/base/editor-context.d.ts +0 -46
  582. package/lib/base/editor-context.d.ts.map +0 -1
  583. package/lib/base/editor-context.js +0 -174
  584. package/lib/base/editor-context.js.map +0 -1
  585. package/lib/base/operations/operation.d.ts +0 -135
  586. package/lib/base/operations/operation.d.ts.map +0 -1
  587. package/lib/base/operations/operation.js +0 -231
  588. package/lib/base/operations/operation.js.map +0 -1
  589. package/lib/features/copy-paste/copy-paste-actions.d.ts +0 -50
  590. package/lib/features/copy-paste/copy-paste-actions.d.ts.map +0 -1
  591. package/lib/features/copy-paste/copy-paste-actions.js +0 -68
  592. package/lib/features/copy-paste/copy-paste-actions.js.map +0 -1
  593. package/lib/features/decoration/view.d.ts +0 -8
  594. package/lib/features/decoration/view.d.ts.map +0 -1
  595. package/lib/features/decoration/view.js +0 -80
  596. package/lib/features/decoration/view.js.map +0 -1
  597. package/lib/features/hints/request-type-hints-action.d.ts +0 -32
  598. package/lib/features/hints/request-type-hints-action.d.ts.map +0 -1
  599. package/lib/features/hints/request-type-hints-action.js +0 -30
  600. package/lib/features/hints/request-type-hints-action.js.map +0 -1
  601. package/lib/features/model-source-watcher/model-source-changed-action.d.ts.map +0 -1
  602. package/lib/features/model-source-watcher/model-source-changed-action.js +0 -17
  603. package/lib/features/model-source-watcher/model-source-changed-action.js.map +0 -1
  604. package/lib/features/save/save.d.ts.map +0 -1
  605. package/lib/features/save/save.js +0 -62
  606. package/lib/features/save/save.js.map +0 -1
  607. package/lib/features/undo-redo/model.d.ts.map +0 -1
  608. package/lib/features/undo-redo/model.js +0 -22
  609. package/lib/features/undo-redo/model.js.map +0 -1
  610. package/lib/model-source/glsp-server-status.d.ts +0 -30
  611. package/lib/model-source/glsp-server-status.d.ts.map +0 -1
  612. package/lib/model-source/glsp-server-status.js +0 -61
  613. package/lib/model-source/glsp-server-status.js.map +0 -1
  614. package/lib/utils/array-utils.d.ts +0 -28
  615. package/lib/utils/array-utils.d.ts.map +0 -1
  616. package/lib/utils/array-utils.js +0 -61
  617. package/lib/utils/array-utils.js.map +0 -1
  618. package/src/base/actions/context-actions.ts +0 -43
  619. package/src/base/actions/edit-mode-action.ts +0 -33
  620. package/src/base/actions/edit-validation-actions.ts +0 -102
  621. package/src/base/actions/protocol-actions.ts +0 -82
  622. package/src/base/operations/operation.ts +0 -178
  623. package/src/features/copy-paste/copy-paste-actions.ts +0 -60
  624. package/src/features/decoration/view.tsx +0 -54
  625. package/src/features/hints/request-type-hints-action.ts +0 -36
  626. package/src/model-source/glsp-server-status.ts +0 -38
  627. package/src/utils/array-utils.ts +0 -55
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 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,10 +13,18 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { inject, injectable, optional } from "inversify";
17
16
  import {
18
17
  Action,
19
18
  Bounds,
19
+ ChangeBoundsOperation,
20
+ ChangeRoutingPointsOperation,
21
+ CompoundOperation,
22
+ ElementAndRoutingPoints,
23
+ Operation,
24
+ Point
25
+ } from '@eclipse-glsp/protocol';
26
+ import { inject, injectable, optional } from 'inversify';
27
+ import {
20
28
  BoundsAware,
21
29
  Dimension,
22
30
  EdgeRouterRegistry,
@@ -26,45 +34,37 @@ import {
26
34
  isSelected,
27
35
  isViewport,
28
36
  MouseListener,
29
- Point,
37
+ SChildElement,
30
38
  SConnectableElement,
31
39
  SetBoundsAction,
32
40
  SModelElement,
33
41
  SModelRoot,
34
42
  SParentElement,
35
43
  TYPES
36
- } from "sprotty";
37
-
38
- import { DragAwareMouseListener } from "../../base/drag-aware-mouse-listener";
39
- import {
40
- ChangeBoundsOperation,
41
- ChangeRoutingPointsOperation,
42
- CompoundOperation,
43
- ElementAndRoutingPoints,
44
- Operation
45
- } from "../../base/operations/operation";
46
- import { GLSP_TYPES } from "../../base/types";
47
- import { isValidMove, isValidSize, WriteablePoint } from "../../utils/layout-utils";
44
+ } from 'sprotty';
45
+ import { DragAwareMouseListener } from '../../base/drag-aware-mouse-listener';
46
+ import { GLSP_TYPES } from '../../base/types';
47
+ import { isValidMove, isValidSize, WriteablePoint } from '../../utils/layout-utils';
48
48
  import {
49
49
  forEachElement,
50
50
  isNonRoutableSelectedMovableBoundsAware,
51
51
  toElementAndBounds,
52
52
  toElementAndRoutingPoints
53
- } from "../../utils/smodel-util";
54
- import { isBoundsAwareMoveable, isResizable, Resizable, ResizeHandleLocation, SResizeHandle } from "../change-bounds/model";
53
+ } from '../../utils/smodel-util';
54
+ import { isBoundsAwareMoveable, isResizable, Resizable, ResizeHandleLocation, SResizeHandle } from '../change-bounds/model';
55
55
  import {
56
56
  createMovementRestrictionFeedback,
57
57
  IMovementRestrictor,
58
58
  removeMovementRestrictionFeedback
59
- } from "../change-bounds/movement-restrictor";
60
- import { SelectionListener, SelectionService } from "../select/selection-service";
59
+ } from '../change-bounds/movement-restrictor';
60
+ import { SelectionListener, SelectionService } from '../select/selection-service';
61
61
  import {
62
62
  FeedbackMoveMouseListener,
63
63
  HideChangeBoundsToolResizeFeedbackAction,
64
64
  ShowChangeBoundsToolResizeFeedbackAction
65
- } from "../tool-feedback/change-bounds-tool-feedback";
66
- import { applyCssClasses, CursorCSS, cursorFeedbackAction, deleteCssClasses } from "../tool-feedback/css-feedback";
67
- import { BaseGLSPTool } from "./base-glsp-tool";
65
+ } from '../tool-feedback/change-bounds-tool-feedback';
66
+ import { applyCssClasses, CursorCSS, cursorFeedbackAction, deleteCssClasses } from '../tool-feedback/css-feedback';
67
+ import { BaseGLSPTool } from './base-glsp-tool';
68
68
 
69
69
  /**
70
70
  * The change bounds tool has the license to move multiple elements or resize a single element by implementing the ChangeBounds operation.
@@ -76,12 +76,12 @@ import { BaseGLSPTool } from "./base-glsp-tool";
76
76
  * | Move | MoveAction | ChangeBoundsOperationAction
77
77
  * | Resize | SetBoundsAction | ChangeBoundsOperationAction
78
78
  *
79
- * To provide a visual client updates during move we install the `FeedbackMoveMouseListener` and to provide visual client updates during resize
80
- * and send the server updates we install the `ChangeBoundsListener`.
79
+ * To provide a visual client updates during move we install the `FeedbackMoveMouseListener` and to provide visual client updates during
80
+ * resize and send the server updates we install the `ChangeBoundsListener`.
81
81
  */
82
82
  @injectable()
83
83
  export class ChangeBoundsTool extends BaseGLSPTool {
84
- static ID = "glsp.change-bounds-tool";
84
+ static ID = 'glsp.change-bounds-tool';
85
85
 
86
86
  @inject(GLSP_TYPES.SelectionService) protected selectionService: SelectionService;
87
87
  @inject(EdgeRouterRegistry) @optional() readonly edgeRouterRegistry?: EdgeRouterRegistry;
@@ -94,7 +94,7 @@ export class ChangeBoundsTool extends BaseGLSPTool {
94
94
  return ChangeBoundsTool.ID;
95
95
  }
96
96
 
97
- enable() {
97
+ enable(): void {
98
98
  // install feedback move mouse listener for client-side move updates
99
99
  this.feedbackMoveMouseListener = this.createMoveMouseListener();
100
100
  this.mouseTool.register(this.feedbackMoveMouseListener);
@@ -113,12 +113,12 @@ export class ChangeBoundsTool extends BaseGLSPTool {
113
113
  return new ChangeBoundsListener(this);
114
114
  }
115
115
 
116
- disable() {
116
+ disable(): void {
117
117
  this.mouseTool.deregister(this.changeBoundsListener);
118
118
  this.selectionService.deregister(this.changeBoundsListener);
119
119
  this.mouseTool.deregister(this.feedbackMoveMouseListener);
120
120
  this.deregisterFeedback([], this.feedbackMoveMouseListener);
121
- this.deregisterFeedback([new HideChangeBoundsToolResizeFeedbackAction], this.changeBoundsListener);
121
+ this.deregisterFeedback([new HideChangeBoundsToolResizeFeedbackAction()], this.changeBoundsListener);
122
122
  }
123
123
  }
124
124
 
@@ -162,7 +162,10 @@ export class ChangeBoundsListener extends DragAwareMouseListener implements Sele
162
162
  if (this.isMouseDrag && this.activeResizeHandle) {
163
163
  // rely on the FeedbackMoveMouseListener to update the element bounds of selected elements
164
164
  // consider resize handles ourselves
165
- const actions: Action[] = [cursorFeedbackAction(CursorCSS.RESIZE), applyCssClasses(this.activeResizeHandle, ChangeBoundsListener.CSS_CLASS_ACTIVE)];
165
+ const actions: Action[] = [
166
+ cursorFeedbackAction(this.activeResizeHandle.isNwSeResize() ? CursorCSS.RESIZE_NWSE : CursorCSS.RESIZE_NESW),
167
+ applyCssClasses(this.activeResizeHandle, ChangeBoundsListener.CSS_CLASS_ACTIVE)
168
+ ];
166
169
  const positionUpdate = this.updatePosition(target, event);
167
170
  if (positionUpdate) {
168
171
  const resizeActions = this.handleResizeOnClient(positionUpdate);
@@ -205,15 +208,33 @@ export class ChangeBoundsListener extends DragAwareMouseListener implements Sele
205
208
  protected handleMoveElementsOnServer(target: SModelElement): Action[] {
206
209
  const result: Operation[] = [];
207
210
  const newBounds: ElementAndBounds[] = [];
211
+ const selectedElements: (SModelElement & BoundsAware)[] = [];
208
212
  forEachElement(target, isNonRoutableSelectedMovableBoundsAware, element => {
209
- this.createElementAndBounds(element).forEach(bounds => newBounds.push(bounds));
213
+ selectedElements.push(element);
210
214
  });
215
+
216
+ const selectionSet: Set<SModelElement & BoundsAware> = new Set(selectedElements);
217
+ selectedElements
218
+ .filter(element => !this.isChildOfSelected(selectionSet, element))
219
+ .map(element => this.createElementAndBounds(element))
220
+ .forEach(bounds => newBounds.push(...bounds));
221
+
211
222
  if (newBounds.length > 0) {
212
223
  result.push(new ChangeBoundsOperation(newBounds));
213
224
  }
214
225
  return result;
215
226
  }
216
227
 
228
+ protected isChildOfSelected(selectedElements: Set<SModelElement>, element: SModelElement): boolean {
229
+ while (element instanceof SChildElement) {
230
+ element = element.parent;
231
+ if (selectedElements.has(element)) {
232
+ return true;
233
+ }
234
+ }
235
+ return false;
236
+ }
237
+
217
238
  protected handleMoveRoutingPointsOnServer(target: SModelElement): Action[] {
218
239
  const result: Operation[] = [];
219
240
  const newRoutingPoints: ElementAndRoutingPoints[] = [];
@@ -277,11 +298,16 @@ export class ChangeBoundsListener extends DragAwareMouseListener implements Sele
277
298
  return element !== undefined && this.activeResizeElement !== undefined && element.id === this.activeResizeElement.id;
278
299
  }
279
300
 
280
- protected initPosition(event: MouseEvent) {
301
+ protected initPosition(event: MouseEvent): void {
281
302
  this.lastDragPosition = { x: event.pageX, y: event.pageY };
282
303
  if (this.activeResizeHandle) {
283
304
  const resizeElement = findParentByFeature(this.activeResizeHandle, isResizable);
284
- this.initialBounds = { x: resizeElement!.bounds.x, y: resizeElement!.bounds.y, width: resizeElement!.bounds.width, height: resizeElement!.bounds.height };
305
+ this.initialBounds = {
306
+ x: resizeElement!.bounds.x,
307
+ y: resizeElement!.bounds.y,
308
+ width: resizeElement!.bounds.width,
309
+ height: resizeElement!.bounds.height
310
+ };
285
311
  }
286
312
  }
287
313
 
@@ -302,29 +328,28 @@ export class ChangeBoundsListener extends DragAwareMouseListener implements Sele
302
328
 
303
329
  // snap our delta and only send update if the position actually changes
304
330
  // otherwise accumulate delta until we do snap to an update
305
- const positionUpdate = this.snap(this.positionDelta, target, !event.shiftKey);
331
+ const positionUpdate = this.snap(this.positionDelta, target, !event.altKey);
306
332
  if (positionUpdate.x === 0 && positionUpdate.y === 0) {
307
333
  return undefined;
308
334
  }
309
335
 
310
- // we update our position so we need to reset our delta
311
- this.positionDelta.x = 0;
312
- this.positionDelta.y = 0;
336
+ // we update our position so we update our delta by the snapped position
337
+ this.positionDelta.x -= positionUpdate.x;
338
+ this.positionDelta.y -= positionUpdate.y;
313
339
  return positionUpdate;
314
340
  }
315
341
  return undefined;
316
342
  }
317
343
 
318
- protected reset() {
344
+ protected reset(): void {
319
345
  if (this.activeResizeElement && isResizable(this.activeResizeElement)) {
320
346
  this.tool.dispatchFeedback([new HideChangeBoundsToolResizeFeedbackAction()], this);
321
-
322
347
  }
323
348
  this.tool.dispatchActions([cursorFeedbackAction(CursorCSS.DEFAULT)]);
324
349
  this.resetPosition();
325
350
  }
326
351
 
327
- protected resetPosition() {
352
+ protected resetPosition(): void {
328
353
  this.activeResizeHandle = undefined;
329
354
  this.lastDragPosition = undefined;
330
355
  this.positionDelta = { x: 0, y: 0 };
@@ -352,35 +377,43 @@ export class ChangeBoundsListener extends DragAwareMouseListener implements Sele
352
377
  }
353
378
 
354
379
  protected handleTopLeftResize(resizeElement: SParentElement & Resizable, positionUpdate: Point): Action[] {
355
- return this.createSetBoundsAction(resizeElement,
380
+ return this.createSetBoundsAction(
381
+ resizeElement,
356
382
  resizeElement.bounds.x + positionUpdate.x,
357
383
  resizeElement.bounds.y + positionUpdate.y,
358
384
  resizeElement.bounds.width - positionUpdate.x,
359
- resizeElement.bounds.height - positionUpdate.y);
385
+ resizeElement.bounds.height - positionUpdate.y
386
+ );
360
387
  }
361
388
 
362
389
  protected handleTopRightResize(resizeElement: SParentElement & Resizable, positionUpdate: Point): Action[] {
363
- return this.createSetBoundsAction(resizeElement,
390
+ return this.createSetBoundsAction(
391
+ resizeElement,
364
392
  resizeElement.bounds.x,
365
393
  resizeElement.bounds.y + positionUpdate.y,
366
394
  resizeElement.bounds.width + positionUpdate.x,
367
- resizeElement.bounds.height - positionUpdate.y);
395
+ resizeElement.bounds.height - positionUpdate.y
396
+ );
368
397
  }
369
398
 
370
399
  protected handleBottomLeftResize(resizeElement: SParentElement & Resizable, positionUpdate: Point): Action[] {
371
- return this.createSetBoundsAction(resizeElement,
400
+ return this.createSetBoundsAction(
401
+ resizeElement,
372
402
  resizeElement.bounds.x + positionUpdate.x,
373
403
  resizeElement.bounds.y,
374
404
  resizeElement.bounds.width - positionUpdate.x,
375
- resizeElement.bounds.height + positionUpdate.y);
405
+ resizeElement.bounds.height + positionUpdate.y
406
+ );
376
407
  }
377
408
 
378
409
  protected handleBottomRightResize(resizeElement: SParentElement & Resizable, positionUpdate: Point): Action[] {
379
- return this.createSetBoundsAction(resizeElement,
410
+ return this.createSetBoundsAction(
411
+ resizeElement,
380
412
  resizeElement.bounds.x,
381
413
  resizeElement.bounds.y,
382
414
  resizeElement.bounds.width + positionUpdate.x,
383
- resizeElement.bounds.height + positionUpdate.y);
415
+ resizeElement.bounds.height + positionUpdate.y
416
+ );
384
417
  }
385
418
 
386
419
  protected createChangeBoundsAction(element: SModelElement & BoundsAware): Action[] {
@@ -414,7 +447,6 @@ export class ChangeBoundsListener extends DragAwareMouseListener implements Sele
414
447
  result.push(removeMovementRestrictionFeedback(element, this.tool.movementRestrictor));
415
448
  }
416
449
  result.push(new SetBoundsAction([{ elementId: element.id, newPosition, newSize }]));
417
-
418
450
  } else if (this.isValidSize(element, newSize)) {
419
451
  if (this.tool.movementRestrictor) {
420
452
  result.push(createMovementRestrictionFeedback(element, this.tool.movementRestrictor));
@@ -426,20 +458,18 @@ export class ChangeBoundsListener extends DragAwareMouseListener implements Sele
426
458
  }
427
459
 
428
460
  protected snap(position: Point, element: SModelElement, isSnap: boolean): Point {
429
- return isSnap && this.tool.snapper
430
- ? this.tool.snapper.snap(position, element)
431
- : { x: position.x, y: position.y };
461
+ return isSnap && this.tool.snapper ? this.tool.snapper.snap(position, element) : { x: position.x, y: position.y };
432
462
  }
433
463
 
434
464
  protected isValidBoundChange(element: SModelElement & BoundsAware, newPosition: Point, newSize: Dimension): boolean {
435
465
  return this.isValidSize(element, newSize) && this.isValidMove(element, newPosition);
436
466
  }
437
467
 
438
- protected isValidSize(element: SModelElement & BoundsAware, size: Dimension) {
468
+ protected isValidSize(element: SModelElement & BoundsAware, size: Dimension): boolean {
439
469
  return isValidSize(element, size);
440
470
  }
441
471
 
442
- protected isValidMove(element: SModelElement & BoundsAware, newPosition: Point) {
472
+ protected isValidMove(element: SModelElement & BoundsAware, newPosition: Point): boolean {
443
473
  return isValidMove(element, newPosition, this.tool.movementRestrictor);
444
474
  }
445
475
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 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,9 +13,9 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { inject, injectable } from "inversify";
16
+ import { Action, DeleteElementOperation } from '@eclipse-glsp/protocol';
17
+ import { inject, injectable } from 'inversify';
17
18
  import {
18
- Action,
19
19
  EnableDefaultToolsAction,
20
20
  findParentByFeature,
21
21
  isCtrlOrCmd,
@@ -25,22 +25,20 @@ import {
25
25
  KeyTool,
26
26
  MouseListener,
27
27
  SModelElement
28
- } from "sprotty";
29
- import { matchesKeystroke } from "sprotty/lib/utils/keyboard";
30
-
31
- import { DeleteElementOperation } from "../../base/operations/operation";
32
- import { GLSPTool } from "../../base/tool-manager/glsp-tool-manager";
33
- import { GLSP_TYPES } from "../../base/types";
34
- import { IMouseTool } from "../mouse-tool/mouse-tool";
35
- import { CursorCSS, cursorFeedbackAction } from "../tool-feedback/css-feedback";
36
- import { IFeedbackActionDispatcher } from "../tool-feedback/feedback-action-dispatcher";
28
+ } from 'sprotty';
29
+ import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
30
+ import { GLSPTool } from '../../base/tool-manager/glsp-tool-manager';
31
+ import { GLSP_TYPES } from '../../base/types';
32
+ import { IMouseTool } from '../mouse-tool/mouse-tool';
33
+ import { CursorCSS, cursorFeedbackAction } from '../tool-feedback/css-feedback';
34
+ import { IFeedbackActionDispatcher } from '../tool-feedback/feedback-action-dispatcher';
37
35
 
38
36
  /**
39
37
  * Deletes selected elements when hitting the `Del` key.
40
38
  */
41
39
  @injectable()
42
40
  export class DelKeyDeleteTool implements GLSPTool {
43
- static ID = "glsp.delete-keyboard";
41
+ static ID = 'glsp.delete-keyboard';
44
42
 
45
43
  isEditTool = true;
46
44
  protected deleteKeyListener: DeleteKeyListener = new DeleteKeyListener();
@@ -51,11 +49,11 @@ export class DelKeyDeleteTool implements GLSPTool {
51
49
  return DelKeyDeleteTool.ID;
52
50
  }
53
51
 
54
- enable() {
52
+ enable(): void {
55
53
  this.keytool.register(this.deleteKeyListener);
56
54
  }
57
55
 
58
- disable() {
56
+ disable(): void {
59
57
  this.keytool.deregister(this.deleteKeyListener);
60
58
  }
61
59
  }
@@ -64,8 +62,13 @@ export class DelKeyDeleteTool implements GLSPTool {
64
62
  export class DeleteKeyListener extends KeyListener {
65
63
  keyDown(element: SModelElement, event: KeyboardEvent): Action[] {
66
64
  if (matchesKeystroke(event, 'Delete')) {
67
- const deleteElementIds = Array.from(element.root.index.all().filter(e => isDeletable(e) && isSelectable(e) && e.selected)
68
- .filter(e => e.id !== e.root.id).map(e => e.id));
65
+ const deleteElementIds = Array.from(
66
+ element.root.index
67
+ .all()
68
+ .filter(e => isDeletable(e) && isSelectable(e) && e.selected)
69
+ .filter(e => e.id !== e.root.id)
70
+ .map(e => e.id)
71
+ );
69
72
  if (deleteElementIds.length > 0) {
70
73
  return [new DeleteElementOperation(deleteElementIds)];
71
74
  }
@@ -79,7 +82,7 @@ export class DeleteKeyListener extends KeyListener {
79
82
  */
80
83
  @injectable()
81
84
  export class MouseDeleteTool implements GLSPTool {
82
- static ID = "glsp.delete-mouse";
85
+ static ID = 'glsp.delete-mouse';
83
86
 
84
87
  isEditTool = true;
85
88
 
@@ -92,12 +95,12 @@ export class MouseDeleteTool implements GLSPTool {
92
95
  return MouseDeleteTool.ID;
93
96
  }
94
97
 
95
- enable() {
98
+ enable(): void {
96
99
  this.mouseTool.register(this.deleteToolMouseListener);
97
100
  this.feedbackDispatcher.registerFeedback(this, [cursorFeedbackAction(CursorCSS.ELEMENT_DELETION)]);
98
101
  }
99
102
 
100
- disable() {
103
+ disable(): void {
101
104
  this.mouseTool.deregister(this.deleteToolMouseListener);
102
105
  this.feedbackDispatcher.registerFeedback(this, [cursorFeedbackAction()]);
103
106
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 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,21 +13,20 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { ContainerModule, interfaces } from "inversify";
17
- import { configureActionHandler, configureModelElement } from "sprotty";
18
-
19
- import { TriggerEdgeCreationAction, TriggerNodeCreationAction } from "../../base/operations/operation";
20
- import { GLSP_TYPES } from "../../base/types";
21
- import { MARQUEE } from "../tool-feedback/marquee-tool-feedback";
22
- import { ChangeBoundsTool } from "./change-bounds-tool";
23
- import { DelKeyDeleteTool, MouseDeleteTool } from "./delete-tool";
24
- import { EdgeCreationTool } from "./edge-creation-tool";
25
- import { EdgeEditTool } from "./edge-edit-tool";
26
- import { MarqueeMouseTool } from "./marquee-mouse-tool";
27
- import { MarqueeTool } from "./marquee-tool";
28
- import { MarqueeNode } from "./model";
29
- import { NodeCreationTool } from "./node-creation-tool";
30
- import { MarqueeView } from "./view";
16
+ import { TriggerEdgeCreationAction, TriggerNodeCreationAction } from '@eclipse-glsp/protocol';
17
+ import { ContainerModule, interfaces } from 'inversify';
18
+ import { configureActionHandler, configureModelElement } from 'sprotty';
19
+ import { GLSP_TYPES } from '../../base/types';
20
+ import { MARQUEE } from '../tool-feedback/marquee-tool-feedback';
21
+ import { ChangeBoundsTool } from './change-bounds-tool';
22
+ import { DelKeyDeleteTool, MouseDeleteTool } from './delete-tool';
23
+ import { EdgeCreationTool } from './edge-creation-tool';
24
+ import { EdgeEditTool } from './edge-edit-tool';
25
+ import { MarqueeMouseTool } from './marquee-mouse-tool';
26
+ import { MarqueeTool } from './marquee-tool';
27
+ import { MarqueeNode } from './model';
28
+ import { NodeCreationTool } from './node-creation-tool';
29
+ import { MarqueeView } from './view';
31
30
 
32
31
  const toolsModule = new ContainerModule((bind, _unbind, isBound) => {
33
32
  // Register default tools
@@ -47,7 +46,7 @@ const toolsModule = new ContainerModule((bind, _unbind, isBound) => {
47
46
  configureActionHandler({ bind, isBound }, TriggerEdgeCreationAction.KIND, EdgeCreationTool);
48
47
  });
49
48
 
50
- export function configureMarqueeTool(context: { bind: interfaces.Bind, isBound: interfaces.IsBound }) {
49
+ export function configureMarqueeTool(context: { bind: interfaces.Bind; isBound: interfaces.IsBound }): void {
51
50
  configureModelElement(context, MARQUEE, MarqueeNode, MarqueeView);
52
51
  context.bind(GLSP_TYPES.IDefaultTool).to(MarqueeTool);
53
52
  context.bind(GLSP_TYPES.ITool).to(MarqueeMouseTool);
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 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,9 +13,9 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { inject, injectable } from "inversify";
16
+ import { Action, CreateEdgeOperation, isTriggerElementTypeCreationAction, TriggerEdgeCreationAction } from '@eclipse-glsp/protocol';
17
+ import { inject, injectable } from 'inversify';
17
18
  import {
18
- Action,
19
19
  AnchorComputerRegistry,
20
20
  EnableDefaultToolsAction,
21
21
  EnableToolsAction,
@@ -25,28 +25,22 @@ import {
25
25
  isCtrlOrCmd,
26
26
  SEdge,
27
27
  SModelElement
28
- } from "sprotty";
29
-
30
- import { DragAwareMouseListener } from "../../base/drag-aware-mouse-listener";
31
- import {
32
- CreateEdgeOperation,
33
- isTriggerElementTypeCreationAction,
34
- TriggerEdgeCreationAction
35
- } from "../../base/operations/operation";
28
+ } from 'sprotty';
29
+ import { DragAwareMouseListener } from '../../base/drag-aware-mouse-listener';
36
30
  import {
37
31
  DrawFeedbackEdgeAction,
38
32
  FeedbackEdgeEndMovingMouseListener,
39
33
  RemoveFeedbackEdgeAction
40
- } from "../tool-feedback/creation-tool-feedback";
41
- import { CursorCSS, cursorFeedbackAction } from "../tool-feedback/css-feedback";
42
- import { BaseGLSPTool } from "./base-glsp-tool";
34
+ } from '../tool-feedback/creation-tool-feedback';
35
+ import { CursorCSS, cursorFeedbackAction } from '../tool-feedback/css-feedback';
36
+ import { BaseGLSPTool } from './base-glsp-tool';
43
37
 
44
38
  /**
45
39
  * Tool to create connections in a Diagram, by selecting a source and target node.
46
40
  */
47
41
  @injectable()
48
42
  export class EdgeCreationTool extends BaseGLSPTool implements IActionHandler {
49
- static ID = "tool_create_edge";
43
+ static ID = 'tool_create_edge';
50
44
 
51
45
  @inject(AnchorComputerRegistry) protected anchorRegistry: AnchorComputerRegistry;
52
46
 
@@ -58,7 +52,7 @@ export class EdgeCreationTool extends BaseGLSPTool implements IActionHandler {
58
52
  return EdgeCreationTool.ID;
59
53
  }
60
54
 
61
- enable() {
55
+ enable(): void {
62
56
  if (this.triggerAction === undefined) {
63
57
  throw new TypeError(`Could not enable tool ${this.id}.The triggerAction cannot be undefined.`);
64
58
  }
@@ -69,7 +63,7 @@ export class EdgeCreationTool extends BaseGLSPTool implements IActionHandler {
69
63
  this.dispatchFeedback([cursorFeedbackAction(CursorCSS.OPERATION_NOT_ALLOWED)]);
70
64
  }
71
65
 
72
- disable() {
66
+ disable(): void {
73
67
  this.mouseTool.deregister(this.creationToolMouseListener);
74
68
  this.mouseTool.deregister(this.feedbackEndMovingMouseListener);
75
69
  this.deregisterFeedback([new RemoveFeedbackEdgeAction(), cursorFeedbackAction()]);
@@ -88,7 +82,7 @@ export class EdgeCreationToolMouseListener extends DragAwareMouseListener {
88
82
  protected source?: string;
89
83
  protected target?: string;
90
84
  protected currentTarget?: SModelElement;
91
- protected allowedTarget: boolean = false;
85
+ protected allowedTarget = false;
92
86
  protected proxyEdge: SEdge;
93
87
 
94
88
  constructor(protected triggerAction: TriggerEdgeCreationAction, protected tool: EdgeCreationTool) {
@@ -97,7 +91,7 @@ export class EdgeCreationToolMouseListener extends DragAwareMouseListener {
97
91
  this.proxyEdge.type = triggerAction.elementTypeId;
98
92
  }
99
93
 
100
- protected reinitialize() {
94
+ protected reinitialize(): void {
101
95
  this.source = undefined;
102
96
  this.target = undefined;
103
97
  this.currentTarget = undefined;
@@ -132,11 +126,11 @@ export class EdgeCreationToolMouseListener extends DragAwareMouseListener {
132
126
  return result;
133
127
  }
134
128
 
135
- protected isSourceSelected() {
129
+ protected isSourceSelected(): boolean {
136
130
  return this.source !== undefined;
137
131
  }
138
132
 
139
- protected isTargetSelected() {
133
+ protected isTargetSelected(): boolean {
140
134
  return this.target !== undefined;
141
135
  }
142
136
 
@@ -151,8 +145,9 @@ export class EdgeCreationToolMouseListener extends DragAwareMouseListener {
151
145
  this.allowedTarget = this.isAllowedTarget(newCurrentTarget);
152
146
  }
153
147
  if (this.allowedTarget) {
154
- const action = !this.isSourceSelected() ? cursorFeedbackAction(CursorCSS.EDGE_CREATION_SOURCE) :
155
- cursorFeedbackAction(CursorCSS.EDGE_CREATION_TARGET);
148
+ const action = !this.isSourceSelected()
149
+ ? cursorFeedbackAction(CursorCSS.EDGE_CREATION_SOURCE)
150
+ : cursorFeedbackAction(CursorCSS.EDGE_CREATION_TARGET);
156
151
  return [action];
157
152
  }
158
153
  }
@@ -162,10 +157,10 @@ export class EdgeCreationToolMouseListener extends DragAwareMouseListener {
162
157
  }
163
158
 
164
159
  protected isAllowedSource(element: SModelElement | undefined): boolean {
165
- return element !== undefined && isConnectable(element) && element.canConnect(this.proxyEdge, "source");
160
+ return element !== undefined && isConnectable(element) && element.canConnect(this.proxyEdge, 'source');
166
161
  }
167
162
 
168
163
  protected isAllowedTarget(element: SModelElement | undefined): boolean {
169
- return element !== undefined && isConnectable(element) && element.canConnect(this.proxyEdge, "target");
164
+ return element !== undefined && isConnectable(element) && element.canConnect(this.proxyEdge, 'target');
170
165
  }
171
166
  }