(Nativescript 5.3, Angular)
Я использовал приложение nativescript-ui-samples для оценки и тестирования возможностей диаграмм для нашего приложения. (началось с: chart-поведение-pan-zoom.component)
Требуется переместить / панорамировать график, а затем перезагрузить в зависимости от движения другие (более) значения из предыдущего периода времени.
Моя проблема заключалась в том, чтобы получить любое событие панорамирования внутри графика. Вне графика, например, на метке работает событие панорамирования.
Я пробовал разные возможности получить событие, но ни один из них не работал:
Пытался поместить RadChartesianChart в сетку, чтобы получить события
Пробовал с isUserInteractionEnabled="false"
и isPassThroughParentEnabled="true"
на сетке
Я попытался вызвать следующий метод в html на RadChartesianChart: method (chartPanned) = "chartPanned ()"
Я попытался вызвать следующий метод в html на RadChartesianChart: method (chartPanned) = "chartPanned ()"
Пробовал так же, как в пунктах 2 и 3 с Категориальной осью
Пытался зарегистрировать событие в файле ts компонента
Код TypeScript, как описано в номере 5
ngOnInit() {
this._categoricalSource = new ObservableArray(this._dataService.getCategoricalSource());
const chart = this.theChart.nativeElement as RadCartesianChart;
console.log('mychart');
console.log(chart);
// NOT working !!!
chart.on(GestureTypes.pan, function () {
console.log("chart Pan deltaX");
});
chart.on('chartPanned', function () {
console.log("chartPanned Pan");
});
chart.on('chartPanFinishedEvent', function (args: PanGestureEventData) {
console.log("chartPanned Pan deltaX:" + args.deltaX + "; deltaY:" + args.deltaY + ";");
});
}
HTML:
<RadCartesianChart row="1" #theChart tkExampleTitle tkToggleNavButton isUserInteractionEnabled="false" isPassThroughParentEnabled ="true">
<BarSeries tkCartesianSeries [items]="categoricalSource" categoryProperty="Country" valueProperty="SecondVal">
<LinearAxis tkBarVerticalAxis horizontalLocation="Right" allowZoom="true" allowPan="false"></LinearAxis>
</BarSeries>
<LineSeries tkCartesianSeries [items]="categoricalSource" categoryProperty="Country" valueProperty="Amount">
<LinearAxis tkLineVerticalAxis horizontalLocation="Left" allowPan="false" allowZoom="true"></LinearAxis>
</LineSeries>
<CategoricalAxis tkCartesianHorizontalAxis allowPan="true" allowZoom="false"></CategoricalAxis>
</RadCartesianChart>
Я ожидаю получить событие повышенного панорамирования, если панорамирую в интерфейсе графика.