@eclipse-glsp/client 2.6.0-next.5 → 2.6.0-next.7

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 (55) hide show
  1. package/lib/base/messages.json +68 -57
  2. package/lib/base/tool-manager/tool-manager.d.ts +2 -2
  3. package/lib/base/tool-manager/tool-manager.d.ts.map +1 -1
  4. package/lib/base/tool-manager/tool-manager.js +4 -4
  5. package/lib/base/tool-manager/tool-manager.js.map +1 -1
  6. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-palette.d.ts +1 -1
  7. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-palette.js +1 -1
  8. package/lib/features/accessibility/keyboard/keyboard-module.d.ts +1 -1
  9. package/lib/features/accessibility/keyboard/keyboard-module.js +1 -1
  10. package/lib/features/accessibility/keyboard-grid/keyboard-grid-search-palette.d.ts +1 -1
  11. package/lib/features/accessibility/keyboard-grid/keyboard-grid-search-palette.js +1 -1
  12. package/lib/features/accessibility/keyboard-grid/keyboard-node-grid.d.ts +1 -1
  13. package/lib/features/accessibility/keyboard-grid/keyboard-node-grid.js +1 -1
  14. package/lib/features/change-bounds/movement-restrictor.d.ts +12 -4
  15. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  16. package/lib/features/change-bounds/movement-restrictor.js +44 -17
  17. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  18. package/lib/features/context-menu/delete-element-context-menu.d.ts +4 -4
  19. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  20. package/lib/features/context-menu/delete-element-context-menu.js +6 -2
  21. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  22. package/lib/features/context-menu/server-context-menu-provider.d.ts +4 -4
  23. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  24. package/lib/features/context-menu/server-context-menu-provider.js +4 -5
  25. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  26. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +22 -5
  27. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  28. package/lib/features/copy-paste/copy-paste-context-menu.js +16 -11
  29. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  30. package/lib/features/validation/marker-navigator.d.ts +3 -3
  31. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  32. package/lib/features/validation/marker-navigator.js +8 -7
  33. package/lib/features/validation/marker-navigator.js.map +1 -1
  34. package/lib/index.d.ts +2 -0
  35. package/lib/index.d.ts.map +1 -1
  36. package/lib/index.js +2 -0
  37. package/lib/index.js.map +1 -1
  38. package/lib/utils/gmodel-util.d.ts +32 -2
  39. package/lib/utils/gmodel-util.d.ts.map +1 -1
  40. package/lib/utils/gmodel-util.js +29 -1
  41. package/lib/utils/gmodel-util.js.map +1 -1
  42. package/package.json +3 -3
  43. package/src/base/messages.json +68 -57
  44. package/src/base/tool-manager/tool-manager.ts +4 -4
  45. package/src/features/accessibility/edge-autocomplete/edge-autocomplete-palette.ts +1 -1
  46. package/src/features/accessibility/keyboard/keyboard-module.ts +1 -1
  47. package/src/features/accessibility/keyboard-grid/keyboard-grid-search-palette.ts +1 -1
  48. package/src/features/accessibility/keyboard-grid/keyboard-node-grid.ts +1 -1
  49. package/src/features/change-bounds/movement-restrictor.ts +72 -19
  50. package/src/features/context-menu/delete-element-context-menu.ts +9 -5
  51. package/src/features/context-menu/server-context-menu-provider.ts +8 -9
  52. package/src/features/copy-paste/copy-paste-context-menu.ts +21 -17
  53. package/src/features/validation/marker-navigator.ts +9 -8
  54. package/src/index.ts +2 -0
  55. package/src/utils/gmodel-util.ts +59 -1
@@ -1,87 +1,98 @@
1
1
  {
2
- "navigation": {
3
- "default_navigation_mode_activated": "Navigation On: Use arrow keys to select preceding (←) or succeding (→) elements. Use the up (↑) and down (↓) arrows to navigate paths. Press 'N' to exit.",
4
- "default_navigation_mode_deactivated": "Navigation Off: Press 'N' for default navigation, 'ALT+N' for position based navigation.",
5
- "local_navigation_mode_activated": "Position based Nav On: Navigate nearest elements using arrow keys: (↑) for above, (↓) for below, (←) for previous, (→) for next element. Press 'ALT+N' to exit.",
6
- "local_navigation_mode_deactivated": "Position based Nav Off: Press 'N' for default navigation, 'ALT+N' for position based navigation.",
7
- "shortcut_local_mode": "Activate local navigation mode",
8
- "shortcut_global_mode": "Activate global navigation mode"
2
+ "autocomplete": {
3
+ "no_suggestions": "No suggestions available"
4
+ },
5
+ "context_menu": {
6
+ "copy": "Copy",
7
+ "cut": "Cut",
8
+ "delete": "Delete",
9
+ "marker": {
10
+ "navigation": "Go to",
11
+ "next": "Next marker",
12
+ "previous": "Previous marker"
13
+ },
14
+ "paste": "Paste"
15
+ },
16
+ "diagram": {
17
+ "label": "Diagram"
9
18
  },
10
19
  "focus": {
11
20
  "focus_not_set": "Focus not set",
12
- "focus_on": "Currently focused: ",
13
21
  "focus_off": "Currently no element is focused.",
22
+ "focus_on": "Currently focused: ",
14
23
  "focus_within": "Within",
15
- "shortcut_focus_palette": "Focus on tool palette",
16
- "shortcut_focus_graph": "Focus on graph"
24
+ "shortcut_focus_graph": "Focus on graph",
25
+ "shortcut_focus_palette": "Focus on tool palette"
26
+ },
27
+ "grid": {
28
+ "shortcut_zoom_in": "Zoom in via grid",
29
+ "zoom_in_grid": "Select a digit from 1-9 to zoom in on the respective box."
30
+ },
31
+ "issue_marker": {
32
+ "severity_error": "ERROR",
33
+ "severity_info": "INFO",
34
+ "severity_warning": "WARNING"
35
+ },
36
+ "move": {
37
+ "shortcut_move": "Move element"
38
+ },
39
+ "navigation": {
40
+ "default_navigation_mode_activated": "Navigation On: Use arrow keys to select preceding (←) or succeding (→) elements. Use the up (↑) and down (↓) arrows to navigate paths. Press 'N' to exit.",
41
+ "default_navigation_mode_deactivated": "Navigation Off: Press 'N' for default navigation, 'ALT+N' for position based navigation.",
42
+ "local_navigation_mode_activated": "Position based Nav On: Navigate nearest elements using arrow keys: (↑) for above, (↓) for below, (←) for previous, (→) for next element. Press 'ALT+N' to exit.",
43
+ "local_navigation_mode_deactivated": "Position based Nav Off: Press 'N' for default navigation, 'ALT+N' for position based navigation.",
44
+ "shortcut_global_mode": "Activate global navigation mode",
45
+ "shortcut_local_mode": "Activate local navigation mode"
17
46
  },
18
47
  "resize": {
19
48
  "resize_mode_activated": "Resize On: Use plus(+) and minus(-) to resize, 'CTRL'+'0' for default size. Press 'ESC' to exit.",
20
49
  "resize_mode_deactivated": "Resize Off: Press 'ALT'+'A' for resize mode.",
21
50
  "shortcut_activate": "Activate resize mode for selected element",
22
51
  "shortcut_deactivate": "Deactivate resize handler",
23
- "shortcut_increase": "Increase size of element",
24
52
  "shortcut_decrease": "Decrease size of element",
53
+ "shortcut_increase": "Increase size of element",
25
54
  "shortcut_reset": "Set element size to default"
26
55
  },
27
- "move": {
28
- "shortcut_move": "Move element"
29
- },
30
- "grid": {
31
- "zoom_in_grid": "Select a digit from 1-9 to zoom in on the respective box.",
32
- "shortcut_zoom_in": "Zoom in via grid"
33
- },
34
56
  "search": {
35
- "shortcut_activate": "Activate search for elements",
57
+ "label": "Search Field",
36
58
  "placeholder": "Search for elements...",
37
- "label": "Search Field"
59
+ "shortcut_activate": "Activate search for elements"
60
+ },
61
+ "shortcut": {
62
+ "group_focus": "Focus",
63
+ "group_graph": "Graph",
64
+ "group_grid": "Grid",
65
+ "group_move": "Move",
66
+ "group_navigation": "Navigation",
67
+ "group_resize": "Resize",
68
+ "group_search": "Search",
69
+ "group_tool_palette": "Tool Palette",
70
+ "group_viewport": "Viewport",
71
+ "group_zoom": "Zoom",
72
+ "header_command": "Command",
73
+ "header_shortcut": "Keybinding",
74
+ "menu_title": "Shortcut Menu",
75
+ "title": "Keyboard Shortcuts"
38
76
  },
39
77
  "tool_palette": {
40
- "label": "Tool Palette",
78
+ "debug_mode_button": "Debug Mode",
41
79
  "delete_button": "Enable deletion tool",
80
+ "label": "Tool Palette",
42
81
  "marquee_button": "Enable marquee tool",
43
82
  "marquee_message": "Currently marquee tool is only usable with mouse.",
44
- "search_placeholder": "Search...",
83
+ "maximize": "Maximize palette",
84
+ "minimize": "Minimize palette",
85
+ "no_items": "No results found.",
86
+ "reset_viewport_button": "Reset Viewport",
45
87
  "search_button": "Filter palette entries",
88
+ "search_placeholder": "Search...",
46
89
  "selection_button": "Enable selection tool",
47
- "validate_button": "Validate model",
48
- "reset_viewport_button": "Reset Viewport",
49
90
  "toggle_grid_button": "Toggle Grid",
50
- "debug_mode_button": "Debug Mode",
51
- "minimize": "Minimize palette",
52
- "maximize": "Maximize palette",
53
- "no_items": "No results found."
91
+ "validate_button": "Validate model"
54
92
  },
55
93
  "viewport": {
56
94
  "shortcut_move_viewport": "Move viewport",
57
- "shortcut_zoom_viewport": "Zoom viewport",
58
- "shortcut_zoom_element": "Zoom element"
59
- },
60
- "shortcut": {
61
- "title": "Keyboard Shortcuts",
62
- "header_command": "Command",
63
- "header_shortcut": "Keybinding",
64
- "menu_title": "Shortcut Menu",
65
- "group_move": "Move",
66
- "group_graph": "Graph",
67
- "group_resize": "Resize",
68
- "group_focus": "Focus",
69
- "group_zoom": "Zoom",
70
- "group_navigation": "Navigation",
71
- "group_grid": "Grid",
72
- "group_search": "Search",
73
- "group_tool_palette": "Tool Palette",
74
- "group_viewport": "Viewport"
75
- },
76
- "diagram": {
77
- "label": "Diagram"
78
- },
79
- "autocomplete": {
80
- "no_suggestions": "No suggestions available"
81
- },
82
- "issue_marker": {
83
- "severity_error": "ERROR",
84
- "severity_warning": "WARNING",
85
- "severity_info": "INFO"
95
+ "shortcut_zoom_element": "Zoom element",
96
+ "shortcut_zoom_viewport": "Zoom viewport"
86
97
  }
87
98
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2024 EclipseSource and others.
2
+ * Copyright (c) 2019-2025 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -72,7 +72,7 @@ export declare class ToolManager implements IToolManager, IDiagramStartup, IEdit
72
72
  registerDefaultTools(...tools: Tool[]): void;
73
73
  registerTools(...tools: Tool[]): void;
74
74
  disableActiveTools(): void;
75
- enableDefaultTools(): void;
75
+ enableDefaultTools(force?: boolean): void;
76
76
  enable(toolIds: string[]): void;
77
77
  tool(toolId: string): Tool | undefined;
78
78
  disableEditTools(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-manager.d.ts","sourceRoot":"","sources":["../../../src/base/tool-manager/tool-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,MAAM,EAEN,aAAa,EACb,cAAc,EACd,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,YAAY,EAKf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAA+C,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC3E;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IAE9B,gFAAgF;IAChF,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IAE9B,qGAAqG;IACrG,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAE7B,oGAAoG;IACpG,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IAEtC;;;;;;;;;OASG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,kBAAkB,IAAI,IAAI,CAAC;IAE3B,4FAA4F;IAC5F,kBAAkB,IAAI,IAAI,CAAC;IAE3B,oBAAoB,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAE7C,aAAa,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;CACzC;AAED;;;GAGG;AACH,qBACa,WAAY,YAAW,YAAY,EAAE,eAAe,EAAE,iBAAiB;IAEhF,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAG9C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAE9C,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAM;IAC9B,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAM;IAC5B,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,CAAM;IAEnC,SAAS,CAAC,oBAAoB,UAAS;IACvC,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,cAAc,IAAI,YAAY,CAAC,IAAI,CAAC;IAQpC,IAAI,YAAY,IAAI,IAAI,EAAE,CAEzB;IAED,IAAI,WAAW,IAAI,IAAI,EAAE,CAExB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,oBAAoB,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAI5C,aAAa,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAIrC,kBAAkB,IAAI,IAAI;IAM1B,kBAAkB,IAAI,IAAI;IAQ1B,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAc/B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAItC,gBAAgB,IAAI,IAAI;IAKxB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;CAU5D;AAED,qBACa,wBAAyB,YAAW,cAAc;IAE3D,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IAEnC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM;CAOnD;AAED,qBACa,+BAAgC,SAAQ,WAAW;IACnD,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE;CAM3E"}
1
+ {"version":3,"file":"tool-manager.d.ts","sourceRoot":"","sources":["../../../src/base/tool-manager/tool-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,MAAM,EAEN,aAAa,EACb,cAAc,EACd,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,YAAY,EAKf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAA+C,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC3E;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IAE9B,gFAAgF;IAChF,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IAE9B,qGAAqG;IACrG,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAE7B,oGAAoG;IACpG,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IAEtC;;;;;;;;;OASG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,kBAAkB,IAAI,IAAI,CAAC;IAE3B,4FAA4F;IAC5F,kBAAkB,IAAI,IAAI,CAAC;IAE3B,oBAAoB,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAE7C,aAAa,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;CACzC;AAED;;;GAGG;AACH,qBACa,WAAY,YAAW,YAAY,EAAE,eAAe,EAAE,iBAAiB;IAEhF,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAG9C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAE9C,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAM;IAC9B,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAM;IAC5B,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,CAAM;IAEnC,SAAS,CAAC,oBAAoB,UAAS;IACvC,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,cAAc,IAAI,YAAY,CAAC,IAAI,CAAC;IAQpC,IAAI,YAAY,IAAI,IAAI,EAAE,CAEzB;IAED,IAAI,WAAW,IAAI,IAAI,EAAE,CAExB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,oBAAoB,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAI5C,aAAa,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAIrC,kBAAkB,IAAI,IAAI;IAM1B,kBAAkB,CAAC,KAAK,UAAQ,GAAG,IAAI;IAQvC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAc/B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAItC,gBAAgB,IAAI,IAAI;IAKxB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;CAU5D;AAED,qBACa,wBAAyB,YAAW,cAAc;IAE3D,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IAEnC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM;CAOnD;AAED,qBACa,+BAAgC,SAAQ,WAAW;IACnD,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE;CAM3E"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /********************************************************************************
3
- * Copyright (c) 2019-2024 EclipseSource and others.
3
+ * Copyright (c) 2019-2025 EclipseSource and others.
4
4
  *
5
5
  * This program and the accompanying materials are made available under the
6
6
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -71,8 +71,8 @@ let ToolManager = class ToolManager {
71
71
  this.actives.forEach(tool => tool.disable());
72
72
  this.actives.splice(0, this.actives.length);
73
73
  }
74
- enableDefaultTools() {
75
- if (this.defaultToolsEnabled) {
74
+ enableDefaultTools(force = false) {
75
+ if (this.defaultToolsEnabled && !force) {
76
76
  return;
77
77
  }
78
78
  this.enable((0, sprotty_1.pluck)(this.defaultTools, 'id'));
@@ -106,7 +106,7 @@ let ToolManager = class ToolManager {
106
106
  this.disableEditTools();
107
107
  }
108
108
  else if (newValue === sprotty_1.EditMode.EDITABLE) {
109
- this.enableDefaultTools();
109
+ this.enableDefaultTools(true);
110
110
  }
111
111
  }
112
112
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tool-manager.js","sourceRoot":"","sources":["../../../src/base/tool-manager/tool-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-manager.js","sourceRoot":"","sources":["../../../src/base/tool-manager/tool-manager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2023-2024 Business Informatics Group (TU Wien) and others.
2
+ * Copyright (c) 2023-2025 Business Informatics Group (TU Wien) and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -8,7 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.SetEdgeTargetGridSuggestionProvider = exports.EdgeAutocompletePalette = exports.EdgeAutocompletePaletteMetadata = void 0;
10
10
  /********************************************************************************
11
- * Copyright (c) 2023-2024 Business Informatics Group (TU Wien) and others.
11
+ * Copyright (c) 2023-2025 Business Informatics Group (TU Wien) and others.
12
12
  *
13
13
  * This program and the accompanying materials are made available under the
14
14
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2023-2024 Business Informatics Group (TU Wien) and others.
2
+ * Copyright (c) 2023-2025 Business Informatics Group (TU Wien) and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.keyboardControlModule = void 0;
4
4
  exports.configureKeyboardControlTools = configureKeyboardControlTools;
5
5
  /********************************************************************************
6
- * Copyright (c) 2023-2024 Business Informatics Group (TU Wien) and others.
6
+ * Copyright (c) 2023-2025 Business Informatics Group (TU Wien) and others.
7
7
  *
8
8
  * This program and the accompanying materials are made available under the
9
9
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
2
+ * Copyright (c) 2023-2025 Business Informatics Group (TU Wien) and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -9,7 +9,7 @@ var GridSearchPalette_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.RevealGridNamedElementSuggestionProvider = exports.RevealGridEdgeSuggestionProvider = exports.GridSearchPalette = void 0;
11
11
  /********************************************************************************
12
- * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
12
+ * Copyright (c) 2023-2025 Business Informatics Group (TU Wien) and others.
13
13
  *
14
14
  * This program and the accompanying materials are made available under the
15
15
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2023-2024 Business Informatics Group (TU Wien) and others.
2
+ * Copyright (c) 2023-2025 Business Informatics Group (TU Wien) and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -11,7 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.KeyboardNodeGrid = void 0;
13
13
  /********************************************************************************
14
- * Copyright (c) 2023-2024 Business Informatics Group (TU Wien) and others.
14
+ * Copyright (c) 2023-2025 Business Informatics Group (TU Wien) and others.
15
15
  *
16
16
  * This program and the accompanying materials are made available under the
17
17
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2024 EclipseSource and others.
2
+ * Copyright (c) 2019-2025 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,9 +13,10 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { GModelElement, Point } from '@eclipse-glsp/sprotty';
16
+ import { GModelElement, GNode, Point } from '@eclipse-glsp/sprotty';
17
17
  import { ModifyCSSFeedbackAction } from '../../base/feedback/css-feedback';
18
18
  import { BoundsAwareModelElement } from '../../utils/gmodel-util';
19
+ import { ContainerElement } from '../hints/model';
19
20
  /**
20
21
  * A `MovementRestrictor` is an optional service that can be used by tools to validate
21
22
  * whether a certain move operation (e.g. `ChangeBoundsOperation`) in the diagram is valid.
@@ -34,14 +35,21 @@ export interface IMovementRestrictor {
34
35
  */
35
36
  cssClasses?: string[];
36
37
  }
38
+ export interface MoveElementContext {
39
+ element: GModelElement;
40
+ elementAtNewLocation: BoundsAwareModelElement;
41
+ parentContainers: ContainerElement[];
42
+ childNodes: GNode[];
43
+ }
37
44
  /**
38
45
  * A `IMovementRestrictor` that checks for overlapping elements. Move operations
39
- * are only valid if the element does not collide with another element after moving.
46
+ * are only valid if the element does not collide with another element/node after moving.
40
47
  */
41
48
  export declare class NoOverlapMovementRestrictor implements IMovementRestrictor {
42
49
  cssClasses: string[];
43
50
  validate(element: GModelElement, newLocation?: Point): boolean;
44
- protected isBoundsRelevant(element: GModelElement, ghostElement: BoundsAwareModelElement): element is BoundsAwareModelElement;
51
+ protected createMoveElementContext(element: GModelElement, newLocation: Point): MoveElementContext;
52
+ protected isBoundsRelevant(element: GModelElement, moveContext: MoveElementContext): element is BoundsAwareModelElement;
45
53
  protected areOverlapping(element1: BoundsAwareModelElement, element2: BoundsAwareModelElement): boolean;
46
54
  }
47
55
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"movement-restrictor.d.ts","sourceRoot":"","sources":["../../../src/features/change-bounds/movement-restrictor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAqB,aAAa,EAAyB,KAAK,EAA6B,MAAM,uBAAuB,CAAC;AAElI,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIlE;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IAC/D;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;GAGG;AACH,qBACa,2BAA4B,YAAW,mBAAmB;IACnE,UAAU,WAA4B;IAEtC,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO;IAkB9D,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,uBAAuB,GAAG,OAAO,IAAI,uBAAuB;IAI7H,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,uBAAuB,GAAG,OAAO;CAG1G;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC7C,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,mBAAmB,GACxC,uBAAuB,CAMzB;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC7C,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,mBAAmB,GACxC,uBAAuB,CAOzB;AAED,wBAAgB,2BAA2B,CACvC,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,mBAAmB,EACvC,KAAK,EAAE,OAAO,GACf,uBAAuB,CAIzB"}
1
+ {"version":3,"file":"movement-restrictor.d.ts","sourceRoot":"","sources":["../../../src/features/change-bounds/movement-restrictor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAIH,aAAa,EACb,KAAK,EAIL,KAAK,EAER,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAqB,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAA2B,MAAM,yBAAyB,CAAC;AAE3F,OAAO,EAAE,gBAAgB,EAAiB,MAAM,gBAAgB,CAAC;AAGjE;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IAC/D;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,oBAAoB,EAAE,uBAAuB,CAAC;IAC9C,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,UAAU,EAAE,KAAK,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,qBACa,2BAA4B,YAAW,mBAAmB;IACnE,UAAU,WAA4B;IAEtC,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO;IAc9D,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,GAAG,kBAAkB;IAgBlG,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,GAAG,OAAO,IAAI,uBAAuB;IA0BvH,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,uBAAuB,GAAG,OAAO;CAG1G;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC7C,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,mBAAmB,GACxC,uBAAuB,CAMzB;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC7C,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,mBAAmB,GACxC,uBAAuB,CAOzB;AAED,wBAAgB,2BAA2B,CACvC,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,mBAAmB,EACvC,KAAK,EAAE,OAAO,GACf,uBAAuB,CAIzB"}
@@ -11,7 +11,7 @@ exports.createMovementRestrictionFeedback = createMovementRestrictionFeedback;
11
11
  exports.removeMovementRestrictionFeedback = removeMovementRestrictionFeedback;
12
12
  exports.movementRestrictionFeedback = movementRestrictionFeedback;
13
13
  /********************************************************************************
14
- * Copyright (c) 2019-2024 EclipseSource and others.
14
+ * Copyright (c) 2019-2025 EclipseSource and others.
15
15
  *
16
16
  * This program and the accompanying materials are made available under the
17
17
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -28,33 +28,60 @@ exports.movementRestrictionFeedback = movementRestrictionFeedback;
28
28
  const sprotty_1 = require("@eclipse-glsp/sprotty");
29
29
  const inversify_1 = require("inversify");
30
30
  const css_feedback_1 = require("../../base/feedback/css-feedback");
31
+ const gmodel_util_1 = require("../../utils/gmodel-util");
31
32
  const viewpoint_util_1 = require("../../utils/viewpoint-util");
32
- const model_1 = require("./model");
33
+ const model_1 = require("../hints/model");
34
+ const model_2 = require("./model");
33
35
  /**
34
36
  * A `IMovementRestrictor` that checks for overlapping elements. Move operations
35
- * are only valid if the element does not collide with another element after moving.
37
+ * are only valid if the element does not collide with another element/node after moving.
36
38
  */
37
39
  let NoOverlapMovementRestrictor = class NoOverlapMovementRestrictor {
38
40
  constructor() {
39
41
  this.cssClasses = ['movement-not-allowed'];
40
42
  }
41
43
  validate(element, newLocation) {
42
- if (!(0, sprotty_1.isMoveable)(element) || !newLocation) {
44
+ if (!(element instanceof sprotty_1.GChildElement) || !(0, sprotty_1.isMoveable)(element) || !newLocation) {
43
45
  return false;
44
46
  }
45
- // Create ghost element at the newLocation
47
+ const moveContext = this.createMoveElementContext(element, newLocation);
48
+ const elementsToValidate = Array.from(element.root.index.all()).filter(e => this.isBoundsRelevant(e, moveContext));
49
+ const valid = !elementsToValidate.some(e => this.areOverlapping(e, moveContext.elementAtNewLocation));
50
+ return valid;
51
+ }
52
+ createMoveElementContext(element, newLocation) {
53
+ const parentContainers = (0, gmodel_util_1.getParents)(element, model_1.isContainable);
54
+ const childNodes = (0, gmodel_util_1.getChildren)(element, (0, sprotty_1.toTypeGuard)(sprotty_1.GNode));
55
+ // Create a mock element at the newLocation for overlap checking
46
56
  const dimensions = (0, sprotty_1.isBoundsAware)(element) ? element.bounds : { width: 1, height: 1 };
47
- const ghostElement = Object.create(element);
48
- ghostElement.bounds = { ...dimensions, ...newLocation };
49
- ghostElement.type = 'Ghost';
50
- ghostElement.id = element.id;
51
- return !Array.from(element.root.index
52
- .all()
53
- .filter(node => node.id !== ghostElement.id && node !== ghostElement.root && node instanceof sprotty_1.GNode)
54
- .map(node => node)).some(e => this.areOverlapping(e, ghostElement));
57
+ const elementAtNewLocation = Object.create(element);
58
+ elementAtNewLocation.bounds = { ...dimensions, ...newLocation };
59
+ return {
60
+ element,
61
+ elementAtNewLocation,
62
+ parentContainers,
63
+ childNodes
64
+ };
55
65
  }
56
- isBoundsRelevant(element, ghostElement) {
57
- return element.id !== ghostElement.id && element !== ghostElement.root && element instanceof sprotty_1.GNode && (0, sprotty_1.isBoundsAware)(element);
66
+ isBoundsRelevant(element, moveContext) {
67
+ var _a;
68
+ // Only consider GNodes that are not the element being moved (or one of its children)
69
+ if (!(element instanceof sprotty_1.GNode) ||
70
+ element.id === moveContext.element.id ||
71
+ moveContext.childNodes.some(child => child.id === element.id)) {
72
+ return false;
73
+ }
74
+ // Do not consider parent containers of the element being moved
75
+ if (moveContext.parentContainers.length > 0 && moveContext.parentContainers.some(container => container.id === element.id)) {
76
+ return false;
77
+ }
78
+ // If the element is a ghost element (node creation), don't consider overlap checks for potential parent containers
79
+ if (((_a = moveContext.element.cssClasses) === null || _a === void 0 ? void 0 : _a.includes(css_feedback_1.CSS_GHOST_ELEMENT)) &&
80
+ (0, model_1.isContainable)(element) &&
81
+ element.isContainableElement(moveContext.element.type)) {
82
+ return false;
83
+ }
84
+ return true;
58
85
  }
59
86
  areOverlapping(element1, element2) {
60
87
  return sprotty_1.Bounds.overlap((0, viewpoint_util_1.toAbsoluteBounds)(element1), (0, viewpoint_util_1.toAbsoluteBounds)(element2));
@@ -73,7 +100,7 @@ exports.NoOverlapMovementRestrictor = NoOverlapMovementRestrictor = __decorate([
73
100
  function createMovementRestrictionFeedback(element, movementRestrictor) {
74
101
  const elements = [element];
75
102
  if (element instanceof sprotty_1.GParentElement) {
76
- element.children.filter(child => child instanceof model_1.GResizeHandle).forEach(e => elements.push(e));
103
+ element.children.filter(child => child instanceof model_2.GResizeHandle).forEach(e => elements.push(e));
77
104
  }
78
105
  return css_feedback_1.ModifyCSSFeedbackAction.create({ elements, add: movementRestrictor.cssClasses });
79
106
  }
@@ -86,7 +113,7 @@ function createMovementRestrictionFeedback(element, movementRestrictor) {
86
113
  function removeMovementRestrictionFeedback(element, movementRestrictor) {
87
114
  const elements = [element];
88
115
  if (element instanceof sprotty_1.GParentElement) {
89
- element.children.filter(child => child instanceof model_1.GResizeHandle).forEach(e => elements.push(e));
116
+ element.children.filter(child => child instanceof model_2.GResizeHandle).forEach(e => elements.push(e));
90
117
  }
91
118
  return css_feedback_1.ModifyCSSFeedbackAction.create({ elements, remove: movementRestrictor.cssClasses });
92
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"movement-restrictor.js","sourceRoot":"","sources":["../../../src/features/change-bounds/movement-restrictor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"movement-restrictor.js","sourceRoot":"","sources":["../../../src/features/change-bounds/movement-restrictor.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2024 EclipseSource and others.
2
+ * Copyright (c) 2019-2025 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,13 +13,13 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { GModelRoot, IContextMenuItemProvider, MenuItem, Point } from '@eclipse-glsp/sprotty';
16
+ import { ClientMenuItem, GModelRoot, IContextMenuItemProvider, Point } from '@eclipse-glsp/sprotty';
17
17
  import { EditorContextService, EditorContextServiceProvider } from '../../base/editor-context-service';
18
18
  export declare class DeleteElementContextMenuItemProvider implements IContextMenuItemProvider {
19
19
  /** @deprecated No longer used. The {@link EditorContextService} is now directly injected.*/
20
20
  editorContextServiceProvider: EditorContextServiceProvider;
21
21
  protected editorContext: EditorContextService;
22
- getItems(_root: Readonly<GModelRoot>, _lastMousePosition?: Point): Promise<MenuItem[]>;
23
- protected createDeleteMenuItem(): MenuItem;
22
+ getItems(_root: Readonly<GModelRoot>, _lastMousePosition?: Point): Promise<ClientMenuItem[]>;
23
+ protected createDeleteMenuItem(): ClientMenuItem;
24
24
  }
25
25
  //# sourceMappingURL=delete-element-context-menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete-element-context-menu.d.ts","sourceRoot":"","sources":["../../../src/features/context-menu/delete-element-context-menu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAA0B,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAS,MAAM,uBAAuB,CAAC;AAE7H,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEvG,qBACa,oCAAqC,YAAW,wBAAwB;IACjF,4FAA4F;IAE/C,4BAA4B,EAAE,4BAA4B,CAAC;IAGxG,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAExC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI5F,SAAS,CAAC,oBAAoB,IAAI,QAAQ;CAU7C"}
1
+ {"version":3,"file":"delete-element-context-menu.d.ts","sourceRoot":"","sources":["../../../src/features/context-menu/delete-element-context-menu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,cAAc,EAA0B,UAAU,EAAE,wBAAwB,EAAE,KAAK,EAAS,MAAM,uBAAuB,CAAC;AAEnI,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAGvG,qBACa,oCAAqC,YAAW,wBAAwB;IACjF,4FAA4F;IAE/C,4BAA4B,EAAE,4BAA4B,CAAC;IAGxG,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAExC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAOlG,SAAS,CAAC,oBAAoB,IAAI,cAAc;CAUnD"}
@@ -11,7 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.DeleteElementContextMenuItemProvider = void 0;
13
13
  /********************************************************************************
14
- * Copyright (c) 2019-2024 EclipseSource and others.
14
+ * Copyright (c) 2019-2025 EclipseSource and others.
15
15
  *
16
16
  * This program and the accompanying materials are made available under the
17
17
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -28,14 +28,18 @@ exports.DeleteElementContextMenuItemProvider = void 0;
28
28
  const sprotty_1 = require("@eclipse-glsp/sprotty");
29
29
  const inversify_1 = require("inversify");
30
30
  const editor_context_service_1 = require("../../base/editor-context-service");
31
+ const messages_1 = require("../../base/messages");
31
32
  let DeleteElementContextMenuItemProvider = class DeleteElementContextMenuItemProvider {
32
33
  async getItems(_root, _lastMousePosition) {
34
+ if (this.editorContext.isReadonly) {
35
+ return [];
36
+ }
33
37
  return [this.createDeleteMenuItem()];
34
38
  }
35
39
  createDeleteMenuItem() {
36
40
  return {
37
41
  id: 'delete',
38
- label: 'Delete',
42
+ label: messages_1.messages.context_menu.delete,
39
43
  sortString: 'd',
40
44
  group: 'edit',
41
45
  actions: [sprotty_1.DeleteElementOperation.create(this.editorContext.selectedElements.map(e => e.id))],
@@ -1 +1 @@
1
- {"version":3,"file":"delete-element-context-menu.js","sourceRoot":"","sources":["../../../src/features/context-menu/delete-element-context-menu.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAA6H;AAC7H,yCAA+C;AAC/C,8EAAuG;AAGhG,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAQ7C,KAAK,CAAC,QAAQ,CAAC,KAA2B,EAAE,kBAA0B;QAClE,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACzC,CAAC;IAES,oBAAoB;QAC1B,OAAO;YACH,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,CAAC,gCAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5F,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;SACpG,CAAC;IACN,CAAC;CACJ,CAAA;AAtBY,oFAAoC;AAGA;IAA5C,IAAA,kBAAM,EAAC,eAAK,CAAC,6BAA6B,CAAC;;0FAA4D;AAG9F;IADT,IAAA,kBAAM,EAAC,6CAAoB,CAAC;8BACJ,6CAAoB;2EAAC;+CANrC,oCAAoC;IADhD,IAAA,sBAAU,GAAE;GACA,oCAAoC,CAsBhD"}
1
+ {"version":3,"file":"delete-element-context-menu.js","sourceRoot":"","sources":["../../../src/features/context-menu/delete-element-context-menu.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAAmI;AACnI,yCAA+C;AAC/C,8EAAuG;AACvG,kDAA+C;AAGxC,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAQ7C,KAAK,CAAC,QAAQ,CAAC,KAA2B,EAAE,kBAA0B;QAClE,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACzC,CAAC;IAES,oBAAoB;QAC1B,OAAO;YACH,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,mBAAQ,CAAC,YAAY,CAAC,MAAM;YACnC,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,CAAC,gCAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5F,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;SACpG,CAAC;IACN,CAAC;CACJ,CAAA;AAzBY,oFAAoC;AAGA;IAA5C,IAAA,kBAAM,EAAC,eAAK,CAAC,6BAA6B,CAAC;;0FAA4D;AAG9F;IADT,IAAA,kBAAM,EAAC,6CAAoB,CAAC;8BACJ,6CAAoB;2EAAC;+CANrC,oCAAoC;IADhD,IAAA,sBAAU,GAAE;GACA,oCAAoC,CAyBhD"}
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2024 EclipseSource and others.
2
+ * Copyright (c) 2019-2025 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, GModelElement, IActionDispatcher, IContextMenuItemProvider, LabeledAction, Point } from '@eclipse-glsp/sprotty';
16
+ import { ClientMenuItem, GModelElement, IActionDispatcher, IContextMenuItemProvider, Point, SetContextActions } from '@eclipse-glsp/sprotty';
17
17
  import { EditorContextService } from '../../base/editor-context-service';
18
18
  export declare namespace ServerContextMenu {
19
19
  const CONTEXT_ID = "context-menu";
@@ -21,7 +21,7 @@ export declare namespace ServerContextMenu {
21
21
  export declare class ServerContextMenuItemProvider implements IContextMenuItemProvider {
22
22
  protected actionDispatcher: IActionDispatcher;
23
23
  protected editorContext: EditorContextService;
24
- getItems(root: Readonly<GModelElement>, _lastMousePosition?: Point): Promise<LabeledAction[]>;
25
- getContextActionsFromResponse(action: Action): LabeledAction[];
24
+ getItems(root: Readonly<GModelElement>, _lastMousePosition?: Point): Promise<ClientMenuItem[]>;
25
+ getContextActionsFromResponse(action: SetContextActions): ClientMenuItem[];
26
26
  }
27
27
  //# sourceMappingURL=server-context-menu-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-context-menu-provider.d.ts","sourceRoot":"","sources":["../../../src/features/context-menu/server-context-menu-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,KAAK,EAKR,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,yBAAiB,iBAAiB,CAAC;IACxB,MAAM,UAAU,iBAAiB,CAAC;CAC5C;AAED,qBACa,6BAA8B,YAAW,wBAAwB;IACzC,SAAS,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IACjD,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAEtE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAanG,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE;CAMjE"}
1
+ {"version":3,"file":"server-context-menu-provider.d.ts","sourceRoot":"","sources":["../../../src/features/context-menu/server-context-menu-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EAExB,KAAK,EAEL,iBAAiB,EAGpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,yBAAiB,iBAAiB,CAAC;IACxB,MAAM,UAAU,iBAAiB,CAAC;CAC5C;AAED,qBACa,6BAA8B,YAAW,wBAAwB;IACzC,SAAS,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IACjD,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAEtE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAapG,6BAA6B,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc,EAAE;CAK7E"}
@@ -11,7 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ServerContextMenuItemProvider = exports.ServerContextMenu = void 0;
13
13
  /********************************************************************************
14
- * Copyright (c) 2019-2024 EclipseSource and others.
14
+ * Copyright (c) 2019-2025 EclipseSource and others.
15
15
  *
16
16
  * This program and the accompanying materials are made available under the
17
17
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -44,10 +44,9 @@ let ServerContextMenuItemProvider = class ServerContextMenuItemProvider {
44
44
  return response ? this.getContextActionsFromResponse(response) : [];
45
45
  }
46
46
  getContextActionsFromResponse(action) {
47
- if (sprotty_1.SetContextActions.is(action)) {
48
- return action.actions;
49
- }
50
- return [];
47
+ return action.actions
48
+ .filter(item => sprotty_1.MenuItem.is(item)) //
49
+ .map(item => sprotty_1.ClientMenuItem.convert(item));
51
50
  }
52
51
  };
53
52
  exports.ServerContextMenuItemProvider = ServerContextMenuItemProvider;