@eclipse-glsp/client 0.9.0-next.d2f88f00 → 0.9.0-next.d3c64530

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 (581) hide show
  1. package/LICENSE +642 -277
  2. package/README.md +2 -1
  3. package/css/command-palette.css +9 -5
  4. package/css/decoration.css +3 -2
  5. package/css/glsp-sprotty.css +16 -7
  6. package/css/tool-palette.css +44 -27
  7. package/lib/base/action-dispatcher.d.ts +17 -1
  8. package/lib/base/action-dispatcher.d.ts.map +1 -1
  9. package/lib/base/action-dispatcher.js +41 -61
  10. package/lib/base/action-dispatcher.js.map +1 -1
  11. package/lib/base/actions/focus-change-action.d.ts +1 -1
  12. package/lib/base/actions/focus-change-action.d.ts.map +1 -1
  13. package/lib/base/actions/focus-change-action.js +4 -5
  14. package/lib/base/actions/focus-change-action.js.map +1 -1
  15. package/lib/base/{args.d.ts → argumentable.d.ts} +3 -5
  16. package/lib/base/argumentable.d.ts.map +1 -0
  17. package/lib/base/{args.js → argumentable.js} +1 -1
  18. package/lib/base/argumentable.js.map +1 -0
  19. package/lib/base/auto-complete/auto-complete-actions.d.ts +1 -1
  20. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  21. package/lib/base/auto-complete/auto-complete-widget.d.ts +3 -3
  22. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  23. package/lib/base/auto-complete/auto-complete-widget.js +119 -153
  24. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  25. package/lib/base/auto-complete/validation-decorator.d.ts +3 -18
  26. package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -1
  27. package/lib/base/auto-complete/validation-decorator.js +44 -65
  28. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  29. package/lib/base/command-stack.d.ts.map +1 -1
  30. package/lib/base/command-stack.js +19 -37
  31. package/lib/base/command-stack.js.map +1 -1
  32. package/lib/base/container-modules.d.ts +40 -0
  33. package/lib/base/container-modules.d.ts.map +1 -0
  34. package/lib/base/container-modules.js +100 -0
  35. package/lib/base/container-modules.js.map +1 -0
  36. package/lib/base/di.config.d.ts +12 -2
  37. package/lib/base/di.config.d.ts.map +1 -1
  38. package/lib/base/di.config.js +43 -27
  39. package/lib/base/di.config.js.map +1 -1
  40. package/lib/base/drag-aware-mouse-listener.d.ts +3 -2
  41. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  42. package/lib/base/drag-aware-mouse-listener.js +23 -62
  43. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  44. package/lib/base/{editor-context.d.ts → editor-context-service.d.ts} +18 -22
  45. package/lib/base/editor-context-service.d.ts.map +1 -0
  46. package/lib/base/editor-context-service.js +109 -0
  47. package/lib/base/editor-context-service.js.map +1 -0
  48. package/lib/base/focus-tracker.d.ts +17 -1
  49. package/lib/base/focus-tracker.d.ts.map +1 -1
  50. package/lib/base/focus-tracker.js +19 -39
  51. package/lib/base/focus-tracker.js.map +1 -1
  52. package/lib/base/model/model-registry.js +10 -28
  53. package/lib/base/model/model-registry.js.map +1 -1
  54. package/lib/base/model/update-model-command.d.ts +19 -5
  55. package/lib/base/model/update-model-command.d.ts.map +1 -1
  56. package/lib/base/model/update-model-command.js +69 -94
  57. package/lib/base/model/update-model-command.js.map +1 -1
  58. package/lib/base/model-initialization-constraint.d.ts +16 -1
  59. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  60. package/lib/base/model-initialization-constraint.js +34 -54
  61. package/lib/base/model-initialization-constraint.js.map +1 -1
  62. package/lib/base/selection-clearing-mouse-listener.js +10 -28
  63. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  64. package/lib/base/source-uri-aware.js +2 -5
  65. package/lib/base/source-uri-aware.js.map +1 -1
  66. package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
  67. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  68. package/lib/base/tool-manager/glsp-tool-manager.js +58 -140
  69. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  70. package/lib/base/types.d.ts +3 -1
  71. package/lib/base/types.d.ts.map +1 -1
  72. package/lib/base/types.js +4 -2
  73. package/lib/base/types.js.map +1 -1
  74. package/lib/base/view/view-registry.js +10 -28
  75. package/lib/base/view/view-registry.js.map +1 -1
  76. package/lib/features/change-bounds/model.d.ts +3 -1
  77. package/lib/features/change-bounds/model.d.ts.map +1 -1
  78. package/lib/features/change-bounds/model.js +20 -31
  79. package/lib/features/change-bounds/model.js.map +1 -1
  80. package/lib/features/change-bounds/movement-restrictor.d.ts +17 -1
  81. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  82. package/lib/features/change-bounds/movement-restrictor.js +28 -42
  83. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  84. package/lib/features/change-bounds/snap.d.ts +17 -1
  85. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  86. package/lib/features/change-bounds/snap.js +13 -39
  87. package/lib/features/change-bounds/snap.js.map +1 -1
  88. package/lib/features/command-palette/command-palette-tool.js +30 -38
  89. package/lib/features/command-palette/command-palette-tool.js.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 +18 -2
  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 +28 -33
  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 +1 -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 +20 -68
  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 -8
  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.map +1 -1
  105. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +29 -67
  106. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  107. package/lib/features/context-menu/server-context-menu-provider.d.ts +18 -2
  108. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  109. package/lib/features/context-menu/server-context-menu-provider.js +30 -31
  110. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  111. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +22 -2
  112. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  113. package/lib/features/copy-paste/copy-paste-context-menu.js +99 -72
  114. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  115. package/lib/features/copy-paste/copy-paste-handler.d.ts +19 -2
  116. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  117. package/lib/features/copy-paste/copy-paste-handler.js +70 -70
  118. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  119. package/lib/features/copy-paste/di.config.d.ts +1 -1
  120. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  121. package/lib/features/copy-paste/di.config.js +11 -11
  122. package/lib/features/copy-paste/di.config.js.map +1 -1
  123. package/lib/features/decoration/decoration-placer.d.ts +17 -1
  124. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  125. package/lib/features/decoration/decoration-placer.js +12 -46
  126. package/lib/features/decoration/decoration-placer.js.map +1 -1
  127. package/lib/features/decoration/di.config.js +4 -4
  128. package/lib/features/decoration/di.config.js.map +1 -1
  129. package/lib/features/edit-label/di.config.js +7 -7
  130. package/lib/features/edit-label/di.config.js.map +1 -1
  131. package/lib/features/edit-label/edit-label-tool.js +20 -43
  132. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  133. package/lib/features/edit-label/edit-label-validator.d.ts +16 -1
  134. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  135. package/lib/features/edit-label/edit-label-validator.js +40 -62
  136. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  137. package/lib/features/hints/di.config.d.ts +0 -15
  138. package/lib/features/hints/di.config.d.ts.map +1 -1
  139. package/lib/features/hints/di.config.js +9 -9
  140. package/lib/features/hints/di.config.js.map +1 -1
  141. package/lib/features/hints/model.d.ts +3 -2
  142. package/lib/features/hints/model.d.ts.map +1 -1
  143. package/lib/features/hints/model.js.map +1 -1
  144. package/lib/features/hints/type-hints.d.ts +17 -45
  145. package/lib/features/hints/type-hints.d.ts.map +1 -1
  146. package/lib/features/hints/type-hints.js +81 -140
  147. package/lib/features/hints/type-hints.js.map +1 -1
  148. package/lib/features/hover/di.config.d.ts +1 -1
  149. package/lib/features/hover/di.config.d.ts.map +1 -1
  150. package/lib/features/hover/di.config.js +8 -8
  151. package/lib/features/hover/di.config.js.map +1 -1
  152. package/lib/features/hover/hover.d.ts +17 -1
  153. package/lib/features/hover/hover.d.ts.map +1 -1
  154. package/lib/features/hover/hover.js +37 -77
  155. package/lib/features/hover/hover.js.map +1 -1
  156. package/lib/features/layout/di.config.d.ts +5 -1
  157. package/lib/features/layout/di.config.d.ts.map +1 -1
  158. package/lib/features/layout/di.config.js +47 -7
  159. package/lib/features/layout/di.config.js.map +1 -1
  160. package/lib/features/layout/freeform-layout.d.ts +16 -0
  161. package/lib/features/layout/freeform-layout.d.ts.map +1 -0
  162. package/lib/features/layout/freeform-layout.js +107 -0
  163. package/lib/features/layout/freeform-layout.js.map +1 -0
  164. package/lib/features/layout/layout-commands.d.ts +19 -3
  165. package/lib/features/layout/layout-commands.d.ts.map +1 -1
  166. package/lib/features/layout/layout-commands.js +189 -265
  167. package/lib/features/layout/layout-commands.js.map +1 -1
  168. package/lib/features/layout/layout-commands.spec.d.ts +0 -15
  169. package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
  170. package/lib/features/layout/layout-commands.spec.js +95 -89
  171. package/lib/features/layout/layout-commands.spec.js.map +1 -1
  172. package/lib/features/layout/vbox-layout.d.ts +25 -0
  173. package/lib/features/layout/vbox-layout.d.ts.map +1 -0
  174. package/lib/features/layout/vbox-layout.js +188 -0
  175. package/lib/features/layout/vbox-layout.js.map +1 -0
  176. package/lib/features/model-source-watcher/di.config.d.ts +0 -15
  177. package/lib/features/model-source-watcher/di.config.d.ts.map +1 -1
  178. package/lib/features/model-source-watcher/di.config.js +7 -7
  179. package/lib/features/model-source-watcher/di.config.js.map +1 -1
  180. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +17 -2
  181. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
  182. package/lib/features/model-source-watcher/model-source-changed-action-handler.js +38 -46
  183. package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
  184. package/lib/features/mouse-tool/di.config.js +5 -5
  185. package/lib/features/mouse-tool/di.config.js.map +1 -1
  186. package/lib/features/mouse-tool/mouse-tool.d.ts +2 -1
  187. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  188. package/lib/features/mouse-tool/mouse-tool.js +70 -215
  189. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  190. package/lib/features/navigation/di.config.d.ts +0 -15
  191. package/lib/features/navigation/di.config.d.ts.map +1 -1
  192. package/lib/features/navigation/di.config.js +11 -10
  193. package/lib/features/navigation/di.config.js.map +1 -1
  194. package/lib/features/navigation/navigation-action-handler.d.ts +19 -38
  195. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  196. package/lib/features/navigation/navigation-action-handler.js +118 -254
  197. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  198. package/lib/features/navigation/navigation-target-resolver.d.ts +18 -40
  199. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  200. package/lib/features/navigation/navigation-target-resolver.js +46 -188
  201. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  202. package/lib/features/navigation/navigation-target-resolver.spec.d.ts +0 -15
  203. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -1
  204. package/lib/features/navigation/navigation-target-resolver.spec.js +26 -26
  205. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  206. package/lib/features/rank/model.d.ts +1 -1
  207. package/lib/features/rank/model.js +2 -2
  208. package/lib/features/rank/model.js.map +1 -1
  209. package/lib/features/reconnect/model.d.ts +1 -1
  210. package/lib/features/reconnect/model.d.ts.map +1 -1
  211. package/lib/features/reconnect/model.js +9 -27
  212. package/lib/features/reconnect/model.js.map +1 -1
  213. package/lib/features/save/di.config.d.ts +1 -1
  214. package/lib/features/save/di.config.d.ts.map +1 -1
  215. package/lib/features/save/di.config.js +6 -6
  216. package/lib/features/save/di.config.js.map +1 -1
  217. package/lib/features/save/{save.d.ts → save-keylistener.d.ts} +4 -10
  218. package/lib/features/save/save-keylistener.d.ts.map +1 -0
  219. package/lib/features/{undo-redo/model.d.ts → save/save-keylistener.js} +16 -12
  220. package/lib/features/save/save-keylistener.js.map +1 -0
  221. package/lib/features/select/di.config.js +11 -11
  222. package/lib/features/select/di.config.js.map +1 -1
  223. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  224. package/lib/features/select/select-feedback-action.js +45 -71
  225. package/lib/features/select/select-feedback-action.js.map +1 -1
  226. package/lib/features/select/select-mouse-listener.js +7 -23
  227. package/lib/features/select/select-mouse-listener.js.map +1 -1
  228. package/lib/features/select/selection-service.d.ts +17 -1
  229. package/lib/features/select/selection-service.d.ts.map +1 -1
  230. package/lib/features/select/selection-service.js +134 -236
  231. package/lib/features/select/selection-service.js.map +1 -1
  232. package/lib/features/select/selection-service.spec.js +96 -139
  233. package/lib/features/select/selection-service.spec.js.map +1 -1
  234. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +19 -2
  235. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  236. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +102 -142
  237. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  238. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +17 -1
  239. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  240. package/lib/features/tool-feedback/creation-tool-feedback.js +69 -118
  241. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  242. package/lib/features/tool-feedback/css-feedback.d.ts +20 -2
  243. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  244. package/lib/features/tool-feedback/css-feedback.js +37 -81
  245. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  246. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  247. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  248. package/lib/features/tool-feedback/di.config.js +27 -27
  249. package/lib/features/tool-feedback/di.config.js.map +1 -1
  250. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +18 -2
  251. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  252. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +147 -208
  253. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  254. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +19 -3
  255. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  256. package/lib/features/tool-feedback/feedback-action-dispatcher.js +35 -72
  257. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  258. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +17 -1
  259. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  260. package/lib/features/tool-feedback/marquee-tool-feedback.js +41 -84
  261. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  262. package/lib/features/tool-feedback/model.d.ts +1 -1
  263. package/lib/features/tool-feedback/model.js +11 -27
  264. package/lib/features/tool-feedback/model.js.map +1 -1
  265. package/lib/features/tool-feedback/view.d.ts +21 -5
  266. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  267. package/lib/features/tool-feedback/view.js +29 -51
  268. package/lib/features/tool-feedback/view.js.map +1 -1
  269. package/lib/features/tool-palette/di.config.d.ts +1 -1
  270. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  271. package/lib/features/tool-palette/di.config.js +6 -6
  272. package/lib/features/tool-palette/di.config.js.map +1 -1
  273. package/lib/features/tool-palette/palette-item.d.ts +2 -3
  274. package/lib/features/tool-palette/palette-item.d.ts.map +1 -1
  275. package/lib/features/tool-palette/palette-item.js +6 -6
  276. package/lib/features/tool-palette/palette-item.js.map +1 -1
  277. package/lib/features/tool-palette/tool-palette.d.ts +19 -3
  278. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  279. package/lib/features/tool-palette/tool-palette.js +199 -269
  280. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  281. package/lib/features/tools/base-glsp-tool.d.ts +18 -2
  282. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  283. package/lib/features/tools/base-glsp-tool.js +37 -59
  284. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  285. package/lib/features/tools/change-bounds-tool.d.ts +20 -3
  286. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  287. package/lib/features/tools/change-bounds-tool.js +192 -241
  288. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  289. package/lib/features/tools/delete-tool.d.ts +17 -1
  290. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  291. package/lib/features/tools/delete-tool.js +71 -104
  292. package/lib/features/tools/delete-tool.js.map +1 -1
  293. package/lib/features/tools/di.config.d.ts +0 -15
  294. package/lib/features/tools/di.config.d.ts.map +1 -1
  295. package/lib/features/tools/di.config.js +19 -19
  296. package/lib/features/tools/di.config.js.map +1 -1
  297. package/lib/features/tools/edge-creation-tool.d.ts +17 -2
  298. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  299. package/lib/features/tools/edge-creation-tool.js +62 -87
  300. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  301. package/lib/features/tools/edge-edit-tool.d.ts +17 -1
  302. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  303. package/lib/features/tools/edge-edit-tool.js +112 -183
  304. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  305. package/lib/features/tools/marquee-behavior.d.ts +42 -0
  306. package/lib/features/tools/marquee-behavior.d.ts.map +1 -0
  307. package/lib/features/tools/marquee-behavior.js +128 -0
  308. package/lib/features/tools/marquee-behavior.js.map +1 -0
  309. package/{src/features/undo-redo/model.ts → lib/features/tools/marquee-behavior.spec.d.ts} +3 -12
  310. package/lib/features/tools/marquee-behavior.spec.d.ts.map +1 -0
  311. package/lib/features/tools/marquee-behavior.spec.js +165 -0
  312. package/lib/features/tools/marquee-behavior.spec.js.map +1 -0
  313. package/lib/features/tools/marquee-mouse-tool.d.ts +24 -13
  314. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  315. package/lib/features/tools/marquee-mouse-tool.js +86 -195
  316. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  317. package/lib/features/tools/marquee-tool.d.ts +17 -1
  318. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  319. package/lib/features/tools/marquee-tool.js +32 -73
  320. package/lib/features/tools/marquee-tool.js.map +1 -1
  321. package/lib/features/tools/model.js +4 -22
  322. package/lib/features/tools/model.js.map +1 -1
  323. package/lib/features/tools/node-creation-tool.d.ts +17 -2
  324. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  325. package/lib/features/tools/node-creation-tool.js +60 -90
  326. package/lib/features/tools/node-creation-tool.js.map +1 -1
  327. package/lib/features/tools/view.d.ts +1 -1
  328. package/lib/features/tools/view.d.ts.map +1 -1
  329. package/lib/features/tools/view.js +12 -31
  330. package/lib/features/tools/view.js.map +1 -1
  331. package/lib/features/validation/di.config.js +12 -12
  332. package/lib/features/validation/di.config.js.map +1 -1
  333. package/lib/features/validation/issue-marker.d.ts +2 -2
  334. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  335. package/lib/features/validation/issue-marker.js +17 -55
  336. package/lib/features/validation/issue-marker.js.map +1 -1
  337. package/lib/features/validation/marker-navigator.d.ts +17 -1
  338. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  339. package/lib/features/validation/marker-navigator.js +131 -164
  340. package/lib/features/validation/marker-navigator.js.map +1 -1
  341. package/lib/features/validation/marker-navigator.spec.d.ts +0 -15
  342. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  343. package/lib/features/validation/marker-navigator.spec.js +83 -77
  344. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  345. package/lib/features/validation/validate.d.ts +18 -29
  346. package/lib/features/validation/validate.d.ts.map +1 -1
  347. package/lib/features/validation/validate.js +147 -300
  348. package/lib/features/validation/validate.js.map +1 -1
  349. package/lib/features/viewport/di.config.js +10 -10
  350. package/lib/features/viewport/di.config.js.map +1 -1
  351. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +18 -2
  352. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  353. package/lib/features/viewport/glsp-scroll-mouse-listener.js +16 -47
  354. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  355. package/lib/index.d.ts +9 -15
  356. package/lib/index.d.ts.map +1 -1
  357. package/lib/index.js +29 -34
  358. package/lib/index.js.map +1 -1
  359. package/lib/lib/model.js +11 -27
  360. package/lib/lib/model.js.map +1 -1
  361. package/lib/model-source/glsp-diagram-server.d.ts +3 -5
  362. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  363. package/lib/model-source/glsp-diagram-server.js +60 -121
  364. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  365. package/lib/protocol-reexport.d.ts +45 -0
  366. package/lib/protocol-reexport.d.ts.map +1 -0
  367. package/lib/protocol-reexport.js +75 -0
  368. package/lib/protocol-reexport.js.map +1 -0
  369. package/lib/utils/argument-utils.d.ts +3 -3
  370. package/lib/utils/argument-utils.d.ts.map +1 -1
  371. package/lib/utils/argument-utils.js +32 -97
  372. package/lib/utils/argument-utils.js.map +1 -1
  373. package/lib/utils/html-utils.js +2 -2
  374. package/lib/utils/html-utils.js.map +1 -1
  375. package/lib/utils/layout-utils.d.ts +3 -2
  376. package/lib/utils/layout-utils.d.ts.map +1 -1
  377. package/lib/utils/layout-utils.js +5 -5
  378. package/lib/utils/layout-utils.js.map +1 -1
  379. package/lib/utils/marker.d.ts +0 -38
  380. package/lib/utils/marker.d.ts.map +1 -1
  381. package/lib/utils/marker.js +14 -61
  382. package/lib/utils/marker.js.map +1 -1
  383. package/lib/utils/smodel-util.d.ts +4 -4
  384. package/lib/utils/smodel-util.d.ts.map +1 -1
  385. package/lib/utils/smodel-util.js +16 -65
  386. package/lib/utils/smodel-util.js.map +1 -1
  387. package/lib/utils/viewpoint-util.d.ts +3 -2
  388. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  389. package/lib/utils/viewpoint-util.js +15 -30
  390. package/lib/utils/viewpoint-util.js.map +1 -1
  391. package/lib/views/base-view-module.d.ts +0 -15
  392. package/lib/views/base-view-module.d.ts.map +1 -1
  393. package/lib/views/base-view-module.js +28 -28
  394. package/lib/views/base-view-module.js.map +1 -1
  395. package/lib/views/compartments.d.ts +6 -0
  396. package/lib/views/compartments.d.ts.map +1 -0
  397. package/lib/views/compartments.js +43 -0
  398. package/lib/views/compartments.js.map +1 -0
  399. package/lib/views/glsp-edge-view.d.ts +18 -3
  400. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  401. package/lib/views/glsp-edge-view.js +32 -77
  402. package/lib/views/glsp-edge-view.js.map +1 -1
  403. package/lib/views/index.d.ts +1 -1
  404. package/lib/views/index.d.ts.map +1 -1
  405. package/lib/views/index.js +1 -1
  406. package/lib/views/index.js.map +1 -1
  407. package/lib/views/issue-marker-view.d.ts +2 -1
  408. package/lib/views/issue-marker-view.d.ts.map +1 -1
  409. package/lib/views/issue-marker-view.js +36 -50
  410. package/lib/views/issue-marker-view.js.map +1 -1
  411. package/lib/views/rounded-corner-view.d.ts +2 -3
  412. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  413. package/lib/views/rounded-corner-view.js +40 -70
  414. package/lib/views/rounded-corner-view.js.map +1 -1
  415. package/lib/views/rounded-corner.d.ts +2 -1
  416. package/lib/views/rounded-corner.d.ts.map +1 -1
  417. package/lib/views/rounded-corner.js +44 -65
  418. package/lib/views/rounded-corner.js.map +1 -1
  419. package/package.json +10 -18
  420. package/src/base/action-dispatcher.ts +3 -4
  421. package/src/base/actions/focus-change-action.ts +2 -2
  422. package/src/base/{args.ts → argumentable.ts} +2 -3
  423. package/src/base/auto-complete/auto-complete-actions.ts +1 -1
  424. package/src/base/auto-complete/auto-complete-widget.ts +37 -25
  425. package/src/base/auto-complete/validation-decorator.ts +12 -11
  426. package/src/base/command-stack.ts +2 -5
  427. package/src/base/container-modules.ts +112 -0
  428. package/src/base/di.config.ts +33 -18
  429. package/src/base/drag-aware-mouse-listener.ts +3 -4
  430. package/src/base/{editor-context.ts → editor-context-service.ts} +4 -31
  431. package/src/base/focus-tracker.ts +2 -4
  432. package/src/base/model/update-model-command.ts +8 -16
  433. package/src/base/model-initialization-constraint.ts +3 -2
  434. package/src/base/tool-manager/glsp-tool-manager.ts +3 -5
  435. package/src/base/types.ts +4 -2
  436. package/src/features/change-bounds/model.ts +15 -5
  437. package/src/features/change-bounds/movement-restrictor.ts +17 -9
  438. package/src/features/change-bounds/snap.ts +3 -2
  439. package/src/features/command-palette/server-command-palette-provider.ts +11 -9
  440. package/src/features/context-menu/delete-element-context-menu.ts +3 -4
  441. package/src/features/context-menu/di.config.ts +11 -9
  442. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +4 -3
  443. package/src/features/context-menu/server-context-menu-provider.ts +10 -7
  444. package/src/features/copy-paste/copy-paste-context-menu.ts +59 -30
  445. package/src/features/copy-paste/copy-paste-handler.ts +18 -10
  446. package/src/features/copy-paste/di.config.ts +2 -3
  447. package/src/features/decoration/decoration-placer.ts +3 -13
  448. package/src/features/edit-label/edit-label-validator.ts +11 -12
  449. package/src/features/hints/di.config.ts +2 -3
  450. package/src/features/hints/model.ts +4 -3
  451. package/src/features/hints/type-hints.ts +23 -90
  452. package/src/features/hover/di.config.ts +1 -2
  453. package/src/features/hover/hover.ts +2 -7
  454. package/src/features/layout/di.config.ts +31 -5
  455. package/src/features/layout/freeform-layout.ts +133 -0
  456. package/src/features/layout/layout-commands.spec.ts +82 -64
  457. package/src/features/layout/layout-commands.ts +43 -34
  458. package/src/features/layout/vbox-layout.ts +256 -0
  459. package/src/features/model-source-watcher/di.config.ts +3 -4
  460. package/src/features/model-source-watcher/model-source-changed-action-handler.ts +11 -7
  461. package/src/features/mouse-tool/mouse-tool.ts +33 -23
  462. package/src/features/navigation/di.config.ts +4 -10
  463. package/src/features/navigation/navigation-action-handler.ts +33 -69
  464. package/src/features/navigation/navigation-target-resolver.spec.ts +3 -7
  465. package/src/features/navigation/navigation-target-resolver.ts +13 -91
  466. package/src/features/rank/model.ts +2 -2
  467. package/src/features/reconnect/model.ts +2 -3
  468. package/src/features/save/di.config.ts +2 -3
  469. package/src/features/save/{save.ts → save-keylistener.ts} +3 -11
  470. package/src/features/select/select-feedback-action.ts +4 -6
  471. package/src/features/select/selection-service.spec.ts +11 -6
  472. package/src/features/select/selection-service.ts +14 -10
  473. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +26 -20
  474. package/src/features/tool-feedback/creation-tool-feedback.ts +17 -10
  475. package/src/features/tool-feedback/css-feedback.ts +9 -6
  476. package/src/features/tool-feedback/di.config.ts +2 -5
  477. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +19 -18
  478. package/src/features/tool-feedback/feedback-action-dispatcher.ts +8 -9
  479. package/src/features/tool-feedback/marquee-tool-feedback.ts +4 -5
  480. package/src/features/tool-feedback/model.ts +1 -2
  481. package/src/features/tool-feedback/view.tsx +17 -11
  482. package/src/features/tool-palette/di.config.ts +2 -4
  483. package/src/features/tool-palette/palette-item.ts +4 -6
  484. package/src/features/tool-palette/tool-palette.ts +44 -40
  485. package/src/features/tools/base-glsp-tool.ts +4 -4
  486. package/src/features/tools/change-bounds-tool.ts +64 -34
  487. package/src/features/tools/delete-tool.ts +9 -6
  488. package/src/features/tools/di.config.ts +2 -3
  489. package/src/features/tools/edge-creation-tool.ts +5 -10
  490. package/src/features/tools/edge-edit-tool.ts +10 -20
  491. package/src/features/tools/marquee-behavior.spec.ts +175 -0
  492. package/src/features/tools/marquee-behavior.ts +158 -0
  493. package/src/features/tools/marquee-mouse-tool.ts +43 -134
  494. package/src/features/tools/marquee-tool.ts +2 -3
  495. package/src/features/tools/node-creation-tool.ts +4 -11
  496. package/src/features/tools/view.tsx +17 -12
  497. package/src/features/validation/issue-marker.ts +2 -3
  498. package/src/features/validation/marker-navigator.spec.ts +18 -14
  499. package/src/features/validation/marker-navigator.ts +24 -12
  500. package/src/features/validation/validate.ts +7 -40
  501. package/src/features/viewport/glsp-scroll-mouse-listener.ts +3 -12
  502. package/src/index.ts +30 -19
  503. package/src/model-source/glsp-diagram-server.ts +12 -28
  504. package/src/protocol-reexport.ts +64 -0
  505. package/src/utils/argument-utils.ts +14 -11
  506. package/src/utils/layout-utils.ts +13 -7
  507. package/src/utils/marker.ts +2 -26
  508. package/src/utils/smodel-util.ts +15 -11
  509. package/src/utils/viewpoint-util.ts +4 -4
  510. package/src/views/base-view-module.ts +1 -2
  511. package/src/{base/actions/edit-mode-action.ts → views/compartments.tsx} +18 -14
  512. package/src/views/glsp-edge-view.tsx +21 -14
  513. package/src/views/index.ts +1 -1
  514. package/src/views/issue-marker-view.tsx +28 -19
  515. package/src/views/rounded-corner-view.tsx +38 -25
  516. package/src/views/rounded-corner.ts +5 -6
  517. package/lib/base/actions/context-actions.d.ts +0 -36
  518. package/lib/base/actions/context-actions.d.ts.map +0 -1
  519. package/lib/base/actions/context-actions.js +0 -51
  520. package/lib/base/actions/context-actions.js.map +0 -1
  521. package/lib/base/actions/edit-mode-action.d.ts +0 -13
  522. package/lib/base/actions/edit-mode-action.d.ts.map +0 -1
  523. package/lib/base/actions/edit-mode-action.js +0 -56
  524. package/lib/base/actions/edit-mode-action.js.map +0 -1
  525. package/lib/base/actions/edit-validation-actions.d.ts +0 -78
  526. package/lib/base/actions/edit-validation-actions.d.ts.map +0 -1
  527. package/lib/base/actions/edit-validation-actions.js +0 -83
  528. package/lib/base/actions/edit-validation-actions.js.map +0 -1
  529. package/lib/base/actions/protocol-actions.d.ts +0 -41
  530. package/lib/base/actions/protocol-actions.d.ts.map +0 -1
  531. package/lib/base/actions/protocol-actions.js +0 -151
  532. package/lib/base/actions/protocol-actions.js.map +0 -1
  533. package/lib/base/args.d.ts.map +0 -1
  534. package/lib/base/args.js.map +0 -1
  535. package/lib/base/editor-context.d.ts.map +0 -1
  536. package/lib/base/editor-context.js +0 -174
  537. package/lib/base/editor-context.js.map +0 -1
  538. package/lib/base/operations/operation.d.ts +0 -135
  539. package/lib/base/operations/operation.d.ts.map +0 -1
  540. package/lib/base/operations/operation.js +0 -231
  541. package/lib/base/operations/operation.js.map +0 -1
  542. package/lib/features/copy-paste/copy-paste-actions.d.ts +0 -50
  543. package/lib/features/copy-paste/copy-paste-actions.d.ts.map +0 -1
  544. package/lib/features/copy-paste/copy-paste-actions.js +0 -68
  545. package/lib/features/copy-paste/copy-paste-actions.js.map +0 -1
  546. package/lib/features/hints/request-type-hints-action.d.ts +0 -32
  547. package/lib/features/hints/request-type-hints-action.d.ts.map +0 -1
  548. package/lib/features/hints/request-type-hints-action.js +0 -30
  549. package/lib/features/hints/request-type-hints-action.js.map +0 -1
  550. package/lib/features/model-source-watcher/model-source-changed-action.d.ts +0 -24
  551. package/lib/features/model-source-watcher/model-source-changed-action.d.ts.map +0 -1
  552. package/lib/features/model-source-watcher/model-source-changed-action.js +0 -17
  553. package/lib/features/model-source-watcher/model-source-changed-action.js.map +0 -1
  554. package/lib/features/save/save.d.ts.map +0 -1
  555. package/lib/features/save/save.js +0 -62
  556. package/lib/features/save/save.js.map +0 -1
  557. package/lib/features/undo-redo/model.d.ts.map +0 -1
  558. package/lib/features/undo-redo/model.js +0 -22
  559. package/lib/features/undo-redo/model.js.map +0 -1
  560. package/lib/model-source/glsp-server-status.d.ts +0 -30
  561. package/lib/model-source/glsp-server-status.d.ts.map +0 -1
  562. package/lib/model-source/glsp-server-status.js +0 -61
  563. package/lib/model-source/glsp-server-status.js.map +0 -1
  564. package/lib/utils/array-utils.d.ts +0 -28
  565. package/lib/utils/array-utils.d.ts.map +0 -1
  566. package/lib/utils/array-utils.js +0 -61
  567. package/lib/utils/array-utils.js.map +0 -1
  568. package/lib/views/default-types.d.ts +0 -37
  569. package/lib/views/default-types.d.ts.map +0 -1
  570. package/lib/views/default-types.js +0 -47
  571. package/lib/views/default-types.js.map +0 -1
  572. package/src/base/actions/context-actions.ts +0 -43
  573. package/src/base/actions/edit-validation-actions.ts +0 -103
  574. package/src/base/actions/protocol-actions.ts +0 -82
  575. package/src/base/operations/operation.ts +0 -178
  576. package/src/features/copy-paste/copy-paste-actions.ts +0 -60
  577. package/src/features/hints/request-type-hints-action.ts +0 -36
  578. package/src/features/model-source-watcher/model-source-changed-action.ts +0 -26
  579. package/src/model-source/glsp-server-status.ts +0 -38
  580. package/src/utils/array-utils.ts +0 -55
  581. package/src/views/default-types.ts +0 -48
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020 EclipseSource and others.
2
+ * Copyright (c) 2020-2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,11 +13,10 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { Action, CenterAction, Point } from '@eclipse-glsp/protocol';
16
17
  import { inject, injectable } from 'inversify';
17
18
  import {
18
- Action,
19
19
  BoundsAware,
20
- CenterAction,
21
20
  CenterCommand,
22
21
  Command,
23
22
  CommandExecutionContext,
@@ -28,7 +27,6 @@ import {
28
27
  isSelectable,
29
28
  KeyListener,
30
29
  MenuItem,
31
- Point,
32
30
  Selectable,
33
31
  SelectAction,
34
32
  SIssueMarker,
@@ -38,7 +36,6 @@ import {
38
36
  TYPES
39
37
  } from 'sprotty';
40
38
  import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
41
-
42
39
  import { GLSP_TYPES } from '../../base/types';
43
40
  import { collectIssueMarkers, MarkerPredicates } from '../../utils/marker';
44
41
  import { isSelectableAndBoundsAware } from '../../utils/smodel-util';
@@ -51,7 +48,8 @@ export class NavigateToMarkerAction implements Action {
51
48
  public readonly direction: 'next' | 'previous' = 'next',
52
49
  public readonly selectedElementIds?: string[],
53
50
  public readonly severities: SIssueSeverity[] = MarkerNavigator.ALL_SEVERITIES,
54
- public kind = NavigateToMarkerAction.KIND) { }
51
+ public kind = NavigateToMarkerAction.KIND
52
+ ) {}
55
53
  }
56
54
 
57
55
  export class SModelElementComparator {
@@ -90,7 +88,11 @@ export class MarkerNavigator {
90
88
  @inject(SModelElementComparator)
91
89
  protected markerComparator: SModelElementComparator;
92
90
 
93
- next(root: SModelRoot, current?: SModelElement & BoundsAware, predicate: (marker: SIssueMarker) => boolean = MarkerPredicates.ALL): SIssueMarker | undefined {
91
+ next(
92
+ root: SModelRoot,
93
+ current?: SModelElement & BoundsAware,
94
+ predicate: (marker: SIssueMarker) => boolean = MarkerPredicates.ALL
95
+ ): SIssueMarker | undefined {
94
96
  const markers = this.getMarkers(root, predicate);
95
97
  if (current === undefined) {
96
98
  return markers.length > 0 ? markers[0] : undefined;
@@ -98,7 +100,11 @@ export class MarkerNavigator {
98
100
  return markers[this.getNextIndex(current, markers) % markers.length];
99
101
  }
100
102
 
101
- previous(root: SModelRoot, current?: SModelElement & BoundsAware, predicate: (marker: SIssueMarker) => boolean = MarkerPredicates.ALL): SIssueMarker | undefined {
103
+ previous(
104
+ root: SModelRoot,
105
+ current?: SModelElement & BoundsAware,
106
+ predicate: (marker: SIssueMarker) => boolean = MarkerPredicates.ALL
107
+ ): SIssueMarker | undefined {
102
108
  const markers = this.getMarkers(root, predicate);
103
109
  if (current === undefined) {
104
110
  return markers.length > 0 ? markers[0] : undefined;
@@ -206,7 +212,6 @@ export class NavigateToMarkerCommand extends Command {
206
212
  }
207
213
  return this.centerCommand ? this.centerCommand.redo(context) : context.root;
208
214
  }
209
-
210
215
  }
211
216
 
212
217
  @injectable()
@@ -218,15 +223,22 @@ export class MarkerNavigatorContextMenuItemProvider implements IContextMenuItemP
218
223
  const hasMarkers = collectIssueMarkers(root).length > 0;
219
224
  return Promise.resolve([
220
225
  {
221
- id: 'navigate', label: 'Go to', group: 'navigate', actions: [],
226
+ id: 'navigate',
227
+ label: 'Go to',
228
+ group: 'navigate',
229
+ actions: [],
222
230
  children: [
223
231
  {
224
- id: 'next-marker', label: 'Next marker', group: 'marker',
232
+ id: 'next-marker',
233
+ label: 'Next marker',
234
+ group: 'marker',
225
235
  actions: [new NavigateToMarkerAction('next', selectedElementIds)],
226
236
  isEnabled: () => hasMarkers
227
237
  },
228
238
  {
229
- id: 'previous-marker', label: 'Previous marker', group: 'marker',
239
+ id: 'previous-marker',
240
+ label: 'Previous marker',
241
+ group: 'marker',
230
242
  actions: [new NavigateToMarkerAction('previous', selectedElementIds)],
231
243
  isEnabled: () => hasMarkers
232
244
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2020 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 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,9 +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, DeleteMarkersAction, Marker, SetMarkersAction } from '@eclipse-glsp/protocol';
16
17
  import { inject, injectable, optional } from 'inversify';
17
18
  import {
18
- Action,
19
19
  Command,
20
20
  CommandExecutionContext,
21
21
  CommandReturn,
@@ -27,10 +27,8 @@ import {
27
27
  SParentElement,
28
28
  TYPES
29
29
  } from 'sprotty';
30
-
31
- import { EditorContextService } from '../../base/editor-context';
30
+ import { EditorContextService } from '../../base/editor-context-service';
32
31
  import { GLSP_TYPES } from '../../base/types';
33
- import { Marker } from '../../utils/marker';
34
32
  import { removeCssClasses } from '../../utils/smodel-util';
35
33
  import { getSeverity } from '../hover/hover';
36
34
  import { IFeedbackActionDispatcher, IFeedbackEmitter } from '../tool-feedback/feedback-action-dispatcher';
@@ -43,7 +41,6 @@ import { createSIssue, getOrCreateSIssueMarker, getSIssueMarker } from './issue-
43
41
  */
44
42
  @injectable()
45
43
  export class ValidationFeedbackEmitter implements IFeedbackEmitter {
46
-
47
44
  @inject(GLSP_TYPES.IFeedbackActionDispatcher) protected feedbackActionDispatcher: IFeedbackActionDispatcher;
48
45
 
49
46
  @inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
@@ -51,7 +48,7 @@ export class ValidationFeedbackEmitter implements IFeedbackEmitter {
51
48
  private registeredAction: MarkersAction;
52
49
 
53
50
  // eslint-disable-next-line @typescript-eslint/no-empty-function
54
- private constructor() { }
51
+ private constructor() {}
55
52
 
56
53
  /**
57
54
  * Register the action that should be emitted for visualizing validation feedback.
@@ -73,17 +70,6 @@ export class ValidationFeedbackEmitter implements IFeedbackEmitter {
73
70
  }
74
71
  }
75
72
 
76
- /**
77
- * Action to set markers for a model
78
- */
79
- export class SetMarkersAction implements MarkersAction {
80
- constructor(public readonly markers: Marker[], public readonly kind = SetMarkersCommand.KIND) { }
81
- }
82
-
83
- export function isSetMarkersAction(action: Action): action is SetMarkersAction {
84
- return SetMarkersCommand.KIND === action.kind && ('markers' in action);
85
- }
86
-
87
73
  /**
88
74
  * Manages current markers for the outside of the GLSP.
89
75
  *
@@ -92,7 +78,6 @@ export function isSetMarkersAction(action: Action): action is SetMarkersAction {
92
78
  */
93
79
  @injectable()
94
80
  export abstract class ExternalMarkerManager {
95
-
96
81
  languageLabel: string;
97
82
 
98
83
  protected actionDispatcher?: IActionDispatcher;
@@ -115,12 +100,11 @@ export abstract class ExternalMarkerManager {
115
100
  */
116
101
  @injectable()
117
102
  export class SetMarkersCommand extends Command {
118
-
119
103
  @inject(ValidationFeedbackEmitter) protected validationFeedbackEmitter: ValidationFeedbackEmitter;
120
104
  @inject(ExternalMarkerManager) @optional() protected externalMarkerManager?: ExternalMarkerManager;
121
105
  @inject(EditorContextService) protected editorContextService: EditorContextService;
122
106
 
123
- static readonly KIND = 'setMarkers';
107
+ static readonly KIND = SetMarkersAction.KIND;
124
108
 
125
109
  constructor(@inject(TYPES.Action) public action: SetMarkersAction) {
126
110
  super();
@@ -146,14 +130,6 @@ export class SetMarkersCommand extends Command {
146
130
  }
147
131
  }
148
132
 
149
- /**
150
- * Action to retrieve markers for a model
151
- */
152
- export class RequestMarkersAction implements Action {
153
- static readonly KIND = 'requestMarkers';
154
- constructor(public readonly elementsIDs: string[] = [], public readonly kind = RequestMarkersAction.KIND) { }
155
- }
156
-
157
133
  /**
158
134
  * Interface for actions processing markers
159
135
  */
@@ -166,7 +142,7 @@ export interface MarkersAction extends Action {
166
142
  */
167
143
  @injectable()
168
144
  export class ApplyMarkersAction implements MarkersAction {
169
- constructor(public readonly markers: Marker[], public readonly kind = ApplyMarkersCommand.KIND) { }
145
+ constructor(public readonly markers: Marker[], public readonly kind = ApplyMarkersCommand.KIND) {}
170
146
  }
171
147
 
172
148
  /**
@@ -219,20 +195,12 @@ function removeCSSClassFromIssueParent(modelElement: SParentElement, issueMarker
219
195
  removeCssClasses(modelElement, [getSeverity(issueMarker)]);
220
196
  }
221
197
 
222
- /**
223
- * Action for clearing makers of a model
224
- */
225
- @injectable()
226
- export class DeleteMarkersAction implements MarkersAction {
227
- constructor(public readonly markers: Marker[], public readonly kind = DeleteMarkersCommand.KIND) { }
228
- }
229
-
230
198
  /**
231
199
  * Command for handling `DeleteMarkersAction`
232
200
  */
233
201
  @injectable()
234
202
  export class DeleteMarkersCommand extends Command {
235
- static KIND = 'deleteMarkers';
203
+ static KIND = DeleteMarkersAction.KIND;
236
204
 
237
205
  constructor(@inject(TYPES.Action) protected action: DeleteMarkersAction) {
238
206
  super();
@@ -271,4 +239,3 @@ export class DeleteMarkersCommand extends Command {
271
239
  return this.execute(context);
272
240
  }
273
241
  }
274
-
@@ -13,22 +13,13 @@
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
17
  import { injectable } from 'inversify';
17
- import {
18
- Action,
19
- EnableDefaultToolsAction,
20
- EnableToolsAction,
21
- IActionHandler,
22
- ICommand,
23
- ScrollMouseListener,
24
- SModelElement
25
- } from 'sprotty';
26
-
18
+ import { EnableDefaultToolsAction, EnableToolsAction, IActionHandler, ICommand, ScrollMouseListener, SModelElement } from 'sprotty';
27
19
  import { MarqueeMouseTool } from '../tools/marquee-mouse-tool';
28
20
 
29
21
  @injectable()
30
22
  export class GLSPScrollMouseListener extends ScrollMouseListener implements IActionHandler {
31
-
32
23
  preventScrolling = false;
33
24
 
34
25
  handle(action: Action): void | Action | ICommand {
@@ -41,7 +32,7 @@ export class GLSPScrollMouseListener extends ScrollMouseListener implements IAct
41
32
  }
42
33
  }
43
34
 
44
- mouseDown(target: SModelElement, event: MouseEvent): Action[] {
35
+ mouseDown(target: SModelElement, event: MouseEvent): (Action | Promise<Action>)[] {
45
36
  if (this.preventScrolling) {
46
37
  return [];
47
38
  }
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 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
@@ -35,23 +35,20 @@ import glspViewportModule from './features/viewport/di.config';
35
35
 
36
36
  export * from 'sprotty';
37
37
  export * from './base/action-dispatcher';
38
- export * from './base/actions/context-actions';
39
- export * from './base/actions/edit-mode-action';
40
- export * from './base/actions/edit-validation-actions';
41
38
  export * from './base/actions/focus-change-action';
42
- export * from './base/actions/protocol-actions';
43
- export * from './base/args';
39
+ export * from './base/argumentable';
44
40
  export * from './base/auto-complete/auto-complete-actions';
45
41
  export * from './base/auto-complete/auto-complete-widget';
46
42
  export * from './base/auto-complete/validation-decorator';
47
43
  export * from './base/command-stack';
44
+ export * from './base/container-modules';
45
+ export { configureServerActions } from './base/di.config';
48
46
  export * from './base/drag-aware-mouse-listener';
49
- export * from './base/editor-context';
47
+ export * from './base/editor-context-service';
50
48
  export * from './base/focus-tracker';
51
49
  export * from './base/model-initialization-constraint';
52
50
  export * from './base/model/model-registry';
53
51
  export * from './base/model/update-model-command';
54
- export * from './base/operations/operation';
55
52
  export * from './base/selection-clearing-mouse-listener';
56
53
  export * from './base/source-uri-aware';
57
54
  export * from './base/types';
@@ -66,11 +63,9 @@ export * from './features/decoration/decoration-placer';
66
63
  export * from './features/edit-label/edit-label-tool';
67
64
  export * from './features/edit-label/edit-label-validator';
68
65
  export * from './features/hints/model';
69
- export * from './features/hints/request-type-hints-action';
70
66
  export * from './features/hints/type-hints';
71
67
  export * from './features/hover/hover';
72
68
  export * from './features/layout/layout-commands';
73
- export * from './features/model-source-watcher/model-source-changed-action';
74
69
  export * from './features/model-source-watcher/model-source-changed-action-handler';
75
70
  export * from './features/mouse-tool/mouse-tool';
76
71
  export * from './features/navigation/navigation-action-handler';
@@ -78,7 +73,7 @@ export * from './features/navigation/navigation-target-resolver';
78
73
  export * from './features/rank/model';
79
74
  export * from './features/reconnect/model';
80
75
  export * from './features/save/model';
81
- export * from './features/save/save';
76
+ export * from './features/save/save-keylistener';
82
77
  export * from './features/tool-feedback/change-bounds-tool-feedback';
83
78
  export * from './features/tool-feedback/creation-tool-feedback';
84
79
  export * from './features/tool-feedback/css-feedback';
@@ -93,23 +88,39 @@ export * from './features/tools/delete-tool';
93
88
  export * from './features/tools/edge-creation-tool';
94
89
  export * from './features/tools/edge-edit-tool';
95
90
  export * from './features/tools/node-creation-tool';
96
- export * from './features/undo-redo/model';
91
+ export * from './features/tools/marquee-behavior';
97
92
  export * from './features/validation/issue-marker';
98
- export * from './features/validation/validate';
99
93
  export * from './features/validation/marker-navigator';
94
+ export * from './features/validation/validate';
100
95
  export * from './features/viewport/glsp-scroll-mouse-listener';
101
96
  export * from './lib/model';
102
- export * from './model-source/glsp-server-status';
103
97
  export * from './model-source/glsp-diagram-server';
98
+ export * from './protocol-reexport';
104
99
  export * from './utils/argument-utils';
105
- export * from './utils/array-utils';
106
100
  export * from './utils/marker';
107
101
  export * from './utils/smodel-util';
108
102
  export * from './utils/viewpoint-util';
109
103
  export * from './views';
110
-
111
104
  export {
112
- validationModule, saveModule, paletteModule, toolFeedbackModule, defaultGLSPModule, modelHintsModule, glspCommandPaletteModule,
113
- glspContextMenuModule, glspServerCopyPasteModule, copyPasteContextMenuModule, glspSelectModule, glspMouseToolModule, layoutCommandsModule, glspEditLabelModule,
114
- glspHoverModule, toolsModule, navigationModule, markerNavigatorModule, glspDecorationModule, modelSourceWatcherModule, glspViewportModule
105
+ validationModule,
106
+ saveModule,
107
+ paletteModule,
108
+ toolFeedbackModule,
109
+ defaultGLSPModule,
110
+ modelHintsModule,
111
+ glspCommandPaletteModule,
112
+ glspContextMenuModule,
113
+ glspServerCopyPasteModule,
114
+ copyPasteContextMenuModule,
115
+ glspSelectModule,
116
+ glspMouseToolModule,
117
+ layoutCommandsModule,
118
+ glspEditLabelModule,
119
+ glspHoverModule,
120
+ toolsModule,
121
+ navigationModule,
122
+ markerNavigatorModule,
123
+ glspDecorationModule,
124
+ modelSourceWatcherModule,
125
+ glspViewportModule
115
126
  };
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2020 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 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,26 +13,19 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { GLSPClient } from '@eclipse-glsp/protocol';
17
- import { injectable } from 'inversify';
18
16
  import {
19
17
  Action,
20
- ActionHandlerRegistry,
21
- ActionMessage,
22
18
  ComputedBoundsAction,
23
- DiagramServer,
24
- ICommand,
25
- RequestModelAction,
26
- ServerStatusAction,
27
- SwitchEditModeCommand
28
- } from 'sprotty';
29
-
30
- import { RequestContextActions } from '../base/actions/context-actions';
31
- import { isSetEditModeAction, SetEditModeAction } from '../base/actions/edit-mode-action';
32
- import { InitializeClientSessionAction } from '../base/actions/protocol-actions';
19
+ GLSPClient,
20
+ isRequestModelAction,
21
+ isServerMessageAction,
22
+ isSetEditModeAction,
23
+ ServerMessageAction,
24
+ SetEditModeAction
25
+ } from '@eclipse-glsp/protocol';
26
+ import { injectable } from 'inversify';
27
+ import { ActionHandlerRegistry, ActionMessage, DiagramServer, ICommand, ServerStatusAction, SwitchEditModeCommand } from 'sprotty';
33
28
  import { SourceUriAware } from '../base/source-uri-aware';
34
- import { RequestTypeHintsAction } from '../features/hints/request-type-hints-action';
35
- import { isServerMessageAction, ServerMessageAction } from './glsp-server-status';
36
29
 
37
30
  const receivedFromServerProperty = '__receivedFromServer';
38
31
 
@@ -69,7 +62,7 @@ export class GLSPDiagramServer extends DiagramServer implements SourceUriAware {
69
62
  }
70
63
 
71
64
  handle(action: Action): void | ICommand | Action {
72
- if (action instanceof RequestModelAction && action.options !== undefined) {
65
+ if (isRequestModelAction(action) && action.options) {
73
66
  this._sourceUri = action.options.sourceUri as string;
74
67
  }
75
68
  return super.handle(action);
@@ -108,16 +101,7 @@ export function isReceivedFromServer(action: Action): boolean {
108
101
  }
109
102
 
110
103
  export function registerDefaultGLSPServerActions(registry: ActionHandlerRegistry, diagramServer: DiagramServer): void {
111
- // Register the InitializeClientSessionAction as a server action. Then, the server will
112
- // notify us about all actions it handles (Via ConfigureServerHandlersAction/Handler)
113
- registry.register(InitializeClientSessionAction.KIND, diagramServer);
114
-
115
- // Register some additional early actions, that will happen before the server can tell us
116
- // which actions it handles
117
- registry.register(RequestTypeHintsAction.KIND, diagramServer);
118
- registry.register(RequestModelAction.KIND, diagramServer);
119
- registry.register(RequestContextActions.KIND, diagramServer);
120
-
104
+ registry.register(ServerMessageAction.KIND, diagramServer);
121
105
  registry.register(ServerStatusAction.KIND, diagramServer);
122
106
 
123
107
  // Register an empty handler for SwitchEditMode, to avoid runtime exceptions.
@@ -0,0 +1,64 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2021 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
+
17
+ /**
18
+ * Workaround for now to solve ambiguous exports in glsp-client. This module provides all glsp-only components.
19
+ * i.e. typings that are not defined in sprotty
20
+ */
21
+
22
+ export {
23
+ CompoundOperation,
24
+ isActionKind,
25
+ isCompoundOperation,
26
+ isRejectAction,
27
+ Operation
28
+ } from '@eclipse-glsp/protocol/lib/action-protocol/base-protocol';
29
+ export * from '@eclipse-glsp/protocol/lib/action-protocol/client-notification';
30
+ export * from '@eclipse-glsp/protocol/lib/action-protocol/clipboard';
31
+ export * from '@eclipse-glsp/protocol/lib/action-protocol/contexts';
32
+ export * from '@eclipse-glsp/protocol/lib/action-protocol/edge-modification';
33
+ export * from '@eclipse-glsp/protocol/lib/action-protocol/element-creation';
34
+ export { isRequestPopupModelAction, isSetPopupModelAction } from '@eclipse-glsp/protocol/lib/action-protocol/element-hover';
35
+ export * from '@eclipse-glsp/protocol/lib/action-protocol/element-navigation';
36
+ export { isSelectAction, isSelectAllAction } from '@eclipse-glsp/protocol/lib/action-protocol/element-selection';
37
+ export * from '@eclipse-glsp/protocol/lib/action-protocol/element-text-editing';
38
+ export * from '@eclipse-glsp/protocol/lib/action-protocol/element-type-hints';
39
+ export * from '@eclipse-glsp/protocol/lib/action-protocol/element-validation';
40
+ export { LayoutOperation } from '@eclipse-glsp/protocol/lib/action-protocol/mode-layout';
41
+ export {
42
+ isModelSourceChangedAction,
43
+ isRequestModelAction,
44
+ isSetModelAction,
45
+ ModelSourceChangedAction
46
+ } from '@eclipse-glsp/protocol/lib/action-protocol/model-data';
47
+ export * from '@eclipse-glsp/protocol/lib/action-protocol/model-edit-mode';
48
+ export {
49
+ DirtyStateChangeReason,
50
+ isExportSvgAction,
51
+ isSaveModelAction,
52
+ isSetDirtyStateAction,
53
+ SaveModelAction,
54
+ SetDirtyStateAction
55
+ } from '@eclipse-glsp/protocol/lib/action-protocol/model-saving';
56
+ export * from '@eclipse-glsp/protocol/lib/action-protocol/node-modification';
57
+ export * from '@eclipse-glsp/protocol/lib/action-protocol/tool-palette';
58
+ export { Args, EditorContext, ElementAndRoutingPoints } from '@eclipse-glsp/protocol/lib/action-protocol/types';
59
+ export * from '@eclipse-glsp/protocol/lib/action-protocol/undo-redo';
60
+ export * from '@eclipse-glsp/protocol/lib/glsp-client';
61
+ export * from '@eclipse-glsp/protocol/lib/jsonrpc/base-jsonrpc-glsp-client';
62
+ export * from '@eclipse-glsp/protocol/lib/jsonrpc/glsp-jsonrpc-client';
63
+ export * from '@eclipse-glsp/protocol/lib/utils/array-util';
64
+ export * from '@eclipse-glsp/protocol/lib/utils/launch-util';
@@ -14,11 +14,10 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { SModelElement } from 'sprotty';
17
-
18
- import { hasArguments } from '../base/args';
17
+ import { hasArguments } from '../base/argumentable';
19
18
 
20
19
  export namespace GArgument {
21
- export function asNumber(argValue: (string | number | boolean)): number | undefined {
20
+ export function asNumber(argValue: string | number | boolean): number | undefined {
22
21
  return typeof argValue === 'number' ? argValue : undefined;
23
22
  }
24
23
 
@@ -26,7 +25,7 @@ export namespace GArgument {
26
25
  return argValues.map(asNumber);
27
26
  }
28
27
 
29
- export function asString(argValue: (string | number | boolean)): string | undefined {
28
+ export function asString(argValue: string | number | boolean): string | undefined {
30
29
  return typeof argValue === 'string' ? argValue : undefined;
31
30
  }
32
31
 
@@ -34,7 +33,7 @@ export namespace GArgument {
34
33
  return argValues.map(asString);
35
34
  }
36
35
 
37
- export function asBoolean(argValue: (string | number | boolean)): boolean | undefined {
36
+ export function asBoolean(argValue: string | number | boolean): boolean | undefined {
38
37
  return typeof argValue === 'boolean' ? argValue : undefined;
39
38
  }
40
39
 
@@ -112,16 +111,20 @@ export class CornerRadius {
112
111
  public readonly topLeft: number = 0,
113
112
  public readonly topRight: number = topLeft,
114
113
  public readonly bottomRight: number = topLeft,
115
- public readonly bottomLeft: number = topRight) {
116
- }
114
+ public readonly bottomLeft: number = topRight
115
+ ) {}
117
116
 
118
117
  static from(element: SModelElement | undefined): CornerRadius | undefined {
119
- const radius = GArgument.getNumbers(element, this.KEY_RADIUS_TOP_LEFT, this.KEY_RADIUS_TOP_RIGHT, this.KEY_RADIUS_BOTTOM_RIGHT, this.KEY_RADIUS_BOTTOM_LEFT);
118
+ const radius = GArgument.getNumbers(
119
+ element,
120
+ this.KEY_RADIUS_TOP_LEFT,
121
+ this.KEY_RADIUS_TOP_RIGHT,
122
+ this.KEY_RADIUS_BOTTOM_RIGHT,
123
+ this.KEY_RADIUS_BOTTOM_LEFT
124
+ );
120
125
  if (radius === undefined || radius[0] === undefined) {
121
126
  return undefined;
122
127
  }
123
- return GArgument.hasNValues(radius, 4)
124
- ? new CornerRadius(radius[0], radius[1], radius[2], radius[3])
125
- : new CornerRadius(radius[0]);
128
+ return GArgument.hasNValues(radius, 4) ? new CornerRadius(radius[0], radius[1], radius[2], radius[3]) : new CornerRadius(radius[0]);
126
129
  }
127
130
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020 EclipseSource and others.
2
+ * Copyright (c) 2020-2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,8 +13,8 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { BoundsAware, Dimension, ElementAndBounds, ElementMove, ModelLayoutOptions, Point, SModelElement } from 'sprotty';
17
-
16
+ import { Point } from '@eclipse-glsp/protocol';
17
+ import { BoundsAware, Dimension, ElementAndBounds, ElementMove, ModelLayoutOptions, SModelElement } from 'sprotty';
18
18
  import { IMovementRestrictor } from '../features/change-bounds/movement-restrictor';
19
19
 
20
20
  export function minWidth(element: SModelElement & BoundsAware): number {
@@ -52,16 +52,22 @@ export function isValidMove(element: SModelElement & BoundsAware, newPosition: P
52
52
  return true;
53
53
  }
54
54
 
55
- export function toValidElementMove(element: SModelElement & BoundsAware, move: WriteableElementMove, movementRestrictor?: IMovementRestrictor): WriteableElementMove | undefined {
55
+ export function toValidElementMove(
56
+ element: SModelElement & BoundsAware,
57
+ move: WriteableElementMove,
58
+ movementRestrictor?: IMovementRestrictor
59
+ ): WriteableElementMove | undefined {
56
60
  if (!isValidMove(element, move.toPosition, movementRestrictor)) {
57
61
  return;
58
62
  }
59
63
  return move;
60
64
  }
61
65
 
62
- export function toValidElementAndBounds(element: SModelElement & BoundsAware, bounds: WriteableElementAndBounds,
63
- movementRestrictor?: IMovementRestrictor): WriteableElementAndBounds | undefined {
64
-
66
+ export function toValidElementAndBounds(
67
+ element: SModelElement & BoundsAware,
68
+ bounds: WriteableElementAndBounds,
69
+ movementRestrictor?: IMovementRestrictor
70
+ ): WriteableElementAndBounds | undefined {
65
71
  if (!isValidMove(element, bounds.newPosition, movementRestrictor)) {
66
72
  return;
67
73
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 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,9 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { MarkerKind } from '@eclipse-glsp/protocol';
16
17
  import { SIssueMarker, SParentElement } from 'sprotty';
17
18
 
18
- export namespace MarkerKind {
19
- export const INFO = 'info';
20
- export const WARNING = 'warning';
21
- export const ERROR = 'error';
22
- }
23
-
24
19
  export namespace MarkerPredicates {
25
20
  export const ALL = (): boolean => true;
26
21
  export const ERRORS = (marker: SIssueMarker): boolean => hasIssueWithSeverity(marker, MarkerKind.ERROR);
@@ -42,22 +37,3 @@ export function collectIssueMarkers(root: SParentElement): SIssueMarker[] {
42
37
  }
43
38
  return markers;
44
39
  }
45
-
46
- export interface Marker {
47
- /**
48
- * Short label describing this marker message, e.g., short validation message
49
- */
50
- readonly label: string;
51
- /**
52
- * Full description of this marker, e.g., full validation message
53
- */
54
- readonly description: string;
55
- /**
56
- * Id of the model element this marker refers to
57
- */
58
- readonly elementId: string;
59
- /**
60
- * Marker kind, e.g., info, warning, error or custom kind
61
- */
62
- readonly kind: string;
63
- }