@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.
- package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts +6 -2
- package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts.map +1 -1
- package/lib/features/element-template/mouse-tracking-element-position-listener.js +13 -2
- package/lib/features/element-template/mouse-tracking-element-position-listener.js.map +1 -1
- package/lib/features/tools/node-creation/node-creation-tool.d.ts +2 -1
- package/lib/features/tools/node-creation/node-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/node-creation/node-creation-tool.js +3 -3
- package/lib/features/tools/node-creation/node-creation-tool.js.map +1 -1
- package/package.json +3 -3
- package/src/features/element-template/mouse-tracking-element-position-listener.ts +26 -3
- package/src/features/tools/node-creation/node-creation-tool.ts +6 -3
|
@@ -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
|
-
|
|
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,
|
|
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.
|
|
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":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,
|
|
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":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EACN,IAAI,EAIJ,UAAU,EAEV,aAAa,EACb,YAAY,EACZ,aAAa,EAGb,yBAAyB,EAI5B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;
|
|
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":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAiB+B;AAC/B,yCAA+C;AAC/C,6CAA2C;AAC3C,uFAAiF;
|
|
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.
|
|
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.
|
|
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": "
|
|
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 {
|
|
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.
|
|
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 {
|