UNPKG

988 BJavaScriptView Raw
1import * as util from '../util';
2import * as is from '../is';
3
4let corefn = ({
5
6 layout: function( options ){
7 let cy = this;
8
9 if( options == null ){
10 util.error( 'Layout options must be specified to make a layout' );
11 return;
12 }
13
14 if( options.name == null ){
15 util.error( 'A `name` must be specified to make a layout' );
16 return;
17 }
18
19 let name = options.name;
20 let Layout = cy.extension( 'layout', name );
21
22 if( Layout == null ){
23 util.error( 'No such layout `' + name + '` found. Did you forget to import it and `cytoscape.use()` it?' );
24 return;
25 }
26
27 let eles;
28 if( is.string( options.eles ) ){
29 eles = cy.$( options.eles );
30 } else {
31 eles = options.eles != null ? options.eles : cy.$();
32 }
33
34 let layout = new Layout( util.extend( {}, options, {
35 cy: cy,
36 eles: eles
37 } ) );
38
39 return layout;
40 }
41
42});
43
44corefn.createLayout = corefn.makeLayout = corefn.layout;
45
46export default corefn;