我正在使用bpmn.js创建图表流。我正在尝试更改每个元素的默认颜色,例如bpmn:startEvent,bpmn:endEvent等。
modeler.on('shape.added', (e) => {
if (e.element.type === 'bpmn:UserTask') {
var modeling = modeler.get('modeling').setColor(e.element, {
fill: '#000000',
stroke: '#e432ee'
});
}
................ more and more and more
});
当我导入一个图表时,它会起作用,但是会出现collors,但是当我单击面板时,它们不会出现并且我收到一些javascript错误,这使我无法正确放置或选择元素。 我将此代码放在app.js的最后一行之后:
这是我收到的错误是javascript:
bpmn-modeler.production.js:1514 Error: illegal invocation in <execute> or <revert> phase (action: element.setColor) at ph._pushAction (bpmn-modeler.production.js:16556) at ph.execute (bpmn-modeler.production.js:16478) at Od.setColor (bpmn-modeler.production.js:18492) at flowchart.component.ts:99 at bpmn-modeler.production.js:1511 at Gt._invokeListener (bpmn-modeler.production.js:1512) at Gt._invokeListeners (bpmn-modeler.production.js:1505) at Gt.fire (bpmn-modeler.production.js:1490) at Et._addElement (bpmn-modeler.production.js:1068) at Et.addShape (bpmn-modeler.production.js:1073)
有什么想法吗?
答案 0 :(得分:-1)
您是否尝试在超时下包装代码以等待元素创建...
Modeler.on('shape.added', (e) => {
setTimeout(function() {
// your code here
}, 1000);
});