问题:在contextPad弹框里面点击修改类型 ,希望能添加一个自定义的类型节点,虽然看上去类型修改成功了,但是节点却没有添加到xml中,而且xml中删除掉了之前的节点
目前处理方法:
1.自定义了一个replaceMenuProvider重载node_module里面的方法
import ReplaceMenuProvider from 'bpmn-js/lib/features/popup-menu/ReplaceMenuProvider';
import { forEach } from 'min-dash';
export default function replaceMenuProvider() {
const customObj = {
label: 'User report task',
actionName: 'replace-with-user-report-task',
className: 'bpmn-icon-user-report-task',
target: { type: 'custom:UserReportTask' },
};
ReplaceMenuProvider.prototype._createEntries = function (
element,
replaceOptions
) {
replaceOptions.push(customObj);
var menuEntries = [];
var self = this;
forEach(replaceOptions, function (definition) {
var entry = self._createMenuEntry(definition, element);
menuEntries.push(entry);
});
return menuEntries;
// var menuEntries = _createReplaceEntries.apply(this, [
// element,
// replaceOptions,
// ]);
// menuEntries = menuEntries.concat(userReportTask);
// return menuEntries;
};
2.在customDescriptor.json中添加了类型描述
{
"name": "UserReportTask",
"superClass": ["Element"],
"meta": {
"allowedIn": ["custom:UserReportTask"]
},
"properties": [
{
"name": "body",
"isBody": true,
"type": "String"
}
]
},