@eclipse-glsp/client 1.1.0-next.ee71b2a.218 → 1.1.0-next.f12aad0.255

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 (766) hide show
  1. package/README.md +1 -1
  2. package/{lib/features/rank/model.d.ts → css/autocomplete-palette.css} +7 -7
  3. package/css/decoration.css +1 -1
  4. package/css/glsp-sprotty.css +16 -1
  5. package/lib/base/action-dispatcher.d.ts +1 -17
  6. package/lib/base/action-dispatcher.d.ts.map +1 -1
  7. package/lib/base/action-dispatcher.js +7 -8
  8. package/lib/base/action-dispatcher.js.map +1 -1
  9. package/lib/base/actions/focus-change-action.d.ts +2 -2
  10. package/lib/base/actions/focus-change-action.d.ts.map +1 -1
  11. package/lib/base/actions/focus-change-action.js +4 -4
  12. package/lib/base/actions/focus-change-action.js.map +1 -1
  13. package/lib/base/argumentable.d.ts +2 -3
  14. package/lib/base/argumentable.d.ts.map +1 -1
  15. package/lib/base/argumentable.js.map +1 -1
  16. package/lib/base/auto-complete/auto-complete-actions.d.ts +2 -2
  17. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  18. package/lib/base/auto-complete/auto-complete-actions.js +4 -4
  19. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  20. package/lib/base/auto-complete/auto-complete-widget.d.ts +11 -6
  21. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  22. package/lib/base/auto-complete/auto-complete-widget.js +35 -34
  23. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  24. package/lib/base/auto-complete/validation-decorator.d.ts +16 -1
  25. package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -1
  26. package/lib/base/auto-complete/validation-decorator.js +7 -8
  27. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  28. package/lib/base/command-stack.d.ts +13 -2
  29. package/lib/base/command-stack.d.ts.map +1 -1
  30. package/lib/base/command-stack.js +32 -14
  31. package/lib/base/command-stack.js.map +1 -1
  32. package/lib/base/di.config.d.ts +2 -2
  33. package/lib/base/di.config.d.ts.map +1 -1
  34. package/lib/base/di.config.js +21 -18
  35. package/lib/base/di.config.js.map +1 -1
  36. package/lib/base/drag-aware-mouse-listener.d.ts +2 -3
  37. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  38. package/lib/base/drag-aware-mouse-listener.js +17 -2
  39. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  40. package/lib/base/editor-context-service.d.ts +4 -20
  41. package/lib/base/editor-context-service.d.ts.map +1 -1
  42. package/lib/base/editor-context-service.js +16 -19
  43. package/lib/base/editor-context-service.js.map +1 -1
  44. package/lib/{features/tool-feedback/model.d.ts → base/feedback/feeback-command.d.ts} +3 -3
  45. package/lib/base/feedback/feeback-command.d.ts.map +1 -0
  46. package/lib/{features/tool-feedback/model.js → base/feedback/feeback-command.js} +4 -4
  47. package/lib/base/feedback/feeback-command.js.map +1 -0
  48. package/lib/{features/tool-feedback → base/feedback}/feedback-action-dispatcher.d.ts +1 -17
  49. package/lib/base/feedback/feedback-action-dispatcher.d.ts.map +1 -0
  50. package/lib/{features/tool-feedback → base/feedback}/feedback-action-dispatcher.js +20 -6
  51. package/lib/base/feedback/feedback-action-dispatcher.js.map +1 -0
  52. package/lib/base/feedback/update-model-command.d.ts +19 -0
  53. package/lib/base/feedback/update-model-command.d.ts.map +1 -0
  54. package/lib/base/{model → feedback}/update-model-command.js +11 -37
  55. package/lib/base/feedback/update-model-command.js.map +1 -0
  56. package/lib/base/focus-tracker.d.ts +1 -17
  57. package/lib/base/focus-tracker.d.ts.map +1 -1
  58. package/lib/base/focus-tracker.js +19 -5
  59. package/lib/base/focus-tracker.js.map +1 -1
  60. package/lib/base/model/model-registry.d.ts +1 -1
  61. package/lib/base/model/model-registry.d.ts.map +1 -1
  62. package/lib/base/model/model-registry.js +4 -5
  63. package/lib/base/model/model-registry.js.map +1 -1
  64. package/lib/base/model-initialization-constraint.d.ts +1 -16
  65. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  66. package/lib/base/model-initialization-constraint.js +9 -12
  67. package/lib/base/model-initialization-constraint.js.map +1 -1
  68. package/lib/base/ranked.d.ts +34 -0
  69. package/lib/base/ranked.d.ts.map +1 -0
  70. package/lib/base/ranked.js +38 -0
  71. package/lib/base/ranked.js.map +1 -0
  72. package/lib/base/selection-clearing-mouse-listener.d.ts +1 -1
  73. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  74. package/lib/base/selection-clearing-mouse-listener.js +4 -5
  75. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  76. package/lib/{features/select → base}/selection-service.d.ts +19 -21
  77. package/lib/base/selection-service.d.ts.map +1 -0
  78. package/lib/{features/select → base}/selection-service.js +54 -34
  79. package/lib/base/selection-service.js.map +1 -0
  80. package/lib/base/selection-service.spec.d.ts.map +1 -0
  81. package/lib/{features/select → base}/selection-service.spec.js +23 -11
  82. package/lib/base/selection-service.spec.js.map +1 -0
  83. package/lib/base/source-uri-aware.js +3 -3
  84. package/lib/base/source-uri-aware.js.map +1 -1
  85. package/lib/base/tool-manager/glsp-tool-manager.d.ts +5 -6
  86. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  87. package/lib/base/tool-manager/glsp-tool-manager.js +25 -21
  88. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  89. package/lib/{features/mouse-tool → base/view}/mouse-tool.d.ts +4 -8
  90. package/lib/base/view/mouse-tool.d.ts.map +1 -0
  91. package/lib/{features/mouse-tool → base/view}/mouse-tool.js +12 -15
  92. package/lib/base/view/mouse-tool.js.map +1 -0
  93. package/lib/base/view/view-registry.d.ts +1 -1
  94. package/lib/base/view/view-registry.d.ts.map +1 -1
  95. package/lib/base/view/view-registry.js +4 -5
  96. package/lib/base/view/view-registry.js.map +1 -1
  97. package/lib/{base/container-modules.d.ts → container-modules.d.ts} +15 -15
  98. package/lib/container-modules.d.ts.map +1 -0
  99. package/lib/container-modules.js +133 -0
  100. package/lib/container-modules.js.map +1 -0
  101. package/{src/features/rank/model.ts → lib/features/accessibility/di.config.d.ts} +7 -15
  102. package/lib/features/accessibility/di.config.d.ts.map +1 -0
  103. package/lib/features/{mouse-tool → accessibility}/di.config.js +16 -10
  104. package/lib/features/accessibility/di.config.js.map +1 -0
  105. package/lib/features/accessibility/move-zoom/di.config.d.ts +23 -0
  106. package/lib/features/accessibility/move-zoom/di.config.d.ts.map +1 -0
  107. package/lib/features/accessibility/move-zoom/di.config.js +41 -0
  108. package/lib/features/accessibility/move-zoom/di.config.js.map +1 -0
  109. package/lib/features/accessibility/move-zoom/move-handler.d.ts +80 -0
  110. package/lib/features/accessibility/move-zoom/move-handler.d.ts.map +1 -0
  111. package/lib/features/accessibility/move-zoom/move-handler.js +169 -0
  112. package/lib/features/accessibility/move-zoom/move-handler.js.map +1 -0
  113. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts +73 -0
  114. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts.map +1 -0
  115. package/lib/features/accessibility/move-zoom/zoom-handler.js +155 -0
  116. package/lib/features/accessibility/move-zoom/zoom-handler.js.map +1 -0
  117. package/lib/features/accessibility/resize-key-tool/di.config.d.ts +23 -0
  118. package/lib/features/accessibility/resize-key-tool/di.config.d.ts.map +1 -0
  119. package/lib/features/accessibility/resize-key-tool/di.config.js +36 -0
  120. package/lib/features/accessibility/resize-key-tool/di.config.js.map +1 -0
  121. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts +54 -0
  122. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts.map +1 -0
  123. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js +123 -0
  124. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +1 -0
  125. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts +43 -0
  126. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts.map +1 -0
  127. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js +124 -0
  128. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js.map +1 -0
  129. package/lib/features/accessibility/search/di.config.d.ts +20 -0
  130. package/lib/features/accessibility/search/di.config.d.ts.map +1 -0
  131. package/lib/features/accessibility/search/di.config.js +32 -0
  132. package/lib/features/accessibility/search/di.config.js.map +1 -0
  133. package/lib/features/accessibility/search/search-palette.d.ts +46 -0
  134. package/lib/features/accessibility/search/search-palette.d.ts.map +1 -0
  135. package/lib/features/accessibility/search/search-palette.js +161 -0
  136. package/lib/features/accessibility/search/search-palette.js.map +1 -0
  137. package/lib/features/accessibility/search/search-tool.d.ts +29 -0
  138. package/lib/features/accessibility/search/search-tool.d.ts.map +1 -0
  139. package/lib/features/accessibility/search/search-tool.js +72 -0
  140. package/lib/features/accessibility/search/search-tool.js.map +1 -0
  141. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts +34 -0
  142. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts.map +1 -0
  143. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js +85 -0
  144. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js.map +1 -0
  145. package/lib/features/accessibility/view-key-tools/di.config.d.ts +20 -0
  146. package/lib/features/accessibility/view-key-tools/di.config.d.ts.map +1 -0
  147. package/lib/features/accessibility/view-key-tools/di.config.js +34 -0
  148. package/lib/features/accessibility/view-key-tools/di.config.js.map +1 -0
  149. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +48 -0
  150. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -0
  151. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +129 -0
  152. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -0
  153. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts +42 -0
  154. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts.map +1 -0
  155. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js +106 -0
  156. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js.map +1 -0
  157. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts +35 -0
  158. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts.map +1 -0
  159. package/lib/{base/actions/sprotty-actions.js → features/autocomplete-palette/autocomplete-suggestion-providers.js} +3 -6
  160. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.js.map +1 -0
  161. package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts +40 -0
  162. package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts.map +1 -0
  163. package/lib/features/autocomplete-palette/base-autocomplete-palette.js +82 -0
  164. package/lib/features/autocomplete-palette/base-autocomplete-palette.js.map +1 -0
  165. package/lib/features/bounds/di.config.d.ts +1 -2
  166. package/lib/features/bounds/di.config.d.ts.map +1 -1
  167. package/lib/features/bounds/di.config.js +15 -14
  168. package/lib/features/bounds/di.config.js.map +1 -1
  169. package/lib/features/bounds/freeform-layout.d.ts +14 -0
  170. package/lib/features/bounds/freeform-layout.d.ts.map +1 -0
  171. package/lib/features/{layout → bounds}/freeform-layout.js +6 -8
  172. package/lib/features/bounds/freeform-layout.js.map +1 -0
  173. package/lib/features/bounds/freeform-layout.spec.d.ts.map +1 -0
  174. package/lib/features/{layout/tests → bounds}/freeform-layout.spec.js +39 -39
  175. package/lib/features/bounds/freeform-layout.spec.js.map +1 -0
  176. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts +2 -3
  177. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts.map +1 -1
  178. package/lib/features/bounds/glsp-hidden-bounds-updater.js +9 -10
  179. package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -1
  180. package/lib/features/{layout → bounds}/hbox-layout.d.ts +1 -17
  181. package/lib/features/bounds/hbox-layout.d.ts.map +1 -0
  182. package/lib/features/{layout → bounds}/hbox-layout.js +11 -13
  183. package/lib/features/bounds/hbox-layout.js.map +1 -0
  184. package/lib/features/bounds/hbox-layout.spec.d.ts.map +1 -0
  185. package/lib/features/{layout/tests → bounds}/hbox-layout.spec.js +20 -21
  186. package/lib/features/bounds/hbox-layout.spec.js.map +1 -0
  187. package/lib/features/{layout/tests/layouter-test-util.d.ts → bounds/layouter-test-util.spec.d.ts} +3 -5
  188. package/lib/features/bounds/layouter-test-util.spec.d.ts.map +1 -0
  189. package/lib/features/{layout/tests/layouter-test-util.js → bounds/layouter-test-util.spec.js} +15 -15
  190. package/lib/features/bounds/layouter-test-util.spec.js.map +1 -0
  191. package/lib/features/bounds/layouter.d.ts +21 -0
  192. package/lib/features/bounds/layouter.d.ts.map +1 -0
  193. package/lib/features/{layout → bounds}/layouter.js +10 -12
  194. package/lib/features/bounds/layouter.js.map +1 -0
  195. package/lib/features/{layout → bounds}/vbox-layout.d.ts +1 -17
  196. package/lib/features/bounds/vbox-layout.d.ts.map +1 -0
  197. package/lib/features/{layout → bounds}/vbox-layout.js +11 -13
  198. package/lib/features/bounds/vbox-layout.js.map +1 -0
  199. package/lib/features/bounds/vbox-layout.spec.d.ts.map +1 -0
  200. package/lib/features/{layout/tests → bounds}/vbox-layout.spec.js +20 -21
  201. package/lib/features/bounds/vbox-layout.spec.js.map +1 -0
  202. package/lib/features/change-bounds/model.d.ts +2 -2
  203. package/lib/features/change-bounds/model.d.ts.map +1 -1
  204. package/lib/features/change-bounds/model.js +7 -7
  205. package/lib/features/change-bounds/model.js.map +1 -1
  206. package/lib/features/change-bounds/movement-restrictor.d.ts +1 -17
  207. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  208. package/lib/features/change-bounds/movement-restrictor.js +21 -7
  209. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  210. package/lib/features/change-bounds/snap.d.ts +1 -17
  211. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  212. package/lib/features/change-bounds/snap.js +19 -5
  213. package/lib/features/change-bounds/snap.js.map +1 -1
  214. package/lib/features/change-bounds/snap.spec.d.ts +1 -1
  215. package/lib/features/change-bounds/snap.spec.js +6 -6
  216. package/lib/features/change-bounds/snap.spec.js.map +1 -1
  217. package/lib/features/command-palette/command-palette-tool.d.ts +2 -2
  218. package/lib/features/command-palette/command-palette-tool.d.ts.map +1 -1
  219. package/lib/features/command-palette/command-palette-tool.js +9 -10
  220. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  221. package/lib/features/command-palette/di.config.d.ts +1 -1
  222. package/lib/features/command-palette/di.config.d.ts.map +1 -1
  223. package/lib/features/command-palette/di.config.js +6 -9
  224. package/lib/features/command-palette/di.config.js.map +1 -1
  225. package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -17
  226. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  227. package/lib/features/command-palette/server-command-palette-provider.js +8 -10
  228. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  229. package/lib/features/context-menu/delete-element-context-menu.d.ts +1 -17
  230. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  231. package/lib/features/context-menu/delete-element-context-menu.js +6 -8
  232. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  233. package/lib/features/context-menu/di.config.d.ts +1 -1
  234. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  235. package/lib/features/context-menu/di.config.js +8 -9
  236. package/lib/features/context-menu/di.config.js.map +1 -1
  237. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +2 -18
  238. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  239. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +23 -10
  240. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  241. package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -17
  242. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  243. package/lib/features/context-menu/server-context-menu-provider.js +9 -12
  244. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  245. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +1 -17
  246. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  247. package/lib/features/copy-paste/copy-paste-context-menu.js +12 -16
  248. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  249. package/lib/features/copy-paste/copy-paste-handler.d.ts +2 -18
  250. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  251. package/lib/features/copy-paste/copy-paste-handler.js +16 -19
  252. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  253. package/lib/features/copy-paste/di.config.d.ts +1 -1
  254. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  255. package/lib/features/copy-paste/di.config.js +6 -7
  256. package/lib/features/copy-paste/di.config.js.map +1 -1
  257. package/lib/features/decoration/decoration-placer.d.ts +1 -17
  258. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  259. package/lib/features/decoration/decoration-placer.js +7 -9
  260. package/lib/features/decoration/decoration-placer.js.map +1 -1
  261. package/lib/features/decoration/di.config.d.ts +1 -1
  262. package/lib/features/decoration/di.config.d.ts.map +1 -1
  263. package/lib/features/decoration/di.config.js +4 -5
  264. package/lib/features/decoration/di.config.js.map +1 -1
  265. package/lib/features/edit-label/di.config.d.ts +1 -1
  266. package/lib/features/edit-label/di.config.d.ts.map +1 -1
  267. package/lib/features/edit-label/di.config.js +6 -7
  268. package/lib/features/edit-label/di.config.js.map +1 -1
  269. package/lib/features/edit-label/edit-label-tool.d.ts +1 -1
  270. package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
  271. package/lib/features/edit-label/edit-label-tool.js +6 -7
  272. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  273. package/lib/features/edit-label/edit-label-validator.d.ts +1 -17
  274. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  275. package/lib/features/edit-label/edit-label-validator.js +12 -15
  276. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  277. package/lib/features/export/di.config.d.ts +1 -1
  278. package/lib/features/export/di.config.js +7 -7
  279. package/lib/features/export/di.config.js.map +1 -1
  280. package/lib/features/export/glsp-svg-exporter.d.ts +1 -17
  281. package/lib/features/export/glsp-svg-exporter.d.ts.map +1 -1
  282. package/lib/features/export/glsp-svg-exporter.js +20 -7
  283. package/lib/features/export/glsp-svg-exporter.js.map +1 -1
  284. package/lib/features/hints/di.config.d.ts +15 -0
  285. package/lib/features/hints/di.config.d.ts.map +1 -1
  286. package/lib/features/hints/di.config.js +5 -7
  287. package/lib/features/hints/di.config.js.map +1 -1
  288. package/lib/features/hints/model.d.ts +2 -3
  289. package/lib/features/hints/model.d.ts.map +1 -1
  290. package/lib/features/hints/model.js.map +1 -1
  291. package/lib/features/hints/type-hints.d.ts +3 -19
  292. package/lib/features/hints/type-hints.d.ts.map +1 -1
  293. package/lib/features/hints/type-hints.js +23 -27
  294. package/lib/features/hints/type-hints.js.map +1 -1
  295. package/lib/features/hover/di.config.d.ts +1 -1
  296. package/lib/features/hover/di.config.d.ts.map +1 -1
  297. package/lib/features/hover/di.config.js +20 -22
  298. package/lib/features/hover/di.config.js.map +1 -1
  299. package/lib/features/hover/hover.d.ts +1 -17
  300. package/lib/features/hover/hover.d.ts.map +1 -1
  301. package/lib/features/hover/hover.js +10 -14
  302. package/lib/features/hover/hover.js.map +1 -1
  303. package/lib/features/layout/di.config.d.ts +1 -1
  304. package/lib/features/layout/di.config.d.ts.map +1 -1
  305. package/lib/features/layout/di.config.js +4 -12
  306. package/lib/features/layout/di.config.js.map +1 -1
  307. package/lib/features/layout/layout-elements-action.d.ts +2 -18
  308. package/lib/features/layout/layout-elements-action.d.ts.map +1 -1
  309. package/lib/features/layout/layout-elements-action.js +28 -35
  310. package/lib/features/layout/layout-elements-action.js.map +1 -1
  311. package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -1
  312. package/lib/features/layout/layout-elements-action.spec.js +14 -16
  313. package/lib/features/layout/layout-elements-action.spec.js.map +1 -1
  314. package/lib/features/navigation/di.config.d.ts +17 -1
  315. package/lib/features/navigation/di.config.d.ts.map +1 -1
  316. package/lib/features/navigation/di.config.js +8 -9
  317. package/lib/features/navigation/di.config.js.map +1 -1
  318. package/lib/features/navigation/navigation-action-handler.d.ts +2 -18
  319. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  320. package/lib/features/navigation/navigation-action-handler.js +25 -27
  321. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  322. package/lib/features/navigation/navigation-target-resolver.d.ts +1 -17
  323. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  324. package/lib/features/navigation/navigation-target-resolver.js +11 -13
  325. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  326. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -1
  327. package/lib/features/navigation/navigation-target-resolver.spec.js +16 -17
  328. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  329. package/lib/features/reconnect/model.d.ts +2 -2
  330. package/lib/features/reconnect/model.d.ts.map +1 -1
  331. package/lib/features/reconnect/model.js +7 -7
  332. package/lib/features/reconnect/model.js.map +1 -1
  333. package/lib/features/save/di.config.d.ts +1 -1
  334. package/lib/features/save/di.config.js +3 -3
  335. package/lib/features/save/di.config.js.map +1 -1
  336. package/lib/features/save/model.d.ts +2 -2
  337. package/lib/features/save/model.d.ts.map +1 -1
  338. package/lib/features/save/save-keylistener.d.ts +2 -3
  339. package/lib/features/save/save-keylistener.d.ts.map +1 -1
  340. package/lib/features/save/save-keylistener.js +5 -7
  341. package/lib/features/save/save-keylistener.js.map +1 -1
  342. package/lib/features/select/di.config.d.ts +1 -1
  343. package/lib/features/select/di.config.d.ts.map +1 -1
  344. package/lib/features/select/di.config.js +9 -12
  345. package/lib/features/select/di.config.js.map +1 -1
  346. package/lib/features/select/select-feedback-command.d.ts +12 -0
  347. package/lib/features/select/select-feedback-command.d.ts.map +1 -0
  348. package/lib/features/select/{select-feedback-action.js → select-feedback-command.js} +10 -24
  349. package/lib/features/select/select-feedback-command.js.map +1 -0
  350. package/lib/features/select/select-mouse-listener.d.ts +3 -4
  351. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  352. package/lib/features/select/select-mouse-listener.js +25 -28
  353. package/lib/features/select/select-mouse-listener.js.map +1 -1
  354. package/lib/features/source-model-watcher/di.config.d.ts +15 -0
  355. package/lib/features/source-model-watcher/di.config.d.ts.map +1 -1
  356. package/lib/features/source-model-watcher/di.config.js +3 -4
  357. package/lib/features/source-model-watcher/di.config.js.map +1 -1
  358. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts +1 -17
  359. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts.map +1 -1
  360. package/lib/features/source-model-watcher/source-model-changed-action-handler.js +11 -14
  361. package/lib/features/source-model-watcher/source-model-changed-action-handler.js.map +1 -1
  362. package/lib/features/{mouse-tool → svg-metadata}/di.config.d.ts +3 -3
  363. package/lib/features/svg-metadata/di.config.d.ts.map +1 -0
  364. package/lib/features/{rank/model.js → svg-metadata/di.config.js} +10 -12
  365. package/lib/features/svg-metadata/di.config.js.map +1 -0
  366. package/lib/features/svg-metadata/metadata-placer.d.ts +23 -0
  367. package/lib/features/svg-metadata/metadata-placer.d.ts.map +1 -0
  368. package/lib/features/svg-metadata/metadata-placer.js +60 -0
  369. package/lib/features/svg-metadata/metadata-placer.js.map +1 -0
  370. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +3 -20
  371. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  372. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +24 -28
  373. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  374. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +6 -22
  375. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  376. package/lib/features/tool-feedback/creation-tool-feedback.js +33 -41
  377. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  378. package/lib/features/tool-feedback/css-feedback.d.ts +2 -18
  379. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  380. package/lib/features/tool-feedback/css-feedback.js +9 -12
  381. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  382. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  383. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  384. package/lib/features/tool-feedback/di.config.js +20 -22
  385. package/lib/features/tool-feedback/di.config.js.map +1 -1
  386. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +3 -20
  387. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  388. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +41 -53
  389. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  390. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +2 -18
  391. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  392. package/lib/features/tool-feedback/marquee-tool-feedback.js +14 -17
  393. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  394. package/lib/features/tool-feedback/view.d.ts +1 -17
  395. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  396. package/lib/features/tool-feedback/view.js +9 -12
  397. package/lib/features/tool-feedback/view.js.map +1 -1
  398. package/lib/features/tool-palette/di.config.d.ts +1 -1
  399. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  400. package/lib/features/tool-palette/di.config.js +6 -8
  401. package/lib/features/tool-palette/di.config.js.map +1 -1
  402. package/lib/features/tool-palette/tool-palette.d.ts +3 -17
  403. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  404. package/lib/features/tool-palette/tool-palette.js +32 -28
  405. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  406. package/lib/features/tools/base-glsp-tool.d.ts +3 -20
  407. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  408. package/lib/features/tools/base-glsp-tool.js +24 -11
  409. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  410. package/lib/features/tools/change-bounds-tool.d.ts +2 -18
  411. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  412. package/lib/features/tools/change-bounds-tool.js +29 -32
  413. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  414. package/lib/features/tools/delete-tool.d.ts +3 -20
  415. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  416. package/lib/features/tools/delete-tool.js +22 -29
  417. package/lib/features/tools/delete-tool.js.map +1 -1
  418. package/lib/features/tools/di.config.d.ts +18 -5
  419. package/lib/features/tools/di.config.d.ts.map +1 -1
  420. package/lib/features/tools/di.config.js +17 -20
  421. package/lib/features/tools/di.config.js.map +1 -1
  422. package/lib/features/tools/edge-creation-tool.d.ts +1 -17
  423. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  424. package/lib/features/tools/edge-creation-tool.js +18 -21
  425. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  426. package/lib/features/tools/edge-edit-tool.d.ts +2 -18
  427. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  428. package/lib/features/tools/edge-edit-tool.js +21 -24
  429. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  430. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts +1 -17
  431. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +1 -1
  432. package/lib/features/tools/enable-default-tools-on-focus-loss.js +19 -5
  433. package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -1
  434. package/lib/features/tools/glsp-manhattan-edge-router.d.ts +3 -3
  435. package/lib/features/tools/glsp-manhattan-edge-router.d.ts.map +1 -1
  436. package/lib/features/tools/glsp-manhattan-edge-router.js +8 -9
  437. package/lib/features/tools/glsp-manhattan-edge-router.js.map +1 -1
  438. package/lib/features/tools/marquee-behavior.d.ts +2 -2
  439. package/lib/features/tools/marquee-behavior.d.ts.map +1 -1
  440. package/lib/features/tools/marquee-behavior.js +4 -4
  441. package/lib/features/tools/marquee-behavior.js.map +1 -1
  442. package/lib/features/tools/marquee-mouse-tool.d.ts +1 -18
  443. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  444. package/lib/features/tools/marquee-mouse-tool.js +17 -26
  445. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  446. package/lib/features/tools/marquee-tool.d.ts +1 -17
  447. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  448. package/lib/features/tools/marquee-tool.js +23 -10
  449. package/lib/features/tools/marquee-tool.js.map +1 -1
  450. package/lib/features/tools/model.d.ts +2 -3
  451. package/lib/features/tools/model.d.ts.map +1 -1
  452. package/lib/features/tools/model.js +18 -3
  453. package/lib/features/tools/model.js.map +1 -1
  454. package/lib/features/tools/node-creation-tool.d.ts +1 -17
  455. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  456. package/lib/features/tools/node-creation-tool.js +14 -17
  457. package/lib/features/tools/node-creation-tool.js.map +1 -1
  458. package/lib/features/tools/view.d.ts +1 -1
  459. package/lib/features/tools/view.d.ts.map +1 -1
  460. package/lib/features/tools/view.js +5 -6
  461. package/lib/features/tools/view.js.map +1 -1
  462. package/lib/features/validation/di.config.d.ts +15 -0
  463. package/lib/features/validation/di.config.d.ts.map +1 -1
  464. package/lib/features/validation/di.config.js +9 -11
  465. package/lib/features/validation/di.config.js.map +1 -1
  466. package/lib/features/validation/issue-marker.d.ts +2 -3
  467. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  468. package/lib/features/validation/issue-marker.js +9 -10
  469. package/lib/features/validation/issue-marker.js.map +1 -1
  470. package/lib/features/validation/marker-navigator.d.ts +2 -18
  471. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  472. package/lib/features/validation/marker-navigator.js +28 -36
  473. package/lib/features/validation/marker-navigator.js.map +1 -1
  474. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  475. package/lib/features/validation/marker-navigator.spec.js +23 -10
  476. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  477. package/lib/features/validation/validate.d.ts +8 -24
  478. package/lib/features/validation/validate.d.ts.map +1 -1
  479. package/lib/features/validation/validate.js +40 -46
  480. package/lib/features/validation/validate.js.map +1 -1
  481. package/lib/features/viewport/di.config.d.ts +1 -1
  482. package/lib/features/viewport/di.config.d.ts.map +1 -1
  483. package/lib/features/viewport/di.config.js +12 -12
  484. package/lib/features/viewport/di.config.js.map +1 -1
  485. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -17
  486. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  487. package/lib/features/viewport/glsp-scroll-mouse-listener.js +20 -6
  488. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  489. package/lib/{base/tool-manager/tool-actions.d.ts → glsp-sprotty/augmented-actions.d.ts} +7 -2
  490. package/lib/glsp-sprotty/augmented-actions.d.ts.map +1 -0
  491. package/lib/{base/tool-manager/tool-actions.js → glsp-sprotty/augmented-actions.js} +6 -2
  492. package/lib/glsp-sprotty/augmented-actions.js.map +1 -0
  493. package/lib/{sprotty-reexport.d.ts → glsp-sprotty/index.d.ts} +33 -17
  494. package/lib/glsp-sprotty/index.d.ts.map +1 -0
  495. package/lib/{sprotty-reexport.js → glsp-sprotty/index.js} +73 -39
  496. package/lib/glsp-sprotty/index.js.map +1 -0
  497. package/lib/{base → glsp-sprotty}/types.d.ts +0 -4
  498. package/lib/glsp-sprotty/types.d.ts.map +1 -0
  499. package/lib/{base → glsp-sprotty}/types.js +3 -2
  500. package/lib/glsp-sprotty/types.js.map +1 -0
  501. package/lib/index.d.ts +46 -14
  502. package/lib/index.d.ts.map +1 -1
  503. package/lib/index.js +96 -52
  504. package/lib/index.js.map +1 -1
  505. package/lib/lib/model.d.ts +1 -2
  506. package/lib/lib/model.d.ts.map +1 -1
  507. package/lib/lib/model.js +8 -9
  508. package/lib/lib/model.js.map +1 -1
  509. package/lib/model-source/glsp-diagram-server.d.ts +1 -17
  510. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  511. package/lib/model-source/glsp-diagram-server.js +11 -13
  512. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  513. package/lib/utils/argument-utils.d.ts +2 -2
  514. package/lib/utils/argument-utils.d.ts.map +1 -1
  515. package/lib/utils/argument-utils.js +2 -2
  516. package/lib/utils/argument-utils.js.map +1 -1
  517. package/lib/utils/layout-utils.d.ts +2 -3
  518. package/lib/utils/layout-utils.d.ts.map +1 -1
  519. package/lib/utils/layout-utils.js.map +1 -1
  520. package/lib/utils/marker.d.ts +16 -1
  521. package/lib/utils/marker.d.ts.map +1 -1
  522. package/lib/utils/marker.js +7 -8
  523. package/lib/utils/marker.js.map +1 -1
  524. package/lib/utils/smodel-util.d.ts +7 -6
  525. package/lib/utils/smodel-util.d.ts.map +1 -1
  526. package/lib/utils/smodel-util.js +33 -17
  527. package/lib/utils/smodel-util.js.map +1 -1
  528. package/lib/utils/smodel-util.spec.d.ts +2 -0
  529. package/lib/utils/smodel-util.spec.d.ts.map +1 -0
  530. package/lib/utils/smodel-util.spec.js +184 -0
  531. package/lib/utils/smodel-util.spec.js.map +1 -0
  532. package/lib/utils/viewpoint-util.d.ts +2 -3
  533. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  534. package/lib/utils/viewpoint-util.js +5 -6
  535. package/lib/utils/viewpoint-util.js.map +1 -1
  536. package/lib/views/base-view-module.d.ts +18 -6
  537. package/lib/views/base-view-module.d.ts.map +1 -1
  538. package/lib/views/base-view-module.js +22 -23
  539. package/lib/views/base-view-module.js.map +1 -1
  540. package/lib/views/compartments.d.ts +1 -1
  541. package/lib/views/compartments.d.ts.map +1 -1
  542. package/lib/views/compartments.js +5 -6
  543. package/lib/views/compartments.js.map +1 -1
  544. package/lib/views/glsp-edge-view.d.ts +2 -18
  545. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  546. package/lib/views/glsp-edge-view.js +21 -7
  547. package/lib/views/glsp-edge-view.js.map +1 -1
  548. package/lib/views/glsp-projection-view.d.ts +2 -4
  549. package/lib/views/glsp-projection-view.d.ts.map +1 -1
  550. package/lib/views/glsp-projection-view.js +12 -11
  551. package/lib/views/glsp-projection-view.js.map +1 -1
  552. package/lib/views/index.d.ts +1 -1
  553. package/lib/views/index.js +1 -1
  554. package/lib/views/issue-marker-view.d.ts +1 -1
  555. package/lib/views/issue-marker-view.d.ts.map +1 -1
  556. package/lib/views/issue-marker-view.js +6 -7
  557. package/lib/views/issue-marker-view.js.map +1 -1
  558. package/lib/views/rounded-corner-view.d.ts +1 -1
  559. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  560. package/lib/views/rounded-corner-view.js +7 -8
  561. package/lib/views/rounded-corner-view.js.map +1 -1
  562. package/lib/views/rounded-corner.d.ts +2 -3
  563. package/lib/views/rounded-corner.d.ts.map +1 -1
  564. package/lib/views/rounded-corner.js +1 -1
  565. package/lib/views/rounded-corner.js.map +1 -1
  566. package/package.json +9 -6
  567. package/src/base/action-dispatcher.ts +2 -3
  568. package/src/base/actions/focus-change-action.ts +2 -2
  569. package/src/base/argumentable.ts +2 -3
  570. package/src/base/auto-complete/auto-complete-actions.ts +2 -2
  571. package/src/base/auto-complete/auto-complete-widget.ts +35 -14
  572. package/src/base/auto-complete/validation-decorator.ts +2 -3
  573. package/src/base/command-stack.ts +44 -10
  574. package/src/base/di.config.ts +28 -12
  575. package/src/base/drag-aware-mouse-listener.ts +2 -3
  576. package/src/base/editor-context-service.ts +21 -9
  577. package/src/{features/tool-feedback/model.ts → base/feedback/feeback-command.ts} +2 -2
  578. package/src/{features/tool-feedback → base/feedback}/feedback-action-dispatcher.ts +2 -4
  579. package/src/base/{model → feedback}/update-model-command.ts +9 -32
  580. package/src/base/focus-tracker.ts +2 -4
  581. package/src/base/model/model-registry.ts +2 -2
  582. package/src/base/model-initialization-constraint.ts +2 -3
  583. package/src/base/ranked.ts +42 -0
  584. package/src/base/selection-clearing-mouse-listener.ts +2 -2
  585. package/src/{features/select → base}/selection-service.spec.ts +7 -13
  586. package/src/{features/select → base}/selection-service.ts +59 -27
  587. package/src/base/source-uri-aware.ts +2 -2
  588. package/src/base/tool-manager/glsp-tool-manager.ts +15 -14
  589. package/src/{features/mouse-tool → base/view}/mouse-tool.ts +10 -18
  590. package/src/base/view/view-registry.ts +2 -2
  591. package/src/{base/container-modules.ts → container-modules.ts} +41 -53
  592. package/src/features/accessibility/README.md +65 -0
  593. package/src/features/{mouse-tool → accessibility}/di.config.ts +15 -10
  594. package/src/features/accessibility/move-zoom/di.config.ts +42 -0
  595. package/src/features/accessibility/move-zoom/move-handler.ts +209 -0
  596. package/src/features/accessibility/move-zoom/zoom-handler.ts +182 -0
  597. package/src/features/accessibility/resize-key-tool/di.config.ts +35 -0
  598. package/src/features/accessibility/resize-key-tool/resize-key-handler.ts +129 -0
  599. package/src/features/accessibility/resize-key-tool/resize-key-tool.ts +106 -0
  600. package/src/features/accessibility/search/di.config.ts +30 -0
  601. package/src/features/accessibility/search/search-palette.ts +193 -0
  602. package/src/features/accessibility/search/search-tool.ts +59 -0
  603. package/src/features/accessibility/view-key-tools/deselect-key-tool.ts +88 -0
  604. package/src/features/accessibility/view-key-tools/di.config.ts +32 -0
  605. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +113 -0
  606. package/src/features/accessibility/view-key-tools/zoom-key-tool.ts +92 -0
  607. package/src/{base/actions/sprotty-actions.ts → features/autocomplete-palette/autocomplete-suggestion-providers.ts} +21 -10
  608. package/src/features/autocomplete-palette/base-autocomplete-palette.ts +87 -0
  609. package/src/features/bounds/di.config.ts +23 -13
  610. package/src/features/{layout/tests → bounds}/freeform-layout.spec.ts +3 -3
  611. package/src/features/{layout → bounds}/freeform-layout.ts +14 -6
  612. package/src/features/bounds/glsp-hidden-bounds-updater.ts +16 -8
  613. package/src/features/{layout/tests → bounds}/hbox-layout.spec.ts +3 -4
  614. package/src/features/{layout → bounds}/hbox-layout.ts +9 -7
  615. package/src/features/{layout/tests/layouter-test-util.ts → bounds/layouter-test-util.spec.ts} +11 -10
  616. package/src/features/{layout → bounds}/layouter.ts +7 -7
  617. package/src/features/{layout/tests → bounds}/vbox-layout.spec.ts +3 -4
  618. package/src/features/{layout → bounds}/vbox-layout.ts +8 -6
  619. package/src/features/change-bounds/model.ts +2 -2
  620. package/src/features/change-bounds/movement-restrictor.ts +3 -4
  621. package/src/features/change-bounds/snap.spec.ts +2 -2
  622. package/src/features/change-bounds/snap.ts +2 -3
  623. package/src/features/command-palette/command-palette-tool.ts +4 -4
  624. package/src/features/command-palette/di.config.ts +6 -9
  625. package/src/features/command-palette/server-command-palette-provider.ts +11 -4
  626. package/src/features/context-menu/delete-element-context-menu.ts +2 -4
  627. package/src/features/context-menu/di.config.ts +4 -5
  628. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +4 -6
  629. package/src/features/context-menu/server-context-menu-provider.ts +12 -4
  630. package/src/features/copy-paste/copy-paste-context-menu.ts +15 -4
  631. package/src/features/copy-paste/copy-paste-handler.ts +14 -8
  632. package/src/features/copy-paste/di.config.ts +2 -3
  633. package/src/features/decoration/decoration-placer.ts +2 -3
  634. package/src/features/decoration/di.config.ts +4 -5
  635. package/src/features/edit-label/di.config.ts +3 -4
  636. package/src/features/edit-label/edit-label-tool.ts +2 -2
  637. package/src/features/edit-label/edit-label-validator.ts +9 -6
  638. package/src/features/export/di.config.ts +6 -6
  639. package/src/features/export/glsp-svg-exporter.ts +9 -9
  640. package/src/features/hints/di.config.ts +2 -4
  641. package/src/features/hints/model.ts +2 -3
  642. package/src/features/hints/type-hints.ts +15 -11
  643. package/src/features/hover/di.config.ts +13 -12
  644. package/src/features/hover/hover.ts +14 -9
  645. package/src/features/layout/di.config.ts +2 -11
  646. package/src/features/layout/layout-elements-action.spec.ts +15 -17
  647. package/src/features/layout/layout-elements-action.ts +15 -13
  648. package/src/features/navigation/di.config.ts +5 -4
  649. package/src/features/navigation/navigation-action-handler.ts +13 -9
  650. package/src/features/navigation/navigation-target-resolver.spec.ts +2 -3
  651. package/src/features/navigation/navigation-target-resolver.ts +10 -4
  652. package/src/features/reconnect/model.ts +2 -2
  653. package/src/features/save/di.config.ts +3 -3
  654. package/src/features/save/model.ts +2 -2
  655. package/src/features/save/save-keylistener.ts +2 -4
  656. package/src/features/select/di.config.ts +9 -12
  657. package/src/features/select/{select-feedback-action.ts → select-feedback-command.ts} +3 -19
  658. package/src/features/select/select-mouse-listener.ts +13 -12
  659. package/src/features/source-model-watcher/di.config.ts +2 -3
  660. package/src/features/source-model-watcher/source-model-changed-action-handler.ts +11 -4
  661. package/src/features/svg-metadata/di.config.ts +26 -0
  662. package/src/features/svg-metadata/metadata-placer.ts +49 -0
  663. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +15 -13
  664. package/src/features/tool-feedback/creation-tool-feedback.ts +32 -23
  665. package/src/features/tool-feedback/css-feedback.ts +3 -6
  666. package/src/features/tool-feedback/di.config.ts +20 -22
  667. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +16 -21
  668. package/src/features/tool-feedback/marquee-tool-feedback.ts +7 -5
  669. package/src/features/tool-feedback/view.tsx +2 -3
  670. package/src/features/tool-palette/di.config.ts +4 -6
  671. package/src/features/tool-palette/tool-palette.ts +20 -10
  672. package/src/features/tools/base-glsp-tool.ts +4 -7
  673. package/src/features/tools/change-bounds-tool.ts +23 -25
  674. package/src/features/tools/delete-tool.ts +13 -12
  675. package/src/features/tools/di.config.ts +28 -21
  676. package/src/features/tools/edge-creation-tool.ts +9 -7
  677. package/src/features/tools/edge-edit-tool.ts +15 -13
  678. package/src/features/tools/enable-default-tools-on-focus-loss.ts +2 -3
  679. package/src/features/tools/glsp-manhattan-edge-router.ts +9 -7
  680. package/src/features/tools/marquee-behavior.ts +2 -3
  681. package/src/features/tools/marquee-mouse-tool.ts +10 -13
  682. package/src/features/tools/marquee-tool.ts +2 -3
  683. package/src/features/tools/model.ts +2 -3
  684. package/src/features/tools/node-creation-tool.ts +8 -6
  685. package/src/features/tools/view.tsx +2 -2
  686. package/src/features/validation/di.config.ts +5 -7
  687. package/src/features/validation/issue-marker.ts +13 -3
  688. package/src/features/validation/marker-navigator.spec.ts +7 -8
  689. package/src/features/validation/marker-navigator.ts +19 -14
  690. package/src/features/validation/validate.ts +34 -25
  691. package/src/features/viewport/di.config.ts +14 -12
  692. package/src/features/viewport/glsp-scroll-mouse-listener.ts +10 -3
  693. package/src/{base/tool-manager/tool-actions.ts → glsp-sprotty/augmented-actions.ts} +14 -3
  694. package/src/{sprotty-reexport.ts → glsp-sprotty/index.ts} +97 -47
  695. package/src/{base → glsp-sprotty}/types.ts +2 -3
  696. package/src/index.ts +74 -29
  697. package/src/lib/model.ts +12 -2
  698. package/src/model-source/glsp-diagram-server.ts +10 -5
  699. package/src/utils/argument-utils.ts +2 -2
  700. package/src/utils/layout-utils.ts +2 -3
  701. package/src/utils/marker.ts +2 -3
  702. package/src/utils/smodel-util.spec.ts +222 -0
  703. package/src/utils/smodel-util.ts +40 -15
  704. package/src/utils/viewpoint-util.ts +13 -3
  705. package/src/views/base-view-module.ts +11 -15
  706. package/src/views/compartments.tsx +2 -2
  707. package/src/views/glsp-edge-view.tsx +4 -5
  708. package/src/views/glsp-projection-view.tsx +6 -5
  709. package/src/views/index.ts +1 -2
  710. package/src/views/issue-marker-view.tsx +2 -2
  711. package/src/views/rounded-corner-view.tsx +3 -3
  712. package/src/views/rounded-corner.ts +3 -4
  713. package/lib/base/actions/sprotty-actions.d.ts +0 -7
  714. package/lib/base/actions/sprotty-actions.d.ts.map +0 -1
  715. package/lib/base/actions/sprotty-actions.js.map +0 -1
  716. package/lib/base/container-modules.d.ts.map +0 -1
  717. package/lib/base/container-modules.js +0 -140
  718. package/lib/base/container-modules.js.map +0 -1
  719. package/lib/base/model/update-model-command.d.ts +0 -47
  720. package/lib/base/model/update-model-command.d.ts.map +0 -1
  721. package/lib/base/model/update-model-command.js.map +0 -1
  722. package/lib/base/tool-manager/tool-actions.d.ts.map +0 -1
  723. package/lib/base/tool-manager/tool-actions.js.map +0 -1
  724. package/lib/base/types.d.ts.map +0 -1
  725. package/lib/base/types.js.map +0 -1
  726. package/lib/features/layout/freeform-layout.d.ts +0 -32
  727. package/lib/features/layout/freeform-layout.d.ts.map +0 -1
  728. package/lib/features/layout/freeform-layout.js.map +0 -1
  729. package/lib/features/layout/hbox-layout.d.ts.map +0 -1
  730. package/lib/features/layout/hbox-layout.js.map +0 -1
  731. package/lib/features/layout/layouter.d.ts +0 -37
  732. package/lib/features/layout/layouter.d.ts.map +0 -1
  733. package/lib/features/layout/layouter.js.map +0 -1
  734. package/lib/features/layout/tests/freeform-layout.spec.d.ts.map +0 -1
  735. package/lib/features/layout/tests/freeform-layout.spec.js.map +0 -1
  736. package/lib/features/layout/tests/hbox-layout.spec.d.ts.map +0 -1
  737. package/lib/features/layout/tests/hbox-layout.spec.js.map +0 -1
  738. package/lib/features/layout/tests/layouter-test-util.d.ts.map +0 -1
  739. package/lib/features/layout/tests/layouter-test-util.js.map +0 -1
  740. package/lib/features/layout/tests/vbox-layout.spec.d.ts.map +0 -1
  741. package/lib/features/layout/tests/vbox-layout.spec.js.map +0 -1
  742. package/lib/features/layout/vbox-layout.d.ts.map +0 -1
  743. package/lib/features/layout/vbox-layout.js.map +0 -1
  744. package/lib/features/mouse-tool/di.config.d.ts.map +0 -1
  745. package/lib/features/mouse-tool/di.config.js.map +0 -1
  746. package/lib/features/mouse-tool/mouse-tool.d.ts.map +0 -1
  747. package/lib/features/mouse-tool/mouse-tool.js.map +0 -1
  748. package/lib/features/rank/model.d.ts.map +0 -1
  749. package/lib/features/rank/model.js.map +0 -1
  750. package/lib/features/select/select-feedback-action.d.ts +0 -38
  751. package/lib/features/select/select-feedback-action.d.ts.map +0 -1
  752. package/lib/features/select/select-feedback-action.js.map +0 -1
  753. package/lib/features/select/selection-service.d.ts.map +0 -1
  754. package/lib/features/select/selection-service.js.map +0 -1
  755. package/lib/features/select/selection-service.spec.d.ts.map +0 -1
  756. package/lib/features/select/selection-service.spec.js.map +0 -1
  757. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +0 -1
  758. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +0 -1
  759. package/lib/features/tool-feedback/model.d.ts.map +0 -1
  760. package/lib/features/tool-feedback/model.js.map +0 -1
  761. package/lib/sprotty-reexport.d.ts.map +0 -1
  762. package/lib/sprotty-reexport.js.map +0 -1
  763. /package/lib/{features/select → base}/selection-service.spec.d.ts +0 -0
  764. /package/lib/features/{layout/tests → bounds}/freeform-layout.spec.d.ts +0 -0
  765. /package/lib/features/{layout/tests → bounds}/hbox-layout.spec.d.ts +0 -0
  766. /package/lib/features/{layout/tests → bounds}/vbox-layout.spec.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2022 EclipseSource and others.
2
+ * Copyright (c) 2020-2023 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,8 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, Deferred, SetModelAction, UpdateModelAction } from '@eclipse-glsp/protocol';
17
16
  import { injectable } from 'inversify';
18
- import { InitializeCanvasBoundsAction } from 'sprotty';
17
+ import { Action, Deferred, InitializeCanvasBoundsAction, SetModelAction, UpdateModelAction } from '~glsp-sprotty';
19
18
 
20
19
  /**
21
20
  * The constraint defining when the initialization of the GLSP model is completed.
@@ -0,0 +1,42 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2019-2023 EclipseSource 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
+ import { AnyObject, hasNumberProp } from '~glsp-sprotty';
18
+
19
+ /**
20
+ * A common interface for services/listeners that should be
21
+ * orderable by a type or rank/priority.
22
+ */
23
+ export interface Ranked {
24
+ rank: number;
25
+ }
26
+
27
+ export namespace Ranked {
28
+ export const DEFAULT_RANK = 0;
29
+ export function is(object: unknown): object is Ranked {
30
+ return AnyObject.is(object) && hasNumberProp(object, 'rank');
31
+ }
32
+
33
+ /**
34
+ * Tries to retrieve the rank form the given object. If the object
35
+ * implements the {@link Ranked} interface the corresponding rank is returned
36
+ * otherwise the {@link DEFAULT_RANK} is returned.
37
+ * @param object
38
+ */
39
+ export function getRank(object: unknown): number {
40
+ return is(object) ? object.rank : DEFAULT_RANK;
41
+ }
42
+ }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2022 EclipseSource and others.
2
+ * Copyright (c) 2020-2023 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,7 +14,7 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { injectable } from 'inversify';
17
- import { MouseListener, SModelElement } from 'sprotty';
17
+ import { MouseListener, SModelElement } from '~glsp-sprotty';
18
18
 
19
19
  /**
20
20
  * A mouse listener that clears the document selection on click
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2022 EclipseSource and others.
2
+ * Copyright (c) 2020-2023 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,15 +13,11 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- /* eslint-disable import/no-deprecated,no-unused-expressions */
17
- import { Action, SModelElementSchema } from '@eclipse-glsp/protocol';
18
16
  import { AssertionError, expect } from 'chai';
19
17
  import { Container, injectable } from 'inversify';
20
- import { defaultModule, SGraphFactory, SModelRoot } from 'sprotty';
21
- import { TYPES } from '../../base/types';
22
- import { IFeedbackActionDispatcher, IFeedbackEmitter } from '../tool-feedback/feedback-action-dispatcher';
23
- import { SelectFeedbackAction } from './select-feedback-action';
24
- import { SelectionListener, SelectionService } from './selection-service';
18
+ import { Action, SGraphFactory, SModelElementSchema, SModelRoot, TYPES, defaultModule, initializeContainer } from '~glsp-sprotty';
19
+ import { IFeedbackActionDispatcher, IFeedbackEmitter } from './feedback/feedback-action-dispatcher';
20
+ import { SelectFeedbackAction, SelectionListener, SelectionService } from './selection-service';
25
21
 
26
22
  @injectable()
27
23
  class MockFeedbackActionDispatcher implements IFeedbackActionDispatcher {
@@ -72,13 +68,11 @@ class MockSelectionListener implements SelectionListener {
72
68
  }
73
69
 
74
70
  function createContainer(): Container {
75
- const container = new Container();
76
- container.load(defaultModule);
71
+ const container = initializeContainer(new Container(), defaultModule);
77
72
  // eslint-disable-next-line deprecation/deprecation
78
73
  container.rebind(TYPES.IModelFactory).to(SGraphFactory).inSingletonScope();
79
74
  container.bind(TYPES.IFeedbackActionDispatcher).to(MockFeedbackActionDispatcher).inSingletonScope();
80
75
  container.bind(SelectionService).toSelf().inSingletonScope();
81
- container.bind(TYPES.SelectionService).toService(SelectionService);
82
76
  return container;
83
77
  }
84
78
 
@@ -94,7 +88,7 @@ describe('SelectionService', () => {
94
88
  // eslint-disable-next-line deprecation/deprecation
95
89
  graphFactory = container.get<SGraphFactory>(TYPES.IModelFactory);
96
90
  root = createRoot('node1', 'node2', 'node3', 'node4', 'node5');
97
- selectionService = container.get<SelectionService>(TYPES.SelectionService);
91
+ selectionService = container.get<SelectionService>(SelectionService);
98
92
  feedbackDispatcher = container.get<MockFeedbackActionDispatcher>(TYPES.IFeedbackActionDispatcher);
99
93
  });
100
94
 
@@ -200,7 +194,7 @@ describe('SelectionService', () => {
200
194
  selectionService.modelRootChanged(newRoot);
201
195
  assertSelectionAndFeedback(['node1'], ['node2']);
202
196
  });
203
- it('Changing root with new selection correctly selects matchting elements and deselects not matching elements.', () => {
197
+ it('Changing root with new selection correctly selects matching elements and deselects not matching elements.', () => {
204
198
  assertSelectionAndFeedback([], []);
205
199
  selectionService.updateSelection(root, ['node1', 'node2'], []);
206
200
  assertSelectionAndFeedback(['node1', 'node2'], []);
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2022 EclipseSource and others.
2
+ * Copyright (c) 2019-2023 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,25 +13,30 @@
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, pluck, remove, SelectAction, SelectAllAction } from '@eclipse-glsp/protocol';
17
16
  import { inject, injectable, multiInject, optional } from 'inversify';
18
17
  import {
18
+ Action,
19
19
  Command,
20
20
  CommandExecutionContext,
21
21
  ILogger,
22
- isSelectable,
23
22
  SChildElement,
24
- Selectable,
25
- SelectAllCommand as SprottySelectAllCommand,
26
- SelectCommand as SprottySelectCommand,
27
23
  SModelElement,
28
- SModelRoot
29
- } from 'sprotty';
30
- import { SModelRootListener } from '../../base/model/update-model-command';
31
- import { TYPES } from '../../base/types';
32
- import { getElements, getMatchingElements } from '../../utils/smodel-util';
33
- import { IFeedbackActionDispatcher } from '../tool-feedback/feedback-action-dispatcher';
34
- import { SelectFeedbackAction } from './select-feedback-action';
24
+ SModelRoot,
25
+ SelectAction,
26
+ SelectAllAction,
27
+ Selectable,
28
+ SprottySelectAllCommand,
29
+ SprottySelectCommand,
30
+ TYPES,
31
+ distinctAdd,
32
+ hasArrayProp,
33
+ isSelectable,
34
+ pluck,
35
+ remove
36
+ } from '~glsp-sprotty';
37
+ import { getElements, getMatchingElements } from '../utils/smodel-util';
38
+ import { SModelRootListener } from './command-stack';
39
+ import { IFeedbackActionDispatcher } from './feedback/feedback-action-dispatcher';
35
40
 
36
41
  export interface SelectionListener {
37
42
  selectionChanged(root: Readonly<SModelRoot>, selectedElements: string[]): void;
@@ -39,11 +44,14 @@ export interface SelectionListener {
39
44
 
40
45
  @injectable()
41
46
  export class SelectionService implements SModelRootListener {
42
- private root: Readonly<SModelRoot>;
43
- private selectedElementIDs: Set<string> = new Set();
47
+ protected root: Readonly<SModelRoot>;
48
+ protected selectedElementIDs: Set<string> = new Set();
49
+
50
+ @inject(TYPES.IFeedbackActionDispatcher)
51
+ protected feedbackDispatcher: IFeedbackActionDispatcher;
44
52
 
45
- @inject(TYPES.IFeedbackActionDispatcher) protected feedbackDispatcher: IFeedbackActionDispatcher;
46
- @inject(TYPES.ILogger) protected logger: ILogger;
53
+ @inject(TYPES.ILogger)
54
+ protected logger: ILogger;
47
55
 
48
56
  constructor(@multiInject(TYPES.SelectionListener) @optional() protected selectionListeners: SelectionListener[] = []) {}
49
57
 
@@ -127,7 +135,7 @@ export class SelectionService implements SModelRootListener {
127
135
  }
128
136
 
129
137
  getSelectedElements(): Readonly<SModelElement & Selectable>[] {
130
- return getElements(this.root.index, Array.from(this.selectedElementIDs), isSelectable);
138
+ return !this.root ? [] : getElements(this.root.index, Array.from(this.selectedElementIDs), isSelectable);
131
139
  }
132
140
 
133
141
  /**
@@ -163,10 +171,7 @@ export class SelectCommand extends Command {
163
171
  protected selected: SModelElement[] = [];
164
172
  protected deselected: SModelElement[] = [];
165
173
 
166
- constructor(
167
- @inject(TYPES.Action) public action: SelectAction,
168
- @inject(TYPES.SelectionService) public selectionService: SelectionService
169
- ) {
174
+ constructor(@inject(TYPES.Action) public action: SelectAction, @inject(SelectionService) public selectionService: SelectionService) {
170
175
  super();
171
176
  }
172
177
 
@@ -174,7 +179,9 @@ export class SelectCommand extends Command {
174
179
  const model = context.root;
175
180
  const selectionGuard = (element: any): element is SModelElement => element instanceof SChildElement && isSelectable(element);
176
181
  const selectedElements = getElements(model.index, this.action.selectedElementsIDs, selectionGuard);
177
- const deselectedElements = getElements(model.index, this.action.deselectedElementsIDs, selectionGuard);
182
+ const deselectedElements = this.action.deselectAll
183
+ ? this.selectionService.getSelectedElements()
184
+ : getElements(model.index, this.action.deselectedElementsIDs, selectionGuard);
178
185
 
179
186
  this.selectionService.updateSelection(model, pluck(selectedElements, 'id'), pluck(deselectedElements, 'id'));
180
187
  return model;
@@ -201,10 +208,7 @@ export class SelectAllCommand extends Command {
201
208
  static readonly KIND = SprottySelectAllCommand.KIND;
202
209
  protected previousSelection: Map<string, boolean> = new Map<string, boolean>();
203
210
 
204
- constructor(
205
- @inject(TYPES.Action) public action: SelectAllAction,
206
- @inject(TYPES.SelectionService) public selectionService: SelectionService
207
- ) {
211
+ constructor(@inject(TYPES.Action) public action: SelectAllAction, @inject(SelectionService) public selectionService: SelectionService) {
208
212
  super();
209
213
  }
210
214
 
@@ -233,3 +237,31 @@ export class SelectAllCommand extends Command {
233
237
  return context.root;
234
238
  }
235
239
  }
240
+
241
+ export interface SelectFeedbackAction extends Omit<SelectAction, 'kind'>, Action {
242
+ kind: typeof SelectFeedbackAction.KIND;
243
+ }
244
+
245
+ export namespace SelectFeedbackAction {
246
+ export const KIND = 'selectFeedback';
247
+
248
+ export function is(object: any): object is SelectFeedbackAction {
249
+ return Action.hasKind(object, KIND) && hasArrayProp(object, 'selectedElementsIDs') && hasArrayProp(object, 'deselectedElementsIDs');
250
+ }
251
+
252
+ export function create(options?: { selectedElementsIDs?: string[]; deselectedElementsIDs?: string[] | boolean }): SelectFeedbackAction {
253
+ return { ...SelectAction.create(options), kind: KIND };
254
+ }
255
+
256
+ export function addSelection(selectedElementsIDs: string[]): SelectFeedbackAction {
257
+ return { ...SelectAction.addSelection(selectedElementsIDs), kind: KIND };
258
+ }
259
+
260
+ export function removeSelection(deselectedElementsIDs: string[]): SelectFeedbackAction {
261
+ return { ...SelectAction.removeSelection(deselectedElementsIDs), kind: KIND };
262
+ }
263
+
264
+ export function setSelection(selectedElementsIDs: string[]): SelectFeedbackAction {
265
+ return { ...SelectAction.setSelection(selectedElementsIDs), kind: KIND };
266
+ }
267
+ }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2022 EclipseSource and others.
2
+ * Copyright (c) 2020-2023 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { AnyObject, hasStringProp } from '@eclipse-glsp/protocol';
16
+ import { AnyObject, hasStringProp } from '~glsp-sprotty';
17
17
  export interface SourceUriAware {
18
18
  sourceURI: string;
19
19
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2022 EclipseSource and others.
2
+ * Copyright (c) 2020-2023 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,19 +13,12 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { distinctAdd, EditMode } from '@eclipse-glsp/protocol';
17
16
  import { inject, injectable, multiInject, optional, postConstruct } from 'inversify';
18
- import { Tool, ToolManager } from 'sprotty';
17
+ import { AnyObject, EditMode, TYPES, Tool, ToolManager, distinctAdd, hasBooleanProp, hasFunctionProp, hasStringProp } from '~glsp-sprotty';
19
18
  import { EditModeListener, EditorContextService, EditorContextServiceProvider } from '../editor-context-service';
20
- import { TYPES } from '../types';
21
-
22
- export interface IGLSPToolManager extends ToolManager {
23
- /* Disables all actives tools and activates only default tool with non-edit function*/
24
- disableEditTools(): void;
25
- }
26
19
 
27
20
  @injectable()
28
- export class GLSPToolManager extends ToolManager implements IGLSPToolManager, EditModeListener {
21
+ export class GLSPToolManager extends ToolManager implements EditModeListener {
29
22
  protected editorContext?: EditorContextService;
30
23
 
31
24
  @multiInject(TYPES.ITool) @optional() override tools: Tool[];
@@ -59,7 +52,7 @@ export class GLSPToolManager extends ToolManager implements IGLSPToolManager, Ed
59
52
  this.disableActiveTools();
60
53
  let tools = toolIds.map(id => this.tool(id));
61
54
  if (this.editorContext && this.editorContext.isReadonly) {
62
- tools = tools.filter(tool => tool && (!isGLSPTool(tool) || tool.isEditTool === false));
55
+ tools = tools.filter(tool => tool && (!GLSPTool.is(tool) || tool.isEditTool === false));
63
56
  }
64
57
  tools.forEach(tool => {
65
58
  if (tool !== undefined) {
@@ -71,7 +64,7 @@ export class GLSPToolManager extends ToolManager implements IGLSPToolManager, Ed
71
64
 
72
65
  disableEditTools(): void {
73
66
  this.disableActiveTools();
74
- this.enable(this.defaultTools.filter(tool => !isGLSPTool(tool) || tool.isEditTool === false).map(tool => tool.id));
67
+ this.enable(this.defaultTools.filter(tool => !GLSPTool.is(tool) || tool.isEditTool === false).map(tool => tool.id));
75
68
  }
76
69
 
77
70
  editModeChanged(oldValue: string, newValue: string): void {
@@ -90,6 +83,14 @@ export interface GLSPTool extends Tool {
90
83
  isEditTool: boolean;
91
84
  }
92
85
 
93
- export function isGLSPTool(tool: any): tool is GLSPTool {
94
- return 'isEditTool' in tool && typeof tool['isEditTool'] === 'boolean';
86
+ export namespace GLSPTool {
87
+ export function is(object: unknown): object is GLSPTool {
88
+ return (
89
+ AnyObject.is(object) &&
90
+ hasStringProp(object, 'id') &&
91
+ hasFunctionProp(object, 'enable') &&
92
+ hasFunctionProp(object, 'disable') &&
93
+ hasBooleanProp(object, 'isEditTool')
94
+ );
95
+ }
95
96
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2022 EclipseSource and others.
2
+ * Copyright (c) 2019-2023 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,16 +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 } from '@eclipse-glsp/protocol';
17
16
  import { injectable, multiInject, optional } from 'inversify';
18
- import { MouseListener, MouseTool, SModelElement, SModelRoot } from 'sprotty';
19
- import { TYPES } from '../../base/types';
20
- import { getRank } from '../rank/model';
21
-
22
- export interface IMouseTool {
23
- register(mouseListener: MouseListener): void;
24
- deregister(mouseListener: MouseListener): void;
25
- }
17
+ import { Action, MouseListener, MouseTool, SModelElement, SModelRoot, TYPES } from '~glsp-sprotty';
18
+ import { Ranked } from '../ranked';
26
19
 
27
20
  /**
28
21
  * Custom helper type to declare the explicit mouse listener methods
@@ -31,22 +24,22 @@ export interface IMouseTool {
31
24
  type MouseListenerMethods = keyof Omit<MouseListener, 'decorate'>;
32
25
 
33
26
  @injectable()
34
- export class RankingMouseTool extends MouseTool implements IMouseTool {
27
+ export class RankingMouseTool extends MouseTool {
35
28
  protected rankedMouseListeners: Map<number, MouseListener[]>;
36
29
 
37
30
  constructor(@multiInject(TYPES.MouseListener) @optional() protected override mouseListeners: MouseListener[] = []) {
38
31
  super(mouseListeners);
39
- this.rankedMouseListeners = groupBy(mouseListeners, listener => getRank(listener));
32
+ this.rankedMouseListeners = groupBy(mouseListeners, listener => Ranked.getRank(listener));
40
33
  }
41
34
 
42
35
  override register(mouseListener: MouseListener): void {
43
36
  super.register(mouseListener);
44
- this.rankedMouseListeners = groupBy(this.mouseListeners, listener => getRank(listener));
37
+ this.rankedMouseListeners = groupBy(this.mouseListeners, listener => Ranked.getRank(listener));
45
38
  }
46
39
 
47
40
  override deregister(mouseListener: MouseListener): void {
48
41
  super.deregister(mouseListener);
49
- this.rankedMouseListeners = groupBy(this.mouseListeners, listener => getRank(listener));
42
+ this.rankedMouseListeners = groupBy(this.mouseListeners, listener => Ranked.getRank(listener));
50
43
  }
51
44
 
52
45
  protected override handleEvent<K extends MouseListenerMethods>(methodName: K, model: SModelRoot, event: MouseEvent): void {
@@ -55,13 +48,12 @@ export class RankingMouseTool extends MouseTool implements IMouseTool {
55
48
  if (!element) {
56
49
  return;
57
50
  }
58
- this.notifyListenersByRank(element, methodName, model, event);
51
+ this.notifyListenersByRank(element, methodName, event);
59
52
  }
60
53
 
61
- async notifyListenersByRank<K extends MouseListenerMethods>(
54
+ protected async notifyListenersByRank<K extends MouseListenerMethods>(
62
55
  element: SModelElement,
63
56
  methodName: K,
64
- model: SModelRoot,
65
57
  event: MouseEvent
66
58
  ): Promise<void> {
67
59
  for (const rank of this.rankedMouseListeners) {
@@ -69,7 +61,7 @@ export class RankingMouseTool extends MouseTool implements IMouseTool {
69
61
  }
70
62
  }
71
63
 
72
- async dispatchActions<K extends MouseListenerMethods>(
64
+ protected async dispatchActions<K extends MouseListenerMethods>(
73
65
  mouseListeners: MouseListener[],
74
66
  methodName: K,
75
67
  element: SModelElement,
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2021-2022 EclipseSource and others.
2
+ * Copyright (c) 2019-2023 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,7 +14,7 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { injectable } from 'inversify';
17
- import { IView, ViewRegistry } from 'sprotty';
17
+ import { IView, ViewRegistry } from '~glsp-sprotty';
18
18
 
19
19
  @injectable()
20
20
  export class GLSPViewRegistry extends ViewRegistry {
@@ -14,41 +14,42 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
 
17
- import { remove } from '@eclipse-glsp/protocol';
18
17
  import { Container, ContainerModule } from 'inversify';
19
18
  import {
19
+ ContainerConfiguration,
20
20
  buttonModule,
21
21
  defaultModule,
22
22
  edgeIntersectionModule,
23
23
  edgeLayoutModule,
24
24
  expandModule,
25
25
  fadeModule,
26
+ initializeContainer,
26
27
  labelEditUiModule,
27
28
  modelSourceModule,
28
29
  openModule,
29
30
  routingModule,
30
31
  zorderModule
31
- } from 'sprotty';
32
- import glspBoundsModule from '../features/bounds/di.config';
33
- import glspCommandPaletteModule from '../features/command-palette/di.config';
34
- import glspContextMenuModule from '../features/context-menu/di.config';
35
- import { glspServerCopyPasteModule } from '../features/copy-paste/di.config';
36
- import glspDecorationModule from '../features/decoration/di.config';
37
- import glspEditLabelModule from '../features/edit-label/di.config';
38
- import glspExportModule from '../features/export/di.config';
39
- import modelHintsModule from '../features/hints/di.config';
40
- import glspHoverModule from '../features/hover/di.config';
41
- import layoutModule from '../features/layout/di.config';
42
- import glspMouseToolModule from '../features/mouse-tool/di.config';
43
- import { navigationModule } from '../features/navigation/di.config';
44
- import glspSelectModule from '../features/select/di.config';
45
- import sourceModelWatcherModule from '../features/source-model-watcher/di.config';
46
- import toolFeedbackModule from '../features/tool-feedback/di.config';
47
- import toolPaletteModule from '../features/tool-palette/di.config';
48
- import { enableDefaultToolsOnFocusLossModule, toolsModule } from '../features/tools/di.config';
49
- import { markerNavigatorModule, validationModule } from '../features/validation/di.config';
50
- import glspViewportModule from '../features/viewport/di.config';
51
- import defaultGLSPModule from './di.config';
32
+ } from '~glsp-sprotty';
33
+ import defaultGLSPModule from './base/di.config';
34
+ import glspBoundsModule from './features/bounds/di.config';
35
+ import glspCommandPaletteModule from './features/command-palette/di.config';
36
+ import glspContextMenuModule from './features/context-menu/di.config';
37
+ import { glspServerCopyPasteModule } from './features/copy-paste/di.config';
38
+ import glspDecorationModule from './features/decoration/di.config';
39
+ import glspEditLabelModule from './features/edit-label/di.config';
40
+ import glspExportModule from './features/export/di.config';
41
+ import modelHintsModule from './features/hints/di.config';
42
+ import glspHoverModule from './features/hover/di.config';
43
+ import layoutModule from './features/layout/di.config';
44
+ import navigationModule from './features/navigation/di.config';
45
+ import glspSelectModule from './features/select/di.config';
46
+ import sourceModelWatcherModule from './features/source-model-watcher/di.config';
47
+ import svgMetadataModule from './features/svg-metadata/di.config';
48
+ import toolFeedbackModule from './features/tool-feedback/di.config';
49
+ import toolPaletteModule from './features/tool-palette/di.config';
50
+ import { enableDefaultToolsOnFocusLossModule, toolsModule } from './features/tools/di.config';
51
+ import { markerNavigatorModule, validationModule } from './features/validation/di.config';
52
+ import glspViewportModule from './features/viewport/di.config';
52
53
 
53
54
  export const DEFAULT_MODULES = [
54
55
  defaultModule,
@@ -65,7 +66,6 @@ export const DEFAULT_MODULES = [
65
66
  glspDecorationModule,
66
67
  glspEditLabelModule,
67
68
  glspHoverModule,
68
- glspMouseToolModule,
69
69
  glspSelectModule,
70
70
  glspServerCopyPasteModule,
71
71
  glspViewportModule,
@@ -83,19 +83,25 @@ export const DEFAULT_MODULES = [
83
83
  toolsModule,
84
84
  enableDefaultToolsOnFocusLossModule,
85
85
  validationModule,
86
- zorderModule
86
+ zorderModule,
87
+ svgMetadataModule
87
88
  ] as const;
88
89
 
89
90
  /**
90
- * Creates a GLSP Diagram container with the GLSP default modules and the specified custom `modules`.
91
- * Default modules can be excluded using {@link ExcludeDescription}s.
92
- *
91
+ * Initializes a GLSP Diagram container with the GLSP default modules and the specified custom `modules`.
92
+ * Additional modules can be passed as direct arguments or as part of a {@link ModuleConfiguration}.
93
+ * ```typescript
94
+ * const container= createDiagramContainer(myModule1, myModule2)
95
+ * // or
96
+ * const container= createDiagramContainer({ add: [myModule1, myModule2]})
97
+ * ```
98
+ * Default modules can be excluded using {@link ModuleConfiguration}s.
93
99
  * This means, you can still customize the default modules in two ways.
94
100
  *
95
101
  * First, you can exclude default modules and add a module with your custom code.
96
102
  *
97
103
  * ```typescript
98
- * const container = createDiagramContainer(myModule1, {exclude: modelSourceWatcherModule},myModelSourceWatcherModule );
104
+ * const container = createDiagramContainer({ add:myModelSourceWatcherModule, remove: modelSourceWatcherModule} );
99
105
  * ```
100
106
  *
101
107
  * Second, you can unbind or rebind implementations that are originally bound in one of the default modules.
@@ -104,30 +110,12 @@ export const DEFAULT_MODULES = [
104
110
  * rebind(NavigationTargetResolver).to(MyNavigationTargetResolver);
105
111
  * ```
106
112
  *
107
- * @param customModules Custom modules to be loaded in addition to the default modules and/or default modules that should be excluded.
108
- * @param options Options to customize the module loading
109
- * @returns The created container.
110
- */
111
- export function createDiagramContainer(...customModules: Array<ContainerModule | ExcludeDescription>): Container {
112
- const container = new Container();
113
-
114
- const modules = [...DEFAULT_MODULES];
115
- customModules.forEach(customModule => {
116
- if (customModule instanceof ContainerModule) {
117
- modules.push(customModule);
118
- } else {
119
- remove(modules, customModule.exclude);
120
- }
121
- });
122
- container.load(...modules);
123
- return container;
124
- }
125
-
126
- /**
127
- * Can be passed to the {@link createDiagramContainer} utility function to exclude (i.e. not load) a specific default module.
113
+ * @param containerConfiguration
114
+ * Custom modules to be loaded in addition to the default modules and/or default modules that should be excluded.
115
+ * @returns The initialized container.
128
116
  */
129
- export interface ExcludeDescription {
130
- exclude: ContainerModule;
117
+ export function initializeDiagramContainer(container: Container, ...containerConfiguration: ContainerConfiguration): Container {
118
+ return initializeContainer(container, ...DEFAULT_MODULES, ...containerConfiguration);
131
119
  }
132
120
 
133
121
  /**
@@ -150,8 +138,8 @@ export interface ExcludeDescription {
150
138
  * ```
151
139
  * @param modules Custom modules to be loaded in addition to the default modules.
152
140
  * @returns The created container.
153
- * @deprecated Please use `createDiagramContainer` from `@eclipse-glsp/client` instead
141
+ * @deprecated Please use `initializeDiagramContainer` from `@eclipse-glsp/client` instead
154
142
  */
155
143
  export function createClientContainer(...modules: ContainerModule[]): Container {
156
- return createDiagramContainer(...modules);
144
+ return initializeDiagramContainer(new Container(), ...modules);
157
145
  }