Guide

Installation

with yarn

yarn add vue-cytoscape

with npm

npm install --save vue-cytoscape

You don't need to install cytoscape, it will be installed for you.

Usage

vue-cytoscape is distributed as a vue Vue plugin. To use it, import the plugin in your main Vue instance:

import VueCytoscape from 'vue-cytoscape'
...
Vue.use(VueCytoscape)

After this, you use cytoscape as a normal vue component:

<cytoscape ref="cy" :config="config" v-on:mousedown="addNode" v-on:cxttapstart="updateNode">
  <cy-element
    v-for="def in elements"
    :key="`${def.data.id}`"
    :definition="def"
    v-on:mousedown="deleteNode($event, def.data.id)"
  />
</cytoscape>

The config property is the part of the object passed to the cytoscape function without the container property, and optionally without the elements property as well. For example:

const config = {
  style: [
    {
      selector: 'node',
      style: {
        'background-color': '#666',
        'label': 'data(id)'
      }
    }, {
      selector: 'edge',
      style: {
        'width': 3,
        'line-color': '#ccc',
        'target-arrow-color': '#ccc',
        'target-arrow-shape': 'triangle'
      }
    }
  ],
  layout: {
    name: 'grid',
    rows: 1
  }
}

The elements object correspond to config.elements in cytoscape configuration:

const elements = [
  { // node a
    data: { id: 'a' }
  }, { // node b
    data: { id: 'b' }
  }, { // edge ab
    data: { id: 'ab', source: 'a', target: 'b' }
  }
]

If you are using CyElement's components, it is recommended to pass a config object without the elements property.

For more information please read cytoscape documentation. See Components API for more details.

If you have any issue please feel free to use the Issues page.