PageSourceSearch

https://www.pirate-portal.com/assets/SpendByVendorTreemap-DVILjTUN.js

js pirate-portal.com collected 2026-10-04 18:18:03 UTC 1,525 bytes, 1 lines download raw bytes

1import{j as r}from"./react-pdf-CiRvGOjn.js";import{r as s}from"./ag-grid-react-Cvi7zz2g.js";import{l as x}from"./loadPlotlyTreemap-DujRodrq.js";import{T as d,f as c,k as h}from"./index-BeCDJ2GY.js";import"./jspdf-D30lQ_ys.js";import"./ag-grid-community-DgkugROF.js";import"./ag-grid-enterprise-BRKZrOzu.js";import"./ag-charts-B9701BJR.js";import"./microsoft-BQSsBj1o.js";function E({purchaseOrders:n=[]}){const[i,p]=s.useState(null);s.useEffect(()=>{let e=!0;return x().then(t=>{const o=t?.default??t;e&&p(()=>o)}).catch(t=>{console.error("Failed to load Plotly treemap component:",t),e&&p(null)}),()=>{e=!1}},[]);const l=s.useMemo(()=>{if(!n.length)return null;const e=["Root"],t=[""],o=[0];for(const f of n){const a=f?.vendorname,u=Number(f?.netamount)||0;if(!a)continue;const m=e.indexOf(a);m===-1?(e.push(a),t.push("Root"),o.push(u)):o[m]+=u}return{labels:e,parents:t,values:o}},[n]);return l?i?r.jsx(c,{sx:{flex:1,minHeight:0,display:"flex"},children:r.jsx(i,{data:[{type:"treemap",labels:l.labels,parents:l.parents,values:l.values,textinfo:"label+value+percent parent+percent entry",marker:{line:{width:2}},pathbar:{visible:!1}}],layout:{autosize:!0,margin:{l:10,r:10,t:20,b:20},paper_bgcolor:"rgba(0,0,0,0)",plot_bgcolor:"rgba(0,0,0,0)"},config:{displaylogo:!1},useResizeHandler:!0,style:{width:"100%",height:"100%",flex:1,minHeight:0}})}):r.jsx(c,{sx:{flex:1,minHeight:0,display:"flex",alignItems:"center",justifyContent:"center"},children:r.jsx(h,{})}):r.jsx(d,{children:"No data available."})}export{E as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.