@eclipse-glsp/client 0.9.0-next.d0112315 → 0.9.0-next.f12e3d87

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 (469) hide show
  1. package/README.md +2 -1
  2. package/css/command-palette.css +6 -5
  3. package/css/glsp-sprotty.css +17 -8
  4. package/css/tool-palette.css +14 -14
  5. package/lib/base/action-dispatcher.d.ts.map +1 -1
  6. package/lib/base/action-dispatcher.js +39 -60
  7. package/lib/base/action-dispatcher.js.map +1 -1
  8. package/lib/base/actions/context-actions.d.ts +1 -1
  9. package/lib/base/actions/context-actions.d.ts.map +1 -1
  10. package/lib/base/actions/context-actions.js +11 -18
  11. package/lib/base/actions/context-actions.js.map +1 -1
  12. package/lib/base/actions/edit-mode-action.d.ts.map +1 -1
  13. package/lib/base/actions/edit-mode-action.js +12 -17
  14. package/lib/base/actions/edit-mode-action.js.map +1 -1
  15. package/lib/base/actions/edit-validation-actions.d.ts +1 -1
  16. package/lib/base/actions/edit-validation-actions.d.ts.map +1 -1
  17. package/lib/base/actions/edit-validation-actions.js +23 -26
  18. package/lib/base/actions/edit-validation-actions.js.map +1 -1
  19. package/lib/base/actions/focus-change-action.js +4 -5
  20. package/lib/base/actions/focus-change-action.js.map +1 -1
  21. package/lib/base/args.d.ts +1 -1
  22. package/lib/base/args.d.ts.map +1 -1
  23. package/lib/base/args.js.map +1 -1
  24. package/lib/base/auto-complete/auto-complete-widget.d.ts +1 -1
  25. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  26. package/lib/base/auto-complete/auto-complete-widget.js +100 -150
  27. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  28. package/lib/base/auto-complete/validation-decorator.d.ts +1 -1
  29. package/lib/base/auto-complete/validation-decorator.js +38 -60
  30. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  31. package/lib/base/command-stack.d.ts.map +1 -1
  32. package/lib/base/command-stack.js +19 -37
  33. package/lib/base/command-stack.js.map +1 -1
  34. package/lib/base/container-modules.d.ts +40 -0
  35. package/lib/base/container-modules.d.ts.map +1 -0
  36. package/lib/base/container-modules.js +84 -0
  37. package/lib/base/container-modules.js.map +1 -0
  38. package/lib/base/di.config.d.ts +11 -2
  39. package/lib/base/di.config.d.ts.map +1 -1
  40. package/lib/base/di.config.js +37 -37
  41. package/lib/base/di.config.js.map +1 -1
  42. package/lib/base/drag-aware-mouse-listener.d.ts +1 -1
  43. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  44. package/lib/base/drag-aware-mouse-listener.js +24 -48
  45. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  46. package/lib/base/editor-context.d.ts.map +1 -1
  47. package/lib/base/editor-context.js +64 -128
  48. package/lib/base/editor-context.js.map +1 -1
  49. package/lib/base/focus-tracker.d.ts.map +1 -1
  50. package/lib/base/focus-tracker.js +19 -24
  51. package/lib/base/focus-tracker.js.map +1 -1
  52. package/lib/base/model/model-registry.js +10 -28
  53. package/lib/base/model/model-registry.js.map +1 -1
  54. package/lib/base/model/update-model-command.d.ts +2 -2
  55. package/lib/base/model/update-model-command.d.ts.map +1 -1
  56. package/lib/base/model/update-model-command.js +67 -88
  57. package/lib/base/model/update-model-command.js.map +1 -1
  58. package/lib/base/model-initialization-constraint.js +31 -52
  59. package/lib/base/model-initialization-constraint.js.map +1 -1
  60. package/lib/base/operations/operation.d.ts +5 -5
  61. package/lib/base/operations/operation.d.ts.map +1 -1
  62. package/lib/base/operations/operation.js +75 -115
  63. package/lib/base/operations/operation.js.map +1 -1
  64. package/lib/base/selection-clearing-mouse-listener.js +10 -28
  65. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  66. package/lib/base/source-uri-aware.js +2 -5
  67. package/lib/base/source-uri-aware.js.map +1 -1
  68. package/lib/base/tool-manager/glsp-tool-manager.js +56 -137
  69. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  70. package/lib/base/types.d.ts +2 -1
  71. package/lib/base/types.d.ts.map +1 -1
  72. package/lib/base/types.js +3 -2
  73. package/lib/base/types.js.map +1 -1
  74. package/lib/base/view/view-registry.js +10 -28
  75. package/lib/base/view/view-registry.js.map +1 -1
  76. package/lib/features/change-bounds/model.d.ts +3 -1
  77. package/lib/features/change-bounds/model.d.ts.map +1 -1
  78. package/lib/features/change-bounds/model.js +20 -31
  79. package/lib/features/change-bounds/model.js.map +1 -1
  80. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  81. package/lib/features/change-bounds/movement-restrictor.js +29 -28
  82. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  83. package/lib/features/change-bounds/snap.js +13 -24
  84. package/lib/features/change-bounds/snap.js.map +1 -1
  85. package/lib/features/command-palette/command-palette-tool.js +30 -38
  86. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  87. package/lib/features/command-palette/di.config.js +6 -6
  88. package/lib/features/command-palette/di.config.js.map +1 -1
  89. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  90. package/lib/features/command-palette/server-command-palette-provider.js +27 -32
  91. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  92. package/lib/features/context-menu/delete-element-context-menu.js +19 -67
  93. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  94. package/lib/features/context-menu/di.config.d.ts +1 -1
  95. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  96. package/lib/features/context-menu/di.config.js +8 -8
  97. package/lib/features/context-menu/di.config.js.map +1 -1
  98. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  99. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +29 -67
  100. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  101. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  102. package/lib/features/context-menu/server-context-menu-provider.js +29 -30
  103. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  104. package/lib/features/copy-paste/copy-paste-actions.d.ts +1 -1
  105. package/lib/features/copy-paste/copy-paste-actions.d.ts.map +1 -1
  106. package/lib/features/copy-paste/copy-paste-actions.js +20 -30
  107. package/lib/features/copy-paste/copy-paste-actions.js.map +1 -1
  108. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +5 -1
  109. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  110. package/lib/features/copy-paste/copy-paste-context-menu.js +99 -72
  111. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  112. package/lib/features/copy-paste/copy-paste-handler.d.ts +2 -0
  113. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  114. package/lib/features/copy-paste/copy-paste-handler.js +67 -67
  115. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  116. package/lib/features/copy-paste/di.config.js +10 -10
  117. package/lib/features/copy-paste/di.config.js.map +1 -1
  118. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  119. package/lib/features/decoration/decoration-placer.js +13 -32
  120. package/lib/features/decoration/decoration-placer.js.map +1 -1
  121. package/lib/features/decoration/di.config.js +4 -4
  122. package/lib/features/decoration/di.config.js.map +1 -1
  123. package/lib/features/edit-label/di.config.js +7 -7
  124. package/lib/features/edit-label/di.config.js.map +1 -1
  125. package/lib/features/edit-label/edit-label-tool.js +20 -43
  126. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  127. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  128. package/lib/features/edit-label/edit-label-validator.js +37 -59
  129. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  130. package/lib/features/hints/di.config.js +8 -8
  131. package/lib/features/hints/di.config.js.map +1 -1
  132. package/lib/features/hints/model.d.ts +1 -1
  133. package/lib/features/hints/model.d.ts.map +1 -1
  134. package/lib/features/hints/request-type-hints-action.d.ts +1 -1
  135. package/lib/features/hints/request-type-hints-action.d.ts.map +1 -1
  136. package/lib/features/hints/request-type-hints-action.js +12 -14
  137. package/lib/features/hints/request-type-hints-action.js.map +1 -1
  138. package/lib/features/hints/type-hints.d.ts +4 -4
  139. package/lib/features/hints/type-hints.d.ts.map +1 -1
  140. package/lib/features/hints/type-hints.js +91 -133
  141. package/lib/features/hints/type-hints.js.map +1 -1
  142. package/lib/features/hover/di.config.js +7 -7
  143. package/lib/features/hover/di.config.js.map +1 -1
  144. package/lib/features/hover/hover.d.ts.map +1 -1
  145. package/lib/features/hover/hover.js +35 -76
  146. package/lib/features/hover/hover.js.map +1 -1
  147. package/lib/features/layout/di.config.d.ts +5 -1
  148. package/lib/features/layout/di.config.d.ts.map +1 -1
  149. package/lib/features/layout/di.config.js +47 -7
  150. package/lib/features/layout/di.config.js.map +1 -1
  151. package/lib/features/layout/freeform-layout.d.ts +16 -0
  152. package/lib/features/layout/freeform-layout.d.ts.map +1 -0
  153. package/lib/features/layout/freeform-layout.js +107 -0
  154. package/lib/features/layout/freeform-layout.js.map +1 -0
  155. package/lib/features/layout/layout-commands.d.ts +2 -2
  156. package/lib/features/layout/layout-commands.d.ts.map +1 -1
  157. package/lib/features/layout/layout-commands.js +187 -263
  158. package/lib/features/layout/layout-commands.js.map +1 -1
  159. package/lib/features/layout/layout-commands.spec.d.ts +1 -1
  160. package/lib/features/layout/layout-commands.spec.js +94 -88
  161. package/lib/features/layout/layout-commands.spec.js.map +1 -1
  162. package/lib/features/layout/vbox-layout.d.ts +25 -0
  163. package/lib/features/layout/vbox-layout.d.ts.map +1 -0
  164. package/lib/features/layout/vbox-layout.js +187 -0
  165. package/lib/features/layout/vbox-layout.js.map +1 -0
  166. package/lib/features/model-source-watcher/di.config.js +6 -6
  167. package/lib/features/model-source-watcher/di.config.js.map +1 -1
  168. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
  169. package/lib/features/model-source-watcher/model-source-changed-action-handler.js +38 -45
  170. package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
  171. package/lib/features/model-source-watcher/model-source-changed-action.d.ts +1 -1
  172. package/lib/features/model-source-watcher/model-source-changed-action.js +4 -5
  173. package/lib/features/model-source-watcher/model-source-changed-action.js.map +1 -1
  174. package/lib/features/mouse-tool/di.config.js +5 -5
  175. package/lib/features/mouse-tool/di.config.js.map +1 -1
  176. package/lib/features/mouse-tool/mouse-tool.d.ts +2 -1
  177. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  178. package/lib/features/mouse-tool/mouse-tool.js +69 -215
  179. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  180. package/lib/features/navigation/di.config.js +9 -9
  181. package/lib/features/navigation/di.config.js.map +1 -1
  182. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  183. package/lib/features/navigation/navigation-action-handler.js +136 -217
  184. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  185. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  186. package/lib/features/navigation/navigation-target-resolver.js +57 -122
  187. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  188. package/lib/features/navigation/navigation-target-resolver.spec.d.ts +1 -1
  189. package/lib/features/navigation/navigation-target-resolver.spec.js +12 -12
  190. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  191. package/lib/features/rank/model.d.ts +1 -1
  192. package/lib/features/rank/model.js +2 -2
  193. package/lib/features/rank/model.js.map +1 -1
  194. package/lib/features/reconnect/model.d.ts +1 -1
  195. package/lib/features/reconnect/model.d.ts.map +1 -1
  196. package/lib/features/reconnect/model.js +9 -27
  197. package/lib/features/reconnect/model.js.map +1 -1
  198. package/lib/features/save/di.config.d.ts +1 -1
  199. package/lib/features/save/di.config.d.ts.map +1 -1
  200. package/lib/features/save/di.config.js +5 -5
  201. package/lib/features/save/di.config.js.map +1 -1
  202. package/lib/features/save/save.d.ts +1 -1
  203. package/lib/features/save/save.js +11 -31
  204. package/lib/features/save/save.js.map +1 -1
  205. package/lib/features/select/di.config.js +11 -11
  206. package/lib/features/select/di.config.js.map +1 -1
  207. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  208. package/lib/features/select/select-feedback-action.js +45 -71
  209. package/lib/features/select/select-feedback-action.js.map +1 -1
  210. package/lib/features/select/select-mouse-listener.js +7 -23
  211. package/lib/features/select/select-mouse-listener.js.map +1 -1
  212. package/lib/features/select/selection-service.d.ts.map +1 -1
  213. package/lib/features/select/selection-service.js +132 -234
  214. package/lib/features/select/selection-service.js.map +1 -1
  215. package/lib/features/select/selection-service.spec.js +97 -124
  216. package/lib/features/select/selection-service.spec.js.map +1 -1
  217. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +2 -1
  218. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  219. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +104 -127
  220. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  221. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  222. package/lib/features/tool-feedback/creation-tool-feedback.js +69 -103
  223. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  224. package/lib/features/tool-feedback/css-feedback.d.ts +3 -1
  225. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  226. package/lib/features/tool-feedback/css-feedback.js +37 -81
  227. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  228. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  229. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  230. package/lib/features/tool-feedback/di.config.js +27 -27
  231. package/lib/features/tool-feedback/di.config.js.map +1 -1
  232. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +1 -1
  233. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  234. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +147 -193
  235. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  236. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +2 -2
  237. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  238. package/lib/features/tool-feedback/feedback-action-dispatcher.js +36 -58
  239. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  240. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  241. package/lib/features/tool-feedback/marquee-tool-feedback.js +41 -69
  242. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  243. package/lib/features/tool-feedback/model.d.ts +1 -1
  244. package/lib/features/tool-feedback/model.js +11 -27
  245. package/lib/features/tool-feedback/model.js.map +1 -1
  246. package/lib/features/tool-feedback/view.d.ts +4 -4
  247. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  248. package/lib/features/tool-feedback/view.js +30 -37
  249. package/lib/features/tool-feedback/view.js.map +1 -1
  250. package/lib/features/tool-palette/di.config.js +6 -6
  251. package/lib/features/tool-palette/di.config.js.map +1 -1
  252. package/lib/features/tool-palette/palette-item.d.ts +1 -1
  253. package/lib/features/tool-palette/palette-item.d.ts.map +1 -1
  254. package/lib/features/tool-palette/palette-item.js +6 -5
  255. package/lib/features/tool-palette/palette-item.js.map +1 -1
  256. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  257. package/lib/features/tool-palette/tool-palette.js +182 -259
  258. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  259. package/lib/features/tools/base-glsp-tool.js +37 -44
  260. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  261. package/lib/features/tools/change-bounds-tool.d.ts +3 -2
  262. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  263. package/lib/features/tools/change-bounds-tool.js +187 -237
  264. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  265. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  266. package/lib/features/tools/delete-tool.js +69 -102
  267. package/lib/features/tools/delete-tool.js.map +1 -1
  268. package/lib/features/tools/di.config.js +18 -18
  269. package/lib/features/tools/di.config.js.map +1 -1
  270. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  271. package/lib/features/tools/edge-creation-tool.js +60 -85
  272. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  273. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  274. package/lib/features/tools/edge-edit-tool.js +110 -181
  275. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  276. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  277. package/lib/features/tools/marquee-mouse-tool.js +128 -149
  278. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  279. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  280. package/lib/features/tools/marquee-tool.js +32 -58
  281. package/lib/features/tools/marquee-tool.js.map +1 -1
  282. package/lib/features/tools/model.js +4 -22
  283. package/lib/features/tools/model.js.map +1 -1
  284. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  285. package/lib/features/tools/node-creation-tool.js +59 -89
  286. package/lib/features/tools/node-creation-tool.js.map +1 -1
  287. package/lib/features/tools/view.d.ts +1 -1
  288. package/lib/features/tools/view.d.ts.map +1 -1
  289. package/lib/features/tools/view.js +12 -31
  290. package/lib/features/tools/view.js.map +1 -1
  291. package/lib/features/undo-redo/model.d.ts +1 -1
  292. package/lib/features/undo-redo/model.js +8 -12
  293. package/lib/features/undo-redo/model.js.map +1 -1
  294. package/lib/features/validation/di.config.js +12 -12
  295. package/lib/features/validation/di.config.js.map +1 -1
  296. package/lib/features/validation/issue-marker.js +13 -51
  297. package/lib/features/validation/issue-marker.js.map +1 -1
  298. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  299. package/lib/features/validation/marker-navigator.js +129 -163
  300. package/lib/features/validation/marker-navigator.js.map +1 -1
  301. package/lib/features/validation/marker-navigator.spec.d.ts +1 -1
  302. package/lib/features/validation/marker-navigator.spec.js +79 -73
  303. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  304. package/lib/features/validation/validate.d.ts +2 -2
  305. package/lib/features/validation/validate.d.ts.map +1 -1
  306. package/lib/features/validation/validate.js +161 -276
  307. package/lib/features/validation/validate.js.map +1 -1
  308. package/lib/features/viewport/di.config.js +10 -10
  309. package/lib/features/viewport/di.config.js.map +1 -1
  310. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  311. package/lib/features/viewport/glsp-scroll-mouse-listener.js +16 -32
  312. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  313. package/lib/index.d.ts +5 -4
  314. package/lib/index.d.ts.map +1 -1
  315. package/lib/index.js +25 -23
  316. package/lib/index.js.map +1 -1
  317. package/lib/lib/model.js +11 -27
  318. package/lib/lib/model.js.map +1 -1
  319. package/lib/model-source/glsp-diagram-server.d.ts +1 -1
  320. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  321. package/lib/model-source/glsp-diagram-server.js +43 -118
  322. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  323. package/lib/model-source/glsp-server-status.js +10 -27
  324. package/lib/model-source/glsp-server-status.js.map +1 -1
  325. package/lib/utils/argument-utils.d.ts +3 -3
  326. package/lib/utils/argument-utils.d.ts.map +1 -1
  327. package/lib/utils/argument-utils.js +27 -92
  328. package/lib/utils/argument-utils.js.map +1 -1
  329. package/lib/utils/array-utils.d.ts +1 -1
  330. package/lib/utils/array-utils.d.ts.map +1 -1
  331. package/lib/utils/array-utils.js +10 -15
  332. package/lib/utils/array-utils.js.map +1 -1
  333. package/lib/utils/html-utils.js +2 -2
  334. package/lib/utils/html-utils.js.map +1 -1
  335. package/lib/utils/layout-utils.d.ts +1 -1
  336. package/lib/utils/layout-utils.d.ts.map +1 -1
  337. package/lib/utils/layout-utils.js +5 -5
  338. package/lib/utils/layout-utils.js.map +1 -1
  339. package/lib/utils/marker.js +11 -53
  340. package/lib/utils/marker.js.map +1 -1
  341. package/lib/utils/smodel-util.d.ts +3 -3
  342. package/lib/utils/smodel-util.d.ts.map +1 -1
  343. package/lib/utils/smodel-util.js +17 -51
  344. package/lib/utils/smodel-util.js.map +1 -1
  345. package/lib/utils/viewpoint-util.d.ts +1 -1
  346. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  347. package/lib/utils/viewpoint-util.js +16 -16
  348. package/lib/utils/viewpoint-util.js.map +1 -1
  349. package/lib/views/base-view-module.js +9 -9
  350. package/lib/views/base-view-module.js.map +1 -1
  351. package/lib/views/compartments.d.ts +6 -0
  352. package/lib/views/compartments.d.ts.map +1 -0
  353. package/lib/views/compartments.js +43 -0
  354. package/lib/views/compartments.js.map +1 -0
  355. package/lib/views/default-types.js +1 -1
  356. package/lib/views/default-types.js.map +1 -1
  357. package/lib/views/glsp-edge-view.d.ts +1 -2
  358. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  359. package/lib/views/glsp-edge-view.js +32 -62
  360. package/lib/views/glsp-edge-view.js.map +1 -1
  361. package/lib/views/index.d.ts +1 -0
  362. package/lib/views/index.d.ts.map +1 -1
  363. package/lib/views/index.js +1 -0
  364. package/lib/views/index.js.map +1 -1
  365. package/lib/views/issue-marker-view.d.ts +1 -1
  366. package/lib/views/issue-marker-view.d.ts.map +1 -1
  367. package/lib/views/issue-marker-view.js +19 -42
  368. package/lib/views/issue-marker-view.js.map +1 -1
  369. package/lib/views/rounded-corner-view.d.ts +2 -3
  370. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  371. package/lib/views/rounded-corner-view.js +40 -70
  372. package/lib/views/rounded-corner-view.js.map +1 -1
  373. package/lib/views/rounded-corner.d.ts.map +1 -1
  374. package/lib/views/rounded-corner.js +44 -65
  375. package/lib/views/rounded-corner.js.map +1 -1
  376. package/package.json +6 -16
  377. package/src/base/action-dispatcher.ts +1 -2
  378. package/src/base/actions/context-actions.ts +6 -6
  379. package/src/base/actions/edit-mode-action.ts +3 -4
  380. package/src/base/actions/edit-validation-actions.ts +26 -14
  381. package/src/base/actions/focus-change-action.ts +1 -1
  382. package/src/base/args.ts +4 -2
  383. package/src/base/auto-complete/auto-complete-widget.ts +34 -21
  384. package/src/base/auto-complete/validation-decorator.ts +5 -5
  385. package/src/base/command-stack.ts +1 -3
  386. package/src/base/container-modules.ts +113 -0
  387. package/src/base/di.config.ts +31 -16
  388. package/src/base/drag-aware-mouse-listener.ts +1 -3
  389. package/src/base/editor-context.ts +2 -4
  390. package/src/base/focus-tracker.ts +0 -2
  391. package/src/base/model/update-model-command.ts +6 -8
  392. package/src/base/operations/operation.ts +57 -31
  393. package/src/base/types.ts +3 -2
  394. package/src/features/change-bounds/model.ts +16 -5
  395. package/src/features/change-bounds/movement-restrictor.ts +15 -7
  396. package/src/features/command-palette/server-command-palette-provider.ts +8 -5
  397. package/src/features/context-menu/di.config.ts +11 -9
  398. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +4 -3
  399. package/src/features/context-menu/server-context-menu-provider.ts +7 -3
  400. package/src/features/copy-paste/copy-paste-actions.ts +11 -8
  401. package/src/features/copy-paste/copy-paste-context-menu.ts +57 -17
  402. package/src/features/copy-paste/copy-paste-handler.ts +15 -6
  403. package/src/features/decoration/decoration-placer.ts +2 -13
  404. package/src/features/edit-label/edit-label-validator.ts +11 -12
  405. package/src/features/hints/model.ts +2 -2
  406. package/src/features/hints/request-type-hints-action.ts +10 -5
  407. package/src/features/hints/type-hints.ts +26 -30
  408. package/src/features/hover/hover.ts +1 -2
  409. package/src/features/layout/di.config.ts +30 -5
  410. package/src/features/layout/freeform-layout.ts +132 -0
  411. package/src/features/layout/layout-commands.spec.ts +79 -56
  412. package/src/features/layout/layout-commands.ts +42 -31
  413. package/src/features/layout/vbox-layout.ts +241 -0
  414. package/src/features/model-source-watcher/model-source-changed-action-handler.ts +3 -3
  415. package/src/features/model-source-watcher/model-source-changed-action.ts +2 -2
  416. package/src/features/mouse-tool/mouse-tool.ts +31 -22
  417. package/src/features/navigation/navigation-action-handler.ts +32 -22
  418. package/src/features/navigation/navigation-target-resolver.spec.ts +1 -3
  419. package/src/features/navigation/navigation-target-resolver.ts +14 -12
  420. package/src/features/rank/model.ts +2 -2
  421. package/src/features/reconnect/model.ts +2 -3
  422. package/src/features/save/di.config.ts +1 -2
  423. package/src/features/save/save.ts +2 -2
  424. package/src/features/select/select-feedback-action.ts +4 -6
  425. package/src/features/select/selection-service.spec.ts +9 -4
  426. package/src/features/select/selection-service.ts +13 -5
  427. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +26 -17
  428. package/src/features/tool-feedback/creation-tool-feedback.ts +16 -7
  429. package/src/features/tool-feedback/css-feedback.ts +7 -4
  430. package/src/features/tool-feedback/di.config.ts +2 -5
  431. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +18 -15
  432. package/src/features/tool-feedback/feedback-action-dispatcher.ts +6 -8
  433. package/src/features/tool-feedback/marquee-tool-feedback.ts +3 -2
  434. package/src/features/tool-feedback/model.ts +1 -2
  435. package/src/features/tool-feedback/view.tsx +16 -10
  436. package/src/features/tool-palette/di.config.ts +1 -1
  437. package/src/features/tool-palette/palette-item.ts +3 -3
  438. package/src/features/tool-palette/tool-palette.ts +12 -14
  439. package/src/features/tools/change-bounds-tool.ts +54 -25
  440. package/src/features/tools/delete-tool.ts +8 -3
  441. package/src/features/tools/edge-creation-tool.ts +5 -8
  442. package/src/features/tools/edge-edit-tool.ts +9 -18
  443. package/src/features/tools/marquee-mouse-tool.ts +57 -37
  444. package/src/features/tools/marquee-tool.ts +0 -1
  445. package/src/features/tools/node-creation-tool.ts +4 -9
  446. package/src/features/tools/view.tsx +17 -12
  447. package/src/features/undo-redo/model.ts +3 -3
  448. package/src/features/validation/marker-navigator.spec.ts +15 -9
  449. package/src/features/validation/marker-navigator.ts +23 -8
  450. package/src/features/validation/validate.ts +9 -13
  451. package/src/features/viewport/glsp-scroll-mouse-listener.ts +1 -10
  452. package/src/index.ts +26 -8
  453. package/src/model-source/glsp-diagram-server.ts +2 -14
  454. package/src/utils/argument-utils.ts +13 -9
  455. package/src/utils/array-utils.ts +4 -2
  456. package/src/utils/layout-utils.ts +11 -5
  457. package/src/utils/smodel-util.ts +14 -10
  458. package/src/utils/viewpoint-util.ts +3 -2
  459. package/src/views/compartments.tsx +37 -0
  460. package/src/views/glsp-edge-view.tsx +20 -13
  461. package/src/views/index.ts +1 -0
  462. package/src/views/issue-marker-view.tsx +11 -12
  463. package/src/views/rounded-corner-view.tsx +38 -25
  464. package/src/views/rounded-corner.ts +3 -4
  465. package/lib/base/actions/protocol-actions.d.ts +0 -41
  466. package/lib/base/actions/protocol-actions.d.ts.map +0 -1
  467. package/lib/base/actions/protocol-actions.js +0 -151
  468. package/lib/base/actions/protocol-actions.js.map +0 -1
  469. package/src/base/actions/protocol-actions.ts +0 -82
@@ -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
@@ -45,7 +45,9 @@ describe('MarkerNavigator', () => {
45
45
  const markerNavigator = container.get<MarkerNavigator>(MarkerNavigator);
46
46
 
47
47
  const rootWithoutAnyMarkers = graphFactory.createRoot({
48
- id: 'root', type: 'graph', children: [
48
+ id: 'root',
49
+ type: 'graph',
50
+ children: [
49
51
  {
50
52
  id: '1',
51
53
  type: 'node'
@@ -54,18 +56,24 @@ describe('MarkerNavigator', () => {
54
56
  }) as SModelRoot;
55
57
 
56
58
  const rootWithMarkers = graphFactory.createRoot({
57
- id: 'root', type: 'graph', children: [
59
+ id: 'root',
60
+ type: 'graph',
61
+ children: [
58
62
  {
59
- id: 'bottom-right', type: 'node'
63
+ id: 'bottom-right',
64
+ type: 'node'
60
65
  } as SNodeSchema,
61
66
  {
62
- id: 'top-right', type: 'node'
67
+ id: 'top-right',
68
+ type: 'node'
63
69
  } as SNodeSchema,
64
70
  {
65
- id: 'top-left', type: 'node'
71
+ id: 'top-left',
72
+ type: 'node'
66
73
  } as SNodeSchema,
67
74
  {
68
- id: 'bottom-left', type: 'node'
75
+ id: 'bottom-left',
76
+ type: 'node'
69
77
  } as SNodeSchema
70
78
  ]
71
79
  }) as SModelRoot;
@@ -168,7 +176,6 @@ describe('MarkerNavigator', () => {
168
176
  expect(found4).to.eql(marker2);
169
177
  expect(found5).to.eql(marker1);
170
178
  });
171
-
172
179
  });
173
180
 
174
181
  function clearMarker(elem: SParentElement): void {
@@ -204,4 +211,3 @@ function createMarker(elem: SParentElement): SIssueMarker {
204
211
  elem.add(newMarker);
205
212
  return newMarker;
206
213
  }
207
-
@@ -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
@@ -51,7 +51,8 @@ export class NavigateToMarkerAction implements Action {
51
51
  public readonly direction: 'next' | 'previous' = 'next',
52
52
  public readonly selectedElementIds?: string[],
53
53
  public readonly severities: SIssueSeverity[] = MarkerNavigator.ALL_SEVERITIES,
54
- public kind = NavigateToMarkerAction.KIND) { }
54
+ public kind = NavigateToMarkerAction.KIND
55
+ ) {}
55
56
  }
56
57
 
57
58
  export class SModelElementComparator {
@@ -90,7 +91,11 @@ export class MarkerNavigator {
90
91
  @inject(SModelElementComparator)
91
92
  protected markerComparator: SModelElementComparator;
92
93
 
93
- next(root: SModelRoot, current?: SModelElement & BoundsAware, predicate: (marker: SIssueMarker) => boolean = MarkerPredicates.ALL): SIssueMarker | undefined {
94
+ next(
95
+ root: SModelRoot,
96
+ current?: SModelElement & BoundsAware,
97
+ predicate: (marker: SIssueMarker) => boolean = MarkerPredicates.ALL
98
+ ): SIssueMarker | undefined {
94
99
  const markers = this.getMarkers(root, predicate);
95
100
  if (current === undefined) {
96
101
  return markers.length > 0 ? markers[0] : undefined;
@@ -98,7 +103,11 @@ export class MarkerNavigator {
98
103
  return markers[this.getNextIndex(current, markers) % markers.length];
99
104
  }
100
105
 
101
- previous(root: SModelRoot, current?: SModelElement & BoundsAware, predicate: (marker: SIssueMarker) => boolean = MarkerPredicates.ALL): SIssueMarker | undefined {
106
+ previous(
107
+ root: SModelRoot,
108
+ current?: SModelElement & BoundsAware,
109
+ predicate: (marker: SIssueMarker) => boolean = MarkerPredicates.ALL
110
+ ): SIssueMarker | undefined {
102
111
  const markers = this.getMarkers(root, predicate);
103
112
  if (current === undefined) {
104
113
  return markers.length > 0 ? markers[0] : undefined;
@@ -206,7 +215,6 @@ export class NavigateToMarkerCommand extends Command {
206
215
  }
207
216
  return this.centerCommand ? this.centerCommand.redo(context) : context.root;
208
217
  }
209
-
210
218
  }
211
219
 
212
220
  @injectable()
@@ -218,15 +226,22 @@ export class MarkerNavigatorContextMenuItemProvider implements IContextMenuItemP
218
226
  const hasMarkers = collectIssueMarkers(root).length > 0;
219
227
  return Promise.resolve([
220
228
  {
221
- id: 'navigate', label: 'Go to', group: 'navigate', actions: [],
229
+ id: 'navigate',
230
+ label: 'Go to',
231
+ group: 'navigate',
232
+ actions: [],
222
233
  children: [
223
234
  {
224
- id: 'next-marker', label: 'Next marker', group: 'marker',
235
+ id: 'next-marker',
236
+ label: 'Next marker',
237
+ group: 'marker',
225
238
  actions: [new NavigateToMarkerAction('next', selectedElementIds)],
226
239
  isEnabled: () => hasMarkers
227
240
  },
228
241
  {
229
- id: 'previous-marker', label: 'Previous marker', group: 'marker',
242
+ id: 'previous-marker',
243
+ label: 'Previous marker',
244
+ group: 'marker',
230
245
  actions: [new NavigateToMarkerAction('previous', selectedElementIds)],
231
246
  isEnabled: () => hasMarkers
232
247
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2020 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -43,7 +43,6 @@ import { createSIssue, getOrCreateSIssueMarker, getSIssueMarker } from './issue-
43
43
  */
44
44
  @injectable()
45
45
  export class ValidationFeedbackEmitter implements IFeedbackEmitter {
46
-
47
46
  @inject(GLSP_TYPES.IFeedbackActionDispatcher) protected feedbackActionDispatcher: IFeedbackActionDispatcher;
48
47
 
49
48
  @inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
@@ -51,7 +50,7 @@ export class ValidationFeedbackEmitter implements IFeedbackEmitter {
51
50
  private registeredAction: MarkersAction;
52
51
 
53
52
  // eslint-disable-next-line @typescript-eslint/no-empty-function
54
- private constructor() { }
53
+ private constructor() {}
55
54
 
56
55
  /**
57
56
  * Register the action that should be emitted for visualizing validation feedback.
@@ -77,11 +76,11 @@ export class ValidationFeedbackEmitter implements IFeedbackEmitter {
77
76
  * Action to set markers for a model
78
77
  */
79
78
  export class SetMarkersAction implements MarkersAction {
80
- constructor(public readonly markers: Marker[], public readonly kind = SetMarkersCommand.KIND) { }
79
+ constructor(public readonly markers: Marker[], public readonly kind = SetMarkersCommand.KIND) {}
81
80
  }
82
81
 
83
82
  export function isSetMarkersAction(action: Action): action is SetMarkersAction {
84
- return SetMarkersCommand.KIND === action.kind && ('markers' in action);
83
+ return SetMarkersCommand.KIND === action.kind && 'markers' in action;
85
84
  }
86
85
 
87
86
  /**
@@ -92,7 +91,6 @@ export function isSetMarkersAction(action: Action): action is SetMarkersAction {
92
91
  */
93
92
  @injectable()
94
93
  export abstract class ExternalMarkerManager {
95
-
96
94
  languageLabel: string;
97
95
 
98
96
  protected actionDispatcher?: IActionDispatcher;
@@ -115,7 +113,6 @@ export abstract class ExternalMarkerManager {
115
113
  */
116
114
  @injectable()
117
115
  export class SetMarkersCommand extends Command {
118
-
119
116
  @inject(ValidationFeedbackEmitter) protected validationFeedbackEmitter: ValidationFeedbackEmitter;
120
117
  @inject(ExternalMarkerManager) @optional() protected externalMarkerManager?: ExternalMarkerManager;
121
118
  @inject(EditorContextService) protected editorContextService: EditorContextService;
@@ -147,11 +144,11 @@ export class SetMarkersCommand extends Command {
147
144
  }
148
145
 
149
146
  /**
150
- * Action to retrieve markers for a model
151
- */
147
+ * Action to retrieve markers for a model
148
+ */
152
149
  export class RequestMarkersAction implements Action {
153
150
  static readonly KIND = 'requestMarkers';
154
- constructor(public readonly elementsIDs: string[] = [], public readonly kind = RequestMarkersAction.KIND) { }
151
+ constructor(public readonly elementsIDs: string[] = [], public readonly kind = RequestMarkersAction.KIND) {}
155
152
  }
156
153
 
157
154
  /**
@@ -166,7 +163,7 @@ export interface MarkersAction extends Action {
166
163
  */
167
164
  @injectable()
168
165
  export class ApplyMarkersAction implements MarkersAction {
169
- constructor(public readonly markers: Marker[], public readonly kind = ApplyMarkersCommand.KIND) { }
166
+ constructor(public readonly markers: Marker[], public readonly kind = ApplyMarkersCommand.KIND) {}
170
167
  }
171
168
 
172
169
  /**
@@ -224,7 +221,7 @@ function removeCSSClassFromIssueParent(modelElement: SParentElement, issueMarker
224
221
  */
225
222
  @injectable()
226
223
  export class DeleteMarkersAction implements MarkersAction {
227
- constructor(public readonly markers: Marker[], public readonly kind = DeleteMarkersCommand.KIND) { }
224
+ constructor(public readonly markers: Marker[], public readonly kind = DeleteMarkersCommand.KIND) {}
228
225
  }
229
226
 
230
227
  /**
@@ -271,4 +268,3 @@ export class DeleteMarkersCommand extends Command {
271
268
  return this.execute(context);
272
269
  }
273
270
  }
274
-
@@ -14,21 +14,12 @@
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 {
18
- Action,
19
- EnableDefaultToolsAction,
20
- EnableToolsAction,
21
- IActionHandler,
22
- ICommand,
23
- ScrollMouseListener,
24
- SModelElement
25
- } from 'sprotty';
17
+ import { Action, EnableDefaultToolsAction, EnableToolsAction, IActionHandler, ICommand, ScrollMouseListener, SModelElement } from 'sprotty';
26
18
 
27
19
  import { MarqueeMouseTool } from '../tools/marquee-mouse-tool';
28
20
 
29
21
  @injectable()
30
22
  export class GLSPScrollMouseListener extends ScrollMouseListener implements IActionHandler {
31
-
32
23
  preventScrolling = false;
33
24
 
34
25
  handle(action: Action): void | Action | ICommand {
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -39,12 +39,13 @@ export * from './base/actions/context-actions';
39
39
  export * from './base/actions/edit-mode-action';
40
40
  export * from './base/actions/edit-validation-actions';
41
41
  export * from './base/actions/focus-change-action';
42
- export * from './base/actions/protocol-actions';
43
42
  export * from './base/args';
44
43
  export * from './base/auto-complete/auto-complete-actions';
45
44
  export * from './base/auto-complete/auto-complete-widget';
46
45
  export * from './base/auto-complete/validation-decorator';
47
46
  export * from './base/command-stack';
47
+ export * from './base/container-modules';
48
+ export { configureServerActions } from './base/di.config';
48
49
  export * from './base/drag-aware-mouse-listener';
49
50
  export * from './base/editor-context';
50
51
  export * from './base/focus-tracker';
@@ -95,21 +96,38 @@ export * from './features/tools/edge-edit-tool';
95
96
  export * from './features/tools/node-creation-tool';
96
97
  export * from './features/undo-redo/model';
97
98
  export * from './features/validation/issue-marker';
98
- export * from './features/validation/validate';
99
99
  export * from './features/validation/marker-navigator';
100
+ export * from './features/validation/validate';
100
101
  export * from './features/viewport/glsp-scroll-mouse-listener';
101
102
  export * from './lib/model';
102
- export * from './model-source/glsp-server-status';
103
103
  export * from './model-source/glsp-diagram-server';
104
+ export * from './model-source/glsp-server-status';
104
105
  export * from './utils/argument-utils';
105
106
  export * from './utils/array-utils';
106
107
  export * from './utils/marker';
107
108
  export * from './utils/smodel-util';
108
109
  export * from './utils/viewpoint-util';
109
110
  export * from './views';
110
-
111
111
  export {
112
- validationModule, saveModule, paletteModule, toolFeedbackModule, defaultGLSPModule, modelHintsModule, glspCommandPaletteModule,
113
- glspContextMenuModule, glspServerCopyPasteModule, copyPasteContextMenuModule, glspSelectModule, glspMouseToolModule, layoutCommandsModule, glspEditLabelModule,
114
- glspHoverModule, toolsModule, navigationModule, markerNavigatorModule, glspDecorationModule, modelSourceWatcherModule, glspViewportModule
112
+ validationModule,
113
+ saveModule,
114
+ paletteModule,
115
+ toolFeedbackModule,
116
+ defaultGLSPModule,
117
+ modelHintsModule,
118
+ glspCommandPaletteModule,
119
+ glspContextMenuModule,
120
+ glspServerCopyPasteModule,
121
+ copyPasteContextMenuModule,
122
+ glspSelectModule,
123
+ glspMouseToolModule,
124
+ layoutCommandsModule,
125
+ glspEditLabelModule,
126
+ glspHoverModule,
127
+ toolsModule,
128
+ navigationModule,
129
+ markerNavigatorModule,
130
+ glspDecorationModule,
131
+ modelSourceWatcherModule,
132
+ glspViewportModule
115
133
  };
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2020 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -27,11 +27,8 @@ import {
27
27
  SwitchEditModeCommand
28
28
  } from 'sprotty';
29
29
 
30
- import { RequestContextActions } from '../base/actions/context-actions';
31
30
  import { isSetEditModeAction, SetEditModeAction } from '../base/actions/edit-mode-action';
32
- import { InitializeClientSessionAction } from '../base/actions/protocol-actions';
33
31
  import { SourceUriAware } from '../base/source-uri-aware';
34
- import { RequestTypeHintsAction } from '../features/hints/request-type-hints-action';
35
32
  import { isServerMessageAction, ServerMessageAction } from './glsp-server-status';
36
33
 
37
34
  const receivedFromServerProperty = '__receivedFromServer';
@@ -108,16 +105,7 @@ export function isReceivedFromServer(action: Action): boolean {
108
105
  }
109
106
 
110
107
  export function registerDefaultGLSPServerActions(registry: ActionHandlerRegistry, diagramServer: DiagramServer): void {
111
- // Register the InitializeClientSessionAction as a server action. Then, the server will
112
- // notify us about all actions it handles (Via ConfigureServerHandlersAction/Handler)
113
- registry.register(InitializeClientSessionAction.KIND, diagramServer);
114
-
115
- // Register some additional early actions, that will happen before the server can tell us
116
- // which actions it handles
117
- registry.register(RequestTypeHintsAction.KIND, diagramServer);
118
- registry.register(RequestModelAction.KIND, diagramServer);
119
- registry.register(RequestContextActions.KIND, diagramServer);
120
-
108
+ registry.register(ServerMessageAction.KIND, diagramServer);
121
109
  registry.register(ServerStatusAction.KIND, diagramServer);
122
110
 
123
111
  // Register an empty handler for SwitchEditMode, to avoid runtime exceptions.
@@ -18,7 +18,7 @@ import { SModelElement } from 'sprotty';
18
18
  import { hasArguments } from '../base/args';
19
19
 
20
20
  export namespace GArgument {
21
- export function asNumber(argValue: (string | number | boolean)): number | undefined {
21
+ export function asNumber(argValue: string | number | boolean): number | undefined {
22
22
  return typeof argValue === 'number' ? argValue : undefined;
23
23
  }
24
24
 
@@ -26,7 +26,7 @@ export namespace GArgument {
26
26
  return argValues.map(asNumber);
27
27
  }
28
28
 
29
- export function asString(argValue: (string | number | boolean)): string | undefined {
29
+ export function asString(argValue: string | number | boolean): string | undefined {
30
30
  return typeof argValue === 'string' ? argValue : undefined;
31
31
  }
32
32
 
@@ -34,7 +34,7 @@ export namespace GArgument {
34
34
  return argValues.map(asString);
35
35
  }
36
36
 
37
- export function asBoolean(argValue: (string | number | boolean)): boolean | undefined {
37
+ export function asBoolean(argValue: string | number | boolean): boolean | undefined {
38
38
  return typeof argValue === 'boolean' ? argValue : undefined;
39
39
  }
40
40
 
@@ -112,16 +112,20 @@ export class CornerRadius {
112
112
  public readonly topLeft: number = 0,
113
113
  public readonly topRight: number = topLeft,
114
114
  public readonly bottomRight: number = topLeft,
115
- public readonly bottomLeft: number = topRight) {
116
- }
115
+ public readonly bottomLeft: number = topRight
116
+ ) {}
117
117
 
118
118
  static from(element: SModelElement | undefined): CornerRadius | undefined {
119
- const radius = GArgument.getNumbers(element, this.KEY_RADIUS_TOP_LEFT, this.KEY_RADIUS_TOP_RIGHT, this.KEY_RADIUS_BOTTOM_RIGHT, this.KEY_RADIUS_BOTTOM_LEFT);
119
+ const radius = GArgument.getNumbers(
120
+ element,
121
+ this.KEY_RADIUS_TOP_LEFT,
122
+ this.KEY_RADIUS_TOP_RIGHT,
123
+ this.KEY_RADIUS_BOTTOM_RIGHT,
124
+ this.KEY_RADIUS_BOTTOM_LEFT
125
+ );
120
126
  if (radius === undefined || radius[0] === undefined) {
121
127
  return undefined;
122
128
  }
123
- return GArgument.hasNValues(radius, 4)
124
- ? new CornerRadius(radius[0], radius[1], radius[2], radius[3])
125
- : new CornerRadius(radius[0]);
129
+ return GArgument.hasNValues(radius, 4) ? new CornerRadius(radius[0], radius[1], radius[2], radius[3]) : new CornerRadius(radius[0]);
126
130
  }
127
131
  }
@@ -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
@@ -31,7 +31,9 @@ export function distinctAdd<T>(array: T[], value: T): boolean {
31
31
  return false;
32
32
  }
33
33
 
34
- interface Constructor<T> { new(...args: any[]): T }
34
+ interface Constructor<T> {
35
+ new (...args: any[]): T;
36
+ }
35
37
  type PrimitiveType = 'bigint' | 'boolean' | 'function' | 'number' | 'object' | 'string' | 'symbol' | 'undefined';
36
38
 
37
39
  export function isArrayOfType<T>(object: any, typeGuard: (elem: any) => elem is T, supportEmpty = false): object is T[] {
@@ -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
@@ -52,16 +52,22 @@ export function isValidMove(element: SModelElement & BoundsAware, newPosition: P
52
52
  return true;
53
53
  }
54
54
 
55
- export function toValidElementMove(element: SModelElement & BoundsAware, move: WriteableElementMove, movementRestrictor?: IMovementRestrictor): WriteableElementMove | undefined {
55
+ export function toValidElementMove(
56
+ element: SModelElement & BoundsAware,
57
+ move: WriteableElementMove,
58
+ movementRestrictor?: IMovementRestrictor
59
+ ): WriteableElementMove | undefined {
56
60
  if (!isValidMove(element, move.toPosition, movementRestrictor)) {
57
61
  return;
58
62
  }
59
63
  return move;
60
64
  }
61
65
 
62
- export function toValidElementAndBounds(element: SModelElement & BoundsAware, bounds: WriteableElementAndBounds,
63
- movementRestrictor?: IMovementRestrictor): WriteableElementAndBounds | undefined {
64
-
66
+ export function toValidElementAndBounds(
67
+ element: SModelElement & BoundsAware,
68
+ bounds: WriteableElementAndBounds,
69
+ movementRestrictor?: IMovementRestrictor
70
+ ): WriteableElementAndBounds | undefined {
65
71
  if (!isValidMove(element, bounds.newPosition, movementRestrictor)) {
66
72
  return;
67
73
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -27,21 +27,24 @@ import {
27
27
  SRoutableElement,
28
28
  SRoutingHandle
29
29
  } from 'sprotty';
30
-
31
30
  import { ElementAndRoutingPoints } from '../base/operations/operation';
32
31
 
33
32
  export function getIndex(element: SModelElement): SModelIndex<SModelElement> {
34
33
  return element.root.index;
35
34
  }
36
35
 
37
- export function forEachElement<T>(element: SModelElement, predicate: (element: SModelElement) => element is SModelElement & T,
38
- runnable: (element: SModelElement & T) => void): void {
39
- getIndex(element).all()
40
- .filter(predicate)
41
- .forEach(runnable);
36
+ export function forEachElement<T>(
37
+ element: SModelElement,
38
+ predicate: (modelElement: SModelElement) => modelElement is SModelElement & T,
39
+ runnable: (modelElement: SModelElement & T) => void
40
+ ): void {
41
+ getIndex(element).all().filter(predicate).forEach(runnable);
42
42
  }
43
43
 
44
- export function getMatchingElements<T>(element: SModelElement, predicate: (element: SModelElement) => element is SModelElement & T): (SModelElement & T)[] {
44
+ export function getMatchingElements<T>(
45
+ element: SModelElement,
46
+ predicate: (modelElement: SModelElement) => modelElement is SModelElement & T
47
+ ): (SModelElement & T)[] {
45
48
  const matching: (SModelElement & T)[] = [];
46
49
  forEachElement(element, predicate, item => matching.push(item));
47
50
  return matching;
@@ -53,9 +56,10 @@ export function hasSelectedElements(element: SModelElement): boolean {
53
56
 
54
57
  export function getSelectedElementCount(element: SModelElement): number {
55
58
  let selected = 0;
56
- getIndex(element).all()
59
+ getIndex(element)
60
+ .all()
57
61
  .filter(isSelected)
58
- .forEach(e => selected = selected + 1);
62
+ .forEach(e => (selected = selected + 1));
59
63
  return selected;
60
64
  }
61
65
 
@@ -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
@@ -41,7 +41,8 @@ import {
41
41
  * A mouseEvent
42
42
  */
43
43
  export function getAbsolutePosition(target: SModelElement, mouseEvent: MouseEvent): Point {
44
- let xPos = mouseEvent.pageX; let yPos = mouseEvent.pageY;
44
+ let xPos = mouseEvent.pageX;
45
+ let yPos = mouseEvent.pageY;
45
46
  const canvasBounds = target.root.canvasBounds;
46
47
  xPos -= canvasBounds.x;
47
48
  yPos -= canvasBounds.y;
@@ -0,0 +1,37 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2021 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
+ import { injectable } from 'inversify';
17
+ import { VNode } from 'snabbdom';
18
+ import { BoundsAware, RenderingContext, SChildElement, SCompartment, ShapeView, svg } from 'sprotty/lib';
19
+
20
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
+ const JSX = { createElement: svg };
22
+
23
+ @injectable()
24
+ export class StructureCompartmentView extends ShapeView {
25
+
26
+ render(model: Readonly<SCompartment & SChildElement & BoundsAware>, context: RenderingContext): VNode | undefined {
27
+ if (!this.isVisible(model, context)) {
28
+ return undefined;
29
+ }
30
+
31
+ return <g>
32
+ <rect class-sprotty-comp={true} class-debug={true} x="0" y="0" width={model.size.width} height={model.size.height}></rect>
33
+ {context.renderChildren(model)}
34
+ </g>;
35
+ }
36
+
37
+ }
@@ -14,15 +14,13 @@
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 * as snabbdom from 'snabbdom-jsx';
18
- import { Classes } from 'snabbdom/modules/class';
19
- import { VNode } from 'snabbdom/vnode';
20
- import { Point, PolylineEdgeView, RenderingContext, SEdge } from 'sprotty';
17
+ import { Classes, VNode } from 'snabbdom';
18
+ import { Point, PolylineEdgeView, RenderingContext, SEdge, svg } from 'sprotty';
21
19
 
22
20
  import { EdgePadding } from '../utils/argument-utils';
23
21
 
24
22
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
25
- const JSX = { createElement: snabbdom.svg };
23
+ const JSX = { createElement: svg };
26
24
 
27
25
  @injectable()
28
26
  export class GEdgeView extends PolylineEdgeView {
@@ -33,11 +31,13 @@ export class GEdgeView extends PolylineEdgeView {
33
31
  return this.renderDanglingEdge('Cannot compute route', edge, context);
34
32
  }
35
33
 
36
- return <g class-sprotty-edge={true} class-mouseover={edge.hoverFeedback} {...this.addtionalClasses(edge, context)}>
37
- {this.renderLine(edge, route, context)}
38
- {this.renderAdditionals(edge, route, context)}
39
- {context.renderChildren(edge, { route })}
40
- </g>;
34
+ return (
35
+ <g class-sprotty-edge={true} class-mouseover={edge.hoverFeedback} {...this.addtionalClasses(edge, context)}>
36
+ {this.renderLine(edge, route, context)}
37
+ {this.renderAdditionals(edge, route, context)}
38
+ {context.renderChildren(edge, { route })}
39
+ </g>
40
+ );
41
41
  }
42
42
 
43
43
  protected addtionalClasses(_edge: Readonly<SEdge>, _context: RenderingContext): Classes {
@@ -55,8 +55,16 @@ export class GEdgeView extends PolylineEdgeView {
55
55
  }
56
56
 
57
57
  protected renderMouseHandle(segments: Point[], padding: number): VNode {
58
- return <path class-mouse-handle d={this.createPathForSegments(segments)}
59
- style-stroke-width={padding * 2} style-stroke="transparent" style-stroke-dasharray="none" style-stroke-dashoffset="0" />;
58
+ return (
59
+ <path
60
+ class-mouse-handle
61
+ d={this.createPathForSegments(segments)}
62
+ style-stroke-width={padding * 2}
63
+ style-stroke='transparent'
64
+ style-stroke-dasharray='none'
65
+ style-stroke-dashoffset='0'
66
+ />
67
+ );
60
68
  }
61
69
 
62
70
  protected createPathForSegments(segments: Point[]): string {
@@ -68,5 +76,4 @@ export class GEdgeView extends PolylineEdgeView {
68
76
  }
69
77
  return path;
70
78
  }
71
-
72
79
  }
@@ -19,3 +19,4 @@ export * from './glsp-edge-view';
19
19
  export * from './issue-marker-view';
20
20
  export * from './rounded-corner';
21
21
  export * from './rounded-corner-view';
22
+ export * from './compartments';