Home

Awesome

Built With Stencil

Elsa Workflow Designer

npm (scoped)

Elsa is a visual programming tool that allows you to implement parts or all of your application with workflows. Elsa Designer is a standalone client-side web component that you can embed in your own application.

html-based workflow designer

Installing this component

Script tag

Node Modules

In a stencil-starter app

Using this component

To use the component, add the following HTML tag:

<wf-designer-host></wf-designer-host>

Out of the box, the designer registers a default set of activities that are provided from a set of plugins. To add custom activities, you need to define them as part of a custom plugin.

Integration with other Frontend framework

Angular(2+)

  1. Add Elsa Designer pkg CDN on index.html
<script
    type="module"
    src="https://unpkg.com/@elsa-workflows/elsa-workflow-designer@0.0.61/dist/elsa-workflow-designer/elsa-workflow-designer.esm.js"
></script>
<script
    nomodule=""
    src="https://unpkg.com/@elsa-workflows/elsa-workflow-designer@0.0.61/dist/elsa-workflow-designer/elsa-workflow-designer.js"
></script>
  1. On app.module.ts, add CUSTOM_ELEMENTS_SCHEMA
@NgModule({
  //whatever you have on app module goes here... 
  schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class AppModule {}
  1. Add <ng-wf-designer-host></ng-wf-designer-host> to the HTML
<wf-designer-host
    id="designerHost"
    canvas-height="300vh"
    [attr.data-activity-definitions]="activityDefinition"
    [attr.data-workflow]="workflowModel">
</wf-designer-host>

See full example here

Custom Activities

TODO: Describe how to register custom activity definitions using JavaScript & JSON.