@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) 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,7 +14,7 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { inject, injectable } from 'inversify';
17
- import { VNode } from 'snabbdom/vnode';
17
+ import { VNode } from 'snabbdom';
18
18
  import {
19
19
  Action,
20
20
  CommandExecutionContext,
@@ -27,23 +27,24 @@ import {
27
27
  MouseListener,
28
28
  MoveAction,
29
29
  Point,
30
+ SChildElement,
30
31
  SModelElement,
31
32
  SModelRoot,
32
33
  TYPES
33
34
  } from 'sprotty';
34
-
35
35
  import { isNotUndefined } from '../../utils/smodel-util';
36
36
  import { addResizeHandles, isResizable, removeResizeHandles, SResizeHandle } from '../change-bounds/model';
37
37
  import { createMovementRestrictionFeedback, removeMovementRestrictionFeedback } from '../change-bounds/movement-restrictor';
38
+ import { CursorCSS, cursorFeedbackAction } from '../tool-feedback/css-feedback';
38
39
  import { ChangeBoundsTool } from '../tools/change-bounds-tool';
39
40
  import { FeedbackCommand } from './model';
40
41
 
41
42
  export class ShowChangeBoundsToolResizeFeedbackAction implements Action {
42
- constructor(readonly elementId?: string, public readonly kind: string = ShowChangeBoundsToolResizeFeedbackCommand.KIND) { }
43
+ constructor(readonly elementId?: string, public readonly kind: string = ShowChangeBoundsToolResizeFeedbackCommand.KIND) {}
43
44
  }
44
45
 
45
46
  export class HideChangeBoundsToolResizeFeedbackAction implements Action {
46
- constructor(public readonly kind: string = HideChangeBoundsToolResizeFeedbackCommand.KIND) { }
47
+ constructor(public readonly kind: string = HideChangeBoundsToolResizeFeedbackCommand.KIND) {}
47
48
  }
48
49
 
49
50
  @injectable()
@@ -54,10 +55,7 @@ export class ShowChangeBoundsToolResizeFeedbackCommand extends FeedbackCommand {
54
55
 
55
56
  execute(context: CommandExecutionContext): CommandReturn {
56
57
  const index = context.root.index;
57
- index
58
- .all()
59
- .filter(isResizable)
60
- .forEach(removeResizeHandles);
58
+ index.all().filter(isResizable).forEach(removeResizeHandles);
61
59
 
62
60
  if (isNotUndefined(this.action.elementId)) {
63
61
  const resizeElement = index.getById(this.action.elementId);
@@ -77,10 +75,7 @@ export class HideChangeBoundsToolResizeFeedbackCommand extends FeedbackCommand {
77
75
 
78
76
  execute(context: CommandExecutionContext): CommandReturn {
79
77
  const index = context.root.index;
80
- index
81
- .all()
82
- .filter(isResizable)
83
- .forEach(removeResizeHandles);
78
+ index.all().filter(isResizable).forEach(removeResizeHandles);
84
79
  return context.root;
85
80
  }
86
81
  }
@@ -126,15 +121,19 @@ export class FeedbackMoveMouseListener extends MouseListener {
126
121
  const moveAction = this.getElementMoves(target, event, false);
127
122
  if (moveAction) {
128
123
  result.push(moveAction);
124
+ result.push(cursorFeedbackAction(CursorCSS.MOVE));
129
125
  }
130
126
  }
131
127
  return result;
132
128
  }
133
129
 
134
130
  protected collectStartPositions(root: SModelRoot): void {
135
- root.index
131
+ const selectedElements = root.index
136
132
  .all()
137
- .filter(element => isSelectable(element) && element.selected)
133
+ .filter(element => isSelectable(element) && element.selected);
134
+ const elementsSet = new Set(selectedElements);
135
+ selectedElements
136
+ .filter(element => !this.isChildOfSelected(elementsSet, element))
138
137
  .forEach(element => {
139
138
  if (isMoveable(element)) {
140
139
  this.elementId2startPos.set(element.id, element.position);
@@ -142,6 +141,16 @@ export class FeedbackMoveMouseListener extends MouseListener {
142
141
  });
143
142
  }
144
143
 
144
+ protected isChildOfSelected(selectedElements: Set<SModelElement>, element: SModelElement): boolean {
145
+ while (element instanceof SChildElement) {
146
+ element = element.parent;
147
+ if (selectedElements.has(element)) {
148
+ return true;
149
+ }
150
+ }
151
+ return false;
152
+ }
153
+
145
154
  protected getElementMoves(target: SModelElement, event: MouseEvent, isFinished: boolean): MoveAction | undefined {
146
155
  if (!this.startDragPosition) {
147
156
  return undefined;
@@ -214,7 +223,7 @@ export class FeedbackMoveMouseListener extends MouseListener {
214
223
  }
215
224
 
216
225
  mouseEnter(target: SModelElement, event: MouseEvent): Action[] {
217
- if (target instanceof SModelRoot && event.buttons === 0) {
226
+ if (target instanceof SModelRoot && event.buttons === 0 && !this.startDragPosition) {
218
227
  this.mouseUp(target, event);
219
228
  }
220
229
  return [];
@@ -230,7 +239,7 @@ export class FeedbackMoveMouseListener extends MouseListener {
230
239
  if (this.tool.movementRestrictor) {
231
240
  this.tool.deregisterFeedback([removeMovementRestrictionFeedback(target, this.tool.movementRestrictor)], this);
232
241
  }
233
-
242
+ result.push(cursorFeedbackAction(CursorCSS.DEFAULT));
234
243
  }
235
244
  this.hasDragged = false;
236
245
  this.startDragPosition = undefined;
@@ -49,7 +49,8 @@ export class DrawFeedbackEdgeAction implements Action {
49
49
  public readonly elementTypeId: string,
50
50
  public readonly sourceId: string,
51
51
  public readonly edgeSchema?: SEdgeSchema,
52
- public readonly kind: string = DrawFeedbackEdgeCommand.KIND) { }
52
+ public readonly kind: string = DrawFeedbackEdgeCommand.KIND
53
+ ) {}
53
54
  }
54
55
 
55
56
  @injectable()
@@ -68,7 +69,7 @@ export class DrawFeedbackEdgeCommand extends FeedbackCommand {
68
69
  }
69
70
 
70
71
  export class RemoveFeedbackEdgeAction implements Action {
71
- constructor(public readonly kind: string = RemoveFeedbackEdgeCommand.KIND) { }
72
+ constructor(public readonly kind: string = RemoveFeedbackEdgeCommand.KIND) {}
72
73
  }
73
74
 
74
75
  @injectable()
@@ -83,10 +84,12 @@ export class RemoveFeedbackEdgeCommand extends FeedbackCommand {
83
84
 
84
85
  export class FeedbackEdgeEnd extends SDanglingAnchor {
85
86
  static readonly TYPE = 'feedback-edge-end';
86
- constructor(readonly sourceId: string,
87
+ constructor(
88
+ readonly sourceId: string,
87
89
  readonly elementTypeId: string,
88
90
  public feedbackEdge: SRoutableElement | undefined = undefined,
89
- public readonly type: string = FeedbackEdgeEnd.TYPE) {
91
+ public readonly type: string = FeedbackEdgeEnd.TYPE
92
+ ) {
90
93
  super();
91
94
  }
92
95
  }
@@ -105,8 +108,9 @@ export class FeedbackEdgeEndMovingMouseListener extends MouseListener {
105
108
 
106
109
  const edge = edgeEnd.feedbackEdge;
107
110
  const position = getAbsolutePosition(edgeEnd, event);
108
- const endAtMousePosition = findChildrenAtPosition(target.root, position)
109
- .find(element => isConnectable(element) && element.canConnect(edge, 'target'));
111
+ const endAtMousePosition = findChildrenAtPosition(target.root, position).find(
112
+ element => isConnectable(element) && element.canConnect(edge, 'target')
113
+ );
110
114
 
111
115
  if (endAtMousePosition instanceof SConnectableElement && edge.source && isBoundsAware(edge.source)) {
112
116
  const anchor = this.computeAbsoluteAnchor(endAtMousePosition, center(edge.source.bounds));
@@ -149,7 +153,12 @@ export const defaultFeedbackEdgeSchema: SEdgeSchema = {
149
153
  opacity: 0.3
150
154
  } as SEdgeSchema;
151
155
 
152
- export function drawFeedbackEdge(context: CommandExecutionContext, sourceId: string, elementTypeId: string, feedbackEdgeSchema: SEdgeSchema): void {
156
+ export function drawFeedbackEdge(
157
+ context: CommandExecutionContext,
158
+ sourceId: string,
159
+ elementTypeId: string,
160
+ feedbackEdgeSchema: SEdgeSchema
161
+ ): void {
153
162
  const root = context.root;
154
163
  const sourceChild = root.index.getById(sourceId);
155
164
  if (!sourceChild) {
@@ -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
@@ -15,7 +15,6 @@
15
15
  ********************************************************************************/
16
16
  import { inject, injectable } from 'inversify';
17
17
  import { Action, CommandExecutionContext, SModelElement, SModelRoot, TYPES } from 'sprotty';
18
-
19
18
  import { isStringArray } from '../../utils/array-utils';
20
19
  import { addCssClasses, removeCssClasses } from '../../utils/smodel-util';
21
20
  import { FeedbackCommand } from './model';
@@ -27,7 +26,8 @@ export class ModifyCSSFeedbackAction implements Action {
27
26
  public readonly input?: string[] | SModelElement[],
28
27
  public readonly addClasses?: string[],
29
28
  public readonly removeClasses?: string[],
30
- public kind = ModifyCssFeedbackCommand.KIND) {
29
+ public kind = ModifyCssFeedbackCommand.KIND
30
+ ) {
31
31
  if (input) {
32
32
  this.elementIds = isStringArray(input) ? input : input.map(element => element.id);
33
33
  }
@@ -68,6 +68,7 @@ function exists(elt?: SModelElement): elt is SModelElement {
68
68
  return elt !== undefined;
69
69
  }
70
70
 
71
+ // eslint-disable-next-line no-shadow
71
72
  export enum CursorCSS {
72
73
  DEFAULT = 'default-mode',
73
74
  OVERLAP_FORBIDDEN = 'overlap-forbidden-mode',
@@ -77,7 +78,9 @@ export enum CursorCSS {
77
78
  EDGE_RECONNECT = 'edge-reconnect-select-target-mode',
78
79
  OPERATION_NOT_ALLOWED = 'edge-modification-not-allowed-mode',
79
80
  ELEMENT_DELETION = 'element-deletion-mode',
80
- RESIZE = 'resize-mode',
81
+ RESIZE_NESW = 'resize-nesw-mode',
82
+ RESIZE_NWSE = 'resize-nwse-mode',
83
+ MOVE = 'move-mode',
81
84
  MARQUEE = 'marquee-mode'
82
85
  }
83
86
 
@@ -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
@@ -18,10 +18,7 @@ import { configureCommand, configureView, LocationPostprocessor, MoveCommand, TY
18
18
 
19
19
  import { GLSP_TYPES } from '../../base/types';
20
20
  import { SResizeHandle } from '../change-bounds/model';
21
- import {
22
- HideChangeBoundsToolResizeFeedbackCommand,
23
- ShowChangeBoundsToolResizeFeedbackCommand
24
- } from './change-bounds-tool-feedback';
21
+ import { HideChangeBoundsToolResizeFeedbackCommand, ShowChangeBoundsToolResizeFeedbackCommand } from './change-bounds-tool-feedback';
25
22
  import { DrawFeedbackEdgeCommand, FeedbackEdgeEnd, RemoveFeedbackEdgeCommand } from './creation-tool-feedback';
26
23
  import { ModifyCssFeedbackCommand } from './css-feedback';
27
24
  import {
@@ -14,7 +14,7 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { inject, injectable } from 'inversify';
17
- import { VNode } from 'snabbdom/vnode';
17
+ import { VNode } from 'snabbdom';
18
18
  import {
19
19
  Action,
20
20
  add,
@@ -47,12 +47,7 @@ import {
47
47
  import { isNotUndefined, isRoutable, isRoutingHandle } from '../../utils/smodel-util';
48
48
  import { getAbsolutePosition, toAbsoluteBounds } from '../../utils/viewpoint-util';
49
49
  import { addReconnectHandles, removeReconnectHandles } from '../reconnect/model';
50
- import {
51
- FeedbackEdgeEnd,
52
- feedbackEdgeEndId,
53
- FeedbackEdgeEndMovingMouseListener,
54
- feedbackEdgeId
55
- } from './creation-tool-feedback';
50
+ import { FeedbackEdgeEnd, feedbackEdgeEndId, FeedbackEdgeEndMovingMouseListener, feedbackEdgeId } from './creation-tool-feedback';
56
51
  import { FeedbackCommand } from './model';
57
52
 
58
53
  /**
@@ -60,11 +55,11 @@ import { FeedbackCommand } from './model';
60
55
  */
61
56
 
62
57
  export class ShowEdgeReconnectHandlesFeedbackAction implements Action {
63
- constructor(readonly elementId?: string, public readonly kind: string = ShowEdgeReconnectHandlesFeedbackCommand.KIND) { }
58
+ constructor(readonly elementId?: string, public readonly kind: string = ShowEdgeReconnectHandlesFeedbackCommand.KIND) {}
64
59
  }
65
60
 
66
61
  export class HideEdgeReconnectHandlesFeedbackAction implements Action {
67
- constructor(public readonly kind: string = HideEdgeReconnectHandlesFeedbackCommand.KIND) { }
62
+ constructor(public readonly kind: string = HideEdgeReconnectHandlesFeedbackCommand.KIND) {}
68
63
  }
69
64
 
70
65
  @injectable()
@@ -108,9 +103,11 @@ export class HideEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand {
108
103
  */
109
104
 
110
105
  export class SwitchRoutingModeAction extends SwitchEditModeAction {
111
- constructor(public readonly elementsToActivate: string[] = [],
106
+ constructor(
107
+ public readonly elementsToActivate: string[] = [],
112
108
  public readonly elementsToDeactivate: string[] = [],
113
- public readonly kind: string = SwitchRoutingModeCommand.KIND) {
109
+ public readonly kind: string = SwitchRoutingModeCommand.KIND
110
+ ) {
114
111
  super(elementsToActivate, elementsToDeactivate);
115
112
  }
116
113
  }
@@ -128,7 +125,11 @@ export class SwitchRoutingModeCommand extends SwitchEditModeCommand {
128
125
  */
129
126
 
130
127
  export class DrawFeedbackEdgeSourceAction implements Action {
131
- constructor(readonly elementTypeId: string, readonly targetId: string, public readonly kind: string = DrawFeedbackEdgeSourceCommand.KIND) { }
128
+ constructor(
129
+ readonly elementTypeId: string,
130
+ readonly targetId: string,
131
+ public readonly kind: string = DrawFeedbackEdgeSourceCommand.KIND
132
+ ) {}
132
133
  }
133
134
 
134
135
  @injectable()
@@ -169,8 +170,9 @@ export class FeedbackEdgeSourceMovingMouseListener extends MouseListener {
169
170
 
170
171
  const edge = edgeEnd.feedbackEdge;
171
172
  const position = getAbsolutePosition(edgeEnd, event);
172
- const endAtMousePosition = findChildrenAtPosition(target.root, position)
173
- .find(e => isConnectable(e) && e.canConnect(edge, 'source'));
173
+ const endAtMousePosition = findChildrenAtPosition(target.root, position).find(
174
+ e => isConnectable(e) && e.canConnect(edge, 'source')
175
+ );
174
176
 
175
177
  if (endAtMousePosition instanceof SConnectableElement && edge.target && isBoundsAware(edge.target)) {
176
178
  const anchor = this.computeAbsoluteAnchor(endAtMousePosition, center(edge.target.bounds));
@@ -234,7 +236,8 @@ export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
234
236
  const dx = (event.pageX - this.lastDragPosition.x) / zoom;
235
237
  const dy = (event.pageY - this.lastDragPosition.y) / zoom;
236
238
  const handleMoves: ElementMove[] = [];
237
- target.root.index.all()
239
+ target.root.index
240
+ .all()
238
241
  .filter(element => isSelected(element))
239
242
  .forEach(element => {
240
243
  if (isRoutingHandle(element)) {
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -16,7 +16,7 @@
16
16
  import { inject, injectable } from 'inversify';
17
17
  import { Action, IActionDispatcher, ILogger, TYPES } from 'sprotty';
18
18
 
19
- export interface IFeedbackEmitter { }
19
+ export interface IFeedbackEmitter {}
20
20
 
21
21
  /**
22
22
  * Dispatcher for actions that are meant to show visual feedback on
@@ -52,14 +52,14 @@ export interface IFeedbackActionDispatcher {
52
52
  deregisterFeedback(feedbackEmitter: IFeedbackEmitter, actions: Action[]): void;
53
53
 
54
54
  /**
55
- * Retrieve all `actions` sent out by currently registered `feedbackEmitter`.
56
- */
55
+ * Retrieve all `actions` sent out by currently registered `feedbackEmitter`.
56
+ */
57
57
  getRegisteredFeedback(): Action[];
58
58
  }
59
59
 
60
60
  @injectable()
61
61
  export class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
62
- protected feedbackEmitters: Map<IFeedbackEmitter, Action[]> = new Map;
62
+ protected feedbackEmitters: Map<IFeedbackEmitter, Action[]> = new Map();
63
63
 
64
64
  @inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
65
65
  @inject(TYPES.ILogger) protected logger: ILogger;
@@ -93,9 +93,7 @@ export class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
93
93
  if (value.find(a => a === action)) {
94
94
  result.push(key);
95
95
  }
96
- }
97
- );
96
+ });
98
97
  return result;
99
98
  }
100
-
101
99
  }
@@ -33,7 +33,8 @@ export class DrawMarqueeAction implements Action {
33
33
  constructor(
34
34
  public readonly startPoint: Point,
35
35
  public readonly endPoint: Point,
36
- public readonly kind: string = DrawMarqueeCommand.KIND) { }
36
+ public readonly kind: string = DrawMarqueeCommand.KIND
37
+ ) {}
37
38
  }
38
39
 
39
40
  @injectable()
@@ -51,7 +52,7 @@ export class DrawMarqueeCommand extends FeedbackCommand {
51
52
  }
52
53
 
53
54
  export class RemoveMarqueeAction implements Action {
54
- constructor(public readonly kind: string = RemoveMarqueeCommand.KIND) { }
55
+ constructor(public readonly kind: string = RemoveMarqueeCommand.KIND) {}
55
56
  }
56
57
 
57
58
  @injectable()
@@ -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
@@ -29,4 +29,3 @@ export abstract class FeedbackCommand extends Command {
29
29
  return context.root;
30
30
  }
31
31
  }
32
-
@@ -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,19 +14,18 @@
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 { VNode } from 'snabbdom/vnode';
19
- import { IView, ORIGIN_POINT, Point, RenderingContext, setAttr, SModelElement } from 'sprotty';
17
+ import { VNode } from 'snabbdom';
18
+ import { IView, ORIGIN_POINT, Point, RenderingContext, setAttr, SModelElement, svg } from 'sprotty';
20
19
 
21
20
  import { isResizable, ResizeHandleLocation, SResizeHandle } from '../change-bounds/model';
22
21
 
23
22
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
24
- const JSX = { createElement: snabbdom.svg };
23
+ const JSX = { createElement: svg };
25
24
 
26
25
  /**
27
- * This view is used for the invisible end of the feedback edge.
28
- * A feedback edge is shown as a visual feedback when creating edges.
29
- */
26
+ * This view is used for the invisible end of the feedback edge.
27
+ * A feedback edge is shown as a visual feedback when creating edges.
28
+ */
30
29
  @injectable()
31
30
  export class FeedbackEdgeEndView implements IView {
32
31
  render(model: Readonly<SModelElement>, context: RenderingContext): VNode {
@@ -40,8 +39,15 @@ export class SResizeHandleView implements IView {
40
39
  render(handle: SResizeHandle, context: RenderingContext): VNode {
41
40
  const position = this.getPosition(handle);
42
41
  if (position !== undefined) {
43
- const node = <circle class-sprotty-resize-handle={true} class-mouseover={handle.hoverFeedback}
44
- cx={position.x} cy={position.y} r={this.getRadius()} />;
42
+ const node = (
43
+ <circle
44
+ class-sprotty-resize-handle={true}
45
+ class-mouseover={handle.hoverFeedback}
46
+ cx={position.x}
47
+ cy={position.y}
48
+ r={this.getRadius()}
49
+ />
50
+ );
45
51
  setAttr(node, 'data-kind', handle.location);
46
52
  return node;
47
53
  }
@@ -20,7 +20,7 @@ import { configureActionHandler, EnableDefaultToolsAction, TYPES } from 'sprotty
20
20
 
21
21
  import { EnableToolPaletteAction, ToolPalette } from './tool-palette';
22
22
 
23
- const toolPaletteModule = new ContainerModule((bind, _unbind, isBound) => {
23
+ const toolPaletteModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
24
24
  bind(ToolPalette).toSelf().inSingletonScope();
25
25
  bind(TYPES.IUIExtension).toService(ToolPalette);
26
26
  configureActionHandler({ bind, isBound }, EnableToolPaletteAction.KIND, ToolPalette);
@@ -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
@@ -30,11 +30,11 @@ export function isPaletteItem(object?: any): object is PaletteItem {
30
30
  export namespace PaletteItem {
31
31
  export function getTriggerAction(item?: PaletteItem): TriggerElementCreationAction | undefined {
32
32
  if (item) {
33
- const initiAction = item.actions.filter(a => isTriggerElementTypeCreationAction(a))
33
+ const initiAction = item.actions
34
+ .filter(a => isTriggerElementTypeCreationAction(a))
34
35
  .map(action => action as TriggerElementCreationAction);
35
36
  return initiAction.length > 0 ? initiAction[0] : undefined;
36
37
  }
37
38
  return undefined;
38
39
  }
39
40
  }
40
-
@@ -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
@@ -135,16 +135,15 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
135
135
  const bodyDiv = document.createElement('div');
136
136
  bodyDiv.classList.add('palette-body');
137
137
  let tabIndex = 0;
138
- this.paletteItems.sort(compare)
139
- .forEach(item => {
140
- if (item.children) {
141
- const group = createToolGroup(item);
142
- item.children.sort(compare).forEach(child => group.appendChild(this.createToolButton(child, tabIndex++)));
143
- bodyDiv.appendChild(group);
144
- } else {
145
- bodyDiv.appendChild(this.createToolButton(item, tabIndex++));
146
- }
147
- });
138
+ this.paletteItems.sort(compare).forEach(item => {
139
+ if (item.children) {
140
+ const group = createToolGroup(item);
141
+ item.children.sort(compare).forEach(child => group.appendChild(this.createToolButton(child, tabIndex++)));
142
+ bodyDiv.appendChild(group);
143
+ } else {
144
+ bodyDiv.appendChild(this.createToolButton(item, tabIndex++));
145
+ }
146
+ });
148
147
  if (this.paletteItems.length === 0) {
149
148
  const noResultsDiv = document.createElement('div');
150
149
  noResultsDiv.innerText = 'No results found.';
@@ -165,7 +164,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
165
164
  headerCompartment.classList.add('palette-header');
166
165
  headerCompartment.append(this.createHeaderTitle());
167
166
  headerCompartment.appendChild(this.createHeaderTools());
168
- headerCompartment.appendChild(this.searchField = this.createHeaderSearchField());
167
+ headerCompartment.appendChild((this.searchField = this.createHeaderSearchField()));
169
168
  this.containerElement.appendChild(headerCompartment);
170
169
  }
171
170
 
@@ -411,6 +410,5 @@ export function createToolGroup(item: PaletteItem): HTMLElement {
411
410
  }
412
411
 
413
412
  export function changeCSSClass(element: Element, css: string): void {
414
- element.classList.contains(css) ? element.classList.remove(css) :
415
- element.classList.add(css);
413
+ element.classList.contains(css) ? element.classList.remove(css) : element.classList.add(css);
416
414
  }