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.
- Put a script tag similar to this
<script src='https://unpkg.com/@elsa-workflows/elsa-workflow-designer@0.0.10/dist/elsa-workflow-designer.js'></script>
in the head of your index.html - Then you can use the element anywhere in your template, JSX, html etc
- Run
npm install @elsa-workflows/elsa-workflow-designer --save
- Put a script tag similar to this
<script src='node_modules/@elsa-workflows/elsa-workflow-designer/dist/elsa-workflow-designer.js'></script>
in the head of your index.html - Then you can use the element anywhere in your template, JSX, html etc
- Run
npm install @elsa-workflows/elsa-workflow-designer --save
- Add an import to the npm packages
import @elsa-workflows/elsa-workflow-designer;
- Then you can use the element anywhere in your template, JSX, html etc
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.
- 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>
- On
app.module.ts
, addCUSTOM_ELEMENTS_SCHEMA
@NgModule({
//whatever you have on app module goes here...
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class AppModule {}
- 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
TODO: Describe how to register custom activity definitions using JavaScript & JSON.