@eclipse-glsp/client 0.9.0-rc-01 → 0.9.0

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 +4 -2
  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 +1 -1
  157. package/lib/features/layout/di.config.d.ts.map +1 -1
  158. package/lib/features/layout/di.config.js +11 -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 +12 -19
  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 +8 -4
  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,28 +13,29 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { inject, injectable } from 'inversify';
17
16
  import {
18
17
  Action,
19
- ActionHandlerRegistry,
18
+ Args,
20
19
  CenterAction,
21
- generateRequestId,
22
- IActionDispatcher,
23
- IActionHandler,
24
- ICommand,
25
- ILogger,
26
- RequestAction,
27
- ResponseAction,
20
+ GLSPServerStatusAction,
21
+ isNavigateToExternalTargetAction,
22
+ isNavigateToTargetAction,
23
+ isSetNavigationTargetsAction,
24
+ NavigateToExternalTargetAction,
25
+ NavigateToTargetAction,
26
+ NavigationTarget,
27
+ RequestNavigationTargetsAction,
28
28
  SelectAction,
29
29
  SelectAllAction,
30
- TYPES
31
- } from 'sprotty';
30
+ ServerMessageAction,
31
+ SetResolvedNavigationTargetAction
32
+ } from '@eclipse-glsp/protocol';
33
+ import { inject, injectable } from 'inversify';
34
+ import { ActionHandlerRegistry, IActionDispatcher, IActionHandler, ICommand, ILogger, TYPES } from 'sprotty';
32
35
 
33
- import { Args } from '../../base/args';
34
- import { EditorContext, EditorContextServiceProvider } from '../../base/editor-context';
36
+ import { EditorContextServiceProvider } from '../../base/editor-context-service';
35
37
  import { GLSP_TYPES } from '../../base/types';
36
- import { GLSPServerStatusAction, ServerMessageAction } from '../../model-source/glsp-server-status';
37
- import { NavigationTarget, NavigationTargetResolver, SetResolvedNavigationTargetAction } from './navigation-target-resolver';
38
+ import { NavigationTargetResolver } from './navigation-target-resolver';
38
39
 
39
40
  /**
40
41
  * Action for triggering a navigation of a certain target type.
@@ -50,55 +51,11 @@ import { NavigationTarget, NavigationTargetResolver, SetResolvedNavigationTarget
50
51
  export class NavigateAction implements Action {
51
52
  static readonly KIND = 'navigate';
52
53
  readonly kind = NavigateAction.KIND;
53
- constructor(readonly targetTypeId: string, readonly args?: Args) { }
54
+ constructor(readonly targetTypeId: string, readonly args?: Args) {}
54
55
  }
55
56
 
56
57
  export function isNavigateAction(action: Action): action is NavigateAction {
57
- return action !== undefined && (action.kind === NavigateAction.KIND)
58
- && (action as NavigateAction).targetTypeId !== undefined;
59
- }
60
-
61
- /** Action that is usually sent to the server to request navigation targets for a navigation type. */
62
- export class RequestNavigationTargetsAction implements RequestAction<SetNavigationTargetsAction> {
63
- static readonly KIND = 'requestNavigationTargets';
64
- kind = RequestNavigationTargetsAction.KIND;
65
- constructor(readonly targetTypeId: string, readonly editorContext: EditorContext,
66
- readonly requestId: string = generateRequestId()) { }
67
- }
68
-
69
- /** Action that is usually sent from the server to the client as a repsonse to a `RequestNavigationTargetsAction`. */
70
- export class SetNavigationTargetsAction implements ResponseAction {
71
- static readonly KIND = 'setNavigationTargets';
72
- kind = SetNavigationTargetsAction.KIND;
73
- constructor(readonly targets: NavigationTarget[], readonly responseId: string = '', readonly args?: Args) { }
74
- }
75
-
76
- export function isSetNavigationTargetsAction(action: Action): action is SetNavigationTargetsAction {
77
- return action !== undefined && (action.kind === SetNavigationTargetsAction.KIND)
78
- && (action as SetNavigationTargetsAction).targets !== undefined;
79
- }
80
-
81
- /** Action that triggers the navigation to a particular navigation target, such as element IDs, queries, etc.. */
82
- export class NavigateToTargetAction implements Action {
83
- static readonly KIND = 'navigateToTarget';
84
- readonly kind = NavigateToTargetAction.KIND;
85
- constructor(readonly target: NavigationTarget) { }
86
- }
87
-
88
- export function isNavigateToTargetAction(action: Action): action is NavigateToTargetAction {
89
- return action !== undefined && (action.kind === NavigateToTargetAction.KIND)
90
- && (action as NavigateToTargetAction).target !== undefined;
91
- }
92
-
93
- export class NavigateToExternalTargetAction implements Action {
94
- static readonly KIND = 'navigateToExternalTarget';
95
- readonly kind = NavigateToExternalTargetAction.KIND;
96
- constructor(readonly target: NavigationTarget) { }
97
- }
98
-
99
- export function isNavigateToExternalTargetAction(action: Action): action is NavigateToExternalTargetAction {
100
- return action !== undefined && (action.kind === NavigateToExternalTargetAction.KIND)
101
- && (action as NavigateToExternalTargetAction).target !== undefined;
58
+ return action !== undefined && action.kind === NavigateAction.KIND && (action as NavigateAction).targetTypeId !== undefined;
102
59
  }
103
60
 
104
61
  /** Action to trigger the processing of additional navigation arguments.
@@ -112,12 +69,15 @@ export function isNavigateToExternalTargetAction(action: Action): action is Navi
112
69
  export class ProcessNavigationArgumentsAction implements Action {
113
70
  static readonly KIND = 'processNavigationArguments';
114
71
  readonly kind = ProcessNavigationArgumentsAction.KIND;
115
- constructor(readonly args: Args) { }
72
+ constructor(readonly args: Args) {}
116
73
  }
117
74
 
118
75
  export function isProcessNavigationArgumentsAction(action: Action): action is ProcessNavigationArgumentsAction {
119
- return action !== undefined && (action.kind === ProcessNavigationArgumentsAction.KIND)
120
- && (action as ProcessNavigationArgumentsAction).args !== undefined;
76
+ return (
77
+ action !== undefined &&
78
+ action.kind === ProcessNavigationArgumentsAction.KIND &&
79
+ (action as ProcessNavigationArgumentsAction).args !== undefined
80
+ );
121
81
  }
122
82
 
123
83
  /**
@@ -144,7 +104,6 @@ export function isProcessNavigationArgumentsAction(action: Action): action is Pr
144
104
  */
145
105
  @injectable()
146
106
  export class NavigationActionHandler implements IActionHandler {
147
-
148
107
  readonly notificationTimeout = 5000;
149
108
 
150
109
  @inject(TYPES.ILogger) protected logger: ILogger;
@@ -172,8 +131,11 @@ export class NavigationActionHandler implements IActionHandler {
172
131
  const response = await this.dispatcher.request(new RequestNavigationTargetsAction(action.targetTypeId, context));
173
132
  if (isSetNavigationTargetsAction(response) && response.targets && response.targets.length === 1) {
174
133
  if (response.targets.length > 1) {
175
- this.logger.warn(this, 'Processing of multiple targets is not supported yet. ' +
176
- 'Only the first is being processed.', response.targets);
134
+ this.logger.warn(
135
+ this,
136
+ 'Processing of multiple targets is not supported yet. ' + 'Only the first is being processed.',
137
+ response.targets
138
+ );
177
139
  }
178
140
  return this.dispatcher.dispatch(new NavigateToTargetAction(response.targets[0]));
179
141
  }
@@ -203,7 +165,9 @@ export class NavigationActionHandler implements IActionHandler {
203
165
  return this.resolver.resolve(action.target);
204
166
  }
205
167
 
206
- protected containsElementIdsOrArguments(target: SetResolvedNavigationTargetAction | undefined): target is SetResolvedNavigationTargetAction {
168
+ protected containsElementIdsOrArguments(
169
+ target: SetResolvedNavigationTargetAction | undefined
170
+ ): target is SetResolvedNavigationTargetAction {
207
171
  return target !== undefined && (this.containsElementIds(target.elementIds) || this.containsArguments(target.args));
208
172
  }
209
173
 
@@ -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
@@ -14,15 +14,12 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  /* eslint-disable no-unused-expressions */
17
+ import { NavigationTarget } from '@eclipse-glsp/protocol';
18
+ import { expect } from 'chai';
17
19
  import 'mocha';
18
20
  import 'reflect-metadata';
19
21
 
20
- import { expect } from 'chai';
21
-
22
- import { NavigationTarget } from './navigation-target-resolver';
23
-
24
22
  describe('NavigationTarget', () => {
25
-
26
23
  it('should be able to set and get element IDs', () => {
27
24
  const navigationTarget: NavigationTarget = { uri: 'uri' };
28
25
  NavigationTarget.setElementIds(navigationTarget, ['id1', 'id2']);
@@ -57,5 +54,4 @@ describe('NavigationTarget', () => {
57
54
  NavigationTarget.setTextPosition(navigationTarget, { line: 1, character: 2 });
58
55
  expect(NavigationTarget.hasArguments(navigationTarget)).to.be.true;
59
56
  });
60
-
61
57
  });
@@ -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,96 +13,17 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import {
17
+ isSetResolvedNavigationTargets,
18
+ NavigationTarget,
19
+ ResolveNavigationTargetAction,
20
+ SetResolvedNavigationTargetAction
21
+ } from '@eclipse-glsp/protocol';
16
22
  import { inject, injectable } from 'inversify';
17
- import { Action, generateRequestId, IActionDispatcher, ILogger, RequestAction, ResponseAction, TYPES } from 'sprotty';
18
-
19
- import { Args } from '../../base/args';
20
- import { EditorContextServiceProvider } from '../../base/editor-context';
23
+ import { IActionDispatcher, ILogger, ResponseAction, TYPES } from 'sprotty';
24
+ import { EditorContextServiceProvider } from '../../base/editor-context-service';
21
25
  import { GLSP_TYPES } from '../../base/types';
22
26
 
23
- export interface NavigationTarget {
24
- uri: string;
25
- label?: string;
26
- args?: Args;
27
- }
28
-
29
- export namespace NavigationTarget {
30
-
31
- export const ELEMENT_IDS = 'elementIds';
32
- export const ELEMENT_IDS_SEPARATOR = '&';
33
- export const TEXT_LINE = 'line';
34
- export const TEXT_COLUMN = 'column';
35
-
36
- export function hasArguments(target: NavigationTarget): boolean {
37
- return target.args !== undefined && Object.keys(target.args).length > 0;
38
- }
39
-
40
- export function addArgument(target: NavigationTarget, key: string, value: string | number | boolean): void {
41
- if (target.args === undefined) {
42
- target.args = {};
43
- }
44
- target.args[key] = value;
45
- }
46
-
47
- export function getElementIds(target: NavigationTarget): string[] {
48
- if (target.args === undefined || target.args[NavigationTarget.ELEMENT_IDS] === undefined) {
49
- return [];
50
- }
51
- const elementIdsValue = target.args[NavigationTarget.ELEMENT_IDS].toString();
52
- return elementIdsValue.split(NavigationTarget.ELEMENT_IDS_SEPARATOR);
53
- }
54
-
55
- export function setElementIds(target: NavigationTarget, elementIds: string[]): string {
56
- if (target.args === undefined) {
57
- target.args = {};
58
- }
59
- return target.args[NavigationTarget.ELEMENT_IDS] = elementIds.join(NavigationTarget.ELEMENT_IDS_SEPARATOR);
60
- }
61
-
62
- export function setTextPosition(target: NavigationTarget, position: TextPosition | undefined): void {
63
- if (position) {
64
- if (target.args === undefined) {
65
- target.args = {};
66
- }
67
- target.args[NavigationTarget.TEXT_LINE] = position.line;
68
- target.args[NavigationTarget.TEXT_COLUMN] = position.character;
69
- }
70
- }
71
-
72
- export function getTextPosition(target: NavigationTarget): TextPosition | undefined {
73
- if (target.args === undefined
74
- || target.args[NavigationTarget.TEXT_LINE] === undefined
75
- || target.args[NavigationTarget.TEXT_COLUMN] === undefined) {
76
- return undefined;
77
- }
78
- return {
79
- line: Number(target.args[NavigationTarget.TEXT_LINE]),
80
- character: Number(target.args[NavigationTarget.TEXT_COLUMN])
81
- };
82
- }
83
- }
84
-
85
- export interface TextPosition {
86
- line: number;
87
- character: number;
88
- }
89
-
90
- export class ResolveNavigationTargetAction implements RequestAction<SetResolvedNavigationTargetAction> {
91
- static readonly KIND = 'resolveNavigationTarget';
92
- kind = ResolveNavigationTargetAction.KIND;
93
- constructor(readonly navigationTarget: NavigationTarget, public readonly requestId: string = generateRequestId()) { }
94
- }
95
-
96
- export class SetResolvedNavigationTargetAction implements ResponseAction {
97
- static readonly KIND = 'setResolvedNavigationTarget';
98
- kind = SetResolvedNavigationTargetAction.KIND;
99
- constructor(readonly elementIds: string[] = [], readonly args?: Args, readonly responseId: string = '') { }
100
- }
101
-
102
- export function isSetResolvedNavigationTargets(action: Action): action is SetResolvedNavigationTargetAction {
103
- return action !== undefined && (action.kind === SetResolvedNavigationTargetAction.KIND);
104
- }
105
-
106
27
  /**
107
28
  * Resolves `NavigationTargets` to element ids.
108
29
  *
@@ -111,7 +32,6 @@ export function isSetResolvedNavigationTargets(action: Action): action is SetRes
111
32
  */
112
33
  @injectable()
113
34
  export class NavigationTargetResolver {
114
-
115
35
  @inject(GLSP_TYPES.IEditorContextServiceProvider) protected editorContextService: EditorContextServiceProvider;
116
36
  @inject(TYPES.IActionDispatcher) protected dispatcher: IActionDispatcher;
117
37
  @inject(TYPES.ILogger) protected readonly logger: ILogger;
@@ -122,7 +42,10 @@ export class NavigationTargetResolver {
122
42
  return this.resolveWithSourceUri(sourceUri, navigationTarget);
123
43
  }
124
44
 
125
- async resolveWithSourceUri(sourceUri: string | undefined, target: NavigationTarget): Promise<SetResolvedNavigationTargetAction | undefined> {
45
+ async resolveWithSourceUri(
46
+ sourceUri: string | undefined,
47
+ target: NavigationTarget
48
+ ): Promise<SetResolvedNavigationTargetAction | undefined> {
126
49
  const targetUri = decodeURIComponent(target.uri);
127
50
  if (sourceUri && sourceUri !== targetUri && `file://${sourceUri}` !== targetUri) {
128
51
  // different URI, so we can't resolve it locally
@@ -143,4 +66,3 @@ export class NavigationTargetResolver {
143
66
  return this.dispatcher.request(new ResolveNavigationTargetAction(target));
144
67
  }
145
68
  }
146
-
@@ -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
@@ -21,7 +21,7 @@ export interface Ranked {
21
21
  }
22
22
 
23
23
  export function isRanked(arg: any): arg is Ranked {
24
- return arg !== undefined && arg.rank !== undefined && typeof (arg.rank) === 'number';
24
+ return arg !== undefined && arg.rank !== undefined && typeof arg.rank === 'number';
25
25
  }
26
26
 
27
27
  export function getRank(arg: any): number {
@@ -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
@@ -26,8 +26,7 @@ import {
26
26
 
27
27
  export const reconnectFeature = Symbol('reconnectFeature');
28
28
 
29
- export interface Reconnectable extends SModelExtension {
30
- }
29
+ export interface Reconnectable extends SModelExtension {}
31
30
 
32
31
  export function isReconnectable(element: SModelElement): element is SRoutableElement & Reconnectable {
33
32
  return element instanceof SRoutableElement && element.hasFeature(reconnectFeature);
@@ -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
@@ -16,7 +16,7 @@
16
16
  import { ContainerModule } from 'inversify';
17
17
  import { TYPES } from 'sprotty';
18
18
 
19
- import { SaveModelKeyboardListener } from './save';
19
+ import { SaveModelKeyboardListener } from './save-keylistener';
20
20
 
21
21
  /**
22
22
  * This module is not required the diagram is deployed in Theia with the `GLSPDiagramWidget`
@@ -24,7 +24,6 @@ import { SaveModelKeyboardListener } from './save';
24
24
  */
25
25
  const saveModule = new ContainerModule(bind => {
26
26
  bind(TYPES.KeyListener).to(SaveModelKeyboardListener);
27
-
28
27
  });
29
28
 
30
29
  export default saveModule;
@@ -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,18 +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, KeyListener, SModelRoot } from 'sprotty';
16
+ import { Action, SaveModelAction } from '@eclipse-glsp/protocol';
17
+ import { KeyListener, SModelRoot } from 'sprotty';
17
18
  import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
18
19
 
19
- export class SaveModelAction implements Action {
20
- static readonly KIND = 'saveModel';
21
- constructor(public readonly fileUri?: string, public readonly kind: string = SaveModelAction.KIND) { }
22
- }
23
-
24
- export function isSaveModelAction(action: Action): action is SaveModelAction {
25
- return action.kind === SaveModelAction.KIND;
26
- }
27
-
28
20
  export class SaveModelKeyboardListener extends KeyListener {
29
21
  keyDown(_element: SModelRoot, event: KeyboardEvent): Action[] {
30
22
  if (matchesKeystroke(event, 'KeyS', 'ctrlCmd')) {
@@ -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
@@ -27,16 +27,15 @@ export class SelectFeedbackAction {
27
27
  constructor(
28
28
  public readonly selectedElementsIDs: string[] = [],
29
29
  public readonly deselectedElementsIDs: string[] = [],
30
- public readonly kind: string = SelectFeedbackCommand.KIND) {
31
- }
30
+ public readonly kind: string = SelectFeedbackCommand.KIND
31
+ ) {}
32
32
  }
33
33
 
34
34
  export class SelectAllFeedbackAction {
35
35
  /**
36
36
  * If `select` is true, all elements are selected, othewise they are deselected.
37
37
  */
38
- constructor(public readonly select: boolean = true, public readonly kind: string = SelectFeedbackCommand.KIND) {
39
- }
38
+ constructor(public readonly select: boolean = true, public readonly kind: string = SelectFeedbackCommand.KIND) {}
40
39
  }
41
40
 
42
41
  @injectable()
@@ -84,4 +83,3 @@ export class SelectAllFeedbackCommand extends Command {
84
83
  return this.sprottySelectAllCommand.redo(context);
85
84
  }
86
85
  }
87
-
@@ -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
@@ -14,10 +14,10 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  /* eslint-disable import/no-deprecated,no-unused-expressions */
17
+ import { Action } from '@eclipse-glsp/protocol';
17
18
  import { AssertionError, expect } from 'chai';
18
19
  import { Container, injectable } from 'inversify';
19
- import { Action, defaultModule, SGraphFactory, SModelElementSchema, SModelRoot, TYPES } from 'sprotty';
20
-
20
+ import { defaultModule, SGraphFactory, SModelElementSchema, SModelRoot, TYPES } from 'sprotty';
21
21
  import { GLSP_TYPES } from '../../base/types';
22
22
  import { IFeedbackActionDispatcher, IFeedbackEmitter } from '../tool-feedback/feedback-action-dispatcher';
23
23
  import { SelectFeedbackAction } from './select-feedback-action';
@@ -25,7 +25,7 @@ import { SelectionListener, SelectionService } from './selection-service';
25
25
 
26
26
  @injectable()
27
27
  class MockFeedbackActionDispatcher implements IFeedbackActionDispatcher {
28
- protected feedbackEmitters: Map<IFeedbackEmitter, Action[]> = new Map;
28
+ protected feedbackEmitters: Map<IFeedbackEmitter, Action[]> = new Map();
29
29
 
30
30
  registerFeedback(feedbackEmitter: IFeedbackEmitter, actions: Action[]): void {
31
31
  this.feedbackEmitters.set(feedbackEmitter, actions);
@@ -43,7 +43,7 @@ class MockFeedbackActionDispatcher implements IFeedbackActionDispatcher {
43
43
 
44
44
  getSingleFeedbackAction(): SelectFeedbackAction | undefined {
45
45
  const actions = this.getRegisteredFeedback();
46
- return actions.length === 1 ? actions[0] as SelectFeedbackAction : undefined;
46
+ return actions.length === 1 ? (actions[0] as SelectFeedbackAction) : undefined;
47
47
  }
48
48
  }
49
49
 
@@ -363,7 +363,12 @@ describe('SelectionService', () => {
363
363
  }
364
364
  }
365
365
 
366
- function assertListener(listener: MockSelectionListener, expectedRoot: SModelRoot | undefined, expectedSelection: string[], expectedCalled: number): void {
366
+ function assertListener(
367
+ listener: MockSelectionListener,
368
+ expectedRoot: SModelRoot | undefined,
369
+ expectedSelection: string[],
370
+ expectedCalled: number
371
+ ): void {
367
372
  expect(listener.getRoot()).to.equal(expectedRoot);
368
373
  expect(listener.getSelectedElements()).to.have.lengthOf(expectedSelection.length);
369
374
  expect(listener.getSelectedElements()).to.have.ordered.members(expectedSelection);
@@ -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,17 +13,15 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { Action, distinctAdd, remove, SelectAction, SelectAllAction } from '@eclipse-glsp/protocol';
16
17
  import { inject, injectable, multiInject, optional } from 'inversify';
17
18
  import {
18
- Action,
19
19
  Command,
20
20
  CommandExecutionContext,
21
21
  ILogger,
22
22
  isSelectable,
23
23
  isSelected,
24
24
  SChildElement,
25
- SelectAction,
26
- SelectAllAction,
27
25
  SelectAllCommand as SprottySelectAllCommand,
28
26
  SelectCommand as SprottySelectCommand,
29
27
  SModelElement,
@@ -31,10 +29,8 @@ import {
31
29
  SParentElement,
32
30
  TYPES
33
31
  } from 'sprotty';
34
-
35
32
  import { SModelRootListener } from '../../base/model/update-model-command';
36
33
  import { GLSP_TYPES } from '../../base/types';
37
- import { distinctAdd, remove } from '../../utils/array-utils';
38
34
  import { IFeedbackActionDispatcher } from '../tool-feedback/feedback-action-dispatcher';
39
35
  import { SelectFeedbackAction } from './select-feedback-action';
40
36
 
@@ -50,7 +46,7 @@ export class SelectionService implements SModelRootListener {
50
46
  @inject(GLSP_TYPES.IFeedbackActionDispatcher) protected feedbackDispatcher: IFeedbackActionDispatcher;
51
47
  @inject(TYPES.ILogger) protected logger: ILogger;
52
48
 
53
- constructor(@multiInject(GLSP_TYPES.SelectionListener) @optional() protected selectionListeners: SelectionListener[] = []) { }
49
+ constructor(@multiInject(GLSP_TYPES.SelectionListener) @optional() protected selectionListeners: SelectionListener[] = []) {}
54
50
 
55
51
  register(selectionListener: SelectionListener): void {
56
52
  distinctAdd(this.selectionListeners, selectionListener);
@@ -99,7 +95,9 @@ export class SelectionService implements SModelRootListener {
99
95
  }
100
96
 
101
97
  // only send out changes if there actually are changes, i.e., the root or the selected elements changed
102
- const selectionChanged = prevSelectedElementIDs.size !== this.selectedElementIDs.size || ![...prevSelectedElementIDs].every(value => this.selectedElementIDs.has(value));
98
+ const selectionChanged =
99
+ prevSelectedElementIDs.size !== this.selectedElementIDs.size ||
100
+ ![...prevSelectedElementIDs].every(value => this.selectedElementIDs.has(value));
103
101
  if (selectionChanged) {
104
102
  // aggregate to feedback action handling all elements as only the last feedback is restored
105
103
  this.dispatchFeedback([new SelectFeedbackAction([...this.selectedElementIDs], [...deselectedElementIDs])]);
@@ -156,7 +154,10 @@ export class SelectCommand extends Command {
156
154
  protected selected: SModelElement[] = [];
157
155
  protected deselected: SModelElement[] = [];
158
156
 
159
- constructor(@inject(TYPES.Action) public action: SelectAction, @inject(GLSP_TYPES.SelectionService) public selectionService: SelectionService) {
157
+ constructor(
158
+ @inject(TYPES.Action) public action: SelectAction,
159
+ @inject(GLSP_TYPES.SelectionService) public selectionService: SelectionService
160
+ ) {
160
161
  super();
161
162
  }
162
163
 
@@ -197,7 +198,10 @@ export class SelectAllCommand extends Command {
197
198
  static readonly KIND = SprottySelectAllCommand.KIND;
198
199
  protected previousSelection: Map<string, boolean> = new Map<string, boolean>();
199
200
 
200
- constructor(@inject(TYPES.Action) public action: SelectAllAction, @inject(GLSP_TYPES.SelectionService) public selectionService: SelectionService) {
201
+ constructor(
202
+ @inject(TYPES.Action) public action: SelectAllAction,
203
+ @inject(GLSP_TYPES.SelectionService) public selectionService: SelectionService
204
+ ) {
201
205
  super();
202
206
  }
203
207