В определениях диаграмм js машинописного текста отсутствуют определенные поля - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь реализовать определенное поведение, используя комбинацию chart.js / angular / typescript (я пытаюсь показать вертикальную линию при нажатии на диаграмму). Мне удалось сделать это с помощью следующего кода:

Chart.plugins.register({
    afterDatasetsDraw: (chart) => {
      if (chart.tooltip._active && chart.tooltip._active.length) {
          var activePoint = chart.tooltip._active[0],
             ctx = chart.ctx,
             y_axis = chart.scales['y-axis-0'],
             x = activePoint.tooltipPosition().x,
             topY = y_axis.top,
             bottomY = y_axis.bottom;
          ctx.save();
          ctx.beginPath();
          ctx.moveTo(x, topY);
          ctx.lineTo(x, bottomY);
          ctx.lineWidth = 2;
          ctx.strokeStyle = '#07C';
          ctx.stroke();
          ctx.restore();
       }
    }
});

Однако проблема в том, что некоторые поля, доступные в javascript Chart API, недоступны в файлах определения машинописного текста (например, chart.tooltip и диаграмма. шкалы). Таким образом, код работает нормально при работе без машинописного текста, но не работает при компиляции машинописного текста (для определений я использую ОпределенноТипед: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/chart.js/index.d.ts). Мне было интересно, не пропущены ли некоторые из этих полей намеренно в файлах определения машинописного текста (например, из-за инкапсуляции) или есть другая причина?

...