@meta2d/core 1.0.56 → 1.0.58

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 (299) hide show
  1. package/{index.ts → index.d.ts} +9 -9
  2. package/index.js +10 -0
  3. package/index.js.map +1 -0
  4. package/package.json +38 -39
  5. package/src/canvas/canvas.d.ts +456 -0
  6. package/src/canvas/canvas.js +7584 -0
  7. package/src/canvas/canvas.js.map +1 -0
  8. package/src/canvas/canvasImage.d.ts +27 -0
  9. package/src/canvas/canvasImage.js +441 -0
  10. package/src/canvas/canvasImage.js.map +1 -0
  11. package/src/canvas/canvasTemplate.d.ts +18 -0
  12. package/src/canvas/canvasTemplate.js +209 -0
  13. package/src/canvas/canvasTemplate.js.map +1 -0
  14. package/src/canvas/{index.ts → index.d.ts} +2 -2
  15. package/src/canvas/index.js +3 -0
  16. package/src/canvas/index.js.map +1 -0
  17. package/src/canvas/magnifierCanvas.d.ts +19 -0
  18. package/src/canvas/magnifierCanvas.js +102 -0
  19. package/src/canvas/magnifierCanvas.js.map +1 -0
  20. package/src/canvas/offscreen.d.ts +1 -0
  21. package/src/canvas/offscreen.js +14 -0
  22. package/src/canvas/offscreen.js.map +1 -0
  23. package/src/core.d.ts +479 -0
  24. package/src/core.js +4609 -0
  25. package/src/core.js.map +1 -0
  26. package/src/data.d.ts +34 -0
  27. package/src/data.js +85 -0
  28. package/src/data.js.map +1 -0
  29. package/src/diagrams/arrow.d.ts +4 -0
  30. package/src/diagrams/arrow.js +47 -0
  31. package/src/diagrams/arrow.js.map +1 -0
  32. package/src/diagrams/circle.d.ts +2 -0
  33. package/src/diagrams/circle.js +9 -0
  34. package/src/diagrams/circle.js.map +1 -0
  35. package/src/diagrams/cloud.d.ts +2 -0
  36. package/src/diagrams/cloud.js +12 -0
  37. package/src/diagrams/cloud.js.map +1 -0
  38. package/src/diagrams/cube.d.ts +2 -0
  39. package/src/diagrams/cube.js +68 -0
  40. package/src/diagrams/cube.js.map +1 -0
  41. package/src/diagrams/diamond.d.ts +2 -0
  42. package/src/diagrams/diamond.js +13 -0
  43. package/src/diagrams/diamond.js.map +1 -0
  44. package/src/diagrams/file.d.ts +2 -0
  45. package/src/diagrams/file.js +18 -0
  46. package/src/diagrams/file.js.map +1 -0
  47. package/src/diagrams/gif.d.ts +5 -0
  48. package/src/diagrams/gif.js +89 -0
  49. package/src/diagrams/gif.js.map +1 -0
  50. package/src/diagrams/hexagon.d.ts +2 -0
  51. package/src/diagrams/{hexagon.ts → hexagon.js} +55 -60
  52. package/src/diagrams/hexagon.js.map +1 -0
  53. package/src/diagrams/iframe.d.ts +2 -0
  54. package/src/diagrams/iframe.js +338 -0
  55. package/src/diagrams/iframe.js.map +1 -0
  56. package/src/diagrams/index.d.ts +71 -0
  57. package/src/diagrams/{index.ts → index.js} +77 -79
  58. package/src/diagrams/index.js.map +1 -0
  59. package/src/diagrams/line/arrow.d.ts +2 -0
  60. package/src/diagrams/line/arrow.js +128 -0
  61. package/src/diagrams/line/arrow.js.map +1 -0
  62. package/src/diagrams/line/curve.d.ts +16 -0
  63. package/src/diagrams/line/curve.js +227 -0
  64. package/src/diagrams/line/curve.js.map +1 -0
  65. package/src/diagrams/line/{index.ts → index.d.ts} +5 -5
  66. package/src/diagrams/line/index.js +6 -0
  67. package/src/diagrams/line/index.js.map +1 -0
  68. package/src/diagrams/line/line.d.ts +42 -0
  69. package/src/diagrams/line/line.js +375 -0
  70. package/src/diagrams/line/line.js.map +1 -0
  71. package/src/diagrams/line/polyline.d.ts +10 -0
  72. package/src/diagrams/line/polyline.js +627 -0
  73. package/src/diagrams/line/polyline.js.map +1 -0
  74. package/src/diagrams/line/smooth.d.ts +3 -0
  75. package/src/diagrams/line/smooth.js +136 -0
  76. package/src/diagrams/line/smooth.js.map +1 -0
  77. package/src/diagrams/message.d.ts +2 -0
  78. package/src/diagrams/message.js +15 -0
  79. package/src/diagrams/message.js.map +1 -0
  80. package/src/diagrams/mindLine.d.ts +3 -0
  81. package/src/diagrams/mindLine.js +30 -0
  82. package/src/diagrams/mindLine.js.map +1 -0
  83. package/src/diagrams/mindNode.d.ts +3 -0
  84. package/src/diagrams/mindNode.js +161 -0
  85. package/src/diagrams/mindNode.js.map +1 -0
  86. package/src/diagrams/panel.d.ts +2 -0
  87. package/src/diagrams/panel.js +131 -0
  88. package/src/diagrams/panel.js.map +1 -0
  89. package/src/diagrams/pentagon.d.ts +3 -0
  90. package/src/diagrams/pentagon.js +45 -0
  91. package/src/diagrams/pentagon.js.map +1 -0
  92. package/src/diagrams/pentagram.d.ts +3 -0
  93. package/src/diagrams/pentagram.js +51 -0
  94. package/src/diagrams/pentagram.js.map +1 -0
  95. package/src/diagrams/people.d.ts +2 -0
  96. package/src/diagrams/people.js +19 -0
  97. package/src/diagrams/people.js.map +1 -0
  98. package/src/diagrams/rectangle.d.ts +3 -0
  99. package/src/diagrams/rectangle.js +27 -0
  100. package/src/diagrams/rectangle.js.map +1 -0
  101. package/src/diagrams/svg/parse.d.ts +15 -0
  102. package/src/diagrams/svg/parse.js +279 -0
  103. package/src/diagrams/svg/parse.js.map +1 -0
  104. package/src/diagrams/svgPath.d.ts +2 -0
  105. package/src/diagrams/svgPath.js +29 -0
  106. package/src/diagrams/svgPath.js.map +1 -0
  107. package/src/diagrams/triangle.d.ts +3 -0
  108. package/src/diagrams/triangle.js +40 -0
  109. package/src/diagrams/triangle.js.map +1 -0
  110. package/src/diagrams/video.d.ts +5 -0
  111. package/src/diagrams/video.js +184 -0
  112. package/src/diagrams/video.js.map +1 -0
  113. package/src/dialog/dialog.d.ts +21 -0
  114. package/src/dialog/dialog.js +157 -0
  115. package/src/dialog/dialog.js.map +1 -0
  116. package/src/dialog/{index.ts → index.d.ts} +1 -1
  117. package/src/dialog/index.js +2 -0
  118. package/src/dialog/index.js.map +1 -0
  119. package/src/event/event.d.ts +102 -0
  120. package/src/event/event.js +22 -0
  121. package/src/event/event.js.map +1 -0
  122. package/src/event/{index.ts → index.d.ts} +1 -1
  123. package/src/event/index.js +2 -0
  124. package/src/event/index.js.map +1 -0
  125. package/src/map/{index.ts → index.d.ts} +1 -1
  126. package/src/map/index.js +2 -0
  127. package/src/map/index.js.map +1 -0
  128. package/src/map/map.d.ts +21 -0
  129. package/src/map/map.js +212 -0
  130. package/src/map/map.js.map +1 -0
  131. package/src/options.d.ts +130 -0
  132. package/src/options.js +80 -0
  133. package/src/options.js.map +1 -0
  134. package/src/pen/arrow.d.ts +4 -0
  135. package/src/pen/arrow.js +188 -0
  136. package/src/pen/arrow.js.map +1 -0
  137. package/src/pen/{index.ts → index.d.ts} +6 -6
  138. package/src/pen/index.js +7 -0
  139. package/src/pen/index.js.map +1 -0
  140. package/src/pen/math.d.ts +28 -0
  141. package/src/pen/math.js +213 -0
  142. package/src/pen/math.js.map +1 -0
  143. package/src/pen/model.d.ts +514 -0
  144. package/src/pen/model.js +210 -0
  145. package/src/pen/model.js.map +1 -0
  146. package/src/pen/plugin.d.ts +5 -0
  147. package/src/pen/plugin.js +58 -0
  148. package/src/pen/plugin.js.map +1 -0
  149. package/src/pen/render.d.ts +146 -0
  150. package/src/pen/render.js +3234 -0
  151. package/src/pen/render.js.map +1 -0
  152. package/src/pen/text.d.ts +8 -0
  153. package/src/pen/text.js +314 -0
  154. package/src/pen/text.js.map +1 -0
  155. package/src/pen/utils.d.ts +2 -0
  156. package/src/pen/utils.js +19 -0
  157. package/src/pen/utils.js.map +1 -0
  158. package/src/point/{index.ts → index.d.ts} +1 -1
  159. package/src/point/index.js +2 -0
  160. package/src/point/index.js.map +1 -0
  161. package/src/point/point.d.ts +65 -0
  162. package/src/point/point.js +178 -0
  163. package/src/point/point.js.map +1 -0
  164. package/src/rect/{index.ts → index.d.ts} +1 -1
  165. package/src/rect/index.js +2 -0
  166. package/src/rect/index.js.map +1 -0
  167. package/src/rect/rect.d.ts +52 -0
  168. package/src/rect/rect.js +427 -0
  169. package/src/rect/rect.js.map +1 -0
  170. package/src/rect/triangle.d.ts +2 -0
  171. package/src/rect/triangle.js +10 -0
  172. package/src/rect/triangle.js.map +1 -0
  173. package/src/scroll/{index.ts → index.d.ts} +1 -1
  174. package/src/scroll/index.js +2 -0
  175. package/src/scroll/index.js.map +1 -0
  176. package/src/scroll/scroll.d.ts +35 -0
  177. package/src/scroll/scroll.js +234 -0
  178. package/src/scroll/scroll.js.map +1 -0
  179. package/src/store/global.d.ts +25 -0
  180. package/src/store/global.js +18 -0
  181. package/src/store/global.js.map +1 -0
  182. package/src/store/{index.ts → index.d.ts} +2 -2
  183. package/src/store/index.js +3 -0
  184. package/src/store/index.js.map +1 -0
  185. package/src/store/store.d.ts +228 -0
  186. package/src/store/store.js +87 -0
  187. package/src/store/store.js.map +1 -0
  188. package/src/theme.d.ts +13 -0
  189. package/src/theme.js +23 -0
  190. package/src/theme.js.map +1 -0
  191. package/src/title/{index.ts → index.d.ts} +1 -1
  192. package/src/title/index.js +2 -0
  193. package/src/title/index.js.map +1 -0
  194. package/src/title/title.d.ts +30 -0
  195. package/src/title/title.js +99 -0
  196. package/src/title/title.js.map +1 -0
  197. package/src/tooltip/{index.ts → index.d.ts} +1 -1
  198. package/src/tooltip/index.js +2 -0
  199. package/src/tooltip/index.js.map +1 -0
  200. package/src/tooltip/tooltip.d.ts +40 -0
  201. package/src/tooltip/tooltip.js +172 -0
  202. package/src/tooltip/tooltip.js.map +1 -0
  203. package/src/utils/clone.d.ts +8 -0
  204. package/src/utils/clone.js +84 -0
  205. package/src/utils/clone.js.map +1 -0
  206. package/src/utils/color.d.ts +3 -0
  207. package/src/utils/color.js +110 -0
  208. package/src/utils/color.js.map +1 -0
  209. package/src/utils/error.d.ts +2 -0
  210. package/src/utils/error.js +6 -0
  211. package/src/utils/error.js.map +1 -0
  212. package/src/utils/file.d.ts +3 -0
  213. package/src/utils/file.js +40 -0
  214. package/src/utils/file.js.map +1 -0
  215. package/src/utils/{index.ts → index.d.ts} +9 -9
  216. package/src/utils/index.js +10 -0
  217. package/src/utils/index.js.map +1 -0
  218. package/src/utils/math.d.ts +18 -0
  219. package/src/utils/math.js +114 -0
  220. package/src/utils/math.js.map +1 -0
  221. package/src/utils/object.d.ts +2 -0
  222. package/src/utils/object.js +21 -0
  223. package/src/utils/object.js.map +1 -0
  224. package/src/utils/padding.d.ts +7 -0
  225. package/src/utils/padding.js +47 -0
  226. package/src/utils/padding.js.map +1 -0
  227. package/src/utils/time.d.ts +1 -0
  228. package/src/utils/time.js +17 -0
  229. package/src/utils/time.js.map +1 -0
  230. package/src/utils/url.d.ts +4 -0
  231. package/src/utils/url.js +27 -0
  232. package/src/utils/url.js.map +1 -0
  233. package/src/utils/uuid.d.ts +4 -0
  234. package/src/utils/uuid.js +13 -0
  235. package/src/utils/uuid.js.map +1 -0
  236. package/README.md +0 -13
  237. package/package.build.json +0 -39
  238. package/src/canvas/canvas.ts +0 -8639
  239. package/src/canvas/canvasImage.ts +0 -525
  240. package/src/canvas/canvasTemplate.ts +0 -257
  241. package/src/canvas/magnifierCanvas.ts +0 -142
  242. package/src/canvas/offscreen.ts +0 -14
  243. package/src/core.ts +0 -5128
  244. package/src/data.ts +0 -86
  245. package/src/diagrams/arrow.ts +0 -50
  246. package/src/diagrams/circle.ts +0 -19
  247. package/src/diagrams/cloud.ts +0 -34
  248. package/src/diagrams/cube.ts +0 -94
  249. package/src/diagrams/diamond.ts +0 -14
  250. package/src/diagrams/file.ts +0 -19
  251. package/src/diagrams/gif.ts +0 -105
  252. package/src/diagrams/iframe.ts +0 -365
  253. package/src/diagrams/line/arrow.ts +0 -175
  254. package/src/diagrams/line/curve.ts +0 -260
  255. package/src/diagrams/line/line.ts +0 -409
  256. package/src/diagrams/line/polyline.ts +0 -676
  257. package/src/diagrams/line/smooth.ts +0 -133
  258. package/src/diagrams/message.ts +0 -17
  259. package/src/diagrams/mindLine.ts +0 -31
  260. package/src/diagrams/mindNode.ts +0 -177
  261. package/src/diagrams/panel.ts +0 -149
  262. package/src/diagrams/pentagon.ts +0 -48
  263. package/src/diagrams/pentagram.ts +0 -63
  264. package/src/diagrams/people.ts +0 -23
  265. package/src/diagrams/rectangle.ts +0 -29
  266. package/src/diagrams/svg/parse.ts +0 -319
  267. package/src/diagrams/svgPath.ts +0 -53
  268. package/src/diagrams/triangle.ts +0 -43
  269. package/src/diagrams/video.ts +0 -202
  270. package/src/dialog/dialog.ts +0 -177
  271. package/src/event/event.ts +0 -142
  272. package/src/map/map.ts +0 -239
  273. package/src/options.ts +0 -205
  274. package/src/pen/arrow.ts +0 -259
  275. package/src/pen/math.ts +0 -253
  276. package/src/pen/model.ts +0 -785
  277. package/src/pen/plugin.ts +0 -57
  278. package/src/pen/render.ts +0 -3725
  279. package/src/pen/text.ts +0 -341
  280. package/src/pen/utils.ts +0 -21
  281. package/src/point/point.ts +0 -232
  282. package/src/rect/rect.ts +0 -507
  283. package/src/rect/triangle.ts +0 -16
  284. package/src/scroll/scroll.ts +0 -277
  285. package/src/store/global.ts +0 -38
  286. package/src/store/store.ts +0 -293
  287. package/src/theme.ts +0 -35
  288. package/src/title/title.ts +0 -115
  289. package/src/tooltip/tooltip.ts +0 -199
  290. package/src/utils/clone.ts +0 -79
  291. package/src/utils/color.ts +0 -126
  292. package/src/utils/error.ts +0 -7
  293. package/src/utils/file.ts +0 -46
  294. package/src/utils/math.ts +0 -120
  295. package/src/utils/object.ts +0 -23
  296. package/src/utils/padding.ts +0 -48
  297. package/src/utils/time.ts +0 -25
  298. package/src/utils/url.ts +0 -30
  299. package/src/utils/uuid.ts +0 -15
package/src/core.d.ts ADDED
@@ -0,0 +1,479 @@
1
+ import { EventType, Handler, WildcardHandler } from 'mitt';
2
+ import { Canvas } from './canvas';
3
+ import { Options, PenPlugin, PluginOptions } from './options';
4
+ import { calcTextDrawRect, calcTextLines, calcTextRect, facePen, getWords, LockState, Pen, renderPenRaw, IValue, setElemPosition } from './pen';
5
+ import { Point } from './point';
6
+ import { EditAction, register, registerAnchors, registerCanvasDraw, Meta2dData, Meta2dStore, Network, HttpOptions } from './store';
7
+ import { Padding } from './utils';
8
+ import { Rect } from './rect';
9
+ import { Event, TriggerCondition } from './event';
10
+ import { ViewMap } from './map';
11
+ import { MqttClient } from 'mqtt';
12
+ export declare class Meta2d {
13
+ store: Meta2dStore;
14
+ canvas: Canvas;
15
+ websocket: WebSocket;
16
+ mqttClient: MqttClient;
17
+ websockets: WebSocket[];
18
+ mqttClients: MqttClient[];
19
+ penPluginMap: Map<PenPlugin, {
20
+ tag?: string;
21
+ name?: string;
22
+ id?: string;
23
+ option: Object;
24
+ }[]>;
25
+ socketFn: (e: string, context?: {
26
+ meta2d?: Meta2d;
27
+ type?: string;
28
+ topic?: string;
29
+ url?: string;
30
+ }) => boolean | string;
31
+ events: Record<number, (pen: Pen, e: Event) => void>;
32
+ map: ViewMap;
33
+ mapTimer: any;
34
+ constructor(parent: string | HTMLElement, opts?: Options);
35
+ facePen: typeof facePen;
36
+ getWords: typeof getWords;
37
+ calcTextLines: typeof calcTextLines;
38
+ calcTextRect: typeof calcTextRect;
39
+ calcTextDrawRect: typeof calcTextDrawRect;
40
+ /**
41
+ * @deprecated 改用 beforeAddPens
42
+ */
43
+ get beforeAddPen(): (pen: Pen) => boolean;
44
+ /**
45
+ * @deprecated 改用 beforeAddPens
46
+ */
47
+ set beforeAddPen(fn: (pen: Pen) => boolean);
48
+ get beforeAddPens(): (pens: Pen[]) => Promise<boolean>;
49
+ set beforeAddPens(fn: (pens: Pen[]) => Promise<boolean>);
50
+ get beforeAddAnchor(): (pen: Pen, anchor: Point) => Promise<boolean>;
51
+ set beforeAddAnchor(fn: (pen: Pen, anchor: Point) => Promise<boolean>);
52
+ get beforeRemovePens(): (pens: Pen[]) => Promise<boolean>;
53
+ set beforeRemovePens(fn: (pens: Pen[]) => Promise<boolean>);
54
+ get beforeRemoveAnchor(): (pen: Pen, anchor: Point) => Promise<boolean>;
55
+ set beforeRemoveAnchor(fn: (pen: Pen, anchor: Point) => Promise<boolean>);
56
+ setOptions(opts?: Options): void;
57
+ getOptions(): Options;
58
+ setTheme(theme: string): void;
59
+ setDatabyOptions(options?: Options): void;
60
+ private init;
61
+ initEventFns(): void;
62
+ navigatorTo(id: string): void;
63
+ doSendDataEvent(value: any, topics?: string): void;
64
+ sendDataToNetWork(value: any, pen: Pen, e: any): Promise<void>;
65
+ resize(width?: number, height?: number): void;
66
+ /**
67
+ *
68
+ * @param emit 是否发送消息
69
+ */
70
+ addPen(pen: Pen, history?: boolean, emit?: boolean): Promise<Pen>;
71
+ addPens(pens: Pen[], history?: boolean): Promise<Pen[]>;
72
+ render(patchFlags?: boolean | number): void;
73
+ setBackgroundImage(url: string, data?: any): Promise<void>;
74
+ setBackgroundColor(color?: string): void;
75
+ setGrid({ grid, gridColor, gridSize, gridRotate, }?: {
76
+ grid?: boolean;
77
+ gridColor?: string;
78
+ gridSize?: number;
79
+ gridRotate?: number;
80
+ }): void;
81
+ setRule({ rule, ruleColor, }?: {
82
+ rule?: boolean;
83
+ ruleColor?: string;
84
+ }): void;
85
+ open(data?: Meta2dData, render?: boolean): void;
86
+ cacheData(id: string): void;
87
+ loadCacheData(id: string): void;
88
+ initBindDatas(): void;
89
+ initBinds(): void;
90
+ connectSocket(): void;
91
+ /**
92
+ * open 后执行初始化 Js ,每个图纸可配置一个初始化 js
93
+ */
94
+ private doInitJS;
95
+ doInitFn(): void;
96
+ drawLine(lineName?: string): void;
97
+ alignPenToGrid(pen: Pen): void;
98
+ drawingPencil(): void;
99
+ stopPencil(): void;
100
+ lock(lock: LockState): void;
101
+ finishDrawLine(end?: boolean): Promise<void>;
102
+ finishPencil(): Promise<void>;
103
+ updateLineType(pen: Pen, lineName: string): void;
104
+ addDrawLineFn(fnName: string, fn: Function): void;
105
+ removeDrawLineFn(fnName: string): void;
106
+ showMagnifier(): void;
107
+ hideMagnifier(): void;
108
+ toggleMagnifier(): void;
109
+ /**
110
+ * 擦除画布,释放 store 上的 pens
111
+ * @param render 是否重绘
112
+ */
113
+ clear(render?: boolean, template?: string): void;
114
+ emit<T = any>(type: EventType, event?: T): void;
115
+ emit(type: '*', event?: any): void;
116
+ on<T = any>(type: EventType, handler: Handler<T>): Meta2d;
117
+ on(type: '*', handler: WildcardHandler): Meta2d;
118
+ off<T = any>(type: EventType, handler: Handler<T>): Meta2d;
119
+ off(type: '*', handler: WildcardHandler): Meta2d;
120
+ register: typeof register;
121
+ registerCanvasDraw: typeof registerCanvasDraw;
122
+ registerAnchors: typeof registerAnchors;
123
+ registerMoveDock(dock: (store: Meta2dStore, rect: Rect, pens: Pen[], offset: Point) => {
124
+ xDock: Point;
125
+ yDock: Point;
126
+ }): void;
127
+ /**
128
+ * 参数同方法 registerMoveDock ,最后一个参数由 offset 偏移修改成了当前 resize 的点
129
+ */
130
+ registerResizeDock(dock: (store: Meta2dStore, rect: Rect, pens: Pen[], resizeIndex: number) => {
131
+ xDock: Point;
132
+ yDock: Point;
133
+ }): void;
134
+ find(id: string): Pen[];
135
+ find(tag: string): Pen[];
136
+ /**
137
+ * 使用 Array.find 找到即返回,否则返回 undefined
138
+ */
139
+ findOne(id: string): Pen | undefined;
140
+ findOne(tag: string): Pen | undefined;
141
+ getPenRect(pen: Pen): {
142
+ x: number;
143
+ y: number;
144
+ width: number;
145
+ height: number;
146
+ };
147
+ setPenRect(pen: Pen, rect: Rect, render?: boolean): void;
148
+ startAnimate(idOrTagOrPens?: string | Pen[], params?: number | string): void;
149
+ pauseAnimate(idOrTagOrPens?: string | Pen[]): void;
150
+ stopAnimate(idOrTagOrPens?: string | Pen[]): void;
151
+ startVideo(idOrTagOrPens?: string | Pen[]): void;
152
+ pauseVideo(idOrTagOrPens?: string | Pen[]): void;
153
+ stopVideo(idOrTagOrPens?: string | Pen[]): void;
154
+ calcAnimateDuration(pen: Pen): number;
155
+ /**
156
+ * 组合
157
+ * @param pens 组合的画笔们
158
+ * @param showChild 组合后展示第几个孩子
159
+ */
160
+ combine(pens?: Pen[], showChild?: number): any;
161
+ uncombine(pen?: Pen): void;
162
+ appendChild(pens?: Pen[]): void;
163
+ isCombine(pen: Pen): boolean;
164
+ active(pens: Pen[], emit?: boolean): void;
165
+ inactive(): void;
166
+ activeAll(): void;
167
+ /**
168
+ * 删除画笔
169
+ * @param pens 需要删除的画笔们
170
+ * @param canDelLocked 是否删除已经锁住的画笔
171
+ */
172
+ delete(pens?: Pen[], canDelLocked?: boolean, history?: boolean): void;
173
+ scale(scale: number, center?: {
174
+ x: number;
175
+ y: number;
176
+ }): void;
177
+ translate(x: number, y: number): void;
178
+ translatePens(pens: Pen[], x: number, y: number): void;
179
+ getParent(pen: Pen, root?: boolean): Pen;
180
+ getAllChildren(pen: Pen): Pen[];
181
+ getAllFollowers(pen: Pen): Pen[];
182
+ data(): Meta2dData;
183
+ copy(pens?: Pen[]): void;
184
+ cut(pens?: Pen[]): void;
185
+ paste(): void;
186
+ undo(): void;
187
+ redo(): void;
188
+ listenSocket(): boolean;
189
+ websocketTimes: number;
190
+ connectWebsocket(websocket?: string): void;
191
+ closeWebsocket(): void;
192
+ mqttTimes: number;
193
+ connectMqtt(params?: {
194
+ mqtt: string;
195
+ mqttTopics: string;
196
+ mqttOptions?: {
197
+ clientId?: string;
198
+ username?: string;
199
+ password?: string;
200
+ customClientId?: boolean;
201
+ };
202
+ }): void;
203
+ closeMqtt(): void;
204
+ httpTimer: any;
205
+ httpTimerList: any[];
206
+ connectHttp(): void;
207
+ oldRequestHttp(_req: HttpOptions): Promise<void>;
208
+ sendDatabyHttp(data: string): Promise<void>;
209
+ closeHttp(): void;
210
+ updateTimer: any;
211
+ updateTimerList: any[];
212
+ connectNetwork(): void;
213
+ connectNetWebSocket(net: Network): void;
214
+ randomString(e: number): string;
215
+ mockValue(data: any): any;
216
+ dataMock(): void;
217
+ startDataMock(): void;
218
+ stopDataMock(): void;
219
+ penMock(pen: Pen): void;
220
+ penNetwork(pen: Pen): void;
221
+ getDynamicParam(key: string): any;
222
+ onNetworkConnect(https: Network[]): void;
223
+ requestHttp(_req: Network): Promise<void>;
224
+ closeNetwork(): void;
225
+ socketCallback(message: string, context?: {
226
+ type?: string;
227
+ topic?: string;
228
+ url?: string;
229
+ }): void;
230
+ setDatas(datas: {
231
+ dataId?: string;
232
+ id?: string;
233
+ value: any;
234
+ }[], { render, doEvent, history, }?: {
235
+ render?: boolean;
236
+ doEvent?: boolean;
237
+ history?: boolean;
238
+ }): void;
239
+ setValue(data: IValue, { render, doEvent, history, }?: {
240
+ render?: boolean;
241
+ doEvent?: boolean;
242
+ history?: boolean;
243
+ }): void;
244
+ /**
245
+ * @deprecated 改用 setValue
246
+ */
247
+ _setValue(data: IValue, history?: boolean): void;
248
+ pushHistory(action: EditAction): void;
249
+ showInput(pen: Pen, rect?: Rect): void;
250
+ hideInput(): void;
251
+ clearDropdownList(): void;
252
+ clearRuleLines(): void;
253
+ private onEvent;
254
+ private doEvent;
255
+ doMessageEvent(eventName: string): void;
256
+ doDataEvent: (datas: {
257
+ dataId?: string;
258
+ id?: string;
259
+ value: any;
260
+ }[]) => void;
261
+ initGlobalTriggers(): void;
262
+ initMessageEvents(): void;
263
+ dataJudegeCondition(data: any, key: string, condition: TriggerCondition): boolean;
264
+ judgeCondition(pen: Pen, key: string, condition: TriggerCondition): boolean;
265
+ pushChildren(parent: Pen, children: Pen[]): void;
266
+ renderPenRaw: typeof renderPenRaw;
267
+ toPng(padding?: Padding, callback?: BlobCallback, containBkImg?: boolean, maxWidth?: number): string;
268
+ activeToPng(padding?: Padding, maxWidth?: number): string;
269
+ pensToPng(pens?: Pen[], padding?: Padding, maxWidth?: number): string;
270
+ /**
271
+ * 下载 png
272
+ * @param name 传入参数自带文件后缀名 例如:'test.png'
273
+ * @param padding 上右下左的内边距
274
+ */
275
+ downloadPng(name?: string, padding?: Padding, maxWidth?: number): void;
276
+ downloadSvg(): void;
277
+ getRect(pens?: Pen[]): Rect;
278
+ hiddenTemplate(): void;
279
+ showTemplate(): void;
280
+ lockTemplate(lock: LockState): void;
281
+ /**
282
+ * 放大到屏幕尺寸,并居中
283
+ * @param fit true,填满但完整展示;false,填满,但长边可能截取(即显示不完整)
284
+ */
285
+ fitView(fit?: boolean, viewPadding?: Padding): void;
286
+ fillView(): void;
287
+ trimPens(): void;
288
+ /**
289
+ * 放大到屏幕尺寸,并居中
290
+ * @param fit true,填满但完整展示;false,填满,但长边可能截取(即显示不完整)
291
+ */
292
+ fitTemplateView(fit?: boolean, viewPadding?: Padding): void;
293
+ fitSizeView(fit?: boolean | string, viewPadding?: Padding): void;
294
+ centerSizeView(): void;
295
+ /**
296
+ * 宽度放大到屏幕尺寸,并滚动到最顶部
297
+ *
298
+ */
299
+ scrollView(viewPadding?: Padding, pageMode?: boolean): void;
300
+ screenView(viewPadding?: Padding, WorH?: boolean): void;
301
+ topView(paddingTop?: number): void;
302
+ centerView(): void;
303
+ /**
304
+ * 画布是否有 画笔
305
+ * RuleLine 不算
306
+ */
307
+ hasView(): boolean;
308
+ private getViewCenter;
309
+ /**
310
+ * 大小相同
311
+ * @param pens 画笔们
312
+ */
313
+ beSameByFirst(pens?: Pen[], attribute?: string): void;
314
+ /**
315
+ * 大小相同
316
+ * @param pens 画笔们
317
+ */
318
+ beSameByLast(pens?: Pen[], attribute?: string): void;
319
+ /**
320
+ * 格式刷(样式相同,大小无需一致。)
321
+ * @param pens 画笔们
322
+ */
323
+ formatPainterByFirst(pens?: Pen[]): void;
324
+ /**
325
+ * 格式刷(样式相同,大小无需一致。)
326
+ * @param pens 画笔们
327
+ */
328
+ formatPainterByLast(pens?: Pen[]): void;
329
+ setFormatPainter(): void;
330
+ formatPainter(): void;
331
+ clearFormatPainter(): void;
332
+ alignNodes(align: string, pens?: Pen[], rect?: Rect): void;
333
+ alignNodesV(align: string, pens?: Pen[]): void;
334
+ /**
335
+ * 对齐画笔,基于第一个画笔
336
+ * @param align 左对齐,右对齐,上对齐,下对齐,居中对齐
337
+ * @param pens
338
+ */
339
+ alignNodesByFirst(align: string, pens?: Pen[]): void;
340
+ /**
341
+ * 对齐画笔,基于最后选中的画笔
342
+ * @param align 左对齐,右对齐,上对齐,下对齐,居中对齐
343
+ * @param pens
344
+ */
345
+ alignNodesByLast(align: string, pens?: Pen[]): void;
346
+ /**
347
+ * 将画笔参照 rect 进行 align 对齐
348
+ * @param align 左对齐,右对齐,上对齐,下对齐,居中对齐
349
+ * @param pen 当前需要对齐的画笔
350
+ * @param rect 参照矩形
351
+ * @returns
352
+ */
353
+ private alignPen;
354
+ /**
355
+ * 水平或垂直方向的均分
356
+ * @param direction 方向,width 说明水平方向间距相同
357
+ * @param pens 节点们,默认全部的
358
+ * @param distance 总的宽 or 高
359
+ */
360
+ private spaceBetweenByDirection;
361
+ spaceBetween(pens?: Pen[], width?: number): void;
362
+ spaceBetweenColumn(pens?: Pen[], height?: number): void;
363
+ layout(pens?: Pen[], width?: number, space?: number): void;
364
+ gotoView(pen: Pen): void;
365
+ showMap(): void;
366
+ hideMap(): void;
367
+ onSizeUpdate(): void;
368
+ toggleAnchorMode(): void;
369
+ addAnchorHand(): void;
370
+ removeAnchorHand(): void;
371
+ toggleAnchorHand(): void;
372
+ /**
373
+ * 将该画笔置顶,即放到数组最后,最后绘制即在顶部
374
+ * @param pens pen 置顶的画笔
375
+ */
376
+ top(pens?: Pen | Pen[]): void;
377
+ /**
378
+ * 若本次改变的画笔存在图片,并且在上层 or 下层,需要擦除上层 or 下层
379
+ * 子节点中包含图片,也需要重绘
380
+ * @param pens 本次改变的 pens
381
+ */
382
+ initImageCanvas(pens: Pen[]): void;
383
+ /**
384
+ * 模版图元图层改变
385
+ * @param pens 本次改变的 pens
386
+ */
387
+ initTemplateCanvas(pens: Pen[]): void;
388
+ /**
389
+ * 该画笔置底,即放到数组最前,最后绘制即在底部
390
+ * @param pens 画笔们,注意 pen 必须在该数组内才有效
391
+ */
392
+ bottom(pens?: Pen | Pen[]): void;
393
+ /**
394
+ * data.pens 决定了绘制顺序,即越后面的越在上层
395
+ * 该方法通过区域重叠计算,找出该画笔之后第一个与其重叠的画笔,然后把该画笔放到找出的画笔之后
396
+ * @param pen 画笔
397
+ */
398
+ upByArea(pen: Pen): void;
399
+ specificLayerMove(pen: Pen, type: string): void;
400
+ /**
401
+ * 该画笔上移,即把该画笔在数组中的位置向后移动一个
402
+ * @param pens 画笔
403
+ */
404
+ up(pens?: Pen | Pen[]): void;
405
+ /**
406
+ * 该画笔下移,即把该画笔在该数组中的位置前移一个
407
+ * @param pen 画笔
408
+ */
409
+ down(pens?: Pen | Pen[]): void;
410
+ setLayer(pen: Pen, toIndex: number, pens?: Pen[]): void;
411
+ changePenId(oldId: string, newId: string): void;
412
+ /**
413
+ * 得到与当前节点连接的线
414
+ * @param node 节点,非连线
415
+ * @param type 类型,全部的连接线/入线/出线
416
+ */
417
+ getLines(node: Pen, type?: 'all' | 'in' | 'out'): Pen[];
418
+ /**
419
+ * 得到当前节点的下一个节点,即出口节点数组
420
+ * 得到当前连线的出口节点
421
+ * @param pen 节点或连线
422
+ */
423
+ nextNode(pen: Pen): Pen[];
424
+ /**
425
+ * 得到当前节点的上一个节点,即入口节点数组
426
+ * 得到当前连线的入口节点
427
+ * @param pen 节点或连线
428
+ */
429
+ previousNode(pen: Pen): Pen[];
430
+ /**
431
+ * 获取节点所有的下一个连接关系
432
+ * @param pen
433
+ *
434
+ */
435
+ getNext(pen: Pen): any[];
436
+ /**
437
+ * 为画布添加锚点
438
+ * @param pen 画笔
439
+ * @param anchor 待添加锚点
440
+ * @param index 连线类型 添加锚点到哪个位置
441
+ */
442
+ addAnchor(pen: Pen, anchor: Point, index?: number): void;
443
+ /**
444
+ *
445
+ * @param from 连接节点
446
+ * @param fromAnchor 连接节点锚点
447
+ * @param to 被连接节点
448
+ * @param toAnchor 被连接节点锚点
449
+ */
450
+ connectLine(from: Pen, to: Pen, fromAnchor?: Point, toAnchor?: Point, render?: boolean): Pen;
451
+ /**
452
+ * 生成一个拷贝组合后的 画笔数组(组合图形),不影响原画布画笔,常用作 二次复用的组件
453
+ * @param pens 画笔数组
454
+ * @param showChild 是否作为状态复用(参考 combine showChild)
455
+ * @param anchor 是否产生默认的锚点
456
+ * @returns 组合图形
457
+ */
458
+ toComponent(pens?: Pen[], showChild?: number, anchor?: boolean): Pen[];
459
+ /**
460
+ * @description 安装插件方法
461
+ * @param plugins 插件列表及其配置项
462
+ * @param pen {string | Pen} 接受tag、name、或者Pen对象*/
463
+ installPenPlugins(pen: {
464
+ tag?: string;
465
+ name?: string;
466
+ id?: string;
467
+ }, plugins: PluginOptions[]): void;
468
+ uninstallPenPlugins(pen: {
469
+ tag?: string;
470
+ name?: string;
471
+ id?: string;
472
+ }, plugins: PluginOptions[]): void;
473
+ setVisible(pen: Pen, visible: boolean, render?: boolean): void;
474
+ clearHover(): void;
475
+ closeSocket(): void;
476
+ setElemPosition: typeof setElemPosition;
477
+ setLifeCycleFunc: (pen: Pen, lifeCycle: any, func: Function, del?: boolean) => () => void;
478
+ destroy(onlyData?: boolean): void;
479
+ }