BPDCore v1.1.0-beta.5 使用文档
BPD-Core 是 web 形式的 bpmn 设计器,BPD-Core 仅提供建模和渲染, 不提供相应页面

演示: demo
项目目录
[build]webpack
build.js
check-versions.js
webpack.config.js
webpack.config.server.js
[src]源码
[assets]资源
[core]核心
[draw]绘图
[features]功能
[anchor]锚点
[background]背景
[clipboard]剪贴板(仅支持复制粘贴)
[direction]流向
[drag]拖拽
[edit-name]修改名称
[group-panel]分组面板
[hand]画布拖拽
[hotkey]快捷键
[i18n]国际化
[record]操作记录
[select]选择
[snapline]参考线
[tooltip]提示
[xml]
[utils]工具
[static]静态文件
.babelrc
.editorconfig
.eslintignore
.eslintrc.js
.gitignore
.postcssrc.js
_config.yml
package.json
readme.md
安装
使用 npm 安装
npm install bpd-core --save
引入
import BPDCore from 'bpd-core'
import 'bpd-core/dist/css/bpd-core.css';
初始化
new BPDCore({
container: '#canvas',
readonly: true,
extensions: {
t: Extension
},
filter: ['ServiceTask'],
...
})
键盘操作
| 操作 |
说明 |
| Ctrl+Z |
撤销 |
| Ctrl+Y |
重做 |
| Ctrl+C |
复制 |
| Ctrl+V |
粘贴 |
配置
| 参数 |
说明 |
类型 |
默认值 |
| container |
容器 |
string |
- |
| definition |
流程定义(xml) |
string |
default |
| readonly |
只读 |
boolean |
false |
| extensions |
扩展属性(参考 extensions.js) |
{ key: json } |
- |
| filter |
需要过滤的节点类型 |
[bpmnName] |
[] |
| local |
国际化 |
"zh_CN"|"zh_TW"|"en_US" |
zh_CN |
| bpmnStyle |
节点样式 |
{bpmnName: {}} |
- |
| shapeStyle |
特定节点样式 |
[{nodeId, fillStyle}] |
- |
| config |
功能配置 |
{} |
- |
功能配置
锚点(anchor)
| 参数 |
说明 |
类型 |
默认值 |
| size |
尺寸 |
number |
8 |
| color |
颜色 |
string |
#ec5343 |
背景(background)
| 参数 |
说明 |
类型 |
默认值 |
| show |
显示 |
boolean |
true |
| size |
网关间距 |
number |
15 |
剪贴板(clipboard)
| 参数 |
说明 |
类型 |
默认值 |
| filter |
节点类型黑名单 |
array[bpmnName] |
[] |
| suffix |
粘贴名称后缀 |
string |
'' |
修改名称(editName)
| 参数 |
说明 |
类型 |
默认值 |
| borderColor |
文本框边框颜色 |
string |
#999999 |
| onEdited |
编辑完成回调事件 |
function(shapeData) |
- |
分组面板(groupPanel)
| 参数 |
说明 |
类型 |
默认值 |
| width |
图形画布宽度 |
number |
30 |
| height |
图形画布高度 |
number |
30 |
选择(select)
| 参数 |
说明 |
类型 |
默认值 |
| color |
选中颜色 |
string |
#ec5343 |
| onSelected |
选中方法 |
function(shapeData) |
- |
API
| 名称 |
说明 |
参数 |
备注 |
| init |
初始化设计器 |
callback |
回调函数 |
| destroy |
销毁设计器 |
- |
- |
| createShape |
创建图形 |
event,callback |
{bpmnName: 节点名称},回调函数 |
| getAllElement |
获取全部元素 |
- |
return [shapeData] |
| getRootElement |
获取根元素 |
- |
return processData |
| getCurrentElements |
获取当前选中元素 |
- |
return [shapeData] |
| getFrontElement |
获取选中元素之前的元素 |
element |
return shapeData |
| getFrontElements |
获取选中元素之前的全部元素 |
element |
return [shapeData] |
| getFrontElementsByBpmn |
根据类型获取选中元素之前的元素 |
element,bpmnName |
return [shapeData] |
| handleClipboardEvent |
触发剪贴板事件 |
'copy' || 'paste' |
- |
| updateProperties |
更新元素属性 |
shapeId,data |
目前仅支持标题和扩展属性 |
| updateProcessProperties |
更新流程属性 |
data |
目前仅支持标题和扩展属性 |
| updataLineStyle |
更新图形边框颜色 |
id, style |
- |
| activateSelect |
激活选择模式 |
- |
- |
| destroy |
销毁设计器 |
- |
- |
| importBpmn |
导入解析 xml 文件 |
xml,callback |
回调函数 |
| exportBpmn |
导出 xml |
callback |
回调函数 |
数据结构(shapeData)
{
// 节点类型
"bpmnName": "StartEvent",
// 扩展属性
"extensions": [
{
"name": "t:test1",
"value": "测试1"
}
],
// 分组类型
"groupName": "StartEvent",
// id
"id": "obj_1n567qa",
//
"name": "test"
}
节点类型
开始事件
| 名称 |
bpmnName |
groupName |
| 开始事件 |
StartEvent |
StartEvent |
| 名称 |
shapeName |
支持 |
| 开始事件 |
startEvent |
true |
| 消息开始事件 |
messageStartEvent |
|
| 定时开始事件 |
timerStartEvent |
|
| 升级开始事件 |
escalationStartEvent |
|
| 错误开始事件 |
errorStartEvent |
|
| 条件开始事件 |
conditionalStartEvent |
|
| 补偿开始事件 |
compensationStartEvent |
|
| 信号开始事件 |
signalStartEvent |
|
| 多重开始事件 |
multipleStartEvent |
|
| 并行开始事件 |
parallelStartEvent |
|
其他
| 名称 |
bpmnName |
groupName |
| 用户任务 |
UserTask |
Task |
| 系统任务 |
ServiceTask |
Task |
| 排他网关 |
ExclusiveGateway |
Gateway |
| 包容网关 |
InclusiveGateway |
Gateway |
| 复杂网关 |
ComplexGateway |
Gateway |
| 并行网关 |
ParallelGateway |
Gateway |
| 调用子流程 |
CallActivity |
CallActivity |
| 结束事件 |
EndEvent |
EndEvent |
| 终止事件 |
TerminateEndEvent |
EndEvent |
| 连线 |
SequenceFlow |
- |
其他
详细 demo 代码参考 static/index.html
未来
鸣谢
moddle-xml
processon