Как решить проблему, если не работает ChartPanned Event - PullRequest
0 голосов
/ 23 мая 2019

(Nativescript 5.3, Angular)

Я использовал приложение nativescript-ui-samples для оценки и тестирования возможностей диаграмм для нашего приложения. (началось с: chart-поведение-pan-zoom.component)

Требуется переместить / панорамировать график, а затем перезагрузить в зависимости от движения другие (более) значения из предыдущего периода времени.

Моя проблема заключалась в том, чтобы получить любое событие панорамирования внутри графика. Вне графика, например, на метке работает событие панорамирования.

Я пробовал разные возможности получить событие, но ни один из них не работал:

  1. Пытался поместить RadChartesianChart в сетку, чтобы получить события

    Пробовал с isUserInteractionEnabled="false" и isPassThroughParentEnabled="true" на сетке

  2. Я попытался вызвать следующий метод в html на RadChartesianChart: method (chartPanned) = "chartPanned ()"

  3. Я попытался вызвать следующий метод в html на RadChartesianChart: method (chartPanned) = "chartPanned ()"

  4. Пробовал так же, как в пунктах 2 и 3 с Категориальной осью

  5. Пытался зарегистрировать событие в файле 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>

Я ожидаю получить событие повышенного панорамирования, если панорамирую в интерфейсе графика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...