Highcharts-导出甘特图,不显示用户以前的交互
如果用户在Highcharts甘特图中展开折叠的项目,我希望在图像导出中显示该项目(打印即可)。不幸的是,它似乎总是在导出原始图表时所有项目都已折叠: HTML 我知道对于其他图表,这似乎很好,例如,深入到树形图中: 或者,在饼图中选择另一段似乎也表示为:Highcharts-导出甘特图,不显示用户以前的交互,highcharts,Highcharts,如果用户在Highcharts甘特图中展开折叠的项目,我希望在图像导出中显示该项目(打印即可)。不幸的是,它似乎总是在导出原始图表时所有项目都已折叠: HTML 我知道对于其他图表,这似乎很好,例如,深入到树形图中: 或者,在饼图中选择另一段似乎也表示为: 我哪里做错了?我甚至尝试在甘特图示例中使用normal exporting.js(而不是甘特图模块版本),但它有完全相同的问题。我认为这是一个错误,它没有按照您的预期工作。我在Highcharts Github问题频道上报道了这一点,您
我哪里做错了?我甚至尝试在甘特图示例中使用normal exporting.js(而不是甘特图模块版本),但它有完全相同的问题。我认为这是一个错误,它没有按照您的预期工作。我在Highcharts Github问题频道上报道了这一点,您可以在那里关注这条线索 链接: 这里有一个解决方法: API:
API:Brilliant,感谢您提出缺陷并提供解决方案。工作请客:-)
<script src="https://code.highcharts.com/gantt/highcharts-gantt.js"></script>
<script src="https://code.highcharts.com/gantt/modules/exporting.js"></script>
<div id="container"></div>
var today = new Date(),
day = 1000 * 60 * 60 * 24;
// Set to 00:00:00:000 today
today.setUTCHours(0);
today.setUTCMinutes(0);
today.setUTCSeconds(0);
today.setUTCMilliseconds(0);
// THE CHART
Highcharts.ganttChart('container', {
title: {
text: 'Highcharts Gantt With Subtasks'
},
xAxis: {
min: today.getTime() - (2 * day),
max: today.getTime() + (32 * day)
},
series: [{
name: 'Project 1',
data: [{
name: 'Planning',
id: 'planning',
start: today.getTime(),
end: today.getTime() + (20 * day),
collapsed : true
}, {
name: 'Requirements',
id: 'requirements',
parent: 'planning',
start: today.getTime(),
end: today.getTime() + (5 * day)
}, {
name: 'Design',
id: 'design',
dependency: 'requirements',
parent: 'planning',
start: today.getTime() + (3 * day),
end: today.getTime() + (20 * day)
}, {
name: 'Layout',
id: 'layout',
parent: 'design',
start: today.getTime() + (3 * day),
end: today.getTime() + (10 * day)
}, {
name: 'Graphics',
parent: 'design',
dependency: 'layout',
start: today.getTime() + (10 * day),
end: today.getTime() + (20 * day)
}, {
name: 'Develop',
id: 'develop',
start: today.getTime() + (5 * day),
end: today.getTime() + (30 * day),
collapsed : true
}, {
name: 'Create unit tests',
id: 'unit_tests',
dependency: 'requirements',
parent: 'develop',
start: today.getTime() + (5 * day),
end: today.getTime() + (8 * day)
}, {
name: 'Implement',
id: 'implement',
dependency: 'unit_tests',
parent: 'develop',
start: today.getTime() + (8 * day),
end: today.getTime() + (30 * day)
}]
}]
});
chart: {
events: {
render() {
let chart = this;
chart.series[0].points.forEach(point => {
if (point.collapsed) {
chart.series[0].points.forEach(p => {
if (p.parent === point.id) {
if (p.visible) {
point.update({
collapsed: false
})
}
}
})
} else if (point.collapsed === false) {
chart.series[0].points.forEach(p => {
if (p.parent === point.id) {
if (!p.visible) {
point.update({
collapsed: true
})
}
}
})
}
})
}
}
},