我通过HighCharts云注入代码在一个页面上显示了一堆图表。因为每个图表的数据都很大,如果用户从菜单中选择查看数据表,页面会变得很大 - 我很好,但我希望用户能够切换由相同菜单按钮触发的表格。有什么方法可以通过自定义代码执行此操作吗?
我想dout如何将菜单中的文本更改为Toggle数据表,但无法弄清楚如何应用切换代码。
这是我到目前为止:
exporting: {
buttons: {
contextButton: {
enabled: true,
text: 'Download',
menuItems: ["printChart",
"separator",
"downloadPNG",
"downloadJPEG",
"downloadPDF",
"downloadSVG",
"separator",
"downloadCSV",
"downloadXLS",
{
textKey: 'viewData',
text: 'Toggle data table',
onclick: function() {
this.viewData()
}
}]
}
}
似乎Highcharts没有提供隐藏数据表的任何方法。解决方法是在onclick
事件中放入以下逻辑:
onclick: function() {
if (this.dataTableDiv && this.dataTableDiv.style.display !== 'none') {
this.dataTableDiv.style.display = 'none';
} else {
this.viewData();
this.dataTableDiv.style.display = '';
}
}
现场演示:http://jsfiddle.net/BlackLabel/2t1w4pu9/
云在其编辑器中不包含导出数据模块,但生成的注入脚本可以。所以功能在云之外工作(例如在jsfiddle上)。