0

I want to reverse the legend order dynamically based on the legend's 'align' option but I'm a beginner in javascript, I have no idea how it would look like.

If the legend's align is set to 'left' or 'right' then I want to set the legend's 'reverse' option to 'true' else 'false'

Here's my jsfillde: https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/legend/reversed/

In python I would do something like this:

if legend align == “left” or “right”:
     legend reverse = true
else:
     legend reverse = false
Boosted_d16
  • 13,340
  • 35
  • 98
  • 158

1 Answers1

1

You need to use the if - else statement outside the chart configuration object:

var options = {
    legend: {
        align: 'right',
        ...
    },

    ...
}

if (
    options.legend.align === 'left' ||
    options.legend.align === 'right'
) {
    options.legend.reversed = true;
} else {
    options.legend.reversed = false;
}

Highcharts.chart('container', options);

Live demo: https://jsfiddle.net/BlackLabel/c1jhtoys/

Related question: "this" inside object

ppotaczek
  • 36,341
  • 2
  • 14
  • 24