3

是否可以在 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"
    }
  ]
}

现在例如在newElementMyResource.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但我不知道用什么来代替!

4

0 回答 0