Vis.js 时间线项目对齐 属性 无效

Vis.js timeline item align property not working

我使用 Vis.js library

用 JS 编写了一个时间轴

我希望时间轴上的一些特定项目在行的左侧对齐,而一些在右侧。

由于 Vis.js 时间轴的 documentation,项目的 属性 align 应该覆盖全局 align 属性 的选项时间线。但事实并非如此。

项目示例:

var items = [];

var item = {
  align: "left"
  date: "20.09.2019"
  eventId: 440
  heading: "Event"
  id: "86ad4f21-6235-46e0-b5c9-29a6d2c16f50"
  nodeType: "single-node"
  start: "2019-09-20T04:00:00"
}

items.push(item);

// create dataset
var dataset = new vis.DataSet(items);

时间轴选项:

var options = {
  orientation: 'top',
  min: "2019-09-20T04:00:00",
  max: "2019-09-25T04:00:00",
  start: "2019-09-20T04:00:00",
  end: "2019-09-25T04:00:00",
  align: 'left'
}

调用 vis.Timeline 构造函数后,我如何更新项目对齐 属性:

var visualization = document.getElementById('visualization');

var timeline = new vis.Timeline(visualization, dataset, options);

timeline.itemsData.forEach(function(dataItem) {
  if (dataItem.eventId === 440) {
    dataItem.align = 'right';
    timeline.itemsData.update(dataItem, {
      fieldId: "eventId"
    })
  }
})

感谢任何建议:-)

编辑:

已在 https://github.com/visjs/vis-timeline/pull/205

中修复

适合我,参见 https://codepen.io/Enirdas/pen/rNaKxOz

全局选项设置为对齐:'left'。

项目 2 对齐选项设置为 'right',它会覆盖全局选项。第2项内容右端与日期对齐。 (1990 年 2 月 11 日)

var container = document.getElementById('visualization');

  // Create a DataSet (allows two way data-binding)
  var items = new vis.DataSet([
    {id: 1, align:'left', content: 'Poland withdraws from Warsaw Pact', start: new Date(1990, 00,01),type:'box'},
    {id: 2, align:'right', content: 'Nelson Mandela released after 27 years imprisonment in South Africa', start: new Date(1990, 01,11),type:'box'},
  ]);

  // Configuration for the Timeline

var options = {
  start: '1990-01-01',
  min: '1988-01-01',
  max: '2015-01-01',
  width: '100%',
  height: '230px',
  zoomMax: 31536000000000,
  zoomMin: 4233600000, 
  align:'left',
  margin: {
    item: 20
  }
};
  // Create a Timeline
  var timeline = new vis.Timeline(container, items, options);