I add one custom element (register start event) on the platte and its code like below:
export default class RegisterStartEvent {
constructor(create, elementFactory, palette, translate) {
this.create = create;
this.elementFactory = elementFactory;
this.translate = translate;
palette.registerProvider(this);
}
getPaletteEntries(element) {
const {
create,
elementFactory,
translate
} = this;
function createRSE(event) {
const shape = elementFactory.create('shape', { type: 'bpmn:StartEvent' });
if ( document.$modeler) {
const modeler = document.$modeler
const moddle = modeler.get("moddle");
const flowableEventType = moddle.create('flowable:EventType', { values: 'lllll' })
const extension = elementFactory.create('shape', {type: 'bpmn:ExtensionElements' })
extension.values = [flowableEventType]
shape.businessObject.extensionElements = extension
}
create.start(event, shape);
}
return {
'create.register-start-event': {
type: 'bpmn:StartEvent',
group: 'events',
className: 'bpmn-icon-start-event-message',
title: translate('Create RSE'),
action: {
dragstart: createRSE,
click: createRSE
}
},
}
}
}
CustomPalette.$inject = [
'create',
'elementFactory',
'palette',
'translate'
];
And its xml constructure like below:
<startEvent>
<extensionElements>
<flowable:eventType xmlns:flowable="http://flowable.org/bpmn"><![CDATA['lllll]]></flowable:eventType>
</extensionElements>
</startEvent>
When I drag this element from the platte into the diagram, its icon become one StartEvent icon and when I save it to XML, the error from console window is below:
index.esm.js?42c7:1223 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'isGeneric')
at ElementSerializer.build (index.esm.js?42c7:1223:1)
at eval (index.esm.js?42c7:1469:1)
at forEach (index.esm.js?87f2:145:1)
at eval (index.esm.js?42c7:1457:1)
at forEach (index.esm.js?87f2:145:1)
at ElementSerializer.parseContainments (index.esm.js?42c7:1429:1)
at ElementSerializer.build (index.esm.js?42c7:1244:1)
at eval (index.esm.js?42c7:1469:1)
at forEach (index.esm.js?87f2:145:1)
at eval (index.esm.js?42c7:1457:1)
How to resolve it?
Thank you in advance.