Nico Rehwaldt 2021
@nikku on GitHub1️⃣ Token simulation?
2️⃣ About bpmn-js
3️⃣ bpmn-js extensibility
4️⃣ How does token simulation plug in?
const bpmnModeler = new BpmnModeler();
const selection = bpmnModeler.get('selection');
const elementRegistry = bpmnModeler.get('elementRegistry');
selection.select([
elementRegistry.get('Task_1')
]);
const bpmnModeler = new BpmnModeler();
const eventBus = bpmnModeler.get('eventBus');
eventBus.on('element.changed', function(event) {
console.log('Changed', event.element);
});
const modeling = bpmnModeler.get('modeling');
modeling.createShape(
{ type: 'bpmn:ServiceTask' },
{ x: 10, y: 20 }
);
// TaskSelection.js
export default function TaskSelection(selection, elementRegistry) {
/**
* Select this very special task
*/
this.selectTask1 = function() {
selection.select([
elementRegistry.get('Task_1')
])
};
}
// TaskSelectionModule.js
import TaskSelection from './TaskSelection';
export default {
taskSelection: [ 'type', TaskSelection ]
};
import taskSelectionModule from './TaskSelectionModule';
const bpmnModeler = new BpmnModeler({
additionalModules: [
taskSelectionModule
]
});
const taskSelection = bpmnModeler.get('taskSelection');
taskSelection.selectTask1();