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

feat(tooltip): add 'datum[]' param to the enable function #6637

Merged
merged 1 commit into from
Dec 18, 2024

Conversation

TZZack
Copy link
Contributor

@TZZack TZZack commented Dec 16, 2024

Situation

Tooltip plugin has no datum to do the enable judgement ( enable function has just a event param). Maybe we can use event.target.context.graph.getNodeData and event.target.id to get datum, but event.target.context is a private which will cause ts error.

Optimization

  1. In this situation, I will add datum[] param to enable function which is same as the getContent function.
    add_items
    add_items

  2. Besides, I want to improve the show logic that if getContent returns nothing, tooltip will not show.
    modify_getcontent

  • before modified
    before_modify_getcontent
  • after modified
    modify_getcontent

@hustcc
Copy link
Member

hustcc commented Dec 16, 2024

@TZZack PR 很赞,代码也挺工整,可以帮忙尝试加一个单侧:

  1. enable 第二参数判断。
  2. content 为空的。

@TZZack
Copy link
Contributor Author

TZZack commented Dec 16, 2024

@TZZack PR 很赞,代码也挺工整,可以帮忙尝试加一个单侧:

  1. enable 第二参数判断。
  2. content 为空的。

嗯嗯,好的

@TZZack TZZack force-pushed the feat-tooltip-zzz branch 2 times, most recently from d162dd1 to 2ce9c72 Compare December 16, 2024 03:54
@TZZack
Copy link
Contributor Author

TZZack commented Dec 16, 2024

@TZZack PR 很赞,代码也挺工整,可以帮忙尝试加一个单侧:

  1. enable 第二参数判断。
  2. content 为空的。

嗯嗯,好的

已加好单测,结果通过哈
image

@TZZack
Copy link
Contributor Author

TZZack commented Dec 16, 2024

@TZZack PR 很赞,代码也挺工整,可以帮忙尝试加一个单侧:

  1. enable 第二参数判断。
  2. content 为空的。

嗯嗯,好的

已加好单测,结果通过哈 image

@hustcc 感觉tooltip的截图生成有点问题,原本的5个单测截图结果都是一样的,我新生成的3个也是,看了下源码,snapshot目前只支持canvas图层

@hustcc
Copy link
Member

hustcc commented Dec 16, 2024

可以尝试不生成截图,不用 toMatchSnapshot 去断言,直接去判断 tooltip 的 dom 内容是否符合预期,或者更简单一些,直接断言纯函数片段的逻辑。

单测的目的是给一些逻辑加一把锁,下次修改这里的逻辑的时候,如果带来不兼容,能通过单测报错来报警。

@TZZack
Copy link
Contributor Author

TZZack commented Dec 16, 2024

可以尝试不生成截图,不用 toMatchSnapshot 去断言,直接去判断 tooltip 的 dom 内容是否符合预期,或者更简单一些,直接断言纯函数片段的逻辑。

单测的目的是给一些逻辑加一把锁,下次修改这里的逻辑的时候,如果带来不兼容,能通过单测报错来报警。

ok了哈,感谢指导!

@Aarebecca
Copy link
Contributor

@TZZack 对于第1个修改点,我们对待参数添加的变化比较慎重,对于你提到的问题,你可以通过以下方式获取 Graph 实例并调用 API 获取相应数据:

const graph = new Graph({
  // ...
  plugins: [
    function () {
      // 此处 this 为 graph
      const graph = this;
      return {
        type: 'tooltip',
      };
    },
  ],
});

对于第 2 个修改点,我认为是合理的,你可以仅针对该项内容提交相关代码。

@hustcc
Copy link
Member

hustcc commented Dec 17, 2024

对于第1个修改点,我们对待参数添加的变化比较慎重,对于你提到的问题,你可以通过以下方式获取 Graph 实例并调用 API 获取相应数据:

@Aarebecca 第一个点是根据收集到的 tooltip 数据来判断是否显示 tooltip 吧?用 graph 怎么判断?

@TZZack
Copy link
Contributor Author

TZZack commented Dec 17, 2024

对于第1个修改点,我们对待参数添加的变化比较慎重,对于你提到的问题,你可以通过以下方式获取 Graph 实例并调用 API 获取相应数据:

@Aarebecca 第一个点是根据收集到的 tooltip 数据来判断是否显示 tooltip 吧?用 graph 怎么判断?

@Aarebecca @hustcc 两位大佬,我是这样想的,感觉这个参数加上去的改动是可控的,因为这里逻辑并不复杂,而且这样也跟getContent的参数保持一致、以及对使用体验有一定的提升

@Aarebecca Aarebecca merged commit b23ff3d into antvis:v5 Dec 18, 2024
1 check passed
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.

3 participants