@eclipse-glsp/client 2.1.0-next.301 → 2.1.0-next.302

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 (433) hide show
  1. package/css/glsp-sprotty.css +1 -0
  2. package/css/helper-lines.css +33 -0
  3. package/lib/base/auto-complete/index.d.ts +21 -0
  4. package/lib/base/auto-complete/index.d.ts.map +1 -0
  5. package/lib/base/auto-complete/index.js +37 -0
  6. package/lib/base/auto-complete/index.js.map +1 -0
  7. package/lib/base/feedback/index.d.ts +20 -0
  8. package/lib/base/feedback/index.d.ts.map +1 -0
  9. package/lib/base/feedback/index.js +36 -0
  10. package/lib/base/feedback/index.js.map +1 -0
  11. package/lib/base/focus/index.d.ts +18 -0
  12. package/lib/base/focus/index.d.ts.map +1 -0
  13. package/lib/base/focus/index.js +34 -0
  14. package/lib/base/focus/index.js.map +1 -0
  15. package/lib/base/index.d.ts +32 -0
  16. package/lib/base/index.d.ts.map +1 -0
  17. package/lib/base/index.js +48 -0
  18. package/lib/base/index.js.map +1 -0
  19. package/lib/base/model/index.d.ts +20 -0
  20. package/lib/base/model/index.d.ts.map +1 -0
  21. package/lib/base/model/index.js +36 -0
  22. package/lib/base/model/index.js.map +1 -0
  23. package/lib/base/tool-manager/index.d.ts +18 -0
  24. package/lib/base/tool-manager/index.d.ts.map +1 -0
  25. package/lib/base/tool-manager/index.js +34 -0
  26. package/lib/base/tool-manager/index.js.map +1 -0
  27. package/lib/base/view/index.d.ts +19 -0
  28. package/lib/base/view/index.d.ts.map +1 -0
  29. package/lib/base/view/index.js +35 -0
  30. package/lib/base/view/index.js.map +1 -0
  31. package/lib/default-modules.js +4 -4
  32. package/lib/default-modules.js.map +1 -1
  33. package/lib/features/accessibility/edge-autocomplete/index.d.ts +20 -0
  34. package/lib/features/accessibility/edge-autocomplete/index.d.ts.map +1 -0
  35. package/lib/features/accessibility/edge-autocomplete/index.js +36 -0
  36. package/lib/features/accessibility/edge-autocomplete/index.js.map +1 -0
  37. package/lib/features/accessibility/element-navigation/index.d.ts +22 -0
  38. package/lib/features/accessibility/element-navigation/index.d.ts.map +1 -0
  39. package/lib/features/accessibility/element-navigation/index.js +38 -0
  40. package/lib/features/accessibility/element-navigation/index.js.map +1 -0
  41. package/lib/features/accessibility/focus-tracker/index.d.ts +18 -0
  42. package/lib/features/accessibility/focus-tracker/index.d.ts.map +1 -0
  43. package/lib/features/accessibility/focus-tracker/index.js +34 -0
  44. package/lib/features/accessibility/focus-tracker/index.js.map +1 -0
  45. package/lib/features/accessibility/index.d.ts +31 -0
  46. package/lib/features/accessibility/index.d.ts.map +1 -0
  47. package/lib/features/accessibility/index.js +47 -0
  48. package/lib/features/accessibility/index.js.map +1 -0
  49. package/lib/features/accessibility/key-shortcut/index.d.ts +19 -0
  50. package/lib/features/accessibility/key-shortcut/index.d.ts.map +1 -0
  51. package/lib/features/accessibility/key-shortcut/index.js +35 -0
  52. package/lib/features/accessibility/key-shortcut/index.js.map +1 -0
  53. package/lib/features/accessibility/keyboard-grid/index.d.ts +21 -0
  54. package/lib/features/accessibility/keyboard-grid/index.d.ts.map +1 -0
  55. package/lib/features/accessibility/keyboard-grid/index.js +37 -0
  56. package/lib/features/accessibility/keyboard-grid/index.js.map +1 -0
  57. package/lib/features/accessibility/keyboard-pointer/index.d.ts +22 -0
  58. package/lib/features/accessibility/keyboard-pointer/index.d.ts.map +1 -0
  59. package/lib/features/accessibility/keyboard-pointer/index.js +38 -0
  60. package/lib/features/accessibility/keyboard-pointer/index.js.map +1 -0
  61. package/lib/features/accessibility/keyboard-tool-palette/index.d.ts +18 -0
  62. package/lib/features/accessibility/keyboard-tool-palette/index.d.ts.map +1 -0
  63. package/lib/features/accessibility/keyboard-tool-palette/index.js +34 -0
  64. package/lib/features/accessibility/keyboard-tool-palette/index.js.map +1 -0
  65. package/lib/features/accessibility/move-zoom/index.d.ts +19 -0
  66. package/lib/features/accessibility/move-zoom/index.d.ts.map +1 -0
  67. package/lib/features/accessibility/move-zoom/index.js +35 -0
  68. package/lib/features/accessibility/move-zoom/index.js.map +1 -0
  69. package/lib/features/accessibility/resize-key-tool/index.d.ts +19 -0
  70. package/lib/features/accessibility/resize-key-tool/index.d.ts.map +1 -0
  71. package/lib/features/accessibility/resize-key-tool/index.js +35 -0
  72. package/lib/features/accessibility/resize-key-tool/index.js.map +1 -0
  73. package/lib/features/accessibility/search/index.d.ts +19 -0
  74. package/lib/features/accessibility/search/index.d.ts.map +1 -0
  75. package/lib/features/accessibility/search/index.js +35 -0
  76. package/lib/features/accessibility/search/index.js.map +1 -0
  77. package/lib/features/accessibility/toast/index.d.ts +19 -0
  78. package/lib/features/accessibility/toast/index.d.ts.map +1 -0
  79. package/lib/features/accessibility/toast/index.js +35 -0
  80. package/lib/features/accessibility/toast/index.js.map +1 -0
  81. package/lib/features/accessibility/view-key-tools/index.d.ts +20 -0
  82. package/lib/features/accessibility/view-key-tools/index.d.ts.map +1 -0
  83. package/lib/features/accessibility/view-key-tools/index.js +36 -0
  84. package/lib/features/accessibility/view-key-tools/index.js.map +1 -0
  85. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +6 -3
  86. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -1
  87. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +12 -17
  88. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -1
  89. package/lib/features/bounds/bounds-module.d.ts.map +1 -1
  90. package/lib/features/bounds/bounds-module.js +3 -1
  91. package/lib/features/bounds/bounds-module.js.map +1 -1
  92. package/lib/features/bounds/index.d.ts +24 -0
  93. package/lib/features/bounds/index.d.ts.map +1 -0
  94. package/lib/features/bounds/index.js +40 -0
  95. package/lib/features/bounds/index.js.map +1 -0
  96. package/lib/features/bounds/local-bounds.d.ts +2 -1
  97. package/lib/features/bounds/local-bounds.d.ts.map +1 -1
  98. package/lib/features/bounds/local-bounds.js +7 -0
  99. package/lib/features/bounds/local-bounds.js.map +1 -1
  100. package/lib/features/bounds/set-bounds-feedback-command.d.ts +1 -1
  101. package/lib/features/bounds/set-bounds-feedback-command.d.ts.map +1 -1
  102. package/lib/features/bounds/set-bounds-feedback-command.js +7 -7
  103. package/lib/features/bounds/set-bounds-feedback-command.js.map +1 -1
  104. package/lib/features/change-bounds/index.d.ts +21 -0
  105. package/lib/features/change-bounds/index.d.ts.map +1 -0
  106. package/lib/features/change-bounds/index.js +37 -0
  107. package/lib/features/change-bounds/index.js.map +1 -0
  108. package/lib/features/change-bounds/model.d.ts +4 -0
  109. package/lib/features/change-bounds/model.d.ts.map +1 -1
  110. package/lib/features/change-bounds/model.js +14 -2
  111. package/lib/features/change-bounds/model.js.map +1 -1
  112. package/lib/features/change-bounds/point-position-updater.d.ts +63 -0
  113. package/lib/features/change-bounds/point-position-updater.d.ts.map +1 -0
  114. package/lib/features/change-bounds/point-position-updater.js +87 -0
  115. package/lib/features/change-bounds/point-position-updater.js.map +1 -0
  116. package/lib/features/change-bounds/position-snapper.d.ts +28 -0
  117. package/lib/features/change-bounds/position-snapper.d.ts.map +1 -0
  118. package/lib/features/change-bounds/position-snapper.js +88 -0
  119. package/lib/features/change-bounds/position-snapper.js.map +1 -0
  120. package/lib/features/change-bounds/snap.d.ts +19 -42
  121. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  122. package/lib/features/change-bounds/snap.js +9 -92
  123. package/lib/features/change-bounds/snap.js.map +1 -1
  124. package/lib/features/change-bounds/snap.spec.js +6 -5
  125. package/lib/features/change-bounds/snap.spec.js.map +1 -1
  126. package/lib/features/command-palette/index.d.ts +19 -0
  127. package/lib/features/command-palette/index.d.ts.map +1 -0
  128. package/lib/features/command-palette/index.js +35 -0
  129. package/lib/features/command-palette/index.js.map +1 -0
  130. package/lib/features/context-menu/index.d.ts +20 -0
  131. package/lib/features/context-menu/index.d.ts.map +1 -0
  132. package/lib/features/context-menu/index.js +36 -0
  133. package/lib/features/context-menu/index.js.map +1 -0
  134. package/lib/features/copy-paste/index.d.ts +20 -0
  135. package/lib/features/copy-paste/index.d.ts.map +1 -0
  136. package/lib/features/copy-paste/index.js +36 -0
  137. package/lib/features/copy-paste/index.js.map +1 -0
  138. package/lib/features/decoration/index.d.ts +18 -0
  139. package/lib/features/decoration/index.d.ts.map +1 -0
  140. package/lib/features/decoration/index.js +34 -0
  141. package/lib/features/decoration/index.js.map +1 -0
  142. package/lib/features/element-template/index.d.ts +20 -0
  143. package/lib/features/element-template/index.d.ts.map +1 -0
  144. package/lib/features/element-template/index.js +36 -0
  145. package/lib/features/element-template/index.js.map +1 -0
  146. package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts +6 -3
  147. package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts.map +1 -1
  148. package/lib/features/element-template/mouse-tracking-element-position-listener.js +23 -18
  149. package/lib/features/element-template/mouse-tracking-element-position-listener.js.map +1 -1
  150. package/lib/features/export/index.d.ts +19 -0
  151. package/lib/features/export/index.d.ts.map +1 -0
  152. package/lib/features/export/index.js +35 -0
  153. package/lib/features/export/index.js.map +1 -0
  154. package/lib/features/helper-lines/helper-line-feedback.d.ts +64 -0
  155. package/lib/features/helper-lines/helper-line-feedback.d.ts.map +1 -0
  156. package/lib/features/helper-lines/helper-line-feedback.js +218 -0
  157. package/lib/features/helper-lines/helper-line-feedback.js.map +1 -0
  158. package/lib/features/helper-lines/helper-line-manager-default.d.ts +46 -0
  159. package/lib/features/helper-lines/helper-line-manager-default.d.ts.map +1 -0
  160. package/lib/features/helper-lines/helper-line-manager-default.js +122 -0
  161. package/lib/features/helper-lines/helper-line-manager-default.js.map +1 -0
  162. package/lib/features/helper-lines/helper-line-manager.d.ts +21 -0
  163. package/lib/features/helper-lines/helper-line-manager.d.ts.map +1 -0
  164. package/lib/features/helper-lines/helper-line-manager.js +3 -0
  165. package/lib/features/helper-lines/helper-line-manager.js.map +1 -0
  166. package/lib/features/helper-lines/helper-line-module.d.ts +18 -0
  167. package/lib/features/helper-lines/helper-line-module.d.ts.map +1 -0
  168. package/lib/features/helper-lines/helper-line-module.js +39 -0
  169. package/lib/features/helper-lines/helper-line-module.js.map +1 -0
  170. package/lib/features/helper-lines/index.d.ts +22 -0
  171. package/lib/features/helper-lines/index.d.ts.map +1 -0
  172. package/lib/features/helper-lines/index.js +38 -0
  173. package/lib/features/helper-lines/index.js.map +1 -0
  174. package/lib/features/helper-lines/model.d.ts +62 -0
  175. package/lib/features/helper-lines/model.d.ts.map +1 -0
  176. package/lib/features/helper-lines/model.js +123 -0
  177. package/lib/features/helper-lines/model.js.map +1 -0
  178. package/lib/features/helper-lines/view.d.ts +25 -0
  179. package/lib/features/helper-lines/view.d.ts.map +1 -0
  180. package/lib/features/helper-lines/view.js +52 -0
  181. package/lib/features/helper-lines/view.js.map +1 -0
  182. package/lib/features/hints/index.d.ts +19 -0
  183. package/lib/features/hints/index.d.ts.map +1 -0
  184. package/lib/features/hints/index.js +35 -0
  185. package/lib/features/hints/index.js.map +1 -0
  186. package/lib/features/hover/index.d.ts +18 -0
  187. package/lib/features/hover/index.d.ts.map +1 -0
  188. package/lib/features/hover/index.js +34 -0
  189. package/lib/features/hover/index.js.map +1 -0
  190. package/lib/features/index.d.ts +43 -0
  191. package/lib/features/index.d.ts.map +1 -0
  192. package/lib/features/index.js +59 -0
  193. package/lib/features/index.js.map +1 -0
  194. package/lib/features/label-edit/index.d.ts +19 -0
  195. package/lib/features/label-edit/index.d.ts.map +1 -0
  196. package/lib/features/label-edit/index.js +35 -0
  197. package/lib/features/label-edit/index.js.map +1 -0
  198. package/lib/features/layout/index.d.ts +18 -0
  199. package/lib/features/layout/index.d.ts.map +1 -0
  200. package/lib/features/layout/index.js +34 -0
  201. package/lib/features/layout/index.js.map +1 -0
  202. package/lib/features/navigation/index.d.ts +19 -0
  203. package/lib/features/navigation/index.d.ts.map +1 -0
  204. package/lib/features/navigation/index.js +35 -0
  205. package/lib/features/navigation/index.js.map +1 -0
  206. package/lib/features/reconnect/index.d.ts +17 -0
  207. package/lib/features/reconnect/index.d.ts.map +1 -0
  208. package/lib/features/reconnect/index.js +33 -0
  209. package/lib/features/reconnect/index.js.map +1 -0
  210. package/lib/features/routing/index.d.ts +18 -0
  211. package/lib/features/routing/index.d.ts.map +1 -0
  212. package/lib/features/routing/index.js +34 -0
  213. package/lib/features/routing/index.js.map +1 -0
  214. package/lib/features/save/index.d.ts +18 -0
  215. package/lib/features/save/index.d.ts.map +1 -0
  216. package/lib/features/save/index.js +34 -0
  217. package/lib/features/save/index.js.map +1 -0
  218. package/lib/features/select/index.d.ts +19 -0
  219. package/lib/features/select/index.d.ts.map +1 -0
  220. package/lib/features/select/index.js +35 -0
  221. package/lib/features/select/index.js.map +1 -0
  222. package/lib/features/source-model-watcher/index.d.ts +18 -0
  223. package/lib/features/source-model-watcher/index.d.ts.map +1 -0
  224. package/lib/features/source-model-watcher/index.js +34 -0
  225. package/lib/features/source-model-watcher/index.js.map +1 -0
  226. package/lib/features/source-model-watcher/{source-model-wacher-module.d.ts → source-model-watcher-module.d.ts} +1 -1
  227. package/lib/features/source-model-watcher/source-model-watcher-module.d.ts.map +1 -0
  228. package/lib/features/source-model-watcher/{source-model-wacher-module.js → source-model-watcher-module.js} +1 -1
  229. package/lib/features/source-model-watcher/source-model-watcher-module.js.map +1 -0
  230. package/lib/features/status/index.d.ts +18 -0
  231. package/lib/features/status/index.d.ts.map +1 -0
  232. package/lib/features/status/index.js +34 -0
  233. package/lib/features/status/index.js.map +1 -0
  234. package/lib/features/svg-metadata/index.d.ts +18 -0
  235. package/lib/features/svg-metadata/index.d.ts.map +1 -0
  236. package/lib/features/svg-metadata/index.js +34 -0
  237. package/lib/features/svg-metadata/index.js.map +1 -0
  238. package/lib/features/tool-palette/index.d.ts +18 -0
  239. package/lib/features/tool-palette/index.d.ts.map +1 -0
  240. package/lib/features/tool-palette/index.js +34 -0
  241. package/lib/features/tool-palette/index.js.map +1 -0
  242. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts +28 -12
  243. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts.map +1 -1
  244. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js +91 -51
  245. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js.map +1 -1
  246. package/lib/features/tools/change-bounds/{change-boounds-tool-module.d.ts → change-bounds-tool-module.d.ts} +1 -1
  247. package/lib/features/tools/change-bounds/change-bounds-tool-module.d.ts.map +1 -0
  248. package/lib/features/tools/change-bounds/{change-boounds-tool-module.js → change-bounds-tool-module.js} +1 -1
  249. package/lib/features/tools/change-bounds/change-bounds-tool-module.js.map +1 -0
  250. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +4 -4
  251. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -1
  252. package/lib/features/tools/change-bounds/change-bounds-tool.js +11 -13
  253. package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -1
  254. package/lib/features/tools/change-bounds/index.d.ts +20 -0
  255. package/lib/features/tools/change-bounds/index.d.ts.map +1 -0
  256. package/lib/features/tools/change-bounds/index.js +36 -0
  257. package/lib/features/tools/change-bounds/index.js.map +1 -0
  258. package/lib/features/tools/deletion/index.d.ts +18 -0
  259. package/lib/features/tools/deletion/index.d.ts.map +1 -0
  260. package/lib/features/tools/deletion/index.js +34 -0
  261. package/lib/features/tools/deletion/index.js.map +1 -0
  262. package/lib/features/tools/edge-creation/index.d.ts +21 -0
  263. package/lib/features/tools/edge-creation/index.d.ts.map +1 -0
  264. package/lib/features/tools/edge-creation/index.js +37 -0
  265. package/lib/features/tools/edge-creation/index.js.map +1 -0
  266. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts +20 -6
  267. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts.map +1 -1
  268. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js +10 -14
  269. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js.map +1 -1
  270. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts +18 -2
  271. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts.map +1 -1
  272. package/lib/features/tools/edge-edit/edge-edit-tool.js +6 -6
  273. package/lib/features/tools/edge-edit/edge-edit-tool.js.map +1 -1
  274. package/lib/features/tools/edge-edit/index.d.ts +19 -0
  275. package/lib/features/tools/edge-edit/index.d.ts.map +1 -0
  276. package/lib/features/tools/edge-edit/index.js +35 -0
  277. package/lib/features/tools/edge-edit/index.js.map +1 -0
  278. package/lib/features/tools/index.d.ts +24 -0
  279. package/lib/features/tools/index.d.ts.map +1 -0
  280. package/lib/features/tools/index.js +40 -0
  281. package/lib/features/tools/index.js.map +1 -0
  282. package/lib/features/tools/marquee-selection/index.d.ts +23 -0
  283. package/lib/features/tools/marquee-selection/index.d.ts.map +1 -0
  284. package/lib/features/tools/marquee-selection/index.js +39 -0
  285. package/lib/features/tools/marquee-selection/index.js.map +1 -0
  286. package/lib/features/tools/marquee-selection/marquee-tool.d.ts +20 -1
  287. package/lib/features/tools/marquee-selection/marquee-tool.d.ts.map +1 -1
  288. package/lib/features/tools/marquee-selection/marquee-tool.js +19 -7
  289. package/lib/features/tools/marquee-selection/marquee-tool.js.map +1 -1
  290. package/lib/features/tools/node-creation/index.d.ts +18 -0
  291. package/lib/features/tools/node-creation/index.d.ts.map +1 -0
  292. package/lib/features/tools/node-creation/index.js +34 -0
  293. package/lib/features/tools/node-creation/index.js.map +1 -0
  294. package/lib/features/tools/node-creation/node-creation-tool.d.ts +3 -2
  295. package/lib/features/tools/node-creation/node-creation-tool.d.ts.map +1 -1
  296. package/lib/features/tools/node-creation/node-creation-tool.js +11 -15
  297. package/lib/features/tools/node-creation/node-creation-tool.js.map +1 -1
  298. package/lib/features/undo-redo/index.d.ts +18 -0
  299. package/lib/features/undo-redo/index.d.ts.map +1 -0
  300. package/lib/features/undo-redo/index.js +34 -0
  301. package/lib/features/undo-redo/index.js.map +1 -0
  302. package/lib/features/validation/index.d.ts +20 -0
  303. package/lib/features/validation/index.d.ts.map +1 -0
  304. package/lib/features/validation/index.js +36 -0
  305. package/lib/features/validation/index.js.map +1 -0
  306. package/lib/features/viewport/index.d.ts +20 -0
  307. package/lib/features/viewport/index.d.ts.map +1 -0
  308. package/lib/features/viewport/index.js +36 -0
  309. package/lib/features/viewport/index.js.map +1 -0
  310. package/lib/index.d.ts +5 -139
  311. package/lib/index.d.ts.map +1 -1
  312. package/lib/index.js +19 -157
  313. package/lib/index.js.map +1 -1
  314. package/lib/re-exports.d.ts +17 -0
  315. package/lib/re-exports.d.ts.map +1 -0
  316. package/lib/re-exports.js +33 -0
  317. package/lib/re-exports.js.map +1 -0
  318. package/lib/tsconfig.tsbuildinfo +1 -1
  319. package/lib/utils/geometry-util.d.ts +38 -0
  320. package/lib/utils/geometry-util.d.ts.map +1 -0
  321. package/lib/utils/geometry-util.js +103 -0
  322. package/lib/utils/geometry-util.js.map +1 -0
  323. package/lib/utils/gmodel-util.d.ts +3 -1
  324. package/lib/utils/gmodel-util.d.ts.map +1 -1
  325. package/lib/utils/gmodel-util.js +27 -1
  326. package/lib/utils/gmodel-util.js.map +1 -1
  327. package/lib/utils/html-utils.d.ts +1 -15
  328. package/lib/utils/html-utils.d.ts.map +1 -1
  329. package/lib/utils/html-utils.js +6 -1
  330. package/lib/utils/html-utils.js.map +1 -1
  331. package/lib/utils/index.d.ts +23 -0
  332. package/lib/utils/index.d.ts.map +1 -0
  333. package/lib/utils/index.js +39 -0
  334. package/lib/utils/index.js.map +1 -0
  335. package/lib/utils/viewpoint-util.d.ts +1 -0
  336. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  337. package/lib/utils/viewpoint-util.js +8 -1
  338. package/lib/utils/viewpoint-util.js.map +1 -1
  339. package/lib/views/index.d.ts +2 -2
  340. package/lib/views/index.d.ts.map +1 -1
  341. package/lib/views/index.js +2 -2
  342. package/lib/views/index.js.map +1 -1
  343. package/package.json +3 -3
  344. package/src/base/auto-complete/index.ts +20 -0
  345. package/src/base/feedback/index.ts +19 -0
  346. package/src/base/focus/index.ts +17 -0
  347. package/src/base/index.ts +31 -0
  348. package/src/base/model/index.ts +19 -0
  349. package/src/base/tool-manager/index.ts +17 -0
  350. package/src/base/view/index.ts +18 -0
  351. package/src/default-modules.ts +2 -2
  352. package/src/features/accessibility/edge-autocomplete/index.ts +19 -0
  353. package/src/features/accessibility/element-navigation/index.ts +21 -0
  354. package/src/features/accessibility/focus-tracker/index.ts +17 -0
  355. package/src/features/accessibility/index.ts +30 -0
  356. package/src/features/accessibility/key-shortcut/index.ts +18 -0
  357. package/src/features/accessibility/keyboard-grid/index.ts +20 -0
  358. package/src/features/accessibility/keyboard-pointer/index.ts +21 -0
  359. package/src/features/accessibility/keyboard-tool-palette/index.ts +17 -0
  360. package/src/features/accessibility/move-zoom/index.ts +18 -0
  361. package/src/features/accessibility/resize-key-tool/index.ts +18 -0
  362. package/src/features/accessibility/search/index.ts +18 -0
  363. package/src/features/accessibility/toast/index.ts +18 -0
  364. package/src/features/accessibility/view-key-tools/index.ts +19 -0
  365. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +15 -19
  366. package/src/features/bounds/bounds-module.ts +5 -2
  367. package/src/features/bounds/index.ts +23 -0
  368. package/src/features/bounds/local-bounds.ts +7 -1
  369. package/src/features/bounds/set-bounds-feedback-command.ts +1 -1
  370. package/src/features/change-bounds/index.ts +20 -0
  371. package/src/features/change-bounds/model.ts +18 -2
  372. package/src/features/change-bounds/point-position-updater.ts +120 -0
  373. package/src/features/change-bounds/position-snapper.ts +69 -0
  374. package/src/features/change-bounds/snap.spec.ts +3 -2
  375. package/src/features/change-bounds/snap.ts +8 -82
  376. package/src/features/command-palette/index.ts +18 -0
  377. package/src/features/context-menu/index.ts +19 -0
  378. package/src/features/copy-paste/index.ts +19 -0
  379. package/src/features/decoration/index.ts +17 -0
  380. package/src/features/element-template/index.ts +19 -0
  381. package/src/features/element-template/mouse-tracking-element-position-listener.ts +29 -22
  382. package/src/features/export/index.ts +18 -0
  383. package/src/features/helper-lines/helper-line-feedback.ts +269 -0
  384. package/src/features/helper-lines/helper-line-manager-default.ts +114 -0
  385. package/src/features/helper-lines/helper-line-manager.ts +21 -0
  386. package/src/features/helper-lines/helper-line-module.ts +47 -0
  387. package/src/features/helper-lines/index.ts +21 -0
  388. package/src/features/helper-lines/model.ts +140 -0
  389. package/src/features/helper-lines/view.tsx +60 -0
  390. package/src/features/hints/index.ts +18 -0
  391. package/src/features/hover/index.ts +17 -0
  392. package/src/features/index.ts +42 -0
  393. package/src/features/label-edit/index.ts +18 -0
  394. package/src/features/layout/index.ts +17 -0
  395. package/src/features/navigation/index.ts +18 -0
  396. package/src/features/reconnect/index.ts +16 -0
  397. package/src/features/routing/index.ts +17 -0
  398. package/src/features/save/index.ts +17 -0
  399. package/src/features/select/index.ts +18 -0
  400. package/src/features/source-model-watcher/index.ts +17 -0
  401. package/src/features/status/index.ts +17 -0
  402. package/src/features/svg-metadata/index.ts +17 -0
  403. package/src/features/tool-palette/index.ts +17 -0
  404. package/src/features/tools/change-bounds/change-bounds-tool-feedback.ts +99 -69
  405. package/src/features/tools/change-bounds/change-bounds-tool.ts +12 -11
  406. package/src/features/tools/change-bounds/index.ts +19 -0
  407. package/src/features/tools/deletion/index.ts +17 -0
  408. package/src/features/tools/edge-creation/index.ts +20 -0
  409. package/src/features/tools/edge-edit/edge-edit-tool-feedback.ts +20 -21
  410. package/src/features/tools/edge-edit/edge-edit-tool.ts +5 -6
  411. package/src/features/tools/edge-edit/index.ts +18 -0
  412. package/src/features/tools/index.ts +23 -0
  413. package/src/features/tools/marquee-selection/index.ts +22 -0
  414. package/src/features/tools/marquee-selection/marquee-tool.ts +14 -4
  415. package/src/features/tools/node-creation/index.ts +17 -0
  416. package/src/features/tools/node-creation/node-creation-tool.ts +9 -13
  417. package/src/features/undo-redo/index.ts +17 -0
  418. package/src/features/validation/index.ts +19 -0
  419. package/src/features/viewport/index.ts +19 -0
  420. package/src/index.ts +5 -147
  421. package/src/re-exports.ts +16 -0
  422. package/src/utils/geometry-util.ts +101 -0
  423. package/src/utils/gmodel-util.ts +41 -10
  424. package/src/utils/html-utils.ts +6 -0
  425. package/src/utils/index.ts +22 -0
  426. package/src/utils/viewpoint-util.ts +8 -0
  427. package/src/views/index.ts +2 -2
  428. package/lib/features/source-model-watcher/source-model-wacher-module.d.ts.map +0 -1
  429. package/lib/features/source-model-watcher/source-model-wacher-module.js.map +0 -1
  430. package/lib/features/tools/change-bounds/change-boounds-tool-module.d.ts.map +0 -1
  431. package/lib/features/tools/change-bounds/change-boounds-tool-module.js.map +0 -1
  432. /package/src/features/source-model-watcher/{source-model-wacher-module.ts → source-model-watcher-module.ts} +0 -0
  433. /package/src/features/tools/change-bounds/{change-boounds-tool-module.ts → change-bounds-tool-module.ts} +0 -0
@@ -0,0 +1,19 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './diagram-loader';
17
+ export * from './glsp-model-source';
18
+ export * from './model-initialization-constraint';
19
+ export * from './model-registry';
@@ -0,0 +1,17 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './tool-manager';
17
+ export * from './tool';
@@ -0,0 +1,18 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './key-tool';
17
+ export * from './mouse-tool';
18
+ export * from './view-registry';
@@ -48,11 +48,11 @@ import { layoutModule } from './features/layout/layout-module';
48
48
  import { navigationModule } from './features/navigation/navigation-module';
49
49
  import { routingModule } from './features/routing/routing-module';
50
50
  import { selectModule } from './features/select/select-module';
51
- import { sourceModelWatcherModule } from './features/source-model-watcher/source-model-wacher-module';
51
+ import { sourceModelWatcherModule } from './features/source-model-watcher/source-model-watcher-module';
52
52
  import { statusModule } from './features/status/status-module';
53
53
  import { svgMetadataModule } from './features/svg-metadata/svg-metadata-module';
54
54
  import { toolPaletteModule } from './features/tool-palette/tool-palette-module';
55
- import { changeBoundsToolModule } from './features/tools/change-bounds/change-boounds-tool-module';
55
+ import { changeBoundsToolModule } from './features/tools/change-bounds/change-bounds-tool-module';
56
56
  import { deletionToolModule } from './features/tools/deletion/deletion-tool-module';
57
57
  import { edgeCreationToolModule } from './features/tools/edge-creation/edege-creation-module';
58
58
  import { edgeEditToolModule } from './features/tools/edge-edit/edge-edit-module';
@@ -0,0 +1,19 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './action';
17
+ export * from './edge-autocomplete-context';
18
+ export * from './edge-autocomplete-palette';
19
+ export * from './edge-autocomplete-tool';
@@ -0,0 +1,21 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './diagram-navigation-tool';
17
+ export * from './element-navigation-module';
18
+ export * from './element-navigator';
19
+ export * from './left-right-top-bottom-navigator';
20
+ export * from './local-element-navigator';
21
+ export * from './position-navigator';
@@ -0,0 +1,17 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './focus-tracker-module';
17
+ export * from './focus-tracker-tool';
@@ -0,0 +1,30 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './accessibility-module';
17
+ export * from './actions';
18
+ export * from './edge-autocomplete';
19
+ export * from './element-navigation';
20
+ export * from './focus-tracker';
21
+ export * from './global-keylistener-tool';
22
+ export * from './key-shortcut';
23
+ export * from './keyboard-grid';
24
+ export * from './keyboard-pointer';
25
+ export * from './keyboard-tool-palette';
26
+ export * from './move-zoom';
27
+ export * from './resize-key-tool';
28
+ export * from './search';
29
+ export * from './toast';
30
+ export * from './view-key-tools';
@@ -0,0 +1,18 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './accessible-key-shortcut-tool';
17
+ export * from './accessible-key-shortcut';
18
+ export * from './di.config';
@@ -0,0 +1,20 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './action';
17
+ export * from './constants';
18
+ export * from './keyboard-grid-search-palette';
19
+ export * from './keyboard-grid';
20
+ export * from './keyboard-node-grid';
@@ -0,0 +1,21 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './actions';
17
+ export * from './constants';
18
+ export * from './keyboard-pointer-listener';
19
+ export * from './keyboard-pointer-module';
20
+ export * from './keyboard-pointer-position';
21
+ export * from './keyboard-pointer';
@@ -0,0 +1,17 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './keyboard-tool-palette-module';
17
+ export * from './keyboard-tool-palette';
@@ -0,0 +1,18 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './move-handler';
17
+ export * from './move-zoom-module';
18
+ export * from './zoom-handler';
@@ -0,0 +1,18 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './resize-key-handler';
17
+ export * from './resize-key-module';
18
+ export * from './resize-key-tool';
@@ -0,0 +1,18 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './search-palette-module';
17
+ export * from './search-palette';
18
+ export * from './search-tool';
@@ -0,0 +1,18 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './toast-handler';
17
+ export * from './toast-module';
18
+ export * from './toast-tool';
@@ -0,0 +1,19 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './deselect-key-tool';
17
+ export * from './movement-key-tool';
18
+ export * from './view-key-tools-module';
19
+ export * from './zoom-key-tool';
@@ -14,13 +14,13 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
 
17
- import { Action, GModelElement, ISnapper, KeyListener, KeyTool, Point, TYPES } from '@eclipse-glsp/sprotty';
17
+ import { Action, GModelElement, ISnapper, KeyListener, KeyTool, TYPES } from '@eclipse-glsp/sprotty';
18
18
  import { inject, injectable, optional } from 'inversify';
19
19
  import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
20
20
  import { GLSPActionDispatcher } from '../../../base/action-dispatcher';
21
21
  import { SelectionService } from '../../../base/selection-service';
22
22
  import { Tool } from '../../../base/tool-manager/tool';
23
- import { GridSnapper } from '../../change-bounds/snap';
23
+ import { GridSnapper, unsnapModifier, useSnap } from '../../change-bounds/snap';
24
24
  import { AccessibleKeyShortcutProvider, SetAccessibleKeyShortcutAction } from '../key-shortcut/accessible-key-shortcut';
25
25
  import { MoveElementAction, MoveViewportAction } from '../move-zoom/move-handler';
26
26
 
@@ -63,18 +63,14 @@ export class MoveKeyListener extends KeyListener implements AccessibleKeyShortcu
63
63
 
64
64
  protected readonly token = MoveKeyListener.name;
65
65
 
66
+ protected grid = { x: MoveKeyListener.defaultMoveX, y: MoveKeyListener.defaultMoveY };
67
+
66
68
  constructor(protected readonly tool: MovementKeyTool) {
67
69
  super();
68
- }
69
70
 
70
- protected get grid(): Point {
71
71
  if (this.tool.snapper instanceof GridSnapper) {
72
- return this.tool.snapper.grid;
72
+ this.grid = this.tool.snapper.grid;
73
73
  }
74
- return {
75
- x: MoveKeyListener.defaultMoveX,
76
- y: MoveKeyListener.defaultMoveY
77
- };
78
74
  }
79
75
 
80
76
  registerShortcutKey(): void {
@@ -86,9 +82,9 @@ export class MoveKeyListener extends KeyListener implements AccessibleKeyShortcu
86
82
  );
87
83
  }
88
84
 
89
- override keyDown(element: GModelElement, event: KeyboardEvent): Action[] {
85
+ override keyDown(_element: GModelElement, event: KeyboardEvent): Action[] {
90
86
  const selectedElementIds = this.tool.selectionService.getSelectedElementIDs();
91
- const snap = !event.altKey;
87
+ const snap = useSnap(event);
92
88
  const offsetX = snap ? this.grid.x : 1;
93
89
  const offsetY = snap ? this.grid.y : 1;
94
90
 
@@ -104,31 +100,31 @@ export class MoveKeyListener extends KeyListener implements AccessibleKeyShortcu
104
100
  }
105
101
  } else {
106
102
  if (this.matchesMoveUpKeystroke(event)) {
107
- return [MoveViewportAction.create(0, -this.grid.y)];
103
+ return [MoveViewportAction.create(0, -offsetY)];
108
104
  } else if (this.matchesMoveDownKeystroke(event)) {
109
- return [MoveViewportAction.create(0, this.grid.y)];
105
+ return [MoveViewportAction.create(0, offsetY)];
110
106
  } else if (this.matchesMoveRightKeystroke(event)) {
111
- return [MoveViewportAction.create(this.grid.x, 0)];
107
+ return [MoveViewportAction.create(offsetX, 0)];
112
108
  } else if (this.matchesMoveLeftKeystroke(event)) {
113
- return [MoveViewportAction.create(-this.grid.x, 0)];
109
+ return [MoveViewportAction.create(-offsetX, 0)];
114
110
  }
115
111
  }
116
112
  return [];
117
113
  }
118
114
 
119
115
  protected matchesMoveUpKeystroke(event: KeyboardEvent): boolean {
120
- return matchesKeystroke(event, 'ArrowUp') || matchesKeystroke(event, 'ArrowUp', 'alt');
116
+ return matchesKeystroke(event, 'ArrowUp') || matchesKeystroke(event, 'ArrowUp', unsnapModifier());
121
117
  }
122
118
 
123
119
  protected matchesMoveDownKeystroke(event: KeyboardEvent): boolean {
124
- return matchesKeystroke(event, 'ArrowDown') || matchesKeystroke(event, 'ArrowDown', 'alt');
120
+ return matchesKeystroke(event, 'ArrowDown') || matchesKeystroke(event, 'ArrowDown', unsnapModifier());
125
121
  }
126
122
 
127
123
  protected matchesMoveRightKeystroke(event: KeyboardEvent): boolean {
128
- return matchesKeystroke(event, 'ArrowRight') || matchesKeystroke(event, 'ArrowRight', 'alt');
124
+ return matchesKeystroke(event, 'ArrowRight') || matchesKeystroke(event, 'ArrowRight', unsnapModifier());
129
125
  }
130
126
 
131
127
  protected matchesMoveLeftKeystroke(event: KeyboardEvent): boolean {
132
- return matchesKeystroke(event, 'ArrowLeft') || matchesKeystroke(event, 'ArrowLeft', 'alt');
128
+ return matchesKeystroke(event, 'ArrowLeft') || matchesKeystroke(event, 'ArrowLeft', unsnapModifier());
133
129
  }
134
130
  }
@@ -26,12 +26,13 @@ import {
26
26
  configureCommand,
27
27
  configureLayout
28
28
  } from '@eclipse-glsp/sprotty';
29
+ import { PositionSnapper } from '../change-bounds/position-snapper';
29
30
  import { FreeFormLayouter } from './freeform-layout';
30
31
  import { GLSPHiddenBoundsUpdater } from './glsp-hidden-bounds-updater';
31
32
  import { HBoxLayouterExt } from './hbox-layout';
32
33
  import { LayouterExt } from './layouter';
33
34
  import { LocalComputedBoundsCommand } from './local-bounds';
34
- import { SetBoundsFeebackCommand } from './set-bounds-feedback-command';
35
+ import { SetBoundsFeedbackCommand } from './set-bounds-feedback-command';
35
36
  import { VBoxLayouterExt } from './vbox-layout';
36
37
 
37
38
  export const boundsModule = new FeatureModule((bind, _unbind, isBound, _rebind) => {
@@ -42,7 +43,7 @@ export const boundsModule = new FeatureModule((bind, _unbind, isBound, _rebind)
42
43
  bindAsService(context, TYPES.HiddenVNodePostprocessor, GLSPHiddenBoundsUpdater);
43
44
 
44
45
  configureCommand(context, LocalComputedBoundsCommand);
45
- configureCommand(context, SetBoundsFeebackCommand);
46
+ configureCommand(context, SetBoundsFeedbackCommand);
46
47
 
47
48
  bind(TYPES.Layouter).to(LayouterExt).inSingletonScope();
48
49
  bind(TYPES.LayoutRegistry).to(LayoutRegistry).inSingletonScope();
@@ -50,4 +51,6 @@ export const boundsModule = new FeatureModule((bind, _unbind, isBound, _rebind)
50
51
  configureLayout(context, VBoxLayouter.KIND, VBoxLayouterExt);
51
52
  configureLayout(context, HBoxLayouter.KIND, HBoxLayouterExt);
52
53
  configureLayout(context, FreeFormLayouter.KIND, FreeFormLayouter);
54
+
55
+ bind(PositionSnapper).toSelf();
53
56
  });
@@ -0,0 +1,23 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './bounds-module';
17
+ export * from './freeform-layout';
18
+ export * from './glsp-hidden-bounds-updater';
19
+ export * from './hbox-layout';
20
+ export * from './layouter';
21
+ export * from './local-bounds';
22
+ export * from './set-bounds-feedback-command';
23
+ export * from './vbox-layout';
@@ -25,7 +25,8 @@ import {
25
25
  GModelRoot,
26
26
  GModelRootSchema,
27
27
  RequestBoundsAction,
28
- TYPES
28
+ TYPES,
29
+ ViewerOptions
29
30
  } from '@eclipse-glsp/sprotty';
30
31
  import { inject, injectable } from 'inversify';
31
32
  import { ServerAction } from '../../base/model/glsp-model-source';
@@ -63,6 +64,7 @@ export class LocalComputedBoundsCommand extends Command {
63
64
  static readonly KIND: string = ComputedBoundsAction.KIND;
64
65
 
65
66
  @inject(ComputedBoundsApplicator) protected readonly computedBoundsApplicator: ComputedBoundsApplicator;
67
+ @inject(TYPES.ViewerOptions) protected readonly viewerOptions: ViewerOptions;
66
68
 
67
69
  constructor(@inject(TYPES.Action) readonly action: ComputedBoundsAction) {
68
70
  super();
@@ -70,10 +72,14 @@ export class LocalComputedBoundsCommand extends Command {
70
72
 
71
73
  override execute(context: CommandExecutionContext): GModelRoot | CommandResult {
72
74
  if (LocalComputedBoundsAction.is(this.action)) {
75
+ if (!this.viewerOptions.needsClientLayout) {
76
+ return context.root;
77
+ }
73
78
  // apply computed bounds from the hidden model and return updated model to render new main model
74
79
  this.computedBoundsApplicator.apply(context.root as unknown as GModelRootSchema, this.action);
75
80
  return context.root;
76
81
  }
82
+
77
83
  // computed bounds action from server -> we do not care and do not trigger any update of the main model
78
84
  return {
79
85
  model: context.root,
@@ -45,7 +45,7 @@ export namespace SetBoundsFeedbackAction {
45
45
  }
46
46
 
47
47
  @injectable()
48
- export class SetBoundsFeebackCommand extends SetBoundsCommand implements FeedbackCommand {
48
+ export class SetBoundsFeedbackCommand extends SetBoundsCommand implements FeedbackCommand {
49
49
  static override readonly KIND: string = SetBoundsFeedbackAction.KIND;
50
50
 
51
51
  readonly priority: number = 0;
@@ -0,0 +1,20 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './model';
17
+ export * from './movement-restrictor';
18
+ export * from './point-position-updater';
19
+ export * from './position-snapper';
20
+ export * from './snap';
@@ -62,12 +62,28 @@ export class SResizeHandle extends GChildElement implements Hoverable {
62
62
  return feature === hoverFeedbackFeature;
63
63
  }
64
64
 
65
+ isNwResize(): boolean {
66
+ return this.location === ResizeHandleLocation.TopLeft;
67
+ }
68
+
69
+ isSeResize(): boolean {
70
+ return this.location === ResizeHandleLocation.BottomRight;
71
+ }
72
+
73
+ isNeResize(): boolean {
74
+ return this.location === ResizeHandleLocation.TopRight;
75
+ }
76
+
77
+ isSwResize(): boolean {
78
+ return this.location === ResizeHandleLocation.BottomLeft;
79
+ }
80
+
65
81
  isNwSeResize(): boolean {
66
- return this.location === ResizeHandleLocation.TopLeft || this.location === ResizeHandleLocation.BottomRight;
82
+ return this.isNwResize() || this.isSeResize();
67
83
  }
68
84
 
69
85
  isNeSwResize(): boolean {
70
- return this.location === ResizeHandleLocation.TopRight || this.location === ResizeHandleLocation.BottomLeft;
86
+ return this.isNeResize() || this.isSwResize();
71
87
  }
72
88
  }
73
89