声明:此处activiti版本为6.0
1、在stencilset.json中添加属性
1.1 、在propertyPackages节点下增加属性,顺序无所谓,示例如下:
--属性的定义,下方定义是抄来的,红色为自己标注的
{
"name" : "process_idpackage", -- 这个在节点引用中会用到
"properties" : [ {
"id" : "id", ---id,后面properties.js里会用到
"type" : "String", --类型,在赋值的时候会根据类型展示各种输入框,根据properties.js
"title" : "名称", --显示的标题
"value" : "", --默认值
"description" : "BPMN元素的描述性名称.", --描述
"category":"property", --分类,空的话位popular
"popular" : true, --是否显示
"refToView" : "text_name" --触发svg里面的效果
}]
}
注:其中type的值一定要写对,错误的话,属性在前端不会显示
String、boolean还好,Complex这个值需要注意,目前观察是复杂的情况可以用这个,但是需要结合/editor-app/configuration/properties.js文件配置来实现,才能正常显示。
------2022-03-25 补充:此处type值根据properties.js中的key值来定,可以自定义类型--------
1.2、在stencils节点中需要用到新加属性的组件上引入属性,示例如下:
注:propertyPackages数组中的顺序决定了前端展示的属性的顺序,值就是属性的name
--节点的定义
{
"type" : "node",
"id" : "MailTask",
"title" : "邮件任务",--标题
"description" : "邮件任务", --描述
"view" : "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n</svg>", --svg的xml
"icon" : "activity/list/type.send.png", --图标
"groups" : [ "任务" ], --归属的组
"propertyPackages" : [ "overrideidpackage" ],--属性
"hiddenPropertyPackages" : [ ],
"roles" : [ "Activity" ] --规则
}
2、在properties.js中添加配置
注:若在1.1中type的值为String、boolean的话,不用管这里,应该直接就能正常显示,若为Complex,则继续
注意:红框里,分别是属性的id和type,都是小写
两个属性:readModeTemplateUrl 和 writeModeTemplateUrl分别是读写模式时读取的模板url,可以定义属性的显示规则,示例如下:
assignment-display-template.html内容如下:
<span ng-if="!property.value.assignment.candidateUsers.length > 0" style="color: red">点击配置 </span>
<span ng-if="property.value.assignment.candidateUsers.length > 0" style="color: red">点击查看</span>
assignment-write-template.html内容如下:
<span ng-controller="KisBpmAssignmentCtrl">
</span>