@eclipse-glsp/client 0.9.0-next.d2f88f00 → 0.9.0-next.e0116720

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 (581) 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 +17 -1
  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} +3 -5
  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-widget.d.ts +3 -3
  22. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  23. package/lib/base/auto-complete/auto-complete-widget.js +119 -153
  24. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  25. package/lib/base/auto-complete/validation-decorator.d.ts +3 -18
  26. package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -1
  27. package/lib/base/auto-complete/validation-decorator.js +44 -65
  28. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  29. package/lib/base/command-stack.d.ts.map +1 -1
  30. package/lib/base/command-stack.js +19 -37
  31. package/lib/base/command-stack.js.map +1 -1
  32. package/lib/base/container-modules.d.ts +40 -0
  33. package/lib/base/container-modules.d.ts.map +1 -0
  34. package/lib/base/container-modules.js +100 -0
  35. package/lib/base/container-modules.js.map +1 -0
  36. package/lib/base/di.config.d.ts +12 -2
  37. package/lib/base/di.config.d.ts.map +1 -1
  38. package/lib/base/di.config.js +43 -27
  39. package/lib/base/di.config.js.map +1 -1
  40. package/lib/base/drag-aware-mouse-listener.d.ts +3 -2
  41. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  42. package/lib/base/drag-aware-mouse-listener.js +23 -62
  43. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  44. package/lib/base/{editor-context.d.ts → editor-context-service.d.ts} +18 -22
  45. package/lib/base/editor-context-service.d.ts.map +1 -0
  46. package/lib/base/editor-context-service.js +109 -0
  47. package/lib/base/editor-context-service.js.map +1 -0
  48. package/lib/base/focus-tracker.d.ts +17 -1
  49. package/lib/base/focus-tracker.d.ts.map +1 -1
  50. package/lib/base/focus-tracker.js +19 -39
  51. package/lib/base/focus-tracker.js.map +1 -1
  52. package/lib/base/model/model-registry.js +10 -28
  53. package/lib/base/model/model-registry.js.map +1 -1
  54. package/lib/base/model/update-model-command.d.ts +19 -5
  55. package/lib/base/model/update-model-command.d.ts.map +1 -1
  56. package/lib/base/model/update-model-command.js +69 -94
  57. package/lib/base/model/update-model-command.js.map +1 -1
  58. package/lib/base/model-initialization-constraint.d.ts +16 -1
  59. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  60. package/lib/base/model-initialization-constraint.js +34 -54
  61. package/lib/base/model-initialization-constraint.js.map +1 -1
  62. package/lib/base/selection-clearing-mouse-listener.js +10 -28
  63. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  64. package/lib/base/source-uri-aware.js +2 -5
  65. package/lib/base/source-uri-aware.js.map +1 -1
  66. package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
  67. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  68. package/lib/base/tool-manager/glsp-tool-manager.js +58 -140
  69. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  70. package/lib/base/types.d.ts +3 -1
  71. package/lib/base/types.d.ts.map +1 -1
  72. package/lib/base/types.js +4 -2
  73. package/lib/base/types.js.map +1 -1
  74. package/lib/base/view/view-registry.js +10 -28
  75. package/lib/base/view/view-registry.js.map +1 -1
  76. package/lib/features/change-bounds/model.d.ts +3 -1
  77. package/lib/features/change-bounds/model.d.ts.map +1 -1
  78. package/lib/features/change-bounds/model.js +20 -31
  79. package/lib/features/change-bounds/model.js.map +1 -1
  80. package/lib/features/change-bounds/movement-restrictor.d.ts +17 -1
  81. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  82. package/lib/features/change-bounds/movement-restrictor.js +28 -42
  83. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  84. package/lib/features/change-bounds/snap.d.ts +17 -1
  85. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  86. package/lib/features/change-bounds/snap.js +13 -39
  87. package/lib/features/change-bounds/snap.js.map +1 -1
  88. package/lib/features/command-palette/command-palette-tool.js +30 -38
  89. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  90. package/lib/features/command-palette/di.config.js +6 -6
  91. package/lib/features/command-palette/di.config.js.map +1 -1
  92. package/lib/features/command-palette/server-command-palette-provider.d.ts +18 -2
  93. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  94. package/lib/features/command-palette/server-command-palette-provider.js +28 -33
  95. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  96. package/lib/features/context-menu/delete-element-context-menu.d.ts +1 -1
  97. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  98. package/lib/features/context-menu/delete-element-context-menu.js +20 -68
  99. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  100. package/lib/features/context-menu/di.config.d.ts +1 -1
  101. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  102. package/lib/features/context-menu/di.config.js +8 -8
  103. package/lib/features/context-menu/di.config.js.map +1 -1
  104. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  105. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +29 -67
  106. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  107. package/lib/features/context-menu/server-context-menu-provider.d.ts +18 -2
  108. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  109. package/lib/features/context-menu/server-context-menu-provider.js +30 -31
  110. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  111. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +22 -2
  112. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  113. package/lib/features/copy-paste/copy-paste-context-menu.js +99 -72
  114. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  115. package/lib/features/copy-paste/copy-paste-handler.d.ts +19 -2
  116. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  117. package/lib/features/copy-paste/copy-paste-handler.js +70 -70
  118. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  119. package/lib/features/copy-paste/di.config.d.ts +1 -1
  120. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  121. package/lib/features/copy-paste/di.config.js +11 -11
  122. package/lib/features/copy-paste/di.config.js.map +1 -1
  123. package/lib/features/decoration/decoration-placer.d.ts +17 -1
  124. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  125. package/lib/features/decoration/decoration-placer.js +12 -46
  126. package/lib/features/decoration/decoration-placer.js.map +1 -1
  127. package/lib/features/decoration/di.config.js +4 -4
  128. package/lib/features/decoration/di.config.js.map +1 -1
  129. package/lib/features/edit-label/di.config.js +7 -7
  130. package/lib/features/edit-label/di.config.js.map +1 -1
  131. package/lib/features/edit-label/edit-label-tool.js +20 -43
  132. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  133. package/lib/features/edit-label/edit-label-validator.d.ts +16 -1
  134. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  135. package/lib/features/edit-label/edit-label-validator.js +40 -62
  136. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  137. package/lib/features/hints/di.config.d.ts +0 -15
  138. package/lib/features/hints/di.config.d.ts.map +1 -1
  139. package/lib/features/hints/di.config.js +9 -9
  140. package/lib/features/hints/di.config.js.map +1 -1
  141. package/lib/features/hints/model.d.ts +3 -2
  142. package/lib/features/hints/model.d.ts.map +1 -1
  143. package/lib/features/hints/model.js.map +1 -1
  144. package/lib/features/hints/type-hints.d.ts +17 -45
  145. package/lib/features/hints/type-hints.d.ts.map +1 -1
  146. package/lib/features/hints/type-hints.js +81 -140
  147. package/lib/features/hints/type-hints.js.map +1 -1
  148. package/lib/features/hover/di.config.d.ts +1 -1
  149. package/lib/features/hover/di.config.d.ts.map +1 -1
  150. package/lib/features/hover/di.config.js +8 -8
  151. package/lib/features/hover/di.config.js.map +1 -1
  152. package/lib/features/hover/hover.d.ts +17 -1
  153. package/lib/features/hover/hover.d.ts.map +1 -1
  154. package/lib/features/hover/hover.js +37 -77
  155. package/lib/features/hover/hover.js.map +1 -1
  156. package/lib/features/layout/di.config.d.ts +1 -1
  157. package/lib/features/layout/di.config.d.ts.map +1 -1
  158. package/lib/features/layout/di.config.js +11 -7
  159. package/lib/features/layout/di.config.js.map +1 -1
  160. package/lib/features/layout/freeform-layout.d.ts +16 -0
  161. package/lib/features/layout/freeform-layout.d.ts.map +1 -0
  162. package/lib/features/layout/freeform-layout.js +107 -0
  163. package/lib/features/layout/freeform-layout.js.map +1 -0
  164. package/lib/features/layout/layout-commands.d.ts +19 -3
  165. package/lib/features/layout/layout-commands.d.ts.map +1 -1
  166. package/lib/features/layout/layout-commands.js +189 -265
  167. package/lib/features/layout/layout-commands.js.map +1 -1
  168. package/lib/features/layout/layout-commands.spec.d.ts +0 -15
  169. package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
  170. package/lib/features/layout/layout-commands.spec.js +95 -89
  171. package/lib/features/layout/layout-commands.spec.js.map +1 -1
  172. package/lib/features/layout/vbox-layout.d.ts +25 -0
  173. package/lib/features/layout/vbox-layout.d.ts.map +1 -0
  174. package/lib/features/layout/vbox-layout.js +188 -0
  175. package/lib/features/layout/vbox-layout.js.map +1 -0
  176. package/lib/features/model-source-watcher/di.config.d.ts +0 -15
  177. package/lib/features/model-source-watcher/di.config.d.ts.map +1 -1
  178. package/lib/features/model-source-watcher/di.config.js +7 -7
  179. package/lib/features/model-source-watcher/di.config.js.map +1 -1
  180. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +17 -2
  181. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
  182. package/lib/features/model-source-watcher/model-source-changed-action-handler.js +38 -46
  183. package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
  184. package/lib/features/mouse-tool/di.config.js +5 -5
  185. package/lib/features/mouse-tool/di.config.js.map +1 -1
  186. package/lib/features/mouse-tool/mouse-tool.d.ts +2 -1
  187. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  188. package/lib/features/mouse-tool/mouse-tool.js +70 -215
  189. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  190. package/lib/features/navigation/di.config.d.ts +0 -15
  191. package/lib/features/navigation/di.config.d.ts.map +1 -1
  192. package/lib/features/navigation/di.config.js +11 -10
  193. package/lib/features/navigation/di.config.js.map +1 -1
  194. package/lib/features/navigation/navigation-action-handler.d.ts +19 -38
  195. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  196. package/lib/features/navigation/navigation-action-handler.js +118 -254
  197. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  198. package/lib/features/navigation/navigation-target-resolver.d.ts +18 -40
  199. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  200. package/lib/features/navigation/navigation-target-resolver.js +46 -188
  201. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  202. package/lib/features/navigation/navigation-target-resolver.spec.d.ts +0 -15
  203. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -1
  204. package/lib/features/navigation/navigation-target-resolver.spec.js +26 -26
  205. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  206. package/lib/features/rank/model.d.ts +1 -1
  207. package/lib/features/rank/model.js +2 -2
  208. package/lib/features/rank/model.js.map +1 -1
  209. package/lib/features/reconnect/model.d.ts +1 -1
  210. package/lib/features/reconnect/model.d.ts.map +1 -1
  211. package/lib/features/reconnect/model.js +9 -27
  212. package/lib/features/reconnect/model.js.map +1 -1
  213. package/lib/features/save/di.config.d.ts +1 -1
  214. package/lib/features/save/di.config.d.ts.map +1 -1
  215. package/lib/features/save/di.config.js +6 -6
  216. package/lib/features/save/di.config.js.map +1 -1
  217. package/lib/features/save/{save.d.ts → save-keylistener.d.ts} +4 -10
  218. package/lib/features/save/save-keylistener.d.ts.map +1 -0
  219. package/lib/features/{undo-redo/model.d.ts → save/save-keylistener.js} +16 -12
  220. package/lib/features/save/save-keylistener.js.map +1 -0
  221. package/lib/features/select/di.config.js +11 -11
  222. package/lib/features/select/di.config.js.map +1 -1
  223. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  224. package/lib/features/select/select-feedback-action.js +45 -71
  225. package/lib/features/select/select-feedback-action.js.map +1 -1
  226. package/lib/features/select/select-mouse-listener.js +7 -23
  227. package/lib/features/select/select-mouse-listener.js.map +1 -1
  228. package/lib/features/select/selection-service.d.ts +17 -1
  229. package/lib/features/select/selection-service.d.ts.map +1 -1
  230. package/lib/features/select/selection-service.js +134 -236
  231. package/lib/features/select/selection-service.js.map +1 -1
  232. package/lib/features/select/selection-service.spec.js +96 -139
  233. package/lib/features/select/selection-service.spec.js.map +1 -1
  234. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +19 -2
  235. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  236. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +102 -142
  237. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  238. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +17 -1
  239. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  240. package/lib/features/tool-feedback/creation-tool-feedback.js +69 -118
  241. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  242. package/lib/features/tool-feedback/css-feedback.d.ts +20 -2
  243. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  244. package/lib/features/tool-feedback/css-feedback.js +37 -81
  245. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  246. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  247. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  248. package/lib/features/tool-feedback/di.config.js +27 -27
  249. package/lib/features/tool-feedback/di.config.js.map +1 -1
  250. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +18 -2
  251. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  252. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +147 -208
  253. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  254. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +19 -3
  255. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  256. package/lib/features/tool-feedback/feedback-action-dispatcher.js +35 -72
  257. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  258. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +17 -1
  259. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  260. package/lib/features/tool-feedback/marquee-tool-feedback.js +41 -84
  261. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  262. package/lib/features/tool-feedback/model.d.ts +1 -1
  263. package/lib/features/tool-feedback/model.js +11 -27
  264. package/lib/features/tool-feedback/model.js.map +1 -1
  265. package/lib/features/tool-feedback/view.d.ts +21 -5
  266. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  267. package/lib/features/tool-feedback/view.js +29 -51
  268. package/lib/features/tool-feedback/view.js.map +1 -1
  269. package/lib/features/tool-palette/di.config.d.ts +1 -1
  270. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  271. package/lib/features/tool-palette/di.config.js +6 -6
  272. package/lib/features/tool-palette/di.config.js.map +1 -1
  273. package/lib/features/tool-palette/palette-item.d.ts +2 -3
  274. package/lib/features/tool-palette/palette-item.d.ts.map +1 -1
  275. package/lib/features/tool-palette/palette-item.js +6 -6
  276. package/lib/features/tool-palette/palette-item.js.map +1 -1
  277. package/lib/features/tool-palette/tool-palette.d.ts +19 -3
  278. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  279. package/lib/features/tool-palette/tool-palette.js +199 -269
  280. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  281. package/lib/features/tools/base-glsp-tool.d.ts +18 -2
  282. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  283. package/lib/features/tools/base-glsp-tool.js +37 -59
  284. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  285. package/lib/features/tools/change-bounds-tool.d.ts +20 -3
  286. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  287. package/lib/features/tools/change-bounds-tool.js +192 -241
  288. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  289. package/lib/features/tools/delete-tool.d.ts +17 -1
  290. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  291. package/lib/features/tools/delete-tool.js +71 -104
  292. package/lib/features/tools/delete-tool.js.map +1 -1
  293. package/lib/features/tools/di.config.d.ts +0 -15
  294. package/lib/features/tools/di.config.d.ts.map +1 -1
  295. package/lib/features/tools/di.config.js +19 -19
  296. package/lib/features/tools/di.config.js.map +1 -1
  297. package/lib/features/tools/edge-creation-tool.d.ts +17 -2
  298. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  299. package/lib/features/tools/edge-creation-tool.js +62 -87
  300. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  301. package/lib/features/tools/edge-edit-tool.d.ts +17 -1
  302. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  303. package/lib/features/tools/edge-edit-tool.js +112 -183
  304. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  305. package/lib/features/tools/marquee-behavior.d.ts +42 -0
  306. package/lib/features/tools/marquee-behavior.d.ts.map +1 -0
  307. package/lib/features/tools/marquee-behavior.js +128 -0
  308. package/lib/features/tools/marquee-behavior.js.map +1 -0
  309. package/{src/features/undo-redo/model.ts → lib/features/tools/marquee-behavior.spec.d.ts} +3 -12
  310. package/lib/features/tools/marquee-behavior.spec.d.ts.map +1 -0
  311. package/lib/features/tools/marquee-behavior.spec.js +165 -0
  312. package/lib/features/tools/marquee-behavior.spec.js.map +1 -0
  313. package/lib/features/tools/marquee-mouse-tool.d.ts +24 -13
  314. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  315. package/lib/features/tools/marquee-mouse-tool.js +86 -195
  316. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  317. package/lib/features/tools/marquee-tool.d.ts +17 -1
  318. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  319. package/lib/features/tools/marquee-tool.js +32 -73
  320. package/lib/features/tools/marquee-tool.js.map +1 -1
  321. package/lib/features/tools/model.js +4 -22
  322. package/lib/features/tools/model.js.map +1 -1
  323. package/lib/features/tools/node-creation-tool.d.ts +17 -2
  324. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  325. package/lib/features/tools/node-creation-tool.js +60 -90
  326. package/lib/features/tools/node-creation-tool.js.map +1 -1
  327. package/lib/features/tools/view.d.ts +1 -1
  328. package/lib/features/tools/view.d.ts.map +1 -1
  329. package/lib/features/tools/view.js +12 -31
  330. package/lib/features/tools/view.js.map +1 -1
  331. package/lib/features/validation/di.config.js +12 -12
  332. package/lib/features/validation/di.config.js.map +1 -1
  333. package/lib/features/validation/issue-marker.d.ts +2 -2
  334. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  335. package/lib/features/validation/issue-marker.js +17 -55
  336. package/lib/features/validation/issue-marker.js.map +1 -1
  337. package/lib/features/validation/marker-navigator.d.ts +17 -1
  338. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  339. package/lib/features/validation/marker-navigator.js +131 -164
  340. package/lib/features/validation/marker-navigator.js.map +1 -1
  341. package/lib/features/validation/marker-navigator.spec.d.ts +0 -15
  342. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  343. package/lib/features/validation/marker-navigator.spec.js +83 -77
  344. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  345. package/lib/features/validation/validate.d.ts +18 -29
  346. package/lib/features/validation/validate.d.ts.map +1 -1
  347. package/lib/features/validation/validate.js +147 -300
  348. package/lib/features/validation/validate.js.map +1 -1
  349. package/lib/features/viewport/di.config.js +10 -10
  350. package/lib/features/viewport/di.config.js.map +1 -1
  351. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +18 -2
  352. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  353. package/lib/features/viewport/glsp-scroll-mouse-listener.js +16 -47
  354. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  355. package/lib/index.d.ts +9 -15
  356. package/lib/index.d.ts.map +1 -1
  357. package/lib/index.js +29 -34
  358. package/lib/index.js.map +1 -1
  359. package/lib/lib/model.js +11 -27
  360. package/lib/lib/model.js.map +1 -1
  361. package/lib/model-source/glsp-diagram-server.d.ts +3 -5
  362. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  363. package/lib/model-source/glsp-diagram-server.js +60 -121
  364. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  365. package/lib/protocol-reexport.d.ts +45 -0
  366. package/lib/protocol-reexport.d.ts.map +1 -0
  367. package/lib/protocol-reexport.js +75 -0
  368. package/lib/protocol-reexport.js.map +1 -0
  369. package/lib/utils/argument-utils.d.ts +3 -3
  370. package/lib/utils/argument-utils.d.ts.map +1 -1
  371. package/lib/utils/argument-utils.js +32 -97
  372. package/lib/utils/argument-utils.js.map +1 -1
  373. package/lib/utils/html-utils.js +2 -2
  374. package/lib/utils/html-utils.js.map +1 -1
  375. package/lib/utils/layout-utils.d.ts +3 -2
  376. package/lib/utils/layout-utils.d.ts.map +1 -1
  377. package/lib/utils/layout-utils.js +5 -5
  378. package/lib/utils/layout-utils.js.map +1 -1
  379. package/lib/utils/marker.d.ts +0 -38
  380. package/lib/utils/marker.d.ts.map +1 -1
  381. package/lib/utils/marker.js +14 -61
  382. package/lib/utils/marker.js.map +1 -1
  383. package/lib/utils/smodel-util.d.ts +4 -4
  384. package/lib/utils/smodel-util.d.ts.map +1 -1
  385. package/lib/utils/smodel-util.js +16 -65
  386. package/lib/utils/smodel-util.js.map +1 -1
  387. package/lib/utils/viewpoint-util.d.ts +3 -2
  388. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  389. package/lib/utils/viewpoint-util.js +15 -30
  390. package/lib/utils/viewpoint-util.js.map +1 -1
  391. package/lib/views/base-view-module.d.ts +0 -15
  392. package/lib/views/base-view-module.d.ts.map +1 -1
  393. package/lib/views/base-view-module.js +28 -28
  394. package/lib/views/base-view-module.js.map +1 -1
  395. package/lib/views/compartments.d.ts +6 -0
  396. package/lib/views/compartments.d.ts.map +1 -0
  397. package/lib/views/compartments.js +43 -0
  398. package/lib/views/compartments.js.map +1 -0
  399. package/lib/views/glsp-edge-view.d.ts +18 -3
  400. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  401. package/lib/views/glsp-edge-view.js +32 -77
  402. package/lib/views/glsp-edge-view.js.map +1 -1
  403. package/lib/views/index.d.ts +1 -1
  404. package/lib/views/index.d.ts.map +1 -1
  405. package/lib/views/index.js +1 -1
  406. package/lib/views/index.js.map +1 -1
  407. package/lib/views/issue-marker-view.d.ts +2 -1
  408. package/lib/views/issue-marker-view.d.ts.map +1 -1
  409. package/lib/views/issue-marker-view.js +36 -50
  410. package/lib/views/issue-marker-view.js.map +1 -1
  411. package/lib/views/rounded-corner-view.d.ts +2 -3
  412. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  413. package/lib/views/rounded-corner-view.js +40 -70
  414. package/lib/views/rounded-corner-view.js.map +1 -1
  415. package/lib/views/rounded-corner.d.ts +2 -1
  416. package/lib/views/rounded-corner.d.ts.map +1 -1
  417. package/lib/views/rounded-corner.js +44 -65
  418. package/lib/views/rounded-corner.js.map +1 -1
  419. package/package.json +10 -18
  420. package/src/base/action-dispatcher.ts +3 -4
  421. package/src/base/actions/focus-change-action.ts +2 -2
  422. package/src/base/{args.ts → argumentable.ts} +2 -3
  423. package/src/base/auto-complete/auto-complete-actions.ts +1 -1
  424. package/src/base/auto-complete/auto-complete-widget.ts +37 -25
  425. package/src/base/auto-complete/validation-decorator.ts +12 -11
  426. package/src/base/command-stack.ts +2 -5
  427. package/src/base/container-modules.ts +112 -0
  428. package/src/base/di.config.ts +33 -18
  429. package/src/base/drag-aware-mouse-listener.ts +3 -4
  430. package/src/base/{editor-context.ts → editor-context-service.ts} +4 -31
  431. package/src/base/focus-tracker.ts +2 -4
  432. package/src/base/model/update-model-command.ts +8 -16
  433. package/src/base/model-initialization-constraint.ts +3 -2
  434. package/src/base/tool-manager/glsp-tool-manager.ts +3 -5
  435. package/src/base/types.ts +4 -2
  436. package/src/features/change-bounds/model.ts +15 -5
  437. package/src/features/change-bounds/movement-restrictor.ts +17 -9
  438. package/src/features/change-bounds/snap.ts +3 -2
  439. package/src/features/command-palette/server-command-palette-provider.ts +11 -9
  440. package/src/features/context-menu/delete-element-context-menu.ts +3 -4
  441. package/src/features/context-menu/di.config.ts +11 -9
  442. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +4 -3
  443. package/src/features/context-menu/server-context-menu-provider.ts +10 -7
  444. package/src/features/copy-paste/copy-paste-context-menu.ts +59 -30
  445. package/src/features/copy-paste/copy-paste-handler.ts +18 -10
  446. package/src/features/copy-paste/di.config.ts +2 -3
  447. package/src/features/decoration/decoration-placer.ts +3 -13
  448. package/src/features/edit-label/edit-label-validator.ts +11 -12
  449. package/src/features/hints/di.config.ts +2 -3
  450. package/src/features/hints/model.ts +4 -3
  451. package/src/features/hints/type-hints.ts +23 -90
  452. package/src/features/hover/di.config.ts +1 -2
  453. package/src/features/hover/hover.ts +2 -7
  454. package/src/features/layout/di.config.ts +8 -4
  455. package/src/features/layout/freeform-layout.ts +133 -0
  456. package/src/features/layout/layout-commands.spec.ts +82 -64
  457. package/src/features/layout/layout-commands.ts +43 -34
  458. package/src/features/layout/vbox-layout.ts +256 -0
  459. package/src/features/model-source-watcher/di.config.ts +3 -4
  460. package/src/features/model-source-watcher/model-source-changed-action-handler.ts +11 -7
  461. package/src/features/mouse-tool/mouse-tool.ts +33 -23
  462. package/src/features/navigation/di.config.ts +4 -10
  463. package/src/features/navigation/navigation-action-handler.ts +33 -69
  464. package/src/features/navigation/navigation-target-resolver.spec.ts +3 -7
  465. package/src/features/navigation/navigation-target-resolver.ts +13 -91
  466. package/src/features/rank/model.ts +2 -2
  467. package/src/features/reconnect/model.ts +2 -3
  468. package/src/features/save/di.config.ts +2 -3
  469. package/src/features/save/{save.ts → save-keylistener.ts} +3 -11
  470. package/src/features/select/select-feedback-action.ts +4 -6
  471. package/src/features/select/selection-service.spec.ts +11 -6
  472. package/src/features/select/selection-service.ts +14 -10
  473. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +26 -20
  474. package/src/features/tool-feedback/creation-tool-feedback.ts +17 -10
  475. package/src/features/tool-feedback/css-feedback.ts +9 -6
  476. package/src/features/tool-feedback/di.config.ts +2 -5
  477. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +19 -18
  478. package/src/features/tool-feedback/feedback-action-dispatcher.ts +8 -9
  479. package/src/features/tool-feedback/marquee-tool-feedback.ts +4 -5
  480. package/src/features/tool-feedback/model.ts +1 -2
  481. package/src/features/tool-feedback/view.tsx +17 -11
  482. package/src/features/tool-palette/di.config.ts +2 -4
  483. package/src/features/tool-palette/palette-item.ts +4 -6
  484. package/src/features/tool-palette/tool-palette.ts +44 -40
  485. package/src/features/tools/base-glsp-tool.ts +4 -4
  486. package/src/features/tools/change-bounds-tool.ts +64 -34
  487. package/src/features/tools/delete-tool.ts +9 -6
  488. package/src/features/tools/di.config.ts +2 -3
  489. package/src/features/tools/edge-creation-tool.ts +5 -10
  490. package/src/features/tools/edge-edit-tool.ts +10 -20
  491. package/src/features/tools/marquee-behavior.spec.ts +175 -0
  492. package/src/features/tools/marquee-behavior.ts +158 -0
  493. package/src/features/tools/marquee-mouse-tool.ts +43 -134
  494. package/src/features/tools/marquee-tool.ts +2 -3
  495. package/src/features/tools/node-creation-tool.ts +4 -11
  496. package/src/features/tools/view.tsx +17 -12
  497. package/src/features/validation/issue-marker.ts +2 -3
  498. package/src/features/validation/marker-navigator.spec.ts +18 -14
  499. package/src/features/validation/marker-navigator.ts +24 -12
  500. package/src/features/validation/validate.ts +7 -40
  501. package/src/features/viewport/glsp-scroll-mouse-listener.ts +3 -12
  502. package/src/index.ts +30 -19
  503. package/src/model-source/glsp-diagram-server.ts +12 -28
  504. package/src/protocol-reexport.ts +64 -0
  505. package/src/utils/argument-utils.ts +14 -11
  506. package/src/utils/layout-utils.ts +13 -7
  507. package/src/utils/marker.ts +2 -26
  508. package/src/utils/smodel-util.ts +15 -11
  509. package/src/utils/viewpoint-util.ts +4 -4
  510. package/src/views/base-view-module.ts +1 -2
  511. package/src/{base/actions/edit-mode-action.ts → views/compartments.tsx} +18 -14
  512. package/src/views/glsp-edge-view.tsx +21 -14
  513. package/src/views/index.ts +1 -1
  514. package/src/views/issue-marker-view.tsx +28 -19
  515. package/src/views/rounded-corner-view.tsx +38 -25
  516. package/src/views/rounded-corner.ts +5 -6
  517. package/lib/base/actions/context-actions.d.ts +0 -36
  518. package/lib/base/actions/context-actions.d.ts.map +0 -1
  519. package/lib/base/actions/context-actions.js +0 -51
  520. package/lib/base/actions/context-actions.js.map +0 -1
  521. package/lib/base/actions/edit-mode-action.d.ts +0 -13
  522. package/lib/base/actions/edit-mode-action.d.ts.map +0 -1
  523. package/lib/base/actions/edit-mode-action.js +0 -56
  524. package/lib/base/actions/edit-mode-action.js.map +0 -1
  525. package/lib/base/actions/edit-validation-actions.d.ts +0 -78
  526. package/lib/base/actions/edit-validation-actions.d.ts.map +0 -1
  527. package/lib/base/actions/edit-validation-actions.js +0 -83
  528. package/lib/base/actions/edit-validation-actions.js.map +0 -1
  529. package/lib/base/actions/protocol-actions.d.ts +0 -41
  530. package/lib/base/actions/protocol-actions.d.ts.map +0 -1
  531. package/lib/base/actions/protocol-actions.js +0 -151
  532. package/lib/base/actions/protocol-actions.js.map +0 -1
  533. package/lib/base/args.d.ts.map +0 -1
  534. package/lib/base/args.js.map +0 -1
  535. package/lib/base/editor-context.d.ts.map +0 -1
  536. package/lib/base/editor-context.js +0 -174
  537. package/lib/base/editor-context.js.map +0 -1
  538. package/lib/base/operations/operation.d.ts +0 -135
  539. package/lib/base/operations/operation.d.ts.map +0 -1
  540. package/lib/base/operations/operation.js +0 -231
  541. package/lib/base/operations/operation.js.map +0 -1
  542. package/lib/features/copy-paste/copy-paste-actions.d.ts +0 -50
  543. package/lib/features/copy-paste/copy-paste-actions.d.ts.map +0 -1
  544. package/lib/features/copy-paste/copy-paste-actions.js +0 -68
  545. package/lib/features/copy-paste/copy-paste-actions.js.map +0 -1
  546. package/lib/features/hints/request-type-hints-action.d.ts +0 -32
  547. package/lib/features/hints/request-type-hints-action.d.ts.map +0 -1
  548. package/lib/features/hints/request-type-hints-action.js +0 -30
  549. package/lib/features/hints/request-type-hints-action.js.map +0 -1
  550. package/lib/features/model-source-watcher/model-source-changed-action.d.ts +0 -24
  551. package/lib/features/model-source-watcher/model-source-changed-action.d.ts.map +0 -1
  552. package/lib/features/model-source-watcher/model-source-changed-action.js +0 -17
  553. package/lib/features/model-source-watcher/model-source-changed-action.js.map +0 -1
  554. package/lib/features/save/save.d.ts.map +0 -1
  555. package/lib/features/save/save.js +0 -62
  556. package/lib/features/save/save.js.map +0 -1
  557. package/lib/features/undo-redo/model.d.ts.map +0 -1
  558. package/lib/features/undo-redo/model.js +0 -22
  559. package/lib/features/undo-redo/model.js.map +0 -1
  560. package/lib/model-source/glsp-server-status.d.ts +0 -30
  561. package/lib/model-source/glsp-server-status.d.ts.map +0 -1
  562. package/lib/model-source/glsp-server-status.js +0 -61
  563. package/lib/model-source/glsp-server-status.js.map +0 -1
  564. package/lib/utils/array-utils.d.ts +0 -28
  565. package/lib/utils/array-utils.d.ts.map +0 -1
  566. package/lib/utils/array-utils.js +0 -61
  567. package/lib/utils/array-utils.js.map +0 -1
  568. package/lib/views/default-types.d.ts +0 -37
  569. package/lib/views/default-types.d.ts.map +0 -1
  570. package/lib/views/default-types.js +0 -47
  571. package/lib/views/default-types.js.map +0 -1
  572. package/src/base/actions/context-actions.ts +0 -43
  573. package/src/base/actions/edit-validation-actions.ts +0 -103
  574. package/src/base/actions/protocol-actions.ts +0 -82
  575. package/src/base/operations/operation.ts +0 -178
  576. package/src/features/copy-paste/copy-paste-actions.ts +0 -60
  577. package/src/features/hints/request-type-hints-action.ts +0 -36
  578. package/src/features/model-source-watcher/model-source-changed-action.ts +0 -26
  579. package/src/model-source/glsp-server-status.ts +0 -38
  580. package/src/utils/array-utils.ts +0 -55
  581. package/src/views/default-types.ts +0 -48
@@ -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,6 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { isSetContextActionsAction, RequestContextActions, RequestMarkersAction, SetContextActions } from '@eclipse-glsp/protocol';
16
17
  import { inject, injectable, postConstruct } from 'inversify';
17
18
  import {
18
19
  AbstractUIExtension,
@@ -26,20 +27,18 @@ import {
26
27
  SModelRoot,
27
28
  TYPES
28
29
  } from 'sprotty';
30
+ import { codiconCSSClasses } from 'sprotty/lib/utils/codicon';
29
31
  import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
30
-
31
32
  import { GLSPActionDispatcher } from '../../base/action-dispatcher';
32
- import { isSetContextActionsAction, RequestContextActions, SetContextActions } from '../../base/actions/context-actions';
33
- import { EditModeListener, EditorContextService } from '../../base/editor-context';
33
+ import { EditModeListener, EditorContextService } from '../../base/editor-context-service';
34
34
  import { MouseDeleteTool } from '../tools/delete-tool';
35
35
  import { MarqueeMouseTool } from '../tools/marquee-mouse-tool';
36
- import { RequestMarkersAction } from '../validation/validate';
37
36
  import { PaletteItem } from './palette-item';
38
37
 
39
38
  const CLICKED_CSS_CLASS = 'clicked';
40
- const SEARCH_ICON = 'fa-search';
41
- const PALETTE_ICON = 'fa-palette';
42
- const CHEVRON_DOWN = 'fa-chevron-down';
39
+ const SEARCH_ICON_ID = 'search';
40
+ const PALETTE_ICON_ID = 'symbol-color';
41
+ const CHEVRON_DOWN_ICON_ID = 'chevron-right';
43
42
  const PALETTE_HEIGHT = '500px';
44
43
 
45
44
  @injectable()
@@ -101,7 +100,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
101
100
  this.containerElement.classList.add('collapsible-palette');
102
101
  if (baseDiv) {
103
102
  const insertedDiv = baseDiv.insertBefore(minPaletteDiv, baseDiv.firstChild);
104
- const minimizeIcon = createIcon(['fas', CHEVRON_DOWN]);
103
+ const minimizeIcon = createIcon(CHEVRON_DOWN_ICON_ID);
105
104
  this.updateMinimizePaletteButtonTooltip(minPaletteDiv);
106
105
  minimizeIcon.onclick = _event => {
107
106
  if (this.isPaletteMaximized()) {
@@ -110,10 +109,8 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
110
109
  this.containerElement.style.maxHeight = PALETTE_HEIGHT;
111
110
  }
112
111
  this.updateMinimizePaletteButtonTooltip(minPaletteDiv);
113
- changeCSSClass(minimizeIcon, PALETTE_ICON);
114
- changeCSSClass(minimizeIcon, 'fa');
115
- changeCSSClass(minimizeIcon, 'fas');
116
- changeCSSClass(minimizeIcon, CHEVRON_DOWN);
112
+ changeCodiconClass(minimizeIcon, PALETTE_ICON_ID);
113
+ changeCodiconClass(minimizeIcon, CHEVRON_DOWN_ICON_ID);
117
114
  };
118
115
  insertedDiv.appendChild(minimizeIcon);
119
116
  }
@@ -135,16 +132,15 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
135
132
  const bodyDiv = document.createElement('div');
136
133
  bodyDiv.classList.add('palette-body');
137
134
  let tabIndex = 0;
138
- this.paletteItems.sort(compare)
139
- .forEach(item => {
140
- if (item.children) {
141
- const group = createToolGroup(item);
142
- item.children.sort(compare).forEach(child => group.appendChild(this.createToolButton(child, tabIndex++)));
143
- bodyDiv.appendChild(group);
144
- } else {
145
- bodyDiv.appendChild(this.createToolButton(item, tabIndex++));
146
- }
147
- });
135
+ this.paletteItems.sort(compare).forEach(item => {
136
+ if (item.children) {
137
+ const group = createToolGroup(item);
138
+ item.children.sort(compare).forEach(child => group.appendChild(this.createToolButton(child, tabIndex++)));
139
+ bodyDiv.appendChild(group);
140
+ } else {
141
+ bodyDiv.appendChild(this.createToolButton(item, tabIndex++));
142
+ }
143
+ });
148
144
  if (this.paletteItems.length === 0) {
149
145
  const noResultsDiv = document.createElement('div');
150
146
  noResultsDiv.innerText = 'No results found.';
@@ -165,7 +161,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
165
161
  headerCompartment.classList.add('palette-header');
166
162
  headerCompartment.append(this.createHeaderTitle());
167
163
  headerCompartment.appendChild(this.createHeaderTools());
168
- headerCompartment.appendChild(this.searchField = this.createHeaderSearchField());
164
+ headerCompartment.appendChild((this.searchField = this.createHeaderSearchField()));
169
165
  this.containerElement.appendChild(headerCompartment);
170
166
  }
171
167
 
@@ -193,7 +189,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
193
189
  }
194
190
 
195
191
  protected createDefaultToolButton(): HTMLElement {
196
- const button = createIcon(['fas', 'fa-mouse-pointer', 'fa-xs', 'clicked']);
192
+ const button = createIcon('inspect');
197
193
  button.id = 'btn_default_tools';
198
194
  button.title = 'Enable selection tool';
199
195
  button.onclick = this.onClickStaticToolButton(this.defaultToolsButton);
@@ -201,21 +197,21 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
201
197
  }
202
198
 
203
199
  protected createMouseDeleteToolButton(): HTMLElement {
204
- const deleteToolButton = createIcon(['fas', 'fa-eraser', 'fa-xs']);
200
+ const deleteToolButton = createIcon('chrome-close');
205
201
  deleteToolButton.title = 'Enable deletion tool';
206
202
  deleteToolButton.onclick = this.onClickStaticToolButton(deleteToolButton, MouseDeleteTool.ID);
207
203
  return deleteToolButton;
208
204
  }
209
205
 
210
206
  protected createMarqueeToolButton(): HTMLElement {
211
- const marqueeToolButton = createIcon(['far', 'fa-object-group', 'fa-xs']);
207
+ const marqueeToolButton = createIcon('screen-full');
212
208
  marqueeToolButton.title = 'Enable marquee tool';
213
209
  marqueeToolButton.onclick = this.onClickStaticToolButton(marqueeToolButton, MarqueeMouseTool.ID);
214
210
  return marqueeToolButton;
215
211
  }
216
212
 
217
213
  protected createValidateButton(): HTMLElement {
218
- const validateActionButton = createIcon(['fas', 'fa-check-square', 'fa-xs']);
214
+ const validateActionButton = createIcon('pass');
219
215
  validateActionButton.title = 'Validate model';
220
216
  validateActionButton.onclick = _event => {
221
217
  const modelIds: string[] = [this.modelRootId];
@@ -225,15 +221,15 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
225
221
  }
226
222
 
227
223
  protected createSearchButton(): HTMLElement {
228
- const searchIcon = createIcon(['fas', SEARCH_ICON, 'state-icon', 'fa-xs']);
224
+ const searchIcon = createIcon(SEARCH_ICON_ID);
229
225
  searchIcon.onclick = _ev => {
230
226
  const searchField = document.getElementById(this.containerElement.id + '_search_field');
231
227
  if (searchField) {
232
- if (searchField.style.display === 'inline') {
233
- searchField.style.display = 'none';
234
- } else {
235
- searchField.style.display = 'inline';
228
+ if (searchField.style.display === 'none') {
229
+ searchField.style.display = '';
236
230
  searchField.focus();
231
+ } else {
232
+ searchField.style.display = 'none';
237
233
  }
238
234
  }
239
235
  };
@@ -257,7 +253,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
257
253
  protected createHeaderTitle(): HTMLElement {
258
254
  const header = document.createElement('div');
259
255
  header.classList.add('header-icon');
260
- header.appendChild(createIcon(['fa', 'fa-palette']));
256
+ header.appendChild(createIcon(PALETTE_ICON_ID));
261
257
  header.insertAdjacentText('beforeend', 'Palette');
262
258
  return header;
263
259
  }
@@ -266,7 +262,10 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
266
262
  const button = document.createElement('div');
267
263
  button.tabIndex = index;
268
264
  button.classList.add('tool-button');
269
- button.innerHTML = item.label;
265
+ if (item.icon) {
266
+ button.appendChild(createIcon(item.icon));
267
+ }
268
+ button.insertAdjacentText('beforeend', item.label);
270
269
  button.onclick = this.onClickCreateToolButton(button, item);
271
270
  button.onkeydown = ev => this.clearToolOnEscape(ev);
272
271
  return button;
@@ -383,9 +382,9 @@ export function compare(a: PaletteItem, b: PaletteItem): number {
383
382
  return a.label.localeCompare(b.label);
384
383
  }
385
384
 
386
- export function createIcon(cssClasses: string[]): HTMLElement {
385
+ export function createIcon(codiconId: string): HTMLElement {
387
386
  const icon = document.createElement('i');
388
- icon.classList.add(...cssClasses);
387
+ icon.classList.add(...codiconCSSClasses(codiconId));
389
388
  return icon;
390
389
  }
391
390
 
@@ -396,7 +395,7 @@ export function createToolGroup(item: PaletteItem): HTMLElement {
396
395
  const header = document.createElement('div');
397
396
  header.classList.add('group-header');
398
397
  if (item.icon) {
399
- header.appendChild(createIcon(['fas', item.icon]));
398
+ header.appendChild(createIcon(item.icon));
400
399
  }
401
400
  header.insertAdjacentText('beforeend', item.label);
402
401
  header.ondblclick = _ev => {
@@ -411,6 +410,11 @@ export function createToolGroup(item: PaletteItem): HTMLElement {
411
410
  }
412
411
 
413
412
  export function changeCSSClass(element: Element, css: string): void {
414
- element.classList.contains(css) ? element.classList.remove(css) :
415
- element.classList.add(css);
413
+ element.classList.contains(css) ? element.classList.remove(css) : element.classList.add(css);
414
+ }
415
+
416
+ export function changeCodiconClass(element: Element, codiconId: string): void {
417
+ element.classList.contains(codiconCSSClasses(codiconId)[1])
418
+ ? element.classList.remove(codiconCSSClasses(codiconId)[1])
419
+ : element.classList.add(codiconCSSClasses(codiconId)[1]);
416
420
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020 EclipseSource and others.
2
+ * Copyright (c) 2020-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,10 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { Action } from '@eclipse-glsp/protocol';
16
17
  import { inject, injectable } from 'inversify';
17
- import { Action, IActionDispatcher, KeyTool, TYPES } from 'sprotty';
18
-
19
- import { EditorContextService } from '../../base/editor-context';
18
+ import { IActionDispatcher, KeyTool, TYPES } from 'sprotty';
19
+ import { EditorContextService } from '../../base/editor-context-service';
20
20
  import { GLSPTool } from '../../base/tool-manager/glsp-tool-manager';
21
21
  import { GLSP_TYPES } from '../../base/types';
22
22
  import { IMouseTool } from '../mouse-tool/mouse-tool';
@@ -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,7 +34,7 @@ import {
26
34
  isSelected,
27
35
  isViewport,
28
36
  MouseListener,
29
- Point,
37
+ SChildElement,
30
38
  SConnectableElement,
31
39
  SetBoundsAction,
32
40
  SModelElement,
@@ -34,15 +42,7 @@ import {
34
42
  SParentElement,
35
43
  TYPES
36
44
  } from 'sprotty';
37
-
38
45
  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
46
  import { GLSP_TYPES } from '../../base/types';
47
47
  import { isValidMove, isValidSize, WriteablePoint } from '../../utils/layout-utils';
48
48
  import {
@@ -76,8 +76,8 @@ 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 {
@@ -118,7 +118,7 @@ export class ChangeBoundsTool extends BaseGLSPTool {
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[] = [];
@@ -281,7 +302,12 @@ export class ChangeBoundsListener extends DragAwareMouseListener implements Sele
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,14 +328,14 @@ 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;
@@ -318,7 +344,6 @@ export class ChangeBoundsListener extends DragAwareMouseListener implements Sele
318
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();
@@ -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,9 +458,7 @@ 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 {
@@ -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 { Action, DeleteElementOperation } from '@eclipse-glsp/protocol';
16
17
  import { inject, injectable } from 'inversify';
17
18
  import {
18
- Action,
19
19
  EnableDefaultToolsAction,
20
20
  findParentByFeature,
21
21
  isCtrlOrCmd,
@@ -27,8 +27,6 @@ import {
27
27
  SModelElement
28
28
  } from 'sprotty';
29
29
  import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
30
-
31
- import { DeleteElementOperation } from '../../base/operations/operation';
32
30
  import { GLSPTool } from '../../base/tool-manager/glsp-tool-manager';
33
31
  import { GLSP_TYPES } from '../../base/types';
34
32
  import { IMouseTool } from '../mouse-tool/mouse-tool';
@@ -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
  }
@@ -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,9 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { TriggerEdgeCreationAction, TriggerNodeCreationAction } from '@eclipse-glsp/protocol';
16
17
  import { ContainerModule, interfaces } from 'inversify';
17
18
  import { configureActionHandler, configureModelElement } from 'sprotty';
18
-
19
- import { TriggerEdgeCreationAction, TriggerNodeCreationAction } from '../../base/operations/operation';
20
19
  import { GLSP_TYPES } from '../../base/types';
21
20
  import { MARQUEE } from '../tool-feedback/marquee-tool-feedback';
22
21
  import { ChangeBoundsTool } from './change-bounds-tool';
@@ -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 { Action, CreateEdgeOperation, isTriggerElementTypeCreationAction, TriggerEdgeCreationAction } from '@eclipse-glsp/protocol';
16
17
  import { inject, injectable } from 'inversify';
17
18
  import {
18
- Action,
19
19
  AnchorComputerRegistry,
20
20
  EnableDefaultToolsAction,
21
21
  EnableToolsAction,
@@ -26,13 +26,7 @@ import {
26
26
  SEdge,
27
27
  SModelElement
28
28
  } from 'sprotty';
29
-
30
29
  import { DragAwareMouseListener } from '../../base/drag-aware-mouse-listener';
31
- import {
32
- CreateEdgeOperation,
33
- isTriggerElementTypeCreationAction,
34
- TriggerEdgeCreationAction
35
- } from '../../base/operations/operation';
36
30
  import {
37
31
  DrawFeedbackEdgeAction,
38
32
  FeedbackEdgeEndMovingMouseListener,
@@ -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
  }
@@ -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 { Action, ChangeRoutingPointsOperation, ReconnectEdgeOperation } from '@eclipse-glsp/protocol';
16
17
  import { inject, injectable, optional } from 'inversify';
17
18
  import {
18
- Action,
19
19
  AnchorComputerRegistry,
20
20
  canEditRouting,
21
21
  Connectable,
@@ -28,18 +28,10 @@ import {
28
28
  SRoutableElement,
29
29
  SRoutingHandle
30
30
  } from 'sprotty';
31
-
32
31
  import { DragAwareMouseListener } from '../../base/drag-aware-mouse-listener';
33
- import { ChangeRoutingPointsOperation, ReconnectEdgeOperation } from '../../base/operations/operation';
34
32
  import { GLSP_TYPES } from '../../base/types';
35
33
  import { isRoutable, isRoutingHandle } from '../../utils/smodel-util';
36
- import {
37
- isReconnectable,
38
- isReconnectHandle,
39
- isSourceRoutingHandle,
40
- isTargetRoutingHandle,
41
- SReconnectHandle
42
- } from '../reconnect/model';
34
+ import { isReconnectable, isReconnectHandle, isSourceRoutingHandle, isTargetRoutingHandle, SReconnectHandle } from '../reconnect/model';
43
35
  import { SelectionListener, SelectionService } from '../select/selection-service';
44
36
  import { DrawFeedbackEdgeAction, feedbackEdgeId, RemoveFeedbackEdgeAction } from '../tool-feedback/creation-tool-feedback';
45
37
  import { CursorCSS, cursorFeedbackAction } from '../tool-feedback/css-feedback';
@@ -239,7 +231,8 @@ class EdgeEditListener extends DragAwareMouseListener implements SelectionListen
239
231
  }
240
232
  this.reset();
241
233
  } else if (this.edge && this.routingHandle) {
242
- // we need to re-retrieve the edge as it might have changed due to a server udpate since we do not reset the state between reroute actions
234
+ // we need to re-retrieve the edge as it might have changed due to a server update since we do not reset the state between
235
+ // reroute actions
243
236
  const latestEdge = target.index.getById(this.edge.id);
244
237
  if (latestEdge && isRoutable(latestEdge)) {
245
238
  result.push(new ChangeRoutingPointsOperation([{ elementId: latestEdge.id, newRoutingPoints: latestEdge.routingPoints }]));
@@ -255,9 +248,10 @@ class EdgeEditListener extends DragAwareMouseListener implements SelectionListen
255
248
  if (!this.newConnectable || currentTarget !== this.newConnectable) {
256
249
  this.setNewConnectable(currentTarget);
257
250
  if (currentTarget) {
258
- if ((this.reconnectMode === 'NEW_SOURCE' && currentTarget.canConnect(this.edge, 'source')) ||
259
- (this.reconnectMode === 'NEW_TARGET' && currentTarget.canConnect(this.edge, 'target'))) {
260
-
251
+ if (
252
+ (this.reconnectMode === 'NEW_SOURCE' && currentTarget.canConnect(this.edge, 'source')) ||
253
+ (this.reconnectMode === 'NEW_TARGET' && currentTarget.canConnect(this.edge, 'target'))
254
+ ) {
261
255
  this.tool.dispatchFeedback([cursorFeedbackAction(CursorCSS.EDGE_RECONNECT)]);
262
256
  return [];
263
257
  }
@@ -314,11 +308,7 @@ class EdgeEditListener extends DragAwareMouseListener implements SelectionListen
314
308
  if (this.edge) {
315
309
  result.push(new SwitchRoutingModeAction([], [this.edge.id]));
316
310
  }
317
- result.push(...[
318
- new HideEdgeReconnectHandlesFeedbackAction(),
319
- cursorFeedbackAction(),
320
- new RemoveFeedbackEdgeAction()
321
- ]);
311
+ result.push(...[new HideEdgeReconnectHandlesFeedbackAction(), cursorFeedbackAction(), new RemoveFeedbackEdgeAction()]);
322
312
  this.tool.deregisterFeedback(result);
323
313
  this.tool.deregisterFeedbackListeners();
324
314
  }