Cytoscape multiple layouts

Cytoscape multiple layouts

by shiv_veerashetty

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.2.9/cytoscape.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.layout/1.4.3/jquery.layout.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dagre/0.8.2/dagre.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/cytoscape-dagre.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/cytoscape-expand-collapse.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/cytoscape-undo-redo.js"></script>
<script src="https://unpkg.com/[email protected]/klay.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/cytoscape-klay.js"></script>
<script src="https://unpkg.com/numeric/numeric-1.2.6.js"></script>
<script src="https://unpkg.com/layout-base/layout-base.js"></script>
<script src="https://unpkg.com/cose-base/cose-base.js"></script>
<script src="https://unpkg.com/cytoscape-layout-utilities/cytoscape-layout-utilities.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/cytoscape-expand-collapse.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/cytoscape-fcose.min.js"></script>
<div id="cy">
</div>

CSS

#cy {
  width: 100%;
  height: 600px;
  border: 1px solid #aaa;
}

JavaScript

$(function() {
  var cy = window.cy = cytoscape({
    container: document.getElementById('cy'),

    boxSelectionEnabled: false,
    autounselectify: true,
    style: [{
      selector: 'node',
      css: {
        'content': 'data(id)',
        'text-valign': 'center',
        'text-halign': 'center',
        'shape': 'rectangle'
      }
    }, {
      selector: '$node > node',
      css: {
        'padding-top': '25px',
        'text-margin-y': '20',
        'text-margin-x': '50',
        'text-valign': 'top',
        'text-halign': 'left',
        'background-color': '#bbb'
      }
    }, {
      selector: 'edge',
      css: {
        'target-arrow-shape': 'triangle'
      }
    }, {
      selector: ':selected',
      css: {
        'background-color': 'black',
        'line-color': 'black',
        'target-arrow-color': 'black',
        'source-arrow-color': 'black'
      }
    }],
    elements:{"nodes":[{"data":{"id":"R1","name":"R1","type":"Router"}},{"data":{"id":"R2","name":"R2","type":"Router"}},{"data":{"id":"R3","name":"R3","type":"Router"}},{"data":{"id":"R4","name":"R4","type":"Router"}},{"data":{"id":"R5","name":"R5","type":"Router"}},{"data":{"id":"R6","name":"R6","type":"Router"}},{"data":{"id":"R7","name":"R7","type":"Router"}},{"data":{"id":"R8","name":"R8","type":"Router"}},{"data":{"id":"R9","name":"R9","type":"Router"}},{"data":{"id":"H1-D","name":"H1-D","type":"Hyperviser Dummy"}},{"data":{"id":"H1","name":"H1","type":"Hyperviser"}},{"data":{"id":"H1-S1","name":"H1-S1","type":"vswitch"}},{"data":{"id":"H1-S2","name":"H1-S2","type":"vswitch"}},{"data":{"id":"H1-S2-V1","name":"H1-S2-V1","type":"vm"}},{"data":{"id":"H1-S2-V2","name":"H1-S2-V2","type":"vm"}},{"data":{"id":"H1-S2-V3","name":"H1-S2-V3","type":"vm"}},{"data":{"id":"H1-S1-V1","name":"H1-S1-V1","type":"vm"}},{"data":{"id":"H1-S1-V2","name":"H1-S1-V2","type":"vm"}},{"data":{"id":"H1-S1-V3","name":"H1-S1-V3","type":"vm"}},{"data":{"id":"H2-D","name":"H2-D","type":"Hyperviser...