@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,169 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
4
- const inversify_1 = require("inversify");
5
- require("mocha");
6
- require("reflect-metadata");
7
- const sprotty_1 = require("sprotty");
8
- const di_config_1 = require("sprotty/lib/base/di.config");
9
- const sgraph_factory_1 = require("sprotty/lib/graph/sgraph-factory");
10
- const di_config_2 = require("./di.config");
11
- const marker_navigator_1 = require("./marker-navigator");
12
- describe('MarkerNavigator', () => {
13
- const container = new inversify_1.Container();
14
- container.load(di_config_1.default, sprotty_1.decorationModule, di_config_2.markerNavigatorModule);
15
- // eslint-disable-next-line deprecation/deprecation
16
- container.rebind(sprotty_1.TYPES.IModelFactory).to(sgraph_factory_1.SGraphFactory).inSingletonScope();
17
- // eslint-disable-next-line deprecation/deprecation
18
- const graphFactory = container.get(sprotty_1.TYPES.IModelFactory);
19
- const markerNavigator = container.get(marker_navigator_1.MarkerNavigator);
20
- const rootWithoutAnyMarkers = graphFactory.createRoot({
21
- id: 'root',
22
- type: 'graph',
23
- children: [
24
- {
25
- id: '1',
26
- type: 'node'
27
- }
28
- ]
29
- });
30
- const rootWithMarkers = graphFactory.createRoot({
31
- id: 'root',
32
- type: 'graph',
33
- children: [
34
- {
35
- id: 'bottom-right',
36
- type: 'node'
37
- },
38
- {
39
- id: 'top-right',
40
- type: 'node'
41
- },
42
- {
43
- id: 'top-left',
44
- type: 'node'
45
- },
46
- {
47
- id: 'bottom-left',
48
- type: 'node'
49
- }
50
- ]
51
- });
52
- const elementTopLeft = rootWithMarkers.children[2];
53
- elementTopLeft.bounds = { width: 10, height: 10, x: 100, y: 100 };
54
- const elementTopRight = rootWithMarkers.children[1];
55
- elementTopRight.bounds = { width: 10, height: 10, x: 200, y: 100 };
56
- const elementBottomLeft = rootWithMarkers.children[3];
57
- elementBottomLeft.bounds = { width: 10, height: 10, x: 100, y: 200 };
58
- const elementBottomRight = rootWithMarkers.children[0];
59
- elementBottomRight.bounds = { width: 10, height: 10, x: 200, y: 200 };
60
- beforeEach('clear issue marker', () => {
61
- [elementTopLeft, elementTopRight, elementBottomLeft, elementBottomRight].forEach(clearMarker);
62
- });
63
- it('next(undefined) without any markers returns undefined', () => {
64
- (0, chai_1.expect)(markerNavigator.next(rootWithoutAnyMarkers)).to.be.undefined;
65
- });
66
- it('previous(undefined) without any markers returns undefined', () => {
67
- (0, chai_1.expect)(markerNavigator.previous(rootWithoutAnyMarkers)).to.be.undefined;
68
- });
69
- it('next(undefined) with one marker returns the one marker', () => {
70
- const marker = setIssues(elementTopLeft, [{ message: 'msg', severity: 'error' }]);
71
- const next = markerNavigator.next(rootWithMarkers);
72
- (0, chai_1.expect)(next).to.eql(marker);
73
- });
74
- it('next(firstMarker) with only one marker returns again the first marker', () => {
75
- const marker = setIssues(elementTopLeft, [{ message: 'msg', severity: 'error' }]);
76
- const next = markerNavigator.next(rootWithMarkers, marker);
77
- (0, chai_1.expect)(next).to.eql(marker);
78
- // and again and again
79
- const nextNext = markerNavigator.next(rootWithMarkers, next);
80
- (0, chai_1.expect)(nextNext).to.eql(marker);
81
- });
82
- it('previous(firstMarker) with only one marker returns again the first marker', () => {
83
- const marker = setIssues(elementTopLeft, [{ message: 'msg', severity: 'error' }]);
84
- const previous = markerNavigator.previous(rootWithMarkers, marker);
85
- (0, chai_1.expect)(previous).to.eql(marker);
86
- // and again and again
87
- const previousPrevious = markerNavigator.previous(rootWithMarkers, previous);
88
- (0, chai_1.expect)(previousPrevious).to.eql(marker);
89
- });
90
- it('next(firstMarker) with two marker returns second marker then again first marker', () => {
91
- const marker1 = setIssues(elementTopLeft, [{ message: 'msg', severity: 'error' }]);
92
- const marker2 = setIssues(elementTopRight, [{ message: 'msg', severity: 'error' }]);
93
- const next = markerNavigator.next(rootWithMarkers, marker1);
94
- (0, chai_1.expect)(next).to.eql(marker2);
95
- // and again and again
96
- const nextNext = markerNavigator.next(rootWithMarkers, next);
97
- (0, chai_1.expect)(nextNext).to.eql(marker1);
98
- });
99
- it('previous(firstMarker) with two marker returns second marker then again first marker', () => {
100
- const marker1 = setIssues(elementTopLeft, [{ message: 'msg', severity: 'error' }]);
101
- const marker2 = setIssues(elementTopRight, [{ message: 'msg', severity: 'error' }]);
102
- const next = markerNavigator.previous(rootWithMarkers, marker1);
103
- (0, chai_1.expect)(next).to.eql(marker2);
104
- // and again and again
105
- const nextNext = markerNavigator.previous(rootWithMarkers, next);
106
- (0, chai_1.expect)(nextNext).to.eql(marker1);
107
- });
108
- it('returns markers in the order left-to-right, top-to-bottom with next()', () => {
109
- const marker1 = setIssues(elementTopLeft, [{ message: 'msg', severity: 'error' }]);
110
- const marker2 = setIssues(elementTopRight, [{ message: 'msg', severity: 'error' }]);
111
- const marker3 = setIssues(elementBottomLeft, [{ message: 'msg', severity: 'error' }]);
112
- const marker4 = setIssues(elementBottomRight, [{ message: 'msg', severity: 'error' }]);
113
- const found1 = markerNavigator.next(rootWithMarkers);
114
- const found2 = markerNavigator.next(rootWithMarkers, found1);
115
- const found3 = markerNavigator.next(rootWithMarkers, found2);
116
- const found4 = markerNavigator.next(rootWithMarkers, found3);
117
- const found5 = markerNavigator.next(rootWithMarkers, found4);
118
- (0, chai_1.expect)(found1).to.eql(marker1);
119
- (0, chai_1.expect)(found2).to.eql(marker2);
120
- (0, chai_1.expect)(found3).to.eql(marker3);
121
- (0, chai_1.expect)(found4).to.eql(marker4);
122
- (0, chai_1.expect)(found5).to.eql(marker1);
123
- });
124
- it('returns markers in the order left-to-right, top-to-bottom with previous()', () => {
125
- const marker1 = setIssues(elementTopLeft, [{ message: 'msg', severity: 'error' }]);
126
- const marker2 = setIssues(elementTopRight, [{ message: 'msg', severity: 'error' }]);
127
- const marker3 = setIssues(elementBottomLeft, [{ message: 'msg', severity: 'error' }]);
128
- const marker4 = setIssues(elementBottomRight, [{ message: 'msg', severity: 'error' }]);
129
- const found1 = markerNavigator.previous(rootWithMarkers);
130
- const found2 = markerNavigator.previous(rootWithMarkers, found1);
131
- const found3 = markerNavigator.previous(rootWithMarkers, found2);
132
- const found4 = markerNavigator.previous(rootWithMarkers, found3);
133
- const found5 = markerNavigator.previous(rootWithMarkers, found4);
134
- (0, chai_1.expect)(found1).to.eql(marker1);
135
- (0, chai_1.expect)(found2).to.eql(marker4);
136
- (0, chai_1.expect)(found3).to.eql(marker3);
137
- (0, chai_1.expect)(found4).to.eql(marker2);
138
- (0, chai_1.expect)(found5).to.eql(marker1);
139
- });
140
- });
141
- function clearMarker(elem) {
142
- elem.children.filter(isMarker).forEach(marker => elem.remove(marker));
143
- }
144
- function setIssues(elem, issues) {
145
- const marker = getOrCreateMarker(elem);
146
- marker.issues = issues;
147
- return marker;
148
- }
149
- function getOrCreateMarker(elem) {
150
- const marker = findMarker(elem);
151
- if (marker instanceof sprotty_1.SIssueMarker) {
152
- return marker;
153
- }
154
- return createMarker(elem);
155
- }
156
- function findMarker(elem) {
157
- return elem.children.find(isMarker);
158
- }
159
- function isMarker(element) {
160
- return element instanceof sprotty_1.SIssueMarker;
161
- }
162
- function createMarker(elem) {
163
- const newMarker = new sprotty_1.SIssueMarker();
164
- newMarker.type = 'marker';
165
- newMarker.id = `${elem.id}_marker`;
166
- elem.add(newMarker);
167
- return newMarker;
168
- }
169
- //# sourceMappingURL=marker-navigator.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"marker-navigator.spec.js","sourceRoot":"","sources":["../../../src/features/validation/marker-navigator.spec.ts"],"names":[],"mappings":"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"}