An open API service indexing awesome lists of open source software.

https://github.com/b4rtaz/svg-workflow-designer

Workflow designer written in TypeScript with no dependencies.
https://github.com/b4rtaz/svg-workflow-designer

designer javascript typescript workflow-designer workflow-tool workflows

Last synced: 9 days ago
JSON representation

Workflow designer written in TypeScript with no dependencies.

Awesome Lists containing this project

README

          

![SVG Workflow Designer](assets/cover.png)

# SVG Workflow Designer

[![Build Status](https://travis-ci.com/b4rtaz/svg-workflow-designer.svg?branch=master)](https://travis-ci.com/b4rtaz/svg-workflow-designer) [![License: MIT](https://img.shields.io/github/license/mashape/apistatus.svg)](/LICENSE)

Workflow designer with no dependencies. It's written in TypeScript, but you may use it in a JavaScript project too. This project is not associated with any Workflow Engine. You can use it to integrate it with what you want.

🔥 **Features:**

- no dependencies,
- uses SVG for rendering,
- small size (minified 32 KB),
- works on mobile devices,
- supports IE9 😨,
- light/dark themes.

⭐ **Demos:**

- [Fullscreen](https://b4rtaz.github.io/svg-workflow-designer/examples/fullscreen.html)
- [Dark and Light](https://b4rtaz.github.io/svg-workflow-designer/examples/dark-and-light.html)

## ✨ Installation

### NPM

Enter below command.

```
npm install svg-workflow-designer
```

After this, you can import this library:

```js
import 'svg-workflow-designer/workflow-designer.css';
import { DesignerHost } from 'svg-workflow-designer';
```

### CDN

```html

```

## 👀 Examples of Use

Check [examples](/examples) directory.

```js
const designer = new DesignerHost({
container: document.getElementById('designer'),
theme: 'dark'
});
designer.setup();
designer.addActivites([
{
left: 100,
top: 100,
color: '#FFB900',
name: 'start',
label: 'Start',
isInvalid: false,
canDelete: false,
inputNames: [],
outputNames: ['started']
},
{
left: 100,
top: 200,
color: '#00D1FF',
name: 'setVariable',
label: 'SetVariable',
isInvalid: false,
canDelete: true,
inputNames: ['input'],
outputNames: ['set']
}
]);
designer.addConnections([
{
outputActivityName: 'start',
outputName: 'started',
inputActivityName: 'setVariable',
inputName: 'input'
}
]);
```

## ⚙️ How to Build

```
npm install
npm build
```

## 💡 License

This project is released under the MIT license.