https://github.com/sourcefuse/workflows-creator
https://github.com/sourcefuse/workflows-creator
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/sourcefuse/workflows-creator
- Owner: sourcefuse
- License: mit
- Created: 2023-01-16T10:04:15.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2025-03-24T12:09:37.000Z (10 months ago)
- Last Synced: 2025-08-01T05:55:59.930Z (6 months ago)
- Language: TypeScript
- Size: 5.79 MB
- Stars: 2
- Watchers: 6
- Forks: 2
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Workflows Creator
An Angular Client to develop workflows using an intuitive statement based UI.
## Installation
```bash
npm i @sourceloop/workflows-creator
```
## Usage
- Install the workflows-creator
`npm i @sourceloop/workflows-creator`
- Import the `WorkflowBuilderModule` in the required module -
```typescript
...
imports: [
...
WorkflowBuilderModule,
...
],
```
- Use the component selector in your application -
```html
```
- `state` is the initial state object
- `diagram` is initial BPMN Diagram respectively.
- `eventAdded` - this event fires whenever a new event is added in the workflow
- `actionAdded` - this event fires whenever a new action is added in the workflow
- `itemChange` - this event fires whenever a user input changes
### Configurations
#### Nodes
- Each Statement is made up of nodes -
- Events - Triggers or Checks that lead to an action
- Action - Actually task performed by the workflow
- You can create your own nodes by extending the `WorkflowNode` class.
- To register this node for use, provide it to the `BPMN_NODES` token -
```typescript
{provide: BPMN_NODES, useValue: CustomNode, multi: true},
```
#### Element
- Each Node is based on certain base elements like tasks, gateways, etc.
- You can create your own BPMN Elements by extending the `BpmnElement` class.
- You can also create any custom element by extending the `WorkflowElement` class(in case working with a non-BPMN workflow engine).
- To register this element for use, provide it to the `BPMN_INPUTS` token -
```typescript
{provide: BPMN_ELEMENTS, useValue: CustomElement, multi: true},
```
#### Prompts
- Each Node also has some prompts or inputs from the users.
- You can create your own Prompt by extending the `WorkflowPrompt` class.
- To register this prompt for use, provide it to the token -
```typescript
{provide: BPMN_INPUTS, useValue: CustomInput, multi: true},
```