diff --git a/addon/components/visjs-edge.js b/addon/components/visjs-edge.js index 144c93d..2248879 100644 --- a/addon/components/visjs-edge.js +++ b/addon/components/visjs-edge.js @@ -24,6 +24,32 @@ export default VisJsChild.extend({ return `${this.get('from')}-${this.get('to')}`; }), + /** + * @public + * + * If set this defines edge's weight (thickness). + * @type {Number} + */ + value: undefined, + + valueChanged: Ember.observer('value', function() { + let container = this.get('containerLayer'); + container.updateEdgeValue(this.get('eId'), this.get('value')); + }), + + /** + * @public + * + * If set this defines edge's color + * @type {Int} + */ + color: undefined, + + colorChanged: Ember.observer('color', function() { + let container = this.get('containerLayer'); + container.updateEdgeColor(this.get('eId'), this.get('color')); + }), + arrowChanged: Ember.observer('arrows', function() { let container = this.get('containerLayer'); container.updateEdgeArrow(this.get('eId'), this.get('arrows')); diff --git a/addon/components/visjs-network.js b/addon/components/visjs-network.js index 8714829..6c32b45 100644 --- a/addon/components/visjs-network.js +++ b/addon/components/visjs-network.js @@ -16,7 +16,7 @@ export default Ember.Component.extend(ContainerMixin, { this._super(...arguments); this.set('nodes', new vis.DataSet([])); - this.set('edges', new vis.DataSet([])); + this.set('edges', new vis.DataSet(this.get('edgesSet'))); }, didInsertElement() { @@ -32,6 +32,13 @@ export default Ember.Component.extend(ContainerMixin, { options ); + if(this.get('nodesSet') && this.get('edgesSet')) { + network.setData({ + nodes: this.get('nodesSet'), + edges: this.get('edgesSet') + }); + } + let _this = this; network.on('selectNode', (e) => { @@ -170,6 +177,10 @@ export default Ember.Component.extend(ContainerMixin, { simplifiedNode.y = node.get('posY'); } + if (node.get('value') || node.get('value') === 0) { + simplifiedNode.value = node.get('value'); + } + if (node.get('image')) { simplifiedNode.shape = 'image'; simplifiedNode.image = node.get('image'); @@ -186,6 +197,14 @@ export default Ember.Component.extend(ContainerMixin, { simplifiedEdge.arrows = edge.get('arrows'); } + if (edge.get('value')) { + simplifiedEdge.value = edge.get('value'); + } + + if (edge.get('color')) { + simplifiedEdge.color = edge.get('color'); + } + edges.add(simplifiedEdge); }, diff --git a/addon/components/visjs-node.js b/addon/components/visjs-node.js index 1e3d64f..91dbc14 100644 --- a/addon/components/visjs-node.js +++ b/addon/components/visjs-node.js @@ -52,6 +52,19 @@ export default VisJsChild.extend({ imageChanged: Ember.observer('image', function() { let container = this.get('containerLayer'); container.updateNodeImage(this.get('nId'), this.get('image')); + }), + + /** + * @public + * + * If set, a value would be set to alter node's size + * @type {Number} + */ + value: false, + + valueChanged: Ember.observer('value', function() { + let container = this.get('containerLayer'); + container.updateNodeValue(this.get('nId'), this.get('value')); }) });