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

refactor: reaplace zoomTo by scale #477

Merged
merged 1 commit into from
Aug 12, 2024

Conversation

LinStan
Copy link
Contributor

@LinStan LinStan commented Jul 31, 2024

Description

更新graphdiff中的同步图事件中的缩放行为

Motivation and Context

原本的同步行为中,采用了zoomTo的x6api。该api内部实现缩放时,会基于画布的client坐标参与计算,这个行为当你的画布并非100%占据当前区域时,会导致缩放行为并非严格基于预期缩放点。

x6 logic code:

  getComputedSize() {
    let w = this.options.width
    let h = this.options.height
    if (!NumberExt.isNumber(w)) {
      w = this.container.clientWidth
    }
    if (!NumberExt.isNumber(h)) {
      h = this.container.clientHeight
    }
    return { width: w, height: h }
  }

zoom(factor: number, options?: TransformManager.ZoomOptions) {
    options = options || {} 
    let sx = factor
    let sy = factor
    const scale = this.getScale()
    const clientSize = this.getComputedSize()
    let cx = clientSize.width / 2
    let cy = clientSize.height / 2
    //...
}

修复方式:
替换使用scale api实现准确的缩放逻辑

old:
录屏2024-07-31 14 43 45

new:
录屏2024-07-31 14 45 01

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Enhancement (changes that improvement of current feature or performance)
  • Refactoring (changes that neither fixes a bug nor adds a feature)
  • Test Case (changes that add missing tests or correct existing tests)
  • Code style optimization (changes that do not affect the meaning of the code)
  • Docs (changes that only update documentation)
  • Chore (changes that don't modify src or test files)

Self Check before Merge

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Copy link

changeset-bot bot commented Jul 31, 2024

⚠️ No Changeset found

Latest commit: 4aa2f7e

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@xflow-bot
Copy link
Contributor

xflow-bot bot commented Jul 31, 2024

👋 @LinStan

💖 Thanks for opening this pull request! 💖

Please follow the contributing guidelines. And we use semantic commit messages to streamline the release process.

Examples of commit messages with semantic prefixes:

  • fix: don't overwrite prevent_default if default wasn't prevented
  • feat: add graph.scale() method
  • docs: graph.getShortestPath is now available

Things that will help get your PR across the finish line:

  • Follow the TypeScript, JavaScript, CSS and React coding style.
  • Run npm run lint locally to catch formatting errors earlier.
  • Document any user-facing changes you've made.
  • Include tests when adding/changing behavior.
  • Include screenshots and animated GIFs whenever possible.

We get a lot of pull requests on this repo, so please be patient and we will get back to you as soon as we can.

@xflow-bot xflow-bot bot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. PR: unreviewed PR does not have any reviews. labels Jul 31, 2024
@NewByVector NewByVector merged commit 581a41b into antvis:2.0 Aug 12, 2024
9 of 10 checks passed
@xflow-bot
Copy link
Contributor

xflow-bot bot commented Aug 12, 2024

👋 @LinStan

Congrats on merging your first pull request! 🎉🎉🎉

@xflow-bot xflow-bot bot added PR: merged PR has merged. and removed PR: unreviewed PR does not have any reviews. labels Aug 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: merged PR has merged. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants