@eclipse-glsp/client 2.3.0-next.385 → 2.3.0-next.389
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/base/command-stack.d.ts +21 -1
- package/lib/base/command-stack.d.ts.map +1 -1
- package/lib/base/command-stack.js +26 -3
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/feedback/feedback-action-dispatcher-default.d.ts +5 -3
- package/lib/base/feedback/feedback-action-dispatcher-default.d.ts.map +1 -1
- package/lib/base/feedback/feedback-action-dispatcher-default.js +18 -5
- package/lib/base/feedback/feedback-action-dispatcher-default.js.map +1 -1
- package/lib/base/model/diagram-loader.d.ts +9 -6
- package/lib/base/model/diagram-loader.d.ts.map +1 -1
- package/lib/base/model/diagram-loader.js +6 -6
- package/lib/base/model/diagram-loader.js.map +1 -1
- package/lib/features/accessibility/toast/toast-tool.d.ts.map +1 -1
- package/lib/features/accessibility/toast/toast-tool.js +1 -1
- package/lib/features/accessibility/toast/toast-tool.js.map +1 -1
- package/lib/features/status/status-overlay.d.ts +1 -3
- package/lib/features/status/status-overlay.d.ts.map +1 -1
- package/lib/features/status/status-overlay.js +1 -6
- package/lib/features/status/status-overlay.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts +6 -0
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +9 -5
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js +13 -4
- package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +5 -0
- package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool.js +14 -1
- package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -1
- package/package.json +3 -3
- package/src/base/command-stack.ts +28 -4
- package/src/base/feedback/feedback-action-dispatcher-default.ts +17 -6
- package/src/base/model/diagram-loader.ts +23 -16
- package/src/features/accessibility/toast/toast-tool.ts +2 -2
- package/src/features/status/status-overlay.ts +10 -7
- package/src/features/tool-palette/tool-palette.ts +10 -6
- package/src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts +12 -4
- package/src/features/tools/change-bounds/change-bounds-tool.ts +11 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-bounds-tool-move-feedback.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAuB,MAAM,uBAAuB,CAAC;AAE/H,OAAO,EAAE,aAAa,EAAY,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EACH,eAAe,EAKlB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3E;;;;;;GAMG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;IAUrD,SAAS,CAAC,IAAI,EAAE,gBAAgB;IAT5C,SAAS,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACvC,SAAS,CAAC,kBAAkB,qBAA4B;IAExD,SAAS,CAAC,sBAAsB,CAAC,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;IAE7D,SAAS,CAAC,uBAAuB,EAAE,eAAe,CAAC;IACnD,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC;gBAElB,IAAI,EAAE,gBAAgB;IAOnC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAUtE,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAcxE,SAAS,CAAC,uBAAuB,IAAI,IAAI;IASzC,SAAS,CAAC,yBAAyB,IAAI,MAAM;IAI7C,SAAS,CAAC,eAAe,IAAI,IAAI;IASjC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,IAAI,eAAe;IAIrE,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAOvE,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAQ9E,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAkB1E,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM;IAQ5D,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAIhG,SAAS,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAK1D,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,EAAE;IAMpE,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,EAAE;IAItE,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,GAAG,SAAS;IAK/E,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,EAAE;IAW3D,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"change-bounds-tool-move-feedback.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAuB,MAAM,uBAAuB,CAAC;AAE/H,OAAO,EAAE,aAAa,EAAY,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EACH,eAAe,EAKlB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3E;;;;;;GAMG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;IAUrD,SAAS,CAAC,IAAI,EAAE,gBAAgB;IAT5C,SAAS,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACvC,SAAS,CAAC,kBAAkB,qBAA4B;IAExD,SAAS,CAAC,sBAAsB,CAAC,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;IAE7D,SAAS,CAAC,uBAAuB,EAAE,eAAe,CAAC;IACnD,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC;gBAElB,IAAI,EAAE,gBAAgB;IAOnC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAUtE,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAcxE,SAAS,CAAC,uBAAuB,IAAI,IAAI;IASzC,SAAS,CAAC,yBAAyB,IAAI,MAAM;IAI7C,SAAS,CAAC,eAAe,IAAI,IAAI;IASjC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,IAAI,eAAe;IAIrE,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAOvE,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAQ9E,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAkB1E,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM;IAQ5D,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAIhG,SAAS,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAK1D,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,EAAE;IAMpE,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,EAAE;IAItE,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,GAAG,SAAS;IAK/E,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,EAAE;IAW3D,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAoBnE,OAAO,IAAI,IAAI;CAQ3B"}
|
|
@@ -152,10 +152,19 @@ class FeedbackMoveMouseListener extends drag_aware_mouse_listener_1.DragAwareMou
|
|
|
152
152
|
if (!this.tracker.isTracking()) {
|
|
153
153
|
return [];
|
|
154
154
|
}
|
|
155
|
-
|
|
156
|
-
this.
|
|
157
|
-
|
|
158
|
-
|
|
155
|
+
const elementsToMove = this.getElementsToMove(target);
|
|
156
|
+
if (!this.tool.movementOptions.allElementsNeedToBeValid) {
|
|
157
|
+
// only reset the move of invalid elements, the others will be handled by the change bounds tool itself
|
|
158
|
+
elementsToMove
|
|
159
|
+
.filter(element => this.tool.changeBoundsManager.isValid(element))
|
|
160
|
+
.forEach(element => this.elementId2startPos.delete(element.id));
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
if (elementsToMove.every(element => this.tool.changeBoundsManager.isValid(element))) {
|
|
164
|
+
// do not reset any element as all are valid
|
|
165
|
+
this.elementId2startPos.clear();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
159
168
|
this.dispose();
|
|
160
169
|
return [];
|
|
161
170
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-bounds-tool-move-feedback.js","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"change-bounds-tool-move-feedback.js","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,10 @@ import { IMovementRestrictor } from '../../change-bounds/movement-restrictor';
|
|
|
9
9
|
import { BaseEditTool } from '../base-tools';
|
|
10
10
|
import { IChangeBoundsManager } from './change-bounds-manager';
|
|
11
11
|
import { ChangeBoundsTracker, TrackedElementResize, TrackedResize } from './change-bounds-tracker';
|
|
12
|
+
export interface IMovementOptions {
|
|
13
|
+
/** If set to true, a move with multiple elements is only performed if each individual move is valid. */
|
|
14
|
+
readonly allElementsNeedToBeValid: boolean;
|
|
15
|
+
}
|
|
12
16
|
/**
|
|
13
17
|
* The change bounds tool has the license to move multiple elements or resize a single element by implementing the ChangeBounds operation.
|
|
14
18
|
* In contrast to Sprotty's implementation this tool only sends a `ChangeBoundsOperationAction` when an operation has finished and does not
|
|
@@ -28,6 +32,7 @@ export declare class ChangeBoundsTool extends BaseEditTool {
|
|
|
28
32
|
readonly edgeRouterRegistry?: EdgeRouterRegistry;
|
|
29
33
|
readonly movementRestrictor?: IMovementRestrictor;
|
|
30
34
|
readonly changeBoundsManager: IChangeBoundsManager;
|
|
35
|
+
readonly movementOptions: IMovementOptions;
|
|
31
36
|
get id(): string;
|
|
32
37
|
enable(): void;
|
|
33
38
|
createChangeBoundsTracker(): ChangeBoundsTracker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-bounds-tool.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool.ts"],"names":[],"mappings":"AAiBA,OAAO,EACH,MAAM,EACN,WAAW,EAMX,kBAAkB,EAClB,gBAAgB,EAIhB,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,SAAS,EAIZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACvF,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EAKxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAe,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAqB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAOlF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEnG;;;;;;;;;;;;GAYG;AACH,qBACa,gBAAiB,SAAQ,YAAY;IAC9C,MAAM,CAAC,EAAE,SAA6B;IAEZ,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IAC7D,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"change-bounds-tool.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,10 @@ const change_bounds_tool_move_feedback_1 = require("./change-bounds-tool-move-fe
|
|
|
52
52
|
* resize and send the server updates we install the `ChangeBoundsListener`.
|
|
53
53
|
*/
|
|
54
54
|
let ChangeBoundsTool = ChangeBoundsTool_1 = class ChangeBoundsTool extends base_tools_1.BaseEditTool {
|
|
55
|
+
constructor() {
|
|
56
|
+
super(...arguments);
|
|
57
|
+
this.movementOptions = { allElementsNeedToBeValid: true };
|
|
58
|
+
}
|
|
55
59
|
get id() {
|
|
56
60
|
return ChangeBoundsTool_1.ID;
|
|
57
61
|
}
|
|
@@ -98,6 +102,11 @@ __decorate([
|
|
|
98
102
|
(0, inversify_1.inject)(sprotty_1.TYPES.IChangeBoundsManager),
|
|
99
103
|
__metadata("design:type", Object)
|
|
100
104
|
], ChangeBoundsTool.prototype, "changeBoundsManager", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
(0, inversify_1.inject)(sprotty_1.TYPES.IMovementOptions),
|
|
107
|
+
(0, inversify_1.optional)(),
|
|
108
|
+
__metadata("design:type", Object)
|
|
109
|
+
], ChangeBoundsTool.prototype, "movementOptions", void 0);
|
|
101
110
|
exports.ChangeBoundsTool = ChangeBoundsTool = ChangeBoundsTool_1 = __decorate([
|
|
102
111
|
(0, inversify_1.injectable)()
|
|
103
112
|
], ChangeBoundsTool);
|
|
@@ -216,7 +225,11 @@ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseLis
|
|
|
216
225
|
getElementsToMove(target) {
|
|
217
226
|
const selectedElements = (0, gmodel_util_1.getMatchingElements)(target.index, gmodel_util_1.isNonRoutableSelectedMovableBoundsAware);
|
|
218
227
|
const selectionSet = new Set(selectedElements);
|
|
219
|
-
|
|
228
|
+
const elementsToMove = selectedElements.filter(element => this.isValidMove(element, selectionSet));
|
|
229
|
+
if (this.tool.movementOptions.allElementsNeedToBeValid && elementsToMove.length !== selectionSet.size) {
|
|
230
|
+
return [];
|
|
231
|
+
}
|
|
232
|
+
return elementsToMove;
|
|
220
233
|
}
|
|
221
234
|
handleMoveElementsOnServer(elementsToMove) {
|
|
222
235
|
const newBounds = elementsToMove.map(gmodel_util_1.toElementAndBounds);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-bounds-tool.js","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAAyD;AAEzD,mDAqB+B;AAC/B,uFAAiF;AAEjF,uEAAuF;AACvF,4DAQoC;AACpC,4DAAqE;AACrE,0FAAmF;AACnF,qDAAuE;AAEvE,8CAA6C;AAC7C,mEAAkF;AAClF,+EAIuC;AACvC,yFAA+E;
|
|
1
|
+
{"version":3,"file":"change-bounds-tool.js","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-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.3.0-next.
|
|
3
|
+
"version": "2.3.0-next.389+d14d1ee",
|
|
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.3.0-next.
|
|
49
|
+
"@eclipse-glsp/sprotty": "2.3.0-next.389+d14d1ee",
|
|
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": "d14d1ee025af44a2e46eda8a9b9419cb2d58da93"
|
|
67
67
|
}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import {
|
|
17
|
+
CommandExecutionContext,
|
|
17
18
|
CommandStack,
|
|
18
19
|
Disposable,
|
|
19
20
|
DisposableCollection,
|
|
@@ -51,6 +52,10 @@ export class GLSPCommandStack extends CommandStack implements Disposable {
|
|
|
51
52
|
return this.editorContext.onModelRootChanged;
|
|
52
53
|
}
|
|
53
54
|
|
|
55
|
+
/**
|
|
56
|
+
* Client-side undo/redo is not supported in GLSP. The server is responsible for handling undo/redo requests.
|
|
57
|
+
* If this method get called it's probably a mistake and a warning is logged
|
|
58
|
+
*/
|
|
54
59
|
override undo(): Promise<GModelRoot> {
|
|
55
60
|
this.logger.warn(
|
|
56
61
|
this,
|
|
@@ -59,6 +64,10 @@ export class GLSPCommandStack extends CommandStack implements Disposable {
|
|
|
59
64
|
return this.currentModel;
|
|
60
65
|
}
|
|
61
66
|
|
|
67
|
+
/**
|
|
68
|
+
* Client-side undo/redo is not supported in GLSP. The server is responsible for handling undo/redo requests.
|
|
69
|
+
* If this method get called it's probably a mistake and a warning is logged
|
|
70
|
+
*/
|
|
62
71
|
override redo(): Promise<GModelRoot> {
|
|
63
72
|
this.logger.warn(
|
|
64
73
|
this,
|
|
@@ -67,14 +76,29 @@ export class GLSPCommandStack extends CommandStack implements Disposable {
|
|
|
67
76
|
return this.currentModel;
|
|
68
77
|
}
|
|
69
78
|
|
|
79
|
+
/**
|
|
80
|
+
* Client-side undo/redo is not supported in GLSP.
|
|
81
|
+
* To avoid unnecessary infraction with the command stack (pushing/merging/popping commands)
|
|
82
|
+
* related methods are overridden to no-ops.
|
|
83
|
+
*/
|
|
84
|
+
protected override pushToUndoStack(command: ICommand): void {
|
|
85
|
+
// no-op
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Client-side undo/redo is not supported in GLSP.
|
|
90
|
+
* To avoid unnecessary infraction with the command stack (pushing/merging/popping commands)
|
|
91
|
+
* related methods are overridden to no-ops.
|
|
92
|
+
*/
|
|
93
|
+
protected override mergeOrPush(command: ICommand, context: CommandExecutionContext): void {
|
|
94
|
+
// no-op
|
|
95
|
+
}
|
|
70
96
|
override async execute(command: ICommand): Promise<GModelRoot> {
|
|
97
|
+
const result = await super.execute(command);
|
|
71
98
|
if (command instanceof SetModelCommand || command instanceof UpdateModelCommand) {
|
|
72
|
-
const result = await super.execute(command);
|
|
73
99
|
this.notifyListeners(result);
|
|
74
|
-
return result;
|
|
75
100
|
}
|
|
76
|
-
|
|
77
|
-
return super.execute(command);
|
|
101
|
+
return result;
|
|
78
102
|
}
|
|
79
103
|
|
|
80
104
|
protected notifyListeners(root: Readonly<GModelRoot>): void {
|
|
@@ -27,20 +27,23 @@ import {
|
|
|
27
27
|
TYPES,
|
|
28
28
|
toTypeGuard
|
|
29
29
|
} from '@eclipse-glsp/sprotty';
|
|
30
|
-
import { inject, injectable } from 'inversify';
|
|
30
|
+
import { inject, injectable, preDestroy } from 'inversify';
|
|
31
|
+
import { IFeedbackActionDispatcher, IFeedbackEmitter, MaybeActions } from './feedback-action-dispatcher';
|
|
31
32
|
import { getFeedbackRank } from './feedback-command';
|
|
32
33
|
import { FeedbackEmitter } from './feedback-emitter';
|
|
33
|
-
import { IFeedbackActionDispatcher, IFeedbackEmitter, MaybeActions } from './feedback-action-dispatcher';
|
|
34
34
|
|
|
35
35
|
@injectable()
|
|
36
|
-
export class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
|
|
36
|
+
export class FeedbackActionDispatcher implements IFeedbackActionDispatcher, Disposable {
|
|
37
37
|
protected registeredFeedback: Map<IFeedbackEmitter, Action[]> = new Map();
|
|
38
38
|
|
|
39
|
-
@inject(TYPES.
|
|
39
|
+
@inject(TYPES.IActionDispatcher) protected actionDispatcher: IActionDispatcher;
|
|
40
|
+
|
|
40
41
|
@inject(TYPES.ILogger) protected logger: ILogger;
|
|
41
42
|
|
|
42
43
|
@inject(ActionHandlerRegistry) protected actionHandlerRegistry: ActionHandlerRegistry;
|
|
43
44
|
|
|
45
|
+
protected isDisposed = false;
|
|
46
|
+
|
|
44
47
|
registerFeedback(feedbackEmitter: IFeedbackEmitter, feedbackActions: Action[], cleanupActions?: MaybeActions): Disposable {
|
|
45
48
|
if (feedbackEmitter instanceof GModelElement) {
|
|
46
49
|
this.logger.log(
|
|
@@ -109,11 +112,19 @@ export class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
|
|
|
109
112
|
|
|
110
113
|
protected async dispatchFeedback(actions: Action[], feedbackEmitter: IFeedbackEmitter): Promise<void> {
|
|
111
114
|
try {
|
|
112
|
-
|
|
113
|
-
|
|
115
|
+
if (this.isDisposed) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
await this.actionDispatcher.dispatchAll(actions);
|
|
114
119
|
this.logger.info(this, `Dispatched feedback actions for ${feedbackEmitter}`);
|
|
115
120
|
} catch (reason) {
|
|
116
121
|
this.logger.error(this, 'Failed to dispatch feedback actions', reason);
|
|
117
122
|
}
|
|
118
123
|
}
|
|
124
|
+
|
|
125
|
+
@preDestroy()
|
|
126
|
+
dispose(): void {
|
|
127
|
+
this.registeredFeedback.clear();
|
|
128
|
+
this.isDisposed = true;
|
|
129
|
+
}
|
|
119
130
|
}
|
|
@@ -18,14 +18,13 @@ import {
|
|
|
18
18
|
AnyObject,
|
|
19
19
|
ApplicationIdProvider,
|
|
20
20
|
Args,
|
|
21
|
-
EMPTY_ROOT,
|
|
22
21
|
GLSPClient,
|
|
23
22
|
IActionDispatcher,
|
|
24
23
|
InitializeParameters,
|
|
25
24
|
LazyInjector,
|
|
26
25
|
MaybePromise,
|
|
26
|
+
RequestAction,
|
|
27
27
|
RequestModelAction,
|
|
28
|
-
SetModelAction,
|
|
29
28
|
StatusAction,
|
|
30
29
|
TYPES,
|
|
31
30
|
hasNumberProp
|
|
@@ -44,19 +43,23 @@ export interface IDiagramOptions {
|
|
|
44
43
|
* corresponding client session.
|
|
45
44
|
*/
|
|
46
45
|
clientId: string;
|
|
46
|
+
|
|
47
47
|
/**
|
|
48
48
|
* The diagram type i.e. diagram language this diagram is associated with.
|
|
49
49
|
*/
|
|
50
50
|
diagramType: string;
|
|
51
|
+
|
|
51
52
|
/**
|
|
52
53
|
* The provider function to retrieve the GLSP client used by this diagram to communicate with the server.
|
|
53
|
-
* Multiple invocations of the
|
|
54
|
+
* Multiple invocations of the provider function should always return the same {@link GLSPClient} instance.
|
|
54
55
|
*/
|
|
55
56
|
glspClientProvider: () => Promise<GLSPClient>;
|
|
57
|
+
|
|
56
58
|
/**
|
|
57
59
|
* The file source URI associated with this diagram.
|
|
58
60
|
*/
|
|
59
61
|
sourceUri?: string;
|
|
62
|
+
|
|
60
63
|
/**
|
|
61
64
|
* The initial edit mode of diagram. Defaults to `editable`.
|
|
62
65
|
*/
|
|
@@ -74,24 +77,28 @@ export interface IDiagramStartup extends Partial<Ranked> {
|
|
|
74
77
|
* first hook that is invoked directly after {@link DiagramLoader.load} is called.
|
|
75
78
|
*/
|
|
76
79
|
preLoadDiagram?(): MaybePromise<void>;
|
|
80
|
+
|
|
77
81
|
/**
|
|
78
|
-
* Hook for services that want to execute code before the underlying
|
|
82
|
+
* Hook for services that want to execute code before the underlying {@link GLSPClient} is configured and the server is initialized.
|
|
79
83
|
*/
|
|
80
84
|
preInitialize?(): MaybePromise<void>;
|
|
85
|
+
|
|
81
86
|
/**
|
|
82
|
-
* Hook for services that want to execute code before the initial model loading request (i.e.
|
|
87
|
+
* Hook for services that want to execute code before the initial model loading request (i.e. {@link RequestModelAction}) but
|
|
83
88
|
* after the underlying GLSP client has been configured and the server is initialized.
|
|
84
89
|
*/
|
|
85
90
|
preRequestModel?(): MaybePromise<void>;
|
|
91
|
+
|
|
86
92
|
/**
|
|
87
|
-
* Hook for services that want to execute code after the initial model loading request (i.e.
|
|
88
|
-
* Note that this hook is invoked directly after the
|
|
93
|
+
* Hook for services that want to execute code after the initial model loading request (i.e. {@link RequestModelAction}).
|
|
94
|
+
* Note that this hook is invoked directly after the {@link RequestModelAction} has been dispatched. It does not necessarily wait
|
|
89
95
|
* until the client-server update roundtrip is completed. If you need to wait until the diagram is fully initialized use the
|
|
90
96
|
* {@link postModelInitialization} hook.
|
|
91
97
|
*/
|
|
98
|
+
|
|
92
99
|
postRequestModel?(): MaybePromise<void>;
|
|
93
|
-
|
|
94
|
-
* (i.e.
|
|
100
|
+
/** Hook for services that want to execute code after the diagram model is fully initialized
|
|
101
|
+
* (i.e. {@link ModelInitializationConstraint} is completed).
|
|
95
102
|
*/
|
|
96
103
|
postModelInitialization?(): MaybePromise<void>;
|
|
97
104
|
}
|
|
@@ -119,7 +126,7 @@ export interface DiagramLoadingOptions {
|
|
|
119
126
|
requestModelOptions?: Args;
|
|
120
127
|
|
|
121
128
|
/**
|
|
122
|
-
* Optional partial {@link InitializeParameters} that should be used for
|
|
129
|
+
* Optional partial {@link InitializeParameters} that should be used for {@link GLSPClient.initializeServer} request if the underlying
|
|
123
130
|
* {@link GLSPClient} has not been initialized yet.
|
|
124
131
|
*/
|
|
125
132
|
initializeParameters?: Partial<InitializeParameters>;
|
|
@@ -180,14 +187,15 @@ export class DiagramLoader {
|
|
|
180
187
|
},
|
|
181
188
|
enableNotifications: options.enableNotifications ?? true
|
|
182
189
|
};
|
|
183
|
-
//
|
|
184
|
-
await this.actionDispatcher.
|
|
190
|
+
// Ensure that the action dispatcher is initialized before starting the diagram loading process
|
|
191
|
+
await this.actionDispatcher.initialize?.();
|
|
185
192
|
await this.invokeStartupHook('preInitialize');
|
|
186
193
|
await this.initialize(resolvedOptions);
|
|
187
194
|
await this.invokeStartupHook('preRequestModel');
|
|
188
195
|
await this.requestModel(resolvedOptions);
|
|
189
196
|
await this.invokeStartupHook('postRequestModel');
|
|
190
|
-
this.modelInitializationConstraint.onInitialized(
|
|
197
|
+
await this.modelInitializationConstraint.onInitialized();
|
|
198
|
+
await this.invokeStartupHook('postModelInitialization');
|
|
191
199
|
}
|
|
192
200
|
|
|
193
201
|
protected async invokeStartupHook(hook: keyof Omit<IDiagramStartup, 'rank'>): Promise<void> {
|
|
@@ -201,10 +209,9 @@ export class DiagramLoader {
|
|
|
201
209
|
}
|
|
202
210
|
|
|
203
211
|
protected async requestModel(options: ResolvedDiagramLoadingOptions): Promise<void> {
|
|
204
|
-
|
|
205
|
-
RequestModelAction.create({ options: options.requestModelOptions })
|
|
212
|
+
await this.actionDispatcher.dispatch(
|
|
213
|
+
RequestModelAction.create({ options: options.requestModelOptions, requestId: RequestAction.generateRequestId() })
|
|
206
214
|
);
|
|
207
|
-
return this.actionDispatcher.dispatch(response);
|
|
208
215
|
}
|
|
209
216
|
|
|
210
217
|
protected async initialize(options: ResolvedDiagramLoadingOptions): Promise<void> {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
|
|
17
|
-
import { Action, IActionDispatcher, IActionHandler, ICommand, TYPES } from '@eclipse-glsp/sprotty';
|
|
17
|
+
import { Action, IActionDispatcher, IActionHandler, ICommand, SetUIExtensionVisibilityAction, TYPES } from '@eclipse-glsp/sprotty';
|
|
18
18
|
import { inject, injectable } from 'inversify';
|
|
19
19
|
import { EditorContextService } from '../../../base/editor-context-service';
|
|
20
20
|
import { IDiagramStartup } from '../../../base/model/diagram-loader';
|
|
@@ -99,7 +99,7 @@ export class Toast extends GLSPAbstractUIExtension implements IActionHandler, ID
|
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
preInitialize(): void {
|
|
102
|
-
this.
|
|
102
|
+
this.actionDispatcher.dispatch(SetUIExtensionVisibilityAction.create({ extensionId: Toast.ID, visible: true }));
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
values(obj: { [key: symbol]: ToastOptions }): ToastOptions[] {
|
|
@@ -13,9 +13,15 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
IActionDispatcher,
|
|
18
|
+
IActionHandler,
|
|
19
|
+
SetUIExtensionVisibilityAction,
|
|
20
|
+
StatusAction,
|
|
21
|
+
TYPES,
|
|
22
|
+
codiconCSSClasses
|
|
23
|
+
} from '@eclipse-glsp/sprotty';
|
|
17
24
|
import { inject, injectable } from 'inversify';
|
|
18
|
-
import { EditorContextService } from '../../base/editor-context-service';
|
|
19
25
|
import { IDiagramStartup } from '../../base/model/diagram-loader';
|
|
20
26
|
import { GLSPAbstractUIExtension } from '../../base/ui-extension/ui-extension';
|
|
21
27
|
|
|
@@ -29,9 +35,6 @@ export class StatusOverlay extends GLSPAbstractUIExtension implements IActionHan
|
|
|
29
35
|
@inject(TYPES.IActionDispatcher)
|
|
30
36
|
protected actionDispatcher: IActionDispatcher;
|
|
31
37
|
|
|
32
|
-
@inject(EditorContextService)
|
|
33
|
-
protected editorContext: EditorContextService;
|
|
34
|
-
|
|
35
38
|
protected statusIconDiv?: HTMLDivElement;
|
|
36
39
|
protected statusMessageDiv?: HTMLDivElement;
|
|
37
40
|
protected pendingTimeout?: number;
|
|
@@ -115,7 +118,7 @@ export class StatusOverlay extends GLSPAbstractUIExtension implements IActionHan
|
|
|
115
118
|
}
|
|
116
119
|
}
|
|
117
120
|
|
|
118
|
-
preInitialize(): void {
|
|
119
|
-
this.
|
|
121
|
+
preInitialize(): Promise<void> {
|
|
122
|
+
return this.actionDispatcher.dispatch(SetUIExtensionVisibilityAction.create({ extensionId: this.id(), visible: true }));
|
|
120
123
|
}
|
|
121
124
|
}
|
|
@@ -474,17 +474,21 @@ export class ToolPalette extends GLSPAbstractUIExtension implements IActionHandl
|
|
|
474
474
|
this.createBody();
|
|
475
475
|
}
|
|
476
476
|
|
|
477
|
-
|
|
477
|
+
/**
|
|
478
|
+
* @deprecated This hook is no longer used by the ToolPalette.
|
|
479
|
+
* It is kept for compatibility reasons and will be removed in the future.
|
|
480
|
+
* Move initialization logic to the `postRequestModel` method.
|
|
481
|
+
* This ensures that tool palette initialization does not block the diagram loading process.
|
|
482
|
+
*/
|
|
483
|
+
async preRequestModel(): Promise<void> {}
|
|
484
|
+
|
|
485
|
+
async postRequestModel(): Promise<void> {
|
|
478
486
|
await this.setPaletteItems();
|
|
479
487
|
if (!this.editorContext.isReadonly) {
|
|
480
488
|
this.show(this.editorContext.modelRoot);
|
|
481
489
|
}
|
|
482
490
|
}
|
|
483
491
|
|
|
484
|
-
async postRequestModel(): Promise<void> {
|
|
485
|
-
this.reloadPaletteBody();
|
|
486
|
-
}
|
|
487
|
-
|
|
488
492
|
protected async setPaletteItems(): Promise<void> {
|
|
489
493
|
const requestAction = RequestContextActions.create({
|
|
490
494
|
contextId: ToolPalette.ID,
|
|
@@ -506,7 +510,7 @@ export class ToolPalette extends GLSPAbstractUIExtension implements IActionHandl
|
|
|
506
510
|
}
|
|
507
511
|
|
|
508
512
|
protected async reloadPaletteBody(): Promise<void> {
|
|
509
|
-
if (this.dynamic) {
|
|
513
|
+
if (!this.editorContext.isReadonly && this.dynamic) {
|
|
510
514
|
await this.setPaletteItems();
|
|
511
515
|
this.paletteItemsCopy = [];
|
|
512
516
|
this.requestFilterUpdate(this.searchField.value);
|
|
@@ -185,10 +185,18 @@ export class FeedbackMoveMouseListener extends DragAwareMouseListener {
|
|
|
185
185
|
if (!this.tracker.isTracking()) {
|
|
186
186
|
return [];
|
|
187
187
|
}
|
|
188
|
-
|
|
189
|
-
this.
|
|
190
|
-
|
|
191
|
-
|
|
188
|
+
const elementsToMove = this.getElementsToMove(target);
|
|
189
|
+
if (!this.tool.movementOptions.allElementsNeedToBeValid) {
|
|
190
|
+
// only reset the move of invalid elements, the others will be handled by the change bounds tool itself
|
|
191
|
+
elementsToMove
|
|
192
|
+
.filter(element => this.tool.changeBoundsManager.isValid(element))
|
|
193
|
+
.forEach(element => this.elementId2startPos.delete(element.id));
|
|
194
|
+
} else {
|
|
195
|
+
if (elementsToMove.every(element => this.tool.changeBoundsManager.isValid(element))) {
|
|
196
|
+
// do not reset any element as all are valid
|
|
197
|
+
this.elementId2startPos.clear();
|
|
198
|
+
}
|
|
199
|
+
}
|
|
192
200
|
this.dispose();
|
|
193
201
|
return [];
|
|
194
202
|
}
|
|
@@ -63,6 +63,11 @@ import {
|
|
|
63
63
|
import { FeedbackMoveMouseListener } from './change-bounds-tool-move-feedback';
|
|
64
64
|
import { ChangeBoundsTracker, TrackedElementResize, TrackedResize } from './change-bounds-tracker';
|
|
65
65
|
|
|
66
|
+
export interface IMovementOptions {
|
|
67
|
+
/** If set to true, a move with multiple elements is only performed if each individual move is valid. */
|
|
68
|
+
readonly allElementsNeedToBeValid: boolean;
|
|
69
|
+
}
|
|
70
|
+
|
|
66
71
|
/**
|
|
67
72
|
* The change bounds tool has the license to move multiple elements or resize a single element by implementing the ChangeBounds operation.
|
|
68
73
|
* In contrast to Sprotty's implementation this tool only sends a `ChangeBoundsOperationAction` when an operation has finished and does not
|
|
@@ -84,6 +89,7 @@ export class ChangeBoundsTool extends BaseEditTool {
|
|
|
84
89
|
@inject(EdgeRouterRegistry) @optional() readonly edgeRouterRegistry?: EdgeRouterRegistry;
|
|
85
90
|
@inject(TYPES.IMovementRestrictor) @optional() readonly movementRestrictor?: IMovementRestrictor;
|
|
86
91
|
@inject(TYPES.IChangeBoundsManager) readonly changeBoundsManager: IChangeBoundsManager;
|
|
92
|
+
@inject(TYPES.IMovementOptions) @optional() readonly movementOptions: IMovementOptions = { allElementsNeedToBeValid: true };
|
|
87
93
|
|
|
88
94
|
get id(): string {
|
|
89
95
|
return ChangeBoundsTool.ID;
|
|
@@ -260,7 +266,11 @@ export class ChangeBoundsListener extends DragAwareMouseListener implements ISel
|
|
|
260
266
|
protected getElementsToMove(target: GModelElement): SelectableBoundsAware[] {
|
|
261
267
|
const selectedElements = getMatchingElements(target.index, isNonRoutableSelectedMovableBoundsAware);
|
|
262
268
|
const selectionSet: Set<BoundsAwareModelElement> = new Set(selectedElements);
|
|
263
|
-
|
|
269
|
+
const elementsToMove = selectedElements.filter(element => this.isValidMove(element, selectionSet));
|
|
270
|
+
if (this.tool.movementOptions.allElementsNeedToBeValid && elementsToMove.length !== selectionSet.size) {
|
|
271
|
+
return [];
|
|
272
|
+
}
|
|
273
|
+
return elementsToMove;
|
|
264
274
|
}
|
|
265
275
|
|
|
266
276
|
protected handleMoveElementsOnServer(elementsToMove: SelectableBoundsAware[]): Operation[] {
|