@bpmn-io/element-template-icon-renderer
Version:
A bpmn-js extension to render element templates icons
76 lines (53 loc) • 1.82 kB
Markdown
# @bpmn-io/element-template-icon-renderer
[](https://github.com/bpmn-io/element-template-icon-renderer/actions/workflows/CI.yml)
A [bpmn-js](https://github.com/bpmn-io/bpmn-js) extension to render [element template](https://github.com/bpmn-io/element-templates/) icons.

## Use Extension
Install via npm:
```
npm install @bpmn-io/element-template-icon-renderer
```
Use in your [bpmn-js powered editor](https://github.com/bpmn-io/bpmn-js):
```javascript
import ElementTemplateIconRenderer from '@bpmn-io/element-template-icon-renderer';
const viewer = new BpmnViewer({
additionalModules: [
...,
ElementTemplateIconRenderer
]
});
```
Optionally you may configure where you read your icons from:
```javascript
import ElementTemplateIconRenderer from '@bpmn-io/element-template-icon-renderer';
const viewer = new BpmnViewer({
additionalModules: [
...,
ElementTemplateIconRenderer
],
elementTemplateIconRenderer: {
iconProperty: 'foo:icon' // read from <bpmn:task foo:icon="..." />
}
});
```
In case you want to model with the element template icons, make sure you include the respective moddle extension to create the icon, i.e. [`zeebe-bpmn-moddle`](https://github.com/camunda-cloud/zeebe-bpmn-moddle):
```javascript
import zeebeModdle from 'zeebe-bpmn-moddle/resources/zeebe.json';
const modeler = new BpmnModeler({
additionalModules: [
...,
ElementTemplateIconRenderer
],
moddleExtensions: {
zeebe: zeebeModdle
}
});
```
## Run locally
To run the renderer example, execute:
```
npm start
```
## Resources
* [Issues](https://github.com/bpmn-io/element-template-icon-renderer/issues)
* [Changelog](./CHANGELOG.md)