@eclipse-glsp/client 0.10.0-next.ca17587.154 → 1.1.0-RC01

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 (578) hide show
  1. package/css/decoration.css +5 -1
  2. package/css/glsp-sprotty.css +149 -8
  3. package/css/tool-palette.css +2 -2
  4. package/lib/base/action-dispatcher.d.ts +4 -3
  5. package/lib/base/action-dispatcher.d.ts.map +1 -1
  6. package/lib/base/action-dispatcher.js +22 -12
  7. package/lib/base/action-dispatcher.js.map +1 -1
  8. package/lib/base/actions/focus-change-action.d.ts +16 -7
  9. package/lib/base/actions/focus-change-action.d.ts.map +1 -1
  10. package/lib/base/actions/focus-change-action.js +31 -12
  11. package/lib/base/actions/focus-change-action.js.map +1 -1
  12. package/lib/base/actions/sprotty-actions.d.ts +7 -0
  13. package/lib/base/actions/sprotty-actions.d.ts.map +1 -0
  14. package/lib/{features/tool-palette/palette-item.js → base/actions/sprotty-actions.js} +4 -20
  15. package/lib/base/actions/sprotty-actions.js.map +1 -0
  16. package/lib/base/auto-complete/auto-complete-actions.d.ts +5 -3
  17. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  18. package/lib/base/auto-complete/auto-complete-actions.js +24 -5
  19. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  20. package/lib/base/auto-complete/auto-complete-widget.d.ts +9 -2
  21. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  22. package/lib/base/auto-complete/auto-complete-widget.js +16 -9
  23. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  24. package/lib/base/auto-complete/validation-decorator.js +2 -2
  25. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  26. package/lib/base/command-stack.d.ts.map +1 -1
  27. package/lib/base/command-stack.js +6 -5
  28. package/lib/base/command-stack.js.map +1 -1
  29. package/lib/base/container-modules.d.ts.map +1 -1
  30. package/lib/base/container-modules.js +10 -9
  31. package/lib/base/container-modules.js.map +1 -1
  32. package/lib/base/di.config.d.ts +1 -1
  33. package/lib/base/di.config.d.ts.map +1 -1
  34. package/lib/base/di.config.js +13 -14
  35. package/lib/base/di.config.js.map +1 -1
  36. package/lib/base/drag-aware-mouse-listener.d.ts +1 -1
  37. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  38. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  39. package/lib/base/editor-context-service.d.ts +15 -4
  40. package/lib/base/editor-context-service.d.ts.map +1 -1
  41. package/lib/base/editor-context-service.js +31 -19
  42. package/lib/base/editor-context-service.js.map +1 -1
  43. package/lib/base/focus-tracker.d.ts +1 -1
  44. package/lib/base/focus-tracker.d.ts.map +1 -1
  45. package/lib/base/focus-tracker.js +4 -4
  46. package/lib/base/focus-tracker.js.map +1 -1
  47. package/lib/base/model/model-registry.d.ts.map +1 -1
  48. package/lib/base/model/model-registry.js +2 -2
  49. package/lib/base/model/model-registry.js.map +1 -1
  50. package/lib/base/model/update-model-command.d.ts +15 -8
  51. package/lib/base/model/update-model-command.d.ts.map +1 -1
  52. package/lib/base/model/update-model-command.js +43 -53
  53. package/lib/base/model/update-model-command.js.map +1 -1
  54. package/lib/base/model-initialization-constraint.d.ts +4 -5
  55. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  56. package/lib/base/model-initialization-constraint.js +11 -13
  57. package/lib/base/model-initialization-constraint.js.map +1 -1
  58. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  59. package/lib/base/selection-clearing-mouse-listener.js +1 -1
  60. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  61. package/lib/base/source-uri-aware.d.ts +2 -17
  62. package/lib/base/source-uri-aware.d.ts.map +1 -1
  63. package/lib/base/source-uri-aware.js +4 -6
  64. package/lib/base/source-uri-aware.js.map +1 -1
  65. package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
  66. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  67. package/lib/base/tool-manager/glsp-tool-manager.js +10 -10
  68. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  69. package/lib/base/tool-manager/tool-actions.d.ts +14 -0
  70. package/lib/base/tool-manager/tool-actions.d.ts.map +1 -0
  71. package/lib/base/tool-manager/tool-actions.js +25 -0
  72. package/lib/base/tool-manager/tool-actions.js.map +1 -0
  73. package/lib/base/types.d.ts +146 -20
  74. package/lib/base/types.d.ts.map +1 -1
  75. package/lib/base/types.js +14 -26
  76. package/lib/base/types.js.map +1 -1
  77. package/lib/base/view/view-registry.d.ts.map +1 -1
  78. package/lib/base/view/view-registry.js +2 -2
  79. package/lib/base/view/view-registry.js.map +1 -1
  80. package/lib/features/change-bounds/model.d.ts +1 -1
  81. package/lib/features/change-bounds/model.d.ts.map +1 -1
  82. package/lib/features/change-bounds/model.js +3 -3
  83. package/lib/features/change-bounds/model.js.map +1 -1
  84. package/lib/features/change-bounds/movement-restrictor.d.ts +37 -7
  85. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  86. package/lib/features/change-bounds/movement-restrictor.js +55 -40
  87. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  88. package/lib/features/change-bounds/snap.d.ts +60 -4
  89. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  90. package/lib/features/change-bounds/snap.js +96 -9
  91. package/lib/features/change-bounds/snap.js.map +1 -1
  92. package/lib/features/change-bounds/snap.spec.d.ts +17 -0
  93. package/lib/features/change-bounds/snap.spec.d.ts.map +1 -0
  94. package/lib/features/change-bounds/snap.spec.js +82 -0
  95. package/lib/features/change-bounds/snap.spec.js.map +1 -0
  96. package/lib/features/command-palette/command-palette-tool.js +3 -3
  97. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  98. package/lib/features/command-palette/di.config.d.ts +2 -2
  99. package/lib/features/command-palette/di.config.d.ts.map +1 -1
  100. package/lib/features/command-palette/di.config.js +6 -6
  101. package/lib/features/command-palette/di.config.js.map +1 -1
  102. package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -1
  103. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  104. package/lib/features/command-palette/server-command-palette-provider.js +13 -10
  105. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  106. package/lib/features/context-menu/delete-element-context-menu.d.ts +17 -1
  107. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  108. package/lib/features/context-menu/delete-element-context-menu.js +4 -4
  109. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  110. package/lib/features/context-menu/di.config.d.ts +1 -1
  111. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  112. package/lib/features/context-menu/di.config.js +8 -7
  113. package/lib/features/context-menu/di.config.js.map +1 -1
  114. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +34 -4
  115. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  116. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +37 -31
  117. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  118. package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -1
  119. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  120. package/lib/features/context-menu/server-context-menu-provider.js +8 -7
  121. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  122. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +12 -15
  123. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  124. package/lib/features/copy-paste/copy-paste-context-menu.js +26 -33
  125. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  126. package/lib/features/copy-paste/copy-paste-handler.d.ts +1 -1
  127. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  128. package/lib/features/copy-paste/copy-paste-handler.js +10 -11
  129. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  130. package/lib/features/copy-paste/di.config.d.ts +1 -1
  131. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  132. package/lib/features/copy-paste/di.config.js +5 -7
  133. package/lib/features/copy-paste/di.config.js.map +1 -1
  134. package/lib/features/decoration/decoration-placer.d.ts +1 -1
  135. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  136. package/lib/features/decoration/decoration-placer.js +19 -3
  137. package/lib/features/decoration/decoration-placer.js.map +1 -1
  138. package/lib/features/decoration/di.config.d.ts +2 -2
  139. package/lib/features/decoration/di.config.d.ts.map +1 -1
  140. package/lib/features/decoration/di.config.js +4 -4
  141. package/lib/features/decoration/di.config.js.map +1 -1
  142. package/lib/features/edit-label/di.config.d.ts +1 -1
  143. package/lib/features/edit-label/di.config.d.ts.map +1 -1
  144. package/lib/features/edit-label/di.config.js +5 -5
  145. package/lib/features/edit-label/di.config.js.map +1 -1
  146. package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
  147. package/lib/features/edit-label/edit-label-tool.js +2 -2
  148. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  149. package/lib/features/edit-label/edit-label-validator.d.ts +4 -6
  150. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  151. package/lib/features/edit-label/edit-label-validator.js +11 -13
  152. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  153. package/lib/features/hints/di.config.js +4 -4
  154. package/lib/features/hints/di.config.js.map +1 -1
  155. package/lib/features/hints/type-hints.d.ts +15 -5
  156. package/lib/features/hints/type-hints.d.ts.map +1 -1
  157. package/lib/features/hints/type-hints.js +29 -26
  158. package/lib/features/hints/type-hints.js.map +1 -1
  159. package/lib/features/hover/di.config.d.ts +1 -1
  160. package/lib/features/hover/di.config.d.ts.map +1 -1
  161. package/lib/features/hover/di.config.js +14 -10
  162. package/lib/features/hover/di.config.js.map +1 -1
  163. package/lib/features/hover/hover.d.ts +16 -5
  164. package/lib/features/hover/hover.d.ts.map +1 -1
  165. package/lib/features/hover/hover.js +44 -19
  166. package/lib/features/hover/hover.js.map +1 -1
  167. package/lib/features/layout/di.config.d.ts +3 -3
  168. package/lib/features/layout/di.config.d.ts.map +1 -1
  169. package/lib/features/layout/di.config.js +12 -7
  170. package/lib/features/layout/di.config.js.map +1 -1
  171. package/lib/features/layout/freeform-layout.d.ts +17 -1
  172. package/lib/features/layout/freeform-layout.d.ts.map +1 -1
  173. package/lib/features/layout/freeform-layout.js +4 -4
  174. package/lib/features/layout/freeform-layout.js.map +1 -1
  175. package/lib/features/layout/hbox-layout.d.ts +41 -0
  176. package/lib/features/layout/hbox-layout.d.ts.map +1 -0
  177. package/lib/features/layout/hbox-layout.js +201 -0
  178. package/lib/features/layout/hbox-layout.js.map +1 -0
  179. package/lib/features/layout/layout-elements-action.d.ts +198 -0
  180. package/lib/features/layout/layout-elements-action.d.ts.map +1 -0
  181. package/lib/features/layout/layout-elements-action.js +391 -0
  182. package/lib/features/layout/layout-elements-action.js.map +1 -0
  183. package/lib/features/layout/layout-elements-action.spec.d.ts +3 -0
  184. package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -0
  185. package/lib/features/layout/{layout-commands.spec.js → layout-elements-action.spec.js} +81 -62
  186. package/lib/features/layout/layout-elements-action.spec.js.map +1 -0
  187. package/lib/features/layout/layouter.d.ts +37 -0
  188. package/lib/features/layout/layouter.d.ts.map +1 -0
  189. package/lib/features/layout/layouter.js +131 -0
  190. package/lib/features/layout/layouter.js.map +1 -0
  191. package/lib/features/layout/tests/freeform-layout.spec.d.ts +3 -0
  192. package/lib/features/layout/tests/freeform-layout.spec.d.ts.map +1 -0
  193. package/lib/features/layout/tests/freeform-layout.spec.js +201 -0
  194. package/lib/features/layout/tests/freeform-layout.spec.js.map +1 -0
  195. package/lib/features/layout/tests/hbox-layout.spec.d.ts +3 -0
  196. package/lib/features/layout/tests/hbox-layout.spec.d.ts.map +1 -0
  197. package/lib/features/layout/tests/hbox-layout.spec.js +161 -0
  198. package/lib/features/layout/tests/hbox-layout.spec.js.map +1 -0
  199. package/lib/features/layout/tests/layouter-test-util.d.ts +34 -0
  200. package/lib/features/layout/tests/layouter-test-util.d.ts.map +1 -0
  201. package/lib/features/layout/tests/layouter-test-util.js +96 -0
  202. package/lib/features/layout/tests/layouter-test-util.js.map +1 -0
  203. package/lib/features/layout/tests/vbox-layout.spec.d.ts +3 -0
  204. package/lib/features/layout/tests/vbox-layout.spec.d.ts.map +1 -0
  205. package/lib/features/layout/tests/vbox-layout.spec.js +161 -0
  206. package/lib/features/layout/tests/vbox-layout.spec.js.map +1 -0
  207. package/lib/features/layout/vbox-layout.d.ts +18 -2
  208. package/lib/features/layout/vbox-layout.d.ts.map +1 -1
  209. package/lib/features/layout/vbox-layout.js +26 -13
  210. package/lib/features/layout/vbox-layout.js.map +1 -1
  211. package/lib/features/mouse-tool/di.config.d.ts +1 -1
  212. package/lib/features/mouse-tool/di.config.d.ts.map +1 -1
  213. package/lib/features/mouse-tool/di.config.js +2 -2
  214. package/lib/features/mouse-tool/di.config.js.map +1 -1
  215. package/lib/features/mouse-tool/mouse-tool.d.ts +9 -6
  216. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  217. package/lib/features/mouse-tool/mouse-tool.js +10 -48
  218. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  219. package/lib/features/navigation/di.config.js +4 -4
  220. package/lib/features/navigation/di.config.js.map +1 -1
  221. package/lib/features/navigation/navigation-action-handler.d.ts +31 -16
  222. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  223. package/lib/features/navigation/navigation-action-handler.js +52 -68
  224. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  225. package/lib/features/navigation/navigation-target-resolver.d.ts +3 -3
  226. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  227. package/lib/features/navigation/navigation-target-resolver.js +8 -9
  228. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  229. package/lib/features/navigation/navigation-target-resolver.spec.js +12 -12
  230. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  231. package/lib/features/reconnect/model.d.ts +1 -1
  232. package/lib/features/reconnect/model.d.ts.map +1 -1
  233. package/lib/features/reconnect/model.js +1 -1
  234. package/lib/features/reconnect/model.js.map +1 -1
  235. package/lib/features/save/di.config.d.ts +1 -1
  236. package/lib/features/save/di.config.d.ts.map +1 -1
  237. package/lib/features/save/di.config.js +3 -3
  238. package/lib/features/save/di.config.js.map +1 -1
  239. package/lib/features/save/save-keylistener.d.ts +1 -1
  240. package/lib/features/save/save-keylistener.d.ts.map +1 -1
  241. package/lib/features/save/save-keylistener.js +3 -3
  242. package/lib/features/save/save-keylistener.js.map +1 -1
  243. package/lib/features/select/di.config.d.ts +1 -1
  244. package/lib/features/select/di.config.d.ts.map +1 -1
  245. package/lib/features/select/di.config.js +7 -8
  246. package/lib/features/select/di.config.js.map +1 -1
  247. package/lib/features/select/select-feedback-action.d.ts +26 -22
  248. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  249. package/lib/features/select/select-feedback-action.js +19 -46
  250. package/lib/features/select/select-feedback-action.js.map +1 -1
  251. package/lib/features/select/select-mouse-listener.d.ts +4 -2
  252. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  253. package/lib/features/select/select-mouse-listener.js +63 -1
  254. package/lib/features/select/select-mouse-listener.js.map +1 -1
  255. package/lib/features/select/selection-service.d.ts +14 -5
  256. package/lib/features/select/selection-service.d.ts.map +1 -1
  257. package/lib/features/select/selection-service.js +55 -64
  258. package/lib/features/select/selection-service.js.map +1 -1
  259. package/lib/features/select/selection-service.spec.js +28 -25
  260. package/lib/features/select/selection-service.spec.js.map +1 -1
  261. package/lib/features/source-model-watcher/di.config.d.ts +4 -0
  262. package/lib/features/{model-source-watcher → source-model-watcher}/di.config.d.ts.map +1 -1
  263. package/lib/features/{model-source-watcher → source-model-watcher}/di.config.js +4 -4
  264. package/lib/features/source-model-watcher/di.config.js.map +1 -0
  265. package/lib/features/{model-source-watcher/model-source-changed-action-handler.d.ts → source-model-watcher/source-model-changed-action-handler.d.ts} +10 -10
  266. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts.map +1 -0
  267. package/lib/features/{model-source-watcher/model-source-changed-action-handler.js → source-model-watcher/source-model-changed-action-handler.js} +28 -28
  268. package/lib/features/source-model-watcher/source-model-changed-action-handler.js.map +1 -0
  269. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +17 -9
  270. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  271. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +68 -38
  272. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  273. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +24 -12
  274. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  275. package/lib/features/tool-feedback/creation-tool-feedback.js +88 -35
  276. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  277. package/lib/features/tool-feedback/css-feedback.d.ts +17 -10
  278. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  279. package/lib/features/tool-feedback/css-feedback.js +42 -38
  280. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  281. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  282. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  283. package/lib/features/tool-feedback/di.config.js +18 -18
  284. package/lib/features/tool-feedback/di.config.js.map +1 -1
  285. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +45 -22
  286. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  287. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +147 -114
  288. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  289. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +2 -2
  290. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  291. package/lib/features/tool-feedback/feedback-action-dispatcher.js +4 -4
  292. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  293. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +21 -10
  294. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  295. package/lib/features/tool-feedback/marquee-tool-feedback.js +44 -18
  296. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  297. package/lib/features/tool-feedback/model.d.ts +1 -2
  298. package/lib/features/tool-feedback/model.d.ts.map +1 -1
  299. package/lib/features/tool-feedback/model.js +1 -1
  300. package/lib/features/tool-feedback/model.js.map +1 -1
  301. package/lib/features/tool-feedback/view.d.ts +1 -1
  302. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  303. package/lib/features/tool-feedback/view.js +22 -5
  304. package/lib/features/tool-feedback/view.js.map +1 -1
  305. package/lib/features/tool-palette/di.config.d.ts +1 -1
  306. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  307. package/lib/features/tool-palette/di.config.js +5 -4
  308. package/lib/features/tool-palette/di.config.js.map +1 -1
  309. package/lib/features/tool-palette/tool-palette.d.ts +10 -7
  310. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  311. package/lib/features/tool-palette/tool-palette.js +39 -32
  312. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  313. package/lib/features/tools/base-glsp-tool.d.ts +3 -3
  314. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  315. package/lib/features/tools/base-glsp-tool.js +11 -11
  316. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  317. package/lib/features/tools/change-bounds-tool.d.ts +7 -9
  318. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  319. package/lib/features/tools/change-bounds-tool.js +48 -71
  320. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  321. package/lib/features/tools/delete-tool.d.ts +1 -1
  322. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  323. package/lib/features/tools/delete-tool.js +17 -17
  324. package/lib/features/tools/delete-tool.js.map +1 -1
  325. package/lib/features/tools/di.config.d.ts +9 -2
  326. package/lib/features/tools/di.config.d.ts.map +1 -1
  327. package/lib/features/tools/di.config.js +26 -15
  328. package/lib/features/tools/di.config.js.map +1 -1
  329. package/lib/features/tools/edge-creation-tool.d.ts +1 -1
  330. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  331. package/lib/features/tools/edge-creation-tool.js +28 -21
  332. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  333. package/lib/features/tools/edge-edit-tool.d.ts +3 -2
  334. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  335. package/lib/features/tools/edge-edit-tool.js +41 -36
  336. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  337. package/lib/features/{tool-palette/palette-item.d.ts → tools/enable-default-tools-on-focus-loss.d.ts} +11 -11
  338. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +1 -0
  339. package/lib/features/tools/enable-default-tools-on-focus-loss.js +29 -0
  340. package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -0
  341. package/lib/features/tools/marquee-behavior.d.ts +1 -1
  342. package/lib/features/tools/marquee-behavior.js +2 -2
  343. package/lib/features/tools/marquee-behavior.js.map +1 -1
  344. package/lib/features/tools/marquee-behavior.spec.js +63 -63
  345. package/lib/features/tools/marquee-behavior.spec.js.map +1 -1
  346. package/lib/features/tools/marquee-mouse-tool.d.ts +1 -1
  347. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  348. package/lib/features/tools/marquee-mouse-tool.js +20 -20
  349. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  350. package/lib/features/tools/marquee-tool.d.ts +1 -1
  351. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  352. package/lib/features/tools/marquee-tool.js +4 -4
  353. package/lib/features/tools/marquee-tool.js.map +1 -1
  354. package/lib/features/tools/model.d.ts +3 -2
  355. package/lib/features/tools/model.d.ts.map +1 -1
  356. package/lib/features/tools/model.js +0 -15
  357. package/lib/features/tools/model.js.map +1 -1
  358. package/lib/features/tools/node-creation-tool.d.ts +1 -1
  359. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  360. package/lib/features/tools/node-creation-tool.js +17 -17
  361. package/lib/features/tools/node-creation-tool.js.map +1 -1
  362. package/lib/features/tools/view.d.ts.map +1 -1
  363. package/lib/features/tools/view.js +2 -2
  364. package/lib/features/tools/view.js.map +1 -1
  365. package/lib/features/validation/di.config.d.ts +0 -15
  366. package/lib/features/validation/di.config.d.ts.map +1 -1
  367. package/lib/features/validation/di.config.js +9 -7
  368. package/lib/features/validation/di.config.js.map +1 -1
  369. package/lib/features/validation/issue-marker.d.ts +11 -5
  370. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  371. package/lib/features/validation/issue-marker.js +25 -5
  372. package/lib/features/validation/issue-marker.js.map +1 -1
  373. package/lib/features/validation/marker-navigator.d.ts +27 -25
  374. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  375. package/lib/features/validation/marker-navigator.js +64 -91
  376. package/lib/features/validation/marker-navigator.js.map +1 -1
  377. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  378. package/lib/features/validation/marker-navigator.spec.js +23 -37
  379. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  380. package/lib/features/validation/validate.d.ts +17 -30
  381. package/lib/features/validation/validate.d.ts.map +1 -1
  382. package/lib/features/validation/validate.js +66 -91
  383. package/lib/features/validation/validate.js.map +1 -1
  384. package/lib/features/viewport/di.config.d.ts +1 -1
  385. package/lib/features/viewport/di.config.d.ts.map +1 -1
  386. package/lib/features/viewport/di.config.js +7 -7
  387. package/lib/features/viewport/di.config.js.map +1 -1
  388. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -1
  389. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  390. package/lib/features/viewport/glsp-scroll-mouse-listener.js +3 -3
  391. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  392. package/lib/index.d.ts +10 -11
  393. package/lib/index.d.ts.map +1 -1
  394. package/lib/index.js +26 -22
  395. package/lib/index.js.map +1 -1
  396. package/lib/lib/model.d.ts +3 -2
  397. package/lib/lib/model.d.ts.map +1 -1
  398. package/lib/lib/model.js +3 -18
  399. package/lib/lib/model.js.map +1 -1
  400. package/lib/model-source/glsp-diagram-server.d.ts +6 -6
  401. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  402. package/lib/model-source/glsp-diagram-server.js +8 -7
  403. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  404. package/lib/sprotty-reexport.d.ts +174 -0
  405. package/lib/sprotty-reexport.d.ts.map +1 -0
  406. package/lib/sprotty-reexport.js +301 -0
  407. package/lib/sprotty-reexport.js.map +1 -0
  408. package/lib/utils/argument-utils.js +5 -5
  409. package/lib/utils/argument-utils.js.map +1 -1
  410. package/lib/utils/layout-utils.d.ts +6 -22
  411. package/lib/utils/layout-utils.d.ts.map +1 -1
  412. package/lib/utils/layout-utils.js +1 -1
  413. package/lib/utils/layout-utils.js.map +1 -1
  414. package/lib/utils/smodel-util.d.ts +117 -11
  415. package/lib/utils/smodel-util.d.ts.map +1 -1
  416. package/lib/utils/smodel-util.js +142 -37
  417. package/lib/utils/smodel-util.js.map +1 -1
  418. package/lib/utils/viewpoint-util.d.ts +3 -3
  419. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  420. package/lib/utils/viewpoint-util.js +19 -3
  421. package/lib/utils/viewpoint-util.js.map +1 -1
  422. package/lib/views/base-view-module.d.ts.map +1 -1
  423. package/lib/views/base-view-module.js +21 -19
  424. package/lib/views/base-view-module.js.map +1 -1
  425. package/lib/views/compartments.js +2 -2
  426. package/lib/views/compartments.js.map +1 -1
  427. package/lib/views/glsp-edge-view.d.ts +1 -1
  428. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  429. package/lib/views/glsp-edge-view.js +1 -1
  430. package/lib/views/glsp-edge-view.js.map +1 -1
  431. package/lib/views/glsp-projection-view.d.ts +30 -0
  432. package/lib/views/glsp-projection-view.d.ts.map +1 -0
  433. package/lib/views/glsp-projection-view.js +148 -0
  434. package/lib/views/glsp-projection-view.js.map +1 -0
  435. package/lib/views/index.d.ts +1 -0
  436. package/lib/views/index.d.ts.map +1 -1
  437. package/lib/views/index.js +7 -2
  438. package/lib/views/index.js.map +1 -1
  439. package/lib/views/issue-marker-view.d.ts.map +1 -1
  440. package/lib/views/issue-marker-view.js +3 -3
  441. package/lib/views/issue-marker-view.js.map +1 -1
  442. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  443. package/lib/views/rounded-corner-view.js +2 -2
  444. package/lib/views/rounded-corner-view.js.map +1 -1
  445. package/package.json +10 -19
  446. package/src/base/action-dispatcher.ts +26 -16
  447. package/src/base/actions/focus-change-action.ts +25 -8
  448. package/src/base/actions/sprotty-actions.ts +26 -0
  449. package/src/base/auto-complete/auto-complete-actions.ts +7 -5
  450. package/src/base/auto-complete/auto-complete-widget.ts +15 -13
  451. package/src/base/command-stack.ts +7 -6
  452. package/src/base/container-modules.ts +6 -5
  453. package/src/base/di.config.ts +4 -5
  454. package/src/base/drag-aware-mouse-listener.ts +4 -4
  455. package/src/base/editor-context-service.ts +32 -12
  456. package/src/base/focus-tracker.ts +5 -4
  457. package/src/base/model/model-registry.ts +2 -2
  458. package/src/base/model/update-model-command.ts +54 -41
  459. package/src/base/model-initialization-constraint.ts +9 -11
  460. package/src/base/selection-clearing-mouse-listener.ts +1 -1
  461. package/src/base/source-uri-aware.ts +5 -4
  462. package/src/base/tool-manager/glsp-tool-manager.ts +9 -9
  463. package/src/base/tool-manager/tool-actions.ts +37 -0
  464. package/src/base/types.ts +31 -24
  465. package/src/base/view/view-registry.ts +2 -2
  466. package/src/features/change-bounds/model.ts +5 -5
  467. package/src/features/change-bounds/movement-restrictor.ts +74 -44
  468. package/src/features/change-bounds/snap.spec.ts +89 -0
  469. package/src/features/change-bounds/snap.ts +99 -12
  470. package/src/features/command-palette/di.config.ts +5 -7
  471. package/src/features/command-palette/server-command-palette-provider.ts +9 -8
  472. package/src/features/context-menu/delete-element-context-menu.ts +6 -6
  473. package/src/features/context-menu/di.config.ts +3 -2
  474. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +51 -29
  475. package/src/features/context-menu/server-context-menu-provider.ts +7 -6
  476. package/src/features/copy-paste/copy-paste-context-menu.ts +30 -23
  477. package/src/features/copy-paste/copy-paste-handler.ts +6 -6
  478. package/src/features/copy-paste/di.config.ts +7 -15
  479. package/src/features/decoration/decoration-placer.ts +4 -4
  480. package/src/features/decoration/di.config.ts +3 -5
  481. package/src/features/edit-label/di.config.ts +4 -5
  482. package/src/features/edit-label/edit-label-tool.ts +1 -2
  483. package/src/features/edit-label/edit-label-validator.ts +6 -10
  484. package/src/features/hints/di.config.ts +3 -3
  485. package/src/features/hints/type-hints.ts +33 -18
  486. package/src/features/hover/di.config.ts +8 -2
  487. package/src/features/hover/hover.ts +48 -28
  488. package/src/features/layout/di.config.ts +17 -7
  489. package/src/features/layout/freeform-layout.ts +6 -15
  490. package/src/features/layout/hbox-layout.ts +273 -0
  491. package/src/features/layout/{layout-commands.spec.ts → layout-elements-action.spec.ts} +89 -65
  492. package/src/features/layout/layout-elements-action.ts +486 -0
  493. package/src/features/layout/layouter.ts +137 -0
  494. package/src/features/layout/tests/freeform-layout.spec.ts +216 -0
  495. package/src/features/layout/tests/hbox-layout.spec.ts +171 -0
  496. package/src/features/layout/tests/layouter-test-util.ts +122 -0
  497. package/src/features/layout/tests/vbox-layout.spec.ts +171 -0
  498. package/src/features/layout/vbox-layout.ts +41 -24
  499. package/src/features/mouse-tool/di.config.ts +3 -4
  500. package/src/features/mouse-tool/mouse-tool.ts +18 -57
  501. package/src/features/navigation/navigation-action-handler.ts +76 -42
  502. package/src/features/navigation/navigation-target-resolver.spec.ts +3 -3
  503. package/src/features/navigation/navigation-target-resolver.ts +8 -13
  504. package/src/features/reconnect/model.ts +2 -2
  505. package/src/features/save/di.config.ts +2 -3
  506. package/src/features/save/save-keylistener.ts +3 -3
  507. package/src/features/select/di.config.ts +6 -8
  508. package/src/features/select/select-feedback-action.ts +18 -46
  509. package/src/features/select/select-mouse-listener.ts +82 -3
  510. package/src/features/select/selection-service.spec.ts +12 -9
  511. package/src/features/select/selection-service.ts +52 -60
  512. package/src/features/{model-source-watcher → source-model-watcher}/di.config.ts +5 -5
  513. package/src/features/{model-source-watcher/model-source-changed-action-handler.ts → source-model-watcher/source-model-changed-action-handler.ts} +17 -22
  514. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +52 -22
  515. package/src/features/tool-feedback/creation-tool-feedback.ts +79 -30
  516. package/src/features/tool-feedback/css-feedback.ts +40 -37
  517. package/src/features/tool-feedback/di.config.ts +4 -5
  518. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +140 -88
  519. package/src/features/tool-feedback/feedback-action-dispatcher.ts +4 -3
  520. package/src/features/tool-feedback/marquee-tool-feedback.ts +38 -13
  521. package/src/features/tool-feedback/model.ts +1 -3
  522. package/src/features/tool-feedback/view.tsx +3 -3
  523. package/src/features/tool-palette/di.config.ts +3 -2
  524. package/src/features/tool-palette/tool-palette.ts +35 -19
  525. package/src/features/tools/base-glsp-tool.ts +11 -11
  526. package/src/features/tools/change-bounds-tool.ts +37 -67
  527. package/src/features/tools/delete-tool.ts +9 -9
  528. package/src/features/tools/di.config.ts +23 -12
  529. package/src/features/tools/edge-creation-tool.ts +21 -12
  530. package/src/features/tools/edge-edit-tool.ts +25 -21
  531. package/src/features/tools/enable-default-tools-on-focus-loss.ts +33 -0
  532. package/src/features/tools/marquee-behavior.ts +2 -2
  533. package/src/features/tools/marquee-mouse-tool.ts +13 -14
  534. package/src/features/tools/marquee-tool.ts +3 -3
  535. package/src/features/tools/model.ts +4 -3
  536. package/src/features/tools/node-creation-tool.ts +8 -8
  537. package/src/features/tools/view.tsx +2 -3
  538. package/src/features/validation/di.config.ts +13 -11
  539. package/src/features/validation/issue-marker.ts +34 -12
  540. package/src/features/validation/marker-navigator.spec.ts +4 -2
  541. package/src/features/validation/marker-navigator.ts +67 -82
  542. package/src/features/validation/validate.ts +62 -90
  543. package/src/features/viewport/di.config.ts +1 -2
  544. package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
  545. package/src/index.ts +12 -12
  546. package/src/lib/model.ts +4 -4
  547. package/src/model-source/glsp-diagram-server.ts +15 -15
  548. package/src/sprotty-reexport.ts +288 -0
  549. package/src/utils/layout-utils.ts +9 -29
  550. package/src/utils/smodel-util.ts +139 -43
  551. package/src/utils/viewpoint-util.ts +5 -14
  552. package/src/views/base-view-module.ts +5 -1
  553. package/src/views/compartments.tsx +1 -1
  554. package/src/views/glsp-edge-view.tsx +4 -4
  555. package/src/views/glsp-projection-view.tsx +173 -0
  556. package/src/views/index.ts +2 -0
  557. package/src/views/issue-marker-view.tsx +2 -2
  558. package/src/views/rounded-corner-view.tsx +2 -3
  559. package/lib/features/layout/layout-commands.d.ts +0 -153
  560. package/lib/features/layout/layout-commands.d.ts.map +0 -1
  561. package/lib/features/layout/layout-commands.js +0 -412
  562. package/lib/features/layout/layout-commands.js.map +0 -1
  563. package/lib/features/layout/layout-commands.spec.d.ts +0 -3
  564. package/lib/features/layout/layout-commands.spec.d.ts.map +0 -1
  565. package/lib/features/layout/layout-commands.spec.js.map +0 -1
  566. package/lib/features/model-source-watcher/di.config.d.ts +0 -4
  567. package/lib/features/model-source-watcher/di.config.js.map +0 -1
  568. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +0 -1
  569. package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +0 -1
  570. package/lib/features/tool-palette/palette-item.d.ts.map +0 -1
  571. package/lib/features/tool-palette/palette-item.js.map +0 -1
  572. package/lib/protocol-reexport.d.ts +0 -45
  573. package/lib/protocol-reexport.d.ts.map +0 -1
  574. package/lib/protocol-reexport.js +0 -75
  575. package/lib/protocol-reexport.js.map +0 -1
  576. package/src/features/layout/layout-commands.ts +0 -424
  577. package/src/features/tool-palette/palette-item.ts +0 -38
  578. package/src/protocol-reexport.ts +0 -64
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2021 EclipseSource and others.
2
+ * Copyright (c) 2021-2022 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,17 +13,13 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { Bounds, Dimension, Point } from '@eclipse-glsp/protocol';
16
17
  import { injectable } from 'inversify';
17
18
  import {
18
- Bounds,
19
19
  BoundsData,
20
- Dimension,
21
- EMPTY_BOUNDS,
22
20
  isBoundsAware,
23
21
  isLayoutableChild,
24
- isValidDimension,
25
22
  LayoutContainer,
26
- Point,
27
23
  SChildElement,
28
24
  SModelElement,
29
25
  SParentElement,
@@ -44,15 +40,18 @@ export interface VBoxLayoutOptionsExt extends VBoxLayoutOptions {
44
40
  */
45
41
  @injectable()
46
42
  export class VBoxLayouterExt extends VBoxLayouter {
47
- static KIND = VBoxLayouter.KIND;
43
+ static override KIND = VBoxLayouter.KIND;
48
44
 
49
- layout(container: SParentElement & LayoutContainer, layouter: StatefulLayouter): void {
45
+ override layout(container: SParentElement & LayoutContainer, layouter: StatefulLayouter): void {
50
46
  const boundsData = layouter.getBoundsData(container);
51
47
  const options = this.getLayoutOptions(container);
52
48
  const childrenSize = this.getChildrenSize(container, options, layouter);
53
49
 
54
50
  const fixedSize = this.getFixedContainerBounds(container, options, layouter);
55
51
 
52
+ const currentWidth = (boundsData.bounds?.width || 0) - options.paddingLeft - options.paddingRight;
53
+ const currentHeight = (boundsData.bounds?.height || 0) - options.paddingTop - options.paddingBottom;
54
+
56
55
  const maxWidth =
57
56
  options.paddingFactor *
58
57
  (options.resizeContainer
@@ -64,8 +63,11 @@ export class VBoxLayouterExt extends VBoxLayouter {
64
63
  ? Math.max(fixedSize.height - options.paddingTop - options.paddingBottom, childrenSize.height)
65
64
  : Math.max(0, fixedSize.height - options.paddingTop - options.paddingBottom));
66
65
 
66
+ const width = Math.max(currentWidth, maxWidth);
67
+ const height = Math.max(currentHeight, maxHeight);
68
+
67
69
  // Remaining size that can be grabbed by children with the vGrab option
68
- const grabHeight: number = maxHeight - childrenSize.height;
70
+ const grabHeight: number = height - childrenSize.height;
69
71
  // Number of children that request vGrab
70
72
  // FIXME: This approach works fine when only 1 child uses VGrab, but may cause rounding issues
71
73
  // when the grabHeight can't be equally shared by all children.
@@ -74,13 +76,13 @@ export class VBoxLayouterExt extends VBoxLayouter {
74
76
  .filter(opt => opt.vGrab).length;
75
77
 
76
78
  if (maxWidth > 0 && maxHeight > 0) {
77
- const offset = this.layoutChildren(container, layouter, options, maxWidth, maxHeight, grabHeight, grabbingChildren);
79
+ const offset = this.layoutChildren(container, layouter, options, width, height, grabHeight, grabbingChildren);
78
80
  boundsData.bounds = this.getFinalContainerBounds(container, offset, options, childrenSize.width, childrenSize.height);
79
81
  boundsData.boundsChanged = true;
80
82
  }
81
83
  }
82
84
 
83
- protected getChildrenSize(
85
+ protected override getChildrenSize(
84
86
  container: SParentElement & LayoutContainer,
85
87
  containerOptions: VBoxLayoutOptionsExt,
86
88
  layouter: StatefulLayouter
@@ -91,7 +93,7 @@ export class VBoxLayouterExt extends VBoxLayouter {
91
93
  container.children.forEach(child => {
92
94
  if (isLayoutableChild(child)) {
93
95
  const bounds = layouter.getBoundsData(child).bounds;
94
- if (bounds !== undefined && isValidDimension(bounds)) {
96
+ if (bounds !== undefined && Dimension.isValid(bounds)) {
95
97
  maxHeight += bounds.height;
96
98
  if (isFirst) {
97
99
  isFirst = false;
@@ -109,7 +111,7 @@ export class VBoxLayouterExt extends VBoxLayouter {
109
111
  return result;
110
112
  }
111
113
 
112
- protected layoutChildren(
114
+ protected override layoutChildren(
113
115
  container: SParentElement & LayoutContainer,
114
116
  layouter: StatefulLayouter,
115
117
  containerOptions: VBoxLayoutOptionsExt,
@@ -128,7 +130,7 @@ export class VBoxLayouterExt extends VBoxLayouter {
128
130
  const boundsData = layouter.getBoundsData(child);
129
131
  const bounds = boundsData.bounds;
130
132
  const childOptions = this.getChildLayoutOptions(child, containerOptions);
131
- if (bounds !== undefined && isValidDimension(bounds)) {
133
+ if (bounds !== undefined && Dimension.isValid(bounds)) {
132
134
  currentOffset = this.layoutChild(
133
135
  child,
134
136
  boundsData,
@@ -147,7 +149,7 @@ export class VBoxLayouterExt extends VBoxLayouter {
147
149
  return currentOffset;
148
150
  }
149
151
 
150
- protected layoutChild(
152
+ protected override layoutChild(
151
153
  child: SChildElement,
152
154
  boundsData: BoundsData,
153
155
  bounds: Bounds,
@@ -159,7 +161,14 @@ export class VBoxLayouterExt extends VBoxLayouter {
159
161
  grabHeight?: number,
160
162
  grabbingChildren?: number
161
163
  ): Point {
164
+ const hAlign = childOptions.hGrab ? 'left' : childOptions.hAlign;
165
+ const dx = this.getDx(hAlign, bounds, maxWidth);
162
166
  let offset = super.layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight);
167
+ boundsData.bounds = {
168
+ ...boundsData.bounds!,
169
+ x: currentOffset.x + dx,
170
+ y: currentOffset.y
171
+ };
163
172
  if (childOptions.hGrab) {
164
173
  boundsData.bounds = {
165
174
  x: boundsData.bounds!.x,
@@ -183,7 +192,11 @@ export class VBoxLayouterExt extends VBoxLayouter {
183
192
  return offset;
184
193
  }
185
194
 
186
- protected getFixedContainerBounds(container: SModelElement, layoutOptions: VBoxLayoutOptionsExt, layouter: StatefulLayouter): Bounds {
195
+ protected override getFixedContainerBounds(
196
+ container: SModelElement,
197
+ layoutOptions: VBoxLayoutOptionsExt,
198
+ layouter: StatefulLayouter
199
+ ): Bounds {
187
200
  const currentContainer = container;
188
201
  // eslint-disable-next-line no-constant-condition
189
202
  if (isBoundsAware(currentContainer)) {
@@ -193,14 +206,14 @@ export class VBoxLayouterExt extends VBoxLayouter {
193
206
  const height = elementOptions?.prefHeight ?? 0;
194
207
  return { ...bounds, width, height };
195
208
  }
196
- return EMPTY_BOUNDS;
209
+ return Bounds.EMPTY;
197
210
  }
198
211
 
199
- protected getChildLayoutOptions(child: SChildElement, containerOptions: VBoxLayoutOptionsExt): VBoxLayoutOptionsExt {
200
- return super.getChildLayoutOptions(child, containerOptions) as VBoxLayoutOptionsExt;
212
+ protected override getChildLayoutOptions(child: SChildElement, containerOptions: VBoxLayoutOptionsExt): VBoxLayoutOptionsExt {
213
+ return super.getChildLayoutOptions(child, this.filterContainerOptions(containerOptions)) as VBoxLayoutOptionsExt;
201
214
  }
202
215
 
203
- protected getLayoutOptions(element: SModelElement): VBoxLayoutOptionsExt {
216
+ protected override getLayoutOptions(element: SModelElement): VBoxLayoutOptionsExt {
204
217
  return super.getLayoutOptions(element) as VBoxLayoutOptionsExt;
205
218
  }
206
219
 
@@ -208,7 +221,7 @@ export class VBoxLayouterExt extends VBoxLayouter {
208
221
  return (element as any).layoutOptions;
209
222
  }
210
223
 
211
- protected getFinalContainerBounds(
224
+ protected override getFinalContainerBounds(
212
225
  container: SParentElement & LayoutContainer,
213
226
  lastOffset: Point,
214
227
  options: VBoxLayoutOptionsExt,
@@ -229,7 +242,7 @@ export class VBoxLayouterExt extends VBoxLayouter {
229
242
  return result;
230
243
  }
231
244
 
232
- protected getDefaultLayoutOptions(): VBoxLayoutOptionsExt {
245
+ protected override getDefaultLayoutOptions(): VBoxLayoutOptionsExt {
233
246
  return {
234
247
  resizeContainer: true,
235
248
  paddingTop: 5,
@@ -250,7 +263,11 @@ export class VBoxLayouterExt extends VBoxLayouter {
250
263
  };
251
264
  }
252
265
 
253
- protected spread(a: VBoxLayoutOptionsExt, b: VBoxLayoutOptionsExt): VBoxLayoutOptionsExt {
254
- return { ...a, ...b };
266
+ protected filterContainerOptions(containerOptions: VBoxLayoutOptionsExt): VBoxLayoutOptionsExt {
267
+ // Reset object-specific layout options to default before merging,
268
+ // to make sure they won't be inherited (grab, prefSize)
269
+ // eslint-disable-next-line no-null/no-null
270
+ const localOptions = { vGrab: false, hGrab: false, prefHeight: null, prefWidth: null };
271
+ return { ...containerOptions, ...localOptions };
255
272
  }
256
273
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2022 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
@@ -15,13 +15,12 @@
15
15
  ********************************************************************************/
16
16
  import { ContainerModule } from 'inversify';
17
17
  import { MouseTool } from 'sprotty';
18
-
19
- import { GLSP_TYPES } from '../../base/types';
18
+ import { TYPES } from '../../base/types';
20
19
  import { RankingMouseTool } from './mouse-tool';
21
20
 
22
21
  const glspMouseToolModule = new ContainerModule((bind, _unbind, _isBound, rebind) => {
23
22
  bind(RankingMouseTool).toSelf().inSingletonScope();
24
- bind(GLSP_TYPES.MouseTool).toService(RankingMouseTool);
23
+ bind(TYPES.MouseTool).toService(RankingMouseTool);
25
24
  rebind(MouseTool).toService(RankingMouseTool);
26
25
  });
27
26
 
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2021 EclipseSource and others.
2
+ * Copyright (c) 2019-2022 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
+ import { Action } from '@eclipse-glsp/protocol';
17
17
  import { injectable, multiInject, optional } from 'inversify';
18
- import { On, VNode, VNodeData } from 'snabbdom';
19
- import { MouseListener, MouseTool, SModelElement, SModelRoot, TYPES } from 'sprotty';
18
+ import { MouseListener, MouseTool, SModelElement, SModelRoot } from 'sprotty';
19
+ import { TYPES } from '../../base/types';
20
20
  import { getRank } from '../rank/model';
21
21
 
22
22
  export interface IMouseTool {
@@ -24,48 +24,32 @@ export interface IMouseTool {
24
24
  deregister(mouseListener: MouseListener): void;
25
25
  }
26
26
 
27
+ /**
28
+ * Custom helper type to declare the explicit mouse listener methods
29
+ * of {@link MouseListener} i.e. omitting the `decorate` method.
30
+ */
31
+ type MouseListenerMethods = keyof Omit<MouseListener, 'decorate'>;
32
+
27
33
  @injectable()
28
34
  export class RankingMouseTool extends MouseTool implements IMouseTool {
29
35
  protected rankedMouseListeners: Map<number, MouseListener[]>;
30
36
 
31
- constructor(@multiInject(TYPES.MouseListener) @optional() protected mouseListeners: MouseListener[] = []) {
37
+ constructor(@multiInject(TYPES.MouseListener) @optional() protected override mouseListeners: MouseListener[] = []) {
32
38
  super(mouseListeners);
33
39
  this.rankedMouseListeners = groupBy(mouseListeners, listener => getRank(listener));
34
40
  }
35
41
 
36
- register(mouseListener: MouseListener): void {
42
+ override register(mouseListener: MouseListener): void {
37
43
  super.register(mouseListener);
38
44
  this.rankedMouseListeners = groupBy(this.mouseListeners, listener => getRank(listener));
39
45
  }
40
46
 
41
- deregister(mouseListener: MouseListener): void {
47
+ override deregister(mouseListener: MouseListener): void {
42
48
  super.deregister(mouseListener);
43
49
  this.rankedMouseListeners = groupBy(this.mouseListeners, listener => getRank(listener));
44
50
  }
45
51
 
46
- decorate(vnode: VNode, element: SModelElement): VNode {
47
- // we need to overwrite the existing event handlers registered by the original mouse tool
48
- if (element instanceof SModelRoot) {
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);
59
- }
60
- vnode = this.mouseListeners.reduce((n: VNode, listener: MouseListener) => listener.decorate(n, element), vnode);
61
- return vnode;
62
- }
63
-
64
- contextMenu(model: SModelRoot, event: MouseEvent): void {
65
- event.preventDefault();
66
- }
67
-
68
- protected handleEvent<K extends keyof MouseListener>(methodName: K, model: SModelRoot, event: MouseEvent): void {
52
+ protected override handleEvent<K extends MouseListenerMethods>(methodName: K, model: SModelRoot, event: MouseEvent): void {
69
53
  this.focusOnMouseEvent(methodName, model);
70
54
  const element = this.getTargetElement(model, event);
71
55
  if (!element) {
@@ -74,7 +58,7 @@ export class RankingMouseTool extends MouseTool implements IMouseTool {
74
58
  this.notifyListenersByRank(element, methodName, model, event);
75
59
  }
76
60
 
77
- async notifyListenersByRank<K extends keyof MouseListener>(
61
+ async notifyListenersByRank<K extends MouseListenerMethods>(
78
62
  element: SModelElement,
79
63
  methodName: K,
80
64
  model: SModelRoot,
@@ -85,19 +69,17 @@ export class RankingMouseTool extends MouseTool implements IMouseTool {
85
69
  }
86
70
  }
87
71
 
88
- async dispatchActions<K extends keyof MouseListener>(
72
+ async dispatchActions<K extends MouseListenerMethods>(
89
73
  mouseListeners: MouseListener[],
90
74
  methodName: K,
91
75
  element: SModelElement,
92
76
  event: MouseEvent
93
77
  ): Promise<void> {
94
- const actions = mouseListeners
95
- .map(listener => listener[methodName].apply(listener, [element, event]))
96
- .reduce((a, b) => a.concat(b));
78
+ const actions = mouseListeners.map(listener => listener[methodName](element, event as WheelEvent)).reduce((a, b) => a.concat(b));
97
79
  if (actions.length > 0) {
98
80
  event.preventDefault();
99
81
  for (const actionOrPromise of actions) {
100
- if (isAction(actionOrPromise)) {
82
+ if (Action.is(actionOrPromise)) {
101
83
  await this.actionDispatcher.dispatch(actionOrPromise);
102
84
  } else {
103
85
  actionOrPromise.then((action: Action) => {
@@ -124,24 +106,3 @@ function groupBy<K, T>(array: Array<T>, keyFunction: (x: T) => K): Map<K, T[]> {
124
106
  }, new Map<K, T[]>());
125
107
  return new Map<K, T[]>([...unsortedMap.entries()].sort());
126
108
  }
127
-
128
- function overwriteOn(vnode: VNode, event: string, listener: (model: SModelElement, _event: Event) => void, element: SModelElement): void {
129
- const val = getOn(vnode);
130
- // ignore any previous val[event] registrations
131
- (val as any)[event] = [listener, element];
132
- }
133
-
134
- function getOn(vnode: VNode): On {
135
- const data = getData(vnode);
136
- if (!data.on) {
137
- data.on = {};
138
- }
139
- return data.on;
140
- }
141
-
142
- function getData(vnode: VNode): VNodeData {
143
- if (!vnode.data) {
144
- vnode.data = {};
145
- }
146
- return vnode.data;
147
- }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2021 EclipseSource and others.
2
+ * Copyright (c) 2020-2022 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -17,10 +17,8 @@ import {
17
17
  Action,
18
18
  Args,
19
19
  CenterAction,
20
- GLSPServerStatusAction,
21
- isNavigateToExternalTargetAction,
22
- isNavigateToTargetAction,
23
- isSetNavigationTargetsAction,
20
+ hasObjectProp,
21
+ hasStringProp,
24
22
  NavigateToExternalTargetAction,
25
23
  NavigateToTargetAction,
26
24
  NavigationTarget,
@@ -28,13 +26,15 @@ import {
28
26
  SelectAction,
29
27
  SelectAllAction,
30
28
  ServerMessageAction,
29
+ ServerSeverity,
30
+ ServerStatusAction,
31
+ SetNavigationTargetsAction,
31
32
  SetResolvedNavigationTargetAction
32
33
  } from '@eclipse-glsp/protocol';
33
34
  import { inject, injectable } from 'inversify';
34
- import { ActionHandlerRegistry, IActionDispatcher, IActionHandler, ICommand, ILogger, TYPES } from 'sprotty';
35
-
35
+ import { ActionHandlerRegistry, IActionDispatcher, IActionHandler, ICommand, ILogger } from 'sprotty';
36
36
  import { EditorContextServiceProvider } from '../../base/editor-context-service';
37
- import { GLSP_TYPES } from '../../base/types';
37
+ import { TYPES } from '../../base/types';
38
38
  import { NavigationTargetResolver } from './navigation-target-resolver';
39
39
 
40
40
  /**
@@ -48,38 +48,66 @@ import { NavigationTargetResolver } from './navigation-target-resolver';
48
48
  *
49
49
  * This action is typically triggered by a user action.
50
50
  */
51
- export class NavigateAction implements Action {
52
- static readonly KIND = 'navigate';
53
- readonly kind = NavigateAction.KIND;
54
- constructor(readonly targetTypeId: string, readonly args?: Args) {}
51
+
52
+ export interface NavigateAction extends Action {
53
+ kind: typeof NavigateAction.KIND;
54
+ /**
55
+ * Navigation target type, such as `documentation`, `implementation`, etc.
56
+ */
57
+ targetTypeId: string;
58
+ /**
59
+ * Additional arguments for customization.
60
+ */
61
+ args?: Args;
55
62
  }
56
63
 
57
- export function isNavigateAction(action: Action): action is NavigateAction {
58
- return action !== undefined && action.kind === NavigateAction.KIND && (action as NavigateAction).targetTypeId !== undefined;
64
+ export namespace NavigateAction {
65
+ export const KIND = 'navigate';
66
+
67
+ export function is(object: any): object is NavigateAction {
68
+ return Action.hasKind(object, KIND) && hasStringProp(object, 'targetTypeId');
69
+ }
70
+
71
+ export function create(targetTypeId: string, options: { args?: Args } = {}): NavigateAction {
72
+ return {
73
+ kind: KIND,
74
+ targetTypeId,
75
+ ...options
76
+ };
77
+ }
59
78
  }
60
79
 
61
- /** Action to trigger the processing of additional navigation arguments.
62
- *
80
+ /**
81
+ * Action to trigger the processing of additional navigation arguments.
63
82
  * The resolution of a `NavigationTarget` may entail additional arguments. In this case, this action is
64
83
  * triggered allowing the client to react to those arguments. The default `NavigationActionHandler` will
65
84
  * only process the arguments' keys `info`, `warning`, and `error` to present them to the user.
66
85
  * Customizations, however, may add domain-specific arguments and register custom handler to also process
67
86
  * other arguments and trigger some additional behavior (e.g. update other views, etc.).
68
87
  */
69
- export class ProcessNavigationArgumentsAction implements Action {
70
- static readonly KIND = 'processNavigationArguments';
71
- readonly kind = ProcessNavigationArgumentsAction.KIND;
72
- constructor(readonly args: Args) {}
73
- }
74
88
 
75
- export function isProcessNavigationArgumentsAction(action: Action): action is ProcessNavigationArgumentsAction {
76
- return (
77
- action !== undefined &&
78
- action.kind === ProcessNavigationArgumentsAction.KIND &&
79
- (action as ProcessNavigationArgumentsAction).args !== undefined
80
- );
89
+ export interface ProcessNavigationArgumentsAction extends Action {
90
+ kind: typeof ProcessNavigationArgumentsAction.KIND;
91
+ /**
92
+ * The navigation arguments.
93
+ */
94
+ args: Args;
81
95
  }
82
96
 
97
+ export namespace ProcessNavigationArgumentsAction {
98
+ export const KIND = 'processNavigationArguments';
99
+
100
+ export function is(object: any): object is ProcessNavigationArgumentsAction {
101
+ return Action.hasKind(object, KIND) && hasObjectProp(object, 'args');
102
+ }
103
+
104
+ export function create(args: Args): ProcessNavigationArgumentsAction {
105
+ return {
106
+ kind: KIND,
107
+ args
108
+ };
109
+ }
110
+ }
83
111
  /**
84
112
  * Default handler for all actions that are related to the navigation.
85
113
  *
@@ -109,17 +137,17 @@ export class NavigationActionHandler implements IActionHandler {
109
137
  @inject(TYPES.ILogger) protected logger: ILogger;
110
138
  @inject(TYPES.IActionDispatcher) protected dispatcher: IActionDispatcher;
111
139
  @inject(TYPES.ActionHandlerRegistryProvider) protected actionHandlerRegistryProvider: () => Promise<ActionHandlerRegistry>;
112
- @inject(GLSP_TYPES.IEditorContextServiceProvider) protected editorContextService: EditorContextServiceProvider;
140
+ @inject(TYPES.IEditorContextServiceProvider) protected editorContextService: EditorContextServiceProvider;
113
141
  @inject(NavigationTargetResolver) protected resolver: NavigationTargetResolver;
114
142
 
115
143
  handle(action: Action): ICommand | Action | void {
116
- if (isNavigateAction(action)) {
144
+ if (NavigateAction.is(action)) {
117
145
  this.handleNavigateAction(action);
118
- } else if (isNavigateToTargetAction(action)) {
146
+ } else if (NavigateToTargetAction.is(action)) {
119
147
  this.handleNavigateToTarget(action);
120
- } else if (isProcessNavigationArgumentsAction(action)) {
148
+ } else if (ProcessNavigationArgumentsAction.is(action)) {
121
149
  this.processNavigationArguments(action.args);
122
- } else if (isNavigateToExternalTargetAction(action)) {
150
+ } else if (NavigateToExternalTargetAction.is(action)) {
123
151
  this.handleNavigateToExternalTarget(action);
124
152
  }
125
153
  }
@@ -127,9 +155,11 @@ export class NavigationActionHandler implements IActionHandler {
127
155
  protected async handleNavigateAction(action: NavigateAction): Promise<void> {
128
156
  try {
129
157
  const editorContextService = await this.editorContextService();
130
- const context = editorContextService.get(action.args);
131
- const response = await this.dispatcher.request(new RequestNavigationTargetsAction(action.targetTypeId, context));
132
- if (isSetNavigationTargetsAction(response) && response.targets && response.targets.length === 1) {
158
+ const editorContext = editorContextService.get(action.args);
159
+ const response = await this.dispatcher.request(
160
+ RequestNavigationTargetsAction.create({ targetTypeId: action.targetTypeId, editorContext })
161
+ );
162
+ if (SetNavigationTargetsAction.is(response) && response.targets && response.targets.length === 1) {
133
163
  if (response.targets.length > 1) {
134
164
  this.logger.warn(
135
165
  this,
@@ -137,7 +167,7 @@ export class NavigationActionHandler implements IActionHandler {
137
167
  response.targets
138
168
  );
139
169
  }
140
- return this.dispatcher.dispatch(new NavigateToTargetAction(response.targets[0]));
170
+ return this.dispatcher.dispatch(NavigateToTargetAction.create(response.targets[0]));
141
171
  }
142
172
  this.warnAboutFailedNavigation('No valid navigation target found');
143
173
  } catch (reason) {
@@ -184,7 +214,11 @@ export class NavigationActionHandler implements IActionHandler {
184
214
  if (!this.containsElementIds(elementIds)) {
185
215
  return;
186
216
  }
187
- this.dispatcher.dispatchAll([new SelectAllAction(false), new SelectAction(elementIds), new CenterAction(elementIds)]);
217
+ this.dispatcher.dispatchAll([
218
+ SelectAllAction.create(false),
219
+ SelectAction.create({ selectedElementsIDs: elementIds }),
220
+ CenterAction.create(elementIds)
221
+ ]);
188
222
  }
189
223
 
190
224
  protected handleResolutionArguments(target: SetResolvedNavigationTargetAction): void {
@@ -192,11 +226,11 @@ export class NavigationActionHandler implements IActionHandler {
192
226
  if (!this.containsArguments(args)) {
193
227
  return;
194
228
  }
195
- this.dispatcher.dispatch(new ProcessNavigationArgumentsAction(args));
229
+ this.dispatcher.dispatch(ProcessNavigationArgumentsAction.create(args));
196
230
  }
197
231
 
198
232
  protected navigateToExternal(target: NavigationTarget): Promise<void> {
199
- return this.dispatcher.dispatch(new NavigateToExternalTargetAction(target));
233
+ return this.dispatcher.dispatch(NavigateToExternalTargetAction.create(target));
200
234
  }
201
235
 
202
236
  protected processNavigationArguments(args: Args): void {
@@ -226,11 +260,11 @@ export class NavigationActionHandler implements IActionHandler {
226
260
  this.notify('WARNING', message);
227
261
  }
228
262
 
229
- private notify(severity: string, message: string): void {
263
+ private notify(severity: ServerSeverity, message: string): void {
230
264
  const timeout = this.notificationTimeout;
231
265
  this.dispatcher.dispatchAll([
232
- { kind: GLSPServerStatusAction.KIND, severity, timeout, message } as GLSPServerStatusAction,
233
- { kind: ServerMessageAction.KIND, severity, timeout, message } as ServerMessageAction
266
+ ServerStatusAction.create(message, { severity, timeout }),
267
+ ServerMessageAction.create(message, { severity, timeout })
234
268
  ]);
235
269
  }
236
270
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2021 EclipseSource and others.
2
+ * Copyright (c) 2020-2022 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
@@ -22,7 +22,7 @@ import 'reflect-metadata';
22
22
  describe('NavigationTarget', () => {
23
23
  it('should be able to set and get element IDs', () => {
24
24
  const navigationTarget: NavigationTarget = { uri: 'uri' };
25
- NavigationTarget.setElementIds(navigationTarget, ['id1', 'id2']);
25
+ NavigationTarget.setElementIds(navigationTarget, 'id1', 'id2');
26
26
  expect(NavigationTarget.getElementIds(navigationTarget)).to.be.eql(['id1', 'id2']);
27
27
  });
28
28
 
@@ -46,7 +46,7 @@ describe('NavigationTarget', () => {
46
46
 
47
47
  navigationTarget = { uri: 'uri' };
48
48
  expect(NavigationTarget.hasArguments(navigationTarget)).to.be.false;
49
- NavigationTarget.setElementIds(navigationTarget, ['id1', 'id2']);
49
+ NavigationTarget.setElementIds(navigationTarget, 'id1', 'id2');
50
50
  expect(NavigationTarget.hasArguments(navigationTarget)).to.be.true;
51
51
 
52
52
  navigationTarget = { uri: 'uri' };
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2021 EclipseSource and others.
2
+ * Copyright (c) 2020-2022 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,11 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import {
17
- isSetResolvedNavigationTargets,
18
- NavigationTarget,
19
- ResolveNavigationTargetAction,
20
- SetResolvedNavigationTargetAction
21
- } from '@eclipse-glsp/protocol';
16
+ import { NavigationTarget, ResolveNavigationTargetAction, ResponseAction, SetResolvedNavigationTargetAction } from '@eclipse-glsp/protocol';
22
17
  import { inject, injectable } from 'inversify';
23
- import { IActionDispatcher, ILogger, ResponseAction, TYPES } from 'sprotty';
18
+ import { IActionDispatcher, ILogger } from 'sprotty';
24
19
  import { EditorContextServiceProvider } from '../../base/editor-context-service';
25
- import { GLSP_TYPES } from '../../base/types';
20
+ import { TYPES } from '../../base/types';
26
21
 
27
22
  /**
28
23
  * Resolves `NavigationTargets` to element ids.
@@ -32,7 +27,7 @@ import { GLSP_TYPES } from '../../base/types';
32
27
  */
33
28
  @injectable()
34
29
  export class NavigationTargetResolver {
35
- @inject(GLSP_TYPES.IEditorContextServiceProvider) protected editorContextService: EditorContextServiceProvider;
30
+ @inject(TYPES.IEditorContextServiceProvider) protected editorContextService: EditorContextServiceProvider;
36
31
  @inject(TYPES.IActionDispatcher) protected dispatcher: IActionDispatcher;
37
32
  @inject(TYPES.ILogger) protected readonly logger: ILogger;
38
33
 
@@ -53,16 +48,16 @@ export class NavigationTargetResolver {
53
48
  return undefined;
54
49
  }
55
50
  if (NavigationTarget.getElementIds(target).length > 0) {
56
- return new SetResolvedNavigationTargetAction(NavigationTarget.getElementIds(target));
51
+ return SetResolvedNavigationTargetAction.create(NavigationTarget.getElementIds(target));
57
52
  }
58
53
  const response = await this.requestResolution(target);
59
- if (isSetResolvedNavigationTargets(response)) {
54
+ if (SetResolvedNavigationTargetAction.is(response)) {
60
55
  return response;
61
56
  }
62
57
  return undefined;
63
58
  }
64
59
 
65
60
  protected requestResolution(target: NavigationTarget): Promise<ResponseAction> {
66
- return this.dispatcher.request(new ResolveNavigationTargetAction(target));
61
+ return this.dispatcher.request(ResolveNavigationTargetAction.create(target));
67
62
  }
68
63
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2021 EclipseSource and others.
2
+ * Copyright (c) 2019-2022 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
@@ -69,7 +69,7 @@ export function createReconnectHandle(edge: SRoutableElement, kind: RoutingHandl
69
69
  }
70
70
 
71
71
  export class SReconnectHandle extends SRoutingHandle {
72
- hasFeature(feature: symbol): boolean {
72
+ override hasFeature(feature: symbol): boolean {
73
73
  return feature !== selectFeature && super.hasFeature(feature);
74
74
  }
75
75
  }