aldehyde 0.2.512 → 0.2.513

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 (64) hide show
  1. package/lib/controls/icon-selector/icon/phonenode-menu-icon/iconfont.css +99 -99
  2. package/lib/draw-canvas-edit/components/asset-bar/index.less +35 -35
  3. package/lib/draw-canvas-edit/components/main-header/index.less +23 -23
  4. package/lib/lowcode-components/base-table/index.less +61 -61
  5. package/lib/lowcode-components/data-number/index.less +10 -10
  6. package/lib/lowcode-components/date-time/index.less +4 -4
  7. package/lib/lowcode-components/four-angle-glow-border/index.less +49 -49
  8. package/lib/lowcode-components/lowcode-view/component/font/FontGlobal.css +26 -26
  9. package/lib/lowcode-components/lowcode-view/component/screen-fit/index.less +13 -13
  10. package/lib/lowcode-components/text-scroller/index.less +28 -28
  11. package/lib/table/act-table.js +1 -1
  12. package/lib/table/act-table.js.map +1 -1
  13. package/package.json +1 -1
  14. package/src/aldehyde/controls/icon-selector/icon/phonenode-menu-icon/iconfont.css +99 -99
  15. package/src/aldehyde/controls/icon-selector/icon/phonenode-menu-icon/iconfont.json +156 -156
  16. package/src/aldehyde/draw-canvas-edit/components/asset-bar/index.less +35 -35
  17. package/src/aldehyde/draw-canvas-edit/components/asset-bar/index.tsx +110 -110
  18. package/src/aldehyde/draw-canvas-edit/components/main-header/index.less +23 -23
  19. package/src/aldehyde/draw-canvas-edit/components/main-header/index.tsx +263 -263
  20. package/src/aldehyde/draw-canvas-edit/components/render/draws/index.ts +7 -7
  21. package/src/aldehyde/draw-canvas-edit/components/render/graphs/base-graph.ts +241 -241
  22. package/src/aldehyde/draw-canvas-edit/components/render/graphs/circle.ts +699 -699
  23. package/src/aldehyde/draw-canvas-edit/components/render/graphs/curve.ts +500 -500
  24. package/src/aldehyde/draw-canvas-edit/components/render/graphs/index.ts +5 -5
  25. package/src/aldehyde/draw-canvas-edit/components/render/graphs/line.ts +493 -493
  26. package/src/aldehyde/draw-canvas-edit/components/render/graphs/rect.ts +680 -680
  27. package/src/aldehyde/draw-canvas-edit/components/render/handlers/drag-handlers.ts +68 -68
  28. package/src/aldehyde/draw-canvas-edit/components/render/handlers/graph-handlers.ts +113 -113
  29. package/src/aldehyde/draw-canvas-edit/components/render/handlers/index.ts +9 -9
  30. package/src/aldehyde/draw-canvas-edit/components/render/handlers/key-move-handlers.ts +49 -49
  31. package/src/aldehyde/draw-canvas-edit/components/render/handlers/link-handlers.ts +45 -45
  32. package/src/aldehyde/draw-canvas-edit/components/render/handlers/shutcut-handlers.ts +45 -45
  33. package/src/aldehyde/draw-canvas-edit/components/render/handlers/text-handlers.ts +81 -81
  34. package/src/aldehyde/draw-canvas-edit/components/render/handlers/zoom-handlers.ts +59 -59
  35. package/src/aldehyde/draw-canvas-edit/components/render/tools/align-tool.ts +89 -89
  36. package/src/aldehyde/draw-canvas-edit/components/render/tools/asset-tool.ts +154 -154
  37. package/src/aldehyde/draw-canvas-edit/components/render/tools/link-tool.ts +222 -222
  38. package/src/aldehyde/draw-canvas-edit/components/render/tools/z-index-tool.ts +224 -224
  39. package/src/aldehyde/draw-canvas-edit/components/render/utils/a-star.ts +116 -116
  40. package/src/aldehyde/draw-canvas-edit/components/render/utils/bezier-scene-func.ts +72 -72
  41. package/src/aldehyde/draw-canvas-edit/components/setting-form/imag-upload.tsx +119 -119
  42. package/src/aldehyde/layout4/imgs/user.svg +26 -26
  43. package/src/aldehyde/lowcode-components/base-color-block/index.tsx +31 -31
  44. package/src/aldehyde/lowcode-components/base-table/index.less +61 -61
  45. package/src/aldehyde/lowcode-components/data-number/index.less +10 -10
  46. package/src/aldehyde/lowcode-components/date-time/index.less +4 -4
  47. package/src/aldehyde/lowcode-components/date-time/index.tsx +64 -64
  48. package/src/aldehyde/lowcode-components/four-angle-glow-border/index.less +49 -49
  49. package/src/aldehyde/lowcode-components/four-angle-glow-border/index.tsx +53 -53
  50. package/src/aldehyde/lowcode-components/lowcode-view/component/abstract-controller.ts +64 -64
  51. package/src/aldehyde/lowcode-components/lowcode-view/component/abstract-definition.ts +77 -77
  52. package/src/aldehyde/lowcode-components/lowcode-view/component/abstract-designer-loader.ts +36 -36
  53. package/src/aldehyde/lowcode-components/lowcode-view/component/component-container.tsx +144 -144
  54. package/src/aldehyde/lowcode-components/lowcode-view/component/font/FontGlobal.css +26 -26
  55. package/src/aldehyde/lowcode-components/lowcode-view/component/group-layer/controller.ts +36 -36
  56. package/src/aldehyde/lowcode-components/lowcode-view/component/group-layer/definition.ts +53 -53
  57. package/src/aldehyde/lowcode-components/lowcode-view/component/group-layer/index.tsx +15 -15
  58. package/src/aldehyde/lowcode-components/lowcode-view/component/layer-builder.tsx +98 -98
  59. package/src/aldehyde/lowcode-components/lowcode-view/component/screen-fit/index.less +13 -13
  60. package/src/aldehyde/lowcode-components/lowcode-view/component/screen-fit/index.tsx +121 -121
  61. package/src/aldehyde/lowcode-components/placeholder-component/index.tsx +81 -81
  62. package/src/aldehyde/lowcode-components/text-scroller/index.less +28 -28
  63. package/src/aldehyde/lowcode-components/text-scroller/index.tsx +173 -173
  64. package/src/aldehyde/table/act-table.tsx +1 -1
@@ -1,68 +1,68 @@
1
- import Konva from 'konva';
2
- import { Render } from '../index';
3
- import { Handler, MouseButton } from '../types';
4
- import { LinkDraw, BgDraw, GraphDraw, RulerDraw, PreviewDraw } from '../draws';
5
-
6
- export class DragHandlers implements Handler {
7
- static readonly NAME = 'DragHandlers';
8
- private render: Render;
9
- constructor(render: Render) {
10
- this.render = render;
11
- }
12
- // 右键是否按下
13
- mousedownRight = false;
14
- // 右键按下 stage 位置
15
- mousedownStagePos = { x: 0, y: 0 };
16
- // 右键按下位置
17
- mousedownPointerPos = { x: 0, y: 0 };
18
- handlers = {
19
- stage: {
20
- mousedown: (e: Konva.KonvaEventObject<GlobalEventHandlersEventMap['mousedown']>) => {
21
- // 拐点操作中,防止异常拖动
22
- // 新建图形并拖动中
23
- if (!(this.render.draws[LinkDraw.NAME] as LinkDraw)?.state.linkManualing && !this.render.graphType) {
24
- if (e.evt.button === MouseButton["右键"] || (e.evt.ctrlKey && e.evt.button === MouseButton["左键"])) // mac 拖动画布快捷键
25
- {
26
- const stageState = this.render.getStageState();
27
- // 鼠标右键
28
- this.mousedownRight = true;
29
- // 暂停元素 draggable
30
- this.render.changeDraggable(false);
31
- this.mousedownStagePos = { x: stageState.x, y: stageState.y };
32
- const pos = this.render.stage.getPointerPosition();
33
- if (pos) {
34
- this.mousedownPointerPos = { x: pos.x, y: pos.y };
35
- }
36
- document.body.style.cursor = 'pointer';
37
- }
38
- }
39
- },
40
- mouseup: () => {
41
- this.mousedownRight = false;
42
- // 恢复元素 draggable
43
- this.render.changeDraggable(!this.render.config.readonly);
44
- document.body.style.cursor = 'default';
45
- },
46
- mousemove: () => {
47
- if (this.mousedownRight) {
48
- // 鼠标右键拖动
49
- const pos = this.render.stage.getPointerPosition();
50
- if (pos) {
51
- const offsetX = pos.x - this.mousedownPointerPos.x;
52
- const offsetY = pos.y - this.mousedownPointerPos.y;
53
- // 移动 stage
54
- this.render.stage.position({ x: this.mousedownStagePos.x + offsetX, y: this.mousedownStagePos.y + offsetY });
55
- // 重绘
56
- this.render.redraw([
57
- BgDraw.NAME,
58
- GraphDraw.NAME,
59
- LinkDraw.NAME,
60
- RulerDraw.NAME,
61
- PreviewDraw.NAME
62
- ]);
63
- }
64
- }
65
- }
66
- }
67
- }
68
- }
1
+ import Konva from 'konva';
2
+ import { Render } from '../index';
3
+ import { Handler, MouseButton } from '../types';
4
+ import { LinkDraw, BgDraw, GraphDraw, RulerDraw, PreviewDraw } from '../draws';
5
+
6
+ export class DragHandlers implements Handler {
7
+ static readonly NAME = 'DragHandlers';
8
+ private render: Render;
9
+ constructor(render: Render) {
10
+ this.render = render;
11
+ }
12
+ // 右键是否按下
13
+ mousedownRight = false;
14
+ // 右键按下 stage 位置
15
+ mousedownStagePos = { x: 0, y: 0 };
16
+ // 右键按下位置
17
+ mousedownPointerPos = { x: 0, y: 0 };
18
+ handlers = {
19
+ stage: {
20
+ mousedown: (e: Konva.KonvaEventObject<GlobalEventHandlersEventMap['mousedown']>) => {
21
+ // 拐点操作中,防止异常拖动
22
+ // 新建图形并拖动中
23
+ if (!(this.render.draws[LinkDraw.NAME] as LinkDraw)?.state.linkManualing && !this.render.graphType) {
24
+ if (e.evt.button === MouseButton["右键"] || (e.evt.ctrlKey && e.evt.button === MouseButton["左键"])) // mac 拖动画布快捷键
25
+ {
26
+ const stageState = this.render.getStageState();
27
+ // 鼠标右键
28
+ this.mousedownRight = true;
29
+ // 暂停元素 draggable
30
+ this.render.changeDraggable(false);
31
+ this.mousedownStagePos = { x: stageState.x, y: stageState.y };
32
+ const pos = this.render.stage.getPointerPosition();
33
+ if (pos) {
34
+ this.mousedownPointerPos = { x: pos.x, y: pos.y };
35
+ }
36
+ document.body.style.cursor = 'pointer';
37
+ }
38
+ }
39
+ },
40
+ mouseup: () => {
41
+ this.mousedownRight = false;
42
+ // 恢复元素 draggable
43
+ this.render.changeDraggable(!this.render.config.readonly);
44
+ document.body.style.cursor = 'default';
45
+ },
46
+ mousemove: () => {
47
+ if (this.mousedownRight) {
48
+ // 鼠标右键拖动
49
+ const pos = this.render.stage.getPointerPosition();
50
+ if (pos) {
51
+ const offsetX = pos.x - this.mousedownPointerPos.x;
52
+ const offsetY = pos.y - this.mousedownPointerPos.y;
53
+ // 移动 stage
54
+ this.render.stage.position({ x: this.mousedownStagePos.x + offsetX, y: this.mousedownStagePos.y + offsetY });
55
+ // 重绘
56
+ this.render.redraw([
57
+ BgDraw.NAME,
58
+ GraphDraw.NAME,
59
+ LinkDraw.NAME,
60
+ RulerDraw.NAME,
61
+ PreviewDraw.NAME
62
+ ]);
63
+ }
64
+ }
65
+ }
66
+ }
67
+ }
68
+ }
@@ -1,113 +1,113 @@
1
- import Konva from 'konva';
2
- import { Render } from '../index';
3
- import { Handler } from '../types';
4
- import { BaseGraph, Circle, Rect, Line, Bezier, Curve } from '../graphs';
5
- import { GraphDraw } from '../draws';
6
-
7
- export class GraphHandlers implements Handler {
8
- static readonly NAME = 'GraphHandlers';
9
- private render: Render;
10
- constructor(render: Render) {
11
- this.render = render;
12
- }
13
- graphing = false; // 新建图形中
14
- currentGraph: BaseGraph | undefined; // 当前新建图形类型
15
-
16
- /**
17
- * 获取鼠标位置,并处理为 相对大小
18
- * @param attract 含磁贴计算
19
- * @returns
20
- */
21
- getStagePoint(attract = false) {
22
- const pos = this.render.stage.getPointerPosition();
23
- if (pos) {
24
- const stageState = this.render.getStageState();
25
- if (attract) { // 磁贴
26
- const { pos: transformerPos } = this.render.attractTool.attractPoint(pos);
27
- return {
28
- x: this.render.toStageValue(transformerPos.x - stageState.x),
29
- y: this.render.toStageValue(transformerPos.y - stageState.y)
30
- };
31
- } else {
32
- return {
33
- x: this.render.toStageValue(pos.x - stageState.x),
34
- y: this.render.toStageValue(pos.y - stageState.y)
35
- };
36
- }
37
- }
38
- return null;
39
- }
40
-
41
- handlers = {
42
- stage: {
43
- mousedown: (e: Konva.KonvaEventObject<GlobalEventHandlersEventMap['mousedown']>) => {
44
- if (this.render.graphType) {
45
- // 选中图形类型,开始
46
- if (e.target === this.render.stage) {
47
- this.graphing = true;
48
- this.render.selectionTool.selectingClear();
49
- this.render.linkTool.selectingClear();
50
- const point = this.getStagePoint();
51
- if (point) {
52
- switch (this.render.graphType) {
53
- case "Circle": // 新建 圆/椭圆 实例
54
- this.currentGraph = new Circle(this.render, point);
55
- break;
56
- case "Rect": // 新建 矩形 实例
57
- this.currentGraph = new Rect(this.render, point);
58
- break;
59
- case "Line": // 新建 直线、折线
60
- this.currentGraph = new Line(this.render, point);
61
- break;
62
- case "Curve": // 新建 曲线
63
- this.currentGraph = new Curve(this.render, point);
64
- break;
65
- case "Bezier": // 新建 贝赛尔曲线
66
- this.currentGraph = new Bezier(this.render, point);
67
- break;
68
- default:
69
- break;
70
- }
71
-
72
- // 初始化设置信息
73
- if (this.currentGraph) {
74
- const temSetting = this.render.getAssetSettings(this.currentGraph.group);
75
- this.render.setAssetSettings(
76
- this.currentGraph.group,
77
- {
78
- ...temSetting,
79
- stroke: temSetting.stroke || "#000000",
80
- strokeWidth: temSetting.strokeWidth || 1,
81
- fill: temSetting.fill || (["Circle", "Rect"].includes(this.render.graphType) ? "transparent" : "#000000"),
82
- },
83
- false
84
- );
85
- }
86
- }
87
- }
88
- }
89
- },
90
- mousemove: () => {
91
- if (this.graphing) {
92
- if (this.currentGraph) {
93
- const pos = this.getStagePoint(true);
94
- if (pos) { // 新建并马上调整图形
95
- this.currentGraph.drawMove(pos);
96
- }
97
- }
98
- }
99
- },
100
- mouseup: () => {
101
- if (this.graphing) {
102
- if (this.currentGraph) {
103
- this.currentGraph.drawEnd(); // 调整结束
104
- }
105
- this.graphing = false; // 调整结束
106
- this.render.changeGraphType(); // 清空图形类型选择
107
- this.render.attractTool.alignLinesClear(); // 对齐线清除
108
- this.render.redraw([GraphDraw.NAME]);
109
- }
110
- }
111
- }
112
- }
113
- }
1
+ import Konva from 'konva';
2
+ import { Render } from '../index';
3
+ import { Handler } from '../types';
4
+ import { BaseGraph, Circle, Rect, Line, Bezier, Curve } from '../graphs';
5
+ import { GraphDraw } from '../draws';
6
+
7
+ export class GraphHandlers implements Handler {
8
+ static readonly NAME = 'GraphHandlers';
9
+ private render: Render;
10
+ constructor(render: Render) {
11
+ this.render = render;
12
+ }
13
+ graphing = false; // 新建图形中
14
+ currentGraph: BaseGraph | undefined; // 当前新建图形类型
15
+
16
+ /**
17
+ * 获取鼠标位置,并处理为 相对大小
18
+ * @param attract 含磁贴计算
19
+ * @returns
20
+ */
21
+ getStagePoint(attract = false) {
22
+ const pos = this.render.stage.getPointerPosition();
23
+ if (pos) {
24
+ const stageState = this.render.getStageState();
25
+ if (attract) { // 磁贴
26
+ const { pos: transformerPos } = this.render.attractTool.attractPoint(pos);
27
+ return {
28
+ x: this.render.toStageValue(transformerPos.x - stageState.x),
29
+ y: this.render.toStageValue(transformerPos.y - stageState.y)
30
+ };
31
+ } else {
32
+ return {
33
+ x: this.render.toStageValue(pos.x - stageState.x),
34
+ y: this.render.toStageValue(pos.y - stageState.y)
35
+ };
36
+ }
37
+ }
38
+ return null;
39
+ }
40
+
41
+ handlers = {
42
+ stage: {
43
+ mousedown: (e: Konva.KonvaEventObject<GlobalEventHandlersEventMap['mousedown']>) => {
44
+ if (this.render.graphType) {
45
+ // 选中图形类型,开始
46
+ if (e.target === this.render.stage) {
47
+ this.graphing = true;
48
+ this.render.selectionTool.selectingClear();
49
+ this.render.linkTool.selectingClear();
50
+ const point = this.getStagePoint();
51
+ if (point) {
52
+ switch (this.render.graphType) {
53
+ case "Circle": // 新建 圆/椭圆 实例
54
+ this.currentGraph = new Circle(this.render, point);
55
+ break;
56
+ case "Rect": // 新建 矩形 实例
57
+ this.currentGraph = new Rect(this.render, point);
58
+ break;
59
+ case "Line": // 新建 直线、折线
60
+ this.currentGraph = new Line(this.render, point);
61
+ break;
62
+ case "Curve": // 新建 曲线
63
+ this.currentGraph = new Curve(this.render, point);
64
+ break;
65
+ case "Bezier": // 新建 贝赛尔曲线
66
+ this.currentGraph = new Bezier(this.render, point);
67
+ break;
68
+ default:
69
+ break;
70
+ }
71
+
72
+ // 初始化设置信息
73
+ if (this.currentGraph) {
74
+ const temSetting = this.render.getAssetSettings(this.currentGraph.group);
75
+ this.render.setAssetSettings(
76
+ this.currentGraph.group,
77
+ {
78
+ ...temSetting,
79
+ stroke: temSetting.stroke || "#000000",
80
+ strokeWidth: temSetting.strokeWidth || 1,
81
+ fill: temSetting.fill || (["Circle", "Rect"].includes(this.render.graphType) ? "transparent" : "#000000"),
82
+ },
83
+ false
84
+ );
85
+ }
86
+ }
87
+ }
88
+ }
89
+ },
90
+ mousemove: () => {
91
+ if (this.graphing) {
92
+ if (this.currentGraph) {
93
+ const pos = this.getStagePoint(true);
94
+ if (pos) { // 新建并马上调整图形
95
+ this.currentGraph.drawMove(pos);
96
+ }
97
+ }
98
+ }
99
+ },
100
+ mouseup: () => {
101
+ if (this.graphing) {
102
+ if (this.currentGraph) {
103
+ this.currentGraph.drawEnd(); // 调整结束
104
+ }
105
+ this.graphing = false; // 调整结束
106
+ this.render.changeGraphType(); // 清空图形类型选择
107
+ this.render.attractTool.alignLinesClear(); // 对齐线清除
108
+ this.render.redraw([GraphDraw.NAME]);
109
+ }
110
+ }
111
+ }
112
+ }
113
+ }
@@ -1,9 +1,9 @@
1
- export { DragHandlers } from './drag-handlers';
2
- export { ZoomHandlers } from './zoom-handlers';
3
- export { DragOutsideHandlers } from './drag-outside-handlers';
4
- export { SelectionHandlers } from './selection-handlers';
5
- export { KeyMoveHandlers } from './key-move-handlers';
6
- export { ShutcutHandlers } from './shutcut-handlers';
7
- export { LinkHandlers } from './link-handlers';
8
- export { GraphHandlers } from './graph-handlers';
9
- export { TextHandlers } from './text-handlers';
1
+ export { DragHandlers } from './drag-handlers';
2
+ export { ZoomHandlers } from './zoom-handlers';
3
+ export { DragOutsideHandlers } from './drag-outside-handlers';
4
+ export { SelectionHandlers } from './selection-handlers';
5
+ export { KeyMoveHandlers } from './key-move-handlers';
6
+ export { ShutcutHandlers } from './shutcut-handlers';
7
+ export { LinkHandlers } from './link-handlers';
8
+ export { GraphHandlers } from './graph-handlers';
9
+ export { TextHandlers } from './text-handlers';
@@ -1,49 +1,49 @@
1
- import * as _ from 'lodash';
2
- import { Render } from '../index';
3
- import { Handler, MoveKey } from '../types';
4
- import { GraphDraw, LinkDraw, RulerDraw, PreviewDraw } from '../draws';
5
-
6
- // 键盘控制组件移动
7
- export class KeyMoveHandlers implements Handler {
8
- static readonly NAME = 'KeyMoveHandlers';
9
- private render: Render;
10
- constructor(render: Render) {
11
- this.render = render;
12
- }
13
- speed = 1;
14
- speedMax = 20;
15
- change = _.debounce(() => this.render.updateHistory(), 200); // 更新历史
16
- handlers = {
17
- dom: {
18
- keydown: (e: GlobalEventHandlersEventMap['keydown']) => {
19
- if (!e.ctrlKey) {
20
- if (Object.values(MoveKey).map((o) => o.toString()).includes(e.code)) {
21
- if (e.code === MoveKey["上"]) {
22
- this.render.selectionTool.selectingNodesMove({ x: 0, y: -this.speed });
23
- } else if (e.code === MoveKey["左"]) {
24
- this.render.selectionTool.selectingNodesMove({ x: -this.speed, y: 0 });
25
- } else if (e.code === MoveKey["右"]) {
26
- this.render.selectionTool.selectingNodesMove({ x: this.speed, y: 0 });
27
- } else if (e.code === MoveKey["下"]) {
28
- this.render.selectionTool.selectingNodesMove({ x: 0, y: this.speed });
29
- }
30
- if (this.speed < this.speedMax) {
31
- this.speed++;
32
- }
33
- this.change();
34
- // 重绘
35
- this.render.redraw([
36
- GraphDraw.NAME,
37
- LinkDraw.NAME,
38
- RulerDraw.NAME,
39
- PreviewDraw.NAME
40
- ]);
41
- }
42
- }
43
- },
44
- keyup: () => {
45
- this.speed = 1;
46
- }
47
- }
48
- }
49
- }
1
+ import * as _ from 'lodash';
2
+ import { Render } from '../index';
3
+ import { Handler, MoveKey } from '../types';
4
+ import { GraphDraw, LinkDraw, RulerDraw, PreviewDraw } from '../draws';
5
+
6
+ // 键盘控制组件移动
7
+ export class KeyMoveHandlers implements Handler {
8
+ static readonly NAME = 'KeyMoveHandlers';
9
+ private render: Render;
10
+ constructor(render: Render) {
11
+ this.render = render;
12
+ }
13
+ speed = 1;
14
+ speedMax = 20;
15
+ change = _.debounce(() => this.render.updateHistory(), 200); // 更新历史
16
+ handlers = {
17
+ dom: {
18
+ keydown: (e: GlobalEventHandlersEventMap['keydown']) => {
19
+ if (!e.ctrlKey) {
20
+ if (Object.values(MoveKey).map((o) => o.toString()).includes(e.code)) {
21
+ if (e.code === MoveKey["上"]) {
22
+ this.render.selectionTool.selectingNodesMove({ x: 0, y: -this.speed });
23
+ } else if (e.code === MoveKey["左"]) {
24
+ this.render.selectionTool.selectingNodesMove({ x: -this.speed, y: 0 });
25
+ } else if (e.code === MoveKey["右"]) {
26
+ this.render.selectionTool.selectingNodesMove({ x: this.speed, y: 0 });
27
+ } else if (e.code === MoveKey["下"]) {
28
+ this.render.selectionTool.selectingNodesMove({ x: 0, y: this.speed });
29
+ }
30
+ if (this.speed < this.speedMax) {
31
+ this.speed++;
32
+ }
33
+ this.change();
34
+ // 重绘
35
+ this.render.redraw([
36
+ GraphDraw.NAME,
37
+ LinkDraw.NAME,
38
+ RulerDraw.NAME,
39
+ PreviewDraw.NAME
40
+ ]);
41
+ }
42
+ }
43
+ },
44
+ keyup: () => {
45
+ this.speed = 1;
46
+ }
47
+ }
48
+ }
49
+ }
@@ -1,45 +1,45 @@
1
- import { Render } from '../index';
2
- import { Handler } from '../types';
3
- import { LinkDraw } from '../draws';
4
-
5
- // 临时连接线
6
-
7
- export class LinkHandlers implements Handler {
8
- static readonly NAME = 'LinkHandlers';
9
- private render: Render;
10
- constructor(render: Render) {
11
- this.render = render;
12
- }
13
- handlers = {
14
- stage: {
15
- mouseup: () => {
16
- const linkDrawState = (this.render.draws[LinkDraw.NAME] as LinkDraw)?.state;
17
- if (linkDrawState) { // 临时 连接线 移除
18
- linkDrawState.linkingLine?.line.destroy();
19
- linkDrawState.linkingLine = null;
20
- }
21
- },
22
- mousemove: () => {
23
- const linkDrawState = (this.render.draws[LinkDraw.NAME] as LinkDraw)?.state;
24
- if (linkDrawState) {
25
- const pos = this.render.stage.getPointerPosition();
26
- if (pos) {
27
- const stageState = this.render.getStageState();
28
- if (linkDrawState.linkingLine) { // 临时 连接线 画
29
- const { circle, line } = linkDrawState.linkingLine;
30
- line.points(
31
- [
32
- [circle.x(), circle.y()],
33
- [
34
- this.render.toStageValue(pos.x - stageState.x),
35
- this.render.toStageValue(pos.y - stageState.y)
36
- ]
37
- ].flat()
38
- );
39
- }
40
- }
41
- }
42
- }
43
- }
44
- }
45
- }
1
+ import { Render } from '../index';
2
+ import { Handler } from '../types';
3
+ import { LinkDraw } from '../draws';
4
+
5
+ // 临时连接线
6
+
7
+ export class LinkHandlers implements Handler {
8
+ static readonly NAME = 'LinkHandlers';
9
+ private render: Render;
10
+ constructor(render: Render) {
11
+ this.render = render;
12
+ }
13
+ handlers = {
14
+ stage: {
15
+ mouseup: () => {
16
+ const linkDrawState = (this.render.draws[LinkDraw.NAME] as LinkDraw)?.state;
17
+ if (linkDrawState) { // 临时 连接线 移除
18
+ linkDrawState.linkingLine?.line.destroy();
19
+ linkDrawState.linkingLine = null;
20
+ }
21
+ },
22
+ mousemove: () => {
23
+ const linkDrawState = (this.render.draws[LinkDraw.NAME] as LinkDraw)?.state;
24
+ if (linkDrawState) {
25
+ const pos = this.render.stage.getPointerPosition();
26
+ if (pos) {
27
+ const stageState = this.render.getStageState();
28
+ if (linkDrawState.linkingLine) { // 临时 连接线 画
29
+ const { circle, line } = linkDrawState.linkingLine;
30
+ line.points(
31
+ [
32
+ [circle.x(), circle.y()],
33
+ [
34
+ this.render.toStageValue(pos.x - stageState.x),
35
+ this.render.toStageValue(pos.y - stageState.y)
36
+ ]
37
+ ].flat()
38
+ );
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
@@ -1,45 +1,45 @@
1
- import { Render } from '../index';
2
- import { Handler, ShutcutKey } from '../types';
3
-
4
- export class ShutcutHandlers implements Handler {
5
- static readonly NAME = 'ShutcutHandlers';
6
- private render: Render;
7
- constructor(render: Render) {
8
- this.render = render;
9
- }
10
- handlers = {
11
- dom: {
12
- keydown: (e: GlobalEventHandlersEventMap['keydown']) => {
13
- if (!this.render.config.readonly) {
14
- if (e.ctrlKey || e.metaKey) {
15
- if (e.code === ShutcutKey.C) {
16
- this.render.copyTool.pasteStart();
17
- } else if (e.code === ShutcutKey.V) {
18
- this.render.copyTool.pasteEnd();
19
- } else if (e.code === ShutcutKey.Z) {
20
- if (e.shiftKey) {
21
- this.render.nextHistory();
22
- } else {
23
- this.render.prevHistory();
24
- }
25
- } else if (e.code === ShutcutKey.A) {
26
- this.render.selectionTool.selectAll();
27
- }
28
- } else if (e.code === ShutcutKey["删除"] || e.code === ShutcutKey.Backspace) {
29
- this.render.remove(this.render.selectionTool.selectingNodes);
30
- // 删除 连接线
31
- this.render.linkTool.remove();
32
- } else if (e.code === ShutcutKey.Esc) {
33
- this.render.selectionTool.selectingClear();
34
- this.render.linkTool.selectingClear();
35
- }
36
- }
37
- if (e.code === ShutcutKey.R) {
38
- if (e.ctrlKey || e.metaKey) {
39
- window.location.reload();
40
- }
41
- }
42
- }
43
- }
44
- }
45
- }
1
+ import { Render } from '../index';
2
+ import { Handler, ShutcutKey } from '../types';
3
+
4
+ export class ShutcutHandlers implements Handler {
5
+ static readonly NAME = 'ShutcutHandlers';
6
+ private render: Render;
7
+ constructor(render: Render) {
8
+ this.render = render;
9
+ }
10
+ handlers = {
11
+ dom: {
12
+ keydown: (e: GlobalEventHandlersEventMap['keydown']) => {
13
+ if (!this.render.config.readonly) {
14
+ if (e.ctrlKey || e.metaKey) {
15
+ if (e.code === ShutcutKey.C) {
16
+ this.render.copyTool.pasteStart();
17
+ } else if (e.code === ShutcutKey.V) {
18
+ this.render.copyTool.pasteEnd();
19
+ } else if (e.code === ShutcutKey.Z) {
20
+ if (e.shiftKey) {
21
+ this.render.nextHistory();
22
+ } else {
23
+ this.render.prevHistory();
24
+ }
25
+ } else if (e.code === ShutcutKey.A) {
26
+ this.render.selectionTool.selectAll();
27
+ }
28
+ } else if (e.code === ShutcutKey["删除"] || e.code === ShutcutKey.Backspace) {
29
+ this.render.remove(this.render.selectionTool.selectingNodes);
30
+ // 删除 连接线
31
+ this.render.linkTool.remove();
32
+ } else if (e.code === ShutcutKey.Esc) {
33
+ this.render.selectionTool.selectingClear();
34
+ this.render.linkTool.selectingClear();
35
+ }
36
+ }
37
+ if (e.code === ShutcutKey.R) {
38
+ if (e.ctrlKey || e.metaKey) {
39
+ window.location.reload();
40
+ }
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }