From 7b0f611edf3fef7251f3a4cd66c4f9b4b1747b96 Mon Sep 17 00:00:00 2001 From: pipipi-pikachu Date: Sun, 25 Sep 2022 20:05:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=8F=AF=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E9=9D=A2=E6=9D=BF=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components.d.ts | 2 + src/components/MoveablePanel.vue | 135 ++++++++++++++++++ src/plugins/component.ts | 2 + .../Editor/Canvas/hooks/useSelectElement.ts | 8 -- 4 files changed, 139 insertions(+), 8 deletions(-) create mode 100644 src/components/MoveablePanel.vue diff --git a/src/components.d.ts b/src/components.d.ts index 9696e83d..3a587216 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -6,6 +6,7 @@ import CheckboxButton from '@/components/CheckboxButton.vue' import CheckboxButtonGroup from '@/components/CheckboxButtonGroup.vue' import ColorPicker from '@/components/ColorPicker/index.vue' import FullscreenSpin from '@/components/FullscreenSpin.vue' +import MoveablePanel from '@/components/MoveablePanel.vue' type Icon = typeof icons @@ -16,6 +17,7 @@ declare module 'vue' { CheckboxButtonGroup: typeof CheckboxButtonGroup ColorPicker: typeof ColorPicker FullscreenSpin: typeof FullscreenSpin + MoveablePanel: typeof MoveablePanel // antd 组件 InputNumber: typeof import('ant-design-vue')['InputNumber'] diff --git a/src/components/MoveablePanel.vue b/src/components/MoveablePanel.vue new file mode 100644 index 00000000..1ab2ff5e --- /dev/null +++ b/src/components/MoveablePanel.vue @@ -0,0 +1,135 @@ + + + + + \ No newline at end of file diff --git a/src/plugins/component.ts b/src/plugins/component.ts index f9a47f1a..cd71bded 100644 --- a/src/plugins/component.ts +++ b/src/plugins/component.ts @@ -5,6 +5,7 @@ import CheckboxButton from '@/components/CheckboxButton.vue' import CheckboxButtonGroup from '@/components/CheckboxButtonGroup.vue' import ColorPicker from '@/components/ColorPicker/index.vue' import FullscreenSpin from '@/components/FullscreenSpin.vue' +import MoveablePanel from '@/components/MoveablePanel.vue' const components = { FileInput, @@ -12,6 +13,7 @@ const components = { CheckboxButtonGroup, ColorPicker, FullscreenSpin, + MoveablePanel, } export default { diff --git a/src/views/Editor/Canvas/hooks/useSelectElement.ts b/src/views/Editor/Canvas/hooks/useSelectElement.ts index 74614a36..cf0f5a31 100644 --- a/src/views/Editor/Canvas/hooks/useSelectElement.ts +++ b/src/views/Editor/Canvas/hooks/useSelectElement.ts @@ -86,15 +86,7 @@ export default ( if (startMove) moveElement(e, element) } - // 选中页面内的全部元素 - const selectAllElement = () => { - const unlockedElements = elementList.value.filter(el => !el.lock) - const newActiveElementIdList = unlockedElements.map(el => el.id) - mainStore.setActiveElementIdList(newActiveElementIdList) - } - return { selectElement, - selectAllElement, } }