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://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);
我使用 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://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);