Я использую Amcharts 3 для наших диаграмм и работаю над динамическим добавлением / удалением направляющих на диаграммах. Если пользователь выбирает флажок, он добавляет 2 диаграммы к диаграмме, но если пользователь снимает этот флажок или устанавливает другой флажок, я хочу удалить направляющие. Пока что у меня есть правильное добавление направляющих, однако, когда пользователь выбирает / снимает выбор другого флажка, направляющие по какой-то причине не удаляются.
Это код, который я использую для добавления / удаления направляющих:
let posReportTypeChart = chartingManager.getChartById("posReportType");
// If only one Checkbox is Selected, add the Guides to the chart
if (this.selectedQrCount == 1) {
let selected = qrGridEvents.grid.dataSource.data().filter(x => x.IsSelected == true);
let guideEffDate = this.getNewGuide(selected[0].EffectiveDate);
let guideEndDate = this.getNewGuide(selected[0].EndDate);
posReportTypeChart.guides.push(guideEffDate);
posReportTypeChart.guides.push(guideEndDate);
this.reDrawPOSReportTypeChart(posReportTypeChart);
}
else if (posReportTypeChart.guides.length > 1) {
posReportTypeChart.guides = [];
this.reDrawPOSReportTypeChart(posReportTypeChart);
}
// This is the function that I am using to redraw the chart. For some reason it is
adding the Guides fine but whenever I go to remove the Guides this isn't working.
private reDrawPOSReportTypeChart = (chart: any) => {
chartingManager.charts[3] = chart;
chart.dataProvider = chartingManager.itemChartingData;
chart.validateNow(true, false);
chart.invalidateSize();
chart.legend.validateNow();
}