{"version":3,"file":"pie_chart.min.js","mappings":"6OAAA,SAAWA,EAAGC,GAOZ,SAASC,EAAcC,GACrB,IAAMC,EAAYJ,EAAEG,GAAIE,KAAK,cACvBC,EAAeN,EAAEG,GAAIE,KAAK,uBAC5BE,EAAaP,EAAEG,GAAIE,KAAK,0BAM5B,GAJAE,EAAaC,OAAOD,GACpBE,QAAQC,IAAGC,EAAQJ,IAGfH,EACF,KASJ,SAAsBD,EAAIS,EAAMN,EAAcC,GAC5CM,WAAWC,WAAW,CACpBC,KAAM,CACFC,cAAe,CACXC,oBAAqB,qDAE/BJ,WAAWK,MAAMf,EAAI,CACnBe,MAAO,CACLC,gBAAiB,KACjBC,oBAAqB,KACrBC,gBAAiB,KACjBC,YAAY,EACZC,KAAM,OAERC,MAAO,CACLC,KAAM,IAERC,UAAW,CACTC,SAAS,GAEXC,OAAQ,CAAC,CACPL,KAAM,MACNM,KAAMjB,EAAKkB,YAAc,QACzBC,cAAc,EACdnB,KAAMA,EAAKgB,QAAU,KAEvBI,QAAS,CACPL,SAAS,EACTM,UAAW,WAET,MAAuB,QAAnBC,KAAKC,MAAMN,MAAqC,SAAnBK,KAAKC,MAAMN,MAGrC,MAAPO,OAAaF,KAAKC,MAAME,WAAWC,QAAQ,GAAE,QAC/C,GAEFC,YAAa,CACXC,IAAK,CACHC,QAAQ,EACRC,kBAAkB,EAClBC,OAAQ,UACRC,YAAa,EACbrC,WAAYA,EACZsC,KAAM,MACNC,WAAY,CACVC,QAAS,YACTpB,SAAS,EACTqB,SAAU,GACVC,SAAS,EACThB,UAAW,WAET,IAAIiB,EAAc,KAKlB,MAJmB,cAAhB5C,IACD4C,EAAc,KAGT,yBAAPd,OAAgCF,KAAKiB,EAAID,EAAW,uCAAAd,OAAsCF,KAAKC,MAAMN,KAAI,SAC3G,EACAuB,MAAO,CAELC,MAAO,OACPC,SAAU,OACVC,WAAa,UAEfC,eAAgB,aAwC1B,CA/GMC,CAAatD,EADAuD,KAAKC,MAAMvD,GACDE,EAAcC,EACvC,CAAE,MAAOqD,GACPnD,QAAQoD,MAAM,qBAAsBD,EACtC,CAEJ,CAvBA3D,EAAO6D,UAAU5D,cAAgB,CAC/B6D,OAAQ,SAAUC,EAASC,GACzBC,KAAK,wBAAyB,yBAA0BF,GAASG,QAAQjE,EAC3E,EAgIH,CApID,CAoIGkE,OAAQnE,OAAQoE,e","sources":["webpack://cdss_blocks/./js/pie_chart.es6.js"],"sourcesContent":["(function ($, Drupal, drupalSettings) {\r\n Drupal.behaviors.initPieCharts = {\r\n attach: function (context, settings) {\r\n once('cdss-blocks-pie-chart', '.cdss-blocks-pie-chart', context).forEach(initPieCharts);\r\n }\r\n }\r\n\r\n function initPieCharts(el) {\r\n const chartData = $(el).attr('data-chart');\r\n const pieChartType = $(el).attr('data-pie_chart_type');\r\n let startAngle = $(el).attr('data-chart_start_angle');\r\n\r\n startAngle = Number(startAngle);\r\n console.log(typeof startAngle);\r\n \r\n\r\n if (chartData) {\r\n try {\r\n const data = JSON.parse(chartData);\r\n drawPieChart(el, data, pieChartType, startAngle);\r\n } catch (e) {\r\n console.error(\"Invalid JSON data:\", e);\r\n }\r\n }\r\n }\r\n\r\n function drawPieChart(el, data, pieChartType, startAngle) {\r\n Highcharts.setOptions({\r\n lang: {\r\n accessibility: {\r\n chartContainerLabel: \"{title}Highcharts interactive enrollment chart\"\r\n }}})\r\n Highcharts.chart(el, {\r\n chart: {\r\n backgroundColor: null,\r\n plotBackgroundColor: null,\r\n plotBorderWidth: null,\r\n plotShadow: false,\r\n type: 'pie'\r\n },\r\n title: {\r\n text: ''\r\n },\r\n exporting: {\r\n enabled: false \r\n },\r\n series: [{\r\n type: 'pie',\r\n name: data.seriesName || 'Value',\r\n colorByPoint: true,\r\n data: data.series || []\r\n }],\r\n tooltip: {\r\n enabled: false,\r\n formatter: function() {\r\n\r\n if (this.point.name == 'null' || this.point.name == 'Slice') {\r\n return false; \r\n }\r\n return `${this.point.percentage.toFixed(1)}%`;\r\n }\r\n },\r\n plotOptions: {\r\n pie: {\r\n shadow: false,\r\n allowPointSelect: false,\r\n cursor: 'pointer',\r\n borderWidth: 0,\r\n startAngle: startAngle,\r\n size: '250', // Set a fixed size for the pie chart (e.g., 200px diameter)\r\n dataLabels: {\r\n alignTo: 'plotEdges',\r\n enabled: true,\r\n distance: 20, // Adjust distance if needed to keep labels outside\r\n useHTML: false,\r\n formatter: function() {\r\n\r\n let valueSuffix = null;\r\n if(pieChartType == 'percentage'){\r\n valueSuffix = '%';\r\n }\r\n\r\n return `