@eclipse-glsp/client 1.1.0-RC07 → 1.1.0-RC09

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/lib/base/container-modules.d.ts +1 -1
  2. package/lib/base/container-modules.d.ts.map +1 -1
  3. package/lib/base/container-modules.js +42 -40
  4. package/lib/base/container-modules.js.map +1 -1
  5. package/lib/features/{change-bounds/snap.spec.d.ts → svg-metadata/di.config.d.ts} +5 -3
  6. package/lib/features/svg-metadata/di.config.d.ts.map +1 -0
  7. package/lib/features/svg-metadata/di.config.js +26 -0
  8. package/lib/features/svg-metadata/di.config.js.map +1 -0
  9. package/lib/features/svg-metadata/metadata-placer.d.ts +24 -0
  10. package/lib/features/svg-metadata/metadata-placer.d.ts.map +1 -0
  11. package/lib/features/svg-metadata/metadata-placer.js +63 -0
  12. package/lib/features/svg-metadata/metadata-placer.js.map +1 -0
  13. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +1 -1
  14. package/lib/features/tool-feedback/creation-tool-feedback.js +1 -1
  15. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +1 -1
  16. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +1 -1
  17. package/lib/features/tool-palette/tool-palette.d.ts +1 -1
  18. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  19. package/lib/features/tool-palette/tool-palette.js +2 -2
  20. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  21. package/lib/features/validation/validate.d.ts +6 -6
  22. package/lib/features/validation/validate.d.ts.map +1 -1
  23. package/lib/features/validation/validate.js +18 -17
  24. package/lib/features/validation/validate.js.map +1 -1
  25. package/lib/index.d.ts +3 -1
  26. package/lib/index.d.ts.map +1 -1
  27. package/lib/index.js +39 -36
  28. package/lib/index.js.map +1 -1
  29. package/package.json +3 -3
  30. package/src/base/container-modules.ts +3 -1
  31. package/{lib/features/tools/marquee-behavior.spec.d.ts → src/features/svg-metadata/di.config.ts} +12 -3
  32. package/src/features/svg-metadata/metadata-placer.ts +51 -0
  33. package/src/features/tool-feedback/creation-tool-feedback.ts +1 -1
  34. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +1 -1
  35. package/src/features/tool-palette/tool-palette.ts +4 -4
  36. package/src/features/validation/validate.ts +16 -19
  37. package/src/index.ts +4 -1
  38. package/lib/features/bounds/freeform-layout.spec.d.ts +0 -3
  39. package/lib/features/bounds/freeform-layout.spec.d.ts.map +0 -1
  40. package/lib/features/bounds/freeform-layout.spec.js +0 -201
  41. package/lib/features/bounds/freeform-layout.spec.js.map +0 -1
  42. package/lib/features/bounds/hbox-layout.spec.d.ts +0 -3
  43. package/lib/features/bounds/hbox-layout.spec.d.ts.map +0 -1
  44. package/lib/features/bounds/hbox-layout.spec.js +0 -161
  45. package/lib/features/bounds/hbox-layout.spec.js.map +0 -1
  46. package/lib/features/bounds/layouter-test-util.spec.d.ts +0 -33
  47. package/lib/features/bounds/layouter-test-util.spec.d.ts.map +0 -1
  48. package/lib/features/bounds/layouter-test-util.spec.js +0 -96
  49. package/lib/features/bounds/layouter-test-util.spec.js.map +0 -1
  50. package/lib/features/bounds/vbox-layout.spec.d.ts +0 -3
  51. package/lib/features/bounds/vbox-layout.spec.d.ts.map +0 -1
  52. package/lib/features/bounds/vbox-layout.spec.js +0 -161
  53. package/lib/features/bounds/vbox-layout.spec.js.map +0 -1
  54. package/lib/features/change-bounds/snap.spec.d.ts.map +0 -1
  55. package/lib/features/change-bounds/snap.spec.js +0 -82
  56. package/lib/features/change-bounds/snap.spec.js.map +0 -1
  57. package/lib/features/layout/layout-elements-action.spec.d.ts +0 -3
  58. package/lib/features/layout/layout-elements-action.spec.d.ts.map +0 -1
  59. package/lib/features/layout/layout-elements-action.spec.js +0 -325
  60. package/lib/features/layout/layout-elements-action.spec.js.map +0 -1
  61. package/lib/features/navigation/navigation-target-resolver.spec.d.ts +0 -3
  62. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +0 -1
  63. package/lib/features/navigation/navigation-target-resolver.spec.js +0 -54
  64. package/lib/features/navigation/navigation-target-resolver.spec.js.map +0 -1
  65. package/lib/features/select/selection-service.spec.d.ts +0 -2
  66. package/lib/features/select/selection-service.spec.d.ts.map +0 -1
  67. package/lib/features/select/selection-service.spec.js +0 -363
  68. package/lib/features/select/selection-service.spec.js.map +0 -1
  69. package/lib/features/tools/marquee-behavior.spec.d.ts.map +0 -1
  70. package/lib/features/tools/marquee-behavior.spec.js +0 -165
  71. package/lib/features/tools/marquee-behavior.spec.js.map +0 -1
  72. package/lib/features/validation/marker-navigator.spec.d.ts +0 -3
  73. package/lib/features/validation/marker-navigator.spec.d.ts.map +0 -1
  74. package/lib/features/validation/marker-navigator.spec.js +0 -169
  75. package/lib/features/validation/marker-navigator.spec.js.map +0 -1
@@ -1,82 +0,0 @@
1
- "use strict";
2
- /********************************************************************************
3
- * Copyright (c) 2022 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
- const chai_1 = require("chai");
19
- const sprotty_1 = require("sprotty");
20
- const snap_1 = require("./snap");
21
- describe('GridSnapper', () => {
22
- it('snap', () => {
23
- const element = new sprotty_1.SModelElement();
24
- const snapper = new snap_1.GridSnapper();
25
- (0, chai_1.expect)(snapper.snap({ x: 0, y: 0 }, element)).to.be.deep.equals({ x: 0, y: 0 });
26
- (0, chai_1.expect)(snapper.snap({ x: 4, y: 5 }, element)).to.be.deep.equals({ x: 0, y: 10 });
27
- (0, chai_1.expect)(snapper.snap({ x: 8, y: 11 }, element)).to.be.deep.equals({ x: 10, y: 10 });
28
- (0, chai_1.expect)(snapper.snap({ x: -7, y: -4 }, element)).to.be.deep.equals({ x: -10, y: -0 });
29
- });
30
- });
31
- describe('PointPositionUpdater', () => {
32
- it('updatePosition with no last drag position', () => {
33
- const element = new sprotty_1.SModelElement();
34
- const updater = new snap_1.PointPositionUpdater();
35
- (0, chai_1.expect)(updater.updatePosition(element, { x: 0, y: 0 }, false)).to.be.undefined;
36
- (0, chai_1.expect)(updater.updatePosition(element, { x: 0, y: 0 }, true)).to.be.undefined;
37
- });
38
- it('update last position and reset', () => {
39
- const updater = new snap_1.PointPositionUpdater();
40
- (0, chai_1.expect)(updater.isLastDragPositionUndefined()).to.be.true;
41
- updater.updateLastDragPosition({ x: 0, y: 0 });
42
- (0, chai_1.expect)(updater.isLastDragPositionUndefined()).to.be.false;
43
- updater.resetPosition();
44
- (0, chai_1.expect)(updater.isLastDragPositionUndefined()).to.be.true;
45
- });
46
- it('updatePosition with no snapper', () => {
47
- const element = new sprotty_1.SModelElement();
48
- const updater = new snap_1.PointPositionUpdater();
49
- resetUpdater(updater);
50
- (0, chai_1.expect)(updater.updatePosition(element, { x: 0, y: 0 }, false)).to.be.undefined;
51
- (0, chai_1.expect)(updater.updatePosition(element, { x: 0, y: 0 }, true)).to.be.undefined;
52
- resetUpdater(updater);
53
- (0, chai_1.expect)(updater.updatePosition(element, { x: 5, y: 3 }, false)).to.be.deep.equals({ x: 5, y: 3 });
54
- (0, chai_1.expect)(updater.updatePosition(element, { x: 5, y: 3 }, true)).to.be.undefined;
55
- (0, chai_1.expect)(updater.updatePosition(element, { x: 11, y: 6 }, false)).to.be.deep.equals({ x: 6, y: 3 });
56
- (0, chai_1.expect)(updater.updatePosition(element, { x: -3, y: 2 }, true)).to.be.deep.equals({ x: -14, y: -4 });
57
- });
58
- it('updatePosition with snapper', () => {
59
- const element = new sprotty_1.SModelElement();
60
- const snapper = new snap_1.GridSnapper();
61
- const updater = new snap_1.PointPositionUpdater(snapper);
62
- resetUpdater(updater);
63
- (0, chai_1.expect)(updater.updatePosition(element, { x: 0, y: 0 }, false)).to.be.undefined;
64
- (0, chai_1.expect)(updater.updatePosition(element, { x: 0, y: 0 }, true)).to.be.undefined;
65
- resetUpdater(updater);
66
- (0, chai_1.expect)(updater.updatePosition(element, { x: 5, y: 3 }, true)).to.be.deep.equals({ x: 10, y: 0 });
67
- (0, chai_1.expect)(updater.updatePosition(element, { x: 5, y: 3 }, true)).to.be.undefined;
68
- (0, chai_1.expect)(updater.updatePosition(element, { x: 11, y: 6 }, true)).to.be.deep.equals({ x: 0, y: 10 });
69
- (0, chai_1.expect)(updater.updatePosition(element, { x: -3, y: 2 }, true)).to.be.deep.equals({ x: -10, y: -10 });
70
- // disable snapping (alt key)
71
- resetUpdater(updater);
72
- (0, chai_1.expect)(updater.updatePosition(element, { x: 5, y: 3 }, false)).to.be.deep.equals({ x: 5, y: 3 });
73
- (0, chai_1.expect)(updater.updatePosition(element, { x: 5, y: 3 }, false)).to.be.undefined;
74
- (0, chai_1.expect)(updater.updatePosition(element, { x: 11, y: 6 }, false)).to.be.deep.equals({ x: 6, y: 3 });
75
- (0, chai_1.expect)(updater.updatePosition(element, { x: -3, y: 2 }, false)).to.be.deep.equals({ x: -14, y: -4 });
76
- });
77
- function resetUpdater(updater) {
78
- updater.resetPosition();
79
- updater.updateLastDragPosition({ x: 0, y: 0 });
80
- }
81
- });
82
- //# sourceMappingURL=snap.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snap.spec.js","sourceRoot":"","sources":["../../../src/features/change-bounds/snap.spec.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import 'mocha';
2
- import 'reflect-metadata';
3
- //# sourceMappingURL=layout-elements-action.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout-elements-action.spec.d.ts","sourceRoot":"","sources":["../../../src/features/layout/layout-elements-action.spec.ts"],"names":[],"mappings":"AA2BA,OAAO,OAAO,CAAC;AACf,OAAO,kBAAkB,CAAC"}
@@ -1,325 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /********************************************************************************
4
- * Copyright (c) 2019-2022 EclipseSource and others.
5
- *
6
- * This program and the accompanying materials are made available under the
7
- * terms of the Eclipse Public License v. 2.0 which is available at
8
- * http://www.eclipse.org/legal/epl-2.0.
9
- *
10
- * This Source Code may also be made available under the following Secondary
11
- * Licenses when the conditions for such availability set forth in the Eclipse
12
- * Public License v. 2.0 are satisfied: GNU General Public License, version 2
13
- * with the GNU Classpath Exception which is available at
14
- * https://www.gnu.org/software/classpath/license.html.
15
- *
16
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
17
- ********************************************************************************/
18
- /* eslint-disable deprecation/deprecation */
19
- const protocol_1 = require("@eclipse-glsp/protocol");
20
- const chai_1 = require("chai");
21
- const inversify_1 = require("inversify");
22
- require("mocha");
23
- require("reflect-metadata");
24
- const sprotty_1 = require("sprotty");
25
- const types_1 = require("../../base/types");
26
- const model_1 = require("../change-bounds/model");
27
- const selection_service_1 = require("../select/selection-service");
28
- const feedback_action_dispatcher_1 = require("../tool-feedback/feedback-action-dispatcher");
29
- const layout_elements_action_1 = require("./layout-elements-action");
30
- class MockActionDispatcher {
31
- constructor(dispatchedActions = []) {
32
- this.dispatchedActions = dispatchedActions;
33
- }
34
- dispatch(action) {
35
- this.dispatchedActions.push(action);
36
- return Promise.resolve();
37
- }
38
- dispatchAll(actions) {
39
- actions.forEach(action => this.dispatchedActions.push(action));
40
- return Promise.resolve();
41
- }
42
- request(action) {
43
- throw new Error('Method not implemented.');
44
- }
45
- }
46
- class MockSelectionService extends selection_service_1.SelectionService {
47
- constructor(modelRoot) {
48
- super();
49
- this.modelRoot = modelRoot;
50
- }
51
- getModelRoot() {
52
- return this.modelRoot;
53
- }
54
- }
55
- // Generic Test setup
56
- const container = new inversify_1.Container();
57
- container.load(sprotty_1.defaultModule);
58
- container.bind(types_1.TYPES.IFeedbackActionDispatcher).to(feedback_action_dispatcher_1.FeedbackActionDispatcher).inSingletonScope();
59
- container.rebind(types_1.TYPES.IModelFactory).to(sprotty_1.SGraphFactory).inSingletonScope();
60
- const graphFactory = container.get(types_1.TYPES.IModelFactory);
61
- const actionDispatcher = new MockActionDispatcher();
62
- const node1 = {
63
- id: 'node1',
64
- type: 'node:circle',
65
- selected: true
66
- };
67
- const node2 = {
68
- id: 'node2',
69
- type: 'node:circle',
70
- selected: true
71
- };
72
- const node3 = {
73
- id: 'node3',
74
- type: 'node:circle',
75
- selected: true
76
- };
77
- const model = createModel();
78
- function createModel() {
79
- const root = graphFactory.createRoot({
80
- id: 'model1',
81
- type: 'graph',
82
- children: [node1, node2, node3]
83
- });
84
- root.children.forEach(child => applyFeature(child, model_1.resizeFeature));
85
- return root;
86
- }
87
- function applyFeature(element, feature) {
88
- element.features.add(feature);
89
- }
90
- const context = {
91
- root: model,
92
- modelFactory: graphFactory,
93
- duration: 0,
94
- modelChanged: undefined,
95
- logger: new sprotty_1.ConsoleLogger(),
96
- syncer: new sprotty_1.AnimationFrameSyncer()
97
- };
98
- const defaultSize = { height: 10, width: 10 };
99
- describe('AlignElementsCommand', () => {
100
- let handler;
101
- const setModel = (newModel) => {
102
- handler['selectionService'] = new MockSelectionService(newModel);
103
- };
104
- beforeEach(() => {
105
- actionDispatcher.dispatchedActions = [];
106
- handler = new layout_elements_action_1.AlignElementsActionHandler();
107
- handler['actionDispatcher'] = actionDispatcher;
108
- });
109
- it('should align all elements left', () => {
110
- const newModel = initModel([
111
- { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
112
- { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
113
- { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
114
- ]);
115
- const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Left });
116
- setModel(newModel);
117
- handler.handle(action);
118
- assertAllBounds(new Map([
119
- ['node1', { x: 111, y: 111, width: defaultSize.width, height: defaultSize.height }],
120
- ['node2', { x: 111, y: 222, width: defaultSize.width, height: defaultSize.height }],
121
- ['node3', { x: 111, y: 333, width: defaultSize.width, height: defaultSize.height }]
122
- ]));
123
- });
124
- it('should align all elements right', () => {
125
- const newModel = initModel([
126
- { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
127
- { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
128
- { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
129
- ]);
130
- const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Right });
131
- setModel(newModel);
132
- handler.handle(action);
133
- assertAllBounds(new Map([
134
- ['node1', { x: 333, y: 111, width: defaultSize.width, height: defaultSize.height }],
135
- ['node2', { x: 333, y: 222, width: defaultSize.width, height: defaultSize.height }],
136
- ['node3', { x: 333, y: 333, width: defaultSize.width, height: defaultSize.height }]
137
- ]));
138
- });
139
- it('should align all elements center', () => {
140
- actionDispatcher.dispatchedActions = [];
141
- const newModel = initModel([
142
- { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
143
- { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
144
- { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
145
- ]);
146
- const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Center });
147
- setModel(newModel);
148
- handler.handle(action);
149
- assertAllBounds(new Map([
150
- ['node1', { x: 222, y: 111, width: defaultSize.width, height: defaultSize.height }],
151
- ['node2', { x: 222, y: 222, width: defaultSize.width, height: defaultSize.height }],
152
- ['node3', { x: 222, y: 333, width: defaultSize.width, height: defaultSize.height }]
153
- ]));
154
- });
155
- it('should align all elements top', () => {
156
- const newModel = initModel([
157
- { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
158
- { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
159
- { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
160
- ]);
161
- const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Top });
162
- setModel(newModel);
163
- handler.handle(action);
164
- assertAllBounds(new Map([
165
- ['node1', { x: 111, y: 111, width: defaultSize.width, height: defaultSize.height }],
166
- ['node2', { x: 222, y: 111, width: defaultSize.width, height: defaultSize.height }],
167
- ['node3', { x: 333, y: 111, width: defaultSize.width, height: defaultSize.height }]
168
- ]));
169
- });
170
- it('should align all elements bottom', () => {
171
- const newModel = initModel([
172
- { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
173
- { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
174
- { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
175
- ]);
176
- const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Bottom });
177
- setModel(newModel);
178
- handler.handle(action);
179
- assertAllBounds(new Map([
180
- ['node1', { x: 111, y: 333, width: defaultSize.width, height: defaultSize.height }],
181
- ['node2', { x: 222, y: 333, width: defaultSize.width, height: defaultSize.height }],
182
- ['node3', { x: 333, y: 333, width: defaultSize.width, height: defaultSize.height }]
183
- ]));
184
- });
185
- it('should align all elements middle', () => {
186
- const newModel = initModel([
187
- { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
188
- { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
189
- { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
190
- ]);
191
- const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Middle });
192
- setModel(newModel);
193
- handler.handle(action);
194
- assertAllBounds(new Map([
195
- ['node1', { x: 111, y: 222, width: defaultSize.width, height: defaultSize.height }],
196
- ['node2', { x: 222, y: 222, width: defaultSize.width, height: defaultSize.height }],
197
- ['node3', { x: 333, y: 222, width: defaultSize.width, height: defaultSize.height }]
198
- ]));
199
- });
200
- });
201
- describe('ResizeElementsCommand', () => {
202
- let handler;
203
- const setModel = (newModel) => {
204
- handler['selectionService'] = new MockSelectionService(newModel);
205
- };
206
- beforeEach(() => {
207
- actionDispatcher.dispatchedActions = [];
208
- handler = new layout_elements_action_1.ResizeElementsActionHandler();
209
- handler['actionDispatcher'] = actionDispatcher;
210
- });
211
- it('should make same width as last', () => {
212
- const newModel = initModel([
213
- { elementId: 'node1', newPosition: { x: 100, y: 100 }, newSize: { height: 10, width: 10 } },
214
- { elementId: 'node2', newPosition: { x: 100, y: 200 }, newSize: { height: 20, width: 20 } },
215
- { elementId: 'node3', newPosition: { x: 100, y: 300 }, newSize: { height: 30, width: 30 } }
216
- ]);
217
- const action = layout_elements_action_1.ResizeElementsAction.create({
218
- elementIds: ['node1', 'node2', 'node3'],
219
- dimension: layout_elements_action_1.ResizeDimension.Width,
220
- reduceFunction: 'last'
221
- });
222
- setModel(newModel);
223
- handler.handle(action);
224
- // resize is keeping the center, so the X moves by diff / 2
225
- assertAllBoundsInChangeBounds(new Map([
226
- ['node1', { x: 90, y: 100, height: 10, width: 30 }],
227
- ['node2', { x: 95, y: 200, height: 20, width: 30 }],
228
- ['node3', { x: 100, y: 300, height: 30, width: 30 }]
229
- ]));
230
- });
231
- it('should make same height as last', () => {
232
- const newModel = initModel([
233
- { elementId: 'node1', newPosition: { x: 100, y: 100 }, newSize: { height: 10, width: 10 } },
234
- { elementId: 'node2', newPosition: { x: 100, y: 200 }, newSize: { height: 20, width: 20 } },
235
- { elementId: 'node3', newPosition: { x: 100, y: 300 }, newSize: { height: 30, width: 30 } }
236
- ]);
237
- const action = layout_elements_action_1.ResizeElementsAction.create({
238
- elementIds: ['node1', 'node2', 'node3'],
239
- dimension: layout_elements_action_1.ResizeDimension.Height,
240
- reduceFunction: 'last'
241
- });
242
- setModel(newModel);
243
- handler.handle(action);
244
- // resize is keeping the center, so the Y moves by diff / 2
245
- assertAllBoundsInChangeBounds(new Map([
246
- ['node1', { x: 100, y: 90, height: 30, width: 10 }],
247
- ['node2', { x: 100, y: 195, height: 30, width: 20 }],
248
- ['node3', { x: 100, y: 300, height: 30, width: 30 }]
249
- ]));
250
- });
251
- it('should make same width and height as last', () => {
252
- const newModel = initModel([
253
- { elementId: 'node1', newPosition: { x: 100, y: 100 }, newSize: { height: 10, width: 10 } },
254
- { elementId: 'node2', newPosition: { x: 100, y: 200 }, newSize: { height: 20, width: 20 } },
255
- { elementId: 'node3', newPosition: { x: 100, y: 300 }, newSize: { height: 30, width: 30 } }
256
- ]);
257
- const action = layout_elements_action_1.ResizeElementsAction.create({
258
- elementIds: ['node1', 'node2', 'node3'],
259
- dimension: layout_elements_action_1.ResizeDimension.Width_And_Height,
260
- reduceFunction: 'last'
261
- });
262
- setModel(newModel);
263
- handler.handle(action);
264
- // resize is keeping the center, so the Y moves by diff / 2
265
- assertAllBoundsInChangeBounds(new Map([
266
- ['node1', { x: 90, y: 90, height: 30, width: 30 }],
267
- ['node2', { x: 95, y: 195, height: 30, width: 30 }],
268
- ['node3', { x: 100, y: 300, height: 30, width: 30 }]
269
- ]));
270
- });
271
- });
272
- function initModel(elementAndBounds) {
273
- const mySetBoundsAction = protocol_1.SetBoundsAction.create(elementAndBounds);
274
- const setBoundsCommand = new sprotty_1.SetBoundsCommand(mySetBoundsAction);
275
- return setBoundsCommand.execute(context);
276
- }
277
- function assertAllBounds(allBounds) {
278
- allBounds.forEach((bounds, nodeId) => assertBounds(nodeId, bounds));
279
- }
280
- function assertAllBoundsInChangeBounds(allBounds) {
281
- allBounds.forEach((bounds, nodeId) => assertBoundsInChangeBoundsActions(nodeId, bounds));
282
- }
283
- function assertBounds(nodeId, bounds) {
284
- assertBoundsInMoves(nodeId, bounds);
285
- assertBoundsInChangeBoundsActions(nodeId, bounds);
286
- }
287
- function assertBoundsInMoves(nodeId, bounds) {
288
- const moves = dispatchedElementMoves();
289
- const move = getMoveById(nodeId, moves);
290
- (0, chai_1.expect)(move.toPosition.x).to.be.equal(bounds.x);
291
- (0, chai_1.expect)(move.toPosition.y).to.be.equal(bounds.y);
292
- }
293
- function assertBoundsInChangeBoundsActions(nodeId, bounds) {
294
- const allChangeBounds = dispatchedChangeBounds();
295
- const changeBounds = getElementAndBoundsById(nodeId, allChangeBounds);
296
- (0, chai_1.expect)(changeBounds.newPosition.x).to.be.equal(bounds.x);
297
- (0, chai_1.expect)(changeBounds.newPosition.y).to.be.equal(bounds.y);
298
- (0, chai_1.expect)(changeBounds.newSize.height).to.be.equal(bounds.height);
299
- (0, chai_1.expect)(changeBounds.newSize.width).to.be.equal(bounds.width);
300
- }
301
- function getMoveById(id, moves) {
302
- return moves.filter(m => m.elementId === id)[0];
303
- }
304
- function getElementAndBoundsById(id, elementAndBounds) {
305
- return elementAndBounds.filter(m => m.elementId === id)[0];
306
- }
307
- function dispatchedElementMoves() {
308
- return actionDispatcher.dispatchedActions
309
- .filter(isMoveAction)
310
- .map(a => a.moves)
311
- .reduce((acc, val) => acc.concat(val), []);
312
- }
313
- function dispatchedChangeBounds() {
314
- return actionDispatcher.dispatchedActions
315
- .filter(isChangeBounds)
316
- .map(a => a.newBounds)
317
- .reduce((acc, val) => acc.concat(val), []);
318
- }
319
- function isMoveAction(action) {
320
- return action.kind === sprotty_1.MoveCommand.KIND;
321
- }
322
- function isChangeBounds(action) {
323
- return action.kind === protocol_1.ChangeBoundsOperation.KIND;
324
- }
325
- //# sourceMappingURL=layout-elements-action.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout-elements-action.spec.js","sourceRoot":"","sources":["../../../src/features/layout/layout-elements-action.spec.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import 'mocha';
2
- import 'reflect-metadata';
3
- //# sourceMappingURL=navigation-target-resolver.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation-target-resolver.spec.d.ts","sourceRoot":"","sources":["../../../src/features/navigation/navigation-target-resolver.spec.ts"],"names":[],"mappings":"AAkBA,OAAO,OAAO,CAAC;AACf,OAAO,kBAAkB,CAAC"}
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /********************************************************************************
4
- * Copyright (c) 2020-2022 EclipseSource and others.
5
- *
6
- * This program and the accompanying materials are made available under the
7
- * terms of the Eclipse Public License v. 2.0 which is available at
8
- * http://www.eclipse.org/legal/epl-2.0.
9
- *
10
- * This Source Code may also be made available under the following Secondary
11
- * Licenses when the conditions for such availability set forth in the Eclipse
12
- * Public License v. 2.0 are satisfied: GNU General Public License, version 2
13
- * with the GNU Classpath Exception which is available at
14
- * https://www.gnu.org/software/classpath/license.html.
15
- *
16
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
17
- ********************************************************************************/
18
- /* eslint-disable no-unused-expressions */
19
- const protocol_1 = require("@eclipse-glsp/protocol");
20
- const chai_1 = require("chai");
21
- require("mocha");
22
- require("reflect-metadata");
23
- describe('NavigationTarget', () => {
24
- it('should be able to set and get element IDs', () => {
25
- const navigationTarget = { uri: 'uri' };
26
- protocol_1.NavigationTarget.setElementIds(navigationTarget, 'id1', 'id2');
27
- (0, chai_1.expect)(protocol_1.NavigationTarget.getElementIds(navigationTarget)).to.be.eql(['id1', 'id2']);
28
- });
29
- it('should be able to set and get textual positions', () => {
30
- const navigationTarget = { uri: 'uri' };
31
- protocol_1.NavigationTarget.setTextPosition(navigationTarget, { line: 1, character: 2 });
32
- (0, chai_1.expect)(protocol_1.NavigationTarget.getTextPosition(navigationTarget)).to.be.eql({ line: 1, character: 2 });
33
- });
34
- it('should be able to set and get custom query arguments', () => {
35
- const navigationTarget = { uri: 'uri' };
36
- protocol_1.NavigationTarget.addArgument(navigationTarget, 'name', 'test');
37
- (0, chai_1.expect)(navigationTarget.args.name).to.be.eql('test');
38
- });
39
- it('should specify whether it has arguments', () => {
40
- let navigationTarget = { uri: 'uri' };
41
- (0, chai_1.expect)(protocol_1.NavigationTarget.hasArguments(navigationTarget)).to.be.false;
42
- protocol_1.NavigationTarget.addArgument(navigationTarget, 'name', 'test');
43
- (0, chai_1.expect)(protocol_1.NavigationTarget.hasArguments(navigationTarget)).to.be.true;
44
- navigationTarget = { uri: 'uri' };
45
- (0, chai_1.expect)(protocol_1.NavigationTarget.hasArguments(navigationTarget)).to.be.false;
46
- protocol_1.NavigationTarget.setElementIds(navigationTarget, 'id1', 'id2');
47
- (0, chai_1.expect)(protocol_1.NavigationTarget.hasArguments(navigationTarget)).to.be.true;
48
- navigationTarget = { uri: 'uri' };
49
- (0, chai_1.expect)(protocol_1.NavigationTarget.hasArguments(navigationTarget)).to.be.false;
50
- protocol_1.NavigationTarget.setTextPosition(navigationTarget, { line: 1, character: 2 });
51
- (0, chai_1.expect)(protocol_1.NavigationTarget.hasArguments(navigationTarget)).to.be.true;
52
- });
53
- });
54
- //# sourceMappingURL=navigation-target-resolver.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation-target-resolver.spec.js","sourceRoot":"","sources":["../../../src/features/navigation/navigation-target-resolver.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=selection-service.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selection-service.spec.d.ts","sourceRoot":"","sources":["../../../src/features/select/selection-service.spec.ts"],"names":[],"mappings":""}