是否可以在 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"
}
]
}
现在例如在newElement
MyResource.js 的函数中
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
但我不知道用什么来代替!