Как отобразить все даты с заданной датой начала и окончания, даже если нет данных? - PullRequest
0 голосов
/ 10 июля 2019

Я совершенно новичок в Highcharts Gantt и, как следует из названия;Как отобразить все даты с заданной датой начала и окончания, даже если нет данных?

Doesn't show all other dates

Я использую следующий код:

Highcharts.ganttChart(id, {
            chart: {
                panning: true,
                style: {
                    fontFamily: 'Lato'
                }
            },
            tooltip: {
                pointFormat: '<span>{point.customerLastName}</span><br><span>From: {point.start:%e. %b . %Y}</span><br/><span>To: {point.end:%e. %b. %Y}</span>',
                followTouchMove: true
            },
            xAxis: [{
                    // first x-axis
                    tickInterval: month,
                    showEmpty: true,
                },
                {
                    // second x-axis
                    tickInterval: day,
                    showEmpty: true,
                }

            ],
            yAxis: {
                plotBands: {
                    thickness: 120
                },
                categories: data.labels,
                showEmpty: true,
                min: 0,
                max: data.labels.length
            },
            allowPointSelect: true,
            plotOptions: {
                series: {
                    animation: true,
                    dragDrop: {
                        draggableX: true,
                        draggableY: true,
                        dragPrecisionX: day
                    },
                    dataLabels: {
                        enabled: true,
                        format: '{point.customerLastName}',
                        style: {
                            cursor: 'default',
                            pointerEvents: 'none'
                        }
                    },
                    allowPointSelect: true,
                    events: {
                        click: function(a) {
                            var data = JSON.parse(a.point.jsonData);
                            data.referrer = "occupation-plan";
                            console.log(data);
                            $(document).trigger('booking-modal-edit', JSON.stringify(data));
                        }
                    }
                },
            },
            series: data.series,
        });

С данными серии все в порядке, однако я действительно хотел отобразить все даты с заданной датой начала и окончания, даже если для этих дат в серии нет данных.

1 Ответ

0 голосов
/ 10 июля 2019

Вам необходимо использовать метод setExtremes для xAxis, например:

chart.xAxis[0].setExtremes(
    Date.UTC(2014, 8, 18),
    Date.UTC(2014, 12, 18)
);

Демонстрационная версия: https://jsfiddle.net/BlackLabel/qaphk3jd/

Справочник по API: https://api.highcharts.com/class-reference/Highcharts.Axis#setExtremes

...