Skip to content

anfilat/vue-light-flowchart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vue-light-flowchart v0.3.3

Introduction

A lightweight flowchart editor for Vue.js. Based on vue-simple-flowchart

Demo

https://anfilat.github.io/vue-light-flowchart/

Feature

  • drag to connent two node, click to delete link
  • support add, delete node
  • reactive flowchart data

Usage

install via npm/yarn

npm install --save vue-light-flowchart

import in script

import LightFlowchart from 'vue-light-flowchart';
import 'vue-light-flowchart/dist/vue-light-flowchart.css';

register the component, and add below to html:

<light-flowchart :scene.sync="data"></light-flowchart>

then set data for flowchart component, for example:

data() {
    return {
        data: {
            centerX: 1024,
            centerY: 140,
            scale: 1,
            nodes: [
                {
                    id: 'id2',
                    x: -700,
                    y: -69,
                    type: 'Action',
                    label: 'test1',
                },
                {
                    id: 4,
                    x: -357,
                    y: 80,
                    type: 'Script',
                    label: 'test2',
                    borderColor: '#aa1111',
                },
                {
                    id: 6,
                    x: -557,
                    y: 80,
                    type: 'Rule',
                    label: 'test3',
                }
            ],
            links: [
                {
                    id: 3,
                    color: '#FFF457',
                    nodes: ['id2', 4], // node ids the link start, end
                }
            ]
        },
    };
}

Component

Attributes

  • height, type: Number, default: 400

Events

  • nodeClick, emit when node click, event = nodeID
  • nodeDelete: emit when node deleted, event = nodeID
  • nodeMouseEnter: emit when mouse enters node, event = nodeID
  • nodeMouseLeave: emit when mouse has left node, event = nodeID
  • linkClick, emit when link click, event = {id, from, to} (link Object)
  • linkBreak: emit when the selected link deleted, event = {id, from, to} (deleted link Object)
  • linkAdded: emit when new link added, event = {id, from, to} (new link Object)
  • linkMouseEnter: emit when mouse enters link, event = {id, from, to} (link Object)
  • linkMouseLeave: emit when mouse has left link, event = {id, from, to} (link Object)
  • canvasClick: emit when canvas click, event = { (Event Object) }

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Lints and fixes files

npm run lint

About

Flowchart editor for Vue.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •