Hi,
I really like the new design and approach of the properties panel v1.0. I already had a look into your example on how to extend the default properties (bpmn-js-examples/properties-panel-extension at master · bpmn-io/bpmn-js-examples · GitHub). I use the panel with bpmnjs as a plugin for modeling and we have multiple custom properties nested in the extension elements container (along with a custom namespace).
Something like that:
<bpmn:userTask id="Activity_123456">
<bpmn:extensionElements>
<custom:callPage>
<custom:application>100</custom:application>
<custom:page>1</custom:page>
<custom:items>
<custom:item>
<custom:itemName>USER</custom:itemName>
<custom:itemValue>dummy</custom:itemName>
</custom:item>
</custom:items>
</custom:callPage>
</bpmn:extensionElements>
</bpmn:userTask>
I achieved this via an approach with extending the properties panel by adding additional groups and using a variety of helpers (e.g. extensionElementsHelper, elementHelper, cmdHelper). For the elements in the panel I used basic text fields, select lists, etc. of the entryFactory as well as the extensionElementsEntry (I guess that’s the ListEntry now?).
I already managed to add custom attributes using the new structure in the example. But I’m struggeling with finding the needed interfaces for the extension elements. In the props.json definition I added the custom type with “superClass”: [ “Element” ] instead of the “extends” attribute (I think I read this in an old version of the examples some day).
Do you plan on extending the current examples to include examples for the extension elements structure as well, or do you maybe have a hint on how to start on that?
Thanks in advance!