@reskin/bpmn 0.0.6 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +141 -0
- package/bundles/reskin-bpmn.umd.js +1373 -1194
- package/bundles/reskin-bpmn.umd.js.map +1 -1
- package/esm2015/public-api.js +5 -1
- package/esm2015/src/base/bpmn-base.component.js +123 -0
- package/esm2015/src/bpmn-editor/bpmn-editor.component.js +153 -169
- package/esm2015/src/bpmn-viewer/bpmn-viewer.component.js +68 -97
- package/esm2015/src/config/defaultXML.js +22 -12
- package/esm2015/src/types/bpmn.types.js +2 -0
- package/esm2015/src/utils/bpmn.utils.js +51 -0
- package/fesm2015/reskin-bpmn.js +399 -267
- package/fesm2015/reskin-bpmn.js.map +1 -1
- package/package.json +2 -1
- package/public-api.d.ts +4 -0
- package/src/base/bpmn-base.component.d.ts +61 -0
- package/src/bpmn-editor/bpmn-editor.component.d.ts +61 -68
- package/src/bpmn-viewer/bpmn-viewer.component.d.ts +26 -27
- package/src/config/defaultXML.d.ts +6 -4
- package/src/types/bpmn.types.d.ts +58 -0
- package/src/utils/bpmn.utils.d.ts +17 -0
package/README.md
CHANGED
|
@@ -1 +1,142 @@
|
|
|
1
1
|
# @reskin/bpmn
|
|
2
|
+
|
|
3
|
+
基于 bpmn-js 封装的 Angular BPMN 2.0 流程图组件库。
|
|
4
|
+
|
|
5
|
+
## 特性
|
|
6
|
+
|
|
7
|
+
- ✅ 完整的 BPMN 2.0 标准支持
|
|
8
|
+
- ✅ 流程图编辑器和只读查看器
|
|
9
|
+
- ✅ 中文汉化界面
|
|
10
|
+
- ✅ 网格和小地图功能
|
|
11
|
+
- ✅ 导入/导出 BPMN XML 和 SVG
|
|
12
|
+
- ✅ 使用 Tailwind CSS 构建
|
|
13
|
+
- ✅ 完整的 TypeScript 类型定义
|
|
14
|
+
- ✅ 单元测试覆盖
|
|
15
|
+
|
|
16
|
+
## 安装
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install bpmn-js@17 diagram-js-grid@1 diagram-js-minimap@5
|
|
20
|
+
npm install @reskin/bpmn
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 快速开始
|
|
24
|
+
|
|
25
|
+
### 1. 导入模块
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
import { RkBpmnModule } from '@reskin/bpmn';
|
|
29
|
+
|
|
30
|
+
@NgModule({
|
|
31
|
+
imports: [RkBpmnModule],
|
|
32
|
+
})
|
|
33
|
+
export class AppModule {}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 2. 导入样式
|
|
37
|
+
|
|
38
|
+
在 `styles.scss` 中:
|
|
39
|
+
|
|
40
|
+
```scss
|
|
41
|
+
@import '@reskin/bpmn/bpmn.scss';
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 3. 使用组件
|
|
45
|
+
|
|
46
|
+
```html
|
|
47
|
+
<!-- 编辑器 -->
|
|
48
|
+
<rk-bpmn-editor [data]="bpmnXml"></rk-bpmn-editor>
|
|
49
|
+
|
|
50
|
+
<!-- 查看器 -->
|
|
51
|
+
<rk-bpmn-viewer [data]="bpmnXml"></rk-bpmn-viewer>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 文档
|
|
55
|
+
|
|
56
|
+
完整文档请查看:[流程图组件文档](../../web/src/assets/doc/extends/流程图.md)
|
|
57
|
+
|
|
58
|
+
## API
|
|
59
|
+
|
|
60
|
+
### RkBpmnEditorComponent
|
|
61
|
+
|
|
62
|
+
编辑器组件,提供完整的 BPMN 流程图编辑功能。
|
|
63
|
+
|
|
64
|
+
**输入属性:**
|
|
65
|
+
- `data?: string` - BPMN XML 数据
|
|
66
|
+
- `propertiesTemplate?: TemplateRef<void>` - 自定义属性面板模板
|
|
67
|
+
|
|
68
|
+
**输出事件:**
|
|
69
|
+
- `selectionChange: EventEmitter<RkBpmnSelectionChangeEvent>` - 选中元素变化事件
|
|
70
|
+
|
|
71
|
+
**公共方法:**
|
|
72
|
+
- `importXML(xml: string)` - 导入 BPMN XML
|
|
73
|
+
- `saveXML(format?: boolean)` - 保存为 XML
|
|
74
|
+
- `downloadBPMN(config?)` - 下载为 .bpmn 文件
|
|
75
|
+
- `downloadSVG(filename?)` - 下载为 .svg 文件
|
|
76
|
+
- `zoomIn()` / `zoomOut()` / `zoomReset()` - 缩放操作
|
|
77
|
+
- 更多方法请查看完整文档
|
|
78
|
+
|
|
79
|
+
### RkBpmnViewerComponent
|
|
80
|
+
|
|
81
|
+
查看器组件,提供只读的 BPMN 流程图查看功能。
|
|
82
|
+
|
|
83
|
+
**输入属性:**
|
|
84
|
+
- `data!: string` - BPMN XML 数据(必填)
|
|
85
|
+
|
|
86
|
+
**输出事件:**
|
|
87
|
+
- `afterRenderChange: EventEmitter<RkBpmnAfterRenderEvent>` - 渲染完成事件
|
|
88
|
+
|
|
89
|
+
**公共方法:**
|
|
90
|
+
- `importXML(xml: string)` - 导入 BPMN XML
|
|
91
|
+
- `zoomIn()` / `zoomOut()` / `zoomReset()` - 缩放操作
|
|
92
|
+
- 更多方法请查看完整文档
|
|
93
|
+
|
|
94
|
+
## 示例
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
import { Component } from '@angular/core';
|
|
98
|
+
import { RkBpmnSelectionChangeEvent } from '@reskin/bpmn';
|
|
99
|
+
|
|
100
|
+
@Component({
|
|
101
|
+
selector: 'app-demo',
|
|
102
|
+
template: `
|
|
103
|
+
<rk-bpmn-editor
|
|
104
|
+
[data]="bpmnXml"
|
|
105
|
+
(selectionChange)="onSelectionChange($event)">
|
|
106
|
+
</rk-bpmn-editor>
|
|
107
|
+
`,
|
|
108
|
+
})
|
|
109
|
+
export class DemoComponent {
|
|
110
|
+
bpmnXml = `<?xml version="1.0" encoding="UTF-8"?>
|
|
111
|
+
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL">
|
|
112
|
+
<bpmn:process id="Process_1" isExecutable="false" />
|
|
113
|
+
</bpmn:definitions>`;
|
|
114
|
+
|
|
115
|
+
onSelectionChange(event: RkBpmnSelectionChangeEvent): void {
|
|
116
|
+
console.log('选中的元素:', event.element);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## 依赖
|
|
122
|
+
|
|
123
|
+
- Angular 12.x
|
|
124
|
+
- bpmn-js 17.x
|
|
125
|
+
- diagram-js-grid 1.x
|
|
126
|
+
- diagram-js-minimap 5.x
|
|
127
|
+
|
|
128
|
+
## 许可证
|
|
129
|
+
|
|
130
|
+
MIT
|
|
131
|
+
|
|
132
|
+
## 更新日志
|
|
133
|
+
|
|
134
|
+
### 0.0.7 (重构版本)
|
|
135
|
+
|
|
136
|
+
- 🎨 使用 Tailwind CSS 重构 UI
|
|
137
|
+
- 🏗️ 引入抽象基类,优化代码结构
|
|
138
|
+
- 📝 完善 TypeScript 类型定义
|
|
139
|
+
- 🧪 添加完整的单元测试
|
|
140
|
+
- 📚 重写技术文档
|
|
141
|
+
- ⚡ 优化生命周期和内存管理
|
|
142
|
+
- 🔧 改进 API 设计,提供更多实用方法
|