aldehyde 0.2.473 → 0.2.475

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.
Files changed (203) hide show
  1. package/lib/controls/action/utils.d.ts +1 -1
  2. package/lib/controls/entity-select/entity-select.d.ts +2 -2
  3. package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
  4. package/lib/controls/entity-select/entity-select.js +16 -7
  5. package/lib/controls/entity-select/entity-select.js.map +1 -1
  6. package/lib/controls/entry-control.d.ts.map +1 -1
  7. package/lib/controls/entry-control.js +3 -2
  8. package/lib/controls/entry-control.js.map +1 -1
  9. package/lib/controls/icon-selector/icon/phonenode-menu-icon/iconfont.css +47 -3
  10. package/lib/controls/icon-selector/icon/phonenode-menu-icon/iconfont.js +12 -12
  11. package/lib/controls/icon-selector/icon/phonenode-menu-icon/iconfont.js.map +1 -1
  12. package/lib/controls/icon-selector/icon/phonenode-menu-icon/iconfont.json +77 -0
  13. package/lib/controls/icon-selector/icon/phonenode-menu-icon/iconfont.ttf +0 -0
  14. package/lib/controls/icon-selector/icon/phonenode-menu-icon/iconfont.woff +0 -0
  15. package/lib/controls/icon-selector/icon/phonenode-menu-icon/iconfont.woff2 +0 -0
  16. package/lib/controls/select/index.d.ts.map +1 -1
  17. package/lib/controls/select/index.js +13 -7
  18. package/lib/controls/select/index.js.map +1 -1
  19. package/lib/controls/text/index.less +1 -0
  20. package/lib/controls/view-control.d.ts.map +1 -1
  21. package/lib/controls/view-control.js +1 -0
  22. package/lib/controls/view-control.js.map +1 -1
  23. package/lib/detail/button/edit-button.d.ts.map +1 -1
  24. package/lib/detail/button/edit-button.js +23 -11
  25. package/lib/detail/button/edit-button.js.map +1 -1
  26. package/lib/detail/button/view-button.d.ts.map +1 -1
  27. package/lib/detail/button/view-button.js +21 -10
  28. package/lib/detail/button/view-button.js.map +1 -1
  29. package/lib/draw-canvas/edit/components/asset-bar/index.d.ts +5 -0
  30. package/lib/draw-canvas/edit/components/asset-bar/index.d.ts.map +1 -0
  31. package/lib/draw-canvas/edit/components/asset-bar/index.js +79 -0
  32. package/lib/draw-canvas/edit/components/asset-bar/index.js.map +1 -0
  33. package/lib/draw-canvas/edit/components/asset-bar/index.less +36 -0
  34. package/lib/draw-canvas/edit/components/main-header/index.d.ts +19 -0
  35. package/lib/draw-canvas/edit/components/main-header/index.d.ts.map +1 -0
  36. package/lib/draw-canvas/edit/components/main-header/index.js +203 -0
  37. package/lib/draw-canvas/edit/components/main-header/index.js.map +1 -0
  38. package/lib/draw-canvas/edit/components/main-header/index.less +21 -0
  39. package/lib/draw-canvas/edit/components/render/index.d.ts +90 -0
  40. package/lib/draw-canvas/edit/components/render/index.d.ts.map +1 -0
  41. package/lib/draw-canvas/edit/components/render/index.js +692 -0
  42. package/lib/draw-canvas/edit/components/render/index.js.map +1 -0
  43. package/lib/draw-canvas/edit/components/render/types.d.ts +247 -0
  44. package/lib/draw-canvas/edit/components/render/types.d.ts.map +1 -0
  45. package/lib/draw-canvas/edit/components/render/types.js +66 -0
  46. package/lib/draw-canvas/edit/components/render/types.js.map +1 -0
  47. package/lib/draw-canvas/edit/components/setting-form/imag-upload.d.ts +26 -0
  48. package/lib/draw-canvas/edit/components/setting-form/imag-upload.d.ts.map +1 -0
  49. package/lib/draw-canvas/edit/components/setting-form/imag-upload.js +83 -0
  50. package/lib/draw-canvas/edit/components/setting-form/imag-upload.js.map +1 -0
  51. package/lib/draw-canvas/edit/components/setting-form/index.d.ts +17 -0
  52. package/lib/draw-canvas/edit/components/setting-form/index.d.ts.map +1 -0
  53. package/lib/draw-canvas/edit/components/setting-form/index.js +243 -0
  54. package/lib/draw-canvas/edit/components/setting-form/index.js.map +1 -0
  55. package/lib/draw-canvas/edit/constant.d.ts +7 -0
  56. package/lib/draw-canvas/edit/constant.d.ts.map +1 -0
  57. package/lib/draw-canvas/edit/constant.js +7 -0
  58. package/lib/draw-canvas/edit/constant.js.map +1 -0
  59. package/lib/draw-canvas/edit/index.d.ts +8 -0
  60. package/lib/draw-canvas/edit/index.d.ts.map +1 -0
  61. package/lib/draw-canvas/edit/index.js +165 -0
  62. package/lib/draw-canvas/edit/index.js.map +1 -0
  63. package/lib/draw-canvas/edit/index.less +49 -0
  64. package/lib/draw-canvas/view/index.d.ts +8 -0
  65. package/lib/draw-canvas/view/index.d.ts.map +1 -0
  66. package/lib/draw-canvas/view/index.js +50 -0
  67. package/lib/draw-canvas/view/index.js.map +1 -0
  68. package/lib/draw-canvas/view/index.less +60 -0
  69. package/lib/draw-canvas/view/view.d.ts +10 -0
  70. package/lib/draw-canvas/view/view.d.ts.map +1 -0
  71. package/lib/draw-canvas/view/view.js +104 -0
  72. package/lib/draw-canvas/view/view.js.map +1 -0
  73. package/lib/form/form-Item-group.d.ts.map +1 -1
  74. package/lib/form/form-Item-group.js +4 -4
  75. package/lib/form/form-Item-group.js.map +1 -1
  76. package/lib/icon/local-aliIcon/iconfont.js +5 -5
  77. package/lib/icon/local-aliIcon/iconfont.js.map +1 -1
  78. package/lib/lowcode-components/index.d.ts +2 -0
  79. package/lib/lowcode-components/index.d.ts.map +1 -1
  80. package/lib/lowcode-components/index.js +2 -1
  81. package/lib/lowcode-components/index.js.map +1 -1
  82. package/lib/lowcode-components/lowcode-view/component/assets.d.ts.map +1 -1
  83. package/lib/lowcode-components/lowcode-view/component/assets.js +8 -0
  84. package/lib/lowcode-components/lowcode-view/component/assets.js.map +1 -1
  85. package/lib/lowcode-components/radar-chart/index.d.ts +51 -0
  86. package/lib/lowcode-components/radar-chart/index.d.ts.map +1 -0
  87. package/lib/lowcode-components/radar-chart/index.js +276 -0
  88. package/lib/lowcode-components/radar-chart/index.js.map +1 -0
  89. package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
  90. package/lib/module/dtmpl-edit-card.js +18 -1
  91. package/lib/module/dtmpl-edit-card.js.map +1 -1
  92. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  93. package/lib/module/dtmpl-edit-page.js +19 -2
  94. package/lib/module/dtmpl-edit-page.js.map +1 -1
  95. package/lib/routable/ltmpl-route.d.ts +2 -0
  96. package/lib/routable/ltmpl-route.d.ts.map +1 -1
  97. package/lib/routable/ltmpl-route.js +20 -4
  98. package/lib/routable/ltmpl-route.js.map +1 -1
  99. package/lib/table/act-table.d.ts +2 -0
  100. package/lib/table/act-table.d.ts.map +1 -1
  101. package/lib/table/act-table.js +4 -4
  102. package/lib/table/act-table.js.map +1 -1
  103. package/lib/table/column/column-builder.d.ts.map +1 -1
  104. package/lib/table/column/column-builder.js +23 -8
  105. package/lib/table/column/column-builder.js.map +1 -1
  106. package/lib/table/relation-table.d.ts +7 -0
  107. package/lib/table/relation-table.d.ts.map +1 -1
  108. package/lib/tmpl/control-type-supportor.d.ts.map +1 -1
  109. package/lib/tmpl/control-type-supportor.js +1 -0
  110. package/lib/tmpl/control-type-supportor.js.map +1 -1
  111. package/lib/tmpl/hcservice-v3.d.ts +3 -0
  112. package/lib/tmpl/hcservice-v3.d.ts.map +1 -1
  113. package/lib/tmpl/hcservice-v3.js +61 -0
  114. package/lib/tmpl/hcservice-v3.js.map +1 -1
  115. package/lib/tmpl/interface.d.ts +17 -1
  116. package/lib/tmpl/interface.d.ts.map +1 -1
  117. package/lib/tmpl/interface.js.map +1 -1
  118. package/lib/tmpl/tmpl-config-analysis.js +1 -1
  119. package/lib/tmpl/tmpl-config-analysis.js.map +1 -1
  120. package/lib/units/index.d.ts +3 -1
  121. package/lib/units/index.d.ts.map +1 -1
  122. package/lib/units/index.js +33 -3
  123. package/lib/units/index.js.map +1 -1
  124. package/package.json +4 -1
  125. package/src/aldehyde/controls/entity-select/entity-select.tsx +18 -8
  126. package/src/aldehyde/controls/entry-control.tsx +3 -2
  127. package/src/aldehyde/controls/icon-selector/icon/phonenode-menu-icon/iconfont.css +47 -3
  128. package/src/aldehyde/controls/icon-selector/icon/phonenode-menu-icon/iconfont.js +1 -1
  129. package/src/aldehyde/controls/icon-selector/icon/phonenode-menu-icon/iconfont.json +77 -0
  130. package/src/aldehyde/controls/icon-selector/icon/phonenode-menu-icon/iconfont.ttf +0 -0
  131. package/src/aldehyde/controls/icon-selector/icon/phonenode-menu-icon/iconfont.woff +0 -0
  132. package/src/aldehyde/controls/icon-selector/icon/phonenode-menu-icon/iconfont.woff2 +0 -0
  133. package/src/aldehyde/controls/select/index.tsx +7 -6
  134. package/src/aldehyde/controls/text/index.less +1 -0
  135. package/src/aldehyde/controls/view-control.tsx +1 -0
  136. package/src/aldehyde/detail/button/edit-button.tsx +21 -22
  137. package/src/aldehyde/detail/button/view-button.tsx +23 -21
  138. package/src/aldehyde/draw-canvas/edit/components/asset-bar/index.less +36 -0
  139. package/src/aldehyde/draw-canvas/edit/components/asset-bar/index.tsx +95 -0
  140. package/src/aldehyde/draw-canvas/edit/components/main-header/index.less +21 -0
  141. package/src/aldehyde/draw-canvas/edit/components/main-header/index.tsx +233 -0
  142. package/src/aldehyde/draw-canvas/edit/components/render/draws/bg-draw.ts +163 -0
  143. package/src/aldehyde/draw-canvas/edit/components/render/draws/contextmenu-draw.ts +307 -0
  144. package/src/aldehyde/draw-canvas/edit/components/render/draws/graph-draw.ts +251 -0
  145. package/src/aldehyde/draw-canvas/edit/components/render/draws/index.ts +7 -0
  146. package/src/aldehyde/draw-canvas/edit/components/render/draws/link-draw.ts +1416 -0
  147. package/src/aldehyde/draw-canvas/edit/components/render/draws/preview-draw.ts +275 -0
  148. package/src/aldehyde/draw-canvas/edit/components/render/draws/ref-line-draw.ts +72 -0
  149. package/src/aldehyde/draw-canvas/edit/components/render/draws/ruler-draw.ts +167 -0
  150. package/src/aldehyde/draw-canvas/edit/components/render/graphs/base-graph.ts +241 -0
  151. package/src/aldehyde/draw-canvas/edit/components/render/graphs/bezier.ts +542 -0
  152. package/src/aldehyde/draw-canvas/edit/components/render/graphs/circle.ts +700 -0
  153. package/src/aldehyde/draw-canvas/edit/components/render/graphs/curve.ts +501 -0
  154. package/src/aldehyde/draw-canvas/edit/components/render/graphs/index.ts +6 -0
  155. package/src/aldehyde/draw-canvas/edit/components/render/graphs/line.ts +494 -0
  156. package/src/aldehyde/draw-canvas/edit/components/render/graphs/rect.ts +681 -0
  157. package/src/aldehyde/draw-canvas/edit/components/render/handlers/drag-handlers.ts +69 -0
  158. package/src/aldehyde/draw-canvas/edit/components/render/handlers/drag-outside-handlers.ts +159 -0
  159. package/src/aldehyde/draw-canvas/edit/components/render/handlers/graph-handlers.ts +108 -0
  160. package/src/aldehyde/draw-canvas/edit/components/render/handlers/index.ts +9 -0
  161. package/src/aldehyde/draw-canvas/edit/components/render/handlers/key-move-handlers.ts +50 -0
  162. package/src/aldehyde/draw-canvas/edit/components/render/handlers/link-handlers.ts +46 -0
  163. package/src/aldehyde/draw-canvas/edit/components/render/handlers/selection-handlers.ts +393 -0
  164. package/src/aldehyde/draw-canvas/edit/components/render/handlers/shutcut-handlers.ts +46 -0
  165. package/src/aldehyde/draw-canvas/edit/components/render/handlers/text-handlers.ts +82 -0
  166. package/src/aldehyde/draw-canvas/edit/components/render/handlers/zoom-handlers.ts +60 -0
  167. package/src/aldehyde/draw-canvas/edit/components/render/index.ts +776 -0
  168. package/src/aldehyde/draw-canvas/edit/components/render/tools/align-tool.ts +91 -0
  169. package/src/aldehyde/draw-canvas/edit/components/render/tools/asset-tool.ts +142 -0
  170. package/src/aldehyde/draw-canvas/edit/components/render/tools/attract-tool.ts +440 -0
  171. package/src/aldehyde/draw-canvas/edit/components/render/tools/copy-tool.ts +269 -0
  172. package/src/aldehyde/draw-canvas/edit/components/render/tools/import-export-tool.ts +603 -0
  173. package/src/aldehyde/draw-canvas/edit/components/render/tools/index.ts +9 -0
  174. package/src/aldehyde/draw-canvas/edit/components/render/tools/link-tool.ts +225 -0
  175. package/src/aldehyde/draw-canvas/edit/components/render/tools/position-tool.ts +194 -0
  176. package/src/aldehyde/draw-canvas/edit/components/render/tools/selection-tool.ts +132 -0
  177. package/src/aldehyde/draw-canvas/edit/components/render/tools/z-index-tool.ts +227 -0
  178. package/src/aldehyde/draw-canvas/edit/components/render/types.ts +291 -0
  179. package/src/aldehyde/draw-canvas/edit/components/render/utils/a-star.ts +116 -0
  180. package/src/aldehyde/draw-canvas/edit/components/render/utils/bezier-scene-func.ts +73 -0
  181. package/src/aldehyde/draw-canvas/edit/components/setting-form/imag-upload.tsx +118 -0
  182. package/src/aldehyde/draw-canvas/edit/components/setting-form/index.tsx +295 -0
  183. package/src/aldehyde/draw-canvas/edit/constant.ts +6 -0
  184. package/src/aldehyde/draw-canvas/edit/index.less +49 -0
  185. package/src/aldehyde/draw-canvas/edit/index.tsx +197 -0
  186. package/src/aldehyde/draw-canvas/view/index.less +60 -0
  187. package/src/aldehyde/draw-canvas/view/index.tsx +48 -0
  188. package/src/aldehyde/draw-canvas/view/view.tsx +114 -0
  189. package/src/aldehyde/form/form-Item-group.tsx +5 -5
  190. package/src/aldehyde/icon/local-aliIcon/iconfont.js +1 -1
  191. package/src/aldehyde/lowcode-components/index.ts +4 -2
  192. package/src/aldehyde/lowcode-components/lowcode-view/component/assets.ts +8 -0
  193. package/src/aldehyde/lowcode-components/radar-chart/index.tsx +323 -0
  194. package/src/aldehyde/module/dtmpl-edit-card.tsx +18 -1
  195. package/src/aldehyde/module/dtmpl-edit-page.tsx +19 -2
  196. package/src/aldehyde/routable/ltmpl-route.tsx +39 -3
  197. package/src/aldehyde/table/act-table.tsx +7 -4
  198. package/src/aldehyde/table/column/column-builder.tsx +29 -9
  199. package/src/aldehyde/tmpl/control-type-supportor.tsx +1 -0
  200. package/src/aldehyde/tmpl/hcservice-v3.tsx +44 -0
  201. package/src/aldehyde/tmpl/interface.tsx +15 -1
  202. package/src/aldehyde/tmpl/tmpl-config-analysis.tsx +1 -1
  203. package/src/aldehyde/units/index.tsx +31 -3
@@ -0,0 +1,692 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import * as _ from 'lodash';
11
+ import Konva from 'konva';
12
+ import { GraphDraw, LinkDraw, RulerDraw, PreviewDraw, RefLineDraw, BgDraw, ContextmenuDraw } from './draws';
13
+ import { AssetType, ImageType } from './types';
14
+ import { DragHandlers, ZoomHandlers, DragOutsideHandlers, SelectionHandlers, KeyMoveHandlers, ShutcutHandlers, LinkHandlers, GraphHandlers, TextHandlers } from './handlers';
15
+ import { AssetTool, SelectionTool, CopyTool, PositionTool, ZIndexTool, ImportExportTool, AlignTool, LinkTool, AttractTool } from './tools';
16
+ // 简单的事件系统替代 mitt
17
+ class SimpleEventEmitter {
18
+ constructor() {
19
+ this.listeners = new Map();
20
+ }
21
+ on(event, handler) {
22
+ if (!this.listeners.has(event)) {
23
+ this.listeners.set(event, new Set());
24
+ }
25
+ this.listeners.get(event).add(handler);
26
+ return () => this.off(event, handler);
27
+ }
28
+ off(event, handler) {
29
+ var _a;
30
+ (_a = this.listeners.get(event)) === null || _a === void 0 ? void 0 : _a.delete(handler);
31
+ }
32
+ emit(event, ...args) {
33
+ var _a;
34
+ (_a = this.listeners.get(event)) === null || _a === void 0 ? void 0 : _a.forEach(handler => handler(...args));
35
+ }
36
+ }
37
+ // 渲染器
38
+ export class Render {
39
+ constructor(stageEle, config) {
40
+ this.layer = new Konva.Layer({ id: 'main' }); // 主要层
41
+ this.layerFloor = new Konva.Layer(); // 辅助层 - 背景
42
+ this.layerCover = new Konva.Layer({ id: 'cover' }); // 辅助层 - 连接线、对齐线
43
+ this.draws = {}; // 附加工具
44
+ this.groupTransformer = new Konva.Group(); // 多选器层
45
+ // 多选器
46
+ this.transformer = new Konva.Transformer({
47
+ shouldOverdrawWholeArea: true,
48
+ borderDash: [4, 4],
49
+ padding: 1,
50
+ rotationSnaps: [0, 45, 90, 135, 180, 225, 270, 315, 360],
51
+ flipEnabled: false
52
+ });
53
+ // 选择框
54
+ this.selectRect = new Konva.Rect({
55
+ id: 'selectRect',
56
+ fill: 'rgba(0,0,255,0.1)',
57
+ visible: false
58
+ });
59
+ // 事件处理
60
+ this.handlers = {};
61
+ // 参数
62
+ this.bgSize = 20;
63
+ this.rulerSize = 0;
64
+ this.previewSize = 0.2; // 预览框大小(比例)
65
+ this.pointSize = 6;
66
+ this.history = [];
67
+ this.historyIndex = -1;
68
+ this.graphType = undefined; // 画图类型
69
+ this.texting = false; // 添加文字中
70
+ this.showGrid = true; // 显示网格
71
+ this.showAttract = true; // 显示磁吸
72
+ // 事件发射器(替代 mitt)
73
+ this.emitter = new SimpleEventEmitter();
74
+ this.config = config;
75
+ // 绑定事件方法
76
+ this.on = this.emitter.on.bind(this.emitter);
77
+ this.off = this.emitter.off.bind(this.emitter);
78
+ this.emit = this.emitter.emit.bind(this.emitter);
79
+ if (this.config.showRuler) {
80
+ this.rulerSize = 40;
81
+ }
82
+ this.stage = new Konva.Stage({
83
+ container: stageEle,
84
+ x: this.rulerSize,
85
+ y: this.rulerSize,
86
+ width: config.width,
87
+ height: config.height
88
+ });
89
+ // 辅助层 - 顶层
90
+ this.groupTransformer.add(this.transformer);
91
+ this.groupTransformer.add(this.selectRect);
92
+ this.layerCover.add(this.groupTransformer);
93
+ if (this.config.showBg) { // 背景
94
+ this.draws[BgDraw.name] = new BgDraw(this, this.layerFloor, { size: this.bgSize, showGrid: this.showGrid, readonly: this.config.readonly });
95
+ }
96
+ this.draws[LinkDraw.name] = new LinkDraw(this, this.layerCover, {
97
+ size: this.pointSize
98
+ });
99
+ if (!this.config.readonly && this.config.showRuler) {
100
+ this.draws[RulerDraw.name] = new RulerDraw(this, this.layerCover, {
101
+ size: this.rulerSize
102
+ });
103
+ }
104
+ if (!this.config.readonly && this.config.showRefLine) {
105
+ this.draws[RefLineDraw.name] = new RefLineDraw(this, this.layerCover, {
106
+ padding: this.rulerSize
107
+ });
108
+ }
109
+ if (this.config.showContextmenu) {
110
+ this.draws[ContextmenuDraw.name] = new ContextmenuDraw(this, this.layerCover, {});
111
+ }
112
+ if (!this.config.readonly && this.config.showPreview) {
113
+ this.draws[PreviewDraw.name] = new PreviewDraw(this, this.layerCover, {
114
+ size: this.previewSize
115
+ });
116
+ }
117
+ this.draws[GraphDraw.name] = new GraphDraw(this, this.layerCover, {});
118
+ this.assetTool = new AssetTool(this); // 素材工具
119
+ this.selectionTool = new SelectionTool(this); // 选择工具
120
+ this.copyTool = new CopyTool(this); // 复制工具
121
+ this.positionTool = new PositionTool(this); // 定位工具
122
+ this.zIndexTool = new ZIndexTool(this); // 定位工具
123
+ this.importExportTool = new ImportExportTool(this); // 导入导出
124
+ this.alignTool = new AlignTool(this); // 对齐工具
125
+ this.linkTool = new LinkTool(this); // 对齐工具
126
+ this.attractTool = new AttractTool(this); // 磁贴工具
127
+ // 事件处理
128
+ this.handlers[DragHandlers.name] = new DragHandlers(this);
129
+ this.handlers[ZoomHandlers.name] = new ZoomHandlers(this);
130
+ if (!this.config.readonly) {
131
+ this.handlers[DragOutsideHandlers.name] = new DragOutsideHandlers(this);
132
+ this.handlers[SelectionHandlers.name] = new SelectionHandlers(this);
133
+ this.handlers[KeyMoveHandlers.name] = new KeyMoveHandlers(this);
134
+ this.handlers[LinkHandlers.name] = new LinkHandlers(this);
135
+ this.handlers[GraphHandlers.name] = new GraphHandlers(this);
136
+ this.handlers[TextHandlers.name] = new TextHandlers(this);
137
+ }
138
+ if (!this.config.readonly && this.config.showRefLine) {
139
+ if (this.draws[RefLineDraw.name] !== void 0) {
140
+ this.handlers[RefLineDraw.name] = this.draws[RefLineDraw.name];
141
+ }
142
+ }
143
+ this.handlers[ShutcutHandlers.name] = new ShutcutHandlers(this);
144
+ // 初始化
145
+ this.init();
146
+ }
147
+ // 初始化
148
+ init() {
149
+ var _a, _b, _c, _d, _e, _f;
150
+ this.stage.add(this.layerFloor);
151
+ (_a = this.draws[BgDraw.name]) === null || _a === void 0 ? void 0 : _a.init();
152
+ this.stage.add(this.layer);
153
+ this.stage.add(this.layerCover);
154
+ (_b = this.draws[LinkDraw.name]) === null || _b === void 0 ? void 0 : _b.init();
155
+ (_c = this.draws[RulerDraw.name]) === null || _c === void 0 ? void 0 : _c.init();
156
+ (_d = this.draws[RefLineDraw.name]) === null || _d === void 0 ? void 0 : _d.init();
157
+ (_e = this.draws[ContextmenuDraw.name]) === null || _e === void 0 ? void 0 : _e.init();
158
+ (_f = this.draws[PreviewDraw.name]) === null || _f === void 0 ? void 0 : _f.init();
159
+ // 事件绑定
160
+ this.eventBind();
161
+ // 更新历史
162
+ this.updateHistory();
163
+ }
164
+ // 更新 stage 尺寸
165
+ resize(width, height) {
166
+ this.stage.setAttrs({
167
+ width: width,
168
+ height: height
169
+ });
170
+ // 重绘
171
+ this.redraw();
172
+ }
173
+ // 移除元素
174
+ remove(nodes) {
175
+ for (const node of nodes) {
176
+ if (node instanceof Konva.Transformer) {
177
+ // 移除已选择的节点
178
+ this.remove(this.selectionTool.selectingNodes);
179
+ }
180
+ else {
181
+ // 移除相关联系线信息
182
+ const groupId = node.id();
183
+ for (const rn of this.layer.getChildren()) {
184
+ if (rn.id() !== groupId && Array.isArray(rn.attrs.points)) {
185
+ for (const point of rn.attrs.points) {
186
+ if (Array.isArray(point.pairs)) {
187
+ // 移除拐点记录
188
+ if (rn.attrs.manualPointsMap) {
189
+ point.pairs
190
+ .filter((pair) => pair.from.groupId === groupId || pair.to.groupId === groupId)
191
+ .forEach((pair) => {
192
+ rn.attrs.manualPointsMap[pair.id] = undefined;
193
+ });
194
+ }
195
+ // 连接线信息
196
+ point.pairs = point.pairs.filter((pair) => pair.from.groupId !== groupId && pair.to.groupId !== groupId);
197
+ }
198
+ }
199
+ rn.setAttrs({ points: rn.attrs.points });
200
+ }
201
+ }
202
+ // 移除未选择的节点
203
+ node.destroy();
204
+ }
205
+ }
206
+ if (nodes.length > 0) {
207
+ // 清除选择
208
+ this.selectionTool.selectingClear();
209
+ this.linkTool.selectingClear();
210
+ // 更新历史
211
+ this.updateHistory();
212
+ // 重绘
213
+ this.redraw();
214
+ }
215
+ }
216
+ // 撤销
217
+ prevHistory() {
218
+ const record = this.history[this.historyIndex - 1];
219
+ if (record) {
220
+ this.importExportTool.restore(record, true);
221
+ this.historyIndex--;
222
+ // 历史变化事件
223
+ this.emit('history-change', {
224
+ records: _.clone(this.history),
225
+ index: this.historyIndex
226
+ });
227
+ }
228
+ }
229
+ // 恢复
230
+ nextHistory() {
231
+ const record = this.history[this.historyIndex + 1];
232
+ if (record) {
233
+ this.importExportTool.restore(record, true);
234
+ this.historyIndex++;
235
+ // 历史变化事件
236
+ this.emit('history-change', {
237
+ records: _.clone(this.history),
238
+ index: this.historyIndex
239
+ });
240
+ }
241
+ }
242
+ updateHistory() {
243
+ this.history.splice(this.historyIndex + 1);
244
+ this.history.push(this.importExportTool.save());
245
+ this.historyIndex = this.history.length - 1;
246
+ // 历史变化事件
247
+ this.emit('history-change', {
248
+ records: _.clone(this.history),
249
+ index: this.historyIndex
250
+ });
251
+ }
252
+ // 事件绑定
253
+ eventBind() {
254
+ var _a, _b;
255
+ for (const event of [
256
+ 'mousedown',
257
+ 'mouseup',
258
+ 'mousemove',
259
+ 'wheel',
260
+ 'contextmenu',
261
+ 'pointerclick'
262
+ ]) {
263
+ this.stage.on(event, (e) => {
264
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
265
+ (_a = e === null || e === void 0 ? void 0 : e.evt) === null || _a === void 0 ? void 0 : _a.preventDefault();
266
+ for (const k in this.draws) {
267
+ (_e = (_d = (_c = (_b = this.draws[k]) === null || _b === void 0 ? void 0 : _b.handlers) === null || _c === void 0 ? void 0 : _c.stage) === null || _d === void 0 ? void 0 : _d[event]) === null || _e === void 0 ? void 0 : _e.call(_d, e);
268
+ }
269
+ for (const k in this.handlers) {
270
+ (_j = (_h = (_g = (_f = this.handlers[k]) === null || _f === void 0 ? void 0 : _f.handlers) === null || _g === void 0 ? void 0 : _g.stage) === null || _h === void 0 ? void 0 : _h[event]) === null || _j === void 0 ? void 0 : _j.call(_h, e);
271
+ }
272
+ });
273
+ }
274
+ const container = this.stage.container();
275
+ container.tabIndex = 1;
276
+ container.focus();
277
+ for (const event of [
278
+ 'mouseenter',
279
+ 'dragenter',
280
+ 'mousemove',
281
+ 'mouseout',
282
+ 'dragenter',
283
+ 'dragover',
284
+ 'drop',
285
+ 'keydown',
286
+ 'keyup'
287
+ ]) {
288
+ container.addEventListener(event, (e) => {
289
+ var _a, _b, _c, _d, _e, _f, _g, _h;
290
+ e === null || e === void 0 ? void 0 : e.preventDefault();
291
+ if (['mouseenter', 'dragenter'].includes(event)) {
292
+ // 激活 dom 事件
293
+ this.stage.container().focus();
294
+ }
295
+ for (const k in this.draws) {
296
+ (_d = (_c = (_b = (_a = this.draws[k]) === null || _a === void 0 ? void 0 : _a.handlers) === null || _b === void 0 ? void 0 : _b.dom) === null || _c === void 0 ? void 0 : _c[event]) === null || _d === void 0 ? void 0 : _d.call(_c, e);
297
+ }
298
+ for (const k in this.handlers) {
299
+ (_h = (_g = (_f = (_e = this.handlers[k]) === null || _e === void 0 ? void 0 : _e.handlers) === null || _f === void 0 ? void 0 : _f.dom) === null || _g === void 0 ? void 0 : _g[event]) === null || _h === void 0 ? void 0 : _h.call(_g, e);
300
+ }
301
+ });
302
+ }
303
+ for (const event of [
304
+ 'mousedown',
305
+ 'transformstart',
306
+ 'transform',
307
+ 'transformend',
308
+ 'dragstart',
309
+ 'dragmove',
310
+ 'dragend',
311
+ 'mousemove',
312
+ 'mouseleave',
313
+ 'dblclick'
314
+ ]) {
315
+ this.transformer.on(event, (e) => {
316
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
317
+ (_a = e === null || e === void 0 ? void 0 : e.evt) === null || _a === void 0 ? void 0 : _a.preventDefault();
318
+ for (const k in this.draws) {
319
+ (_e = (_d = (_c = (_b = this.draws[k]) === null || _b === void 0 ? void 0 : _b.handlers) === null || _c === void 0 ? void 0 : _c.transformer) === null || _d === void 0 ? void 0 : _d[event]) === null || _e === void 0 ? void 0 : _e.call(_d, e);
320
+ }
321
+ for (const k in this.handlers) {
322
+ (_j = (_h = (_g = (_f = this.handlers[k]) === null || _f === void 0 ? void 0 : _f.handlers) === null || _g === void 0 ? void 0 : _g.transformer) === null || _h === void 0 ? void 0 : _h[event]) === null || _j === void 0 ? void 0 : _j.call(_h, e);
323
+ }
324
+ });
325
+ }
326
+ ((_b = (_a = this.handlers[SelectionHandlers.name]) === null || _a === void 0 ? void 0 : _a.transformerConfig) === null || _b === void 0 ? void 0 : _b.anchorDragBoundFunc) &&
327
+ this.transformer.anchorDragBoundFunc(this.handlers[SelectionHandlers.name].transformerConfig.anchorDragBoundFunc);
328
+ }
329
+ // 获取 stage 状态
330
+ getStageState() {
331
+ return {
332
+ width: this.stage.width() - this.rulerSize,
333
+ height: this.stage.height() - this.rulerSize,
334
+ scale: this.stage.scaleX(),
335
+ x: this.stage.x(),
336
+ y: this.stage.y()
337
+ };
338
+ }
339
+ // 相对大小(基于 stage,且无视 scale)
340
+ toStageValue(boardPos) {
341
+ return boardPos / this.stage.scaleX();
342
+ }
343
+ // 绝对大小(基于可视区域像素)
344
+ toBoardValue(stagePos) {
345
+ return stagePos * this.stage.scaleX();
346
+ }
347
+ // 忽略非素材
348
+ ignore(node) {
349
+ // 素材有各自根 group
350
+ const isGroup = node instanceof Konva.Group;
351
+ return !isGroup || this.ignoreSelect(node) || this.ignoreDraw(node) || this.ignoreLink(node);
352
+ }
353
+ // 忽略 选择时 辅助元素
354
+ ignoreSelect(node) {
355
+ return node.id() === 'selectRect' || node.id() === 'hoverRect';
356
+ }
357
+ // 忽略各 draw 的根 group
358
+ ignoreDraw(node) {
359
+ return [BgDraw.name, RulerDraw.name, RefLineDraw.name, ContextmenuDraw.name, PreviewDraw.name, LinkDraw.name, GraphDraw.name].includes(node.name());
360
+ }
361
+ // 忽略各 draw 的根 group
362
+ ignoreLink(node) {
363
+ return ["link-anchor", "linking-line", "link-point", "link-line", "link-manual-point"].includes(node.name());
364
+ }
365
+ // 重绘(可选择)
366
+ redraw(drawNames) {
367
+ var _a, _b;
368
+ const all = [
369
+ // layerFloor
370
+ BgDraw.name, // 更新背景
371
+ // layerCover(按先后顺序)
372
+ GraphDraw.name, // 更新图形调整点
373
+ LinkDraw.name, // 更新连线
374
+ RulerDraw.name, // 更新比例尺
375
+ RefLineDraw.name, // 更新参考线
376
+ PreviewDraw.name, // 更新预览
377
+ ContextmenuDraw.name // 更新右键菜单
378
+ ];
379
+ // 可以以此发现缺失的 draw
380
+ // console.log('redraw', drawNames)
381
+ if (Array.isArray(drawNames)) {
382
+ // 选择性 draw 也要保持顺序
383
+ for (const name of all) {
384
+ if (drawNames.includes(name)) {
385
+ (_a = this.draws[name]) === null || _a === void 0 ? void 0 : _a.draw();
386
+ }
387
+ }
388
+ }
389
+ else {
390
+ for (const name of all) {
391
+ (_b = this.draws[name]) === null || _b === void 0 ? void 0 : _b.draw();
392
+ }
393
+ }
394
+ }
395
+ changeDraggable(disabled) {
396
+ this.layer.children.forEach((asset) => {
397
+ asset.draggable(disabled);
398
+ });
399
+ }
400
+ // 改变画图类型
401
+ changeGraphType(type) {
402
+ if (type) {
403
+ this.texting = false;
404
+ this.emit('texting-change', this.texting);
405
+ }
406
+ this.graphType = type;
407
+ this.emit('graph-type-change', this.graphType);
408
+ // 绘制 Graph 的时候,不允许直接拖动其他素材
409
+ this.changeDraggable(!this.config.readonly && this.graphType === void 0);
410
+ }
411
+ // 添加文字状态
412
+ changeTexting(texting) {
413
+ if (texting) {
414
+ this.graphType = undefined;
415
+ this.emit('graph-type-change', this.graphType);
416
+ }
417
+ this.texting = texting;
418
+ this.emit('texting-change', this.texting);
419
+ document.body.style.cursor = this.texting ? 'text' : 'default';
420
+ }
421
+ // 更改网格显示
422
+ changeShowGrid(show) {
423
+ var _a;
424
+ this.showGrid = show;
425
+ (_a = this.draws[BgDraw.name]) === null || _a === void 0 ? void 0 : _a.updateOption({ showGrid: show });
426
+ }
427
+ // 更改磁吸显示
428
+ changeShowAttract(show) {
429
+ this.showAttract = show;
430
+ }
431
+ // 获取页面设置
432
+ getPageSettings() {
433
+ var _a;
434
+ return (_a = this.stage.attrs.pageSettings) !== null && _a !== void 0 ? _a : Object.assign({}, Render.PageSettingsDefault);
435
+ }
436
+ // 更新页面设置
437
+ setPageSettings(settings, update = false) {
438
+ this.stage.setAttr('pageSettings', settings);
439
+ this.emit('page-settings-change', settings);
440
+ // 更新背景
441
+ this.updateBackground();
442
+ if (update) {
443
+ // 更新历史
444
+ this.updateHistory();
445
+ }
446
+ }
447
+ // 获取背景
448
+ getBackground() {
449
+ var _a;
450
+ return (_a = this.draws[BgDraw.name]) === null || _a === void 0 ? void 0 : _a.layer.findOne(`.${BgDraw.name}__background`);
451
+ }
452
+ // 更新背景
453
+ updateBackground() {
454
+ var _a, _b, _c, _d;
455
+ (_a = this.draws[BgDraw.name]) === null || _a === void 0 ? void 0 : _a.draw();
456
+ (_b = this.draws[GraphDraw.name]) === null || _b === void 0 ? void 0 : _b.draw();
457
+ (_c = this.draws[LinkDraw.name]) === null || _c === void 0 ? void 0 : _c.draw();
458
+ (_d = this.draws[PreviewDraw.name]) === null || _d === void 0 ? void 0 : _d.draw();
459
+ }
460
+ // 获取素材设置
461
+ getAssetSettings(asset) {
462
+ var _a, _b, _c, _d;
463
+ const base = (_a = asset === null || asset === void 0 ? void 0 : asset.attrs.assetSettings) !== null && _a !== void 0 ? _a : Object.assign({}, Render.AssetSettingsDefault);
464
+ return Object.assign(Object.assign({}, base), {
465
+ // 继承全局
466
+ stroke: base.stroke || this.getPageSettings().stroke, strokeWidth: base.strokeWidth || this.getPageSettings().strokeWidth, fontSize: base.fontSize || this.getPageSettings().fontSize, textFill: base.textFill || this.getPageSettings().textFill,
467
+ // 绘制图形,默认不填充
468
+ fill: base.fill ||
469
+ ((asset === null || asset === void 0 ? void 0 : asset.attrs.assetType) === AssetType.Graph
470
+ ? 'transparent'
471
+ : this.getPageSettings().fill), x: parseFloat(((_b = asset === null || asset === void 0 ? void 0 : asset.position().x) !== null && _b !== void 0 ? _b : 0).toFixed(1)), y: parseFloat(((_c = asset === null || asset === void 0 ? void 0 : asset.position().y) !== null && _c !== void 0 ? _c : 0).toFixed(1)), rotation: parseFloat(((_d = asset === null || asset === void 0 ? void 0 : asset.rotation()) !== null && _d !== void 0 ? _d : 0).toFixed(1)), tension: (asset === null || asset === void 0 ? void 0 : asset.attrs.assetType) === AssetType.Graph &&
472
+ (asset === null || asset === void 0 ? void 0 : asset.attrs.graphType) === "Curve"
473
+ ? base.tension
474
+ : undefined });
475
+ }
476
+ // 设置 svgXML 样式(部分)
477
+ setSvgXMLSettings(xml, settings) {
478
+ const reg = /<(circle|ellipse|line|path|polygon|rect|text|textPath|tref|tspan)[^>/]*\/?>/g;
479
+ const shapes = xml.match(reg);
480
+ const regStroke = / stroke="([^"]*)"/;
481
+ const regFill = / fill="([^"]*)"/;
482
+ for (const shape of shapes !== null && shapes !== void 0 ? shapes : []) {
483
+ let result = shape;
484
+ if (settings.stroke) {
485
+ if (regStroke.test(shape)) {
486
+ result = result.replace(regStroke, ` stroke="${settings.stroke}"`);
487
+ }
488
+ else {
489
+ result = result.replace(/(<[^>/]*)(\/?>)/, `$1 stroke="${settings.stroke}" $2`);
490
+ }
491
+ }
492
+ if (settings.fill) {
493
+ if (regFill.test(shape)) {
494
+ result = result.replace(regFill, ` fill="${settings.fill}"`);
495
+ }
496
+ else {
497
+ result = result.replace(/(<[^>/]*)(\/?>)/, `$1 fill="${settings.fill}" $2`);
498
+ }
499
+ }
500
+ xml = xml.replace(shape, result);
501
+ }
502
+ return xml;
503
+ }
504
+ rotatePoint({ x, y }, rad) {
505
+ const rCos = Math.cos(rad);
506
+ const rSin = Math.sin(rad);
507
+ return { x: x * rCos - y * rSin, y: y * rCos + x * rSin };
508
+ }
509
+ rotateAroundCenter(node, rotation) {
510
+ const topLeft = { x: -node.width() / 2, y: -node.height() / 2 };
511
+ const current = this.rotatePoint(topLeft, Konva.getAngle(node.rotation()));
512
+ const rotated = this.rotatePoint(topLeft, Konva.getAngle(rotation));
513
+ const dx = rotated.x - current.x;
514
+ const dy = rotated.y - current.y;
515
+ node.rotation(rotation);
516
+ node.x(node.x() + dx);
517
+ node.y(node.y() + dy);
518
+ }
519
+ // 更新素材设置
520
+ setAssetSettings(asset_1, settings_1) {
521
+ return __awaiter(this, arguments, void 0, function* (asset, settings, update = false) {
522
+ var _a, _b, _c, _d, _e;
523
+ asset.setAttr('assetSettings', settings);
524
+ if (asset instanceof Konva.Group) {
525
+ if (asset.attrs.imageType === ImageType.svg) {
526
+ const node = asset.children[0];
527
+ if (node instanceof Konva.Image) {
528
+ if (node.attrs.svgXML) {
529
+ const n = yield this.assetTool.loadSvgXML(this.setSvgXMLSettings(node.attrs.svgXML, settings));
530
+ (_a = node.parent) === null || _a === void 0 ? void 0 : _a.add(n);
531
+ node.remove();
532
+ node.destroy();
533
+ n.zIndex(0);
534
+ }
535
+ }
536
+ }
537
+ else if (asset.attrs.assetType === AssetType.Graph) {
538
+ const node = asset.findOne('.graph');
539
+ if (node instanceof Konva.Shape) {
540
+ node.strokeWidth(settings.strokeWidth);
541
+ node.stroke(settings.stroke);
542
+ if (node instanceof Konva.Arrow) {
543
+ // 箭头跟随 stroke
544
+ node.fill(settings.stroke);
545
+ }
546
+ else {
547
+ node.fill(settings.fill);
548
+ }
549
+ if (node instanceof Konva.Arrow) {
550
+ node.pointerAtBeginning(settings.arrowStart);
551
+ node.pointerAtEnding(settings.arrowEnd);
552
+ }
553
+ if (node instanceof Konva.Arrow && asset.attrs.graphType === "Curve") {
554
+ node.tension(settings.tension);
555
+ }
556
+ }
557
+ }
558
+ else if (asset.attrs.assetType === AssetType.Text) {
559
+ const node = asset.findOne('Text');
560
+ const rect = asset.findOne('Rect');
561
+ if (node instanceof Konva.Text && rect instanceof Konva.Rect) {
562
+ let sizeChanged = false;
563
+ if (node.fontSize() !== settings.fontSize || node.text() !== settings.text) {
564
+ sizeChanged = true;
565
+ }
566
+ node.fill(settings.textFill);
567
+ node.fontSize(settings.fontSize);
568
+ node.text(settings.text);
569
+ // 内容为空时,给一个半透明背景色
570
+ rect.fill(node.text().trim() ? '' : 'rgba(0,0,0,0.1)');
571
+ rect.width(Math.max(node.width(), settings.fontSize));
572
+ rect.height(Math.max(node.height(), settings.fontSize));
573
+ // 刷新 transformer 大小
574
+ if (sizeChanged) {
575
+ this.selectionTool.select([asset]);
576
+ }
577
+ }
578
+ }
579
+ // rotate 会影响 position,不能同时改变
580
+ // 区分属性面板正在调整
581
+ if (Math.abs(settings.rotation - asset.rotation()) >= 0.1) {
582
+ this.rotateAroundCenter(asset, settings.rotation);
583
+ // 同步 position 的变化
584
+ this.emit('asset-position-change', [asset]);
585
+ }
586
+ else {
587
+ const prevSettings = this.getAssetSettings(asset);
588
+ asset.position({
589
+ x: parseFloat(settings.x.toFixed(1)),
590
+ y: parseFloat(settings.y.toFixed(1))
591
+ });
592
+ // 外部调用变化同步
593
+ if (settings.x !== prevSettings.x || settings.y !== prevSettings.y) {
594
+ this.emit('asset-position-change', [asset]);
595
+ }
596
+ }
597
+ }
598
+ if (update) {
599
+ // 更新历史
600
+ this.updateHistory();
601
+ }
602
+ (_b = this.draws[BgDraw.name]) === null || _b === void 0 ? void 0 : _b.draw();
603
+ (_c = this.draws[GraphDraw.name]) === null || _c === void 0 ? void 0 : _c.draw();
604
+ (_d = this.draws[LinkDraw.name]) === null || _d === void 0 ? void 0 : _d.draw();
605
+ (_e = this.draws[PreviewDraw.name]) === null || _e === void 0 ? void 0 : _e.draw();
606
+ });
607
+ }
608
+ // 连接线设置
609
+ setLinkSettings(link_1, settings_1) {
610
+ return __awaiter(this, arguments, void 0, function* (link, settings, update = false) {
611
+ var _a, _b, _c, _d, _e;
612
+ const group = this.layer.findOne(`#${link.attrs.groupId}`);
613
+ if (Array.isArray(group === null || group === void 0 ? void 0 : group.attrs.points)) {
614
+ const point = (group === null || group === void 0 ? void 0 : group.attrs.points).find((o) => o.id === link.attrs.pointId);
615
+ if (point) {
616
+ const pair = point.pairs.find((o) => o.id === link.attrs.pairId);
617
+ if (pair) {
618
+ pair.style = Object.assign(Object.assign(Object.assign({}, pair.style), settings), { strokeWidth: Number((_a = settings.strokeWidth) !== null && _a !== void 0 ? _a : pair.style.strokeWidth) });
619
+ group.setAttr('points', group === null || group === void 0 ? void 0 : group.attrs.points);
620
+ }
621
+ }
622
+ }
623
+ if (update) {
624
+ // 更新历史
625
+ this.updateHistory();
626
+ }
627
+ (_b = this.draws[BgDraw.name]) === null || _b === void 0 ? void 0 : _b.draw();
628
+ (_c = this.draws[GraphDraw.name]) === null || _c === void 0 ? void 0 : _c.draw();
629
+ (_d = this.draws[LinkDraw.name]) === null || _d === void 0 ? void 0 : _d.draw();
630
+ (_e = this.draws[PreviewDraw.name]) === null || _e === void 0 ? void 0 : _e.draw();
631
+ });
632
+ }
633
+ // 获取连接线设置
634
+ getLinkSettings(link) {
635
+ let settings = undefined;
636
+ if (link) {
637
+ const group = this.layer.findOne(`#${link.attrs.groupId}`);
638
+ if (Array.isArray(group === null || group === void 0 ? void 0 : group.attrs.points)) {
639
+ const point = (group === null || group === void 0 ? void 0 : group.attrs.points).find((o) => o.id === link.attrs.pointId);
640
+ if (point) {
641
+ const pair = point.pairs.find((o) => o.id === link.attrs.pairId);
642
+ if (pair) {
643
+ settings = pair.style;
644
+ }
645
+ }
646
+ }
647
+ }
648
+ const base = settings !== null && settings !== void 0 ? settings : Object.assign({}, Render.LinkSettingsDefault);
649
+ return Object.assign(Object.assign({}, base), {
650
+ // 继承全局
651
+ stroke: base.stroke || this.getPageSettings().linkStroke, strokeWidth: base.strokeWidth || this.getPageSettings().linkStrokeWidth });
652
+ }
653
+ }
654
+ // 页面设置 默认值
655
+ Render.PageSettingsDefault = {
656
+ // 画布默认尺寸
657
+ pageWidth: 1280,
658
+ pageHeight: 720,
659
+ // 样式默认值
660
+ background: undefined,
661
+ stroke: 'rgb(0,0,0)',
662
+ strokeWidth: 1,
663
+ fill: 'rgb(0,0,0)',
664
+ linkStroke: 'rgb(0,0,0)',
665
+ linkStrokeWidth: 1,
666
+ fontSize: 24,
667
+ textFill: 'rgb(0,0,0)'
668
+ };
669
+ // 素材设置 默认值
670
+ Render.AssetSettingsDefault = {
671
+ stroke: '',
672
+ strokeWidth: 0,
673
+ fill: '',
674
+ arrowStart: false,
675
+ arrowEnd: false,
676
+ fontSize: 0,
677
+ textFill: '',
678
+ text: 'Text',
679
+ x: 0,
680
+ y: 0,
681
+ rotation: 0,
682
+ tension: 0
683
+ };
684
+ // 连接线设置 默认值
685
+ Render.LinkSettingsDefault = {
686
+ stroke: '',
687
+ strokeWidth: 0,
688
+ arrowStart: false,
689
+ arrowEnd: false,
690
+ tension: 0
691
+ };
692
+ //# sourceMappingURL=index.js.map