@eclipse-glsp/client 0.10.0-next.6bee8eb.163 → 0.10.0-next.88e4725.166

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 (408) hide show
  1. package/lib/base/action-dispatcher.d.ts +1 -0
  2. package/lib/base/action-dispatcher.d.ts.map +1 -1
  3. package/lib/base/action-dispatcher.js +11 -3
  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 +2 -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 +4 -4
  20. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  21. package/lib/base/command-stack.d.ts.map +1 -1
  22. package/lib/base/command-stack.js +4 -3
  23. package/lib/base/command-stack.js.map +1 -1
  24. package/lib/base/di.config.d.ts +1 -1
  25. package/lib/base/di.config.d.ts.map +1 -1
  26. package/lib/base/di.config.js +9 -10
  27. package/lib/base/di.config.js.map +1 -1
  28. package/lib/base/editor-context-service.d.ts +1 -1
  29. package/lib/base/editor-context-service.d.ts.map +1 -1
  30. package/lib/base/editor-context-service.js +5 -5
  31. package/lib/base/editor-context-service.js.map +1 -1
  32. package/lib/base/focus-tracker.d.ts +1 -1
  33. package/lib/base/focus-tracker.d.ts.map +1 -1
  34. package/lib/base/focus-tracker.js +3 -3
  35. package/lib/base/focus-tracker.js.map +1 -1
  36. package/lib/base/model/update-model-command.d.ts.map +1 -1
  37. package/lib/base/model/update-model-command.js +9 -9
  38. package/lib/base/model/update-model-command.js.map +1 -1
  39. package/lib/base/model-initialization-constraint.d.ts +2 -3
  40. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  41. package/lib/base/model-initialization-constraint.js +3 -4
  42. package/lib/base/model-initialization-constraint.js.map +1 -1
  43. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  44. package/lib/base/tool-manager/glsp-tool-manager.js +3 -3
  45. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  46. package/lib/base/tool-manager/tool-actions.d.ts +14 -0
  47. package/lib/base/tool-manager/tool-actions.d.ts.map +1 -0
  48. package/lib/base/tool-manager/tool-actions.js +25 -0
  49. package/lib/base/tool-manager/tool-actions.js.map +1 -0
  50. package/lib/base/types.d.ts +144 -20
  51. package/lib/base/types.d.ts.map +1 -1
  52. package/lib/base/types.js +14 -26
  53. package/lib/base/types.js.map +1 -1
  54. package/lib/features/change-bounds/movement-restrictor.d.ts +1 -1
  55. package/lib/features/change-bounds/movement-restrictor.js +2 -2
  56. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  57. package/lib/features/change-bounds/snap.d.ts +42 -1
  58. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  59. package/lib/features/change-bounds/snap.js +77 -1
  60. package/lib/features/change-bounds/snap.js.map +1 -1
  61. package/lib/features/change-bounds/snap.spec.d.ts +17 -0
  62. package/lib/features/change-bounds/snap.spec.d.ts.map +1 -0
  63. package/lib/features/change-bounds/snap.spec.js +82 -0
  64. package/lib/features/change-bounds/snap.spec.js.map +1 -0
  65. package/lib/features/command-palette/di.config.d.ts +2 -2
  66. package/lib/features/command-palette/di.config.d.ts.map +1 -1
  67. package/lib/features/command-palette/di.config.js +6 -6
  68. package/lib/features/command-palette/di.config.js.map +1 -1
  69. package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -1
  70. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  71. package/lib/features/command-palette/server-command-palette-provider.js +11 -8
  72. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  73. package/lib/features/context-menu/delete-element-context-menu.d.ts +17 -1
  74. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  75. package/lib/features/context-menu/delete-element-context-menu.js +3 -3
  76. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  77. package/lib/features/context-menu/di.config.d.ts +1 -1
  78. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  79. package/lib/features/context-menu/di.config.js +8 -7
  80. package/lib/features/context-menu/di.config.js.map +1 -1
  81. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +17 -1
  82. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  83. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +4 -19
  84. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  85. package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -1
  86. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  87. package/lib/features/context-menu/server-context-menu-provider.js +6 -5
  88. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  89. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +12 -15
  90. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  91. package/lib/features/copy-paste/copy-paste-context-menu.js +24 -31
  92. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  93. package/lib/features/copy-paste/copy-paste-handler.d.ts +1 -1
  94. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  95. package/lib/features/copy-paste/copy-paste-handler.js +6 -7
  96. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  97. package/lib/features/copy-paste/di.config.d.ts +1 -1
  98. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  99. package/lib/features/copy-paste/di.config.js +5 -7
  100. package/lib/features/copy-paste/di.config.js.map +1 -1
  101. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  102. package/lib/features/decoration/decoration-placer.js +17 -1
  103. package/lib/features/decoration/decoration-placer.js.map +1 -1
  104. package/lib/features/decoration/di.config.d.ts +2 -2
  105. package/lib/features/decoration/di.config.d.ts.map +1 -1
  106. package/lib/features/decoration/di.config.js +4 -4
  107. package/lib/features/decoration/di.config.js.map +1 -1
  108. package/lib/features/edit-label/di.config.d.ts +1 -1
  109. package/lib/features/edit-label/di.config.d.ts.map +1 -1
  110. package/lib/features/edit-label/di.config.js +4 -4
  111. package/lib/features/edit-label/di.config.js.map +1 -1
  112. package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
  113. package/lib/features/edit-label/edit-label-tool.js +1 -1
  114. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  115. package/lib/features/edit-label/edit-label-validator.d.ts +4 -6
  116. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  117. package/lib/features/edit-label/edit-label-validator.js +8 -10
  118. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  119. package/lib/features/hints/di.config.js +2 -2
  120. package/lib/features/hints/di.config.js.map +1 -1
  121. package/lib/features/hints/type-hints.d.ts +14 -4
  122. package/lib/features/hints/type-hints.d.ts.map +1 -1
  123. package/lib/features/hints/type-hints.js +21 -18
  124. package/lib/features/hints/type-hints.js.map +1 -1
  125. package/lib/features/hover/di.config.d.ts.map +1 -1
  126. package/lib/features/hover/di.config.js +2 -0
  127. package/lib/features/hover/di.config.js.map +1 -1
  128. package/lib/features/hover/hover.d.ts +4 -2
  129. package/lib/features/hover/hover.d.ts.map +1 -1
  130. package/lib/features/hover/hover.js +22 -4
  131. package/lib/features/hover/hover.js.map +1 -1
  132. package/lib/features/layout/di.config.d.ts +1 -1
  133. package/lib/features/layout/di.config.js +1 -1
  134. package/lib/features/layout/freeform-layout.d.ts +17 -1
  135. package/lib/features/layout/freeform-layout.d.ts.map +1 -1
  136. package/lib/features/layout/freeform-layout.js +2 -2
  137. package/lib/features/layout/freeform-layout.js.map +1 -1
  138. package/lib/features/layout/layout-commands.d.ts +64 -37
  139. package/lib/features/layout/layout-commands.d.ts.map +1 -1
  140. package/lib/features/layout/layout-commands.js +79 -59
  141. package/lib/features/layout/layout-commands.js.map +1 -1
  142. package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
  143. package/lib/features/layout/layout-commands.spec.js +29 -17
  144. package/lib/features/layout/layout-commands.spec.js.map +1 -1
  145. package/lib/features/layout/vbox-layout.d.ts +17 -1
  146. package/lib/features/layout/vbox-layout.d.ts.map +1 -1
  147. package/lib/features/layout/vbox-layout.js +4 -3
  148. package/lib/features/layout/vbox-layout.js.map +1 -1
  149. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +1 -1
  150. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
  151. package/lib/features/model-source-watcher/model-source-changed-action-handler.js +7 -7
  152. package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
  153. package/lib/features/mouse-tool/di.config.d.ts +1 -1
  154. package/lib/features/mouse-tool/di.config.d.ts.map +1 -1
  155. package/lib/features/mouse-tool/di.config.js +2 -2
  156. package/lib/features/mouse-tool/di.config.js.map +1 -1
  157. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  158. package/lib/features/mouse-tool/mouse-tool.js +4 -10
  159. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  160. package/lib/features/navigation/navigation-action-handler.d.ts +31 -16
  161. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  162. package/lib/features/navigation/navigation-action-handler.js +50 -66
  163. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  164. package/lib/features/navigation/navigation-target-resolver.d.ts +3 -3
  165. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  166. package/lib/features/navigation/navigation-target-resolver.js +7 -8
  167. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  168. package/lib/features/navigation/navigation-target-resolver.spec.js +3 -3
  169. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  170. package/lib/features/save/di.config.d.ts +1 -1
  171. package/lib/features/save/di.config.d.ts.map +1 -1
  172. package/lib/features/save/di.config.js +3 -3
  173. package/lib/features/save/di.config.js.map +1 -1
  174. package/lib/features/save/save-keylistener.js +1 -1
  175. package/lib/features/save/save-keylistener.js.map +1 -1
  176. package/lib/features/select/di.config.d.ts +1 -1
  177. package/lib/features/select/di.config.d.ts.map +1 -1
  178. package/lib/features/select/di.config.js +4 -5
  179. package/lib/features/select/di.config.js.map +1 -1
  180. package/lib/features/select/select-feedback-action.d.ts +26 -22
  181. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  182. package/lib/features/select/select-feedback-action.js +18 -45
  183. package/lib/features/select/select-feedback-action.js.map +1 -1
  184. package/lib/features/select/select-mouse-listener.d.ts +1 -1
  185. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  186. package/lib/features/select/select-mouse-listener.js +1 -1
  187. package/lib/features/select/select-mouse-listener.js.map +1 -1
  188. package/lib/features/select/selection-service.d.ts.map +1 -1
  189. package/lib/features/select/selection-service.js +16 -13
  190. package/lib/features/select/selection-service.js.map +1 -1
  191. package/lib/features/select/selection-service.spec.js +9 -6
  192. package/lib/features/select/selection-service.spec.js.map +1 -1
  193. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +16 -8
  194. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  195. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +50 -20
  196. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  197. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +22 -10
  198. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  199. package/lib/features/tool-feedback/creation-tool-feedback.js +46 -21
  200. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  201. package/lib/features/tool-feedback/css-feedback.d.ts +17 -10
  202. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  203. package/lib/features/tool-feedback/css-feedback.js +41 -37
  204. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  205. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  206. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  207. package/lib/features/tool-feedback/di.config.js +4 -4
  208. package/lib/features/tool-feedback/di.config.js.map +1 -1
  209. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +43 -21
  210. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  211. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +117 -91
  212. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  213. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  214. package/lib/features/tool-feedback/feedback-action-dispatcher.js +3 -3
  215. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  216. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +20 -9
  217. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  218. package/lib/features/tool-feedback/marquee-tool-feedback.js +41 -15
  219. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  220. package/lib/features/tool-feedback/view.d.ts +1 -1
  221. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  222. package/lib/features/tool-feedback/view.js +18 -1
  223. package/lib/features/tool-feedback/view.js.map +1 -1
  224. package/lib/features/tool-palette/di.config.d.ts +1 -1
  225. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  226. package/lib/features/tool-palette/di.config.js +3 -2
  227. package/lib/features/tool-palette/di.config.js.map +1 -1
  228. package/lib/features/tool-palette/tool-palette.d.ts +9 -6
  229. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  230. package/lib/features/tool-palette/tool-palette.js +25 -20
  231. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  232. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  233. package/lib/features/tools/base-glsp-tool.js +3 -3
  234. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  235. package/lib/features/tools/change-bounds-tool.d.ts +6 -8
  236. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  237. package/lib/features/tools/change-bounds-tool.js +22 -45
  238. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  239. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  240. package/lib/features/tools/delete-tool.js +5 -5
  241. package/lib/features/tools/delete-tool.js.map +1 -1
  242. package/lib/features/tools/di.config.js +9 -9
  243. package/lib/features/tools/di.config.js.map +1 -1
  244. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  245. package/lib/features/tools/edge-creation-tool.js +16 -9
  246. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  247. package/lib/features/tools/edge-edit-tool.d.ts +2 -1
  248. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  249. package/lib/features/tools/edge-edit-tool.js +20 -15
  250. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  251. package/lib/features/tools/marquee-behavior.d.ts +1 -1
  252. package/lib/features/tools/marquee-behavior.js +2 -2
  253. package/lib/features/tools/marquee-behavior.js.map +1 -1
  254. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  255. package/lib/features/tools/marquee-mouse-tool.js +7 -7
  256. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  257. package/lib/features/tools/marquee-tool.js +1 -1
  258. package/lib/features/tools/marquee-tool.js.map +1 -1
  259. package/lib/features/tools/model.d.ts +2 -1
  260. package/lib/features/tools/model.d.ts.map +1 -1
  261. package/lib/features/tools/model.js +0 -15
  262. package/lib/features/tools/model.js.map +1 -1
  263. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  264. package/lib/features/tools/node-creation-tool.js +5 -5
  265. package/lib/features/tools/node-creation-tool.js.map +1 -1
  266. package/lib/features/validation/di.config.d.ts +1 -1
  267. package/lib/features/validation/di.config.d.ts.map +1 -1
  268. package/lib/features/validation/di.config.js +3 -3
  269. package/lib/features/validation/di.config.js.map +1 -1
  270. package/lib/features/validation/marker-navigator.d.ts +15 -7
  271. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  272. package/lib/features/validation/marker-navigator.js +21 -19
  273. package/lib/features/validation/marker-navigator.js.map +1 -1
  274. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  275. package/lib/features/validation/marker-navigator.spec.js +2 -16
  276. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  277. package/lib/features/validation/validate.d.ts +9 -11
  278. package/lib/features/validation/validate.d.ts.map +1 -1
  279. package/lib/features/validation/validate.js +27 -26
  280. package/lib/features/validation/validate.js.map +1 -1
  281. package/lib/features/viewport/di.config.d.ts +1 -1
  282. package/lib/features/viewport/di.config.d.ts.map +1 -1
  283. package/lib/features/viewport/di.config.js +1 -1
  284. package/lib/features/viewport/di.config.js.map +1 -1
  285. package/lib/features/viewport/glsp-scroll-mouse-listener.js +2 -2
  286. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  287. package/lib/index.d.ts +4 -5
  288. package/lib/index.d.ts.map +1 -1
  289. package/lib/index.js +4 -5
  290. package/lib/index.js.map +1 -1
  291. package/lib/lib/model.d.ts +2 -1
  292. package/lib/lib/model.d.ts.map +1 -1
  293. package/lib/lib/model.js +0 -15
  294. package/lib/lib/model.js.map +1 -1
  295. package/lib/model-source/glsp-diagram-server.d.ts +4 -4
  296. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  297. package/lib/model-source/glsp-diagram-server.js +5 -5
  298. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  299. package/lib/sprotty-reexport.d.ts +174 -0
  300. package/lib/sprotty-reexport.d.ts.map +1 -0
  301. package/lib/sprotty-reexport.js +299 -0
  302. package/lib/sprotty-reexport.js.map +1 -0
  303. package/lib/utils/layout-utils.d.ts +3 -3
  304. package/lib/utils/layout-utils.d.ts.map +1 -1
  305. package/lib/utils/smodel-util.d.ts +27 -18
  306. package/lib/utils/smodel-util.d.ts.map +1 -1
  307. package/lib/utils/smodel-util.js +30 -11
  308. package/lib/utils/smodel-util.js.map +1 -1
  309. package/lib/utils/viewpoint-util.d.ts +3 -3
  310. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  311. package/lib/utils/viewpoint-util.js +17 -1
  312. package/lib/utils/viewpoint-util.js.map +1 -1
  313. package/package.json +5 -4
  314. package/src/base/action-dispatcher.ts +13 -4
  315. package/src/base/actions/focus-change-action.ts +25 -8
  316. package/{lib/features/tool-palette/palette-item.d.ts → src/base/actions/sprotty-actions.ts} +11 -11
  317. package/src/base/auto-complete/auto-complete-actions.ts +7 -5
  318. package/src/base/auto-complete/auto-complete-widget.ts +8 -13
  319. package/src/base/command-stack.ts +4 -3
  320. package/src/base/di.config.ts +4 -5
  321. package/src/base/editor-context-service.ts +7 -7
  322. package/src/base/focus-tracker.ts +5 -4
  323. package/src/base/model/update-model-command.ts +7 -8
  324. package/src/base/model-initialization-constraint.ts +3 -4
  325. package/src/base/tool-manager/glsp-tool-manager.ts +4 -4
  326. package/src/base/tool-manager/tool-actions.ts +37 -0
  327. package/src/base/types.ts +31 -24
  328. package/src/features/change-bounds/movement-restrictor.ts +3 -3
  329. package/src/features/change-bounds/snap.spec.ts +89 -0
  330. package/src/features/change-bounds/snap.ts +86 -2
  331. package/src/features/command-palette/di.config.ts +5 -7
  332. package/src/features/command-palette/server-command-palette-provider.ts +9 -8
  333. package/src/features/context-menu/delete-element-context-menu.ts +6 -6
  334. package/src/features/context-menu/di.config.ts +3 -2
  335. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +5 -6
  336. package/src/features/context-menu/server-context-menu-provider.ts +7 -6
  337. package/src/features/copy-paste/copy-paste-context-menu.ts +30 -23
  338. package/src/features/copy-paste/copy-paste-handler.ts +6 -6
  339. package/src/features/copy-paste/di.config.ts +7 -15
  340. package/src/features/decoration/decoration-placer.ts +2 -2
  341. package/src/features/decoration/di.config.ts +3 -5
  342. package/src/features/edit-label/di.config.ts +4 -5
  343. package/src/features/edit-label/edit-label-tool.ts +1 -2
  344. package/src/features/edit-label/edit-label-validator.ts +6 -10
  345. package/src/features/hints/di.config.ts +3 -3
  346. package/src/features/hints/type-hints.ts +31 -16
  347. package/src/features/hover/di.config.ts +4 -0
  348. package/src/features/hover/hover.ts +29 -11
  349. package/src/features/layout/di.config.ts +1 -1
  350. package/src/features/layout/freeform-layout.ts +3 -12
  351. package/src/features/layout/layout-commands.spec.ts +38 -22
  352. package/src/features/layout/layout-commands.ts +129 -55
  353. package/src/features/layout/vbox-layout.ts +4 -8
  354. package/src/features/model-source-watcher/model-source-changed-action-handler.ts +7 -12
  355. package/src/features/mouse-tool/di.config.ts +3 -4
  356. package/src/features/mouse-tool/mouse-tool.ts +4 -9
  357. package/src/features/navigation/navigation-action-handler.ts +76 -42
  358. package/src/features/navigation/navigation-target-resolver.spec.ts +3 -3
  359. package/src/features/navigation/navigation-target-resolver.ts +8 -13
  360. package/src/features/save/di.config.ts +2 -3
  361. package/src/features/save/save-keylistener.ts +1 -1
  362. package/src/features/select/di.config.ts +6 -8
  363. package/src/features/select/select-feedback-action.ts +18 -46
  364. package/src/features/select/select-mouse-listener.ts +1 -2
  365. package/src/features/select/selection-service.spec.ts +11 -8
  366. package/src/features/select/selection-service.ts +14 -10
  367. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +42 -13
  368. package/src/features/tool-feedback/creation-tool-feedback.ts +42 -21
  369. package/src/features/tool-feedback/css-feedback.ts +40 -37
  370. package/src/features/tool-feedback/di.config.ts +4 -5
  371. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +122 -78
  372. package/src/features/tool-feedback/feedback-action-dispatcher.ts +2 -1
  373. package/src/features/tool-feedback/marquee-tool-feedback.ts +36 -11
  374. package/src/features/tool-feedback/view.tsx +3 -3
  375. package/src/features/tool-palette/di.config.ts +3 -2
  376. package/src/features/tool-palette/tool-palette.ts +30 -16
  377. package/src/features/tools/base-glsp-tool.ts +4 -4
  378. package/src/features/tools/change-bounds-tool.ts +31 -61
  379. package/src/features/tools/delete-tool.ts +6 -6
  380. package/src/features/tools/di.config.ts +10 -10
  381. package/src/features/tools/edge-creation-tool.ts +18 -9
  382. package/src/features/tools/edge-edit-tool.ts +20 -16
  383. package/src/features/tools/marquee-behavior.ts +2 -2
  384. package/src/features/tools/marquee-mouse-tool.ts +8 -9
  385. package/src/features/tools/marquee-tool.ts +1 -1
  386. package/src/features/tools/model.ts +2 -1
  387. package/src/features/tools/node-creation-tool.ts +5 -5
  388. package/src/features/validation/di.config.ts +4 -5
  389. package/src/features/validation/marker-navigator.spec.ts +4 -2
  390. package/src/features/validation/marker-navigator.ts +41 -21
  391. package/src/features/validation/validate.ts +27 -20
  392. package/src/features/viewport/di.config.ts +1 -2
  393. package/src/features/viewport/glsp-scroll-mouse-listener.ts +3 -3
  394. package/src/index.ts +4 -5
  395. package/src/lib/model.ts +2 -1
  396. package/src/model-source/glsp-diagram-server.ts +8 -10
  397. package/src/sprotty-reexport.ts +283 -0
  398. package/src/utils/layout-utils.ts +3 -3
  399. package/src/utils/smodel-util.ts +36 -20
  400. package/src/utils/viewpoint-util.ts +5 -14
  401. package/lib/features/tool-palette/palette-item.d.ts.map +0 -1
  402. package/lib/features/tool-palette/palette-item.js.map +0 -1
  403. package/lib/protocol-reexport.d.ts +0 -45
  404. package/lib/protocol-reexport.d.ts.map +0 -1
  405. package/lib/protocol-reexport.js +0 -80
  406. package/lib/protocol-reexport.js.map +0 -1
  407. package/src/features/tool-palette/palette-item.ts +0 -38
  408. 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
@@ -45,7 +45,7 @@ export class MarqueeUtil {
45
45
  }
46
46
 
47
47
  drawMarqueeAction(): DrawMarqueeAction {
48
- return new DrawMarqueeAction(this.startPoint, this.currentPoint);
48
+ return DrawMarqueeAction.create({ startPoint: this.startPoint, endPoint: this.currentPoint });
49
49
  }
50
50
 
51
51
  isEdgePathMarked(path: string | null): boolean {
@@ -24,12 +24,11 @@ import {
24
24
  SEdge,
25
25
  SModelElement,
26
26
  SModelRoot,
27
- SNode,
28
- TYPES
27
+ SNode
29
28
  } from 'sprotty';
30
29
  import { DOMHelper } from 'sprotty/lib/base/views/dom-helper';
31
30
  import { DragAwareMouseListener } from '../../base/drag-aware-mouse-listener';
32
- import { GLSP_TYPES } from '../../base/types';
31
+ import { TYPES } from '../../base/types';
33
32
  import { getAbsolutePosition, toAbsoluteBounds } from '../../utils/viewpoint-util';
34
33
  import { CursorCSS, cursorFeedbackAction } from '../tool-feedback/css-feedback';
35
34
  import { RemoveMarqueeAction } from '../tool-feedback/marquee-tool-feedback';
@@ -41,7 +40,7 @@ export class MarqueeMouseTool extends BaseGLSPTool {
41
40
  static ID = 'glsp.marquee-mouse-tool';
42
41
 
43
42
  @inject(TYPES.DOMHelper) protected domHelper: DOMHelper;
44
- @inject(GLSP_TYPES.IMarqueeBehavior) @optional() protected marqueeBehavior: IMarqueeBehavior;
43
+ @inject(TYPES.IMarqueeBehavior) @optional() protected marqueeBehavior: IMarqueeBehavior;
45
44
 
46
45
  protected marqueeMouseListener: MarqueeMouseListener;
47
46
  protected shiftKeyListener: ShiftKeyListener = new ShiftKeyListener();
@@ -115,8 +114,8 @@ export class MarqueeMouseListener extends DragAwareMouseListener {
115
114
  const edgeIdsSelected = this.edges.filter(e => this.isEdgeMarked(e)).map(e => this.domHelper.findSModelIdByDOMElement(e));
116
115
  const selected = nodeIdsSelected.concat(edgeIdsSelected);
117
116
  return [
118
- new SelectAction([], Array.from(target.root.index.all().map(e => e.id))),
119
- new SelectAction(selected.concat(this.previouslySelected), []),
117
+ SelectAction.create({ deselectedElementsIDs: Array.from(target.root.index.all().map(e => e.id)) }),
118
+ SelectAction.create({ selectedElementsIDs: selected.concat(this.previouslySelected) }),
120
119
  this.marqueeUtil.drawMarqueeAction()
121
120
  ];
122
121
  }
@@ -126,9 +125,9 @@ export class MarqueeMouseListener extends DragAwareMouseListener {
126
125
  override mouseUp(target: SModelElement, event: MouseEvent): Action[] {
127
126
  this.isActive = false;
128
127
  if (event.shiftKey) {
129
- return [new RemoveMarqueeAction()];
128
+ return [RemoveMarqueeAction.create()];
130
129
  }
131
- return [new RemoveMarqueeAction(), new EnableDefaultToolsAction()];
130
+ return [RemoveMarqueeAction.create(), EnableDefaultToolsAction.create()];
132
131
  }
133
132
 
134
133
  isEdgeMarked(element: SVGElement): boolean {
@@ -148,6 +147,6 @@ export class ShiftKeyListener extends KeyListener {
148
147
  if (event.shiftKey) {
149
148
  return [];
150
149
  }
151
- return [new RemoveMarqueeAction(), new EnableDefaultToolsAction()];
150
+ return [RemoveMarqueeAction.create(), EnableDefaultToolsAction.create()];
152
151
  }
153
152
  }
@@ -44,7 +44,7 @@ export class MarqueeTool extends BaseGLSPTool {
44
44
  export class MarqueeKeyListener extends KeyListener {
45
45
  override keyDown(element: SModelElement, event: KeyboardEvent): Action[] {
46
46
  if (event.shiftKey) {
47
- return [new EnableToolsAction([MarqueeMouseTool.ID])];
47
+ return [EnableToolsAction.create([MarqueeMouseTool.ID])];
48
48
  }
49
49
  return [];
50
50
  }
@@ -13,7 +13,8 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { boundsFeature, Point, RectangularNode } from 'sprotty';
16
+ import { Point } from '@eclipse-glsp/protocol';
17
+ import { boundsFeature, RectangularNode } from 'sprotty';
17
18
 
18
19
  export class MarqueeNode extends RectangularNode {
19
20
  static override readonly DEFAULT_FEATURES = [boundsFeature];
@@ -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, CreateNodeOperation, isTriggerNodeCreationAction, TriggerNodeCreationAction } from '@eclipse-glsp/protocol';
16
+ import { Action, CreateNodeOperation, TriggerNodeCreationAction } from '@eclipse-glsp/protocol';
17
17
  import { inject, injectable, optional } from 'inversify';
18
18
  import {
19
19
  EnableDefaultToolsAction,
@@ -60,9 +60,9 @@ export class NodeCreationTool extends BaseGLSPTool implements IActionHandler {
60
60
  }
61
61
 
62
62
  handle(action: Action): Action | void {
63
- if (isTriggerNodeCreationAction(action)) {
63
+ if (TriggerNodeCreationAction.is(action)) {
64
64
  this.triggerAction = action;
65
- return new EnableToolsAction([this.id]);
65
+ return EnableToolsAction.create([this.id]);
66
66
  }
67
67
  }
68
68
  }
@@ -94,9 +94,9 @@ export class NodeCreationToolMouseListener extends DragAwareMouseListener {
94
94
  elementProxy.size = { width: 0, height: 0 };
95
95
  location = this.tool.snapper.snap(location, elementProxy);
96
96
  }
97
- result.push(new CreateNodeOperation(this.elementTypeId, location, containerId, this.triggerAction.args));
97
+ result.push(CreateNodeOperation.create(this.elementTypeId, { location, containerId, args: this.triggerAction.args }));
98
98
  if (!isCtrlOrCmd(event)) {
99
- result.push(new EnableDefaultToolsAction());
99
+ result.push(EnableDefaultToolsAction.create());
100
100
  }
101
101
  }
102
102
  return result;
@@ -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,9 +14,8 @@
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, TYPES } from 'sprotty';
18
-
19
- import { GLSP_TYPES } from '../../base/types';
17
+ import { configureCommand } from 'sprotty';
18
+ import { TYPES } from '../../base/types';
20
19
  import {
21
20
  LeftToRightTopToBottomComparator,
22
21
  MarkerNavigator,
@@ -46,6 +45,6 @@ export const markerNavigatorModule = new ContainerModule((bind, _unbind, isBound
46
45
  * `registerMarkerNavigationCommands()` in `glsp-theia-integration` instead.
47
46
  */
48
47
  export const markerNavigatorContextMenuModule = new ContainerModule((bind, _unbind, isBound) => {
49
- bind(GLSP_TYPES.IContextMenuProvider).to(MarkerNavigatorContextMenuItemProvider).inSingletonScope();
48
+ bind(TYPES.IContextMenuProvider).to(MarkerNavigatorContextMenuItemProvider).inSingletonScope();
50
49
  bind(TYPES.KeyListener).to(MarkerNavigatorKeyListener).inSingletonScope();
51
50
  });
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2021 EclipseSource and others.
2
+ * Copyright (c) 2020-2022 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -14,6 +14,7 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  /* eslint-disable import/no-deprecated,no-unused-expressions */
17
+ import { SNodeSchema } from '@eclipse-glsp/protocol';
17
18
  import { expect } from 'chai';
18
19
  import { Container } from 'inversify';
19
20
  import 'mocha';
@@ -26,7 +27,6 @@ import {
26
27
  SIssueMarker,
27
28
  SModelElement,
28
29
  SModelRoot,
29
- SNodeSchema,
30
30
  SParentElement,
31
31
  TYPES
32
32
  } from 'sprotty';
@@ -38,7 +38,9 @@ import { MarkerNavigator } from './marker-navigator';
38
38
  describe('MarkerNavigator', () => {
39
39
  const container = new Container();
40
40
  container.load(defaultModule, decorationModule, markerNavigatorModule);
41
+ // eslint-disable-next-line deprecation/deprecation
41
42
  container.rebind(TYPES.IModelFactory).to(SGraphFactory).inSingletonScope();
43
+ // eslint-disable-next-line deprecation/deprecation
42
44
  const graphFactory = container.get<SGraphFactory>(TYPES.IModelFactory);
43
45
  const markerNavigator = container.get<MarkerNavigator>(MarkerNavigator);
44
46
 
@@ -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, CenterAction, Point } from '@eclipse-glsp/protocol';
16
+ import { Action, CenterAction, hasArrayProp, hasStringProp, Point, SelectAction } from '@eclipse-glsp/protocol';
17
17
  import { inject, injectable } from 'inversify';
18
18
  import {
19
19
  BoundsAware,
@@ -28,30 +28,47 @@ import {
28
28
  KeyListener,
29
29
  MenuItem,
30
30
  Selectable,
31
- SelectAction,
32
31
  SIssueMarker,
33
32
  SIssueSeverity,
34
33
  SModelElement,
35
- SModelRoot,
36
- TYPES
34
+ SModelRoot
37
35
  } from 'sprotty';
38
36
  import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
39
- import { GLSP_TYPES } from '../../base/types';
37
+ import { TYPES } from '../../base/types';
40
38
  import { collectIssueMarkers, MarkerPredicates } from '../../utils/marker';
41
39
  import { isSelectableAndBoundsAware } from '../../utils/smodel-util';
42
40
  import { SelectCommand, SelectionService } from '../select/selection-service';
43
41
 
44
- export class NavigateToMarkerAction implements Action {
45
- static readonly KIND = 'navigateToMarker';
42
+ export interface NavigateToMarkerAction extends Action {
43
+ kind: typeof NavigateToMarkerAction.KIND;
46
44
 
47
- constructor(
48
- public readonly direction: 'next' | 'previous' = 'next',
49
- public readonly selectedElementIds?: string[],
50
- public readonly severities: SIssueSeverity[] = MarkerNavigator.ALL_SEVERITIES,
51
- public kind = NavigateToMarkerAction.KIND
52
- ) {}
45
+ direction: MarkerNavigationDirection;
46
+ selectedElementIds?: string[];
47
+ severities: SIssueSeverity[];
53
48
  }
54
49
 
50
+ export type MarkerNavigationDirection = 'next' | 'previous';
51
+
52
+ export namespace NavigateToMarkerAction {
53
+ export const KIND = 'navigateToMarker';
54
+
55
+ export function is(object: any): object is NavigateToMarkerAction {
56
+ return Action.hasKind(object, KIND) && hasStringProp(object, 'direction') && hasArrayProp(object, 'severities');
57
+ }
58
+
59
+ export function create(options: {
60
+ direction?: MarkerNavigationDirection;
61
+ selectedElementIds?: string[];
62
+ severities?: SIssueSeverity[];
63
+ }): NavigateToMarkerAction {
64
+ return {
65
+ kind: KIND,
66
+ direction: 'next',
67
+ severities: MarkerNavigator.ALL_SEVERITIES,
68
+ ...options
69
+ };
70
+ }
71
+ }
55
72
  export class SModelElementComparator {
56
73
  compare(_one: SModelElement, _other: SModelElement): number {
57
74
  return 0;
@@ -146,7 +163,7 @@ export class NavigateToMarkerCommand extends Command {
146
163
  @inject(MarkerNavigator)
147
164
  protected markerNavigator: MarkerNavigator;
148
165
 
149
- @inject(GLSP_TYPES.SelectionService)
166
+ @inject(TYPES.SelectionService)
150
167
  protected selectionService: SelectionService;
151
168
 
152
169
  protected selectCommand: SelectCommand;
@@ -167,8 +184,11 @@ export class NavigateToMarkerCommand extends Command {
167
184
  const selectableTarget = findParentByFeature(target, isSelectable);
168
185
  if (selectableTarget) {
169
186
  const deselect = selected.map(e => e.id).filter(id => id !== selectableTarget.id);
170
- this.selectCommand = new SelectCommand(new SelectAction([selectableTarget.id], deselect), this.selectionService);
171
- this.centerCommand = new CenterCommand(new CenterAction([selectableTarget.id]));
187
+ this.selectCommand = new SelectCommand(
188
+ SelectAction.create({ selectedElementsIDs: [selectableTarget.id], deselectedElementsIDs: deselect }),
189
+ this.selectionService
190
+ );
191
+ this.centerCommand = new CenterCommand(CenterAction.create([selectableTarget.id]));
172
192
  this.centerCommand.execute(context);
173
193
  return this.selectCommand.execute(context);
174
194
  }
@@ -218,7 +238,7 @@ export class NavigateToMarkerCommand extends Command {
218
238
 
219
239
  @injectable()
220
240
  export class MarkerNavigatorContextMenuItemProvider implements IContextMenuItemProvider {
221
- @inject(GLSP_TYPES.SelectionService) protected selectionService: SelectionService;
241
+ @inject(TYPES.SelectionService) protected selectionService: SelectionService;
222
242
 
223
243
  getItems(root: Readonly<SModelRoot>, lastMousePosition?: Point): Promise<MenuItem[]> {
224
244
  const selectedElementIds = Array.from(this.selectionService.getSelectedElementIDs());
@@ -234,14 +254,14 @@ export class MarkerNavigatorContextMenuItemProvider implements IContextMenuItemP
234
254
  id: 'next-marker',
235
255
  label: 'Next marker',
236
256
  group: 'marker',
237
- actions: [new NavigateToMarkerAction('next', selectedElementIds)],
257
+ actions: [NavigateToMarkerAction.create({ direction: 'next', selectedElementIds })],
238
258
  isEnabled: () => hasMarkers
239
259
  },
240
260
  {
241
261
  id: 'previous-marker',
242
262
  label: 'Previous marker',
243
263
  group: 'marker',
244
- actions: [new NavigateToMarkerAction('previous', selectedElementIds)],
264
+ actions: [NavigateToMarkerAction.create({ direction: 'previous', selectedElementIds })],
245
265
  isEnabled: () => hasMarkers
246
266
  }
247
267
  ]
@@ -254,9 +274,9 @@ export class MarkerNavigatorContextMenuItemProvider implements IContextMenuItemP
254
274
  export class MarkerNavigatorKeyListener extends KeyListener {
255
275
  override keyDown(_element: SModelElement, event: KeyboardEvent): Action[] {
256
276
  if (matchesKeystroke(event, 'Period', 'ctrl')) {
257
- return [new NavigateToMarkerAction('next')];
277
+ return [NavigateToMarkerAction.create({ direction: 'next' })];
258
278
  } else if (matchesKeystroke(event, 'Comma', 'ctrl')) {
259
- return [new NavigateToMarkerAction('previous')];
279
+ return [NavigateToMarkerAction.create({ direction: 'previous' })];
260
280
  }
261
281
  return [];
262
282
  }
@@ -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, DeleteMarkersAction, Marker, SetMarkersAction } from '@eclipse-glsp/protocol';
16
+ import { Action, DeleteMarkersAction, hasArrayProp, Marker, SetMarkersAction } from '@eclipse-glsp/protocol';
17
17
  import { inject, injectable, optional } from 'inversify';
18
18
  import {
19
19
  Command,
@@ -24,11 +24,10 @@ import {
24
24
  SIssueMarker,
25
25
  SModelElement,
26
26
  SModelRoot,
27
- SParentElement,
28
- TYPES
27
+ SParentElement
29
28
  } from 'sprotty';
30
29
  import { EditorContextService } from '../../base/editor-context-service';
31
- import { GLSP_TYPES } from '../../base/types';
30
+ import { TYPES } from '../../base/types';
32
31
  import { removeCssClasses } from '../../utils/smodel-util';
33
32
  import { getSeverity } from '../hover/hover';
34
33
  import { IFeedbackActionDispatcher, IFeedbackEmitter } from '../tool-feedback/feedback-action-dispatcher';
@@ -41,11 +40,11 @@ import { createSIssue, getOrCreateSIssueMarker, getSIssueMarker } from './issue-
41
40
  */
42
41
  @injectable()
43
42
  export class ValidationFeedbackEmitter implements IFeedbackEmitter {
44
- @inject(GLSP_TYPES.IFeedbackActionDispatcher) protected feedbackActionDispatcher: IFeedbackActionDispatcher;
43
+ @inject(TYPES.IFeedbackActionDispatcher) protected feedbackActionDispatcher: IFeedbackActionDispatcher;
45
44
 
46
45
  @inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
47
46
 
48
- private registeredAction: MarkersAction;
47
+ private registeredAction: ApplyMarkersAction;
49
48
 
50
49
  // eslint-disable-next-line @typescript-eslint/no-empty-function
51
50
  private constructor() {}
@@ -54,13 +53,13 @@ export class ValidationFeedbackEmitter implements IFeedbackEmitter {
54
53
  * Register the action that should be emitted for visualizing validation feedback.
55
54
  * @param action the action that should be emitted when the model is updated and that will visualize the model validation feedback.
56
55
  */
57
- registerValidationFeedbackAction(action: MarkersAction): void {
56
+ registerValidationFeedbackAction(action: ApplyMarkersAction): void {
58
57
  // De-register old action responsible for applying markers and re-applying them when the model is updated
59
58
  this.feedbackActionDispatcher.deregisterFeedback(this, []);
60
59
 
61
60
  // Clear existing markers
62
61
  if (this.registeredAction !== undefined) {
63
- const deleteMarkersAction = new DeleteMarkersAction(this.registeredAction.markers);
62
+ const deleteMarkersAction = DeleteMarkersAction.create(this.registeredAction.markers);
64
63
  this.actionDispatcher().then(dispatcher => dispatcher.dispatch(deleteMarkersAction));
65
64
  }
66
65
 
@@ -88,7 +87,7 @@ export abstract class ExternalMarkerManager {
88
87
 
89
88
  removeMarkers(markers: Marker[]): void {
90
89
  if (this.actionDispatcher) {
91
- this.actionDispatcher.dispatch(new DeleteMarkersAction(markers));
90
+ this.actionDispatcher.dispatch(DeleteMarkersAction.create(markers));
92
91
  }
93
92
  }
94
93
 
@@ -116,7 +115,7 @@ export class SetMarkersCommand extends Command {
116
115
  if (this.externalMarkerManager) {
117
116
  this.externalMarkerManager.setMarkers(markers, uri);
118
117
  }
119
- const applyMarkersAction: ApplyMarkersAction = new ApplyMarkersAction(markers);
118
+ const applyMarkersAction = ApplyMarkersAction.create(markers);
120
119
  this.validationFeedbackEmitter.registerValidationFeedbackAction(applyMarkersAction);
121
120
  return context.root;
122
121
  }
@@ -131,18 +130,26 @@ export class SetMarkersCommand extends Command {
131
130
  }
132
131
 
133
132
  /**
134
- * Interface for actions processing markers
133
+ * Action for applying makers to a model
135
134
  */
136
- export interface MarkersAction extends Action {
137
- readonly markers: Marker[];
135
+ export interface ApplyMarkersAction extends Action {
136
+ kind: typeof ApplyMarkersAction.KIND;
137
+ markers: Marker[];
138
138
  }
139
139
 
140
- /**
141
- * Action for applying makers to a model
142
- */
143
- @injectable()
144
- export class ApplyMarkersAction implements MarkersAction {
145
- constructor(public readonly markers: Marker[], public readonly kind = ApplyMarkersCommand.KIND) {}
140
+ export namespace ApplyMarkersAction {
141
+ export const KIND = 'applyMarkers';
142
+
143
+ export function is(object: any): object is ApplyMarkersAction {
144
+ return Action.hasKind(object, KIND) && hasArrayProp(object, 'markers');
145
+ }
146
+
147
+ export function create(markers: Marker[]): ApplyMarkersAction {
148
+ return {
149
+ kind: KIND,
150
+ markers
151
+ };
152
+ }
146
153
  }
147
154
 
148
155
  /**
@@ -150,7 +157,7 @@ export class ApplyMarkersAction implements MarkersAction {
150
157
  */
151
158
  @injectable()
152
159
  export class ApplyMarkersCommand extends FeedbackCommand {
153
- static KIND = 'applyMarkers';
160
+ static KIND = ApplyMarkersAction.KIND;
154
161
  override readonly priority = 0;
155
162
 
156
163
  constructor(@inject(TYPES.Action) protected action: ApplyMarkersAction) {
@@ -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
@@ -27,7 +27,6 @@ import {
27
27
  TYPES,
28
28
  ZoomMouseListener
29
29
  } from 'sprotty';
30
-
31
30
  import { GLSPScrollMouseListener } from './glsp-scroll-mouse-listener';
32
31
 
33
32
  const glspViewportModule = new ContainerModule((bind, _unbind, isBound) => {
@@ -23,11 +23,11 @@ export class GLSPScrollMouseListener extends ScrollMouseListener implements IAct
23
23
  preventScrolling = false;
24
24
 
25
25
  handle(action: Action): void | Action | ICommand {
26
- if (action instanceof EnableToolsAction) {
27
- if (action.toolIds.includes(MarqueeMouseTool.ID)) {
26
+ if (action.kind === EnableToolsAction.KIND) {
27
+ if ((action as EnableToolsAction).toolIds.includes(MarqueeMouseTool.ID)) {
28
28
  this.preventScrolling = true;
29
29
  }
30
- } else if (action instanceof EnableDefaultToolsAction) {
30
+ } else if (action.kind === EnableDefaultToolsAction.KIND) {
31
31
  this.preventScrolling = false;
32
32
  }
33
33
  }
package/src/index.ts CHANGED
@@ -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
@@ -33,7 +33,6 @@ import toolsModule from './features/tools/di.config';
33
33
  import { markerNavigatorModule, validationModule } from './features/validation/di.config';
34
34
  import glspViewportModule from './features/viewport/di.config';
35
35
 
36
- export * from 'sprotty';
37
36
  export * from './base/action-dispatcher';
38
37
  export * from './base/actions/focus-change-action';
39
38
  export * from './base/argumentable';
@@ -51,6 +50,7 @@ export * from './base/model/model-registry';
51
50
  export * from './base/model/update-model-command';
52
51
  export * from './base/selection-clearing-mouse-listener';
53
52
  export * from './base/source-uri-aware';
53
+ export * from './base/tool-manager/tool-actions';
54
54
  export * from './base/types';
55
55
  export * from './base/view/view-registry';
56
56
  export * from './features/change-bounds/model';
@@ -80,22 +80,21 @@ export * from './features/tool-feedback/css-feedback';
80
80
  export * from './features/tool-feedback/edge-edit-tool-feedback';
81
81
  export * from './features/tool-feedback/feedback-action-dispatcher';
82
82
  export * from './features/tool-feedback/model';
83
- export * from './features/tool-palette/palette-item';
84
83
  export * from './features/tool-palette/tool-palette';
85
84
  export * from './features/tools/base-glsp-tool';
86
85
  export * from './features/tools/change-bounds-tool';
87
86
  export * from './features/tools/delete-tool';
88
87
  export * from './features/tools/edge-creation-tool';
89
88
  export * from './features/tools/edge-edit-tool';
90
- export * from './features/tools/node-creation-tool';
91
89
  export * from './features/tools/marquee-behavior';
90
+ export * from './features/tools/node-creation-tool';
92
91
  export * from './features/validation/issue-marker';
93
92
  export * from './features/validation/marker-navigator';
94
93
  export * from './features/validation/validate';
95
94
  export * from './features/viewport/glsp-scroll-mouse-listener';
96
95
  export * from './lib/model';
97
96
  export * from './model-source/glsp-diagram-server';
98
- export * from './protocol-reexport';
97
+ export * from './sprotty-reexport';
99
98
  export * from './utils/argument-utils';
100
99
  export * from './utils/marker';
101
100
  export * from './utils/smodel-util';
package/src/lib/model.ts CHANGED
@@ -13,7 +13,8 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { exportFeature, SGraph, SModelElement, SModelElementSchema, viewportFeature } from 'sprotty/lib';
16
+ import { SModelElementSchema } from '@eclipse-glsp/protocol';
17
+ import { exportFeature, SGraph, SModelElement, viewportFeature } from 'sprotty/lib';
17
18
  import { Containable, containerFeature } from '../features/hints/model';
18
19
  import { Saveable, saveFeature } from '../features/save/model';
19
20
 
@@ -15,23 +15,21 @@
15
15
  ********************************************************************************/
16
16
  import {
17
17
  Action,
18
+ ActionMessage,
18
19
  ComputedBoundsAction,
19
- ExportSvgAction,
20
20
  GLSPClient,
21
- isRequestModelAction,
22
- isServerMessageAction,
23
- isSetEditModeAction,
21
+ RequestModelAction,
24
22
  ServerMessageAction,
25
23
  SetEditModeAction
26
24
  } from '@eclipse-glsp/protocol';
27
25
  import { injectable } from 'inversify';
28
- import { ActionHandlerRegistry, ActionMessage, DiagramServer, ICommand, ServerStatusAction, SwitchEditModeCommand } from 'sprotty';
26
+ import { ActionHandlerRegistry, DiagramServerProxy, ExportSvgAction, ICommand, ServerStatusAction, SwitchEditModeCommand } from 'sprotty';
29
27
  import { SourceUriAware } from '../base/source-uri-aware';
30
28
 
31
29
  const receivedFromServerProperty = '__receivedFromServer';
32
30
 
33
31
  @injectable()
34
- export class GLSPDiagramServer extends DiagramServer implements SourceUriAware {
32
+ export class GLSPDiagramServer extends DiagramServerProxy implements SourceUriAware {
35
33
  protected _sourceUri: string;
36
34
  protected _glspClient?: GLSPClient;
37
35
  protected ready = false;
@@ -63,17 +61,17 @@ export class GLSPDiagramServer extends DiagramServer implements SourceUriAware {
63
61
  }
64
62
 
65
63
  override handle(action: Action): void | ICommand | Action {
66
- if (isRequestModelAction(action) && action.options) {
64
+ if (RequestModelAction.is(action) && action.options) {
67
65
  this._sourceUri = action.options.sourceUri as string;
68
66
  }
69
67
  return super.handle(action);
70
68
  }
71
69
 
72
70
  override handleLocally(action: Action): boolean {
73
- if (isServerMessageAction(action)) {
71
+ if (ServerMessageAction.is(action)) {
74
72
  return this.handleServerMessageAction(action);
75
73
  }
76
- if (isSetEditModeAction(action)) {
74
+ if (SetEditModeAction.is(action)) {
77
75
  return this.handleSetEditModeAction(action);
78
76
  }
79
77
  return super.handleLocally(action);
@@ -101,7 +99,7 @@ export function isReceivedFromServer(action: Action): boolean {
101
99
  return (action as any)[receivedFromServerProperty] === true;
102
100
  }
103
101
 
104
- export function registerDefaultGLSPServerActions(registry: ActionHandlerRegistry, diagramServer: DiagramServer): void {
102
+ export function registerDefaultGLSPServerActions(registry: ActionHandlerRegistry, diagramServer: DiagramServerProxy): void {
105
103
  registry.register(ServerMessageAction.KIND, diagramServer);
106
104
  registry.register(ServerStatusAction.KIND, diagramServer);
107
105
  registry.register(ExportSvgAction.KIND, diagramServer);