@eclipse-glsp/client 0.9.0 → 0.10.0-next.17bfb07.173

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 (531) hide show
  1. package/css/glsp-sprotty.css +110 -8
  2. package/lib/base/action-dispatcher.d.ts +4 -3
  3. package/lib/base/action-dispatcher.d.ts.map +1 -1
  4. package/lib/base/action-dispatcher.js +22 -12
  5. package/lib/base/action-dispatcher.js.map +1 -1
  6. package/lib/base/actions/focus-change-action.d.ts +16 -7
  7. package/lib/base/actions/focus-change-action.d.ts.map +1 -1
  8. package/lib/base/actions/focus-change-action.js +31 -12
  9. package/lib/base/actions/focus-change-action.js.map +1 -1
  10. package/lib/base/actions/sprotty-actions.d.ts +7 -0
  11. package/lib/base/actions/sprotty-actions.d.ts.map +1 -0
  12. package/lib/{features/tool-palette/palette-item.js → base/actions/sprotty-actions.js} +4 -20
  13. package/lib/base/actions/sprotty-actions.js.map +1 -0
  14. package/lib/base/auto-complete/auto-complete-actions.d.ts +5 -3
  15. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  16. package/lib/base/auto-complete/auto-complete-actions.js +24 -5
  17. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  18. package/lib/base/auto-complete/auto-complete-widget.d.ts +9 -2
  19. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  20. package/lib/base/auto-complete/auto-complete-widget.js +16 -9
  21. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  22. package/lib/base/auto-complete/validation-decorator.js +2 -2
  23. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  24. package/lib/base/command-stack.d.ts.map +1 -1
  25. package/lib/base/command-stack.js +6 -5
  26. package/lib/base/command-stack.js.map +1 -1
  27. package/lib/base/container-modules.d.ts.map +1 -1
  28. package/lib/base/container-modules.js +2 -1
  29. package/lib/base/container-modules.js.map +1 -1
  30. package/lib/base/di.config.d.ts +1 -1
  31. package/lib/base/di.config.d.ts.map +1 -1
  32. package/lib/base/di.config.js +13 -14
  33. package/lib/base/di.config.js.map +1 -1
  34. package/lib/base/drag-aware-mouse-listener.d.ts +1 -1
  35. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  36. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  37. package/lib/base/editor-context-service.d.ts +18 -5
  38. package/lib/base/editor-context-service.d.ts.map +1 -1
  39. package/lib/base/editor-context-service.js +39 -22
  40. package/lib/base/editor-context-service.js.map +1 -1
  41. package/lib/base/focus-tracker.d.ts +1 -1
  42. package/lib/base/focus-tracker.d.ts.map +1 -1
  43. package/lib/base/focus-tracker.js +4 -4
  44. package/lib/base/focus-tracker.js.map +1 -1
  45. package/lib/base/model/model-registry.d.ts.map +1 -1
  46. package/lib/base/model/model-registry.js +2 -2
  47. package/lib/base/model/model-registry.js.map +1 -1
  48. package/lib/base/model/update-model-command.d.ts +1 -1
  49. package/lib/base/model/update-model-command.d.ts.map +1 -1
  50. package/lib/base/model/update-model-command.js +15 -15
  51. package/lib/base/model/update-model-command.js.map +1 -1
  52. package/lib/base/model-initialization-constraint.d.ts +4 -5
  53. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  54. package/lib/base/model-initialization-constraint.js +11 -13
  55. package/lib/base/model-initialization-constraint.js.map +1 -1
  56. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  57. package/lib/base/selection-clearing-mouse-listener.js +1 -1
  58. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  59. package/lib/base/source-uri-aware.d.ts +2 -17
  60. package/lib/base/source-uri-aware.d.ts.map +1 -1
  61. package/lib/base/source-uri-aware.js +4 -6
  62. package/lib/base/source-uri-aware.js.map +1 -1
  63. package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
  64. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  65. package/lib/base/tool-manager/glsp-tool-manager.js +10 -10
  66. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  67. package/lib/base/tool-manager/tool-actions.d.ts +14 -0
  68. package/lib/base/tool-manager/tool-actions.d.ts.map +1 -0
  69. package/lib/base/tool-manager/tool-actions.js +25 -0
  70. package/lib/base/tool-manager/tool-actions.js.map +1 -0
  71. package/lib/base/types.d.ts +144 -20
  72. package/lib/base/types.d.ts.map +1 -1
  73. package/lib/base/types.js +14 -26
  74. package/lib/base/types.js.map +1 -1
  75. package/lib/base/view/view-registry.d.ts.map +1 -1
  76. package/lib/base/view/view-registry.js +2 -2
  77. package/lib/base/view/view-registry.js.map +1 -1
  78. package/lib/features/change-bounds/model.d.ts +1 -1
  79. package/lib/features/change-bounds/model.d.ts.map +1 -1
  80. package/lib/features/change-bounds/model.js +3 -3
  81. package/lib/features/change-bounds/model.js.map +1 -1
  82. package/lib/features/change-bounds/movement-restrictor.d.ts +37 -7
  83. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  84. package/lib/features/change-bounds/movement-restrictor.js +55 -40
  85. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  86. package/lib/features/change-bounds/snap.d.ts +42 -2
  87. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  88. package/lib/features/change-bounds/snap.js +78 -2
  89. package/lib/features/change-bounds/snap.js.map +1 -1
  90. package/lib/features/change-bounds/snap.spec.d.ts +17 -0
  91. package/lib/features/change-bounds/snap.spec.d.ts.map +1 -0
  92. package/lib/features/change-bounds/snap.spec.js +82 -0
  93. package/lib/features/change-bounds/snap.spec.js.map +1 -0
  94. package/lib/features/command-palette/command-palette-tool.js +3 -3
  95. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  96. package/lib/features/command-palette/di.config.d.ts +2 -2
  97. package/lib/features/command-palette/di.config.d.ts.map +1 -1
  98. package/lib/features/command-palette/di.config.js +6 -6
  99. package/lib/features/command-palette/di.config.js.map +1 -1
  100. package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -1
  101. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  102. package/lib/features/command-palette/server-command-palette-provider.js +13 -10
  103. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  104. package/lib/features/context-menu/delete-element-context-menu.d.ts +17 -1
  105. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  106. package/lib/features/context-menu/delete-element-context-menu.js +4 -4
  107. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  108. package/lib/features/context-menu/di.config.d.ts +1 -1
  109. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  110. package/lib/features/context-menu/di.config.js +8 -7
  111. package/lib/features/context-menu/di.config.js.map +1 -1
  112. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +33 -1
  113. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  114. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +41 -28
  115. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  116. package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -1
  117. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  118. package/lib/features/context-menu/server-context-menu-provider.js +8 -7
  119. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  120. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +12 -15
  121. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  122. package/lib/features/copy-paste/copy-paste-context-menu.js +26 -33
  123. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  124. package/lib/features/copy-paste/copy-paste-handler.d.ts +1 -1
  125. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  126. package/lib/features/copy-paste/copy-paste-handler.js +10 -11
  127. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  128. package/lib/features/copy-paste/di.config.d.ts +1 -1
  129. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  130. package/lib/features/copy-paste/di.config.js +5 -7
  131. package/lib/features/copy-paste/di.config.js.map +1 -1
  132. package/lib/features/decoration/decoration-placer.d.ts +1 -1
  133. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  134. package/lib/features/decoration/decoration-placer.js +19 -3
  135. package/lib/features/decoration/decoration-placer.js.map +1 -1
  136. package/lib/features/decoration/di.config.d.ts +2 -2
  137. package/lib/features/decoration/di.config.d.ts.map +1 -1
  138. package/lib/features/decoration/di.config.js +4 -4
  139. package/lib/features/decoration/di.config.js.map +1 -1
  140. package/lib/features/edit-label/di.config.d.ts +1 -1
  141. package/lib/features/edit-label/di.config.d.ts.map +1 -1
  142. package/lib/features/edit-label/di.config.js +5 -5
  143. package/lib/features/edit-label/di.config.js.map +1 -1
  144. package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
  145. package/lib/features/edit-label/edit-label-tool.js +2 -2
  146. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  147. package/lib/features/edit-label/edit-label-validator.d.ts +4 -6
  148. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  149. package/lib/features/edit-label/edit-label-validator.js +11 -13
  150. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  151. package/lib/features/hints/di.config.js +4 -4
  152. package/lib/features/hints/di.config.js.map +1 -1
  153. package/lib/features/hints/type-hints.d.ts +15 -5
  154. package/lib/features/hints/type-hints.d.ts.map +1 -1
  155. package/lib/features/hints/type-hints.js +29 -26
  156. package/lib/features/hints/type-hints.js.map +1 -1
  157. package/lib/features/hover/di.config.d.ts +1 -1
  158. package/lib/features/hover/di.config.d.ts.map +1 -1
  159. package/lib/features/hover/di.config.js +14 -10
  160. package/lib/features/hover/di.config.js.map +1 -1
  161. package/lib/features/hover/hover.d.ts +16 -4
  162. package/lib/features/hover/hover.d.ts.map +1 -1
  163. package/lib/features/hover/hover.js +42 -4
  164. package/lib/features/hover/hover.js.map +1 -1
  165. package/lib/features/layout/di.config.d.ts +3 -3
  166. package/lib/features/layout/di.config.d.ts.map +1 -1
  167. package/lib/features/layout/di.config.js +11 -7
  168. package/lib/features/layout/di.config.js.map +1 -1
  169. package/lib/features/layout/freeform-layout.d.ts +17 -1
  170. package/lib/features/layout/freeform-layout.d.ts.map +1 -1
  171. package/lib/features/layout/freeform-layout.js +4 -4
  172. package/lib/features/layout/freeform-layout.js.map +1 -1
  173. package/lib/features/layout/hbox-layout.d.ts +41 -0
  174. package/lib/features/layout/hbox-layout.d.ts.map +1 -0
  175. package/lib/features/layout/hbox-layout.js +189 -0
  176. package/lib/features/layout/hbox-layout.js.map +1 -0
  177. package/lib/features/layout/layout-elements-action.d.ts +198 -0
  178. package/lib/features/layout/layout-elements-action.d.ts.map +1 -0
  179. package/lib/features/layout/layout-elements-action.js +391 -0
  180. package/lib/features/layout/layout-elements-action.js.map +1 -0
  181. package/lib/features/layout/layout-elements-action.spec.d.ts +3 -0
  182. package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -0
  183. package/lib/features/layout/{layout-commands.spec.js → layout-elements-action.spec.js} +81 -62
  184. package/lib/features/layout/layout-elements-action.spec.js.map +1 -0
  185. package/lib/features/layout/vbox-layout.d.ts +17 -1
  186. package/lib/features/layout/vbox-layout.d.ts.map +1 -1
  187. package/lib/features/layout/vbox-layout.js +9 -8
  188. package/lib/features/layout/vbox-layout.js.map +1 -1
  189. package/lib/features/model-source-watcher/di.config.js +1 -1
  190. package/lib/features/model-source-watcher/di.config.js.map +1 -1
  191. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +1 -1
  192. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
  193. package/lib/features/model-source-watcher/model-source-changed-action-handler.js +11 -11
  194. package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
  195. package/lib/features/mouse-tool/di.config.d.ts +1 -1
  196. package/lib/features/mouse-tool/di.config.d.ts.map +1 -1
  197. package/lib/features/mouse-tool/di.config.js +2 -2
  198. package/lib/features/mouse-tool/di.config.js.map +1 -1
  199. package/lib/features/mouse-tool/mouse-tool.d.ts +9 -5
  200. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  201. package/lib/features/mouse-tool/mouse-tool.js +11 -53
  202. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  203. package/lib/features/navigation/di.config.js +4 -4
  204. package/lib/features/navigation/di.config.js.map +1 -1
  205. package/lib/features/navigation/navigation-action-handler.d.ts +31 -16
  206. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  207. package/lib/features/navigation/navigation-action-handler.js +52 -68
  208. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  209. package/lib/features/navigation/navigation-target-resolver.d.ts +3 -3
  210. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  211. package/lib/features/navigation/navigation-target-resolver.js +9 -10
  212. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  213. package/lib/features/navigation/navigation-target-resolver.spec.js +12 -12
  214. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  215. package/lib/features/reconnect/model.d.ts +1 -1
  216. package/lib/features/reconnect/model.d.ts.map +1 -1
  217. package/lib/features/reconnect/model.js +1 -1
  218. package/lib/features/reconnect/model.js.map +1 -1
  219. package/lib/features/save/di.config.d.ts +1 -1
  220. package/lib/features/save/di.config.d.ts.map +1 -1
  221. package/lib/features/save/di.config.js +3 -3
  222. package/lib/features/save/di.config.js.map +1 -1
  223. package/lib/features/save/save-keylistener.d.ts +1 -1
  224. package/lib/features/save/save-keylistener.d.ts.map +1 -1
  225. package/lib/features/save/save-keylistener.js +3 -3
  226. package/lib/features/save/save-keylistener.js.map +1 -1
  227. package/lib/features/select/di.config.d.ts +1 -1
  228. package/lib/features/select/di.config.d.ts.map +1 -1
  229. package/lib/features/select/di.config.js +7 -8
  230. package/lib/features/select/di.config.js.map +1 -1
  231. package/lib/features/select/select-feedback-action.d.ts +26 -22
  232. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  233. package/lib/features/select/select-feedback-action.js +19 -46
  234. package/lib/features/select/select-feedback-action.js.map +1 -1
  235. package/lib/features/select/select-mouse-listener.d.ts +1 -1
  236. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  237. package/lib/features/select/select-mouse-listener.js +1 -1
  238. package/lib/features/select/select-mouse-listener.js.map +1 -1
  239. package/lib/features/select/selection-service.d.ts +14 -5
  240. package/lib/features/select/selection-service.d.ts.map +1 -1
  241. package/lib/features/select/selection-service.js +55 -64
  242. package/lib/features/select/selection-service.js.map +1 -1
  243. package/lib/features/select/selection-service.spec.js +28 -25
  244. package/lib/features/select/selection-service.spec.js.map +1 -1
  245. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +17 -9
  246. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  247. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +68 -38
  248. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  249. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +24 -12
  250. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  251. package/lib/features/tool-feedback/creation-tool-feedback.js +88 -35
  252. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  253. package/lib/features/tool-feedback/css-feedback.d.ts +17 -10
  254. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  255. package/lib/features/tool-feedback/css-feedback.js +42 -38
  256. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  257. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  258. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  259. package/lib/features/tool-feedback/di.config.js +18 -18
  260. package/lib/features/tool-feedback/di.config.js.map +1 -1
  261. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +45 -22
  262. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  263. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +147 -114
  264. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  265. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +2 -2
  266. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  267. package/lib/features/tool-feedback/feedback-action-dispatcher.js +4 -4
  268. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  269. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +21 -10
  270. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  271. package/lib/features/tool-feedback/marquee-tool-feedback.js +44 -18
  272. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  273. package/lib/features/tool-feedback/model.d.ts +1 -2
  274. package/lib/features/tool-feedback/model.d.ts.map +1 -1
  275. package/lib/features/tool-feedback/model.js +1 -1
  276. package/lib/features/tool-feedback/model.js.map +1 -1
  277. package/lib/features/tool-feedback/view.d.ts +1 -1
  278. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  279. package/lib/features/tool-feedback/view.js +22 -5
  280. package/lib/features/tool-feedback/view.js.map +1 -1
  281. package/lib/features/tool-palette/di.config.d.ts +1 -1
  282. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  283. package/lib/features/tool-palette/di.config.js +5 -4
  284. package/lib/features/tool-palette/di.config.js.map +1 -1
  285. package/lib/features/tool-palette/tool-palette.d.ts +10 -7
  286. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  287. package/lib/features/tool-palette/tool-palette.js +39 -32
  288. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  289. package/lib/features/tools/base-glsp-tool.d.ts +3 -3
  290. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  291. package/lib/features/tools/base-glsp-tool.js +11 -11
  292. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  293. package/lib/features/tools/change-bounds-tool.d.ts +7 -9
  294. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  295. package/lib/features/tools/change-bounds-tool.js +48 -71
  296. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  297. package/lib/features/tools/delete-tool.d.ts +1 -1
  298. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  299. package/lib/features/tools/delete-tool.js +17 -17
  300. package/lib/features/tools/delete-tool.js.map +1 -1
  301. package/lib/features/tools/di.config.d.ts +9 -2
  302. package/lib/features/tools/di.config.d.ts.map +1 -1
  303. package/lib/features/tools/di.config.js +26 -15
  304. package/lib/features/tools/di.config.js.map +1 -1
  305. package/lib/features/tools/edge-creation-tool.d.ts +1 -1
  306. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  307. package/lib/features/tools/edge-creation-tool.js +28 -21
  308. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  309. package/lib/features/tools/edge-edit-tool.d.ts +3 -2
  310. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  311. package/lib/features/tools/edge-edit-tool.js +41 -36
  312. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  313. package/lib/features/{tool-palette/palette-item.d.ts → tools/enable-default-tools-on-focus-loss.d.ts} +11 -11
  314. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +1 -0
  315. package/lib/features/tools/enable-default-tools-on-focus-loss.js +29 -0
  316. package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -0
  317. package/lib/features/tools/marquee-behavior.d.ts +1 -1
  318. package/lib/features/tools/marquee-behavior.js +2 -2
  319. package/lib/features/tools/marquee-behavior.js.map +1 -1
  320. package/lib/features/tools/marquee-behavior.spec.js +63 -63
  321. package/lib/features/tools/marquee-behavior.spec.js.map +1 -1
  322. package/lib/features/tools/marquee-mouse-tool.d.ts +1 -1
  323. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  324. package/lib/features/tools/marquee-mouse-tool.js +20 -20
  325. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  326. package/lib/features/tools/marquee-tool.d.ts +1 -1
  327. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  328. package/lib/features/tools/marquee-tool.js +4 -4
  329. package/lib/features/tools/marquee-tool.js.map +1 -1
  330. package/lib/features/tools/model.d.ts +3 -2
  331. package/lib/features/tools/model.d.ts.map +1 -1
  332. package/lib/features/tools/model.js +0 -15
  333. package/lib/features/tools/model.js.map +1 -1
  334. package/lib/features/tools/node-creation-tool.d.ts +1 -1
  335. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  336. package/lib/features/tools/node-creation-tool.js +17 -17
  337. package/lib/features/tools/node-creation-tool.js.map +1 -1
  338. package/lib/features/tools/view.d.ts.map +1 -1
  339. package/lib/features/tools/view.js +2 -2
  340. package/lib/features/tools/view.js.map +1 -1
  341. package/lib/features/validation/di.config.d.ts +0 -15
  342. package/lib/features/validation/di.config.d.ts.map +1 -1
  343. package/lib/features/validation/di.config.js +9 -7
  344. package/lib/features/validation/di.config.js.map +1 -1
  345. package/lib/features/validation/marker-navigator.d.ts +27 -25
  346. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  347. package/lib/features/validation/marker-navigator.js +64 -91
  348. package/lib/features/validation/marker-navigator.js.map +1 -1
  349. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  350. package/lib/features/validation/marker-navigator.spec.js +23 -37
  351. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  352. package/lib/features/validation/validate.d.ts +16 -30
  353. package/lib/features/validation/validate.d.ts.map +1 -1
  354. package/lib/features/validation/validate.js +61 -92
  355. package/lib/features/validation/validate.js.map +1 -1
  356. package/lib/features/viewport/di.config.d.ts +1 -1
  357. package/lib/features/viewport/di.config.d.ts.map +1 -1
  358. package/lib/features/viewport/di.config.js +7 -7
  359. package/lib/features/viewport/di.config.js.map +1 -1
  360. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -1
  361. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  362. package/lib/features/viewport/glsp-scroll-mouse-listener.js +3 -3
  363. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  364. package/lib/index.d.ts +8 -9
  365. package/lib/index.d.ts.map +1 -1
  366. package/lib/index.js +15 -11
  367. package/lib/index.js.map +1 -1
  368. package/lib/lib/model.d.ts +3 -2
  369. package/lib/lib/model.d.ts.map +1 -1
  370. package/lib/lib/model.js +3 -18
  371. package/lib/lib/model.js.map +1 -1
  372. package/lib/model-source/glsp-diagram-server.d.ts +6 -6
  373. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  374. package/lib/model-source/glsp-diagram-server.js +8 -7
  375. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  376. package/lib/sprotty-reexport.d.ts +174 -0
  377. package/lib/sprotty-reexport.d.ts.map +1 -0
  378. package/lib/sprotty-reexport.js +299 -0
  379. package/lib/sprotty-reexport.js.map +1 -0
  380. package/lib/utils/argument-utils.js +5 -5
  381. package/lib/utils/argument-utils.js.map +1 -1
  382. package/lib/utils/layout-utils.d.ts +6 -22
  383. package/lib/utils/layout-utils.d.ts.map +1 -1
  384. package/lib/utils/layout-utils.js +1 -1
  385. package/lib/utils/layout-utils.js.map +1 -1
  386. package/lib/utils/smodel-util.d.ts +117 -11
  387. package/lib/utils/smodel-util.d.ts.map +1 -1
  388. package/lib/utils/smodel-util.js +142 -37
  389. package/lib/utils/smodel-util.js.map +1 -1
  390. package/lib/utils/viewpoint-util.d.ts +3 -3
  391. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  392. package/lib/utils/viewpoint-util.js +19 -3
  393. package/lib/utils/viewpoint-util.js.map +1 -1
  394. package/lib/views/base-view-module.d.ts.map +1 -1
  395. package/lib/views/base-view-module.js +21 -19
  396. package/lib/views/base-view-module.js.map +1 -1
  397. package/lib/views/compartments.js +2 -2
  398. package/lib/views/compartments.js.map +1 -1
  399. package/lib/views/glsp-edge-view.d.ts +1 -1
  400. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  401. package/lib/views/glsp-edge-view.js +1 -1
  402. package/lib/views/glsp-edge-view.js.map +1 -1
  403. package/lib/views/index.js +6 -2
  404. package/lib/views/index.js.map +1 -1
  405. package/lib/views/issue-marker-view.d.ts.map +1 -1
  406. package/lib/views/issue-marker-view.js +3 -3
  407. package/lib/views/issue-marker-view.js.map +1 -1
  408. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  409. package/lib/views/rounded-corner-view.js +2 -2
  410. package/lib/views/rounded-corner-view.js.map +1 -1
  411. package/package.json +8 -18
  412. package/src/base/action-dispatcher.ts +26 -16
  413. package/src/base/actions/focus-change-action.ts +25 -8
  414. package/src/base/actions/sprotty-actions.ts +26 -0
  415. package/src/base/auto-complete/auto-complete-actions.ts +7 -5
  416. package/src/base/auto-complete/auto-complete-widget.ts +15 -13
  417. package/src/base/command-stack.ts +7 -6
  418. package/src/base/container-modules.ts +4 -3
  419. package/src/base/di.config.ts +4 -5
  420. package/src/base/drag-aware-mouse-listener.ts +4 -4
  421. package/src/base/editor-context-service.ts +38 -16
  422. package/src/base/focus-tracker.ts +5 -4
  423. package/src/base/model/model-registry.ts +2 -2
  424. package/src/base/model/update-model-command.ts +9 -10
  425. package/src/base/model-initialization-constraint.ts +9 -11
  426. package/src/base/selection-clearing-mouse-listener.ts +1 -1
  427. package/src/base/source-uri-aware.ts +5 -4
  428. package/src/base/tool-manager/glsp-tool-manager.ts +9 -9
  429. package/src/base/tool-manager/tool-actions.ts +37 -0
  430. package/src/base/types.ts +31 -24
  431. package/src/base/view/view-registry.ts +2 -2
  432. package/src/features/change-bounds/model.ts +5 -5
  433. package/src/features/change-bounds/movement-restrictor.ts +74 -44
  434. package/src/features/change-bounds/snap.spec.ts +89 -0
  435. package/src/features/change-bounds/snap.ts +86 -3
  436. package/src/features/command-palette/di.config.ts +5 -7
  437. package/src/features/command-palette/server-command-palette-provider.ts +9 -8
  438. package/src/features/context-menu/delete-element-context-menu.ts +6 -6
  439. package/src/features/context-menu/di.config.ts +3 -2
  440. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +45 -17
  441. package/src/features/context-menu/server-context-menu-provider.ts +7 -6
  442. package/src/features/copy-paste/copy-paste-context-menu.ts +30 -23
  443. package/src/features/copy-paste/copy-paste-handler.ts +6 -6
  444. package/src/features/copy-paste/di.config.ts +7 -15
  445. package/src/features/decoration/decoration-placer.ts +4 -4
  446. package/src/features/decoration/di.config.ts +3 -5
  447. package/src/features/edit-label/di.config.ts +4 -5
  448. package/src/features/edit-label/edit-label-tool.ts +1 -2
  449. package/src/features/edit-label/edit-label-validator.ts +6 -10
  450. package/src/features/hints/di.config.ts +3 -3
  451. package/src/features/hints/type-hints.ts +33 -18
  452. package/src/features/hover/di.config.ts +8 -2
  453. package/src/features/hover/hover.ts +53 -11
  454. package/src/features/layout/di.config.ts +11 -7
  455. package/src/features/layout/freeform-layout.ts +6 -15
  456. package/src/features/layout/hbox-layout.ts +256 -0
  457. package/src/features/layout/{layout-commands.spec.ts → layout-elements-action.spec.ts} +89 -65
  458. package/src/features/layout/layout-elements-action.ts +486 -0
  459. package/src/features/layout/vbox-layout.ts +20 -20
  460. package/src/features/model-source-watcher/model-source-changed-action-handler.ts +7 -12
  461. package/src/features/mouse-tool/di.config.ts +3 -4
  462. package/src/features/mouse-tool/mouse-tool.ts +18 -59
  463. package/src/features/navigation/navigation-action-handler.ts +76 -42
  464. package/src/features/navigation/navigation-target-resolver.spec.ts +3 -3
  465. package/src/features/navigation/navigation-target-resolver.ts +9 -14
  466. package/src/features/reconnect/model.ts +2 -2
  467. package/src/features/save/di.config.ts +2 -3
  468. package/src/features/save/save-keylistener.ts +3 -3
  469. package/src/features/select/di.config.ts +6 -8
  470. package/src/features/select/select-feedback-action.ts +18 -46
  471. package/src/features/select/select-mouse-listener.ts +1 -2
  472. package/src/features/select/selection-service.spec.ts +12 -9
  473. package/src/features/select/selection-service.ts +52 -60
  474. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +52 -22
  475. package/src/features/tool-feedback/creation-tool-feedback.ts +79 -30
  476. package/src/features/tool-feedback/css-feedback.ts +40 -37
  477. package/src/features/tool-feedback/di.config.ts +4 -5
  478. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +140 -88
  479. package/src/features/tool-feedback/feedback-action-dispatcher.ts +4 -3
  480. package/src/features/tool-feedback/marquee-tool-feedback.ts +38 -13
  481. package/src/features/tool-feedback/model.ts +1 -3
  482. package/src/features/tool-feedback/view.tsx +3 -3
  483. package/src/features/tool-palette/di.config.ts +3 -2
  484. package/src/features/tool-palette/tool-palette.ts +35 -19
  485. package/src/features/tools/base-glsp-tool.ts +11 -11
  486. package/src/features/tools/change-bounds-tool.ts +37 -67
  487. package/src/features/tools/delete-tool.ts +9 -9
  488. package/src/features/tools/di.config.ts +23 -12
  489. package/src/features/tools/edge-creation-tool.ts +21 -12
  490. package/src/features/tools/edge-edit-tool.ts +25 -21
  491. package/src/features/tools/enable-default-tools-on-focus-loss.ts +33 -0
  492. package/src/features/tools/marquee-behavior.ts +2 -2
  493. package/src/features/tools/marquee-mouse-tool.ts +13 -14
  494. package/src/features/tools/marquee-tool.ts +3 -3
  495. package/src/features/tools/model.ts +4 -3
  496. package/src/features/tools/node-creation-tool.ts +8 -8
  497. package/src/features/tools/view.tsx +2 -3
  498. package/src/features/validation/di.config.ts +13 -11
  499. package/src/features/validation/marker-navigator.spec.ts +4 -2
  500. package/src/features/validation/marker-navigator.ts +67 -82
  501. package/src/features/validation/validate.ts +57 -91
  502. package/src/features/viewport/di.config.ts +1 -2
  503. package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
  504. package/src/index.ts +9 -9
  505. package/src/lib/model.ts +4 -4
  506. package/src/model-source/glsp-diagram-server.ts +15 -15
  507. package/src/sprotty-reexport.ts +283 -0
  508. package/src/utils/layout-utils.ts +9 -29
  509. package/src/utils/smodel-util.ts +139 -43
  510. package/src/utils/viewpoint-util.ts +5 -14
  511. package/src/views/base-view-module.ts +5 -1
  512. package/src/views/compartments.tsx +1 -1
  513. package/src/views/glsp-edge-view.tsx +4 -4
  514. package/src/views/issue-marker-view.tsx +2 -2
  515. package/src/views/rounded-corner-view.tsx +2 -3
  516. package/lib/features/layout/layout-commands.d.ts +0 -153
  517. package/lib/features/layout/layout-commands.d.ts.map +0 -1
  518. package/lib/features/layout/layout-commands.js +0 -412
  519. package/lib/features/layout/layout-commands.js.map +0 -1
  520. package/lib/features/layout/layout-commands.spec.d.ts +0 -3
  521. package/lib/features/layout/layout-commands.spec.d.ts.map +0 -1
  522. package/lib/features/layout/layout-commands.spec.js.map +0 -1
  523. package/lib/features/tool-palette/palette-item.d.ts.map +0 -1
  524. package/lib/features/tool-palette/palette-item.js.map +0 -1
  525. package/lib/protocol-reexport.d.ts +0 -45
  526. package/lib/protocol-reexport.d.ts.map +0 -1
  527. package/lib/protocol-reexport.js +0 -75
  528. package/lib/protocol-reexport.js.map +0 -1
  529. package/src/features/layout/layout-commands.ts +0 -424
  530. package/src/features/tool-palette/palette-item.ts +0 -38
  531. package/src/protocol-reexport.ts +0 -64
@@ -0,0 +1,391 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AlignElementsActionHandler = exports.AlignElementsAction = exports.SelectFunction = exports.Alignment = exports.ResizeElementsActionHandler = exports.LayoutElementsActionHandler = exports.ResizeElementsAction = exports.ReduceFunction = exports.ResizeDimension = void 0;
13
+ /********************************************************************************
14
+ * Copyright (c) 2019-2022 EclipseSource and others.
15
+ *
16
+ * This program and the accompanying materials are made available under the
17
+ * terms of the Eclipse Public License v. 2.0 which is available at
18
+ * http://www.eclipse.org/legal/epl-2.0.
19
+ *
20
+ * This Source Code may also be made available under the following Secondary
21
+ * Licenses when the conditions for such availability set forth in the Eclipse
22
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
23
+ * with the GNU Classpath Exception which is available at
24
+ * https://www.gnu.org/software/classpath/license.html.
25
+ *
26
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
27
+ ********************************************************************************/
28
+ const protocol_1 = require("@eclipse-glsp/protocol");
29
+ const inversify_1 = require("inversify");
30
+ const sprotty_1 = require("sprotty");
31
+ const types_1 = require("../../base/types");
32
+ const layout_utils_1 = require("../../utils/layout-utils");
33
+ const smodel_util_1 = require("../../utils/smodel-util");
34
+ const model_1 = require("../change-bounds/model");
35
+ const selection_service_1 = require("../select/selection-service");
36
+ /**
37
+ * Used to specify the desired resize dimension for a {@link ResizeElementsCommand}.
38
+ */
39
+ // eslint-disable-next-line no-shadow
40
+ var ResizeDimension;
41
+ (function (ResizeDimension) {
42
+ ResizeDimension[ResizeDimension["Width"] = 0] = "Width";
43
+ ResizeDimension[ResizeDimension["Height"] = 1] = "Height";
44
+ ResizeDimension[ResizeDimension["Width_And_Height"] = 2] = "Width_And_Height";
45
+ })(ResizeDimension = exports.ResizeDimension || (exports.ResizeDimension = {}));
46
+ var ReduceFunction;
47
+ (function (ReduceFunction) {
48
+ /**
49
+ * Returns the minimal value of the given numbers.
50
+ * @param values Numbers to be evaluated.
51
+ * @returns The reduced number.
52
+ */
53
+ function min(...values) {
54
+ return Math.min(...values);
55
+ }
56
+ ReduceFunction.min = min;
57
+ /**
58
+ * Returns the maximal value of the given numbers.
59
+ * @param values Numbers to be evaluated.
60
+ * @returns The reduced number.
61
+ */
62
+ function max(...values) {
63
+ return Math.max(...values);
64
+ }
65
+ ReduceFunction.max = max;
66
+ /**
67
+ * Computes the average of the given numbers.
68
+ * @param values Numbers to be evaluated.
69
+ */
70
+ function avg(...values) {
71
+ return values.reduce((a, b) => a + b, 0) / values.length;
72
+ }
73
+ ReduceFunction.avg = avg;
74
+ /**
75
+ * Returns the last value of the given numbers.
76
+ * @param values Numbers to be evaluated.
77
+ * @returns The reduced number.
78
+ */
79
+ function first(...values) {
80
+ return values[0];
81
+ }
82
+ ReduceFunction.first = first;
83
+ /**
84
+ * Returns the minimal value of the given numbers.
85
+ * @param values Numbers to be evaluated.
86
+ * @returns The reduced number.
87
+ */
88
+ function last(...values) {
89
+ return values[values.length - 1];
90
+ }
91
+ ReduceFunction.last = last;
92
+ /**
93
+ * Returns the reduce function that corresponds to the given {@link ReduceFunctionType}.
94
+ * @param type The reduce function kind.
95
+ * @returns The corresponding reduce function.
96
+ */
97
+ function get(type) {
98
+ return ReduceFunction[type];
99
+ }
100
+ ReduceFunction.get = get;
101
+ })(ReduceFunction = exports.ReduceFunction || (exports.ReduceFunction = {}));
102
+ var ResizeElementsAction;
103
+ (function (ResizeElementsAction) {
104
+ ResizeElementsAction.KIND = 'resizeElementAction';
105
+ function is(object) {
106
+ return (protocol_1.Action.hasKind(object, ResizeElementsAction.KIND) &&
107
+ (0, protocol_1.hasArrayProp)(object, 'elementIds') &&
108
+ (0, protocol_1.hasNumberProp)(object, 'dimension') &&
109
+ (0, protocol_1.hasStringProp)(object, 'reduceFunction'));
110
+ }
111
+ ResizeElementsAction.is = is;
112
+ function create(options) {
113
+ return Object.assign({ kind: ResizeElementsAction.KIND, dimension: ResizeDimension.Width, elementIds: [] }, options);
114
+ }
115
+ ResizeElementsAction.create = create;
116
+ })(ResizeElementsAction = exports.ResizeElementsAction || (exports.ResizeElementsAction = {}));
117
+ let LayoutElementsActionHandler = class LayoutElementsActionHandler {
118
+ getSelectedElements(selection) {
119
+ const index = this.selectionService.getModelRoot().index;
120
+ const selectedElements = selection.elementIds.length > 0 ? selection.elementIds : this.selectionService.getSelectedElementIDs();
121
+ return (0, smodel_util_1.getElements)(index, selectedElements, this.isActionElement);
122
+ }
123
+ dispatchAction(action) {
124
+ this.actionDispatcher.dispatch(action);
125
+ }
126
+ dispatchActions(actions) {
127
+ this.actionDispatcher.dispatchAll(actions);
128
+ }
129
+ };
130
+ __decorate([
131
+ (0, inversify_1.inject)(types_1.TYPES.IActionDispatcher),
132
+ __metadata("design:type", Object)
133
+ ], LayoutElementsActionHandler.prototype, "actionDispatcher", void 0);
134
+ __decorate([
135
+ (0, inversify_1.inject)(types_1.TYPES.SelectionService),
136
+ __metadata("design:type", selection_service_1.SelectionService)
137
+ ], LayoutElementsActionHandler.prototype, "selectionService", void 0);
138
+ __decorate([
139
+ (0, inversify_1.inject)(types_1.TYPES.IMovementRestrictor),
140
+ (0, inversify_1.optional)(),
141
+ __metadata("design:type", Object)
142
+ ], LayoutElementsActionHandler.prototype, "movementRestrictor", void 0);
143
+ LayoutElementsActionHandler = __decorate([
144
+ (0, inversify_1.injectable)()
145
+ ], LayoutElementsActionHandler);
146
+ exports.LayoutElementsActionHandler = LayoutElementsActionHandler;
147
+ let ResizeElementsActionHandler = class ResizeElementsActionHandler extends LayoutElementsActionHandler {
148
+ handle(action) {
149
+ const elements = this.getSelectedElements(action);
150
+ if (elements.length > 1) {
151
+ const reduceFn = ReduceFunction.get(action.reduceFunction);
152
+ switch (action.dimension) {
153
+ case ResizeDimension.Width:
154
+ return this.resizeWidth(elements, reduceFn);
155
+ case ResizeDimension.Height:
156
+ return this.resizeHeight(elements, reduceFn);
157
+ case ResizeDimension.Width_And_Height:
158
+ return this.resizeWidthAndHeight(elements, reduceFn);
159
+ }
160
+ }
161
+ }
162
+ resizeWidth(elements, reduceFn) {
163
+ const targetWidth = reduceFn(...elements.map(element => element.bounds.width));
164
+ this.dispatchResizeActions(elements, (element, bounds) => {
165
+ // resize around center (horizontal)
166
+ const halfDiffWidth = 0.5 * (targetWidth - element.bounds.width);
167
+ bounds.newPosition.x = element.bounds.x - halfDiffWidth;
168
+ bounds.newSize.width = targetWidth;
169
+ });
170
+ }
171
+ resizeHeight(elements, reduceFn) {
172
+ const targetHeight = reduceFn(...elements.map(element => element.bounds.height));
173
+ this.dispatchResizeActions(elements, (element, bounds) => {
174
+ // resize around middle (vertical)
175
+ const halfDiffHeight = 0.5 * (targetHeight - element.bounds.height);
176
+ bounds.newPosition.y = element.bounds.y - halfDiffHeight;
177
+ bounds.newSize.height = targetHeight;
178
+ });
179
+ }
180
+ resizeWidthAndHeight(elements, reduceFn) {
181
+ const targetWidth = reduceFn(...elements.map(element => element.bounds.width));
182
+ const targetHeight = reduceFn(...elements.map(element => element.bounds.height));
183
+ this.dispatchResizeActions(elements, (element, bounds) => {
184
+ // resize around center and middle (horizontal & vertical)
185
+ const halfDiffWidth = 0.5 * (targetWidth - element.bounds.width);
186
+ const halfDiffHeight = 0.5 * (targetHeight - element.bounds.height);
187
+ bounds.newPosition = { x: element.bounds.x - halfDiffWidth, y: element.bounds.y - halfDiffHeight };
188
+ bounds.newSize = { width: targetWidth, height: targetHeight };
189
+ });
190
+ }
191
+ dispatchResizeActions(elements, change) {
192
+ const elementAndBounds = []; // client- and server-side resize
193
+ elements.forEach(element => {
194
+ const elementChange = this.createElementAndBounds(element, change);
195
+ if (elementChange) {
196
+ // simply skip invalid changes
197
+ elementAndBounds.push(elementChange);
198
+ }
199
+ });
200
+ this.dispatchActions([protocol_1.SetBoundsAction.create(elementAndBounds), protocol_1.ChangeBoundsOperation.create(elementAndBounds)]);
201
+ }
202
+ createElementAndBounds(element, change) {
203
+ const bounds = {
204
+ elementId: element.id,
205
+ newPosition: {
206
+ x: element.bounds.x,
207
+ y: element.bounds.y
208
+ },
209
+ newSize: {
210
+ width: element.bounds.width,
211
+ height: element.bounds.height
212
+ }
213
+ };
214
+ change(element, bounds);
215
+ return (0, layout_utils_1.toValidElementAndBounds)(element, bounds, this.movementRestrictor);
216
+ }
217
+ isActionElement(element) {
218
+ return (0, model_1.isResizable)(element);
219
+ }
220
+ };
221
+ ResizeElementsActionHandler = __decorate([
222
+ (0, inversify_1.injectable)()
223
+ ], ResizeElementsActionHandler);
224
+ exports.ResizeElementsActionHandler = ResizeElementsActionHandler;
225
+ // eslint-disable-next-line no-shadow
226
+ var Alignment;
227
+ (function (Alignment) {
228
+ Alignment[Alignment["Left"] = 0] = "Left";
229
+ Alignment[Alignment["Center"] = 1] = "Center";
230
+ Alignment[Alignment["Right"] = 2] = "Right";
231
+ Alignment[Alignment["Top"] = 3] = "Top";
232
+ Alignment[Alignment["Middle"] = 4] = "Middle";
233
+ Alignment[Alignment["Bottom"] = 5] = "Bottom";
234
+ })(Alignment = exports.Alignment || (exports.Alignment = {}));
235
+ var SelectFunction;
236
+ (function (SelectFunction) {
237
+ /**
238
+ * Select all elements from the given set of elements.
239
+ * @param elements The set of elements.
240
+ * @returns All elements.
241
+ */
242
+ function all(elements) {
243
+ return elements;
244
+ }
245
+ SelectFunction.all = all;
246
+ /**
247
+ * Select the first element from a given set of elements.
248
+ * @param elements The elements.
249
+ * @returns An array containing the first element of the given elements.
250
+ */
251
+ function first(elements) {
252
+ return [elements[0]];
253
+ }
254
+ SelectFunction.first = first;
255
+ /**
256
+ * Select the last element from a given set of elements.
257
+ * @param elements The elements.
258
+ * @returns An array containing the last element of the given elements.
259
+ */
260
+ function last(elements) {
261
+ return [elements[elements.length - 1]];
262
+ }
263
+ SelectFunction.last = last;
264
+ /**
265
+ * Returns the select function that corresponds to the given {@link SelectFunctionType}.
266
+ * @param type The select function type.
267
+ * @returns The corresponding select function.
268
+ */
269
+ function get(kind) {
270
+ return SelectFunction[kind];
271
+ }
272
+ SelectFunction.get = get;
273
+ })(SelectFunction = exports.SelectFunction || (exports.SelectFunction = {}));
274
+ var AlignElementsAction;
275
+ (function (AlignElementsAction) {
276
+ AlignElementsAction.KIND = 'alignElements';
277
+ function is(object) {
278
+ return (protocol_1.Action.hasKind(object, AlignElementsAction.KIND) &&
279
+ (0, protocol_1.hasArrayProp)(object, 'elementIds') &&
280
+ (0, protocol_1.hasNumberProp)(object, 'alignment') &&
281
+ (0, protocol_1.hasStringProp)(object, 'selectFunction'));
282
+ }
283
+ AlignElementsAction.is = is;
284
+ function create(options = {}) {
285
+ return Object.assign({ kind: AlignElementsAction.KIND, elementIds: [], alignment: Alignment.Left, selectFunction: 'all' }, options);
286
+ }
287
+ AlignElementsAction.create = create;
288
+ })(AlignElementsAction = exports.AlignElementsAction || (exports.AlignElementsAction = {}));
289
+ let AlignElementsActionHandler = class AlignElementsActionHandler extends LayoutElementsActionHandler {
290
+ handle(action) {
291
+ const elements = this.getSelectedElements(action);
292
+ const selectFn = SelectFunction.get(action.selectFunction);
293
+ const calculatedElements = selectFn(elements);
294
+ if (elements.length > 1) {
295
+ switch (action.alignment) {
296
+ case Alignment.Left:
297
+ return this.alignLeft(calculatedElements);
298
+ case Alignment.Center:
299
+ return this.alignCenter(calculatedElements);
300
+ case Alignment.Right:
301
+ return this.alignRight(calculatedElements);
302
+ case Alignment.Top:
303
+ return this.alignTop(calculatedElements);
304
+ case Alignment.Middle:
305
+ return this.alignMiddle(calculatedElements);
306
+ case Alignment.Bottom:
307
+ return this.alignBottom(calculatedElements);
308
+ }
309
+ }
310
+ }
311
+ alignLeft(elements) {
312
+ const minX = elements.map(element => element.bounds.x).reduce((a, b) => Math.min(a, b));
313
+ this.dispatchAlignActions(elements, (_, move) => (move.toPosition.x = minX));
314
+ }
315
+ alignCenter(elements) {
316
+ const minX = elements.map(element => element.bounds.x).reduce((a, b) => Math.min(a, b));
317
+ const maxX = elements.map(element => element.bounds.x + element.bounds.width).reduce((a, b) => Math.max(a, b));
318
+ const diffX = maxX - minX;
319
+ const centerX = minX + 0.5 * diffX;
320
+ this.dispatchAlignActions(elements, (element, move) => (move.toPosition.x = centerX - 0.5 * element.bounds.width));
321
+ }
322
+ alignRight(elements) {
323
+ const maxX = elements.map(element => element.bounds.x + element.bounds.width).reduce((a, b) => Math.max(a, b));
324
+ this.dispatchAlignActions(elements, (element, move) => (move.toPosition.x = maxX - element.bounds.width));
325
+ }
326
+ alignTop(elements) {
327
+ const minY = elements.map(element => element.bounds.y).reduce((a, b) => Math.min(a, b));
328
+ this.dispatchAlignActions(elements, (_, move) => (move.toPosition.y = minY));
329
+ }
330
+ alignMiddle(elements) {
331
+ const minY = elements.map(element => element.bounds.y).reduce((a, b) => Math.min(a, b));
332
+ const maxY = elements.map(element => element.bounds.y + element.bounds.height).reduce((a, b) => Math.max(a, b));
333
+ const diffY = maxY - minY;
334
+ const middleY = minY + 0.5 * diffY;
335
+ this.dispatchAlignActions(elements, (element, move) => (move.toPosition.y = middleY - 0.5 * element.bounds.height));
336
+ }
337
+ alignBottom(elements) {
338
+ const maxY = elements.map(element => element.bounds.y + element.bounds.height).reduce((a, b) => Math.max(a, b));
339
+ this.dispatchAlignActions(elements, (element, move) => (move.toPosition.y = maxY - element.bounds.height));
340
+ }
341
+ dispatchAlignActions(elements, change) {
342
+ const moves = []; // client-side move
343
+ const elementAndBounds = []; // server-side move
344
+ elements.forEach(element => {
345
+ const move = this.createElementMove(element, change);
346
+ if (move) {
347
+ // simply skip invalid changes
348
+ moves.push(move);
349
+ const elementAndBound = this.createElementAndBounds(element, move);
350
+ elementAndBounds.push(elementAndBound);
351
+ }
352
+ });
353
+ this.dispatchActions([sprotty_1.MoveAction.create(moves), protocol_1.ChangeBoundsOperation.create(elementAndBounds)]);
354
+ }
355
+ createElementMove(element, change) {
356
+ const move = {
357
+ elementId: element.id,
358
+ fromPosition: {
359
+ x: element.bounds.x,
360
+ y: element.bounds.y
361
+ },
362
+ toPosition: {
363
+ x: element.bounds.x,
364
+ y: element.bounds.y
365
+ }
366
+ };
367
+ change(element, move);
368
+ return (0, layout_utils_1.toValidElementMove)(element, move, this.movementRestrictor);
369
+ }
370
+ createElementAndBounds(element, move) {
371
+ return {
372
+ elementId: element.id,
373
+ newPosition: {
374
+ x: move.toPosition.x,
375
+ y: move.toPosition.y
376
+ },
377
+ newSize: {
378
+ width: element.bounds.width,
379
+ height: element.bounds.height
380
+ }
381
+ };
382
+ }
383
+ isActionElement(element) {
384
+ return (0, model_1.isBoundsAwareMoveable)(element);
385
+ }
386
+ };
387
+ AlignElementsActionHandler = __decorate([
388
+ (0, inversify_1.injectable)()
389
+ ], AlignElementsActionHandler);
390
+ exports.AlignElementsActionHandler = AlignElementsActionHandler;
391
+ //# sourceMappingURL=layout-elements-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-elements-action.js","sourceRoot":"","sources":["../../../src/features/layout/layout-elements-action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import 'mocha';
2
+ import 'reflect-metadata';
3
+ //# sourceMappingURL=layout-elements-action.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-elements-action.spec.d.ts","sourceRoot":"","sources":["../../../src/features/layout/layout-elements-action.spec.ts"],"names":[],"mappings":"AA2BA,OAAO,OAAO,CAAC;AACf,OAAO,kBAAkB,CAAC"}