问题描述
开发环境: Edge浏览器 , 对接后端flowable最新的流程引擎,采用bpmn2.0规范
1、 文件 packages\extension\src\bpmn-adapter\index.ts 中toXmlJson跟toNormalJson方法没有考虑Array的情况,Object.entries无法正确解析数组,,导致本来的对象数组例如
{ "bpmn2:extensionElements": { "flowable:taskListener": [ { "event": "create", "flowable:field": { "name": "taskType", "stringValue": "Execute" } }, { "event": "end", "flowable:field": { "name": "taskType", "stringValue": "Execute" } } ] } }
变成了下面的形式:
{ "bpmn2:extensionElements": { "flowable:taskListener": { 0: { "-event": "create", "flowable:field": { "-name": "taskType", "-stringValue": "Execute" } }, 1: { "-event": "end", "flowable:field": { "-name": "taskType", "-stringValue": "Execute" } } } } }
造成的后果就是生成bpmn的xml总是少了元素
2、 文件 packages\extension\src\bpmn-adapter\index.ts toXmlJson方法没有处理xml中的 #text节点(文本节点)

这是做了处理后的
3、issue #325 并不能保证 incomming在outgoing之前,因为各浏览器差异,对象并不会按照先后顺序处理,所以需要在 packages\extension\src\bpmn-adapter\json2xml.ts 中修改,如下只是个人临时修改没来得及重构

先写这么多,还有些bug容我想想~
问题描述
开发环境: Edge浏览器 , 对接后端flowable最新的流程引擎,采用bpmn2.0规范
1、 文件 packages\extension\src\bpmn-adapter\index.ts 中toXmlJson跟toNormalJson方法没有考虑Array的情况,Object.entries无法正确解析数组,,导致本来的对象数组例如
{ "bpmn2:extensionElements": { "flowable:taskListener": [ { "event": "create", "flowable:field": { "name": "taskType", "stringValue": "Execute" } }, { "event": "end", "flowable:field": { "name": "taskType", "stringValue": "Execute" } } ] } }变成了下面的形式:
{ "bpmn2:extensionElements": { "flowable:taskListener": { 0: { "-event": "create", "flowable:field": { "-name": "taskType", "-stringValue": "Execute" } }, 1: { "-event": "end", "flowable:field": { "-name": "taskType", "-stringValue": "Execute" } } } } }造成的后果就是生成bpmn的xml总是少了元素
2、 文件 packages\extension\src\bpmn-adapter\index.ts toXmlJson方法没有处理xml中的 #text节点(文本节点)

这是做了处理后的
3、issue #325 并不能保证 incomming在outgoing之前,因为各浏览器差异,对象并不会按照先后顺序处理,所以需要在 packages\extension\src\bpmn-adapter\json2xml.ts 中修改,如下只是个人临时修改没来得及重构

先写这么多,还有些bug容我想想~