-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathGraphWrapper.js
More file actions
37 lines (35 loc) · 1.2 KB
/
Copy pathGraphWrapper.js
File metadata and controls
37 lines (35 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import React from 'react';
import PropTypes from 'prop-types';
import Graph from '../components/Graph';
import LegendOverlay from '../components/LegendOverlay';
import styles from './GraphWrapper.module.scss';
export function GraphWrapper(props) {
const {
nodes, groupLevel, filters, forceRenderId, actions, neighbourLevel,
} = props;
return <div className={styles.GraphContainer}>
<Graph
nodes={nodes}
groupLevel={groupLevel}
filters={filters}
forceRenderId={forceRenderId}
/>
{Object.keys(nodes).length === 0
&& (<div className={styles.warningMessageFilters}>
<p>No results, too many filters applied</p>
</div>)}
<LegendOverlay actions={actions} neighbourLevel={Number(neighbourLevel)} />
</div>;
}
GraphWrapper.propTypes = {
nodes: PropTypes.instanceOf(Object).isRequired,
filters: PropTypes.instanceOf(Object),
groupLevel: PropTypes.string,
forceRenderId: PropTypes.number,
neighbourLevel: PropTypes.number,
actions: PropTypes.shape({
handleFilterChange: PropTypes.func,
setGroupLevel: PropTypes.func,
setNeighbourLevel: PropTypes.func,
}),
};