Having trouble getting help?
Contact Support
Contact Support
Bpmn shapes in Angular Diagram component
28 Mar 20253 minutes to read
BPMN shapes are used to represent the internal business procedure in a graphical notation and enable you to communicate the procedures in a standard manner. To create a BPMN shape, in the node property shape, type should be set as “bpmn” and its shape should be set as any one of the built-in shapes. The following code example illustrates how to create a simple business process.
NOTE
If you want to use BPMN shapes in diagram, you need to inject BpmnDiagrams in the diagram.
import { DiagramModule, BpmnDiagramsService, DiagramComponent, NodeModel, BpmnShapeModel } from '@syncfusion/ej2-angular-diagrams'
import { Component, ViewEncapsulation, ViewChild } from '@angular/core';
@Component({
imports: [
DiagramModule
],
providers: [BpmnDiagramsService],
standalone: true,
selector: "app-container",
template: `<ejs-diagram #diagram id="diagram" width="100%" height="580px" [getNodeDefaults] ='getNodeDefaults'>
<e-nodes>
<e-node id='node1' [offsetX]=150 [offsetY]=150 [shape]='shape'></e-node>
</e-nodes>
</ejs-diagram>`,
encapsulation: ViewEncapsulation.None
})
export class AppComponent {
@ViewChild("diagram")
public diagram?: DiagramComponent;
public shape: BpmnShapeModel = {
type: 'Bpmn',
shape: 'Event',
// set the event type as End
event: {
event: 'End'
}
}
public getNodeDefaults(node: NodeModel): NodeModel {
node.height = 100;
node.width = 100;
return node;
}
}
import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import 'zone.js';
bootstrapApplication(AppComponent).catch((err) => console.error(err));
Note : The default value for the property
shape
is “event”.
The list of BPMN shapes are as follows:
Shape | Image |
---|---|
Event | ![]() |
Gateway | ![]() |
Task | ![]() |
Message | ![]() |
DataSource | ![]() |
DataObject | ![]() |
Group | ![]() |
The BPMN shapes and its types are explained as follows.