在propertiesPanel

时间:2018-05-16 08:55:15

标签: bpmn.io

是否可以添加" 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,但我不知道该使用什么!

0 个答案:

没有答案