@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 +1 @@
1
- {"version":3,"file":"viewpoint-util.js","sourceRoot":"","sources":["../../src/utils/viewpoint-util.ts"],"names":[],"mappings":";;;AAgBA,qCAUiB;AAEjB;;;;;;;;;;;;GAYG;AACH,SAAgB,mBAAmB,CAAC,MAAqB,EAAE,UAAsB;IAC7E,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;IAC5B,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;IAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IAC9C,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC;IACvB,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC;IAEvB,MAAM,QAAQ,GAAyB,IAAA,6BAAmB,EAAC,MAAM,EAAE,oBAAU,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,QAAQ,EAAE;QACV,MAAM,MAAM,GAAU,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;QAExB,IAAI,IAAI,IAAI,CAAC;QACb,IAAI,IAAI,IAAI,CAAC;KAChB;IAED,OAAO;QACH,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,IAAI;KACV,CAAC;AACN,CAAC;AAtBD,kDAsBC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,OAAoC;IACjE,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAY,CAAC;IACzE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IACrB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IACrC,OAAO,IAAA,yBAAe,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAPD,4CAOC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,MAAmC;IAClE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAFD,gDAEC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,MAAmC;IAC9D,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAFD,wCAEC"}
1
+ {"version":3,"file":"viewpoint-util.js","sourceRoot":"","sources":["../../src/utils/viewpoint-util.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,qDAA4E;AAC5E,qCAAoH;AAEpH;;;;;;;;;;;;GAYG;AACH,SAAgB,mBAAmB,CAAC,MAAqB,EAAE,UAAsB;IAC7E,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;IAC5B,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;IAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IAC9C,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC;IACvB,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC;IAEvB,MAAM,QAAQ,GAAyB,IAAA,6BAAmB,EAAC,MAAM,EAAE,oBAAU,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,QAAQ,EAAE;QACV,MAAM,MAAM,GAAU,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;QAExB,IAAI,IAAI,IAAI,CAAC;QACb,IAAI,IAAI,IAAI,CAAC;KAChB;IAED,OAAO;QACH,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,IAAI;KACV,CAAC;AACN,CAAC;AAtBD,kDAsBC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,OAAoC;IACjE,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAK,CAAC,MAAM,CAAC;IACzE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IACrB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IACrC,OAAO,IAAA,yBAAe,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAPD,4CAOC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,MAAmC;IAClE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAFD,gDAEC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,MAAmC;IAC9D,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAFD,wCAEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-glsp/client",
3
- "version": "0.10.0-next.6bee8eb.163+6bee8eb",
3
+ "version": "0.10.0-next.88e4725.166+88e4725",
4
4
  "description": "A sprotty-based client for GLSP",
5
5
  "license": "(EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0)",
6
6
  "keywords": [
@@ -34,12 +34,13 @@
34
34
  "css"
35
35
  ],
36
36
  "dependencies": {
37
- "@eclipse-glsp/protocol": "0.10.0-next.6bee8eb.163+6bee8eb",
37
+ "@eclipse-glsp/protocol": "0.10.0-next.88e4725.166+88e4725",
38
38
  "autocompleter": "5.1.0",
39
- "sprotty": "0.10.0"
39
+ "sprotty": "next"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@vscode/codicons": "^0.0.25",
43
+ "eslint-import-resolver-typescript": "2.7.0",
43
44
  "typescript": "^4.5.5"
44
45
  },
45
46
  "scripts": {
@@ -56,5 +57,5 @@
56
57
  },
57
58
  "main": "lib/index",
58
59
  "types": "lib/index",
59
- "gitHead": "6bee8ebad7771ab470b4e7299fc8f2c0856b54b5"
60
+ "gitHead": "88e4725bd27f2ebf0fcd925c3e9be16437725159"
60
61
  }
@@ -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, isResponseAction, RequestAction, ResponseAction } from '@eclipse-glsp/protocol';
16
+ import { Action, RequestAction, ResponseAction } from '@eclipse-glsp/protocol';
17
17
  import { inject } from 'inversify';
18
18
  import { ActionDispatcher } from 'sprotty';
19
19
  import { ModelInitializationConstraint } from './model-initialization-constraint';
@@ -46,7 +46,7 @@ export class GLSPActionDispatcher extends ActionDispatcher {
46
46
  }
47
47
 
48
48
  protected override handleAction(action: Action): Promise<void> {
49
- if (isResponseAction(action)) {
49
+ if (ResponseAction.hasValidResponseId(action)) {
50
50
  // clear timeout
51
51
  const timeout = this.timeouts.get(action.responseId);
52
52
  if (timeout !== undefined) {
@@ -64,6 +64,14 @@ export class GLSPActionDispatcher extends ActionDispatcher {
64
64
  return super.handleAction(action);
65
65
  }
66
66
 
67
+ override request<Res extends ResponseAction>(action: RequestAction<Res>): Promise<Res> {
68
+ if (!action.requestId && action.requestId === '') {
69
+ // No request id has been specified. So we use a generated one.
70
+ action.requestId = RequestAction.generateRequestId();
71
+ }
72
+ return super.request(action);
73
+ }
74
+
67
75
  /**
68
76
  * Dispatch a request and waits for a response until the timeout given in `timeoutMs` has
69
77
  * been reached. The returned promise is resolved when a response with matching identifier
@@ -75,8 +83,9 @@ export class GLSPActionDispatcher extends ActionDispatcher {
75
83
  * no value, otherwise it will be rejected.
76
84
  */
77
85
  requestUntil<Res extends ResponseAction>(action: RequestAction<Res>, timeoutMs = 2000, rejectOnTimeout = false): Promise<Res> {
78
- if (!action.requestId) {
79
- return Promise.reject(new Error('Request without requestId'));
86
+ if (!action.requestId && action.requestId === '') {
87
+ // No request id has been specified. So we use a generated one.
88
+ action.requestId = RequestAction.generateRequestId();
80
89
  }
81
90
 
82
91
  const requestId = action.requestId;
@@ -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,14 +13,31 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action } from '@eclipse-glsp/protocol';
16
+ import { Action, hasBooleanProp } from '@eclipse-glsp/protocol';
17
17
 
18
- export class FocusStateChangedAction implements Action {
19
- static KIND = 'focusStateChanged';
20
- readonly kind = FocusStateChangedAction.KIND;
21
- constructor(public readonly hasFocus: boolean) {}
18
+ /**
19
+ * A `FocusStateChangedAction` is dispatched by the client whenever the
20
+ * diagram focus changes (i.e. focus loss or focus gain).
21
+ */
22
+ export interface FocusStateChangedAction extends Action {
23
+ kind: typeof FocusStateChangedAction.KIND;
24
+ /**
25
+ * The new focus state of the diagram.
26
+ */
27
+ hasFocus: boolean;
22
28
  }
23
29
 
24
- export function isFocusStateChangedAction(action: Action): action is FocusStateChangedAction {
25
- return action.kind === FocusStateChangedAction.KIND;
30
+ export namespace FocusStateChangedAction {
31
+ export const KIND = 'focusStateChanged';
32
+
33
+ export function is(object: any): object is FocusStateChangedAction {
34
+ return Action.hasKind(object, KIND) && hasBooleanProp(object, 'hasFocus');
35
+ }
36
+
37
+ export function create(hasFocus = true): FocusStateChangedAction {
38
+ return {
39
+ kind: KIND,
40
+ hasFocus
41
+ };
42
+ }
26
43
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2021 EclipseSource and others.
2
+ * Copyright (c) 2022 STMicroelectronics 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,14 +13,14 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { LabeledAction, TriggerElementCreationAction } from '@eclipse-glsp/protocol';
17
- export interface PaletteItem extends LabeledAction {
18
- readonly id: string;
19
- readonly sortString: string;
20
- readonly children?: PaletteItem[];
16
+ import { Action, hasArrayProp } from '@eclipse-glsp/protocol';
17
+ import { SetBoundsAction } from 'sprotty-protocol/lib/actions';
18
+ declare module 'sprotty-protocol/lib/actions' {
19
+ // eslint-disable-next-line no-shadow
20
+ namespace SetBoundsAction {
21
+ export function is(object: any): object is SetBoundsAction;
22
+ }
21
23
  }
22
- export declare function isPaletteItem(object?: any): object is PaletteItem;
23
- export declare namespace PaletteItem {
24
- function getTriggerAction(item?: PaletteItem): TriggerElementCreationAction | undefined;
25
- }
26
- //# sourceMappingURL=palette-item.d.ts.map
24
+
25
+ SetBoundsAction.is = (object: any): object is SetBoundsAction =>
26
+ Action.hasKind(object, SetBoundsAction.KIND) && hasArrayProp(object, 'bounds');
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020 EclipseSource and others.
2
+ * Copyright (c) 2020-2022 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,12 +13,14 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { LabeledAction } from '@eclipse-glsp/protocol';
16
+ import { hasStringProp, LabeledAction } from '@eclipse-glsp/protocol';
17
17
 
18
- export interface SetAutoCompleteValueAction extends LabeledAction {
18
+ export interface AutoCompleteValue extends LabeledAction {
19
19
  readonly text: string;
20
20
  }
21
21
 
22
- export function isSetAutoCompleteValueAction(action: LabeledAction): action is SetAutoCompleteValueAction {
23
- return action !== undefined && (action as SetAutoCompleteValueAction).text !== undefined;
22
+ export namespace AutoCompleteValue {
23
+ export function is(object: any): object is AutoCompleteValue {
24
+ return LabeledAction.is(object) && hasStringProp(object, 'text');
25
+ }
24
26
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2021 EclipseSource and others.
2
+ * Copyright (c) 2020-2022 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,12 +13,12 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, isAction, isLabeledAction, LabeledAction, ValidationStatus } from '@eclipse-glsp/protocol';
16
+ import { Action, LabeledAction, ValidationStatus } from '@eclipse-glsp/protocol';
17
17
  import { AutocompleteResult, AutocompleteSettings } from 'autocompleter';
18
18
  import { codiconCSSClasses, ILogger, SModelRoot } from 'sprotty';
19
19
  import { toArray } from 'sprotty/lib/utils/iterable';
20
20
  import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
21
- import { isSetAutoCompleteValueAction } from './auto-complete-actions';
21
+ import { AutoCompleteValue } from './auto-complete-actions';
22
22
  import { IValidationDecorator } from './validation-decorator';
23
23
 
24
24
  export interface AutoCompleteSettings {
@@ -158,18 +158,13 @@ export class AutoCompleteWidget {
158
158
  fetch: (text: string, update: (items: LabeledAction[]) => void) => this.updateSuggestions(update, text, root),
159
159
  onSelect: (item: LabeledAction) => this.onSelect(item),
160
160
  render: (item: LabeledAction, currentValue: string): HTMLDivElement | undefined => this.renderSuggestions(item, currentValue),
161
- customize: (input: HTMLInputElement, inputRect: ClientRect | DOMRect, container: HTMLDivElement, maxHeight: number) => {
161
+ customize: (input: HTMLInputElement, inputRect: DOMRect, container: HTMLDivElement, maxHeight: number) => {
162
162
  this.customizeInputElement(input, inputRect, container, maxHeight);
163
163
  }
164
164
  };
165
165
  }
166
166
 
167
- protected customizeInputElement(
168
- input: HTMLInputElement,
169
- inputRect: ClientRect | DOMRect,
170
- container: HTMLDivElement,
171
- maxHeight: number
172
- ): void {
167
+ protected customizeInputElement(input: HTMLInputElement, inputRect: DOMRect, container: HTMLDivElement, maxHeight: number): void {
173
168
  // move container into our UIExtension container as this is already positioned correctly
174
169
  if (this.containerElement) {
175
170
  this.containerElement.appendChild(container);
@@ -249,7 +244,7 @@ export class AutoCompleteWidget {
249
244
  }
250
245
 
251
246
  protected onSelect(item: LabeledAction): void {
252
- if (isSetAutoCompleteValueAction(item)) {
247
+ if (AutoCompleteValue.is(item)) {
253
248
  this.inputElement.value = item.text;
254
249
  // trigger update of suggestions with an keyup event
255
250
  window.setTimeout(() => this.inputElement.dispatchEvent(new Event('keyup')));
@@ -317,9 +312,9 @@ export class AutoCompleteWidget {
317
312
  }
318
313
 
319
314
  export function toActionArray(input: LabeledAction | Action[] | Action): Action[] {
320
- if (isLabeledAction(input)) {
315
+ if (LabeledAction.is(input)) {
321
316
  return input.actions;
322
- } else if (isAction(input)) {
317
+ } else if (Action.is(input)) {
323
318
  return [input];
324
319
  }
325
320
  return [];
@@ -15,19 +15,20 @@
15
15
  ********************************************************************************/
16
16
  import { RedoOperation, UndoOperation } from '@eclipse-glsp/protocol';
17
17
  import { inject, injectable } from 'inversify';
18
- import { CommandStack, IActionDispatcher, SModelRoot, TYPES } from 'sprotty';
18
+ import { CommandStack, IActionDispatcher, SModelRoot } from 'sprotty';
19
+ import { TYPES } from './types';
19
20
 
20
21
  @injectable()
21
22
  export class GLSPCommandStack extends CommandStack {
22
23
  @inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
23
24
 
24
25
  override undo(): Promise<SModelRoot> {
25
- this.actionDispatcher().then(dispatcher => dispatcher.dispatch(new UndoOperation()));
26
+ this.actionDispatcher().then(dispatcher => dispatcher.dispatch(UndoOperation.create()));
26
27
  return this.thenUpdate();
27
28
  }
28
29
 
29
30
  override redo(): Promise<SModelRoot> {
30
- this.actionDispatcher().then(dispatcher => dispatcher.dispatch(new RedoOperation()));
31
+ this.actionDispatcher().then(dispatcher => dispatcher.dispatch(RedoOperation.create()));
31
32
  return this.thenUpdate();
32
33
  }
33
34
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2021 EclipseSource and others.
2
+ * Copyright (c) 2019-2022 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -16,7 +16,7 @@
16
16
  import { InitializeResult, SetEditModeAction } from '@eclipse-glsp/protocol';
17
17
  import '@vscode/codicons/dist/codicon.css';
18
18
  import { Container, ContainerModule } from 'inversify';
19
- import { ActionHandlerRegistry, configureActionHandler, configureCommand, ModelSource, SetModelCommand, TYPES } from 'sprotty';
19
+ import { ActionHandlerRegistry, configureActionHandler, configureCommand, ModelSource, SetModelCommand } from 'sprotty';
20
20
  import '../../css/glsp-sprotty.css';
21
21
  import { GLSPActionDispatcher } from './action-dispatcher';
22
22
  import { FocusStateChangedAction } from './actions/focus-change-action';
@@ -28,13 +28,13 @@ import { GLSPModelRegistry } from './model/model-registry';
28
28
  import { FeedbackAwareUpdateModelCommand, SetModelActionHandler } from './model/update-model-command';
29
29
  import { SelectionClearingMouseListener } from './selection-clearing-mouse-listener';
30
30
  import { GLSPToolManager } from './tool-manager/glsp-tool-manager';
31
- import { GLSP_TYPES } from './types';
31
+ import { TYPES } from './types';
32
32
  import { GLSPViewRegistry } from './view/view-registry';
33
33
 
34
34
  const defaultGLSPModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
35
35
  const context = { bind, _unbind, isBound, rebind };
36
36
  bind(EditorContextService).toSelf().inSingletonScope();
37
- bind(GLSP_TYPES.IEditorContextServiceProvider).toProvider<EditorContextService>(
37
+ bind(TYPES.IEditorContextServiceProvider).toProvider<EditorContextService>(
38
38
  ctx => () =>
39
39
  new Promise<EditorContextService>((resolve, reject) => {
40
40
  if (ctx.container.isBound(EditorContextService)) {
@@ -58,7 +58,6 @@ const defaultGLSPModule = new ContainerModule((bind, _unbind, isBound, rebind) =
58
58
 
59
59
  rebind(TYPES.ICommandStack).to(GLSPCommandStack);
60
60
  bind(GLSPToolManager).toSelf().inSingletonScope();
61
- bind(GLSP_TYPES.IGLSPToolManager).toService(GLSPToolManager);
62
61
  rebind(TYPES.IToolManager).toService(GLSPToolManager);
63
62
  bind(GLSPActionDispatcher).toSelf().inSingletonScope();
64
63
  rebind(TYPES.IActionDispatcher).toService(GLSPActionDispatcher);
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2021 EclipseSource and others.
2
+ * Copyright (c) 2020-2022 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,12 +13,12 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, Args, distinctAdd, EditMode, EditorContext, isSetEditModeAction, remove } from '@eclipse-glsp/protocol';
16
+ import { Action, Args, distinctAdd, EditMode, EditorContext, remove, SetEditModeAction } from '@eclipse-glsp/protocol';
17
17
  import { inject, injectable, multiInject, optional } from 'inversify';
18
- import { IActionHandler, ModelSource, MousePositionTracker, SModelElement, SModelRoot, TYPES } from 'sprotty';
18
+ import { IActionHandler, ModelSource, MousePositionTracker, SModelElement, SModelRoot } from 'sprotty';
19
19
  import { SelectionService } from '../features/select/selection-service';
20
20
  import { isSourceUriAware } from './source-uri-aware';
21
- import { GLSP_TYPES } from './types';
21
+ import { TYPES } from './types';
22
22
 
23
23
  export interface EditModeListener {
24
24
  editModeChanged(newValue: string, oldvalue: string): void;
@@ -26,12 +26,12 @@ export interface EditModeListener {
26
26
 
27
27
  @injectable()
28
28
  export class EditorContextService implements IActionHandler {
29
- @inject(GLSP_TYPES.SelectionService) protected selectionService: SelectionService;
29
+ @inject(TYPES.SelectionService) protected selectionService: SelectionService;
30
30
  @inject(MousePositionTracker) protected mousePositionTracker: MousePositionTracker;
31
31
  @inject(TYPES.ModelSourceProvider) protected modelSource: () => Promise<ModelSource>;
32
32
  protected _editMode: string;
33
33
 
34
- constructor(@multiInject(GLSP_TYPES.IEditModeListener) @optional() protected editModeListeners: EditModeListener[] = []) {}
34
+ constructor(@multiInject(TYPES.IEditModeListener) @optional() protected editModeListeners: EditModeListener[] = []) {}
35
35
 
36
36
  register(editModeListener: EditModeListener): void {
37
37
  distinctAdd(this.editModeListeners, editModeListener);
@@ -58,7 +58,7 @@ export class EditorContextService implements IActionHandler {
58
58
  }
59
59
 
60
60
  handle(action: Action): void {
61
- if (isSetEditModeAction(action)) {
61
+ if (SetEditModeAction.is(action)) {
62
62
  const oldValue = this._editMode;
63
63
  this._editMode = action.editMode;
64
64
  this.notifiyEditModeListeners(oldValue);
@@ -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
@@ -15,8 +15,9 @@
15
15
  ********************************************************************************/
16
16
  import { Action } from '@eclipse-glsp/protocol';
17
17
  import { inject, injectable } from 'inversify';
18
- import { IActionHandler, ICommand, TYPES, ViewerOptions } from 'sprotty';
19
- import { isFocusStateChangedAction } from './actions/focus-change-action';
18
+ import { IActionHandler, ICommand, ViewerOptions } from 'sprotty';
19
+ import { FocusStateChangedAction } from './actions/focus-change-action';
20
+ import { TYPES } from './types';
20
21
 
21
22
  @injectable()
22
23
  export class FocusTracker implements IActionHandler {
@@ -30,7 +31,7 @@ export class FocusTracker implements IActionHandler {
30
31
  }
31
32
 
32
33
  handle(action: Action): void | Action | ICommand {
33
- if (isFocusStateChangedAction(action)) {
34
+ if (FocusStateChangedAction.is(action)) {
34
35
  this._hasFocus = action.hasFocus;
35
36
  const placeholder = document.getElementById(this.options.baseDiv);
36
37
  if (!placeholder) {
@@ -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, isSetModelAction, UpdateModelAction } from '@eclipse-glsp/protocol';
16
+ import { Action, SetModelAction, UpdateModelAction } from '@eclipse-glsp/protocol';
17
17
  import { inject, injectable, multiInject, optional, postConstruct } from 'inversify';
18
18
  import {
19
19
  ActionHandlerRegistry,
@@ -24,20 +24,19 @@ import {
24
24
  IActionHandler,
25
25
  ILogger,
26
26
  SModelRoot,
27
- TYPES,
28
27
  UpdateModelCommand
29
28
  } from 'sprotty';
30
29
  import { IFeedbackActionDispatcher } from '../../features/tool-feedback/feedback-action-dispatcher';
31
30
  import { FeedbackCommand } from '../../features/tool-feedback/model';
32
- import { GLSP_TYPES } from '../types';
31
+ import { TYPES } from '../types';
33
32
 
34
33
  /* ActionHandler that transforms a SetModelAction into an (feedback-aware) UpdateModelAction. This can be done because in sprotty
35
34
  * UpdateModel behaves the same as SetModel if no model is present yet.*/
36
35
  @injectable()
37
36
  export class SetModelActionHandler implements IActionHandler {
38
37
  handle(action: Action): Action | void {
39
- if (isSetModelAction(action)) {
40
- return new UpdateModelAction(action.newRoot, false);
38
+ if (SetModelAction.is(action)) {
39
+ return UpdateModelAction.create(action.newRoot, { animate: false });
41
40
  }
42
41
  }
43
42
  }
@@ -53,14 +52,14 @@ export interface SModelRootListener {
53
52
  @injectable()
54
53
  export class FeedbackAwareUpdateModelCommand extends UpdateModelCommand {
55
54
  @inject(TYPES.ILogger) protected logger: ILogger;
56
- @inject(GLSP_TYPES.IFeedbackActionDispatcher) @optional() protected readonly feedbackActionDispatcher: IFeedbackActionDispatcher;
55
+ @inject(TYPES.IFeedbackActionDispatcher) @optional() protected readonly feedbackActionDispatcher: IFeedbackActionDispatcher;
57
56
  @inject(TYPES.ActionHandlerRegistryProvider) protected actionHandlerRegistryProvider: () => Promise<ActionHandlerRegistry>;
58
- @multiInject(GLSP_TYPES.SModelRootListener) @optional() protected modelRootListeners: SModelRootListener[] = [];
57
+ @multiInject(TYPES.SModelRootListener) @optional() protected modelRootListeners: SModelRootListener[] = [];
59
58
 
60
59
  protected actionHandlerRegistry?: ActionHandlerRegistry;
61
60
 
62
61
  constructor(@inject(TYPES.Action) action: UpdateModelAction) {
63
- super(action);
62
+ super({ animate: true, ...action });
64
63
  }
65
64
 
66
65
  @postConstruct()
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2021 EclipseSource and others.
2
+ * Copyright (c) 2020-2022 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,10 +13,9 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, isSetModelAction, isUpdateModelAction } from '@eclipse-glsp/protocol';
16
+ import { Action, Deferred, SetModelAction, UpdateModelAction } from '@eclipse-glsp/protocol';
17
17
  import { injectable } from 'inversify';
18
18
  import { InitializeCanvasBoundsAction } from 'sprotty';
19
- import { Deferred } from 'sprotty/lib/utils/async';
20
19
 
21
20
  /**
22
21
  * The constraint defining when the initialization of the GLSP model is completed.
@@ -86,7 +85,7 @@ export class DefaultModelInitializationConstraint extends ModelInitializationCon
86
85
  }
87
86
 
88
87
  protected isNonEmptyModelAction(action: Action): boolean {
89
- if (isSetModelAction(action) || isUpdateModelAction(action)) {
88
+ if (SetModelAction.is(action) || UpdateModelAction.is(action)) {
90
89
  return action.newRoot.type !== 'NONE';
91
90
  }
92
91
  return false;
@@ -17,7 +17,7 @@ import { distinctAdd, EditMode } from '@eclipse-glsp/protocol';
17
17
  import { inject, injectable, multiInject, optional, postConstruct } from 'inversify';
18
18
  import { Tool, ToolManager } from 'sprotty';
19
19
  import { EditModeListener, EditorContextService, EditorContextServiceProvider } from '../editor-context-service';
20
- import { GLSP_TYPES } from '../types';
20
+ import { TYPES } from '../types';
21
21
 
22
22
  export interface IGLSPToolManager extends ToolManager {
23
23
  /* Disables all actives tools and activates only default tool with non-edit function*/
@@ -28,9 +28,9 @@ export interface IGLSPToolManager extends ToolManager {
28
28
  export class GLSPToolManager extends ToolManager implements IGLSPToolManager, EditModeListener {
29
29
  protected editorContext?: EditorContextService;
30
30
 
31
- @multiInject(GLSP_TYPES.ITool) @optional() override tools: Tool[];
32
- @multiInject(GLSP_TYPES.IDefaultTool) @optional() override defaultTools: Tool[];
33
- @inject(GLSP_TYPES.IEditorContextServiceProvider) contextServiceProvider: EditorContextServiceProvider;
31
+ @multiInject(TYPES.ITool) @optional() override tools: Tool[];
32
+ @multiInject(TYPES.IDefaultTool) @optional() override defaultTools: Tool[];
33
+ @inject(TYPES.IEditorContextServiceProvider) contextServiceProvider: EditorContextServiceProvider;
34
34
 
35
35
  @postConstruct()
36
36
  protected initialize(): void {
@@ -0,0 +1,37 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2022 STMicroelectronics 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 { Action, hasArrayProp } from '@eclipse-glsp/protocol';
17
+ import { EnableDefaultToolsAction, EnableToolsAction } from 'sprotty/lib/base/tool-manager/tool';
18
+ /* eslint-disable no-shadow */
19
+
20
+ /**
21
+ * Use module augmentation to add the `is` utility function to the tool action namespaces provided by sprotty
22
+ */
23
+ declare module 'sprotty/lib/base/tool-manager/tool' {
24
+ export namespace EnableDefaultToolsAction {
25
+ export function is(object: any): object is EnableDefaultToolsAction;
26
+ }
27
+ export namespace EnableToolsAction {
28
+ export function is(object: any): object is EnableToolsAction;
29
+ }
30
+ }
31
+
32
+ EnableDefaultToolsAction.is = (object: any): object is EnableDefaultToolsAction => Action.hasKind(object, EnableDefaultToolsAction.KIND);
33
+
34
+ EnableToolsAction.is = (object: any): object is EnableToolsAction =>
35
+ Action.hasKind(object, EnableToolsAction.KIND) && hasArrayProp(object, 'toolIds');
36
+
37
+ export { EnableDefaultToolsAction, EnableToolsAction };
package/src/base/types.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
@@ -13,27 +13,34 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- export const GLSP_TYPES = {
17
- IAsyncClipboardService: Symbol.for('IAsyncClipboardService'),
18
- ICommandPaletteActionProviderRegistry: Symbol.for('ICommandPaletteActionProviderRegistry'),
19
- IEditorContextServiceProvider: Symbol.for('IEditorContextProvider'),
20
- IFeedbackActionDispatcher: Symbol.for('IFeedbackActionDispatcher'),
21
- IToolFactory: Symbol.for('Factory<Tool>'),
22
- ITypeHintProvider: Symbol.for('ITypeHintProvider'),
23
- IMovementRestrictor: Symbol.for('IMovmementRestrictor'),
24
- SelectionService: Symbol.for('SelectionService'),
25
- SelectionListener: Symbol.for('SelectionListener'),
26
- SModelRootListener: Symbol.for('SModelRootListener'),
27
- MouseTool: Symbol.for('MouseTool'),
28
- IContextMenuService: Symbol.for('IContextMenuService'),
29
- IContextMenuServiceProvider: Symbol.for('IContextMenuServiceProvider'),
30
- IContextMenuProviderRegistry: Symbol.for('IContextMenuProviderRegistry'),
31
- IContextMenuProvider: Symbol.for('IContextMenuProvider'),
32
- ICopyPasteHandler: Symbol.for('ICopyPasteHandler'),
33
- IGLSPToolManager: Symbol.for('IGLSPToolManager'),
34
- ITool: Symbol.for('ITool'),
35
- IDefaultTool: Symbol.for('IDefaultTool'),
36
- IEditModeListener: Symbol.for('IEditModeListener'),
37
- LayoutRegistration: Symbol.for('LayoutRegistration'),
38
- IMarqueeBehavior: Symbol.for('IMarqueeBehavior')
16
+ import { TYPES as SprottyTYPES } from 'sprotty';
17
+ /**
18
+ * Reexport of the TYPES namespace of sprotty augments with additional GLSP specific service
19
+ * identifiers.
20
+ */
21
+ export const TYPES = {
22
+ ...SprottyTYPES,
23
+ IAsyncClipboardService: Symbol('IAsyncClipboardService'),
24
+ IEditorContextServiceProvider: Symbol('IEditorContextProvider'),
25
+ IFeedbackActionDispatcher: Symbol('IFeedbackActionDispatcher'),
26
+ IToolFactory: Symbol('Factory<Tool>'),
27
+ ITypeHintProvider: Symbol('ITypeHintProvider'),
28
+ IMovementRestrictor: Symbol('IMovementRestrictor'),
29
+ SelectionService: Symbol('SelectionService'),
30
+ SelectionListener: Symbol('SelectionListener'),
31
+ SModelRootListener: Symbol('SModelRootListener'),
32
+ MouseTool: Symbol('MouseTool'),
33
+ IContextMenuProvider: Symbol('IContextMenuProvider'),
34
+ ICopyPasteHandler: Symbol('ICopyPasteHandler'),
35
+ ITool: Symbol('ITool'),
36
+ IDefaultTool: Symbol('IDefaultTool'),
37
+ IEditModeListener: Symbol('IEditModeListener'),
38
+ IMarqueeBehavior: Symbol('IMarqueeBehavior')
39
39
  };
40
+
41
+ /**
42
+ * Keep a reexport under the old deprecated namespace to avoid hard API breaks.
43
+ * This gives adopters a grace period but all deprecated API will be removed before the 1.0.0 release.
44
+ * @deprecated Please use `TYPES` from `@eclipse-glsp/client` instead
45
+ */
46
+ export const GLSP_TYPES = TYPES;
@@ -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,7 @@ export function createMovementRestrictionFeedback(
33
33
  if (element instanceof SParentElement) {
34
34
  element.children.filter(child => child instanceof SResizeHandle).forEach(e => elements.push(e));
35
35
  }
36
- return new ModifyCSSFeedbackAction(elements, movementRestrictor.cssClasses);
36
+ return ModifyCSSFeedbackAction.create({ elements, add: movementRestrictor.cssClasses });
37
37
  }
38
38
 
39
39
  export function removeMovementRestrictionFeedback(
@@ -45,7 +45,7 @@ export function removeMovementRestrictionFeedback(
45
45
  element.children.filter(child => child instanceof SResizeHandle).forEach(e => elements.push(e));
46
46
  }
47
47
 
48
- return new ModifyCSSFeedbackAction(elements, undefined, movementRestrictor.cssClasses);
48
+ return ModifyCSSFeedbackAction.create({ elements, remove: movementRestrictor.cssClasses });
49
49
  }
50
50
 
51
51
  @injectable()