@eclipse-glsp/client 0.9.0-next.6d10f92e → 0.9.0-next.75608185

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 (620) hide show
  1. package/README.md +2 -1
  2. package/css/command-palette.css +9 -5
  3. package/css/decoration.css +3 -2
  4. package/css/glsp-sprotty.css +16 -7
  5. package/css/tool-palette.css +44 -27
  6. package/lib/base/action-dispatcher.d.ts +18 -2
  7. package/lib/base/action-dispatcher.d.ts.map +1 -1
  8. package/lib/base/action-dispatcher.js +41 -61
  9. package/lib/base/action-dispatcher.js.map +1 -1
  10. package/lib/base/actions/focus-change-action.d.ts +1 -1
  11. package/lib/base/actions/focus-change-action.d.ts.map +1 -1
  12. package/lib/base/actions/focus-change-action.js +4 -5
  13. package/lib/base/actions/focus-change-action.js.map +1 -1
  14. package/lib/base/{args.d.ts → argumentable.d.ts} +4 -6
  15. package/lib/base/argumentable.d.ts.map +1 -0
  16. package/lib/base/{args.js → argumentable.js} +1 -1
  17. package/lib/base/argumentable.js.map +1 -0
  18. package/lib/base/auto-complete/auto-complete-actions.d.ts +1 -1
  19. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  20. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  21. package/lib/base/auto-complete/auto-complete-widget.d.ts +5 -5
  22. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  23. package/lib/base/auto-complete/auto-complete-widget.js +121 -152
  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 +49 -65
  28. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  29. package/lib/base/command-stack.d.ts +1 -1
  30. package/lib/base/command-stack.d.ts.map +1 -1
  31. package/lib/base/command-stack.js +19 -37
  32. package/lib/base/command-stack.js.map +1 -1
  33. package/lib/base/container-modules.d.ts +40 -0
  34. package/lib/base/container-modules.d.ts.map +1 -0
  35. package/lib/base/container-modules.js +84 -0
  36. package/lib/base/container-modules.js.map +1 -0
  37. package/lib/base/di.config.d.ts +13 -3
  38. package/lib/base/di.config.d.ts.map +1 -1
  39. package/lib/base/di.config.js +50 -33
  40. package/lib/base/di.config.js.map +1 -1
  41. package/lib/base/drag-aware-mouse-listener.d.ts +3 -2
  42. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  43. package/lib/base/drag-aware-mouse-listener.js +23 -62
  44. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  45. package/lib/base/editor-context-service.d.ts +42 -0
  46. package/lib/base/editor-context-service.d.ts.map +1 -0
  47. package/lib/base/editor-context-service.js +109 -0
  48. package/lib/base/editor-context-service.js.map +1 -0
  49. package/lib/base/focus-tracker.d.ts +17 -1
  50. package/lib/base/focus-tracker.d.ts.map +1 -1
  51. package/lib/base/focus-tracker.js +19 -39
  52. package/lib/base/focus-tracker.js.map +1 -1
  53. package/lib/base/model/model-registry.d.ts +5 -0
  54. package/lib/base/model/model-registry.d.ts.map +1 -0
  55. package/lib/base/model/model-registry.js +43 -0
  56. package/lib/base/model/model-registry.js.map +1 -0
  57. package/lib/base/model/update-model-command.d.ts +20 -6
  58. package/lib/base/model/update-model-command.d.ts.map +1 -1
  59. package/lib/base/model/update-model-command.js +69 -94
  60. package/lib/base/model/update-model-command.js.map +1 -1
  61. package/lib/base/model-initialization-constraint.d.ts +17 -2
  62. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  63. package/lib/base/model-initialization-constraint.js +34 -54
  64. package/lib/base/model-initialization-constraint.js.map +1 -1
  65. package/lib/base/selection-clearing-mouse-listener.d.ts +1 -1
  66. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  67. package/lib/base/selection-clearing-mouse-listener.js +11 -28
  68. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  69. package/lib/base/source-uri-aware.js +2 -5
  70. package/lib/base/source-uri-aware.js.map +1 -1
  71. package/lib/base/tool-manager/glsp-tool-manager.d.ts +2 -2
  72. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  73. package/lib/base/tool-manager/glsp-tool-manager.js +59 -141
  74. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  75. package/lib/base/types.d.ts +2 -1
  76. package/lib/base/types.d.ts.map +1 -1
  77. package/lib/base/types.js +22 -21
  78. package/lib/base/types.js.map +1 -1
  79. package/lib/base/view/view-registry.d.ts +5 -0
  80. package/lib/base/view/view-registry.d.ts.map +1 -0
  81. package/lib/base/view/view-registry.js +43 -0
  82. package/lib/base/view/view-registry.js.map +1 -0
  83. package/lib/features/change-bounds/model.d.ts +4 -2
  84. package/lib/features/change-bounds/model.d.ts.map +1 -1
  85. package/lib/features/change-bounds/model.js +21 -32
  86. package/lib/features/change-bounds/model.js.map +1 -1
  87. package/lib/features/change-bounds/movement-restrictor.d.ts +18 -2
  88. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  89. package/lib/features/change-bounds/movement-restrictor.js +34 -46
  90. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  91. package/lib/features/change-bounds/snap.d.ts +17 -1
  92. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  93. package/lib/features/change-bounds/snap.js +13 -39
  94. package/lib/features/change-bounds/snap.js.map +1 -1
  95. package/lib/features/command-palette/command-palette-tool.d.ts +1 -1
  96. package/lib/features/command-palette/command-palette-tool.d.ts.map +1 -1
  97. package/lib/features/command-palette/command-palette-tool.js +30 -38
  98. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  99. package/lib/features/command-palette/di.config.d.ts +2 -2
  100. package/lib/features/command-palette/di.config.js +6 -6
  101. package/lib/features/command-palette/di.config.js.map +1 -1
  102. package/lib/features/command-palette/server-command-palette-provider.d.ts +19 -3
  103. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  104. package/lib/features/command-palette/server-command-palette-provider.js +31 -36
  105. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  106. package/lib/features/context-menu/delete-element-context-menu.d.ts +2 -2
  107. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  108. package/lib/features/context-menu/delete-element-context-menu.js +24 -72
  109. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  110. package/lib/features/context-menu/di.config.d.ts +2 -2
  111. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  112. package/lib/features/context-menu/di.config.js +14 -18
  113. package/lib/features/context-menu/di.config.js.map +1 -1
  114. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +2 -2
  115. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  116. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +29 -67
  117. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  118. package/lib/features/context-menu/server-context-menu-provider.d.ts +19 -3
  119. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  120. package/lib/features/context-menu/server-context-menu-provider.js +31 -32
  121. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  122. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +22 -2
  123. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  124. package/lib/features/copy-paste/copy-paste-context-menu.js +99 -72
  125. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  126. package/lib/features/copy-paste/copy-paste-handler.d.ts +21 -4
  127. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  128. package/lib/features/copy-paste/copy-paste-handler.js +70 -70
  129. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  130. package/lib/features/copy-paste/di.config.d.ts +2 -2
  131. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  132. package/lib/features/copy-paste/di.config.js +11 -11
  133. package/lib/features/copy-paste/di.config.js.map +1 -1
  134. package/lib/features/decoration/decoration-placer.d.ts +17 -1
  135. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  136. package/lib/features/decoration/decoration-placer.js +14 -47
  137. package/lib/features/decoration/decoration-placer.js.map +1 -1
  138. package/lib/features/decoration/di.config.d.ts +2 -2
  139. package/lib/features/decoration/di.config.d.ts.map +1 -1
  140. package/lib/features/decoration/di.config.js +4 -6
  141. package/lib/features/decoration/di.config.js.map +1 -1
  142. package/lib/features/edit-label/di.config.d.ts +1 -1
  143. package/lib/features/edit-label/di.config.js +7 -7
  144. package/lib/features/edit-label/di.config.js.map +1 -1
  145. package/lib/features/edit-label/edit-label-tool.d.ts +2 -2
  146. package/lib/features/edit-label/edit-label-tool.js +20 -43
  147. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  148. package/lib/features/edit-label/edit-label-validator.d.ts +18 -3
  149. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  150. package/lib/features/edit-label/edit-label-validator.js +40 -62
  151. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  152. package/lib/features/hints/di.config.d.ts +1 -16
  153. package/lib/features/hints/di.config.d.ts.map +1 -1
  154. package/lib/features/hints/di.config.js +9 -9
  155. package/lib/features/hints/di.config.js.map +1 -1
  156. package/lib/features/hints/model.d.ts +3 -2
  157. package/lib/features/hints/model.d.ts.map +1 -1
  158. package/lib/features/hints/model.js +2 -2
  159. package/lib/features/hints/model.js.map +1 -1
  160. package/lib/features/hints/type-hints.d.ts +21 -49
  161. package/lib/features/hints/type-hints.d.ts.map +1 -1
  162. package/lib/features/hints/type-hints.js +83 -142
  163. package/lib/features/hints/type-hints.js.map +1 -1
  164. package/lib/features/hover/di.config.d.ts +2 -2
  165. package/lib/features/hover/di.config.d.ts.map +1 -1
  166. package/lib/features/hover/di.config.js +8 -8
  167. package/lib/features/hover/di.config.js.map +1 -1
  168. package/lib/features/hover/hover.d.ts +18 -2
  169. package/lib/features/hover/hover.d.ts.map +1 -1
  170. package/lib/features/hover/hover.js +37 -75
  171. package/lib/features/hover/hover.js.map +1 -1
  172. package/lib/features/layout/di.config.d.ts +6 -2
  173. package/lib/features/layout/di.config.d.ts.map +1 -1
  174. package/lib/features/layout/di.config.js +47 -7
  175. package/lib/features/layout/di.config.js.map +1 -1
  176. package/lib/features/layout/freeform-layout.d.ts +16 -0
  177. package/lib/features/layout/freeform-layout.d.ts.map +1 -0
  178. package/lib/features/layout/freeform-layout.js +107 -0
  179. package/lib/features/layout/freeform-layout.js.map +1 -0
  180. package/lib/features/layout/layout-commands.d.ts +26 -10
  181. package/lib/features/layout/layout-commands.d.ts.map +1 -1
  182. package/lib/features/layout/layout-commands.js +189 -264
  183. package/lib/features/layout/layout-commands.js.map +1 -1
  184. package/lib/features/layout/layout-commands.spec.d.ts +2 -17
  185. package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
  186. package/lib/features/layout/layout-commands.spec.js +124 -117
  187. package/lib/features/layout/layout-commands.spec.js.map +1 -1
  188. package/lib/features/layout/vbox-layout.d.ts +25 -0
  189. package/lib/features/layout/vbox-layout.d.ts.map +1 -0
  190. package/lib/features/layout/vbox-layout.js +188 -0
  191. package/lib/features/layout/vbox-layout.js.map +1 -0
  192. package/lib/features/model-source-watcher/di.config.d.ts +1 -16
  193. package/lib/features/model-source-watcher/di.config.d.ts.map +1 -1
  194. package/lib/features/model-source-watcher/di.config.js +7 -7
  195. package/lib/features/model-source-watcher/di.config.js.map +1 -1
  196. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +17 -2
  197. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
  198. package/lib/features/model-source-watcher/model-source-changed-action-handler.js +38 -46
  199. package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
  200. package/lib/features/mouse-tool/di.config.d.ts +1 -1
  201. package/lib/features/mouse-tool/di.config.js +5 -5
  202. package/lib/features/mouse-tool/di.config.js.map +1 -1
  203. package/lib/features/mouse-tool/mouse-tool.d.ts +3 -2
  204. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  205. package/lib/features/mouse-tool/mouse-tool.js +74 -217
  206. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  207. package/lib/features/navigation/di.config.d.ts +1 -16
  208. package/lib/features/navigation/di.config.d.ts.map +1 -1
  209. package/lib/features/navigation/di.config.js +11 -10
  210. package/lib/features/navigation/di.config.js.map +1 -1
  211. package/lib/features/navigation/navigation-action-handler.d.ts +19 -39
  212. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  213. package/lib/features/navigation/navigation-action-handler.js +118 -255
  214. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  215. package/lib/features/navigation/navigation-target-resolver.d.ts +18 -40
  216. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  217. package/lib/features/navigation/navigation-target-resolver.js +46 -188
  218. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  219. package/lib/features/navigation/navigation-target-resolver.spec.d.ts +2 -17
  220. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -1
  221. package/lib/features/navigation/navigation-target-resolver.spec.js +27 -26
  222. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  223. package/lib/features/rank/model.d.ts +2 -2
  224. package/lib/features/rank/model.d.ts.map +1 -1
  225. package/lib/features/rank/model.js +2 -2
  226. package/lib/features/rank/model.js.map +1 -1
  227. package/lib/features/reconnect/model.d.ts +2 -2
  228. package/lib/features/reconnect/model.d.ts.map +1 -1
  229. package/lib/features/reconnect/model.js +10 -28
  230. package/lib/features/reconnect/model.js.map +1 -1
  231. package/lib/features/save/di.config.d.ts +2 -2
  232. package/lib/features/save/di.config.d.ts.map +1 -1
  233. package/lib/features/save/di.config.js +6 -6
  234. package/lib/features/save/di.config.js.map +1 -1
  235. package/lib/features/save/model.d.ts +1 -1
  236. package/lib/features/save/{save.d.ts → save-keylistener.d.ts} +4 -10
  237. package/lib/features/save/save-keylistener.d.ts.map +1 -0
  238. package/lib/features/{undo-redo/model.d.ts → save/save-keylistener.js} +16 -12
  239. package/lib/features/save/save-keylistener.js.map +1 -0
  240. package/lib/features/select/di.config.d.ts +1 -1
  241. package/lib/features/select/di.config.js +11 -11
  242. package/lib/features/select/di.config.js.map +1 -1
  243. package/lib/features/select/select-feedback-action.d.ts +1 -1
  244. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  245. package/lib/features/select/select-feedback-action.js +45 -71
  246. package/lib/features/select/select-feedback-action.js.map +1 -1
  247. package/lib/features/select/select-mouse-listener.d.ts +2 -2
  248. package/lib/features/select/select-mouse-listener.js +7 -23
  249. package/lib/features/select/select-mouse-listener.js.map +1 -1
  250. package/lib/features/select/selection-service.d.ts +19 -3
  251. package/lib/features/select/selection-service.d.ts.map +1 -1
  252. package/lib/features/select/selection-service.js +134 -236
  253. package/lib/features/select/selection-service.js.map +1 -1
  254. package/lib/features/select/selection-service.spec.js +96 -138
  255. package/lib/features/select/selection-service.spec.js.map +1 -1
  256. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +21 -4
  257. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  258. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +117 -149
  259. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  260. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +19 -2
  261. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  262. package/lib/features/tool-feedback/creation-tool-feedback.js +81 -115
  263. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  264. package/lib/features/tool-feedback/css-feedback.d.ts +21 -3
  265. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  266. package/lib/features/tool-feedback/css-feedback.js +37 -81
  267. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  268. package/lib/features/tool-feedback/di.config.d.ts +2 -2
  269. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  270. package/lib/features/tool-feedback/di.config.js +27 -27
  271. package/lib/features/tool-feedback/di.config.js.map +1 -1
  272. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +21 -4
  273. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  274. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +160 -204
  275. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  276. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +19 -3
  277. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  278. package/lib/features/tool-feedback/feedback-action-dispatcher.js +35 -72
  279. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  280. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +18 -2
  281. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  282. package/lib/features/tool-feedback/marquee-tool-feedback.js +44 -86
  283. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  284. package/lib/features/tool-feedback/model.d.ts +2 -2
  285. package/lib/features/tool-feedback/model.js +11 -27
  286. package/lib/features/tool-feedback/model.js.map +1 -1
  287. package/lib/features/tool-feedback/view.d.ts +22 -6
  288. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  289. package/lib/features/tool-feedback/view.js +30 -51
  290. package/lib/features/tool-feedback/view.js.map +1 -1
  291. package/lib/features/tool-palette/di.config.d.ts +2 -2
  292. package/lib/features/tool-palette/di.config.js +6 -6
  293. package/lib/features/tool-palette/di.config.js.map +1 -1
  294. package/lib/features/tool-palette/palette-item.d.ts +2 -3
  295. package/lib/features/tool-palette/palette-item.d.ts.map +1 -1
  296. package/lib/features/tool-palette/palette-item.js +6 -6
  297. package/lib/features/tool-palette/palette-item.js.map +1 -1
  298. package/lib/features/tool-palette/tool-palette.d.ts +22 -6
  299. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  300. package/lib/features/tool-palette/tool-palette.js +225 -291
  301. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  302. package/lib/features/tools/base-glsp-tool.d.ts +21 -5
  303. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  304. package/lib/features/tools/base-glsp-tool.js +37 -59
  305. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  306. package/lib/features/tools/change-bounds-tool.d.ts +26 -9
  307. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  308. package/lib/features/tools/change-bounds-tool.js +192 -241
  309. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  310. package/lib/features/tools/delete-tool.d.ts +20 -4
  311. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  312. package/lib/features/tools/delete-tool.js +71 -104
  313. package/lib/features/tools/delete-tool.js.map +1 -1
  314. package/lib/features/tools/di.config.d.ts +1 -16
  315. package/lib/features/tools/di.config.d.ts.map +1 -1
  316. package/lib/features/tools/di.config.js +19 -19
  317. package/lib/features/tools/di.config.js.map +1 -1
  318. package/lib/features/tools/edge-creation-tool.d.ts +20 -5
  319. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  320. package/lib/features/tools/edge-creation-tool.js +64 -89
  321. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  322. package/lib/features/tools/edge-edit-tool.d.ts +22 -6
  323. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  324. package/lib/features/tools/edge-edit-tool.js +125 -189
  325. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  326. package/lib/features/tools/marquee-mouse-tool.d.ts +21 -4
  327. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  328. package/lib/features/tools/marquee-mouse-tool.js +155 -160
  329. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  330. package/lib/features/tools/marquee-tool.d.ts +18 -2
  331. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  332. package/lib/features/tools/marquee-tool.js +32 -73
  333. package/lib/features/tools/marquee-tool.js.map +1 -1
  334. package/lib/features/tools/model.d.ts +1 -1
  335. package/lib/features/tools/model.d.ts.map +1 -1
  336. package/lib/features/tools/model.js +6 -24
  337. package/lib/features/tools/model.js.map +1 -1
  338. package/lib/features/tools/node-creation-tool.d.ts +20 -5
  339. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  340. package/lib/features/tools/node-creation-tool.js +60 -90
  341. package/lib/features/tools/node-creation-tool.js.map +1 -1
  342. package/lib/features/tools/view.d.ts +3 -18
  343. package/lib/features/tools/view.d.ts.map +1 -1
  344. package/lib/features/tools/view.js +21 -39
  345. package/lib/features/tools/view.js.map +1 -1
  346. package/lib/features/validation/di.config.d.ts +1 -1
  347. package/lib/features/validation/di.config.js +12 -12
  348. package/lib/features/validation/di.config.js.map +1 -1
  349. package/lib/features/validation/issue-marker.d.ts +3 -3
  350. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  351. package/lib/features/validation/issue-marker.js +18 -56
  352. package/lib/features/validation/issue-marker.js.map +1 -1
  353. package/lib/features/validation/marker-navigator.d.ts +19 -3
  354. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  355. package/lib/features/validation/marker-navigator.js +131 -164
  356. package/lib/features/validation/marker-navigator.js.map +1 -1
  357. package/lib/features/validation/marker-navigator.spec.d.ts +2 -17
  358. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  359. package/lib/features/validation/marker-navigator.spec.js +84 -77
  360. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  361. package/lib/features/validation/validate.d.ts +20 -31
  362. package/lib/features/validation/validate.d.ts.map +1 -1
  363. package/lib/features/validation/validate.js +148 -299
  364. package/lib/features/validation/validate.js.map +1 -1
  365. package/lib/features/viewport/di.config.d.ts +16 -1
  366. package/lib/features/viewport/di.config.d.ts.map +1 -1
  367. package/lib/features/viewport/di.config.js +10 -10
  368. package/lib/features/viewport/di.config.js.map +1 -1
  369. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +3 -2
  370. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  371. package/lib/features/viewport/glsp-scroll-mouse-listener.js +16 -47
  372. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  373. package/lib/index.d.ts +31 -35
  374. package/lib/index.d.ts.map +1 -1
  375. package/lib/index.js +32 -35
  376. package/lib/index.js.map +1 -1
  377. package/lib/lib/model.d.ts +3 -3
  378. package/lib/lib/model.d.ts.map +1 -1
  379. package/lib/lib/model.js +11 -27
  380. package/lib/lib/model.js.map +1 -1
  381. package/lib/model-source/glsp-diagram-server.d.ts +4 -6
  382. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  383. package/lib/model-source/glsp-diagram-server.js +63 -122
  384. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  385. package/lib/protocol-reexport.d.ts +45 -0
  386. package/lib/protocol-reexport.d.ts.map +1 -0
  387. package/lib/protocol-reexport.js +75 -0
  388. package/lib/protocol-reexport.js.map +1 -0
  389. package/lib/utils/argument-utils.d.ts +50 -0
  390. package/lib/utils/argument-utils.d.ts.map +1 -0
  391. package/lib/utils/argument-utils.js +110 -0
  392. package/lib/utils/argument-utils.js.map +1 -0
  393. package/lib/utils/html-utils.js +2 -2
  394. package/lib/utils/html-utils.js.map +1 -1
  395. package/lib/utils/layout-utils.d.ts +4 -3
  396. package/lib/utils/layout-utils.d.ts.map +1 -1
  397. package/lib/utils/layout-utils.js +5 -5
  398. package/lib/utils/layout-utils.js.map +1 -1
  399. package/lib/utils/marker.d.ts +1 -39
  400. package/lib/utils/marker.d.ts.map +1 -1
  401. package/lib/utils/marker.js +14 -61
  402. package/lib/utils/marker.js.map +1 -1
  403. package/lib/utils/smodel-util.d.ts +7 -17
  404. package/lib/utils/smodel-util.d.ts.map +1 -1
  405. package/lib/utils/smodel-util.js +18 -67
  406. package/lib/utils/smodel-util.js.map +1 -1
  407. package/lib/utils/viewpoint-util.d.ts +3 -2
  408. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  409. package/lib/utils/viewpoint-util.js +15 -30
  410. package/lib/utils/viewpoint-util.js.map +1 -1
  411. package/{src/features/undo-redo/model.ts → lib/views/base-view-module.d.ts} +9 -11
  412. package/lib/views/base-view-module.d.ts.map +1 -0
  413. package/lib/views/base-view-module.js +59 -0
  414. package/lib/views/base-view-module.js.map +1 -0
  415. package/lib/views/compartments.d.ts +6 -0
  416. package/lib/views/compartments.d.ts.map +1 -0
  417. package/lib/views/compartments.js +43 -0
  418. package/lib/views/compartments.js.map +1 -0
  419. package/lib/views/default-types.d.ts +37 -0
  420. package/lib/views/default-types.d.ts.map +1 -0
  421. package/lib/views/default-types.js +47 -0
  422. package/lib/views/default-types.js.map +1 -0
  423. package/lib/views/glsp-edge-view.d.ts +27 -0
  424. package/lib/views/glsp-edge-view.d.ts.map +1 -0
  425. package/lib/views/glsp-edge-view.js +55 -0
  426. package/lib/views/glsp-edge-view.js.map +1 -0
  427. package/lib/{features/model-source-watcher/model-source-changed-action.d.ts → views/index.d.ts} +9 -10
  428. package/lib/views/index.d.ts.map +1 -0
  429. package/lib/views/index.js +35 -0
  430. package/lib/views/index.js.map +1 -0
  431. package/lib/views/issue-marker-view.d.ts +9 -0
  432. package/lib/views/issue-marker-view.d.ts.map +1 -0
  433. package/lib/views/issue-marker-view.js +68 -0
  434. package/lib/views/issue-marker-view.js.map +1 -0
  435. package/lib/views/rounded-corner-view.d.ts +13 -0
  436. package/lib/views/rounded-corner-view.d.ts.map +1 -0
  437. package/lib/views/rounded-corner-view.js +82 -0
  438. package/lib/views/rounded-corner-view.js.map +1 -0
  439. package/lib/views/rounded-corner.d.ts +38 -0
  440. package/lib/views/rounded-corner.d.ts.map +1 -0
  441. package/lib/views/rounded-corner.js +62 -0
  442. package/lib/views/rounded-corner.js.map +1 -0
  443. package/package.json +24 -32
  444. package/src/base/action-dispatcher.ts +7 -8
  445. package/src/base/actions/focus-change-action.ts +2 -2
  446. package/src/base/{args.ts → argumentable.ts} +3 -4
  447. package/src/base/auto-complete/auto-complete-actions.ts +2 -2
  448. package/src/base/auto-complete/auto-complete-widget.ts +66 -48
  449. package/src/base/auto-complete/validation-decorator.ts +21 -15
  450. package/src/base/command-stack.ts +4 -7
  451. package/src/base/container-modules.ts +113 -0
  452. package/src/base/di.config.ts +44 -27
  453. package/src/base/drag-aware-mouse-listener.ts +7 -8
  454. package/src/base/{editor-context.ts → editor-context-service.ts} +13 -40
  455. package/src/base/focus-tracker.ts +4 -6
  456. package/src/base/model/model-registry.ts +31 -0
  457. package/src/base/model/update-model-command.ts +14 -22
  458. package/src/base/model-initialization-constraint.ts +16 -11
  459. package/src/base/selection-clearing-mouse-listener.ts +4 -3
  460. package/src/base/tool-manager/glsp-tool-manager.ts +12 -14
  461. package/src/base/types.ts +22 -21
  462. package/src/{features/model-source-watcher/model-source-changed-action.ts → base/view/view-registry.ts} +15 -10
  463. package/src/features/change-bounds/model.ts +23 -13
  464. package/src/features/change-bounds/movement-restrictor.ts +28 -18
  465. package/src/features/change-bounds/snap.ts +6 -5
  466. package/src/features/command-palette/command-palette-tool.ts +4 -4
  467. package/src/features/command-palette/di.config.ts +7 -7
  468. package/src/features/command-palette/server-command-palette-provider.ts +16 -14
  469. package/src/features/context-menu/delete-element-context-menu.ts +10 -11
  470. package/src/features/context-menu/di.config.ts +10 -12
  471. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +8 -7
  472. package/src/features/context-menu/server-context-menu-provider.ts +13 -10
  473. package/src/features/copy-paste/copy-paste-context-menu.ts +66 -37
  474. package/src/features/copy-paste/copy-paste-handler.ts +30 -20
  475. package/src/features/copy-paste/di.config.ts +6 -7
  476. package/src/features/decoration/decoration-placer.ts +6 -15
  477. package/src/features/decoration/di.config.ts +4 -6
  478. package/src/features/edit-label/di.config.ts +5 -5
  479. package/src/features/edit-label/edit-label-tool.ts +4 -4
  480. package/src/features/edit-label/edit-label-validator.ts +18 -19
  481. package/src/features/hints/di.config.ts +6 -7
  482. package/src/features/hints/model.ts +7 -6
  483. package/src/features/hints/type-hints.ts +46 -113
  484. package/src/features/hover/di.config.ts +6 -7
  485. package/src/features/hover/hover.ts +11 -14
  486. package/src/features/layout/di.config.ts +32 -6
  487. package/src/features/layout/freeform-layout.ts +133 -0
  488. package/src/features/layout/layout-commands.spec.ts +104 -85
  489. package/src/features/layout/layout-commands.ts +65 -54
  490. package/src/features/layout/vbox-layout.ts +256 -0
  491. package/src/features/model-source-watcher/di.config.ts +5 -6
  492. package/src/features/model-source-watcher/model-source-changed-action-handler.ts +16 -12
  493. package/src/features/mouse-tool/di.config.ts +4 -4
  494. package/src/features/mouse-tool/mouse-tool.ts +44 -32
  495. package/src/features/navigation/di.config.ts +6 -12
  496. package/src/features/navigation/navigation-action-handler.ts +46 -78
  497. package/src/features/navigation/navigation-target-resolver.spec.ts +6 -9
  498. package/src/features/navigation/navigation-target-resolver.ts +16 -94
  499. package/src/features/rank/model.ts +3 -3
  500. package/src/features/reconnect/model.ts +9 -11
  501. package/src/features/save/di.config.ts +4 -5
  502. package/src/features/save/model.ts +1 -1
  503. package/src/features/save/{save.ts → save-keylistener.ts} +4 -12
  504. package/src/features/select/di.config.ts +6 -6
  505. package/src/features/select/select-feedback-action.ts +6 -8
  506. package/src/features/select/select-mouse-listener.ts +2 -2
  507. package/src/features/select/selection-service.spec.ts +25 -19
  508. package/src/features/select/selection-service.ts +25 -22
  509. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +56 -39
  510. package/src/features/tool-feedback/creation-tool-feedback.ts +49 -24
  511. package/src/features/tool-feedback/css-feedback.ts +16 -13
  512. package/src/features/tool-feedback/di.config.ts +12 -15
  513. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +56 -35
  514. package/src/features/tool-feedback/feedback-action-dispatcher.ts +13 -14
  515. package/src/features/tool-feedback/marquee-tool-feedback.ts +12 -12
  516. package/src/features/tool-feedback/model.ts +2 -3
  517. package/src/features/tool-feedback/view.tsx +20 -13
  518. package/src/features/tool-palette/di.config.ts +5 -5
  519. package/src/features/tool-palette/palette-item.ts +5 -7
  520. package/src/features/tool-palette/tool-palette.ts +118 -110
  521. package/src/features/tools/base-glsp-tool.ts +12 -12
  522. package/src/features/tools/change-bounds-tool.ts +83 -53
  523. package/src/features/tools/delete-tool.ts +23 -20
  524. package/src/features/tools/di.config.ts +16 -17
  525. package/src/features/tools/edge-creation-tool.ts +20 -25
  526. package/src/features/tools/edge-edit-tool.ts +43 -46
  527. package/src/features/tools/marquee-mouse-tool.ts +109 -62
  528. package/src/features/tools/marquee-tool.ts +6 -6
  529. package/src/features/tools/model.ts +1 -2
  530. package/src/features/tools/node-creation-tool.ts +16 -23
  531. package/src/features/tools/view.tsx +21 -15
  532. package/src/features/validation/di.config.ts +5 -5
  533. package/src/features/validation/issue-marker.ts +4 -5
  534. package/src/features/validation/marker-navigator.spec.ts +38 -33
  535. package/src/features/validation/marker-navigator.ts +39 -26
  536. package/src/features/validation/validate.ts +25 -59
  537. package/src/features/viewport/di.config.ts +4 -4
  538. package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
  539. package/src/index.ts +52 -38
  540. package/src/lib/model.ts +4 -4
  541. package/src/model-source/glsp-diagram-server.ts +19 -33
  542. package/src/protocol-reexport.ts +64 -0
  543. package/src/utils/argument-utils.ts +130 -0
  544. package/src/utils/layout-utils.ts +19 -11
  545. package/src/utils/marker.ts +8 -32
  546. package/src/utils/smodel-util.ts +28 -22
  547. package/src/utils/viewpoint-util.ts +5 -6
  548. package/src/views/base-view-module.ts +98 -0
  549. package/src/views/compartments.tsx +37 -0
  550. package/src/views/default-types.ts +48 -0
  551. package/src/views/glsp-edge-view.tsx +79 -0
  552. package/src/views/index.ts +22 -0
  553. package/src/views/issue-marker-view.tsx +65 -0
  554. package/src/views/rounded-corner-view.tsx +103 -0
  555. package/src/views/rounded-corner.ts +87 -0
  556. package/lib/base/actions/context-actions.d.ts +0 -36
  557. package/lib/base/actions/context-actions.d.ts.map +0 -1
  558. package/lib/base/actions/context-actions.js +0 -51
  559. package/lib/base/actions/context-actions.js.map +0 -1
  560. package/lib/base/actions/edit-mode-action.d.ts +0 -13
  561. package/lib/base/actions/edit-mode-action.d.ts.map +0 -1
  562. package/lib/base/actions/edit-mode-action.js +0 -56
  563. package/lib/base/actions/edit-mode-action.js.map +0 -1
  564. package/lib/base/actions/edit-validation-actions.d.ts +0 -78
  565. package/lib/base/actions/edit-validation-actions.d.ts.map +0 -1
  566. package/lib/base/actions/edit-validation-actions.js +0 -82
  567. package/lib/base/actions/edit-validation-actions.js.map +0 -1
  568. package/lib/base/actions/protocol-actions.d.ts +0 -41
  569. package/lib/base/actions/protocol-actions.d.ts.map +0 -1
  570. package/lib/base/actions/protocol-actions.js +0 -151
  571. package/lib/base/actions/protocol-actions.js.map +0 -1
  572. package/lib/base/args.d.ts.map +0 -1
  573. package/lib/base/args.js.map +0 -1
  574. package/lib/base/editor-context.d.ts +0 -46
  575. package/lib/base/editor-context.d.ts.map +0 -1
  576. package/lib/base/editor-context.js +0 -174
  577. package/lib/base/editor-context.js.map +0 -1
  578. package/lib/base/operations/operation.d.ts +0 -129
  579. package/lib/base/operations/operation.d.ts.map +0 -1
  580. package/lib/base/operations/operation.js +0 -201
  581. package/lib/base/operations/operation.js.map +0 -1
  582. package/lib/features/copy-paste/copy-paste-actions.d.ts +0 -50
  583. package/lib/features/copy-paste/copy-paste-actions.d.ts.map +0 -1
  584. package/lib/features/copy-paste/copy-paste-actions.js +0 -68
  585. package/lib/features/copy-paste/copy-paste-actions.js.map +0 -1
  586. package/lib/features/decoration/view.d.ts +0 -8
  587. package/lib/features/decoration/view.d.ts.map +0 -1
  588. package/lib/features/decoration/view.js +0 -80
  589. package/lib/features/decoration/view.js.map +0 -1
  590. package/lib/features/hints/request-type-hints-action.d.ts +0 -32
  591. package/lib/features/hints/request-type-hints-action.d.ts.map +0 -1
  592. package/lib/features/hints/request-type-hints-action.js +0 -30
  593. package/lib/features/hints/request-type-hints-action.js.map +0 -1
  594. package/lib/features/model-source-watcher/model-source-changed-action.d.ts.map +0 -1
  595. package/lib/features/model-source-watcher/model-source-changed-action.js +0 -17
  596. package/lib/features/model-source-watcher/model-source-changed-action.js.map +0 -1
  597. package/lib/features/save/save.d.ts.map +0 -1
  598. package/lib/features/save/save.js +0 -62
  599. package/lib/features/save/save.js.map +0 -1
  600. package/lib/features/undo-redo/model.d.ts.map +0 -1
  601. package/lib/features/undo-redo/model.js +0 -22
  602. package/lib/features/undo-redo/model.js.map +0 -1
  603. package/lib/model-source/glsp-server-status.d.ts +0 -30
  604. package/lib/model-source/glsp-server-status.d.ts.map +0 -1
  605. package/lib/model-source/glsp-server-status.js +0 -61
  606. package/lib/model-source/glsp-server-status.js.map +0 -1
  607. package/lib/utils/array-utils.d.ts +0 -28
  608. package/lib/utils/array-utils.d.ts.map +0 -1
  609. package/lib/utils/array-utils.js +0 -61
  610. package/lib/utils/array-utils.js.map +0 -1
  611. package/src/base/actions/context-actions.ts +0 -43
  612. package/src/base/actions/edit-mode-action.ts +0 -33
  613. package/src/base/actions/edit-validation-actions.ts +0 -102
  614. package/src/base/actions/protocol-actions.ts +0 -82
  615. package/src/base/operations/operation.ts +0 -148
  616. package/src/features/copy-paste/copy-paste-actions.ts +0 -60
  617. package/src/features/decoration/view.tsx +0 -54
  618. package/src/features/hints/request-type-hints-action.ts +0 -36
  619. package/src/model-source/glsp-server-status.ts +0 -38
  620. package/src/utils/array-utils.ts +0 -55
package/src/base/types.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -14,24 +14,25 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  export const GLSP_TYPES = {
17
- IAsyncClipboardService: Symbol.for("IAsyncClipboardService"),
18
- ICommandPaletteActionProviderRegistry: Symbol.for("ICommandPaletteActionProviderRegistry"),
19
- IEditorContextServiceProvider: Symbol.for("IEditorContextProvider"),
20
- IFeedbackActionDispatcher: Symbol.for("IFeedbackActionDispatcher"),
21
- IToolFactory: Symbol.for("Factory<Tool>"),
22
- ITypeHintProvider: Symbol.for("ITypeHintProvider"),
23
- IMovementRestrictor: Symbol.for("IMovmementRestrictor"),
24
- SelectionService: Symbol.for("SelectionService"),
25
- SelectionListener: Symbol.for("SelectionListener"),
26
- SModelRootListener: Symbol.for("SModelRootListener"),
27
- MouseTool: Symbol.for("MouseTool"),
28
- IContextMenuService: Symbol.for("IContextMenuService"),
29
- IContextMenuServiceProvider: Symbol.for("IContextMenuServiceProvider"),
30
- IContextMenuProviderRegistry: Symbol.for("IContextMenuProviderRegistry"),
31
- IContextMenuProvider: Symbol.for("IContextMenuProvider"),
32
- ICopyPasteHandler: Symbol.for("ICopyPasteHandler"),
33
- IGLSPToolManager: Symbol.for("IGLSPToolManager"),
34
- ITool: Symbol.for("ITool"),
35
- IDefaultTool: Symbol.for("IDefaultTool"),
36
- IEditModeListener: Symbol.for("IEditModeListener")
17
+ IAsyncClipboardService: Symbol.for('IAsyncClipboardService'),
18
+ ICommandPaletteActionProviderRegistry: Symbol.for('ICommandPaletteActionProviderRegistry'),
19
+ IEditorContextServiceProvider: Symbol.for('IEditorContextProvider'),
20
+ IFeedbackActionDispatcher: Symbol.for('IFeedbackActionDispatcher'),
21
+ IToolFactory: Symbol.for('Factory<Tool>'),
22
+ ITypeHintProvider: Symbol.for('ITypeHintProvider'),
23
+ IMovementRestrictor: Symbol.for('IMovmementRestrictor'),
24
+ SelectionService: Symbol.for('SelectionService'),
25
+ SelectionListener: Symbol.for('SelectionListener'),
26
+ SModelRootListener: Symbol.for('SModelRootListener'),
27
+ MouseTool: Symbol.for('MouseTool'),
28
+ IContextMenuService: Symbol.for('IContextMenuService'),
29
+ IContextMenuServiceProvider: Symbol.for('IContextMenuServiceProvider'),
30
+ IContextMenuProviderRegistry: Symbol.for('IContextMenuProviderRegistry'),
31
+ IContextMenuProvider: Symbol.for('IContextMenuProvider'),
32
+ ICopyPasteHandler: Symbol.for('ICopyPasteHandler'),
33
+ IGLSPToolManager: Symbol.for('IGLSPToolManager'),
34
+ ITool: Symbol.for('ITool'),
35
+ IDefaultTool: Symbol.for('IDefaultTool'),
36
+ IEditModeListener: Symbol.for('IEditModeListener'),
37
+ LayoutRegistration: Symbol.for('LayoutRegistration')
37
38
  };
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020 EclipseSource and others.
2
+ * Copyright (c) 2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,14 +13,19 @@
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 "sprotty";
16
+ import { injectable } from 'inversify';
17
+ import { IView, ViewRegistry } from 'sprotty';
17
18
 
18
- export class ModelSourceChangedAction implements Action {
19
- static KIND = 'modelSourceChanged';
20
- readonly kind = ModelSourceChangedAction.KIND;
21
- constructor(public readonly modelSourceName: string) { }
22
- }
23
-
24
- export function isModelSourceChangedAction(action: Action): action is ModelSourceChangedAction {
25
- return action.kind === ModelSourceChangedAction.KIND;
19
+ @injectable()
20
+ export class GLSPViewRegistry extends ViewRegistry {
21
+ register(key: string, instance: IView): void {
22
+ if (key === undefined) {
23
+ throw new Error('Key is undefined');
24
+ }
25
+ if (this.hasKey(key)) {
26
+ // do not throw error but log overwriting
27
+ console.log(`View instance for type '${key}' will be overwritten.`);
28
+ }
29
+ this.elements.set(key, instance);
30
+ }
26
31
  }
@@ -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
@@ -25,22 +25,22 @@ import {
25
25
  Selectable,
26
26
  SModelElement,
27
27
  SParentElement
28
- } from "sprotty";
28
+ } from 'sprotty';
29
29
 
30
- export const resizeFeature = Symbol("resizeFeature");
30
+ export const resizeFeature = Symbol('resizeFeature');
31
31
 
32
- export interface Resizable extends BoundsAware, Selectable {
33
- }
32
+ export interface Resizable extends BoundsAware, Selectable {}
34
33
 
35
34
  export function isResizable(element: SModelElement): element is SParentElement & Resizable {
36
35
  return isBoundsAware(element) && isSelectable(element) && element instanceof SParentElement && element.hasFeature(resizeFeature);
37
36
  }
38
37
 
38
+ // eslint-disable-next-line no-shadow
39
39
  export enum ResizeHandleLocation {
40
- TopLeft = "top-left",
41
- TopRight = "top-right",
42
- BottomLeft = "bottom-left",
43
- BottomRight = "bottom-right"
40
+ TopLeft = 'top-left',
41
+ TopRight = 'top-right',
42
+ BottomLeft = 'bottom-left',
43
+ BottomRight = 'bottom-right'
44
44
  }
45
45
 
46
46
  export function isBoundsAwareMoveable(element: SModelElement): element is SModelElement & Locateable & BoundsAware {
@@ -50,18 +50,28 @@ export function isBoundsAwareMoveable(element: SModelElement): element is SModel
50
50
  export class SResizeHandle extends SChildElement implements Hoverable {
51
51
  static readonly TYPE = 'resize-handle';
52
52
 
53
- constructor(public readonly location?: ResizeHandleLocation,
53
+ constructor(
54
+ public readonly location?: ResizeHandleLocation,
54
55
  public readonly type: string = SResizeHandle.TYPE,
55
- public readonly hoverFeedback: boolean = false) {
56
+ public readonly hoverFeedback: boolean = false
57
+ ) {
56
58
  super();
57
59
  }
58
60
 
59
61
  hasFeature(feature: symbol): boolean {
60
62
  return feature === hoverFeedbackFeature;
61
63
  }
64
+
65
+ isNwSeResize(): boolean {
66
+ return this.location === ResizeHandleLocation.TopLeft || this.location === ResizeHandleLocation.BottomRight;
67
+ }
68
+
69
+ isNeSwResize(): boolean {
70
+ return this.location === ResizeHandleLocation.TopRight || this.location === ResizeHandleLocation.BottomLeft;
71
+ }
62
72
  }
63
73
 
64
- export function addResizeHandles(element: SParentElement) {
74
+ export function addResizeHandles(element: SParentElement): void {
65
75
  removeResizeHandles(element);
66
76
  element.add(new SResizeHandle(ResizeHandleLocation.TopLeft));
67
77
  element.add(new SResizeHandle(ResizeHandleLocation.TopRight));
@@ -69,6 +79,6 @@ export function addResizeHandles(element: SParentElement) {
69
79
  element.add(new SResizeHandle(ResizeHandleLocation.BottomRight));
70
80
  }
71
81
 
72
- export function removeResizeHandles(element: SParentElement) {
82
+ export function removeResizeHandles(element: SParentElement): void {
73
83
  element.removeAll(child => child instanceof SResizeHandle);
74
84
  }
@@ -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,28 +13,33 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { injectable } from "inversify";
17
- import { BoundsAware, Point, SModelElement, SNode, SParentElement } from "sprotty";
18
-
19
- import { toAbsoluteBounds } from "../../utils/viewpoint-util";
20
- import { ModifyCSSFeedbackAction } from "../tool-feedback/css-feedback";
21
- import { isBoundsAwareMoveable, SResizeHandle } from "./model";
16
+ import { Point } from '@eclipse-glsp/protocol';
17
+ import { injectable } from 'inversify';
18
+ import { BoundsAware, SModelElement, SNode, SParentElement } from 'sprotty';
19
+ import { toAbsoluteBounds } from '../../utils/viewpoint-util';
20
+ import { ModifyCSSFeedbackAction } from '../tool-feedback/css-feedback';
21
+ import { isBoundsAwareMoveable, SResizeHandle } from './model';
22
22
 
23
23
  export interface IMovementRestrictor {
24
24
  validate(newLocation: Point, element: SModelElement): boolean;
25
25
  cssClasses?: string[];
26
26
  }
27
27
 
28
- export function createMovementRestrictionFeedback(element: SModelElement, movementRestrictor: IMovementRestrictor): ModifyCSSFeedbackAction {
28
+ export function createMovementRestrictionFeedback(
29
+ element: SModelElement,
30
+ movementRestrictor: IMovementRestrictor
31
+ ): ModifyCSSFeedbackAction {
29
32
  const elements: SModelElement[] = [element];
30
33
  if (element instanceof SParentElement) {
31
34
  element.children.filter(child => child instanceof SResizeHandle).forEach(e => elements.push(e));
32
35
  }
33
36
  return new ModifyCSSFeedbackAction(elements, movementRestrictor.cssClasses);
34
-
35
37
  }
36
38
 
37
- export function removeMovementRestrictionFeedback(element: SModelElement, movementRestrictor: IMovementRestrictor): ModifyCSSFeedbackAction {
39
+ export function removeMovementRestrictionFeedback(
40
+ element: SModelElement,
41
+ movementRestrictor: IMovementRestrictor
42
+ ): ModifyCSSFeedbackAction {
38
43
  const elements: SModelElement[] = [element];
39
44
  if (element instanceof SParentElement) {
40
45
  element.children.filter(child => child instanceof SResizeHandle).forEach(e => elements.push(e));
@@ -45,7 +50,7 @@ export function removeMovementRestrictionFeedback(element: SModelElement, moveme
45
50
 
46
51
  @injectable()
47
52
  export class NoOverlapMovmentRestrictor implements IMovementRestrictor {
48
- cssClasses = ["movement-not-allowed"];
53
+ cssClasses = ['movement-not-allowed'];
49
54
 
50
55
  validate(newLocation: Point, element: SModelElement): boolean {
51
56
  if (!isBoundsAwareMoveable(element)) {
@@ -59,14 +64,18 @@ export class NoOverlapMovmentRestrictor implements IMovementRestrictor {
59
64
  width: element.bounds.width,
60
65
  height: element.bounds.height
61
66
  };
62
- ghostElement.type = "Ghost";
67
+ ghostElement.type = 'Ghost';
63
68
  ghostElement.id = element.id;
64
- return !Array.from(element.root.index.all().filter(e => e.id !== ghostElement.id && e !== ghostElement.root && (e instanceof SNode))
65
- .map(e => e as SModelElement & BoundsAware)).some(e => areOverlapping(e, ghostElement));
69
+ return !Array.from(
70
+ element.root.index
71
+ .all()
72
+ .filter(e => e.id !== ghostElement.id && e !== ghostElement.root && e instanceof SNode)
73
+ .map(e => e as SModelElement & BoundsAware)
74
+ ).some(e => areOverlapping(e, ghostElement));
66
75
  }
67
76
  }
68
77
 
69
- export function areOverlapping(element1: SModelElement & BoundsAware, element2: SModelElement & BoundsAware) {
78
+ export function areOverlapping(element1: SModelElement & BoundsAware, element2: SModelElement & BoundsAware): boolean {
70
79
  const b1 = toAbsoluteBounds(element1);
71
80
  const b2 = toAbsoluteBounds(element2);
72
81
  const r1TopLeft: Point = b1;
@@ -75,13 +84,14 @@ export function areOverlapping(element1: SModelElement & BoundsAware, element2:
75
84
  const r2BottomRight = { x: b2.x + b2.width, y: b2.y + b2.height };
76
85
 
77
86
  // If one rectangle is on left side of other
78
- if (r1TopLeft.x > r2BottomRight.x || r2TopLeft.x > r1BottomRight.x)
87
+ if (r1TopLeft.x > r2BottomRight.x || r2TopLeft.x > r1BottomRight.x) {
79
88
  return false;
89
+ }
80
90
 
81
91
  // If one rectangle is above other
82
- if (r1BottomRight.y < r2TopLeft.y || r2BottomRight.y < r1TopLeft.y)
92
+ if (r1BottomRight.y < r2TopLeft.y || r2BottomRight.y < r1TopLeft.y) {
83
93
  return false;
94
+ }
84
95
 
85
96
  return true;
86
-
87
97
  }
@@ -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,16 +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 { injectable } from "inversify";
17
- import { ISnapper, Point, SModelElement } from "sprotty";
16
+ import { Point } from '@eclipse-glsp/protocol';
17
+ import { injectable } from 'inversify';
18
+ import { ISnapper, SModelElement } from 'sprotty';
18
19
 
19
20
  @injectable()
20
21
  export class GridSnapper implements ISnapper {
21
- get gridX() {
22
+ get gridX(): number {
22
23
  return 10;
23
24
  }
24
25
 
25
- get gridY() {
26
+ get gridY(): number {
26
27
  return 10;
27
28
  }
28
29
 
@@ -13,18 +13,18 @@
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, postConstruct } from "inversify";
17
- import { CommandPaletteKeyListener, KeyListener, KeyTool, Tool } from "sprotty";
16
+ import { inject, injectable, postConstruct } from 'inversify';
17
+ import { CommandPaletteKeyListener, KeyListener, KeyTool, Tool } from 'sprotty';
18
18
 
19
19
  @injectable()
20
20
  export class CommandPaletteTool implements Tool {
21
- static ID = "glsp.command-palette-tool";
21
+ static ID = 'glsp.command-palette-tool';
22
22
 
23
23
  protected commandPaletteKeyListener: KeyListener;
24
24
  @inject(KeyTool) protected keyTool: KeyTool;
25
25
 
26
26
  @postConstruct()
27
- protected postConstruct() {
27
+ protected postConstruct(): void {
28
28
  this.commandPaletteKeyListener = this.createCommandPaleteKeyListener();
29
29
  }
30
30
 
@@ -13,16 +13,16 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import "../../../css/command-palette.css";
16
+ import '../../../css/command-palette.css';
17
17
 
18
- import { ContainerModule } from "inversify";
19
- import { CommandPalette, CommandPaletteActionProviderRegistry, TYPES } from "sprotty";
18
+ import { ContainerModule } from 'inversify';
19
+ import { CommandPalette, CommandPaletteActionProviderRegistry, TYPES } from 'sprotty';
20
20
 
21
- import { GLSP_TYPES } from "../../base/types";
22
- import { CommandPaletteTool } from "./command-palette-tool";
23
- import { ServerCommandPaletteActionProvider } from "./server-command-palette-provider";
21
+ import { GLSP_TYPES } from '../../base/types';
22
+ import { CommandPaletteTool } from './command-palette-tool';
23
+ import { ServerCommandPaletteActionProvider } from './server-command-palette-provider';
24
24
 
25
- const glspCommandPaletteModule = new ContainerModule((bind) => {
25
+ const glspCommandPaletteModule = new ContainerModule(bind => {
26
26
  bind(CommandPalette).toSelf().inSingletonScope();
27
27
  bind(TYPES.IUIExtension).toService(CommandPalette);
28
28
  bind(CommandPaletteActionProviderRegistry).toSelf().inSingletonScope();
@@ -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,17 +13,16 @@
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
- import { Action, ICommandPaletteActionProvider, LabeledAction, Point, SModelElement, TYPES } from "sprotty";
18
-
19
- import { GLSPActionDispatcher } from "../../base/action-dispatcher";
20
- import { isSetContextActionsAction, RequestContextActions } from "../../base/actions/context-actions";
21
- import { EditorContextService } from "../../base/editor-context";
16
+ import { Action, isSetContextActionsAction, LabeledAction, Point, RequestContextActions } from '@eclipse-glsp/protocol';
17
+ import { inject, injectable } from 'inversify';
18
+ import { ICommandPaletteActionProvider, SModelElement, TYPES } from 'sprotty';
19
+ import { GLSPActionDispatcher } from '../../base/action-dispatcher';
20
+ import { EditorContextService } from '../../base/editor-context-service';
22
21
 
23
22
  export namespace ServerCommandPalette {
24
- export const CONTEXT_ID = "command-palette";
25
- export const TEXT = "text";
26
- export const INDEX = "index";
23
+ export const CONTEXT_ID = 'command-palette';
24
+ export const TEXT = 'text';
25
+ export const INDEX = 'index';
27
26
  }
28
27
 
29
28
  @injectable()
@@ -32,10 +31,13 @@ export class ServerCommandPaletteActionProvider implements ICommandPaletteAction
32
31
  @inject(EditorContextService) protected editorContext: EditorContextService;
33
32
 
34
33
  getActions(_root: Readonly<SModelElement>, text: string, _lastMousePosition?: Point, index?: number): Promise<LabeledAction[]> {
35
- const requestAction = new RequestContextActions(ServerCommandPalette.CONTEXT_ID, this.editorContext.get({
36
- [ServerCommandPalette.TEXT]: text,
37
- [ServerCommandPalette.INDEX]: index ? index : 0
38
- }));
34
+ const requestAction = new RequestContextActions(
35
+ ServerCommandPalette.CONTEXT_ID,
36
+ this.editorContext.get({
37
+ [ServerCommandPalette.TEXT]: text,
38
+ [ServerCommandPalette.INDEX]: index ? index : 0
39
+ })
40
+ );
39
41
  return this.actionDispatcher.requestUntil(requestAction).then(response => this.getPaletteActionsFromResponse(response));
40
42
  }
41
43
 
@@ -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,12 +13,11 @@
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
- import { IContextMenuItemProvider, MenuItem, Point, SModelRoot } from "sprotty";
18
-
19
- import { EditorContextService, EditorContextServiceProvider } from "../../base/editor-context";
20
- import { DeleteElementOperation } from "../../base/operations/operation";
21
- import { GLSP_TYPES } from "../../base/types";
16
+ import { DeleteElementOperation } from '@eclipse-glsp/protocol';
17
+ import { inject, injectable } from 'inversify';
18
+ import { IContextMenuItemProvider, MenuItem, Point, SModelRoot } from 'sprotty';
19
+ import { EditorContextService, EditorContextServiceProvider } from '../../base/editor-context-service';
20
+ import { GLSP_TYPES } from '../../base/types';
22
21
 
23
22
  @injectable()
24
23
  export class DeleteElementContextMenuItemProvider implements IContextMenuItemProvider {
@@ -31,10 +30,10 @@ export class DeleteElementContextMenuItemProvider implements IContextMenuItemPro
31
30
 
32
31
  protected createDeleteMenuItem(editorContextService: EditorContextService): MenuItem {
33
32
  return {
34
- id: "delete",
35
- label: "Delete",
36
- sortString: "d",
37
- group: "edit",
33
+ id: 'delete',
34
+ label: 'Delete',
35
+ sortString: 'd',
36
+ group: 'edit',
38
37
  actions: [new DeleteElementOperation(editorContextService.selectedElements.map(e => e.id))],
39
38
  isEnabled: () => !editorContextService.isReadonly && editorContextService.selectedElements.length > 0
40
39
  };
@@ -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,24 +13,22 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { ContainerModule } from "inversify";
17
- import { ContextMenuProviderRegistry, IContextMenuService, TYPES } from "sprotty";
18
-
19
- import { SelectionServiceAwareContextMenuMouseListener } from "./selection-service-aware-context-menu-mouse-listener";
20
- import { ServerContextMenuItemProvider } from "./server-context-menu-provider";
16
+ import { ContainerModule } from 'inversify';
17
+ import { ContextMenuProviderRegistry, IContextMenuService, TYPES } from 'sprotty';
18
+ import { SelectionServiceAwareContextMenuMouseListener } from './selection-service-aware-context-menu-mouse-listener';
19
+ import { ServerContextMenuItemProvider } from './server-context-menu-provider';
21
20
 
22
21
  const glspContextMenuModule = new ContainerModule(bind => {
23
- bind(TYPES.IContextMenuServiceProvider).toProvider<IContextMenuService>(ctx => {
24
- return () => {
25
- return new Promise<IContextMenuService>((resolve, reject) => {
22
+ bind(TYPES.IContextMenuServiceProvider).toProvider<IContextMenuService>(
23
+ ctx => () =>
24
+ new Promise<IContextMenuService>((resolve, reject) => {
26
25
  if (ctx.container.isBound(TYPES.IContextMenuService)) {
27
26
  resolve(ctx.container.get<IContextMenuService>(TYPES.IContextMenuService));
28
27
  } else {
29
28
  reject();
30
29
  }
31
- });
32
- };
33
- });
30
+ })
31
+ );
34
32
  bind(TYPES.MouseListener).to(SelectionServiceAwareContextMenuMouseListener);
35
33
  bind(TYPES.IContextMenuProviderRegistry).to(ContextMenuProviderRegistry);
36
34
  bind(TYPES.IContextMenuItemProvider).to(ServerContextMenuItemProvider);
@@ -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,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 { inject, injectable, optional } from "inversify";
16
+ import { inject, injectable, optional } from 'inversify';
17
17
  import {
18
18
  Action,
19
19
  ContextMenuProviderRegistry,
@@ -23,10 +23,10 @@ import {
23
23
  MouseListener,
24
24
  SModelElement,
25
25
  TYPES
26
- } from "sprotty";
26
+ } from 'sprotty';
27
27
 
28
- import { GLSP_TYPES } from "../../base/types";
29
- import { SelectionService } from "../select/selection-service";
28
+ import { GLSP_TYPES } from '../../base/types';
29
+ import { SelectionService } from '../select/selection-service';
30
30
 
31
31
  @injectable()
32
32
  export class SelectionServiceAwareContextMenuMouseListener extends MouseListener {
@@ -42,8 +42,9 @@ export class SelectionServiceAwareContextMenuMouseListener extends MouseListener
42
42
  selectableTarget.selected = true;
43
43
  this.selectionService.updateSelection(target.root, [selectableTarget.id], []);
44
44
  }
45
- Promise.all([this.contextMenuService(), this.menuProvider.getItems(target.root, mousePosition)])
46
- .then(([menuService, menuItems]) => menuService.show(menuItems, mousePosition));
45
+ Promise.all([this.contextMenuService(), this.menuProvider.getItems(target.root, mousePosition)]).then(
46
+ ([menuService, menuItems]) => menuService.show(menuItems, mousePosition)
47
+ );
47
48
  }
48
49
  return [];
49
50
  }
@@ -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,25 +13,28 @@
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
- import { Action, IContextMenuItemProvider, isSelected, LabeledAction, Point, SModelElement, TYPES } from "sprotty";
18
-
19
- import { GLSPActionDispatcher } from "../../base/action-dispatcher";
20
- import { isSetContextActionsAction, RequestContextActions } from "../../base/actions/context-actions";
21
- import { EditorContextService } from "../../base/editor-context";
16
+ import { Action, isSetContextActionsAction, LabeledAction, Point, RequestContextActions } from '@eclipse-glsp/protocol';
17
+ import { inject, injectable } from 'inversify';
18
+ import { IContextMenuItemProvider, isSelected, SModelElement, TYPES } from 'sprotty';
19
+ import { GLSPActionDispatcher } from '../../base/action-dispatcher';
20
+ import { EditorContextService } from '../../base/editor-context-service';
22
21
 
23
22
  export namespace ServerContextMenu {
24
- export const CONTEXT_ID = "context-menu";
23
+ export const CONTEXT_ID = 'context-menu';
25
24
  }
26
25
 
27
26
  @injectable()
28
27
  export class ServerContextMenuItemProvider implements IContextMenuItemProvider {
29
-
30
28
  @inject(TYPES.IActionDispatcher) protected actionDispatcher: GLSPActionDispatcher;
31
29
  @inject(EditorContextService) protected editorContext: EditorContextService;
32
30
 
33
31
  getItems(root: Readonly<SModelElement>, lastMousePosition?: Point): Promise<LabeledAction[]> {
34
- const selectedElementIds = Array.from(root.index.all().filter(isSelected).map(e => e.id));
32
+ const selectedElementIds = Array.from(
33
+ root.index
34
+ .all()
35
+ .filter(isSelected)
36
+ .map(e => e.id)
37
+ );
35
38
  const context = this.editorContext.getWithSelection(selectedElementIds);
36
39
  const requestAction = new RequestContextActions(ServerContextMenu.CONTEXT_ID, context);
37
40
  return this.actionDispatcher.requestUntil(requestAction).then(response => this.getContextActionsFromResponse(response));