From 12d27d7f4157510141b62fafe150f6a7a2df6fa4 Mon Sep 17 00:00:00 2001 From: IchliebedichZhu <54796446@qq.com> Date: Mon, 4 Mar 2024 21:05:29 +0000 Subject: [PATCH] feat: convert right-click-menu component to vue3 --- src/common/hooks/mapGetters.ts | 13 + src/common/methods/target.ts | 2 +- .../ImageExtraction/ImageExtraction.vue | 107 -------- .../business/picture-selector/index.vue | 4 +- src/components/business/qrcode/index.vue | 2 +- src/components/business/qrcode/method.ts | 9 +- .../business/right-click-menu/RcMenu.vue | 242 +++++++++--------- .../business/right-click-menu/rcMenuData.ts | 23 +- 8 files changed, 167 insertions(+), 235 deletions(-) create mode 100644 src/common/hooks/mapGetters.ts delete mode 100644 src/components/business/image-cutout/ImageExtraction/ImageExtraction.vue diff --git a/src/common/hooks/mapGetters.ts b/src/common/hooks/mapGetters.ts new file mode 100644 index 0000000..98a3008 --- /dev/null +++ b/src/common/hooks/mapGetters.ts @@ -0,0 +1,13 @@ +import { ComputedRef, computed } from 'vue' +import { useStore } from 'vuex' + +export function useSetupMapGetters(strList: T[]) { + const mapData: Partial<{[x in T]: ComputedRef}> = {} + const getters = useStore().getters + + strList.forEach(val => { + mapData[val] = computed(() => getters[val]) + }) + + return mapData as {[x in T]: ComputedRef} +} diff --git a/src/common/methods/target.ts b/src/common/methods/target.ts index 90d1c60..163144a 100644 --- a/src/common/methods/target.ts +++ b/src/common/methods/target.ts @@ -8,7 +8,7 @@ // TODO: Group类型比较特殊,所以需要全量循环并判断是否为group const arr = ['w-text', 'w-image', 'w-svg', 'w-group', 'w-qrcode'] -export function getTarget(currentTarget: HTMLElement) { +export function getTarget(currentTarget: HTMLElement): Promise { let collector: string[] = [] let groupTarger: HTMLElement | null = null let saveTarger: HTMLElement | null = null diff --git a/src/components/business/image-cutout/ImageExtraction/ImageExtraction.vue b/src/components/business/image-cutout/ImageExtraction/ImageExtraction.vue deleted file mode 100644 index 111585d..0000000 --- a/src/components/business/image-cutout/ImageExtraction/ImageExtraction.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - diff --git a/src/components/business/picture-selector/index.vue b/src/components/business/picture-selector/index.vue index f67f707..421a25c 100644 --- a/src/components/business/picture-selector/index.vue +++ b/src/components/business/picture-selector/index.vue @@ -2,8 +2,8 @@ * @Author: ShawnPhang * @Date: 2022-10-08 10:07:19 * @Description: - * @LastEditors: ShawnPhang - * @LastEditTime: 2023-10-05 00:04:51 + * @LastEditors: ShawnPhang , Jeremy Yu + * @Date: 2024-03-04 18:10:00 -->