我有一个时间表,其中有3个子组1、2和3。在子组2中,我有2个项目分别为“ B”和“ BB”。我使用自定义子组排序创建了时间线。在输出中,即使BB和B共享同一子组2,我也将BB放在顶部,然后将项目A和C放在BB之下,最后是B。
我想要的是,A排在顶部,然后B和BB聚集在A下方,最后是C。基本上,我希望子组始终看起来像一个集群,并在时间轴上在一起。

链接到无效示例-Demo

的HTML

<body>
  <div id="visualization"></div>
</body>


JS

function customSubgroupOrder(a, b) {
  return b.subgroup - a.subgroup;
}

var items = [{
  id: 1,
  group: "X",
  content: "A",
  subgroup: 1,
  start: "2016-01-01",
  end: "2016-01-31"
}, {
  id: 2,
  group: "X",
  content: "B",
  subgroup: 2,
  start: "2016-01-15",
  end: "2016-02-29"
}, {
  id: 4,
  group: "X",
  content: "BB",
  subgroup: 2,
  start: "2016-01-19",
  end: "2016-02-21"
}, {
  id: 3,
  group: "X",
  content: "C",
  subgroup: 3,
  start: "2016-02-15",
  end: "2016-02-29"
}];
var groups = [{
  id: "X",
  content: "Custom Ordering<br>Top-to-Bottom",
  subgroupOrder: customSubgroupOrder
}];
var options = {
  stack: true
};

var el = document.getElementById('visualization');
var timeline = new vis.Timeline(el, items, groups, options);


任何帮助将不胜感激。

最佳答案

您应该将subgroupStack:true选项添加到组x,它将其子组堆叠在每个子组的顶部。您可以找到一个有效的演示here

关于javascript - 时间轴可见-使用子组顺序强制将子组2置于子组1之后,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53954575/

10-10 08:51