mtdv logo

快捷选择器

阅读时间约 3 分钟

graph.graphSelector(nodeSelector, linkSelector)

Function

图谱选择器

参数

  • nodeSelector : object | Function required

    选择节点的 selector

    如果传入 object 类型,则与 nodes 进行纯对象比较,再进行对象内部属性比较

    eg:

    let { nodeSelection } = graphSelector({ depth: '0', channel: '1' });
    let { nodeSelection } = graphSelector(someNodeObj);

    如果传入 Function 类型,将节点数据通过参数给调用方,调用方自己判断是否选中返回 true 或者 false

    eg:

    let { nodeSelection } = graphSelector(d => {
      if (d.depth === '0' && d.channel === '1') {
          return true;
      }
    });
  • linkSelector : object | Function | string optional

    选择边的 selector

    传入 object 与 Function 类型时,方式同上

    传入 string 类型是,根据 node 的使用情况确定 link 的选择情况

    'source': node 的 selector 是否命中 link 的 source

    'target': node 的 selector 是否命中 link 的 target

    'all': node 的 selector 是否命中 link 的 source 或者 target

    eg:

    let { nodeSelection, linkSelection } = graphSelector({ depth: '0', channel: '1' }, 'target');

返回值

  • object

    • nodeSelection : object 节点的集合选择器
    • linkSelection : object 边的集合选择器

graph.findLinkedRoute(d, type = 'source', deepCnt = 1, nodeArr, linkArr)

Function

根据指定节点,查找关联节点

参数

  • d : object required

    指定需要查找的节点

  • type : 'source' | 'target' optional

    查找的方向,source 是以指定节点为源找指向的目标节点,target 反之,默认 source

  • deepCnt : number optional

    找几层的节点

  • nodeArr : Array required

    找到节点后放到 nodeArr 数组中

  • linkArr : Array required

    找到边后放到 linkArr 数组中

返回值

  • object

    • nodes : Array 入参 nodeArr
    • links : Array 入参 linkArr