@eclipse-glsp/client 1.1.0-next.d3b810d.243 → 1.1.0-next.d81a1ea.249
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/css/autocomplete-palette.css +22 -0
- package/css/glsp-sprotty.css +16 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts +8 -2
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.js +25 -6
- package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
- package/lib/features/accessibility/di.config.d.ts +21 -0
- package/lib/features/accessibility/di.config.d.ts.map +1 -0
- package/lib/features/accessibility/di.config.js +34 -0
- package/lib/features/accessibility/di.config.js.map +1 -0
- package/lib/features/accessibility/move-zoom/di.config.d.ts +23 -0
- package/lib/features/accessibility/move-zoom/di.config.d.ts.map +1 -0
- package/lib/features/accessibility/move-zoom/di.config.js +41 -0
- package/lib/features/accessibility/move-zoom/di.config.js.map +1 -0
- package/lib/features/accessibility/move-zoom/move-handler.d.ts +81 -0
- package/lib/features/accessibility/move-zoom/move-handler.d.ts.map +1 -0
- package/lib/features/accessibility/move-zoom/move-handler.js +173 -0
- package/lib/features/accessibility/move-zoom/move-handler.js.map +1 -0
- package/lib/features/accessibility/move-zoom/zoom-handler.d.ts +74 -0
- package/lib/features/accessibility/move-zoom/zoom-handler.d.ts.map +1 -0
- package/lib/features/accessibility/move-zoom/zoom-handler.js +159 -0
- package/lib/features/accessibility/move-zoom/zoom-handler.js.map +1 -0
- package/lib/features/accessibility/resize-key-tool/di.config.d.ts +23 -0
- package/lib/features/accessibility/resize-key-tool/di.config.d.ts.map +1 -0
- package/lib/features/accessibility/resize-key-tool/di.config.js +38 -0
- package/lib/features/accessibility/resize-key-tool/di.config.js.map +1 -0
- package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts +55 -0
- package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts.map +1 -0
- package/lib/features/accessibility/resize-key-tool/resize-key-handler.js +126 -0
- package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +1 -0
- package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts +44 -0
- package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts.map +1 -0
- package/lib/features/accessibility/resize-key-tool/resize-key-tool.js +127 -0
- package/lib/features/accessibility/resize-key-tool/resize-key-tool.js.map +1 -0
- package/lib/features/accessibility/search/di.config.d.ts +20 -0
- package/lib/features/accessibility/search/di.config.d.ts.map +1 -0
- package/lib/features/accessibility/search/di.config.js +33 -0
- package/lib/features/accessibility/search/di.config.js.map +1 -0
- package/lib/features/accessibility/search/search-palette.d.ts +47 -0
- package/lib/features/accessibility/search/search-palette.d.ts.map +1 -0
- package/lib/features/accessibility/search/search-palette.js +155 -0
- package/lib/features/accessibility/search/search-palette.js.map +1 -0
- package/lib/features/accessibility/search/search-tool.d.ts +30 -0
- package/lib/features/accessibility/search/search-tool.d.ts.map +1 -0
- package/lib/features/accessibility/search/search-tool.js +73 -0
- package/lib/features/accessibility/search/search-tool.js.map +1 -0
- package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts +35 -0
- package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts.map +1 -0
- package/lib/features/accessibility/view-key-tools/deselect-key-tool.js +87 -0
- package/lib/features/accessibility/view-key-tools/deselect-key-tool.js.map +1 -0
- package/lib/features/accessibility/view-key-tools/di.config.d.ts +20 -0
- package/lib/features/accessibility/view-key-tools/di.config.d.ts.map +1 -0
- package/lib/features/accessibility/view-key-tools/di.config.js +35 -0
- package/lib/features/accessibility/view-key-tools/di.config.js.map +1 -0
- package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +49 -0
- package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -0
- package/lib/features/accessibility/view-key-tools/movement-key-tool.js +131 -0
- package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -0
- package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts +43 -0
- package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts.map +1 -0
- package/lib/features/accessibility/view-key-tools/zoom-key-tool.js +109 -0
- package/lib/features/accessibility/view-key-tools/zoom-key-tool.js.map +1 -0
- package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts +35 -0
- package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts.map +1 -0
- package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.js +18 -0
- package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.js.map +1 -0
- package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts +41 -0
- package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts.map +1 -0
- package/lib/features/autocomplete-palette/base-autocomplete-palette.js +82 -0
- package/lib/features/autocomplete-palette/base-autocomplete-palette.js.map +1 -0
- package/lib/index.d.ts +12 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +62 -48
- package/lib/index.js.map +1 -1
- package/package.json +5 -3
- package/src/base/auto-complete/auto-complete-widget.ts +31 -7
- package/src/features/accessibility/README.md +65 -0
- package/src/features/accessibility/di.config.ts +32 -0
- package/src/features/accessibility/move-zoom/di.config.ts +43 -0
- package/src/features/accessibility/move-zoom/move-handler.ts +198 -0
- package/src/features/accessibility/move-zoom/zoom-handler.ts +178 -0
- package/src/features/accessibility/resize-key-tool/di.config.ts +37 -0
- package/src/features/accessibility/resize-key-tool/resize-key-handler.ts +120 -0
- package/src/features/accessibility/resize-key-tool/resize-key-tool.ts +108 -0
- package/src/features/accessibility/search/di.config.ts +31 -0
- package/src/features/accessibility/search/search-palette.ts +181 -0
- package/src/features/accessibility/search/search-tool.ts +60 -0
- package/src/features/accessibility/view-key-tools/deselect-key-tool.ts +80 -0
- package/src/features/accessibility/view-key-tools/di.config.ts +33 -0
- package/src/features/accessibility/view-key-tools/movement-key-tool.ts +115 -0
- package/src/features/accessibility/view-key-tools/zoom-key-tool.ts +94 -0
- package/src/features/autocomplete-palette/autocomplete-suggestion-providers.ts +37 -0
- package/src/features/autocomplete-palette/base-autocomplete-palette.ts +88 -0
- package/src/index.ts +17 -3
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2023 Business Informatics Group (TU Wien) 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 DeselectKeyTool_1;
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.DeselectKeyListener = exports.DeselectKeyTool = void 0;
|
|
29
|
+
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
30
|
+
const inversify_1 = require("inversify");
|
|
31
|
+
const sprotty_1 = require("sprotty");
|
|
32
|
+
const iterable_1 = require("sprotty/lib/utils/iterable");
|
|
33
|
+
const keyboard_1 = require("sprotty/lib/utils/keyboard");
|
|
34
|
+
const model_1 = require("../../change-bounds/model");
|
|
35
|
+
/**
|
|
36
|
+
* Deselects the element if there is no interaction possible with element.
|
|
37
|
+
*/
|
|
38
|
+
let DeselectKeyTool = DeselectKeyTool_1 = class DeselectKeyTool {
|
|
39
|
+
constructor() {
|
|
40
|
+
this.isEditTool = true;
|
|
41
|
+
this.deselectKeyListener = new DeselectKeyListener();
|
|
42
|
+
}
|
|
43
|
+
get id() {
|
|
44
|
+
return DeselectKeyTool_1.ID;
|
|
45
|
+
}
|
|
46
|
+
enable() {
|
|
47
|
+
this.keytool.register(this.deselectKeyListener);
|
|
48
|
+
}
|
|
49
|
+
disable() {
|
|
50
|
+
this.keytool.deregister(this.deselectKeyListener);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
DeselectKeyTool.ID = 'glsp.deselect-key-tool';
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, inversify_1.inject)(sprotty_1.KeyTool),
|
|
56
|
+
__metadata("design:type", sprotty_1.KeyTool)
|
|
57
|
+
], DeselectKeyTool.prototype, "keytool", void 0);
|
|
58
|
+
DeselectKeyTool = DeselectKeyTool_1 = __decorate([
|
|
59
|
+
(0, inversify_1.injectable)()
|
|
60
|
+
], DeselectKeyTool);
|
|
61
|
+
exports.DeselectKeyTool = DeselectKeyTool;
|
|
62
|
+
class DeselectKeyListener extends sprotty_1.KeyListener {
|
|
63
|
+
keyDown(target, event) {
|
|
64
|
+
if (this.matchesDeselectKeystroke(event)) {
|
|
65
|
+
const isResizeHandleActive = (0, iterable_1.toArray)(target.root.index.all().filter(el => el instanceof model_1.SResizeHandle)).length > 0;
|
|
66
|
+
if (isResizeHandleActive) {
|
|
67
|
+
return [];
|
|
68
|
+
}
|
|
69
|
+
const deselect = (0, iterable_1.toArray)(target.root.index.all().filter(element => (0, sprotty_1.isSelectable)(element) && element.selected));
|
|
70
|
+
const actions = [];
|
|
71
|
+
if (deselect.length > 0) {
|
|
72
|
+
actions.push(protocol_1.SelectAction.create({ deselectedElementsIDs: deselect.map(e => e.id) }));
|
|
73
|
+
}
|
|
74
|
+
const routableDeselect = deselect.filter(e => e instanceof sprotty_1.SRoutableElement).map(e => e.id);
|
|
75
|
+
if (routableDeselect.length > 0) {
|
|
76
|
+
actions.push(sprotty_1.SwitchEditModeAction.create({ elementsToDeactivate: routableDeselect }));
|
|
77
|
+
}
|
|
78
|
+
return actions;
|
|
79
|
+
}
|
|
80
|
+
return [];
|
|
81
|
+
}
|
|
82
|
+
matchesDeselectKeystroke(event) {
|
|
83
|
+
return (0, keyboard_1.matchesKeystroke)(event, 'Escape');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.DeselectKeyListener = DeselectKeyListener;
|
|
87
|
+
//# sourceMappingURL=deselect-key-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deselect-key-tool.js","sourceRoot":"","sources":["../../../../src/features/accessibility/view-key-tools/deselect-key-tool.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;AAElF,qDAA8D;AAC9D,yCAA+C;AAC/C,qCAAoH;AACpH,yDAAqD;AACrD,yDAA8D;AAE9D,qDAA0D;AAE1D;;GAEG;AAEI,IAAM,eAAe,uBAArB,MAAM,eAAe;IAArB;QAGH,eAAU,GAAG,IAAI,CAAC;QAEC,wBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAevE,CAAC;IAXG,IAAI,EAAE;QACF,OAAO,iBAAe,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM;QACF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACH,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACtD,CAAC;;AAlBM,kBAAE,GAAG,wBAAwB,CAAC;AAMrC;IAAC,IAAA,kBAAM,EAAC,iBAAO,CAAC;8BAA6B,iBAAO;gDAAC;AAP5C,eAAe;IAD3B,IAAA,sBAAU,GAAE;GACA,eAAe,CAoB3B;AApBY,0CAAe;AAsB5B,MAAa,mBAAoB,SAAQ,qBAAW;IACvC,OAAO,CAAC,MAAqB,EAAE,KAAoB;QACxD,IAAI,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE;YACtC,MAAM,oBAAoB,GAAG,IAAA,kBAAO,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,qBAAa,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAEnH,IAAI,oBAAoB,EAAE;gBACtB,OAAO,EAAE,CAAC;aACb;YAED,MAAM,QAAQ,GAAG,IAAA,kBAAO,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAA,sBAAY,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/G,MAAM,OAAO,GAAa,EAAE,CAAC;YAE7B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,OAAO,CAAC,IAAI,CAAC,uBAAY,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aACzF;YAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,0BAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5F,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,8BAAoB,CAAC,MAAM,CAAC,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;aACzF;YAED,OAAO,OAAO,CAAC;SAClB;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAES,wBAAwB,CAAC,KAAoB;QACnD,OAAO,IAAA,2BAAgB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACJ;AA7BD,kDA6BC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2019-2023 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 { BindingContext } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { ContainerModule } from 'inversify';
|
|
18
|
+
export declare const glspViewKeyToolsModule: ContainerModule;
|
|
19
|
+
export declare function configureViewKeyTools(context: Pick<BindingContext, 'bind'>): void;
|
|
20
|
+
//# sourceMappingURL=di.config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"di.config.d.ts","sourceRoot":"","sources":["../../../../src/features/accessibility/view-key-tools/di.config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAiB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAM5C,eAAO,MAAM,sBAAsB,iBAGjC,CAAC;AAEH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,IAAI,CAIjF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2019-2023 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.configureViewKeyTools = exports.glspViewKeyToolsModule = void 0;
|
|
19
|
+
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
20
|
+
const inversify_1 = require("inversify");
|
|
21
|
+
const types_1 = require("../../../base/types");
|
|
22
|
+
const deselect_key_tool_1 = require("../view-key-tools/deselect-key-tool");
|
|
23
|
+
const movement_key_tool_1 = require("./movement-key-tool");
|
|
24
|
+
const zoom_key_tool_1 = require("./zoom-key-tool");
|
|
25
|
+
exports.glspViewKeyToolsModule = new inversify_1.ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
26
|
+
const context = { bind, isBound, rebind };
|
|
27
|
+
configureViewKeyTools(context);
|
|
28
|
+
});
|
|
29
|
+
function configureViewKeyTools(context) {
|
|
30
|
+
(0, protocol_1.bindAsService)(context, types_1.TYPES.IDefaultTool, movement_key_tool_1.MovementKeyTool);
|
|
31
|
+
(0, protocol_1.bindAsService)(context, types_1.TYPES.IDefaultTool, zoom_key_tool_1.ZoomKeyTool);
|
|
32
|
+
(0, protocol_1.bindAsService)(context, types_1.TYPES.IDefaultTool, deselect_key_tool_1.DeselectKeyTool);
|
|
33
|
+
}
|
|
34
|
+
exports.configureViewKeyTools = configureViewKeyTools;
|
|
35
|
+
//# sourceMappingURL=di.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"di.config.js","sourceRoot":"","sources":["../../../../src/features/accessibility/view-key-tools/di.config.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,qDAAuE;AACvE,yCAA4C;AAC5C,+CAA4C;AAC5C,2EAAsE;AACtE,2DAAsD;AACtD,mDAA8C;AAEjC,QAAA,sBAAsB,GAAG,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IACzF,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC1C,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,SAAgB,qBAAqB,CAAC,OAAqC;IACvE,IAAA,wBAAa,EAAC,OAAO,EAAE,aAAK,CAAC,YAAY,EAAE,mCAAe,CAAC,CAAC;IAC5D,IAAA,wBAAa,EAAC,OAAO,EAAE,aAAK,CAAC,YAAY,EAAE,2BAAW,CAAC,CAAC;IACxD,IAAA,wBAAa,EAAC,OAAO,EAAE,aAAK,CAAC,YAAY,EAAE,mCAAe,CAAC,CAAC;AAChE,CAAC;AAJD,sDAIC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2023 Business Informatics Group (TU Wien) 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/protocol';
|
|
17
|
+
import { ISnapper, KeyListener, KeyTool, SModelElement } from 'sprotty';
|
|
18
|
+
import { GLSPTool } from '../../../base/tool-manager/glsp-tool-manager';
|
|
19
|
+
import { SelectionService } from '../../select/selection-service';
|
|
20
|
+
/**
|
|
21
|
+
* Moves viewport and elements when its focused and arrow keys are hit.
|
|
22
|
+
*/
|
|
23
|
+
export declare class MovementKeyTool implements GLSPTool {
|
|
24
|
+
static ID: string;
|
|
25
|
+
isEditTool: boolean;
|
|
26
|
+
protected readonly movementKeyListener: MoveKeyListener;
|
|
27
|
+
protected readonly keytool: KeyTool;
|
|
28
|
+
selectionService: SelectionService;
|
|
29
|
+
readonly snapper?: ISnapper;
|
|
30
|
+
get id(): string;
|
|
31
|
+
enable(): void;
|
|
32
|
+
disable(): void;
|
|
33
|
+
}
|
|
34
|
+
export declare class MoveKeyListener extends KeyListener {
|
|
35
|
+
protected readonly tool: MovementKeyTool;
|
|
36
|
+
static readonly defaultMoveX = 20;
|
|
37
|
+
static readonly defaultMoveY = 20;
|
|
38
|
+
protected grid: {
|
|
39
|
+
x: number;
|
|
40
|
+
y: number;
|
|
41
|
+
};
|
|
42
|
+
constructor(tool: MovementKeyTool);
|
|
43
|
+
keyDown(element: SModelElement, event: KeyboardEvent): Action[];
|
|
44
|
+
protected matchesMoveUpKeystroke(event: KeyboardEvent): boolean;
|
|
45
|
+
protected matchesMoveDownKeystroke(event: KeyboardEvent): boolean;
|
|
46
|
+
protected matchesMoveRightKeystroke(event: KeyboardEvent): boolean;
|
|
47
|
+
protected matchesMoveLeftKeystroke(event: KeyboardEvent): boolean;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=movement-key-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"movement-key-tool.d.ts","sourceRoot":"","sources":["../../../../src/features/accessibility/view-key-tools/movement-key-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAIxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE;;GAEG;AACH,qBACa,eAAgB,YAAW,QAAQ;IAC5C,MAAM,CAAC,EAAE,SAA4B;IAErC,UAAU,UAAQ;IAElB,SAAS,CAAC,QAAQ,CAAC,mBAAmB,kBAA6B;IAElD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEhE,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;CAGlB;AAED,qBAAa,eAAgB,SAAQ,WAAW;IAShC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe;IAPpD,MAAM,CAAC,QAAQ,CAAC,YAAY,MAAM;IAGlC,MAAM,CAAC,QAAQ,CAAC,YAAY,MAAM;IAElC,SAAS,CAAC,IAAI;;;MAAwE;gBAEvD,IAAI,EAAE,eAAe;IAQ3C,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE;IA2BxE,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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2023 Business Informatics Group (TU Wien) 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 MovementKeyTool_1;
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.MoveKeyListener = exports.MovementKeyTool = void 0;
|
|
29
|
+
const inversify_1 = require("inversify");
|
|
30
|
+
const sprotty_1 = require("sprotty");
|
|
31
|
+
const keyboard_1 = require("sprotty/lib/utils/keyboard");
|
|
32
|
+
const types_1 = require("../../../base/types");
|
|
33
|
+
const snap_1 = require("../../change-bounds/snap");
|
|
34
|
+
const selection_service_1 = require("../../select/selection-service");
|
|
35
|
+
const move_handler_1 = require("../move-zoom/move-handler");
|
|
36
|
+
/**
|
|
37
|
+
* Moves viewport and elements when its focused and arrow keys are hit.
|
|
38
|
+
*/
|
|
39
|
+
let MovementKeyTool = MovementKeyTool_1 = class MovementKeyTool {
|
|
40
|
+
constructor() {
|
|
41
|
+
this.isEditTool = true;
|
|
42
|
+
this.movementKeyListener = new MoveKeyListener(this);
|
|
43
|
+
}
|
|
44
|
+
get id() {
|
|
45
|
+
return MovementKeyTool_1.ID;
|
|
46
|
+
}
|
|
47
|
+
enable() {
|
|
48
|
+
this.keytool.register(this.movementKeyListener);
|
|
49
|
+
}
|
|
50
|
+
disable() {
|
|
51
|
+
this.keytool.deregister(this.movementKeyListener);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
MovementKeyTool.ID = 'glsp.movement-key-tool';
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, inversify_1.inject)(sprotty_1.KeyTool),
|
|
57
|
+
__metadata("design:type", sprotty_1.KeyTool)
|
|
58
|
+
], MovementKeyTool.prototype, "keytool", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, inversify_1.inject)(types_1.TYPES.SelectionService),
|
|
61
|
+
__metadata("design:type", selection_service_1.SelectionService)
|
|
62
|
+
], MovementKeyTool.prototype, "selectionService", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, inversify_1.inject)(types_1.TYPES.ISnapper),
|
|
65
|
+
(0, inversify_1.optional)(),
|
|
66
|
+
__metadata("design:type", Object)
|
|
67
|
+
], MovementKeyTool.prototype, "snapper", void 0);
|
|
68
|
+
MovementKeyTool = MovementKeyTool_1 = __decorate([
|
|
69
|
+
(0, inversify_1.injectable)()
|
|
70
|
+
], MovementKeyTool);
|
|
71
|
+
exports.MovementKeyTool = MovementKeyTool;
|
|
72
|
+
class MoveKeyListener extends sprotty_1.KeyListener {
|
|
73
|
+
constructor(tool) {
|
|
74
|
+
super();
|
|
75
|
+
this.tool = tool;
|
|
76
|
+
this.grid = { x: MoveKeyListener.defaultMoveX, y: MoveKeyListener.defaultMoveY };
|
|
77
|
+
if (this.tool.snapper instanceof snap_1.GridSnapper) {
|
|
78
|
+
this.grid = this.tool.snapper.grid;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
keyDown(element, event) {
|
|
82
|
+
const selectedElementIds = this.tool.selectionService.getSelectedElementIDs();
|
|
83
|
+
if (selectedElementIds.length > 0) {
|
|
84
|
+
if (this.matchesMoveUpKeystroke(event)) {
|
|
85
|
+
return [move_handler_1.MoveElementAction.create(selectedElementIds, 0, -this.grid.x)];
|
|
86
|
+
}
|
|
87
|
+
else if (this.matchesMoveDownKeystroke(event)) {
|
|
88
|
+
return [move_handler_1.MoveElementAction.create(selectedElementIds, 0, this.grid.x)];
|
|
89
|
+
}
|
|
90
|
+
else if (this.matchesMoveRightKeystroke(event)) {
|
|
91
|
+
return [move_handler_1.MoveElementAction.create(selectedElementIds, this.grid.x, 0)];
|
|
92
|
+
}
|
|
93
|
+
else if (this.matchesMoveLeftKeystroke(event)) {
|
|
94
|
+
return [move_handler_1.MoveElementAction.create(selectedElementIds, -this.grid.x, 0)];
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
if (this.matchesMoveUpKeystroke(event)) {
|
|
99
|
+
return [move_handler_1.MoveViewportAction.create(0, -this.grid.x)];
|
|
100
|
+
}
|
|
101
|
+
else if (this.matchesMoveDownKeystroke(event)) {
|
|
102
|
+
return [move_handler_1.MoveViewportAction.create(0, this.grid.x)];
|
|
103
|
+
}
|
|
104
|
+
else if (this.matchesMoveRightKeystroke(event)) {
|
|
105
|
+
return [move_handler_1.MoveViewportAction.create(this.grid.x, 0)];
|
|
106
|
+
}
|
|
107
|
+
else if (this.matchesMoveLeftKeystroke(event)) {
|
|
108
|
+
return [move_handler_1.MoveViewportAction.create(-this.grid.x, 0)];
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return [];
|
|
112
|
+
}
|
|
113
|
+
matchesMoveUpKeystroke(event) {
|
|
114
|
+
return (0, keyboard_1.matchesKeystroke)(event, 'ArrowUp');
|
|
115
|
+
}
|
|
116
|
+
matchesMoveDownKeystroke(event) {
|
|
117
|
+
return (0, keyboard_1.matchesKeystroke)(event, 'ArrowDown');
|
|
118
|
+
}
|
|
119
|
+
matchesMoveRightKeystroke(event) {
|
|
120
|
+
return (0, keyboard_1.matchesKeystroke)(event, 'ArrowRight');
|
|
121
|
+
}
|
|
122
|
+
matchesMoveLeftKeystroke(event) {
|
|
123
|
+
return (0, keyboard_1.matchesKeystroke)(event, 'ArrowLeft');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
exports.MoveKeyListener = MoveKeyListener;
|
|
127
|
+
// Default x distance used if GridSnapper is not provided
|
|
128
|
+
MoveKeyListener.defaultMoveX = 20;
|
|
129
|
+
// Default y distance used if GridSnapper is not provided
|
|
130
|
+
MoveKeyListener.defaultMoveY = 20;
|
|
131
|
+
//# sourceMappingURL=movement-key-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"movement-key-tool.js","sourceRoot":"","sources":["../../../../src/features/accessibility/view-key-tools/movement-key-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2023 Business Informatics Group (TU Wien) 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/protocol';
|
|
17
|
+
import { KeyListener, KeyTool, SModelElement } from 'sprotty';
|
|
18
|
+
import { GLSPTool } from '../../../base/tool-manager/glsp-tool-manager';
|
|
19
|
+
import { SelectionService } from '../../select/selection-service';
|
|
20
|
+
/**
|
|
21
|
+
* Zoom viewport and elements when its focused and arrow keys are hit.
|
|
22
|
+
*/
|
|
23
|
+
export declare class ZoomKeyTool implements GLSPTool {
|
|
24
|
+
static ID: string;
|
|
25
|
+
isEditTool: boolean;
|
|
26
|
+
protected readonly zoomKeyListener: ZoomKeyListener;
|
|
27
|
+
protected readonly keytool: KeyTool;
|
|
28
|
+
selectionService: SelectionService;
|
|
29
|
+
get id(): string;
|
|
30
|
+
enable(): void;
|
|
31
|
+
disable(): void;
|
|
32
|
+
}
|
|
33
|
+
export declare class ZoomKeyListener extends KeyListener {
|
|
34
|
+
protected tool: ZoomKeyTool;
|
|
35
|
+
static readonly defaultZoomInFactor = 1.1;
|
|
36
|
+
static readonly defaultZoomOutFactor = 0.9;
|
|
37
|
+
constructor(tool: ZoomKeyTool);
|
|
38
|
+
keyDown(element: SModelElement, event: KeyboardEvent): Action[];
|
|
39
|
+
protected matchesZoomInKeystroke(event: KeyboardEvent): boolean;
|
|
40
|
+
protected matchesMinZoomLevelKeystroke(event: KeyboardEvent): boolean;
|
|
41
|
+
protected matchesZoomOutKeystroke(event: KeyboardEvent): boolean;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=zoom-key-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom-key-tool.d.ts","sourceRoot":"","sources":["../../../../src/features/accessibility/view-key-tools/zoom-key-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAgB,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE;;GAEG;AACH,qBACa,WAAY,YAAW,QAAQ;IACxC,MAAM,CAAC,EAAE,SAAwB;IAEjC,UAAU,UAAS;IAEnB,SAAS,CAAC,QAAQ,CAAC,eAAe,kBAA6B;IAE9C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IAEnE,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;CAGlB;AAED,qBAAa,eAAgB,SAAQ,WAAW;IAIhC,SAAS,CAAC,IAAI,EAAE,WAAW;IAHvC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,OAAO;IAC1C,MAAM,CAAC,QAAQ,CAAC,oBAAoB,OAAO;gBAErB,IAAI,EAAE,WAAW;IAI9B,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE;IAqBxE,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,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2023 Business Informatics Group (TU Wien) 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 ZoomKeyTool_1;
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.ZoomKeyListener = exports.ZoomKeyTool = void 0;
|
|
29
|
+
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
30
|
+
const inversify_1 = require("inversify");
|
|
31
|
+
const sprotty_1 = require("sprotty");
|
|
32
|
+
const keyboard_1 = require("sprotty/lib/utils/keyboard");
|
|
33
|
+
const types_1 = require("../../../base/types");
|
|
34
|
+
const selection_service_1 = require("../../select/selection-service");
|
|
35
|
+
const zoom_handler_1 = require("../move-zoom/zoom-handler");
|
|
36
|
+
/**
|
|
37
|
+
* Zoom viewport and elements when its focused and arrow keys are hit.
|
|
38
|
+
*/
|
|
39
|
+
let ZoomKeyTool = ZoomKeyTool_1 = class ZoomKeyTool {
|
|
40
|
+
constructor() {
|
|
41
|
+
this.isEditTool = false;
|
|
42
|
+
this.zoomKeyListener = new ZoomKeyListener(this);
|
|
43
|
+
}
|
|
44
|
+
get id() {
|
|
45
|
+
return ZoomKeyTool_1.ID;
|
|
46
|
+
}
|
|
47
|
+
enable() {
|
|
48
|
+
this.keytool.register(this.zoomKeyListener);
|
|
49
|
+
}
|
|
50
|
+
disable() {
|
|
51
|
+
this.keytool.deregister(this.zoomKeyListener);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
ZoomKeyTool.ID = 'glsp.zoom-key-tool';
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, inversify_1.inject)(sprotty_1.KeyTool),
|
|
57
|
+
__metadata("design:type", sprotty_1.KeyTool)
|
|
58
|
+
], ZoomKeyTool.prototype, "keytool", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, inversify_1.inject)(types_1.TYPES.SelectionService),
|
|
61
|
+
__metadata("design:type", selection_service_1.SelectionService)
|
|
62
|
+
], ZoomKeyTool.prototype, "selectionService", void 0);
|
|
63
|
+
ZoomKeyTool = ZoomKeyTool_1 = __decorate([
|
|
64
|
+
(0, inversify_1.injectable)()
|
|
65
|
+
], ZoomKeyTool);
|
|
66
|
+
exports.ZoomKeyTool = ZoomKeyTool;
|
|
67
|
+
class ZoomKeyListener extends sprotty_1.KeyListener {
|
|
68
|
+
constructor(tool) {
|
|
69
|
+
super();
|
|
70
|
+
this.tool = tool;
|
|
71
|
+
}
|
|
72
|
+
keyDown(element, event) {
|
|
73
|
+
const selectedElementIds = this.tool.selectionService.getSelectedElementIDs();
|
|
74
|
+
if (this.matchesZoomOutKeystroke(event)) {
|
|
75
|
+
if (selectedElementIds.length > 0) {
|
|
76
|
+
return [zoom_handler_1.ZoomElementAction.create(selectedElementIds, ZoomKeyListener.defaultZoomOutFactor)];
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return [zoom_handler_1.ZoomViewportAction.create(ZoomKeyListener.defaultZoomOutFactor)];
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else if (this.matchesZoomInKeystroke(event)) {
|
|
83
|
+
if (selectedElementIds.length > 0) {
|
|
84
|
+
return [zoom_handler_1.ZoomElementAction.create(selectedElementIds, ZoomKeyListener.defaultZoomInFactor)];
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
return [zoom_handler_1.ZoomViewportAction.create(ZoomKeyListener.defaultZoomInFactor)];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else if (this.matchesMinZoomLevelKeystroke(event)) {
|
|
91
|
+
return [protocol_1.CenterAction.create(selectedElementIds)];
|
|
92
|
+
}
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
matchesZoomInKeystroke(event) {
|
|
96
|
+
/** here event.key is used for '+', as keycode 187 is already declared for 'Equals' in {@link matchesKeystroke}.*/
|
|
97
|
+
return event.key === '+' || (0, keyboard_1.matchesKeystroke)(event, 'NumpadAdd');
|
|
98
|
+
}
|
|
99
|
+
matchesMinZoomLevelKeystroke(event) {
|
|
100
|
+
return (0, keyboard_1.matchesKeystroke)(event, 'Digit0', 'ctrl') || (0, keyboard_1.matchesKeystroke)(event, 'Numpad0', 'ctrl');
|
|
101
|
+
}
|
|
102
|
+
matchesZoomOutKeystroke(event) {
|
|
103
|
+
return (0, keyboard_1.matchesKeystroke)(event, 'Minus') || (0, keyboard_1.matchesKeystroke)(event, 'NumpadSubtract');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.ZoomKeyListener = ZoomKeyListener;
|
|
107
|
+
ZoomKeyListener.defaultZoomInFactor = 1.1;
|
|
108
|
+
ZoomKeyListener.defaultZoomOutFactor = 0.9;
|
|
109
|
+
//# sourceMappingURL=zoom-key-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom-key-tool.js","sourceRoot":"","sources":["../../../../src/features/accessibility/view-key-tools/zoom-key-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2023 Business Informatics Group (TU Wien) 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 { LabeledAction, SModelElement, SModelRoot } from 'sprotty';
|
|
17
|
+
/**
|
|
18
|
+
* Interface for a provider that provides suggestions that can be used to fill the autocomplete
|
|
19
|
+
*/
|
|
20
|
+
export interface IAutocompleteSuggestionProvider {
|
|
21
|
+
/**
|
|
22
|
+
* Returns the suggestions based on the provided parameters.
|
|
23
|
+
* @param root: The root model
|
|
24
|
+
* @param text: The text input provided by the user.
|
|
25
|
+
*/
|
|
26
|
+
retrieveSuggestions(root: Readonly<SModelRoot>, text: string): Promise<AutocompleteSuggestion[]>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Interface for autocomplete suggestions.
|
|
30
|
+
*/
|
|
31
|
+
export interface AutocompleteSuggestion {
|
|
32
|
+
element: SModelElement;
|
|
33
|
+
action: LabeledAction;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=autocomplete-suggestion-providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete-suggestion-providers.d.ts","sourceRoot":"","sources":["../../../src/features/autocomplete-palette/autocomplete-suggestion-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C;;;;OAIG;IACH,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;CACpG;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;CACzB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2023 Business Informatics Group (TU Wien) 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
|
+
//# sourceMappingURL=autocomplete-suggestion-providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete-suggestion-providers.js","sourceRoot":"","sources":["../../../src/features/autocomplete-palette/autocomplete-suggestion-providers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2023 Business Informatics Group (TU Wien) 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/protocol';
|
|
17
|
+
import { AbstractUIExtension, LabeledAction, SModelRoot } from 'sprotty';
|
|
18
|
+
import '../../../css/autocomplete-palette.css';
|
|
19
|
+
import { GLSPActionDispatcher } from '../../base/action-dispatcher';
|
|
20
|
+
import { AutoCompleteWidget, CloseReason } from '../../base/auto-complete/auto-complete-widget';
|
|
21
|
+
export declare abstract class BaseAutocompletePalette extends AbstractUIExtension {
|
|
22
|
+
protected readonly autoSuggestionSettings: {
|
|
23
|
+
noSuggestionsMessage: string;
|
|
24
|
+
suggestionsClass: string;
|
|
25
|
+
debounceWaitMs: number;
|
|
26
|
+
showOnFocus: boolean;
|
|
27
|
+
};
|
|
28
|
+
protected root?: Readonly<SModelRoot>;
|
|
29
|
+
protected autocompleteWidget: AutoCompleteWidget;
|
|
30
|
+
protected actionDispatcher: GLSPActionDispatcher;
|
|
31
|
+
containerClass(): string;
|
|
32
|
+
show(root: Readonly<SModelRoot>, ...contextElementIds: string[]): void;
|
|
33
|
+
hide(): void;
|
|
34
|
+
protected initializeContents(containerElement: HTMLElement): void;
|
|
35
|
+
protected abstract retrieveSuggestions(root: Readonly<SModelRoot>, input: string): Promise<LabeledAction[]>;
|
|
36
|
+
protected visibleSuggestionsChanged(root: Readonly<SModelRoot>, labeledActions: LabeledAction[]): Promise<void>;
|
|
37
|
+
protected selectedSuggestionChanged(root: Readonly<SModelRoot>, labeledAction?: LabeledAction): Promise<void>;
|
|
38
|
+
protected autocompleteHide(reason: CloseReason): void;
|
|
39
|
+
protected executeSuggestion(input: LabeledAction | Action[] | Action): void;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=base-autocomplete-palette.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-autocomplete-palette.d.ts","sourceRoot":"","sources":["../../../src/features/autocomplete-palette/base-autocomplete-palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAS,MAAM,SAAS,CAAC;AAChF,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAiB,MAAM,+CAA+C,CAAC;AAE/G,8BAAsB,uBAAwB,SAAQ,mBAAmB;IACrE,SAAS,CAAC,QAAQ,CAAC,sBAAsB;;;;;MAKvC;IAEF,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAGjD,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAEjD,cAAc,IAAI,MAAM;IAIf,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,iBAAiB,EAAE,MAAM,EAAE,GAAG,IAAI;IAMtE,IAAI,IAAI,IAAI;IAMrB,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,WAAW,GAAG,IAAI;IAiBjE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;cAE3F,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;cAIrG,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAInH,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIrD,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI;CAG9E"}
|