vis-react
Advanced tools
Comparing version 0.2.8 to 0.2.9
174
index.js
@@ -1,29 +0,78 @@ | ||
var React = require('react'); | ||
var defaultsDeep = require('lodash/fp/defaultsDeep') | ||
var isEqual = require('lodash/isEqual'); | ||
var differenceWith = require('lodash/differenceWith'); | ||
var vis = require('vis'); | ||
var uuid = require('uuid'); | ||
"use strict"; | ||
class Graph extends React.Component { | ||
constructor(props) { | ||
super(props); | ||
var identifier = props.identifier; | ||
this.updateGraph = this.updateGraph.bind(this); | ||
this.state = { | ||
identifier: identifier !== undefined ? identifier : uuid.v4() | ||
}; | ||
} | ||
componentDidMount() { | ||
this.edges = new vis.DataSet(); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
var _react = require("react"); | ||
var _react2 = _interopRequireDefault(_react); | ||
var _defaultsDeep = require("lodash/fp/defaultsDeep"); | ||
var _defaultsDeep2 = _interopRequireDefault(_defaultsDeep); | ||
var _isEqual = require("lodash/isEqual"); | ||
var _isEqual2 = _interopRequireDefault(_isEqual); | ||
var _differenceWith = require("lodash/differenceWith"); | ||
var _differenceWith2 = _interopRequireDefault(_differenceWith); | ||
var _vis = require("vis"); | ||
var _vis2 = _interopRequireDefault(_vis); | ||
var _uuid = require("uuid"); | ||
var _uuid2 = _interopRequireDefault(_uuid); | ||
var _propTypes = require("prop-types"); | ||
var _propTypes2 = _interopRequireDefault(_propTypes); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } | ||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } | ||
var Graph = function (_Component) { | ||
_inherits(Graph, _Component); | ||
function Graph(props) { | ||
_classCallCheck(this, Graph); | ||
var _this = _possibleConstructorReturn(this, (Graph.__proto__ || Object.getPrototypeOf(Graph)).call(this, props)); | ||
var identifier = props.identifier; | ||
_this.updateGraph = _this.updateGraph.bind(_this); | ||
_this.state = { | ||
identifier: identifier !== undefined ? identifier : _uuid2.default.v4() | ||
}; | ||
return _this; | ||
} | ||
_createClass(Graph, [{ | ||
key: "componentDidMount", | ||
value: function componentDidMount() { | ||
this.edges = new _vis2.default.DataSet(); | ||
this.edges.add(this.props.graph.edges); | ||
this.nodes = new vis.DataSet(); | ||
this.nodes = new _vis2.default.DataSet(); | ||
this.nodes.add(this.props.graph.nodes); | ||
this.updateGraph(); | ||
} | ||
shouldComponentUpdate(nextProps, nextState) { | ||
var nodesChange = !(isEqual)(this.props.graph.nodes, nextProps.graph.nodes); | ||
var edgesChange = !(isEqual)(this.props.graph.edges, nextProps.graph.edges); | ||
var optionsChange = !(isEqual)(this.props.options, nextProps.options); | ||
var eventsChange = !(isEqual)(this.props.events, nextProps.events); | ||
}, { | ||
key: "shouldComponentUpdate", | ||
value: function shouldComponentUpdate(nextProps, nextState) { | ||
var nodesChange = !(0, _isEqual2.default)(this.props.graph.nodes, nextProps.graph.nodes); | ||
var edgesChange = !(0, _isEqual2.default)(this.props.graph.edges, nextProps.graph.edges); | ||
var optionsChange = !(0, _isEqual2.default)(this.props.options, nextProps.options); | ||
var eventsChange = !(0, _isEqual2.default)(this.props.events, nextProps.events); | ||
@@ -34,15 +83,18 @@ if (nodesChange) { | ||
}; | ||
var nodesRemoved = (differenceWith)(this.props.graph.nodes, nextProps.graph.nodes, idIsEqual); | ||
var nodesAdded = (differenceWith)(nextProps.graph.nodes, this.props.graph.nodes, idIsEqual); | ||
var nodesChanged = (differenceWith)((differenceWith)(nextProps.graph.nodes, this.props.graph.nodes, isEqual), nodesAdded); | ||
var nodesRemoved = (0, _differenceWith2.default)(this.props.graph.nodes, nextProps.graph.nodes, idIsEqual); | ||
var nodesAdded = (0, _differenceWith2.default)(nextProps.graph.nodes, this.props.graph.nodes, idIsEqual); | ||
var nodesChanged = (0, _differenceWith2.default)((0, _differenceWith2.default)(nextProps.graph.nodes, this.props.graph.nodes, _isEqual2.default), nodesAdded); | ||
this.patchNodes({ nodesRemoved: nodesRemoved, nodesAdded: nodesAdded, nodesChanged: nodesChanged }); | ||
} | ||
if (edgesChange) { | ||
var edgesRemoved = (differenceWith)(this.props.graph.edges, nextProps.graph.edges, isEqual); | ||
var edgesAdded = (differenceWith)(nextProps.graph.edges, this.props.graph.edges, isEqual); | ||
var edgesRemoved = (0, _differenceWith2.default)(this.props.graph.edges, nextProps.graph.edges, _isEqual2.default); | ||
var edgesAdded = (0, _differenceWith2.default)(nextProps.graph.edges, this.props.graph.edges, _isEqual2.default); | ||
this.patchEdges({ edgesRemoved: edgesRemoved, edgesAdded: edgesAdded }); | ||
} | ||
if (optionsChange) { | ||
this.Network.setOptions(nextProps.options); | ||
} | ||
if (eventsChange) { | ||
@@ -57,3 +109,2 @@ var events = this.props.events || {}; | ||
var eventName = _step.value; | ||
this.Network.off(eventName, events[eventName]); | ||
@@ -75,2 +126,3 @@ } | ||
} | ||
events = nextProps.events || {}; | ||
@@ -84,3 +136,2 @@ var _iteratorNormalCompletion2 = true; | ||
var _eventName = _step2.value; | ||
this.Network.on(_eventName, events[_eventName]); | ||
@@ -103,8 +154,13 @@ } | ||
} | ||
return false; | ||
} | ||
componentDidUpdate() { | ||
}, { | ||
key: "componentDidUpdate", | ||
value: function componentDidUpdate() { | ||
this.updateGraph(); | ||
} | ||
patchEdges(_ref) { | ||
}, { | ||
key: "patchEdges", | ||
value: function patchEdges(_ref) { | ||
var edgesRemoved = _ref.edgesRemoved, | ||
@@ -116,6 +172,8 @@ edgesAdded = _ref.edgesAdded; | ||
} | ||
patchNodes(ref) { | ||
var nodesRemoved = ref.nodesRemoved, | ||
nodesAdded = ref.nodesAdded, | ||
nodesChanged = ref.nodesChanged; | ||
}, { | ||
key: "patchNodes", | ||
value: function patchNodes(_ref2) { | ||
var nodesRemoved = _ref2.nodesRemoved, | ||
nodesAdded = _ref2.nodesAdded, | ||
nodesChanged = _ref2.nodesChanged; | ||
@@ -126,3 +184,5 @@ this.nodes.remove(nodesRemoved); | ||
} | ||
updateGraph() { | ||
}, { | ||
key: "updateGraph", | ||
value: function updateGraph() { | ||
var container = document.getElementById(this.state.identifier); | ||
@@ -136,3 +196,3 @@ var defaultOptions = { | ||
smooth: false, | ||
color: '#000000', | ||
color: "#000000", | ||
width: 0.5, | ||
@@ -147,5 +207,7 @@ arrows: { | ||
}; | ||
// merge user provied options with our default ones | ||
var options = (defaultsDeep)(defaultOptions, this.props.options); | ||
this.Network = new vis.Network(container, Object.assign({}, this.props.graph, { | ||
var options = (0, _defaultsDeep2.default)(defaultOptions, this.props.options); | ||
this.Network = new _vis2.default.Network(container, Object.assign({}, this.props.graph, { | ||
edges: this.edges, | ||
@@ -158,2 +220,7 @@ nodes: this.nodes | ||
} | ||
if (this.props.getNodes) { | ||
this.props.getNodes(this.nodes); | ||
} | ||
// Add user provied events to network | ||
@@ -164,2 +231,3 @@ var events = this.props.events || {}; | ||
var _iteratorError3 = undefined; | ||
try { | ||
@@ -186,7 +254,9 @@ for (var _iterator3 = Object.keys(events)[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { | ||
} | ||
render() { | ||
}, { | ||
key: "render", | ||
value: function render() { | ||
var identifier = this.state.identifier; | ||
var style = this.props.style; | ||
return React.createElement('div', { | ||
return _react2.default.createElement("div", { | ||
id: identifier, | ||
@@ -196,4 +266,18 @@ style: style | ||
} | ||
} | ||
// export default Graph; | ||
module.exports = Graph; | ||
}]); | ||
return Graph; | ||
}(_react.Component); | ||
Graph.defaultProps = { | ||
graph: {}, | ||
style: { width: "100%", height: "100%" } | ||
}; | ||
Graph.propTypes = { | ||
graph: _propTypes2.default.object, | ||
style: _propTypes2.default.object, | ||
getNetwork: _propTypes2.default.func, | ||
getNodes: _propTypes2.default.func | ||
}; | ||
exports.default = Graph; |
@@ -5,8 +5,8 @@ { | ||
{ | ||
"raw": "vis-react@^0.2.8", | ||
"raw": "vis-react@^0.2.9", | ||
"scope": null, | ||
"escapedName": "vis-react", | ||
"name": "vis-react", | ||
"rawSpec": "^0.2.8", | ||
"spec": ">=0.2.8 <0.2.8", | ||
"rawSpec": "^0.2.9", | ||
"spec": ">=0.2.9 <0.2.9", | ||
"type": "range" | ||
@@ -17,4 +17,4 @@ }, | ||
], | ||
"_from": "vis-react@>=0.2.8 <0.2.8", | ||
"_id": "vis-react@0.2.8", | ||
"_from": "vis-react@>=0.2.9 <0.2.9", | ||
"_id": "vis-react@0.2.9", | ||
"_inCache": true, | ||
@@ -25,3 +25,3 @@ "_location": "/vis-react", | ||
"host": "s3://npm-registry-packages", | ||
"tmp": "tmp/vis-react-0.2.8.tgz_1496238181363_0.8129479601047933" | ||
"tmp": "tmp/vis-react-0.2.9.tgz_1496238181363_0.8129479601047933" | ||
}, | ||
@@ -35,8 +35,8 @@ "_npmUser": { | ||
"_requested": { | ||
"raw": "vis-react@^0.2.8", | ||
"raw": "vis-react@^0.2.9", | ||
"scope": null, | ||
"escapedName": "vis-react", | ||
"name": "vis-react", | ||
"rawSpec": "^0.2.8", | ||
"spec": ">=0.2.8 <0.2.8", | ||
"rawSpec": "^0.2.9", | ||
"spec": ">=0.2.9 <0.2.9", | ||
"type": "range" | ||
@@ -47,6 +47,6 @@ }, | ||
], | ||
"_resolved": "https://registry.npmjs.org/vis-react/-/vis-react-0.2.8.tgz", | ||
"_resolved": "https://registry.npmjs.org/vis-react/-/vis-react-0.2.9.tgz", | ||
"_shasum": "5c9afbdf12242ab499d8bd2fbfeeb1433c441fae", | ||
"_shrinkwrap": null, | ||
"_spec": "vis-react@^0.2.8", | ||
"_spec": "vis-react@^0.2.9", | ||
"_where": "/Users/ghost/Downloads/react-KT", | ||
@@ -75,3 +75,3 @@ "author": { | ||
"shasum": "5c9afbdf12242ab499d8bd2fbfeeb1433c441fae", | ||
"tarball": "https://registry.npmjs.org/vis-react/-/vis-react-0.2.8.tgz" | ||
"tarball": "https://registry.npmjs.org/vis-react/-/vis-react-0.2.9.tgz" | ||
}, | ||
@@ -107,3 +107,3 @@ "gitHead": "e037c5e7e6b3c84a55d1e13e7cd64e81ebf6e3b0", | ||
"scripts": {}, | ||
"version": "0.2.8" | ||
"version": "0.2.9" | ||
} |
14599
224