是否可以添加" bpmn:资源" propertiesPanel中的元素并编辑其属性?怎么做?
我已经根据property-panel [link]示例向属性面板添加了一些属性。
但我在添加' bpmn:资源'属性面板。我不希望将其添加为extensionElement
。
我希望它在bpmn:Definitions
内(bpmn:Process
旁边)。另外,我想扩展原始bpmn:Resource
以添加一些参数。
所以在MyModdle.json中我添加了:
{
"name": "Resource",
"extends": [
"bpmn:Resource"
],
"properties": [
{
"name": "parameters",
"isMany": true,
"type": "MyParameter"
}
]
}, {
"name": "MyParameter",
"properties": [
{
"name": "myParameterType",
"isAttr": true,
"type": "String"
}
{
"name": "myParameterName",
"isAttr": true,
"type": "String"
},
{
"name": "myParameterValue",
"isAttr": true,
"type": "String"
}
]
}
现在例如在MyResource.js的newElement
函数中
var newElement = function (type, prop, factory) {
return function (element, extensionElements, value) {
var commands = [];
var resource = getResource(element);
if (!resource) {
var parent = extensionElements;
resource = createResource(parent, bpmnFactory);
console.log('resource', resource);
commands.push(cmdHelper.addAndRemoveElementsFromList(
element,
extensionElements,
'values',
'extensionElements',
[resource],
[]
));
}
var newElem = createResourceParameter(type, resource, bpmnFactory, {
resourceId: 'id-' + value
});
commands.push(cmdHelper.addElementsTolist(element, parameters, prop, [newElem]));
return commands;
};
}
我知道这个cmdHelper添加了' bpmn:资源'到extensionElements
,但我不知道该使用什么!