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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/css/glsp-sprotty.css +110 -8
  2. package/lib/base/action-dispatcher.d.ts +2 -1
  3. package/lib/base/action-dispatcher.d.ts.map +1 -1
  4. package/lib/base/action-dispatcher.js +13 -5
  5. package/lib/base/action-dispatcher.js.map +1 -1
  6. package/lib/base/actions/focus-change-action.d.ts +16 -7
  7. package/lib/base/actions/focus-change-action.d.ts.map +1 -1
  8. package/lib/base/actions/focus-change-action.js +31 -12
  9. package/lib/base/actions/focus-change-action.js.map +1 -1
  10. package/lib/base/actions/sprotty-actions.d.ts +7 -0
  11. package/lib/base/actions/sprotty-actions.d.ts.map +1 -0
  12. package/lib/{features/tool-palette/palette-item.js → base/actions/sprotty-actions.js} +4 -20
  13. package/lib/base/actions/sprotty-actions.js.map +1 -0
  14. package/lib/base/auto-complete/auto-complete-actions.d.ts +5 -3
  15. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  16. package/lib/base/auto-complete/auto-complete-actions.js +24 -5
  17. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  18. package/lib/base/auto-complete/auto-complete-widget.d.ts +9 -2
  19. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  20. package/lib/base/auto-complete/auto-complete-widget.js +16 -9
  21. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  22. package/lib/base/auto-complete/validation-decorator.js +2 -2
  23. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  24. package/lib/base/command-stack.d.ts.map +1 -1
  25. package/lib/base/command-stack.js +6 -5
  26. package/lib/base/command-stack.js.map +1 -1
  27. package/lib/base/di.config.d.ts +1 -1
  28. package/lib/base/di.config.d.ts.map +1 -1
  29. package/lib/base/di.config.js +13 -14
  30. package/lib/base/di.config.js.map +1 -1
  31. package/lib/base/drag-aware-mouse-listener.d.ts +1 -1
  32. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  33. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  34. package/lib/base/editor-context-service.d.ts +13 -1
  35. package/lib/base/editor-context-service.d.ts.map +1 -1
  36. package/lib/base/editor-context-service.js +23 -10
  37. package/lib/base/editor-context-service.js.map +1 -1
  38. package/lib/base/focus-tracker.d.ts +1 -1
  39. package/lib/base/focus-tracker.d.ts.map +1 -1
  40. package/lib/base/focus-tracker.js +4 -4
  41. package/lib/base/focus-tracker.js.map +1 -1
  42. package/lib/base/model/model-registry.d.ts.map +1 -1
  43. package/lib/base/model/model-registry.js +2 -2
  44. package/lib/base/model/model-registry.js.map +1 -1
  45. package/lib/base/model/update-model-command.d.ts +1 -1
  46. package/lib/base/model/update-model-command.d.ts.map +1 -1
  47. package/lib/base/model/update-model-command.js +15 -15
  48. package/lib/base/model/update-model-command.js.map +1 -1
  49. package/lib/base/model-initialization-constraint.d.ts +4 -5
  50. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  51. package/lib/base/model-initialization-constraint.js +11 -13
  52. package/lib/base/model-initialization-constraint.js.map +1 -1
  53. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  54. package/lib/base/selection-clearing-mouse-listener.js +1 -1
  55. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  56. package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
  57. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  58. package/lib/base/tool-manager/glsp-tool-manager.js +10 -10
  59. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  60. package/lib/base/tool-manager/tool-actions.d.ts +14 -0
  61. package/lib/base/tool-manager/tool-actions.d.ts.map +1 -0
  62. package/lib/base/tool-manager/tool-actions.js +25 -0
  63. package/lib/base/tool-manager/tool-actions.js.map +1 -0
  64. package/lib/base/types.d.ts +144 -20
  65. package/lib/base/types.d.ts.map +1 -1
  66. package/lib/base/types.js +14 -26
  67. package/lib/base/types.js.map +1 -1
  68. package/lib/base/view/view-registry.d.ts.map +1 -1
  69. package/lib/base/view/view-registry.js +2 -2
  70. package/lib/base/view/view-registry.js.map +1 -1
  71. package/lib/features/change-bounds/model.d.ts +1 -1
  72. package/lib/features/change-bounds/model.d.ts.map +1 -1
  73. package/lib/features/change-bounds/model.js +3 -3
  74. package/lib/features/change-bounds/model.js.map +1 -1
  75. package/lib/features/change-bounds/movement-restrictor.d.ts +1 -1
  76. package/lib/features/change-bounds/movement-restrictor.js +6 -6
  77. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  78. package/lib/features/change-bounds/snap.d.ts +42 -1
  79. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  80. package/lib/features/change-bounds/snap.js +78 -2
  81. package/lib/features/change-bounds/snap.js.map +1 -1
  82. package/lib/features/change-bounds/snap.spec.d.ts +17 -0
  83. package/lib/features/change-bounds/snap.spec.d.ts.map +1 -0
  84. package/lib/features/change-bounds/snap.spec.js +82 -0
  85. package/lib/features/change-bounds/snap.spec.js.map +1 -0
  86. package/lib/features/command-palette/command-palette-tool.js +3 -3
  87. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  88. package/lib/features/command-palette/di.config.d.ts +2 -2
  89. package/lib/features/command-palette/di.config.d.ts.map +1 -1
  90. package/lib/features/command-palette/di.config.js +6 -6
  91. package/lib/features/command-palette/di.config.js.map +1 -1
  92. package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -1
  93. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  94. package/lib/features/command-palette/server-command-palette-provider.js +13 -10
  95. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  96. package/lib/features/context-menu/delete-element-context-menu.d.ts +17 -1
  97. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  98. package/lib/features/context-menu/delete-element-context-menu.js +4 -4
  99. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  100. package/lib/features/context-menu/di.config.d.ts +1 -1
  101. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  102. package/lib/features/context-menu/di.config.js +8 -7
  103. package/lib/features/context-menu/di.config.js.map +1 -1
  104. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +17 -1
  105. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  106. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +8 -23
  107. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  108. package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -1
  109. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  110. package/lib/features/context-menu/server-context-menu-provider.js +8 -7
  111. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  112. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +12 -15
  113. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  114. package/lib/features/copy-paste/copy-paste-context-menu.js +26 -33
  115. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  116. package/lib/features/copy-paste/copy-paste-handler.d.ts +1 -1
  117. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  118. package/lib/features/copy-paste/copy-paste-handler.js +10 -11
  119. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  120. package/lib/features/copy-paste/di.config.d.ts +1 -1
  121. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  122. package/lib/features/copy-paste/di.config.js +5 -7
  123. package/lib/features/copy-paste/di.config.js.map +1 -1
  124. package/lib/features/decoration/decoration-placer.d.ts +1 -1
  125. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  126. package/lib/features/decoration/decoration-placer.js +19 -3
  127. package/lib/features/decoration/decoration-placer.js.map +1 -1
  128. package/lib/features/decoration/di.config.d.ts +2 -2
  129. package/lib/features/decoration/di.config.d.ts.map +1 -1
  130. package/lib/features/decoration/di.config.js +4 -4
  131. package/lib/features/decoration/di.config.js.map +1 -1
  132. package/lib/features/edit-label/di.config.d.ts +1 -1
  133. package/lib/features/edit-label/di.config.d.ts.map +1 -1
  134. package/lib/features/edit-label/di.config.js +5 -5
  135. package/lib/features/edit-label/di.config.js.map +1 -1
  136. package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
  137. package/lib/features/edit-label/edit-label-tool.js +2 -2
  138. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  139. package/lib/features/edit-label/edit-label-validator.d.ts +4 -6
  140. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  141. package/lib/features/edit-label/edit-label-validator.js +11 -13
  142. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  143. package/lib/features/hints/di.config.js +4 -4
  144. package/lib/features/hints/di.config.js.map +1 -1
  145. package/lib/features/hints/type-hints.d.ts +15 -5
  146. package/lib/features/hints/type-hints.d.ts.map +1 -1
  147. package/lib/features/hints/type-hints.js +29 -26
  148. package/lib/features/hints/type-hints.js.map +1 -1
  149. package/lib/features/hover/di.config.d.ts.map +1 -1
  150. package/lib/features/hover/di.config.js +11 -9
  151. package/lib/features/hover/di.config.js.map +1 -1
  152. package/lib/features/hover/hover.d.ts +4 -2
  153. package/lib/features/hover/hover.d.ts.map +1 -1
  154. package/lib/features/hover/hover.js +23 -5
  155. package/lib/features/hover/hover.js.map +1 -1
  156. package/lib/features/layout/di.config.d.ts +1 -1
  157. package/lib/features/layout/di.config.d.ts.map +1 -1
  158. package/lib/features/layout/di.config.js +6 -4
  159. package/lib/features/layout/di.config.js.map +1 -1
  160. package/lib/features/layout/freeform-layout.d.ts +17 -1
  161. package/lib/features/layout/freeform-layout.d.ts.map +1 -1
  162. package/lib/features/layout/freeform-layout.js +4 -4
  163. package/lib/features/layout/freeform-layout.js.map +1 -1
  164. package/lib/features/layout/hbox-layout.d.ts +41 -0
  165. package/lib/features/layout/hbox-layout.d.ts.map +1 -0
  166. package/lib/features/layout/hbox-layout.js +189 -0
  167. package/lib/features/layout/hbox-layout.js.map +1 -0
  168. package/lib/features/layout/layout-commands.d.ts +65 -38
  169. package/lib/features/layout/layout-commands.d.ts.map +1 -1
  170. package/lib/features/layout/layout-commands.js +90 -67
  171. package/lib/features/layout/layout-commands.js.map +1 -1
  172. package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
  173. package/lib/features/layout/layout-commands.spec.js +35 -23
  174. package/lib/features/layout/layout-commands.spec.js.map +1 -1
  175. package/lib/features/layout/vbox-layout.d.ts +17 -1
  176. package/lib/features/layout/vbox-layout.d.ts.map +1 -1
  177. package/lib/features/layout/vbox-layout.js +9 -8
  178. package/lib/features/layout/vbox-layout.js.map +1 -1
  179. package/lib/features/model-source-watcher/di.config.js +1 -1
  180. package/lib/features/model-source-watcher/di.config.js.map +1 -1
  181. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +1 -1
  182. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
  183. package/lib/features/model-source-watcher/model-source-changed-action-handler.js +11 -11
  184. package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
  185. package/lib/features/mouse-tool/di.config.d.ts +1 -1
  186. package/lib/features/mouse-tool/di.config.d.ts.map +1 -1
  187. package/lib/features/mouse-tool/di.config.js +2 -2
  188. package/lib/features/mouse-tool/di.config.js.map +1 -1
  189. package/lib/features/mouse-tool/mouse-tool.d.ts +9 -5
  190. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  191. package/lib/features/mouse-tool/mouse-tool.js +11 -53
  192. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  193. package/lib/features/navigation/di.config.js +4 -4
  194. package/lib/features/navigation/di.config.js.map +1 -1
  195. package/lib/features/navigation/navigation-action-handler.d.ts +31 -16
  196. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  197. package/lib/features/navigation/navigation-action-handler.js +52 -68
  198. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  199. package/lib/features/navigation/navigation-target-resolver.d.ts +3 -3
  200. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  201. package/lib/features/navigation/navigation-target-resolver.js +8 -9
  202. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  203. package/lib/features/navigation/navigation-target-resolver.spec.js +12 -12
  204. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  205. package/lib/features/reconnect/model.d.ts +1 -1
  206. package/lib/features/reconnect/model.d.ts.map +1 -1
  207. package/lib/features/reconnect/model.js +1 -1
  208. package/lib/features/reconnect/model.js.map +1 -1
  209. package/lib/features/save/di.config.d.ts +1 -1
  210. package/lib/features/save/di.config.d.ts.map +1 -1
  211. package/lib/features/save/di.config.js +3 -3
  212. package/lib/features/save/di.config.js.map +1 -1
  213. package/lib/features/save/save-keylistener.d.ts +1 -1
  214. package/lib/features/save/save-keylistener.d.ts.map +1 -1
  215. package/lib/features/save/save-keylistener.js +3 -3
  216. package/lib/features/save/save-keylistener.js.map +1 -1
  217. package/lib/features/select/di.config.d.ts +1 -1
  218. package/lib/features/select/di.config.d.ts.map +1 -1
  219. package/lib/features/select/di.config.js +7 -8
  220. package/lib/features/select/di.config.js.map +1 -1
  221. package/lib/features/select/select-feedback-action.d.ts +26 -22
  222. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  223. package/lib/features/select/select-feedback-action.js +19 -46
  224. package/lib/features/select/select-feedback-action.js.map +1 -1
  225. package/lib/features/select/select-mouse-listener.d.ts +1 -1
  226. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  227. package/lib/features/select/select-mouse-listener.js +1 -1
  228. package/lib/features/select/select-mouse-listener.js.map +1 -1
  229. package/lib/features/select/selection-service.d.ts +3 -3
  230. package/lib/features/select/selection-service.d.ts.map +1 -1
  231. package/lib/features/select/selection-service.js +28 -23
  232. package/lib/features/select/selection-service.js.map +1 -1
  233. package/lib/features/select/selection-service.spec.js +28 -25
  234. package/lib/features/select/selection-service.spec.js.map +1 -1
  235. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +17 -9
  236. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  237. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +67 -37
  238. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  239. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +23 -11
  240. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  241. package/lib/features/tool-feedback/creation-tool-feedback.js +62 -35
  242. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  243. package/lib/features/tool-feedback/css-feedback.d.ts +17 -10
  244. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  245. package/lib/features/tool-feedback/css-feedback.js +42 -38
  246. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  247. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  248. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  249. package/lib/features/tool-feedback/di.config.js +18 -18
  250. package/lib/features/tool-feedback/di.config.js.map +1 -1
  251. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +44 -22
  252. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  253. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +140 -114
  254. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  255. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +2 -2
  256. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  257. package/lib/features/tool-feedback/feedback-action-dispatcher.js +4 -4
  258. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  259. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +21 -10
  260. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  261. package/lib/features/tool-feedback/marquee-tool-feedback.js +44 -18
  262. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  263. package/lib/features/tool-feedback/model.d.ts +1 -2
  264. package/lib/features/tool-feedback/model.d.ts.map +1 -1
  265. package/lib/features/tool-feedback/model.js +1 -1
  266. package/lib/features/tool-feedback/model.js.map +1 -1
  267. package/lib/features/tool-feedback/view.d.ts +1 -1
  268. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  269. package/lib/features/tool-feedback/view.js +22 -5
  270. package/lib/features/tool-feedback/view.js.map +1 -1
  271. package/lib/features/tool-palette/di.config.d.ts +1 -1
  272. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  273. package/lib/features/tool-palette/di.config.js +5 -4
  274. package/lib/features/tool-palette/di.config.js.map +1 -1
  275. package/lib/features/tool-palette/tool-palette.d.ts +10 -7
  276. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  277. package/lib/features/tool-palette/tool-palette.js +39 -32
  278. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  279. package/lib/features/tools/base-glsp-tool.d.ts +3 -3
  280. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  281. package/lib/features/tools/base-glsp-tool.js +11 -11
  282. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  283. package/lib/features/tools/change-bounds-tool.d.ts +7 -9
  284. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  285. package/lib/features/tools/change-bounds-tool.js +48 -71
  286. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  287. package/lib/features/tools/delete-tool.d.ts +1 -1
  288. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  289. package/lib/features/tools/delete-tool.js +17 -17
  290. package/lib/features/tools/delete-tool.js.map +1 -1
  291. package/lib/features/tools/di.config.js +12 -12
  292. package/lib/features/tools/di.config.js.map +1 -1
  293. package/lib/features/tools/edge-creation-tool.d.ts +1 -1
  294. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  295. package/lib/features/tools/edge-creation-tool.js +28 -21
  296. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  297. package/lib/features/tools/edge-edit-tool.d.ts +3 -2
  298. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  299. package/lib/features/tools/edge-edit-tool.js +41 -36
  300. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  301. package/lib/features/tools/marquee-behavior.d.ts +1 -1
  302. package/lib/features/tools/marquee-behavior.js +2 -2
  303. package/lib/features/tools/marquee-behavior.js.map +1 -1
  304. package/lib/features/tools/marquee-behavior.spec.js +63 -63
  305. package/lib/features/tools/marquee-behavior.spec.js.map +1 -1
  306. package/lib/features/tools/marquee-mouse-tool.d.ts +1 -1
  307. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  308. package/lib/features/tools/marquee-mouse-tool.js +20 -20
  309. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  310. package/lib/features/tools/marquee-tool.d.ts +1 -1
  311. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  312. package/lib/features/tools/marquee-tool.js +4 -4
  313. package/lib/features/tools/marquee-tool.js.map +1 -1
  314. package/lib/features/tools/model.d.ts +3 -2
  315. package/lib/features/tools/model.d.ts.map +1 -1
  316. package/lib/features/tools/model.js +0 -15
  317. package/lib/features/tools/model.js.map +1 -1
  318. package/lib/features/tools/node-creation-tool.d.ts +1 -1
  319. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  320. package/lib/features/tools/node-creation-tool.js +17 -17
  321. package/lib/features/tools/node-creation-tool.js.map +1 -1
  322. package/lib/features/tools/view.d.ts.map +1 -1
  323. package/lib/features/tools/view.js +2 -2
  324. package/lib/features/tools/view.js.map +1 -1
  325. package/lib/features/validation/di.config.d.ts +1 -1
  326. package/lib/features/validation/di.config.d.ts.map +1 -1
  327. package/lib/features/validation/di.config.js +7 -7
  328. package/lib/features/validation/di.config.js.map +1 -1
  329. package/lib/features/validation/marker-navigator.d.ts +16 -8
  330. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  331. package/lib/features/validation/marker-navigator.js +39 -37
  332. package/lib/features/validation/marker-navigator.js.map +1 -1
  333. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  334. package/lib/features/validation/marker-navigator.spec.js +23 -37
  335. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  336. package/lib/features/validation/validate.d.ts +10 -12
  337. package/lib/features/validation/validate.d.ts.map +1 -1
  338. package/lib/features/validation/validate.js +42 -41
  339. package/lib/features/validation/validate.js.map +1 -1
  340. package/lib/features/viewport/di.config.d.ts +1 -1
  341. package/lib/features/viewport/di.config.d.ts.map +1 -1
  342. package/lib/features/viewport/di.config.js +7 -7
  343. package/lib/features/viewport/di.config.js.map +1 -1
  344. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -1
  345. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  346. package/lib/features/viewport/glsp-scroll-mouse-listener.js +3 -3
  347. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  348. package/lib/index.d.ts +4 -5
  349. package/lib/index.d.ts.map +1 -1
  350. package/lib/index.js +11 -8
  351. package/lib/index.js.map +1 -1
  352. package/lib/lib/model.d.ts +3 -2
  353. package/lib/lib/model.d.ts.map +1 -1
  354. package/lib/lib/model.js +0 -15
  355. package/lib/lib/model.js.map +1 -1
  356. package/lib/model-source/glsp-diagram-server.d.ts +5 -5
  357. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  358. package/lib/model-source/glsp-diagram-server.js +7 -6
  359. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  360. package/lib/sprotty-reexport.d.ts +174 -0
  361. package/lib/sprotty-reexport.d.ts.map +1 -0
  362. package/lib/sprotty-reexport.js +299 -0
  363. package/lib/sprotty-reexport.js.map +1 -0
  364. package/lib/utils/argument-utils.js +5 -5
  365. package/lib/utils/argument-utils.js.map +1 -1
  366. package/lib/utils/layout-utils.d.ts +3 -3
  367. package/lib/utils/layout-utils.d.ts.map +1 -1
  368. package/lib/utils/smodel-util.d.ts +117 -11
  369. package/lib/utils/smodel-util.d.ts.map +1 -1
  370. package/lib/utils/smodel-util.js +142 -37
  371. package/lib/utils/smodel-util.js.map +1 -1
  372. package/lib/utils/viewpoint-util.d.ts +3 -3
  373. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  374. package/lib/utils/viewpoint-util.js +19 -3
  375. package/lib/utils/viewpoint-util.js.map +1 -1
  376. package/lib/views/base-view-module.js +19 -19
  377. package/lib/views/base-view-module.js.map +1 -1
  378. package/lib/views/compartments.js +1 -1
  379. package/lib/views/compartments.js.map +1 -1
  380. package/lib/views/glsp-edge-view.d.ts +1 -1
  381. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  382. package/lib/views/glsp-edge-view.js +1 -1
  383. package/lib/views/glsp-edge-view.js.map +1 -1
  384. package/lib/views/index.js +6 -2
  385. package/lib/views/index.js.map +1 -1
  386. package/lib/views/issue-marker-view.d.ts.map +1 -1
  387. package/lib/views/issue-marker-view.js +3 -3
  388. package/lib/views/issue-marker-view.js.map +1 -1
  389. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  390. package/lib/views/rounded-corner-view.js +2 -2
  391. package/lib/views/rounded-corner-view.js.map +1 -1
  392. package/package.json +8 -18
  393. package/src/base/action-dispatcher.ts +17 -8
  394. package/src/base/actions/focus-change-action.ts +25 -8
  395. package/{lib/features/tool-palette/palette-item.d.ts → src/base/actions/sprotty-actions.ts} +11 -11
  396. package/src/base/auto-complete/auto-complete-actions.ts +7 -5
  397. package/src/base/auto-complete/auto-complete-widget.ts +15 -13
  398. package/src/base/command-stack.ts +7 -6
  399. package/src/base/di.config.ts +4 -5
  400. package/src/base/drag-aware-mouse-listener.ts +4 -4
  401. package/src/base/editor-context-service.ts +19 -7
  402. package/src/base/focus-tracker.ts +5 -4
  403. package/src/base/model/model-registry.ts +2 -2
  404. package/src/base/model/update-model-command.ts +9 -10
  405. package/src/base/model-initialization-constraint.ts +9 -11
  406. package/src/base/selection-clearing-mouse-listener.ts +1 -1
  407. package/src/base/tool-manager/glsp-tool-manager.ts +9 -9
  408. package/src/base/tool-manager/tool-actions.ts +37 -0
  409. package/src/base/types.ts +31 -24
  410. package/src/base/view/view-registry.ts +2 -2
  411. package/src/features/change-bounds/model.ts +5 -5
  412. package/src/features/change-bounds/movement-restrictor.ts +3 -3
  413. package/src/features/change-bounds/snap.spec.ts +89 -0
  414. package/src/features/change-bounds/snap.ts +86 -2
  415. package/src/features/command-palette/di.config.ts +5 -7
  416. package/src/features/command-palette/server-command-palette-provider.ts +9 -8
  417. package/src/features/context-menu/delete-element-context-menu.ts +6 -6
  418. package/src/features/context-menu/di.config.ts +3 -2
  419. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +6 -7
  420. package/src/features/context-menu/server-context-menu-provider.ts +7 -6
  421. package/src/features/copy-paste/copy-paste-context-menu.ts +30 -23
  422. package/src/features/copy-paste/copy-paste-handler.ts +6 -6
  423. package/src/features/copy-paste/di.config.ts +7 -15
  424. package/src/features/decoration/decoration-placer.ts +4 -4
  425. package/src/features/decoration/di.config.ts +3 -5
  426. package/src/features/edit-label/di.config.ts +4 -5
  427. package/src/features/edit-label/edit-label-tool.ts +1 -2
  428. package/src/features/edit-label/edit-label-validator.ts +6 -10
  429. package/src/features/hints/di.config.ts +3 -3
  430. package/src/features/hints/type-hints.ts +33 -18
  431. package/src/features/hover/di.config.ts +4 -0
  432. package/src/features/hover/hover.ts +30 -12
  433. package/src/features/layout/di.config.ts +4 -2
  434. package/src/features/layout/freeform-layout.ts +6 -15
  435. package/src/features/layout/hbox-layout.ts +256 -0
  436. package/src/features/layout/layout-commands.spec.ts +38 -22
  437. package/src/features/layout/layout-commands.ts +134 -60
  438. package/src/features/layout/vbox-layout.ts +20 -20
  439. package/src/features/model-source-watcher/model-source-changed-action-handler.ts +7 -12
  440. package/src/features/mouse-tool/di.config.ts +3 -4
  441. package/src/features/mouse-tool/mouse-tool.ts +18 -59
  442. package/src/features/navigation/navigation-action-handler.ts +76 -42
  443. package/src/features/navigation/navigation-target-resolver.spec.ts +3 -3
  444. package/src/features/navigation/navigation-target-resolver.ts +8 -13
  445. package/src/features/reconnect/model.ts +2 -2
  446. package/src/features/save/di.config.ts +2 -3
  447. package/src/features/save/save-keylistener.ts +3 -3
  448. package/src/features/select/di.config.ts +6 -8
  449. package/src/features/select/select-feedback-action.ts +18 -46
  450. package/src/features/select/select-mouse-listener.ts +1 -2
  451. package/src/features/select/selection-service.spec.ts +11 -8
  452. package/src/features/select/selection-service.ts +17 -12
  453. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +51 -21
  454. package/src/features/tool-feedback/creation-tool-feedback.ts +52 -31
  455. package/src/features/tool-feedback/css-feedback.ts +40 -37
  456. package/src/features/tool-feedback/di.config.ts +4 -5
  457. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +132 -88
  458. package/src/features/tool-feedback/feedback-action-dispatcher.ts +4 -3
  459. package/src/features/tool-feedback/marquee-tool-feedback.ts +38 -13
  460. package/src/features/tool-feedback/model.ts +1 -3
  461. package/src/features/tool-feedback/view.tsx +3 -3
  462. package/src/features/tool-palette/di.config.ts +3 -2
  463. package/src/features/tool-palette/tool-palette.ts +35 -19
  464. package/src/features/tools/base-glsp-tool.ts +11 -11
  465. package/src/features/tools/change-bounds-tool.ts +37 -67
  466. package/src/features/tools/delete-tool.ts +9 -9
  467. package/src/features/tools/di.config.ts +10 -10
  468. package/src/features/tools/edge-creation-tool.ts +21 -12
  469. package/src/features/tools/edge-edit-tool.ts +25 -21
  470. package/src/features/tools/marquee-behavior.ts +2 -2
  471. package/src/features/tools/marquee-mouse-tool.ts +13 -14
  472. package/src/features/tools/marquee-tool.ts +3 -3
  473. package/src/features/tools/model.ts +4 -3
  474. package/src/features/tools/node-creation-tool.ts +8 -8
  475. package/src/features/tools/view.tsx +2 -3
  476. package/src/features/validation/di.config.ts +4 -5
  477. package/src/features/validation/marker-navigator.spec.ts +4 -2
  478. package/src/features/validation/marker-navigator.ts +47 -25
  479. package/src/features/validation/validate.ts +31 -24
  480. package/src/features/viewport/di.config.ts +1 -2
  481. package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
  482. package/src/index.ts +4 -5
  483. package/src/lib/model.ts +4 -4
  484. package/src/model-source/glsp-diagram-server.ts +14 -14
  485. package/src/sprotty-reexport.ts +283 -0
  486. package/src/utils/layout-utils.ts +3 -3
  487. package/src/utils/smodel-util.ts +139 -43
  488. package/src/utils/viewpoint-util.ts +5 -14
  489. package/src/views/glsp-edge-view.tsx +4 -4
  490. package/src/views/issue-marker-view.tsx +2 -2
  491. package/src/views/rounded-corner-view.tsx +2 -3
  492. package/lib/features/tool-palette/palette-item.d.ts.map +0 -1
  493. package/lib/features/tool-palette/palette-item.js.map +0 -1
  494. package/lib/protocol-reexport.d.ts +0 -45
  495. package/lib/protocol-reexport.d.ts.map +0 -1
  496. package/lib/protocol-reexport.js +0 -75
  497. package/lib/protocol-reexport.js.map +0 -1
  498. package/src/features/tool-palette/palette-item.ts +0 -38
  499. package/src/protocol-reexport.ts +0 -64
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-glsp/client",
3
- "version": "0.10.0-next.bb1c2fd.157+bb1c2fd",
3
+ "version": "0.10.0-next.e5fcffe.169+e5fcffe",
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,32 +34,22 @@
34
34
  "css"
35
35
  ],
36
36
  "dependencies": {
37
- "@eclipse-glsp/protocol": "0.10.0-next.bb1c2fd.157+bb1c2fd",
37
+ "@eclipse-glsp/protocol": "0.10.0-next.e5fcffe.169+e5fcffe",
38
38
  "autocompleter": "5.1.0",
39
- "sprotty": "0.10.0"
39
+ "sprotty": "next"
40
40
  },
41
41
  "devDependencies": {
42
- "@babel/runtime": "^7.11.2",
43
- "@types/chai": "4.1.3",
44
- "@types/mocha": "^5.2.7",
45
- "@types/node": "10.14.18",
46
42
  "@vscode/codicons": "^0.0.25",
47
- "chai": "^4.2.0",
48
- "ignore-styles": "^5.0.1",
49
- "mocha": "^6.2.0",
50
- "mocha-jenkins-reporter": "0.4.5",
51
- "reflect-metadata": "^0.1.13",
52
- "rimraf": "^2.6.1",
53
- "ts-node": "^8.3.0",
54
- "typescript": "^3.9.2"
43
+ "eslint-import-resolver-typescript": "2.7.0",
44
+ "typescript": "^4.5.5"
55
45
  },
56
46
  "scripts": {
57
47
  "prepare": "yarn clean && yarn build && yarn lint",
58
- "clean": "rimraf lib",
48
+ "clean": "rimraf lib tsconfig.tsbuildinfo ",
59
49
  "build": "tsc",
60
50
  "lint": "eslint -c ./.eslintrc.js --ext .ts,.tsx ./src",
61
51
  "watch": "tsc -w",
62
- "test": "mocha --opts ./mocha.opts \"./src/**/*.spec.?(ts|tsx)\"",
52
+ "test": "mocha --config ../../.mocharc.json \"./src/**/*.spec.?(ts|tsx)\"",
63
53
  "test:ci": "export JUNIT_REPORT_PATH=./report.xml && yarn test --reporter mocha-jenkins-reporter"
64
54
  },
65
55
  "publishConfig": {
@@ -67,5 +57,5 @@
67
57
  },
68
58
  "main": "lib/index",
69
59
  "types": "lib/index",
70
- "gitHead": "bb1c2fd0120feb99965b33b6fdf57fcb7fe0d62d"
60
+ "gitHead": "e5fcffe323165bf82385707b49dcc02903ac9a2b"
71
61
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2021 EclipseSource and others.
2
+ * Copyright (c) 2019-2022 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, 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';
@@ -23,7 +23,7 @@ export class GLSPActionDispatcher extends ActionDispatcher {
23
23
  protected initializedConstraint = false;
24
24
  @inject(ModelInitializationConstraint) protected initializationConstraint: ModelInitializationConstraint;
25
25
 
26
- initialize(): Promise<void> {
26
+ override initialize(): Promise<void> {
27
27
  return super.initialize().then(() => this.startModelInitialization());
28
28
  }
29
29
 
@@ -39,14 +39,14 @@ export class GLSPActionDispatcher extends ActionDispatcher {
39
39
  return this.initializationConstraint.onInitialized();
40
40
  }
41
41
 
42
- dispatch(action: Action): Promise<void> {
42
+ override dispatch(action: Action): Promise<void> {
43
43
  const result = super.dispatch(action);
44
44
  this.initializationConstraint.notifyDispatched(action);
45
45
  return result;
46
46
  }
47
47
 
48
- protected handleAction(action: Action): Promise<void> {
49
- if (isResponseAction(action)) {
48
+ protected override handleAction(action: Action): Promise<void> {
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 {
@@ -51,6 +51,13 @@ export interface TextSubmitHandler {
51
51
  // eslint-disable-next-line @typescript-eslint/no-var-requires
52
52
  const configureAutocomplete: (settings: AutocompleteSettings<LabeledAction>) => AutocompleteResult = require('autocompleter');
53
53
 
54
+ /**
55
+ * The `AutoCompleteWidget` is a reusable UI element that provides a text input supporting auto-completion,
56
+ * validation, validation messages, etc.
57
+ *
58
+ * An example for using it is available in the workflow diagram:
59
+ * https://github.com/eclipse-glsp/glsp-client/blob/master/examples/workflow-glsp/src/direct-task-editing/direct-task-editor.ts
60
+ */
54
61
  export class AutoCompleteWidget {
55
62
  loadingIndicatorClasses = codiconCSSClasses('loading', false, true, ['loading']);
56
63
 
@@ -158,18 +165,13 @@ export class AutoCompleteWidget {
158
165
  fetch: (text: string, update: (items: LabeledAction[]) => void) => this.updateSuggestions(update, text, root),
159
166
  onSelect: (item: LabeledAction) => this.onSelect(item),
160
167
  render: (item: LabeledAction, currentValue: string): HTMLDivElement | undefined => this.renderSuggestions(item, currentValue),
161
- customize: (input: HTMLInputElement, inputRect: ClientRect | DOMRect, container: HTMLDivElement, maxHeight: number) => {
168
+ customize: (input: HTMLInputElement, inputRect: DOMRect, container: HTMLDivElement, maxHeight: number) => {
162
169
  this.customizeInputElement(input, inputRect, container, maxHeight);
163
170
  }
164
171
  };
165
172
  }
166
173
 
167
- protected customizeInputElement(
168
- input: HTMLInputElement,
169
- inputRect: ClientRect | DOMRect,
170
- container: HTMLDivElement,
171
- maxHeight: number
172
- ): void {
174
+ protected customizeInputElement(input: HTMLInputElement, inputRect: DOMRect, container: HTMLDivElement, maxHeight: number): void {
173
175
  // move container into our UIExtension container as this is already positioned correctly
174
176
  if (this.containerElement) {
175
177
  this.containerElement.appendChild(container);
@@ -249,7 +251,7 @@ export class AutoCompleteWidget {
249
251
  }
250
252
 
251
253
  protected onSelect(item: LabeledAction): void {
252
- if (isSetAutoCompleteValueAction(item)) {
254
+ if (AutoCompleteValue.is(item)) {
253
255
  this.inputElement.value = item.text;
254
256
  // trigger update of suggestions with an keyup event
255
257
  window.setTimeout(() => this.inputElement.dispatchEvent(new Event('keyup')));
@@ -317,9 +319,9 @@ export class AutoCompleteWidget {
317
319
  }
318
320
 
319
321
  export function toActionArray(input: LabeledAction | Action[] | Action): Action[] {
320
- if (isLabeledAction(input)) {
322
+ if (LabeledAction.is(input)) {
321
323
  return input.actions;
322
- } else if (isAction(input)) {
324
+ } else if (Action.is(input)) {
323
325
  return [input];
324
326
  }
325
327
  return [];
@@ -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
@@ -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
- undo(): Promise<SModelRoot> {
25
- this.actionDispatcher().then(dispatcher => dispatcher.dispatch(new UndoOperation()));
25
+ override undo(): Promise<SModelRoot> {
26
+ this.actionDispatcher().then(dispatcher => dispatcher.dispatch(UndoOperation.create()));
26
27
  return this.thenUpdate();
27
28
  }
28
29
 
29
- redo(): Promise<SModelRoot> {
30
- this.actionDispatcher().then(dispatcher => dispatcher.dispatch(new RedoOperation()));
30
+ override redo(): Promise<SModelRoot> {
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) 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
@@ -28,19 +28,19 @@ export class DragAwareMouseListener extends MouseListener {
28
28
  private _isMouseDown = false;
29
29
  private _isMouseDrag = false;
30
30
 
31
- mouseDown(target: SModelElement, event: MouseEvent): Action[] {
31
+ override mouseDown(target: SModelElement, event: MouseEvent): Action[] {
32
32
  this._isMouseDown = true;
33
33
  return [];
34
34
  }
35
35
 
36
- mouseMove(target: SModelElement, event: MouseEvent): Action[] {
36
+ override mouseMove(target: SModelElement, event: MouseEvent): Action[] {
37
37
  if (this._isMouseDown) {
38
38
  this._isMouseDrag = true;
39
39
  }
40
40
  return [];
41
41
  }
42
42
 
43
- mouseUp(element: SModelElement, event: MouseEvent): Action[] {
43
+ override mouseUp(element: SModelElement, event: MouseEvent): Action[] {
44
44
  this._isMouseDown = false;
45
45
  if (this._isMouseDrag) {
46
46
  this._isMouseDrag = false;
@@ -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,25 +13,37 @@
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;
25
25
  }
26
26
 
27
+ /**
28
+ * The `EditorContextService` is a central injectable component that gives read-only access to
29
+ * certain aspects of the diagram, such as the currently selected elements, the model root,
30
+ * the edit mode, the latest position of the mouse in the diagram.
31
+ *
32
+ * It has been introduced for two main reasons:
33
+ * 1. to simplify accessing the model root and the current selection from components that are
34
+ * not commands,
35
+ * 2. to conveniently create an EditorContext, which is a context object sent as part of several
36
+ * actions to the server to describe the current state of the editor (selection, last mouse
37
+ * position, etc.).
38
+ */
27
39
  @injectable()
28
40
  export class EditorContextService implements IActionHandler {
29
- @inject(GLSP_TYPES.SelectionService) protected selectionService: SelectionService;
41
+ @inject(TYPES.SelectionService) protected selectionService: SelectionService;
30
42
  @inject(MousePositionTracker) protected mousePositionTracker: MousePositionTracker;
31
43
  @inject(TYPES.ModelSourceProvider) protected modelSource: () => Promise<ModelSource>;
32
44
  protected _editMode: string;
33
45
 
34
- constructor(@multiInject(GLSP_TYPES.IEditModeListener) @optional() protected editModeListeners: EditModeListener[] = []) {}
46
+ constructor(@multiInject(TYPES.IEditModeListener) @optional() protected editModeListeners: EditModeListener[] = []) {}
35
47
 
36
48
  register(editModeListener: EditModeListener): void {
37
49
  distinctAdd(this.editModeListeners, editModeListener);
@@ -58,7 +70,7 @@ export class EditorContextService implements IActionHandler {
58
70
  }
59
71
 
60
72
  handle(action: Action): void {
61
- if (isSetEditModeAction(action)) {
73
+ if (SetEditModeAction.is(action)) {
62
74
  const oldValue = this._editMode;
63
75
  this._editMode = action.editMode;
64
76
  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) {
@@ -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
@@ -18,7 +18,7 @@ import { SModelElement, SModelRegistry } from 'sprotty';
18
18
 
19
19
  @injectable()
20
20
  export class GLSPModelRegistry extends SModelRegistry {
21
- register(key: string, factory: (u: void) => SModelElement): void {
21
+ override register(key: string, factory: (u: void) => SModelElement): void {
22
22
  if (key === undefined) {
23
23
  throw new Error('Key is undefined');
24
24
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2021 EclipseSource and others.
2
+ * Copyright (c) 2019-2022 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, 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()
@@ -68,7 +67,7 @@ export class FeedbackAwareUpdateModelCommand extends UpdateModelCommand {
68
67
  this.actionHandlerRegistryProvider().then(registry => (this.actionHandlerRegistry = registry));
69
68
  }
70
69
 
71
- protected performUpdate(oldRoot: SModelRoot, newRoot: SModelRoot, context: CommandExecutionContext): CommandReturn {
70
+ protected override performUpdate(oldRoot: SModelRoot, newRoot: SModelRoot, context: CommandExecutionContext): CommandReturn {
72
71
  if (this.feedbackActionDispatcher && this.actionHandlerRegistry) {
73
72
  // Create a temporary context wich defines the `newRoot` as `root`
74
73
  // This way we do not corrupt the redo/undo behavior of the super class
@@ -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, UpdateModelAction } 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.
@@ -74,21 +73,20 @@ export abstract class ModelInitializationConstraint {
74
73
  */
75
74
  @injectable()
76
75
  export class DefaultModelInitializationConstraint extends ModelInitializationConstraint {
77
- protected seenNonEmptyUpdateModel = false;
76
+ protected seenNonEmptyModelAction = false;
78
77
 
79
78
  isInitializedAfter(action: Action): boolean {
80
- if (this.isNonEmptyUpdateModel(action)) {
81
- this.seenNonEmptyUpdateModel = true;
82
- } else if (this.seenNonEmptyUpdateModel && action.kind === InitializeCanvasBoundsAction.KIND) {
79
+ if (this.isNonEmptyModelAction(action)) {
80
+ this.seenNonEmptyModelAction = true;
81
+ } else if (this.seenNonEmptyModelAction && action.kind === InitializeCanvasBoundsAction.KIND) {
83
82
  return true;
84
83
  }
85
84
  return false;
86
85
  }
87
86
 
88
- protected isNonEmptyUpdateModel(action: Action): boolean {
89
- if (action && action.kind === UpdateModelAction.KIND) {
90
- const updateModelAction = action as UpdateModelAction;
91
- return updateModelAction.newRoot !== undefined && updateModelAction.newRoot.type !== 'NONE';
87
+ protected isNonEmptyModelAction(action: Action): boolean {
88
+ if (SetModelAction.is(action) || UpdateModelAction.is(action)) {
89
+ return action.newRoot.type !== 'NONE';
92
90
  }
93
91
  return false;
94
92
  }
@@ -30,7 +30,7 @@ import { MouseListener, SModelElement } from 'sprotty';
30
30
  */
31
31
  @injectable()
32
32
  export class SelectionClearingMouseListener extends MouseListener {
33
- mouseDown(_target: SModelElement, event: MouseEvent): never[] {
33
+ override mouseDown(_target: SModelElement, event: MouseEvent): never[] {
34
34
  const selection = document.getSelection();
35
35
  // eslint-disable-next-line no-null/no-null
36
36
  if (selection === null) {