cy-network
Version:
Simple network viewer widget based on Cytoscape.js and React.js.
61 lines (48 loc) • 1.37 kB
JSX
import React from "react";
import { connect } from 'react-redux';
import CytoscapeRenderer from "./components/CytoscapeRenderer.jsx"
import { fetchNetwork, cyjsSelected } from "./state/actions/GraphAction.jsx"
class NetworkWidget extends React.Component {
componentDidMount() {
// Fetch Cytoscape.js JSON from remote resource.
this.props.fetchNetwork(this.props.networkLocation);
}
render() {
const {cyjsSelected, selected, graph, width, height, background, ...props} = this.props;
const style = {
width: width,
height: height,
background: background
}
return (
<div>
<CytoscapeRenderer
graph={graph}
style={style}
selected={selected}
cyjsSelected={cyjsSelected}
/>
</div>
)
}
}
function mapDispatchToProps(dispatch) {
return {
cyjsSelected: (selected) => dispatch(cyjsSelected(selected)),
fetchNetwork: (networkLocation) => dispatch(fetchNetwork(networkLocation))
}
}
function mapStateToProps(state) {
console.log("--- STATE to PROPS ---")
console.log(state)
return {
graph: state.networkWidget.graph,
//style: state.networkWidget.style,
selected: state.networkWidget.selected,
graphUrl: state.networkWidget.graphUrl
}
}
export default connect(
mapStateToProps,
mapDispatchToProps
)(NetworkWidget)