0.4.1 • Published 3 years ago

tsnodes v0.4.1

Weekly downloads
2
License
MIT
Repository
github
Last release
3 years ago

DEPRECATED TSNodes

An open source TypeScript/JavaScript library for creating visual programming interfaces.

npm GitHub GitHub code size in bytes GitHub last commit

Installation

npm

  1. Install via npm

    npm install tsnodes
  2. Import library to your project

    import TSNodes from 'tsnodes';
  3. Add styling
    Using javascript:

    import 'tsnodes/lib/styles/default_dark/index.css';

    or HTML:

    <link rel='stylesheet' href='node_modules/tsnodes/lib/styles/default_dark/index.css'>

Git

  1. Clone this repository

    git clone https://github.com/michalmarchewczyk/TSNodes
  2. Install dependencies

    npm install
  3. Build library

    npm run build
  4. Import library to your project

    import TSNodes from 'TSNodes/lib';
  5. Add styling
    Using javascript:

    import 'TSNodes/lib/styles/default_dark/index.css';

    or HTML:

    <link rel='stylesheet' href='TSNodes/lib/styles/default_dark/index.css'>

Usage

  1. Creating editor

    const editor = new TSNodes.Editor();
  2. Rendering all editor components and appending them to document

    const view = editor.view.render();
    window.document.querySelector('.editor').appendChild(view);
    
    const graphs = editor.graphs.render();
    window.document.querySelector('.graphs').appendChild(graphs);
    
    const nodes = editor.nodes.render();
    window.document.querySelector('.nodes').appendChild(nodes);
    
    const info = editor.info.render();
    window.document.querySelector('.info').appendChild(info);
  3. Adding node types by extending class TSNodes.Node

    class node1 extends TSNodes.Node {
      constructor() {
        super(editor, 'Node 1');
      }   
    }
  4. Adding node type to editor

    editor.addNode(node1);
  5. Adding inputs to node type
    To add inputs to node type expand node constructor by adding this.input(args) calls or this.addInput(new TSNodes.Input(args)) calls

    class node1 extends TSNodes.Node {
      constructor() {
        super(editor, 'Node 1');
        this.input('input 1', 'default value');
        this.input('input 2', '');
        this.addInput(new TSNodes.Input('input 3', '', false));
      }   
    }
  6. Adding outputs to node type
    To add outputs to node type expand node constructor by adding this.output(args) calls or this.addOutput(new TSNodes.Output()) calls.

    class node1 extends TSNodes.Node {
      constructor() {
        super(editor, 'Node 1');
        this.input('input 1', 'default value');
        this.input('input 2', '', );
        this.addInput(new TSNodes.Input('input 3', '', false));
        this.output('output 1', function1);
        this.addOutput(new TSNodes.Output('output2', function2, false));
      }   
    }

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

0.4.1

3 years ago

0.4.0

4 years ago

0.3.0

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago