From cf63d5d086e94e6a643c7e8d2153257cbd342989 Mon Sep 17 00:00:00 2001 From: hguan Date: Sun, 9 Oct 2022 10:34:09 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=F0=9F=90=9B=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=A1=86=E9=80=89=E9=80=89=E6=A1=86=E4=B8=8D=E6=B6=88=E5=A4=B1?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 鼠标抬起的时候,结束节流函数 --- src/views/chart/ContentEdit/hooks/useDrag.hook.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/views/chart/ContentEdit/hooks/useDrag.hook.ts b/src/views/chart/ContentEdit/hooks/useDrag.hook.ts index 995a1427..74e006b9 100644 --- a/src/views/chart/ContentEdit/hooks/useDrag.hook.ts +++ b/src/views/chart/ContentEdit/hooks/useDrag.hook.ts @@ -153,6 +153,8 @@ export const mousedownBoxSelect = (e: MouseEvent, item?: CreateComponentType | C // 鼠标抬起 const mouseup = () => { + // 鼠标抬起时,结束mousemove的节流函数,避免选框不消失问题 + mousemove.cancel() chartEditStore.setEditCanvas(EditCanvasTypeEnum.IS_SELECT, false) chartEditStore.setMousePosition(0, 0, 0, 0) document.removeEventListener('mousemove', mousemove) From 03b22f4af1c7b95c8d2de9ced2ca5c5f1b61e0bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A5=94=E8=B7=91=E7=9A=84=E9=9D=A2=E6=9D=A1?= <1262327911@qq.com> Date: Sun, 9 Oct 2022 15:23:51 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=95=B0=E6=8D=AE=E4=BC=9A=E9=94=99=E4=B9=B1?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/chart/hooks/useSync.hook.ts | 37 ++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/src/views/chart/hooks/useSync.hook.ts b/src/views/chart/hooks/useSync.hook.ts index bfa7400d..9bf70564 100644 --- a/src/views/chart/hooks/useSync.hook.ts +++ b/src/views/chart/hooks/useSync.hook.ts @@ -7,6 +7,29 @@ import { CreateComponentType, CreateComponentGroupType, ConfigType } from '@/pac import { PublicGroupConfigClass } from '@/packages/public/publicConfig' import merge from 'lodash/merge' +/** + * 合并处理 + * @param object 模板数据 + * @param sources 新拿到的数据 + * @returns object + */ +const componentMerge = (object: any, sources: any, notComponent = false) => { + // 非组件不处理 + if (notComponent) return merge(object, sources) + // 组件排除 options + const option = sources.option + if(!option) return merge(object, sources) + + // 为 undefined 的 sources 来源对象属性将被跳过详见 https://www.lodashjs.com/docs/lodash.merge + sources.option = undefined + if (option) { + return { + ...merge(object, sources), + option: option + } + } +} + // 请求处理 export const useSync = () => { const chartEditStore = useChartEditStore() @@ -57,19 +80,19 @@ export const useSync = () => { let newComponent: CreateComponentType = await createComponent(_componentInstance.chartConfig) if (callBack) { if (changeId) { - callBack(merge(newComponent, { ..._componentInstance, id: getUUID() })) + callBack(componentMerge(newComponent, { ..._componentInstance, id: getUUID() })) } else { - callBack(merge(newComponent, _componentInstance)) + callBack(componentMerge(newComponent, _componentInstance)) } } else { if (changeId) { chartEditStore.addComponentList( - merge(newComponent, { ..._componentInstance, id: getUUID() }), + componentMerge(newComponent, { ..._componentInstance, id: getUUID() }), false, true ) } else { - chartEditStore.addComponentList(merge(newComponent, _componentInstance), false, true) + chartEditStore.addComponentList(componentMerge(newComponent, _componentInstance), false, true) } } } @@ -78,9 +101,9 @@ export const useSync = () => { // 创建分组 let groupClass = new PublicGroupConfigClass() if (changeId) { - groupClass = merge(groupClass, { ...comItem, id: getUUID() }) + groupClass = componentMerge(groupClass, { ...comItem, id: getUUID() }) } else { - groupClass = merge(groupClass, comItem) + groupClass = componentMerge(groupClass, comItem) } // 注册子应用 @@ -101,7 +124,7 @@ export const useSync = () => { } else { // 非组件(顺便排除脏数据) if (key !== 'editCanvasConfig' && key !== 'requestGlobalConfig') return - merge(chartEditStore[key], projectData[key]) + componentMerge(chartEditStore[key], projectData[key], true) } } } From 02e4ebf884be681c1c5d0d2ccf706bdd27b89d9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A5=94=E8=B7=91=E7=9A=84=E9=9D=A2=E6=9D=A1?= <1262327911@qq.com> Date: Sun, 9 Oct 2022 15:24:34 +0800 Subject: [PATCH 3/4] =?UTF-8?q?build:=20=E4=BF=AE=E6=94=B9=E7=89=88?= =?UTF-8?q?=E6=9C=AC1.1.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6cc16ac2..9a568681 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "go-view", - "version": "1.0.9", + "version": "1.1.1", "scripts": { "dev": "vite --host", "build": "vue-tsc --noEmit && vite build", From c24e77d3af7b42d55fc87a177e96d2359da1387b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A5=94=E8=B7=91=E7=9A=84=E9=9D=A2=E6=9D=A1?= <1262327911@qq.com> Date: Sun, 9 Oct 2022 15:25:40 +0800 Subject: [PATCH 4/4] =?UTF-8?q?build:=20=E6=96=B0=E5=A2=9E=E5=B0=8F?= =?UTF-8?q?=E7=89=88=E6=9C=AC1.1.11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9a568681..8638b291 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "go-view", - "version": "1.1.1", + "version": "1.1.11", "scripts": { "dev": "vite --host", "build": "vue-tsc --noEmit && vite build",