JSFiddle - React, Tailwind, and code Playground

by borcagos

HTML

<meta charset="utf-8">
 <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
 <div>
   <HR><button id="btn">BTN</button>
   <HR>
 </div>
 <div id="container" style="height: 250px; width: 100%">
 </div>

JavaScript

var PieChart = function() {
  var sum = 0

  function cb_test_fomat(params) {
    console.warn(params)
    sum += parseFloat(params.data[1]);
    return sum
  }
  var selected_values = []
  return {
    getSelectedValues: function() {
      return selected_values
    },
    setChart: function(dom_id, services_result, callback_click, callback_legendselectchanged) {
      var dom = document.getElementById(dom_id);
      var myChart = echarts.init(dom);
      var sum = 5;

			services_result.data.forEach(element=>{
      	if(parseFloat(element.value)<0){
        	element.value = element.value*-1;
          element.name += '(отр)'
        }
      })
      //for (let i = 0; i < data.length; i++) {
      //  sum += parseFloat(data[i].value)
      //} 
      var option = {
 
        legend: {
        	show: false, 
        },
        tooltip: {
          trigger: 'item',
        },
        series: [{
            radius: ['0%', '40%'],
            type: 'pie',
            selectedMode: 'single',
            selectedOffset: 7, 
            label: {
              normal: {
                color: 'rgba(130,130,130,1)',
                show: true,
                fontSize: '14',
                fontWeight: 'bold',               
                formatter: `{b}`,
              },
              emphasis: { 
                itemStyle: {
                  color: 'red'
                }
              } 
            },
            data: services_result.data,
 
          } 
        ]
      };

      if (option && typeof option === "object") {
        myChart.setOption(option, true);
      }

      myChart.on('click', function(params) {
        //console.warn(params)
        var sid = params.seriesIndex ? 0 : 1
        
        myChart.dispatchAction({
                type: 'pieToggleSelect', 
                seriesIndex: sid, //number|Array, 
                //seriesName: params.seriesName,//string|Array, 
                //dataIndex: params.dataIndex, 
                //name:...