@eclipse-glsp/client 2.2.0-next.359 → 2.2.0-next.360

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.
@@ -13,8 +13,9 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, GModelElement, Point } from '@eclipse-glsp/sprotty';
16
+ import { Action, DisposableCollection, GModelElement, GModelRoot, Point } from '@eclipse-glsp/sprotty';
17
17
  import { DragAwareMouseListener } from '../../base/drag-aware-mouse-listener';
18
+ import { EditorContextService } from '../../base/editor-context-service';
18
19
  import { FeedbackEmitter } from '../../base/feedback/feedback-emitter';
19
20
  import { MoveableElement } from '../../utils/gmodel-util';
20
21
  import { FeedbackAwareTool } from '../tools/base-tools';
@@ -27,14 +28,17 @@ export declare class MouseTrackingElementPositionListener extends DragAwareMouse
27
28
  protected elementId: string;
28
29
  protected tool: PositioningTool;
29
30
  protected cursorPosition: 'top-left' | 'middle';
31
+ protected editorContext?: EditorContextService | undefined;
30
32
  protected moveGhostFeedback: FeedbackEmitter;
31
33
  protected tracker: ChangeBoundsTracker;
32
- constructor(elementId: string, tool: PositioningTool, cursorPosition?: 'top-left' | 'middle');
34
+ protected toDispose: DisposableCollection;
35
+ constructor(elementId: string, tool: PositioningTool, cursorPosition?: 'top-left' | 'middle', editorContext?: EditorContextService | undefined);
33
36
  protected getTrackedElement(target: GModelElement, event: MouseEvent): MoveableElement | undefined;
34
37
  mouseMove(ctx: GModelElement, event: MouseEvent): Action[];
35
38
  protected initialize(element: MoveableElement, target: GModelElement, event: MouseEvent): void;
36
39
  protected initializeElementPosition(element: MoveableElement, target: GModelElement, event: MouseEvent): Point;
37
40
  protected addMoveFeedback(move: TrackedMove, ctx: GModelElement, event: MouseEvent): void;
41
+ protected modelRootChanged(root: Readonly<GModelRoot>): void;
38
42
  dispose(): void;
39
43
  }
40
44
  //# sourceMappingURL=mouse-tracking-element-position-listener.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mouse-tracking-element-position-listener.d.ts","sourceRoot":"","sources":["../../../src/features/element-template/mouse-tracking-element-position-listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAa,aAAa,EAAc,KAAK,EAA6B,MAAM,uBAAuB,CAAC;AACvH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAEhG,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACtD,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;CACrD;AAED,qBAAa,oCAAqC,SAAQ,sBAAsB;IAKxE,SAAS,CAAC,SAAS,EAAE,MAAM;IAC3B,SAAS,CAAC,IAAI,EAAE,eAAe;IAC/B,SAAS,CAAC,cAAc,EAAE,UAAU,GAAG,QAAQ;IANnD,SAAS,CAAC,iBAAiB,EAAE,eAAe,CAAC;IAC7C,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC;gBAGzB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,eAAe,EACrB,cAAc,GAAE,UAAU,GAAG,QAAqB;IAOhE,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,eAAe,GAAG,SAAS;IAKzF,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IA2BnE,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAK9F,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK;IAO9G,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAKhF,OAAO,IAAI,IAAI;CAI3B"}
1
+ {"version":3,"file":"mouse-tracking-element-position-listener.d.ts","sourceRoot":"","sources":["../../../src/features/element-template/mouse-tracking-element-position-listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,MAAM,EAEN,oBAAoB,EACpB,aAAa,EACb,UAAU,EAEV,KAAK,EAGR,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAEhG,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACtD,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;CACrD;AAED,qBAAa,oCAAqC,SAAQ,sBAAsB;IAMxE,SAAS,CAAC,SAAS,EAAE,MAAM;IAC3B,SAAS,CAAC,IAAI,EAAE,eAAe;IAC/B,SAAS,CAAC,cAAc,EAAE,UAAU,GAAG,QAAQ;IAC/C,SAAS,CAAC,aAAa,CAAC;IAR5B,SAAS,CAAC,iBAAiB,EAAE,eAAe,CAAC;IAC7C,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACvC,SAAS,CAAC,SAAS,uBAA8B;gBAGnC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,eAAe,EACrB,cAAc,GAAE,UAAU,GAAG,QAAqB,EAClD,aAAa,CAAC,kCAAsB;IAYlD,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,eAAe,GAAG,SAAS;IAKzF,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IA2BnE,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAK9F,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK;IAO9G,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAKzF,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI;IAKnD,OAAO,IAAI,IAAI;CAI3B"}
@@ -22,13 +22,20 @@ const css_feedback_1 = require("../../base/feedback/css-feedback");
22
22
  const viewpoint_util_1 = require("../../utils/viewpoint-util");
23
23
  const change_bounds_tool_feedback_1 = require("../tools/change-bounds/change-bounds-tool-feedback");
24
24
  class MouseTrackingElementPositionListener extends drag_aware_mouse_listener_1.DragAwareMouseListener {
25
- constructor(elementId, tool, cursorPosition = 'top-left') {
25
+ constructor(elementId, tool, cursorPosition = 'top-left', editorContext) {
26
26
  super();
27
27
  this.elementId = elementId;
28
28
  this.tool = tool;
29
29
  this.cursorPosition = cursorPosition;
30
+ this.editorContext = editorContext;
31
+ this.toDispose = new sprotty_1.DisposableCollection();
30
32
  this.tracker = this.tool.changeBoundsManager.createTracker();
31
33
  this.moveGhostFeedback = this.tool.createFeedbackEmitter();
34
+ this.toDispose.push(this.moveGhostFeedback);
35
+ const modelRootChangedListener = editorContext === null || editorContext === void 0 ? void 0 : editorContext.onModelRootChanged(newRoot => this.modelRootChanged(newRoot));
36
+ if (modelRootChangedListener) {
37
+ this.toDispose.push(modelRootChangedListener);
38
+ }
32
39
  }
33
40
  getTrackedElement(target, event) {
34
41
  const element = target.root.index.getById(this.elementId);
@@ -71,8 +78,12 @@ class MouseTrackingElementPositionListener extends drag_aware_mouse_listener_1.D
71
78
  this.moveGhostFeedback.add(css_feedback_1.ModifyCSSFeedbackAction.create({ elements: [this.elementId], remove: [css_feedback_1.CSS_HIDDEN] }));
72
79
  this.tool.changeBoundsManager.addMoveFeedback(this.moveGhostFeedback, move, ctx, event);
73
80
  }
81
+ modelRootChanged(root) {
82
+ // stop the tracking once we receive a new model root and ensure proper alignment with next next mouse move
83
+ this.tracker.stopTracking();
84
+ }
74
85
  dispose() {
75
- this.moveGhostFeedback.dispose();
86
+ this.toDispose.dispose();
76
87
  super.dispose();
77
88
  }
78
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mouse-tracking-element-position-listener.js","sourceRoot":"","sources":["../../../src/features/element-template/mouse-tracking-element-position-listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mouse-tracking-element-position-listener.js","sourceRoot":"","sources":["../../../src/features/element-template/mouse-tracking-element-position-listener.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@
16
16
  import { Action, Args, Disposable, GModelElement, GhostElement, IModelFactory, TriggerNodeCreationAction } from '@eclipse-glsp/sprotty';
17
17
  import '../../../../css/ghost-element.css';
18
18
  import { DragAwareMouseListener } from '../../../base/drag-aware-mouse-listener';
19
+ import { EditorContextService } from '../../../base/editor-context-service';
19
20
  import { FeedbackEmitter } from '../../../base/feedback/feedback-emitter';
20
21
  import { MoveableElement } from '../../../utils/gmodel-util';
21
22
  import { MouseTrackingElementPositionListener, PositioningTool } from '../../element-template/mouse-tracking-element-position-listener';
@@ -42,7 +43,7 @@ export interface ContainerPositioningTool extends PositioningTool {
42
43
  export declare class NodeInsertTrackingListener extends MouseTrackingElementPositionListener {
43
44
  protected elementTypeId: string;
44
45
  protected tool: ContainerPositioningTool;
45
- constructor(elementId: string, elementTypeId: string, tool: ContainerPositioningTool, cursorPosition?: 'top-left' | 'middle');
46
+ constructor(elementId: string, elementTypeId: string, tool: ContainerPositioningTool, cursorPosition?: 'top-left' | 'middle', editorContext?: EditorContextService);
46
47
  protected addMoveFeedback(move: TrackedMove, ctx: GModelElement, event: MouseEvent): void;
47
48
  }
48
49
  export declare class NodeCreationToolMouseListener extends DragAwareMouseListener {
@@ -1 +1 @@
1
- {"version":3,"file":"node-creation-tool.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/node-creation/node-creation-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-creation-tool.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/node-creation/node-creation-tool.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,7 @@ let NodeCreationTool = NodeCreationTool_1 = class NodeCreationTool extends base_
58
58
  return new insert_indicator_1.InsertIndicator();
59
59
  }
60
60
  createGhostElementTracker(ghostElement, position) {
61
- const trackingListener = new NodeInsertTrackingListener((0, add_template_element_1.getTemplateElementId)(ghostElement.template), this.triggerAction.elementTypeId, this, position);
61
+ const trackingListener = new NodeInsertTrackingListener((0, add_template_element_1.getTemplateElementId)(ghostElement.template), this.triggerAction.elementTypeId, this, position, this.editorContext);
62
62
  return new sprotty_1.DisposableCollection(trackingListener, this.mouseTool.registerListener(trackingListener));
63
63
  }
64
64
  createNodeCreationListener(ghostElement) {
@@ -87,8 +87,8 @@ exports.NodeCreationTool = NodeCreationTool = NodeCreationTool_1 = __decorate([
87
87
  (0, inversify_1.injectable)()
88
88
  ], NodeCreationTool);
89
89
  class NodeInsertTrackingListener extends mouse_tracking_element_position_listener_1.MouseTrackingElementPositionListener {
90
- constructor(elementId, elementTypeId, tool, cursorPosition = 'top-left') {
91
- super(elementId, tool, cursorPosition);
90
+ constructor(elementId, elementTypeId, tool, cursorPosition = 'top-left', editorContext) {
91
+ super(elementId, tool, cursorPosition, editorContext);
92
92
  this.elementTypeId = elementTypeId;
93
93
  this.tool = tool;
94
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"node-creation-tool.js","sourceRoot":"","sources":["../../../../src/features/tools/node-creation/node-creation-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-creation-tool.js","sourceRoot":"","sources":["../../../../src/features/tools/node-creation/node-creation-tool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-glsp/client",
3
- "version": "2.2.0-next.359+763becc",
3
+ "version": "2.2.0-next.360+0c1c838",
4
4
  "description": "A sprotty-based client for GLSP",
5
5
  "keywords": [
6
6
  "eclipse",
@@ -46,7 +46,7 @@
46
46
  "watch": "tsc -w"
47
47
  },
48
48
  "dependencies": {
49
- "@eclipse-glsp/sprotty": "2.2.0-next.359+763becc",
49
+ "@eclipse-glsp/sprotty": "2.2.0-next.360+0c1c838",
50
50
  "autocompleter": "^9.1.2",
51
51
  "file-saver": "^2.0.5",
52
52
  "lodash": "4.17.21",
@@ -63,5 +63,5 @@
63
63
  "publishConfig": {
64
64
  "access": "public"
65
65
  },
66
- "gitHead": "763becc664a2179e6811aa625cbf2a7a47abd547"
66
+ "gitHead": "0c1c838eb8a0ffb9a647a7f617bdf9602086d0af"
67
67
  }
@@ -14,8 +14,19 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
 
17
- import { Action, Dimension, GModelElement, MoveAction, Point, isBoundsAware, isMoveable } from '@eclipse-glsp/sprotty';
17
+ import {
18
+ Action,
19
+ Dimension,
20
+ DisposableCollection,
21
+ GModelElement,
22
+ GModelRoot,
23
+ MoveAction,
24
+ Point,
25
+ isBoundsAware,
26
+ isMoveable
27
+ } from '@eclipse-glsp/sprotty';
18
28
  import { DragAwareMouseListener } from '../../base/drag-aware-mouse-listener';
29
+ import { EditorContextService } from '../../base/editor-context-service';
19
30
  import { CSS_HIDDEN, ModifyCSSFeedbackAction } from '../../base/feedback/css-feedback';
20
31
  import { FeedbackEmitter } from '../../base/feedback/feedback-emitter';
21
32
  import { MoveableElement } from '../../utils/gmodel-util';
@@ -32,15 +43,22 @@ export interface PositioningTool extends FeedbackAwareTool {
32
43
  export class MouseTrackingElementPositionListener extends DragAwareMouseListener {
33
44
  protected moveGhostFeedback: FeedbackEmitter;
34
45
  protected tracker: ChangeBoundsTracker;
46
+ protected toDispose = new DisposableCollection();
35
47
 
36
48
  constructor(
37
49
  protected elementId: string,
38
50
  protected tool: PositioningTool,
39
- protected cursorPosition: 'top-left' | 'middle' = 'top-left'
51
+ protected cursorPosition: 'top-left' | 'middle' = 'top-left',
52
+ protected editorContext?: EditorContextService
40
53
  ) {
41
54
  super();
42
55
  this.tracker = this.tool.changeBoundsManager.createTracker();
43
56
  this.moveGhostFeedback = this.tool.createFeedbackEmitter();
57
+ this.toDispose.push(this.moveGhostFeedback);
58
+ const modelRootChangedListener = editorContext?.onModelRootChanged(newRoot => this.modelRootChanged(newRoot));
59
+ if (modelRootChangedListener) {
60
+ this.toDispose.push(modelRootChangedListener);
61
+ }
44
62
  }
45
63
 
46
64
  protected getTrackedElement(target: GModelElement, event: MouseEvent): MoveableElement | undefined {
@@ -92,8 +110,13 @@ export class MouseTrackingElementPositionListener extends DragAwareMouseListener
92
110
  this.tool.changeBoundsManager.addMoveFeedback(this.moveGhostFeedback, move, ctx, event);
93
111
  }
94
112
 
113
+ protected modelRootChanged(root: Readonly<GModelRoot>): void {
114
+ // stop the tracking once we receive a new model root and ensure proper alignment with next next mouse move
115
+ this.tracker.stopTracking();
116
+ }
117
+
95
118
  override dispose(): void {
96
- this.moveGhostFeedback.dispose();
119
+ this.toDispose.dispose();
97
120
  super.dispose();
98
121
  }
99
122
  }
@@ -34,6 +34,7 @@ import {
34
34
  import { inject, injectable } from 'inversify';
35
35
  import '../../../../css/ghost-element.css';
36
36
  import { DragAwareMouseListener } from '../../../base/drag-aware-mouse-listener';
37
+ import { EditorContextService } from '../../../base/editor-context-service';
37
38
  import { CSS_GHOST_ELEMENT, CSS_HIDDEN, CursorCSS, cursorFeedbackAction } from '../../../base/feedback/css-feedback';
38
39
  import { FeedbackEmitter } from '../../../base/feedback/feedback-emitter';
39
40
  import { EnableDefaultToolsAction } from '../../../base/tool-manager/tool';
@@ -77,7 +78,8 @@ export class NodeCreationTool extends BaseCreationTool<TriggerNodeCreationAction
77
78
  getTemplateElementId(ghostElement.template),
78
79
  this.triggerAction.elementTypeId,
79
80
  this,
80
- position
81
+ position,
82
+ this.editorContext
81
83
  );
82
84
  return new DisposableCollection(trackingListener, this.mouseTool.registerListener(trackingListener));
83
85
  }
@@ -101,9 +103,10 @@ export class NodeInsertTrackingListener extends MouseTrackingElementPositionList
101
103
  elementId: string,
102
104
  protected elementTypeId: string,
103
105
  protected override tool: ContainerPositioningTool,
104
- cursorPosition: 'top-left' | 'middle' = 'top-left'
106
+ cursorPosition: 'top-left' | 'middle' = 'top-left',
107
+ editorContext?: EditorContextService
105
108
  ) {
106
- super(elementId, tool, cursorPosition);
109
+ super(elementId, tool, cursorPosition, editorContext);
107
110
  }
108
111
 
109
112
  protected override addMoveFeedback(move: TrackedMove, ctx: GModelElement, event: MouseEvent): void {