@eclipse-glsp/client 2.2.0-next.332 → 2.2.0-next.334

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 (223) hide show
  1. package/css/change-bounds.css +36 -2
  2. package/css/glsp-sprotty.css +18 -2
  3. package/css/helper-lines.css +3 -3
  4. package/lib/base/default.module.d.ts.map +1 -1
  5. package/lib/base/default.module.js +3 -0
  6. package/lib/base/default.module.js.map +1 -1
  7. package/lib/base/feedback/css-feedback.d.ts +7 -2
  8. package/lib/base/feedback/css-feedback.d.ts.map +1 -1
  9. package/lib/base/feedback/css-feedback.js +10 -2
  10. package/lib/base/feedback/css-feedback.js.map +1 -1
  11. package/lib/base/feedback/feeback-emitter.d.ts +2 -2
  12. package/lib/base/feedback/feeback-emitter.d.ts.map +1 -1
  13. package/lib/base/feedback/feeback-emitter.js +5 -2
  14. package/lib/base/feedback/feeback-emitter.js.map +1 -1
  15. package/lib/base/index.d.ts +1 -0
  16. package/lib/base/index.d.ts.map +1 -1
  17. package/lib/base/index.js +1 -0
  18. package/lib/base/index.js.map +1 -1
  19. package/lib/base/model/diagram-loader.d.ts.map +1 -1
  20. package/lib/base/model/diagram-loader.js +6 -1
  21. package/lib/base/model/diagram-loader.js.map +1 -1
  22. package/lib/base/mouse-position-tracker.d.ts +22 -0
  23. package/lib/base/mouse-position-tracker.d.ts.map +1 -0
  24. package/lib/base/mouse-position-tracker.js +40 -0
  25. package/lib/base/mouse-position-tracker.js.map +1 -0
  26. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +2 -0
  27. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -1
  28. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +15 -7
  29. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -1
  30. package/lib/features/bounds/bounds-module.d.ts.map +1 -1
  31. package/lib/features/bounds/bounds-module.js +2 -0
  32. package/lib/features/bounds/bounds-module.js.map +1 -1
  33. package/lib/features/bounds/freeform-layout.d.ts +17 -1
  34. package/lib/features/bounds/freeform-layout.d.ts.map +1 -1
  35. package/lib/features/bounds/freeform-layout.js +14 -5
  36. package/lib/features/bounds/freeform-layout.js.map +1 -1
  37. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts +5 -4
  38. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts.map +1 -1
  39. package/lib/features/bounds/glsp-hidden-bounds-updater.js +51 -39
  40. package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -1
  41. package/lib/features/bounds/hbox-layout.d.ts +18 -2
  42. package/lib/features/bounds/hbox-layout.d.ts.map +1 -1
  43. package/lib/features/bounds/hbox-layout.js +14 -5
  44. package/lib/features/bounds/hbox-layout.js.map +1 -1
  45. package/lib/features/bounds/index.d.ts +1 -0
  46. package/lib/features/bounds/index.d.ts.map +1 -1
  47. package/lib/features/bounds/index.js +1 -0
  48. package/lib/features/bounds/index.js.map +1 -1
  49. package/lib/features/bounds/layout-data.d.ts +27 -0
  50. package/lib/features/bounds/layout-data.d.ts.map +1 -0
  51. package/lib/features/bounds/layout-data.js +48 -0
  52. package/lib/features/bounds/layout-data.js.map +1 -0
  53. package/lib/features/bounds/local-bounds.d.ts +3 -1
  54. package/lib/features/bounds/local-bounds.d.ts.map +1 -1
  55. package/lib/features/bounds/local-bounds.js +14 -0
  56. package/lib/features/bounds/local-bounds.js.map +1 -1
  57. package/lib/features/bounds/vbox-layout.d.ts +18 -2
  58. package/lib/features/bounds/vbox-layout.d.ts.map +1 -1
  59. package/lib/features/bounds/vbox-layout.js +14 -5
  60. package/lib/features/bounds/vbox-layout.js.map +1 -1
  61. package/lib/features/change-bounds/index.d.ts +1 -0
  62. package/lib/features/change-bounds/index.d.ts.map +1 -1
  63. package/lib/features/change-bounds/index.js +1 -0
  64. package/lib/features/change-bounds/index.js.map +1 -1
  65. package/lib/features/change-bounds/model.d.ts +19 -3
  66. package/lib/features/change-bounds/model.d.ts.map +1 -1
  67. package/lib/features/change-bounds/model.js +92 -4
  68. package/lib/features/change-bounds/model.js.map +1 -1
  69. package/lib/features/change-bounds/movement-restrictor.d.ts +1 -0
  70. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  71. package/lib/features/change-bounds/movement-restrictor.js +7 -1
  72. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  73. package/lib/features/change-bounds/point-position-updater.d.ts +3 -0
  74. package/lib/features/change-bounds/point-position-updater.d.ts.map +1 -1
  75. package/lib/features/change-bounds/point-position-updater.js +7 -2
  76. package/lib/features/change-bounds/point-position-updater.js.map +1 -1
  77. package/lib/features/change-bounds/position-snapper.d.ts +4 -0
  78. package/lib/features/change-bounds/position-snapper.d.ts.map +1 -1
  79. package/lib/features/change-bounds/position-snapper.js +4 -0
  80. package/lib/features/change-bounds/position-snapper.js.map +1 -1
  81. package/lib/features/change-bounds/snap.d.ts +6 -0
  82. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  83. package/lib/features/change-bounds/snap.js +6 -0
  84. package/lib/features/change-bounds/snap.js.map +1 -1
  85. package/lib/features/change-bounds/tracker.d.ts +32 -0
  86. package/lib/features/change-bounds/tracker.d.ts.map +1 -0
  87. package/lib/features/change-bounds/tracker.js +60 -0
  88. package/lib/features/change-bounds/tracker.js.map +1 -0
  89. package/lib/features/debug/debug-bounds-decorator.d.ts +4 -1
  90. package/lib/features/debug/debug-bounds-decorator.d.ts.map +1 -1
  91. package/lib/features/debug/debug-bounds-decorator.js +14 -7
  92. package/lib/features/debug/debug-bounds-decorator.js.map +1 -1
  93. package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts +9 -22
  94. package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts.map +1 -1
  95. package/lib/features/element-template/mouse-tracking-element-position-listener.js +30 -46
  96. package/lib/features/element-template/mouse-tracking-element-position-listener.js.map +1 -1
  97. package/lib/features/helper-lines/helper-line-feedback.d.ts +2 -2
  98. package/lib/features/helper-lines/helper-line-feedback.d.ts.map +1 -1
  99. package/lib/features/helper-lines/helper-line-feedback.js +1 -1
  100. package/lib/features/helper-lines/helper-line-feedback.js.map +1 -1
  101. package/lib/features/helper-lines/helper-line-manager-default.d.ts +2 -1
  102. package/lib/features/helper-lines/helper-line-manager-default.d.ts.map +1 -1
  103. package/lib/features/helper-lines/helper-line-manager-default.js +23 -0
  104. package/lib/features/helper-lines/helper-line-manager-default.js.map +1 -1
  105. package/lib/features/helper-lines/helper-line-manager.d.ts +10 -2
  106. package/lib/features/helper-lines/helper-line-manager.d.ts.map +1 -1
  107. package/lib/features/routing/edge-router.d.ts +4 -0
  108. package/lib/features/routing/edge-router.d.ts.map +1 -1
  109. package/lib/features/routing/edge-router.js +37 -0
  110. package/lib/features/routing/edge-router.js.map +1 -1
  111. package/lib/features/select/select-mouse-listener.d.ts +3 -0
  112. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  113. package/lib/features/select/select-mouse-listener.js +30 -2
  114. package/lib/features/select/select-mouse-listener.js.map +1 -1
  115. package/lib/features/tools/base-tools.d.ts +24 -15
  116. package/lib/features/tools/base-tools.d.ts.map +1 -1
  117. package/lib/features/tools/base-tools.js +0 -18
  118. package/lib/features/tools/base-tools.js.map +1 -1
  119. package/lib/features/tools/change-bounds/change-bounds-manager.d.ts +42 -0
  120. package/lib/features/tools/change-bounds/change-bounds-manager.d.ts.map +1 -0
  121. package/lib/features/tools/change-bounds/change-bounds-manager.js +136 -0
  122. package/lib/features/tools/change-bounds/change-bounds-manager.js.map +1 -0
  123. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts +6 -0
  124. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts.map +1 -1
  125. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js +14 -8
  126. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js.map +1 -1
  127. package/lib/features/tools/change-bounds/change-bounds-tool-module.d.ts.map +1 -1
  128. package/lib/features/tools/change-bounds/change-bounds-tool-module.js +2 -0
  129. package/lib/features/tools/change-bounds/change-bounds-tool-module.js.map +1 -1
  130. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts +6 -15
  131. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts.map +1 -1
  132. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js +24 -72
  133. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js.map +1 -1
  134. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +14 -25
  135. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -1
  136. package/lib/features/tools/change-bounds/change-bounds-tool.js +63 -109
  137. package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -1
  138. package/lib/features/tools/change-bounds/change-bounds-tracker.d.ts +136 -0
  139. package/lib/features/tools/change-bounds/change-bounds-tracker.d.ts.map +1 -0
  140. package/lib/features/tools/change-bounds/change-bounds-tracker.js +301 -0
  141. package/lib/features/tools/change-bounds/change-bounds-tracker.js.map +1 -0
  142. package/lib/features/tools/change-bounds/index.d.ts +2 -0
  143. package/lib/features/tools/change-bounds/index.d.ts.map +1 -1
  144. package/lib/features/tools/change-bounds/index.js +2 -0
  145. package/lib/features/tools/change-bounds/index.js.map +1 -1
  146. package/lib/features/tools/change-bounds/view.d.ts.map +1 -1
  147. package/lib/features/tools/change-bounds/view.js +1 -16
  148. package/lib/features/tools/change-bounds/view.js.map +1 -1
  149. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts +7 -9
  150. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts.map +1 -1
  151. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js +27 -47
  152. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js.map +1 -1
  153. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts +2 -2
  154. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts.map +1 -1
  155. package/lib/features/tools/edge-edit/edge-edit-tool.js +5 -5
  156. package/lib/features/tools/edge-edit/edge-edit-tool.js.map +1 -1
  157. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts +1 -0
  158. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts.map +1 -1
  159. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js +3 -0
  160. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js.map +1 -1
  161. package/lib/features/tools/node-creation/node-creation-tool.d.ts +2 -4
  162. package/lib/features/tools/node-creation/node-creation-tool.d.ts.map +1 -1
  163. package/lib/features/tools/node-creation/node-creation-tool.js +8 -11
  164. package/lib/features/tools/node-creation/node-creation-tool.js.map +1 -1
  165. package/lib/features/viewport/viewport-handler.d.ts +6 -4
  166. package/lib/features/viewport/viewport-handler.d.ts.map +1 -1
  167. package/lib/features/viewport/viewport-handler.js +13 -8
  168. package/lib/features/viewport/viewport-handler.js.map +1 -1
  169. package/lib/utils/gmodel-util.d.ts +20 -1
  170. package/lib/utils/gmodel-util.d.ts.map +1 -1
  171. package/lib/utils/gmodel-util.js +38 -16
  172. package/lib/utils/gmodel-util.js.map +1 -1
  173. package/lib/utils/layout-utils.d.ts +1 -0
  174. package/lib/utils/layout-utils.d.ts.map +1 -1
  175. package/lib/utils/layout-utils.js +5 -1
  176. package/lib/utils/layout-utils.js.map +1 -1
  177. package/package.json +3 -3
  178. package/src/base/default.module.ts +4 -1
  179. package/src/base/feedback/css-feedback.ts +10 -2
  180. package/src/base/feedback/feeback-emitter.ts +6 -3
  181. package/src/base/index.ts +1 -0
  182. package/src/base/model/diagram-loader.ts +5 -1
  183. package/src/base/mouse-position-tracker.ts +25 -0
  184. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +12 -7
  185. package/src/features/bounds/bounds-module.ts +2 -0
  186. package/src/features/bounds/freeform-layout.ts +16 -6
  187. package/src/features/bounds/glsp-hidden-bounds-updater.ts +63 -46
  188. package/src/features/bounds/hbox-layout.ts +18 -9
  189. package/src/features/bounds/index.ts +1 -0
  190. package/src/features/bounds/layout-data.ts +48 -0
  191. package/src/features/bounds/local-bounds.ts +20 -4
  192. package/src/features/bounds/vbox-layout.ts +18 -10
  193. package/src/features/change-bounds/index.ts +1 -0
  194. package/src/features/change-bounds/model.ts +104 -4
  195. package/src/features/change-bounds/movement-restrictor.ts +10 -0
  196. package/src/features/change-bounds/point-position-updater.spec.ts +2 -0
  197. package/src/features/change-bounds/point-position-updater.ts +6 -0
  198. package/src/features/change-bounds/position-snapper.ts +4 -0
  199. package/src/features/change-bounds/snap.ts +6 -0
  200. package/src/features/change-bounds/tracker.ts +63 -0
  201. package/src/features/debug/debug-bounds-decorator.tsx +17 -7
  202. package/src/features/element-template/mouse-tracking-element-position-listener.ts +49 -71
  203. package/src/features/helper-lines/helper-line-feedback.ts +2 -1
  204. package/src/features/helper-lines/helper-line-manager-default.ts +37 -2
  205. package/src/features/helper-lines/helper-line-manager.ts +11 -2
  206. package/src/features/routing/edge-router.ts +42 -0
  207. package/src/features/select/select-mouse-listener.ts +15 -1
  208. package/src/features/tools/base-tools.ts +31 -19
  209. package/src/features/tools/change-bounds/change-bounds-manager.ts +145 -0
  210. package/src/features/tools/change-bounds/change-bounds-tool-feedback.ts +17 -6
  211. package/src/features/tools/change-bounds/change-bounds-tool-module.ts +2 -0
  212. package/src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts +31 -81
  213. package/src/features/tools/change-bounds/change-bounds-tool.ts +89 -148
  214. package/src/features/tools/change-bounds/change-bounds-tracker.ts +455 -0
  215. package/src/features/tools/change-bounds/index.ts +2 -0
  216. package/src/features/tools/change-bounds/view.tsx +2 -14
  217. package/src/features/tools/edge-edit/edge-edit-tool-feedback.ts +34 -52
  218. package/src/features/tools/edge-edit/edge-edit-tool.ts +4 -3
  219. package/src/features/tools/marquee-selection/marquee-mouse-tool.ts +4 -0
  220. package/src/features/tools/node-creation/node-creation-tool.ts +7 -7
  221. package/src/features/viewport/viewport-handler.ts +13 -7
  222. package/src/utils/gmodel-util.ts +41 -5
  223. package/src/utils/layout-utils.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"helper-line-manager.d.ts","sourceRoot":"","sources":["../../../src/features/helper-lines/helper-line-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,WAAW,kBAAkB;IAC/B;;;;;;OAMG;IACH,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC;CAC9F"}
1
+ {"version":3,"file":"helper-line-manager.d.ts","sourceRoot":"","sources":["../../../src/features/helper-lines/helper-line-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,WAAW,kBAAkB;IAC/B;;;;;;OAMG;IACH,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC;IAE3F;;;;;;OAMG;IACH,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC;CAC9G"}
@@ -16,15 +16,19 @@
16
16
  import { AbstractEdgeRouter, BezierEdgeRouter, GConnectableElement, GParentElement, GRoutableElement, ManhattanEdgeRouter, Point, PolylineEdgeRouter, ResolvedHandleMove } from '@eclipse-glsp/sprotty';
17
17
  export declare abstract class GLSPAbstractEdgeRouter extends AbstractEdgeRouter {
18
18
  getTranslatedAnchor(connectable: GConnectableElement, refPoint: Point, refContainer: GParentElement, edge: GRoutableElement, anchorCorrection?: number | undefined): Point;
19
+ cleanupRoutingPoints(edge: GRoutableElement, routingPoints: Point[], updateHandles: boolean, addRoutingPoints: boolean): void;
19
20
  }
20
21
  export declare class GLSPPolylineEdgeRouter extends PolylineEdgeRouter {
21
22
  getTranslatedAnchor(connectable: GConnectableElement, refPoint: Point, refContainer: GParentElement, edge: GRoutableElement, anchorCorrection?: number | undefined): Point;
23
+ cleanupRoutingPoints(edge: GRoutableElement, routingPoints: Point[], updateHandles: boolean, addRoutingPoints: boolean): void;
22
24
  }
23
25
  export declare class GLSPManhattanEdgeRouter extends ManhattanEdgeRouter {
24
26
  getTranslatedAnchor(connectable: GConnectableElement, refPoint: Point, refContainer: GParentElement, edge: GRoutableElement, anchorCorrection?: number | undefined): Point;
25
27
  protected applyInnerHandleMoves(edge: GRoutableElement, moves: ResolvedHandleMove[]): void;
28
+ cleanupRoutingPoints(edge: GRoutableElement, routingPoints: Point[], updateHandles: boolean, addRoutingPoints: boolean): void;
26
29
  }
27
30
  export declare class GLSPBezierEdgeRouter extends BezierEdgeRouter {
28
31
  getTranslatedAnchor(connectable: GConnectableElement, refPoint: Point, refContainer: GParentElement, edge: GRoutableElement, anchorCorrection?: number | undefined): Point;
32
+ cleanupRoutingPoints(edge: GRoutableElement, routingPoints: Point[], updateHandles: boolean, addRoutingPoints: boolean): void;
29
33
  }
30
34
  //# sourceMappingURL=edge-router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edge-router.d.ts","sourceRoot":"","sources":["../../../src/features/routing/edge-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EAErB,MAAM,uBAAuB,CAAC;AAG/B,8BACsB,sBAAuB,SAAQ,kBAAkB;IAC1D,mBAAmB,CACxB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,cAAc,EAC5B,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GACtC,KAAK;CAKX;AAED,qBACa,sBAAuB,SAAQ,kBAAkB;IACjD,mBAAmB,CACxB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,cAAc,EAC5B,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GACtC,KAAK;CAKX;AAED,qBACa,uBAAwB,SAAQ,mBAAmB;IACnD,mBAAmB,CACxB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,cAAc,EAC5B,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GACtC,KAAK;cAMW,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,IAAI;CAuCtG;AAED,qBACa,oBAAqB,SAAQ,gBAAgB;IAC7C,mBAAmB,CACxB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,cAAc,EAC5B,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GACtC,KAAK;CAKX"}
1
+ {"version":3,"file":"edge-router.d.ts","sourceRoot":"","sources":["../../../src/features/routing/edge-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EAErB,MAAM,uBAAuB,CAAC;AAG/B,8BACsB,sBAAuB,SAAQ,kBAAkB;IAC1D,mBAAmB,CACxB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,cAAc,EAC5B,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GACtC,KAAK;IAMC,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAG,IAAI;CAMzI;AAED,qBACa,sBAAuB,SAAQ,kBAAkB;IACjD,mBAAmB,CACxB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,cAAc,EAC5B,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GACtC,KAAK;IAMC,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAG,IAAI;CAMzI;AAED,qBACa,uBAAwB,SAAQ,mBAAmB;IACnD,mBAAmB,CACxB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,cAAc,EAC5B,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GACtC,KAAK;cAMW,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAwC1F,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAG,IAAI;CAMzI;AAED,qBACa,oBAAqB,SAAQ,gBAAgB;IAC7C,mBAAmB,CACxB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,cAAc,EAC5B,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GACtC,KAAK;IAMC,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAG,IAAI;CAMzI"}
@@ -30,6 +30,12 @@ let GLSPAbstractEdgeRouter = class GLSPAbstractEdgeRouter extends sprotty_1.Abst
30
30
  const anchor = super.getTranslatedAnchor(connectable, refPoint, refContainer, edge, anchorCorrection);
31
31
  return sprotty_1.Point.isValid(anchor) ? anchor : refPoint;
32
32
  }
33
+ cleanupRoutingPoints(edge, routingPoints, updateHandles, addRoutingPoints) {
34
+ // sometimes it might happen that the source or target has the bounds not properly set when using the feedback edge
35
+ if (ensureBounds(edge.source) && ensureBounds(edge.target)) {
36
+ super.cleanupRoutingPoints(edge, routingPoints, updateHandles, addRoutingPoints);
37
+ }
38
+ }
33
39
  };
34
40
  exports.GLSPAbstractEdgeRouter = GLSPAbstractEdgeRouter;
35
41
  exports.GLSPAbstractEdgeRouter = GLSPAbstractEdgeRouter = __decorate([
@@ -41,6 +47,12 @@ let GLSPPolylineEdgeRouter = class GLSPPolylineEdgeRouter extends sprotty_1.Poly
41
47
  const anchor = super.getTranslatedAnchor(connectable, refPoint, refContainer, edge, anchorCorrection);
42
48
  return sprotty_1.Point.isValid(anchor) ? anchor : refPoint;
43
49
  }
50
+ cleanupRoutingPoints(edge, routingPoints, updateHandles, addRoutingPoints) {
51
+ // sometimes it might happen that the source or target has the bounds not properly set when using the feedback edge
52
+ if (ensureBounds(edge.source) && ensureBounds(edge.target)) {
53
+ super.cleanupRoutingPoints(edge, routingPoints, updateHandles, addRoutingPoints);
54
+ }
55
+ }
44
56
  };
45
57
  exports.GLSPPolylineEdgeRouter = GLSPPolylineEdgeRouter;
46
58
  exports.GLSPPolylineEdgeRouter = GLSPPolylineEdgeRouter = __decorate([
@@ -97,6 +109,12 @@ let GLSPManhattanEdgeRouter = class GLSPManhattanEdgeRouter extends sprotty_1.Ma
97
109
  }
98
110
  });
99
111
  }
112
+ cleanupRoutingPoints(edge, routingPoints, updateHandles, addRoutingPoints) {
113
+ // sometimes it might happen that the source or target has the bounds not properly set when using the feedback edge
114
+ if (ensureBounds(edge.source) && ensureBounds(edge.target)) {
115
+ super.cleanupRoutingPoints(edge, routingPoints, updateHandles, addRoutingPoints);
116
+ }
117
+ }
100
118
  };
101
119
  exports.GLSPManhattanEdgeRouter = GLSPManhattanEdgeRouter;
102
120
  exports.GLSPManhattanEdgeRouter = GLSPManhattanEdgeRouter = __decorate([
@@ -108,9 +126,28 @@ let GLSPBezierEdgeRouter = class GLSPBezierEdgeRouter extends sprotty_1.BezierEd
108
126
  const anchor = super.getTranslatedAnchor(connectable, refPoint, refContainer, edge, anchorCorrection);
109
127
  return sprotty_1.Point.isValid(anchor) ? anchor : refPoint;
110
128
  }
129
+ cleanupRoutingPoints(edge, routingPoints, updateHandles, addRoutingPoints) {
130
+ // sometimes it might happen that the source or target has the bounds not properly set when using the feedback edge
131
+ if (ensureBounds(edge.source) && ensureBounds(edge.target)) {
132
+ super.cleanupRoutingPoints(edge, routingPoints, updateHandles, addRoutingPoints);
133
+ }
134
+ }
111
135
  };
112
136
  exports.GLSPBezierEdgeRouter = GLSPBezierEdgeRouter;
113
137
  exports.GLSPBezierEdgeRouter = GLSPBezierEdgeRouter = __decorate([
114
138
  (0, inversify_1.injectable)()
115
139
  ], GLSPBezierEdgeRouter);
140
+ function ensureBounds(element) {
141
+ if (!element) {
142
+ return false;
143
+ }
144
+ if (element.bounds) {
145
+ return true;
146
+ }
147
+ if (element.position && element.size) {
148
+ element.bounds = Object.assign(Object.assign({}, element.position), element.size);
149
+ return true;
150
+ }
151
+ return false;
152
+ }
116
153
  //# sourceMappingURL=edge-router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"edge-router.js","sourceRoot":"","sources":["../../../src/features/routing/edge-router.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;AAElF,mDAW+B;AAC/B,yCAAuC;AAGhC,IAAe,sBAAsB,GAArC,MAAe,sBAAuB,SAAQ,4BAAkB;IAC1D,mBAAmB,CACxB,WAAgC,EAChC,QAAe,EACf,YAA4B,EAC5B,IAAsB,EACtB,gBAAqC;QAErC,qHAAqH;QACrH,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACtG,OAAO,eAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrD,CAAC;CACJ,CAAA;AAZqB,wDAAsB;iCAAtB,sBAAsB;IAD3C,IAAA,sBAAU,GAAE;GACS,sBAAsB,CAY3C;AAGM,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,4BAAkB;IACjD,mBAAmB,CACxB,WAAgC,EAChC,QAAe,EACf,YAA4B,EAC5B,IAAsB,EACtB,gBAAqC;QAErC,qHAAqH;QACrH,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACtG,OAAO,eAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrD,CAAC;CACJ,CAAA;AAZY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,sBAAU,GAAE;GACA,sBAAsB,CAYlC;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,6BAAmB;IACnD,mBAAmB,CACxB,WAAgC,EAChC,QAAe,EACf,YAA4B,EAC5B,IAAsB,EACtB,gBAAqC;QAErC,qHAAqH;QACrH,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACtG,OAAO,eAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrD,CAAC;IAEkB,qBAAqB,CAAC,IAAsB,EAAE,KAA2B;QACxF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC;QACxE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;YAChG,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;YAChG,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,eAAe;oBAChB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;wBACZ,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC7B,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;4BACrD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;wBAC/B,CAAC;6BAAM,IAAI,IAAA,sBAAY,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;wBAC9C,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;wBAC9C,CAAC;oBACL,CAAC;yBAAM,IAAI,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1C,IAAI,IAAA,sBAAY,EAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACnE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;4BAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;wBACtD,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;4BAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;wBACtD,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,IAAI,IAAA,sBAAY,EAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACrE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;wBACrE,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;wBACrE,CAAC;oBACL,CAAC;oBACD,MAAM;YACd,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AApDY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CAoDnC;AAGM,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,0BAAgB;IAC7C,mBAAmB,CACxB,WAAgC,EAChC,QAAe,EACf,YAA4B,EAC5B,IAAsB,EACtB,gBAAqC;QAErC,qHAAqH;QACrH,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACtG,OAAO,eAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrD,CAAC;CACJ,CAAA;AAZY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAYhC"}
1
+ {"version":3,"file":"edge-router.js","sourceRoot":"","sources":["../../../src/features/routing/edge-router.ts"],"names":[],"mappings":"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"}
@@ -16,14 +16,17 @@
16
16
  import { Action, GModelElement, SelectMouseListener } from '@eclipse-glsp/sprotty';
17
17
  import { Ranked } from '../../base/ranked';
18
18
  import { SelectableElement } from '../../utils';
19
+ import { ChangeBoundsManager } from '../tools';
19
20
  /**
20
21
  * Ranked select mouse listener that is executed before default mouse listeners when using the RankedMouseTool.
21
22
  * This ensures that default mouse listeners are working on a model that has selection changes already applied.
22
23
  */
23
24
  export declare class RankedSelectMouseListener extends SelectMouseListener implements Ranked {
24
25
  rank: number;
26
+ readonly changeBoundsManager?: ChangeBoundsManager;
25
27
  protected handleSelectTarget(selectableTarget: SelectableElement, deselectedElements: GModelElement[], event: MouseEvent): (Action | Promise<Action>)[];
26
28
  protected handleDeselectTarget(selectableTarget: SelectableElement, event: MouseEvent): (Action | Promise<Action>)[];
27
29
  protected handleDeselectAll(deselectedElements: GModelElement[], event: MouseEvent): (Action | Promise<Action>)[];
30
+ protected handleButton(target: GModelElement, event: MouseEvent): (Action | Promise<Action>)[] | undefined;
28
31
  }
29
32
  //# sourceMappingURL=select-mouse-listener.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-mouse-listener.d.ts","sourceRoot":"","sources":["../../../src/features/select/select-mouse-listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAsB,aAAa,EAAgB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACrH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,mBAAoB,YAAW,MAAM;IAChF,IAAI,EAAE,MAAM,CAA6B;cAEtB,kBAAkB,CACjC,gBAAgB,EAAE,iBAAiB,EACnC,kBAAkB,EAAE,aAAa,EAAE,EACnC,KAAK,EAAE,UAAU,GAClB,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;cAaZ,oBAAoB,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;cAM1G,iBAAiB,CAAC,kBAAkB,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,UAAU,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;CAK7H"}
1
+ {"version":3,"file":"select-mouse-listener.d.ts","sourceRoot":"","sources":["../../../src/features/select/select-mouse-listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAsB,aAAa,EAAgB,mBAAmB,EAAS,MAAM,uBAAuB,CAAC;AAE5H,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C;;;GAGG;AACH,qBACa,yBAA0B,SAAQ,mBAAoB,YAAW,MAAM;IAChF,IAAI,EAAE,MAAM,CAA6B;IAEO,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;cAEhF,kBAAkB,CACjC,gBAAgB,EAAE,iBAAiB,EACnC,kBAAkB,EAAE,aAAa,EAAE,EACnC,KAAK,EAAE,UAAU,GAClB,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;cAaZ,oBAAoB,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;cAM1G,iBAAiB,CAAC,kBAAkB,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,UAAU,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;cAMvG,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,SAAS;CAOtH"}
@@ -1,4 +1,13 @@
1
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.RankedSelectMouseListener = void 0;
4
13
  /********************************************************************************
@@ -17,12 +26,15 @@ exports.RankedSelectMouseListener = void 0;
17
26
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
18
27
  ********************************************************************************/
19
28
  const sprotty_1 = require("@eclipse-glsp/sprotty");
29
+ const inversify_1 = require("inversify");
20
30
  const ranked_1 = require("../../base/ranked");
31
+ const change_bounds_1 = require("../change-bounds");
32
+ const tools_1 = require("../tools");
21
33
  /**
22
34
  * Ranked select mouse listener that is executed before default mouse listeners when using the RankedMouseTool.
23
35
  * This ensures that default mouse listeners are working on a model that has selection changes already applied.
24
36
  */
25
- class RankedSelectMouseListener extends sprotty_1.SelectMouseListener {
37
+ let RankedSelectMouseListener = class RankedSelectMouseListener extends sprotty_1.SelectMouseListener {
26
38
  constructor() {
27
39
  super(...arguments);
28
40
  this.rank = ranked_1.Ranked.DEFAULT_RANK - 100; /* we want to be executed before all default mouse listeners */
@@ -46,6 +58,22 @@ class RankedSelectMouseListener extends sprotty_1.SelectMouseListener {
46
58
  result.push(sprotty_1.SelectAction.create({ selectedElementsIDs: [], deselectedElementsIDs: deselectedElements.map(e => e.id) }));
47
59
  return result;
48
60
  }
49
- }
61
+ handleButton(target, event) {
62
+ var _a;
63
+ if (target instanceof change_bounds_1.SResizeHandle && ((_a = this.changeBoundsManager) === null || _a === void 0 ? void 0 : _a.useSymmetricResize(event))) {
64
+ // avoid de-selecting elements when resizing with a modifier key
65
+ return [];
66
+ }
67
+ return super.handleButton(target, event);
68
+ }
69
+ };
50
70
  exports.RankedSelectMouseListener = RankedSelectMouseListener;
71
+ __decorate([
72
+ (0, inversify_1.inject)(sprotty_1.TYPES.IChangeBoundsManager),
73
+ (0, inversify_1.optional)(),
74
+ __metadata("design:type", tools_1.ChangeBoundsManager)
75
+ ], RankedSelectMouseListener.prototype, "changeBoundsManager", void 0);
76
+ exports.RankedSelectMouseListener = RankedSelectMouseListener = __decorate([
77
+ (0, inversify_1.injectable)()
78
+ ], RankedSelectMouseListener);
51
79
  //# sourceMappingURL=select-mouse-listener.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-mouse-listener.js","sourceRoot":"","sources":["../../../src/features/select/select-mouse-listener.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAAqH;AACrH,8CAA2C;AAG3C;;;GAGG;AACH,MAAa,yBAA0B,SAAQ,6BAAmB;IAAlE;;QACI,SAAI,GAAW,eAAM,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,+DAA+D;IA8B7G,CAAC;IA5BsB,kBAAkB,CACjC,gBAAmC,EACnC,kBAAmC,EACnC,KAAiB;QAEjB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CACP,sBAAY,CAAC,MAAM,CAAC;YAChB,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1C,qBAAqB,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,4BAAkB,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9D,OAAO,MAAM,CAAC;IAClB,CAAC;IAEkB,oBAAoB,CAAC,gBAAmC,EAAE,KAAiB;QAC1F,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,sBAAY,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5G,OAAO,MAAM,CAAC;IAClB,CAAC;IAEkB,iBAAiB,CAAC,kBAAmC,EAAE,KAAiB;QACvF,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,sBAAY,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxH,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AA/BD,8DA+BC"}
1
+ {"version":3,"file":"select-mouse-listener.js","sourceRoot":"","sources":["../../../src/features/select/select-mouse-listener.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAA4H;AAC5H,yCAAyD;AACzD,8CAA2C;AAE3C,oDAAiD;AACjD,oCAA+C;AAE/C;;;GAGG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,6BAAmB;IAA3D;;QACH,SAAI,GAAW,eAAM,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,+DAA+D;IAwC7G,CAAC;IApCsB,kBAAkB,CACjC,gBAAmC,EACnC,kBAAmC,EACnC,KAAiB;QAEjB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CACP,sBAAY,CAAC,MAAM,CAAC;YAChB,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1C,qBAAqB,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,4BAAkB,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9D,OAAO,MAAM,CAAC;IAClB,CAAC;IAEkB,oBAAoB,CAAC,gBAAmC,EAAE,KAAiB;QAC1F,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,sBAAY,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5G,OAAO,MAAM,CAAC;IAClB,CAAC;IAEkB,iBAAiB,CAAC,kBAAmC,EAAE,KAAiB;QACvF,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,sBAAY,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxH,OAAO,MAAM,CAAC;IAClB,CAAC;IAEkB,YAAY,CAAC,MAAqB,EAAE,KAAiB;;QACpE,IAAI,MAAM,YAAY,6BAAa,KAAI,MAAA,IAAI,CAAC,mBAAmB,0CAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA,EAAE,CAAC;YACzF,gEAAgE;YAChE,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;CACJ,CAAA;AAzCY,8DAAyB;AAGuB;IAAxD,IAAA,kBAAM,EAAC,eAAK,CAAC,oBAAoB,CAAC;IAAE,IAAA,oBAAQ,GAAE;8BAAgC,2BAAmB;sEAAC;oCAH1F,yBAAyB;IADrC,IAAA,sBAAU,GAAE;GACA,yBAAyB,CAyCrC"}
@@ -21,21 +21,11 @@ import { IFeedbackActionDispatcher, IFeedbackEmitter, MaybeActions } from '../..
21
21
  import { Tool } from '../../base/tool-manager/tool';
22
22
  import { GLSPKeyTool } from '../../base/view/key-tool';
23
23
  import { GLSPMouseTool } from '../../base/view/mouse-tool';
24
- /**
25
- * A reusable base implementation for edit {@link Tool}s.
26
- */
27
- export declare abstract class BaseEditTool implements Tool {
28
- protected feedbackDispatcher: IFeedbackActionDispatcher;
29
- protected actionDispatcher: GLSPActionDispatcher;
30
- protected mouseTool: GLSPMouseTool;
31
- protected keyTool: GLSPKeyTool;
32
- protected readonly editorContext: EditorContextService;
33
- protected readonly toDisposeOnDisable: DisposableCollection;
34
- abstract enable(): void;
35
- disable(): void;
36
- abstract id: string;
37
- get isEditTool(): boolean;
38
- dispatchActions(actions: Action[]): Promise<void>;
24
+ export interface FeedbackAwareTool extends Tool {
25
+ /**
26
+ * Creates a new feedback emitter helper object. While anything can serve as a feedback emitter,
27
+ * this method ensures that the emitter is stable and does not change between model updates.
28
+ */
39
29
  createFeedbackEmitter(): FeedbackEmitter;
40
30
  /**
41
31
  * Registers `actions` to be sent out as feedback, i.e., changes that are re-established whenever the `GModelRoot`
@@ -58,6 +48,25 @@ export declare abstract class BaseEditTool implements Tool {
58
48
  */
59
49
  deregisterFeedback(feedbackEmitter?: IFeedbackEmitter, cleanupActions?: MaybeActions): void;
60
50
  }
51
+ /**
52
+ * A reusable base implementation for edit {@link Tool}s.
53
+ */
54
+ export declare abstract class BaseEditTool implements FeedbackAwareTool {
55
+ protected feedbackDispatcher: IFeedbackActionDispatcher;
56
+ protected actionDispatcher: GLSPActionDispatcher;
57
+ protected mouseTool: GLSPMouseTool;
58
+ protected keyTool: GLSPKeyTool;
59
+ protected readonly editorContext: EditorContextService;
60
+ protected readonly toDisposeOnDisable: DisposableCollection;
61
+ abstract enable(): void;
62
+ disable(): void;
63
+ abstract id: string;
64
+ get isEditTool(): boolean;
65
+ dispatchActions(actions: Action[]): Promise<void>;
66
+ createFeedbackEmitter(): FeedbackEmitter;
67
+ registerFeedback(feedbackActions: Action[], feedbackEmitter?: IFeedbackEmitter, cleanupActions?: MaybeActions): Disposable;
68
+ deregisterFeedback(feedbackEmitter?: IFeedbackEmitter, cleanupActions?: MaybeActions): void;
69
+ }
61
70
  export declare abstract class BaseCreationTool<T extends Action> extends BaseEditTool implements IActionHandler {
62
71
  protected abstract isTriggerAction: (obj: any) => obj is T;
63
72
  protected triggerAction: T;
@@ -1 +1 @@
1
- {"version":3,"file":"base-tools.d.ts","sourceRoot":"","sources":["../../../src/features/tools/base-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,cAAc,EAAS,MAAM,uBAAuB,CAAC;AAExG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAC3H,OAAO,EAAqB,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D;;GAEG;AACH,8BACsB,YAAa,YAAW,IAAI;IACL,SAAS,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IAChE,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAC3D,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;IACrC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAErF,SAAS,CAAC,QAAQ,CAAC,kBAAkB,uBAA8B;IAEnE,QAAQ,CAAC,MAAM,IAAI,IAAI;IAEvB,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,qBAAqB,IAAI,eAAe;IAIxC;;;;;;;;;OASG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,eAAe,GAAE,gBAAuB,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,UAAU;IAIhI;;;;;;;OAOG;IACH,kBAAkB,CAAC,eAAe,GAAE,gBAAuB,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI;CAGpG;AAED,8BACsB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,YAAa,YAAW,cAAc;IACnG,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;IAC3D,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;IAE3B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAO5B,MAAM,IAAI,IAAI;IAOvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI;CACtC"}
1
+ {"version":3,"file":"base-tools.d.ts","sourceRoot":"","sources":["../../../src/features/tools/base-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,cAAc,EAAS,MAAM,uBAAuB,CAAC;AAExG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAC3H,OAAO,EAAqB,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,WAAW,iBAAkB,SAAQ,IAAI;IAC3C;;;OAGG;IACH,qBAAqB,IAAI,eAAe,CAAC;IAEzC;;;;;;;;;OASG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAE3H;;;;;;;OAOG;IACH,kBAAkB,CAAC,eAAe,CAAC,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC/F;AAED;;GAEG;AACH,8BACsB,YAAa,YAAW,iBAAiB;IAClB,SAAS,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IAChE,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAC3D,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;IACrC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAErF,SAAS,CAAC,QAAQ,CAAC,kBAAkB,uBAA8B;IAEnE,QAAQ,CAAC,MAAM,IAAI,IAAI;IAEvB,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,qBAAqB,IAAI,eAAe;IAIxC,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,eAAe,GAAE,gBAAuB,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,UAAU;IAIhI,kBAAkB,CAAC,eAAe,GAAE,gBAAuB,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI;CAGpG;AAED,8BACsB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,YAAa,YAAW,cAAc;IACnG,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;IAC3D,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;IAE3B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAO5B,MAAM,IAAI,IAAI;IAOvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI;CACtC"}
@@ -51,27 +51,9 @@ let BaseEditTool = class BaseEditTool {
51
51
  createFeedbackEmitter() {
52
52
  return this.feedbackDispatcher.createEmitter();
53
53
  }
54
- /**
55
- * Registers `actions` to be sent out as feedback, i.e., changes that are re-established whenever the `GModelRoot`
56
- * has been set or updated.
57
- *
58
- * @param feedbackActions the actions to be sent out.
59
- * @param feedbackEmitter the emitter sending out feedback actions (this tool by default).
60
- * @param cleanupActions the actions to be sent out when the feedback is de-registered through the returned Disposable.
61
- * @returns A 'Disposable' that de-registers the feedback and cleans up any pending feedback with the given `cleanupActions`.
62
- * @deprecated It is recommended to create a {@link createFeedbackEmitter dedicated emitter} per feedback instead of using the tool.
63
- */
64
54
  registerFeedback(feedbackActions, feedbackEmitter = this, cleanupActions) {
65
55
  return this.feedbackDispatcher.registerFeedback(feedbackEmitter, feedbackActions, cleanupActions);
66
56
  }
67
- /**
68
- * De-registers all feedback from the given `feedbackEmitter` (this tool by default) and cleans up any pending feedback with the
69
- * given `cleanupActions`.
70
- *
71
- * @param feedbackEmitter the emitter to be deregistered (this tool by default).
72
- * @param cleanupActions the actions to be dispatched right after the deregistration to clean up any pending feedback.
73
- * @deprecated It is recommended to create a {@link createFeedbackEmitter dedicated emitter} per feedback and dispose it like that.
74
- */
75
57
  deregisterFeedback(feedbackEmitter = this, cleanupActions) {
76
58
  this.feedbackDispatcher.deregisterFeedback(feedbackEmitter, cleanupActions);
77
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-tools.js","sourceRoot":"","sources":["../../../src/features/tools/base-tools.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAAwG;AACxG,yCAA+C;AAC/C,oEAAoE;AACpE,8EAAyE;AAGzE,uDAAuE;AACvE,uDAAuD;AACvD,2DAA2D;AAE3D;;GAEG;AAEI,IAAe,YAAY,GAA3B,MAAe,YAAY;IAA3B;QAOgB,uBAAkB,GAAG,IAAI,8BAAoB,EAAE,CAAC;IA+CvE,CAAC;IA3CG,OAAO;QACH,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAID,IAAI,UAAU;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,eAAe,CAAC,OAAiB;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,qBAAqB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;IACnD,CAAC;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,eAAyB,EAAE,kBAAoC,IAAI,EAAE,cAA6B;QAC/G,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,eAAe,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IACtG,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAAC,kBAAoC,IAAI,EAAE,cAA6B;QACtF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAChF,CAAC;CACJ,CAAA;AAtDqB,oCAAY;AACqB;IAAlD,IAAA,kBAAM,EAAC,eAAK,CAAC,yBAAyB,CAAC;;wDAAyD;AACtD;IAA1C,IAAA,kBAAM,EAAC,eAAK,CAAC,iBAAiB,CAAC;8BAA6B,wCAAoB;sDAAC;AACjD;IAAhC,IAAA,kBAAM,EAAC,0BAAa,CAAC;8BAAsB,0BAAa;+CAAC;AAC3B;IAA9B,IAAA,kBAAM,EAAC,sBAAW,CAAC;8BAAoB,sBAAW;6CAAC;AACH;IAAhD,IAAA,kBAAM,EAAC,6CAAoB,CAAC;8BAAmC,6CAAoB;mDAAC;uBALnE,YAAY;IADjC,IAAA,sBAAU,GAAE;GACS,YAAY,CAsDjC;AAGM,IAAe,gBAAgB,GAA/B,MAAe,gBAAmC,SAAQ,YAAY;IAIzE,MAAM,CAAC,MAAc;QACjB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,OAAO,wBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAEQ,MAAM;QACX,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,SAAS,CAAC,yBAAyB,IAAI,CAAC,EAAE,0CAA0C,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;CAGJ,CAAA;AAnBqB,4CAAgB;2BAAhB,gBAAgB;IADrC,IAAA,sBAAU,GAAE;GACS,gBAAgB,CAmBrC"}
1
+ {"version":3,"file":"base-tools.js","sourceRoot":"","sources":["../../../src/features/tools/base-tools.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAAwG;AACxG,yCAA+C;AAC/C,oEAAoE;AACpE,8EAAyE;AAGzE,uDAAuE;AACvE,uDAAuD;AACvD,2DAA2D;AAgC3D;;GAEG;AAEI,IAAe,YAAY,GAA3B,MAAe,YAAY;IAA3B;QAOgB,uBAAkB,GAAG,IAAI,8BAAoB,EAAE,CAAC;IA6BvE,CAAC;IAzBG,OAAO;QACH,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAID,IAAI,UAAU;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,eAAe,CAAC,OAAiB;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,qBAAqB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;IACnD,CAAC;IAED,gBAAgB,CAAC,eAAyB,EAAE,kBAAoC,IAAI,EAAE,cAA6B;QAC/G,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,eAAe,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IACtG,CAAC;IAED,kBAAkB,CAAC,kBAAoC,IAAI,EAAE,cAA6B;QACtF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAChF,CAAC;CACJ,CAAA;AApCqB,oCAAY;AACqB;IAAlD,IAAA,kBAAM,EAAC,eAAK,CAAC,yBAAyB,CAAC;;wDAAyD;AACtD;IAA1C,IAAA,kBAAM,EAAC,eAAK,CAAC,iBAAiB,CAAC;8BAA6B,wCAAoB;sDAAC;AACjD;IAAhC,IAAA,kBAAM,EAAC,0BAAa,CAAC;8BAAsB,0BAAa;+CAAC;AAC3B;IAA9B,IAAA,kBAAM,EAAC,sBAAW,CAAC;8BAAoB,sBAAW;6CAAC;AACH;IAAhD,IAAA,kBAAM,EAAC,6CAAoB,CAAC;8BAAmC,6CAAoB;mDAAC;uBALnE,YAAY;IADjC,IAAA,sBAAU,GAAE;GACS,YAAY,CAoCjC;AAGM,IAAe,gBAAgB,GAA/B,MAAe,gBAAmC,SAAQ,YAAY;IAIzE,MAAM,CAAC,MAAc;QACjB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,OAAO,wBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAEQ,MAAM;QACX,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,SAAS,CAAC,yBAAyB,IAAI,CAAC,EAAE,0CAA0C,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;CAGJ,CAAA;AAnBqB,4CAAgB;2BAAhB,gBAAgB;IADrC,IAAA,sBAAU,GAAE;GACS,gBAAgB,CAmBrC"}
@@ -0,0 +1,42 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2024 Axon Ivy AG and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { Dimension, GModelElement, ISnapper, KeyboardModifier, MousePositionTracker, Movement, Point } from '@eclipse-glsp/sprotty';
17
+ import { FeedbackEmitter } from '../../../base';
18
+ import { IMovementRestrictor, ResizeHandleLocation } from '../../change-bounds';
19
+ import { IHelperLineManager } from '../../helper-lines';
20
+ import { ChangeBoundsTracker, TrackedElementMove } from './change-bounds-tracker';
21
+ export declare const CSS_RESIZE_MODE = "resize-mode";
22
+ export declare class ChangeBoundsManager {
23
+ readonly positionTracker: MousePositionTracker;
24
+ readonly movementRestrictor?: IMovementRestrictor | undefined;
25
+ readonly snapper?: ISnapper | undefined;
26
+ readonly helperLineManager?: IHelperLineManager | undefined;
27
+ constructor(positionTracker: MousePositionTracker, movementRestrictor?: IMovementRestrictor | undefined, snapper?: ISnapper | undefined, helperLineManager?: IHelperLineManager | undefined);
28
+ unsnapModifier(): KeyboardModifier | undefined;
29
+ usePositionSnap(arg: MouseEvent | KeyboardEvent | any): boolean;
30
+ snapPosition(element: GModelElement, position: Point): Point;
31
+ isValid(element: GModelElement): boolean;
32
+ hasValidPosition(element: GModelElement, position?: Point): boolean;
33
+ hasValidSize(element: GModelElement, size?: Dimension): boolean;
34
+ getMinimumSize(element: GModelElement): Dimension;
35
+ useMovementRestriction(arg: MouseEvent | KeyboardEvent | any): boolean;
36
+ restrictMovement(element: GModelElement, movement: Movement): Movement;
37
+ addRestrictionFeedback(feedback: FeedbackEmitter, move: TrackedElementMove): FeedbackEmitter;
38
+ defaultResizeLocations(): ResizeHandleLocation[];
39
+ useSymmetricResize(arg: MouseEvent | KeyboardEvent | any): boolean;
40
+ createTracker(): ChangeBoundsTracker;
41
+ }
42
+ //# sourceMappingURL=change-bounds-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-bounds-manager.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,SAAS,EACT,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,QAAQ,EACR,KAAK,EAKR,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EACH,mBAAmB,EACnB,oBAAoB,EAGvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElF,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,qBACa,mBAAmB;IAEM,QAAQ,CAAC,eAAe,EAAE,oBAAoB;IAC7B,QAAQ,CAAC,kBAAkB,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC;IACP,QAAQ,CAAC,iBAAiB,CAAC;gBAHlC,eAAe,EAAE,oBAAoB,EACpB,kBAAkB,CAAC,iCAAqB,EACnD,OAAO,CAAC,sBAAU,EACR,iBAAiB,CAAC,gCAAoB;IAGjG,cAAc,IAAI,gBAAgB,GAAG,SAAS;IAI9C,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,GAAG,GAAG,GAAG,OAAO;IAI/D,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK;IAI5D,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAIxC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO;IAInE,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO;IAY/D,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS;IAcjD,sBAAsB,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,GAAG,GAAG,GAAG,OAAO;IAItE,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ;IAetE,sBAAsB,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,GAAG,eAAe;IAU5F,sBAAsB,IAAI,oBAAoB,EAAE;IAShD,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,GAAG,GAAG,GAAG,OAAO;IAIlE,aAAa,IAAI,mBAAmB;CAGvC"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2024 Axon Ivy AG and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ 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;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
27
+ return function (target, key) { decorator(target, key, paramIndex); }
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.ChangeBoundsManager = exports.CSS_RESIZE_MODE = void 0;
31
+ const sprotty_1 = require("@eclipse-glsp/sprotty");
32
+ const inversify_1 = require("inversify");
33
+ const utils_1 = require("../../../utils");
34
+ const layout_data_1 = require("../../bounds/layout-data");
35
+ const change_bounds_1 = require("../../change-bounds");
36
+ const change_bounds_tracker_1 = require("./change-bounds-tracker");
37
+ exports.CSS_RESIZE_MODE = 'resize-mode';
38
+ let ChangeBoundsManager = class ChangeBoundsManager {
39
+ constructor(positionTracker, movementRestrictor, snapper, helperLineManager) {
40
+ this.positionTracker = positionTracker;
41
+ this.movementRestrictor = movementRestrictor;
42
+ this.snapper = snapper;
43
+ this.helperLineManager = helperLineManager;
44
+ }
45
+ unsnapModifier() {
46
+ return 'shift';
47
+ }
48
+ usePositionSnap(arg) {
49
+ return typeof arg === 'boolean' ? arg : !arg.shiftKey;
50
+ }
51
+ snapPosition(element, position) {
52
+ var _a, _b;
53
+ return (_b = (_a = this.snapper) === null || _a === void 0 ? void 0 : _a.snap(position, element)) !== null && _b !== void 0 ? _b : position;
54
+ }
55
+ isValid(element) {
56
+ return this.hasValidPosition(element) && this.hasValidSize(element);
57
+ }
58
+ hasValidPosition(element, position) {
59
+ return !(0, sprotty_1.isLocateable)(element) || (0, utils_1.isValidMove)(element, position !== null && position !== void 0 ? position : element.position, this.movementRestrictor);
60
+ }
61
+ hasValidSize(element, size) {
62
+ if (!(0, sprotty_1.isBoundsAware)(element)) {
63
+ return true;
64
+ }
65
+ const dimension = size !== null && size !== void 0 ? size : element.bounds;
66
+ const minimum = this.getMinimumSize(element);
67
+ if (dimension.width < minimum.width || dimension.height < minimum.height) {
68
+ return false;
69
+ }
70
+ return true;
71
+ }
72
+ getMinimumSize(element) {
73
+ if (!(0, sprotty_1.isBoundsAware)(element)) {
74
+ return sprotty_1.Dimension.EMPTY;
75
+ }
76
+ const definedMinimum = (0, utils_1.minDimensions)(element);
77
+ const computedMinimum = layout_data_1.LayoutAware.getComputedDimensions(element);
78
+ return computedMinimum
79
+ ? {
80
+ width: Math.max(definedMinimum.width, computedMinimum.width),
81
+ height: Math.max(definedMinimum.height, computedMinimum.height)
82
+ }
83
+ : definedMinimum;
84
+ }
85
+ useMovementRestriction(arg) {
86
+ return this.usePositionSnap(arg);
87
+ }
88
+ restrictMovement(element, movement) {
89
+ var _a;
90
+ const minimumMovement = (_a = this.helperLineManager) === null || _a === void 0 ? void 0 : _a.getMinimumMoveVector(element, true, movement.direction);
91
+ if (!minimumMovement) {
92
+ return movement;
93
+ }
94
+ // minimum is given in absolute coordinates
95
+ // if minimum is not reached, reset to original position for that coordinate
96
+ const absVector = sprotty_1.Vector.abs(movement.vector);
97
+ const targetPosition = {
98
+ x: absVector.x < minimumMovement.x ? movement.from.x : movement.to.x,
99
+ y: absVector.y < minimumMovement.y ? movement.from.y : movement.to.y
100
+ };
101
+ return sprotty_1.Point.move(movement.from, targetPosition);
102
+ }
103
+ addRestrictionFeedback(feedback, move) {
104
+ if (this.movementRestrictor) {
105
+ feedback.add((0, change_bounds_1.movementRestrictionFeedback)(move.element, this.movementRestrictor, move.valid), (0, change_bounds_1.removeMovementRestrictionFeedback)(move.element, this.movementRestrictor));
106
+ }
107
+ return feedback;
108
+ }
109
+ defaultResizeLocations() {
110
+ return [
111
+ change_bounds_1.ResizeHandleLocation.TopLeft,
112
+ change_bounds_1.ResizeHandleLocation.TopRight,
113
+ change_bounds_1.ResizeHandleLocation.BottomRight,
114
+ change_bounds_1.ResizeHandleLocation.BottomLeft
115
+ ];
116
+ }
117
+ useSymmetricResize(arg) {
118
+ return typeof arg === 'boolean' ? arg : arg.ctrlKey;
119
+ }
120
+ createTracker() {
121
+ return new change_bounds_tracker_1.ChangeBoundsTracker(this);
122
+ }
123
+ };
124
+ exports.ChangeBoundsManager = ChangeBoundsManager;
125
+ exports.ChangeBoundsManager = ChangeBoundsManager = __decorate([
126
+ (0, inversify_1.injectable)(),
127
+ __param(0, (0, inversify_1.inject)(sprotty_1.MousePositionTracker)),
128
+ __param(1, (0, inversify_1.optional)()),
129
+ __param(1, (0, inversify_1.inject)(sprotty_1.TYPES.IMovementRestrictor)),
130
+ __param(2, (0, inversify_1.optional)()),
131
+ __param(2, (0, inversify_1.inject)(sprotty_1.TYPES.ISnapper)),
132
+ __param(3, (0, inversify_1.optional)()),
133
+ __param(3, (0, inversify_1.inject)(sprotty_1.TYPES.IHelperLineManager)),
134
+ __metadata("design:paramtypes", [sprotty_1.MousePositionTracker, Object, Object, Object])
135
+ ], ChangeBoundsManager);
136
+ //# sourceMappingURL=change-bounds-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-bounds-manager.js","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-manager.ts"],"names":[],"mappings":"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"}
@@ -15,14 +15,19 @@
15
15
  ********************************************************************************/
16
16
  import { Action, CommandExecutionContext, CommandReturn } from '@eclipse-glsp/sprotty';
17
17
  import { FeedbackCommand } from '../../../base/feedback/feedback-command';
18
+ import { ResizeHandleLocation } from '../../change-bounds/model';
19
+ import { ChangeBoundsManager } from './change-bounds-manager';
18
20
  export interface ShowChangeBoundsToolResizeFeedbackAction extends Action {
19
21
  kind: typeof ShowChangeBoundsToolResizeFeedbackAction.KIND;
20
22
  elementId: string;
23
+ resizeLocations?: ResizeHandleLocation[];
21
24
  }
22
25
  export declare namespace ShowChangeBoundsToolResizeFeedbackAction {
23
26
  const KIND = "showChangeBoundsToolResizeFeedback";
24
27
  function is(object: any): object is ShowChangeBoundsToolResizeFeedbackAction;
28
+ /** @deprecated Use the create method with the options object parameter instead and set the 'elementId' parameter. */
25
29
  function create(elementId: string): ShowChangeBoundsToolResizeFeedbackAction;
30
+ function create(options: Omit<ShowChangeBoundsToolResizeFeedbackAction, 'kind'>): ShowChangeBoundsToolResizeFeedbackAction;
26
31
  }
27
32
  export interface HideChangeBoundsToolResizeFeedbackAction extends Action {
28
33
  kind: typeof HideChangeBoundsToolResizeFeedbackAction.KIND;
@@ -35,6 +40,7 @@ export declare namespace HideChangeBoundsToolResizeFeedbackAction {
35
40
  export declare class ShowChangeBoundsToolResizeFeedbackCommand extends FeedbackCommand {
36
41
  static readonly KIND = "showChangeBoundsToolResizeFeedback";
37
42
  protected action: ShowChangeBoundsToolResizeFeedbackAction;
43
+ protected changeBoundsManager: ChangeBoundsManager;
38
44
  execute(context: CommandExecutionContext): CommandReturn;
39
45
  }
40
46
  export declare class HideChangeBoundsToolResizeFeedbackCommand extends FeedbackCommand {
@@ -1 +1 @@
1
- {"version":3,"file":"change-bounds-tool-feedback.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,aAAa,EAAwB,MAAM,uBAAuB,CAAC;AAG7G,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAK1E,MAAM,WAAW,wCAAyC,SAAQ,MAAM;IACpE,IAAI,EAAE,OAAO,wCAAwC,CAAC,IAAI,CAAC;IAE3D,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,yBAAiB,wCAAwC,CAAC;IAC/C,MAAM,IAAI,uCAAuC,CAAC;IAEzD,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,wCAAwC,CAElF;IAED,SAAgB,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,wCAAwC,CAKlF;CACJ;AAED,MAAM,WAAW,wCAAyC,SAAQ,MAAM;IACpE,IAAI,EAAE,OAAO,wCAAwC,CAAC,IAAI,CAAC;CAC9D;AAED,yBAAiB,wCAAwC,CAAC;IAC/C,MAAM,IAAI,uCAAuC,CAAC;IAEzD,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,wCAAwC,CAElF;IAED,SAAgB,MAAM,IAAI,wCAAwC,CAEjE;CACJ;AAED,qBACa,yCAA0C,SAAQ,eAAe;IAC1E,MAAM,CAAC,QAAQ,CAAC,IAAI,wCAAiD;IAE/C,SAAS,CAAC,MAAM,EAAE,wCAAwC,CAAC;IAEjF,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;CAW3D;AAED,qBACa,yCAA0C,SAAQ,eAAe;IAC1E,MAAM,CAAC,QAAQ,CAAC,IAAI,wCAAiD;IAE/C,SAAS,CAAC,MAAM,EAAE,wCAAwC,CAAC;IAEjF,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;CAK3D;AAED,MAAM,WAAW,0BAA2B,SAAQ,MAAM;IACtD,IAAI,EAAE,OAAO,0BAA0B,CAAC,IAAI,CAAC;CAChD;AAED,yBAAiB,0BAA0B,CAAC;IACjC,MAAM,IAAI,2BAA2B,CAAC;IAE7C,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,0BAA0B,CAEpE;IAED,SAAgB,MAAM,IAAI,0BAA0B,CAEnD;CACJ;AAED,MAAM,WAAW,uBAAwB,SAAQ,MAAM;IACnD,IAAI,EAAE,OAAO,uBAAuB,CAAC,IAAI,CAAC;CAC7C;AAED,yBAAiB,uBAAuB,CAAC;IAC9B,MAAM,IAAI,wBAAwB,CAAC;IAE1C,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,uBAAuB,CAEjE;IAED,SAAgB,MAAM,IAAI,uBAAuB,CAEhD;CACJ"}
1
+ {"version":3,"file":"change-bounds-tool-feedback.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,aAAa,EAAwB,MAAM,uBAAuB,CAAC;AAG7G,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAG1E,OAAO,EAAE,oBAAoB,EAAsD,MAAM,2BAA2B,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,wCAAyC,SAAQ,MAAM;IACpE,IAAI,EAAE,OAAO,wCAAwC,CAAC,IAAI,CAAC;IAE3D,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC5C;AAED,yBAAiB,wCAAwC,CAAC;IAC/C,MAAM,IAAI,uCAAuC,CAAC;IAEzD,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,wCAAwC,CAElF;IAED,qHAAqH;IACrH,SAAgB,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,wCAAwC,CAAC;IACpF,SAAgB,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,wCAAwC,EAAE,MAAM,CAAC,GAAG,wCAAwC,CAAC;CAUrI;AAED,MAAM,WAAW,wCAAyC,SAAQ,MAAM;IACpE,IAAI,EAAE,OAAO,wCAAwC,CAAC,IAAI,CAAC;CAC9D;AAED,yBAAiB,wCAAwC,CAAC;IAC/C,MAAM,IAAI,uCAAuC,CAAC;IAEzD,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,wCAAwC,CAElF;IAED,SAAgB,MAAM,IAAI,wCAAwC,CAEjE;CACJ;AAED,qBACa,yCAA0C,SAAQ,eAAe;IAC1E,MAAM,CAAC,QAAQ,CAAC,IAAI,wCAAiD;IAE/C,SAAS,CAAC,MAAM,EAAE,wCAAwC,CAAC;IAC7C,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAEvF,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;CAa3D;AAED,qBACa,yCAA0C,SAAQ,eAAe;IAC1E,MAAM,CAAC,QAAQ,CAAC,IAAI,wCAAiD;IAE/C,SAAS,CAAC,MAAM,EAAE,wCAAwC,CAAC;IAEjF,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;CAK3D;AAED,MAAM,WAAW,0BAA2B,SAAQ,MAAM;IACtD,IAAI,EAAE,OAAO,0BAA0B,CAAC,IAAI,CAAC;CAChD;AAED,yBAAiB,0BAA0B,CAAC;IACjC,MAAM,IAAI,2BAA2B,CAAC;IAE7C,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,0BAA0B,CAEpE;IAED,SAAgB,MAAM,IAAI,0BAA0B,CAEnD;CACJ;AAED,MAAM,WAAW,uBAAwB,SAAQ,MAAM;IACnD,IAAI,EAAE,OAAO,uBAAuB,CAAC,IAAI,CAAC;CAC7C;AAED,yBAAiB,uBAAuB,CAAC;IAC9B,MAAM,IAAI,wBAAwB,CAAC;IAE1C,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,uBAAuB,CAEjE;IAED,SAAgB,MAAM,IAAI,uBAAuB,CAEhD;CACJ"}
@@ -31,6 +31,7 @@ const feedback_command_1 = require("../../../base/feedback/feedback-command");
31
31
  const glsp_model_source_1 = require("../../../base/model/glsp-model-source");
32
32
  const gmodel_util_1 = require("../../../utils/gmodel-util");
33
33
  const model_1 = require("../../change-bounds/model");
34
+ const change_bounds_manager_1 = require("./change-bounds-manager");
34
35
  var ShowChangeBoundsToolResizeFeedbackAction;
35
36
  (function (ShowChangeBoundsToolResizeFeedbackAction) {
36
37
  ShowChangeBoundsToolResizeFeedbackAction.KIND = 'showChangeBoundsToolResizeFeedback';
@@ -38,11 +39,9 @@ var ShowChangeBoundsToolResizeFeedbackAction;
38
39
  return sprotty_1.Action.hasKind(object, ShowChangeBoundsToolResizeFeedbackAction.KIND) && (0, sprotty_1.hasStringProp)(object, 'elementId');
39
40
  }
40
41
  ShowChangeBoundsToolResizeFeedbackAction.is = is;
41
- function create(elementId) {
42
- return {
43
- kind: ShowChangeBoundsToolResizeFeedbackAction.KIND,
44
- elementId
45
- };
42
+ function create(options) {
43
+ const opts = typeof options === 'string' ? { elementId: options } : options;
44
+ return Object.assign({ kind: ShowChangeBoundsToolResizeFeedbackAction.KIND }, opts);
46
45
  }
47
46
  ShowChangeBoundsToolResizeFeedbackAction.create = create;
48
47
  })(ShowChangeBoundsToolResizeFeedbackAction || (exports.ShowChangeBoundsToolResizeFeedbackAction = ShowChangeBoundsToolResizeFeedbackAction = {}));
@@ -60,11 +59,14 @@ var HideChangeBoundsToolResizeFeedbackAction;
60
59
  })(HideChangeBoundsToolResizeFeedbackAction || (exports.HideChangeBoundsToolResizeFeedbackAction = HideChangeBoundsToolResizeFeedbackAction = {}));
61
60
  let ShowChangeBoundsToolResizeFeedbackCommand = class ShowChangeBoundsToolResizeFeedbackCommand extends feedback_command_1.FeedbackCommand {
62
61
  execute(context) {
62
+ var _a;
63
63
  const index = context.root.index;
64
64
  (0, gmodel_util_1.forEachElement)(index, model_1.isResizable, element => element.id !== this.action.elementId && (0, model_1.removeResizeHandles)(element));
65
- const resizeElement = index.getById(this.action.elementId);
66
- if (resizeElement && (0, model_1.isResizable)(resizeElement)) {
67
- (0, model_1.addResizeHandles)(resizeElement);
65
+ if (this.action.elementId) {
66
+ const resizeElement = index.getById(this.action.elementId);
67
+ if (resizeElement && (0, model_1.isResizable)(resizeElement)) {
68
+ (0, model_1.addResizeHandles)(resizeElement, (_a = this.action.resizeLocations) !== null && _a !== void 0 ? _a : this.changeBoundsManager.defaultResizeLocations());
69
+ }
68
70
  }
69
71
  return context.root;
70
72
  }
@@ -75,6 +77,10 @@ __decorate([
75
77
  (0, inversify_1.inject)(sprotty_1.TYPES.Action),
76
78
  __metadata("design:type", Object)
77
79
  ], ShowChangeBoundsToolResizeFeedbackCommand.prototype, "action", void 0);
80
+ __decorate([
81
+ (0, inversify_1.inject)(sprotty_1.TYPES.IChangeBoundsManager),
82
+ __metadata("design:type", change_bounds_manager_1.ChangeBoundsManager)
83
+ ], ShowChangeBoundsToolResizeFeedbackCommand.prototype, "changeBoundsManager", void 0);
78
84
  exports.ShowChangeBoundsToolResizeFeedbackCommand = ShowChangeBoundsToolResizeFeedbackCommand = __decorate([
79
85
  (0, inversify_1.injectable)()
80
86
  ], ShowChangeBoundsToolResizeFeedbackCommand);