I have a NavigableViewer in a Polymer 3 template, and am getting errors when trying to move the diagram. I suspect that I may be missing a npm package?
Here is my code:
import {PolymerElement,html} from '@polymer/polymer/polymer-element.js';
import Modeler from 'bpmn-js/lib/Modeler';
import Viewer from 'bpmn-js/lib/Viewer';
import NavigatedViewer from 'bpmn-js/lib/NavigatedViewer';
class BpmnTemplate extends PolymerElement {
static get template() {
return html`
<style>
.container {
height: 500px;
width: 500px;
padding: 0;
margin: 0;
}
</style>
<div id="canvas" class="container"></div>
`
}
afterServerUpdate() {
console.log("afterServerUpdate() called");
var canvasElement = this.shadowRoot.getElementById('canvas');
var thisElement = this;
//var viewer = new NavigatedViewer({ container: canvasElement, width: '1300px', height: '800px' });
//var viewer = new NavigatedViewer({ container: canvasElement, width: '1300px', height: '800px' });
var viewer = new NavigatedViewer({ container: canvasElement });
viewer.importXML(this.bpmnXML, function(err) {
if (err) {
return console.error('could not import BPMN 2.0 diagram', err);
}
// access modeler components
var canvas = viewer.get('canvas');
var overlays = viewer.get('overlays');
var eventBus = viewer.get('eventBus');
// zoom to fit full viewport
canvas.zoom(1);
// you may hook into any of the following events
var events = [
'element.click',
'element.dblclick',
];
events.forEach(function(event) {
eventBus.on(event, function(e) {
// e.element = the model element
// e.gfx = the graphical element
console.log(event, 'on', e.element.id);
});
});
});
}
static get is() {
return 'bpmn-template';
}
}
customElements.define(BpmnTemplate.is, BpmnTemplate);
When I try and drag the diagram I get the error:
EventBus.js?cd8f:381 TypeError: Illegal invocation
at match (index.esm.js?3a07:268)
at closest (index.esm.js?3a07:280)
at handleStart (MoveCanvas.js?6644:91)
at eval (MoveCanvas.js?6644:42)
at invokeFunction (EventBus.js?cd8f:515)
at EventBus._invokeListener (EventBus.js?cd8f:366)
at EventBus._invokeListeners (EventBus.js?cd8f:351)
at EventBus.fire (EventBus.js?cd8f:312)
at fire (InteractionEvents.js?29ba:87)
at SVGSVGElement.handlers. (InteractionEvents.js?29ba:162)
at SVGSVGElement.eval (index.esm.js?3a07:356)
Any ideas what I’m missing please?