@eclipse-glsp/client 1.1.0-RC03 → 1.1.0-RC04
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/glsp-sprotty.css +18 -18
- package/lib/base/action-dispatcher.js.map +1 -1
- package/lib/base/command-stack.js +2 -2
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/container-modules.d.ts +32 -2
- package/lib/base/container-modules.d.ts.map +1 -1
- package/lib/base/container-modules.js +72 -34
- package/lib/base/container-modules.js.map +1 -1
- package/lib/base/editor-context-service.d.ts +1 -1
- package/lib/base/editor-context-service.d.ts.map +1 -1
- package/lib/base/editor-context-service.js.map +1 -1
- package/lib/base/focus-tracker.js.map +1 -1
- package/lib/base/model/model-registry.js.map +1 -1
- package/lib/base/model/update-model-command.js.map +1 -1
- package/lib/base/model-initialization-constraint.js.map +1 -1
- package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
- package/lib/base/view/view-registry.js.map +1 -1
- package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.js.map +1 -1
- package/lib/features/command-palette/command-palette-tool.js.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts +2 -2
- package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.js +2 -3
- package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
- package/lib/features/decoration/decoration-placer.js.map +1 -1
- package/lib/features/edit-label/edit-label-tool.js.map +1 -1
- package/lib/features/edit-label/edit-label-validator.js.map +1 -1
- package/lib/features/export/di.config.d.ts +19 -0
- package/lib/features/export/di.config.d.ts.map +1 -0
- package/lib/features/export/di.config.js +29 -0
- package/lib/features/export/di.config.js.map +1 -0
- package/lib/features/export/glsp-svg-exporter.js.map +1 -1
- package/lib/features/hints/type-hints.js.map +1 -1
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +2 -1
- package/lib/features/hover/hover.js.map +1 -1
- package/lib/features/layout/freeform-layout.js.map +1 -1
- package/lib/features/layout/hbox-layout.js.map +1 -1
- package/lib/features/layout/layout-elements-action.d.ts +4 -4
- package/lib/features/layout/layout-elements-action.d.ts.map +1 -1
- package/lib/features/layout/layout-elements-action.js +2 -2
- package/lib/features/layout/layout-elements-action.js.map +1 -1
- package/lib/features/layout/layouter.js.map +1 -1
- package/lib/features/layout/tests/layouter-test-util.d.ts +1 -1
- package/lib/features/layout/tests/layouter-test-util.js +2 -2
- package/lib/features/layout/tests/layouter-test-util.js.map +1 -1
- package/lib/features/layout/vbox-layout.js.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts +1 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
- package/lib/features/navigation/navigation-action-handler.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
- package/lib/features/select/select-feedback-action.js.map +1 -1
- package/lib/features/select/select-mouse-listener.d.ts +1 -1
- package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
- package/lib/features/select/select-mouse-listener.js +2 -1
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/source-model-watcher/source-model-changed-action-handler.js.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +2 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +2 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +3 -2
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/css-feedback.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +4 -3
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/view.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-tool.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/delete-tool.js.map +1 -1
- package/lib/features/tools/di.config.d.ts.map +1 -1
- package/lib/features/tools/di.config.js +1 -4
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.js.map +1 -1
- package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/marquee-tool.js.map +1 -1
- package/lib/features/tools/node-creation-tool.js.map +1 -1
- package/lib/features/tools/view.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts +1 -1
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js.map +1 -1
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
- package/lib/model-source/glsp-diagram-server.js.map +1 -1
- package/lib/sprotty-reexport.d.ts +5 -5
- package/lib/sprotty-reexport.d.ts.map +1 -1
- package/lib/sprotty-reexport.js +16 -7
- package/lib/sprotty-reexport.js.map +1 -1
- package/lib/utils/smodel-util.d.ts +3 -3
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/views/compartments.js.map +1 -1
- package/lib/views/glsp-edge-view.js.map +1 -1
- package/lib/views/glsp-projection-view.js.map +1 -1
- package/lib/views/issue-marker-view.js.map +1 -1
- package/lib/views/rounded-corner-view.js.map +1 -1
- package/package.json +13 -14
- package/src/base/command-stack.ts +3 -3
- package/src/base/container-modules.ts +51 -7
- package/src/features/copy-paste/copy-paste-handler.ts +4 -8
- package/src/features/export/di.config.ts +28 -0
- package/src/features/hover/hover.ts +2 -1
- package/src/features/layout/layout-elements-action.ts +2 -1
- package/src/features/layout/tests/layouter-test-util.ts +3 -3
- package/src/features/select/select-mouse-listener.ts +2 -2
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +1 -1
- package/src/features/tool-feedback/creation-tool-feedback.ts +1 -1
- package/src/features/tool-feedback/edge-edit-tool-feedback.ts +1 -1
- package/src/features/tools/di.config.ts +1 -5
- package/src/sprotty-reexport.ts +11 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rounded-corner-view.js","sourceRoot":"","sources":["../../src/views/rounded-corner-view.tsx"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAAuC;AAEvC,qCAAyH;AACzH,4DAAuD;AACvD,qDAAwD;AAExD,6DAA6D;AAC7D,MAAM,GAAG,GAAG,EAAE,aAAa,EAAE,aAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"rounded-corner-view.js","sourceRoot":"","sources":["../../src/views/rounded-corner-view.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-glsp/client",
|
|
3
|
-
"version": "1.1.0-
|
|
3
|
+
"version": "1.1.0-RC04",
|
|
4
4
|
"description": "A sprotty-based client for GLSP",
|
|
5
5
|
"license": "(EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0)",
|
|
6
6
|
"keywords": [
|
|
@@ -34,29 +34,28 @@
|
|
|
34
34
|
"css"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@eclipse-glsp/protocol": "1.1.0-
|
|
37
|
+
"@eclipse-glsp/protocol": "1.1.0-RC04",
|
|
38
38
|
"autocompleter": "5.1.0",
|
|
39
|
-
"sprotty": "0.13.0-next.
|
|
39
|
+
"sprotty": "0.13.0-next.f4445dd.342"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@vscode/codicons": "^0.0.25"
|
|
43
|
-
"eslint-import-resolver-typescript": "2.7.0",
|
|
44
|
-
"typescript": "^4.5.5"
|
|
42
|
+
"@vscode/codicons": "^0.0.25"
|
|
45
43
|
},
|
|
46
44
|
"scripts": {
|
|
47
|
-
"
|
|
48
|
-
"clean": "rimraf lib tsconfig.tsbuildinfo ",
|
|
49
|
-
"build": "tsc",
|
|
45
|
+
"build": "tsc -b",
|
|
46
|
+
"clean": "rimraf lib tsconfig.tsbuildinfo coverage .nyc_output",
|
|
50
47
|
"lint": "eslint --ext .ts,.tsx ./src",
|
|
51
|
-
"lint:
|
|
52
|
-
"
|
|
53
|
-
"test": "mocha --config ../../.mocharc
|
|
54
|
-
"test:ci": "export JUNIT_REPORT_PATH=./report.xml && yarn test --reporter mocha-jenkins-reporter"
|
|
48
|
+
"lint:ci": "yarn lint -o eslint.xml -f checkstyle",
|
|
49
|
+
"prepare": "yarn clean && yarn build",
|
|
50
|
+
"test": "mocha --config ../../.mocharc \"./src/**/*.spec.?(ts|tsx)\"",
|
|
51
|
+
"test:ci": "export JUNIT_REPORT_PATH=./report.xml && yarn test --reporter mocha-jenkins-reporter",
|
|
52
|
+
"test:coverage": "nyc yarn test",
|
|
53
|
+
"watch": "tsc -w"
|
|
55
54
|
},
|
|
56
55
|
"publishConfig": {
|
|
57
56
|
"access": "public"
|
|
58
57
|
},
|
|
59
58
|
"main": "lib/index",
|
|
60
59
|
"types": "lib/index",
|
|
61
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "8a89fef82ee8b4400d5a56e39c5a01c51fab6f4d"
|
|
62
61
|
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
16
|
+
import { RedoAction, UndoAction } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
18
|
import { CommandStack, IActionDispatcher, SModelRoot } from 'sprotty';
|
|
19
19
|
import { TYPES } from './types';
|
|
@@ -23,12 +23,12 @@ export class GLSPCommandStack extends CommandStack {
|
|
|
23
23
|
@inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
|
|
24
24
|
|
|
25
25
|
override undo(): Promise<SModelRoot> {
|
|
26
|
-
this.actionDispatcher().then(dispatcher => dispatcher.dispatch(
|
|
26
|
+
this.actionDispatcher().then(dispatcher => dispatcher.dispatch(UndoAction.create()));
|
|
27
27
|
return this.thenUpdate();
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
override redo(): Promise<SModelRoot> {
|
|
31
|
-
this.actionDispatcher().then(dispatcher => dispatcher.dispatch(
|
|
31
|
+
this.actionDispatcher().then(dispatcher => dispatcher.dispatch(RedoAction.create()));
|
|
32
32
|
return this.thenUpdate();
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2021 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2021-2023 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
|
|
17
|
+
import { remove } from '@eclipse-glsp/protocol';
|
|
17
18
|
import { Container, ContainerModule } from 'inversify';
|
|
18
19
|
import {
|
|
19
20
|
buttonModule,
|
|
@@ -21,7 +22,6 @@ import {
|
|
|
21
22
|
edgeIntersectionModule,
|
|
22
23
|
edgeLayoutModule,
|
|
23
24
|
expandModule,
|
|
24
|
-
exportModule,
|
|
25
25
|
fadeModule,
|
|
26
26
|
labelEditUiModule,
|
|
27
27
|
modelSourceModule,
|
|
@@ -35,6 +35,7 @@ import glspContextMenuModule from '../features/context-menu/di.config';
|
|
|
35
35
|
import { glspServerCopyPasteModule } from '../features/copy-paste/di.config';
|
|
36
36
|
import glspDecorationModule from '../features/decoration/di.config';
|
|
37
37
|
import glspEditLabelModule from '../features/edit-label/di.config';
|
|
38
|
+
import glspExportModule from '../features/export/di.config';
|
|
38
39
|
import modelHintsModule from '../features/hints/di.config';
|
|
39
40
|
import glspHoverModule from '../features/hover/di.config';
|
|
40
41
|
import layoutModule from '../features/layout/di.config';
|
|
@@ -56,7 +57,7 @@ export const DEFAULT_MODULES = [
|
|
|
56
57
|
edgeIntersectionModule,
|
|
57
58
|
edgeLayoutModule,
|
|
58
59
|
expandModule,
|
|
59
|
-
|
|
60
|
+
glspExportModule,
|
|
60
61
|
fadeModule,
|
|
61
62
|
glspBoundsModule,
|
|
62
63
|
glspCommandPaletteModule,
|
|
@@ -83,7 +84,51 @@ export const DEFAULT_MODULES = [
|
|
|
83
84
|
enableDefaultToolsOnFocusLossModule,
|
|
84
85
|
validationModule,
|
|
85
86
|
zorderModule
|
|
86
|
-
];
|
|
87
|
+
] as const;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Creates a GLSP Diagram container with the GLSP default modules and the specified custom `modules`.
|
|
91
|
+
* Default modules can be excluded using {@link ExcludeDescription}s.
|
|
92
|
+
*
|
|
93
|
+
* This means, you can still customize the default modules in two ways.
|
|
94
|
+
*
|
|
95
|
+
* First, you can exclude default modules and add a module with your custom code.
|
|
96
|
+
*
|
|
97
|
+
* ```typescript
|
|
98
|
+
* const container = createDiagramContainer(myModule1, {exclude: modelSourceWatcherModule},myModelSourceWatcherModule );
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* Second, you can unbind or rebind implementations that are originally bound in one of the default modules.
|
|
102
|
+
*
|
|
103
|
+
* ```typescript
|
|
104
|
+
* rebind(NavigationTargetResolver).to(MyNavigationTargetResolver);
|
|
105
|
+
* ```
|
|
106
|
+
*
|
|
107
|
+
* @param customModules Custom modules to be loaded in addition to the default modules and/or default modules that should be excluded.
|
|
108
|
+
* @param options Options to customize the module loading
|
|
109
|
+
* @returns The created container.
|
|
110
|
+
*/
|
|
111
|
+
export function createDiagramContainer(...customModules: Array<ContainerModule | ExcludeDescription>): Container {
|
|
112
|
+
const container = new Container();
|
|
113
|
+
|
|
114
|
+
const modules = [...DEFAULT_MODULES];
|
|
115
|
+
customModules.forEach(customModule => {
|
|
116
|
+
if (customModule instanceof ContainerModule) {
|
|
117
|
+
modules.push(customModule);
|
|
118
|
+
} else {
|
|
119
|
+
remove(modules, customModule.exclude);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
container.load(...modules);
|
|
123
|
+
return container;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Can be passed to the {@link createDiagramContainer} utility function to exclude (i.e. not load) a specific default module.
|
|
128
|
+
*/
|
|
129
|
+
export interface ExcludeDescription {
|
|
130
|
+
exclude: ContainerModule;
|
|
131
|
+
}
|
|
87
132
|
|
|
88
133
|
/**
|
|
89
134
|
* Creates a GLSP Client container with the GLSP default modules and the specified custom `modules`.
|
|
@@ -105,9 +150,8 @@ export const DEFAULT_MODULES = [
|
|
|
105
150
|
* ```
|
|
106
151
|
* @param modules Custom modules to be loaded in addition to the default modules.
|
|
107
152
|
* @returns The created container.
|
|
153
|
+
* @deprecated Please use `createDiagramContainer` from `@eclipse-glsp/client` instead
|
|
108
154
|
*/
|
|
109
155
|
export function createClientContainer(...modules: ContainerModule[]): Container {
|
|
110
|
-
|
|
111
|
-
container.load(...DEFAULT_MODULES, ...modules);
|
|
112
|
-
return container;
|
|
156
|
+
return createDiagramContainer(...modules);
|
|
113
157
|
}
|
|
@@ -134,19 +134,15 @@ export class ServerCopyPasteHandler implements ICopyPasteHandler {
|
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
protected shouldCopy(_event: ClipboardEvent): boolean
|
|
137
|
+
protected shouldCopy(_event: ClipboardEvent): boolean {
|
|
138
138
|
return this.editorContext.get().selectedElementIds.length > 0 && this.isDiagramActive();
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
protected shouldPaste(_event: ClipboardEvent): boolean
|
|
141
|
+
protected shouldPaste(_event: ClipboardEvent): boolean {
|
|
142
142
|
return this.isDiagramActive();
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
private isDiagramActive(): boolean
|
|
146
|
-
return
|
|
147
|
-
document.activeElement instanceof SVGElement &&
|
|
148
|
-
document.activeElement.parentElement &&
|
|
149
|
-
document.activeElement.parentElement.id === this.viewerOptions.baseDiv
|
|
150
|
-
);
|
|
145
|
+
private isDiagramActive(): boolean {
|
|
146
|
+
return document.activeElement?.parentElement?.id === this.viewerOptions.baseDiv;
|
|
151
147
|
}
|
|
152
148
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 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 { ContainerModule } from 'inversify';
|
|
17
|
+
import { configureCommand, ExportSvgCommand, ExportSvgKeyListener, ExportSvgPostprocessor, TYPES } from 'sprotty';
|
|
18
|
+
import { GLSPSvgExporter } from './glsp-svg-exporter';
|
|
19
|
+
|
|
20
|
+
const glspExportSvgModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
21
|
+
bind(ExportSvgKeyListener).toSelf().inSingletonScope();
|
|
22
|
+
bind(TYPES.KeyListener).toService(ExportSvgKeyListener);
|
|
23
|
+
bind(TYPES.HiddenVNodePostprocessor).to(ExportSvgPostprocessor).inSingletonScope();
|
|
24
|
+
configureCommand({ bind, isBound }, ExportSvgCommand);
|
|
25
|
+
bind(TYPES.SvgExporter).to(GLSPSvgExporter).inSingletonScope();
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
export default glspExportSvgModule;
|
|
@@ -23,7 +23,8 @@ import {
|
|
|
23
23
|
SModelRootSchema
|
|
24
24
|
} from '@eclipse-glsp/protocol';
|
|
25
25
|
import { injectable } from 'inversify';
|
|
26
|
-
import { EMPTY_ROOT,
|
|
26
|
+
import { EMPTY_ROOT, HoverMouseListener, IActionHandler, ICommand, SModelElement } from 'sprotty';
|
|
27
|
+
import { HoverFeedbackAction } from 'sprotty-protocol/lib/actions';
|
|
27
28
|
import { FocusStateChangedAction } from '../../base/actions/focus-change-action';
|
|
28
29
|
import { EnableDefaultToolsAction, EnableToolsAction } from '../../base/tool-manager/tool-actions';
|
|
29
30
|
import { EdgeCreationTool } from '../tools/edge-creation-tool';
|
|
@@ -24,7 +24,8 @@ import {
|
|
|
24
24
|
Writable
|
|
25
25
|
} from '@eclipse-glsp/protocol';
|
|
26
26
|
import { inject, injectable, optional } from 'inversify';
|
|
27
|
-
import { ElementMove, IActionDispatcher, IActionHandler, ICommand,
|
|
27
|
+
import { ElementMove, IActionDispatcher, IActionHandler, ICommand, SModelElement } from 'sprotty';
|
|
28
|
+
import { MoveAction } from 'sprotty-protocol/lib/actions';
|
|
28
29
|
import { TYPES } from '../../base/types';
|
|
29
30
|
import { toValidElementAndBounds, toValidElementMove } from '../../utils/layout-utils';
|
|
30
31
|
import { BoundsAwareModelElement, getElements } from '../../utils/smodel-util';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2022 STMicroelectronics and others.
|
|
2
|
+
* Copyright (c) 2022-2023 STMicroelectronics and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
SParentElement,
|
|
31
31
|
TYPES
|
|
32
32
|
} from 'sprotty';
|
|
33
|
-
import {
|
|
33
|
+
import { createDiagramContainer } from '../../../base/container-modules';
|
|
34
34
|
import { GLSPGraph } from '../../../lib/model';
|
|
35
35
|
import { StatefulLayouterExt } from '../layouter';
|
|
36
36
|
|
|
@@ -117,6 +117,6 @@ export function layout(
|
|
|
117
117
|
export function setupLayoutRegistry(): LayoutRegistry {
|
|
118
118
|
// Generic Test setup
|
|
119
119
|
// create client container that registers all default modules including the layoutModule
|
|
120
|
-
const layoutContainer =
|
|
120
|
+
const layoutContainer = createDiagramContainer();
|
|
121
121
|
return layoutContainer.get<LayoutRegistry>(TYPES.LayoutRegistry);
|
|
122
122
|
}
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { Action, SelectAction } from '@eclipse-glsp/protocol';
|
|
17
17
|
import {
|
|
18
|
-
BringToFrontAction,
|
|
19
18
|
findParentByFeature,
|
|
20
19
|
isCtrlOrCmd,
|
|
21
20
|
isSelectable,
|
|
@@ -27,6 +26,7 @@ import {
|
|
|
27
26
|
SRoutingHandle,
|
|
28
27
|
SwitchEditModeAction
|
|
29
28
|
} from 'sprotty';
|
|
29
|
+
import { BringToFrontAction } from 'sprotty-protocol/lib/actions';
|
|
30
30
|
import { toArray } from 'sprotty/lib/utils/iterable';
|
|
31
31
|
import { DEFAULT_RANK, Ranked } from '../rank/model';
|
|
32
32
|
|
|
@@ -37,7 +37,7 @@ import { DEFAULT_RANK, Ranked } from '../rank/model';
|
|
|
37
37
|
export class RankedSelectMouseListener extends SelectMouseListener implements Ranked {
|
|
38
38
|
rank: number = DEFAULT_RANK - 1; /* we want to be executed before all default mouse listeners */
|
|
39
39
|
|
|
40
|
-
override mouseDown(target: SModelElement, event: MouseEvent): Action[] {
|
|
40
|
+
override mouseDown(target: SModelElement, event: MouseEvent): (Action | Promise<Action>)[] {
|
|
41
41
|
const result: Action[] = [];
|
|
42
42
|
if (this.buttonHandlerRegistry !== undefined && target instanceof SButton && target.enabled) {
|
|
43
43
|
const buttonHandler = this.buttonHandlerRegistry.get(target.type);
|
|
@@ -25,12 +25,12 @@ import {
|
|
|
25
25
|
isSelectable,
|
|
26
26
|
isViewport,
|
|
27
27
|
MouseListener,
|
|
28
|
-
MoveAction,
|
|
29
28
|
SChildElement,
|
|
30
29
|
SModelElement,
|
|
31
30
|
SModelRoot,
|
|
32
31
|
TYPES
|
|
33
32
|
} from 'sprotty';
|
|
33
|
+
import { MoveAction } from 'sprotty-protocol/lib/actions';
|
|
34
34
|
import { forEachElement } from '../../utils/smodel-util';
|
|
35
35
|
import { addResizeHandles, isResizable, removeResizeHandles, SResizeHandle } from '../change-bounds/model';
|
|
36
36
|
import { createMovementRestrictionFeedback, removeMovementRestrictionFeedback } from '../change-bounds/movement-restrictor';
|
|
@@ -24,7 +24,6 @@ import {
|
|
|
24
24
|
isBoundsAware,
|
|
25
25
|
isConnectable,
|
|
26
26
|
MouseListener,
|
|
27
|
-
MoveAction,
|
|
28
27
|
PolylineEdgeRouter,
|
|
29
28
|
SChildElement,
|
|
30
29
|
SConnectableElement,
|
|
@@ -35,6 +34,7 @@ import {
|
|
|
35
34
|
SRoutableElement,
|
|
36
35
|
TYPES
|
|
37
36
|
} from 'sprotty';
|
|
37
|
+
import { MoveAction } from 'sprotty-protocol/lib/actions';
|
|
38
38
|
import { BoundsAwareModelElement, isRoutable } from '../../utils/smodel-util';
|
|
39
39
|
import { getAbsolutePosition, toAbsoluteBounds, toAbsolutePosition } from '../../utils/viewpoint-util';
|
|
40
40
|
import { FeedbackCommand } from './model';
|
|
@@ -29,7 +29,6 @@ import {
|
|
|
29
29
|
ISnapper,
|
|
30
30
|
isSelected,
|
|
31
31
|
MouseListener,
|
|
32
|
-
MoveAction,
|
|
33
32
|
PolylineEdgeRouter,
|
|
34
33
|
SConnectableElement,
|
|
35
34
|
SModelElement,
|
|
@@ -39,6 +38,7 @@ import {
|
|
|
39
38
|
SwitchEditModeCommand,
|
|
40
39
|
TYPES
|
|
41
40
|
} from 'sprotty';
|
|
41
|
+
import { MoveAction } from 'sprotty-protocol/lib/actions';
|
|
42
42
|
import { forEachElement, isRoutable, isRoutingHandle } from '../../utils/smodel-util';
|
|
43
43
|
import { getAbsolutePosition, toAbsoluteBounds } from '../../utils/viewpoint-util';
|
|
44
44
|
import { PointPositionUpdater } from '../change-bounds/snap';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2023 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -18,7 +18,6 @@ import { ContainerModule, interfaces } from 'inversify';
|
|
|
18
18
|
import { configureActionHandler, configureModelElement, ManhattanEdgeRouter } from 'sprotty';
|
|
19
19
|
import { FocusStateChangedAction } from '../../base/actions/focus-change-action';
|
|
20
20
|
import { TYPES } from '../../base/types';
|
|
21
|
-
import { GLSPSvgExporter } from '../export/glsp-svg-exporter';
|
|
22
21
|
import { MARQUEE } from '../tool-feedback/marquee-tool-feedback';
|
|
23
22
|
import { ChangeBoundsTool } from './change-bounds-tool';
|
|
24
23
|
import { DelKeyDeleteTool, MouseDeleteTool } from './delete-tool';
|
|
@@ -53,9 +52,6 @@ export const toolsModule = new ContainerModule((bind, _unbind, isBound, rebind)
|
|
|
53
52
|
configureActionHandler({ bind, isBound }, TriggerNodeCreationAction.KIND, NodeCreationTool);
|
|
54
53
|
configureActionHandler({ bind, isBound }, TriggerEdgeCreationAction.KIND, EdgeCreationTool);
|
|
55
54
|
|
|
56
|
-
bind(GLSPSvgExporter).toSelf().inSingletonScope();
|
|
57
|
-
rebind(TYPES.SvgExporter).toService(GLSPSvgExporter);
|
|
58
|
-
|
|
59
55
|
bind(GSLPManhattanEdgeRouter).toSelf().inSingletonScope();
|
|
60
56
|
rebind(ManhattanEdgeRouter).toService(GSLPManhattanEdgeRouter);
|
|
61
57
|
});
|
package/src/sprotty-reexport.ts
CHANGED
|
@@ -22,7 +22,10 @@
|
|
|
22
22
|
|
|
23
23
|
export * from '@eclipse-glsp/protocol';
|
|
24
24
|
// sprotty-protocol
|
|
25
|
-
export {
|
|
25
|
+
export {
|
|
26
|
+
BringToFrontAction, CollapseExpandAction, CollapseExpandAllAction,
|
|
27
|
+
ElementAndAlignment, HoverFeedbackAction, MoveAction, SetBoundsAction
|
|
28
|
+
} from 'sprotty-protocol/lib/actions';
|
|
26
29
|
export { Viewport } from 'sprotty-protocol/lib/model';
|
|
27
30
|
// ------------------ Base ------------------
|
|
28
31
|
export * from 'sprotty/lib/base/actions/action-dispatcher';
|
|
@@ -144,7 +147,6 @@ export * from 'sprotty/lib/features/fade/model';
|
|
|
144
147
|
export {
|
|
145
148
|
AbstractHoverMouseListener,
|
|
146
149
|
ClosePopupActionHandler,
|
|
147
|
-
HoverFeedbackAction,
|
|
148
150
|
HoverFeedbackCommand,
|
|
149
151
|
HoverKeyListener,
|
|
150
152
|
HoverMouseListener,
|
|
@@ -154,7 +156,10 @@ export {
|
|
|
154
156
|
} from 'sprotty/lib/features/hover/hover';
|
|
155
157
|
export * from 'sprotty/lib/features/hover/model';
|
|
156
158
|
export * from 'sprotty/lib/features/move/model';
|
|
157
|
-
export
|
|
159
|
+
export {
|
|
160
|
+
ElementMove, LocationPostprocessor, MorphEdgesAnimation, MoveAnimation,
|
|
161
|
+
MoveCommand, MoveMouseListener, ResolvedElementMove, ResolvedHandleMove
|
|
162
|
+
} from 'sprotty/lib/features/move/move';
|
|
158
163
|
export * from 'sprotty/lib/features/move/snap';
|
|
159
164
|
export * from 'sprotty/lib/features/nameable/model';
|
|
160
165
|
export * from 'sprotty/lib/features/open/model';
|
|
@@ -182,7 +187,7 @@ export {
|
|
|
182
187
|
SelectKeyboardListener,
|
|
183
188
|
SelectMouseListener
|
|
184
189
|
} from 'sprotty/lib/features/select/select';
|
|
185
|
-
export
|
|
190
|
+
export { UndoRedoKeyListener } from 'sprotty/lib/features/undo-redo/undo-redo';
|
|
186
191
|
export * from 'sprotty/lib/features/update/model-matching';
|
|
187
192
|
export { UpdateAnimationData, UpdateModelCommand } from 'sprotty/lib/features/update/update-model';
|
|
188
193
|
export {
|
|
@@ -202,7 +207,7 @@ export {
|
|
|
202
207
|
} from 'sprotty/lib/features/viewport/viewport';
|
|
203
208
|
export * from 'sprotty/lib/features/viewport/viewport-root';
|
|
204
209
|
export * from 'sprotty/lib/features/viewport/zoom';
|
|
205
|
-
export
|
|
210
|
+
export { BringToFrontCommand, ZOrderElement } from 'sprotty/lib/features/zorder/zorder';
|
|
206
211
|
export { SCompartment, SEdge, SGraph, SGraphIndex, SLabel, SNode, SPort } from 'sprotty/lib/graph/sgraph';
|
|
207
212
|
// ------------------ Graph ------------------
|
|
208
213
|
export * from 'sprotty/lib/graph/sgraph-factory';
|
|
@@ -286,3 +291,4 @@ import viewportModule from 'sprotty/lib/features/viewport/di.config';
|
|
|
286
291
|
import zorderModule from 'sprotty/lib/features/zorder/di.config';
|
|
287
292
|
import graphModule from 'sprotty/lib/graph/di.config';
|
|
288
293
|
import modelSourceModule from 'sprotty/lib/model-source/di.config';
|
|
294
|
+
|