我正在使用外部按钮导出am图表。当我进入注释模式并进行导出时,图表将以注释导出。但是当图表重新加载时,注释模式不会恢复。
有人可以让我知道如何从注释回到普通模式。
if (chart.export.drawing.buffer.enabled === true) {
// Exporting the annotated chart with out "
//chart.export.capture"
chart.export.toPNG({}, function (data) {
chartimage.postImageData(data, chart_image_name)
});
} else {
chart.export.capture({
// action: "draw"
}, function () {
this.toPNG({
}, function (data) {
images.push({
"image": data,
"fit": [523.28, 769.89]
});
pending--;
if (pending === 0) {
chart.export.toPNG({
content: images
}, function (data) {
chartimage.postImageData(data, chart_image_name)
});
}
});
});
}
}
答案 0 :(得分:2)
要退出注释模式,只需使用Export plugin的内部API方法done()
:
chart["export"].drawing.handler.done();
BTW,export
关键字是保留的,会导致某些浏览器出错。最好通过命名密钥访问Export实例:chart["export"].toPNG()
与chart.export.toPNG()
。
答案 1 :(得分:0)
请找到下面的解决方法..
首先使用菜单审阅者
捕获设置和取消注释的事件menuReviver: function (item, li) {
if (item.format === "XLSX" || item.format === "JSON") {
li.style.display = "none";
}
$(li).click(function () {
if (item.action == "draw") {
$("#chart_annotations").val(1);
}
if (item.action == "cancel") {
$("#chart_annotations").val(0);
}
});
return li;
}
现在,在导出图表图像时,使用$("#chart_annotations")。val()值作为 标记是否导出带注释的图表或普通图表。请找到以下代码......
if (window.fabric) {
if ($("#chart_annotations").val() == 1) {
chart.export.toPNG({}, function (data) {
chartimage.postImageData(data, chart_image_name)
});
} else {
chart.export.capture({
//action: "change"
}, function () {
this.toPNG({
}, function (data) {
images.push({
"image": data,
"fit": [523.28, 769.89]
});
pending--;
if (pending === 0) {
chart.export.toPNG({
content: images
}, function (data) {
//post the image data using ajax
chartimage.postImageData(data, chart_image_name)
});
}
});
});
}