3

bpmn-js(和 diagram-js)允许包含可选模块,以增强当前功能。

示例: Modeler.js(从第 174 行开始,提交 [ae96f37] 1

Modeler.prototype._interactionModules = [
  // non-modeling components
  require('diagram-js/lib/navigation/movecanvas'),
  require('diagram-js/lib/navigation/touch'),
  require('diagram-js/lib/navigation/zoomscroll')
];

现在为了大致了解某些模块,我目前必须查看两个模块的文件夹 ( bpmn-js, diagram-jsin node_modules) 以查看可能模块的完整列表:

示例 1:( bpmn-js/lib/features/*提交: b03014f

示例 2:( diagram-js/lib/*提交: 7956c81

但是,如果我想要更模块化的建模器设计(例如添加/删除功能,取决于用户角色),我需要有一些功能,将可用模块公开给我的应用程序。就像是

Modeler.modules() // list all module names

Modeler.addModule(name) // adds this module

Modeler.removeModule(name) // removes this module

到目前为止,我已经搜索了bpmn-jsrepo 的代码,但没有发现暴露这些模块的属性/方法/API。

我刚刚找到了一种方法来搜索节点模块的目录以获取所需的文件夹 ( /lib/*) 但这对我来说似乎很奇怪,因为由于重构、重新设计等原因,这种结构可能会随着下一个版本而改变。

我真的坚持编写自己的实现还是有人已经成功解决了这个问题?(任何隐式暴露可用模块的“隐藏”属性?)

4

0 回答 0