Skip to content

Commit 7363f03

Browse files
authored
[ML][APM] Fix Cytoscape listener typing, Update Cytoscape versions (#205726)
## Summary Updates Cytoscape to newer versions, requiring one change with some `removeListener` usage no longer being valid typing. Supersedes #205444 ## How to test - Passes CI with no type errors or failed CI jobs for ML - Job Map or wherever cytoscape is being used on ML doesn't leak event listeners. - Usages in APM also do not break.
1 parent 3d9f34c commit 7363f03

File tree

7 files changed

+26
-39
lines changed

7 files changed

+26
-39
lines changed

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1117,8 +1117,8 @@
11171117
"css-box-model": "^1.2.1",
11181118
"css.escape": "^1.5.1",
11191119
"cypress-data-session": "^2.8.0",
1120-
"cytoscape": "^3.10.0",
1121-
"cytoscape-dagre": "^2.2.2",
1120+
"cytoscape": "^3.30.4",
1121+
"cytoscape-dagre": "^2.5.0",
11221122
"d3": "3.5.17",
11231123
"d3-array": "2.12.1",
11241124
"d3-brush": "^3.0.0",
@@ -1569,7 +1569,7 @@
15691569
"@types/cli-progress": "^3.11.5",
15701570
"@types/color": "^3.0.3",
15711571
"@types/cssstyle": "^2.2.4",
1572-
"@types/cytoscape": "^3.14.0",
1572+
"@types/cytoscape": "^3.21.8",
15731573
"@types/d3": "^3.5.43",
15741574
"@types/d3-array": "^2.12.1",
15751575
"@types/d3-brush": "^3.0.0",

x-pack/platform/plugins/shared/ml/public/application/data_frame_analytics/pages/job_map/components/cytoscape.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ export function Cytoscape({
108108

109109
return () => {
110110
if (cy) {
111-
cy.removeListener('data', undefined, dataHandler as cytoscape.EventHandler);
111+
cy.removeListener('data', dataHandler);
112112
}
113113
};
114114
// eslint-disable-next-line react-hooks/exhaustive-deps

x-pack/solutions/observability/plugins/apm/public/components/app/service_map/controls.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ function useDebugDownloadUrl(cy?: cytoscape.Core) {
8585

8686
return () => {
8787
if (cy) {
88-
cy.off('add remove', undefined, elementsHandler);
88+
cy.off('add remove', elementsHandler);
8989
}
9090
};
9191
}, [cy, debug]);
@@ -130,7 +130,7 @@ export function Controls() {
130130

131131
return () => {
132132
if (cy) {
133-
cy.off('zoom', undefined, zoomHandler);
133+
cy.off('zoom', zoomHandler);
134134
}
135135
};
136136
}, [cy]);

x-pack/solutions/observability/plugins/apm/public/components/app/service_map/cytoscape_options.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,15 +178,12 @@ const getStyle = (
178178
'source-arrow-shape': isIE11 ? 'none' : 'triangle',
179179
'source-arrow-color': lineColor,
180180
'target-arrow-shape': isIE11 ? 'none' : 'triangle',
181-
// @ts-expect-error
182181
'source-distance-from-node': isIE11 ? undefined : parseInt(euiTheme.size.xs, 10),
183182
'target-distance-from-node': isIE11 ? undefined : parseInt(euiTheme.size.xs, 10),
184183
},
185184
},
186185
{
187186
selector: 'edge[isInverseEdge]',
188-
// @ts-expect-error DefinitelyTyped says visibility is "none" but it's
189-
// actually "hidden"
190187
style: { visibility: 'hidden' },
191188
},
192189
{

x-pack/solutions/observability/plugins/apm/public/components/app/service_map/popover/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ export function Popover({ focusedServiceName, environment, kuery, start, end }:
136136
if (cy) {
137137
cy.removeListener('select', 'node', selectHandler);
138138
cy.removeListener('unselect', 'node', deselect);
139-
cy.removeListener('viewport', undefined, deselect);
139+
cy.removeListener('viewport', deselect);
140140
cy.removeListener('drag', 'node', deselect);
141141
cy.removeListener('select', 'edge', selectHandler);
142142
cy.removeListener('unselect', 'edge', deselect);

x-pack/solutions/observability/plugins/apm/public/components/app/service_map/use_cytoscape_event_handlers.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ function getLayoutOptions({
4949

5050
return {
5151
animationDuration: animationOptions.duration,
52-
// @ts-expect-error upgrade typescript v5.1.6
5352
animationEasing: animationOptions.easing,
5453
fit,
5554
name: 'dagre',
@@ -61,7 +60,7 @@ function getLayoutOptions({
6160
rankSep: 128,
6261
rankDir: 'LR',
6362
ranker: 'network-simplex',
64-
};
63+
} as cytoscape.LayoutOptions;
6564
}
6665

6766
function setCursor(cursor: string, event: cytoscape.EventObjectCore) {
@@ -201,19 +200,18 @@ export function useCytoscapeEventHandlers({
201200
if (cy) {
202201
cy.removeListener(
203202
'custom:data drag dragfree layoutstop select tapstart tapend unselect',
204-
undefined,
205203
debugHandler
206204
);
207-
cy.removeListener('custom:data', undefined, dataHandler);
208-
cy.removeListener('layoutstop', undefined, layoutstopHandler);
205+
cy.removeListener('custom:data', dataHandler);
206+
cy.removeListener('layoutstop', layoutstopHandler);
209207
cy.removeListener('mouseover', 'edge, node', mouseoverHandler);
210208
cy.removeListener('mouseout', 'edge, node', mouseoutHandler);
211209
cy.removeListener('select', 'node', selectHandler);
212210
cy.removeListener('unselect', 'node', unselectHandler);
213211
cy.removeListener('drag', 'node', dragHandler);
214212
cy.removeListener('dragfree', 'node', dragfreeHandler);
215-
cy.removeListener('tapstart', undefined, tapstartHandler);
216-
cy.removeListener('tapend', undefined, tapendHandler);
213+
cy.removeListener('tapstart', tapstartHandler);
214+
cy.removeListener('tapend', tapendHandler);
217215
}
218216
};
219217
}, [cy, serviceName, trackApmEvent, euiTheme]);

yarn.lock

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11394,10 +11394,10 @@
1139411394
resolved "https://registry.yarnpkg.com/@types/cssstyle/-/cssstyle-2.2.4.tgz#3d333ab9f8e6c40183ad1d6ebeebfcb8da2bfe4b"
1139511395
integrity sha512-FTGMeuHZtLB7hRm+NGvOLZElslR1UkKvZmEmFevOZe/e7Av0nFleka1s8ZwoX+QvbJ2y7r9NDZXIzyqpRWDJXQ==
1139611396

11397-
"@types/cytoscape@^3.14.0":
11398-
version "3.14.0"
11399-
resolved "https://registry.yarnpkg.com/@types/cytoscape/-/cytoscape-3.14.0.tgz#346b5430a7a1533784bcf44fcbe6c5255b948d36"
11400-
integrity sha512-qOhhZFGb35457vmCu9YHqwjqleraSAEikaIFmMUPWzTC7FrwkS7VR/6ymqRHW7Z8wivHuzsZDYCoePIepd69qg==
11397+
"@types/cytoscape@^3.21.8":
11398+
version "3.21.8"
11399+
resolved "https://registry.yarnpkg.com/@types/cytoscape/-/cytoscape-3.21.8.tgz#6166a2eabd66d3ae3259024875e037492adb8db6"
11400+
integrity sha512-6Bo9ZDrv0vfwe8Sg/ERc5VL0yU0gYvP4dgZi0fAXYkKHfyHaNqWRMcwYm3mu4sLsXbB8ZuXE75sR7qnaOL5JgQ==
1140111401

1140211402
"@types/d3-array@^2.12.1":
1140311403
version "2.12.3"
@@ -16517,20 +16517,17 @@ [email protected]:
1651716517
untildify "^4.0.0"
1651816518
yauzl "^2.10.0"
1651916519

16520-
cytoscape-dagre@^2.2.2:
16521-
version "2.2.2"
16522-
resolved "https://registry.yarnpkg.com/cytoscape-dagre/-/cytoscape-dagre-2.2.2.tgz#5f32a85c0ba835f167efee531df9e89ac58ff411"
16523-
integrity sha512-zsg36qNwua/L2stJSWkcbSDcvW3E6VZf6KRe6aLnQJxuXuz89tMqI5EVYVKEcNBgzTEzFMFv0PE3T0nD4m6VDw==
16520+
cytoscape-dagre@^2.5.0:
16521+
version "2.5.0"
16522+
resolved "https://registry.yarnpkg.com/cytoscape-dagre/-/cytoscape-dagre-2.5.0.tgz#47d9835ab64dd0b596d9c94731f070282f82fc5a"
16523+
integrity sha512-VG2Knemmshop4kh5fpLO27rYcyUaaDkRw+6PiX4bstpB+QFt0p2oauMrsjVbUamGWQ6YNavh7x2em2uZlzV44g==
1652416524
dependencies:
16525-
dagre "^0.8.2"
16525+
dagre "^0.8.5"
1652616526

16527-
cytoscape@^3.10.0:
16528-
version "3.10.0"
16529-
resolved "https://registry.yarnpkg.com/cytoscape/-/cytoscape-3.10.0.tgz#3b462e0d35121ecd2d2702f470915fd6dae01777"
16530-
integrity sha512-lWOnG4HJQD0cy+tCiBmbV/QRknInuZ8HvjcUifQZ7E4LWmKMvl6d5eP0LaaRLfBJAplXWcJfwc17ZJ/nwPeaYg==
16531-
dependencies:
16532-
heap "^0.2.6"
16533-
lodash.debounce "^4.0.8"
16527+
cytoscape@^3.30.4:
16528+
version "3.30.4"
16529+
resolved "https://registry.yarnpkg.com/cytoscape/-/cytoscape-3.30.4.tgz#3404da0a159c00a1a3df2c85b2b43fdc66a0e28e"
16530+
integrity sha512-OxtlZwQl1WbwMmLiyPSEBuzeTIQnwZhJYYWFzZ2PhEHVFwpeaqNIkUzSiso00D98qk60l8Gwon2RP304d3BJ1A==
1653416531

1653516532
"d3-array@1 - 3", "d3-array@2 - 3", "[email protected] - 3", "[email protected] - 3", [email protected], d3-array@^3.2.2:
1653616533
version "3.2.2"
@@ -16796,7 +16793,7 @@ d@1, d@^1.0.1, d@^1.0.2:
1679616793
es5-ext "^0.10.64"
1679716794
type "^2.7.2"
1679816795

16799-
dagre@^0.8.2:
16796+
dagre@^0.8.5:
1680016797
version "0.8.5"
1680116798
resolved "https://registry.yarnpkg.com/dagre/-/dagre-0.8.5.tgz#ba30b0055dac12b6c1fcc247817442777d06afee"
1680216799
integrity sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==
@@ -20705,11 +20702,6 @@ headers-polyfill@^4.0.2:
2070520702
resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-4.0.3.tgz#922a0155de30ecc1f785bcf04be77844ca95ad07"
2070620703
integrity sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==
2070720704

20708-
heap@^0.2.6:
20709-
version "0.2.6"
20710-
resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac"
20711-
integrity sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=
20712-
2071320705
hexoid@^2.0.0:
2071420706
version "2.0.0"
2071520707
resolved "https://registry.yarnpkg.com/hexoid/-/hexoid-2.0.0.tgz#fb36c740ebbf364403fa1ec0c7efd268460ec5b9"

0 commit comments

Comments
 (0)