Убедитесь, что P ie в диаграммах Highcharts P ie выбран или не выбран - PullRequest
0 голосов
/ 16 июня 2020

Я должен показывать всплывающее окно всякий раз, когда выбран ap ie, и ничего не делать, когда он не выбран. Я не могу понять по событию щелчка, как определить, выбран ли P ie пользователем или удален. Пытался сделать там Palin JS Logi c, но он немного глючит. Любое решение, которое предоставляет Highcharts?

                        chart: {
                            type: 'pie',
                            marginLeft: 0,
                            options3d: {
                                enabled: false,
                                alpha: 45,
                                beta: 0
                            }
                        },
                        tooltip: {
                            formatter: function(){

                            }
                        },
                        plotOptions: {
                            pie: {
                                allowPointSelect: true,
                                cursor: 'pointer',
                                depth: 35,
                                dataLabels: {
                                    enabled: true,
                                    formatter: function(){

                                    }
                                },
                                showInLegend: true,
                                point: {
                                    events: {
                                        click: function(){

                                            var selectedPieSliceIndex;
                                            if(!this.selected) {
                                                selectedPieSliceIndex = this.x;
                                            }
                                            else {
                                                selectedPieSliceIndex = null;
                                            }
                                            chartComponent.trigger("onPieSliceClick", selectedPieSliceIndex);
                                            var that = this;
                                            if (this.pieSelected && clickedSliced.length > 0){
                                                that.pieSelected = false;
                                                clickedSliced = [];
                                            } else {
                                                that.pieSelected = true;
                                                clickedSliced.push(that.name)
                                            }

                                            if(this.pieSelected && clickedSliced.length){

                                           uiDialogue.loadDialog('Chart Initiatives', jsonData);

                                            }

                                        }
                                    }
                                }
                            }
                        },
                        series: [
                            {
                                type: 'pie',
                                innerSize: 100 ,
                                depth: 45  ,
                                name: '',
                                data: pieChartSeries
                            }
                        ],
                        title: {
                            text: "",
                            verticalAlign: 'middle',
                            x: -3,
                            y: -4,
                            floating: true,
                        },
                        exporting: {
                            chartOptions: {
                                plotOptions: {
                                    pie: {
                                        dataLabels: {

                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }

Любое предложение или любое встроенное решение, которое есть в Highchart?

1 Ответ

0 голосов
/ 16 июня 2020

Вы пробовали сделать что-то подобное?

Демо: https://jsfiddle.net/BlackLabel/3qxL5r7f/

  point: {
    events: {
      click: function() {
        if (!this.selected) {
          console.log('show popup')
        } else {
          console.log('hide popup')
        }
      }
    }
  }
...