BPMNJS节点实现扩展flowable标签--

注:此文主要是自用,能帮到大家更好

第一:创建flowable.json文件。如下配置

{
  "name": "Flowable",
  "uri": "http://flowable.org/bpmn",
  "prefix": "flowable",
  "xml": {
    "tagAlias": "lowerCase"
  },
  "associations": [],
  "types": [
 {
      "name": "TypeString",
      "superClass": [
        "Element"
      ],
      "properties": [
        {
          "name": "body",
          "isBody": true,//改属性表示是否为文字,要属性的话删了即可
          "type": "String"
        }
      ]
    },
  {
      "name": "Field",
      "superClass": [
        "Element"
      ],
      "meta": {
        "allowedIn": [
         "*"
        ]
      },
      "properties": [
        
        {
          "name": "values",
          "type": "TypeString",//此属性要获取到你对应的name标签 
          "isMany": true
        }
      ]
    },
],
 "emumerations": []
}

二、导入创建的flowable.json 文件。创建bpmn对象

   import flowableModdleDescriptor from "./flowable";

 this.bpmnModeler = new Modeler({
        container: "#canvas",
        additionalModules: [
          propertiesPanelModule,
          propertiesProviderModule,
          this.customTranslate,
        ],
        moddleExtensions: {
          flowable: flowableModdleDescriptor,
        },
      });

三、创建标签

  const modeling = this.bpmnModeler.get("modeling");
    const elementRegistry = this.bpmnModeler.get("elementRegistry");
      const moddle = this.bpmnModeler.get("moddle");

      let body = moddle.create("flowable:TypeString", { body: "1213" });
      let Field = moddle.create("flowable:Field", {
        values: [body],
        name: "type",
      });
      const extensionElements = moddle.create("bpmn:ExtensionElements", {
        values: [Field],
      });
      modeling.updateProperties(
        elementRegistry._elements[elementId].element,
        { extensionElements }
      );

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值