Hey guys.
I want to use the BpmnViewer, but determine the number of viewers dynamically. Maybe it is none, maybe a couple of them. Afterwards I add overlays. The problem is now, that the overlays seem to be added for all my models on the same viewer.
Currently I use this function to create new viewers and remember the overlays:
function createViewer(xml, pi, index) {
var viewer = new BpmnViewer({container: '#js-drop-zone-' + index, width: '100%', height: '500px'});
processViewers[pi.id] = {
processInstance: pi,
viewer: viewer,
overlays: viewer.get('overlays')
}
// show it in bpmn.io
viewer.importXML(xml, function(err) {
if (err) {
console.log('error rendering', err);
} else {
// zoom to fit full viewport
viewer.get('canvas').zoom('fit-viewport');
loadData();
}
});
}
And later
var overlays = processViewers[processInstanceId].overlays;
overlays.clear();
overlays.add(activityId, {
position: {top: 0, right: 0},
show: {minZoom: 0, maxZoom: 100.0},
html: '<div class="bpmn-badge">'+(sums[activityId])+'</div>'
});
Any idea how I can achieve to add overlays on the proper viewers?
Thanks
Bernd