PageSourceSearch

https://tubex.chat/_next/static/chunks/3357.dd64ba4922e92800.js

js tubex.chat collected 2026-10-02 01:21:06 UTC 10,648 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3357],{13357:function(e,t,a){a.r(t),a.d(t,{default:function(){return x}});var r=a(57437),i=a(2265),l=a(16998),s=a(94467),n=a(50050),o=a(4863),d=a(45987),c=a(15452),m=a.n(c);function x(e){let{t,isMobile:a}=e,{Text:c,Title:x}=l.Typography,{TabPane:u}=l.Tabs,h=(0,i.useRef)(null),[g,p]=(0,i.useState)([]),[f,y]=(0,i.useState)([]),[b,j]=(0,i.useState)(""),[v,w]=(0,i.useState)(!1),[N,k]=(0,i.useState)([]),[S,z]=(0,i.useState)("overview"),F=(0,i.useCallback)(e=>(w(!0),j(e.name),m().parse(e,{header:!0,dynamicTyping:!0,complete:e=>{if(e.data&&e.data.length>0){let t=e.data.filter(e=>Object.values(e).some(e=>null!==e&&""!==e));if(p(t),t.length>0){let e=Object.keys(t[0]);y(e),C(t,e)}}else l.P_.error({title:t("error"),content:t("emptyFile"),duration:3});w(!1)},error:e=>{console.error("Error parsing CSV:",e),l.P_.error({title:t("error"),content:t("csvParseError"),duration:3}),w(!1)}}),!1),[t]),C=(e,t)=>{let a=[];t.forEach(t=>{let r=e.map(e=>e[t]),i=r.filter(e=>"number"==typeof e&&!isNaN(e)),l=i.length>0?"numeric":"string",s={name:t,type:l,count:r.length,missing:r.filter(e=>null==e||""===e).length,values:r};if("numeric"===l&&i.length>0){let e=[...i].sort((e,t)=>e-t);s.min=e[0],s.max=e[e.length-1],s.mean=e.reduce((e,t)=>e+t,0)/e.length;let t=Math.floor(e.length/2);s.median=e.length%2==0?(e[t-1]+e[t])/2:e[t];let a=s.mean,r=e.reduce((e,t)=>e+Math.pow(t-a,2),0)/e.length;s.std=Math.sqrt(r);let l=s.max-s.min,n=Math.min(10,Math.ceil(Math.sqrt(e.length))),o=l/n,d=Array(n).fill(0),c=Array(n).fill("");e.forEach(e=>{let t=Math.min(Math.floor((e-s.min)/o),n-1);d[t]++});for(let e=0;e<n;e++){let t=s.min+e*o,a=e===n-1?s.max:s.min+(e+1)*o;c[e]="".concat(t.toFixed(2)," - ").concat(a.toFixed(2))}s.histogram=d,s.histogramLabels=c}else{let e=new Map;r.forEach(t=>{if(null!=t&&""!==t){let a=String(t);e.set(a,(e.get(a)||0)+1)}});let t=Array.from(e.entries()).sort((e,t)=>t[1]-e[1]).slice(0,10);s.values=t.map(e=>{let[t]=e;return t}),s.frequencies=t.map(e=>{let[,t]=e;return t}),s.unique=e.size,t.length>0&&(s.mode=t[0][0])}a.push(s)}),k(a)},q=e=>e.histogram&&e.histogramLabels?{title:{text:e.name,left:"center"},tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",data:e.histogramLabels,axisLabel:{rotate:45,interval:0}},yAxis:{type:"value"},series:[{name:t("frequency"),type:"bar",data:e.histogram,itemStyle:{color:"#5470c6"}}]}:{},M=e=>{if(!e.values||!e.frequencies)return{};let a=e.values.map((t,a)=>({name:String(t),value:e.frequencies[a]}));return{title:{text:e.name,left:"center"},tooltip:{trigger:"item",formatter:"{a} <br/>{b}: {c} ({d}%)"},legend:{orient:"vertical",left:"left",data:a.map(e=>e.name)},series:[{name:t("distribution"),type:"pie",radius:"50%",data:a,emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]}},A=(e,t)=>{let a=e.length,r=e.reduce((e,t)=>e+t,0)/a,i=t.reduce((e,t)=>e+t,0)/a,l=0;for(let s=0;s<a;s++)l+=(e[s]-r)*(t[s]-i);let s=0,n=0;for(let l=0;l<a;l++)s+=Math.pow(e[l]-r,2),n+=Math.pow(t[l]-i,2);let o=Math.sqrt(s*n);return 0===o?0:l/o};return(0,r.jsx)("div",{children:v?(0,r.jsx)("div",{className:"flex justify-center items-center p-8",children:(0,r.jsx)(l.yC,{size:"large"})}):0===g.length?(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center p-8 border-2 border-dashed border-gray-300 dark:border-gray-700 rounded-lg bg-gray-50 dark:bg-gray-800",children:[(0,r.jsx)(s.Z,{size:a?"large":"extra-large",className:"text-gray-400 mb-4"}),(0,r.jsx)(x,{heading:a?6:5,className:"mb-2",children:t("dragAndDropCSV")}),(0,r.jsx)(c,{className:"mb-4 text-center ".concat(a?"text-sm":"text-base"),children:t("orClickToUpload")}),(0,r.jsx)(l.gq,{action:"",accept:".csv",showUploadList:!1,beforeUpload:e=>e.file instanceof File&&F(e.file),customRequest:()=>{},className:"w-full sm:w-auto",draggable:!0,children:(0,r.jsx)(l.zx,{type:"primary",icon:(0,r.jsx)(n.Z,{}),size:a?"small":"default",children:t("selectCSVFile")})})]}):(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{className:"flex ".concat(a?"flex-col":"flex-row"," justify-between items-").concat(a?"start":"center"," mb-4 gap-2"),children:[(0,r.jsxs)("div",{children:[(0,r.jsx)(x,{heading:5,className:"mb-1",children:b}),(0,r.jsx)(c,{children:t("rowsCount",{count:g.length})})]}),(0,r.jsx)(l.zx,{type:"danger",icon:(0,r.jsx)(o.Z,{}),onClick:()=>{p([]),y([]),j(""),k([]),z("overview"),h.current&&(h.current.value="")},size:a?"small":"default",children:t("clearData")})]}),(0,r.jsxs)(l.Tabs,{type:"line",activeKey:S,onChange:z,className:"mb-4",size:a?"small":"medium",children:[(0,r.jsx)(u,{tab:t("overview"),itemKey:"overview"}),(0,r.jsx)(u,{tab:t("dataPreview"),itemKey:"preview"}),(0,r.jsx)(u,{tab:t("visualizations"),itemKey:"visualizations"}),(0,r.jsx)(u,{tab:t("correlations"),itemKey:"correlations"}),(0,r.jsx)(u,{tab:t("trades")||"Trades",itemKey:"trades"})]}),"overview"===S&&(0,r.jsx)("div",{children:(0,r.jsx)(l.iA,{columns:[{title:t("column"),dataIndex:"name",key:"name",width:150},{title:t("type"),dataIndex:"type",key:"type",width:100,render:e=>t(e)},{title:t("count"),dataIndex:"count",key:"count",width:100},{title:t("missing"),dataIndex:"missing",key:"missing",width:100,render:(e,t)=>(0,r.jsxs)("div",{children:[e," (",(e/t.count*100).toFixed(2),"%)"]})},{title:t("unique"),dataIndex:"unique",key:"unique",width:100,render:(e,t)=>t.unique?e:"-"},{title:t("min"),dataIndex:"min",key:"min",width:100,render:e=>void 0!==e?e.toFixed(2):"-"},{title:t("max"),dataIndex:"max",key:"max",width:100,render:e=>void 0!==e?e.toFixed(2):"-"},{title:t("mean"),dataIndex:"mean",key:"mean",width:100,render:e=>void 0!==e?e.toFixed(2):"-"}],dataSource:N,pagination:!1,size:a?"small":"default"})}),"preview"===S&&(0,r.jsx)("div",{children:(0,r.jsx)(l.iA,{columns:f.map(e=>({title:e,dataIndex:e,key:e,width:150})),dataSource:g.slice(0,100),pagination:{pageSize:a?5:10},scroll:{x:"max-content"},size:a?"small":"default"})}),"visualizations"===S&&(0,r.jsx)("div",{className:"grid grid-cols-1 ".concat(a?"":"md:grid-cols-2"," gap-4"),children:N.map((e,i)=>(0,r.jsx)(l.Zb,{className:"overflow-hidden",children:"numeric"===e.type&&e.histogram?(0,r.jsx)(d.Z,{option:q(e),style:{height:a?"250px":"300px"}}):e.values&&e.frequencies?(0,r.jsx)(d.Z,{option:M(e),style:{height:a?"250px":"300px"}}):(0,r.jsx)(l.HY,{description:t("noVisualizationAvailable")})},i))}),"correlations"===S&&(()=>{let e=N.filter(e=>"numeric"===e.type);if(e.length<2)return(0,r.jsx)(l.HY,{description:t("notEnoughNumericColumns")});let i=[];for(let t=0;t<e.length;t++){i[t]=[];for(let a=0;a<e.length;a++)if(t===a)i[t][a]=1;else{let r=g.map(a=>{let r=a[e[t].name];return"number"==typeof r?r:parseFloat(r)}).filter(e=>!isNaN(e)),l=g.map(t=>{let r=t[e[a].name];return"number"==typeof r?r:parseFloat(r)}).filter(e=>!isNaN(e));i[t][a]=A(r,l)}}let s={tooltip:{position:"top"},grid:{top:a?"15%":"10%",bottom:a?"15%":"10%",left:a?"15%":"10%",right:a?"5%":"10%",containLabel:!0},xAxis:{type:"category",data:e.map(e=>e.name),splitArea:{show:!0},axisLabel:{rotate:a?45:0,fontSize:a?10:12}},yAxis:{type:"category",data:e.map(e=>e.name),splitArea:{show:!0}},visualMap:{min:-1,max:1,calculable:!0,orient:"horizontal",left:"center",bottom:"0%",inRange:{color:["#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4"]}},series:[{name:t("correlation"),type:"heatmap",data:i.flatMap((e,t)=>e.map((e,a)=>[a,t,e.toFixed(2)])),label:{show:!0,fontSize:a?8:12},emphasis:{itemStyle:{shadowBlur:10,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]};return(0,r.jsxs)("div",{children:[(0,r.jsx)(l.Zb,{className:"mb-4",children:(0,r.jsx)(d.Z,{option:s,style:{height:a?"400px":"600px",width:"100%"}})}),(0,r.jsxs)("div",{className:"bg-gray-50 dark:bg-gray-800 p-4 rounded",children:[(0,r.jsx)(x,{heading:6,className:"mb-2",children:t("correlationGuide")}),(0,r.jsxs)("ul",{className:"list-disc list-inside space-y-1 text-sm",children:[(0,r.jsx)("li",{children:t("correlationGuide1")}),(0,r.jsx)("li",{children:t("correlationGuide2")}),(0,r.jsx)("li",{children:t("correlationGuide3")}),(0,r.jsx)("li",{children:t("correlationGuide4")})]})]})]})})(),"trades"===S&&(()=>{let e=["profit","pnl","profit_loss","pl","盈亏","Profit","PnL","P&L"],i=f.find(t=>e.some(e=>t.toLowerCase().includes(e.toLowerCase())));if(!i)return(0,r.jsx)(l.HY,{description:t("noProfitColumn")||'No profit/loss column found. Please ensure your CSV has a column named "profit", "pnl", or "盈亏".'});let s=g.filter(e=>{let t=e[i],a="number"==typeof t?t:parseFloat(t);return!isNaN(a)&&Math.abs(a)>.001}),n=s.filter(e=>{let t=e[i];return("number"==typeof t?t:parseFloat(t))>0}),o=s.reduce((e,t)=>
1{let a=t[i],r="number"==typeof a?a:parseFloat(a);return e+(isNaN(r)?0:r)},0),d=s.length>0?n.length/s.length*100:0;return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"grid grid-cols-1 ".concat(a?"":"md:grid-cols-3"," gap-4 mb-6"),children:[(0,r.jsx)(l.Zb,{className:"bg-blue-50 dark:bg-blue-900/20",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)(c,{className:"text-sm text-gray-600 dark:text-gray-400",children:t("totalTrades")||"Total Trades"}),(0,r.jsx)(x,{heading:3,className:"mt-2 text-blue-600 dark:text-blue-400",children:s.length})]})}),(0,r.jsx)(l.Zb,{className:"bg-green-50 dark:bg-green-900/20",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)(c,{className:"text-sm text-gray-600 dark:text-gray-400",children:t("winRate")||"Win Rate"}),(0,r.jsxs)(x,{heading:3,className:"mt-2 text-green-600 dark:text-green-400",children:[d.toFixed(2),"%"]}),(0,r.jsxs)(c,{className:"text-xs text-gray-500 dark:text-gray-400",children:[n.length," / ",s.length," ",t("wins")||"wins"]})]})}),(0,r.jsx)(l.Zb,{className:o>=0?"bg-green-50 dark:bg-green-900/20":"bg-red-50 dark:bg-red-900/20",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)(c,{className:"text-sm text-gray-600 dark:text-gray-400",children:t("totalProfit")||"Total Profit"}),(0,r.jsx)(x,{heading:3,className:"mt-2 ".concat(o>=0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:o.toFixed(2)})]})})]}),(0,r.jsx)(l.Zb,{children:(0,r.jsx)(l.iA,{columns:f.map(e=>{let t={title:e,dataIndex:e,key:e,width:150};return e===i?{...t,render:e=>{let t="number"==typeof e?e:parseFloat(e);return(0,r.jsx)("span",{className:"font-semibold ".concat(t>0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:"number"==typeof e?e.toFixed(2):e})}}:t}),dataSource:s,pagination:{pageSize:a?10:20},scroll:{x:"max-content"},size:a?"small":"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.