Highcharts пользовательские события точка события не подходит - PullRequest
0 голосов
/ 24 сентября 2018

Мне нужно добавить несколько пользовательских контекстных меню в некоторые столбцовые диаграммы, но здесь я получаю некоторые странные результаты, используя пользовательские события расширения highcharts (https://www.highcharts.com/products/plugin-registry/single/15/Custom-Events). У меня есть следующий пример: https://jsfiddle.net/4zhvdapb/

Highcharts.chart('container', {
    chart: {
        type: 'column'
    },
    title: {
        text: 'Stacked column chart'
    },
    xAxis: {
        categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Total fruit consumption'
        },
        stackLabels: {
            enabled: true,
            style: {
                fontWeight: 'bold',
                color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray'
            }
        }
    },
    legend: {
        align: 'right',
        x: -30,
        verticalAlign: 'top',
        y: 25,
        floating: true,
        backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || 'white',
        borderColor: '#CCC',
        borderWidth: 1,
        shadow: false
    },
    tooltip: {
        headerFormat: '<b>{point.x}</b><br/>',
        pointFormat: '{series.name}: {point.y}<br/>Total: {point.stackTotal}'
    },
    plotOptions: {
        column: {
            stacking: 'normal',
            dataLabels: {
                enabled: true,
                color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white'
            },
            events: {
              contextmenu: function (e) {
                console.log("create context menu for curent series: ")
                console.log(e)
                console.log(e.point.category)
                $('#constext-menu-div').text(e.point.category);
                $('#constext-menu-div').css({top: e.pageY, left: e.pageX});
                $('#constext-menu-div').show();
              }
            }
        }
    },
    series: [{
        name: 'John',
        data: [5.32, 3.22, 4.05, 7.15, 2.22]
    }, {
        name: 'Jane',
        data: [2.55, 2.50, 3.53, 2.05, 1.15]
    }]
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>

<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>
<script src="https://blacklabel.github.io/custom_events/js/customEvents.js"></script>

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
<div style="border: solid 1px; background-color: lightgray; position: absolute; width: 100px; height: 200px; display: none; z-index: 9999;" id="constext-menu-div"></div>

(по какой-то причине встроенный код в переполнении стека не работает - используйте ссылку jsfiddle)

, если щелкнуть правой кнопкой мыши дляНапример, в серии Джон на правой стороне категории виноград, вместо винограда вы получите балл / категорию бананов.То же самое касается яблок, где вы получаете апельсины.

enter image description here

enter image description here

есть у кого-нибудь идеяв чем проблема?

кажется ошибкой: https://github.com/blacklabel/custom_events/issues/119

...