@eclipse-glsp/client 0.9.0-rc-01 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (581) hide show
  1. package/LICENSE +642 -277
  2. package/README.md +4 -2
  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 +12 -19
  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,13 +13,12 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { Action, ChangeBoundsOperation, ElementAndBounds } from '@eclipse-glsp/protocol';
16
17
  import { inject, injectable, optional } from 'inversify';
17
18
  import {
18
- Action,
19
19
  Command,
20
20
  CommandExecutionContext,
21
21
  CommandReturn,
22
- ElementAndBounds,
23
22
  ElementMove,
24
23
  IActionDispatcher,
25
24
  MoveAction,
@@ -27,24 +26,17 @@ import {
27
26
  SModelElement,
28
27
  TYPES
29
28
  } from 'sprotty';
30
-
31
- import { ChangeBoundsOperation } from '../../base/operations/operation';
32
29
  import { GLSP_TYPES } from '../../base/types';
33
- import {
34
- toValidElementAndBounds,
35
- toValidElementMove,
36
- WriteableElementAndBounds,
37
- WriteableElementMove
38
- } from '../../utils/layout-utils';
30
+ import { toValidElementAndBounds, toValidElementMove, WriteableElementAndBounds, WriteableElementMove } from '../../utils/layout-utils';
39
31
  import { BoundsAwareModelElement } from '../../utils/smodel-util';
40
32
  import { isBoundsAwareMoveable, isResizable } from '../change-bounds/model';
41
33
  import { IMovementRestrictor } from '../change-bounds/movement-restrictor';
42
34
  import { SelectionService } from '../select/selection-service';
43
35
 
36
+ // eslint-disable-next-line no-shadow
44
37
  export enum ResizeDimension {
45
38
  Width,
46
39
  Height,
47
- // eslint-disable-next-line @typescript-eslint/camelcase
48
40
  Width_And_Height
49
41
  }
50
42
 
@@ -84,10 +76,11 @@ export class ResizeElementsAction implements Action {
84
76
  * Function to reduce the dimension to a target dimension value, see Reduce.* for potential functions.
85
77
  */
86
78
  public readonly reductionFunction: (...values: number[]) => number,
87
- public readonly kind: string = ResizeElementsCommand.KIND) {
88
- }
79
+ public readonly kind: string = ResizeElementsCommand.KIND
80
+ ) {}
89
81
  }
90
82
 
83
+ // eslint-disable-next-line no-shadow
91
84
  export enum Alignment {
92
85
  Left,
93
86
  Center,
@@ -125,16 +118,18 @@ export class AlignElementsAction implements Action {
125
118
  * Function to selected elements that are considered during alignment calculation, see Select.* for potential functions.
126
119
  */
127
120
  public readonly selectionFunction: (elements: BoundsAwareModelElement[]) => BoundsAwareModelElement[] = Select.all,
128
- public readonly kind = AlignElementsCommand.KIND) {
129
- }
121
+ public readonly kind = AlignElementsCommand.KIND
122
+ ) {}
130
123
  }
131
124
 
132
125
  @injectable()
133
126
  abstract class LayoutElementsCommand extends Command {
134
- constructor(@inject(TYPES.Action) protected action: ResizeElementsAction | AlignElementsAction,
127
+ constructor(
128
+ @inject(TYPES.Action) protected action: ResizeElementsAction | AlignElementsAction,
135
129
  @inject(TYPES.IActionDispatcher) protected actionDispatcher: IActionDispatcher,
136
130
  @inject(GLSP_TYPES.SelectionService) protected selectionService: SelectionService,
137
- @inject(GLSP_TYPES.IMovementRestrictor) @optional() readonly movementRestrictor?: IMovementRestrictor) {
131
+ @inject(GLSP_TYPES.IMovementRestrictor) @optional() readonly movementRestrictor?: IMovementRestrictor
132
+ ) {
138
133
  super();
139
134
  }
140
135
 
@@ -170,10 +165,12 @@ abstract class LayoutElementsCommand extends Command {
170
165
  export class ResizeElementsCommand extends LayoutElementsCommand {
171
166
  static readonly KIND = 'layout:resize';
172
167
 
173
- constructor(@inject(TYPES.Action) protected action: ResizeElementsAction,
168
+ constructor(
169
+ @inject(TYPES.Action) protected action: ResizeElementsAction,
174
170
  @inject(TYPES.IActionDispatcher) protected actionDispatcher: IActionDispatcher,
175
171
  @inject(GLSP_TYPES.SelectionService) protected selectionService: SelectionService,
176
- @inject(GLSP_TYPES.IMovementRestrictor) @optional() readonly movementRestrictor?: IMovementRestrictor) {
172
+ @inject(GLSP_TYPES.IMovementRestrictor) @optional() readonly movementRestrictor?: IMovementRestrictor
173
+ ) {
177
174
  super(action, actionDispatcher, selectionService, movementRestrictor);
178
175
  }
179
176
 
@@ -233,7 +230,10 @@ export class ResizeElementsCommand extends LayoutElementsCommand {
233
230
  });
234
231
  }
235
232
 
236
- dispatchResizeActions(elements: BoundsAwareModelElement[], change: (element: BoundsAwareModelElement, bounds: WriteableElementAndBounds) => void): void {
233
+ dispatchResizeActions(
234
+ elements: BoundsAwareModelElement[],
235
+ change: (element: BoundsAwareModelElement, bounds: WriteableElementAndBounds) => void
236
+ ): void {
237
237
  const elementAndBounds: ElementAndBounds[] = []; // client- and server-side resize
238
238
  elements.forEach(element => {
239
239
  const elementChange = this.createElementAndBounds(element, change);
@@ -245,9 +245,10 @@ export class ResizeElementsCommand extends LayoutElementsCommand {
245
245
  this.dispatchActions([new SetBoundsAction(elementAndBounds), new ChangeBoundsOperation(elementAndBounds)]);
246
246
  }
247
247
 
248
- createElementAndBounds(element: BoundsAwareModelElement, change: (element: BoundsAwareModelElement,
249
- bounds: WriteableElementAndBounds) => void): WriteableElementAndBounds | undefined {
250
-
248
+ createElementAndBounds(
249
+ element: BoundsAwareModelElement,
250
+ change: (_element: BoundsAwareModelElement, _bounds: WriteableElementAndBounds) => void
251
+ ): WriteableElementAndBounds | undefined {
251
252
  const bounds: WriteableElementAndBounds = {
252
253
  elementId: element.id,
253
254
  newPosition: {
@@ -278,10 +279,12 @@ export class ResizeElementsCommand extends LayoutElementsCommand {
278
279
  export class AlignElementsCommand extends LayoutElementsCommand {
279
280
  static readonly KIND = 'layout:align';
280
281
 
281
- constructor(@inject(TYPES.Action) protected action: AlignElementsAction,
282
+ constructor(
283
+ @inject(TYPES.Action) protected action: AlignElementsAction,
282
284
  @inject(TYPES.IActionDispatcher) protected actionDispatcher: IActionDispatcher,
283
285
  @inject(GLSP_TYPES.SelectionService) protected selectionService: SelectionService,
284
- @inject(GLSP_TYPES.IMovementRestrictor) @optional() readonly movementRestrictor?: IMovementRestrictor) {
286
+ @inject(GLSP_TYPES.IMovementRestrictor) @optional() readonly movementRestrictor?: IMovementRestrictor
287
+ ) {
285
288
  super(action, actionDispatcher, selectionService, movementRestrictor);
286
289
  }
287
290
 
@@ -319,7 +322,7 @@ export class AlignElementsCommand extends LayoutElementsCommand {
319
322
  alignLeft(elements: BoundsAwareModelElement[]): void {
320
323
  const calculationElements = this.action.selectionFunction(elements);
321
324
  const minX = calculationElements.map(element => element.bounds.x).reduce((a, b) => Math.min(a, b));
322
- this.dispatchAlignActions(elements, (_, move) => move.toPosition.x = minX);
325
+ this.dispatchAlignActions(elements, (_, move) => (move.toPosition.x = minX));
323
326
  }
324
327
 
325
328
  alignCenter(elements: BoundsAwareModelElement[]): void {
@@ -328,19 +331,19 @@ export class AlignElementsCommand extends LayoutElementsCommand {
328
331
  const maxX = calculationElements.map(element => element.bounds.x + element.bounds.width).reduce((a, b) => Math.max(a, b));
329
332
  const diffX = maxX - minX;
330
333
  const centerX = minX + 0.5 * diffX;
331
- this.dispatchAlignActions(elements, (element, move) => move.toPosition.x = centerX - 0.5 * element.bounds.width);
334
+ this.dispatchAlignActions(elements, (element, move) => (move.toPosition.x = centerX - 0.5 * element.bounds.width));
332
335
  }
333
336
 
334
337
  alignRight(elements: BoundsAwareModelElement[]): void {
335
338
  const calculationElements = this.action.selectionFunction(elements);
336
339
  const maxX = calculationElements.map(element => element.bounds.x + element.bounds.width).reduce((a, b) => Math.max(a, b));
337
- this.dispatchAlignActions(elements, (element, move) => move.toPosition.x = maxX - element.bounds.width);
340
+ this.dispatchAlignActions(elements, (element, move) => (move.toPosition.x = maxX - element.bounds.width));
338
341
  }
339
342
 
340
343
  alignTop(elements: BoundsAwareModelElement[]): void {
341
344
  const calculationElements = this.action.selectionFunction(elements);
342
345
  const minY = calculationElements.map(element => element.bounds.y).reduce((a, b) => Math.min(a, b));
343
- this.dispatchAlignActions(elements, (_, move) => move.toPosition.y = minY);
346
+ this.dispatchAlignActions(elements, (_, move) => (move.toPosition.y = minY));
344
347
  }
345
348
 
346
349
  alignMiddle(elements: BoundsAwareModelElement[]): void {
@@ -349,16 +352,19 @@ export class AlignElementsCommand extends LayoutElementsCommand {
349
352
  const maxY = calculationElements.map(element => element.bounds.y + element.bounds.height).reduce((a, b) => Math.max(a, b));
350
353
  const diffY = maxY - minY;
351
354
  const middleY = minY + 0.5 * diffY;
352
- this.dispatchAlignActions(elements, (element, move) => move.toPosition.y = middleY - 0.5 * element.bounds.height);
355
+ this.dispatchAlignActions(elements, (element, move) => (move.toPosition.y = middleY - 0.5 * element.bounds.height));
353
356
  }
354
357
 
355
358
  alignBottom(elements: BoundsAwareModelElement[]): void {
356
359
  const calculationElements = this.action.selectionFunction(elements);
357
360
  const maxY = calculationElements.map(element => element.bounds.y + element.bounds.height).reduce((a, b) => Math.max(a, b));
358
- this.dispatchAlignActions(elements, (element, move) => move.toPosition.y = maxY - element.bounds.height);
361
+ this.dispatchAlignActions(elements, (element, move) => (move.toPosition.y = maxY - element.bounds.height));
359
362
  }
360
363
 
361
- dispatchAlignActions(elements: BoundsAwareModelElement[], change: (element: BoundsAwareModelElement, move: WriteableElementMove) => void): void {
364
+ dispatchAlignActions(
365
+ elements: BoundsAwareModelElement[],
366
+ change: (element: BoundsAwareModelElement, move: WriteableElementMove) => void
367
+ ): void {
362
368
  const moves: ElementMove[] = []; // client-side move
363
369
  const elementAndBounds: ElementAndBounds[] = []; // server-side move
364
370
  elements.forEach(element => {
@@ -373,7 +379,10 @@ export class AlignElementsCommand extends LayoutElementsCommand {
373
379
  this.dispatchActions([new MoveAction(moves), new ChangeBoundsOperation(elementAndBounds)]);
374
380
  }
375
381
 
376
- createElementMove(element: BoundsAwareModelElement, change: (element: BoundsAwareModelElement, move: WriteableElementMove) => void): WriteableElementMove | undefined {
382
+ createElementMove(
383
+ element: BoundsAwareModelElement,
384
+ change: (_element: BoundsAwareModelElement, _move: WriteableElementMove) => void
385
+ ): WriteableElementMove | undefined {
377
386
  const move: WriteableElementMove = {
378
387
  elementId: element.id,
379
388
  fromPosition: {
@@ -0,0 +1,256 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2021 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { injectable } from 'inversify';
17
+ import {
18
+ Bounds,
19
+ BoundsData,
20
+ Dimension,
21
+ EMPTY_BOUNDS,
22
+ isBoundsAware,
23
+ isLayoutableChild,
24
+ isValidDimension,
25
+ LayoutContainer,
26
+ Point,
27
+ SChildElement,
28
+ SModelElement,
29
+ SParentElement,
30
+ StatefulLayouter,
31
+ VBoxLayouter,
32
+ VBoxLayoutOptions
33
+ } from 'sprotty';
34
+
35
+ export interface VBoxLayoutOptionsExt extends VBoxLayoutOptions {
36
+ hGrab: boolean;
37
+ vGrab: boolean;
38
+ prefWidth: number | null;
39
+ prefHeight: number | null;
40
+ }
41
+
42
+ /**
43
+ * Extends VBoxLayouter to support additional layout options
44
+ */
45
+ @injectable()
46
+ export class VBoxLayouterExt extends VBoxLayouter {
47
+ static KIND = VBoxLayouter.KIND;
48
+
49
+ layout(container: SParentElement & LayoutContainer, layouter: StatefulLayouter): void {
50
+ const boundsData = layouter.getBoundsData(container);
51
+ const options = this.getLayoutOptions(container);
52
+ const childrenSize = this.getChildrenSize(container, options, layouter);
53
+
54
+ const fixedSize = this.getFixedContainerBounds(container, options, layouter);
55
+
56
+ const maxWidth =
57
+ options.paddingFactor *
58
+ (options.resizeContainer
59
+ ? Math.max(fixedSize.width - options.paddingLeft - options.paddingRight, childrenSize.width)
60
+ : Math.max(0, fixedSize.width - options.paddingLeft - options.paddingRight));
61
+ const maxHeight =
62
+ options.paddingFactor *
63
+ (options.resizeContainer
64
+ ? Math.max(fixedSize.height - options.paddingTop - options.paddingBottom, childrenSize.height)
65
+ : Math.max(0, fixedSize.height - options.paddingTop - options.paddingBottom));
66
+
67
+ // Remaining size that can be grabbed by children with the vGrab option
68
+ const grabHeight: number = maxHeight - childrenSize.height;
69
+ // Number of children that request vGrab
70
+ // FIXME: This approach works fine when only 1 child uses VGrab, but may cause rounding issues
71
+ // when the grabHeight can't be equally shared by all children.
72
+ const grabbingChildren = container.children
73
+ .map(child => this.getChildLayoutOptions(child, options))
74
+ .filter(opt => opt.vGrab).length;
75
+
76
+ if (maxWidth > 0 && maxHeight > 0) {
77
+ const offset = this.layoutChildren(container, layouter, options, maxWidth, maxHeight, grabHeight, grabbingChildren);
78
+ boundsData.bounds = this.getFinalContainerBounds(container, offset, options, childrenSize.width, childrenSize.height);
79
+ boundsData.boundsChanged = true;
80
+ }
81
+ }
82
+
83
+ protected getChildrenSize(
84
+ container: SParentElement & LayoutContainer,
85
+ containerOptions: VBoxLayoutOptionsExt,
86
+ layouter: StatefulLayouter
87
+ ): Dimension {
88
+ let maxWidth = -1;
89
+ let maxHeight = 0;
90
+ let isFirst = true;
91
+ container.children.forEach(child => {
92
+ if (isLayoutableChild(child)) {
93
+ const bounds = layouter.getBoundsData(child).bounds;
94
+ if (bounds !== undefined && isValidDimension(bounds)) {
95
+ maxHeight += bounds.height;
96
+ if (isFirst) {
97
+ isFirst = false;
98
+ } else {
99
+ maxHeight += containerOptions.vGap;
100
+ }
101
+ maxWidth = Math.max(maxWidth, bounds.width);
102
+ }
103
+ }
104
+ });
105
+ const result = {
106
+ width: maxWidth,
107
+ height: maxHeight
108
+ };
109
+ return result;
110
+ }
111
+
112
+ protected layoutChildren(
113
+ container: SParentElement & LayoutContainer,
114
+ layouter: StatefulLayouter,
115
+ containerOptions: VBoxLayoutOptionsExt,
116
+ maxWidth: number,
117
+ maxHeight: number,
118
+ grabHeight?: number,
119
+ grabbingChildren?: number
120
+ ): Point {
121
+ let currentOffset: Point = {
122
+ x: containerOptions.paddingLeft + 0.5 * (maxWidth - maxWidth / containerOptions.paddingFactor),
123
+ y: containerOptions.paddingTop + 0.5 * (maxHeight - maxHeight / containerOptions.paddingFactor)
124
+ };
125
+
126
+ container.children.forEach(child => {
127
+ if (isLayoutableChild(child)) {
128
+ const boundsData = layouter.getBoundsData(child);
129
+ const bounds = boundsData.bounds;
130
+ const childOptions = this.getChildLayoutOptions(child, containerOptions);
131
+ if (bounds !== undefined && isValidDimension(bounds)) {
132
+ currentOffset = this.layoutChild(
133
+ child,
134
+ boundsData,
135
+ bounds,
136
+ childOptions,
137
+ containerOptions,
138
+ currentOffset,
139
+ maxWidth,
140
+ maxHeight,
141
+ grabHeight,
142
+ grabbingChildren
143
+ );
144
+ }
145
+ }
146
+ });
147
+ return currentOffset;
148
+ }
149
+
150
+ protected layoutChild(
151
+ child: SChildElement,
152
+ boundsData: BoundsData,
153
+ bounds: Bounds,
154
+ childOptions: VBoxLayoutOptionsExt,
155
+ containerOptions: VBoxLayoutOptionsExt,
156
+ currentOffset: Point,
157
+ maxWidth: number,
158
+ maxHeight: number,
159
+ grabHeight?: number,
160
+ grabbingChildren?: number
161
+ ): Point {
162
+ let offset = super.layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight);
163
+ if (childOptions.hGrab) {
164
+ boundsData.bounds = {
165
+ x: boundsData.bounds!.x,
166
+ y: boundsData.bounds!.y,
167
+ width: maxWidth,
168
+ height: boundsData.bounds!.height
169
+ };
170
+ boundsData.boundsChanged = true;
171
+ }
172
+ if (childOptions.vGrab && grabHeight && grabbingChildren) {
173
+ const height = boundsData.bounds!.height + grabHeight / grabbingChildren;
174
+ boundsData.bounds = {
175
+ x: boundsData.bounds!.x,
176
+ y: boundsData.bounds!.y,
177
+ width: boundsData.bounds!.width,
178
+ height: height
179
+ };
180
+ boundsData.boundsChanged = true;
181
+ offset = { x: currentOffset.x, y: currentOffset.y + height };
182
+ }
183
+ return offset;
184
+ }
185
+
186
+ protected getFixedContainerBounds(container: SModelElement, layoutOptions: VBoxLayoutOptionsExt, layouter: StatefulLayouter): Bounds {
187
+ const currentContainer = container;
188
+ // eslint-disable-next-line no-constant-condition
189
+ if (isBoundsAware(currentContainer)) {
190
+ const bounds = currentContainer.bounds;
191
+ const elementOptions = this.getElementLayoutOptions(currentContainer);
192
+ const width = elementOptions?.prefWidth ?? 0;
193
+ const height = elementOptions?.prefHeight ?? 0;
194
+ return { ...bounds, width, height };
195
+ }
196
+ return EMPTY_BOUNDS;
197
+ }
198
+
199
+ protected getChildLayoutOptions(child: SChildElement, containerOptions: VBoxLayoutOptionsExt): VBoxLayoutOptionsExt {
200
+ return super.getChildLayoutOptions(child, containerOptions) as VBoxLayoutOptionsExt;
201
+ }
202
+
203
+ protected getLayoutOptions(element: SModelElement): VBoxLayoutOptionsExt {
204
+ return super.getLayoutOptions(element) as VBoxLayoutOptionsExt;
205
+ }
206
+
207
+ protected getElementLayoutOptions(element: SModelElement): VBoxLayoutOptionsExt | undefined {
208
+ return (element as any).layoutOptions;
209
+ }
210
+
211
+ protected getFinalContainerBounds(
212
+ container: SParentElement & LayoutContainer,
213
+ lastOffset: Point,
214
+ options: VBoxLayoutOptionsExt,
215
+ maxWidth: number,
216
+ maxHeight: number
217
+ ): Bounds {
218
+ const elementOptions = this.getElementLayoutOptions(container);
219
+ const width = elementOptions?.prefWidth ?? options.minWidth;
220
+ const height = elementOptions?.prefHeight ?? options.minHeight;
221
+
222
+ const result = {
223
+ x: container.bounds.x,
224
+ y: container.bounds.y,
225
+ width: Math.max(width, maxWidth + options.paddingLeft + options.paddingRight),
226
+ height: Math.max(height, maxHeight + options.paddingTop + options.paddingBottom)
227
+ };
228
+
229
+ return result;
230
+ }
231
+
232
+ protected getDefaultLayoutOptions(): VBoxLayoutOptionsExt {
233
+ return {
234
+ resizeContainer: true,
235
+ paddingTop: 5,
236
+ paddingBottom: 5,
237
+ paddingLeft: 5,
238
+ paddingRight: 5,
239
+ paddingFactor: 1,
240
+ vGap: 1,
241
+ hAlign: 'center',
242
+ minWidth: 0,
243
+ minHeight: 0,
244
+ hGrab: false,
245
+ vGrab: false,
246
+ // eslint-disable-next-line no-null/no-null
247
+ prefHeight: null,
248
+ // eslint-disable-next-line no-null/no-null
249
+ prefWidth: null
250
+ };
251
+ }
252
+
253
+ protected spread(a: VBoxLayoutOptionsExt, b: VBoxLayoutOptionsExt): VBoxLayoutOptionsExt {
254
+ return { ...a, ...b };
255
+ }
256
+ }
@@ -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,9 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { ModelSourceChangedAction } from '@eclipse-glsp/protocol';
16
17
  import { ContainerModule } from 'inversify';
17
- import { configureActionHandler } from 'sprotty/lib';
18
-
19
- import { ModelSourceChangedAction } from './model-source-changed-action';
18
+ import { configureActionHandler } from 'sprotty';
20
19
  import { ModelSourceChangedActionHandler } from './model-source-changed-action-handler';
21
20
 
22
21
  const modelSourceWatcherModule = new ContainerModule((bind, _unbind, isBound) => {
@@ -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,11 +13,15 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import {
17
+ Action,
18
+ GLSPServerStatusAction,
19
+ isModelSourceChangedAction,
20
+ ModelSourceChangedAction,
21
+ ServerMessageAction
22
+ } from '@eclipse-glsp/protocol';
16
23
  import { inject, injectable, optional } from 'inversify';
17
- import { Action, IActionDispatcher, IActionHandler, TYPES, ViewerOptions } from 'sprotty/lib';
18
-
19
- import { GLSPServerStatusAction, ServerMessageAction } from '../../model-source/glsp-server-status';
20
- import { isModelSourceChangedAction, ModelSourceChangedAction } from './model-source-changed-action';
24
+ import { IActionDispatcher, IActionHandler, TYPES, ViewerOptions } from 'sprotty';
21
25
 
22
26
  /**
23
27
  * An external handler of the model source change event.
@@ -36,14 +40,14 @@ export abstract class ExternalModelSourceChangedHandler {
36
40
 
37
41
  @injectable()
38
42
  export class ModelSourceChangedActionHandler implements IActionHandler {
39
-
40
43
  @inject(TYPES.IActionDispatcher)
41
44
  protected dispatcher: IActionDispatcher;
42
45
 
43
46
  @inject(TYPES.ViewerOptions)
44
47
  protected options: ViewerOptions;
45
48
 
46
- @inject(ExternalModelSourceChangedHandler) @optional()
49
+ @inject(ExternalModelSourceChangedHandler)
50
+ @optional()
47
51
  protected externalModelSourceChangedHandler?: ExternalModelSourceChangedHandler;
48
52
 
49
53
  handle(action: Action): void {
@@ -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,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, isAction } from '@eclipse-glsp/protocol';
16
17
  import { injectable, multiInject, optional } from 'inversify';
17
- import { VNode, VNodeData } from 'snabbdom/vnode';
18
- import { Action, isAction, MouseListener, MouseTool, SModelElement, SModelRoot, TYPES } from 'sprotty';
19
-
18
+ import { On, VNode, VNodeData } from 'snabbdom';
19
+ import { MouseListener, MouseTool, SModelElement, SModelRoot, TYPES } from 'sprotty';
20
20
  import { getRank } from '../rank/model';
21
21
 
22
22
  export interface IMouseTool {
@@ -46,25 +46,25 @@ export class RankingMouseTool extends MouseTool implements IMouseTool {
46
46
  decorate(vnode: VNode, element: SModelElement): VNode {
47
47
  // we need to overwrite the existing event handlers registered by the original mouse tool
48
48
  if (element instanceof SModelRoot) {
49
- overwriteOn(vnode, 'mouseover', this.mouseOver.bind(this), element);
50
- overwriteOn(vnode, 'mouseout', this.mouseOut.bind(this), element);
51
- overwriteOn(vnode, 'mouseenter', this.mouseEnter.bind(this), element);
52
- overwriteOn(vnode, 'mouseleave', this.mouseLeave.bind(this), element);
53
- overwriteOn(vnode, 'mousedown', this.mouseDown.bind(this), element);
54
- overwriteOn(vnode, 'mouseup', this.mouseUp.bind(this), element);
55
- overwriteOn(vnode, 'mousemove', this.mouseMove.bind(this), element);
56
- overwriteOn(vnode, 'wheel', this.wheel.bind(this), element);
57
- overwriteOn(vnode, 'contextmenu', (_target: SModelElement, event: any) => {
58
- event.preventDefault();
59
- }, element);
60
- overwriteOn(vnode, 'dblclick', this.doubleClick.bind(this), element);
49
+ overwriteOn(vnode, 'mouseover', this.mouseOver.bind(this, element), element);
50
+ overwriteOn(vnode, 'mouseout', this.mouseOut.bind(this, element), element);
51
+ overwriteOn(vnode, 'mouseenter', this.mouseEnter.bind(this, element), element);
52
+ overwriteOn(vnode, 'mouseleave', this.mouseLeave.bind(this, element), element);
53
+ overwriteOn(vnode, 'mousedown', this.mouseDown.bind(this, element), element);
54
+ overwriteOn(vnode, 'mouseup', this.mouseUp.bind(this, element), element);
55
+ overwriteOn(vnode, 'mousemove', this.mouseMove.bind(this, element), element);
56
+ overwriteOn(vnode, 'wheel', this.wheel.bind(this, element), element);
57
+ overwriteOn(vnode, 'contextmenu', this.contextMenu.bind(this, element), element);
58
+ overwriteOn(vnode, 'dblclick', this.doubleClick.bind(this, element), element);
61
59
  }
62
- vnode = this.mouseListeners.reduce(
63
- (n: VNode, listener: MouseListener) => listener.decorate(n, element),
64
- vnode);
60
+ vnode = this.mouseListeners.reduce((n: VNode, listener: MouseListener) => listener.decorate(n, element), vnode);
65
61
  return vnode;
66
62
  }
67
63
 
64
+ contextMenu(model: SModelRoot, event: MouseEvent): void {
65
+ event.preventDefault();
66
+ }
67
+
68
68
  protected handleEvent<K extends keyof MouseListener>(methodName: K, model: SModelRoot, event: MouseEvent): void {
69
69
  this.focusOnMouseEvent(methodName, model);
70
70
  const element = this.getTargetElement(model, event);
@@ -74,13 +74,23 @@ export class RankingMouseTool extends MouseTool implements IMouseTool {
74
74
  this.notifyListenersByRank(element, methodName, model, event);
75
75
  }
76
76
 
77
- async notifyListenersByRank<K extends keyof MouseListener>(element: SModelElement, methodName: K, model: SModelRoot, event: MouseEvent): Promise<void> {
77
+ async notifyListenersByRank<K extends keyof MouseListener>(
78
+ element: SModelElement,
79
+ methodName: K,
80
+ model: SModelRoot,
81
+ event: MouseEvent
82
+ ): Promise<void> {
78
83
  for (const rank of this.rankedMouseListeners) {
79
84
  await this.dispatchActions(rank[1], methodName, element, event);
80
85
  }
81
86
  }
82
87
 
83
- async dispatchActions<K extends keyof MouseListener>(mouseListeners: MouseListener[], methodName: K, element: SModelElement, event: MouseEvent): Promise<void> {
88
+ async dispatchActions<K extends keyof MouseListener>(
89
+ mouseListeners: MouseListener[],
90
+ methodName: K,
91
+ element: SModelElement,
92
+ event: MouseEvent
93
+ ): Promise<void> {
84
94
  const actions = mouseListeners
85
95
  .map(listener => listener[methodName].apply(listener, [element, event]))
86
96
  .reduce((a, b) => a.concat(b));
@@ -115,13 +125,13 @@ function groupBy<K, T>(array: Array<T>, keyFunction: (x: T) => K): Map<K, T[]> {
115
125
  return new Map<K, T[]>([...unsortedMap.entries()].sort());
116
126
  }
117
127
 
118
- function overwriteOn(vnode: VNode, event: string, listener: (model: SModelElement, event: Event) => void, element: SModelElement): void {
128
+ function overwriteOn(vnode: VNode, event: string, listener: (model: SModelElement, _event: Event) => void, element: SModelElement): void {
119
129
  const val = getOn(vnode);
120
130
  // ignore any previous val[event] registrations
121
131
  (val as any)[event] = [listener, element];
122
132
  }
123
133
 
124
- function getOn(vnode: VNode): any {
134
+ function getOn(vnode: VNode): On {
125
135
  const data = getData(vnode);
126
136
  if (!data.on) {
127
137
  data.on = {};
@@ -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,16 +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 { NavigateToExternalTargetAction, NavigateToTargetAction } from '@eclipse-glsp/protocol';
16
17
  import { ContainerModule } from 'inversify';
17
- import { configureActionHandler } from 'sprotty/lib';
18
-
19
- import {
20
- NavigateAction,
21
- NavigateToExternalTargetAction,
22
- NavigateToTargetAction,
23
- NavigationActionHandler,
24
- ProcessNavigationArgumentsAction
25
- } from './navigation-action-handler';
18
+ import { configureActionHandler } from 'sprotty';
19
+ import { NavigateAction, NavigationActionHandler, ProcessNavigationArgumentsAction } from './navigation-action-handler';
26
20
  import { NavigationTargetResolver } from './navigation-target-resolver';
27
21
 
28
22
  export const navigationModule = new ContainerModule((bind, _unbind, isBound) => {