simple-bpm

a lightweight flowchart editor for Vue.js, code with vanillaJS,
1,198 265
Install
npm install simple-bpm
Latest Version:0.2.62
Vue:2
License:MIT
Last Updated:Dec 29, 2022
Links: GitHub  ·  npm
Maintainer: felipeverissimo

vue-simple-flowchart

Introduction

a lightweight flowchart editor for Vue.js, code with vanillaJS,

Demo

https://jeffreyrn.github.io/vue-simple-flowchart/demo/

Feature

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

Usage

install via npm/yarn

yarn add vue-simple-flowchart

import in script

import SimpleFlowchart from 'vue-simple-flowchart';
import 'vue-simple-flowchart/dist/vue-flowchart.css';

register the component, and add below to html:

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

then set data for flowchart component, for example:

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

Component

Attributes
  • height, type: Number, default: 400
Events
  • nodeClick, emit when node click, event = nodeID
  • nodeDelete: emit when node deleted, event = nodeID
  • 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)
  • canvasClick: emit when canvas click, event = { (Event Object) }

Project setup

yarn install

Compiles and hot-reloads for development

yarn run serve

Compiles and minifies for production

yarn run build

Lints and fixes files

yarn run lint

TODO

  • Add horizontal mode
  • Optimizition for large node array
  • Theme color configurable
  • Remove Console.log in build mode

Version History

Version Released Vue License
0.2.62 ^2.5.17 MIT
0.2.61 ^2.5.17 MIT
0.2.60 ^2.5.17 MIT
0.2.59 ^2.5.17 MIT
0.2.58 ^2.5.17 MIT
Pre-releases (2)
Version Released Vue License
0.2.1-2.2 ^2.5.17 MIT
0.2.1-2.1 ^2.5.17 MIT