@zhangqingcq/vgce 0.0.20 → 0.0.22
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +1 -1
- package/dist/style.css +2 -2
- package/dist/vgce.js +15858 -15276
- package/dist/vgce.umd.cjs +82 -129
- package/package.json +13 -15
- package/src/assets/base.less +79 -31
- package/src/assets/icons/delete-gray.svg +1 -0
- package/src/assets/icons/delete.svg +1 -12
- package/src/assets/icons/export.svg +1 -1
- package/src/assets/icons/import.svg +1 -1
- package/src/assets/icons/line-active.svg +1 -0
- package/src/assets/icons/line.svg +1 -0
- package/src/assets/icons/menu-fold.svg +1 -9
- package/src/assets/icons/menu-unfold.svg +1 -9
- package/src/assets/icons/preview.svg +1 -6
- package/src/assets/icons/question.svg +1 -0
- package/src/assets/icons/redo-gray.svg +1 -0
- package/src/assets/icons/redo.svg +1 -8
- package/src/assets/icons/return.svg +1 -8
- package/src/assets/icons/rotate.svg +1 -1
- package/src/assets/icons/save.svg +1 -9
- package/src/assets/icons/undo-gray.svg +1 -0
- package/src/assets/icons/undo.svg +1 -7
- package/src/assets/svgs/sheet-border.svg +1 -0
- package/src/assets/svgs/svg-text.svg +1 -5
- package/src/components/svg-analysis/index.vue +1 -1
- package/src/components/svg-editor/center-panel/index.vue +508 -176
- package/src/components/svg-editor/component-tree/index.vue +4 -0
- package/src/components/svg-editor/connection-line/index.vue +12 -8
- package/src/components/svg-editor/connection-panel/index.vue +121 -181
- package/src/components/svg-editor/handle-panel/index.vue +32 -24
- package/src/components/svg-editor/index.vue +24 -25
- package/src/components/svg-editor/left-panel/index.vue +2 -2
- package/src/components/svg-editor/right-panel/bind-anchor.vue +124 -0
- package/src/components/svg-editor/right-panel/code-edit-modal.vue +1 -1
- package/src/components/svg-editor/right-panel/dynamic-el-form-item.vue +8 -1
- package/src/components/svg-editor/right-panel/index.vue +117 -56
- package/src/components/svg-editor/top-panel/index.vue +109 -25
- package/src/components/svg-viewer/index.vue +31 -21
- package/src/components/vue3-ruler-tool/index.vue +329 -372
- package/src/config/files/clock-a.vue +64 -64
- package/src/config/svg/animation/index.ts +1 -1
- package/src/config/svg/custom/svg-text.ts +2 -2
- package/src/config/svg/stateful/index.ts +1 -1
- package/src/config/svg/stateless/index.ts +3 -2
- package/src/config/svg/stateless/sheet-border.ts +22 -0
- package/src/config/types.ts +1 -0
- package/src/stores/config/index.ts +1 -8
- package/src/stores/config/types.ts +0 -8
- package/src/stores/global/index.ts +0 -10
- package/src/stores/global/types.ts +33 -10
- package/src/stores/svg-edit-layout/index.ts +7 -0
- package/src/stores/svg-edit-layout/types.ts +1 -0
- package/src/utils/index.ts +227 -103
- package/src/utils/scale-core.ts +1 -0
- package/src/views/EditorS.vue +1 -1
@@ -20,7 +20,6 @@
|
|
20
20
|
const instance = getCurrentInstance()
|
21
21
|
Object.keys(vueComp).forEach((key: string) => {
|
22
22
|
if (!Object.keys(instance?.appContext?.components as any).includes(key)) {
|
23
|
-
// @ts-ignore
|
24
23
|
instance?.appContext.app.component(key, vueComp[key])
|
25
24
|
}
|
26
25
|
})
|
@@ -37,14 +36,7 @@
|
|
37
36
|
svg: {
|
38
37
|
background_color: '#fff',
|
39
38
|
scale: 1,
|
40
|
-
|
41
|
-
x: -333,
|
42
|
-
y: -113
|
43
|
-
},
|
44
|
-
svg_position_center: {
|
45
|
-
x: 50,
|
46
|
-
y: 50
|
47
|
-
}
|
39
|
+
grid_color: '#ebebeb'
|
48
40
|
},
|
49
41
|
net: {
|
50
42
|
mqtt: {
|
@@ -60,6 +52,7 @@
|
|
60
52
|
)
|
61
53
|
const globalStore = useGlobalStore(pinia)
|
62
54
|
|
55
|
+
const cursor_style = computed(() => (globalStore.intention == EGlobalStoreIntention.MoveCanvas ? 'grab' : 'default'))
|
63
56
|
const onCanvasMouseMove = (e: MouseEvent) => {
|
64
57
|
//如果鼠标不是按下状态 连线除外
|
65
58
|
if (
|
@@ -91,7 +84,7 @@
|
|
91
84
|
if (globalStore.intention != EGlobalStoreIntention.Select) {
|
92
85
|
globalStore.intention = EGlobalStoreIntention.None
|
93
86
|
}
|
94
|
-
globalStore.
|
87
|
+
globalStore.mouse_info = {
|
95
88
|
state: EMouseInfoState.Up,
|
96
89
|
position_x: 0,
|
97
90
|
position_y: 0,
|
@@ -99,14 +92,13 @@
|
|
99
92
|
now_position_y: 0,
|
100
93
|
new_position_x: 0,
|
101
94
|
new_position_y: 0
|
102
|
-
}
|
95
|
+
}
|
103
96
|
}
|
104
97
|
const onCanvasMouseDown = (e: MouseEvent) => {
|
105
|
-
console.log('onCanvasMouseDown', e)
|
106
98
|
const { clientX, clientY } = e
|
107
99
|
//点击画布 未选中组件 拖动画布
|
108
100
|
globalStore.intention = EGlobalStoreIntention.MoveCanvas
|
109
|
-
globalStore.
|
101
|
+
globalStore.mouse_info = {
|
110
102
|
state: EMouseInfoState.Down,
|
111
103
|
position_x: clientX,
|
112
104
|
position_y: clientY,
|
@@ -114,8 +106,19 @@
|
|
114
106
|
now_position_y: preview_data.layout_center.y,
|
115
107
|
new_position_x: preview_data.layout_center.x,
|
116
108
|
new_position_y: preview_data.layout_center.y
|
117
|
-
}
|
109
|
+
}
|
110
|
+
}
|
111
|
+
|
112
|
+
function onMousewheel(e: any) {
|
113
|
+
if (e?.wheelDelta) {
|
114
|
+
if (e.wheelDelta > 0) {
|
115
|
+
preview_data.config.svg.scale = parseFloat((preview_data.config.svg.scale + 0.1).toFixed(1))
|
116
|
+
} else {
|
117
|
+
preview_data.config.svg.scale = parseFloat((preview_data.config.svg.scale - 0.1).toFixed(1))
|
118
|
+
}
|
119
|
+
}
|
118
120
|
}
|
121
|
+
|
119
122
|
const getActualBoundScale = (
|
120
123
|
actual_bound: {
|
121
124
|
x: number
|
@@ -237,7 +240,13 @@
|
|
237
240
|
</script>
|
238
241
|
|
239
242
|
<template>
|
240
|
-
<div
|
243
|
+
<div
|
244
|
+
class="canvas"
|
245
|
+
@mousedown="onCanvasMouseDown"
|
246
|
+
@mousemove="onCanvasMouseMove"
|
247
|
+
@mouseup="onCanvasMouseUp"
|
248
|
+
@mousewheel="onMousewheel"
|
249
|
+
>
|
241
250
|
<svg
|
242
251
|
xmlns="http://www.w3.org/2000/svg"
|
243
252
|
:style="{ backgroundColor: preview_data.config.svg.background_color }"
|
@@ -245,9 +254,9 @@
|
|
245
254
|
height="100%"
|
246
255
|
>
|
247
256
|
<g
|
248
|
-
:transform="`translate(${preview_data.
|
249
|
-
preview_data.config.svg.
|
250
|
-
})
|
257
|
+
:transform="`translate(${preview_data.layout_center.x},${preview_data.layout_center.y})rotate(${0})scale(${
|
258
|
+
preview_data.config.svg.scale
|
259
|
+
})`"
|
251
260
|
>
|
252
261
|
<g
|
253
262
|
v-for="item in preview_data.done_json"
|
@@ -326,24 +335,25 @@
|
|
326
335
|
.canvas {
|
327
336
|
width: 100%;
|
328
337
|
height: 100vh;
|
338
|
+
cursor: v-bind('cursor_style');
|
329
339
|
}
|
330
340
|
|
331
341
|
.svg-item-none {
|
332
342
|
cursor: move;
|
333
343
|
|
334
344
|
&:hover {
|
335
|
-
outline: 1px solid #
|
345
|
+
outline: 1px solid #f8d032;
|
336
346
|
}
|
337
347
|
}
|
338
348
|
|
339
349
|
.svg-item-move {
|
340
350
|
cursor: move;
|
341
|
-
outline: 1px dashed rgb(23, 222
|
351
|
+
outline: 1px dashed rgb(149, 23, 222);
|
342
352
|
}
|
343
353
|
|
344
354
|
.svg-item-select {
|
345
355
|
cursor: move;
|
346
|
-
outline: 1px solid rgb(23, 222
|
356
|
+
outline: 1px solid rgb(149, 23, 222);
|
347
357
|
}
|
348
358
|
|
349
359
|
.common-ani {
|