@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.
Files changed (39) hide show
  1. package/lib/base/command-stack.d.ts +21 -1
  2. package/lib/base/command-stack.d.ts.map +1 -1
  3. package/lib/base/command-stack.js +26 -3
  4. package/lib/base/command-stack.js.map +1 -1
  5. package/lib/base/feedback/feedback-action-dispatcher-default.d.ts +5 -3
  6. package/lib/base/feedback/feedback-action-dispatcher-default.d.ts.map +1 -1
  7. package/lib/base/feedback/feedback-action-dispatcher-default.js +18 -5
  8. package/lib/base/feedback/feedback-action-dispatcher-default.js.map +1 -1
  9. package/lib/base/model/diagram-loader.d.ts +9 -6
  10. package/lib/base/model/diagram-loader.d.ts.map +1 -1
  11. package/lib/base/model/diagram-loader.js +6 -6
  12. package/lib/base/model/diagram-loader.js.map +1 -1
  13. package/lib/features/accessibility/toast/toast-tool.d.ts.map +1 -1
  14. package/lib/features/accessibility/toast/toast-tool.js +1 -1
  15. package/lib/features/accessibility/toast/toast-tool.js.map +1 -1
  16. package/lib/features/status/status-overlay.d.ts +1 -3
  17. package/lib/features/status/status-overlay.d.ts.map +1 -1
  18. package/lib/features/status/status-overlay.js +1 -6
  19. package/lib/features/status/status-overlay.js.map +1 -1
  20. package/lib/features/tool-palette/tool-palette.d.ts +6 -0
  21. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  22. package/lib/features/tool-palette/tool-palette.js +9 -5
  23. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  24. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts.map +1 -1
  25. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js +13 -4
  26. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js.map +1 -1
  27. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +5 -0
  28. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -1
  29. package/lib/features/tools/change-bounds/change-bounds-tool.js +14 -1
  30. package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -1
  31. package/package.json +3 -3
  32. package/src/base/command-stack.ts +28 -4
  33. package/src/base/feedback/feedback-action-dispatcher-default.ts +17 -6
  34. package/src/base/model/diagram-loader.ts +23 -16
  35. package/src/features/accessibility/toast/toast-tool.ts +2 -2
  36. package/src/features/status/status-overlay.ts +10 -7
  37. package/src/features/tool-palette/tool-palette.ts +10 -6
  38. package/src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts +12 -4
  39. 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;IAYnE,OAAO,IAAI,IAAI;CAQ3B"}
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
- // only reset the move of invalid elements, the others will be handled by the change bounds tool itself
156
- this.getElementsToMove(target)
157
- .filter(element => this.tool.changeBoundsManager.isValid(element))
158
- .forEach(element => this.elementId2startPos.delete(element.id));
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":"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"}
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
- return selectedElements.filter(element => this.isValidMove(element, selectionSet));
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":"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"}
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.385+8ff53c2",
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.385+8ff53c2",
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": "8ff53c2ff35b7dadd6d2d0e2633145d292e8d72d"
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.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
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
- const actionDispatcher = await this.actionDispatcher();
113
- await actionDispatcher.dispatchAll(actions);
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 provder function should always return the same `GLSPClient` instance.
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 GLSP client is configured and the server is initialized.
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. `RequestModelAction`) but
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. `RequestModelAction`).
88
- * Note that this hook is invoked directly after the `RequestModelAction` has been dispatched. It does not necessarily wait
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
- /* Hook for services that want to execute code after the diagram model is fully initialized
94
- * (i.e. `ModelInitializationConstraint` is completed).
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 `initializeServer` request if the underlying
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
- // Set empty place holder model until actual model from server is available
184
- await this.actionDispatcher.dispatch(SetModelAction.create(EMPTY_ROOT));
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(() => this.invokeStartupHook('postModelInitialization'));
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
- const response = await this.actionDispatcher.request<SetModelAction>(
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.show(this.editorContext.modelRoot);
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 { IActionDispatcher, IActionHandler, StatusAction, TYPES, codiconCSSClasses } from '@eclipse-glsp/sprotty';
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.show(this.editorContext.modelRoot);
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
- async preRequestModel(): Promise<void> {
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
- // only reset the move of invalid elements, the others will be handled by the change bounds tool itself
189
- this.getElementsToMove(target)
190
- .filter(element => this.tool.changeBoundsManager.isValid(element))
191
- .forEach(element => this.elementId2startPos.delete(element.id));
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
- return selectedElements.filter(element => this.isValidMove(element, selectionSet));
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[] {