wuchenguang1998

Results 7 issues of wuchenguang1998

从[issue#1071](https://github.com/didi/LogicFlow/issues/1071)引申,对于边(edge)的点击,也存在笔记本触摸板点击边时没有触发edge:click事件的问题。 原代码判断逻辑为:mousedown和up间隔时间大于200ms,则认为是拖拽,不触发click事件。 这样判断并不是最优方式,原因与[PR#1465](https://github.com/didi/LogicFlow/pull/1465)类似,因此解决方式也类似。

### 发生了什么? 初始化lf时,如果设置grid:true,则网格线的默认颜色#ababab是生效的,但当设置了thickness时,默认颜色不会起作用。 复现示例:https://codesandbox.io/p/sandbox/grid-config-7mpngf ### logicflow/core版本 1.2.24 ### logicflow/extension版本 1.2.24 ### logicflow/engine版本 _No response_ ### 浏览器&环境 Chrome

bug

### 发生了什么? 主题设置有两种方式,一种是初始化lf传入,另一种是使用setTheme方法。当两种方式一同使用时,对同一种类型的样式属性不能完全合并。 比如初始化lf时,设置以下属性: `style: { inputText: { background: 'blue' }, baseNode: { fill: 'yellow' }, },` 然后使用setTheme,设置以下属性: `lf.setTheme({ polyline: { stroke: 'red' }, baseNode: { stroke: 'green' }, });`...

bug

修复[issue#1563](https://github.com/didi/LogicFlow/issues/1563)

修复[issue#364](https://github.com/nihaojob/vue-fabric-editor/issues/364) 出现问题的原因是: emitter监听了太多事件,超过了默认最大监听数。排查发现,多个组件都调用了src\hooks\select.ts的自定义hook,这个hook在onMounted时监听了3个画布元素的选择事件。导致多个组件调用这hook时,这3个事件被反复监听。通过console.log(canvasEditor.listenerCount(SelectEvent.ONE));查看,发现selectOne监听了近30次,其中多数是来源于这个自定义hook。 本次提交的改动: 将src\hooks\select.ts主要监听逻辑抽取成新的hook(useSelectListen),在src\views\home\index.vue调用一次,并将mixinState暴露。原来的src\hooks\select.ts通过inject获取mixinState,提供给有需要的组件。 最终效果: 选择事件的监听大幅减少,控制台警告消除。

![微信截图_20240504155521](https://github.com/nihaojob/vue-fabric-editor/assets/63847336/73032d0e-4646-49f9-94dd-c08ce1dab0e0)

将部分context api放到for循环外,减少api调用次数