@eclipse-glsp/client 0.10.0-next.4ce46ea.160 → 0.10.0-next.4fb6ef6.171

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 (524) hide show
  1. package/lib/base/action-dispatcher.d.ts +2 -1
  2. package/lib/base/action-dispatcher.d.ts.map +1 -1
  3. package/lib/base/action-dispatcher.js +13 -5
  4. package/lib/base/action-dispatcher.js.map +1 -1
  5. package/lib/base/actions/focus-change-action.d.ts +16 -7
  6. package/lib/base/actions/focus-change-action.d.ts.map +1 -1
  7. package/lib/base/actions/focus-change-action.js +31 -12
  8. package/lib/base/actions/focus-change-action.js.map +1 -1
  9. package/lib/base/actions/sprotty-actions.d.ts +7 -0
  10. package/lib/base/actions/sprotty-actions.d.ts.map +1 -0
  11. package/lib/{features/tool-palette/palette-item.js → base/actions/sprotty-actions.js} +4 -20
  12. package/lib/base/actions/sprotty-actions.js.map +1 -0
  13. package/lib/base/auto-complete/auto-complete-actions.d.ts +5 -3
  14. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  15. package/lib/base/auto-complete/auto-complete-actions.js +24 -5
  16. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  17. package/lib/base/auto-complete/auto-complete-widget.d.ts +9 -2
  18. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  19. package/lib/base/auto-complete/auto-complete-widget.js +16 -9
  20. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  21. package/lib/base/auto-complete/validation-decorator.js +2 -2
  22. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  23. package/lib/base/command-stack.d.ts.map +1 -1
  24. package/lib/base/command-stack.js +6 -5
  25. package/lib/base/command-stack.js.map +1 -1
  26. package/lib/base/container-modules.d.ts.map +1 -1
  27. package/lib/base/container-modules.js +2 -1
  28. package/lib/base/container-modules.js.map +1 -1
  29. package/lib/base/di.config.d.ts +1 -1
  30. package/lib/base/di.config.d.ts.map +1 -1
  31. package/lib/base/di.config.js +13 -14
  32. package/lib/base/di.config.js.map +1 -1
  33. package/lib/base/drag-aware-mouse-listener.d.ts +1 -1
  34. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  35. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  36. package/lib/base/editor-context-service.d.ts +18 -5
  37. package/lib/base/editor-context-service.d.ts.map +1 -1
  38. package/lib/base/editor-context-service.js +39 -22
  39. package/lib/base/editor-context-service.js.map +1 -1
  40. package/lib/base/focus-tracker.d.ts +1 -1
  41. package/lib/base/focus-tracker.d.ts.map +1 -1
  42. package/lib/base/focus-tracker.js +4 -4
  43. package/lib/base/focus-tracker.js.map +1 -1
  44. package/lib/base/model/model-registry.d.ts.map +1 -1
  45. package/lib/base/model/model-registry.js +2 -2
  46. package/lib/base/model/model-registry.js.map +1 -1
  47. package/lib/base/model/update-model-command.d.ts +1 -1
  48. package/lib/base/model/update-model-command.d.ts.map +1 -1
  49. package/lib/base/model/update-model-command.js +15 -15
  50. package/lib/base/model/update-model-command.js.map +1 -1
  51. package/lib/base/model-initialization-constraint.d.ts +4 -5
  52. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  53. package/lib/base/model-initialization-constraint.js +11 -13
  54. package/lib/base/model-initialization-constraint.js.map +1 -1
  55. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  56. package/lib/base/selection-clearing-mouse-listener.js +1 -1
  57. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  58. package/lib/base/source-uri-aware.d.ts +2 -17
  59. package/lib/base/source-uri-aware.d.ts.map +1 -1
  60. package/lib/base/source-uri-aware.js +4 -6
  61. package/lib/base/source-uri-aware.js.map +1 -1
  62. package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
  63. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  64. package/lib/base/tool-manager/glsp-tool-manager.js +10 -10
  65. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  66. package/lib/base/tool-manager/tool-actions.d.ts +14 -0
  67. package/lib/base/tool-manager/tool-actions.d.ts.map +1 -0
  68. package/lib/base/tool-manager/tool-actions.js +25 -0
  69. package/lib/base/tool-manager/tool-actions.js.map +1 -0
  70. package/lib/base/types.d.ts +144 -20
  71. package/lib/base/types.d.ts.map +1 -1
  72. package/lib/base/types.js +14 -26
  73. package/lib/base/types.js.map +1 -1
  74. package/lib/base/view/view-registry.d.ts.map +1 -1
  75. package/lib/base/view/view-registry.js +2 -2
  76. package/lib/base/view/view-registry.js.map +1 -1
  77. package/lib/features/change-bounds/model.d.ts +1 -1
  78. package/lib/features/change-bounds/model.d.ts.map +1 -1
  79. package/lib/features/change-bounds/model.js +3 -3
  80. package/lib/features/change-bounds/model.js.map +1 -1
  81. package/lib/features/change-bounds/movement-restrictor.d.ts +37 -7
  82. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  83. package/lib/features/change-bounds/movement-restrictor.js +55 -40
  84. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  85. package/lib/features/change-bounds/snap.d.ts +42 -2
  86. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  87. package/lib/features/change-bounds/snap.js +78 -2
  88. package/lib/features/change-bounds/snap.js.map +1 -1
  89. package/lib/features/change-bounds/snap.spec.d.ts +17 -0
  90. package/lib/features/change-bounds/snap.spec.d.ts.map +1 -0
  91. package/lib/features/change-bounds/snap.spec.js +82 -0
  92. package/lib/features/change-bounds/snap.spec.js.map +1 -0
  93. package/lib/features/command-palette/command-palette-tool.js +3 -3
  94. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  95. package/lib/features/command-palette/di.config.d.ts +2 -2
  96. package/lib/features/command-palette/di.config.d.ts.map +1 -1
  97. package/lib/features/command-palette/di.config.js +6 -6
  98. package/lib/features/command-palette/di.config.js.map +1 -1
  99. package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -1
  100. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  101. package/lib/features/command-palette/server-command-palette-provider.js +13 -10
  102. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  103. package/lib/features/context-menu/delete-element-context-menu.d.ts +17 -1
  104. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  105. package/lib/features/context-menu/delete-element-context-menu.js +4 -4
  106. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  107. package/lib/features/context-menu/di.config.d.ts +1 -1
  108. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  109. package/lib/features/context-menu/di.config.js +8 -7
  110. package/lib/features/context-menu/di.config.js.map +1 -1
  111. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +17 -1
  112. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  113. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +8 -23
  114. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  115. package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -1
  116. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  117. package/lib/features/context-menu/server-context-menu-provider.js +8 -7
  118. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  119. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +12 -15
  120. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  121. package/lib/features/copy-paste/copy-paste-context-menu.js +26 -33
  122. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  123. package/lib/features/copy-paste/copy-paste-handler.d.ts +1 -1
  124. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  125. package/lib/features/copy-paste/copy-paste-handler.js +10 -11
  126. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  127. package/lib/features/copy-paste/di.config.d.ts +1 -1
  128. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  129. package/lib/features/copy-paste/di.config.js +5 -7
  130. package/lib/features/copy-paste/di.config.js.map +1 -1
  131. package/lib/features/decoration/decoration-placer.d.ts +1 -1
  132. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  133. package/lib/features/decoration/decoration-placer.js +19 -3
  134. package/lib/features/decoration/decoration-placer.js.map +1 -1
  135. package/lib/features/decoration/di.config.d.ts +2 -2
  136. package/lib/features/decoration/di.config.d.ts.map +1 -1
  137. package/lib/features/decoration/di.config.js +4 -4
  138. package/lib/features/decoration/di.config.js.map +1 -1
  139. package/lib/features/edit-label/di.config.d.ts +1 -1
  140. package/lib/features/edit-label/di.config.d.ts.map +1 -1
  141. package/lib/features/edit-label/di.config.js +5 -5
  142. package/lib/features/edit-label/di.config.js.map +1 -1
  143. package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
  144. package/lib/features/edit-label/edit-label-tool.js +2 -2
  145. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  146. package/lib/features/edit-label/edit-label-validator.d.ts +4 -6
  147. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  148. package/lib/features/edit-label/edit-label-validator.js +11 -13
  149. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  150. package/lib/features/hints/di.config.js +4 -4
  151. package/lib/features/hints/di.config.js.map +1 -1
  152. package/lib/features/hints/type-hints.d.ts +15 -5
  153. package/lib/features/hints/type-hints.d.ts.map +1 -1
  154. package/lib/features/hints/type-hints.js +29 -26
  155. package/lib/features/hints/type-hints.js.map +1 -1
  156. package/lib/features/hover/di.config.d.ts.map +1 -1
  157. package/lib/features/hover/di.config.js +11 -9
  158. package/lib/features/hover/di.config.js.map +1 -1
  159. package/lib/features/hover/hover.d.ts +4 -2
  160. package/lib/features/hover/hover.d.ts.map +1 -1
  161. package/lib/features/hover/hover.js +23 -5
  162. package/lib/features/hover/hover.js.map +1 -1
  163. package/lib/features/layout/di.config.d.ts +3 -3
  164. package/lib/features/layout/di.config.d.ts.map +1 -1
  165. package/lib/features/layout/di.config.js +11 -7
  166. package/lib/features/layout/di.config.js.map +1 -1
  167. package/lib/features/layout/freeform-layout.d.ts +17 -1
  168. package/lib/features/layout/freeform-layout.d.ts.map +1 -1
  169. package/lib/features/layout/freeform-layout.js +4 -4
  170. package/lib/features/layout/freeform-layout.js.map +1 -1
  171. package/lib/features/layout/hbox-layout.d.ts +41 -0
  172. package/lib/features/layout/hbox-layout.d.ts.map +1 -0
  173. package/lib/features/layout/hbox-layout.js +189 -0
  174. package/lib/features/layout/hbox-layout.js.map +1 -0
  175. package/lib/features/layout/layout-elements-action.d.ts +198 -0
  176. package/lib/features/layout/layout-elements-action.d.ts.map +1 -0
  177. package/lib/features/layout/layout-elements-action.js +391 -0
  178. package/lib/features/layout/layout-elements-action.js.map +1 -0
  179. package/lib/features/layout/layout-elements-action.spec.d.ts +3 -0
  180. package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -0
  181. package/lib/features/layout/{layout-commands.spec.js → layout-elements-action.spec.js} +81 -62
  182. package/lib/features/layout/layout-elements-action.spec.js.map +1 -0
  183. package/lib/features/layout/vbox-layout.d.ts +17 -1
  184. package/lib/features/layout/vbox-layout.d.ts.map +1 -1
  185. package/lib/features/layout/vbox-layout.js +9 -8
  186. package/lib/features/layout/vbox-layout.js.map +1 -1
  187. package/lib/features/model-source-watcher/di.config.js +1 -1
  188. package/lib/features/model-source-watcher/di.config.js.map +1 -1
  189. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +1 -1
  190. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
  191. package/lib/features/model-source-watcher/model-source-changed-action-handler.js +11 -11
  192. package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
  193. package/lib/features/mouse-tool/di.config.d.ts +1 -1
  194. package/lib/features/mouse-tool/di.config.d.ts.map +1 -1
  195. package/lib/features/mouse-tool/di.config.js +2 -2
  196. package/lib/features/mouse-tool/di.config.js.map +1 -1
  197. package/lib/features/mouse-tool/mouse-tool.d.ts +9 -5
  198. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  199. package/lib/features/mouse-tool/mouse-tool.js +11 -53
  200. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  201. package/lib/features/navigation/di.config.js +4 -4
  202. package/lib/features/navigation/di.config.js.map +1 -1
  203. package/lib/features/navigation/navigation-action-handler.d.ts +31 -16
  204. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  205. package/lib/features/navigation/navigation-action-handler.js +52 -68
  206. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  207. package/lib/features/navigation/navigation-target-resolver.d.ts +3 -3
  208. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  209. package/lib/features/navigation/navigation-target-resolver.js +9 -10
  210. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  211. package/lib/features/navigation/navigation-target-resolver.spec.js +12 -12
  212. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  213. package/lib/features/reconnect/model.d.ts +1 -1
  214. package/lib/features/reconnect/model.d.ts.map +1 -1
  215. package/lib/features/reconnect/model.js +1 -1
  216. package/lib/features/reconnect/model.js.map +1 -1
  217. package/lib/features/save/di.config.d.ts +1 -1
  218. package/lib/features/save/di.config.d.ts.map +1 -1
  219. package/lib/features/save/di.config.js +3 -3
  220. package/lib/features/save/di.config.js.map +1 -1
  221. package/lib/features/save/save-keylistener.d.ts +1 -1
  222. package/lib/features/save/save-keylistener.d.ts.map +1 -1
  223. package/lib/features/save/save-keylistener.js +3 -3
  224. package/lib/features/save/save-keylistener.js.map +1 -1
  225. package/lib/features/select/di.config.d.ts +1 -1
  226. package/lib/features/select/di.config.d.ts.map +1 -1
  227. package/lib/features/select/di.config.js +7 -8
  228. package/lib/features/select/di.config.js.map +1 -1
  229. package/lib/features/select/select-feedback-action.d.ts +26 -22
  230. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  231. package/lib/features/select/select-feedback-action.js +19 -46
  232. package/lib/features/select/select-feedback-action.js.map +1 -1
  233. package/lib/features/select/select-mouse-listener.d.ts +1 -1
  234. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  235. package/lib/features/select/select-mouse-listener.js +1 -1
  236. package/lib/features/select/select-mouse-listener.js.map +1 -1
  237. package/lib/features/select/selection-service.d.ts +14 -5
  238. package/lib/features/select/selection-service.d.ts.map +1 -1
  239. package/lib/features/select/selection-service.js +55 -64
  240. package/lib/features/select/selection-service.js.map +1 -1
  241. package/lib/features/select/selection-service.spec.js +28 -25
  242. package/lib/features/select/selection-service.spec.js.map +1 -1
  243. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +17 -9
  244. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  245. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +68 -38
  246. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  247. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +23 -11
  248. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  249. package/lib/features/tool-feedback/creation-tool-feedback.js +62 -35
  250. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  251. package/lib/features/tool-feedback/css-feedback.d.ts +17 -10
  252. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  253. package/lib/features/tool-feedback/css-feedback.js +42 -38
  254. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  255. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  256. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  257. package/lib/features/tool-feedback/di.config.js +18 -18
  258. package/lib/features/tool-feedback/di.config.js.map +1 -1
  259. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +44 -22
  260. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  261. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +140 -114
  262. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  263. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  264. package/lib/features/tool-feedback/feedback-action-dispatcher.js +4 -4
  265. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  266. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +21 -10
  267. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  268. package/lib/features/tool-feedback/marquee-tool-feedback.js +44 -18
  269. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  270. package/lib/features/tool-feedback/model.d.ts +1 -2
  271. package/lib/features/tool-feedback/model.d.ts.map +1 -1
  272. package/lib/features/tool-feedback/model.js +1 -1
  273. package/lib/features/tool-feedback/model.js.map +1 -1
  274. package/lib/features/tool-feedback/view.d.ts +1 -1
  275. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  276. package/lib/features/tool-feedback/view.js +22 -5
  277. package/lib/features/tool-feedback/view.js.map +1 -1
  278. package/lib/features/tool-palette/di.config.d.ts +1 -1
  279. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  280. package/lib/features/tool-palette/di.config.js +5 -4
  281. package/lib/features/tool-palette/di.config.js.map +1 -1
  282. package/lib/features/tool-palette/tool-palette.d.ts +10 -7
  283. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  284. package/lib/features/tool-palette/tool-palette.js +39 -32
  285. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  286. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  287. package/lib/features/tools/base-glsp-tool.js +6 -6
  288. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  289. package/lib/features/tools/change-bounds-tool.d.ts +7 -9
  290. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  291. package/lib/features/tools/change-bounds-tool.js +48 -71
  292. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  293. package/lib/features/tools/delete-tool.d.ts +1 -1
  294. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  295. package/lib/features/tools/delete-tool.js +17 -17
  296. package/lib/features/tools/delete-tool.js.map +1 -1
  297. package/lib/features/tools/di.config.d.ts +9 -2
  298. package/lib/features/tools/di.config.d.ts.map +1 -1
  299. package/lib/features/tools/di.config.js +26 -15
  300. package/lib/features/tools/di.config.js.map +1 -1
  301. package/lib/features/tools/edge-creation-tool.d.ts +1 -1
  302. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  303. package/lib/features/tools/edge-creation-tool.js +28 -21
  304. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  305. package/lib/features/tools/edge-edit-tool.d.ts +3 -2
  306. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  307. package/lib/features/tools/edge-edit-tool.js +41 -36
  308. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  309. package/lib/features/{tool-palette/palette-item.d.ts → tools/enable-default-tools-on-focus-loss.d.ts} +11 -11
  310. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +1 -0
  311. package/lib/features/tools/enable-default-tools-on-focus-loss.js +29 -0
  312. package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -0
  313. package/lib/features/tools/marquee-behavior.d.ts +1 -1
  314. package/lib/features/tools/marquee-behavior.js +2 -2
  315. package/lib/features/tools/marquee-behavior.js.map +1 -1
  316. package/lib/features/tools/marquee-behavior.spec.js +63 -63
  317. package/lib/features/tools/marquee-behavior.spec.js.map +1 -1
  318. package/lib/features/tools/marquee-mouse-tool.d.ts +1 -1
  319. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  320. package/lib/features/tools/marquee-mouse-tool.js +20 -20
  321. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  322. package/lib/features/tools/marquee-tool.d.ts +1 -1
  323. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  324. package/lib/features/tools/marquee-tool.js +4 -4
  325. package/lib/features/tools/marquee-tool.js.map +1 -1
  326. package/lib/features/tools/model.d.ts +3 -2
  327. package/lib/features/tools/model.d.ts.map +1 -1
  328. package/lib/features/tools/model.js +0 -15
  329. package/lib/features/tools/model.js.map +1 -1
  330. package/lib/features/tools/node-creation-tool.d.ts +1 -1
  331. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  332. package/lib/features/tools/node-creation-tool.js +17 -17
  333. package/lib/features/tools/node-creation-tool.js.map +1 -1
  334. package/lib/features/tools/view.d.ts.map +1 -1
  335. package/lib/features/tools/view.js +2 -2
  336. package/lib/features/tools/view.js.map +1 -1
  337. package/lib/features/validation/di.config.d.ts +0 -15
  338. package/lib/features/validation/di.config.d.ts.map +1 -1
  339. package/lib/features/validation/di.config.js +9 -7
  340. package/lib/features/validation/di.config.js.map +1 -1
  341. package/lib/features/validation/marker-navigator.d.ts +27 -25
  342. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  343. package/lib/features/validation/marker-navigator.js +64 -91
  344. package/lib/features/validation/marker-navigator.js.map +1 -1
  345. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  346. package/lib/features/validation/marker-navigator.spec.js +23 -37
  347. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  348. package/lib/features/validation/validate.d.ts +16 -30
  349. package/lib/features/validation/validate.d.ts.map +1 -1
  350. package/lib/features/validation/validate.js +61 -92
  351. package/lib/features/validation/validate.js.map +1 -1
  352. package/lib/features/viewport/di.config.d.ts +1 -1
  353. package/lib/features/viewport/di.config.d.ts.map +1 -1
  354. package/lib/features/viewport/di.config.js +7 -7
  355. package/lib/features/viewport/di.config.js.map +1 -1
  356. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -1
  357. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  358. package/lib/features/viewport/glsp-scroll-mouse-listener.js +3 -3
  359. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  360. package/lib/index.d.ts +8 -9
  361. package/lib/index.d.ts.map +1 -1
  362. package/lib/index.js +15 -11
  363. package/lib/index.js.map +1 -1
  364. package/lib/lib/model.d.ts +3 -2
  365. package/lib/lib/model.d.ts.map +1 -1
  366. package/lib/lib/model.js +0 -15
  367. package/lib/lib/model.js.map +1 -1
  368. package/lib/model-source/glsp-diagram-server.d.ts +6 -6
  369. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  370. package/lib/model-source/glsp-diagram-server.js +8 -8
  371. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  372. package/lib/sprotty-reexport.d.ts +174 -0
  373. package/lib/sprotty-reexport.d.ts.map +1 -0
  374. package/lib/sprotty-reexport.js +299 -0
  375. package/lib/sprotty-reexport.js.map +1 -0
  376. package/lib/utils/argument-utils.js +5 -5
  377. package/lib/utils/argument-utils.js.map +1 -1
  378. package/lib/utils/layout-utils.d.ts +6 -22
  379. package/lib/utils/layout-utils.d.ts.map +1 -1
  380. package/lib/utils/layout-utils.js +1 -1
  381. package/lib/utils/layout-utils.js.map +1 -1
  382. package/lib/utils/smodel-util.d.ts +117 -11
  383. package/lib/utils/smodel-util.d.ts.map +1 -1
  384. package/lib/utils/smodel-util.js +142 -37
  385. package/lib/utils/smodel-util.js.map +1 -1
  386. package/lib/utils/viewpoint-util.d.ts +3 -3
  387. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  388. package/lib/utils/viewpoint-util.js +19 -3
  389. package/lib/utils/viewpoint-util.js.map +1 -1
  390. package/lib/views/base-view-module.js +19 -19
  391. package/lib/views/base-view-module.js.map +1 -1
  392. package/lib/views/compartments.js +1 -1
  393. package/lib/views/compartments.js.map +1 -1
  394. package/lib/views/glsp-edge-view.d.ts +1 -1
  395. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  396. package/lib/views/glsp-edge-view.js +1 -1
  397. package/lib/views/glsp-edge-view.js.map +1 -1
  398. package/lib/views/index.js +6 -2
  399. package/lib/views/index.js.map +1 -1
  400. package/lib/views/issue-marker-view.d.ts.map +1 -1
  401. package/lib/views/issue-marker-view.js +3 -3
  402. package/lib/views/issue-marker-view.js.map +1 -1
  403. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  404. package/lib/views/rounded-corner-view.js +2 -2
  405. package/lib/views/rounded-corner-view.js.map +1 -1
  406. package/package.json +8 -18
  407. package/src/base/action-dispatcher.ts +17 -8
  408. package/src/base/actions/focus-change-action.ts +25 -8
  409. package/src/base/actions/sprotty-actions.ts +26 -0
  410. package/src/base/auto-complete/auto-complete-actions.ts +7 -5
  411. package/src/base/auto-complete/auto-complete-widget.ts +15 -13
  412. package/src/base/command-stack.ts +7 -6
  413. package/src/base/container-modules.ts +4 -3
  414. package/src/base/di.config.ts +4 -5
  415. package/src/base/drag-aware-mouse-listener.ts +4 -4
  416. package/src/base/editor-context-service.ts +38 -16
  417. package/src/base/focus-tracker.ts +5 -4
  418. package/src/base/model/model-registry.ts +2 -2
  419. package/src/base/model/update-model-command.ts +9 -10
  420. package/src/base/model-initialization-constraint.ts +9 -11
  421. package/src/base/selection-clearing-mouse-listener.ts +1 -1
  422. package/src/base/source-uri-aware.ts +5 -4
  423. package/src/base/tool-manager/glsp-tool-manager.ts +9 -9
  424. package/src/base/tool-manager/tool-actions.ts +37 -0
  425. package/src/base/types.ts +31 -24
  426. package/src/base/view/view-registry.ts +2 -2
  427. package/src/features/change-bounds/model.ts +5 -5
  428. package/src/features/change-bounds/movement-restrictor.ts +74 -44
  429. package/src/features/change-bounds/snap.spec.ts +89 -0
  430. package/src/features/change-bounds/snap.ts +86 -3
  431. package/src/features/command-palette/di.config.ts +5 -7
  432. package/src/features/command-palette/server-command-palette-provider.ts +9 -8
  433. package/src/features/context-menu/delete-element-context-menu.ts +6 -6
  434. package/src/features/context-menu/di.config.ts +3 -2
  435. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +6 -7
  436. package/src/features/context-menu/server-context-menu-provider.ts +7 -6
  437. package/src/features/copy-paste/copy-paste-context-menu.ts +30 -23
  438. package/src/features/copy-paste/copy-paste-handler.ts +6 -6
  439. package/src/features/copy-paste/di.config.ts +7 -15
  440. package/src/features/decoration/decoration-placer.ts +4 -4
  441. package/src/features/decoration/di.config.ts +3 -5
  442. package/src/features/edit-label/di.config.ts +4 -5
  443. package/src/features/edit-label/edit-label-tool.ts +1 -2
  444. package/src/features/edit-label/edit-label-validator.ts +6 -10
  445. package/src/features/hints/di.config.ts +3 -3
  446. package/src/features/hints/type-hints.ts +33 -18
  447. package/src/features/hover/di.config.ts +4 -0
  448. package/src/features/hover/hover.ts +30 -12
  449. package/src/features/layout/di.config.ts +11 -7
  450. package/src/features/layout/freeform-layout.ts +6 -15
  451. package/src/features/layout/hbox-layout.ts +256 -0
  452. package/src/features/layout/{layout-commands.spec.ts → layout-elements-action.spec.ts} +89 -65
  453. package/src/features/layout/layout-elements-action.ts +486 -0
  454. package/src/features/layout/vbox-layout.ts +20 -20
  455. package/src/features/model-source-watcher/model-source-changed-action-handler.ts +7 -12
  456. package/src/features/mouse-tool/di.config.ts +3 -4
  457. package/src/features/mouse-tool/mouse-tool.ts +18 -59
  458. package/src/features/navigation/navigation-action-handler.ts +76 -42
  459. package/src/features/navigation/navigation-target-resolver.spec.ts +3 -3
  460. package/src/features/navigation/navigation-target-resolver.ts +9 -14
  461. package/src/features/reconnect/model.ts +2 -2
  462. package/src/features/save/di.config.ts +2 -3
  463. package/src/features/save/save-keylistener.ts +3 -3
  464. package/src/features/select/di.config.ts +6 -8
  465. package/src/features/select/select-feedback-action.ts +18 -46
  466. package/src/features/select/select-mouse-listener.ts +1 -2
  467. package/src/features/select/selection-service.spec.ts +12 -9
  468. package/src/features/select/selection-service.ts +52 -60
  469. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +52 -22
  470. package/src/features/tool-feedback/creation-tool-feedback.ts +52 -31
  471. package/src/features/tool-feedback/css-feedback.ts +40 -37
  472. package/src/features/tool-feedback/di.config.ts +4 -5
  473. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +132 -88
  474. package/src/features/tool-feedback/feedback-action-dispatcher.ts +2 -1
  475. package/src/features/tool-feedback/marquee-tool-feedback.ts +38 -13
  476. package/src/features/tool-feedback/model.ts +1 -3
  477. package/src/features/tool-feedback/view.tsx +3 -3
  478. package/src/features/tool-palette/di.config.ts +3 -2
  479. package/src/features/tool-palette/tool-palette.ts +35 -19
  480. package/src/features/tools/base-glsp-tool.ts +4 -4
  481. package/src/features/tools/change-bounds-tool.ts +37 -67
  482. package/src/features/tools/delete-tool.ts +9 -9
  483. package/src/features/tools/di.config.ts +23 -12
  484. package/src/features/tools/edge-creation-tool.ts +21 -12
  485. package/src/features/tools/edge-edit-tool.ts +25 -21
  486. package/src/features/tools/enable-default-tools-on-focus-loss.ts +33 -0
  487. package/src/features/tools/marquee-behavior.ts +2 -2
  488. package/src/features/tools/marquee-mouse-tool.ts +13 -14
  489. package/src/features/tools/marquee-tool.ts +3 -3
  490. package/src/features/tools/model.ts +4 -3
  491. package/src/features/tools/node-creation-tool.ts +8 -8
  492. package/src/features/tools/view.tsx +2 -3
  493. package/src/features/validation/di.config.ts +13 -11
  494. package/src/features/validation/marker-navigator.spec.ts +4 -2
  495. package/src/features/validation/marker-navigator.ts +67 -82
  496. package/src/features/validation/validate.ts +57 -91
  497. package/src/features/viewport/di.config.ts +1 -2
  498. package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
  499. package/src/index.ts +9 -9
  500. package/src/lib/model.ts +4 -4
  501. package/src/model-source/glsp-diagram-server.ts +14 -16
  502. package/src/sprotty-reexport.ts +283 -0
  503. package/src/utils/layout-utils.ts +9 -29
  504. package/src/utils/smodel-util.ts +139 -43
  505. package/src/utils/viewpoint-util.ts +5 -14
  506. package/src/views/glsp-edge-view.tsx +4 -4
  507. package/src/views/issue-marker-view.tsx +2 -2
  508. package/src/views/rounded-corner-view.tsx +2 -3
  509. package/lib/features/layout/layout-commands.d.ts +0 -153
  510. package/lib/features/layout/layout-commands.d.ts.map +0 -1
  511. package/lib/features/layout/layout-commands.js +0 -412
  512. package/lib/features/layout/layout-commands.js.map +0 -1
  513. package/lib/features/layout/layout-commands.spec.d.ts +0 -3
  514. package/lib/features/layout/layout-commands.spec.d.ts.map +0 -1
  515. package/lib/features/layout/layout-commands.spec.js.map +0 -1
  516. package/lib/features/tool-palette/palette-item.d.ts.map +0 -1
  517. package/lib/features/tool-palette/palette-item.js.map +0 -1
  518. package/lib/protocol-reexport.d.ts +0 -45
  519. package/lib/protocol-reexport.d.ts.map +0 -1
  520. package/lib/protocol-reexport.js +0 -75
  521. package/lib/protocol-reexport.js.map +0 -1
  522. package/src/features/layout/layout-commands.ts +0 -424
  523. package/src/features/tool-palette/palette-item.ts +0 -38
  524. package/src/protocol-reexport.ts +0 -64
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020 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,11 +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 '../../../css/decoration.css';
17
-
18
16
  import { ContainerModule } from 'inversify';
19
- import { TYPES } from 'sprotty';
20
-
17
+ import '../../../css/decoration.css';
18
+ import { TYPES } from '../../base/types';
21
19
  import { GlspDecorationPlacer } from './decoration-placer';
22
20
 
23
21
  const glspDecorationModule = new ContainerModule((bind, _unbind, isBound) => {
@@ -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
@@ -14,16 +14,15 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { ContainerModule } from 'inversify';
17
- import { ApplyLabelEditCommand, configureCommand, TYPES } from 'sprotty';
18
-
19
- import { GLSP_TYPES } from '../../base/types';
17
+ import { ApplyLabelEditCommand, configureCommand } from 'sprotty';
18
+ import { TYPES } from '../../base/types';
20
19
  import { DirectLabelEditTool } from './edit-label-tool';
21
20
  import { BalloonLabelValidationDecorator, ServerEditLabelValidator } from './edit-label-validator';
22
21
 
23
22
  const glspEditLabelModule = new ContainerModule((bind, _unbind, isBound, _rebind) => {
24
23
  bind(TYPES.IEditLabelValidator).to(ServerEditLabelValidator);
25
24
  bind(TYPES.IEditLabelValidationDecorator).to(BalloonLabelValidationDecorator);
26
- bind(GLSP_TYPES.IDefaultTool).to(DirectLabelEditTool);
25
+ bind(TYPES.IDefaultTool).to(DirectLabelEditTool);
27
26
  configureCommand({ bind, isBound }, ApplyLabelEditCommand);
28
27
  });
29
28
 
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020 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
@@ -15,7 +15,6 @@
15
15
  ********************************************************************************/
16
16
  import { injectable } from 'inversify';
17
17
  import { EditLabelKeyListener, EditLabelMouseListener, KeyListener, MouseListener } from 'sprotty';
18
-
19
18
  import { BaseGLSPTool } from '../tools/base-glsp-tool';
20
19
 
21
20
  @injectable()
@@ -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,9 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { isSetEditValidationResultAction, RequestEditValidationAction, ValidationStatus } from '@eclipse-glsp/protocol';
16
+ import { Action, RequestEditValidationAction, SetEditValidationResultAction, ValidationStatus } from '@eclipse-glsp/protocol';
17
17
  import { inject, injectable } from 'inversify';
18
18
  import {
19
- Action,
20
19
  EditableLabel,
21
20
  EditLabelValidationResult,
22
21
  IEditLabelValidationDecorator,
@@ -25,7 +24,6 @@ import {
25
24
  SModelElement,
26
25
  TYPES
27
26
  } from 'sprotty';
28
-
29
27
  import { GLSPActionDispatcher } from '../../base/action-dispatcher';
30
28
 
31
29
  export namespace LabelEditValidation {
@@ -41,11 +39,9 @@ export namespace LabelEditValidation {
41
39
  }
42
40
  return { message, severity };
43
41
  }
44
- }
45
42
 
46
- export class ValidateLabelEditAction extends RequestEditValidationAction {
47
- constructor(value: string, labelId: string) {
48
- super(LabelEditValidation.CONTEXT_ID, labelId, value);
43
+ export function createValidationRequestAction(value: string, labelId: string): RequestEditValidationAction {
44
+ return RequestEditValidationAction.create({ contextId: CONTEXT_ID, modelElementId: labelId, text: value });
49
45
  }
50
46
  }
51
47
 
@@ -54,12 +50,12 @@ export class ServerEditLabelValidator implements IEditLabelValidator {
54
50
  @inject(TYPES.IActionDispatcher) protected actionDispatcher: GLSPActionDispatcher;
55
51
 
56
52
  validate(value: string, label: EditableLabel & SModelElement): Promise<EditLabelValidationResult> {
57
- const action = new ValidateLabelEditAction(value, label.id);
53
+ const action = LabelEditValidation.createValidationRequestAction(value, label.id);
58
54
  return this.actionDispatcher.requestUntil(action).then(response => this.getValidationResultFromResponse(response));
59
55
  }
60
56
 
61
57
  getValidationResultFromResponse(action: Action): EditLabelValidationResult {
62
- if (isSetEditValidationResultAction(action)) {
58
+ if (SetEditValidationResultAction.is(action)) {
63
59
  return LabelEditValidation.toEditLabelValidationResult(action.status);
64
60
  }
65
61
  return { severity: 'ok' as Severity };
@@ -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
@@ -16,12 +16,12 @@
16
16
  import { SetTypeHintsAction } from '@eclipse-glsp/protocol';
17
17
  import { ContainerModule } from 'inversify';
18
18
  import { configureActionHandler, configureCommand } from 'sprotty';
19
- import { GLSP_TYPES } from '../../base/types';
19
+ import { TYPES } from '../../base/types';
20
20
  import { ApplyTypeHintsCommand, TypeHintProvider } from './type-hints';
21
21
 
22
22
  const modelHintsModule = new ContainerModule((bind, _unbind, isBound) => {
23
23
  bind(TypeHintProvider).toSelf().inSingletonScope();
24
- bind(GLSP_TYPES.ITypeHintProvider).toService(TypeHintProvider);
24
+ bind(TYPES.ITypeHintProvider).toService(TypeHintProvider);
25
25
  configureActionHandler({ bind, isBound }, SetTypeHintsAction.KIND, TypeHintProvider);
26
26
  configureCommand({ bind, isBound }, ApplyTypeHintsCommand);
27
27
  });
@@ -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,7 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, EdgeTypeHint, isSetTypeHintsAction, ShapeTypeHint, TypeHint } from '@eclipse-glsp/protocol';
16
+ import { Action, EdgeTypeHint, SetTypeHintsAction, ShapeTypeHint, TypeHint } from '@eclipse-glsp/protocol';
17
17
  import { inject, injectable } from 'inversify';
18
18
  import {
19
19
  CommandExecutionContext,
@@ -29,10 +29,9 @@ import {
29
29
  SEdge,
30
30
  SModelElement,
31
31
  SModelRoot,
32
- SShapeElement,
33
- TYPES
32
+ SShapeElement
34
33
  } from 'sprotty';
35
- import { GLSP_TYPES } from '../../base/types';
34
+ import { TYPES } from '../../base/types';
36
35
  import { getElementTypeId, hasCompatibleType } from '../../utils/smodel-util';
37
36
  import { resizeFeature } from '../change-bounds/model';
38
37
  import { reconnectFeature } from '../reconnect/model';
@@ -40,19 +39,35 @@ import { IFeedbackActionDispatcher } from '../tool-feedback/feedback-action-disp
40
39
  import { FeedbackCommand } from '../tool-feedback/model';
41
40
  import { Containable, containerFeature, reparentFeature } from './model';
42
41
 
43
- @injectable()
44
- export class ApplyTypeHintsAction implements Action {
45
- readonly kind = ApplyTypeHintsCommand.KIND;
42
+ /**
43
+ * Is dispatched by the {@link TypeHintProvider} to apply the type hints received from the server
44
+ * onto the graphical model. The action is dispatched as persistent feedback to ensure the applied type hints
45
+ * don't get lost after a server-side model update.
46
+ */
47
+ export interface ApplyTypeHintsAction extends Action {
48
+ kind: typeof ApplyTypeHintsAction.KIND;
49
+ }
50
+
51
+ export namespace ApplyTypeHintsAction {
52
+ export const KIND = 'applyTypeHints';
53
+
54
+ export function is(object: any): object is ApplyTypeHintsAction {
55
+ return Action.hasKind(object, KIND);
56
+ }
57
+
58
+ export function create(): ApplyTypeHintsAction {
59
+ return { kind: KIND };
60
+ }
46
61
  }
47
62
 
48
63
  @injectable()
49
64
  export class ApplyTypeHintsCommand extends FeedbackCommand {
50
- public static KIND = 'applyTypeHints';
51
- public readonly priority = 10;
65
+ public static KIND = ApplyTypeHintsAction.KIND;
66
+ public override readonly priority = 10;
52
67
 
53
- @inject(GLSP_TYPES.ITypeHintProvider) protected typeHintProvider: ITypeHintProvider;
68
+ @inject(TYPES.ITypeHintProvider) protected typeHintProvider: ITypeHintProvider;
54
69
 
55
- constructor(@inject(TYPES.Action) protected action: ApplyTypeHintsAction) {
70
+ constructor(@inject(TYPES.Action) protected action: Action) {
56
71
  super();
57
72
  }
58
73
 
@@ -69,7 +84,7 @@ export class ApplyTypeHintsCommand extends FeedbackCommand {
69
84
 
70
85
  protected applyEdgeTypeHint(element: SModelElement): void {
71
86
  const hint = this.typeHintProvider.getEdgeTypeHint(element);
72
- if (hint && isModifiableFetureSet(element.features)) {
87
+ if (hint && isModifiableFeatureSet(element.features)) {
73
88
  addOrRemove(element.features, deletableFeature, hint.deletable);
74
89
  addOrRemove(element.features, editFeature, hint.routable);
75
90
  addOrRemove(element.features, reconnectFeature, hint.repositionable);
@@ -78,7 +93,7 @@ export class ApplyTypeHintsCommand extends FeedbackCommand {
78
93
 
79
94
  protected applyShapeTypeHint(element: SModelElement): void {
80
95
  const hint = this.typeHintProvider.getShapeTypeHint(element);
81
- if (hint && isModifiableFetureSet(element.features)) {
96
+ if (hint && isModifiableFeatureSet(element.features)) {
82
97
  addOrRemove(element.features, deletableFeature, hint.deletable);
83
98
  addOrRemove(element.features, moveFeature, hint.repositionable);
84
99
  addOrRemove(element.features, resizeFeature, hint.resizable);
@@ -119,7 +134,7 @@ function addOrRemove(features: Set<symbol>, feature: symbol, add: boolean): void
119
134
  }
120
135
  }
121
136
 
122
- function isModifiableFetureSet(featureSet?: FeatureSet): featureSet is FeatureSet & Set<symbol> {
137
+ function isModifiableFeatureSet(featureSet?: FeatureSet): featureSet is FeatureSet & Set<symbol> {
123
138
  return featureSet !== undefined && featureSet instanceof Set;
124
139
  }
125
140
 
@@ -131,17 +146,17 @@ export interface ITypeHintProvider {
131
146
 
132
147
  @injectable()
133
148
  export class TypeHintProvider implements IActionHandler, ITypeHintProvider {
134
- @inject(GLSP_TYPES.IFeedbackActionDispatcher)
149
+ @inject(TYPES.IFeedbackActionDispatcher)
135
150
  protected feedbackActionDispatcher: IFeedbackActionDispatcher;
136
151
 
137
152
  protected shapeHints: Map<string, ShapeTypeHint> = new Map();
138
153
  protected edgeHints: Map<string, EdgeTypeHint> = new Map();
139
154
 
140
155
  handle(action: Action): ICommand | Action | void {
141
- if (isSetTypeHintsAction(action)) {
156
+ if (SetTypeHintsAction.is(action)) {
142
157
  action.shapeHints.forEach(hint => this.shapeHints.set(hint.elementTypeId, hint));
143
158
  action.edgeHints.forEach(hint => this.edgeHints.set(hint.elementTypeId, hint));
144
- this.feedbackActionDispatcher.registerFeedback(this, [new ApplyTypeHintsAction()]);
159
+ this.feedbackActionDispatcher.registerFeedback(this, [ApplyTypeHintsAction.create()]);
145
160
  }
146
161
  }
147
162
 
@@ -19,6 +19,8 @@ import {
19
19
  ClosePopupActionHandler,
20
20
  configureActionHandler,
21
21
  configureCommand,
22
+ EnableDefaultToolsAction,
23
+ EnableToolsAction,
22
24
  FitToScreenCommand,
23
25
  HoverFeedbackCommand,
24
26
  HoverKeyListener,
@@ -56,6 +58,8 @@ const glspHoverModule = new ContainerModule((bind, _unbind, isBound) => {
56
58
  configureActionHandler(context, SetViewportCommand.KIND, ClosePopupActionHandler);
57
59
  configureActionHandler(context, MoveCommand.KIND, ClosePopupActionHandler);
58
60
  configureActionHandler(context, FocusStateChangedAction.KIND, ClosePopupActionHandler);
61
+ configureActionHandler(context, EnableToolsAction.KIND, GlspHoverMouseListener);
62
+ configureActionHandler(context, EnableDefaultToolsAction.KIND, GlspHoverMouseListener);
59
63
  configureActionHandler(context, FocusStateChangedAction.KIND, GlspHoverMouseListener);
60
64
  });
61
65
 
@@ -13,7 +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 { Action, Bounds, RequestPopupModelAction, SetPopupModelAction } from '@eclipse-glsp/protocol';
16
+ import {
17
+ Action,
18
+ Bounds,
19
+ PreRenderedElementSchema,
20
+ RequestPopupModelAction,
21
+ SetPopupModelAction,
22
+ SModelElementSchema,
23
+ SModelRootSchema
24
+ } from '@eclipse-glsp/protocol';
17
25
  import { injectable } from 'inversify';
18
26
  import {
19
27
  EMPTY_ROOT,
@@ -21,18 +29,17 @@ import {
21
29
  HoverMouseListener,
22
30
  IActionHandler,
23
31
  ICommand,
24
- PreRenderedElementSchema,
25
32
  SIssueMarker,
26
33
  SIssueSeverity,
27
- SModelElement,
28
- SModelElementSchema,
29
- SModelRootSchema
34
+ SModelElement
30
35
  } from 'sprotty';
31
- import { isFocusStateChangedAction } from '../../base/actions/focus-change-action';
36
+ import { FocusStateChangedAction } from '../../base/actions/focus-change-action';
37
+ import { EnableDefaultToolsAction, EnableToolsAction } from '../../base/tool-manager/tool-actions';
38
+ import { EdgeCreationTool } from '../tools/edge-creation-tool';
32
39
  import { GIssueMarker } from '../validation/issue-marker';
33
-
34
40
  @injectable()
35
41
  export class GlspHoverMouseListener extends HoverMouseListener implements IActionHandler {
42
+ protected enableHover = true;
36
43
  /**
37
44
  * Stops mouse over timer and remove hover feedback, if focus is lost.
38
45
  *
@@ -43,25 +50,36 @@ export class GlspHoverMouseListener extends HoverMouseListener implements IActio
43
50
  * @returns a `HoverFeedbackAction` resetting the state, if the specified action indicates lost focus
44
51
  */
45
52
  handle(action: Action): void | Action | ICommand {
46
- if (isFocusStateChangedAction(action) && !action.hasFocus) {
53
+ if (FocusStateChangedAction.is(action) && !action.hasFocus) {
47
54
  this.stopMouseOverTimer();
48
55
  if (this.lastHoverFeedbackElementId) {
49
56
  const previousTargetId = this.lastHoverFeedbackElementId;
50
57
  this.lastHoverFeedbackElementId = undefined;
51
- return new HoverFeedbackAction(previousTargetId, false);
58
+ return HoverFeedbackAction.create({ mouseoverElement: previousTargetId, mouseIsOver: false });
52
59
  }
60
+ } else if (EnableToolsAction.is(action)) {
61
+ this.enableHover = !(action as EnableToolsAction).toolIds.includes(EdgeCreationTool.ID);
62
+ } else if (EnableDefaultToolsAction.is(action)) {
63
+ this.enableHover = true;
64
+ }
65
+ }
66
+
67
+ override mouseOver(target: SModelElement, event: MouseEvent): (Action | Promise<Action>)[] {
68
+ if (this.enableHover) {
69
+ return super.mouseOver(target, event);
53
70
  }
71
+ return [];
54
72
  }
55
73
 
56
- protected startMouseOverTimer(target: SModelElement, event: MouseEvent): Promise<Action> {
74
+ protected override startMouseOverTimer(target: SModelElement, event: MouseEvent): Promise<Action> {
57
75
  this.stopMouseOverTimer();
58
76
  return new Promise(resolve => {
59
77
  this.state.mouseOverTimer = window.setTimeout(() => {
60
78
  const popupBounds = this.computePopupBounds(target, { x: event.pageX, y: event.pageY });
61
79
  if (target instanceof GIssueMarker) {
62
- resolve(new SetPopupModelAction(this.createPopupModel(target as GIssueMarker, popupBounds)));
80
+ resolve(SetPopupModelAction.create(this.createPopupModel(target as GIssueMarker, popupBounds)));
63
81
  } else {
64
- resolve(new RequestPopupModelAction(target.id, popupBounds));
82
+ resolve(RequestPopupModelAction.create({ elementId: target.id, bounds: popupBounds }));
65
83
  }
66
84
 
67
85
  this.state.popupOpen = true;
@@ -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
@@ -14,17 +14,21 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { ContainerModule } from 'inversify';
17
- import { configureCommand, configureLayout, VBoxLayouter } from 'sprotty';
17
+ import { configureActionHandler, configureLayout, HBoxLayouter, VBoxLayouter } from 'sprotty';
18
+ import { AlignElementsActionHandler } from '../..';
18
19
  import { FreeFormLayouter } from './freeform-layout';
19
- import { AlignElementsCommand, ResizeElementsCommand } from './layout-commands';
20
+ import { HBoxLayouterExt } from './hbox-layout';
21
+ import { AlignElementsAction, ResizeElementsAction, ResizeElementsActionHandler } from './layout-elements-action';
20
22
  import { VBoxLayouterExt } from './vbox-layout';
21
23
 
22
- const layoutCommandsModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
23
- configureCommand({ bind, isBound }, ResizeElementsCommand);
24
- configureCommand({ bind, isBound }, AlignElementsCommand);
24
+ const layoutModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
25
+ const context = { bind, isBound };
26
+ configureActionHandler(context, ResizeElementsAction.KIND, ResizeElementsActionHandler);
27
+ configureActionHandler(context, AlignElementsAction.KIND, AlignElementsActionHandler);
25
28
 
26
29
  rebind(VBoxLayouter).to(VBoxLayouterExt);
30
+ rebind(HBoxLayouter).to(HBoxLayouterExt);
27
31
  configureLayout({ bind, isBound }, FreeFormLayouter.KIND, FreeFormLayouter);
28
32
  });
29
33
 
30
- export default layoutCommandsModule;
34
+ export default layoutModule;
@@ -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,18 +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 { Bounds, Dimension, Point } from '@eclipse-glsp/protocol';
16
17
  import { injectable } from 'inversify';
17
- import {
18
- Bounds,
19
- BoundsData,
20
- Dimension,
21
- isValidDimension,
22
- LayoutContainer,
23
- Point,
24
- SChildElement,
25
- SParentElement,
26
- StatefulLayouter
27
- } from 'sprotty';
18
+ import { BoundsData, LayoutContainer, SChildElement, SParentElement, StatefulLayouter } from 'sprotty';
28
19
  import { AbstractLayout } from 'sprotty/lib/features/bounds/abstract-layout';
29
20
  import { AbstractLayoutOptions } from 'sprotty/lib/features/bounds/layout-options';
30
21
 
@@ -35,7 +26,7 @@ import { AbstractLayoutOptions } from 'sprotty/lib/features/bounds/layout-option
35
26
  export class FreeFormLayouter extends AbstractLayout<AbstractLayoutOptions> {
36
27
  static KIND = 'freeform';
37
28
 
38
- layout(container: SParentElement & LayoutContainer, layouter: StatefulLayouter): void {
29
+ override layout(container: SParentElement & LayoutContainer, layouter: StatefulLayouter): void {
39
30
  const boundsData = layouter.getBoundsData(container);
40
31
  const options = this.getLayoutOptions(container);
41
32
  const childrenSize = this.getChildrenSize(container, options, layouter);
@@ -64,7 +55,7 @@ export class FreeFormLayouter extends AbstractLayout<AbstractLayoutOptions> {
64
55
  let maxY = 0;
65
56
  container.children.forEach(child => {
66
57
  const bounds = layouter.getBoundsData(child).bounds;
67
- if (bounds !== undefined && isValidDimension(bounds)) {
58
+ if (bounds !== undefined && Dimension.isValid(bounds)) {
68
59
  const childMaxX = bounds.x + bounds.width;
69
60
  const childMaxY = bounds.y + bounds.height;
70
61
  maxX = Math.max(maxX, childMaxX);
@@ -97,7 +88,7 @@ export class FreeFormLayouter extends AbstractLayout<AbstractLayoutOptions> {
97
88
  return currentOffset;
98
89
  }
99
90
 
100
- protected getFinalContainerBounds(
91
+ protected override getFinalContainerBounds(
101
92
  container: SParentElement & LayoutContainer,
102
93
  lastOffset: Point,
103
94
  options: AbstractLayoutOptions,