Skip to content

Commit 9c5a0a3

Browse files
authored
Merge pull request #261 from VEuPathDB/jb_ortho_layout
fix typo in score for ortho layout
2 parents c124190 + 06c2ebb commit 9c5a0a3

File tree

2 files changed

+54
-36
lines changed

2 files changed

+54
-36
lines changed

packages/sites/ortho-site/webapp/wdkCustomization/js/client/components/cluster-graph/ClusterGraphCanvas.tsx

+49-31
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
import React, { useCallback, useEffect, useRef } from 'react';
22

3-
import { Core,use } from 'cytoscape';
3+
import { Core, use } from 'cytoscape';
44
import produce from 'immer';
5-
import fcose from 'cytoscape-fcose';
5+
import cola from 'cytoscape-cola';
66
import CytoscapeComponent from 'react-cytoscapejs';
77

8-
use(fcose);
8+
use(cola);
99

1010
import { useCytoscapeConfig } from 'ortho-client/hooks/cytoscapeData';
1111
import {
1212
useEdgeMouseMovementEventHandlers,
1313
useNodeClickEventHandler,
1414
useNodeMouseMovementEventHandlers,
1515
useUpdateHighlightedEdge,
16-
useUpdateHighlightedNodes
16+
useUpdateHighlightedNodes,
1717
} from 'ortho-client/hooks/cytoscapeEventHandlers';
1818

1919
import {
2020
EdgeType,
2121
NodeDisplayType,
22-
ProteinType
22+
ProteinType,
2323
} from 'ortho-client/utils/clusterGraph';
2424
import {
2525
addCytoscapeClass,
26-
removeCytoscapeClass
26+
removeCytoscapeClass,
2727
} from 'ortho-client/utils/cytoscapeClasses';
2828
import { GroupLayout } from 'ortho-client/utils/groupLayout';
2929
import { TaxonUiMetadata } from 'ortho-client/utils/taxons';
@@ -55,88 +55,106 @@ export function ClusterGraphCanvas({
5555
highlightedLegendNodeIds,
5656
highlightedSequenceNodeId,
5757
highlightedBlastEdgeId,
58-
onClickNode
58+
onClickNode,
5959
}: Props) {
6060
const cyRef = useRef<Core>();
61-
const [ cytoscapeConfig, setCytoscapeConfig ] = useCytoscapeConfig(
61+
const [cytoscapeConfig, setCytoscapeConfig] = useCytoscapeConfig(
6262
layout,
6363
corePeripheralMap,
6464
taxonUiMetadata,
6565
selectedNodeDisplayType
6666
);
6767

68-
const updateHighlightedNodes = useUpdateHighlightedNodes(cytoscapeConfig, setCytoscapeConfig);
69-
const updateHighlightedEdge = useUpdateHighlightedEdge(cyRef.current, cytoscapeConfig, setCytoscapeConfig);
68+
const updateHighlightedNodes = useUpdateHighlightedNodes(
69+
cytoscapeConfig,
70+
setCytoscapeConfig
71+
);
72+
const updateHighlightedEdge = useUpdateHighlightedEdge(
73+
cyRef.current,
74+
cytoscapeConfig,
75+
setCytoscapeConfig
76+
);
7077

7178
const onMouseLeaveCanvas = useCallback(() => {
7279
updateHighlightedNodes([]);
7380
updateHighlightedEdge(undefined);
74-
}, [ updateHighlightedNodes, updateHighlightedEdge ]);
81+
}, [updateHighlightedNodes, updateHighlightedEdge]);
7582

7683
useEffect(() => {
77-
const newConfig = produce(cytoscapeConfig, draftConfig => {
78-
draftConfig.elements.forEach(element => {
84+
const newConfig = produce(cytoscapeConfig, (draftConfig) => {
85+
draftConfig.elements.forEach((element) => {
7986
if (element.group === 'nodes') {
8087
element.classes = selectedNodeDisplayType;
8188
}
8289
});
8390
});
8491

8592
setCytoscapeConfig(newConfig);
86-
}, [ selectedNodeDisplayType ]);
93+
}, [selectedNodeDisplayType]);
8794

8895
useEffect(() => {
89-
const newConfig = produce(cytoscapeConfig, draftConfig => {
96+
const newConfig = produce(cytoscapeConfig, (draftConfig) => {
9097
const maxEValue = parseFloat(`1e${eValueExp}`);
9198

92-
draftConfig.elements.forEach(element => {
99+
draftConfig.elements.forEach((element) => {
93100
if (element.group === 'edges') {
94101
if (
95102
!selectedEdgeTypes[element.data.type as EdgeType] ||
96103
element.data.eValue > maxEValue
97104
) {
98-
element.classes = addCytoscapeClass(element.classes, 'filtered-out');
105+
element.classes = addCytoscapeClass(
106+
element.classes,
107+
'filtered-out'
108+
);
99109
} else {
100-
element.classes = removeCytoscapeClass(element.classes, 'filtered-out');
110+
element.classes = removeCytoscapeClass(
111+
element.classes,
112+
'filtered-out'
113+
);
101114
}
102115
}
103116
});
104117
});
105118

106119
setCytoscapeConfig(newConfig);
107-
}, [ eValueExp, selectedEdgeTypes ]);
120+
}, [eValueExp, selectedEdgeTypes]);
108121

109122
useEffect(() => {
110123
updateHighlightedNodes(highlightedLegendNodeIds);
111-
}, [ highlightedLegendNodeIds ]);
124+
}, [highlightedLegendNodeIds]);
112125

113126
useEffect(() => {
114-
const newHighlightedNodeIds = highlightedSequenceNodeId == null
115-
? [ ]
116-
: [ highlightedSequenceNodeId ];
127+
const newHighlightedNodeIds =
128+
highlightedSequenceNodeId == null ? [] : [highlightedSequenceNodeId];
117129

118130
updateHighlightedNodes(newHighlightedNodeIds);
119-
}, [ highlightedSequenceNodeId ]);
131+
}, [highlightedSequenceNodeId]);
120132

121133
useEffect(() => {
122134
updateHighlightedEdge(highlightedBlastEdgeId);
123-
}, [ highlightedBlastEdgeId ]);
135+
}, [highlightedBlastEdgeId]);
124136

125137
useEffect(() => {
126-
const newConfig = produce(cytoscapeConfig, draftConfig => {
127-
draftConfig.elements.forEach(element => {
138+
const newConfig = produce(cytoscapeConfig, (draftConfig) => {
139+
draftConfig.elements.forEach((element) => {
128140
if (element.group === 'edges' && element.data.type != null) {
129141
if (element.data.type === highlightedEdgeType) {
130-
element.classes = addCytoscapeClass(element.classes, 'type-highlighted');
142+
element.classes = addCytoscapeClass(
143+
element.classes,
144+
'type-highlighted'
145+
);
131146
} else {
132-
element.classes = removeCytoscapeClass(element.classes, 'type-highlighted');
147+
element.classes = removeCytoscapeClass(
148+
element.classes,
149+
'type-highlighted'
150+
);
133151
}
134152
}
135153
});
136154
});
137155

138156
setCytoscapeConfig(newConfig);
139-
}, [ highlightedEdgeType ]);
157+
}, [highlightedEdgeType]);
140158

141159
useNodeClickEventHandler(cyRef, onClickNode);
142160

@@ -151,7 +169,7 @@ export function ClusterGraphCanvas({
151169
>
152170
<CytoscapeComponent
153171
className="ClusterGraphCanvas"
154-
cy={cy => {
172+
cy={(cy) => {
155173
cyRef.current = cy;
156174
}}
157175
{...cytoscapeConfig}

packages/sites/ortho-site/webapp/wdkCustomization/js/client/hooks/cytoscapeData.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,13 @@ export function useCytoscapeConfig(
6868
elements,
6969
stylesheet,
7070
layout: {
71-
name: 'fcose',
71+
name: 'cola',
7272
animate: false,
73-
idealEdgeLength: function (edge) {
74-
if (edge.data.score) {
75-
return edge.data.score + 500;
73+
edgeLength: function (edge) {
74+
if (edge.data('score')) {
75+
return edge.data('score') + 500;
7676
}
77-
return 600;
77+
return 700;
7878
},
7979
},
8080
panningEnabled: true,

0 commit comments

Comments
 (0)