javascript - GoJS Genogram,自定义更改节点顺序

标签 javascript gojs

在示例中 GoJS Genogram

我只知道如何自定义节点形状、链接样式和有关 View 的一些内容。但我不知道如何参与节点的排序,例如:我为所有家庭添加了一个关于年龄的属性,并希望在 gojs 绘图时按同一代的年龄进行排序。

这是 My Example

如何将年长的家庭改为自动离开,我以为 key 顺序可以解决我的问题,但实际上 key 对任何事情都没有帮助。

例如。哥哥->秩序姐姐->我->年轻...->年轻...

下面是我主要根据GoJS Genogram示例修改的内容。

[
  { key: 0, n: "Father", s: "M", ux: 1, a: ["C", "F", "K", "X"] },
  { key: 1, n: "Mother", s: "F", a: ["B", "H", "K", "X"] },
  { key: 4, n: "Me", s: "M", m: 1, f: 0, ux: 5, a: ["ME"] },
  { key: 5, n: "Wife", s: "F", vir: 5, a: ["C"] },
  { key: 2, n: "Old Brother", s: "M", m: 1, f: 0, a: ["E", "H", "X"] },
  { key: 3, n: "Old Sister", s: "F", m: 1, f: 0, a: ["B", "H", "L"] },
  { key: 6, n: "Young Sister", s: "F", m: 1, f: 0, a: ["C"] },
  { key: 7, n: "Young Brother", s: "M", m: 1, f: 0, a: ["C", "I"] },
  { key: 8, n: "Son", s: "M", m: 4, f: 5, vir: 9, a: ["E"] },
  { key: 9, n: "Son's wife", s: "F", vir: 8, a: ["B", "H"] },
  { key: 10, n: "Daughter", s: "M", m: 4, f: 5, a: ["E", "G"] },
  { key: 11, n: "Daughter's husband", s: "F", vir: 10, a: ["B", "J"] },
  { key: 12, n: "grandson", s: "F", m: 8, f: 9, a: ["J"] },
  { key: 13, n: "grand daughter", s: "M", m: 8, f: 9, a: ["B", "H"] },
  { key: 14, n: "grandson", s: "F", m: 10, f: 11, a: ["E", "G"] },
  { key: 15, n: "grand daughter", s: "M", m: 10, f: 11, a: ["F", "H"] },
]

最佳答案

您要求的是将同一代的所有人混合在一起,以便按年龄对他们进行排序,即使他们属于不同的 parent 。

GenogramLayout 目前是使用(并且实际上继承自)LayeredDigraphLayout 实现的,它旨在重新排序节点以减少链接交叉。它不支持对每层中的所有节点进行排序,这会导致大量的交叉链接。

抱歉。

关于javascript - GoJS Genogram,自定义更改节点顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38524823/

相关文章:

javascript - 使用 Google Analytics 跟踪内容脚本

javascript - 防止GoJS组到组链接创建的闭环

javascript - gojs - 添加端口 Controller

javascript - 有没有办法导出 PowerPoint?

javascript - 如何防止图表中不必要的滚动?

javascript - 当下拉列表中没有选项时,goJS 禁用添加新节点

javascript - Discord.js : Cannot read property 'set' of undefined

javascript - 是否可以直接评估Mapbox表达式?

javascript - CSS 专注于子元素更改父元素

javascript - 向数组中的特定对象添加属性