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: 支持自定义节点/边的唯一标识 #4442 #4444

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Caaalabash
Copy link

Description

拓展Cell基类,添加customId静态方法,便于自定义节点/边id

Motivation and Context

我的使用场景 #4442 需要让节点能按照不同的前缀生成id,翻阅了相关issue都没有一个较为简单的办法

因此考虑扩展Cell基类,添加customId静态方法:

  • 在不重写customId方法时:和原行为一致,通过StringExt.uuid()创建id
  • 在重写customId方法时,用户可根据传入的metadata信息自定义id
import { Cell } from '@antv/x6'

let sid = 0
Cell.customId = ({ shape }) => {
  return `${shape}_${sid++}`
}

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.

@x6-bot
Copy link
Contributor

x6-bot bot commented Sep 14, 2024

👋 @Caaalabash

💖 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.

@x6-bot x6-bot bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. PR: unreviewed PR does not have any reviews. pkg:x6 labels Sep 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pkg:x6 PR: unreviewed PR does not have any reviews. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant