@eclipse-glsp/client 2.4.0-next.409 → 2.4.0-next.413
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/default.module.d.ts.map +1 -1
- package/lib/base/default.module.js +3 -0
- package/lib/base/default.module.js.map +1 -1
- package/lib/{features/accessibility/key-shortcut/accessible-key-shortcut.d.ts → base/shortcuts/available-shortcuts-extension.d.ts} +7 -29
- package/lib/base/shortcuts/available-shortcuts-extension.d.ts.map +1 -0
- package/lib/{features/accessibility/key-shortcut/accessible-key-shortcut.js → base/shortcuts/available-shortcuts-extension.js} +20 -36
- package/lib/base/shortcuts/available-shortcuts-extension.js.map +1 -0
- package/lib/{features/accessibility/key-shortcut/accessible-key-shortcut-tool.d.ts → base/shortcuts/available-shortcuts-tool.d.ts} +4 -6
- package/lib/base/shortcuts/available-shortcuts-tool.d.ts.map +1 -0
- package/lib/{features/accessibility/key-shortcut/accessible-key-shortcut-tool.js → base/shortcuts/available-shortcuts-tool.js} +14 -24
- package/lib/base/shortcuts/available-shortcuts-tool.js.map +1 -0
- package/lib/base/shortcuts/shortcuts-manager.d.ts +39 -0
- package/lib/base/shortcuts/shortcuts-manager.d.ts.map +1 -0
- package/lib/base/shortcuts/shortcuts-manager.js +55 -0
- package/lib/base/shortcuts/shortcuts-manager.js.map +1 -0
- package/lib/{features/accessibility/move-zoom/move-zoom-module.d.ts → base/shortcuts/shortcuts-module.d.ts} +7 -5
- package/lib/base/shortcuts/shortcuts-module.d.ts.map +1 -0
- package/lib/{features/accessibility/resize-key-tool/resize-key-module.js → base/shortcuts/shortcuts-module.js} +12 -14
- package/lib/base/shortcuts/shortcuts-module.js.map +1 -0
- package/lib/base/ui-extension/ui-extension.d.ts +3 -1
- package/lib/base/ui-extension/ui-extension.d.ts.map +1 -1
- package/lib/base/ui-extension/ui-extension.js +8 -0
- package/lib/base/ui-extension/ui-extension.js.map +1 -1
- package/lib/default-modules.d.ts +1 -1
- package/lib/default-modules.d.ts.map +1 -1
- package/lib/default-modules.js +3 -1
- package/lib/default-modules.js.map +1 -1
- package/lib/features/accessibility/accessibility-module.d.ts.map +1 -1
- package/lib/features/accessibility/accessibility-module.js +0 -6
- package/lib/features/accessibility/accessibility-module.js.map +1 -1
- package/lib/features/accessibility/element-navigation/diagram-navigation-tool.d.ts +8 -10
- package/lib/features/accessibility/element-navigation/diagram-navigation-tool.d.ts.map +1 -1
- package/lib/features/accessibility/element-navigation/diagram-navigation-tool.js +20 -44
- package/lib/features/accessibility/element-navigation/diagram-navigation-tool.js.map +1 -1
- package/lib/features/accessibility/global-keylistener-tool.d.ts +6 -8
- package/lib/features/accessibility/global-keylistener-tool.d.ts.map +1 -1
- package/lib/features/accessibility/global-keylistener-tool.js +10 -25
- package/lib/features/accessibility/global-keylistener-tool.js.map +1 -1
- package/lib/features/accessibility/search/search-tool.d.ts +7 -10
- package/lib/features/accessibility/search/search-tool.d.ts.map +1 -1
- package/lib/features/accessibility/search/search-tool.js +9 -20
- package/lib/features/accessibility/search/search-tool.js.map +1 -1
- package/lib/features/accessibility/view-key-tools/{zoom-key-tool.d.ts → grid-cell-zoom-key-tool.d.ts} +13 -21
- package/lib/features/accessibility/view-key-tools/grid-cell-zoom-key-tool.d.ts.map +1 -0
- package/lib/features/accessibility/view-key-tools/{zoom-key-tool.js → grid-cell-zoom-key-tool.js} +31 -82
- package/lib/features/accessibility/view-key-tools/grid-cell-zoom-key-tool.js.map +1 -0
- package/lib/features/accessibility/view-key-tools/view-key-tools-module.d.ts.map +1 -1
- package/lib/features/accessibility/view-key-tools/view-key-tools-module.js +7 -7
- package/lib/features/accessibility/view-key-tools/view-key-tools-module.js.map +1 -1
- package/lib/features/bounds/bounds-module.d.ts.map +1 -1
- package/lib/features/bounds/bounds-module.js +4 -0
- package/lib/features/bounds/bounds-module.js.map +1 -1
- package/lib/features/change-bounds/move-element-action.d.ts +52 -0
- package/lib/features/change-bounds/move-element-action.d.ts.map +1 -0
- package/lib/features/change-bounds/move-element-action.js +32 -0
- package/lib/features/change-bounds/move-element-action.js.map +1 -0
- package/lib/features/change-bounds/move-element-handler.d.ts +42 -0
- package/lib/features/change-bounds/move-element-handler.d.ts.map +1 -0
- package/lib/features/{accessibility/move-zoom/move-handler.js → change-bounds/move-element-handler.js} +12 -72
- package/lib/features/change-bounds/move-element-handler.js.map +1 -0
- package/lib/features/change-bounds/move-element-key-listener.d.ts +31 -0
- package/lib/features/change-bounds/move-element-key-listener.d.ts.map +1 -0
- package/lib/features/change-bounds/move-element-key-listener.js +71 -0
- package/lib/features/change-bounds/move-element-key-listener.js.map +1 -0
- package/lib/features/change-bounds/resize/resize-default-tool.d.ts +34 -0
- package/lib/features/change-bounds/resize/resize-default-tool.d.ts.map +1 -0
- package/lib/features/change-bounds/resize/resize-default-tool.js +89 -0
- package/lib/features/change-bounds/resize/resize-default-tool.js.map +1 -0
- package/lib/features/{accessibility/resize-key-tool/resize-key-handler.d.ts → change-bounds/resize/resize-handler.d.ts} +3 -7
- package/lib/features/change-bounds/resize/resize-handler.d.ts.map +1 -0
- package/lib/features/{accessibility/resize-key-tool/resize-key-handler.js → change-bounds/resize/resize-handler.js} +16 -24
- package/lib/features/change-bounds/resize/resize-handler.js.map +1 -0
- package/lib/features/{accessibility/resize-key-tool/resize-key-module.d.ts → change-bounds/resize/resize-module.d.ts} +9 -4
- package/lib/features/change-bounds/resize/resize-module.d.ts.map +1 -0
- package/lib/features/change-bounds/resize/resize-module.js +42 -0
- package/lib/features/change-bounds/resize/resize-module.js.map +1 -0
- package/lib/features/change-bounds/resize/resize-tool.d.ts +37 -0
- package/lib/features/change-bounds/resize/resize-tool.d.ts.map +1 -0
- package/lib/features/change-bounds/resize/resize-tool.js +123 -0
- package/lib/features/change-bounds/resize/resize-tool.js.map +1 -0
- package/lib/features/grid/grid-manager.js +1 -0
- package/lib/features/grid/grid-manager.js.map +1 -1
- package/lib/features/grid/grid-module.d.ts.map +1 -1
- package/lib/features/grid/grid-module.js +2 -1
- package/lib/features/grid/grid-module.js.map +1 -1
- package/lib/features/grid/grid-snapper.d.ts.map +1 -1
- package/lib/features/grid/grid-snapper.js +3 -2
- package/lib/features/grid/grid-snapper.js.map +1 -1
- package/lib/features/grid/grid.d.ts +3 -0
- package/lib/features/grid/grid.d.ts.map +1 -1
- package/lib/features/grid/grid.js +5 -0
- package/lib/features/grid/grid.js.map +1 -1
- package/lib/features/helper-lines/helper-line-manager.js +1 -0
- package/lib/features/helper-lines/helper-line-manager.js.map +1 -1
- package/lib/features/tools/base-tools.d.ts +8 -3
- package/lib/features/tools/base-tools.d.ts.map +1 -1
- package/lib/features/tools/base-tools.js +21 -12
- package/lib/features/tools/base-tools.js.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +8 -2
- package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool.js +23 -0
- package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/edge-creation/edge-creation-tool.js +1 -0
- package/lib/features/tools/edge-creation/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/node-creation/node-creation-views.js +1 -0
- package/lib/features/tools/node-creation/node-creation-views.js.map +1 -1
- package/lib/features/viewport/viewport-handler.d.ts +20 -1
- package/lib/features/viewport/viewport-handler.d.ts.map +1 -1
- package/lib/features/viewport/viewport-handler.js +100 -1
- package/lib/features/viewport/viewport-handler.js.map +1 -1
- package/lib/features/viewport/viewport-key-listener.d.ts +36 -0
- package/lib/features/viewport/viewport-key-listener.d.ts.map +1 -0
- package/lib/features/viewport/viewport-key-listener.js +144 -0
- package/lib/features/viewport/viewport-key-listener.js.map +1 -0
- package/lib/features/viewport/viewport-modules.d.ts.map +1 -1
- package/lib/features/viewport/viewport-modules.js +11 -0
- package/lib/features/viewport/viewport-modules.js.map +1 -1
- package/lib/features/viewport/viewport-tool.d.ts +32 -0
- package/lib/features/viewport/viewport-tool.d.ts.map +1 -0
- package/lib/features/viewport/viewport-tool.js +67 -0
- package/lib/features/viewport/viewport-tool.js.map +1 -0
- package/lib/features/viewport/zoom-viewport-action.d.ts +50 -0
- package/lib/features/viewport/zoom-viewport-action.d.ts.map +1 -0
- package/lib/features/viewport/zoom-viewport-action.js +36 -0
- package/lib/features/viewport/zoom-viewport-action.js.map +1 -0
- package/lib/index.d.ts +13 -11
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +13 -11
- package/lib/index.js.map +1 -1
- package/lib/standalone-modules.d.ts +1 -1
- package/lib/standalone-modules.d.ts.map +1 -1
- package/lib/standalone-modules.js +4 -0
- package/lib/standalone-modules.js.map +1 -1
- package/lib/utils/viewpoint-util.js +2 -2
- package/lib/utils/viewpoint-util.js.map +1 -1
- package/package.json +3 -3
- package/src/base/default.module.ts +4 -0
- package/src/{features/accessibility/key-shortcut/accessible-key-shortcut.ts → base/shortcuts/available-shortcuts-extension.ts} +13 -46
- package/src/{features/accessibility/key-shortcut/accessible-key-shortcut-tool.ts → base/shortcuts/available-shortcuts-tool.ts} +9 -15
- package/src/base/shortcuts/shortcuts-manager.ts +64 -0
- package/src/{features/accessibility/resize-key-tool/resize-key-module.ts → base/shortcuts/shortcuts-module.ts} +12 -14
- package/src/base/ui-extension/ui-extension.ts +8 -1
- package/src/default-modules.ts +3 -1
- package/src/features/accessibility/accessibility-module.ts +0 -6
- package/src/features/accessibility/element-navigation/diagram-navigation-tool.ts +26 -50
- package/src/features/accessibility/global-keylistener-tool.ts +11 -28
- package/src/features/accessibility/search/search-tool.ts +15 -33
- package/src/features/accessibility/view-key-tools/{zoom-key-tool.ts → grid-cell-zoom-key-tool.ts} +27 -82
- package/src/features/accessibility/view-key-tools/view-key-tools-module.ts +7 -7
- package/src/features/bounds/bounds-module.ts +6 -0
- package/src/features/change-bounds/move-element-action.ts +55 -0
- package/src/features/{accessibility/move-zoom/move-handler.ts → change-bounds/move-element-handler.ts} +18 -113
- package/src/features/change-bounds/move-element-key-listener.ts +74 -0
- package/src/features/change-bounds/resize/resize-default-tool.ts +75 -0
- package/src/features/{accessibility/resize-key-tool/resize-key-handler.ts → change-bounds/resize/resize-handler.ts} +10 -19
- package/src/features/change-bounds/resize/resize-module.ts +48 -0
- package/src/features/change-bounds/resize/resize-tool.ts +114 -0
- package/src/features/grid/grid-module.ts +2 -1
- package/src/features/grid/grid-snapper.ts +2 -2
- package/src/features/grid/grid.ts +3 -0
- package/src/features/tools/base-tools.ts +12 -6
- package/src/features/tools/change-bounds/change-bounds-tool.ts +25 -1
- package/src/features/viewport/viewport-handler.ts +121 -1
- package/src/features/viewport/viewport-key-listener.ts +121 -0
- package/src/features/viewport/viewport-modules.ts +15 -1
- package/src/features/viewport/viewport-tool.ts +54 -0
- package/src/features/viewport/zoom-viewport-action.ts +54 -0
- package/src/index.ts +13 -11
- package/src/standalone-modules.ts +4 -0
- package/src/utils/viewpoint-util.ts +2 -2
- package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.d.ts.map +0 -1
- package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.js.map +0 -1
- package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.d.ts.map +0 -1
- package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.js.map +0 -1
- package/lib/features/accessibility/key-shortcut/shortcut-help-module.d.ts +0 -26
- package/lib/features/accessibility/key-shortcut/shortcut-help-module.d.ts.map +0 -1
- package/lib/features/accessibility/key-shortcut/shortcut-help-module.js +0 -37
- package/lib/features/accessibility/key-shortcut/shortcut-help-module.js.map +0 -1
- package/lib/features/accessibility/move-zoom/move-handler.d.ts +0 -97
- package/lib/features/accessibility/move-zoom/move-handler.d.ts.map +0 -1
- package/lib/features/accessibility/move-zoom/move-handler.js.map +0 -1
- package/lib/features/accessibility/move-zoom/move-zoom-module.d.ts.map +0 -1
- package/lib/features/accessibility/move-zoom/move-zoom-module.js +0 -40
- package/lib/features/accessibility/move-zoom/move-zoom-module.js.map +0 -1
- package/lib/features/accessibility/move-zoom/zoom-handler.d.ts +0 -73
- package/lib/features/accessibility/move-zoom/zoom-handler.d.ts.map +0 -1
- package/lib/features/accessibility/move-zoom/zoom-handler.js +0 -157
- package/lib/features/accessibility/move-zoom/zoom-handler.js.map +0 -1
- package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts.map +0 -1
- package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +0 -1
- package/lib/features/accessibility/resize-key-tool/resize-key-module.d.ts.map +0 -1
- package/lib/features/accessibility/resize-key-tool/resize-key-module.js.map +0 -1
- package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts +0 -47
- package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts.map +0 -1
- package/lib/features/accessibility/resize-key-tool/resize-key-tool.js +0 -154
- package/lib/features/accessibility/resize-key-tool/resize-key-tool.js.map +0 -1
- package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +0 -53
- package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +0 -1
- package/lib/features/accessibility/view-key-tools/movement-key-tool.js +0 -156
- package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +0 -1
- package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts.map +0 -1
- package/lib/features/accessibility/view-key-tools/zoom-key-tool.js.map +0 -1
- package/src/features/accessibility/key-shortcut/shortcut-help-module.ts +0 -42
- package/src/features/accessibility/move-zoom/move-zoom-module.ts +0 -44
- package/src/features/accessibility/move-zoom/zoom-handler.ts +0 -182
- package/src/features/accessibility/resize-key-tool/resize-key-tool.ts +0 -139
- package/src/features/accessibility/view-key-tools/movement-key-tool.ts +0 -135
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.RestoreViewportHandler = void 0;
|
|
12
|
+
exports.ZoomHandler = exports.MoveViewportHandler = exports.RestoreViewportHandler = void 0;
|
|
13
13
|
/********************************************************************************
|
|
14
14
|
* Copyright (c) 2023-2024 Business Informatics Group (TU Wien) and others.
|
|
15
15
|
*
|
|
@@ -30,6 +30,7 @@ const inversify_1 = require("inversify");
|
|
|
30
30
|
const editor_context_service_1 = require("../../base/editor-context-service");
|
|
31
31
|
const focus_tracker_1 = require("../../base/focus/focus-tracker");
|
|
32
32
|
const tool_1 = require("../../base/tool-manager/tool");
|
|
33
|
+
const gmodel_util_1 = require("../../utils/gmodel-util");
|
|
33
34
|
const actions_1 = require("../accessibility/actions");
|
|
34
35
|
/**
|
|
35
36
|
* Focuses the graph on different actions.
|
|
@@ -89,4 +90,102 @@ __decorate([
|
|
|
89
90
|
exports.RestoreViewportHandler = RestoreViewportHandler = __decorate([
|
|
90
91
|
(0, inversify_1.injectable)()
|
|
91
92
|
], RestoreViewportHandler);
|
|
93
|
+
/**
|
|
94
|
+
* Handles moving the viewport.
|
|
95
|
+
*/
|
|
96
|
+
let MoveViewportHandler = class MoveViewportHandler {
|
|
97
|
+
handle(action) {
|
|
98
|
+
return this.handleMoveViewport(action);
|
|
99
|
+
}
|
|
100
|
+
handleMoveViewport(action) {
|
|
101
|
+
const viewport = (0, sprotty_1.findParentByFeature)(this.editorContextService.modelRoot, sprotty_1.isViewport);
|
|
102
|
+
if (!viewport) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const newViewport = {
|
|
106
|
+
scroll: {
|
|
107
|
+
x: viewport.scroll.x + action.moveX,
|
|
108
|
+
y: viewport.scroll.y + action.moveY
|
|
109
|
+
},
|
|
110
|
+
zoom: viewport.zoom
|
|
111
|
+
};
|
|
112
|
+
return sprotty_1.SetViewportAction.create(viewport.id, newViewport, { animate: false });
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
exports.MoveViewportHandler = MoveViewportHandler;
|
|
116
|
+
__decorate([
|
|
117
|
+
(0, inversify_1.inject)(editor_context_service_1.EditorContextService),
|
|
118
|
+
__metadata("design:type", editor_context_service_1.EditorContextService)
|
|
119
|
+
], MoveViewportHandler.prototype, "editorContextService", void 0);
|
|
120
|
+
exports.MoveViewportHandler = MoveViewportHandler = __decorate([
|
|
121
|
+
(0, inversify_1.injectable)()
|
|
122
|
+
], MoveViewportHandler);
|
|
123
|
+
/*
|
|
124
|
+
* Handles zooming in and out of the viewport.
|
|
125
|
+
*/
|
|
126
|
+
let ZoomHandler = class ZoomHandler {
|
|
127
|
+
handle(action) {
|
|
128
|
+
if (action.elementIds) {
|
|
129
|
+
return this.handleZoomElement(action.elementIds, action.zoomFactor);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
return this.handleZoomViewport(action.zoomFactor);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
handleZoomViewport(zoomFactor) {
|
|
136
|
+
const viewport = (0, sprotty_1.findParentByFeature)(this.editorContextService.modelRoot, sprotty_1.isViewport);
|
|
137
|
+
if (!viewport) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const newZoom = viewport.zoom * zoomFactor;
|
|
141
|
+
const newViewport = {
|
|
142
|
+
scroll: viewport.scroll,
|
|
143
|
+
zoom: newZoom
|
|
144
|
+
};
|
|
145
|
+
return sprotty_1.SetViewportAction.create(viewport.id, newViewport, { animate: false });
|
|
146
|
+
}
|
|
147
|
+
handleZoomElement(elementIds, zoomFactor) {
|
|
148
|
+
const viewport = (0, sprotty_1.findParentByFeature)(this.editorContextService.modelRoot, sprotty_1.isViewport);
|
|
149
|
+
if (!viewport) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
const elements = (0, gmodel_util_1.getElements)(this.editorContextService.modelRoot.index, elementIds, gmodel_util_1.isSelectableAndBoundsAware);
|
|
153
|
+
const center = this.getCenter(viewport, elements);
|
|
154
|
+
const newZoom = viewport.zoom * zoomFactor;
|
|
155
|
+
const newViewport = {
|
|
156
|
+
scroll: {
|
|
157
|
+
x: center.x - (0.5 * viewport.canvasBounds.width) / newZoom,
|
|
158
|
+
y: center.y - (0.5 * viewport.canvasBounds.height) / newZoom
|
|
159
|
+
},
|
|
160
|
+
zoom: newZoom
|
|
161
|
+
};
|
|
162
|
+
return sprotty_1.SetViewportAction.create(viewport.id, newViewport, { animate: false });
|
|
163
|
+
}
|
|
164
|
+
getCenter(viewport, selectedElements) {
|
|
165
|
+
// Get bounds of elements based on the viewport
|
|
166
|
+
const allBounds = selectedElements.map(e => this.boundsInViewport(viewport, e, e.bounds));
|
|
167
|
+
const mergedBounds = allBounds.reduce((b0, b1) => sprotty_1.Bounds.combine(b0, b1));
|
|
168
|
+
return sprotty_1.Bounds.center(mergedBounds);
|
|
169
|
+
}
|
|
170
|
+
boundsInViewport(viewport, element, bounds) {
|
|
171
|
+
if (element instanceof sprotty_1.GChildElement && element.parent !== viewport) {
|
|
172
|
+
return this.boundsInViewport(viewport, element.parent, element.parent.localToParent(bounds));
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
return bounds;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
exports.ZoomHandler = ZoomHandler;
|
|
180
|
+
__decorate([
|
|
181
|
+
(0, inversify_1.inject)(editor_context_service_1.EditorContextService),
|
|
182
|
+
__metadata("design:type", editor_context_service_1.EditorContextService)
|
|
183
|
+
], ZoomHandler.prototype, "editorContextService", void 0);
|
|
184
|
+
__decorate([
|
|
185
|
+
(0, inversify_1.inject)(sprotty_1.TYPES.IActionDispatcher),
|
|
186
|
+
__metadata("design:type", Object)
|
|
187
|
+
], ZoomHandler.prototype, "actionDispatcher", void 0);
|
|
188
|
+
exports.ZoomHandler = ZoomHandler = __decorate([
|
|
189
|
+
(0, inversify_1.injectable)()
|
|
190
|
+
], ZoomHandler);
|
|
92
191
|
//# sourceMappingURL=viewport-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewport-handler.js","sourceRoot":"","sources":["../../../src/features/viewport/viewport-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,
|
|
1
|
+
{"version":3,"file":"viewport-handler.js","sourceRoot":"","sources":["../../../src/features/viewport/viewport-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2024 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { Action, GModelElement, KeyListener } from '@eclipse-glsp/sprotty';
|
|
17
|
+
import { SelectionService } from '../../base/selection-service';
|
|
18
|
+
import { IChangeBoundsManager } from '../tools/change-bounds/change-bounds-manager';
|
|
19
|
+
export declare class MoveViewportKeyListener extends KeyListener {
|
|
20
|
+
protected readonly selectionService: SelectionService;
|
|
21
|
+
protected readonly changeBoundsManager: IChangeBoundsManager;
|
|
22
|
+
protected readonly grid: import("@eclipse-glsp/sprotty").Point;
|
|
23
|
+
keyDown(_element: GModelElement, event: KeyboardEvent): Action[];
|
|
24
|
+
protected matchesMoveUpKeystroke(event: KeyboardEvent): boolean;
|
|
25
|
+
protected matchesMoveDownKeystroke(event: KeyboardEvent): boolean;
|
|
26
|
+
protected matchesMoveRightKeystroke(event: KeyboardEvent): boolean;
|
|
27
|
+
protected matchesMoveLeftKeystroke(event: KeyboardEvent): boolean;
|
|
28
|
+
}
|
|
29
|
+
export declare class ZoomKeyListener extends KeyListener {
|
|
30
|
+
protected readonly selectionService: SelectionService;
|
|
31
|
+
keyDown(element: GModelElement, event: KeyboardEvent): Action[];
|
|
32
|
+
protected matchesZoomInKeystroke(event: KeyboardEvent): boolean;
|
|
33
|
+
protected matchesMinZoomLevelKeystroke(event: KeyboardEvent): boolean;
|
|
34
|
+
protected matchesZoomOutKeystroke(event: KeyboardEvent): boolean;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=viewport-key-listener.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport-key-listener.d.ts","sourceRoot":"","sources":["../../../src/features/viewport/viewport-key-listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAgB,aAAa,EAAE,WAAW,EAA+C,MAAM,uBAAuB,CAAC;AAEtI,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAGpF,qBACa,uBAAwB,SAAQ,WAAW;IAEpD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAG7D,SAAS,CAAC,QAAQ,CAAC,IAAI,wCAAgB;IAE9B,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE;IAoBzE,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAI/D,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAIjE,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAIlE,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;CAGpE;AAED,qBACa,eAAgB,SAAQ,WAAW;IAE5C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAE7C,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE;IAiCxE,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAK/D,SAAS,CAAC,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAIrE,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;CAGnE"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2024 EclipseSource and others.
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made available under the
|
|
6
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
*
|
|
9
|
+
* This Source Code may also be made available under the following Secondary
|
|
10
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
* with the GNU Classpath Exception which is available at
|
|
13
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
*
|
|
15
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
********************************************************************************/
|
|
17
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
+
};
|
|
23
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
+
};
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.ZoomKeyListener = exports.MoveViewportKeyListener = void 0;
|
|
28
|
+
const sprotty_1 = require("@eclipse-glsp/sprotty");
|
|
29
|
+
const inversify_1 = require("inversify");
|
|
30
|
+
const selection_service_1 = require("../../base/selection-service");
|
|
31
|
+
const grid_1 = require("../grid/grid");
|
|
32
|
+
const zoom_viewport_action_1 = require("./zoom-viewport-action");
|
|
33
|
+
let MoveViewportKeyListener = class MoveViewportKeyListener extends sprotty_1.KeyListener {
|
|
34
|
+
constructor() {
|
|
35
|
+
super(...arguments);
|
|
36
|
+
this.grid = grid_1.Grid.DEFAULT;
|
|
37
|
+
}
|
|
38
|
+
keyDown(_element, event) {
|
|
39
|
+
const selectedElementIds = this.selectionService.getSelectedElementIDs();
|
|
40
|
+
const snap = this.changeBoundsManager.usePositionSnap(event);
|
|
41
|
+
const offsetX = snap ? this.grid.x : 1;
|
|
42
|
+
const offsetY = snap ? this.grid.y : 1;
|
|
43
|
+
if (selectedElementIds.length === 0) {
|
|
44
|
+
if (this.matchesMoveUpKeystroke(event)) {
|
|
45
|
+
return [sprotty_1.MoveViewportAction.create({ moveX: 0, moveY: -offsetY })];
|
|
46
|
+
}
|
|
47
|
+
else if (this.matchesMoveDownKeystroke(event)) {
|
|
48
|
+
return [sprotty_1.MoveViewportAction.create({ moveX: 0, moveY: offsetY })];
|
|
49
|
+
}
|
|
50
|
+
else if (this.matchesMoveRightKeystroke(event)) {
|
|
51
|
+
return [sprotty_1.MoveViewportAction.create({ moveX: offsetX, moveY: 0 })];
|
|
52
|
+
}
|
|
53
|
+
else if (this.matchesMoveLeftKeystroke(event)) {
|
|
54
|
+
return [sprotty_1.MoveViewportAction.create({ moveX: -offsetX, moveY: 0 })];
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
matchesMoveUpKeystroke(event) {
|
|
60
|
+
return (0, sprotty_1.matchesKeystroke)(event, 'ArrowUp');
|
|
61
|
+
}
|
|
62
|
+
matchesMoveDownKeystroke(event) {
|
|
63
|
+
return (0, sprotty_1.matchesKeystroke)(event, 'ArrowDown');
|
|
64
|
+
}
|
|
65
|
+
matchesMoveRightKeystroke(event) {
|
|
66
|
+
return (0, sprotty_1.matchesKeystroke)(event, 'ArrowRight');
|
|
67
|
+
}
|
|
68
|
+
matchesMoveLeftKeystroke(event) {
|
|
69
|
+
return (0, sprotty_1.matchesKeystroke)(event, 'ArrowLeft');
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
exports.MoveViewportKeyListener = MoveViewportKeyListener;
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, inversify_1.inject)(selection_service_1.SelectionService),
|
|
75
|
+
__metadata("design:type", selection_service_1.SelectionService)
|
|
76
|
+
], MoveViewportKeyListener.prototype, "selectionService", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, inversify_1.inject)(sprotty_1.TYPES.IChangeBoundsManager),
|
|
79
|
+
__metadata("design:type", Object)
|
|
80
|
+
], MoveViewportKeyListener.prototype, "changeBoundsManager", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, inversify_1.inject)(sprotty_1.TYPES.Grid),
|
|
83
|
+
(0, inversify_1.optional)(),
|
|
84
|
+
__metadata("design:type", Object)
|
|
85
|
+
], MoveViewportKeyListener.prototype, "grid", void 0);
|
|
86
|
+
exports.MoveViewportKeyListener = MoveViewportKeyListener = __decorate([
|
|
87
|
+
(0, inversify_1.injectable)()
|
|
88
|
+
], MoveViewportKeyListener);
|
|
89
|
+
let ZoomKeyListener = class ZoomKeyListener extends sprotty_1.KeyListener {
|
|
90
|
+
keyDown(element, event) {
|
|
91
|
+
const selectedElementIds = this.selectionService.getSelectedElementIDs();
|
|
92
|
+
if (selectedElementIds.length === 0) {
|
|
93
|
+
if (this.matchesZoomOutKeystroke(event)) {
|
|
94
|
+
return [zoom_viewport_action_1.ZoomAction.create({ zoomFactor: zoom_viewport_action_1.ZoomFactors.DEFAULT.out })];
|
|
95
|
+
}
|
|
96
|
+
else if (this.matchesZoomInKeystroke(event)) {
|
|
97
|
+
return [zoom_viewport_action_1.ZoomAction.create({ zoomFactor: zoom_viewport_action_1.ZoomFactors.DEFAULT.in })];
|
|
98
|
+
}
|
|
99
|
+
else if (this.matchesMinZoomLevelKeystroke(event)) {
|
|
100
|
+
return [sprotty_1.CenterAction.create(selectedElementIds)];
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
if (this.matchesZoomOutKeystroke(event)) {
|
|
105
|
+
if (selectedElementIds.length > 0) {
|
|
106
|
+
return [
|
|
107
|
+
zoom_viewport_action_1.ZoomAction.create({
|
|
108
|
+
elementIds: selectedElementIds,
|
|
109
|
+
zoomFactor: zoom_viewport_action_1.ZoomFactors.DEFAULT.out
|
|
110
|
+
})
|
|
111
|
+
];
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
else if (this.matchesZoomInKeystroke(event)) {
|
|
115
|
+
if (selectedElementIds.length > 0) {
|
|
116
|
+
return [zoom_viewport_action_1.ZoomAction.create({ elementIds: selectedElementIds, zoomFactor: zoom_viewport_action_1.ZoomFactors.DEFAULT.in })];
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else if (this.matchesMinZoomLevelKeystroke(event)) {
|
|
120
|
+
return [sprotty_1.CenterAction.create(selectedElementIds)];
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return [];
|
|
124
|
+
}
|
|
125
|
+
matchesZoomInKeystroke(event) {
|
|
126
|
+
/** here event.key is used for '+', as keycode 187 is already declared for 'Equals' in {@link matchesKeystroke}.*/
|
|
127
|
+
return !event.ctrlKey && (event.key === '+' || (0, sprotty_1.matchesKeystroke)(event, 'NumpadAdd'));
|
|
128
|
+
}
|
|
129
|
+
matchesMinZoomLevelKeystroke(event) {
|
|
130
|
+
return (0, sprotty_1.matchesKeystroke)(event, 'Digit0', 'ctrl') || (0, sprotty_1.matchesKeystroke)(event, 'Numpad0', 'ctrl');
|
|
131
|
+
}
|
|
132
|
+
matchesZoomOutKeystroke(event) {
|
|
133
|
+
return !event.ctrlKey && ((0, sprotty_1.matchesKeystroke)(event, 'Minus') || (0, sprotty_1.matchesKeystroke)(event, 'NumpadSubtract'));
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
exports.ZoomKeyListener = ZoomKeyListener;
|
|
137
|
+
__decorate([
|
|
138
|
+
(0, inversify_1.inject)(selection_service_1.SelectionService),
|
|
139
|
+
__metadata("design:type", selection_service_1.SelectionService)
|
|
140
|
+
], ZoomKeyListener.prototype, "selectionService", void 0);
|
|
141
|
+
exports.ZoomKeyListener = ZoomKeyListener = __decorate([
|
|
142
|
+
(0, inversify_1.injectable)()
|
|
143
|
+
], ZoomKeyListener);
|
|
144
|
+
//# sourceMappingURL=viewport-key-listener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport-key-listener.js","sourceRoot":"","sources":["../../../src/features/viewport/viewport-key-listener.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewport-modules.d.ts","sourceRoot":"","sources":["../../../src/features/viewport/viewport-modules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAMH,aAAa,
|
|
1
|
+
{"version":3,"file":"viewport-modules.d.ts","sourceRoot":"","sources":["../../../src/features/viewport/viewport-modules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAMH,aAAa,EAOhB,MAAM,uBAAuB,CAAC;AAW/B,eAAO,MAAM,cAAc,eA+B1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,eAMpC,CAAC"}
|
|
@@ -23,6 +23,9 @@ const glsp_scroll_mouse_listener_1 = require("./glsp-scroll-mouse-listener");
|
|
|
23
23
|
const origin_viewport_1 = require("./origin-viewport");
|
|
24
24
|
const reposition_1 = require("./reposition");
|
|
25
25
|
const viewport_handler_1 = require("./viewport-handler");
|
|
26
|
+
const viewport_key_listener_1 = require("./viewport-key-listener");
|
|
27
|
+
const viewport_tool_1 = require("./viewport-tool");
|
|
28
|
+
const zoom_viewport_action_1 = require("./zoom-viewport-action");
|
|
26
29
|
exports.viewportModule = new sprotty_1.FeatureModule((bind, _unbind, isBound) => {
|
|
27
30
|
const context = { bind, isBound };
|
|
28
31
|
(0, sprotty_1.configureCommand)(context, sprotty_1.CenterCommand);
|
|
@@ -38,6 +41,14 @@ exports.viewportModule = new sprotty_1.FeatureModule((bind, _unbind, isBound) =>
|
|
|
38
41
|
(0, sprotty_1.bindAsService)(context, sprotty_1.TYPES.IDiagramStartup, viewport_handler_1.RestoreViewportHandler);
|
|
39
42
|
(0, sprotty_1.configureActionHandler)(context, tool_1.EnableDefaultToolsAction.KIND, viewport_handler_1.RestoreViewportHandler);
|
|
40
43
|
(0, sprotty_1.configureActionHandler)(context, actions_1.FocusDomAction.KIND, viewport_handler_1.RestoreViewportHandler);
|
|
44
|
+
bind(sprotty_1.TYPES.ZoomFactors).toConstantValue(zoom_viewport_action_1.ZoomFactors.DEFAULT);
|
|
45
|
+
(0, sprotty_1.bindAsService)(context, sprotty_1.TYPES.IDefaultTool, viewport_tool_1.ViewportKeyTool);
|
|
46
|
+
bind(viewport_handler_1.MoveViewportHandler).toSelf().inSingletonScope();
|
|
47
|
+
bind(viewport_key_listener_1.MoveViewportKeyListener).toSelf();
|
|
48
|
+
(0, sprotty_1.configureActionHandler)(context, sprotty_1.MoveViewportAction.KIND, viewport_handler_1.MoveViewportHandler);
|
|
49
|
+
bind(viewport_handler_1.ZoomHandler).toSelf().inSingletonScope();
|
|
50
|
+
bind(viewport_key_listener_1.ZoomKeyListener).toSelf();
|
|
51
|
+
(0, sprotty_1.configureActionHandler)(context, zoom_viewport_action_1.ZoomAction.KIND, viewport_handler_1.ZoomHandler);
|
|
41
52
|
}, { featureId: Symbol('viewport') });
|
|
42
53
|
/**
|
|
43
54
|
* Feature module that is intended for the standalone deployment of GLSP (i.e. plain webapp)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewport-modules.js","sourceRoot":"","sources":["../../../src/features/viewport/viewport-modules.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,
|
|
1
|
+
{"version":3,"file":"viewport-modules.js","sourceRoot":"","sources":["../../../src/features/viewport/viewport-modules.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAa+B;AAC/B,uDAA2F;AAC3F,sDAA0D;AAC1D,6EAAuE;AACvE,uDAA0D;AAC1D,6CAAiD;AACjD,yDAA8F;AAC9F,mEAAmF;AACnF,mDAAkD;AAClD,iEAAiE;AAEpD,QAAA,cAAc,GAAG,IAAI,uBAAa,CAC3C,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACvB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAClC,IAAA,0BAAgB,EAAC,OAAO,EAAE,uBAAa,CAAC,CAAC;IACzC,IAAA,0BAAgB,EAAC,OAAO,EAAE,4BAAkB,CAAC,CAAC;IAC9C,IAAA,0BAAgB,EAAC,OAAO,EAAE,4BAAkB,CAAC,CAAC;IAC9C,IAAA,0BAAgB,EAAC,OAAO,EAAE,4BAAkB,CAAC,CAAC;IAC9C,IAAA,0BAAgB,EAAC,OAAO,EAAE,8BAAiB,CAAC,CAAC;IAC7C,IAAA,0BAAgB,EAAC,OAAO,EAAE,uCAAqB,CAAC,CAAC;IAEjD,IAAA,uBAAa,EAAC,OAAO,EAAE,eAAK,CAAC,aAAa,EAAE,2BAAiB,CAAC,CAAC;IAC/D,IAAA,uBAAa,EAAC,OAAO,EAAE,eAAK,CAAC,aAAa,EAAE,oDAAuB,CAAC,CAAC;IAErE,IAAA,gCAAsB,EAAC,OAAO,EAAE,wBAAiB,CAAC,IAAI,EAAE,oDAAuB,CAAC,CAAC;IACjF,IAAA,gCAAsB,EAAC,OAAO,EAAE,+BAAwB,CAAC,IAAI,EAAE,oDAAuB,CAAC,CAAC;IAExF,IAAA,uBAAa,EAAC,OAAO,EAAE,eAAK,CAAC,eAAe,EAAE,yCAAsB,CAAC,CAAC;IACtE,IAAA,gCAAsB,EAAC,OAAO,EAAE,+BAAwB,CAAC,IAAI,EAAE,yCAAsB,CAAC,CAAC;IACvF,IAAA,gCAAsB,EAAC,OAAO,EAAE,wBAAc,CAAC,IAAI,EAAE,yCAAsB,CAAC,CAAC;IAE7E,IAAI,CAAC,eAAK,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,kCAAW,CAAC,OAAO,CAAC,CAAC;IAE7D,IAAA,uBAAa,EAAC,OAAO,EAAE,eAAK,CAAC,YAAY,EAAE,+BAAe,CAAC,CAAC;IAC5D,IAAI,CAAC,sCAAmB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACtD,IAAI,CAAC,+CAAuB,CAAC,CAAC,MAAM,EAAE,CAAC;IACvC,IAAA,gCAAsB,EAAC,OAAO,EAAE,4BAAkB,CAAC,IAAI,EAAE,sCAAmB,CAAC,CAAC;IAC9E,IAAI,CAAC,8BAAW,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9C,IAAI,CAAC,uCAAe,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,IAAA,gCAAsB,EAAC,OAAO,EAAE,iCAAU,CAAC,IAAI,EAAE,8BAAW,CAAC,CAAC;AAClE,CAAC,EACD,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CACpC,CAAC;AAEF;;;;GAIG;AACU,QAAA,wBAAwB,GAAG,IAAI,uBAAa,CACrD,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACvB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAClC,IAAA,uBAAa,EAAC,OAAO,EAAE,eAAK,CAAC,WAAW,EAAE,gCAAsB,CAAC,CAAC;AACtE,CAAC,EACD,EAAE,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAAE,sBAAc,EAAE,CACxE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2025 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import type { IShortcutManager } from '../../base/shortcuts/shortcuts-manager';
|
|
17
|
+
import { BaseTool } from '../tools/base-tools';
|
|
18
|
+
import { MoveViewportKeyListener, ZoomKeyListener } from './viewport-key-listener';
|
|
19
|
+
/**
|
|
20
|
+
* This only handles keyboard events for the viewport.
|
|
21
|
+
* Mouse specific events are handled directly by MouseListeners without any tool.
|
|
22
|
+
*/
|
|
23
|
+
export declare class ViewportKeyTool extends BaseTool {
|
|
24
|
+
static readonly ID = "glsp.viewport-key-tool";
|
|
25
|
+
static readonly TOKEN: unique symbol;
|
|
26
|
+
get id(): string;
|
|
27
|
+
protected readonly shortcutManager: IShortcutManager;
|
|
28
|
+
protected readonly zoomKeyListener: ZoomKeyListener;
|
|
29
|
+
protected readonly moveKeyListener: MoveViewportKeyListener;
|
|
30
|
+
enable(): void;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=viewport-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport-tool.d.ts","sourceRoot":"","sources":["../../../src/features/viewport/viewport-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAIlF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEnF;;;GAGG;AACH,qBACa,eAAgB,SAAQ,QAAQ;IACzC,MAAM,CAAC,QAAQ,CAAC,EAAE,4BAA4B;IAC9C,MAAM,CAAC,QAAQ,CAAC,KAAK,gBAAkC;IAEvD,IAAI,EAAE,IAAI,MAAM,CAEf;IAGD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAErD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAEpD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAE5D,MAAM,IAAI,IAAI;CAWjB"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2025 EclipseSource and others.
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made available under the
|
|
6
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
*
|
|
9
|
+
* This Source Code may also be made available under the following Secondary
|
|
10
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
* with the GNU Classpath Exception which is available at
|
|
13
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
*
|
|
15
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
********************************************************************************/
|
|
17
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
+
};
|
|
23
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
+
};
|
|
26
|
+
var ViewportKeyTool_1;
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.ViewportKeyTool = void 0;
|
|
29
|
+
const sprotty_1 = require("@eclipse-glsp/sprotty");
|
|
30
|
+
const inversify_1 = require("inversify");
|
|
31
|
+
const base_tools_1 = require("../tools/base-tools");
|
|
32
|
+
const viewport_key_listener_1 = require("./viewport-key-listener");
|
|
33
|
+
/**
|
|
34
|
+
* This only handles keyboard events for the viewport.
|
|
35
|
+
* Mouse specific events are handled directly by MouseListeners without any tool.
|
|
36
|
+
*/
|
|
37
|
+
let ViewportKeyTool = ViewportKeyTool_1 = class ViewportKeyTool extends base_tools_1.BaseTool {
|
|
38
|
+
get id() {
|
|
39
|
+
return ViewportKeyTool_1.ID;
|
|
40
|
+
}
|
|
41
|
+
enable() {
|
|
42
|
+
this.toDisposeOnDisable.push(this.keyTool.registerListener(this.moveKeyListener), this.keyTool.registerListener(this.zoomKeyListener), this.shortcutManager.register(ViewportKeyTool_1.TOKEN, [
|
|
43
|
+
{ shortcuts: ['⬅ ⬆ ➡ ⬇'], description: 'Move viewport', group: 'Move', position: 0 },
|
|
44
|
+
{ shortcuts: ['+ -'], description: 'Zoom viewport', group: 'Zoom', position: 0 },
|
|
45
|
+
{ shortcuts: ['+ -'], description: 'Zoom element', group: 'Zoom', position: 0 }
|
|
46
|
+
]));
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.ViewportKeyTool = ViewportKeyTool;
|
|
50
|
+
ViewportKeyTool.ID = 'glsp.viewport-key-tool';
|
|
51
|
+
ViewportKeyTool.TOKEN = Symbol.for(ViewportKeyTool_1.ID);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, inversify_1.inject)(sprotty_1.TYPES.IShortcutManager),
|
|
54
|
+
__metadata("design:type", Object)
|
|
55
|
+
], ViewportKeyTool.prototype, "shortcutManager", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, inversify_1.inject)(viewport_key_listener_1.ZoomKeyListener),
|
|
58
|
+
__metadata("design:type", viewport_key_listener_1.ZoomKeyListener)
|
|
59
|
+
], ViewportKeyTool.prototype, "zoomKeyListener", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, inversify_1.inject)(viewport_key_listener_1.MoveViewportKeyListener),
|
|
62
|
+
__metadata("design:type", viewport_key_listener_1.MoveViewportKeyListener)
|
|
63
|
+
], ViewportKeyTool.prototype, "moveKeyListener", void 0);
|
|
64
|
+
exports.ViewportKeyTool = ViewportKeyTool = ViewportKeyTool_1 = __decorate([
|
|
65
|
+
(0, inversify_1.injectable)()
|
|
66
|
+
], ViewportKeyTool);
|
|
67
|
+
//# sourceMappingURL=viewport-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport-tool.js","sourceRoot":"","sources":["../../../src/features/viewport/viewport-tool.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;AAElF,mDAA8C;AAC9C,yCAA+C;AAE/C,oDAA+C;AAC/C,mEAAmF;AAEnF;;;GAGG;AAEI,IAAM,eAAe,uBAArB,MAAM,eAAgB,SAAQ,qBAAQ;IAIzC,IAAI,EAAE;QACF,OAAO,iBAAe,CAAC,EAAE,CAAC;IAC9B,CAAC;IASD,MAAM;QACF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CACxB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,EACnD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,EACnD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAe,CAAC,KAAK,EAAE;YACjD,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;YACpF,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;YAChF,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;SAClF,CAAC,CACL,CAAC;IACN,CAAC;;AAzBQ,0CAAe;AACR,kBAAE,GAAG,wBAAwB,AAA3B,CAA4B;AAC9B,qBAAK,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAe,CAAC,EAAE,CAAC,AAAjC,CAAkC;AAOpC;IADlB,IAAA,kBAAM,EAAC,eAAK,CAAC,gBAAgB,CAAC;;wDACsB;AAElC;IADlB,IAAA,kBAAM,EAAC,uCAAe,CAAC;8BACY,uCAAe;wDAAC;AAEjC;IADlB,IAAA,kBAAM,EAAC,+CAAuB,CAAC;8BACI,+CAAuB;wDAAC;0BAbnD,eAAe;IAD3B,IAAA,sBAAU,GAAE;GACA,eAAe,CA0B3B"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2024 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { Action } from '@eclipse-glsp/sprotty';
|
|
17
|
+
export interface ZoomFactors {
|
|
18
|
+
in: number;
|
|
19
|
+
out: number;
|
|
20
|
+
}
|
|
21
|
+
export declare namespace ZoomFactors {
|
|
22
|
+
const DEFAULT: {
|
|
23
|
+
in: number;
|
|
24
|
+
out: number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Zooms the diagram canvas.
|
|
29
|
+
* If `elementIds` is provided, the zoom is centered on the elements with the given identifiers.
|
|
30
|
+
*/
|
|
31
|
+
export interface ZoomAction extends Action {
|
|
32
|
+
kind: typeof ZoomAction.KIND;
|
|
33
|
+
/**
|
|
34
|
+
* Specifies the elements to be zoomed in/out
|
|
35
|
+
*/
|
|
36
|
+
elementIds?: string[];
|
|
37
|
+
/**
|
|
38
|
+
* Specifies the amount by which the viewport should be zoomed
|
|
39
|
+
*/
|
|
40
|
+
zoomFactor: number;
|
|
41
|
+
}
|
|
42
|
+
export declare namespace ZoomAction {
|
|
43
|
+
const KIND = "zoom";
|
|
44
|
+
function is(object: any): object is ZoomAction;
|
|
45
|
+
function create(options: {
|
|
46
|
+
elementIds?: string[];
|
|
47
|
+
zoomFactor: number;
|
|
48
|
+
}): ZoomAction;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=zoom-viewport-action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom-viewport-action.d.ts","sourceRoot":"","sources":["../../../src/features/viewport/zoom-viewport-action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACf;AAED,yBAAiB,WAAW,CAAC;IAClB,MAAM,OAAO;;;KAAwB,CAAC;CAChD;AAED;;;GAGG;AACH,MAAM,WAAW,UAAW,SAAQ,MAAM;IACtC,IAAI,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC;IAC7B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,yBAAiB,UAAU,CAAC;IACjB,MAAM,IAAI,SAAS,CAAC;IAE3B,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,UAAU,CAEpD;IAED,SAAgB,MAAM,CAAC,OAAO,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAEzF;CACJ"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2024 EclipseSource and others.
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made available under the
|
|
6
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
*
|
|
9
|
+
* This Source Code may also be made available under the following Secondary
|
|
10
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
* with the GNU Classpath Exception which is available at
|
|
13
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
*
|
|
15
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
********************************************************************************/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.ZoomAction = exports.ZoomFactors = void 0;
|
|
19
|
+
const sprotty_1 = require("@eclipse-glsp/sprotty");
|
|
20
|
+
var ZoomFactors;
|
|
21
|
+
(function (ZoomFactors) {
|
|
22
|
+
ZoomFactors.DEFAULT = { in: 1.2, out: 0.8 };
|
|
23
|
+
})(ZoomFactors || (exports.ZoomFactors = ZoomFactors = {}));
|
|
24
|
+
var ZoomAction;
|
|
25
|
+
(function (ZoomAction) {
|
|
26
|
+
ZoomAction.KIND = 'zoom';
|
|
27
|
+
function is(object) {
|
|
28
|
+
return sprotty_1.Action.hasKind(object, ZoomAction.KIND);
|
|
29
|
+
}
|
|
30
|
+
ZoomAction.is = is;
|
|
31
|
+
function create(options) {
|
|
32
|
+
return { kind: ZoomAction.KIND, ...options };
|
|
33
|
+
}
|
|
34
|
+
ZoomAction.create = create;
|
|
35
|
+
})(ZoomAction || (exports.ZoomAction = ZoomAction = {}));
|
|
36
|
+
//# sourceMappingURL=zoom-viewport-action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom-viewport-action.js","sourceRoot":"","sources":["../../../src/features/viewport/zoom-viewport-action.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,mDAA+C;AAO/C,IAAiB,WAAW,CAE3B;AAFD,WAAiB,WAAW;IACX,mBAAO,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACjD,CAAC,EAFgB,WAAW,2BAAX,WAAW,QAE3B;AAkBD,IAAiB,UAAU,CAU1B;AAVD,WAAiB,UAAU;IACV,eAAI,GAAG,MAAM,CAAC;IAE3B,SAAgB,EAAE,CAAC,MAAW;QAC1B,OAAO,gBAAM,CAAC,OAAO,CAAC,MAAM,EAAE,WAAA,IAAI,CAAC,CAAC;IACxC,CAAC;IAFe,aAAE,KAEjB,CAAA;IAED,SAAgB,MAAM,CAAC,OAAsD;QACzE,OAAO,EAAE,IAAI,EAAE,WAAA,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;IACtC,CAAC;IAFe,iBAAM,SAErB,CAAA;AACL,CAAC,EAVgB,UAAU,0BAAV,UAAU,QAU1B"}
|