@eclipse-glsp/client 0.9.0-next.da0ffb79 → 0.9.0-next.e0116720
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/LICENSE +642 -277
- package/lib/base/types.d.ts +1 -0
- package/lib/base/types.d.ts.map +1 -1
- package/lib/base/types.js +2 -1
- package/lib/base/types.js.map +1 -1
- package/lib/features/layout/di.config.d.ts +0 -4
- package/lib/features/layout/di.config.d.ts.map +1 -1
- package/lib/features/layout/di.config.js +1 -37
- package/lib/features/layout/di.config.js.map +1 -1
- package/lib/features/tools/marquee-behavior.d.ts +42 -0
- package/lib/features/tools/marquee-behavior.d.ts.map +1 -0
- package/lib/features/tools/marquee-behavior.js +128 -0
- package/lib/features/tools/marquee-behavior.js.map +1 -0
- package/lib/features/tools/marquee-behavior.spec.d.ts +17 -0
- package/lib/features/tools/marquee-behavior.spec.d.ts.map +1 -0
- package/lib/features/tools/marquee-behavior.spec.js +165 -0
- package/lib/features/tools/marquee-behavior.spec.js.map +1 -0
- package/lib/features/tools/marquee-mouse-tool.d.ts +9 -14
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js +30 -119
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +3 -3
- package/src/base/types.ts +2 -1
- package/src/features/layout/di.config.ts +3 -25
- package/src/features/tools/marquee-behavior.spec.ts +175 -0
- package/src/features/tools/marquee-behavior.ts +158 -0
- package/src/features/tools/marquee-mouse-tool.ts +46 -144
- package/src/index.ts +1 -0
|
@@ -30,11 +30,13 @@ const protocol_1 = require("@eclipse-glsp/protocol");
|
|
|
30
30
|
const inversify_1 = require("inversify");
|
|
31
31
|
const sprotty_1 = require("sprotty");
|
|
32
32
|
const dom_helper_1 = require("sprotty/lib/base/views/dom-helper");
|
|
33
|
+
const types_1 = require("../../base/types");
|
|
33
34
|
const drag_aware_mouse_listener_1 = require("../../base/drag-aware-mouse-listener");
|
|
34
35
|
const viewpoint_util_1 = require("../../utils/viewpoint-util");
|
|
35
36
|
const css_feedback_1 = require("../tool-feedback/css-feedback");
|
|
36
37
|
const marquee_tool_feedback_1 = require("../tool-feedback/marquee-tool-feedback");
|
|
37
|
-
const base_glsp_tool_1 = require("
|
|
38
|
+
const base_glsp_tool_1 = require("./base-glsp-tool");
|
|
39
|
+
const marquee_behavior_1 = require("./marquee-behavior");
|
|
38
40
|
let MarqueeMouseTool = MarqueeMouseTool_1 = class MarqueeMouseTool extends base_glsp_tool_1.BaseGLSPTool {
|
|
39
41
|
constructor() {
|
|
40
42
|
super(...arguments);
|
|
@@ -44,7 +46,7 @@ let MarqueeMouseTool = MarqueeMouseTool_1 = class MarqueeMouseTool extends base_
|
|
|
44
46
|
return MarqueeMouseTool_1.ID;
|
|
45
47
|
}
|
|
46
48
|
enable() {
|
|
47
|
-
this.marqueeMouseListener = new MarqueeMouseListener(this.domHelper);
|
|
49
|
+
this.marqueeMouseListener = new MarqueeMouseListener(this.domHelper, this.editorContext.modelRoot, this.marqueeBehavior);
|
|
48
50
|
this.mouseTool.register(this.marqueeMouseListener);
|
|
49
51
|
this.keyTool.register(this.shiftKeyListener);
|
|
50
52
|
this.dispatchFeedback([css_feedback_1.cursorFeedbackAction(css_feedback_1.CursorCSS.MARQUEE)]);
|
|
@@ -60,19 +62,36 @@ __decorate([
|
|
|
60
62
|
inversify_1.inject(sprotty_1.TYPES.DOMHelper),
|
|
61
63
|
__metadata("design:type", dom_helper_1.DOMHelper)
|
|
62
64
|
], MarqueeMouseTool.prototype, "domHelper", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
inversify_1.inject(types_1.GLSP_TYPES.IMarqueeBehavior),
|
|
67
|
+
inversify_1.optional(),
|
|
68
|
+
__metadata("design:type", Object)
|
|
69
|
+
], MarqueeMouseTool.prototype, "marqueeBehavior", void 0);
|
|
63
70
|
MarqueeMouseTool = MarqueeMouseTool_1 = __decorate([
|
|
64
71
|
inversify_1.injectable()
|
|
65
72
|
], MarqueeMouseTool);
|
|
66
73
|
exports.MarqueeMouseTool = MarqueeMouseTool;
|
|
67
|
-
|
|
68
|
-
constructor(domHelper) {
|
|
74
|
+
class MarqueeMouseListener extends drag_aware_mouse_listener_1.DragAwareMouseListener {
|
|
75
|
+
constructor(domHelper, root, marqueeBehavior) {
|
|
69
76
|
super();
|
|
70
77
|
this.isActive = false;
|
|
71
78
|
this.domHelper = domHelper;
|
|
79
|
+
this.marqueeUtil = new marquee_behavior_1.MarqueeUtil(marqueeBehavior);
|
|
80
|
+
this.nodes = Array.from(root.index
|
|
81
|
+
.all()
|
|
82
|
+
.map(e => e)
|
|
83
|
+
.filter(e => sprotty_1.isSelectable(e))
|
|
84
|
+
.filter(e => e instanceof sprotty_1.SNode));
|
|
85
|
+
const sEdges = Array.from(root.index
|
|
86
|
+
.all()
|
|
87
|
+
.filter(e => e instanceof sprotty_1.SEdge)
|
|
88
|
+
.filter(e => sprotty_1.isSelectable(e))
|
|
89
|
+
.map(e => e.id));
|
|
90
|
+
this.edges = Array.from(document.querySelectorAll('g')).filter(e => sEdges.includes(this.domHelper.findSModelIdByDOMElement(e)));
|
|
72
91
|
}
|
|
73
92
|
mouseDown(target, event) {
|
|
74
93
|
this.isActive = true;
|
|
75
|
-
this.
|
|
94
|
+
this.marqueeUtil.updateStartPoint(viewpoint_util_1.getAbsolutePosition(target, event));
|
|
76
95
|
if (event.ctrlKey) {
|
|
77
96
|
this.previouslySelected = Array.from(target.root.index
|
|
78
97
|
.all()
|
|
@@ -83,21 +102,15 @@ let MarqueeMouseListener = class MarqueeMouseListener extends drag_aware_mouse_l
|
|
|
83
102
|
return [];
|
|
84
103
|
}
|
|
85
104
|
mouseMove(target, event) {
|
|
86
|
-
this.
|
|
105
|
+
this.marqueeUtil.updateCurrentPoint(viewpoint_util_1.getAbsolutePosition(target, event));
|
|
87
106
|
if (this.isActive) {
|
|
88
|
-
const nodeIdsSelected =
|
|
89
|
-
|
|
90
|
-
.map(e => e)
|
|
91
|
-
.filter(e => sprotty_1.isSelectable(e))
|
|
92
|
-
.filter(e => e instanceof sprotty_1.SNode)
|
|
93
|
-
.filter(e => this.isNodeMarked(e))
|
|
94
|
-
.map(e => e.id));
|
|
95
|
-
const edgeIdsSelected = this.getMarkedEdges(target.root);
|
|
107
|
+
const nodeIdsSelected = this.nodes.filter(e => this.marqueeUtil.isNodeMarked(viewpoint_util_1.toAbsoluteBounds(e))).map(e => e.id);
|
|
108
|
+
const edgeIdsSelected = this.edges.filter(e => this.isEdgeMarked(e)).map(e => this.domHelper.findSModelIdByDOMElement(e));
|
|
96
109
|
const selected = nodeIdsSelected.concat(edgeIdsSelected);
|
|
97
110
|
return [
|
|
98
111
|
new protocol_1.SelectAction([], Array.from(target.root.index.all().map(e => e.id))),
|
|
99
112
|
new protocol_1.SelectAction(selected.concat(this.previouslySelected), []),
|
|
100
|
-
|
|
113
|
+
this.marqueeUtil.drawMarqueeAction()
|
|
101
114
|
];
|
|
102
115
|
}
|
|
103
116
|
return [];
|
|
@@ -109,118 +122,16 @@ let MarqueeMouseListener = class MarqueeMouseListener extends drag_aware_mouse_l
|
|
|
109
122
|
}
|
|
110
123
|
return [new marquee_tool_feedback_1.RemoveMarqueeAction(), new sprotty_1.EnableDefaultToolsAction()];
|
|
111
124
|
}
|
|
112
|
-
getMarkedEdges(root) {
|
|
113
|
-
const elements = Array.from(document.querySelectorAll('g'));
|
|
114
|
-
const edges = Array.from(root.index
|
|
115
|
-
.all()
|
|
116
|
-
.filter(e => e instanceof sprotty_1.SEdge)
|
|
117
|
-
.filter(e => sprotty_1.isSelectable(e))
|
|
118
|
-
.map(e => e.id));
|
|
119
|
-
return elements
|
|
120
|
-
.filter(e => edges.includes(this.domHelper.findSModelIdByDOMElement(e)))
|
|
121
|
-
.filter(e => this.isEdgeMarked(e))
|
|
122
|
-
.map(e => this.domHelper.findSModelIdByDOMElement(e));
|
|
123
|
-
}
|
|
124
125
|
isEdgeMarked(element) {
|
|
125
126
|
if (!element.getAttribute('transform')) {
|
|
126
127
|
if (element.children[0]) {
|
|
127
128
|
const path = element.children[0].getAttribute('d');
|
|
128
|
-
|
|
129
|
-
const points = path.split(/M|L/);
|
|
130
|
-
for (let i = 0; i < points.length - 1; i++) {
|
|
131
|
-
const coord1 = points[i].split(',');
|
|
132
|
-
const coord2 = points[i + 1].split(',');
|
|
133
|
-
const point1 = { x: parseInt(coord1[0], 10), y: parseInt(coord1[1], 10) };
|
|
134
|
-
const point2 = { x: parseInt(coord2[0], 10), y: parseInt(coord2[1], 10) };
|
|
135
|
-
if (this.isLineMarked(point1, point2)) {
|
|
136
|
-
return true;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
129
|
+
return this.marqueeUtil.isEdgePathMarked(path);
|
|
140
130
|
}
|
|
141
131
|
}
|
|
142
132
|
return false;
|
|
143
133
|
}
|
|
144
|
-
|
|
145
|
-
if (this.pointInRect(point1) || this.pointInRect(point2)) {
|
|
146
|
-
return true;
|
|
147
|
-
}
|
|
148
|
-
if (this.linesIntersect(point1, point2, this.startPoint, { x: this.startPoint.x, y: this.currentPoint.y })) {
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
if (this.linesIntersect(point1, point2, this.startPoint, { x: this.currentPoint.x, y: this.startPoint.y })) {
|
|
152
|
-
return true;
|
|
153
|
-
}
|
|
154
|
-
if (this.linesIntersect(point1, point2, { x: this.currentPoint.x, y: this.startPoint.y }, this.currentPoint)) {
|
|
155
|
-
return true;
|
|
156
|
-
}
|
|
157
|
-
if (this.linesIntersect(point1, point2, { x: this.startPoint.x, y: this.currentPoint.y }, this.currentPoint)) {
|
|
158
|
-
return true;
|
|
159
|
-
}
|
|
160
|
-
return false;
|
|
161
|
-
}
|
|
162
|
-
linesIntersect(p1, p2, p3, p4) {
|
|
163
|
-
const tCount = (p1.x - p3.x) * (p3.y - p4.y) - (p1.y - p3.y) * (p3.x - p4.x);
|
|
164
|
-
const tDenom = (p1.x - p2.x) * (p3.y - p4.y) - (p1.y - p2.y) * (p3.x - p4.x);
|
|
165
|
-
const t = tCount / tDenom;
|
|
166
|
-
const uCount = (p2.x - p1.x) * (p1.y - p3.y) - (p2.y - p1.y) * (p1.x - p3.x);
|
|
167
|
-
const uDenom = (p1.x - p2.x) * (p3.y - p4.y) - (p1.y - p2.y) * (p3.x - p4.x);
|
|
168
|
-
const u = uCount / uDenom;
|
|
169
|
-
if (t >= 0.0 && t <= 1.0 && u >= 0.0 && u <= 1.0) {
|
|
170
|
-
return true;
|
|
171
|
-
}
|
|
172
|
-
return false;
|
|
173
|
-
}
|
|
174
|
-
pointInRect(point) {
|
|
175
|
-
const boolX = this.startPoint.x <= this.currentPoint.x
|
|
176
|
-
? this.isBetween(point.x, this.startPoint.x, this.currentPoint.x)
|
|
177
|
-
: this.isBetween(point.x, this.currentPoint.x, this.startPoint.x);
|
|
178
|
-
const boolY = this.startPoint.y <= this.currentPoint.y
|
|
179
|
-
? this.isBetween(point.y, this.startPoint.y, this.currentPoint.y)
|
|
180
|
-
: this.isBetween(point.y, this.currentPoint.y, this.startPoint.y);
|
|
181
|
-
return boolX && boolY;
|
|
182
|
-
}
|
|
183
|
-
isNodeMarked(element) {
|
|
184
|
-
const horizontallyIn = this.startPoint.x < this.currentPoint.x
|
|
185
|
-
? this.isElementBetweenXAxis(element, this.startPoint.x, this.currentPoint.x)
|
|
186
|
-
: this.isElementBetweenXAxis(element, this.currentPoint.x, this.startPoint.x);
|
|
187
|
-
const verticallyIn = this.startPoint.y < this.currentPoint.y
|
|
188
|
-
? this.isElementBetweenYAxis(element, this.startPoint.y, this.currentPoint.y)
|
|
189
|
-
: this.isElementBetweenYAxis(element, this.currentPoint.y, this.startPoint.y);
|
|
190
|
-
if (horizontallyIn && verticallyIn) {
|
|
191
|
-
return true;
|
|
192
|
-
}
|
|
193
|
-
return false;
|
|
194
|
-
}
|
|
195
|
-
isElementBetweenXAxis(element, marqueeLeft, marqueeRight) {
|
|
196
|
-
if (this.isBetween(marqueeLeft, viewpoint_util_1.toAbsoluteBounds(element).x, viewpoint_util_1.toAbsoluteBounds(element).x + viewpoint_util_1.toAbsoluteBounds(element).width) ||
|
|
197
|
-
this.isBetween(marqueeRight, viewpoint_util_1.toAbsoluteBounds(element).x, viewpoint_util_1.toAbsoluteBounds(element).x + viewpoint_util_1.toAbsoluteBounds(element).width)) {
|
|
198
|
-
return true;
|
|
199
|
-
}
|
|
200
|
-
const leftEdge = this.isBetween(viewpoint_util_1.toAbsoluteBounds(element).x, marqueeLeft, marqueeRight);
|
|
201
|
-
const rightEdge = this.isBetween(viewpoint_util_1.toAbsoluteBounds(element).x + viewpoint_util_1.toAbsoluteBounds(element).width, marqueeLeft, marqueeRight);
|
|
202
|
-
return leftEdge || rightEdge;
|
|
203
|
-
}
|
|
204
|
-
isElementBetweenYAxis(element, marqueeTop, marqueeBottom) {
|
|
205
|
-
if (this.isBetween(marqueeTop, viewpoint_util_1.toAbsoluteBounds(element).y, viewpoint_util_1.toAbsoluteBounds(element).y + viewpoint_util_1.toAbsoluteBounds(element).height) ||
|
|
206
|
-
this.isBetween(marqueeBottom, viewpoint_util_1.toAbsoluteBounds(element).y, viewpoint_util_1.toAbsoluteBounds(element).y + viewpoint_util_1.toAbsoluteBounds(element).height)) {
|
|
207
|
-
return true;
|
|
208
|
-
}
|
|
209
|
-
const topEdge = this.isBetween(viewpoint_util_1.toAbsoluteBounds(element).y, marqueeTop, marqueeBottom);
|
|
210
|
-
const bottomEdge = this.isBetween(viewpoint_util_1.toAbsoluteBounds(element).y + viewpoint_util_1.toAbsoluteBounds(element).height, marqueeTop, marqueeBottom);
|
|
211
|
-
return topEdge || bottomEdge;
|
|
212
|
-
}
|
|
213
|
-
isBetween(x, lower, upper) {
|
|
214
|
-
if (lower <= x && x <= upper) {
|
|
215
|
-
return true;
|
|
216
|
-
}
|
|
217
|
-
return false;
|
|
218
|
-
}
|
|
219
|
-
};
|
|
220
|
-
MarqueeMouseListener = __decorate([
|
|
221
|
-
inversify_1.injectable(),
|
|
222
|
-
__metadata("design:paramtypes", [dom_helper_1.DOMHelper])
|
|
223
|
-
], MarqueeMouseListener);
|
|
134
|
+
}
|
|
224
135
|
exports.MarqueeMouseListener = MarqueeMouseListener;
|
|
225
136
|
let ShiftKeyListener = class ShiftKeyListener extends sprotty_1.KeyListener {
|
|
226
137
|
keyUp(element, event) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marquee-mouse-tool.js","sourceRoot":"","sources":["../../../src/features/tools/marquee-mouse-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"marquee-mouse-tool.js","sourceRoot":"","sources":["../../../src/features/tools/marquee-mouse-tool.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -87,6 +87,7 @@ export * from './features/tools/delete-tool';
|
|
|
87
87
|
export * from './features/tools/edge-creation-tool';
|
|
88
88
|
export * from './features/tools/edge-edit-tool';
|
|
89
89
|
export * from './features/tools/node-creation-tool';
|
|
90
|
+
export * from './features/tools/marquee-behavior';
|
|
90
91
|
export * from './features/validation/issue-marker';
|
|
91
92
|
export * from './features/validation/marker-navigator';
|
|
92
93
|
export * from './features/validation/validate';
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -122,6 +122,7 @@ __exportStar(require("./features/tools/delete-tool"), exports);
|
|
|
122
122
|
__exportStar(require("./features/tools/edge-creation-tool"), exports);
|
|
123
123
|
__exportStar(require("./features/tools/edge-edit-tool"), exports);
|
|
124
124
|
__exportStar(require("./features/tools/node-creation-tool"), exports);
|
|
125
|
+
__exportStar(require("./features/tools/marquee-behavior"), exports);
|
|
125
126
|
__exportStar(require("./features/validation/issue-marker"), exports);
|
|
126
127
|
__exportStar(require("./features/validation/marker-navigator"), exports);
|
|
127
128
|
__exportStar(require("./features/validation/validate"), exports);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,gDAAiD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,gDAAiD;AA6F7C,4BA7FG,mBAAiB,CA6FH;AA5FrB,oEAA4E;AA8FxE,mCA9FG,mBAAwB,CA8FH;AA7F5B,iEAAsE;AA8FlE,gCA9FG,mBAAqB,CA8FH;AA7FzB,+DAAwG;AA+FpG,2GA/FK,sCAA0B,OA+FL;AAD1B,0GA9FiC,qCAAyB,OA8FjC;AA7F7B,+DAAmE;AAuG/D,+BAvGG,mBAAoB,CAuGH;AAtGxB,+DAAkE;AAiG9D,8BAjGG,mBAAmB,CAiGH;AAhGvB,0DAA0D;AAwFtD,2BAxFG,mBAAgB,CAwFH;AAvFpB,0DAAyD;AAgGrD,0BAhGG,mBAAe,CAgGH;AA/FnB,2DAA+D;AA6F3D,+BA7FG,mBAAoB,CA6FH;AA5FxB,0EAAiF;AAmG7E,mCAnGG,oBAAwB,CAmGH;AAlG5B,gEAAkE;AA0F9D,8BA1FG,oBAAmB,CA0FH;AAzFvB,gEAAmE;AA8F/D,iGA9FK,6BAAgB,OA8FL;AA7FpB,0DAAmD;AA8E/C,qBA9EG,oBAAU,CA8EH;AA7Ed,4DAA2D;AAsFvD,2BAtFG,oBAAgB,CAsFH;AArFpB,mEAAoE;AA8EhE,6BA9EG,oBAAkB,CA8EH;AA7EtB,kEAA8D;AA4E1D,wBA5EG,oBAAa,CA4EH;AA3EjB,2DAAqD;AAwFjD,sBAxFG,oBAAW,CAwFH;AAvFf,gEAA0F;AAyFtF,sGAzFK,kCAAqB,OAyFL;AAjBrB,iGAxE4B,6BAAgB,OAwE5B;AAvEpB,8DAA+D;AA2F3D,6BA3FG,oBAAkB,CA2FH;AAzFtB,0CAAwB;AACxB,2DAAyC;AACzC,qEAAmD;AACnD,sDAAoC;AACpC,6EAA2D;AAC3D,4EAA0D;AAC1D,4EAA0D;AAC1D,uDAAqC;AACrC,2DAAyC;AACzC,+CAA0D;AAAjD,oHAAA,sBAAsB,OAAA;AAC/B,mEAAiD;AACjD,gEAA8C;AAC9C,uDAAqC;AACrC,yEAAuD;AACvD,8DAA4C;AAC5C,oEAAkD;AAClD,2EAAyD;AACzD,0DAAwC;AACxC,+CAA6B;AAC7B,4DAA0C;AAC1C,iEAA+C;AAC/C,+EAA6D;AAC7D,gEAA8C;AAC9C,6FAA2E;AAC3E,sFAAoE;AACpE,2EAAyD;AACzD,0EAAwD;AACxD,wEAAsD;AACtD,6EAA2D;AAC3D,yDAAuC;AACvC,8DAA4C;AAC5C,yDAAuC;AACvC,oEAAkD;AAClD,sGAAoF;AACpF,mEAAiD;AACjD,kFAAgE;AAChE,mFAAiE;AACjE,wDAAsC;AACtC,6DAA2C;AAC3C,wDAAsC;AACtC,mEAAiD;AACjD,uFAAqE;AACrE,kFAAgE;AAChE,wEAAsD;AACtD,mFAAiE;AACjE,sFAAoE;AACpE,iEAA+C;AAC/C,uEAAqD;AACrD,uEAAqD;AACrD,kEAAgD;AAChD,sEAAoD;AACpD,+DAA6C;AAC7C,sEAAoD;AACpD,kEAAgD;AAChD,sEAAoD;AACpD,oEAAkD;AAClD,qEAAmD;AACnD,yEAAuD;AACvD,iEAA+C;AAC/C,iFAA+D;AAC/D,8CAA4B;AAC5B,qEAAmD;AACnD,sDAAoC;AACpC,yDAAuC;AACvC,iDAA+B;AAC/B,sDAAoC;AACpC,yDAAuC;AACvC,0CAAwB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-glsp/client",
|
|
3
|
-
"version": "0.9.0-next.
|
|
3
|
+
"version": "0.9.0-next.e0116720",
|
|
4
4
|
"description": "A sprotty-based client for GLSP",
|
|
5
5
|
"license": "(EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0)",
|
|
6
6
|
"keywords": [
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
"css"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@eclipse-glsp/protocol": "0.9.0-next.
|
|
37
|
+
"@eclipse-glsp/protocol": "0.9.0-next.e0116720",
|
|
38
38
|
"autocompleter": "5.1.0",
|
|
39
|
-
"sprotty": "
|
|
39
|
+
"sprotty": "0.10.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@babel/runtime": "^7.11.2",
|
package/src/base/types.ts
CHANGED
|
@@ -34,5 +34,6 @@ export const GLSP_TYPES = {
|
|
|
34
34
|
ITool: Symbol.for('ITool'),
|
|
35
35
|
IDefaultTool: Symbol.for('IDefaultTool'),
|
|
36
36
|
IEditModeListener: Symbol.for('IEditModeListener'),
|
|
37
|
-
LayoutRegistration: Symbol.for('LayoutRegistration')
|
|
37
|
+
LayoutRegistration: Symbol.for('LayoutRegistration'),
|
|
38
|
+
IMarqueeBehavior: Symbol.for('IMarqueeBehavior')
|
|
38
39
|
};
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { ContainerModule
|
|
17
|
-
import { configureCommand, configureLayout,
|
|
16
|
+
import { ContainerModule } from 'inversify';
|
|
17
|
+
import { configureCommand, configureLayout, VBoxLayouter } from 'sprotty';
|
|
18
18
|
import { FreeFormLayouter } from './freeform-layout';
|
|
19
19
|
import { AlignElementsCommand, ResizeElementsCommand } from './layout-commands';
|
|
20
20
|
import { VBoxLayouterExt } from './vbox-layout';
|
|
@@ -23,30 +23,8 @@ const layoutCommandsModule = new ContainerModule((bind, _unbind, isBound, rebind
|
|
|
23
23
|
configureCommand({ bind, isBound }, ResizeElementsCommand);
|
|
24
24
|
configureCommand({ bind, isBound }, AlignElementsCommand);
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
rebind(VBoxLayouter).to(VBoxLayouterExt);
|
|
27
27
|
configureLayout({ bind, isBound }, FreeFormLayouter.KIND, FreeFormLayouter);
|
|
28
|
-
|
|
29
|
-
bind(OverridableLayoutRegistry).toSelf().inSingletonScope();
|
|
30
|
-
rebind(TYPES.LayoutRegistry).toService(OverridableLayoutRegistry);
|
|
31
28
|
});
|
|
32
29
|
|
|
33
30
|
export default layoutCommandsModule;
|
|
34
|
-
|
|
35
|
-
@injectable()
|
|
36
|
-
export class OverridableLayoutRegistry extends LayoutRegistry {
|
|
37
|
-
// ensure logger is already used in constructor as otherwise not usable
|
|
38
|
-
constructor(
|
|
39
|
-
@multiInject(TYPES.LayoutRegistration) @optional() layouts: LayoutRegistration[] = [],
|
|
40
|
-
@inject(TYPES.ILogger) logger: ILogger
|
|
41
|
-
) {
|
|
42
|
-
super();
|
|
43
|
-
layouts.forEach(layout => {
|
|
44
|
-
if (this.hasKey(layout.layoutKind)) {
|
|
45
|
-
logger.warn('Layout kind is already defined and will be overridden: ', layout.layoutKind);
|
|
46
|
-
this.deregister(layout.layoutKind);
|
|
47
|
-
}
|
|
48
|
-
// allow overriding an existing layout kind
|
|
49
|
-
this.register(layout.layoutKind, layout.factory());
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2021 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
|
|
17
|
+
import { expect } from 'chai';
|
|
18
|
+
import { IMarqueeBehavior, MarqueeUtil } from './marquee-behavior';
|
|
19
|
+
|
|
20
|
+
describe('MarqueeUtil', () => {
|
|
21
|
+
function initUtil(marqueeBehavior?: IMarqueeBehavior): MarqueeUtil {
|
|
22
|
+
const util = new MarqueeUtil(marqueeBehavior);
|
|
23
|
+
util.updateStartPoint({ x: 0, y: 0 });
|
|
24
|
+
util.updateCurrentPoint({ x: 0, y: 0 });
|
|
25
|
+
return util;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
describe('Node marquee', () => {
|
|
29
|
+
const node = { x: 20, y: 20, width: 200, height: 50 };
|
|
30
|
+
|
|
31
|
+
it('touch element', () => {
|
|
32
|
+
const util = initUtil();
|
|
33
|
+
expect(util.isNodeMarked(node)).is.equals(false);
|
|
34
|
+
util.updateCurrentPoint({ x: 30, y: 50 });
|
|
35
|
+
expect(util.isNodeMarked(node)).is.equals(true);
|
|
36
|
+
util.updateCurrentPoint({ x: 250, y: 85 });
|
|
37
|
+
expect(util.isNodeMarked(node)).is.equals(true);
|
|
38
|
+
util.updateStartPoint({ x: 30, y: 25 });
|
|
39
|
+
expect(util.isNodeMarked(node)).is.equals(true);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it('touch element (reverse)', () => {
|
|
43
|
+
const util = initUtil();
|
|
44
|
+
expect(util.isNodeMarked(node)).is.equals(false);
|
|
45
|
+
util.updateStartPoint({ x: 30, y: 50 });
|
|
46
|
+
expect(util.isNodeMarked(node)).is.equals(true);
|
|
47
|
+
util.updateStartPoint({ x: 250, y: 85 });
|
|
48
|
+
expect(util.isNodeMarked(node)).is.equals(true);
|
|
49
|
+
util.updateCurrentPoint({ x: 30, y: 25 });
|
|
50
|
+
expect(util.isNodeMarked(node)).is.equals(true);
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it('mark entire element', () => {
|
|
54
|
+
const util = initUtil({ entireElement: true, entireEdge: false });
|
|
55
|
+
expect(util.isNodeMarked(node)).is.equals(false);
|
|
56
|
+
util.updateCurrentPoint({ x: 30, y: 50 });
|
|
57
|
+
expect(util.isNodeMarked(node)).is.equals(false);
|
|
58
|
+
util.updateCurrentPoint({ x: 250, y: 85 });
|
|
59
|
+
expect(util.isNodeMarked(node)).is.equals(true);
|
|
60
|
+
util.updateStartPoint({ x: 30, y: 85 });
|
|
61
|
+
expect(util.isNodeMarked(node)).is.equals(false);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it('mark entire element (reverse)', () => {
|
|
65
|
+
const util = initUtil({ entireElement: true, entireEdge: false });
|
|
66
|
+
expect(util.isNodeMarked(node)).is.equals(false);
|
|
67
|
+
util.updateStartPoint({ x: 30, y: 50 });
|
|
68
|
+
expect(util.isNodeMarked(node)).is.equals(false);
|
|
69
|
+
util.updateStartPoint({ x: 250, y: 85 });
|
|
70
|
+
expect(util.isNodeMarked(node)).is.equals(true);
|
|
71
|
+
util.updateCurrentPoint({ x: 30, y: 85 });
|
|
72
|
+
expect(util.isNodeMarked(node)).is.equals(false);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
describe('Edge marquee', () => {
|
|
77
|
+
const edge = [
|
|
78
|
+
{ x: 20, y: 40 },
|
|
79
|
+
{ x: 40, y: 20 }
|
|
80
|
+
];
|
|
81
|
+
const edge2 = [
|
|
82
|
+
{ x: 20, y: 20 },
|
|
83
|
+
{ x: 40, y: 40 },
|
|
84
|
+
{ x: 50, y: 10 }
|
|
85
|
+
];
|
|
86
|
+
|
|
87
|
+
it('touch edge', () => {
|
|
88
|
+
const util = initUtil();
|
|
89
|
+
expect(util.isEdgeMarked(edge)).is.equals(false);
|
|
90
|
+
expect(util.isEdgeMarked(edge2)).is.equals(false);
|
|
91
|
+
util.updateCurrentPoint({ x: 20, y: 20 });
|
|
92
|
+
expect(util.isEdgeMarked(edge)).is.equals(false);
|
|
93
|
+
expect(util.isEdgeMarked(edge2)).is.equals(true);
|
|
94
|
+
util.updateCurrentPoint({ x: 30, y: 30 });
|
|
95
|
+
expect(util.isEdgeMarked(edge)).is.equals(true);
|
|
96
|
+
expect(util.isEdgeMarked(edge2)).is.equals(true);
|
|
97
|
+
util.updateCurrentPoint({ x: 50, y: 50 });
|
|
98
|
+
expect(util.isEdgeMarked(edge)).is.equals(true);
|
|
99
|
+
expect(util.isEdgeMarked(edge2)).is.equals(true);
|
|
100
|
+
util.updateStartPoint({ x: 25, y: 25 });
|
|
101
|
+
expect(util.isEdgeMarked(edge)).is.equals(true);
|
|
102
|
+
expect(util.isEdgeMarked(edge2)).is.equals(true);
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
it('touch edge (reverse)', () => {
|
|
106
|
+
const util = initUtil();
|
|
107
|
+
expect(util.isEdgeMarked(edge)).is.equals(false);
|
|
108
|
+
expect(util.isEdgeMarked(edge2)).is.equals(false);
|
|
109
|
+
util.updateStartPoint({ x: 20, y: 20 });
|
|
110
|
+
expect(util.isEdgeMarked(edge)).is.equals(false);
|
|
111
|
+
expect(util.isEdgeMarked(edge2)).is.equals(true);
|
|
112
|
+
util.updateStartPoint({ x: 30, y: 30 });
|
|
113
|
+
expect(util.isEdgeMarked(edge)).is.equals(true);
|
|
114
|
+
expect(util.isEdgeMarked(edge2)).is.equals(true);
|
|
115
|
+
util.updateStartPoint({ x: 50, y: 50 });
|
|
116
|
+
expect(util.isEdgeMarked(edge)).is.equals(true);
|
|
117
|
+
expect(util.isEdgeMarked(edge2)).is.equals(true);
|
|
118
|
+
util.updateCurrentPoint({ x: 25, y: 25 });
|
|
119
|
+
expect(util.isEdgeMarked(edge)).is.equals(true);
|
|
120
|
+
expect(util.isEdgeMarked(edge2)).is.equals(true);
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
it('mark entire edge', () => {
|
|
124
|
+
const util = initUtil({ entireElement: false, entireEdge: true });
|
|
125
|
+
expect(util.isEdgeMarked(edge)).is.equals(false);
|
|
126
|
+
expect(util.isEdgeMarked(edge2)).is.equals(false);
|
|
127
|
+
util.updateCurrentPoint({ x: 20, y: 20 });
|
|
128
|
+
expect(util.isEdgeMarked(edge)).is.equals(false);
|
|
129
|
+
expect(util.isEdgeMarked(edge2)).is.equals(false);
|
|
130
|
+
util.updateCurrentPoint({ x: 30, y: 30 });
|
|
131
|
+
expect(util.isEdgeMarked(edge)).is.equals(false);
|
|
132
|
+
expect(util.isEdgeMarked(edge2)).is.equals(false);
|
|
133
|
+
util.updateCurrentPoint({ x: 45, y: 50 });
|
|
134
|
+
expect(util.isEdgeMarked(edge)).is.equals(true);
|
|
135
|
+
expect(util.isEdgeMarked(edge2)).is.equals(false);
|
|
136
|
+
util.updateCurrentPoint({ x: 55, y: 50 });
|
|
137
|
+
expect(util.isEdgeMarked(edge)).is.equals(true);
|
|
138
|
+
expect(util.isEdgeMarked(edge2)).is.equals(true);
|
|
139
|
+
util.updateStartPoint({ x: 25, y: 25 });
|
|
140
|
+
expect(util.isEdgeMarked(edge)).is.equals(false);
|
|
141
|
+
expect(util.isEdgeMarked(edge2)).is.equals(false);
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
it('mark entire edge (reverse)', () => {
|
|
145
|
+
const util = initUtil({ entireElement: false, entireEdge: true });
|
|
146
|
+
expect(util.isEdgeMarked(edge)).is.equals(false);
|
|
147
|
+
expect(util.isEdgeMarked(edge2)).is.equals(false);
|
|
148
|
+
util.updateStartPoint({ x: 20, y: 20 });
|
|
149
|
+
expect(util.isEdgeMarked(edge)).is.equals(false);
|
|
150
|
+
expect(util.isEdgeMarked(edge2)).is.equals(false);
|
|
151
|
+
util.updateStartPoint({ x: 30, y: 30 });
|
|
152
|
+
expect(util.isEdgeMarked(edge)).is.equals(false);
|
|
153
|
+
expect(util.isEdgeMarked(edge2)).is.equals(false);
|
|
154
|
+
util.updateStartPoint({ x: 45, y: 50 });
|
|
155
|
+
expect(util.isEdgeMarked(edge)).is.equals(true);
|
|
156
|
+
expect(util.isEdgeMarked(edge2)).is.equals(false);
|
|
157
|
+
util.updateStartPoint({ x: 55, y: 50 });
|
|
158
|
+
expect(util.isEdgeMarked(edge)).is.equals(true);
|
|
159
|
+
expect(util.isEdgeMarked(edge2)).is.equals(true);
|
|
160
|
+
util.updateCurrentPoint({ x: 25, y: 25 });
|
|
161
|
+
expect(util.isEdgeMarked(edge)).is.equals(false);
|
|
162
|
+
expect(util.isEdgeMarked(edge2)).is.equals(false);
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
it('edge path should be marked', () => {
|
|
166
|
+
const path = 'M 599.968775008469,272.3972942960205 L 677.0904664855072,232';
|
|
167
|
+
const util = initUtil({ entireElement: false, entireEdge: true });
|
|
168
|
+
expect(util.isEdgePathMarked(path)).is.equals(false);
|
|
169
|
+
util.updateCurrentPoint({ x: 600, y: 300 });
|
|
170
|
+
expect(util.isEdgePathMarked(path)).is.equals(false);
|
|
171
|
+
util.updateCurrentPoint({ x: 700, y: 300 });
|
|
172
|
+
expect(util.isEdgePathMarked(path)).is.equals(true);
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
});
|