@eclipse-glsp/client 0.10.0-next.bb1c2fd.157 → 0.10.0-next.e5fcffe.169

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 (499) hide show
  1. package/css/glsp-sprotty.css +110 -8
  2. package/lib/base/action-dispatcher.d.ts +2 -1
  3. package/lib/base/action-dispatcher.d.ts.map +1 -1
  4. package/lib/base/action-dispatcher.js +13 -5
  5. package/lib/base/action-dispatcher.js.map +1 -1
  6. package/lib/base/actions/focus-change-action.d.ts +16 -7
  7. package/lib/base/actions/focus-change-action.d.ts.map +1 -1
  8. package/lib/base/actions/focus-change-action.js +31 -12
  9. package/lib/base/actions/focus-change-action.js.map +1 -1
  10. package/lib/base/actions/sprotty-actions.d.ts +7 -0
  11. package/lib/base/actions/sprotty-actions.d.ts.map +1 -0
  12. package/lib/{features/tool-palette/palette-item.js → base/actions/sprotty-actions.js} +4 -20
  13. package/lib/base/actions/sprotty-actions.js.map +1 -0
  14. package/lib/base/auto-complete/auto-complete-actions.d.ts +5 -3
  15. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  16. package/lib/base/auto-complete/auto-complete-actions.js +24 -5
  17. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  18. package/lib/base/auto-complete/auto-complete-widget.d.ts +9 -2
  19. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  20. package/lib/base/auto-complete/auto-complete-widget.js +16 -9
  21. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  22. package/lib/base/auto-complete/validation-decorator.js +2 -2
  23. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  24. package/lib/base/command-stack.d.ts.map +1 -1
  25. package/lib/base/command-stack.js +6 -5
  26. package/lib/base/command-stack.js.map +1 -1
  27. package/lib/base/di.config.d.ts +1 -1
  28. package/lib/base/di.config.d.ts.map +1 -1
  29. package/lib/base/di.config.js +13 -14
  30. package/lib/base/di.config.js.map +1 -1
  31. package/lib/base/drag-aware-mouse-listener.d.ts +1 -1
  32. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  33. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  34. package/lib/base/editor-context-service.d.ts +13 -1
  35. package/lib/base/editor-context-service.d.ts.map +1 -1
  36. package/lib/base/editor-context-service.js +23 -10
  37. package/lib/base/editor-context-service.js.map +1 -1
  38. package/lib/base/focus-tracker.d.ts +1 -1
  39. package/lib/base/focus-tracker.d.ts.map +1 -1
  40. package/lib/base/focus-tracker.js +4 -4
  41. package/lib/base/focus-tracker.js.map +1 -1
  42. package/lib/base/model/model-registry.d.ts.map +1 -1
  43. package/lib/base/model/model-registry.js +2 -2
  44. package/lib/base/model/model-registry.js.map +1 -1
  45. package/lib/base/model/update-model-command.d.ts +1 -1
  46. package/lib/base/model/update-model-command.d.ts.map +1 -1
  47. package/lib/base/model/update-model-command.js +15 -15
  48. package/lib/base/model/update-model-command.js.map +1 -1
  49. package/lib/base/model-initialization-constraint.d.ts +4 -5
  50. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  51. package/lib/base/model-initialization-constraint.js +11 -13
  52. package/lib/base/model-initialization-constraint.js.map +1 -1
  53. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  54. package/lib/base/selection-clearing-mouse-listener.js +1 -1
  55. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  56. package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
  57. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  58. package/lib/base/tool-manager/glsp-tool-manager.js +10 -10
  59. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  60. package/lib/base/tool-manager/tool-actions.d.ts +14 -0
  61. package/lib/base/tool-manager/tool-actions.d.ts.map +1 -0
  62. package/lib/base/tool-manager/tool-actions.js +25 -0
  63. package/lib/base/tool-manager/tool-actions.js.map +1 -0
  64. package/lib/base/types.d.ts +144 -20
  65. package/lib/base/types.d.ts.map +1 -1
  66. package/lib/base/types.js +14 -26
  67. package/lib/base/types.js.map +1 -1
  68. package/lib/base/view/view-registry.d.ts.map +1 -1
  69. package/lib/base/view/view-registry.js +2 -2
  70. package/lib/base/view/view-registry.js.map +1 -1
  71. package/lib/features/change-bounds/model.d.ts +1 -1
  72. package/lib/features/change-bounds/model.d.ts.map +1 -1
  73. package/lib/features/change-bounds/model.js +3 -3
  74. package/lib/features/change-bounds/model.js.map +1 -1
  75. package/lib/features/change-bounds/movement-restrictor.d.ts +1 -1
  76. package/lib/features/change-bounds/movement-restrictor.js +6 -6
  77. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  78. package/lib/features/change-bounds/snap.d.ts +42 -1
  79. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  80. package/lib/features/change-bounds/snap.js +78 -2
  81. package/lib/features/change-bounds/snap.js.map +1 -1
  82. package/lib/features/change-bounds/snap.spec.d.ts +17 -0
  83. package/lib/features/change-bounds/snap.spec.d.ts.map +1 -0
  84. package/lib/features/change-bounds/snap.spec.js +82 -0
  85. package/lib/features/change-bounds/snap.spec.js.map +1 -0
  86. package/lib/features/command-palette/command-palette-tool.js +3 -3
  87. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  88. package/lib/features/command-palette/di.config.d.ts +2 -2
  89. package/lib/features/command-palette/di.config.d.ts.map +1 -1
  90. package/lib/features/command-palette/di.config.js +6 -6
  91. package/lib/features/command-palette/di.config.js.map +1 -1
  92. package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -1
  93. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  94. package/lib/features/command-palette/server-command-palette-provider.js +13 -10
  95. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  96. package/lib/features/context-menu/delete-element-context-menu.d.ts +17 -1
  97. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  98. package/lib/features/context-menu/delete-element-context-menu.js +4 -4
  99. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  100. package/lib/features/context-menu/di.config.d.ts +1 -1
  101. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  102. package/lib/features/context-menu/di.config.js +8 -7
  103. package/lib/features/context-menu/di.config.js.map +1 -1
  104. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +17 -1
  105. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  106. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +8 -23
  107. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  108. package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -1
  109. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  110. package/lib/features/context-menu/server-context-menu-provider.js +8 -7
  111. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  112. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +12 -15
  113. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  114. package/lib/features/copy-paste/copy-paste-context-menu.js +26 -33
  115. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  116. package/lib/features/copy-paste/copy-paste-handler.d.ts +1 -1
  117. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  118. package/lib/features/copy-paste/copy-paste-handler.js +10 -11
  119. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  120. package/lib/features/copy-paste/di.config.d.ts +1 -1
  121. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  122. package/lib/features/copy-paste/di.config.js +5 -7
  123. package/lib/features/copy-paste/di.config.js.map +1 -1
  124. package/lib/features/decoration/decoration-placer.d.ts +1 -1
  125. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  126. package/lib/features/decoration/decoration-placer.js +19 -3
  127. package/lib/features/decoration/decoration-placer.js.map +1 -1
  128. package/lib/features/decoration/di.config.d.ts +2 -2
  129. package/lib/features/decoration/di.config.d.ts.map +1 -1
  130. package/lib/features/decoration/di.config.js +4 -4
  131. package/lib/features/decoration/di.config.js.map +1 -1
  132. package/lib/features/edit-label/di.config.d.ts +1 -1
  133. package/lib/features/edit-label/di.config.d.ts.map +1 -1
  134. package/lib/features/edit-label/di.config.js +5 -5
  135. package/lib/features/edit-label/di.config.js.map +1 -1
  136. package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
  137. package/lib/features/edit-label/edit-label-tool.js +2 -2
  138. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  139. package/lib/features/edit-label/edit-label-validator.d.ts +4 -6
  140. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  141. package/lib/features/edit-label/edit-label-validator.js +11 -13
  142. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  143. package/lib/features/hints/di.config.js +4 -4
  144. package/lib/features/hints/di.config.js.map +1 -1
  145. package/lib/features/hints/type-hints.d.ts +15 -5
  146. package/lib/features/hints/type-hints.d.ts.map +1 -1
  147. package/lib/features/hints/type-hints.js +29 -26
  148. package/lib/features/hints/type-hints.js.map +1 -1
  149. package/lib/features/hover/di.config.d.ts.map +1 -1
  150. package/lib/features/hover/di.config.js +11 -9
  151. package/lib/features/hover/di.config.js.map +1 -1
  152. package/lib/features/hover/hover.d.ts +4 -2
  153. package/lib/features/hover/hover.d.ts.map +1 -1
  154. package/lib/features/hover/hover.js +23 -5
  155. package/lib/features/hover/hover.js.map +1 -1
  156. package/lib/features/layout/di.config.d.ts +1 -1
  157. package/lib/features/layout/di.config.d.ts.map +1 -1
  158. package/lib/features/layout/di.config.js +6 -4
  159. package/lib/features/layout/di.config.js.map +1 -1
  160. package/lib/features/layout/freeform-layout.d.ts +17 -1
  161. package/lib/features/layout/freeform-layout.d.ts.map +1 -1
  162. package/lib/features/layout/freeform-layout.js +4 -4
  163. package/lib/features/layout/freeform-layout.js.map +1 -1
  164. package/lib/features/layout/hbox-layout.d.ts +41 -0
  165. package/lib/features/layout/hbox-layout.d.ts.map +1 -0
  166. package/lib/features/layout/hbox-layout.js +189 -0
  167. package/lib/features/layout/hbox-layout.js.map +1 -0
  168. package/lib/features/layout/layout-commands.d.ts +65 -38
  169. package/lib/features/layout/layout-commands.d.ts.map +1 -1
  170. package/lib/features/layout/layout-commands.js +90 -67
  171. package/lib/features/layout/layout-commands.js.map +1 -1
  172. package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
  173. package/lib/features/layout/layout-commands.spec.js +35 -23
  174. package/lib/features/layout/layout-commands.spec.js.map +1 -1
  175. package/lib/features/layout/vbox-layout.d.ts +17 -1
  176. package/lib/features/layout/vbox-layout.d.ts.map +1 -1
  177. package/lib/features/layout/vbox-layout.js +9 -8
  178. package/lib/features/layout/vbox-layout.js.map +1 -1
  179. package/lib/features/model-source-watcher/di.config.js +1 -1
  180. package/lib/features/model-source-watcher/di.config.js.map +1 -1
  181. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +1 -1
  182. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
  183. package/lib/features/model-source-watcher/model-source-changed-action-handler.js +11 -11
  184. package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
  185. package/lib/features/mouse-tool/di.config.d.ts +1 -1
  186. package/lib/features/mouse-tool/di.config.d.ts.map +1 -1
  187. package/lib/features/mouse-tool/di.config.js +2 -2
  188. package/lib/features/mouse-tool/di.config.js.map +1 -1
  189. package/lib/features/mouse-tool/mouse-tool.d.ts +9 -5
  190. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  191. package/lib/features/mouse-tool/mouse-tool.js +11 -53
  192. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  193. package/lib/features/navigation/di.config.js +4 -4
  194. package/lib/features/navigation/di.config.js.map +1 -1
  195. package/lib/features/navigation/navigation-action-handler.d.ts +31 -16
  196. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  197. package/lib/features/navigation/navigation-action-handler.js +52 -68
  198. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  199. package/lib/features/navigation/navigation-target-resolver.d.ts +3 -3
  200. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  201. package/lib/features/navigation/navigation-target-resolver.js +8 -9
  202. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  203. package/lib/features/navigation/navigation-target-resolver.spec.js +12 -12
  204. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  205. package/lib/features/reconnect/model.d.ts +1 -1
  206. package/lib/features/reconnect/model.d.ts.map +1 -1
  207. package/lib/features/reconnect/model.js +1 -1
  208. package/lib/features/reconnect/model.js.map +1 -1
  209. package/lib/features/save/di.config.d.ts +1 -1
  210. package/lib/features/save/di.config.d.ts.map +1 -1
  211. package/lib/features/save/di.config.js +3 -3
  212. package/lib/features/save/di.config.js.map +1 -1
  213. package/lib/features/save/save-keylistener.d.ts +1 -1
  214. package/lib/features/save/save-keylistener.d.ts.map +1 -1
  215. package/lib/features/save/save-keylistener.js +3 -3
  216. package/lib/features/save/save-keylistener.js.map +1 -1
  217. package/lib/features/select/di.config.d.ts +1 -1
  218. package/lib/features/select/di.config.d.ts.map +1 -1
  219. package/lib/features/select/di.config.js +7 -8
  220. package/lib/features/select/di.config.js.map +1 -1
  221. package/lib/features/select/select-feedback-action.d.ts +26 -22
  222. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  223. package/lib/features/select/select-feedback-action.js +19 -46
  224. package/lib/features/select/select-feedback-action.js.map +1 -1
  225. package/lib/features/select/select-mouse-listener.d.ts +1 -1
  226. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  227. package/lib/features/select/select-mouse-listener.js +1 -1
  228. package/lib/features/select/select-mouse-listener.js.map +1 -1
  229. package/lib/features/select/selection-service.d.ts +3 -3
  230. package/lib/features/select/selection-service.d.ts.map +1 -1
  231. package/lib/features/select/selection-service.js +28 -23
  232. package/lib/features/select/selection-service.js.map +1 -1
  233. package/lib/features/select/selection-service.spec.js +28 -25
  234. package/lib/features/select/selection-service.spec.js.map +1 -1
  235. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +17 -9
  236. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  237. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +67 -37
  238. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  239. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +23 -11
  240. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  241. package/lib/features/tool-feedback/creation-tool-feedback.js +62 -35
  242. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  243. package/lib/features/tool-feedback/css-feedback.d.ts +17 -10
  244. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  245. package/lib/features/tool-feedback/css-feedback.js +42 -38
  246. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  247. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  248. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  249. package/lib/features/tool-feedback/di.config.js +18 -18
  250. package/lib/features/tool-feedback/di.config.js.map +1 -1
  251. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +44 -22
  252. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  253. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +140 -114
  254. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  255. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +2 -2
  256. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  257. package/lib/features/tool-feedback/feedback-action-dispatcher.js +4 -4
  258. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  259. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +21 -10
  260. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  261. package/lib/features/tool-feedback/marquee-tool-feedback.js +44 -18
  262. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  263. package/lib/features/tool-feedback/model.d.ts +1 -2
  264. package/lib/features/tool-feedback/model.d.ts.map +1 -1
  265. package/lib/features/tool-feedback/model.js +1 -1
  266. package/lib/features/tool-feedback/model.js.map +1 -1
  267. package/lib/features/tool-feedback/view.d.ts +1 -1
  268. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  269. package/lib/features/tool-feedback/view.js +22 -5
  270. package/lib/features/tool-feedback/view.js.map +1 -1
  271. package/lib/features/tool-palette/di.config.d.ts +1 -1
  272. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  273. package/lib/features/tool-palette/di.config.js +5 -4
  274. package/lib/features/tool-palette/di.config.js.map +1 -1
  275. package/lib/features/tool-palette/tool-palette.d.ts +10 -7
  276. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  277. package/lib/features/tool-palette/tool-palette.js +39 -32
  278. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  279. package/lib/features/tools/base-glsp-tool.d.ts +3 -3
  280. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  281. package/lib/features/tools/base-glsp-tool.js +11 -11
  282. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  283. package/lib/features/tools/change-bounds-tool.d.ts +7 -9
  284. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  285. package/lib/features/tools/change-bounds-tool.js +48 -71
  286. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  287. package/lib/features/tools/delete-tool.d.ts +1 -1
  288. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  289. package/lib/features/tools/delete-tool.js +17 -17
  290. package/lib/features/tools/delete-tool.js.map +1 -1
  291. package/lib/features/tools/di.config.js +12 -12
  292. package/lib/features/tools/di.config.js.map +1 -1
  293. package/lib/features/tools/edge-creation-tool.d.ts +1 -1
  294. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  295. package/lib/features/tools/edge-creation-tool.js +28 -21
  296. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  297. package/lib/features/tools/edge-edit-tool.d.ts +3 -2
  298. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  299. package/lib/features/tools/edge-edit-tool.js +41 -36
  300. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  301. package/lib/features/tools/marquee-behavior.d.ts +1 -1
  302. package/lib/features/tools/marquee-behavior.js +2 -2
  303. package/lib/features/tools/marquee-behavior.js.map +1 -1
  304. package/lib/features/tools/marquee-behavior.spec.js +63 -63
  305. package/lib/features/tools/marquee-behavior.spec.js.map +1 -1
  306. package/lib/features/tools/marquee-mouse-tool.d.ts +1 -1
  307. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  308. package/lib/features/tools/marquee-mouse-tool.js +20 -20
  309. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  310. package/lib/features/tools/marquee-tool.d.ts +1 -1
  311. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  312. package/lib/features/tools/marquee-tool.js +4 -4
  313. package/lib/features/tools/marquee-tool.js.map +1 -1
  314. package/lib/features/tools/model.d.ts +3 -2
  315. package/lib/features/tools/model.d.ts.map +1 -1
  316. package/lib/features/tools/model.js +0 -15
  317. package/lib/features/tools/model.js.map +1 -1
  318. package/lib/features/tools/node-creation-tool.d.ts +1 -1
  319. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  320. package/lib/features/tools/node-creation-tool.js +17 -17
  321. package/lib/features/tools/node-creation-tool.js.map +1 -1
  322. package/lib/features/tools/view.d.ts.map +1 -1
  323. package/lib/features/tools/view.js +2 -2
  324. package/lib/features/tools/view.js.map +1 -1
  325. package/lib/features/validation/di.config.d.ts +1 -1
  326. package/lib/features/validation/di.config.d.ts.map +1 -1
  327. package/lib/features/validation/di.config.js +7 -7
  328. package/lib/features/validation/di.config.js.map +1 -1
  329. package/lib/features/validation/marker-navigator.d.ts +16 -8
  330. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  331. package/lib/features/validation/marker-navigator.js +39 -37
  332. package/lib/features/validation/marker-navigator.js.map +1 -1
  333. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  334. package/lib/features/validation/marker-navigator.spec.js +23 -37
  335. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  336. package/lib/features/validation/validate.d.ts +10 -12
  337. package/lib/features/validation/validate.d.ts.map +1 -1
  338. package/lib/features/validation/validate.js +42 -41
  339. package/lib/features/validation/validate.js.map +1 -1
  340. package/lib/features/viewport/di.config.d.ts +1 -1
  341. package/lib/features/viewport/di.config.d.ts.map +1 -1
  342. package/lib/features/viewport/di.config.js +7 -7
  343. package/lib/features/viewport/di.config.js.map +1 -1
  344. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -1
  345. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  346. package/lib/features/viewport/glsp-scroll-mouse-listener.js +3 -3
  347. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  348. package/lib/index.d.ts +4 -5
  349. package/lib/index.d.ts.map +1 -1
  350. package/lib/index.js +11 -8
  351. package/lib/index.js.map +1 -1
  352. package/lib/lib/model.d.ts +3 -2
  353. package/lib/lib/model.d.ts.map +1 -1
  354. package/lib/lib/model.js +0 -15
  355. package/lib/lib/model.js.map +1 -1
  356. package/lib/model-source/glsp-diagram-server.d.ts +5 -5
  357. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  358. package/lib/model-source/glsp-diagram-server.js +7 -6
  359. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  360. package/lib/sprotty-reexport.d.ts +174 -0
  361. package/lib/sprotty-reexport.d.ts.map +1 -0
  362. package/lib/sprotty-reexport.js +299 -0
  363. package/lib/sprotty-reexport.js.map +1 -0
  364. package/lib/utils/argument-utils.js +5 -5
  365. package/lib/utils/argument-utils.js.map +1 -1
  366. package/lib/utils/layout-utils.d.ts +3 -3
  367. package/lib/utils/layout-utils.d.ts.map +1 -1
  368. package/lib/utils/smodel-util.d.ts +117 -11
  369. package/lib/utils/smodel-util.d.ts.map +1 -1
  370. package/lib/utils/smodel-util.js +142 -37
  371. package/lib/utils/smodel-util.js.map +1 -1
  372. package/lib/utils/viewpoint-util.d.ts +3 -3
  373. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  374. package/lib/utils/viewpoint-util.js +19 -3
  375. package/lib/utils/viewpoint-util.js.map +1 -1
  376. package/lib/views/base-view-module.js +19 -19
  377. package/lib/views/base-view-module.js.map +1 -1
  378. package/lib/views/compartments.js +1 -1
  379. package/lib/views/compartments.js.map +1 -1
  380. package/lib/views/glsp-edge-view.d.ts +1 -1
  381. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  382. package/lib/views/glsp-edge-view.js +1 -1
  383. package/lib/views/glsp-edge-view.js.map +1 -1
  384. package/lib/views/index.js +6 -2
  385. package/lib/views/index.js.map +1 -1
  386. package/lib/views/issue-marker-view.d.ts.map +1 -1
  387. package/lib/views/issue-marker-view.js +3 -3
  388. package/lib/views/issue-marker-view.js.map +1 -1
  389. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  390. package/lib/views/rounded-corner-view.js +2 -2
  391. package/lib/views/rounded-corner-view.js.map +1 -1
  392. package/package.json +8 -18
  393. package/src/base/action-dispatcher.ts +17 -8
  394. package/src/base/actions/focus-change-action.ts +25 -8
  395. package/{lib/features/tool-palette/palette-item.d.ts → src/base/actions/sprotty-actions.ts} +11 -11
  396. package/src/base/auto-complete/auto-complete-actions.ts +7 -5
  397. package/src/base/auto-complete/auto-complete-widget.ts +15 -13
  398. package/src/base/command-stack.ts +7 -6
  399. package/src/base/di.config.ts +4 -5
  400. package/src/base/drag-aware-mouse-listener.ts +4 -4
  401. package/src/base/editor-context-service.ts +19 -7
  402. package/src/base/focus-tracker.ts +5 -4
  403. package/src/base/model/model-registry.ts +2 -2
  404. package/src/base/model/update-model-command.ts +9 -10
  405. package/src/base/model-initialization-constraint.ts +9 -11
  406. package/src/base/selection-clearing-mouse-listener.ts +1 -1
  407. package/src/base/tool-manager/glsp-tool-manager.ts +9 -9
  408. package/src/base/tool-manager/tool-actions.ts +37 -0
  409. package/src/base/types.ts +31 -24
  410. package/src/base/view/view-registry.ts +2 -2
  411. package/src/features/change-bounds/model.ts +5 -5
  412. package/src/features/change-bounds/movement-restrictor.ts +3 -3
  413. package/src/features/change-bounds/snap.spec.ts +89 -0
  414. package/src/features/change-bounds/snap.ts +86 -2
  415. package/src/features/command-palette/di.config.ts +5 -7
  416. package/src/features/command-palette/server-command-palette-provider.ts +9 -8
  417. package/src/features/context-menu/delete-element-context-menu.ts +6 -6
  418. package/src/features/context-menu/di.config.ts +3 -2
  419. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +6 -7
  420. package/src/features/context-menu/server-context-menu-provider.ts +7 -6
  421. package/src/features/copy-paste/copy-paste-context-menu.ts +30 -23
  422. package/src/features/copy-paste/copy-paste-handler.ts +6 -6
  423. package/src/features/copy-paste/di.config.ts +7 -15
  424. package/src/features/decoration/decoration-placer.ts +4 -4
  425. package/src/features/decoration/di.config.ts +3 -5
  426. package/src/features/edit-label/di.config.ts +4 -5
  427. package/src/features/edit-label/edit-label-tool.ts +1 -2
  428. package/src/features/edit-label/edit-label-validator.ts +6 -10
  429. package/src/features/hints/di.config.ts +3 -3
  430. package/src/features/hints/type-hints.ts +33 -18
  431. package/src/features/hover/di.config.ts +4 -0
  432. package/src/features/hover/hover.ts +30 -12
  433. package/src/features/layout/di.config.ts +4 -2
  434. package/src/features/layout/freeform-layout.ts +6 -15
  435. package/src/features/layout/hbox-layout.ts +256 -0
  436. package/src/features/layout/layout-commands.spec.ts +38 -22
  437. package/src/features/layout/layout-commands.ts +134 -60
  438. package/src/features/layout/vbox-layout.ts +20 -20
  439. package/src/features/model-source-watcher/model-source-changed-action-handler.ts +7 -12
  440. package/src/features/mouse-tool/di.config.ts +3 -4
  441. package/src/features/mouse-tool/mouse-tool.ts +18 -59
  442. package/src/features/navigation/navigation-action-handler.ts +76 -42
  443. package/src/features/navigation/navigation-target-resolver.spec.ts +3 -3
  444. package/src/features/navigation/navigation-target-resolver.ts +8 -13
  445. package/src/features/reconnect/model.ts +2 -2
  446. package/src/features/save/di.config.ts +2 -3
  447. package/src/features/save/save-keylistener.ts +3 -3
  448. package/src/features/select/di.config.ts +6 -8
  449. package/src/features/select/select-feedback-action.ts +18 -46
  450. package/src/features/select/select-mouse-listener.ts +1 -2
  451. package/src/features/select/selection-service.spec.ts +11 -8
  452. package/src/features/select/selection-service.ts +17 -12
  453. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +51 -21
  454. package/src/features/tool-feedback/creation-tool-feedback.ts +52 -31
  455. package/src/features/tool-feedback/css-feedback.ts +40 -37
  456. package/src/features/tool-feedback/di.config.ts +4 -5
  457. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +132 -88
  458. package/src/features/tool-feedback/feedback-action-dispatcher.ts +4 -3
  459. package/src/features/tool-feedback/marquee-tool-feedback.ts +38 -13
  460. package/src/features/tool-feedback/model.ts +1 -3
  461. package/src/features/tool-feedback/view.tsx +3 -3
  462. package/src/features/tool-palette/di.config.ts +3 -2
  463. package/src/features/tool-palette/tool-palette.ts +35 -19
  464. package/src/features/tools/base-glsp-tool.ts +11 -11
  465. package/src/features/tools/change-bounds-tool.ts +37 -67
  466. package/src/features/tools/delete-tool.ts +9 -9
  467. package/src/features/tools/di.config.ts +10 -10
  468. package/src/features/tools/edge-creation-tool.ts +21 -12
  469. package/src/features/tools/edge-edit-tool.ts +25 -21
  470. package/src/features/tools/marquee-behavior.ts +2 -2
  471. package/src/features/tools/marquee-mouse-tool.ts +13 -14
  472. package/src/features/tools/marquee-tool.ts +3 -3
  473. package/src/features/tools/model.ts +4 -3
  474. package/src/features/tools/node-creation-tool.ts +8 -8
  475. package/src/features/tools/view.tsx +2 -3
  476. package/src/features/validation/di.config.ts +4 -5
  477. package/src/features/validation/marker-navigator.spec.ts +4 -2
  478. package/src/features/validation/marker-navigator.ts +47 -25
  479. package/src/features/validation/validate.ts +31 -24
  480. package/src/features/viewport/di.config.ts +1 -2
  481. package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
  482. package/src/index.ts +4 -5
  483. package/src/lib/model.ts +4 -4
  484. package/src/model-source/glsp-diagram-server.ts +14 -14
  485. package/src/sprotty-reexport.ts +283 -0
  486. package/src/utils/layout-utils.ts +3 -3
  487. package/src/utils/smodel-util.ts +139 -43
  488. package/src/utils/viewpoint-util.ts +5 -14
  489. package/src/views/glsp-edge-view.tsx +4 -4
  490. package/src/views/issue-marker-view.tsx +2 -2
  491. package/src/views/rounded-corner-view.tsx +2 -3
  492. package/lib/features/tool-palette/palette-item.d.ts.map +0 -1
  493. package/lib/features/tool-palette/palette-item.js.map +0 -1
  494. package/lib/protocol-reexport.d.ts +0 -45
  495. package/lib/protocol-reexport.d.ts.map +0 -1
  496. package/lib/protocol-reexport.js +0 -75
  497. package/lib/protocol-reexport.js.map +0 -1
  498. package/src/features/tool-palette/palette-item.ts +0 -38
  499. 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,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,
@@ -0,0 +1,256 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2021-2022 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { Bounds, Dimension, Point } from '@eclipse-glsp/protocol';
17
+ import { injectable } from 'inversify';
18
+ import {
19
+ BoundsData,
20
+ isBoundsAware,
21
+ isLayoutableChild,
22
+ LayoutContainer,
23
+ SChildElement,
24
+ SModelElement,
25
+ SParentElement,
26
+ StatefulLayouter,
27
+ HBoxLayouter,
28
+ HBoxLayoutOptions
29
+ } from 'sprotty';
30
+
31
+ export interface HBoxLayoutOptionsExt extends HBoxLayoutOptions {
32
+ hGrab: boolean;
33
+ vGrab: boolean;
34
+ prefWidth: number | null;
35
+ prefHeight: number | null;
36
+ }
37
+
38
+ /**
39
+ * Extends HBoxLayouter to support additional layout options
40
+ */
41
+ @injectable()
42
+ export class HBoxLayouterExt extends HBoxLayouter {
43
+ static override KIND = HBoxLayouter.KIND;
44
+
45
+ override layout(container: SParentElement & LayoutContainer, layouter: StatefulLayouter): void {
46
+ const boundsData = layouter.getBoundsData(container);
47
+ const options = this.getLayoutOptions(container);
48
+ const childrenSize = this.getChildrenSize(container, options, layouter);
49
+
50
+ const fixedSize = this.getFixedContainerBounds(container, options, layouter);
51
+
52
+ const maxWidth =
53
+ options.paddingFactor *
54
+ (options.resizeContainer
55
+ ? Math.max(fixedSize.width - options.paddingLeft - options.paddingRight, childrenSize.width)
56
+ : Math.max(0, fixedSize.width - options.paddingLeft - options.paddingRight));
57
+ const maxHeight =
58
+ options.paddingFactor *
59
+ (options.resizeContainer
60
+ ? Math.max(fixedSize.height - options.paddingTop - options.paddingBottom, childrenSize.height)
61
+ : Math.max(0, fixedSize.height - options.paddingTop - options.paddingBottom));
62
+
63
+ // Remaining size that can be grabbed by children with the hGrab option
64
+ const grabWidth: number = maxWidth - childrenSize.width;
65
+ // Number of children that request hGrab
66
+ // FIXME: This approach works fine when only 1 child uses HGrab, but may cause rounding issues
67
+ // when the grabHeight can't be equally shared by all children.
68
+ const grabbingChildren = container.children
69
+ .map(child => this.getChildLayoutOptions(child, options))
70
+ .filter(opt => opt.hGrab).length;
71
+
72
+ if (maxWidth > 0 && maxHeight > 0) {
73
+ const offset = this.layoutChildren(container, layouter, options, maxWidth, maxHeight, grabWidth, grabbingChildren);
74
+ boundsData.bounds = this.getFinalContainerBounds(container, offset, options, childrenSize.width, childrenSize.height);
75
+ boundsData.boundsChanged = true;
76
+ }
77
+ }
78
+
79
+ protected override getChildrenSize(
80
+ container: SParentElement & LayoutContainer,
81
+ containerOptions: HBoxLayoutOptionsExt,
82
+ layouter: StatefulLayouter
83
+ ): Dimension {
84
+ let maxWidth = 0;
85
+ let maxHeight = -1;
86
+ let isFirst = true;
87
+ container.children.forEach(child => {
88
+ if (isLayoutableChild(child)) {
89
+ const bounds = layouter.getBoundsData(child).bounds;
90
+ if (bounds !== undefined && Dimension.isValid(bounds)) {
91
+ maxWidth += bounds.width;
92
+ if (isFirst) {
93
+ isFirst = false;
94
+ } else {
95
+ maxWidth += containerOptions.hGap;
96
+ }
97
+ maxHeight = Math.max(maxHeight, bounds.height);
98
+ }
99
+ }
100
+ });
101
+ const result = {
102
+ width: maxWidth,
103
+ height: maxHeight
104
+ };
105
+ return result;
106
+ }
107
+
108
+ protected override layoutChildren(
109
+ container: SParentElement & LayoutContainer,
110
+ layouter: StatefulLayouter,
111
+ containerOptions: HBoxLayoutOptionsExt,
112
+ maxWidth: number,
113
+ maxHeight: number,
114
+ grabWidth?: number,
115
+ grabbingChildren?: number
116
+ ): Point {
117
+ let currentOffset: Point = {
118
+ x: containerOptions.paddingLeft + 0.5 * (maxWidth - maxWidth / containerOptions.paddingFactor),
119
+ y: containerOptions.paddingTop + 0.5 * (maxHeight - maxHeight / containerOptions.paddingFactor)
120
+ };
121
+
122
+ container.children.forEach(child => {
123
+ if (isLayoutableChild(child)) {
124
+ const boundsData = layouter.getBoundsData(child);
125
+ const bounds = boundsData.bounds;
126
+ const childOptions = this.getChildLayoutOptions(child, containerOptions);
127
+ if (bounds !== undefined && Dimension.isValid(bounds)) {
128
+ currentOffset = this.layoutChild(
129
+ child,
130
+ boundsData,
131
+ bounds,
132
+ childOptions,
133
+ containerOptions,
134
+ currentOffset,
135
+ maxWidth,
136
+ maxHeight,
137
+ grabWidth,
138
+ grabbingChildren
139
+ );
140
+ }
141
+ }
142
+ });
143
+ return currentOffset;
144
+ }
145
+
146
+ protected override layoutChild(
147
+ child: SChildElement,
148
+ boundsData: BoundsData,
149
+ bounds: Bounds,
150
+ childOptions: HBoxLayoutOptionsExt,
151
+ containerOptions: HBoxLayoutOptionsExt,
152
+ currentOffset: Point,
153
+ maxWidth: number,
154
+ maxHeight: number,
155
+ grabWidth?: number,
156
+ grabbingChildren?: number
157
+ ): Point {
158
+ let offset = super.layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight);
159
+ if (childOptions.hGrab) {
160
+ boundsData.bounds = {
161
+ x: boundsData.bounds!.x,
162
+ y: boundsData.bounds!.y,
163
+ width: boundsData.bounds!.width,
164
+ height: maxHeight
165
+ };
166
+ boundsData.boundsChanged = true;
167
+ }
168
+ if (childOptions.hGrab && grabWidth && grabbingChildren) {
169
+ const width = boundsData.bounds!.width + grabWidth / grabbingChildren;
170
+ boundsData.bounds = {
171
+ x: boundsData.bounds!.x,
172
+ y: boundsData.bounds!.y,
173
+ width: width,
174
+ height: boundsData.bounds!.height
175
+ };
176
+ boundsData.boundsChanged = true;
177
+ offset = { x: currentOffset.x + width, y: currentOffset.y };
178
+ }
179
+ return offset;
180
+ }
181
+
182
+ protected override getFixedContainerBounds(
183
+ container: SModelElement,
184
+ layoutOptions: HBoxLayoutOptionsExt,
185
+ layouter: StatefulLayouter
186
+ ): Bounds {
187
+ const currentContainer = container;
188
+ // eslint-disable-next-line no-constant-condition
189
+ if (isBoundsAware(currentContainer)) {
190
+ const bounds = currentContainer.bounds;
191
+ const elementOptions = this.getElementLayoutOptions(currentContainer);
192
+ const width = elementOptions?.prefWidth ?? 0;
193
+ const height = elementOptions?.prefHeight ?? 0;
194
+ return { ...bounds, width, height };
195
+ }
196
+ return Bounds.EMPTY;
197
+ }
198
+
199
+ protected override getChildLayoutOptions(child: SChildElement, containerOptions: HBoxLayoutOptionsExt): HBoxLayoutOptionsExt {
200
+ return super.getChildLayoutOptions(child, containerOptions) as HBoxLayoutOptionsExt;
201
+ }
202
+
203
+ protected override getLayoutOptions(element: SModelElement): HBoxLayoutOptionsExt {
204
+ return super.getLayoutOptions(element) as HBoxLayoutOptionsExt;
205
+ }
206
+
207
+ protected getElementLayoutOptions(element: SModelElement): HBoxLayoutOptionsExt | undefined {
208
+ return (element as any).layoutOptions;
209
+ }
210
+
211
+ protected override getFinalContainerBounds(
212
+ container: SParentElement & LayoutContainer,
213
+ lastOffset: Point,
214
+ options: HBoxLayoutOptionsExt,
215
+ maxWidth: number,
216
+ maxHeight: number
217
+ ): Bounds {
218
+ const elementOptions = this.getElementLayoutOptions(container);
219
+ const width = elementOptions?.prefWidth ?? options.minWidth;
220
+ const height = elementOptions?.prefHeight ?? options.minHeight;
221
+
222
+ const result = {
223
+ x: container.bounds.x,
224
+ y: container.bounds.y,
225
+ width: Math.max(width, maxWidth + options.paddingLeft + options.paddingRight),
226
+ height: Math.max(height, maxHeight + options.paddingTop + options.paddingBottom)
227
+ };
228
+
229
+ return result;
230
+ }
231
+
232
+ protected override getDefaultLayoutOptions(): HBoxLayoutOptionsExt {
233
+ return {
234
+ resizeContainer: true,
235
+ paddingTop: 5,
236
+ paddingBottom: 5,
237
+ paddingLeft: 5,
238
+ paddingRight: 5,
239
+ paddingFactor: 1,
240
+ hGap: 1,
241
+ vAlign: 'center',
242
+ minWidth: 0,
243
+ minHeight: 0,
244
+ hGrab: false,
245
+ vGrab: false,
246
+ // eslint-disable-next-line no-null/no-null
247
+ prefHeight: null,
248
+ // eslint-disable-next-line no-null/no-null
249
+ prefWidth: null
250
+ };
251
+ }
252
+
253
+ protected override spread(a: HBoxLayoutOptionsExt, b: HBoxLayoutOptionsExt): HBoxLayoutOptionsExt {
254
+ return { ...a, ...b };
255
+ }
256
+ }
@@ -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,8 +13,16 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- /* eslint-disable import/no-deprecated,no-unused-expressions */
17
- import { Action, Bounds, ChangeBoundsOperation, ElementAndBounds } from '@eclipse-glsp/protocol';
16
+ /* eslint-disable deprecation/deprecation */
17
+ import {
18
+ Action,
19
+ Bounds,
20
+ ChangeBoundsOperation,
21
+ ElementAndBounds,
22
+ RequestAction,
23
+ ResponseAction,
24
+ SetBoundsAction
25
+ } from '@eclipse-glsp/protocol';
18
26
  import { expect } from 'chai';
19
27
  import { Container } from 'inversify';
20
28
  import 'mocha';
@@ -29,16 +37,12 @@ import {
29
37
  IActionDispatcher,
30
38
  MoveAction,
31
39
  MoveCommand,
32
- RequestAction,
33
- ResponseAction,
34
40
  SChildElement,
35
- SetBoundsAction,
36
41
  SetBoundsCommand,
37
42
  SGraphFactory,
38
- SModelRoot,
39
- TYPES
43
+ SModelRoot
40
44
  } from 'sprotty';
41
- import { GLSP_TYPES } from '../../base/types';
45
+ import { TYPES } from '../../base/types';
42
46
  import { resizeFeature } from '../change-bounds/model';
43
47
  import { SelectionService } from '../select/selection-service';
44
48
  import { FeedbackActionDispatcher } from '../tool-feedback/feedback-action-dispatcher';
@@ -69,12 +73,12 @@ class MockActionDispatcher implements IActionDispatcher {
69
73
 
70
74
  const container = new Container();
71
75
  container.load(defaultModule);
72
- container.bind(GLSP_TYPES.IFeedbackActionDispatcher).to(FeedbackActionDispatcher).inSingletonScope();
76
+ container.bind(TYPES.IFeedbackActionDispatcher).to(FeedbackActionDispatcher).inSingletonScope();
73
77
  container.bind(SelectionService).toSelf().inSingletonScope();
74
- container.bind(GLSP_TYPES.SelectionService).toService(SelectionService);
78
+ container.bind(TYPES.SelectionService).toService(SelectionService);
75
79
  container.rebind(TYPES.IModelFactory).to(SGraphFactory).inSingletonScope();
76
80
  const graphFactory = container.get<SGraphFactory>(TYPES.IModelFactory);
77
- const selectionService = container.get<SelectionService>(GLSP_TYPES.SelectionService);
81
+ const selectionService = container.get<SelectionService>(TYPES.SelectionService);
78
82
 
79
83
  const actionDispatcher = new MockActionDispatcher();
80
84
 
@@ -128,7 +132,7 @@ describe('AlignElementsCommand', () => {
128
132
  { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
129
133
  { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
130
134
  ]);
131
- const action = new AlignElementsAction(['node1', 'node2', 'node3'], Alignment.Left);
135
+ const action = AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: Alignment.Left });
132
136
  const command = new AlignElementsCommand(action, actionDispatcher, selectionService);
133
137
  command.execute(newContext(newModel));
134
138
 
@@ -148,7 +152,7 @@ describe('AlignElementsCommand', () => {
148
152
  { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
149
153
  { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
150
154
  ]);
151
- const action = new AlignElementsAction(['node1', 'node2', 'node3'], Alignment.Right);
155
+ const action = AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: Alignment.Right });
152
156
  const command = new AlignElementsCommand(action, actionDispatcher, selectionService);
153
157
  command.execute(newContext(newModel));
154
158
 
@@ -168,7 +172,7 @@ describe('AlignElementsCommand', () => {
168
172
  { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
169
173
  { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
170
174
  ]);
171
- const action = new AlignElementsAction(['node1', 'node2', 'node3'], Alignment.Center);
175
+ const action = AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: Alignment.Center });
172
176
  const command = new AlignElementsCommand(action, actionDispatcher, selectionService);
173
177
  command.execute(newContext(newModel));
174
178
 
@@ -188,7 +192,7 @@ describe('AlignElementsCommand', () => {
188
192
  { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
189
193
  { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
190
194
  ]);
191
- const action = new AlignElementsAction(['node1', 'node2', 'node3'], Alignment.Top);
195
+ const action = AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: Alignment.Top });
192
196
  const command = new AlignElementsCommand(action, actionDispatcher, selectionService);
193
197
  command.execute(newContext(newModel));
194
198
 
@@ -208,7 +212,7 @@ describe('AlignElementsCommand', () => {
208
212
  { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
209
213
  { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
210
214
  ]);
211
- const action = new AlignElementsAction(['node1', 'node2', 'node3'], Alignment.Bottom);
215
+ const action = AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: Alignment.Bottom });
212
216
  const command = new AlignElementsCommand(action, actionDispatcher, selectionService);
213
217
  command.execute(newContext(newModel));
214
218
 
@@ -228,7 +232,7 @@ describe('AlignElementsCommand', () => {
228
232
  { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
229
233
  { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
230
234
  ]);
231
- const action = new AlignElementsAction(['node1', 'node2', 'node3'], Alignment.Middle);
235
+ const action = AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: Alignment.Middle });
232
236
  const command = new AlignElementsCommand(action, actionDispatcher, selectionService);
233
237
  command.execute(newContext(newModel));
234
238
 
@@ -250,7 +254,11 @@ describe('ResizeElementsCommand', () => {
250
254
  { elementId: 'node2', newPosition: { x: 100, y: 200 }, newSize: { height: 20, width: 20 } },
251
255
  { elementId: 'node3', newPosition: { x: 100, y: 300 }, newSize: { height: 30, width: 30 } }
252
256
  ]);
253
- const action = new ResizeElementsAction(['node1', 'node2', 'node3'], ResizeDimension.Width, Reduce.last);
257
+ const action = ResizeElementsAction.create({
258
+ elementIds: ['node1', 'node2', 'node3'],
259
+ dimension: ResizeDimension.Width,
260
+ reductionFunction: Reduce.last
261
+ });
254
262
  const command = new ResizeElementsCommand(action, actionDispatcher, selectionService);
255
263
  command.execute(newContext(newModel));
256
264
 
@@ -271,7 +279,11 @@ describe('ResizeElementsCommand', () => {
271
279
  { elementId: 'node2', newPosition: { x: 100, y: 200 }, newSize: { height: 20, width: 20 } },
272
280
  { elementId: 'node3', newPosition: { x: 100, y: 300 }, newSize: { height: 30, width: 30 } }
273
281
  ]);
274
- const action = new ResizeElementsAction(['node1', 'node2', 'node3'], ResizeDimension.Height, Reduce.last);
282
+ const action = ResizeElementsAction.create({
283
+ elementIds: ['node1', 'node2', 'node3'],
284
+ dimension: ResizeDimension.Height,
285
+ reductionFunction: Reduce.last
286
+ });
275
287
  const command = new ResizeElementsCommand(action, actionDispatcher, selectionService);
276
288
  command.execute(newContext(newModel));
277
289
 
@@ -292,7 +304,11 @@ describe('ResizeElementsCommand', () => {
292
304
  { elementId: 'node2', newPosition: { x: 100, y: 200 }, newSize: { height: 20, width: 20 } },
293
305
  { elementId: 'node3', newPosition: { x: 100, y: 300 }, newSize: { height: 30, width: 30 } }
294
306
  ]);
295
- const action = new ResizeElementsAction(['node1', 'node2', 'node3'], ResizeDimension.Width_And_Height, Reduce.last);
307
+ const action = ResizeElementsAction.create({
308
+ elementIds: ['node1', 'node2', 'node3'],
309
+ dimension: ResizeDimension.Width_And_Height,
310
+ reductionFunction: Reduce.last
311
+ });
296
312
  const command = new ResizeElementsCommand(action, actionDispatcher, selectionService);
297
313
  command.execute(newContext(newModel));
298
314
 
@@ -308,7 +324,7 @@ describe('ResizeElementsCommand', () => {
308
324
  });
309
325
 
310
326
  function initModel(elementAndBounds: ElementAndBounds[]): SModelRoot {
311
- const mySetBoundsAction = new SetBoundsAction(elementAndBounds);
327
+ const mySetBoundsAction = SetBoundsAction.create(elementAndBounds);
312
328
  const setBoundsCommand = new SetBoundsCommand(mySetBoundsAction);
313
329
  return setBoundsCommand.execute(context) as SModelRoot;
314
330
  }