* Add arrowhead support
As described in TODO, dotparser.js does not support 'arrowhead'
attribubte of edge.
This update is for adding 'dot' and 'tee'(bar) styles.
* Add example for arrow styles
* Add box arrowhead
To support box arrowhead of graphviz, add Box endpoint class in
EndPoints.js and box attribute in dotparser.js.
* Add diamond arrowhead
To support diamond arrowhead of graphviz, add Diamond endpoint
class in EndPoints.js and diamond attribute in dotparser.js.
* Add crow arrowhead
To support crow arrowhead of graphviz, add Crow endpoint
class in EndPoints.js and crow attribute in dotparser.js.
* Add normal arrowhead
To support normal arrowhead of graphviz, add Triangle endpoint
class in EndPoints.js and normal attribute in dotparser.js.
* Add curve arrowhead
To support curve arrowhead of graphviz, add Curve endpoint
class in EndPoints.js and curve attribute in dotparser.js.
* Add inverted curve arrowhead
To support inverted curve arrowhead of graphviz, add InvertedCurve
endpoint class in EndPoints.js and icurve attribute in
dotparser.js.
* Add vee arrowhead
To support vee arrowhead of graphviz, add Vee endpoint class in
EndPoints.js and vee attribute in dotparser.js.
* Add arrowhead examples
* Fix bug for accessing null attribute
In createEdge(), accessing 'attr' causes an error if the edge has no
attribute and the value is null.
This update fixes bug for accessing null 'attr'.
* Update description for arrows.to.type option
Add followingn options for 'arrows.to.type'.
* box
* crow
* curve
* diamond
* inv_curve
* triangle
* inv_triangle
* vee
* Update edgeStyle example for arrow types
Add arrow types for the example.
'box', 'crow', 'curve', 'inv_curve', 'diamond', 'triangle',
'inv_triangle', 'vee'
* Small refactoring in Label._drawBackground()
* Added size calculation to Label, basic framework for detecting click on label.
* First fully working version of label click.
* Put in extra checks, refactored visibility of labels for more general usage.
* Final fixes to code; added to example and in docs
* Adressed review comments
* Add next attempt to fix Travis unit test bug
* Addressed review issues
* Add endpoint 'bar' to Network
Fixes#3412
- Adds class `Bar` and handling to `EndPoints.js`
- Adjusted `options.js` for endpoint, minor code changes
- Added to example `network/edgeTypes/arrowTypes`.
- Added to edges documentation
* Grumbl fix travis unit test yet again. Go die already!
* Add support for edge style
* Update for TODO: support of solid/dotted/dashed edges (attr = 'style')
* Edge styles are defined as var edgeStyles in parseAttributeList().
* Add example for edge styles
Add an editable example for playing DOT edge styles
* Correct typo and remove TODO description
* Correct typo of filename from 'dotEdgeSytles.html' to
'dotEdgeStyles.html'.
* Remove TODO description of the issue for edge style
* First working version of updating clustered edge
* Added fix for #1315 as well
* Enable unit testing for module Network
Adds mocks for certain components, in order to let module `Network` be run in unit tests.
Changes:
- Create a mock object for `hammer.js` when running browserless. The inspiration is taken from [here](https://github.com/uber/deck.gl/pull/658)
- Create a mock function for `window.requestAnimationFrame()` when running browserless in `network/modules/CanvasRenderer.js`
- Added unit test for `Network` to show that unit testing for it now works
- Fixed naming of container in `test/Graph3d.test.js`
Since `hammer.js` is also used in other modules, this fix is potentially an enabler for full-module unit tests for those as well.
* Cleanup unit test Network
* Added unit test for fix issue #1218
* Adding test for #1315 - Interim save
* Completed unit test and fixes for #1315
* Added fixes for #1291
* Added unit test for #1219
* Added header comment for Clustering.js, small fixes
* Fix for unit test
* Added example networks to unit test
* Fix error in loading disassemblerExample
* Network unit test final fixes
* Fixes for linting
* Fixed essential typo
* Fixed linting error
* Fixed unit test
* Fixed unit test again
* First interim commit
* Fixes during testing
* Allow multiple edges to be hidden by a clustered edge.
Fix for #3245.
This fix adjusts the clustering edges so that theyi can refer to multiple edges instead of just one.
This API method is now insufficient, since multiple base edges can be returned.
- Added replacing method `clustering.getBaseEdges()`
- Adjusted example `changingClusteredEdgeNodes` for the new method. This is the *only* place where `getBaseEdge()` was used
- Adjusted documentation for new method and deprecation old method.
Method `getbaseEdge()` should now be considered `deprecated`, and in due time should be removed.
* Edits of method name in example
* Edits of method name in example
* adjusted deprecation method getBaseEdge() in docs
* Adjusted deprecation method for getBaseEdge() in docs
Fix for #2856
- Toolbar gets reshown when cancelling edit node dialog
- No shadow displayed upon save in edit node dialog
The latter is actually a more general problem. Function `mergeOptions` in `util.js`
made an assumption as to the correct value of field `enabled`. It now takes the value
from `globalOptions`, if present.
* Network: use separate refresh indicator in NodeBase, instead of width parameter
* Added usage of iBaseNode.doRefresh to image shapes.
* Rearranged code in NodeBase.needRefresh()
* Fixes for review
* Removed strange link
* Added 's' in needsRefresh(); typo fix
* Fixes for review, code cleanup
* Modified ratio calc to original working.
* Made code in CircularImage.resize() more sensible.
* Improve the performance of the network layout engine
Short-cut the execution of a number of methods in LayoutEngine to make them
handle highly-connected graphs better.
* Demonstrations of layouts of large networks
* maximum width constraints must be violated by long words. Fixes#2604.
* chore: moved examples/network/_tests/maximumWidthEdgeCase.html to test/network/
* self reference edge should now appear in all cases
* add checks for shape width being NaN to get correct circle data
* reorder resize arguments in Diamond, Dot and Star
* element characteristic changes
* assume edge color inheritance is correct before choosing
* Adjust nodes’ chosen’s boolean -> bool
* Need to get user-reset size
* make example edges thicker for more noticeable shadow
* preemptive ES6 fix (see #2500/#2501)
* documentation for the feature that was previously overwritten
* { manipulation: { editEdge: { editWithoutDrag: function } } } edits an edge without dragging.
* An example of editing network edges without dragging, enabling label creation / change
* Removed restriction to allow clusters of a single node; Default functionality remains the same; Also added new example
* Add documentation for allowSingleNodeCluster, and removed excessive cluster() calls in example.
* Changed documentation as per request.
Networks are exported as a JSON array containing an array of objects representing each node in the network. Each node contains an Id, it's x and y coordinates and the nodes it is connected to.
Import converts the JSON to a vis DataSet and then regenerates the network using each node's attributes, inserting it in the same coordinates and with the same number of connections as before.
fixes#2073
* generate individual css files; fixes#1969
* simplified css bundleing
* add new generated dist-css files
* use chart specific css files in the examples
* Added getBaseEdge, getClusteredEdges updateEdge and updateClusteredNode to allow option changes of the clustered edges as they are no longer the original base Edge
changing edge color is a good example.
i.e network.clustering.updateEdge(originalEdge.id, {color : '#aa0000'});
will now update all edges including the ones that were created when clustering.
Also when clicking on a clustered edge the event returns the clustered Edge id, which doesn't mean a lot.
This can be now converted back into the original edge with
network.clustering.getBaseEdge(clusteredEdge.id)
Similar with updateClusteredNode
This new method allows the options to be changed on a clustered Node.
i.e clicking on a clustered node gives its clustered node id.
Want to change the clustered image to a star then do this
network.clustering.updateClusteredNode(clusteredNodeId, {shape : 'star'});
* Updated docs with getClusteredEdge, getBaseEdge, updateEdge and updateClusteredNode
Also added method subsections into contents
* Added better error handling to updateEdge and updateClusteredNodes
corrected errors spotted by @mojoaxel
* Added example html demonstrating getBaseEdge, getClusteredEdges updateEdge and updateClusteredNode
* Added getBaseEdge, getClusteredEdges updateEdge and updateClusteredNode to allow option changes of the clustered edges as they are no longer the original base Edge
changing edge color is a good example.
i.e network.clustering.updateEdge(originalEdge.id, {color : '#aa0000'});
will now update all edges including the ones that were created when clustering.
Also when clicking on a clustered edge the event returns the clustered Edge id, which doesn't mean a lot.
This can be now converted back into the original edge with
network.clustering.getBaseEdge(clusteredEdge.id)
Similar with updateClusteredNode
This new method allows the options to be changed on a clustered Node.
i.e clicking on a clustered node gives its clustered node id.
Want to change the clustered image to a star then do this
network.clustering.updateClusteredNode(clusteredNodeId, {shape : 'star'});
* Updated docs with getClusteredEdge, getBaseEdge, updateEdge and updateClusteredNode
Also added method subsections into contents
* Added better error handling to updateEdge and updateClusteredNodes
corrected errors spotted by @mojoaxel
* Added example html demonstrating getBaseEdge, getClusteredEdges updateEdge and updateClusteredNode