是否可以在propertiesPanel中添加“bpmn:Resource”元素并编辑其属性?怎么做?
我已经基于property-panel [link]示例向属性面板添加了一些属性 .
但是我在向属性面板中添加'bpmn:Resource'时遇到了挑战 . 我不希望它被添加为 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:Resource'添加到 extensionElements
,但我不知道该用什么代替!