Appearance
BPMN Panel API / Panel Types / ToolbarItemBase
Type Alias: ToolbarItemBase
ts
type ToolbarItemBase = {
id: ToolbarItemId;
icon?: string;
};Defined in: features/panels/variants/bpmn/types/panel/graph/toolbar/toolbar-item.ts:63
Base toolbar item configuration
Represents a palette item that users can drag onto the canvas. Toolbar items are independent of node configurations - they define how to create new elements, while nodes define how to display existing elements.
Key Concepts
Separation of Concerns:
- Toolbar item = "How to create" (palette concerns)
- Node config = "How to display/edit" (data concerns)
Type Distinction:
bpmnType= BPMN element type for rendering ("task", "startEvent", etc.)typeName= Backend entity type ("WFTaskInstance", "WFStartTaskInstance")
Use Cases
Multiple creation flows for same backend type:
json
[
{ "id": "quick-task", "typeName": "WFTaskInstance",
"events": [{ "name": "onObjectCreate", "actions": [{"name": "create"}] }] },
{ "id": "detailed-task", "typeName": "WFTaskInstance",
"events": [{ "name": "onObjectCreate", "actions": [{"name": "runMethod"}] }] }
]Different icons for same backend type:
json
[
{ "id": "cutting", "typeName": "WFTaskInstance", "icon": "icon--scissors" },
{ "id": "assembly", "typeName": "WFTaskInstance", "icon": "icon--wrench" }
]Properties
| Property | Type | Description |
|---|---|---|
Unique identifier for this palette item. REQUIRED for toolbar items. This identifier serves multiple purposes: Primary Uses
Technical Flow When a node is created: typescript Events Fired Node creation ( typescript Edge creation ( typescript Naming Conventions Recommended patterns:
Best practices:
Examples ts ts ts | ||
| Icon for the palette button. Icon formats:
Examples ts ts |