This is an api extension for collection, you can use it to get all possible paths pointed by the arrows (demo)
- Cytoscape.js ^3.2.0
Download the library:
- via npm:
npm install cytoscape-all-paths
, - via direct download in the repository (probably from a tag).
Import the library as appropriate for your project:
ES import:
import cytoscape from 'cytoscape';
import cytoscapeAllPaths from 'cytoscape-all-paths';
cytoscape.use( cytoscapeAllPaths );
CommonJS require:
let cytoscape = require('cytoscape');
let cytoscapeAllPaths = require('cytoscape-all-paths');
cytoscape.use( cytoscapeAllPaths ); // register extension
AMD:
require(['cytoscape', 'cytoscape-all-paths'], function( cytoscape, cytoscapeAllPaths ){
cytoscapeAllPaths( cytoscape ); // register extension
});
Plain HTML/JS has the extension registered for you automatically, because no require()
is needed.
cy.elements().cytoscapeAllPaths(options)
Return all paths, data format is: [ [ node, edge, node, edge, ... ], ... ]
options
- maxPaths: limit the maximum number of paths. default is -1, means unlimited
- rootIds: manually specify the root(s). if it is empty, will automatically calculate
npm run test
: Run Mocha tests in./test
npm run build
: Build./src/**
intocytoscape-all-paths.js
npm run watch
: Automatically build on changes with live reloading (N.b. you must already have an HTTP server running)npm run dev
: Automatically build on changes with live reloading with webpack dev servernpm run lint
: Run eslint on the source
N.b. all builds use babel, so modern ES features can be used in the src
.
This project is set up to automatically be published to npm and bower. To publish:
- Build the extension :
npm run build:release
- Commit the build :
git commit -am "Build for release"
- Bump the version number and tag:
npm version major|minor|patch
- Push to origin:
git push && git push --tags
- Publish to npm:
npm publish .
- Make a new release for Zenodo.