Nayacco/workflow-bpmn-modeler

data = data.replace(/<!\[CDATA\[(.+)]]>/g, "&lt;![CDATA[$1]]&gt;"); 这个正则如何能把表达式里面的大于小于也转义了?

Closed this issue · 16 comments

如果不转义(例如${a>3} 里面的大于号),this.modeler.importXML(data); 时就会报以下错误
image

案例中的xml是 = 号, 这个不影响, 但是表达式是${m>4} 等有> < 号时,初始化的时候,就报错了

的确是个bug,下版本修复

这个可以不需要CDATA这个方法,直接把 ${a>3} 类似的表达式 里面的> < 利用正则转为 特殊字符即可。

试了一下,没有发现问题,xml 如下:

image

使用页面的第一个按钮 “加载xml” 打开上述xml后,一切正常

试了一下,没有发现问题,xml 如下:

image

使用页面的第一个按钮 “加载xml” 打开上述xml后,一切正常

这样的话,首次加载确实没问题,但是如果加载后不进行任何操作,然后直接保存,就会接口报错。

还是没有复现,试了一下,前端一切正常啊。你这里说的“接口报错”指的是:后端 java 代码执行到该 流程线 的时候报错吗?

还是没有复现,试了一下,前端一切正常啊。你这里说的“接口报错”指的是:后端 java 代码执行到该 流程线 的时候报错吗?

对,接口报错。反正我后来没用CDATA这个方法,后台传回来转义的> < , 我前端往后台传的时候,也转义> < ,就没问题了。

后端的 flowable 版本是多少啊?

我这边测试下来 flowable@6.5.0 没有问题啊

我这边测试下来 flowable@6.5.0 没有问题啊

我这边java后台引擎不是flowable,是Activiti 还是 camunda 来着, 反正CDATA这种格式报错

我这边测试下来 flowable@6.5.0 没有问题啊

我这边java后台引擎不是flowable,是Activiti 还是 camunda 来着, 反正CDATA这种格式报错

bpmn 官方不是不介意用CDATA,还不如直接把表达式中大于小于 正则转义

不是 flowable 不能用的,这和 Activiti 、camunda 都是不兼容的,我是参照 flowable 的文档来写建模器的

不是 flowable 不能用的,这和 Activiti 、camunda 都是不兼容的,我是参照 flowable 的文档来写建模器的

image
image
image
我把flowable.json 改为camunda.json ,然后就能用了。我把里面的xcurd 也改成原生的element , 还有加了表单,扩展等右侧的自定义属性。重新改写你的这个以及增加一些属性,花了9天时间,老费劲了,,哈哈

很多属性的嵌套层级可能不一致的,没有严格对照过文档很可能会出 bug 的

你好,我公司现在又有这样的需求,就是想实现类似于钉钉发起审批时能动态获取到审批人员列表(其实也就是从绘制的流程图中过滤出用户信息)的信息。比如我准备发起一个请假,然后下面就可以动态获取到这个流程对应的审批人员信息。当然,我请假天数不同时,下面的审批人员可能也动态的改变。

而且更远的需求,那就是在发起审批前还能删除,新增审批人员。

请问,这个有实现的思路吗?谢谢

image

抱歉我也不是很会,做的不多,不过flowable有些方法非常灵活,完全可以用它的service随意操作一个流程

这个问题没有得到复现,flowable@6.5 可以正常运行,如果低版本有问题,可以获取到xml字符串后,自行匹配转换一下