So the Properties-Panel requires a PropertiesProvider. For Camunda BPMN, this propertiesProvider is in the GitHub - bpmn-io/bpmn-js-properties-panel: A properties panel for bpmn-js. repo. However, for Zeebe BPMN, this provider is located in zeebe-modeler repo (here). So what you would need to do is to manually copy/paste / extract this provider from the zeebe-modeler repo and then integrate it into your project (reason: unlike bpmn-js-properties-panel, zeebe-modeler is not on npmjs). Afterwards it is straightforward, and you can instantiate your bpmn-js with a custom properties panel. Something like:
var bpmnJS = new BpmnJS({
additionalModules: [
propertiesPanelModule,
myCustomExtractedZeebePropertiesProviderModule
],
container: '#canvas',
propertiesPanel: {
parent: '#properties'
},
// make camunda prefix known for import, editing and export
moddleExtensions: {
zeebe: zeebeModdleExtensions
}
});
First I changed the package.json file and change the dependency of “camunda-bpmn-moddle”: “^4.0.1” to “zeebe-bpmn-moddle”: “^0.4.0”.
I change in the app/index.js file, the CamundaMoodle, to the ZeebeMoodle, as follow:
//import camundaModdleDescriptor from 'camunda-bpmn-moddle/resources/camunda.json';
import zeebeModdleDescriptor from 'zeebe-bpmn-moddle/resources/zeebe.json';
Then I run the npm install command to download and install the node modules.
After the modules installed I create a directory named zeebe in the “node_modules/bpmn-js-properties-panel/lib/provider” and put these files inside it.
Then, I come back to the app/index.js file and change the propertiesProviderModule as follow:
//import propertiesProviderModule from 'bpmn-js-properties-panel/lib/provider/camunda';
import propertiesProviderModule from 'bpmn-js-properties-panel/lib/provider/zeebe';
Then I just run the npm install and npm run all .
I think that was It. Sorry by the english errors, and feel free to edit the post to make it more clear.