@flowgram-vue/document 0.2.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/LICENSE +22 -0
- package/dist/index.cjs +3233 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +1728 -0
- package/dist/index.js +3199 -0
- package/dist/index.js.map +1 -0
- package/package.json +61 -0
- package/src/datas/flow-node-render-data.ts +227 -0
- package/src/datas/flow-node-transform-data.ts +337 -0
- package/src/datas/flow-node-transition-data.ts +182 -0
- package/src/datas/index.ts +8 -0
- package/src/entities/flow-document-transformer-entity.ts +125 -0
- package/src/entities/flow-node-entity.ts +415 -0
- package/src/entities/flow-renderer-state-entity.ts +127 -0
- package/src/entities/index.ts +8 -0
- package/src/flow-document-config.ts +42 -0
- package/src/flow-document-container-module.ts +33 -0
- package/src/flow-document-contribution.ts +22 -0
- package/src/flow-document-options.ts +79 -0
- package/src/flow-document.ts +766 -0
- package/src/flow-render-tree.ts +236 -0
- package/src/flow-virtual-tree.ts +244 -0
- package/src/index.ts +16 -0
- package/src/layout/horizontal-fixed-layout.ts +198 -0
- package/src/layout/index.ts +7 -0
- package/src/layout/vertical-fixed-layout.ts +198 -0
- package/src/services/flow-drag-service.ts +211 -0
- package/src/services/flow-group-service/flow-group-controller.ts +120 -0
- package/src/services/flow-group-service/flow-group-service.ts +107 -0
- package/src/services/flow-group-service/flow-group-utils.ts +104 -0
- package/src/services/flow-group-service/index.ts +7 -0
- package/src/services/flow-operation-base-service.ts +333 -0
- package/src/services/index.ts +8 -0
- package/src/typings/flow-group.ts +8 -0
- package/src/typings/flow-layout.ts +72 -0
- package/src/typings/flow-node-register.ts +356 -0
- package/src/typings/flow-operation.ts +312 -0
- package/src/typings/flow-transition.ts +104 -0
- package/src/typings/flow.ts +70 -0
- package/src/typings/index.ts +11 -0
- package/src/utils/get-default-spacing.ts +21 -0
- package/src/utils/index.ts +6 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
type FlowNodeJSON,
|
|
8
|
+
DefaultSpacingKey,
|
|
9
|
+
FlowTransitionLine,
|
|
10
|
+
FlowTransitionLabel,
|
|
11
|
+
FlowNodeRegistry,
|
|
12
|
+
FlowNodeType,
|
|
13
|
+
} from './typings';
|
|
14
|
+
import { FlowNodeEntity } from './entities';
|
|
15
|
+
|
|
16
|
+
export const FlowDocumentOptions = Symbol('FlowDocumentOptions');
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 流程画布配置
|
|
20
|
+
*/
|
|
21
|
+
export interface FlowDocumentOptions {
|
|
22
|
+
/**
|
|
23
|
+
* 布局,默认 垂直布局
|
|
24
|
+
*/
|
|
25
|
+
defaultLayout?: string;
|
|
26
|
+
/**
|
|
27
|
+
* 所有节点的默认展开状态
|
|
28
|
+
*/
|
|
29
|
+
allNodesDefaultExpanded?: boolean;
|
|
30
|
+
toNodeJSON?(node: FlowNodeEntity): FlowNodeJSON;
|
|
31
|
+
fromNodeJSON?(node: FlowNodeEntity, json: FlowNodeJSON, isFirstCreate: boolean): void;
|
|
32
|
+
constants?: Record<string, any>;
|
|
33
|
+
formatNodeLines?: (node: FlowNodeEntity, lines: FlowTransitionLine[]) => FlowTransitionLine[];
|
|
34
|
+
formatNodeLabels?: (node: FlowNodeEntity, lines: FlowTransitionLabel[]) => FlowTransitionLabel[];
|
|
35
|
+
preNodeCreate?: (node: FlowNodeEntity) => void;
|
|
36
|
+
/**
|
|
37
|
+
* 获取默认的节点配置
|
|
38
|
+
*/
|
|
39
|
+
getNodeDefaultRegistry?: (type: FlowNodeType) => FlowNodeRegistry;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export const FlowDocumentOptionsDefault: FlowDocumentOptions = {
|
|
43
|
+
allNodesDefaultExpanded: false,
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* 支持外部 constants 自定义的 key 枚举
|
|
48
|
+
*/
|
|
49
|
+
export const ConstantKeys = {
|
|
50
|
+
...DefaultSpacingKey,
|
|
51
|
+
/**
|
|
52
|
+
* loop 底部留白
|
|
53
|
+
*/
|
|
54
|
+
INLINE_SPACING_BOTTOM: 'INLINE_SPACING_BOTTOM',
|
|
55
|
+
/**
|
|
56
|
+
* inlineBlocks 的 inlineTop
|
|
57
|
+
* loop 循环线条上边距
|
|
58
|
+
*/
|
|
59
|
+
INLINE_BLOCKS_INLINE_SPACING_TOP: 'INLINE_BLOCKS_INLINE_SPACING_TOP',
|
|
60
|
+
/**
|
|
61
|
+
* inlineBlocks 的 inlineBottom
|
|
62
|
+
* loop 循环线条的下边距
|
|
63
|
+
*
|
|
64
|
+
*/
|
|
65
|
+
INLINE_BLOCKS_INLINE_SPACING_BOTTOM: 'INLINE_BLOCKS_INLINE_SPACING_BOTTOM',
|
|
66
|
+
/***
|
|
67
|
+
* 线条、label 默认颜色
|
|
68
|
+
*/
|
|
69
|
+
BASE_COLOR: 'BASE_COLOR',
|
|
70
|
+
/***
|
|
71
|
+
* 线条、label 激活后的颜色
|
|
72
|
+
*/
|
|
73
|
+
BASE_ACTIVATED_COLOR: 'BASE_ACTIVATED_COLOR',
|
|
74
|
+
/**
|
|
75
|
+
* Branch bottom margin
|
|
76
|
+
* 分支下边距
|
|
77
|
+
*/
|
|
78
|
+
INLINE_BLOCKS_PADDING_TOP: 'INLINE_BLOCKS_PADDING_TOP',
|
|
79
|
+
};
|