Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Steve/line-points-snap #1464

Merged
merged 3 commits into from
Jan 6, 2025
Merged

Steve/line-points-snap #1464

merged 3 commits into from
Jan 6, 2025

Conversation

weareoutman
Copy link
Member

@weareoutman weareoutman commented Jan 5, 2025

依赖检查

组件之间的依赖声明,是微服务组件架构下的重要信息,请确保其正确性。

请勾选以下两组选项其中之一:

  • 本次 MR 没有使用上游组件(例如框架、后台组件等)的较新版本提供的特性。

或者:

  • 本次 MR 使用了上游组件(例如框架、后台组件等)的较新版本提供的特性。
  • 在对应的文件中更新了该上游组件的依赖版本(或确认了当前声明的依赖版本已包含本次 MR 使用的新特性)。

提交信息检查

Git 提交信息将决定包的版本发布及自动生成的 CHANGELOG,请检查工作内容与提交信息是否相符,并在以下每组选项中都依次确认。

破坏性变更是针对于下游使用者而言,可以通过本次改动对下游使用者的影响来识别变更类型:

  • 下游使用者不做任何改动,仍可以正常工作时,那么它属于普通变更。
  • 反之,下游使用者不做改动就无法正常工作时,那么它属于破坏性变更。

例如,构件修改了一个属性名,小产品 Storyboard 中需要使用新属性名才能工作,那么它就是破坏性变更。
又例如,构件还没有任何下游使用者,那么它的任何变更都是普通变更。

破坏性变更:

  • ⚠️ 本次 MR 包含破坏性变更的提交,请继续确认以下所有选项:
  • 没有更好的兼容方案,必须做破坏性变更。
  • 使用了 feat 作为提交类型。
  • 标注了 BREAKING CHANGE: 你的变更说明
  • 同时更新了本仓库中所有下游使用者的调用。
  • 同时更新了本仓库中所有下游使用者对该子包的依赖为即将发布的 major 版本。
  • 同时为其它仓库的 Migrating 做好了准备,例如文档或批量改动的方法。
  • 手动验证过破坏性变更在 Migrate 后可以正常工作。
  • 破坏性变更所在的提交没有意外携带其它子包的改动。

新特性:

  • 本次 MR 包含新特性的提交,且该提交不带有破坏性变更,并使用了 feat 作为提交类型。
  • 给新特性添加了单元测试。
  • 手动验证过新特性可以正常工作。

问题修复:

  • 本次 MR 包含问题修复的提交,且该提交不带有新特性或破坏性变更,并使用了 fix 作为提交类型。
  • 给问题修复添加了单元测试。
  • 手动验证过问题修复得到解决。

杂项工作:

即所有对下游使用者无任何影响、且没有必要显示在 CHANGELOG 中的改动,例如修改注释、测试用例、开发文档等:

  • 本次 MR 包含杂项工作的提交,且该提交不带有问题修复、新特性或破坏性变更,并使用了 chore, docs, test 等作为提交类型。

Summary by CodeRabbit

  • 新功能

    • 引入了可编辑线映射(Editable Line Map)功能
    • 优化了画布中边缘和线条的交互管理
    • 改进了线条连接和编辑的智能处理
  • 性能优化

    • 通过 useEditableLineMap 钩子提升了线条渲染性能
    • 简化了线条点和边缘状态的计算逻辑
  • 用户体验改进

    • 增强了图表编辑时的线条连接和控制点交互
    • 提供了更灵活的线条编辑方式

Copy link

coderabbitai bot commented Jan 5, 2025

概述

这组更改主要关注于在图表绘制画布中引入可编辑线映射(Editable Line Map)的功能。这些修改涉及多个文件,旨在改进边缘(Edge)和线条的交互和管理方式,通过引入新的数据结构和状态管理方法来增强绘图组件的灵活性。

变更

文件路径 变更摘要
bricks/diagram/src/display-canvas/index.tsx 添加 useEditableLineMap 钩子,创建 editableLineMap 并将其传递给 CellComponent
bricks/diagram/src/draw-canvas/CellComponent.tsx 引入 EditableLine 类型,添加 editableLineMap 属性,修改鼠标事件处理逻辑
bricks/diagram/src/draw-canvas/EdgeComponent.tsx 移除 cells 属性,引入 editableLineMap,简化线条点计算逻辑
bricks/diagram/src/draw-canvas/EditingLineComponent.tsx 更新组件以支持 editableLineMap,修改鼠标事件处理和线条渲染
bricks/diagram/src/draw-canvas/index.tsx 替换 activeEditableLineactiveEditableEdge,引入 editableLineMap
bricks/diagram/src/shared/canvas/useEditableLineMap.ts 新增自定义钩子,用于创建和管理可编辑线映射

详细解析

这组变更的核心目标是引入一个更灵活、更动态的方式来管理图表中的边缘和线条。主要变化包括:

  1. 引入 editableLineMap:一个 WeakMap,用于存储和管理边缘单元格的可编辑线信息。
  2. 重构状态管理:将 activeEditableLine 替换为 activeEditableEdge,提供更精确的活动边缘追踪。
  3. 简化线条计算:通过 editableLineMap 直接获取线条点,减少计算复杂性。
  4. 增强交互性:改进鼠标事件处理,使线条编辑更加动态和直观。

这些变更提高了图表绘制组件的灵活性和可维护性,为未来的功能扩展奠定了基础。


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@weareoutman weareoutman requested a review from Copilot January 5, 2025 01:31

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 5 out of 13 changed files in this pull request and generated no comments.

Files not reviewed (8)
  • bricks/diagram/src/shared/canvas/processors/getEditingLinePoints.spec.ts: Evaluated as low risk
  • bricks/diagram/src/draw-canvas/SmartConnectLineComponent.tsx: Evaluated as low risk
  • bricks/diagram/src/draw-canvas/HoverStateContext.ts: Evaluated as low risk
  • bricks/diagram/src/display-canvas/index.tsx: Evaluated as low risk
  • bricks/diagram/src/draw-canvas/CellComponent.tsx: Evaluated as low risk
  • bricks/diagram/src/draw-canvas/LineEditorComponent.tsx: Evaluated as low risk
  • bricks/diagram/src/draw-canvas/EditingLineComponent.tsx: Evaluated as low risk
  • bricks/diagram/src/shared/canvas/processors/getEditingLinePoints.ts: Evaluated as low risk
Comments suppressed due to low confidence (3)

bricks/diagram/src/draw-canvas/interfaces.ts:388

  • [nitpick] The name EditableLine might be ambiguous. Consider renaming it to EditableEdgeLine for better clarity.
export interface EditableLine {

bricks/diagram/src/draw-canvas/LineConnectorComponent.tsx:38

  • Add a null check for hoverState before accessing its properties.
setHoverState((prev) => prev && prev.activePointIndex !== index ? { ...hoverState!, activePointIndex: index } : prev);

bricks/diagram/src/draw-canvas/LineConnectorComponent.tsx:54

  • Add null checks for hoverState and rootRef.current before accessing their properties.
const rect = rootRef.current!.getBoundingClientRect();
Copy link

codecov bot commented Jan 5, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 85.45%. Comparing base (ac76ace) to head (f2c008b).
Report is 4 commits behind head on master.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #1464   +/-   ##
=======================================
  Coverage   85.44%   85.45%           
=======================================
  Files         524      525    +1     
  Lines       15670    15677    +7     
  Branches     2349     2352    +3     
=======================================
+ Hits        13389    13396    +7     
  Misses       1829     1829           
  Partials      452      452           
Files with missing lines Coverage Δ
bricks/diagram/src/display-canvas/index.tsx 98.18% <100.00%> (+0.03%) ⬆️
bricks/diagram/src/draw-canvas/CellComponent.tsx 71.42% <ø> (ø)
bricks/diagram/src/draw-canvas/EdgeComponent.tsx 100.00% <100.00%> (ø)
bricks/diagram/src/draw-canvas/index.tsx 82.25% <100.00%> (+0.21%) ⬆️
...c/shared/canvas/processors/getEditingLinePoints.ts 96.96% <100.00%> (+0.30%) ⬆️
...ks/diagram/src/shared/canvas/useEditableLineMap.ts 100.00% <100.00%> (ø)

Copy link

github-actions bot commented Jan 5, 2025

@github-actions github-actions bot temporarily deployed to pull request January 5, 2025 01:36 Inactive
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (6)
bricks/diagram/src/draw-canvas/EditingLineComponent.tsx (2)

71-72: 注释中的日志
考虑移除或使用调试工具,以保持正式代码整洁。

-        // console.log(cells.filter(isEdgeCell));

85-96: 在循环中重复向 otherPoints 推入控制点
如果线条数量多,这段逻辑可能带来性能开销。可考虑使用更高效的数据结构或空间索引加速查找。

bricks/diagram/src/shared/canvas/useEditableLineMap.ts (2)

25-26: 可考虑在大型数据集下的性能。
for (const edge of cells) 对大规模 cells 反复执行遍历时,可能影响性能。若性能为瓶颈,可配合分段处理或自定义优化逻辑。


56-64: 对于空点集的处理方式合理,但可考虑日志或提示。
points 为空时跳过设置可编辑线,逻辑稳健。然而如果是由于缺乏数据或配置错误导致,或许需要在开发环境给出调试信息。

bricks/diagram/src/shared/canvas/processors/getEditingLinePoints.spec.ts (2)

11-16: 测试数据可适度拆分为高内聚测试对象。
sourcetargetactiveEditableEdge 的视图坐标可抽取到 beforeEach 块或测试工厂方法,减少重复定义并提高可读性。


48-58: 细节逻辑的断言看起来精确,但请确保场景完备。
当前仅验证 hoverState.activePointIndex 为 0 的情况,如需覆盖更多情形(如无效索引或多点索引),可考虑额外添加用例。

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ac76ace and f2c008b.

📒 Files selected for processing (13)
  • bricks/diagram/src/display-canvas/index.tsx (3 hunks)
  • bricks/diagram/src/draw-canvas/CellComponent.tsx (7 hunks)
  • bricks/diagram/src/draw-canvas/EdgeComponent.tsx (2 hunks)
  • bricks/diagram/src/draw-canvas/EditingLineComponent.tsx (8 hunks)
  • bricks/diagram/src/draw-canvas/HoverStateContext.ts (3 hunks)
  • bricks/diagram/src/draw-canvas/LineConnectorComponent.tsx (10 hunks)
  • bricks/diagram/src/draw-canvas/LineEditorComponent.tsx (5 hunks)
  • bricks/diagram/src/draw-canvas/SmartConnectLineComponent.tsx (1 hunks)
  • bricks/diagram/src/draw-canvas/index.tsx (6 hunks)
  • bricks/diagram/src/draw-canvas/interfaces.ts (2 hunks)
  • bricks/diagram/src/shared/canvas/processors/getEditingLinePoints.spec.ts (9 hunks)
  • bricks/diagram/src/shared/canvas/processors/getEditingLinePoints.ts (3 hunks)
  • bricks/diagram/src/shared/canvas/useEditableLineMap.ts (1 hunks)
🧰 Additional context used
🪛 Biome (1.9.4)
bricks/diagram/src/draw-canvas/LineConnectorComponent.tsx

[error] 74-74: The assignment should not be in an expression.

The use of assignments in expressions is confusing.
Expressions are often considered as side-effect free.

(lint/suspicious/noAssignInExpressions)

🔇 Additional comments (79)
bricks/diagram/src/draw-canvas/EditingLineComponent.tsx (11)

4-9: 导入新的 EdgeCell 和 EditableLine 类型
这段导入在组件内清晰地引入了用于可编辑边的类型,能更好地管理可编辑线的状态。实现方式无明显问题。


25-26: 在 props 中新增 cells 与 editableLineMap
这为组件提供了必要的上下文信息,用于跟踪多个边及其可编辑信息。设计合理。


32-33: 新增参数在组件中解构
能够清晰引用 cells 与 editableLineMap,以便在组件中使用。无明显问题。


41-41: 从上下文中获取新的 activeEditableEdge
通过 useHoverStateContext 提供的上下文值来管理可编辑边的状态,保持全局状态同步。实现合理。


58-58: 在 useEffect 中检查 activeEditableEdge 的存在
在依赖条件下仅在必要时执行逻辑,避免不必要的渲染和事件处理,提高性能。


74-75: 直接使用可选链断言符号 (!)
如果 editableLineMap.get(activeEditableEdge) 结果为空,.points 会触发运行时错误。需确保上层逻辑保证此值存在。


127-136: 在鼠标松开时更新边的视图
逻辑清晰,能根据编辑状态更新边的顶点数据。但请确保在 onChangeEdgeView 中妥善处理空值或异常情况。


151-159: useEffect 依赖项完整
确保组件在 activeEditableEdge、editableLineMap 等状态更新时重新运行逻辑。无明显问题。


162-162: 早期返回
在 activeEditableEdge 不存在时跳过后续逻辑,可提高可读性与性能。


175-175: 清理事件监听器
在组件卸载或 effect 更新时正确移除 click 事件,可避免内存泄漏。


179-199: 在 useMemo 中生成编辑线的路径
依赖清晰,包含 activeEditableEdge、lineEditorState、editableLineMap 等关键字段,可减少多余计算。无明显问题。

bricks/diagram/src/draw-canvas/LineEditorComponent.tsx (11)

5-5: 导入 ControlPoint、EdgeCell、EditableLine
这些类型有助于更好地处理边的可编辑性和控制点信息。实现无冲突。


18-18: 在 props 中新增 editableLineMap
提供了可编辑线的映射关系,便于在组件内根据 EdgeCell 查找并管理对应的线信息。


23-23: 新增 scale 与 editableLineMap
在组件解构参数时呈现缩放级别及可编辑线映射,可支持多层级缩放与灵活编辑。


25-26: 使用上下文获取 activeEditableEdge
通过 HoverStateContext 获取当前激活的可编辑边,利于集中管理并在事件中处理编辑逻辑。


34-34: 检查必需引用是否已存在
如 exitRef、entryRef 或 activeEditableEdge 不存在则提前返回,能避免事件绑定时出现异常。


57-57: useEffect 依赖项
仅当 activeEditableEdge 等发生变化时才重新绑定事件,符合逻辑需求。


60-63: 在 useMemo 中计算控制点
若边非直线,则生成控制点数组,否则返回空数组。逻辑明了。


66-66: 在控制点事件中检查 activeEditableEdge
防止在不存在可编辑边时执行多余操作,有效规避空引用问题。


94-94: useEffect 依赖项
对 controlPoints 与 activeEditableEdge 的变化实时监听,保证事件回调一致性。


109-109: 在渲染时检查 activeEditableEdge
若无可编辑边则返回 null,避免渲染无用 DOM。


112-113: 从 editableLineMap 中获取 linePoints
请确认 map.get(activeEditableEdge) 不会返回 undefined,否则对 .points 的调用会出错。

bricks/diagram/src/draw-canvas/EdgeComponent.tsx (6)

15-15: 新引入的 EditableLine 类型
为管理可编辑线段提供更灵活的方式。无明显冲突。


32-32: 对 EdgeComponentProps 增加 editableLineMap
通过映射可在 EdgeComponent 中获取对应的可编辑线信息。


40-40: 在 EdgeComponent 中解构 editableLineMap
组件可直接使用外部传入的可编辑线映射,减少重复查询。


45-45: 非空断言使用
请确认 lineConfMap 必然包含对应边的信息,否则需要额外的容错处理。


46-46: 可选链降级
若 editableLineMap 命中失败则使用空对象,避免了对象解构报错。


51-51: 三元运算符区分曲线类型
根据 lineConf.type 灵活使用 curveType 或 "curveLinear",简化代码并提升可读性。

bricks/diagram/src/draw-canvas/CellComponent.tsx (12)

15-15: 导入 EditableLine 类型
为 CellComponent 中对可编辑线的管理奠定类型基础。


47-47: 在 CellComponentProps 中新增 editableLineMap
能够直接关联 EdgeCell 与可编辑线信息,结构更具可扩展性。


76-76: 从 props 中解构 editableLineMap
可轻松在组件内部访问并操作可编辑线映射。


97-97: 解构 activeEditableEdge 与 lineEditorState
便于在当前组件内对可编辑边执行相关交互逻辑。


197-197: 在鼠标抬起事件中处理可编辑边
若不处于 smartConnectLineState,则根据 activeEditableEdge 更新当前连线视图。逻辑清晰可读。


198-198: 从 lineEditorState 获取 type
根据不同的 type 决定后续操作,便于区分入口或控制点编辑。


199-199: 从 editableLineMap 提取 source 与 target
需确认 editableLineMap 中已包含对应条目,避免潜在空引用。


205-205: 更新 entryPosition
通过 onChangeEdgeView 置空 entryPosition,代表重置连线入口。


211-211: 更新 exitPosition
同理清空 exitPosition,保留逻辑一致性。


226-226: useEffect 依赖 activeEditableEdge
监听可编辑边变更,及时重绑鼠标事件,避免状态不同步。


227-227: useEffect 中依赖 editableLineMap
当可编辑线映射变化时,同步更新事件逻辑,避免编辑状态失效。


309-309: 向 EdgeComponent 传递 editableLineMap
统一由 CellComponent 负责传递可编辑线映射,增强组件间数据共享。

bricks/diagram/src/draw-canvas/HoverStateContext.ts (3)

5-5: 新增对 EdgeCell 的类型引用
用 EdgeCell 替换之前的可编辑线信息,集中管理边的编辑状态。


26-26: 使用 activeEditableEdge 取代旧的 activeEditableLine
通过 EdgeCell 直观表示当前编辑对象,令上下文更简洁明了。


51-51: 上下文默认值
将 activeEditableEdge 初始化为 null,确保初始状态可被安全访问。

bricks/diagram/src/shared/canvas/useEditableLineMap.ts (3)

1-2: 导入内容正常,无需额外调整。
导入语句简洁清晰,没有看到多余依赖或版本冲突的迹象。


22-23: 建议校验依赖数组的完整性。
useMemo 仅依赖 cellslineConfMap,如果在其他地方会改变与数据结构或渲染逻辑相关的状态,可能需要一并纳入依赖,否则会出现缓存同步问题。


32-40: 检查逆向连线的逻辑以确保不会产生重复边。
此段逻辑通过同时判断 source === edge.targettarget === edge.source 来判断是否存在反向边。若部分上层逻辑允许多种变形/别名,需确保不会误判或遗漏。

bricks/diagram/src/draw-canvas/SmartConnectLineComponent.tsx (1)

70-74: 曲线类型选择逻辑清晰,但需留意扩展性。
透过 lineSettings?.type 判断是否为 “curve”,再决定使用何种插值方式,这种写法简洁易懂。若后续需要更多自定义类型,可抽取逻辑统一管理。

bricks/diagram/src/shared/canvas/processors/getEditingLinePoints.ts (6)

5-8: 新加类型导入提高可读性。
引入了 EdgeCellEditableLine,让后续函数的可维护性更好,类型信息更明确。


13-15: 接口参数明确化,增强了可扩展性。
相比以往的函数签名,增加了 activeEditableEdgeeditableLineMap 能更直接地取用相关数据。


20-20: 对空或缺失参数的判定较完善。
activeEditableEdge 未定义即返回 null,能防止出现空引用异常。


31-33: 请验证 editableLineMap.get 返回值是否可能为 undefined
此处直接使用 ! 非空断言,若上游逻辑未能保证 editableLineMap 一定存在对应项目,可能导致潜在错误。


39-44: getNewLineVertices 与后续的 getSmartLinePoints 分离处理,逻辑简洁清晰。
若需额外调整多段控制点,可继续在此函数中细化。整体结构可读性较好。


90-96: 对控制点的索引修改需要注意越界或异常情况。
getNewLineVertices 内部根据 control.index 判定并修改相邻顶点时,若数组长度不足或点索引不在合理范围内,可能引发不可预期的渲染错误。

bricks/diagram/src/shared/canvas/processors/getEditingLinePoints.spec.ts (3)

3-7: 测试类型导入真实地匹配了生产代码逻辑。
通过添加 Cell, EdgeCell 等类型声明,让单测对核心数据结构的模拟更贴近实际配置。


41-43: 对空值处理的测试用例非常重要。
当所有参数都为 null,能很好地覆盖函数的安全返回分支,可避免空引用导致的异常。


247-265: 此测试覆盖「合并冗余顶点」的场景很有价值。
确认当相邻点位置相同且继续“拉动”时,被简化后的结果符合预期。 如果后期还需进一步合并多段同样坐标的其实顶点,也可考虑再添加测试。

bricks/diagram/src/draw-canvas/interfaces.ts (3)

353-353: 对端点编辑状态接口的定义没有明显问题
此接口的定义较为简洁,希望后续在使用时能与整体的编辑流程相匹配。


359-359: 对控制点编辑状态接口的定义良好
与端点编辑状态区分清晰,暂未发现明显问题。


388-394: 确认 parallelGap 是否应为可选属性
从上下文看,在 BaseEdgeLineConfparallelGap 是可选项,这里声明为必填可能会导致类型不一致。建议确认业务逻辑是否总能提供 parallelGap

bricks/diagram/src/draw-canvas/LineConnectorComponent.tsx (10)

4-10: 导入类型的改动无安全或功能性影响
这些导入声明看起来符合项目结构,没有发现问题。


23-23: 新增 props 参数 editableLineMap
此属性能帮助组件获取可编辑连线的相关数据,逻辑看起来合理。


30-30: 在函数参数中使用 editableLineMap
该属性已成功注入到组件内部,当前改动无异常。


39-39: 对 activeEditableEdge、lineEditorState 的使用
这些新增依赖在组件内部使用合理,未发现潜在问题。


111-111: 属性传递: editableLineMap
此处将属性继续下传,通过子组件访问相应数据,不存在明显问题。


126-126: 新增 ConnectPointComponentProps 字段 editableLineMap
配合上层使用场景,此字段的用途明确,可帮助定位边的编辑信息。


135-135: 在 ConnectPointComponent 的参数中使用 editableLineMap
传参保留了父组件上下文,符合组件间数据交互需求。


149-149: 对 activeEditableEdge、lineEditorState 等依赖的使用
在事件处理及状态管理中使用这些新增属性,逻辑清晰无异常。


216-221: 通过 editableLineMap 获取 source、target 并更新 EdgeView
此段逻辑能准确定位当前边并更新坐标,暂未发现明显问题。


246-248: 在依赖列表中添加 activeEditableEdge、lineEditorState、editableLineMap
确保函数在这些状态变更时重新执行,符合预期。

bricks/diagram/src/display-canvas/index.tsx (3)

46-46: 从 useEditableLineMap 导入新 hook
此改动为新增功能,不涉及兼容性问题,逻辑正常。


398-398: 使用 useEditableLineMap 创建 editableLineMap
直接与 cells、lineConfMap 结合生成映射,代码简洁明确。


435-435: 通过 props 将 editableLineMap 传递给 CellComponent
有助于组件间共享可编辑连线信息,无明显问题。

bricks/diagram/src/draw-canvas/index.tsx (7)

100-101: 从 useEditableLineMap 与 targetIsActive 引入方法
这两个新导入可增强对边与目标激活状态的识别,合理无冲突。


1051-1063: 使用 editableLineMap 与 activeTarget 联合计算 activeEditableEdge
该逻辑能在用户操作时动态确定可编辑边,代码良好。


1184-1184: 在 hoverStateContextValue 中新增 activeEditableEdge
有利于在上下文中统一访问当前激活的可编辑边,保持状态一致性。


1290-1290: 将 editableLineMap 传递给 CellComponent
便于子组件使用可编辑连线信息,无额外风险。


1336-1337: 在 EditingLineComponent 中导入 cells 与 editableLineMap
将线编辑功能合并到同一组件,符合组件职责分离原则。


1355-1360: 在 LineEditorComponent 中使用 editableLineMap
用以实现对线段的编辑操作,本改动可提高灵活度。


1365-1365: 再次在 LineConnectorComponent 中注入 editableLineMap
与前文保持一致,保证组件间编辑逻辑的统一。

Copy link

github-actions bot commented Jan 5, 2025

📐🤏 Size check result (ac76ace...6e6696c):

See full diff

Load all bricks together

Name Prev Now Diff
All bricks 4,530.55 KB 4,530.56 KB

Critical changes: None.

See full changes
Name Prev Now Diff
<core> 310.96 KB 311.06 KB 🔼 +0.1 KB
<react> 53.61 KB 53.61 KB 🟰
advanced 518.19 KB 518.23 KB
ai 288.08 KB 288.07 KB
api-market 10.61 KB 10.61 KB 🟰
basic 183.63 KB 183.63 KB 🟰
containers 96.6 KB 96.6 KB 🟰
data-view 639.98 KB 639.98 KB 🟰
diagram 176.32 KB 176.37 KB
form 329.87 KB 329.87 KB 🟰
form-platform 12.92 KB 12.92 KB 🟰
icons 15.25 KB 15.25 KB 🟰
illustrations 17.55 KB 17.55 KB 🟰
inject 56.49 KB 56.49 KB 🟰
markdown 248.7 KB 248.68 KB
mini-chart 10.68 KB 10.68 KB 🟰
nav 120.86 KB 120.86 KB 🟰
presentational 134.88 KB 134.88 KB 🟰
recent-history 32.71 KB 32.71 KB 🟰
shoelace 325.88 KB 325.88 KB 🟰
visual-builder 418.68 KB 418.67 KB
vs 839.07 KB 839.04 KB

Load bricks by each package

Critical changes: None.

See full changes
Name Prev Now Diff
advanced 751.59 KB 751.59 KB 🟰
ai 501.69 KB 501.67 KB
api-market 208.31 KB 208.31 KB 🟰
basic 339.76 KB 339.76 KB 🟰
containers 235.58 KB 235.58 KB 🟰
data-view 736.63 KB 736.64 KB
diagram 247.33 KB 247.38 KB
form 501.04 KB 501.03 KB
form-platform 178.19 KB 178.19 KB 🟰
icons 72.95 KB 72.95 KB 🟰
illustrations 91.84 KB 91.84 KB 🟰
inject 56.49 KB 56.49 KB 🟰
markdown 338.15 KB 338.15 KB 🟰
mini-chart 76.36 KB 76.36 KB 🟰
nav 397.62 KB 397.62 KB 🟰
presentational 346.98 KB 346.98 KB 🟰
recent-history 170.24 KB 170.24 KB 🟰
shoelace 325.88 KB 325.88 KB 🟰
visual-builder 1,512.01 KB 1,511.99 KB
vs 1,015.11 KB 1,015.13 KB
widget-editors 0 KB 0 KB 🟰

Load by each brick

Critical changes: None.

See full changes
Name Prev Now Diff
advanced.capture-snapshot 52.73 KB 52.73 KB 🟰
advanced.general-cascader 217.07 KB 217.07 KB 🟰
advanced.general-table 332.29 KB 332.25 KB
advanced.pdf-viewer 199.53 KB 199.51 KB
ai.chat-agent 68.12 KB 68.12 KB 🟰
ai.chat-view 496.9 KB 496.87 KB
api-market.apis-directory-tree 208.31 KB 208.31 KB 🟰
basic.active-element-blur 9.07 KB 9.07 KB 🟰
basic.change-language 9.06 KB 9.06 KB 🟰
basic.copy-to-clipboard 9.22 KB 9.22 KB 🟰
basic.dropdown-button 155.34 KB 155.34 KB 🟰
basic.general-button 129.02 KB 129.02 KB 🟰
basic.general-image 89.16 KB 89.16 KB 🟰
basic.general-link 123.7 KB 123.7 KB 🟰
basic.general-menu 69.35 KB 69.35 KB 🟰
basic.general-menu-item 84.03 KB 84.03 KB 🟰
basic.general-popover 103.2 KB 103.2 KB 🟰
basic.general-tag 86.1 KB 86.1 KB 🟰
basic.general-tag-list 90.48 KB 90.48 KB 🟰
basic.general-text 162.39 KB 162.39 KB 🟰
basic.get-language 9.05 KB 9.05 KB 🟰
basic.home-redirect 14.56 KB 14.56 KB 🟰
basic.http-proxy-request 9.13 KB 9.13 KB 🟰
basic.http-request 9.05 KB 9.05 KB 🟰
basic.lock-body-scroll 10.8 KB 10.8 KB 🟰
basic.set-theme-by-apps 9.07 KB 9.07 KB 🟰
basic.set-timeout 9.06 KB 9.06 KB 🟰
basic.show-dialog 181.71 KB 181.71 KB 🟰
basic.show-notification 149.65 KB 149.65 KB 🟰
basic.show-watermark 10.81 KB 10.81 KB 🟰
basic.v3-widget-mate 9.04 KB 9.04 KB 🟰
containers.easy-view 67.4 KB 67.4 KB 🟰
containers.flex-layout 67.13 KB 67.13 KB 🟰
containers.general-card 140.93 KB 140.93 KB 🟰
containers.general-category 67.76 KB 67.76 KB 🟰
containers.general-drawer 94.17 KB 94.17 KB 🟰
containers.general-modal 142.94 KB 142.94 KB 🟰
containers.grid-layout 68.22 KB 68.22 KB 🟰
containers.micro-view 79.15 KB 79.15 KB 🟰
containers.search-bar 67.25 KB 67.25 KB 🟰
containers.tab-group 72.28 KB 72.28 KB 🟰
containers.tab-item 99.22 KB 99.22 KB 🟰
containers.tab-list 99.22 KB 99.22 KB 🟰
data-view.app-wall-card-item 70.37 KB 70.37 KB 🟰
data-view.app-wall-relation-line 70.06 KB 70.06 KB 🟰
data-view.app-wall-system-card 84.6 KB 84.57 KB
data-view.basic-index-group 69.65 KB 69.65 KB 🟰
data-view.battery-chart 70.38 KB 70.38 KB 🟰
data-view.brick-notification 83.79 KB 83.79 KB 🟰
data-view.bubbles-indicator 108.89 KB 108.89 KB 🟰
data-view.cabinet-app-layer 70.05 KB 70.05 KB 🟰
data-view.cabinet-button 69.66 KB 69.66 KB 🟰
data-view.cabinet-container 79.93 KB 79.93 KB 🟰
data-view.cabinet-graph 94.09 KB 94.09 KB 🟰
data-view.cabinet-node 70.46 KB 70.46 KB 🟰
data-view.cabinet-thumbnail 83.74 KB 83.74 KB 🟰
data-view.china-map 96 KB 96 KB 🟰
data-view.china-map-chart 376.66 KB 376.65 KB
data-view.complex-search 96.28 KB 96.28 KB 🟰
data-view.crystal-ball-indicator 103.28 KB 103.28 KB 🟰
data-view.data-display-flipper 69.6 KB 69.6 KB 🟰
data-view.data-display-flipper-fifth 69.47 KB 69.47 KB 🟰
data-view.data-display-flipper-sixth 69.33 KB 69.33 KB 🟰
data-view.dropdown-menu 85.89 KB 85.89 KB 🟰
data-view.gauge-chart 70.52 KB 70.52 KB 🟰
data-view.gear-background 115.63 KB 115.63 KB 🟰
data-view.globe-with-gear-indicator 154.14 KB 154.14 KB 🟰
data-view.globe-with-halo-indicator 104.27 KB 104.27 KB 🟰
data-view.globe-with-orbit-indicator 104.1 KB 104.1 KB 🟰
data-view.graph-layout-grid 86.83 KB 86.83 KB 🟰
data-view.graph-node 69.52 KB 69.52 KB 🟰
data-view.graph-text 77.98 KB 77.98 KB 🟰
data-view.grid-background 104.86 KB 104.86 KB 🟰
data-view.hi-tech-button 70.29 KB 70.29 KB 🟰
data-view.indicator-card 69.76 KB 69.76 KB 🟰
data-view.lights-component-title 69.19 KB 69.19 KB 🟰
data-view.loading-panel 73.57 KB 73.57 KB 🟰
data-view.modern-style-component-title 70.26 KB 70.26 KB 🟰
data-view.modern-style-page-title 70.3 KB 70.3 KB 🟰
data-view.modern-style-treemap 80.85 KB 80.85 KB 🟰
data-view.particle-animation 70.19 KB 70.19 KB 🟰
data-view.progress-bar-list 72.36 KB 72.36 KB 🟰
data-view.radar-chart 71.23 KB 71.23 KB 🟰
data-view.simple-card-item 69.87 KB 69.87 KB 🟰
data-view.tabs-drawer 85.71 KB 85.71 KB 🟰
data-view.tabs-page-title 72.42 KB 72.42 KB 🟰
data-view.tech-mesh-base-view 68.77 KB 68.77 KB 🟰
data-view.title-text 69.95 KB 69.95 KB 🟰
data-view.top-title-bar 81.13 KB 81.13 KB 🟰
diagram.editable-label 68 KB 67.99 KB
diagram.experimental-node 67.45 KB 67.45 KB 🟰
eo-actions 142.64 KB 142.64 KB 🟰
eo-alert 88.15 KB 88.15 KB 🟰
eo-antd-icon 71.78 KB 71.78 KB 🟰
eo-app-bar-wrapper 68.6 KB 68.6 KB 🟰
eo-auto-complete 102.62 KB 102.62 KB 🟰
eo-avatar 106.68 KB 106.68 KB 🟰
eo-avatar-group 105.25 KB 105.25 KB 🟰
eo-banner 87.22 KB 87.22 KB 🟰
eo-breadcrumb 127.96 KB 127.96 KB 🟰
eo-breadcrumb-item 127.52 KB 127.52 KB 🟰
eo-broadcast-channel 69.75 KB 69.75 KB 🟰
eo-button 129.02 KB 129.02 KB 🟰
eo-card 140.93 KB 140.93 KB 🟰
eo-card-item 168.38 KB 168.38 KB 🟰
eo-carousel-text 75.83 KB 75.83 KB 🟰
eo-cascader 217.07 KB 217.07 KB 🟰
eo-category 67.76 KB 67.76 KB 🟰
eo-checkbox 106.87 KB 106.87 KB 🟰
eo-code-display 233.8 KB 233.8 KB 🟰
eo-color-picker 241.25 KB 241.25 KB 🟰
eo-content-layout 66.7 KB 66.7 KB 🟰
eo-context-menu 149.16 KB 149.16 KB 🟰
eo-counter-badge 84.65 KB 84.65 KB 🟰
eo-current-time 86.83 KB 86.83 KB 🟰
eo-date-picker 234.54 KB 234.54 KB 🟰
eo-descriptions 165.05 KB 165.05 KB 🟰
eo-diagram 121.68 KB 121.68 KB 🟰
eo-directory 133.01 KB 133.01 KB 🟰
eo-directory-tree 122.06 KB 122.07 KB
eo-directory-tree-internal-node 83.46 KB 83.46 KB 🟰
eo-directory-tree-leaf 82.76 KB 82.77 KB
eo-display-canvas 214.82 KB 214.91 KB
eo-divider 73.63 KB 73.63 KB 🟰
eo-draw-canvas 222.5 KB 222.56 KB
eo-drawer 94.17 KB 94.17 KB 🟰
eo-dropdown-actions 146.35 KB 146.35 KB 🟰
eo-dropdown-button 155.34 KB 155.34 KB 🟰
eo-dropdown-select 140.49 KB 140.49 KB 🟰
eo-dynamic-form-item 166.61 KB 166.61 KB 🟰
eo-easy-view 67.4 KB 67.4 KB 🟰
eo-easyops-avatar 110.8 KB 110.8 KB 🟰
eo-easyops-icon 71.78 KB 71.78 KB 🟰
eo-event-agent 14.1 KB 14.1 KB 🟰
eo-fa-icon 71.78 KB 71.78 KB 🟰
eo-flex-layout 67.13 KB 67.13 KB 🟰
eo-form 69.62 KB 69.62 KB 🟰
eo-form-item 75.39 KB 75.39 KB 🟰
eo-formatter-number 69.8 KB 69.8 KB 🟰
eo-frame-breadcrumb 144.92 KB 144.92 KB 🟰
eo-grid-layout 68.22 KB 68.22 KB 🟰
eo-humanize-time 140.38 KB 140.38 KB 🟰
eo-icon 71.78 KB 71.78 KB 🟰
eo-icon-select 197.11 KB 197.11 KB 🟰
eo-iframe 69.79 KB 69.79 KB 🟰
eo-illustration-message 87.64 KB 87.64 KB 🟰
eo-image 89.16 KB 89.16 KB 🟰
eo-img-icon 71.78 KB 71.78 KB 🟰
eo-info-card-item 138.1 KB 138.1 KB 🟰
eo-input 96.61 KB 96.61 KB 🟰
eo-launchpad-button 162.24 KB 162.24 KB 🟰
eo-launchpad-button-v2 217.12 KB 217.12 KB 🟰
eo-launchpad-quick-access 203.73 KB 203.73 KB 🟰
eo-launchpad-recent-visits 202.55 KB 202.55 KB 🟰
eo-link 123.7 KB 123.7 KB 🟰
eo-loading-container 83.86 KB 83.86 KB 🟰
eo-loading-step 101.57 KB 101.57 KB 🟰
eo-main-view 87.22 KB 87.22 KB 🟰
eo-markdown-display 140.78 KB 140.78 KB 🟰
eo-markdown-editor 300.22 KB 300.26 KB
eo-menu 69.35 KB 69.35 KB 🟰
eo-menu-group 69.13 KB 69.13 KB 🟰
eo-menu-item 84.03 KB 84.03 KB 🟰
eo-menu-item-sub-menu 84.49 KB 84.49 KB 🟰
eo-message-listener 69.53 KB 69.53 KB 🟰
eo-micro-view 79.15 KB 79.15 KB 🟰
eo-mini-actions 147.24 KB 147.24 KB 🟰
eo-mini-line-chart 76.36 KB 76.36 KB 🟰
eo-modal 142.94 KB 142.94 KB 🟰
eo-narrow-view 75.45 KB 75.45 KB 🟰
eo-nav-menu 193.82 KB 193.82 KB 🟰
eo-next-table 383.4 KB 383.4 KB 🟰
eo-page-title 69.47 KB 69.47 KB 🟰
eo-page-view 75.45 KB 75.45 KB 🟰
eo-pagination 173.29 KB 173.29 KB 🟰
eo-popover 103.2 KB 103.2 KB 🟰
eo-popup 97.32 KB 97.32 KB 🟰
eo-radio 98.62 KB 98.61 KB
eo-resizable-box 69.12 KB 69.12 KB 🟰
eo-search 100.66 KB 100.66 KB 🟰
eo-search-bar 67.25 KB 67.25 KB 🟰
eo-search-launchpad 206.4 KB 206.4 KB 🟰
eo-select 146.63 KB 146.63 KB 🟰
eo-sidebar 168.89 KB 168.89 KB 🟰
eo-sidebar-menu 149.91 KB 149.91 KB 🟰
eo-sidebar-menu-group 149.91 KB 149.91 KB 🟰
eo-sidebar-menu-item 134.76 KB 134.76 KB 🟰
eo-sidebar-menu-submenu 149.91 KB 149.91 KB 🟰
eo-sidebar-sub-menu 149.93 KB 149.93 KB 🟰
eo-spin 67.59 KB 67.59 KB 🟰
eo-statistics-card 88.02 KB 88.02 KB 🟰
eo-submit-buttons 151.12 KB 151.12 KB 🟰
eo-svg-icon 71.78 KB 71.78 KB 🟰
eo-switch 94.82 KB 94.82 KB 🟰
eo-tab-group 72.28 KB 72.28 KB 🟰
eo-tab-item 99.22 KB 99.22 KB 🟰
eo-tab-list 99.22 KB 99.22 KB 🟰
eo-table 332.29 KB 332.29 KB 🟰
eo-tag 86.1 KB 86.1 KB 🟰
eo-tag-list 90.48 KB 90.48 KB 🟰
eo-text 162.39 KB 162.39 KB 🟰
eo-text-tooltip 142.01 KB 142.01 KB 🟰
eo-textarea 84.47 KB 84.47 KB 🟰
eo-time-picker 216.65 KB 216.65 KB 🟰
eo-time-range-picker 233.78 KB 233.77 KB
eo-tooltip 118.71 KB 118.71 KB 🟰
eo-tree 141.54 KB 141.54 KB 🟰
eo-tree-select 229.75 KB 229.79 KB
eo-upload-file 163.13 KB 163.13 KB 🟰
eo-upload-image 171.75 KB 171.75 KB 🟰
eo-user-or-user-group-select 178.19 KB 178.19 KB 🟰
eo-workbench-layout 261.21 KB 261.21 KB 🟰
eo-workbench-layout-v2 262.69 KB 262.69 KB 🟰
form.dynamic-form-item 166.61 KB 166.61 KB 🟰
form.general-checkbox 106.87 KB 106.87 KB 🟰
form.general-form 69.62 KB 69.62 KB 🟰
form.general-form-item 75.39 KB 75.39 KB 🟰
form.general-input 96.61 KB 96.61 KB 🟰
form.general-radio 98.61 KB 98.61 KB 🟰
form.general-search 100.66 KB 100.65 KB
form.general-select 146.63 KB 146.63 KB 🟰
form.general-switch 94.82 KB 94.82 KB 🟰
form.general-textarea 84.47 KB 84.47 KB 🟰
form.icon-select 197.11 KB 197.11 KB 🟰
form.submit-buttons 151.12 KB 151.12 KB 🟰
form.upload-image 171.75 KB 171.75 KB 🟰
icons.antd-icon 71.78 KB 71.78 KB 🟰
icons.easyops-icon 71.78 KB 71.78 KB 🟰
icons.fa-icon 71.78 KB 71.78 KB 🟰
icons.general-icon 71.78 KB 71.78 KB 🟰
icons.get-antd-icons 6.82 KB 6.82 KB 🟰
icons.get-easyops-icons 6.82 KB 6.82 KB 🟰
icons.get-fa-icons 6.82 KB 6.82 KB 🟰
icons.get-libs 6.82 KB 6.82 KB 🟰
icons.search-icons 6.82 KB 6.82 KB 🟰
illustrations.error-message 87.64 KB 87.64 KB 🟰
illustrations.get-illustration 9.35 KB 9.35 KB 🟰
illustrations.get-illustrations-by-category 6.25 KB 6.25 KB 🟰
illustrations.loading-transition 66.87 KB 66.87 KB 🟰
illustrations.translate-illustration-config 9.35 KB 9.35 KB 🟰
inject.visual-builder-preview-agent 56.49 KB 56.49 KB 🟰
markdown.markdown-editor 300.24 KB 300.23 KB
nav.app-bar-wrapper 68.6 KB 68.6 KB 🟰
nav.easyops-navbar-alerts 137.22 KB 137.22 KB 🟰
nav.get-menu-config-options 8.35 KB 8.35 KB 🟰
nav.get-menu-config-tree 8.86 KB 8.86 KB 🟰
nav.launchpad-config 217.15 KB 217.15 KB 🟰
nav.nav-logo 133.79 KB 133.79 KB 🟰
nav.poll-announce 170.28 KB 170.28 KB 🟰
presentational.code-display 233.8 KB 233.8 KB 🟰
presentational.general-alert 88.15 KB 88.15 KB 🟰
presentational.general-descriptions 165.05 KB 165.05 KB 🟰
presentational.humanize-time 140.38 KB 140.38 KB 🟰
recent-history.clear-history 28.44 KB 28.44 KB 🟰
recent-history.get-all-history 28.44 KB 28.44 KB 🟰
recent-history.push-history 28.44 KB 28.44 KB 🟰
recent-history.recent-visit 169.04 KB 169.04 KB 🟰
sl-alert 31.13 KB 31.13 KB 🟰
sl-animated-image 25.39 KB 25.39 KB 🟰
sl-animation 25.56 KB 25.56 KB 🟰
sl-avatar 25.87 KB 25.87 KB 🟰
sl-badge 22.43 KB 22.43 KB 🟰
sl-breadcrumb 27.92 KB 27.92 KB 🟰
sl-breadcrumb-item 27.92 KB 27.92 KB 🟰
sl-button 33.12 KB 33.12 KB 🟰
sl-button-group 21.68 KB 21.68 KB 🟰
sl-card 22.69 KB 22.69 KB 🟰
sl-carousel 31.94 KB 31.94 KB 🟰
sl-carousel-item 31.94 KB 31.94 KB 🟰
sl-checkbox 30.31 KB 30.31 KB 🟰
sl-color-picker 64.49 KB 64.49 KB 🟰
sl-details 28.11 KB 28.11 KB 🟰
sl-dialog 33.05 KB 33.05 KB 🟰
sl-divider 21.52 KB 21.52 KB 🟰
sl-drawer 34.13 KB 34.13 KB 🟰
sl-dropdown 36.17 KB 36.17 KB 🟰
sl-format-bytes 22.34 KB 22.34 KB 🟰
sl-format-date 22.39 KB 22.39 KB 🟰
sl-format-number 22.4 KB 22.4 KB 🟰
sl-icon 24.52 KB 24.52 KB 🟰
sl-icon-button 27.16 KB 27.16 KB 🟰
sl-image-comparer 27.81 KB 27.81 KB 🟰
sl-input 33.82 KB 33.82 KB 🟰
sl-menu 41.77 KB 41.77 KB 🟰
sl-menu-item 41.77 KB 41.77 KB 🟰
sl-menu-label 21.25 KB 21.25 KB 🟰
sl-mutation-observer 21.74 KB 21.74 KB 🟰
sl-option 27.39 KB 27.39 KB 🟰
sl-popup 31.9 KB 31.9 KB 🟰
sl-progress-bar 24 KB 24 KB 🟰
sl-progress-ring 23.08 KB 23.08 KB 🟰
sl-qr-code 26.99 KB 26.99 KB 🟰
sl-radio 26.28 KB 26.28 KB 🟰
sl-radio-button 26.03 KB 26.03 KB 🟰
sl-radio-group 26.38 KB 26.38 KB 🟰
sl-range 29.1 KB 29.1 KB 🟰
sl-rating 28.45 KB 28.45 KB 🟰
sl-relative-time 22.6 KB 22.6 KB 🟰
sl-resize-observer 21.63 KB 21.63 KB 🟰
sl-select 48.55 KB 48.55 KB 🟰
sl-skeleton 22.23 KB 22.23 KB 🟰
sl-spinner 22.69 KB 22.69 KB 🟰
sl-split-panel 24.33 KB 24.33 KB 🟰
sl-switch 27.21 KB 27.21 KB 🟰
sl-tab 34.2 KB 34.2 KB 🟰
sl-tab-group 34.2 KB 34.2 KB 🟰
sl-tab-panel 34.2 KB 34.2 KB 🟰
sl-tag 29.3 KB 29.3 KB 🟰
sl-textarea 27.9 KB 27.9 KB 🟰
sl-tooltip 34.27 KB 34.27 KB 🟰
sl-tree 37.27 KB 37.27 KB 🟰
sl-tree-item 37.27 KB 37.27 KB 🟰
sl-visually-hidden 21.22 KB 21.22 KB 🟰
visual-builder.batch-update-raw-data-generated-view 7.84 KB 7.84 KB 🟰
visual-builder.chat-conversation 184.82 KB 184.82 KB 🟰
visual-builder.chat-preview 69.89 KB 69.89 KB 🟰
visual-builder.check-editor-by-name 7.45 KB 7.45 KB 🟰
visual-builder.contract-select 123.38 KB 123.38 KB 🟰
visual-builder.generate-snippets-context-menu 147.45 KB 147.45 KB 🟰
visual-builder.get-data-deps 7.46 KB 7.46 KB 🟰
visual-builder.get-dependency-tree 7.84 KB 7.84 KB 🟰
visual-builder.get-raw-data-system-prompts 11.82 KB 11.82 KB 🟰
visual-builder.inject-chat-preview-agent 8.42 KB 8.42 KB 🟰
visual-builder.page-arch-node 131.8 KB 131.8 KB 🟰
visual-builder.parse-path 9.08 KB 9.08 KB 🟰
visual-builder.pre-generated-container 70.26 KB 70.26 KB 🟰
visual-builder.pre-generated-preview 69.87 KB 69.87 KB 🟰
visual-builder.pre-generated-table-view 67.48 KB 67.48 KB 🟰
visual-builder.property-editor 1,318.87 KB 1,318.8 KB
visual-builder.raw-data-preview 72.79 KB 72.79 KB 🟰
visual-builder.workbench-action 135.56 KB 135.56 KB 🟰
visual-builder.workbench-action-list 140.99 KB 140.99 KB 🟰
visual-builder.workbench-history-action 169.16 KB 169.16 KB 🟰
visual-builder.workbench-pane 83.59 KB 83.59 KB 🟰
visual-builder.workbench-sidebar 68.37 KB 68.37 KB 🟰
visual-builder.workbench-tree 141.03 KB 141.03 KB 🟰
vs.code-editor 1,015.18 KB 1,015.1 KB

@weareoutman weareoutman requested a review from panzekun January 6, 2025 00:52
@panzekun panzekun merged commit d722d20 into master Jan 6, 2025
9 checks passed
@panzekun panzekun deleted the steve/line-points-snap branch January 6, 2025 01:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants