Highcharts реагирует на первый рендер - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть следующий код для моей легенды и отзывчивое правило для удаления легенды для мобильных устройств.

Проблема, с которой я сейчас сталкиваюсь, заключается в том, что легенда всегда будет изначально загружаться с диаграммой.Правило реагирования, по-видимому, применяется позже (то есть, если я перезагружаю страницу, легенда есть, если я нажимаю ссылку на другую страницу, а затем возвращаюсь, легенда исчезает).

Есть ли способзаставить отзывчивую проверку на нагрузку?

legend: {
    enabled: true,
    verticalAlign: 'top',
    align: 'right',
    floating: true,
    margin: 0,
    padding: 0,
    x: showConviction ? -50 : -46,
    y: 10
},
responsive: {
    rules: [
        {
            condition: {
                maxWidth: 400
            },
            chartOptions: {
                legend: {
                    enabled: false
                }
            }
        }
    ]
},

1 Ответ

0 голосов
/ 27 ноября 2018

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

HTML:

<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="container"></div>

JS:

Highcharts.chart('container', {

  chart: {
    events: {
      load: function() {
        var chart = this,
          legend = chart.legend,
          chartWidth = chart.chartWidth;

        if (chartWidth < 400) {
          legend.update({
            enabled: false
          });
        }
      }
    }
  },

  plotOptions: {
    series: {
      label: {
        connectorAllowed: false
      },
      pointStart: 2010
    }
  },

  series: [{
    name: 'Installation',
    data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
  }, {
    name: 'Manufacturing',
    data: [24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434]
  }],

  responsive: {
    rules: [{
      condition: {
        maxWidth: 400
      },
      chartOptions: {
        legend: {
          enabled: false
        }
      }
    }]
  }

});

Демо: https://jsfiddle.net/BlackLabel/t1dswx4j/

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