Предварительный просмотр полосы прокрутки исчезает при перерисовке элементов на верхнем складе - PullRequest
0 голосов
/ 01 марта 2012

Я использую highstock от highsoft (http://highslide.com/).

Я пытаюсь разрешить пользователям изменять тип диаграммы (сплайн, линия, области, и т. Д.). Я делаю это путем сбросаопций, выталкивая элементы из серии и повторно добавляя их в серию. Это работает хорошо, за исключением того, что предварительный просмотр полосы прокрутки исчезает при повторном добавлении всего. Любая помощь будет принята с благодарностью. Вот мой код:

    createChart: function(seriesOptions){
        var cmp        = this;
        var chart_type = this.collection.chart_type;
        if(!chart_type){
            chart_type="line";
        }   
        if(!cmp.chart){
            var options = { 
                chart: {
                    renderTo: 'preview',
                    type: chart_type,
                    zoomType: 'x' 
                },  

                rangeSelector: {
                    selected: 4
                },  
                plotOptions: {
                    series: {
                        point: {
                            events: {
                                click: function() {
                                    console.log(this.config[0]);
                                }   
                            }   
                        }   
                    }   
                },  
                tooltip: {
                    pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b> ({point.change}%)<br/>',
                    yDecimals: 2
                },  
                series: seriesOptions
            };  
            cmp.chart = new Highcharts.StockChart(options);
        }else{
            while(cmp.chart.series.length>0){
                cmp.chart.series[0].remove();
            }   
            if(cmp.collection.compare_type=='percent'){
                cmp.chart.options.plotOptions.series.compare = 'percent';
                cmp.chart.options.tooltip.pointFormat = '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b> ({point.change}%)<br/>';
            }else{
                cmp.chart.options.plotOptions.series.compare = undefined;
                cmp.chart.options.tooltip.pointFormat = '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b><br/>';
            }   

           _.each(seriesOptions, function(option){
               option.type = cmp.collection.chart_type;
               cmp.chart.addSeries(option, true, false);
           }); 
            cmp.chart.redraw();
           //window.chart = cmp.chart;
        }   
    },  

1 Ответ

0 голосов
/ 02 марта 2012

Хорошо, разобрался ...

Я понял, что "навигатор" становится одним из элементов серии, и я удалил его в цикле while.Так что теперь я просто должен выкинуть все предметы из серии, чье имя не «навигатор».

...