@reskin/bpmn 0.0.5 → 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 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 设计,提供更多实用方法