ruru
Version:
Grafast-flavoured GraphiQL distribution
2 lines • 5.53 kB
JavaScript
export const __webpack_esm_id__=1839;export const __webpack_esm_ids__=[1839];export const __webpack_esm_modules__={26637(e,t,a){function n(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}a.r(t),a.d(t,{populateCommonDb:()=>n}),(0,a(79456).__name)(n,"populateCommonDb")},11839(e,t,a){a.r(t),a.d(t,{diagram:()=>y});var n=a(26637),i=a(64342),l=a(70848),r=a(39989),o=a(27166),s=a(79456),c=a(73744),p=a(79806),d=r.defaultConfig_default.pie,g={sections:new Map,showData:!1,config:d},h=g.sections,m=g.showData,u=structuredClone(d),f=(0,s.__name)(()=>structuredClone(u),"getConfig"),_=(0,s.__name)(()=>{h=new Map,m=g.showData,(0,r.clear)()},"clear"),w=(0,s.__name)(({label:e,value:t})=>{if(t<0)throw new Error(`"${e}" has invalid value: ${t}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);h.has(e)||(h.set(e,t),o.log.debug(`added new section: ${e}, with value: ${t}`))},"addSection"),x=(0,s.__name)(()=>h,"getSections"),S=(0,s.__name)(e=>{m=e},"setShowData"),b=(0,s.__name)(()=>m,"getShowData"),D={getConfig:f,clear:_,setDiagramTitle:r.setDiagramTitle,getDiagramTitle:r.getDiagramTitle,setAccTitle:r.setAccTitle,getAccTitle:r.getAccTitle,setAccDescription:r.setAccDescription,getAccDescription:r.getAccDescription,addSection:w,getSections:x,setShowData:S,getShowData:b},$=(0,s.__name)((e,t)=>{(0,n.populateCommonDb)(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),T={parse:(0,s.__name)(async e=>{const t=await(0,c.parse)("pie",e);o.log.debug(t),$(t,D)},"parse")},v=(0,s.__name)(e=>`\n .pieCircle{\n stroke: ${e.pieStrokeColor};\n stroke-width : ${e.pieStrokeWidth};\n opacity : ${e.pieOpacity};\n }\n .pieCircle.highlighted{\n scale: 1.05;\n opacity: 1;\n }\n .pieCircle.highlightedOnHover:hover{\n transition-duration: 250ms;\n scale: 1.05;\n opacity: 1;\n }\n .pieOuterCircle{\n stroke: ${e.pieOuterStrokeColor};\n stroke-width: ${e.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${e.pieTitleTextSize};\n fill: ${e.pieTitleTextColor};\n font-family: ${e.fontFamily};\n }\n .slice {\n font-family: ${e.fontFamily};\n fill: ${e.pieSectionTextColor};\n font-size:${e.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${e.pieLegendTextColor};\n font-family: ${e.fontFamily};\n font-size: ${e.pieLegendTextSize};\n }\n`,"getStyles"),C=(0,s.__name)(e=>{const t=[...e.values()].reduce((e,t)=>e+t,0),a=[...e.entries()].map(([e,t])=>({label:e,value:t})).filter(e=>e.value/t*100>=1);return(0,p.pie)().value(e=>e.value).sort(null)(a)},"createPieArcs"),y={parser:T,db:D,renderer:{draw:(0,s.__name)((e,t,a,n)=>{o.log.debug("rendering pie chart\n"+e);const s=n.db,c=(0,r.getConfig2)(),d=(0,l.cleanAndMerge)(s.getConfig(),c.pie),g=(0,i.selectSvgElement)(t),h=g.append("g");h.attr("transform","translate(225,225)");const{themeVariables:m}=c;let[u]=(0,l.parseFontSize)(m.pieOuterStrokeWidth);u??=2;const f=d.legendPosition,_=d.textPosition,w=d.donutHole>0&&d.donutHole<=.9?d.donutHole:0,x=Math.min(450,450)/2-40,S=(0,p.arc)().innerRadius(w*x).outerRadius(x),b=(0,p.arc)().innerRadius(x*_).outerRadius(x*_),D=h.append("g");D.append("circle").attr("cx",0).attr("cy",0).attr("r",x+u/2).attr("class","pieOuterCircle");const $=s.getSections(),T=C($),v=[m.pie1,m.pie2,m.pie3,m.pie4,m.pie5,m.pie6,m.pie7,m.pie8,m.pie9,m.pie10,m.pie11,m.pie12];let y=0;$.forEach(e=>{y+=e});const k=T.filter(e=>"0"!==(e.data.value/y*100).toFixed(0)),A=(0,p.scaleOrdinal)(v).domain([...$.keys()]);D.selectAll("mySlices").data(k).enter().append("path").attr("d",S).attr("fill",e=>A(e.data.label)).attr("class",e=>{let t="pieCircle";return"hover"===d.highlightSlice?t+=" highlightedOnHover":d.highlightSlice===e.data.label&&(t+=" highlighted"),t}),D.selectAll("mySlices").data(k).enter().append("text").text(e=>(e.data.value/y*100).toFixed(0)+"%").attr("transform",e=>"translate("+b.centroid(e)+")").style("text-anchor","middle").attr("class","slice");const O=h.append("text").text(s.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText"),z=[...$.entries()].map(([e,t])=>({label:e,value:t})),M=h.selectAll(".legend").data(z).enter().append("g").attr("class","legend");M.append("rect").attr("width",18).attr("height",18).style("fill",e=>A(e.label)).style("stroke",e=>A(e.label)),M.append("text").attr("x",22).attr("y",14).text(e=>s.getShowData()?`${e.label} [${e.value}]`:e.label);const F=Math.max(...M.selectAll("text").nodes().map(e=>e?.getBoundingClientRect().width??0));let R=450,H=490;const W=22,B=z.length*W;switch(f){case"center":M.attr("transform",(e,t)=>{const a=W*z.length/2;return"translate("+(-F/2-22)+","+(t*W-a)+")"});break;case"top":R+=B,M.attr("transform",(e,t)=>`translate(${-F/2-22}, ${t*W-x})`),D.attr("transform",()=>`translate(0, ${B+W})`);break;case"bottom":R+=B,M.attr("transform",(e,t)=>"translate("+(-F/2-22)+","+(t*W-(-x-W))+")");break;case"left":H+=22+F,M.attr("transform",(e,t)=>{const a=W*z.length/2;return"translate("+(-x-22)+","+(t*W-a)+")"}),D.attr("transform",()=>`translate(${F+18+4}, 0)`);break;default:H+=22+F,M.attr("transform",(e,t)=>{const a=W*z.length/2;return"translate(216,"+(t*W-a)+")"})}const E=O.node()?.getBoundingClientRect().width??0,P=225-E/2,L=225+E/2,N=Math.min(0,P),V=Math.max(H,L)-N;g.attr("viewBox",`${N} 0 ${V} ${R}`),(0,r.configureSvgSize)(g,R,V,d.useMaxWidth)},"draw")},styles:v}}};
//# sourceMappingURL=1839.js.map