@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,17 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
2
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
16
3
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
17
4
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -21,41 +8,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
21
8
  var __metadata = (this && this.__metadata) || function (k, v) {
22
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
23
10
  };
24
- var __read = (this && this.__read) || function (o, n) {
25
- var m = typeof Symbol === "function" && o[Symbol.iterator];
26
- if (!m) return o;
27
- var i = m.call(o), r, ar = [], e;
28
- try {
29
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
30
- }
31
- catch (error) { e = { error: error }; }
32
- finally {
33
- try {
34
- if (r && !r.done && (m = i["return"])) m.call(i);
35
- }
36
- finally { if (e) throw e.error; }
37
- }
38
- return ar;
39
- };
40
- var __spread = (this && this.__spread) || function () {
41
- for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
42
- return ar;
43
- };
44
- var __values = (this && this.__values) || function(o) {
45
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
46
- if (m) return m.call(o);
47
- if (o && typeof o.length === "number") return {
48
- next: function () {
49
- if (o && i >= o.length) o = void 0;
50
- return { value: o && o[i++], done: !o };
51
- }
52
- };
53
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
54
- };
11
+ var ChangeBoundsTool_1;
55
12
  Object.defineProperty(exports, "__esModule", { value: true });
56
13
  exports.ChangeBoundsListener = exports.ChangeBoundsTool = void 0;
57
14
  /********************************************************************************
58
- * Copyright (c) 2019 EclipseSource and others.
15
+ * Copyright (c) 2019-2021 EclipseSource and others.
59
16
  *
60
17
  * This program and the accompanying materials are made available under the
61
18
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -69,19 +26,19 @@ exports.ChangeBoundsListener = exports.ChangeBoundsTool = void 0;
69
26
  *
70
27
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
71
28
  ********************************************************************************/
72
- var inversify_1 = require("inversify");
73
- var sprotty_1 = require("sprotty");
74
- var drag_aware_mouse_listener_1 = require("../../base/drag-aware-mouse-listener");
75
- var operation_1 = require("../../base/operations/operation");
76
- var types_1 = require("../../base/types");
77
- var layout_utils_1 = require("../../utils/layout-utils");
78
- var smodel_util_1 = require("../../utils/smodel-util");
79
- var model_1 = require("../change-bounds/model");
80
- var movement_restrictor_1 = require("../change-bounds/movement-restrictor");
81
- var selection_service_1 = require("../select/selection-service");
82
- var change_bounds_tool_feedback_1 = require("../tool-feedback/change-bounds-tool-feedback");
83
- var css_feedback_1 = require("../tool-feedback/css-feedback");
84
- var base_glsp_tool_1 = require("./base-glsp-tool");
29
+ const inversify_1 = require("inversify");
30
+ const sprotty_1 = require("sprotty");
31
+ const drag_aware_mouse_listener_1 = require("../../base/drag-aware-mouse-listener");
32
+ const operation_1 = require("../../base/operations/operation");
33
+ const types_1 = require("../../base/types");
34
+ const layout_utils_1 = require("../../utils/layout-utils");
35
+ const smodel_util_1 = require("../../utils/smodel-util");
36
+ const model_1 = require("../change-bounds/model");
37
+ const movement_restrictor_1 = require("../change-bounds/movement-restrictor");
38
+ const selection_service_1 = require("../select/selection-service");
39
+ const change_bounds_tool_feedback_1 = require("../tool-feedback/change-bounds-tool-feedback");
40
+ const css_feedback_1 = require("../tool-feedback/css-feedback");
41
+ const base_glsp_tool_1 = require("./base-glsp-tool");
85
42
  /**
86
43
  * The change bounds tool has the license to move multiple elements or resize a single element by implementing the ChangeBounds operation.
87
44
  * In contrast to Sprotty's implementation this tool only sends a `ChangeBoundsOperationAction` when an operation has finished and does not
@@ -92,23 +49,14 @@ var base_glsp_tool_1 = require("./base-glsp-tool");
92
49
  * | Move | MoveAction | ChangeBoundsOperationAction
93
50
  * | Resize | SetBoundsAction | ChangeBoundsOperationAction
94
51
  *
95
- * To provide a visual client updates during move we install the `FeedbackMoveMouseListener` and to provide visual client updates during resize
96
- * and send the server updates we install the `ChangeBoundsListener`.
52
+ * To provide a visual client updates during move we install the `FeedbackMoveMouseListener` and to provide visual client updates during
53
+ * resize and send the server updates we install the `ChangeBoundsListener`.
97
54
  */
98
- var ChangeBoundsTool = /** @class */ (function (_super) {
99
- __extends(ChangeBoundsTool, _super);
100
- function ChangeBoundsTool() {
101
- return _super !== null && _super.apply(this, arguments) || this;
102
- }
103
- ChangeBoundsTool_1 = ChangeBoundsTool;
104
- Object.defineProperty(ChangeBoundsTool.prototype, "id", {
105
- get: function () {
106
- return ChangeBoundsTool_1.ID;
107
- },
108
- enumerable: false,
109
- configurable: true
110
- });
111
- ChangeBoundsTool.prototype.enable = function () {
55
+ let ChangeBoundsTool = ChangeBoundsTool_1 = class ChangeBoundsTool extends base_glsp_tool_1.BaseGLSPTool {
56
+ get id() {
57
+ return ChangeBoundsTool_1.ID;
58
+ }
59
+ enable() {
112
60
  // install feedback move mouse listener for client-side move updates
113
61
  this.feedbackMoveMouseListener = this.createMoveMouseListener();
114
62
  this.mouseTool.register(this.feedbackMoveMouseListener);
@@ -116,57 +64,53 @@ var ChangeBoundsTool = /** @class */ (function (_super) {
116
64
  this.changeBoundsListener = this.createChangeBoundsListener();
117
65
  this.mouseTool.register(this.changeBoundsListener);
118
66
  this.selectionService.register(this.changeBoundsListener);
119
- };
120
- ChangeBoundsTool.prototype.createMoveMouseListener = function () {
67
+ }
68
+ createMoveMouseListener() {
121
69
  return new change_bounds_tool_feedback_1.FeedbackMoveMouseListener(this);
122
- };
123
- ChangeBoundsTool.prototype.createChangeBoundsListener = function () {
70
+ }
71
+ createChangeBoundsListener() {
124
72
  return new ChangeBoundsListener(this);
125
- };
126
- ChangeBoundsTool.prototype.disable = function () {
73
+ }
74
+ disable() {
127
75
  this.mouseTool.deregister(this.changeBoundsListener);
128
76
  this.selectionService.deregister(this.changeBoundsListener);
129
77
  this.mouseTool.deregister(this.feedbackMoveMouseListener);
130
78
  this.deregisterFeedback([], this.feedbackMoveMouseListener);
131
- this.deregisterFeedback([new change_bounds_tool_feedback_1.HideChangeBoundsToolResizeFeedbackAction], this.changeBoundsListener);
132
- };
133
- var ChangeBoundsTool_1;
134
- ChangeBoundsTool.ID = 'glsp.change-bounds-tool';
135
- __decorate([
136
- inversify_1.inject(types_1.GLSP_TYPES.SelectionService),
137
- __metadata("design:type", selection_service_1.SelectionService)
138
- ], ChangeBoundsTool.prototype, "selectionService", void 0);
139
- __decorate([
140
- inversify_1.inject(sprotty_1.EdgeRouterRegistry),
141
- inversify_1.optional(),
142
- __metadata("design:type", sprotty_1.EdgeRouterRegistry)
143
- ], ChangeBoundsTool.prototype, "edgeRouterRegistry", void 0);
144
- __decorate([
145
- inversify_1.inject(sprotty_1.TYPES.ISnapper),
146
- inversify_1.optional(),
147
- __metadata("design:type", Object)
148
- ], ChangeBoundsTool.prototype, "snapper", void 0);
149
- __decorate([
150
- inversify_1.inject(types_1.GLSP_TYPES.IMovementRestrictor),
151
- inversify_1.optional(),
152
- __metadata("design:type", Object)
153
- ], ChangeBoundsTool.prototype, "movementRestrictor", void 0);
154
- ChangeBoundsTool = ChangeBoundsTool_1 = __decorate([
155
- inversify_1.injectable()
156
- ], ChangeBoundsTool);
157
- return ChangeBoundsTool;
158
- }(base_glsp_tool_1.BaseGLSPTool));
79
+ this.deregisterFeedback([new change_bounds_tool_feedback_1.HideChangeBoundsToolResizeFeedbackAction()], this.changeBoundsListener);
80
+ }
81
+ };
82
+ ChangeBoundsTool.ID = 'glsp.change-bounds-tool';
83
+ __decorate([
84
+ inversify_1.inject(types_1.GLSP_TYPES.SelectionService),
85
+ __metadata("design:type", selection_service_1.SelectionService)
86
+ ], ChangeBoundsTool.prototype, "selectionService", void 0);
87
+ __decorate([
88
+ inversify_1.inject(sprotty_1.EdgeRouterRegistry),
89
+ inversify_1.optional(),
90
+ __metadata("design:type", sprotty_1.EdgeRouterRegistry)
91
+ ], ChangeBoundsTool.prototype, "edgeRouterRegistry", void 0);
92
+ __decorate([
93
+ inversify_1.inject(sprotty_1.TYPES.ISnapper),
94
+ inversify_1.optional(),
95
+ __metadata("design:type", Object)
96
+ ], ChangeBoundsTool.prototype, "snapper", void 0);
97
+ __decorate([
98
+ inversify_1.inject(types_1.GLSP_TYPES.IMovementRestrictor),
99
+ inversify_1.optional(),
100
+ __metadata("design:type", Object)
101
+ ], ChangeBoundsTool.prototype, "movementRestrictor", void 0);
102
+ ChangeBoundsTool = ChangeBoundsTool_1 = __decorate([
103
+ inversify_1.injectable()
104
+ ], ChangeBoundsTool);
159
105
  exports.ChangeBoundsTool = ChangeBoundsTool;
160
- var ChangeBoundsListener = /** @class */ (function (_super) {
161
- __extends(ChangeBoundsListener, _super);
162
- function ChangeBoundsListener(tool) {
163
- var _this = _super.call(this) || this;
164
- _this.tool = tool;
165
- _this.positionDelta = { x: 0, y: 0 };
166
- return _this;
167
- }
168
- ChangeBoundsListener.prototype.mouseDown = function (target, event) {
169
- _super.prototype.mouseDown.call(this, target, event);
106
+ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseListener {
107
+ constructor(tool) {
108
+ super();
109
+ this.tool = tool;
110
+ this.positionDelta = { x: 0, y: 0 };
111
+ }
112
+ mouseDown(target, event) {
113
+ super.mouseDown(target, event);
170
114
  if (event.button !== 0) {
171
115
  return [];
172
116
  }
@@ -184,116 +128,120 @@ var ChangeBoundsListener = /** @class */ (function (_super) {
184
128
  this.reset();
185
129
  }
186
130
  return [];
187
- };
188
- ChangeBoundsListener.prototype.mouseMove = function (target, event) {
189
- _super.prototype.mouseMove.call(this, target, event);
131
+ }
132
+ mouseMove(target, event) {
133
+ super.mouseMove(target, event);
190
134
  if (this.isMouseDrag && this.activeResizeHandle) {
191
135
  // rely on the FeedbackMoveMouseListener to update the element bounds of selected elements
192
136
  // consider resize handles ourselves
193
- var actions = [css_feedback_1.cursorFeedbackAction(css_feedback_1.CursorCSS.RESIZE), css_feedback_1.applyCssClasses(this.activeResizeHandle, ChangeBoundsListener.CSS_CLASS_ACTIVE)];
194
- var positionUpdate = this.updatePosition(target, event);
137
+ const actions = [
138
+ css_feedback_1.cursorFeedbackAction(this.activeResizeHandle.isNwSeResize() ? css_feedback_1.CursorCSS.RESIZE_NWSE : css_feedback_1.CursorCSS.RESIZE_NESW),
139
+ css_feedback_1.applyCssClasses(this.activeResizeHandle, ChangeBoundsListener.CSS_CLASS_ACTIVE)
140
+ ];
141
+ const positionUpdate = this.updatePosition(target, event);
195
142
  if (positionUpdate) {
196
- var resizeActions = this.handleResizeOnClient(positionUpdate);
197
- actions.push.apply(actions, __spread(resizeActions));
143
+ const resizeActions = this.handleResizeOnClient(positionUpdate);
144
+ actions.push(...resizeActions);
198
145
  }
199
146
  return actions;
200
147
  }
201
148
  return [];
202
- };
203
- ChangeBoundsListener.prototype.draggingMouseUp = function (target, event) {
149
+ }
150
+ draggingMouseUp(target, event) {
204
151
  if (this.lastDragPosition === undefined) {
205
152
  this.resetPosition();
206
153
  return [];
207
154
  }
208
- var actions = [];
155
+ const actions = [];
209
156
  if (this.activeResizeHandle) {
210
157
  // Resize
211
- actions.push.apply(actions, __spread(this.handleResize(this.activeResizeHandle)));
158
+ actions.push(...this.handleResize(this.activeResizeHandle));
212
159
  }
213
160
  else {
214
161
  // Move
215
- actions.push.apply(actions, __spread(this.handleMoveOnServer(target)));
162
+ actions.push(...this.handleMoveOnServer(target));
216
163
  }
217
164
  this.resetPosition();
218
165
  return actions;
219
- };
220
- ChangeBoundsListener.prototype.handleMoveOnServer = function (target) {
221
- var operations = [];
222
- operations.push.apply(operations, __spread(this.handleMoveElementsOnServer(target)));
223
- operations.push.apply(operations, __spread(this.handleMoveRoutingPointsOnServer(target)));
166
+ }
167
+ handleMoveOnServer(target) {
168
+ const operations = [];
169
+ operations.push(...this.handleMoveElementsOnServer(target));
170
+ operations.push(...this.handleMoveRoutingPointsOnServer(target));
224
171
  if (operations.length > 0) {
225
172
  return [new operation_1.CompoundOperation(operations)];
226
173
  }
227
174
  return operations;
228
- };
229
- ChangeBoundsListener.prototype.handleMoveElementsOnServer = function (target) {
230
- var _this = this;
231
- var result = [];
232
- var newBounds = [];
233
- smodel_util_1.forEachElement(target, smodel_util_1.isNonRoutableSelectedMovableBoundsAware, function (element) {
234
- _this.createElementAndBounds(element).forEach(function (bounds) { return newBounds.push(bounds); });
175
+ }
176
+ handleMoveElementsOnServer(target) {
177
+ const result = [];
178
+ const newBounds = [];
179
+ const selectedElements = [];
180
+ smodel_util_1.forEachElement(target, smodel_util_1.isNonRoutableSelectedMovableBoundsAware, element => {
181
+ selectedElements.push(element);
235
182
  });
183
+ const selectionSet = new Set(selectedElements);
184
+ selectedElements.filter(element => !this.isChildOfSelected(selectionSet, element))
185
+ .map(element => this.createElementAndBounds(element))
186
+ .forEach(bounds => newBounds.push(...bounds));
236
187
  if (newBounds.length > 0) {
237
188
  result.push(new operation_1.ChangeBoundsOperation(newBounds));
238
189
  }
239
190
  return result;
240
- };
241
- ChangeBoundsListener.prototype.handleMoveRoutingPointsOnServer = function (target) {
242
- var _this = this;
243
- var result = [];
244
- var newRoutingPoints = [];
245
- smodel_util_1.forEachElement(target, smodel_util_1.isNonRoutableSelectedMovableBoundsAware, function (element) {
191
+ }
192
+ isChildOfSelected(selectedElements, element) {
193
+ while (element instanceof sprotty_1.SChildElement) {
194
+ element = element.parent;
195
+ if (selectedElements.has(element)) {
196
+ return true;
197
+ }
198
+ }
199
+ return false;
200
+ }
201
+ handleMoveRoutingPointsOnServer(target) {
202
+ const result = [];
203
+ const newRoutingPoints = [];
204
+ smodel_util_1.forEachElement(target, smodel_util_1.isNonRoutableSelectedMovableBoundsAware, element => {
246
205
  // If client routing is enabled -> delegate routingpoints of connected edges to server
247
- if (_this.tool.edgeRouterRegistry && element instanceof sprotty_1.SConnectableElement) {
248
- element.incomingEdges.map(smodel_util_1.toElementAndRoutingPoints).forEach(function (ear) { return newRoutingPoints.push(ear); });
249
- element.outgoingEdges.map(smodel_util_1.toElementAndRoutingPoints).forEach(function (ear) { return newRoutingPoints.push(ear); });
206
+ if (this.tool.edgeRouterRegistry && element instanceof sprotty_1.SConnectableElement) {
207
+ element.incomingEdges.map(smodel_util_1.toElementAndRoutingPoints).forEach(ear => newRoutingPoints.push(ear));
208
+ element.outgoingEdges.map(smodel_util_1.toElementAndRoutingPoints).forEach(ear => newRoutingPoints.push(ear));
250
209
  }
251
210
  });
252
211
  if (newRoutingPoints.length > 0) {
253
212
  result.push(new operation_1.ChangeRoutingPointsOperation(newRoutingPoints));
254
213
  }
255
214
  return result;
256
- };
257
- ChangeBoundsListener.prototype.handleResize = function (activeResizeHandle) {
258
- var actions = [];
215
+ }
216
+ handleResize(activeResizeHandle) {
217
+ const actions = [];
259
218
  actions.push(css_feedback_1.cursorFeedbackAction(css_feedback_1.CursorCSS.DEFAULT));
260
219
  actions.push(css_feedback_1.deleteCssClasses(activeResizeHandle, ChangeBoundsListener.CSS_CLASS_ACTIVE));
261
- var resizeElement = sprotty_1.findParentByFeature(activeResizeHandle, model_1.isResizable);
220
+ const resizeElement = sprotty_1.findParentByFeature(activeResizeHandle, model_1.isResizable);
262
221
  if (this.isActiveResizeElement(resizeElement)) {
263
- this.createChangeBoundsAction(resizeElement).forEach(function (action) { return actions.push(action); });
222
+ this.createChangeBoundsAction(resizeElement).forEach(action => actions.push(action));
264
223
  }
265
224
  return actions;
266
- };
267
- ChangeBoundsListener.prototype.selectionChanged = function (root, selectedElements) {
268
- var e_1, _a;
225
+ }
226
+ selectionChanged(root, selectedElements) {
269
227
  if (this.activeResizeElement) {
270
228
  if (selectedElements.includes(this.activeResizeElement.id)) {
271
229
  // our active element is still selected, nothing to do
272
230
  return;
273
231
  }
274
- try {
275
- // try to find some other selected element and mark that active
276
- for (var _b = __values(selectedElements.reverse()), _c = _b.next(); !_c.done; _c = _b.next()) {
277
- var elementId = _c.value;
278
- var element = root.index.getById(elementId);
279
- if (element && this.setActiveResizeElement(element)) {
280
- return;
281
- }
282
- }
283
- }
284
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
285
- finally {
286
- try {
287
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
232
+ // try to find some other selected element and mark that active
233
+ for (const elementId of selectedElements.reverse()) {
234
+ const element = root.index.getById(elementId);
235
+ if (element && this.setActiveResizeElement(element)) {
236
+ return;
288
237
  }
289
- finally { if (e_1) throw e_1.error; }
290
238
  }
291
239
  this.reset();
292
240
  }
293
- };
294
- ChangeBoundsListener.prototype.setActiveResizeElement = function (target) {
241
+ }
242
+ setActiveResizeElement(target) {
295
243
  // check if we have a selected, moveable element (multi-selection allowed)
296
- var moveableElement = sprotty_1.findParentByFeature(target, model_1.isBoundsAwareMoveable);
244
+ const moveableElement = sprotty_1.findParentByFeature(target, model_1.isBoundsAwareMoveable);
297
245
  if (sprotty_1.isSelected(moveableElement)) {
298
246
  // only allow one element to have the element resize handles
299
247
  this.activeResizeElement = moveableElement;
@@ -303,59 +251,64 @@ var ChangeBoundsListener = /** @class */ (function (_super) {
303
251
  return true;
304
252
  }
305
253
  return false;
306
- };
307
- ChangeBoundsListener.prototype.isActiveResizeElement = function (element) {
254
+ }
255
+ isActiveResizeElement(element) {
308
256
  return element !== undefined && this.activeResizeElement !== undefined && element.id === this.activeResizeElement.id;
309
- };
310
- ChangeBoundsListener.prototype.initPosition = function (event) {
257
+ }
258
+ initPosition(event) {
311
259
  this.lastDragPosition = { x: event.pageX, y: event.pageY };
312
260
  if (this.activeResizeHandle) {
313
- var resizeElement = sprotty_1.findParentByFeature(this.activeResizeHandle, model_1.isResizable);
314
- this.initialBounds = { x: resizeElement.bounds.x, y: resizeElement.bounds.y, width: resizeElement.bounds.width, height: resizeElement.bounds.height };
261
+ const resizeElement = sprotty_1.findParentByFeature(this.activeResizeHandle, model_1.isResizable);
262
+ this.initialBounds = {
263
+ x: resizeElement.bounds.x,
264
+ y: resizeElement.bounds.y,
265
+ width: resizeElement.bounds.width,
266
+ height: resizeElement.bounds.height
267
+ };
315
268
  }
316
- };
317
- ChangeBoundsListener.prototype.updatePosition = function (target, event) {
269
+ }
270
+ updatePosition(target, event) {
318
271
  if (this.lastDragPosition) {
319
- var newDragPosition = { x: event.pageX, y: event.pageY };
320
- var viewport = sprotty_1.findParentByFeature(target, sprotty_1.isViewport);
321
- var zoom = viewport ? viewport.zoom : 1;
322
- var dx = (event.pageX - this.lastDragPosition.x) / zoom;
323
- var dy = (event.pageY - this.lastDragPosition.y) / zoom;
324
- var deltaToLastPosition = { x: dx, y: dy };
272
+ const newDragPosition = { x: event.pageX, y: event.pageY };
273
+ const viewport = sprotty_1.findParentByFeature(target, sprotty_1.isViewport);
274
+ const zoom = viewport ? viewport.zoom : 1;
275
+ const dx = (event.pageX - this.lastDragPosition.x) / zoom;
276
+ const dy = (event.pageY - this.lastDragPosition.y) / zoom;
277
+ const deltaToLastPosition = { x: dx, y: dy };
325
278
  this.lastDragPosition = newDragPosition;
326
279
  // update position delta with latest delta
327
280
  this.positionDelta.x += deltaToLastPosition.x;
328
281
  this.positionDelta.y += deltaToLastPosition.y;
329
282
  // snap our delta and only send update if the position actually changes
330
283
  // otherwise accumulate delta until we do snap to an update
331
- var positionUpdate = this.snap(this.positionDelta, target, !event.shiftKey);
284
+ const positionUpdate = this.snap(this.positionDelta, target, !event.altKey);
332
285
  if (positionUpdate.x === 0 && positionUpdate.y === 0) {
333
286
  return undefined;
334
287
  }
335
- // we update our position so we need to reset our delta
336
- this.positionDelta.x = 0;
337
- this.positionDelta.y = 0;
288
+ // we update our position so we update our delta by the snapped position
289
+ this.positionDelta.x -= positionUpdate.x;
290
+ this.positionDelta.y -= positionUpdate.y;
338
291
  return positionUpdate;
339
292
  }
340
293
  return undefined;
341
- };
342
- ChangeBoundsListener.prototype.reset = function () {
294
+ }
295
+ reset() {
343
296
  if (this.activeResizeElement && model_1.isResizable(this.activeResizeElement)) {
344
297
  this.tool.dispatchFeedback([new change_bounds_tool_feedback_1.HideChangeBoundsToolResizeFeedbackAction()], this);
345
298
  }
346
299
  this.tool.dispatchActions([css_feedback_1.cursorFeedbackAction(css_feedback_1.CursorCSS.DEFAULT)]);
347
300
  this.resetPosition();
348
- };
349
- ChangeBoundsListener.prototype.resetPosition = function () {
301
+ }
302
+ resetPosition() {
350
303
  this.activeResizeHandle = undefined;
351
304
  this.lastDragPosition = undefined;
352
305
  this.positionDelta = { x: 0, y: 0 };
353
- };
354
- ChangeBoundsListener.prototype.handleResizeOnClient = function (positionUpdate) {
306
+ }
307
+ handleResizeOnClient(positionUpdate) {
355
308
  if (!this.activeResizeHandle) {
356
309
  return [];
357
310
  }
358
- var resizeElement = sprotty_1.findParentByFeature(this.activeResizeHandle, model_1.isResizable);
311
+ const resizeElement = sprotty_1.findParentByFeature(this.activeResizeHandle, model_1.isResizable);
359
312
  if (this.isActiveResizeElement(resizeElement)) {
360
313
  switch (this.activeResizeHandle.location) {
361
314
  case model_1.ResizeHandleLocation.TopLeft:
@@ -369,25 +322,25 @@ var ChangeBoundsListener = /** @class */ (function (_super) {
369
322
  }
370
323
  }
371
324
  return [];
372
- };
373
- ChangeBoundsListener.prototype.handleTopLeftResize = function (resizeElement, positionUpdate) {
325
+ }
326
+ handleTopLeftResize(resizeElement, positionUpdate) {
374
327
  return this.createSetBoundsAction(resizeElement, resizeElement.bounds.x + positionUpdate.x, resizeElement.bounds.y + positionUpdate.y, resizeElement.bounds.width - positionUpdate.x, resizeElement.bounds.height - positionUpdate.y);
375
- };
376
- ChangeBoundsListener.prototype.handleTopRightResize = function (resizeElement, positionUpdate) {
328
+ }
329
+ handleTopRightResize(resizeElement, positionUpdate) {
377
330
  return this.createSetBoundsAction(resizeElement, resizeElement.bounds.x, resizeElement.bounds.y + positionUpdate.y, resizeElement.bounds.width + positionUpdate.x, resizeElement.bounds.height - positionUpdate.y);
378
- };
379
- ChangeBoundsListener.prototype.handleBottomLeftResize = function (resizeElement, positionUpdate) {
331
+ }
332
+ handleBottomLeftResize(resizeElement, positionUpdate) {
380
333
  return this.createSetBoundsAction(resizeElement, resizeElement.bounds.x + positionUpdate.x, resizeElement.bounds.y, resizeElement.bounds.width - positionUpdate.x, resizeElement.bounds.height + positionUpdate.y);
381
- };
382
- ChangeBoundsListener.prototype.handleBottomRightResize = function (resizeElement, positionUpdate) {
334
+ }
335
+ handleBottomRightResize(resizeElement, positionUpdate) {
383
336
  return this.createSetBoundsAction(resizeElement, resizeElement.bounds.x, resizeElement.bounds.y, resizeElement.bounds.width + positionUpdate.x, resizeElement.bounds.height + positionUpdate.y);
384
- };
385
- ChangeBoundsListener.prototype.createChangeBoundsAction = function (element) {
337
+ }
338
+ createChangeBoundsAction(element) {
386
339
  if (this.isValidBoundChange(element, element.bounds, element.bounds)) {
387
340
  return [new operation_1.ChangeBoundsOperation([smodel_util_1.toElementAndBounds(element)])];
388
341
  }
389
342
  else if (this.initialBounds) {
390
- var actions = [];
343
+ const actions = [];
391
344
  if (this.tool.movementRestrictor) {
392
345
  actions.push(movement_restrictor_1.removeMovementRestrictionFeedback(element, this.tool.movementRestrictor));
393
346
  }
@@ -395,47 +348,44 @@ var ChangeBoundsListener = /** @class */ (function (_super) {
395
348
  return actions;
396
349
  }
397
350
  return [];
398
- };
399
- ChangeBoundsListener.prototype.createElementAndBounds = function (element) {
351
+ }
352
+ createElementAndBounds(element) {
400
353
  if (this.isValidBoundChange(element, element.bounds, element.bounds)) {
401
354
  return [smodel_util_1.toElementAndBounds(element)];
402
355
  }
403
356
  return [];
404
- };
405
- ChangeBoundsListener.prototype.createSetBoundsAction = function (element, x, y, width, height) {
406
- var newPosition = { x: x, y: y };
407
- var newSize = { width: width, height: height };
408
- var result = [];
357
+ }
358
+ createSetBoundsAction(element, x, y, width, height) {
359
+ const newPosition = { x, y };
360
+ const newSize = { width, height };
361
+ const result = [];
409
362
  if (this.isValidBoundChange(element, newPosition, newSize)) {
410
363
  if (this.tool.movementRestrictor) {
411
364
  result.push(movement_restrictor_1.removeMovementRestrictionFeedback(element, this.tool.movementRestrictor));
412
365
  }
413
- result.push(new sprotty_1.SetBoundsAction([{ elementId: element.id, newPosition: newPosition, newSize: newSize }]));
366
+ result.push(new sprotty_1.SetBoundsAction([{ elementId: element.id, newPosition, newSize }]));
414
367
  }
415
368
  else if (this.isValidSize(element, newSize)) {
416
369
  if (this.tool.movementRestrictor) {
417
370
  result.push(movement_restrictor_1.createMovementRestrictionFeedback(element, this.tool.movementRestrictor));
418
371
  }
419
- result.push(new sprotty_1.SetBoundsAction([{ elementId: element.id, newPosition: newPosition, newSize: newSize }]));
372
+ result.push(new sprotty_1.SetBoundsAction([{ elementId: element.id, newPosition, newSize }]));
420
373
  }
421
374
  return result;
422
- };
423
- ChangeBoundsListener.prototype.snap = function (position, element, isSnap) {
424
- return isSnap && this.tool.snapper
425
- ? this.tool.snapper.snap(position, element)
426
- : { x: position.x, y: position.y };
427
- };
428
- ChangeBoundsListener.prototype.isValidBoundChange = function (element, newPosition, newSize) {
375
+ }
376
+ snap(position, element, isSnap) {
377
+ return isSnap && this.tool.snapper ? this.tool.snapper.snap(position, element) : { x: position.x, y: position.y };
378
+ }
379
+ isValidBoundChange(element, newPosition, newSize) {
429
380
  return this.isValidSize(element, newSize) && this.isValidMove(element, newPosition);
430
- };
431
- ChangeBoundsListener.prototype.isValidSize = function (element, size) {
381
+ }
382
+ isValidSize(element, size) {
432
383
  return layout_utils_1.isValidSize(element, size);
433
- };
434
- ChangeBoundsListener.prototype.isValidMove = function (element, newPosition) {
384
+ }
385
+ isValidMove(element, newPosition) {
435
386
  return layout_utils_1.isValidMove(element, newPosition, this.tool.movementRestrictor);
436
- };
437
- ChangeBoundsListener.CSS_CLASS_ACTIVE = 'active';
438
- return ChangeBoundsListener;
439
- }(drag_aware_mouse_listener_1.DragAwareMouseListener));
387
+ }
388
+ }
440
389
  exports.ChangeBoundsListener = ChangeBoundsListener;
390
+ ChangeBoundsListener.CSS_CLASS_ACTIVE = 'active';
441
391
  //# sourceMappingURL=change-bounds-tool.js.map